:root{--ink:#f6f3ec;--ink-dim:#f6f3ecb8;--glass:#141c1a61;--glass-strong:#121816b8;--line:#ffffff2e;--accent:#ffc76b;--accent-ink:#2b2112;--u:clamp(16px, 2.2vmin + 8px, 28px);--pad:max(calc(var(--u) * .9), env(safe-area-inset-left), env(safe-area-inset-right));--font:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;background:#0d1412;margin:0;overflow:hidden}#app{touch-action:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#view{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}button{font:inherit;color:inherit}.hidden{display:none!important}#loading{z-index:50;background:radial-gradient(120% 90% at 50% 30%,#2b4a3f 0%,#14211d 55%,#0b110f 100%);place-items:center;transition:opacity .8s,visibility .8s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}#loading.done{opacity:0;visibility:hidden}.loading-inner{justify-items:center;gap:calc(var(--u) * .9);display:grid}.loading-title{font-size:calc(var(--u) * 2);letter-spacing:.04em;font-weight:700}.loading-label{font-size:calc(var(--u) * .8);color:var(--ink-dim);letter-spacing:.08em}.loading-bar{background:#ffffff1f;border-radius:3px;width:min(56vw,280px);height:3px;overflow:hidden}.loading-bar-fill{background:var(--accent);width:0%;height:100%;transition:width .3s}.loading-paw{gap:calc(var(--u) * .5);display:flex}.loading-paw span{width:calc(var(--u) * .6);height:calc(var(--u) * .6);background:var(--accent);opacity:.2;border-radius:50%;animation:1.2s ease-in-out infinite paw}.loading-paw span:nth-child(2){animation-delay:.15s}.loading-paw span:nth-child(3){animation-delay:.3s}.loading-paw span:nth-child(4){animation-delay:.45s}@keyframes paw{0%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.hud{position:absolute;top:0;bottom:0;left:0;right:0}.hud-fade{transition:opacity .6s}#ui:not([data-mode=walk]) .hud-fade,#ui:not([data-mode=title]) .title-screen,#ui:not([data-mode=select]) .select-screen,#ui:not([data-mode=complete]) .complete-screen{opacity:0;visibility:hidden;pointer-events:none}.title-screen,.select-screen,.complete-screen{transition:opacity .5s,visibility .5s}.hud-top-left{top:max(var(--pad), env(safe-area-inset-top));left:var(--pad);text-shadow:0 1px 8px #00000073;position:absolute}.area-name{font-size:calc(var(--u) * 1.15);letter-spacing:.06em;font-weight:700}.stat{font-size:calc(var(--u) * .78);color:var(--ink-dim);margin-top:2px}.stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.hud-top-right{top:max(var(--pad), env(safe-area-inset-top));right:var(--pad);align-items:flex-end;gap:calc(var(--u) * .5);flex-direction:column;display:flex;position:absolute}.top-right-row{align-items:flex-start;gap:calc(var(--u) * .5);display:flex}.minimap{aspect-ratio:1;border:2px solid #ffffffb3;border-radius:50%;width:clamp(110px,26vmin,190px);overflow:hidden;box-shadow:0 4px 18px #00000059}.minimap canvas{width:100%;height:100%;display:block}.goals{padding:calc(var(--u) * .45) calc(var(--u) * .7);border-radius:calc(var(--u) * .6);background:var(--glass);-webkit-backdrop-filter:blur(8px);font-size:calc(var(--u) * .74);text-align:left;margin:0;line-height:1.65;list-style:none}.goals li{white-space:nowrap;align-items:center;gap:6px;display:flex}.goals li i{border:1.5px solid var(--ink-dim);border-radius:3px;flex:none;place-items:center;width:.9em;height:.9em;display:grid}.goals li.done{color:var(--ink-dim)}.goals li.goal-guide{color:#ffd2b0;background:#ff8f4b38;border-radius:999px;margin-top:4px;padding:3px 8px 3px 4px;font-weight:700}.goals li.goal-guide.hidden{display:none}.goals li.goal-guide i.gg-arrow{clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:#ff8f4b;border:none;border-radius:0;width:1.1em;height:1.1em;transition:transform .2s}.goals li.done span{text-decoration:line-through}.goals li.done i{background:var(--accent);border-color:var(--accent)}.goals li.done i:after{content:"";border:solid var(--accent-ink);border-width:0 2px 2px 0;width:35%;height:60%;transform:rotate(45deg)translate(-10%,-10%)}.goals b{font-variant-numeric:tabular-nums;font-weight:600}.dog-card{margin-top:calc(var(--u) * .45);padding:calc(var(--u) * .4) calc(var(--u) * .65);border-radius:calc(var(--u) * .6);background:var(--glass);-webkit-backdrop-filter:blur(8px);width:clamp(150px,34vmin,230px);text-shadow:none}.dog-name{font-size:calc(var(--u) * .78);margin-bottom:2px;font-weight:700}.meter{font-size:calc(var(--u) * .66);color:var(--ink-dim);align-items:center;gap:6px;display:flex}.meter span{flex:none;width:4.8em}.meter i{background:#ffffff29;border-radius:3px;flex:1;height:7px;overflow:hidden}.meter b{background:#8fd18a;border-radius:3px;height:100%;transition:width .6s;display:block}.meter b.bar-joy{background:#ff9fb0}.area-name.area-in{animation:.9s areaIn}@keyframes areaIn{0%{opacity:0;letter-spacing:.3em}to{opacity:1}}.toast{left:50%;top:calc(max(var(--pad), env(safe-area-inset-top)) + var(--u) * 3.2);opacity:0;padding:calc(var(--u) * .7) calc(var(--u) * 1.5);background:var(--glass-strong);border:1px solid var(--line);font-size:calc(var(--u) * 1);letter-spacing:.04em;width:max-content;max-width:calc(100% - var(--pad) * 2);text-align:center;pointer-events:none;border-radius:999px;font-weight:700;line-height:1.4;transition:opacity .35s,transform .35s;position:absolute;transform:translate(-50%,-10px);box-shadow:0 6px 20px #00000040}.toast.show{opacity:1;transform:translate(-50%)}.photo-frame{pointer-events:none;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.photo-frame.show{animation:3.2s forwards photo}.photo-frame:before,.photo-frame:after{content:"";background:#07100d;height:9vh;position:absolute;left:0;right:0}.photo-frame:before{top:0}.photo-frame:after{bottom:0}.photo-frame .corners{inset:calc(9vh + var(--u)) calc(var(--u) * 1.5);--c:#ffffffd9;background:linear-gradient(var(--c), var(--c)) left top / 28px 2px no-repeat, linear-gradient(var(--c), var(--c)) left top / 2px 28px no-repeat, linear-gradient(var(--c), var(--c)) right top / 28px 2px no-repeat, linear-gradient(var(--c), var(--c)) right top / 2px 28px no-repeat, linear-gradient(var(--c), var(--c)) left bottom / 28px 2px no-repeat, linear-gradient(var(--c), var(--c)) left bottom / 2px 28px no-repeat, linear-gradient(var(--c), var(--c)) right bottom / 28px 2px no-repeat, linear-gradient(var(--c), var(--c)) right bottom / 2px 28px no-repeat;position:absolute}.photo-caption{left:0;right:0;bottom:calc(9vh + var(--u) * 1.6);text-align:center;font-size:calc(var(--u) * 1.2);letter-spacing:.12em;text-shadow:0 2px 12px #00000080;font-weight:700;position:absolute}@keyframes photo{0%{opacity:0;background:#ffffffe6}6%{opacity:1;background:#fff9}18%{background:#fff0}82%{opacity:1}to{opacity:0}}.coach{width:min(calc(100% - var(--pad) * 2), 480px);opacity:0;visibility:hidden;padding:calc(var(--u) * .8) calc(var(--u) * 1.1);border-radius:calc(var(--u) * 1);color:#2c2419;pointer-events:none;background:#fffaeef2;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:40%;left:50%;transform:translate(-50%,10px);box-shadow:0 8px 24px #0000004d}.coach.show{opacity:1;visibility:visible;transform:translate(-50%)}#ui:not([data-mode=walk]) .coach,#ui.talking .coach{opacity:0;visibility:hidden}.coach-dots{margin-bottom:calc(var(--u) * .4);justify-content:center;gap:5px;display:flex}.coach-dots i{background:#3c281433;border-radius:50%;width:7px;height:7px}.coach-dots i.cur{background:#e39b3a;transform:scale(1.3)}.coach-dots i.on{background:#6aa84f}.coach-text{text-align:center;font-size:calc(var(--u) * .92);margin:0;font-weight:700;line-height:1.55}.coach-text.in{animation:.3s both dialogIn}.coach.done .coach-text{color:#3f8a2f;font-size:calc(var(--u) * 1.1)}.coach-btns{margin-top:calc(var(--u) * .45);justify-content:space-between;align-items:center;display:flex}.coach .coach-skip{pointer-events:auto;color:#2c241999;font-size:calc(var(--u) * .72);margin:0}.coach-next{pointer-events:auto;cursor:pointer;padding:calc(var(--u) * .35) calc(var(--u) * 1.3);color:#fff;font-weight:700;font-size:calc(var(--u) * .85);background:#e39b3a;border:none;border-radius:999px}.coach-next.hidden{display:none}.coach.done .coach-btns{visibility:hidden}.coach-target{animation:1.2s ease-in-out infinite coachPulse}@keyframes coachPulse{0%,to{box-shadow:0 0 #ffc94d00,0 0 0 2px #ffc94de6}50%{box-shadow:0 0 0 10px #ffc94d40,0 0 0 3px #ffc94d}}.btn-tutorial{margin:calc(var(--u) * .6) auto 0;display:block}@media (orientation:landscape){.coach{left:var(--pad);top:auto;bottom:max(var(--pad), env(safe-area-inset-bottom));width:min(42vw,420px);transform:translateY(10px)}.coach.show{transform:none}}.dialog{left:50%;bottom:max(var(--pad), env(safe-area-inset-bottom));width:min(calc(100% - var(--pad) * 2), 560px);opacity:0;visibility:hidden;padding:calc(var(--u) * 1.3) calc(var(--u) * 1.3) calc(var(--u) * 1.1);border-radius:calc(var(--u) * 1.1);color:#2c2419;cursor:pointer;pointer-events:auto;background:#fcf8eef5;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;transform:translate(-50%,12px);box-shadow:0 10px 30px #00000059}.dialog.show{opacity:1;visibility:visible;transform:translate(-50%)}.dialog-name{left:calc(var(--u) * 1);padding:calc(var(--u) * .25) calc(var(--u) * .9);color:#fff;font-weight:700;font-size:calc(var(--u) * .78);letter-spacing:.06em;background:#b5452f;border-radius:999px;position:absolute;top:0;transform:translateY(-55%)}.dialog-text{margin:calc(var(--u) * .2) 0 0;font-size:calc(var(--u) * .95);min-height:3.3em;font-weight:600;line-height:1.65}.dialog-text.in{animation:.3s both dialogIn}@keyframes dialogIn{0%{opacity:0;transform:translateY(4px)}}.dialog-next{right:calc(var(--u) * 1);bottom:calc(var(--u) * .6);border-top:9px solid #b5452f;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;animation:.9s ease-in-out infinite nextBob;position:absolute}.dialog-next.last{background:#b5452f;border:none;border-radius:50%;width:10px;height:10px}@keyframes nextBob{50%{transform:translateY(3px)}}#ui.talking .hud-bottom-right,#ui.talking .trick-menu{opacity:0;pointer-events:none}#ui.talking .hud-bottom-right *{pointer-events:none!important}.btn-interact.talk{color:#3a2a1c;background:#ffc94de6;border-color:#fff9}.goals .goal.side span{color:#ffd98a}.goals .goal.side.done span{color:var(--ink-dim)}.hud-bottom-right{right:var(--pad);bottom:max(var(--pad), env(safe-area-inset-bottom));gap:calc(var(--u) * .7);align-items:flex-end;display:flex;position:absolute}.icon-btn,.round-btn{pointer-events:auto;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);cursor:pointer;place-items:center;transition:transform .12s,background .2s;display:grid}.icon-btn{width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);border-radius:50%;padding:0}.icon-btn svg{width:55%;height:55%}.round-btn{width:calc(var(--u) * 4);height:calc(var(--u) * 4);padding:calc(var(--u) * .5) 0 calc(var(--u) * .4);font-size:calc(var(--u) * .6);letter-spacing:.04em;border-radius:50%;gap:2px;font-weight:600}.round-btn svg{width:calc(var(--u) * 1.5);height:calc(var(--u) * 1.5)}.round-btn .ico{place-items:center;display:grid}.round-btn.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.round-btn.disabled{opacity:.4}.btn-ball{width:calc(var(--u) * 3.3);height:calc(var(--u) * 3.3)}.btn-ball svg{width:calc(var(--u) * 1.2);height:calc(var(--u) * 1.2)}.icon-btn:active,.round-btn:active,.primary-btn:active{transform:scale(.94)}.overlay{pointer-events:auto;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.title-screen{padding-bottom:max(12vh, calc(var(--u) * 4));background:linear-gradient(#080e0c00 30%,#080e0ca6 100%);align-items:end}.title-card{text-align:center;padding:0 var(--pad);animation:1s both rise}.title-card h1{letter-spacing:.02em;text-shadow:0 4px 30px #00000073;margin:0;font-size:clamp(34px,8vmin,84px);font-weight:800}.subtitle{margin:calc(var(--u) * .4) 0 calc(var(--u) * 1.6);color:var(--ink-dim);font-size:calc(var(--u) * .95);letter-spacing:.08em}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (min-aspect-ratio:1){.title-screen{background:linear-gradient(90deg,#080e0c99 0%,#080e0c40 45%,#080e0c00 70%);place-items:center start;padding-bottom:0}.title-card{margin-left:max(var(--pad), 4vw);max-width:62vw}.title-card h1{white-space:nowrap;font-size:clamp(34px,7.5vmin,84px)}}.primary-btn{pointer-events:auto;cursor:pointer;padding:calc(var(--u) * .75) calc(var(--u) * 2.2);background:var(--accent);color:var(--accent-ink);font-size:calc(var(--u) * .95);letter-spacing:.06em;border:0;border-radius:999px;font-weight:700;transition:transform .12s;box-shadow:0 8px 30px #ffc76b59}.settings-panel{-webkit-backdrop-filter:blur(4px);background:#060a0973}.settings-panel .panel,.howto-panel{max-height:calc(100% - var(--pad) * 2);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.text-btn{margin:calc(var(--u) * .8) auto 0;cursor:pointer;color:var(--ink-dim);font-size:calc(var(--u) * .8);text-underline-offset:4px;pointer-events:auto;background:0 0;border:0;text-decoration:underline;display:block}.select-screen{background:linear-gradient(#080e0c59 0%,#080e0c00 22% 50%,#080e0c8c 100%);align-items:end}.select-screen[data-tone=light]{background:linear-gradient(#080e0c00 60%,#080e0c40 100%)}.select-screen[data-tone=light] .pick-head{color:#3a2c20;text-shadow:0 1px #ffffffb3}.select-screen[data-tone=light] .pick-hint{color:#3a2c20b8}.dog-stage{touch-action:none;cursor:grab;position:absolute;top:0;bottom:0;left:0;right:0}.dog-stage:active{cursor:grabbing}.pick-head{left:0;right:0;top:max(calc(var(--u) * .9), env(safe-area-inset-top));text-align:center;pointer-events:none;text-shadow:0 2px 12px #00000073;animation:.6s both rise;position:absolute}.pick-head h2{font-size:calc(var(--u) * 1.15);letter-spacing:.04em;margin:0}.pick-hint{font-size:calc(var(--u) * .7);color:var(--ink-dim);margin:4px 0 0}.dog-nav{z-index:2;pointer-events:auto;cursor:pointer;width:calc(var(--u) * 2.6);height:calc(var(--u) * 2.6);background:var(--glass);border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(10px);border-radius:50%;place-items:center;padding:0;transition:transform .12s;display:grid;position:absolute;top:34%}.dog-nav svg{width:52%;height:52%}.dog-nav.prev{left:var(--pad)}.dog-nav.next{right:var(--pad)}.dog-nav.next svg{transform:scaleX(-1)}.dog-nav:active{transform:scale(.92)}.sheet{z-index:1;touch-action:pan-y;width:min(94vw,520px);margin-bottom:max(var(--pad), env(safe-area-inset-bottom));padding:calc(var(--u) * .9) calc(var(--u) * 1.2) calc(var(--u) * 1);border-radius:calc(var(--u) * 1.1);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);animation:.6s both rise;position:relative}.sel-row{margin-bottom:calc(var(--u) * .6);font-size:calc(var(--u) * .8);justify-content:space-between;align-items:center;display:flex}.dog-title{text-align:center;font-size:calc(var(--u) * 1.3);letter-spacing:.04em;margin:0}.dog-desc{margin:calc(var(--u) * .25) 0 0;min-height:1.4em;font-size:calc(var(--u) * .74);color:var(--ink-dim);text-align:center;line-height:1.5}.traits{gap:calc(var(--u) * .45);margin-top:calc(var(--u) * .7);grid-template-columns:repeat(3,1fr);display:grid}.traits>div{padding:calc(var(--u) * .4) calc(var(--u) * .3);border-radius:calc(var(--u) * .6);text-align:center;background:#ffffff12}.traits small{font-size:calc(var(--u) * .62);color:var(--ink-dim);display:block}.traits b{font-size:calc(var(--u) * .86);margin-top:2px;display:block}.tr-energy{gap:3px;margin-top:5px;display:inline-flex}.tr-energy i{width:calc(var(--u) * .5);height:calc(var(--u) * .5);background:#ffffff2e;border-radius:50%}.tr-energy i.on{background:var(--accent)}.dog-dots{justify-content:center;gap:calc(var(--u) * .45);margin-top:calc(var(--u) * .75);flex-wrap:wrap;display:flex}.dog-dot{width:calc(var(--u) * 1.15);height:calc(var(--u) * 1.15);cursor:pointer;pointer-events:auto;background:var(--sw);opacity:.6;border:2px solid #ffffff59;border-radius:50%;padding:0;transition:transform .15s,opacity .15s,border-color .15s}.dog-dot.on{opacity:1;border-color:var(--accent);transform:scale(1.25)}.wear-panel{margin-top:calc(var(--u) * .6);display:none}.sheet.wearing .wear-panel{display:block}.sheet.wearing .dog-desc,.sheet.wearing .traits,.sheet.wearing .dog-dots,.sheet.wearing .owner-row{display:none}.wear-row{align-items:center;gap:calc(var(--u) * .6);margin-top:calc(var(--u) * .45);display:flex}.wear-row label{font-size:calc(var(--u) * .74);color:var(--ink-dim);text-transform:capitalize;flex:0 0 4.6em}.wear-opts{gap:calc(var(--u) * .32);flex:1;grid-template-columns:repeat(8,minmax(0,34px));min-width:0;display:grid}.wear-opt{width:100%;max-width:calc(var(--u) * 1.5);aspect-ratio:1;cursor:pointer;pointer-events:auto;background:var(--sw);border:2px solid #ffffff59;border-radius:50%;place-items:center;padding:0;transition:transform .15s,border-color .15s;display:grid;position:relative}.wear-opt svg{color:#fff;width:55%;height:55%;display:none}.wear-opt.locked{filter:saturate(.25)brightness(.55)}.wear-opt.locked svg{display:block}.wear-opt.on{border-color:var(--accent);transform:scale(1.18);box-shadow:0 0 0 2px #00000040}.wear-opt.none{background:linear-gradient(135deg,#0000 45%,#ffffff8c 45% 55%,#0000 55%),#ffffff14}.wear-hint{margin:calc(var(--u) * .5) 0 0;min-height:1.3em;font-size:calc(var(--u) * .7);color:var(--ink-dim);text-align:center}.btn-wear{margin:calc(var(--u) * .6) auto 0;justify-content:center;align-items:center;gap:6px;display:flex}.btn-wear svg{width:calc(var(--u) * 1);height:calc(var(--u) * 1)}.sheet .primary-btn{margin:calc(var(--u) * .85) auto 0;min-width:50%;display:block}@media (orientation:landscape){.select-screen{background:linear-gradient(90deg,#080e0c00 45%,#080e0c80 100%);place-items:center end}.select-screen .sheet{width:min(46vw,440px);margin:0 var(--pad) 0 0;max-height:92vh;overflow:auto}.pick-head{width:54vw;right:auto}.select-screen[data-tone=light]{background:0 0}.dog-nav.next{right:auto;left:calc(54vw - var(--u) * 2.6 - var(--pad))}}.complete-screen{background:#060a0959}.complete-panel{text-align:center;animation:.8s both rise}.complete-paw{width:calc(var(--u) * 2.6);height:calc(var(--u) * 2.6);margin:0 auto calc(var(--u) * .3);color:var(--accent)}.complete-paw svg{width:100%;height:100%}.complete-panel h2{font-size:calc(var(--u) * 1.5);margin:0}.complete-sub{margin:4px 0 calc(var(--u) * .9);color:var(--ink-dim);font-size:calc(var(--u) * .78)}.complete-stats{gap:calc(var(--u) * .5);grid-template-columns:repeat(3,1fr);display:grid}.complete-stats div{padding:calc(var(--u) * .5);border-radius:calc(var(--u) * .6);background:#ffffff12}.complete-stats small{font-size:calc(var(--u) * .68);color:var(--ink-dim);display:block}.complete-stats b{font-size:calc(var(--u) * 1.05);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.dog-msg{margin:calc(var(--u) * .9) 0 0;font-size:calc(var(--u) * .85);line-height:1.5}.panel{width:min(92vw,440px);max-height:86vh;padding:calc(var(--u) * 1.3);border-radius:calc(var(--u) * 1.1);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);overflow:auto}.panel h2{margin:0 0 calc(var(--u) * .8);font-size:calc(var(--u) * 1.2)}.panel h3{margin:calc(var(--u) * 1) 0 calc(var(--u) * .3);font-size:calc(var(--u) * .85);color:var(--ink-dim)}.panel .row{justify-content:space-between;align-items:center;gap:var(--u);margin:calc(var(--u) * .6) 0;font-size:calc(var(--u) * .85);display:flex}.panel .help{font-size:calc(var(--u) * .76);color:var(--ink-dim);margin:4px 0;line-height:1.5}.panel .muted-note{font-size:calc(var(--u) * .72);color:var(--accent);margin:0}.panel .primary-btn{margin:calc(var(--u) * 1.2) auto 0;display:block}.seg{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg-btn{cursor:pointer;font-size:calc(var(--u) * .78);pointer-events:auto;background:0 0;border:0;padding:8px 14px}.seg-btn.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.volume{width:50%;accent-color:var(--accent)}.paused-screen{pointer-events:none;background:#060a0959}.paused-label{font-size:calc(var(--u) * 1.3);letter-spacing:.2em;opacity:.85}.perf{left:50%;bottom:calc(max(var(--pad), env(safe-area-inset-bottom)) + var(--u) * .2);z-index:40;pointer-events:none;color:#b8f5a8;white-space:pre;text-align:center;font-variant-numeric:tabular-nums;background:#0009;border-radius:8px;padding:4px 10px;font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;transform:translate(-50%)}.goals li.goal-items{display:block}.goal-items .goal{white-space:nowrap;align-items:center;gap:6px;display:flex}.goal-items .goal i{border:1.5px solid var(--ink-dim);border-radius:3px;flex:none;place-items:center;width:.9em;height:.9em;display:grid}.goal-items .goal.done{color:var(--ink-dim)}.goal-items .goal.done span{text-decoration:line-through}.goal-items .goal.done i{background:var(--accent);border-color:var(--accent)}.goal-items .goal.done i:after{content:"";border:solid var(--accent-ink);border-width:0 2px 2px 0;width:35%;height:60%;transform:rotate(45deg)translate(-10%,-10%)}.goal-warn b{font-variant-numeric:tabular-nums}.goal-warn.has-warn b{color:#ff8a7a}.warn-banner{left:50%;top:calc(max(var(--pad), env(safe-area-inset-top)) + var(--u) * 5.2);opacity:0;pointer-events:none;z-index:30;padding:calc(var(--u) * .55) calc(var(--u) * 1.2);border-radius:calc(var(--u) * .6);color:#fff;font-size:calc(var(--u) * .85);letter-spacing:.03em;white-space:nowrap;background:#b02c22eb;font-weight:700;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,-8px);box-shadow:0 6px 24px #00000059}.warn-banner.show{opacity:1;transform:translate(-50%)}.stages-screen{background:linear-gradient(#080e0c8c,#080e0ccc);align-items:start;overflow-y:auto}#ui:not([data-mode=stages]) .stages-screen,#ui:not([data-mode=fail]) .fail-screen{opacity:0;visibility:hidden;pointer-events:none}.stages-screen,.fail-screen{transition:opacity .5s,visibility .5s}.stages-wrap{width:min(94vw,760px);padding:max(calc(var(--u) * 1.2), env(safe-area-inset-top)) 0 max(calc(var(--u) * 1.5), env(safe-area-inset-bottom));margin:0 auto}.stages-head{justify-content:space-between;align-items:baseline;gap:var(--u);margin-bottom:calc(var(--u) * .6);display:flex}.stages-head h2{font-size:calc(var(--u) * 1.35);text-wrap:balance;margin:0}.stamp-count{font-size:calc(var(--u) * .8);color:var(--ink-dim);white-space:nowrap}.stages-side{align-items:center;gap:calc(var(--u) * .6);display:flex}.howto-chip{pointer-events:auto;cursor:pointer;border:1px solid var(--line);color:var(--ink);white-space:nowrap;font-size:calc(var(--u) * .72);background:#ffffff14;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 4px;font-weight:700;display:inline-flex}.howto-chip span{background:var(--accent);width:1.5em;height:1.5em;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.howto-chip em{font-style:normal}.howto-screen{z-index:40;background:#080e0c8c}.howto-screen.hidden{display:none}.howto-panel{width:min(calc(100% - var(--pad) * 2), 520px);text-align:left;max-height:88vh;overflow:auto}.howto-dots{margin-bottom:calc(var(--u) * .6);justify-content:center;gap:6px;display:flex}.howto-dots i{background:#ffffff40;border-radius:50%;width:8px;height:8px}.howto-dots i.on{background:var(--accent);transform:scale(1.25)}.howto-title{margin:0 0 calc(var(--u) * .6);text-align:center;font-size:calc(var(--u) * 1.2)}.howto-body p{margin:0 0 calc(var(--u) * .55);font-size:calc(var(--u) * .86);padding-left:1.1em;line-height:1.6;position:relative}.howto-body p:before{content:"";background:var(--accent);border-radius:50%;width:.42em;height:.42em;position:absolute;top:.62em;left:.2em}.howto-nav{margin-top:calc(var(--u) * .9);justify-content:space-between;align-items:center;display:flex}.howto-nav .primary-btn{min-width:40%;margin:0}.round-nav{pointer-events:auto;cursor:pointer;width:calc(var(--u) * 2.3);height:calc(var(--u) * 2.3);border:1px solid var(--line);color:var(--ink);background:#ffffff14;border-radius:50%;place-items:center;display:grid}.round-nav svg{width:50%;height:50%}.round-nav.invisible{visibility:hidden}.settings-note{text-align:center;font-size:calc(var(--u) * .72);color:var(--accent);margin:6px 0 0}.settings-note.hidden{display:none}.btn-quit{margin:calc(var(--u) * .6) auto 0;display:block}.btn-quit.hidden{display:none}.btn-howto-settings{margin:calc(var(--u) * .6) auto 0;display:block}.stamp-count b{color:var(--accent);font-variant-numeric:tabular-nums}.chapter h3{margin:calc(var(--u) * .9) 0 calc(var(--u) * .45);font-size:calc(var(--u) * .82);letter-spacing:.06em;color:var(--ink-dim)}.stage-grid{gap:calc(var(--u) * .55);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.stage-card{align-items:stretch;gap:calc(var(--u) * .6);text-align:left;cursor:pointer;padding:calc(var(--u) * .45);border-radius:calc(var(--u) * .8);background:var(--glass-strong);border:1.5px solid var(--line);transition:transform .12s,border-color .2s;display:flex}.stage-card:not(.disabled):hover{border-color:var(--accent)}.stage-card:not(.disabled):focus-visible{border-color:var(--accent)}.stage-card:not(.disabled):active{transform:scale(.98)}.stage-card.disabled{cursor:default;opacity:.55}.stage-card .art{width:calc(var(--u) * 6.4);aspect-ratio:4/3;border-radius:calc(var(--u) * .55);flex:none;position:relative;box-shadow:inset 0 0 0 1px #ffffff26}.stage-card .art-svg{border-radius:inherit;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.stage-card .stamp{width:calc(var(--u) * 1.8);height:calc(var(--u) * 1.8);background:#ffffffe6;border:3px solid #d2463a;border-radius:50%;position:absolute;bottom:-6px;right:-6px;transform:rotate(-12deg);box-shadow:0 2px 6px #0000004d}.stage-card .stamp:after{content:"";background:radial-gradient(circle at 50% 60%,#d2463a 0 32%,#0000 34%),radial-gradient(circle at 25% 30%,#d2463a 0 14%,#0000 16%),radial-gradient(circle at 50% 18%,#d2463a 0 14%,#0000 16%),radial-gradient(circle at 75% 30%,#d2463a 0 14%,#0000 16%);border-radius:50%;position:absolute;top:22%;bottom:22%;left:22%;right:22%}.stage-card .info{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.stage-card .info b{font-size:calc(var(--u) * .92)}.stage-card .info small{font-size:calc(var(--u) * .68);color:var(--ink-dim);line-height:1.4}.stage-card .stars{gap:3px;margin-top:2px;display:flex}.stars i,.c-star i{width:calc(var(--u) * .85);height:calc(var(--u) * .85);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffffff38;display:inline-block}.stars i.on,.c-star.on i{background:var(--accent)}.stage-card .badge{font-size:calc(var(--u) * .6);color:var(--ink-dim);background:#ffffff1f;border-radius:999px;align-self:flex-start;margin-top:2px;padding:1px 8px}.c-stars{justify-content:center;gap:calc(var(--u) * 1.1);margin:calc(var(--u) * .2) 0 calc(var(--u) * .5);display:flex}.c-star{justify-items:center;gap:4px;display:grid}.c-star i{width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2)}.c-star.on i{animation:.5s both starPop}.c-star:nth-child(2).on i{animation-delay:.15s}.c-star:nth-child(3).on i{animation-delay:.3s}.c-star small{font-size:calc(var(--u) * .64);color:var(--ink-dim)}@keyframes starPop{0%{transform:scale(.3)}70%{transform:scale(1.2)}to{transform:scale(1)}}.c-stamp{margin:0 0 calc(var(--u) * .6);color:var(--accent);font-weight:700;font-size:calc(var(--u) * .85)}.fail-screen{background:#280a0873}.fail-mark{width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);margin:0 auto calc(var(--u) * .4);color:#fff;font-size:calc(var(--u) * 1.5);background:#c23b30;border-radius:50%;place-items:center;font-weight:800;display:grid}.sheet .text-btn,.complete-panel .text-btn{margin-top:calc(var(--u) * .5)}.water-row>span{align-items:center;gap:4px;display:inline-flex}.water-row>span>span{width:auto}.water-ico{color:#8fd6ff;place-items:center;width:1em;height:1em;display:inline-grid}.water-row .water-ico{flex:none;width:1em;height:1em}.meter b.bar-water{background:linear-gradient(90deg,#5fb8ec,#9fe0ff);transition:width 1.2s cubic-bezier(.2,.8,.3,1)}.water-row.empty b.bar-water{background:#ff8a7a}.water-ico svg{width:1em;height:1em;display:block}.water-row.empty .water-ico{color:#ff8a7a}.water-row.refill{border-radius:999px;animation:1.6s waterGlow}@keyframes waterGlow{0%,to{box-shadow:none;background:0 0}25%{background:#8fd6ff38;box-shadow:0 0 12px #8fd6ff8c}}.water-row.refill .water-ico{animation:.6s 2 bottleHop}@keyframes bottleHop{50%{transform:translateY(-3px)scale(1.2)}}.urge-bubble{pointer-events:none;z-index:5;white-space:nowrap;padding:calc(var(--u) * .32) calc(var(--u) * .7);color:#3a2f22;font-size:calc(var(--u) * .72);opacity:0;visibility:hidden;background:#fffcf4f0;border-radius:999px;align-items:center;gap:6px;font-weight:700;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 16px #00000040}.urge-bubble:after{content:"";border:6px solid #0000;border-top-color:#fffcf4f0;border-bottom:0;margin-left:-6px;position:absolute;bottom:-6px;left:50%}#ui[data-mode=walk] .urge-bubble.show{opacity:1;visibility:visible}.urge-bubble.strict{color:#fff;background:#c23b30;animation:.8s ease-in-out infinite alternate urgePulse}.urge-bubble.strict:after{border-top-color:#c23b30}@keyframes urgePulse{0%{box-shadow:0 0 #c23b3099}to{box-shadow:0 0 0 8px #c23b3000}}.urge-dots{gap:3px;display:inline-flex}.urge-dots i{opacity:.3;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite paw}.urge-dots i:nth-child(2){animation-delay:.15s}.urge-dots i:nth-child(3){animation-delay:.3s}.toilet-choice{left:50%;bottom:calc(max(var(--pad), env(safe-area-inset-bottom)) + var(--u) * 5.2);z-index:20;width:min(92vw,420px);padding:calc(var(--u) * .8) calc(var(--u) * 1) calc(var(--u) * .9);border-radius:calc(var(--u) * 1);background:var(--glass-strong);border:1px solid var(--line);text-align:center;-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;transform:translate(-50%,12px)}#ui[data-mode=walk] .toilet-choice.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.tc-title{margin:0 0 calc(var(--u) * .6);font-size:calc(var(--u) * .9);font-weight:700}.tc-btns{gap:calc(var(--u) * .6);justify-content:center;align-items:stretch;display:flex}.tc-btns .primary-btn{padding:calc(var(--u) * .7) calc(var(--u) * 1.4);align-items:center;gap:8px;display:inline-flex}.tc-btns .primary-btn svg{width:1.2em;height:1.2em}.sub-btn{pointer-events:auto;cursor:pointer;padding:calc(var(--u) * .7) calc(var(--u) * 1.1);border:1px solid var(--line);font-size:calc(var(--u) * .8);color:var(--ink-dim);background:#ffffff14;border-radius:999px;font-weight:600;transition:transform .12s}.sub-btn:active{transform:scale(.94)}.tc-note{margin:calc(var(--u) * .55) 0 0;font-size:calc(var(--u) * .72);color:#ff8a7a;font-weight:700;display:none}.toilet-choice.strict .tc-note{display:block}.tc-water{margin:0 auto calc(var(--u) * .6);align-items:center;gap:6px;width:70%;display:none}.toilet-choice.pee .tc-water{display:flex}.tc-water i{background:#ffffff29;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.tc-water b{border-radius:4px;position:absolute;top:0;bottom:0;left:0}.tc-water-bar{background:#5fb8ec}.tc-water-use{background:#c8efff;animation:1s ease-in-out infinite useBlink}@keyframes useBlink{50%{opacity:.45}}.btn-clean.flush{color:#fff;background:#2f7fae}.btn-clean:disabled{color:#ffffffb3;box-shadow:none;cursor:default;background:#3c4044e6}.tc-ico{place-items:center;display:inline-grid}.tc-ico svg{width:1.2em;height:1.2em}.toilet-choice.strict{border-color:#ff8a7a99}.bond-row{margin-top:3px}.bond-row>span{white-space:nowrap}.bond-row .bond-lv{color:var(--accent);font-variant-numeric:tabular-nums;font-style:normal;font-weight:700}#ui:not([data-mode=walk]) .celebrate{display:none}.meter b.bar-bond{background:var(--accent)}.celebrate{left:50%;top:calc(max(var(--pad), env(safe-area-inset-top)) + var(--u) * 7.4);opacity:0;pointer-events:none;z-index:31;padding:calc(var(--u) * .6) calc(var(--u) * 1.3);border-radius:calc(var(--u) * .7);color:#3b2508;text-align:center;white-space:pre-line;font-size:calc(var(--u) * .84);letter-spacing:.03em;background:linear-gradient(135deg,#ffd98a,#f4a93d);font-weight:800;line-height:1.5;transition:opacity .3s,transform .3s;position:absolute;transform:translate(-50%,-8px)scale(.96);box-shadow:0 8px 28px #00000059}.celebrate.show{opacity:1;transform:translate(-50%)scale(1)}.c-bond{margin:calc(var(--u) * .7) 0 0;color:var(--accent);font-weight:700;font-size:calc(var(--u) * .85)}.c-rewards{margin:calc(var(--u) * .3) 0 0;font-size:calc(var(--u) * .76);padding:0;line-height:1.6;list-style:none}.c-rewards:empty{display:none}.trick-wrap{display:flex;position:relative}.btn-trick{width:calc(var(--u) * 3.3);height:calc(var(--u) * 3.3)}.btn-trick svg{width:calc(var(--u) * 1.2);height:calc(var(--u) * 1.2)}.trick-menu{right:0;bottom:calc(100% + var(--u) * .5);gap:calc(var(--u) * .3);min-width:calc(var(--u) * 7);padding:calc(var(--u) * .45);border-radius:calc(var(--u) * .8);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;transform:translateY(8px)}.trick-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.trick-opt{justify-content:space-between;align-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * .5) calc(var(--u) * .7);border-radius:calc(var(--u) * .55);cursor:pointer;pointer-events:auto;text-align:left;font-size:calc(var(--u) * .8);background:#ffffff14;border:0;display:flex}.trick-opt:active{transform:scale(.96)}.trick-opt .trick-lock{font-size:calc(var(--u) * .62);color:var(--ink-dim);display:none}.trick-opt.locked{opacity:.45;cursor:default}.trick-opt.locked .trick-lock{display:inline}.btn-finish{left:50%;bottom:calc(max(var(--pad), env(safe-area-inset-bottom)) + var(--u) * 5.2);white-space:nowrap;align-items:center;gap:8px;animation:.5s both finishIn;display:inline-flex;position:absolute;transform:translate(-50%)}.btn-finish svg{width:1.2em;height:1.2em}.btn-finish:active{transform:translate(-50%)scale(.94)}@keyframes finishIn{0%{opacity:0;transform:translate(-50%,12px)}}#ui.talking .btn-finish{opacity:0;pointer-events:none}@media (orientation:landscape){.btn-finish{left:38%;bottom:max(var(--pad), env(safe-area-inset-bottom))}}.toast{white-space:pre-line;text-wrap:balance}#ui.shooting .hud-top-left,#ui.shooting .hud-top-right,#ui.shooting .urge-bubble,#ui.shooting .btn-trick,#ui.shooting .btn-ball,#ui.shooting .trick-menu,#ui.shooting .toast{opacity:0;pointer-events:none}#ui.shooting .hud-top-left *,#ui.shooting .hud-top-right *{pointer-events:none!important}.photo-caption small{margin-top:calc(var(--u) * .35);letter-spacing:.04em;font-size:.6em;font-weight:600;display:block}.photo-caption{white-space:pre-line;text-wrap:balance;padding:0 calc(var(--u) * 1.5);line-height:1.35}.title-links{justify-content:center;gap:0 calc(var(--u) * 1.1);margin-top:calc(var(--u) * .3);flex-wrap:wrap;display:flex}.title-links .text-btn{margin:calc(var(--u) * .4) 0 0;font-size:calc(var(--u) * .72)}.title-links a.text-btn{display:inline-block}.install-screen{z-index:40}.install-screen.hidden{display:none}.install-panel p.help{font-size:calc(var(--u) * .86);line-height:1.7}.install-panel .install-note{font-size:calc(var(--u) * .72)}.embedded #app:has(#ui[data-mode=title]){touch-action:pan-y}html.embedded,html.embedded body{overscroll-behavior:auto}.title-lang{top:max(var(--pad), env(safe-area-inset-top));right:var(--pad);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:1s both rise;position:absolute}.title-lang .seg-btn{padding:calc(var(--u) * .35) calc(var(--u) * .8);font-size:calc(var(--u) * .72);font-weight:700}
