:root{--paws:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23000'%3E%3Cg transform='translate(26 30) rotate(-14)'%3E%3Cellipse cx='0' cy='6' rx='8' ry='6.5'/%3E%3Ccircle cx='-8' cy='-4' r='3.2'/%3E%3Ccircle cx='-2.8' cy='-8.5' r='3.2'/%3E%3Ccircle cx='3' cy='-8.5' r='3.2'/%3E%3Ccircle cx='8.2' cy='-4' r='3.2'/%3E%3C/g%3E%3Cg transform='translate(88 86) rotate(16)'%3E%3Cellipse cx='0' cy='6' rx='8' ry='6.5'/%3E%3Ccircle cx='-8' cy='-4' r='3.2'/%3E%3Ccircle cx='-2.8' cy='-8.5' r='3.2'/%3E%3Ccircle cx='3' cy='-8.5' r='3.2'/%3E%3Ccircle cx='8.2' cy='-4' r='3.2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ink:#7a4a2a;--edge:#ffdb87;--ground:#ffd479;--cat-height:128px;--frame:#ffdb87;--frame-shadow:#efbd55;--tab-idle:#f6dc9c;--btn-shadow:#ecd6ad;--ground-top:#ffd479;--ground-bottom:#ffbf4a;--cat-shadow:#aa640a40}:root,html[data-theme=strawberry]{--page-bg:#fdf1e4;--paw:#e5cdb2;--cell-empty:#f4d6df;--cell-filled:#f2aeca;--trail:#af326a;--tab-passed:#f2aeca}html[data-theme=strawberry]{--tab-passed:#af326a;--frame:#f2b772;--frame-shadow:#d19853;--tab-idle:#f8d8b4;--btn-shadow:#ecd1b3;--ground-top:#fdd7ac;--ground-bottom:#f1c189;--cat-shadow:#50691e40}html[data-theme=mint]{--page-bg:#faf3e3;--paw:#ddd0b0;--cell-empty:#d0ebdf;--cell-filled:#95d7c3;--trail:#207568;--tab-passed:#207568;--frame:#f5ce6c;--frame-shadow:#d4ae4a;--tab-idle:#efdcb1;--btn-shadow:#e4d5b1;--ground-top:#f1dca9;--ground-bottom:#e3c885;--cat-shadow:#963c4638}html[data-theme=lavender]{--page-bg:#feeff4;--paw:#eac5d2;--cell-empty:#e5d9f2;--cell-filled:#c8afe9;--trail:#734aac;--tab-passed:#734aac;--frame:#f2a3c1;--frame-shadow:#d084a1;--tab-idle:#ffcee0;--btn-shadow:#f2c9d7;--ground-top:#ffcbe0;--ground-bottom:#fab2cd;--cat-shadow:#aa640a40}html[data-theme=sky]{--page-bg:#faf3e3;--paw:#ddd0b0;--cell-empty:#d2e6f2;--cell-filled:#9ecfec;--trail:#2a709c;--tab-passed:#2a709c;--frame:#f5ce6c;--frame-shadow:#d4ae4a;--tab-idle:#efdcb1;--btn-shadow:#e4d5b1;--ground-top:#f1dca9;--ground-bottom:#e3c885;--cat-shadow:#aa5a1e40}html[data-theme] body{background:var(--page-bg)}html[data-theme] body:before{background:var(--paw)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;color:var(--ink);margin:0;font-family:ui-rounded,Hiragino Maru Gothic ProN,SF Pro Rounded,system-ui,sans-serif}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#fdf3d8,#fff8e8) fixed;overflow-x:clip}body:before{content:"";pointer-events:none;opacity:.2;-webkit-mask:var(--paws) 0 0 / 120px 120px repeat;mask:var(--paws) 0 0 / 120px 120px repeat;-webkit-mask:var(--paws) 0 0 / 120px 120px repeat;background:#e3b25c;position:fixed;inset:0}#app{z-index:1;min-height:100dvh;padding:env(safe-area-inset-top) 16px 0;justify-content:center;display:flex;position:relative}main{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;padding:18px 0 28px;display:flex}h1,h2,p{margin:0}h1{letter-spacing:2px;font-size:40px}h2{font-size:20px}.home{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);justify-content:center;gap:16px}.logo{flex-direction:column;align-items:center;gap:6px;display:flex}.logo-art{align-items:center;display:flex}.logo-face{width:118px}.logo-house{width:110px}.logo-heart{fill:#d4417e;width:26px;height:26px;margin-bottom:14px}.home h1{text-shadow:0 3px #ffdb87}.tentative{background:#fff;border-radius:999px;padding:2px 10px;font-size:12px;box-shadow:0 2px #ecd6ad}.tagline{text-wrap:balance;background:#fff;border-radius:999px;padding:4px 14px;box-shadow:0 2px #ecd6ad}.tagline,.rules{text-align:center;font-size:15px;line-height:1.5}.streak{margin:4px 0}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn{color:var(--ink);box-shadow:0 4px 0 var(--btn-shadow),0 8px 16px #96641e1f;cursor:pointer;background:#fff;border:none;border-radius:20px;min-width:44px;min-height:44px;padding:12px 18px;font:700 16px inherit}.btn:active{box-shadow:0 1px 0 var(--btn-shadow);transform:translateY(2px)}.btn:disabled{cursor:default;opacity:.65}.btn:focus-visible{outline-offset:3px;outline:3px solid #6a4fc9}.btn.primary{background:linear-gradient(#ffd56b,#ffbf3c);box-shadow:0 5px #e09a1a,inset 0 2px #ffffff80,0 8px 16px #96641e2e}html[data-theme] .btn.primary{background:linear-gradient(color-mix(in srgb,var(--frame) 70%,#fff),var(--frame));box-shadow:0 5px 0 var(--frame-shadow),inset 0 2px 0 #ffffff80,0 8px 16px #96641e2e}html[data-theme=strawberry] .btn.primary,html[data-theme=lavender] .btn.primary{color:#6b4028}.btn.big{width:100%;max-width:320px;padding:16px;font-size:20px}.btn.small{padding:8px 14px;font-size:14px}.btn.round{border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.icon{fill:none;width:22px;height:22px;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}.top{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;width:100%;display:grid}.top h2{white-space:nowrap;justify-self:center}.play .top h2{font-size:26px}.play{justify-content:flex-start;gap:12px;max-width:420px;min-height:100dvh;padding-bottom:0}.play>.top{margin-bottom:auto}.play>.ad-reservation{margin-top:auto}.board-wrap{background:var(--frame);box-shadow:0 5px 0 var(--frame-shadow),0 12px 24px #96641e29;width:clamp(var(--board-min),calc(100dvh - 245px),100%);max-width:100%;margin-top:var(--tab-space,68px);border:none;border-radius:24px;flex:none;padding:clamp(9px,2.8vw,11px);position:relative}.progress-tab{background:var(--frame);border-radius:16px 16px 0 0;gap:4px;padding:4px 12px 2px;display:grid;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.progress-tab:before,.progress-tab:after{content:"";background:var(--frame);clip-path:polygon(50% 0,100% 100%,0 100%);width:18px;height:16px;position:absolute;top:-9px}.progress-tab:before{left:10px;transform:rotate(-14deg)}.progress-tab:after{right:10px;transform:rotate(14deg)}.tab-item{background:var(--tab-idle);color:#7a4a2a;text-align:center;border-radius:7px;width:24px;height:24px;font-size:12px;font-weight:800;line-height:24px;transition:background-color 80ms;position:relative}.tab-item.passed{color:#fff;background:var(--tab-passed);box-shadow:0 2px #7846142e}.tab-item img{object-fit:contain;width:24px;height:24px}.passed-check{fill:none;stroke:#4a2d1b;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;background:#fdf3d8;border-radius:50%;width:12px;height:12px;display:none;position:absolute;bottom:-2px;right:-3px}.passed .passed-check{display:block}.board{touch-action:none;width:100%;height:auto;animation:.12s linear board-in;display:block}.board .frame{fill:#fffdf6}.board .cell,.board .cell-lip{transition:fill 80ms}.board .cell{fill:var(--cell-empty)}.board .cell.filled{fill:var(--cell-filled)}.board .cell-lip{fill:color-mix(in srgb,var(--cell-empty) 80%,#8a5a2a)}.board .cell-lip.filled{fill:color-mix(in srgb,var(--cell-filled) 80%,#8a5a2a)}.board .trail-rim{stroke:#fff}.board .trail{stroke:var(--trail)}.board.instant-color .cell,.board.instant-color .cell-lip{transition:none}.board .cell-shine{opacity:.18;pointer-events:none}.board .wall{stroke:#7a4a2a;stroke-width:11px;stroke-linecap:round}.board .pieces,.board .signs,.board .clear-shine,.board .clear-heart,.board .number-spark{pointer-events:none}.board .num-dot{fill:#7a4a2a;stroke:#fff;stroke-width:5px}.board .num-text{text-anchor:middle;dominant-baseline:central;fill:#fff;font-family:Arial Rounded MT Bold,Hiragino Maru Gothic ProN,system-ui,sans-serif;font-size:34px;font-weight:800}.board .marker-text{fill:#5b3a2e;font-size:40px}.board .marker-text.two{font-size:34px}.tools{gap:8px;width:100%;display:flex}.btn.tool{flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 6px 9px;font-size:13px;display:flex}.cat-ground{width:calc(100% + 32px);height:calc(var(--cat-height) + 24px);pointer-events:none;flex:none;margin-top:auto;position:relative;overflow:visible}.cat-ground:before{content:"";background:linear-gradient(var(--ground-top),var(--ground-bottom));border-radius:50% 50% 0 0/30px 30px 0 0;height:80px;position:absolute;bottom:0;left:0;right:0}.cat-shadow{left:var(--cat-x,72%);background:radial-gradient(ellipse,var(--cat-shadow) 0%,var(--cat-shadow) 45%,transparent 72%);border-radius:50%;width:76px;height:14px;position:absolute;top:calc(100% - 20px);transform:translate(-50%,-50%)}.whole-cat{height:var(--cat-height);width:calc(var(--cat-height) * var(--ratio,.531));left:var(--cat-x,72%);transform:translate(calc(-1 * var(--foot-x,50%)),calc(-1 * var(--foot-y,100%)));position:absolute;top:calc(100% - 20px)}.cat-out{opacity:0;transition:opacity 80ms}.ad-reservation{width:calc(100% + 32px);height:calc(50px + env(safe-area-inset-bottom));color:#6d6760;text-align:center;letter-spacing:2px;padding-bottom:env(safe-area-inset-bottom);background:#d9d4cc;flex:none;font-size:13px;line-height:50px}.overlay{z-index:10;padding:16px;padding-bottom:calc(66px + env(safe-area-inset-bottom));background:#5a371e2e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.card{border:3px solid var(--frame);text-align:center;background:#fdf3d8;border-radius:28px;flex-direction:column;flex:none;gap:12px;width:100%;max-width:360px;padding:22px;display:flex;box-shadow:0 12px 32px #96641e38}.card p{white-space:pre-line;line-height:1.6}.solved-card{position:relative;overflow:hidden}.result-ground .whole-cat{animation:.12s linear result-in}.result-title{background:var(--frame);color:#7a4a2a;white-space:nowrap;z-index:1;border-radius:12px;padding:6px 2px;font-size:30px}.result-subtitle{z-index:1;font-size:14px}.result-time{font-variant-numeric:tabular-nums;font-size:18px}.result-ground{--cat-height:168px;--cat-x:50%;width:calc(100% + 44px);margin:0 -22px}.result-ground:before{background:var(--ground-top)}.solved-card .row{z-index:1}.solved-card .row .btn{min-width:112px;padding:12px 18px;font-size:17px}.card-note{font-size:14px}.streak-pill{font-size:18px;font-weight:800}.result-confetti{pointer-events:none;height:42%;position:absolute;top:12px;left:0;right:0;overflow:hidden}.result-confetti i{left:var(--x);width:5px;height:9px;animation:confetti-fall 1.13s var(--delay) linear both;border-radius:1px;position:absolute;top:0}.card-icon{fill:none;stroke:#7a4a2a;stroke-width:2px;width:40px;height:40px;margin:auto}.chapters{flex-direction:column;gap:8px;width:100%;display:flex}.btn.chapter{grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;width:100%;padding:14px 16px;display:grid}.ch-name{font-weight:800}.ch-size{background:#ffdb87;border-radius:999px;padding:2px 9px;font-size:13px}.ch-bar{background:#f6dc9c;border-radius:999px;height:8px;overflow:hidden}.ch-fill{background:linear-gradient(90deg,#ffd56b,#ffbf3c);border-radius:999px;height:100%;display:block}.ch-count{font-variant-numeric:tabular-nums;font-size:13px}.btn.locked{opacity:.5}.setting{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.setting>span{white-space:nowrap}.motion-setting{flex-wrap:wrap}.motion-setting .row{justify-content:flex-start}@keyframes board-in{0%{opacity:0}to{opacity:1}}@keyframes result-in{0%{opacity:0}to{opacity:1}}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(-30deg)}to{transform:translate(var(--drift),100px) rotate(150deg);opacity:0}}@media (width<=360px){#app{padding-left:10px;padding-right:10px}.cat-ground,.ad-reservation{width:calc(100% + 20px)}.result-ground{width:calc(100% + 44px)}.play .top h2{font-size:24px}}@media (height<=740px){:root{--cat-height:96px}.play{gap:8px;padding-top:8px}.result-ground{--cat-height:128px}.card{gap:8px;padding-top:16px;padding-bottom:16px}.result-title{font-size:26px}}.bridge-end{fill:var(--trail);stroke:#fff1d6;stroke-width:4px}.bridge-direction{fill:none;stroke:#fff1d6;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.bridge-save-status{text-align:center;color:#8b273c;background:var(--page-bg);margin:0 0 64px;font-size:13px;position:absolute;bottom:100%;left:0;right:0}.bridge-save-status:empty{display:none}.bridge-practice{text-align:center;grid-column:1/-1;margin:0;font-size:14px}.bridge-toast{z-index:12;white-space:nowrap;background:#fff1d6;border:2px solid #d9a35c;border-radius:18px;padding:10px 18px;font-weight:700;position:fixed;top:18%;left:50%;transform:translate(-50%)}.bridge-explanation .card{gap:8px;max-width:360px}.bridge-explanation p{text-align:center;margin:0;font-size:15px}.bridge-demo{flex-shrink:0;width:min(100%,240px)}.bridge-demo .cell{fill:var(--cell-empty)}.demo-vertical,.demo-horizontal,.demo-stop{stroke:var(--trail);stroke-width:24px;stroke-linecap:round;fill:none;opacity:0}.demo-mark{fill:none;stroke:#d9a35c;stroke-width:5px;stroke-dasharray:8 5}.demo-block{fill:none;stroke:#a02d46;stroke-width:8px;stroke-linecap:round;opacity:0}.bridge-explanation[data-step="1"] .demo-vertical,.bridge-explanation[data-step="2"] .demo-vertical,.bridge-explanation[data-step="2"] .demo-horizontal{opacity:1}.bridge-explanation[data-step="1"] .demo-vertical,.bridge-explanation[data-step="2"] .demo-horizontal{stroke-dasharray:200;animation:.8s linear both bridge-demo-draw}.bridge-explanation[data-step="3"] .demo-vertical,.bridge-explanation[data-step="3"] .demo-horizontal{opacity:.25}.bridge-explanation[data-step="3"] .demo-stop,.bridge-explanation[data-step="3"] .demo-block{opacity:1}.bridge-explanation:not([data-step="0"]) .demo-mark{display:none}.bridge-explanation[data-reduce=true] .bridge-demo path,html[data-motion=reduce] .bridge-demo path{animation:none}.bridge-rule-note{font-weight:700}@keyframes bridge-demo-draw{0%{stroke-dashoffset:200px}to{stroke-dashoffset:0}}html[data-motion=reduce] .board,html[data-motion=reduce] .whole-cat,html[data-motion=reduce] .cat-out{transition:none;animation:none}html[data-motion=reduce] .cell,html[data-motion=reduce] .cell-lip,html[data-motion=reduce] .tab-item,.progress-tab.instant-color .tab-item{transition:none}.fx-play{gap:12px;padding-top:78px}.fx-play>.top{margin-bottom:16px}.fx-board{--tab-space:0px;width:100%;min-width:0;margin-top:0}.fx-status{color:#854c35;min-height:18px;margin:0;font-size:13px}.fx-result-host{width:100%}.fx-result{text-align:center;width:100%;padding:10px 0}.fx-result-title{margin:0 0 8px;font-size:25px}.fx-days{color:#754d36;margin:8px 0 12px;font-size:17px;font-weight:700}.fx-result .row{justify-content:center}.fx-daily-done{color:#754d36;margin:0 0 12px;font-size:14px}.fx-home{gap:8px;padding-top:80px}.fx-home h1{font-size:28px}.fx-word{text-align:center;pointer-events:none;z-index:14;margin:0;line-height:1.25;position:absolute;top:26%;left:0;right:0}.fx-ring{stroke:#efb544;pointer-events:none}.fx-light{stroke:#ffe7a0;pointer-events:none}.fx-path,.fx-wave-ring{fill:none}.fx-confetti-layer{pointer-events:none;z-index:12;position:fixed;inset:0;overflow:hidden}.fx-confetti{border:1px solid #75492c29;width:10px;height:17px;position:absolute;top:0;left:0}.fx-confetti-round{border-radius:50%;width:10px;height:10px}.fx-celebration{text-align:center;pointer-events:none;z-index:14;width:calc(100% - 24px);font-size:40px;line-height:1.25;position:fixed;left:12px}.fx-day-number{color:#754d36;transform-origin:50%;display:inline-block}.fx-static-complete{outline:3px solid var(--trail)}@media (height<=740px){.fx-play{gap:6px;padding-top:64px}.fx-play>.top{margin-bottom:6px}.fx-result-title{font-size:21px}.fx-result{padding:0}}.fx-word,.fx-celebration,.fx-result-title{color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:6px #fff;paint-order:stroke fill;filter:drop-shadow(0 4px #75492c);font-family:Arial Rounded MT Bold,ui-rounded,Hiragino Maru Gothic ProN,system-ui,sans-serif;font-weight:900;rotate:-4deg}html{--fx-word-top:#ff5c95;--fx-word-bottom:#ff9a1f}.fx-day-label{font-size:12px;font-weight:500;line-height:1.4;display:block}.fx-day-value{font-size:28px;line-height:1.15;display:block}.fx-result-title{position:relative}.fx-word:after,.fx-celebration:after,.fx-result-title:after{content:attr(data-word);pointer-events:none;background:linear-gradient(180deg,var(--fx-word-top,#ff91b8),var(--fx-word-bottom,#ffd46d));color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.g10-play{padding-top:calc(8px + env(safe-area-inset-top));gap:10px;min-height:100dvh}.g10-play>.top{margin-bottom:0}.g10-play .top .btn.round{background:color-mix(in srgb,var(--frame) 30%,#fff)}.g10-title{font-size:24px!important}.lesson{background:color-mix(in srgb,var(--frame) 38%,var(--page-bg));width:100%;box-shadow:0 3px 0 var(--frame-shadow);border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.lesson p{text-wrap:balance;font-size:15px;font-weight:700;line-height:1.4}.lesson-face{flex:none;width:40px;height:40px}.g10-ad{margin-top:auto}.tool{position:relative}.hint-count{color:#fff;text-align:center;background:#ff5c93;border:2px solid #fff;border-radius:12px;min-width:24px;height:24px;padding:0 6px;font-size:14px;font-weight:800;line-height:20px;position:absolute;top:-6px;right:-6px}.hint-count.ad{background:#7bbf5a;font-size:11px}.g10-spacer{flex:1 1 0;min-height:0}.ui-now .tools{justify-content:flex-start;gap:8px}.ui-now .btn.tool{background:#fff;border-radius:18px;flex:none;min-height:36px;padding:8px 14px;font-size:13px}.ui-now .tool .icon,.ui-now .hint-count{display:none}.ui-a .board-wrap{margin-top:auto}.ui-a .tools{justify-content:space-evenly;gap:0;margin-bottom:26px;padding:0 8px 6px}.ui-a .btn.tool{background:color-mix(in srgb,var(--frame) 45%,#fff);width:68px;height:68px;min-height:0;box-shadow:0 5px 0 var(--frame-shadow),0 8px 14px #96641e29;border-radius:50%;flex:none;justify-content:center;gap:0;padding:0}.ui-a .tool .icon{stroke-width:2.6px;width:30px;height:30px}.ui-a .tool-label{white-space:nowrap;font-size:13px;font-weight:800;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.ui-a .btn.tool-hint{background:linear-gradient(#ffe08a,#ffbf3c);width:80px;height:80px;box-shadow:0 6px #e09a1a,inset 0 2px #fff9,0 8px 16px #96641e33}.ui-a .tool-hint .icon{width:36px;height:36px}.ui-b>.top+*,.ui-c>.top+*{margin-top:auto}.ui-b .tools,.ui-c .tools{gap:10px}.ui-b .btn.tool,.ui-c .btn.tool{background:color-mix(in srgb,var(--frame) 45%,#fff);min-height:64px;box-shadow:0 4px 0 var(--frame-shadow),0 8px 14px #96641e24;border-radius:18px;flex:1;justify-content:center;gap:2px;padding:8px 4px;font-size:14px}.ui-b .tool .icon,.ui-c .tool .icon{stroke-width:2.6px;width:26px;height:26px}.ui-b .btn.tool-hint,.ui-c .btn.tool-hint{background:linear-gradient(#ffe08a,#ffbf3c);box-shadow:0 4px #e09a1a,inset 0 2px #fff9}.ui-b .hint-count,.ui-c .hint-count{color:#a0441c;background:0 0;border:none;min-width:0;height:auto;padding:0;font-size:12px;line-height:1.2;position:static}.ui-b .tools{grid-auto-columns:1fr;grid-auto-flow:column;gap:18px;width:max-content;max-width:100%;margin:32px auto 0;display:grid}.ui-b .btn.tool{white-space:nowrap;border-radius:16px;flex:none;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0 4px;width:auto;min-width:92px;min-height:48px;padding:6px 10px;font-size:12.5px;display:grid}.ui-b .tool .icon{grid-row:1/span 2;width:20px;height:20px}.ui-b .tool-label{grid-column:2}.ui-b .tool:not(.tool-hint) .tool-label{grid-row:1/span 2}.ui-b .hint-count{grid-column:2;font-size:11px;line-height:1.1}@media (width<=359px){.ui-b .tools{gap:10px}.ui-b .tool .icon{display:none}.ui-b .btn.tool{min-width:0;padding:6px 10px}}.walk-lane{flex:none;width:100%;height:74px;position:relative;overflow:visible}.walk-ground{background:color-mix(in srgb,var(--frame) 70%,#fff);height:16px;box-shadow:inset 0 -3px 0 var(--frame-shadow);border-radius:8px;position:absolute;bottom:4px;left:0;right:0}.walk-house{transform-origin:50% 100%;width:58px;position:absolute;bottom:10px;right:0}.walker{background-repeat:no-repeat;position:absolute;bottom:6px;left:0}.walker-shadow{background:radial-gradient(closest-side,#462d1459,#462d1400);border-radius:50%;width:52px;height:9px;position:absolute;bottom:4px;left:0}.walk-heart{opacity:0;pointer-events:none;width:22px;height:22px;position:absolute;top:-6px}.g10-home{padding-top:calc(40px + env(safe-area-inset-top));justify-content:flex-start;gap:12px;position:relative}.g10-gear{top:calc(12px + env(safe-area-inset-top));position:absolute;right:0}.g10-home .fx-days{text-align:center;margin:0}.btn.g10-start{justify-content:center;align-items:center;gap:8px;padding:18px;font-size:22px;display:flex}.play-icon{stroke:none;fill:currentColor;width:22px;height:22px}.g10-stages{grid-template-columns:repeat(5,52px);justify-content:center;gap:10px;display:grid}.g10-stage{width:52px;height:52px;color:var(--ink);box-shadow:0 4px 0 var(--btn-shadow);background:#fff;border:none;border-radius:16px;font-family:inherit;font-size:20px;font-weight:800}.g10-stage.done{background:linear-gradient(#ffd56b,#ffbf3c);box-shadow:0 4px #e09a1a}.g10-stage.locked{opacity:.45}.g10-home .logo,.g10-home .cat-ground{margin-top:auto}.g10-play{position:relative}.g10-play .fx-result-host{left:0;right:0;bottom:calc(70px + env(safe-area-inset-bottom));z-index:5;position:absolute}.g10-play.solved .tools{visibility:hidden}.g10-result-row{flex-wrap:nowrap;align-items:center;gap:16px}.g10-result-row .fx-days{margin:0}.btn.g10-next{border-radius:20px;min-height:56px;padding:14px 22px;font-size:18px}.g10-daily{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100dvh;padding:24px 16px;display:flex}.g10-daily-title{color:#754d36;margin:0 0 10px;font-size:22px}.g10-daily-paw{filter:drop-shadow(0 8px 14px #96641e33);width:150px;height:auto}.g10-daily-value{color:#e8892a;margin:10px 0 0;font-weight:900;line-height:1}.g10-daily-number{transform-origin:50% 70%;font-size:84px;display:inline-block}.g10-daily-unit{margin-left:6px;font-size:34px;font-weight:800}.g10-daily-go{min-width:220px;margin-top:28px}.g10-party{z-index:30;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.party-shade{background:radial-gradient(circle at 50% 38%,#5c3a18c7,#261608e6);position:absolute;inset:0}.party-sky{pointer-events:none;position:absolute;inset:0;overflow:hidden}.party-card{width:100%;padding:0 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.party-rays{pointer-events:none;background:repeating-conic-gradient(#ffe28c61 0deg 10deg,#ffe28c00 10deg 24deg);border-radius:50%;width:560px;height:560px;margin:-280px 0 0 -280px;position:absolute;top:110px;left:50%;-webkit-mask:radial-gradient(circle,#000 18%,#0000 68%);mask:radial-gradient(circle,#000 18%,#0000 68%)}.party-cat{filter:drop-shadow(0 0 22px #ffd66ebf);width:150px;height:260px;position:relative}.party-cat canvas{width:100%;height:100%}.party-ribbon{background:linear-gradient(#ffb54d,#f08a24);border-radius:14px;margin-top:-18px;padding:12px 44px 14px;position:relative;box-shadow:0 6px #c4621a,0 12px 24px #0000004d}.party-ribbon:before,.party-ribbon:after{content:"";z-index:-1;background:#d9701d;width:34px;height:100%;position:absolute;top:14px}.party-ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%);left:-22px}.party-ribbon:after{clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%);right:-22px}.g10-party .party-title{color:#fff;-webkit-text-stroke:0;text-shadow:0 3px #b5521a,0 0 18px #fff0b499;margin:0;font-size:44px;line-height:1.05}.g10-party .party-title:after{display:none}.party-sub{color:#fff3d6;text-shadow:0 2px 6px #0006;margin:4px 0 0;font-size:18px;font-weight:800}.party-row{margin-top:18px}.g10-party .btn.g10-next{min-width:240px;min-height:60px;font-size:20px}.party-confetti{border-radius:2px;position:absolute;top:0}.party-spark{border-radius:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;position:absolute;box-shadow:0 0 10px 2px #fff0bed9}@media (height<=700px){.party-cat{width:110px;height:190px}.party-rays{top:80px}}@media (width>=600px){#app{padding-left:24px;padding-right:24px}.g10-play{--col:min(70vw, calc(100dvh - 436px));gap:14px;max-width:none}.g10-play>.top{grid-template-columns:56px 1fr 56px}.g10-play .top .btn.round{border-radius:18px;width:56px;height:56px}.g10-play .top .icon{width:28px;height:28px}.g10-title{font-size:30px!important}.g10-play .walk-lane,.g10-play .lesson{width:var(--col);min-width:min(100%,440px)}.g10-play .lesson p{font-size:17px}.g10-play .board-wrap{width:var(--col);min-width:var(--board-min);border-radius:30px;padding:14px}.g10-play.ui-b .tools{gap:24px}.g10-play.ui-b .btn.tool{border-radius:18px;min-width:120px;min-height:56px;font-size:15px}.g10-play.ui-b .tool .icon{width:24px;height:24px}.g10-play.ui-b .hint-count{font-size:13px}.g10-play>.ad-reservation,.g10-home .cat-ground,.g10-home .ad-reservation{width:calc(100% + 48px)}.g10-home{gap:16px;max-width:none}.g10-home .logo-face{width:150px}.g10-home .logo-house{width:140px}.g10-home h1{font-size:52px}.g10-home .tagline{font-size:18px}.g10-home .btn.g10-start{max-width:420px;padding:22px;font-size:26px}.g10-stages{grid-template-columns:repeat(5,68px);gap:14px}.g10-stage{border-radius:20px;width:68px;height:68px;font-size:24px}.g10-gear{right:0}}@media (width>=600px) and (height<=800px){.g10-play:has(>.lesson){--col:min(70vw, calc(100dvh - 444px))}}html[data-home=a]{--home-top:#ffd9e6;--home-bottom:#fff3e4;--home-paw:#ffc2d6;--home-ink:#8a3b5c;--home-l1:#ff6f9f;--home-l2:#ff9a6b;--home-btn-top:#ff9dbd;--home-btn-bottom:#ff78a6;--home-btn-shadow:#d9517f;--home-chip-top:#ffc9dc;--home-chip-bottom:#ffa9c6;--home-chip-shadow:#e889aa;--home-h0:#ff8fb3;--home-h1:#ffb4a0;--home-h2:#fff;--ground-top:#ffc4d8;--ground-bottom:#ffa6c4;--btn-shadow:#f3c3d3}html[data-home=b]{--home-top:#e6dcfb;--home-bottom:#fdf0f6;--home-paw:#d3c4f3;--home-ink:#5d478f;--home-l1:#9a78e0;--home-l2:#f07fae;--home-btn-top:#b79cf0;--home-btn-bottom:#9a7be6;--home-btn-shadow:#7658c4;--home-chip-top:#dccdfa;--home-chip-bottom:#c3adf3;--home-chip-shadow:#a48ee0;--home-h0:#c3a8f5;--home-h1:#ffa9cb;--home-h2:#fff;--ground-top:#d9c8fa;--ground-bottom:#c0a9f2;--btn-shadow:#d6c8f1}html[data-home] body{background:linear-gradient(var(--home-top),var(--home-bottom) 62%);background-attachment:fixed}html[data-home] body:before{background:var(--home-paw);opacity:.55}html[data-home] .g10-home{color:var(--home-ink)}.home-hearts{pointer-events:none;position:absolute;inset:0 -16px;overflow:hidden}.home-heart{left:var(--x);width:26px;height:26px;fill:var(--home-h0);opacity:0;transform:scale(var(--s));animation:11s linear infinite home-heart;animation-delay:var(--d);position:absolute;bottom:-40px}.home-heart[data-tone="1"]{fill:var(--home-h1)}.home-heart[data-tone="2"]{fill:var(--home-h2)}@keyframes home-heart{0%{opacity:0;translate:0}10%{opacity:.85}50%{translate:14px -48dvh}85%{opacity:.7}to{opacity:0;translate:-10px -100dvh}}html[data-home] .g10-home>:not(.home-hearts){position:relative}html[data-home] .g10-home .g10-gear{position:absolute}html[data-home] .logo-art{gap:2px}html[data-home] .logo-heart{width:34px;height:34px;fill:var(--home-l1);filter:drop-shadow(0 2px #fff);margin:0 -4px 18px;animation:1.6s ease-in-out infinite home-beat}@keyframes home-beat{0%,to{scale:1}20%{scale:1.28}40%{scale:1}55%{scale:1.16}70%{scale:1}}html[data-home] .g10-home h1{letter-spacing:0;text-shadow:none;gap:7px;font-weight:900;display:flex}.logo-letter{color:var(--home-l1);-webkit-text-stroke:7px #fff;paint-order:stroke fill;filter:drop-shadow(0 4px 0 var(--home-btn-shadow)) drop-shadow(0 8px 10px #a03c642e);animation:2.8s ease-in-out infinite home-hop;animation-delay:calc(var(--k) * .12s);rotate:calc((var(--k) - 2) * 2.5deg);display:inline-block}.logo-letter:nth-child(2n){color:var(--home-l2)}@keyframes home-hop{0%,60%,to{translate:0}12%{translate:0 -9px}24%{translate:0}}html[data-home] .tentative,html[data-home] .tagline{box-shadow:0 2px 0 var(--btn-shadow);color:var(--home-ink)}html[data-home] .btn.g10-start{background:linear-gradient(var(--home-btn-top),var(--home-btn-bottom));color:#fff;box-shadow:0 6px 0 var(--home-btn-shadow), 0 12px 18px #c8467838;text-shadow:0 2px 0 var(--home-btn-shadow);border-radius:999px;animation:2.4s ease-in-out infinite home-pulse}@keyframes home-pulse{0%,to{scale:1}50%{scale:1.035}}html[data-home] .g10-stage{color:var(--home-ink);border-radius:50%}html[data-home] .g10-stage.done{background:linear-gradient(var(--home-chip-top),var(--home-chip-bottom));box-shadow:0 4px 0 var(--home-chip-shadow);color:#fff;text-shadow:0 1px 0 var(--home-chip-shadow)}html[data-home] .g10-gear{box-shadow:0 4px 0 var(--btn-shadow)}@media (prefers-reduced-motion:reduce){.home-heart{opacity:.6;bottom:auto;top:calc(var(--s) * 60%);animation:none}.logo-letter,html[data-home] .logo-heart,html[data-home] .btn.g10-start{animation:none}}.btn.g10-mapbtn{width:auto;min-height:48px;color:var(--home-ink,#754d36);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0;padding:10px 18px;font-size:17px;display:flex}.g10-map{--w:min(100vw, max(75dvh, 560px), 1024px);--u:clamp(1px, calc(var(--w) / 390), 1.5px);--map-head-height:calc(84 * var(--u) + env(safe-area-inset-top));--home-note-height:calc(26 * var(--u));--home-height:min(calc(150 * var(--u)),22dvh,calc(var(--w) * .49));background:repeating-linear-gradient(115deg,#f6c3d6 0 22px,#f2b9cf 22px 44px);max-width:none;padding:0;display:block;position:fixed;inset:0}.map-scroll{inset:calc(var(--map-head-height) + var(--home-height)) 0 calc(106 * var(--u) + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:absolute;overflow-y:auto}.home-band{top:var(--map-head-height);width:var(--w);height:var(--home-height);z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f8d3d9;border:0;margin:0;padding:0;position:absolute;left:50%;overflow:hidden;translate:-50%}.home-next{width:100%;height:var(--home-note-height);color:#75465a;font-size:calc(14 * var(--u));white-space:nowrap;background:#fff0f4;justify-content:center;align-items:center;padding:0 6px;font-weight:800;display:flex;position:absolute;bottom:0;left:0}.home-band:focus-visible{outline-offset:-3px;outline:3px solid #734aac}.home-room{width:calc((var(--home-height) - var(--home-note-height)) * 1536 / 591);height:calc(100% - var(--home-note-height));pointer-events:none;position:absolute;top:0;left:50%;translate:-50%}.home-background{width:200%;height:auto;position:absolute;top:0;left:-50%}.home-part{position:absolute;inset:0}.home-part[hidden]{display:none}.home-layer{object-fit:contain;-webkit-user-select:none;user-select:none;height:auto;position:absolute}.home-cat{z-index:5}.home-cat-anim[hidden]{display:none}.home-sleep{z-index:6;gap:calc(3 * var(--u));color:#7c5475;font-family:inherit;font-size:calc(13 * var(--u));font-weight:900;display:flex;position:absolute;left:76%}.home-sleep i{animation:2.4s ease-in-out infinite home-z;animation-delay:calc(var(--k) * .8s);font-style:normal}@keyframes home-z{0%,to{opacity:0;translate:0}20%{opacity:1}75%{translate:0 calc(-12 * var(--u));opacity:0}}html[data-motion=reduce] .home-sleep i,.home-sleep.still i{opacity:1;animation:none}.home-sparkle{z-index:7;width:calc(10 * var(--u));height:calc(10 * var(--u));clip-path:polygon(50% 0,64% 36%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 36%);pointer-events:none;background:#fff0a5;position:absolute}.home-list{gap:calc(12 * var(--u));overscroll-behavior:contain;max-height:52dvh;padding-right:calc(4 * var(--u));flex-direction:column;display:flex;overflow-y:auto}.home-item{align-items:center;gap:calc(12 * var(--u));text-align:left;display:flex}.home-item-art{width:calc(64 * var(--u));height:calc(64 * var(--u));flex:none;justify-content:center;display:flex}.home-item-art img{object-fit:contain;width:100%;min-width:0;height:100%}.home-item-art img+img{margin-left:calc(-25 * var(--u))}.home-item.unowned .home-item-art{opacity:.3;filter:grayscale(.7)}.home-item-text{gap:calc(5 * var(--u));font-size:calc(13 * var(--u));flex-direction:column;line-height:1.5;display:flex}.home-item-text b{font-size:calc(18 * var(--u))}.home-gift .gift-content{gap:calc(18 * var(--u))}.home-gift-art{z-index:2;justify-content:center;align-items:center;width:55%;display:flex;position:relative}.home-gift-art img{object-fit:contain;width:100%;min-width:0;height:auto;max-height:34dvh}.home-gift-art:has(img+img) img{width:50%}.home-gift-name{font-size:calc(32 * var(--u));color:#fff5bc;font-weight:900;line-height:1.3}.map-track{z-index:0;width:var(--w);padding:calc(24 * var(--u)) 0 0;background:#f6dce2;margin:0 auto;position:relative;box-shadow:0 0 0 5px #fff,0 0 0 8px #dc93b0,0 0 40px 8px #6e3c5a47}.map-region{aspect-ratio:1024/4285;position:relative}.map-panel{z-index:-3;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:35.8423%;position:absolute;left:0;-webkit-mask-image:linear-gradient(#0000,#000 7%);mask-image:linear-gradient(#0000,#000 7%)}.map-road{z-index:-2;fill:none;stroke-linecap:round;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-road-edge{stroke:#d9a98a;stroke-width:calc(42 * var(--u))}.map-road-fill{stroke:#fff6e6;stroke-width:calc(32 * var(--u))}.map-road-done{stroke:#ff9dbd;stroke-width:calc(12 * var(--u));stroke-dasharray:calc(2 * var(--u)) calc(20 * var(--u))}.map-node{--n1:#efe3f8;--n2:#dccbee;--n3:#a88bcf;--ink:#7c62a3;width:calc(58 * var(--u));height:calc(58 * var(--u));margin:calc(-29 * var(--u)) 0 0 calc(-29 * var(--u));border:calc(4 * var(--u)) solid #fff;font-family:inherit;font-size:calc(21 * var(--u));color:var(--ink);background:linear-gradient(var(--n1),var(--n2));box-shadow:0 0 0 2px var(--n3), 0 calc(6 * var(--u)) 0 2px var(--n3), 0 calc(10 * var(--u)) 10px #6e3c5a40;-webkit-tap-highlight-color:transparent;border-radius:50%;padding:0;font-weight:900;position:absolute}.map-node.done{--n1:#ffb5cc;--n2:#ff8fb4;--n3:#d85c8a;--ink:#fff;text-shadow:0 2px 0 var(--n3)}.map-node.here{--n1:#ff8db3;--n2:#f4578c;--n3:#b83468;--ink:#fff;text-shadow:0 2px 0 var(--n3)}.g10-map[data-node=b] .map-node{--n1:#dfdae5;--n2:#d7d1de;--n3:#62576d;--ink:#56364e;text-shadow:none}.g10-map[data-node=b] .map-node.done{--n1:#c6e6d6;--n2:#b8decc;--n3:#356451}.g10-map[data-node=b] .map-node.here{--n1:#f9bcd2;--n2:#f6a8c4;--n3:#75465a}.map-node.locked{font-size:calc(17 * var(--u))}.map-node.locked:after{content:"";right:calc(-6 * var(--u));bottom:calc(-6 * var(--u));width:calc(22 * var(--u));height:calc(22 * var(--u));background:var(--n3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Crect x='6.5' y='11' width='11' height='8' rx='2' fill='%23fff'/%3E%3Cpath d='M8.5 11V8.500a3.500 3.500 0 0 1 7 0V11'/%3E%3C/svg%3E") center / 68% no-repeat;border:2px solid #fff;border-radius:50%;position:absolute}.map-node.done:after{content:"";right:calc(-7 * var(--u));top:calc(-7 * var(--u));width:calc(22 * var(--u));height:calc(22 * var(--u));background:#ffcf4a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.500l4 4 8-9'/%3E%3C/svg%3E") 50%/68% no-repeat;border:2px solid #fff;border-radius:50%;position:absolute}.map-node.hard:before{content:"";inset:calc(-15 * var(--u));z-index:-1;filter:drop-shadow(0 4px #785aaa8c);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23c9b0ee' stroke='%23fff' stroke-width='3'%3E%3Ccircle cx='86' cy='50' r='15'/%3E%3Ccircle cx='75.5' cy='75.5' r='15'/%3E%3Ccircle cx='50' cy='86' r='15'/%3E%3Ccircle cx='24.5' cy='75.5' r='15'/%3E%3Ccircle cx='14' cy='50' r='15'/%3E%3Ccircle cx='24.5' cy='24.5' r='15'/%3E%3Ccircle cx='50' cy='14' r='15'/%3E%3Ccircle cx='75.5' cy='24.5' r='15'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;position:absolute}.map-node.here{width:calc(74 * var(--u));height:calc(74 * var(--u));margin:calc(-37 * var(--u)) 0 0 calc(-37 * var(--u));font-size:calc(27 * var(--u));animation:1.5s ease-in-out infinite map-here}@keyframes map-here{0%,to{box-shadow:0 0 0 2px var(--n3), 0 calc(6 * var(--u)) 0 2px var(--n3), 0 0 0 2px #fffffff2}50%{box-shadow:0 0 0 2px var(--n3), 0 calc(6 * var(--u)) 0 2px var(--n3), 0 0 0 calc(15 * var(--u)) #fff0}}.map-pin{width:calc(72 * var(--u));height:calc(60 * var(--u));margin:calc(-34 * var(--u)) 0 0 calc(-36 * var(--u));z-index:3;pointer-events:none;position:absolute}.map-pin:before{content:"";background:#6e3c5a47;border-radius:50%;height:12px;position:absolute;bottom:-3px;left:14%;right:14%}.map-pin i{background:url(../cats/mother.webp) 0 0/800% 1200% no-repeat;position:absolute;inset:0}.map-pin.flip i{transform:scaleX(-1)}.map-sign{width:max-content;padding:calc(5 * var(--u)) calc(11 * var(--u)) calc(6 * var(--u));border-radius:calc(16 * var(--u));color:#fff;text-align:center;white-space:nowrap;pointer-events:none;background:#ff8fb4;border:3px solid #fff;flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;top:97.6191%;translate:0 -50%;box-shadow:0 4px #d85c8a,0 8px 10px #6e3c5a38}.map-sign.left{left:calc(8 * var(--u))}.map-sign.right{right:calc(8 * var(--u))}.map-sign b{font-size:calc(14 * var(--u));text-shadow:0 2px #d85c8a;font-weight:900}.map-sign span{font-size:calc(12 * var(--u));opacity:.95;font-weight:800}.map-goal{z-index:2;height:calc(190 * var(--u));flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:20px;display:flex;position:relative}.map-goal-house{width:calc(128 * var(--u));filter:drop-shadow(0 8px 6px #5a3c2840)}.map-goal p{width:max-content;padding:calc(5 * var(--u)) calc(18 * var(--u));color:#fff;font-size:calc(15 * var(--u));background:#ff8fb4;border:3px solid #fff;border-radius:999px;margin:6px auto 0;font-weight:900;box-shadow:0 3px #d85c8a}.map-head{width:var(--w);z-index:5;align-items:center;gap:calc(14 * var(--u));padding:calc(9 * var(--u) + env(safe-area-inset-top)) calc(10 * var(--u)) calc(11 * var(--u)) calc(14 * var(--u));box-shadow:inset 0 calc(-4 * var(--u)) 0 #e58fb1, inset 0 2px 0 #fff, 0 3px 0 #c9799b, 0 8px 12px #6e3c5a33;background:linear-gradient(#ffe3ee,#fbc4d8 46%,#f3a9c5);display:flex;position:absolute;top:0;left:50%;translate:-50%}.map-progress{min-width:0;min-height:calc(60 * var(--u));padding:calc(6 * var(--u)) calc(30 * var(--u)) calc(7 * var(--u)) calc(52 * var(--u));border-radius:calc(20 * var(--u));box-shadow:inset 0 calc(3 * var(--u)) calc(4 * var(--u)) #c4608a57, 0 2px 0 #ffffffb3;color:#75465a;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#fbe3ea,#fff6ec 38%);border:2px solid #fff;flex:1;font-family:inherit;position:relative}.map-scene-art{left:calc(-8 * var(--u));width:calc(54 * var(--u));height:calc(54 * var(--u));object-fit:cover;object-position:50% 40%;border:calc(3 * var(--u)) solid #fff;box-shadow:0 calc(3 * var(--u)) 0 #d85c8a, 0 calc(6 * var(--u)) calc(8 * var(--u)) #6e3c5a40;background:#f6dce2;border-radius:50%;position:absolute;top:50%;translate:0 -50%}.map-scene-name{width:max-content;max-width:100%;font-size:calc(15 * var(--u));color:#c93a6e;white-space:nowrap;font-weight:900;line-height:1.3;display:block}.map-next-scene{width:max-content;max-width:100%;margin:0 0 calc(4 * var(--u));font-size:calc(11 * var(--u));white-space:nowrap;font-weight:800;line-height:1.3;display:block}.map-next-scene b{font-size:calc(16 * var(--u));color:#e0608a;font-weight:900;line-height:1}.map-progress-bar{height:calc(12 * var(--u));box-shadow:inset 0 calc(2 * var(--u)) calc(2 * var(--u)) #9646694d;background:#f0c9d8;border-radius:999px;display:block;overflow:hidden}.map-progress-fill{background:linear-gradient(#ffc2d6 0 35%,#ff8fb4 36%,#e0608a);border-radius:999px;height:100%;display:block}.map-progress-gift{width:calc(40 * var(--u));height:calc(40 * var(--u));object-fit:contain;right:calc(-9 * var(--u));bottom:calc(-6 * var(--u));filter:drop-shadow(0 calc(2 * var(--u)) 0 #96466959);position:absolute}.map-hints{justify-content:flex-end;align-items:center;gap:calc(5 * var(--u));min-height:calc(40 * var(--u));padding:0 calc(12 * var(--u)) 0 calc(34 * var(--u));box-shadow:inset 0 calc(3 * var(--u)) calc(4 * var(--u)) #c4608a57, 0 2px 0 #ffffffb3;background:linear-gradient(#fbe3ea,#fff6ec 45%);border:2px solid #fff;border-radius:999px;flex:none;display:flex;position:relative}.map-hints:has(.map-hint-plus){padding-right:calc(40 * var(--u))}.map-hint-art{left:calc(-12 * var(--u));width:calc(48 * var(--u));height:calc(48 * var(--u));object-fit:contain;filter:drop-shadow(0 calc(2 * var(--u)) 0 #96466959);pointer-events:none;position:absolute;top:50%;translate:0 -54%}.map-hint-count{white-space:nowrap;color:#75465a;line-height:1;display:block}.map-hint-word{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.map-hint-value{min-width:calc(16 * var(--u));font-size:calc(24 * var(--u));color:#c93a6e;text-align:center;font-weight:900;display:inline-block}.map-hint-plus{right:calc(-10 * var(--u));width:calc(48 * var(--u));height:calc(48 * var(--u));border:calc(3 * var(--u)) solid #fff;box-shadow:0 calc(3 * var(--u)) 0 #b83468;color:#fff;font-family:inherit;font-size:calc(26 * var(--u));text-shadow:0 2px #b83468;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ff9dbd,#e0608a);border-radius:50%;flex:none;padding:0;font-weight:900;line-height:1;position:absolute;top:50%;translate:0 -50%}.map-progress:focus-visible,.map-hint-plus:focus-visible,.hub-tab:focus-visible{outline-offset:2px;outline:3px solid #734aac}.map-here{right:max(12px,calc(50% - var(--w) / 2 + 12px));bottom:calc(130 * var(--u) + env(safe-area-inset-bottom));z-index:5;min-height:calc(48 * var(--u));padding:calc(8 * var(--u)) calc(20 * var(--u));color:#fff;font-family:inherit;font-size:calc(16 * var(--u));text-shadow:0 2px #b83468;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ff8db3,#f4578c);border:3px solid #fff;border-radius:999px;font-weight:900;position:absolute;box-shadow:0 4px #b83468,0 8px 12px #6e3c5a40}.map-here[hidden]{display:none}@media (prefers-reduced-motion:reduce){.map-node.here{animation:none}}.map-clouds{height:calc(300 * var(--u));background:linear-gradient(#e3d3f5,#f8d9e8 16%,#fff 16.1%,#fdf0f5);justify-content:center;align-items:center;display:flex;position:relative}.map-clouds .map-puffs.back{top:calc(2 * var(--u))}.map-clouds .map-puffs.mid{top:calc(190 * var(--u))}.map-puffs{left:0;top:calc(100% - calc(42 * var(--u)));pointer-events:none;width:100%;height:auto;position:absolute;overflow:hidden}.map-clouds-note{z-index:1;align-items:center;gap:calc(2 * var(--u));padding:calc(22 * var(--u)) calc(20 * var(--u)) calc(12 * var(--u));border-radius:calc(22 * var(--u));box-shadow:0 calc(5 * var(--u)) 0 #e6a7c0, 0 calc(10 * var(--u)) 14px #6e3c5a29;color:#8a3b5c;text-align:center;background:#fff;border:3px solid #f2b9cf;flex-direction:column;display:flex;position:relative}.map-clouds-note i{left:50%;top:calc(-22 * var(--u));width:calc(42 * var(--u));height:calc(42 * var(--u));margin-left:calc(-21 * var(--u));box-shadow:0 calc(3 * var(--u)) 0 #7c62a3;background:#a88bcf url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Crect x='6.5' y='11' width='11' height='8' rx='2' fill='%23fff'/%3E%3Cpath d='M8.5 11V8.500a3.500 3.500 0 0 1 7 0V11'/%3E%3C/svg%3E") 50%/66% no-repeat;border:3px solid #fff;border-radius:50%;position:absolute}.map-clouds-note b{font-size:calc(16 * var(--u));color:#c93a6e;font-weight:900}.map-clouds-note span{font-size:calc(13 * var(--u));font-weight:800}.map-fog{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.map-fog i{top:0;bottom:calc(30 * var(--u));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 150'%3E%3Ccircle cx='28' cy='46' r='30' fill='%23eccbdd'/%3E%3Ccircle cx='28' cy='33' r='34' fill='%23fff'/%3E%3C/svg%3E") 0 calc(40 * var(--u)) / calc(56 * var(--u)) calc(150 * var(--u)), #fff;width:50.5%;position:absolute}.map-fog i.l{left:0}.map-fog i.r{right:0}.map-fog i:before{content:"";width:calc(56 * var(--u));background:radial-gradient(circle,#fff 0 69%,transparent 71%) 0 0 / calc(56 * var(--u)) calc(56 * var(--u)) repeat-y;position:absolute;top:0;bottom:0}.map-fog i.l:before{right:calc(-28 * var(--u))}.map-fog i.r:before{left:calc(-28 * var(--u))}.map-fog .map-puffs{width:200%}.map-fog i.r .map-puffs{left:-100%}@media (width>=600px) and (height>=700px){.map-card{zoom:1.35}}.map-pop{z-index:8;background:#5a32506b;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.map-card{--n1:#ff8db3;--n2:#f4578c;--n3:#b83468;width:min(100%,320px);box-shadow:0 8px 0 var(--n3), 0 18px 30px #5028464d;text-align:center;background:linear-gradient(#ffeef4,#ffdfe9);border:5px solid #fff;border-radius:30px;padding:22px 22px 24px;position:relative}.map-card h3{color:#fff;background:linear-gradient(var(--n1),var(--n2));width:max-content;box-shadow:0 4px 0 var(--n3);text-shadow:0 2px 0 var(--n3);border-radius:999px;margin:0 auto 10px;padding:6px 26px;font-size:26px;font-weight:900}.map-card-face{width:110px;margin:6px auto 0;display:block}.map-card p{color:#8a3b5c;margin:6px 0 0;font-size:17px;font-weight:800}.map-card-info{justify-content:center;align-items:center;gap:8px;display:flex}.map-card-info .hard{color:#fff;background:#c9b0ee;border-radius:999px;padding:2px 10px;font-size:14px}.map-card p.map-card-hint{color:#a3627f;justify-content:center;align-items:center;gap:5px;margin-bottom:16px;font-size:14px;display:flex}.map-card-hint .icon{width:18px;height:18px}.btn.map-card-go{color:#fff;background:linear-gradient(var(--n1),var(--n2));width:100%;box-shadow:0 6px 0 var(--n3);text-shadow:0 2px 0 var(--n3);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:24px;display:flex}.btn.map-card-x{color:#8a3b5c;width:48px;height:48px;min-height:48px;padding:0;font-size:24px;line-height:1;position:absolute;top:-10px;right:-10px}.hub-tabs{z-index:6;width:var(--w);height:calc(84 * var(--u) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(#facdde,#ecabc4);border-top:2px solid #c97a9c;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:50%;translate:-50%;box-shadow:inset 0 3px #fff0f6}.hub-tab{justify-content:flex-end;align-items:center;gap:calc(3 * var(--u));min-width:48px;min-height:48px;padding:calc(5 * var(--u)) calc(2 * var(--u)) calc(10 * var(--u));color:#75465a;cursor:pointer;background:0 0;border:0;flex-direction:column;font-family:inherit;display:flex;position:relative}.hub-tab+.hub-tab:before{content:"";left:0;top:calc(12 * var(--u));bottom:calc(12 * var(--u));background:#e3a3be;width:1px;position:absolute}.hub-tab.selected:after{content:"";z-index:-1;inset:calc(-14 * var(--u)) calc(8 * var(--u)) 0;border-radius:calc(20 * var(--u)) calc(20 * var(--u)) 0 0;background:#fff6ec;border:2px solid #e9a9c3;border-bottom:0;position:absolute;box-shadow:0 -3px 8px #9646692e}.hub-tab-icon{width:calc(46 * var(--u));height:calc(46 * var(--u));object-fit:contain;pointer-events:none;flex:none;display:block}.hub-tab.selected .hub-tab-icon{width:calc(69 * var(--u));height:calc(69 * var(--u))}.hub-tab-label{font-size:calc(13 * var(--u));white-space:nowrap;line-height:1.3;position:relative}.hub-tab.selected .hub-tab-label{color:#e0608a;font-size:calc(15 * var(--u));font-weight:900}.hub-tab.locked{color:#a7778c;cursor:default;padding-top:calc(2 * var(--u));padding-bottom:calc(7 * var(--u));gap:0}.hub-tab.locked .hub-tab-icon{opacity:.4}.hub-tab-lock{font-size:calc(10 * var(--u));white-space:nowrap;line-height:1.2}.hub-tab-badge{left:calc(50% + 18 * var(--u));top:calc(2 * var(--u));width:calc(24 * var(--u));height:calc(24 * var(--u));line-height:calc(20 * var(--u));color:#fff;font-size:calc(15 * var(--u));text-align:center;background:#f0564b;border:2px solid #fff;border-radius:50%;position:absolute}.hub-screen{color:#75465a;background:#f6d0df}.hub-body{width:var(--w);max-height:calc(100dvh - 112 * var(--u) - env(safe-area-inset-bottom));align-items:center;gap:calc(20 * var(--u));padding:calc(32 * var(--u) + env(safe-area-inset-top)) calc(24 * var(--u));flex-direction:column;margin:auto;display:flex;overflow-y:auto}.hub-title{font-size:calc(26 * var(--u));letter-spacing:0;font-weight:900}.hub-balance{font-size:calc(20 * var(--u));font-weight:900}.hub-ready{margin-top:calc(100 * var(--u));padding:calc(22 * var(--u));border-radius:calc(22 * var(--u));font-size:calc(22 * var(--u));background:#fff6ec;border:3px solid #fff;font-weight:800}.shop-item{align-items:center;gap:calc(8 * var(--u));width:100%;max-width:calc(320 * var(--u));flex-direction:column;display:flex}.hub-action.btn{min-width:48px;min-height:calc(48 * var(--u));width:100%;font-size:calc(18 * var(--u));color:#75465a;padding:calc(12 * var(--u)) calc(16 * var(--u));border-radius:calc(20 * var(--u));background:#fff6ec;box-shadow:0 4px #e9a9c3}.hub-action.btn.primary{background:linear-gradient(#ffb5cc,#ff8fb4)}.shop-set{padding:calc(16 * var(--u));border-radius:calc(24 * var(--u));background:#ffe9f0;box-shadow:0 4px #f3b6cb}.shop-set-title{font-size:calc(19 * var(--u));color:#b43a63;margin:0}.shop-set-arts{justify-content:center;align-items:flex-end;gap:calc(10 * var(--u));width:100%;display:flex}.shop-set-art{width:calc(84 * var(--u));height:calc(84 * var(--u));justify-content:center;display:flex}.shop-set-art img{object-fit:contain;width:100%;min-width:0;height:100%}.shop-set-art img+img{margin-left:calc(-28 * var(--u))}.shop-set-note{color:#75465a;font-size:calc(13 * var(--u));text-align:center;margin:0;line-height:1.6}.hub-sample{color:#75465a;font-size:calc(12 * var(--u));line-height:1.4;display:block}.hub-settings .setting{max-width:calc(320 * var(--u));padding:calc(12 * var(--u)) calc(16 * var(--u));border-radius:calc(20 * var(--u));font-size:calc(18 * var(--u));background:#fff6ec;border:3px solid #fff;font-weight:800}.hub-settings .rules{max-width:calc(320 * var(--u));font-size:calc(14 * var(--u))}.guide-hand{pointer-events:none;transform-box:view-box;transform-origin:0 0;filter:drop-shadow(0 6px 4px #5a325059)}.guide-trail{pointer-events:none;fill:none;stroke:#ff6f9f;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 3px #fff)}.hub-notice{font-size:calc(16 * var(--u));font-weight:800;line-height:1.5}.hub-pop{z-index:8;padding:calc(20 * var(--u));background:#5a325080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hub-card{width:min(100%,calc(320 * var(--u)));max-height:calc(100dvh - 40 * var(--u));gap:calc(18 * var(--u));padding:calc(24 * var(--u));border-radius:calc(26 * var(--u));color:#75465a;text-align:center;background:#ffeef4;border:4px solid #fff;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 8px #d98fb0}.hub-card h2{font-size:calc(24 * var(--u))}.hub-reward-note{font-size:calc(16 * var(--u));line-height:1.6}.gift-pop{z-index:10;background:#321830c7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.gift-content{width:var(--w);max-height:100%;padding:calc(24 * var(--u));align-items:center;gap:calc(18 * var(--u));color:#fff;text-align:center;flex-direction:column;display:flex;position:relative}.gift-title{z-index:2;font-size:calc(26 * var(--u));position:relative}.gift-art{z-index:2;width:max(calc(var(--w) * .44),calc(180 * var(--u)));object-fit:contain;filter:drop-shadow(0 12px 18px #ffd05d80);height:auto;position:relative}.gift-glow{aspect-ratio:1;border:calc(10 * var(--u)) solid #fff1ac;opacity:.8;background:radial-gradient(circle,#fff5c9 0%,#ffe59399 45%,#0000 70%);border-radius:50%;position:absolute;top:8%;left:15%;right:15%;box-shadow:0 0 40px 12px #ffd54a}.gift-label{z-index:2;font-size:calc(48 * var(--u));color:#fff5bc;text-shadow:0 4px #b83468;white-space:nowrap;font-weight:900;line-height:1.2;position:relative}.gift-take.btn{z-index:2;width:80%;max-width:calc(320 * var(--u));min-height:calc(64 * var(--u));font-size:calc(26 * var(--u));color:#fff;background:linear-gradient(#ffb5cc,#f4578c);border-radius:999px;position:relative;box-shadow:0 6px #b83468}.gift-confetti{width:calc(8 * var(--u));height:calc(14 * var(--u));pointer-events:none;border-radius:2px;position:absolute}html[data-motion=reduce] .map-node.here{animation:none}.combined-gift .gift-content{gap:calc(10 * var(--u))}.combined-gift .gift-art{max-height:20dvh}.combined-gift .home-gift-art{width:55%;height:18dvh}.combined-gift .home-gift-art img{max-height:100%}.combined-gift .home-gift-name{font-size:calc(28 * var(--u))}.g10-play .hub-pop{--u:1px;z-index:40;position:fixed}
