:root{--ink:#55473d;--muted:#897b70;--green:#5d967d;--green-dark:#40755f;--pale-green:#eaf3e8;--pink:#f8c6bc;--cream:#fbf6ec;--line:#e9ded1;--yellow:#ffe5a4;--shadow:0 9px 25px rgba(111,87,55,.09)}
*{box-sizing:border-box} html{height:100%}body{margin:0;min-height:100%;background:radial-gradient(#e9e0d2 1px,transparent 1px) 0 0/24px 24px,#fbf7ee;color:var(--ink);font-family:ui-rounded,"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:600;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:3px solid #efae6d;outline-offset:2px} .app{max-width:1220px;margin:0 auto;padding:20px 22px 40px}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.logo{display:flex;align-items:center;gap:12px}.logo-mark{display:grid;place-items:center;width:57px;height:57px;border-radius:19px;background:#f5d7be;box-shadow:inset 0 -4px #e8bd9d;font-size:33px;transform:rotate(-5deg)}h1{font-size:26px;line-height:1.1;margin:0;font-weight:900;letter-spacing:.02em}.subtitle{font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:.08em}.stats{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.stat{padding:9px 13px;background:#fff;border-radius:15px;display:flex;gap:7px;align-items:center;box-shadow:0 3px 12px #957c6012;border:1px solid #eee2d5;white-space:nowrap;font-size:13px}.stat b{font-size:17px;font-variant-numeric:tabular-nums}.reset{background:#f3ede5;border:1px solid #e7dccc;padding:8px 11px;border-radius:13px;font-size:12px}.nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:15px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-btn{border:1px solid #eee4d8;background:#fff;white-space:nowrap;border-radius:18px;padding:12px 16px;box-shadow:0 3px 9px #bba9940d;min-width:105px;font-size:14px;transition:transform .15s}.nav-btn:active,.btn:active,.town-building:active{transform:scale(.97)}.nav-btn.active{background:#577e6d;color:#fff;border-color:#577e6d;box-shadow:0 5px 12px #507c6450}.nav-btn .emo{margin-right:5px}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.85fr);gap:17px;align-items:start}.panel{background:#fffdf9;border:1px solid #eae0d4;box-shadow:var(--shadow);border-radius:26px;padding:22px;overflow:hidden}.main-panel{min-height:590px}.side{display:flex;flex-direction:column;gap:15px}.side .panel{padding:19px}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.eyebrow{font-size:12px;color:#ab8b71;letter-spacing:.07em}.heading{font-size:22px;font-weight:900;margin:0 0 6px;line-height:1.4}.caption{font-size:13px;color:var(--muted);line-height:1.75;margin:0}.badge{background:#f8eee0;color:#987656;border-radius:999px;padding:7px 12px;font-size:12px;white-space:nowrap}.btn{border:none;border-radius:16px;background:#5d947a;color:#fff;font-weight:900;padding:13px 17px;min-height:45px;box-shadow:inset 0 -3px #477a60;transition:transform .13s;font-size:14px}.btn.secondary{color:#578069;background:#e4f1e8;box-shadow:inset 0 -3px #d2e5d7}.btn.pink{color:#805749;background:#fbe0cf;box-shadow:inset 0 -3px #f3c4aa}.btn.light{color:#756b5b;background:#f3eee6;box-shadow:inset 0 -3px #e8ded0}.btn.full{width:100%}.btn.small{font-size:12px;padding:9px 12px;min-height:37px;border-radius:12px}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.info-strip{border-radius:15px;background:#f4f5ed;padding:12px 14px;font-size:13px;color:#667666;line-height:1.7;margin-top:14px}.info-strip.pink{background:#fff0eb;color:#956e66}.pill{border-radius:99px;padding:8px 12px;background:#f8f1e8;color:#8d7361;display:inline-block;font-size:12px}.meter{height:10px;background:#efe7dc;border-radius:99px;overflow:hidden}.meter>span{height:100%;display:block;background:#91bba0;border-radius:99px;transition:width .3s}.side-title{font-size:16px;font-weight:900;margin:0 0 12px}.quest{background:#f1f7ed;border:1px dashed #c9dbc6;border-radius:16px;padding:15px;margin-bottom:12px;font-size:13px;line-height:1.8}.quest strong{font-size:15px}.customer{display:flex;gap:12px;align-items:center}.avatar{width:70px;height:70px;display:grid;place-items:center;background:linear-gradient(155deg,#ffe6cf,#f9cfc7);font-size:44px;border-radius:24px;flex:0 0 auto;box-shadow:inset 0 -5px #e8b4ab}.bubble{background:#fff4e6;border-radius:17px 17px 17px 4px;padding:11px 13px;flex:1;font-size:13px;line-height:1.8}.side-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px}.little{font-size:12px;color:var(--muted)}
/* Town */
.town-world{height:445px;position:relative;isolation:isolate;overflow:hidden;border-radius:25px;margin-top:14px;border:5px solid #f2ece2;background:linear-gradient(#c6e9ed 0 39%,#cae7b9 39% 100%);transition:background .5s}.town-world.noon{background:linear-gradient(#a9e3f1 0 39%,#c6eab3 39% 100%)}.town-world.night{background:linear-gradient(#474d80 0 39%,#66847f 39% 100%)}.sun{position:absolute;right:45px;top:27px;width:62px;height:62px;background:#ffdfa0;border-radius:50%;box-shadow:0 0 0 12px #fff2c66b,0 0 65px #ffeeac;transition:all .4s}.night .sun{background:#f8edca;box-shadow:0 0 0 9px #f4f0d525;transform:translateY(-8px);width:48px;height:48px}.cloud{position:absolute;background:#fffef3;border-radius:40px;height:18px;width:73px;opacity:.85;top:36px;left:18%}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:100%}.cloud:before{width:36px;height:36px;top:-17px;left:12px}.cloud:after{width:28px;height:28px;top:-11px;right:7px}.cloud.two{top:94px;left:60%;transform:scale(.67)}.night .cloud{opacity:.28}.land{position:absolute;height:120px;width:100%;top:31%;background:linear-gradient(160deg,transparent 35%,#acd597 35% 60%,transparent 60%)}.road-h{position:absolute;height:58px;background:#eadbc2;top:55%;left:0;right:0;border-top:4px solid #e0c9a9;border-bottom:4px solid #e0c9a9;transform:rotate(-6deg)}.road-v{position:absolute;width:66px;background:#eadbc2;height:105%;left:45%;top:0;transform:rotate(7deg);border-left:4px solid #e0c9a9;border-right:4px solid #e0c9a9}.road-dashes{position:absolute;top:55%;left:0;right:0;height:2px;border-top:4px dashed #fff9e0;transform:rotate(-6deg)}.tree{position:absolute;font-size:31px;filter:drop-shadow(0 5px 0 #58795426)}.tree.a{top:48%;left:2%}.tree.b{top:25%;right:1%}.tree.c{bottom:1%;left:45%}.tree.d{bottom:3%;right:3%}.town-building{z-index:1;position:absolute;width:30%;min-width:124px;height:125px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:transparent;border:none;padding:0;filter:drop-shadow(0 6px 2px #6b7e5f33);transition:transform .18s}.town-building:hover{transform:translateY(-3px)}.town-building .roof{width:92%;height:33px;background:#db9286;clip-path:polygon(50% 0,100% 100%,0 100%);margin-bottom:-2px}.town-building .walls{width:80%;height:77px;border:4px solid #c99e8a;background:#fff1d8;border-radius:3px 3px 9px 9px;position:relative;display:flex;align-items:center;justify-content:center;font-size:39px}.town-building .door{font-size:32px;position:absolute;bottom:-7px;right:8px}.town-building .town-label{position:absolute;bottom:-12px;white-space:nowrap;background:#fffdf7;border:2px solid #ecd7bb;border-radius:14px;padding:5px 13px;font-size:14px;font-weight:900;box-shadow:0 3px 0 #ddc5a7}.town-building.cafe{top:10%;left:6%}.town-building.cafe .roof{background:#d18f8e}.town-building.cafe .walls{background:#ffe0d2}.town-building.shop{top:10%;right:7%}.town-building.shop .roof{background:#a9b9d8}.town-building.shop .walls{background:#e1edfb}.town-building.home{bottom:10%;left:5%}.town-building.home .roof{background:#e0b86e}.town-building.home .walls{background:#fff1c9}.town-building.park{bottom:10%;right:7%}.town-building.park .roof{background:#7ca898}.town-building.park .walls{background:#ddf4d8}.town-center{position:absolute;left:46%;top:49%;z-index:1;border-radius:50%;background:#94cce6;width:47px;height:35px;text-align:center;padding-top:4px;font-size:22px;border:4px solid #d7edf3;box-shadow:0 5px #7cacbb;transform:translate(-50%,-50%)}.town-foot{display:flex;align-items:center;gap:9px;justify-content:space-between;margin-top:13px;flex-wrap:wrap}.night .town-building{filter:brightness(.82) drop-shadow(0 7px 3px #273c5760)}
/* Kitchen */
.recipe-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.recipe{padding:12px 5px;border:2px solid #ece4d7;background:#fffdf9;border-radius:18px;text-align:center;min-height:115px;transition:border .2s,background .2s}.recipe.active{border-color:#82b39b;background:#eff7ed}.recipe .food{font-size:36px;display:block;margin-bottom:7px}.recipe .foodname{font-size:12px;line-height:1.5;display:block}.kitchen-stage{border:3px solid #f1e8db;border-radius:24px;background:linear-gradient(#fff4e5 0 70%,#e7c8a7 70%);height:225px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.kitchen-stage .shelf{position:absolute;top:14px;right:15px;font-size:29px;opacity:.8}.kitchen-stage .window{position:absolute;top:22px;left:20px;width:83px;height:76px;background:#c0e7e7;border:7px solid #e4c9a4;border-radius:11px;text-align:center;font-size:34px;padding-top:9px}.kitchen-stage .chef{font-size:69px;position:relative;z-index:1;transform:translate(25px,-10px)}.kitchen-stage .bowl{font-size:76px;position:relative;z-index:1;transform:translate(-7px,29px);filter:drop-shadow(0 8px 3px #8f6b5733)}.kitchen-stage .sparkle{font-size:25px;position:absolute;top:36px;left:50%}.kitchen-stage .oven{font-size:91px;transform:translateY(27px)}.kitchen-stage .done{font-size:87px;transform:translateY(24px);animation:pop .35s}.stepper{display:flex;justify-content:space-around;gap:8px;padding:16px 0}.step{display:flex;align-items:center;gap:6px;font-size:12px;color:#b0a192;white-space:nowrap}.step .stepnum{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eee8e0;font-size:12px}.step.current,.step.finished{color:#648b72}.step.current .stepnum,.step.finished .stepnum{color:#fff;background:#72a486}.costs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 17px}.costs span{font-size:12px;background:#f5eee5;border-radius:12px;padding:7px 9px}.costs span.missing{background:#ffe7e5;color:#b75e57}
/* Cafe */
.cafe-scene{margin-top:14px;height:325px;overflow:hidden;position:relative;border-radius:23px;border:5px solid #efe2d1;background:linear-gradient(#ffefd8 0 66%,#d9b99a 66%);box-shadow:inset 0 -8px #cba581}.cafe-scene:before{content:"";position:absolute;left:0;right:0;top:0;height:35px;background:repeating-linear-gradient(90deg,#e8a99c 0 34px,#fff7e5 34px 68px);border-radius:0 0 14px 14px}.cafe-window{position:absolute;top:57px;left:6%;width:110px;height:93px;background:linear-gradient(#afe4e7,#d0edca);border:9px solid #f6d5ab;box-shadow:inset 0 0 0 2px #fff9df;border-radius:15px;text-align:center;padding-top:27px;color:#71a67d;font-size:24px}.cafe-window:after{content:"";position:absolute;left:45%;top:0;height:100%;width:5px;background:#f6d5ab}.cafe-counter{position:absolute;bottom:12px;left:17%;right:16%;height:65px;border-radius:13px;background:#bc806d;border-top:12px solid #f2c69b;box-shadow:inset 0 -12px #a87264;display:flex;gap:30px;justify-content:center;align-items:flex-start;font-size:40px;z-index:2}.cafe-barista{position:absolute;bottom:57px;right:30%;font-size:63px;z-index:1}.cafe-guest{position:absolute;bottom:3px;left:4%;font-size:58px;z-index:3}.cafe-label{position:absolute;left:43%;top:60px;background:#f9fbef;border:3px solid #e0bf8f;padding:8px 18px;border-radius:14px;font-size:14px;box-shadow:0 4px #e4c6a6}.spot{position:absolute;z-index:4;display:grid;place-items:center;width:45px;height:45px;line-height:1;border:2px dashed #a8a6a0;border-radius:13px;background:#ffffffad;font-size:26px}.spot.filled{background:#f3efd7dd;border-style:solid;border-color:#efe0ad}.spot.selected{border:3px solid #ee946c;background:#ffe9d0}.spot:nth-of-type(1){top:92px;right:8%}.spot:nth-of-type(2){top:158px;left:8%}.spot:nth-of-type(3){top:170px;right:8%}.spot:nth-of-type(4){top:110px;left:35%}.spot:nth-of-type(5){bottom:13px;right:8%}.spot:nth-of-type(6){bottom:15px;left:36%}.stock-cards{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0}.stock-card{padding:7px 10px;border-radius:12px;background:#f9f0e4;font-size:12px}.decor-tray{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.decor-chip{border:2px solid #e7dccd;border-radius:13px;background:#fff8ef;padding:8px 11px;font-size:12px}.decor-chip.active{border-color:#eea871;background:#fff0d5}.customer-big{display:flex;align-items:center;gap:14px;background:#fdf5e8;border:1px solid #f2dec5;border-radius:19px;padding:12px 15px;margin-top:17px}.customer-big .face{font-size:48px}.customer-big .words{font-size:14px;line-height:1.7;flex:1}
/* Store */
.selector-row{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.seg{background:#f6f0e8;border:2px solid transparent;padding:9px 14px;border-radius:13px;font-size:12px}.seg.active{background:#e6f1e5;border-color:#9bc6a8;color:#427d60}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0}.product{border:1px solid #ece2d4;background:#fffaf1;border-radius:19px;padding:15px;display:flex;flex-direction:column;gap:7px}.product .picon{font-size:36px}.product .ptitle{font-size:14px;font-weight:900}.product .pdesc{font-size:11px;color:#968477;flex:1;line-height:1.6}.product .pfoot{display:flex;align-items:center;justify-content:space-between;gap:5px}.price{color:#947346;font-size:14px;font-weight:900}.deliveries{font-size:12px;line-height:1.9;background:#f0f7ed;border-radius:14px;padding:13px;margin:14px 0}
/* House, park */
.house-art,.park-art{min-height:235px;position:relative;border-radius:23px;overflow:hidden;margin:17px 0;background:linear-gradient(#fce8d8 0 70%,#e7c2a1 70%);display:flex;align-items:center;justify-content:center;font-size:60px;gap:20px;border:4px solid #eee0cf}.house-art .framed{position:absolute;top:16px;right:28px;font-size:28px;border:6px solid #e6b38f;background:#fff7eb;border-radius:10px;padding:4px 13px}.park-art{background:linear-gradient(#c8edf1 0 40%,#b9dea4 40% 100%);flex-direction:column;gap:3px}.flowers{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 25px;margin-top:8px}.flower{border:none;background:#ffffff82;border-radius:18px;width:68px;height:65px;font-size:40px}.flower.found{background:#d8f0bf;font-size:31px}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.milestone{text-align:center;padding:16px 5px;background:#f5f0e8;border-radius:17px}.milestone .number{display:block;font-size:24px;font-weight:900;color:#588c70}.milestone .detail{font-size:11px;color:#85766a}.footer{margin:19px 0 0;text-align:center;font-size:11px;color:#a3998e}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(20px);max-width:min(90vw,600px);background:#4c6f60;color:#fff;padding:12px 21px;border-radius:18px;box-shadow:0 8px 35px #303e3355;font-size:14px;line-height:1.55;text-align:center;opacity:0;pointer-events:none;z-index:99;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes pop{from{transform:scale(.7) translateY(20px)}to{transform:scale(1) translateY(24px)}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.side .panel:last-child{grid-column:1/-1}.main-panel{min-height:0}.app{padding:12px 13px 25px}.top{align-items:flex-start}.stats{gap:5px}.stat{padding:8px;font-size:11px}.stat b{font-size:14px}.nav-btn{min-width:85px;padding:10px 9px}}@media(max-width:530px){.section-top{flex-wrap:wrap}.section-top>div:first-child{min-width:0;flex:1 1 100%}h1{font-size:21px}.logo-mark{height:48px;width:48px;font-size:27px}.panel{padding:15px;border-radius:20px}.side{grid-template-columns:1fr}.side .panel:last-child{grid-column:auto}.heading{font-size:19px}.town-world{height:390px}.town-building{height:103px;min-width:102px;width:35%}.town-building .walls{height:59px;font-size:28px}.town-building .roof{height:27px}.town-building .town-label{font-size:12px;padding:4px 8px}.town-building.cafe{top:15%;left:1%}.town-building.shop{top:15%;right:1%}.town-building.home{bottom:12%;left:1%}.town-building.park{bottom:12%;right:1%}.town-center{left:49%;top:52%}.recipe-list{gap:5px}.recipe{min-height:100px;padding:8px 2px}.recipe .food{font-size:28px}.recipe .foodname{font-size:11px}.product-grid{gap:8px}.product{padding:11px}.cafe-scene{height:290px}.cafe-window{width:85px;height:71px}.cafe-label{top:59px;left:42%;font-size:11px;padding:5px 7px}.cafe-counter{left:18%;right:13%;font-size:31px}.cafe-guest{font-size:46px}.cafe-barista{font-size:49px}.spot{height:38px;width:38px;font-size:21px}.house-art{font-size:49px}.nav{gap:6px}.nav-btn{font-size:12px;min-width:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Avatar editor and outfits */
.player-chip{display:flex;align-items:center;gap:7px;background:#fff5eb;border:1px solid #ead8c7;border-radius:17px;min-height:46px;padding:3px 11px 3px 3px;text-align:left;max-width:150px;white-space:nowrap;overflow:hidden}
.player-chip .tiny-avatar{width:43px;height:40px;display:grid;place-items:center;background:#f7e1cc;border-radius:13px;overflow:hidden}
.player-chip .tiny-avatar svg{height:60px;width:39px;transform:translateY(9px)}
.player-chip>span:last-child{font-size:12px;overflow:hidden;text-overflow:ellipsis}
.player-chip small{font-size:10px;color:#ab8179;display:block}
.play-stat{font-variant-numeric:tabular-nums}.play-stat.overtime,.playtime-side.overtime{color:#b05367;background:#fff1f0}.playtime-side{margin-top:11px;font-size:11px;color:#877c6b;background:#f8f3ed;border-radius:12px;padding:10px 11px}
.avatar-svg{width:100%;height:100%;overflow:visible;display:block;filter:drop-shadow(0 8px 5px #62473227)}
.creator-layout{display:grid;grid-template-columns:minmax(180px,.86fr) minmax(0,1.14fr);gap:15px;align-items:stretch;margin:17px 0 18px}
.creator-preview{background:linear-gradient(175deg,#fcf0ef,#f4e9d8 80%);border:2px solid #f0e0d3;border-radius:24px;display:flex;align-items:center;flex-direction:column;padding:20px 12px;gap:11px;min-width:0}
.tag-sparkle{font-size:12px;color:#bd907b;letter-spacing:.05em;font-weight:900}
.avatar-stage{height:322px;max-width:230px;width:95%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 88%,#e6c8b5 0 16%,transparent 17%),radial-gradient(circle at center,#fffaf1 0 59%,transparent 60%);padding:5px 12px}
.avatar-stage svg{height:100%;max-width:190px}
.display-name{color:#795f58;font-size:20px;max-width:100%;overflow-wrap:anywhere}
.creator-tools{background:#fffaf5;border:1px solid #f0e2d6;border-radius:24px;padding:13px;min-width:0}
.creator-tools .selector-row{margin-top:0}.custom-section{padding:12px 2px 14px;border-top:1px dashed #eedcd2}.custom-section h3{font-size:14px;margin:0 0 11px}
.avatar-name-input{display:block;width:100%;margin-top:7px;padding:11px 13px;border:2px solid #e5d5c7;background:#fff;border-radius:12px;font:inherit;font-size:15px;color:var(--ink)}.avatar-name-input:focus{outline:2px solid #a7c3ad}
.choice-grid{display:flex;gap:6px;flex-wrap:wrap}.choice{border:2px solid #eee5dc;background:#fff;border-radius:12px;min-width:57px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;padding:7px 9px;flex:1 1 66px}
.choice.active{border-color:#83b796;background:#edf6e9}.color-dot{height:27px;width:27px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c6bdb3}
.slot-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.slot-tab{background:#f3eee8;border:2px solid transparent;border-radius:12px;padding:12px 6px;font-size:12px;min-height:44px}.slot-tab.active{background:#e6f2e9;border-color:#a3c7a9}
.wardrobe-list{display:flex;flex-direction:column;gap:8px;margin:10px 0 18px}.wardrobe-item{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:9px;border:2px solid #f0e5d9;border-radius:14px;background:#fff;min-height:68px;font-size:12px}.wardrobe-item.active{background:#f2f8ee;border-color:#8bb89b}.clothing-emoji{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;font-size:24px;flex:0 0 auto}.wardrobe-name{flex:1;font-weight:900}.wardrobe-name small{display:block;color:#9b8a7a;font-size:10px;margin-top:4px}.wardrobe-item>span:last-child{font-size:10px;color:#5c9072;white-space:nowrap}
.clothes-hello{display:flex;align-items:center;gap:20px;background:#fff1ed;border:2px solid #f1dacf;border-radius:20px;padding:10px 17px;line-height:1.9;font-size:16px}.clothes-hello small{font-size:12px;color:#8f7a70}
.clothes-shop-avatar{height:128px;min-width:105px;display:block}.clothes-shop-avatar svg{height:124px;width:100px}
.product-owned{background:#f4f8f0;border-color:#d3e4ca}.product .picon{min-height:51px;min-width:52px;width:max-content;padding:5px}
.cafe-barista{height:137px;width:94px;right:29%;bottom:45px;display:flex;align-items:center;justify-content:center;font-size:initial;z-index:1}
.cafe-barista svg{width:94px;height:139px}
.town-player{position:absolute;z-index:2;left:calc(46% + 15px);top:49%;transform:translateY(-25%);background:transparent;border:0;padding:0;text-align:center;display:flex;align-items:center;flex-direction:column;font-size:10px;text-shadow:0 1px #fff;height:88px;width:60px}
.town-player svg{height:74px;width:52px}.town-player span{background:#fff9ed;border-radius:99px;padding:2px 6px;white-space:nowrap}
.home-character{display:block;height:164px;width:111px;align-self:flex-end;margin-bottom:12px;z-index:1}.home-character svg{height:159px;width:106px}
[hidden]{display:none!important}
.limit-modal,.finish-screen{position:fixed;inset:0;background:#453a43b8;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.limit-card,.finish-card{width:min(440px,100%);border-radius:28px;border:4px solid #ffe3cf;background:#fffaf1;padding:25px 23px;box-shadow:0 20px 60px #37272265;text-align:center}
.limit-illustration{font-size:65px;display:block;margin:5px 0 10px}.limit-card h2,.finish-card h2{font-size:25px;line-height:1.5;margin:0 0 12px}.limit-card p,.finish-card p{font-size:15px;line-height:1.9;color:#8a746b;margin:0 0 15px}.limit-time{border-radius:15px;background:#f8ebea;padding:11px;font-size:14px;margin-bottom:17px}.limit-card .btn,.finish-card .btn{margin:5px auto;display:block;max-width:330px}.limit-later{background:transparent;border:none;padding:12px;color:#95867c;font-size:12px;text-decoration:underline}.has-modal{overflow:hidden}
@media(max-width:680px){.creator-layout{grid-template-columns:1fr}.creator-preview{padding:15px}.avatar-stage{height:260px}.creator-tools{padding:13px}.clothes-shop-avatar{min-width:80px;height:116px}.clothes-shop-avatar svg{width:80px;height:110px}.clothes-hello{gap:9px;padding:8px 11px;font-size:14px}.town-player{left:calc(46% + 8px);top:50%}.player-chip{max-width:130px}}

/* v3: ふくづくり・公園・BGM */
.recipe-list{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}
.design-editor>h3{font-size:17px;margin:10px 0}.design-editor .custom-section{padding:12px 2px}
.design-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.design-swatch{border:2px solid #eee4d7;border-radius:13px;background:#fff;min-width:0;padding:7px 2px;display:flex;flex-direction:column;align-items:center;gap:3px}
.design-swatch.active{border-color:#639c7e;background:#edf6ef}.design-swatch span{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d3c9bc}.design-swatch small{font-size:10px}
.design-options{display:flex;gap:7px;flex-wrap:wrap}.design-options .seg{padding:8px 10px;font-size:12px}
.design-price{padding:13px;background:#fff2dd;border-radius:14px;margin:16px 0 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.design-price strong{font-size:19px;color:#936948}
.wardrobe-row{display:flex;align-items:stretch;gap:6px}.wardrobe-row>.wardrobe-item{flex:1;min-width:0}.design-remake{padding:0 12px;border:2px solid #e6d8d0;background:#fff4e9;border-radius:12px;font-size:22px}
.premium-star{font-size:11px;color:#ad6b3a;font-weight:900;display:block}.product.premium{background:linear-gradient(148deg,#fff9e6,#fffefa 65%);border-color:#edcf9b}.premium .price{color:#aa7041}
.music-toggle{border:1px solid #e5d6c6;border-radius:13px;background:#fff;padding:9px 12px;min-height:42px;font-size:12px;font-weight:900}.music-toggle[aria-pressed="true"]{background:#e9f5eb;border-color:#80bba1}
.park-builder{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin-top:14px}.park-project{border:2px solid #e9e1d2;background:#fffdfa;border-radius:15px;padding:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px}.park-project strong{font-size:13px}.park-project span{font-size:11px}.park-extra{font-size:28px;letter-spacing:8px;padding:7px 2px}
.mini-panel{margin-top:20px;background:linear-gradient(165deg,#f1faea,#fcf0df);border:2px solid #d7e9ca;border-radius:23px;padding:16px}
.mini-panel h3{margin:0 0 7px;font-size:20px}.mini-hud{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}.mini-hud .pill{font-variant-numeric:tabular-nums}
.mini-field{height:252px;position:relative;overflow:hidden;border-radius:18px;border:3px solid #d7e5c5;background:linear-gradient(#c4eaf9 0%,#e6f7fb 64%,#b9e1a0 64%,#a3d88f);user-select:none;touch-action:manipulation}
.mini-field:before{content:'☁️　☁️　☀️';position:absolute;top:14px;left:15px;font-size:24px;opacity:.6}.mini-field:after{content:'🌼　🌷　🌸　🌻　🌷';position:absolute;bottom:9px;left:4%;font-size:23px;letter-spacing:6px;opacity:.9;pointer-events:none}
.mini-butterfly{position:absolute;z-index:2;width:76px;height:76px;display:grid;place-items:center;font-size:48px;border:0;background:#fff9fa8f;border-radius:50%;box-shadow:0 5px 18px #557b6a39;transition:left .18s,top .18s;animation:butterflyBob 1.1s ease-in-out infinite alternate}.mini-butterfly{animation:none}.mini-butterfly span{display:inline-block;animation:butterflyBob 1.1s ease-in-out infinite alternate}
.mini-butterfly:focus-visible{outline:4px solid #ffdb65}
@keyframes butterflyBob{to{transform:translateY(-8px) rotate(5deg)}}
.mini-end{border-radius:15px;background:#fff9eb;padding:13px;margin:13px 0}
@media(max-width:680px){.recipe-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.design-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-field{height:215px}.mini-butterfly{height:66px;width:66px;font-size:42px}.music-toggle{padding:7px 9px}}

/* v4: きろくの もちだし、やさしいオーブン、かわいいアバター */
.save-panel{background:linear-gradient(145deg,#fff6ed,#f5fbf2);border:2px solid #eadfd0;border-radius:22px;padding:20px;margin:17px 0}
.save-panel h3{margin:0 0 8px;font-size:19px}.save-panel p{font-size:13px;line-height:1.9;color:#76675f}.save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}
.save-action{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;min-height:116px}.save-action>span{font-size:29px}.save-action small{font-size:11px;opacity:.92}
.save-explain{background:#f7f1e6;border-radius:14px;padding:12px 15px;margin-top:15px;font-size:12px;line-height:1.9;color:#776a61}
.oven-scene{position:relative;width:189px;height:174px;flex-shrink:0;transform:translateY(12px);filter:drop-shadow(0 11px 5px #b99b8044)}
.oven-appliance{position:absolute;inset:2px 9px 11px;border:5px solid #e9bfa9;border-radius:23px 23px 20px 20px;background:linear-gradient(130deg,#ffe6d6,#edb49d);box-shadow:inset 0 4px #fff6e4,4px 5px #af7b6844}
.oven-controls{height:39px;border-bottom:4px solid #dba48f;display:flex;align-items:center;gap:12px;padding:0 13px}.oven-dial{width:19px;height:19px;background:#fffdf2;border:3px solid #cf967d;border-radius:50%;box-shadow:0 2px 0 #c88d75;position:relative}.oven-dial:after{content:'';position:absolute;width:2px;height:7px;background:#c38b76;left:6px;top:0;transform:rotate(28deg)}
.oven-lights{margin-left:auto;display:flex;gap:5px}.oven-light{width:7px;height:7px;background:#8eba90;border-radius:50%}.oven-baking .oven-light{background:#f2b979;box-shadow:0 0 9px #ffb877}
.oven-handle{height:8px;background:#fff3e5;border:2px solid #d9ae9b;border-radius:9px;position:absolute;top:48px;left:24px;right:24px;z-index:2}
.oven-door{position:absolute;top:47px;left:15px;right:15px;bottom:12px;border-radius:12px;background:#b87963;border:5px solid #c9937e;box-shadow:inset 0 0 0 3px #f6d8c4;overflow:hidden}
.oven-glass{position:absolute;inset:11px 8px 8px;border-radius:9px;background:linear-gradient(120deg,#706679,#4d596c 62%,#6f7480);overflow:hidden;display:flex;align-items:center;justify-content:center}
.oven-baking .oven-glass{background:radial-gradient(ellipse at 54% 72%,#ffc07a9c,#815a69 65%,#5a6475 100%);animation:oven-glow 1.15s ease-in-out infinite alternate}
.oven-glass:before{content:'';position:absolute;left:4%;top:-24%;height:135%;width:25%;transform:rotate(20deg);background:#ffffff2b;border-radius:45%;z-index:2}
.oven-bake-food{font-size:42px;position:relative;z-index:1;transform:translateY(11px);filter:drop-shadow(0 4px 2px #4e364566)}
.oven-tray{position:absolute;bottom:13px;left:10px;right:10px;border-bottom:5px solid #ddd2cf;border-radius:7px;box-shadow:0 3px #3c3d53}
.oven-feet{position:absolute;bottom:0;width:19px;height:13px;border-radius:0 0 5px 5px;background:#b18178}.oven-feet.left{left:26px}.oven-feet.right{right:26px}
.oven-note{position:absolute;right:-82px;top:52px;border:2px solid #f0d9bc;border-radius:20px 20px 20px 3px;background:#fffcf1;padding:7px 10px;white-space:nowrap;color:#a87763;font-size:12px;font-weight:900;z-index:4}
@keyframes oven-glow{to{filter:brightness(1.16)}}
.avatar-stage{position:relative}.avatar-stage:before,.avatar-stage:after{content:'✦';position:absolute;color:#eab9a2;font-size:24px;opacity:.7;pointer-events:none}.avatar-stage:before{top:45px;left:13px}.avatar-stage:after{right:13px;top:78px;font-size:19px;color:#edca76}
@media(max-width:530px){.save-actions{grid-template-columns:1fr}.save-action{min-height:84px}.oven-note{right:-63px;font-size:10px;padding:5px}.oven-scene{transform:translate(-12px,12px) scale(.87)}}
