:root{color-scheme:light;--pink: #ff6f9c;--yellow: #ffc533;--mint: #3ecca9;--sky: #4faff0;--grape: #9a6bff;--peach: #ff9e6e;--ink: #2b2650;--bg: #f4f2fc;--surface: #ffffff;--surface-2: #eeebfa;--line: #ddd8f0;--text: #26224a;--muted: #67638a;--accent: #6c4fe0;--accent-soft: #eee9ff;--screen: #f7f5ff;--gold-hi: #ffd84d;--gold-shadow: #e0a400;--gold-outline: #b8860b;--wood: #c98f5c;--wood-dark: #8e5a2e;--cloud-dark: #6b678a;--vine: #2fa88a;--brass: #e0a400;--danger: #ff6f9c;--success: #3ecca9;--hard-level: #8443dc;--challenge: #6a4fd8;--challenge-soft: #efeaff;--boss-level: #c73a6d;--boss-hp: #ff6f9c;--boss-hp-low: #ff9e6e;--tint-gold: #fff1c9;--tint-gold-line: #f3d27a;--tint-cream: #fff7dd;--tint-pink: #ffe3ec;--tint-peach: #ffe8dc;--tint-sky: #e3f2fd;--tint-mint: #ddf7f0;--gold-text: #7a5a00;--mint-text: #1b7560;--pink-text: #b8375f;--sky-text: #236ca3;--on-accent: #fff;--on-color: var(--ink);--ink-fill: var(--ink);--glass-rgb: 255, 255, 255;--scrim-rgb: 43, 38, 80;--soft-shadow: #c9c3e6;--board-bg: rgba(255, 255, 255, .55);--board-line: rgba(43, 38, 80, .12);--cell-bg: var(--surface-2);--cell-line: var(--line);--cell-unlit-bg: #3a335e;--cell-unlit-line: #2b2650;--font-title: "Jua", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-hand: "Jua", "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;--font-body: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, -apple-system, sans-serif;--radius-card: 18px;--radius-sm: 10px;--radius-pill: 999px;--phone-width: 430px;--desktop-max: 480px;--gutter: 16px;--shadow-card: 0 1px 2px rgba(43, 38, 80, .06), 0 2px 8px rgba(43, 38, 80, .05);--shadow-btn: 0 4px 0 0 var(--btn-shadow-color, #5a3fcf);--shadow-btn-pressed: 0 2px 0 0 var(--btn-shadow-color, #5a3fcf);--shadow-pop: 0 10px 30px rgba(43, 38, 80, .18);--ink-width: 2.5px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .12s;--dur-base: .22s;--dur-slow: .42s;--dur-countup: .9s;--rainbow: linear-gradient(90deg, #ff6f9c, #ff9e6e, #ffc533, #3ecca9, #4faff0, #9a6bff, #c77dff);--rainbow-angle: 0deg;--rainbow-conic: conic-gradient(from var(--rainbow-angle), #ff6f9c, #ff9e6e, #ffc533, #3ecca9, #4faff0, #9a6bff, #c77dff, #ff6f9c);--primary-gradient: linear-gradient(180deg, #7b4fe8 0%, #6c4fe0 100%);--primary-shadow: #5a3fcf;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}:root[data-theme=dark],.theme-dark{color-scheme:dark;--bg: #1a1918;--surface: #262624;--surface-2: #30302e;--line: rgba(222, 220, 209, .15);--text: #faf9f5;--muted: #c2c0b6;--accent: #d97757;--accent-soft: #35271f;--screen: #1f1e1d;--shadow-card: 0 0 #0000;--shadow-pop: 0 10px 30px rgba(0, 0, 0, .45), 0 0 0 1px rgba(222, 220, 209, .15);--btn-shadow-color: #141413;--primary-gradient: linear-gradient(180deg, #b85a3b 0%, #a9502f 100%);--primary-shadow: #7a3620;--danger: #e07a6b;--success: #7fb685;--hard-level: #a98bf5;--challenge: #b3a4f7;--challenge-soft: #342b38;--tint-gold: #3a3223;--tint-gold-line: #6b5a2e;--tint-cream: #2f2c26;--tint-pink: #3b2a2d;--tint-peach: #3c2d26;--tint-sky: #25303a;--tint-mint: #233430;--gold-text: #e0b458;--mint-text: #7fb685;--pink-text: #e8899f;--sky-text: #8db8da;--boss-level: #e8899f;--on-accent: #1f1e1d;--on-color: #1f1e1d;--ink-fill: #3a3935;--glass-rgb: 38, 38, 36;--scrim-rgb: 0, 0, 0;--soft-shadow: #141413;--board-bg: rgba(38, 38, 36, .7);--board-line: rgba(222, 220, 209, .12);--cell-bg: var(--surface-2);--cell-line: var(--line);--cell-unlit-bg: #141413;--cell-unlit-line: #4a4843}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #1a1918;--surface: #262624;--surface-2: #30302e;--line: rgba(222, 220, 209, .15);--text: #faf9f5;--muted: #c2c0b6;--accent: #d97757;--accent-soft: #35271f;--screen: #1f1e1d;--shadow-card: 0 0 #0000;--shadow-pop: 0 10px 30px rgba(0, 0, 0, .45), 0 0 0 1px rgba(222, 220, 209, .15);--btn-shadow-color: #141413;--primary-gradient: linear-gradient(180deg, #b85a3b 0%, #a9502f 100%);--primary-shadow: #7a3620;--danger: #e07a6b;--success: #7fb685;--hard-level: #a98bf5;--challenge: #b3a4f7;--challenge-soft: #342b38;--tint-gold: #3a3223;--tint-gold-line: #6b5a2e;--tint-cream: #2f2c26;--tint-pink: #3b2a2d;--tint-peach: #3c2d26;--tint-sky: #25303a;--tint-mint: #233430;--gold-text: #e0b458;--mint-text: #7fb685;--pink-text: #e8899f;--sky-text: #8db8da;--boss-level: #e8899f;--on-accent: #1f1e1d;--on-color: #1f1e1d;--ink-fill: #3a3935;--glass-rgb: 38, 38, 36;--scrim-rgb: 0, 0, 0;--soft-shadow: #141413;--board-bg: rgba(38, 38, 36, .7);--board-line: rgba(222, 220, 209, .12);--cell-bg: var(--surface-2);--cell-line: var(--line);--cell-unlit-bg: #141413;--cell-unlit-line: #4a4843}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation;user-select:none;-webkit-user-select:none}h1,h2,h3,h4,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer}img,svg,canvas{display:block;max-width:100%}svg{overflow:visible}a{color:var(--accent);text-decoration:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.app{width:100%;max-width:var(--desktop-max);margin:0 auto;min-height:100dvh;padding:var(--safe-top) 0 var(--safe-bottom);background:var(--screen);position:relative}@media(min-width:520px){.app{border-radius:24px;box-shadow:var(--shadow-pop);margin-top:16px;margin-bottom:16px;min-height:calc(100dvh - 32px);overflow:hidden}}.font-title,.title{font-family:var(--font-title);font-weight:400;letter-spacing:-.01em}.font-hand,.hand{font-family:var(--font-hand);font-weight:400}.num{font-family:var(--font-title);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.btn{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-shadow-color: var(--soft-shadow);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-title);font-size:18px;line-height:1;box-shadow:var(--shadow-btn);transform:translateY(0);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast);border:2px solid transparent;white-space:nowrap}.btn:active,.btn.is-pressed{transform:translateY(2px);box-shadow:var(--shadow-btn-pressed)}.btn:disabled,.btn[aria-disabled=true]{filter:saturate(.4) opacity(.6);pointer-events:none}.btn-primary{--btn-bg: var(--primary-gradient);--btn-fg: #fff;--btn-shadow-color: var(--primary-shadow)}.btn-secondary{--btn-bg: var(--surface);--btn-fg: var(--accent);--btn-shadow-color: var(--soft-shadow);border-color:var(--line)}.btn-pink{--btn-bg: linear-gradient(180deg, #ff8fb1, #ff6f9c);--btn-fg: var(--on-color);--btn-shadow-color: #d94f7d}.btn-mint{--btn-bg: linear-gradient(180deg, #5fdcbd, #3ecca9);--btn-fg: var(--ink);--btn-shadow-color: #2fa88a}.btn-yellow{--btn-bg: linear-gradient(180deg, #ffd66a, #ffc533);--btn-fg: var(--ink);--btn-shadow-color: #e0a400}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--muted);box-shadow:none}.btn-ghost:active{transform:none}.btn-lg{min-height:60px;font-size:22px;padding:0 32px}.btn-sm{min-height:36px;font-size:15px;padding:0 14px}.btn-block{display:flex;width:100%}.btn-icon{min-height:44px;width:44px;padding:0;border-radius:50%}.btn>svg{width:1.2em;height:1.2em}.card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px}.card-soft{background:var(--surface-2);border-color:transparent;box-shadow:none}.card-hard{border-color:var(--hard-level);background:linear-gradient(180deg,var(--surface),var(--accent-soft))}.pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px 0 8px;border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line);font-family:var(--font-title);font-size:15px;line-height:1;color:var(--text)}.pill>svg{width:20px;height:20px}.pill-soft{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.pill-gold{background:var(--tint-gold);border-color:var(--tint-gold-line);color:var(--gold-text)}svg.icon-back [stroke="#2B2650"],svg.icon-close [stroke="#2B2650"],svg.icon-check [stroke="#2B2650"],svg.icon-sound-on [fill=none][stroke="#2B2650"]{stroke:var(--text)}.bubble{position:relative;font-family:var(--font-hand);font-weight:400;font-size:17px;line-height:1.25;color:var(--ink);padding:12px 16px 22px}.bubble>svg.bubble-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.bubble>.bubble-text{position:relative;z-index:1}.ink-text{font-family:var(--font-title);color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink)}.bar{height:12px;border-radius:var(--radius-pill);background:var(--surface-2);border:1.5px solid var(--line);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:var(--primary-gradient);transition:width var(--dur-slow) var(--ease-spring)}.bar-gold>i{background:linear-gradient(90deg,#ffd84d,#ffc533)}.bar-fever>i{background:var(--rainbow);background-size:200% 100%;animation:rainbow-border 1.6s linear infinite}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}@keyframes wobble{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-4deg) scale(1.03,.97)}50%{transform:rotate(3deg) scale(.98,1.02)}75%{transform:rotate(-2deg) scale(1.01,.99)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-3px)}80%{transform:translate(3px,1px)}}@property --count{syntax: "<integer>"; initial-value: 0; inherits: false;}@keyframes countup{0%{--count: 0}}.countup{counter-reset:count var(--count);transition:--count var(--dur-countup) var(--ease-out)}.countup:after{content:counter(count)}@keyframes pulse-border{0%,to{box-shadow:inset 0 0 #ff6f9c00}50%{box-shadow:inset 0 0 0 6px #ff6f9c8c}}@keyframes rainbow-border{0%{background-position:0% 50%}to{background-position:200% 50%}}@property --rainbow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: true;}@keyframes rainbow-spin{to{--rainbow-angle: 360deg}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sparkle{0%,to{transform:scale(.6) rotate(0);opacity:.4}50%{transform:scale(1.15) rotate(20deg);opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,.98)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.08)}}.anim-pop{animation:pop var(--dur-slow) var(--ease-spring) both}.anim-wobble{animation:wobble .5s var(--ease-spring) both}.anim-shake{animation:shake .4s var(--ease-out) both}.anim-float{animation:float 2.2s ease-in-out infinite}.anim-sparkle{animation:sparkle 1.4s ease-in-out infinite;transform-origin:center}.anim-breathe{animation:breathe 2s ease-in-out infinite;transform-origin:center bottom}.anim-heartbeat{animation:heartbeat 1.1s ease-in-out infinite}.pulse-border{animation:pulse-border 1.1s ease-in-out infinite}.rainbow-border{position:relative;border-radius:var(--radius-card)}.rainbow-border:before{content:"";position:absolute;inset:-6px;border-radius:inherit;padding:6px;background:var(--rainbow-conic);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rainbow-spin 2.4s linear infinite;pointer-events:none}.hard{color:var(--hard-level)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}@media(min-width:520px){.app{height:calc(100dvh - 32px)}}:root[data-reduce-motion="1"] *,:root[data-reduce-motion="1"] *:before,:root[data-reduce-motion="1"] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.topbar{flex:0 0 auto;padding:8px var(--gutter) 6px;background:var(--screen);border-bottom:1.5px solid var(--line);z-index:5}.topbar[hidden]{display:none}.topbar-inner{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(3px,1.2vw,6px);min-width:0}.topbar-inner>*{flex-shrink:0}.topbar-spacer{flex:1 1 0;min-width:0}.topbar-icon{position:relative;width:clamp(32px,9.4vw,40px);min-height:40px}.topbar.is-compact .topbar-inner{gap:3px}.topbar.is-compact .topbar-icon{width:30px}.topbar.is-compact .res-pill{padding:0 8px 0 5px}.sound-toggle[data-on=false]{opacity:.85}.topbar-icon .badge{position:absolute;top:0;right:0}.res-pill{position:relative;min-height:34px;gap:4px;padding:0 clamp(8px,2.6vw,12px) 0 clamp(5px,1.6vw,8px);flex-direction:row;flex-wrap:nowrap;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out)}button.res-pill:active{transform:translateY(1px)}.res-pill .pill-text{font-size:clamp(14px,4vw,16px)}.res-icon{display:inline-flex}.topbar .res-pill>svg,.res-icon>svg{width:clamp(16px,4.8vw,20px);height:clamp(16px,4.8vw,20px)}.res-sub{min-width:6.2ch;font-size:10.5px;line-height:1;color:var(--muted);white-space:nowrap}.res-sub:empty,.topbar.is-tight .res-sub{display:none}.res-hearts.is-infinite{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.res-hearts.is-empty .pill-text{color:var(--muted)}.outlet{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.screen{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--screen);will-change:transform,opacity}.screen.is-leaving{pointer-events:none}.page{padding:16px var(--gutter) 24px;display:flex;flex-direction:column;gap:14px}.page-title{font-family:var(--font-title);font-size:24px;line-height:1.2}.page-head{display:flex;align-items:center;gap:8px;min-height:44px}.page-head .page-title{flex:1}.screen-back{margin-left:-8px}.state,.empty{min-height:60%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px var(--gutter);text-align:center}.empty-title{font-size:22px}.empty-desc{max-width:300px;line-height:1.55}.spinner{display:inline-flex}.spinner>svg{width:100%;height:100%}.tabbar{flex:0 0 auto;display:flex;align-items:stretch;justify-content:space-around;padding:4px 6px;background:var(--surface);border-top:1.5px solid var(--line);z-index:5}.tabbar[hidden]{display:none}.tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:56px;padding:4px 2px 2px;border-radius:14px;color:var(--muted);transition:color var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.tab:active{transform:scale(.94)}.tab-icon{position:relative;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;filter:saturate(.25) opacity(.75);transition:filter var(--dur-base),transform var(--dur-base) var(--ease-spring)}.tab-icon>svg{width:26px;height:26px}.tab-play .tab-icon{width:40px;height:40px;margin-top:-14px;background:var(--surface);border-radius:50%;box-shadow:0 -2px 0 0 var(--line)}.tab-play .tab-icon>svg{width:34px;height:34px}.tab-label{font-family:var(--font-title);font-size:12px;line-height:1}.tab.is-active{color:var(--accent)}.tab.is-active .tab-icon{filter:none;transform:translateY(-2px)}.tab-icon .badge{position:absolute;top:-4px;right:-8px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--pink);color:var(--on-color);font-family:var(--font-title);font-size:11px;line-height:1;border:1.5px solid var(--surface);pointer-events:none}.badge[hidden]{display:none}.btn-danger{--btn-bg: linear-gradient(180deg, #ff8fb1, #ff6f9c);--btn-fg: var(--on-color);--btn-shadow-color: #d94f7d}.btn.is-busy{pointer-events:none;filter:saturate(.6) opacity(.75)}.btn.is-busy .btn-label:after{content:"…"}.btn-ghost.btn-sm{min-height:36px}.card-tap{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.card-tap:active{transform:scale(.985)}.toast-host{position:absolute;left:0;right:0;top:calc(var(--safe-top) + 12px);display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 var(--gutter);z-index:40;pointer-events:none}.has-header .toast-host{top:calc(var(--safe-top) + 64px)}.toast{max-width:100%;padding:10px 16px;border-radius:var(--radius-pill);background:var(--ink-fill);color:#fff;font-family:var(--font-body);font-size:14px;line-height:1.4;box-shadow:var(--shadow-pop);animation:pop var(--dur-base) var(--ease-spring) both;transition:opacity .18s,transform .18s}.toast-success{background:var(--mint);color:var(--ink)}.toast-error{background:var(--pink);color:var(--on-color)}.toast.is-leaving{opacity:0;transform:translateY(-6px)}.overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px var(--gutter);background:rgba(var(--scrim-rgb),.45);animation:fade-in var(--dur-base) ease-out both}.overlay-sheet{align-items:flex-end;padding:0}.overlay.is-leaving{animation:fade-out .2s ease-in both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.modal,.sheet{width:100%;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-pop);color:var(--text)}.modal{max-width:360px;border-radius:var(--radius-card);animation:pop var(--dur-slow) var(--ease-spring) both}.sheet{border-radius:24px 24px 0 0;border-bottom:0;padding-bottom:var(--safe-bottom);max-height:88%;animation:sheet-up var(--dur-slow) var(--ease-out) both}.overlay.is-leaving .sheet{animation:sheet-down .2s ease-in both}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.sheet-handle{width:44px;height:5px;border-radius:3px;background:var(--line);margin:10px auto 2px}.modal-header,.sheet-header{display:flex;align-items:center;gap:8px;padding:16px 16px 0}.modal-title,.sheet-title{flex:1;font-size:21px;line-height:1.25}.modal-close,.sheet-close{margin-right:-8px}.modal-body,.sheet-body{padding:12px 16px;overflow-y:auto;line-height:1.55}.modal-body:empty,.sheet-body:empty{display:none}.modal-actions{display:flex;gap:8px;padding:4px 16px 16px}.modal-actions>.btn{flex:1}.confirm-msg{font-size:16px}.tabs{display:flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.tabs-item{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 10px;border-radius:var(--radius-pill);font-family:var(--font-title);font-size:15px;color:var(--muted);transition:background var(--dur-fast),color var(--dur-fast)}.tabs-item>svg{width:18px;height:18px}.tabs-item.is-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-card)}.bar-labeled{position:relative;height:18px}.bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text);pointer-events:none}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--font-title);font-size:15px;color:var(--text)}.field-input{width:100%;min-height:50px;padding:0 16px;border-radius:14px;border:2px solid var(--line);background:var(--surface);color:var(--text);font-size:16px;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);user-select:text;-webkit-user-select:text}.field-input::placeholder{color:var(--muted);opacity:.7}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field-input:focus-visible{outline:none}.has-error .field-input{border-color:var(--pink)}.field-hint{font-size:12.5px;color:var(--muted);line-height:1.4}.field-hint:empty{display:none}.field-error{font-size:13px;color:var(--pink-text);line-height:1.4}.splash,.fatal{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px var(--gutter);background:var(--screen);text-align:center}.splash.is-leaving{animation:fade-out .24s ease-in both}.splash-logo>svg{width:220px;height:auto;animation:float 2.4s ease-in-out infinite}.splash-msg{font-family:var(--font-hand);font-weight:400;font-size:17px}.fatal-title{font-size:24px}.fatal-msg{max-width:300px;line-height:1.55}.fatal .btn{margin-top:8px}.row{display:flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1}.center{text-align:center}.icon{flex:0 0 auto}.fx-layer{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden;contain:strict}.fx-canvas{position:absolute;inset:0;width:100%;height:100%}.fx-flash,.fx-vignette{position:absolute;inset:0;opacity:0}.fx-vignette{--vig: rgba(58, 46, 82, .8);background:radial-gradient(ellipse at center,transparent 45%,var(--vig) 100%)}.fx-spark,.fx-glow{position:absolute;left:0;top:0;opacity:0;display:block}.fx-spark{width:10px;height:10px;border-radius:2px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.fx-glow{background-size:100% 100%;background-repeat:no-repeat}.fx-spark.is-on,.fx-glow.is-on,.fx-anim{will-change:transform,opacity}.fx-pop{animation:fx-pop .42s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes fx-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.fx-spring{animation:fx-spring .52s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes fx-spring{0%{transform:scale(1)}40%{transform:scale(1.06,.97)}70%{transform:scale(.98,1.03)}to{transform:scale(1)}}.fx-tremble{animation:fx-tremble 90ms linear 4 alternate}@keyframes fx-tremble{0%{transform:translate(-2px) rotate(-3deg)}to{transform:translate(2px) rotate(3deg)}}:root[data-reduce-motion="1"] .fx-pop,:root[data-reduce-motion="1"] .fx-spring,:root[data-reduce-motion="1"] .fx-tremble{animation:none}.heart-sheet .sheet-body{padding-bottom:calc(16px + var(--safe-bottom))}.hs{display:flex;flex-direction:column;gap:12px}.hs-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border-radius:var(--radius-card);background:var(--accent-soft)}.hs-hearts-icon{display:inline-flex;flex:0 0 auto}.hs-head-text{flex:1;min-width:0}.hs-hearts-num{font-family:var(--font-title);font-size:30px;line-height:1.1;color:var(--text)}.hs-head-line{margin:2px 0 0;line-height:1.4;word-break:keep-all}.hs-timers{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px}.hs-timer{font-size:13px;min-height:28px;gap:4px}.hs-list{display:flex;flex-direction:column;gap:8px}.hs-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.hs-item-icon{display:inline-flex;flex:0 0 auto}.hs-item-text{flex:1;min-width:0}.hs-item-title{display:block;font-size:16px;line-height:1.3}.hs-item-note{margin:2px 0 0;line-height:1.4;word-break:keep-all}.hs-item-btn{flex:0 0 auto;max-width:46%;white-space:normal;line-height:1.25}.hs-more-title{margin:4px 0 0;font-size:16px}.hs-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hs-guide{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon text" "icon link";align-items:start;gap:2px 8px;padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.hs-guide:active{transform:translateY(1px)}.hs-guide:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hs-guide-icon{grid-area:icon;display:inline-flex}.hs-guide-text{grid-area:text;display:flex;flex-direction:column;min-width:0}.hs-guide-title{font-size:14px;line-height:1.3}.hs-guide-desc{line-height:1.35;word-break:keep-all}.hs-guide:last-child:nth-child(odd){grid-column:1 / -1}.hs-guide-link{grid-area:link;justify-self:start;margin-top:2px;color:var(--accent);font-weight:700}.hs-guide-link:after{content:" ›"}.hs-guide.is-clearDrop,.hs-guide.is-winStreak{background:var(--accent-soft);border-color:transparent}@media(max-width:340px){.hs-guides{grid-template-columns:1fr}}.reveal-modal .modal-body{overflow:visible}.reveal{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.reveal-burst{width:150px;height:140px;display:flex;align-items:center;justify-content:center;margin:-10px 0 -4px}.reveal-burst>svg{width:140px;height:140px;animation:reveal-burst .9s var(--ease-spring) both}@keyframes reveal-burst{0%{transform:scale(.2) rotate(-20deg);opacity:0}60%{opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.reveal-sub{font-size:18px;color:var(--accent)}.reveal-list{display:flex;flex-direction:column;gap:8px;width:100%}.reward-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-card);background:var(--surface-2);border:1.5px solid var(--line);font-family:var(--font-title);font-size:18px;text-align:left}.reward-chip>svg{flex:none}.reward-chip-box{background:var(--tint-gold);border-color:var(--tint-gold-line);color:var(--gold-text)}.reveal-note{font-size:13px}.screen-ads{background:var(--ink);color:#fff}.ad-page{min-height:100%;display:flex;flex-direction:column;gap:14px;padding:18px var(--gutter) 28px}.ad-top{display:flex;align-items:center;gap:8px}.ad-label{padding:2px 8px;border-radius:6px;background:#ffffff2e;font-size:12px;font-weight:700}.ad-title{font-size:17px}.ad-remain{min-width:48px;text-align:right;font-size:18px}.ad-stage{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:20px;overflow:hidden;background:#2a2452;box-shadow:0 10px 30px #00000059}.ad-scene{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity .6s var(--ease-out),transform 3.4s linear}.ad-scene.is-on{opacity:1;transform:scale(1)}.ad-scene>svg{width:100%;height:100%;display:block}.ad-caption{min-height:2.6em;font-size:20px;line-height:1.3;text-align:center}.ad-bar{background:#ffffff2e}.ad-bar>i{transition:none}.ad-purpose{text-align:center;color:#fffc}.ad-status{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;flex-wrap:wrap;text-align:center}.ad-status:empty{display:none}.ad-status .muted{color:#ffffffbf}.ad-done{font-size:19px}.ad-foot{margin-top:auto;display:flex;justify-content:center}.screen-ads .btn-ghost{color:#ffffffd9}@media(prefers-reduced-motion:reduce){.ad-scene{transition:none;transform:none}}.ad-stage.is-creative{background:#f5f0e6}.ad-stage.is-mind{background:#20a7d4}.ad-stage.is-unse{background:#232052}.ad-stage.is-calc{background:#f7f8f9}.ad-canvas{display:block;width:100%;height:100%}.ad-visit{position:absolute;right:8px;bottom:8px;min-height:34px;padding:0 14px;gap:6px;font-size:15px;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),visibility 0s linear .3s}.ad-visit.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.ad-visit.is-on.is-pulse{animation:ad-visit-pulse 1.6s var(--ease-out) infinite}@keyframes ad-visit-pulse{0%,to{scale:1}50%{scale:1.06}}.ad-caption.is-creative{font-family:var(--font-body);font-weight:700;font-size:17px;line-height:1.35}@media(prefers-reduced-motion:reduce){.ad-visit,.ad-visit.is-on{transform:none;transition:opacity .3s linear}.ad-visit.is-on.is-pulse{animation:none}}.ad-reward{align-self:center;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px 0 5px;border-radius:var(--radius-pill);background:#ffffff1a;border:1.5px solid rgba(255,255,255,.2)}.ad-reward-tag{padding:3px 10px;border-radius:var(--radius-pill);background:var(--yellow);color:var(--ink);font-size:12px;font-weight:700}.ad-reward-value{font-size:17px;color:#fff}.ad-tip{flex:1 0 auto;display:flex;flex-direction:column;gap:6px;min-height:220px;padding:14px 16px 18px;border-radius:20px;background:#ffffff12;border:1.5px solid rgba(255,255,255,.14)}.ad-tip-tag{align-self:flex-start;padding:2px 10px;border-radius:var(--radius-pill);background:#9a6bff59;color:#efe9ff;font-size:12px;font-weight:700}.ad-tip-box{flex:1;display:flex}.ad-tip-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;transition:opacity .2s var(--ease-in),transform .2s var(--ease-in)}.ad-tip-inner.is-in{animation:ad-tip-in .32s var(--ease-out) both}.ad-tip-inner.is-out{opacity:0;transform:translateY(-6px)}@keyframes ad-tip-in{0%{opacity:0;transform:translateY(8px)}}.ad-tip-art{display:flex;align-items:center;justify-content:center;max-width:100%;height:clamp(76px,13vh,116px);padding:10px 16px;border-radius:18px;background:#f4f2fc;box-shadow:0 6px 18px #00000040}.ad-tip-art>svg{display:block;height:100%;width:auto;max-width:100%}.ad-tip-title{font-size:20px;color:#fff}.ad-tip-body{max-width:34em;font-size:15px;line-height:1.5;color:#ffffffd9;word-break:keep-all}@media(prefers-reduced-motion:reduce){.ad-tip-inner,.ad-tip-inner.is-in{animation:none;transition:none}}.att-page{padding-bottom:28px}.att-page .small{font-size:13px}.att-page p{margin:0}.att-summary{display:flex;align-items:center;gap:16px}.att-streak{display:flex;flex-direction:column;align-items:center;padding-right:16px;border-right:1.5px solid var(--line)}.att-streak b{font-size:26px;color:var(--accent)}.att-protect{display:flex;align-items:center;gap:10px}.att-protect.is-used{opacity:.75}.att-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.att-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 12px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line);text-align:center;min-width:0}.att-cell.is-big{grid-column:1 / -1;flex-direction:row;justify-content:center;gap:14px;padding:14px;background:linear-gradient(180deg,var(--tint-cream),var(--tint-gold));border-color:var(--tint-gold-line)}.att-cell.is-big .att-day{font-size:18px}.att-cell.is-big .att-reward{font-size:14px}.att-cell.is-today{border:2.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.att-cell.is-upcoming{opacity:.9}.att-cell.is-claimed,.att-cell.is-claimed-today{background:var(--surface-2)}.att-cell.is-claimed .att-icon,.att-cell.is-claimed-today .att-icon{opacity:.45}.att-day{font-size:15px}.att-icon{display:inline-flex}.att-reward{color:var(--muted);line-height:1.2}.att-stamp{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.att-stamp>svg{padding:6px;border-radius:50%;background:#3ecca9e6;border:2.5px solid var(--ink);transform:rotate(-12deg)}.att-stamp.is-fresh>svg{animation:att-stamp .62s var(--ease-spring) both}@keyframes att-stamp{0%{transform:scale(2.6) rotate(-30deg);opacity:0}55%{transform:scale(.9) rotate(-8deg);opacity:1}to{transform:scale(1) rotate(-12deg);opacity:1}}.att-stamp.is-fresh:before,.att-stamp.is-fresh:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:radial-gradient(circle,rgba(62,204,169,.55) 0,rgba(62,204,169,.25) 55%,transparent 72%);opacity:0;animation:att-ink .76s ease-out .34s both}.att-stamp.is-fresh:after{width:18px;height:18px;margin:-30px 0 0 8px;animation-delay:.38s}@keyframes att-ink{0%{transform:scale(.3);opacity:.9}to{transform:scale(1.9);opacity:0}}:root[data-reduce-motion="1"] .att-stamp.is-fresh:before,:root[data-reduce-motion="1"] .att-stamp.is-fresh:after{animation:none}.att-shield{position:absolute;top:6px;right:6px}.att-claim{animation-duration:2.6s}.att-claimed{display:flex;align-items:center;gap:12px}.att-foot{margin-top:4px}.screen-auth{background:var(--bg)}.auth-page{display:flex;flex-direction:column;gap:14px;padding:20px var(--gutter) 28px;min-height:100%}.auth-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 2px}.auth-hero>svg{width:200px;height:auto}.auth-hero-sub{font-family:var(--font-hand);font-weight:400;font-size:17px;color:var(--muted)}.auth-card{display:flex;flex-direction:column;gap:14px;padding:18px 16px}.auth-title{font-family:var(--font-title);font-size:22px;line-height:1.2}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .btn-primary{margin-top:4px}.auth-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--accent-soft);color:var(--text);font-size:14px;line-height:1.5}.auth-alert>svg{flex:0 0 auto;width:22px;height:22px;margin-top:1px}.auth-alert-error{background:var(--tint-pink)}.auth-alert[hidden]{display:none}.auth-switch{text-align:center;font-size:14px;color:var(--muted)}.auth-switch .btn{vertical-align:middle;min-height:32px;padding:0 6px;font-size:15px;color:var(--accent)}.pw-rules{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:-6px}.pw-rule{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.pw-rule>svg{width:16px;height:16px;opacity:.35}.pw-rule.is-ok{color:var(--mint-text)}.pw-rule.is-ok>svg{opacity:1}.auth-note{font-size:12.5px;line-height:1.5;color:var(--muted);padding:10px 12px;border-radius:12px;background:var(--surface-2)}.auth-note strong{color:var(--text);font-weight:600}.auth-foot{margin-top:auto;text-align:center;font-size:12px;color:var(--muted)}.auth-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.auth-links .btn{min-height:36px;font-size:14.5px;color:var(--accent)}.bx-page{padding-bottom:28px}.bx-page .small{font-size:13px}.bx-page p{margin:0}.bx-list{display:flex;flex-direction:column;gap:10px}.bx-h2{font-size:17px;margin:4px 0 0}.bx-item{display:flex;align-items:center;gap:12px}.bx-item.is-big,.bx-item.is-hard{background:linear-gradient(180deg,var(--surface),var(--tint-gold));border-color:var(--tint-gold-line)}.bx-item.is-hard{border-color:var(--hard-level);background:linear-gradient(180deg,var(--surface),var(--accent-soft))}.bx-item-icon{display:inline-flex}.bx-double{margin-top:4px;min-height:24px;font-size:12px;gap:4px}.bx-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 16px}.bx-stage{display:flex;flex-direction:column;gap:10px;background:radial-gradient(circle at 50% 28%,var(--tint-cream) 0,var(--surface) 62%)}.bx-stage.is-hard{border-color:var(--hard-level)}.bx-stage-head{align-items:flex-start}.bx-chest-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.bx-chest{position:relative;display:inline-flex;padding:8px;border:0;background:transparent;cursor:pointer;transform-origin:50% 90%}.bx-chest-icon{display:inline-flex}.bx-chest.is-shake{--shake: 6px;animation:bx-shake .38s var(--ease-spring) both}.bx-chest.is-shake-2{--shake: 9px}.bx-chest.is-shake-3{--shake: 13px}.bx-chest.is-charging{animation:bx-charge .16s ease-in-out infinite alternate;filter:drop-shadow(0 0 16px rgba(255,216,77,.95))}.bx-lid{position:absolute;left:8px;top:8px;display:inline-flex;clip-path:inset(0 0 52% 0);transform-origin:18% 48%;pointer-events:none;will-change:transform,opacity}.bx-chest.is-open .bx-chest-icon{animation:pop .52s var(--ease-spring) both}@keyframes bx-shake{0%{transform:rotate(0) scale(1)}20%{transform:translate(calc(var(--shake, 6px) * -1)) rotate(-12deg) scale(1.06,.94)}45%{transform:translate(var(--shake, 6px)) rotate(10deg) scale(.96,1.05)}70%{transform:translate(calc(var(--shake, 6px) * -.5)) rotate(-6deg)}to{transform:rotate(0) scale(1)}}@keyframes bx-charge{0%{transform:rotate(-4deg) scale(1.03)}to{transform:rotate(4deg) scale(1.07)}}.bx-burst{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);pointer-events:none}.bx-burst>svg{display:block;animation:reveal-burst .9s var(--ease-spring) both}.bx-dots{display:flex;gap:8px}.bx-dots>i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);background:var(--surface);transition:background var(--dur-base),transform var(--dur-base) var(--ease-spring)}.bx-dots>i.is-on{background:var(--yellow);transform:scale(1.25)}.bx-hint{text-align:center;font-size:20px;color:var(--accent)}.bx-ad{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--tint-gold)}.bx-ad.is-ready{background:var(--tint-mint)}.bx-h3{font-size:16px;margin:4px 0 0}.bx-table{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.bx-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}.bx-row:last-child{border-bottom:0}.bx-row-label{display:flex;flex-direction:column;font-family:var(--font-title);font-size:15px}.bx-row-label small{font-family:var(--font-body);font-size:12px}.bx-row b{color:var(--accent)}.bx-row.is-hit{background:var(--tint-gold)}.bx-sum{background:var(--surface-2)}.ch-page{padding-bottom:28px}.ch-head{display:flex;flex-direction:column;gap:8px;border-color:var(--challenge)}.ch-head-row{display:flex;align-items:center;gap:8px;min-width:0}.ch-count{flex:none;color:var(--challenge);font-weight:700}.ch-bar>i{background:var(--challenge)}.ch-desc{margin:0}.ch-zones{display:flex;flex-direction:column;gap:14px;margin-top:14px}.ch-zone-title{margin:0 0 8px;font-size:1rem}.ch-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ch-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;min-width:0;padding:6px 2px;border-radius:var(--radius-sm);border:2px solid var(--challenge);background:var(--surface);color:var(--text);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.ch-cell:active{transform:scale(.95)}.ch-cell:focus-visible{outline:3px solid var(--challenge);outline-offset:2px}.ch-num{font-weight:700;font-size:1rem;line-height:1}.ch-mark{display:flex;height:18px}.ch-cell.is-done{border-color:var(--line);background:var(--challenge-soft);color:var(--muted)}.pill-challenge{background:var(--challenge-soft);border-color:var(--challenge);color:var(--challenge)}.home-challenge{margin-top:8px;border:2px solid var(--challenge);color:var(--challenge)}.pre-challenge{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--challenge);background:var(--challenge-soft)}.pre-challenge-line{margin:0;font-weight:700;color:var(--challenge)}.pre-challenge-rewards{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.char-art{position:relative;display:inline-block;flex:none}.char-art>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.char-art.is-silhouette>svg{filter:brightness(0) saturate(0);opacity:.16}.coll-page{padding-bottom:28px}.coll-page .small,.coll-sheet .small{font-size:13px}.coll-title{padding-top:8px}.coll-head{display:flex;flex-direction:column;gap:10px}.coll-count{font-size:20px}.coll-count b{font-size:30px;color:var(--accent)}.coll-companion{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:1.5px dashed var(--line);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.coll-companion .muted{display:block}.coll-companion-line{margin:2px 0 0;font-size:15px;color:var(--accent)}.coll-tabs{overflow-x:auto;scrollbar-width:none}.coll-tabs .tabs-item{flex:none;font-size:13px;padding:0 10px}.coll-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.coll-grid.is-color{grid-template-columns:repeat(4,1fr)}.coll-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 2px 6px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;animation:pop var(--dur-slow) var(--ease-spring) both;transition:transform var(--dur-fast) var(--ease-spring)}.coll-cell:active{transform:scale(.93)}.coll-cell:not(.is-owned){background:var(--surface-2);border-style:dashed}.coll-cell.is-companion{border-color:var(--gold-shadow);box-shadow:0 0 0 2px var(--tint-gold)}.coll-crown{position:absolute;top:2px;right:3px}.coll-name{max-width:100%;font-family:var(--font-title);font-size:11px;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.coll-cond{max-width:100%;font-size:9.5px;line-height:1.2;color:var(--muted);text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coll-mini-bar{width:80%;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.coll-mini-bar>i{display:block;height:100%;background:var(--accent)}.coll-empty{grid-column:1 / -1;padding:24px 8px;text-align:center}.coll-detail{display:flex;flex-direction:column;gap:12px}.coll-detail-art{position:relative;display:flex;justify-content:center;padding-top:8px;min-height:150px;align-items:flex-end}.coll-detail-art>.char-art{animation:float 2.4s ease-in-out infinite}.coll-bubble{position:absolute;top:0;left:50%;transform:translate(-4%);max-width:62%;padding:8px 12px;border-radius:16px;background:var(--surface);border:var(--ink-width) solid var(--ink);color:var(--text);font-size:16px;line-height:1.25;z-index:1}.coll-detail-tags{display:flex;gap:6px;justify-content:center}.coll-color-chip{padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-2);font-family:var(--font-title);font-size:13px}.coll-color-chip.is-pink{background:var(--tint-pink);color:var(--pink-text)}.coll-color-chip.is-yellow{background:var(--tint-gold);color:var(--gold-text)}.coll-color-chip.is-mint{background:var(--tint-mint);color:var(--mint-text)}.coll-color-chip.is-sky{background:var(--tint-sky);color:var(--sky-text)}.coll-color-chip.is-grape{background:var(--accent-soft);color:var(--accent)}.coll-desc{margin:0;text-align:center}.coll-cond-box{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.coll-cond-box p{margin:2px 0 0}.coll-cond-box.is-owned{background:var(--tint-mint);color:var(--mint-text)}.coll-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-family:var(--font-title);color:var(--gold-text)}@media(max-width:360px){.coll-cond{display:none}}.coll-cell.is-flip{animation:coll-flip .6s cubic-bezier(.45,0,.3,1) both;will-change:transform}@keyframes coll-flip{0%{transform:perspective(400px) rotateY(-180deg) scale(.9)}50%{transform:perspective(400px) rotateY(-90deg) scale(1)}to{transform:perspective(400px) rotateY(0) scale(1)}}:root[data-reduce-motion="1"] .coll-cell.is-flip{animation:none}.coll-boss{display:flex;flex-direction:column;gap:10px}.coll-boss-head{align-items:center;gap:10px}.coll-boss-art{flex:0 0 auto;width:80px;height:80px}.coll-boss-art.is-dim{opacity:.55}.coll-boss-name{display:block;font-size:18px}.coll-boss-count{font-size:14px;color:var(--muted);white-space:nowrap}.coll-boss-count b{font-size:20px;color:var(--boss-level)}.coll-boss-stamps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.coll-boss-stamp{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;min-height:36px;border-radius:10px;border:1.5px dashed var(--line);background:var(--surface-2);color:var(--muted);font-family:var(--font-title);font-size:13px;opacity:.7;cursor:pointer}.coll-boss-stamp.is-won{border:2px solid var(--boss-level);background:var(--tint-pink);color:var(--boss-level);opacity:1}.coll-boss-stamp>svg{width:14px;height:14px}.meta-rewards{display:flex;flex-wrap:wrap;gap:6px}.meta-reward{display:inline-flex;align-items:center;gap:4px;padding:3px 10px 3px 6px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:13px;line-height:1.3}.meta-rewards.is-small .meta-reward{font-size:12px;padding:2px 8px 2px 4px}.meta-section-head{display:flex;align-items:center;gap:8px;margin-top:4px}.meta-section-head .title{font-size:18px}.meta-remain{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.meta-soft-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:13px}.meta-page .small{font-size:13px}.meta-page{padding-bottom:32px}.screen-events{background:var(--screen)}.ev-head{display:flex;align-items:baseline;gap:10px}.ev-date{font-size:14px}.ev-card{display:flex;flex-direction:column;gap:10px;border-left:5px solid var(--accent-soft)}.ev-card-head{display:flex;align-items:center;gap:12px}.ev-card-icon{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--surface-2)}.ev-card-title{font-size:17px;line-height:1.25}.ev-card-head p{margin-top:2px;line-height:1.4}.ev-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ev-big .num{font-size:22px}.ev-done{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--mint-text);font-weight:700}.ev-mission-text{font-weight:700}.ev-star{border-left-color:var(--yellow)}.ev-team{border-left-color:var(--mint)}.ev-fishing{border-left-color:var(--sky)}.ev-league{border-left-color:var(--grape)}.ev-streak{border-left-color:var(--peach)}.ev-surprise{border-left-color:var(--pink)}.ev-surprise.is-claimable{box-shadow:0 0 0 2px var(--gold-hi),var(--shadow-card)}.ev-surprise.is-expired,.ev-surprise.is-claimed{opacity:.8}.ev-fish-row{display:flex;justify-content:space-around;align-items:flex-end}.ev-season{border-left-color:var(--accent)}.ev-season-art{flex:0 0 56px;width:56px;height:56px;border-radius:14px;background:var(--accent-soft);overflow:hidden}.ev-league-link{border-left-color:var(--grape)}.ev-week{padding:12px}.ev-week-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ev-day{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:92px;padding:6px 2px;border-radius:var(--radius-sm);background:var(--surface-2);text-align:center}.ev-day.is-today{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.ev-day.is-past{opacity:.55}.ev-day-label{font-size:15px}.ev-day-event{font-size:11px;line-height:1.25;padding:2px 3px;border-radius:6px;background:var(--surface);word-break:keep-all}.ev-code-star_double{color:var(--gold-text)}.ev-code-team_mission{color:var(--mint-text)}.ev-code-cloud_fishing{color:var(--sky-text)}.ev-code-weekend_league{color:var(--accent)}.ev-daily{margin-top:10px;color:var(--muted)}.screen-fishing{background:var(--screen)}.fs-hero{display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,var(--tint-sky) 0%,var(--surface) 85%)}.fs-hero-clouds{display:flex;justify-content:space-around;align-items:flex-end}.fs-hero-clouds svg:nth-child(odd){transform:translateY(-6px)}.fs-hero-text{line-height:1.55}.fs-closed{display:flex;align-items:center;gap:12px}.fs-odds{display:flex;flex-direction:column;gap:8px}.fs-odd{display:flex;align-items:center;gap:10px}.fs-odd-art{flex:0 0 44px}.fs-odd-pct{min-width:44px;text-align:right}.fs-odd-coin{display:inline-flex;align-items:center;gap:3px;min-width:56px;justify-content:flex-end}.fs-game{display:flex;flex-direction:column;gap:10px;padding:12px var(--gutter) 20px}.fs-hud{display:flex;justify-content:space-between;gap:8px}.fs-hud-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line);font-size:17px}.fs-hud-item svg{flex:0 0 auto}.fs-hud-time.is-low{color:var(--pink-text)}.fs-field{width:100%;border-radius:22px;overflow:hidden;border:2px solid var(--line);box-shadow:var(--shadow-card)}.fs-canvas{display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.fs-hint{text-align:center;font-size:18px;min-height:1.4em}.fs-result{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.fs-result .btn{align-self:stretch}.fs-result-line{display:inline-flex;align-items:center;gap:6px}.fs-result-coins{font-size:34px}.fs-result-kinds{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.fs-result-kind{display:inline-flex;align-items:center;gap:4px;padding:2px 10px 2px 2px;border-radius:var(--radius-pill);background:var(--surface-2);font-size:13px}.g-art{display:inline-grid;flex:0 0 auto;line-height:0}.g-art>svg{grid-area:1 / 1}.g-page{padding-bottom:32px}.g-page p{margin:0}.g-intro{display:flex;align-items:center;gap:12px}.g-intro strong{display:block;font-size:18px;margin-bottom:2px}.g-intro p{font-size:13.5px;line-height:1.55}.g-toc{display:flex;flex-direction:column;gap:10px}.g-toc-title{margin:0;font-size:18px}.g-toc-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none}.g-toc-link{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:13.5px;line-height:1.25;text-decoration:none}.g-toc-link:active{transform:translateY(1px)}.g-toc-no{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:13px}.g-toc-actions{display:flex;justify-content:flex-end;gap:4px}.g-toc-actions .btn{color:var(--accent)}.g-sec{padding:0;scroll-margin-top:8px;overflow:hidden}.g-sec-h{margin:0;font-size:inherit}.g-sec-head{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;padding:10px 14px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.g-sec-no{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary-gradient);color:#fff;font-size:15px}.g-sec-title{flex:1;font-size:18px;line-height:1.25}.g-sec-chev{display:inline-flex;transform:rotate(90deg);transition:transform var(--dur-base) var(--ease-out)}.g-sec.is-closed .g-sec-chev{transform:rotate(-90deg)}.g-sec-body{display:flex;flex-direction:column;gap:10px;padding:0 14px 16px;font-size:14px;line-height:1.6}.g-sec.is-closed .g-sec-body{display:none}.g-lead{color:var(--muted)}.g-list,.g-steps{display:flex;flex-direction:column;gap:5px;margin:0;padding-left:18px}.g-steps{padding-left:0;list-style:none}.g-steps li{display:flex;gap:8px;align-items:flex-start}.g-step-no{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12.5px}.g-tip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:var(--accent-soft)}.g-tip .hand{font-size:16px;line-height:1.35}.g-table{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.g-tr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}.g-tr:last-child{border-bottom:0}.g-th{background:var(--surface-2);font-size:12.5px;color:var(--muted)}.g-td-main{display:flex;align-items:center;gap:8px;min-width:0}.g-td-text{display:flex;flex-direction:column;min-width:0}.g-td-label{font-weight:600;font-size:14px;line-height:1.35}.g-td-text small{font-size:12.5px;line-height:1.45}.g-td-value{flex:0 0 auto;max-width:45%;text-align:right;font-family:var(--font-title);font-size:14.5px;line-height:1.3;color:var(--accent)}.g-arts{display:inline-flex;flex:0 0 auto;align-items:center}.g-cards{display:flex;flex-direction:column;gap:8px}.g-card{display:flex;gap:10px;padding:10px;border-radius:14px;background:var(--surface-2)}.g-card-art{flex:0 0 auto;display:flex;align-items:flex-start}.g-card-body{display:flex;flex-direction:column;gap:3px;min-width:0}.g-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.g-card-head .title{font-size:16px}.g-tag{min-height:22px;padding:0 8px;font-size:12px}.g-card-body p{font-size:13.5px;line-height:1.55}.g-card-extra{display:flex;align-items:center;gap:6px;color:var(--muted)}.g-combos{display:flex;flex-direction:column;gap:8px}.g-combo{display:grid;grid-template-columns:104px 1fr;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--surface-2)}.g-combo-pair{display:flex;align-items:center;gap:2px}.g-plus{font-size:18px;color:var(--muted)}.g-any{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px dashed var(--line);font-size:12px;color:var(--muted)}.g-combo strong{font-size:15px}.g-combo p{font-size:13.5px;line-height:1.5}.g-link{display:flex}.g-faq{display:flex;flex-direction:column;gap:6px}.g-faq-item{border-radius:12px;background:var(--surface-2)}.g-faq-item summary{display:flex;gap:8px;align-items:baseline;padding:10px 12px;font-weight:600;cursor:pointer;list-style:none}.g-faq-item summary::-webkit-details-marker{display:none}.g-q{color:var(--accent)}.g-faq-item p{padding:0 12px 12px}.g-end{text-align:center;line-height:1.5}.g-top{position:sticky;bottom:16px;align-self:flex-end;margin-top:-44px;z-index:3}.g-top>svg{transform:rotate(90deg)}.g-top[hidden]{display:none}@media(max-width:359px){.g-toc-list{grid-template-columns:1fr}}.help-page{padding-bottom:28px}.help-page .small{font-size:13px}.help-tabs{position:sticky;top:0;z-index:5;background:var(--screen);padding:4px 0}.help-tabs .tabs-item{font-size:13px;padding:0 6px}.help-content{display:flex;flex-direction:column;gap:12px}.help-lead{margin:0;line-height:1.5}.help-section{display:flex;flex-direction:column;gap:8px}.help-section p{margin:0}.help-h2{display:flex;align-items:center;gap:6px;margin:0;font-size:18px}.help-table{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.help-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}.help-row:last-child{border-bottom:0}.help-cell-label{display:flex;flex-direction:column;min-width:0}.help-label{font-family:var(--font-title);font-size:15px}.help-cell-label small{font-size:12px}.help-value{flex:none;color:var(--accent);font-size:15px;text-align:right}.help-foot{background:var(--surface-2)}.help-notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45}.help-inline{display:inline-flex;align-items:center;gap:6px}.help-special{position:relative;display:inline-block;flex:none}.help-special>svg{position:absolute;inset:0;width:100%;height:100%}.help-specials{display:flex;flex-direction:column;gap:10px}.help-special-row{display:flex;gap:12px;align-items:flex-start}.help-how{margin-left:6px;min-height:22px;font-size:12px;padding:0 8px}.help-boosters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.help-booster{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:8px 4px;border-radius:var(--radius-sm);background:var(--surface-2)}.help-booster .title{font-size:13px}.help-combos{display:flex;flex-direction:column;gap:12px}.help-combo{display:grid;grid-template-columns:112px 1fr;gap:10px;align-items:center}.help-combo p{margin:2px 0 0}.help-combo-pair{display:flex;align-items:center;gap:4px}.help-plus{font-size:20px;color:var(--muted)}.help-any{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:2px dashed var(--accent);font-size:12px;color:var(--accent)}.help-obstacle{display:flex;gap:12px;align-items:flex-start}.help-obstacle p{margin:4px 0}.help-ob-art>svg{display:block}.help-ob-head{align-items:center;gap:8px}.help-ob-level{min-height:22px;font-size:12px;padding:0 8px}.help-ob-best{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--accent-soft);font-size:16px;color:var(--text)}.screen-home{background:var(--screen)}.home-page{padding-top:10px;padding-bottom:28px}.home-page .small{font-size:13px}.home-page .ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.home-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-top{display:flex;align-items:center;gap:4px}.home-hello{flex:1;display:flex;flex-direction:column;line-height:1.2}.home-hello .muted{font-size:13px}.home-hello .title{font-size:20px}.home-streak{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line);overflow:hidden}.home-streak-bg{position:absolute;inset:0;pointer-events:none}.home-streak-bg>svg{width:100%;height:100%;display:block}.home-streak-main,.home-streak-side{position:relative;z-index:1}.home-streak-main{display:flex;align-items:flex-end;gap:4px}.home-streak-num{font-size:52px;line-height:.9}.home-streak-unit{font-size:20px;padding-bottom:4px}.home-streak-flame>svg{display:block}.home-streak-side{display:flex;flex-direction:column;gap:2px;min-width:0}.home-streak-msg{font-size:18px;color:var(--accent)}.home-streak-bonus{margin-top:4px;font-size:12px;min-height:24px}.home-streak.is-none .home-streak-num{color:var(--surface-2)}.home-streak.is-fire{border-color:var(--peach);background:linear-gradient(90deg,var(--tint-peach),var(--surface))}.home-streak.is-rainbow,.home-streak.is-parade{border-color:transparent;min-height:104px}.home-streak.is-rainbow .home-streak-side,.home-streak.is-parade .home-streak-side{padding:6px 10px;border-radius:14px;background:rgba(var(--glass-rgb),.86);color:var(--text)}.home-streak.is-rainbow .home-streak-side .muted,.home-streak.is-parade .home-streak-side .muted{color:var(--muted)}.home-streak.is-parade{min-height:132px;align-items:flex-start}.home-returning{border-color:var(--pink);background:linear-gradient(180deg,var(--surface),var(--tint-pink))}.home-list{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.home-returning-modal .char-art{margin:0 auto}.home-bubble-line{font-size:19px;text-align:center}.home-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-mini{display:flex;flex-direction:column;gap:6px;padding:12px;min-width:0}.home-mini-head{display:flex;align-items:center;gap:6px;min-width:0}.home-mini-head .title{font-size:16px}.home-mini-big{font-size:22px;color:var(--accent)}.home-mini-time{display:flex;align-items:center;gap:2px;color:var(--accent)}.home-event{background:linear-gradient(180deg,var(--surface),var(--tint-gold))}.home-event.is-empty{background:var(--surface)}.home-hero{display:flex;flex-direction:column;gap:12px;padding:16px}.home-companion{display:flex;align-items:flex-end;gap:10px}.home-companion>.char-art{animation:float 2.4s ease-in-out infinite}.home-bubble{position:relative;flex:1;background:var(--surface);border:var(--ink-width) solid var(--ink);border-radius:18px;padding:10px 14px;font-size:17px;line-height:1.3;color:var(--text);margin-bottom:18px}.home-bubble:before{content:"";position:absolute;left:-10px;bottom:12px;width:16px;height:16px;background:var(--surface);border-left:var(--ink-width) solid var(--ink);border-bottom:var(--ink-width) solid var(--ink);transform:rotate(45deg) skew(10deg,10deg);border-radius:0 0 0 4px}.home-hero-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.home-hero-tags .pill{font-size:13px;min-height:26px}.pill-hard{background:var(--hard-level);border-color:var(--hard-level);color:var(--on-accent)}.home-best{display:inline-flex;gap:1px}.home-start{--btn-bg: linear-gradient(180deg, #ff8fb1, var(--pink));--btn-fg: var(--on-color);--btn-shadow-color: #d94f7d;min-height:68px;font-size:24px;animation-duration:3.2s}.home-start.is-hard{--btn-bg: linear-gradient(180deg, #a47bff, var(--hard-level) 55%, #7b4fe8);--btn-fg: var(--on-accent);--btn-shadow-color: #5a2fc0;border-color:var(--accent-soft)}.home-start.is-boss{--btn-bg: linear-gradient(180deg, #ff8fb1, #e0577f 55%, #d94f7d);--btn-shadow-color: #9e2451;border-color:var(--tint-pink)}.pill-boss{background:var(--boss-level);border-color:var(--boss-level);color:#fff}.home-hero.is-boss{box-shadow:0 0 0 3px var(--tint-pink),var(--shadow-card)}:root[data-theme=dark] .pill-boss{color:var(--bg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .pill-boss{color:var(--bg)}}.home-start.is-gift{--btn-bg: linear-gradient(180deg, var(--gold-hi), var(--yellow));--btn-fg: var(--ink);--btn-shadow-color: var(--gold-shadow)}.home-hero.is-hard{box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-card)}.home-hint{display:flex;align-items:center;gap:4px;font-size:17px;color:var(--accent);margin:-2px 0 0}.home-locked,.home-heart-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0}.home-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.home-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line);color:var(--text);font:inherit;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.home-tile:active{transform:scale(.94)}.home-tile.has-badge{border-color:var(--pink)}.home-tile-icon{position:relative;display:inline-flex}.home-tile-icon .badge{position:absolute;top:-6px;right:-10px}.home-dot{position:absolute;top:-2px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--pink);border:2px solid var(--surface);animation:heartbeat 1.1s ease-in-out infinite}.home-tile-label{font-family:var(--font-title);font-size:13px;white-space:nowrap}.home-surprise{display:flex;flex-direction:column;gap:8px;border-color:var(--yellow);background:linear-gradient(180deg,var(--surface),var(--tint-cream))}.home-surprise .row{align-items:center;gap:10px}.home-surprise .pill{min-height:22px;font-size:12px;padding:0 8px}.home-surprise-text{display:block;margin-top:4px;font-size:16px;line-height:1.3}.home-surprise p{margin:0}.home-ok{display:flex;align-items:center;gap:4px;color:var(--mint-text)}.home-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.home-row p{margin:2px 0 0}.home-row-time{color:var(--accent);white-space:nowrap}.home-chev{display:inline-flex;transform:rotate(180deg);color:var(--muted)}.home-firstpang.is-done{background:var(--tint-mint)}.home-gift{border-color:var(--gold-shadow)}.home-gift.is-now{background:linear-gradient(180deg,var(--surface),var(--tint-gold));border-color:var(--gold-shadow)}.home-events{gap:10px}@media(max-width:360px){.home-streak-num{font-size:42px}.home-start{font-size:21px}}.pwa-banner{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(var(--safe-bottom) + 80px);z-index:25;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-pop);animation:pwa-in var(--dur-slow) var(--ease-spring) both}.pwa-banner-icon{flex:0 0 44px;border-radius:12px}.pwa-banner-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;line-height:1.35}.pwa-banner-text .title{font-size:15px}.pwa-banner-close{flex:0 0 32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted)}@keyframes pwa-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pwa-banner{animation:none}}.pwa-guide p{margin:0}.pwa-guide .small{font-size:13px}.pwa-guide-hint{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--font-title);font-size:16px}.pwa-guide-steps{margin:0;padding-left:22px;list-style:decimal;display:flex;flex-direction:column;gap:8px;line-height:1.5}.pwa-guide-steps li::marker{font-family:var(--font-title);color:var(--accent)}.screen-landing{background:var(--screen)}.land-page{display:flex;flex-direction:column;gap:22px;padding:0 0 28px}.land-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px var(--gutter) 18px;text-align:center;background:linear-gradient(180deg,var(--accent-soft) 0%,var(--screen) 100%);overflow:hidden}.land-sky{position:absolute;inset:0;pointer-events:none}.land-star{position:absolute;width:10px;height:10px;background:var(--yellow);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:sparkle 2.4s ease-in-out infinite}.land-star-1{top:18px;left:12%}.land-star-2{top:64px;right:10%;width:14px;height:14px;animation-delay:.8s}.land-star-3{top:150px;left:7%;width:8px;height:8px;animation-delay:1.5s}.land-cloud{position:absolute;height:26px;border-radius:999px;background:var(--surface);opacity:.7;animation:land-drift 14s ease-in-out infinite alternate}.land-cloud:before{content:"";position:absolute;left:22%;bottom:10px;width:46%;height:30px;border-radius:999px;background:inherit}.land-cloud-1{top:104px;left:-30px;width:110px}.land-cloud-2{top:36px;right:-40px;width:130px;animation-duration:18s;animation-direction:alternate-reverse}@keyframes land-drift{0%{transform:translate(0)}to{transform:translate(28px)}}.land-logo{position:relative;margin:0;line-height:0}.land-logo>svg{width:240px;height:auto}.land-tagline{position:relative;margin:0;font-size:22px;color:var(--text)}.land-sub{position:relative;margin:0;max-width:330px;font-size:14.5px;line-height:1.55;color:var(--muted)}.land-mongles{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:6px;height:104px;margin:4px 0 6px}.land-mongle{position:relative;display:flex;flex-direction:column;align-items:center}.land-mongle>.g-art{animation:land-hop 2.2s var(--ease-out) infinite;transform-origin:50% 100%}.land-shadow{display:block;width:38px;height:7px;margin-top:2px;border-radius:50%;background:var(--ink);opacity:.12;animation:land-shadow 2.2s var(--ease-out) infinite}.land-mongle-2>.g-art,.land-mongle-2>.land-shadow{animation-delay:.18s}.land-mongle-3>.g-art,.land-mongle-3>.land-shadow{animation-delay:.36s}.land-mongle-4>.g-art,.land-mongle-4>.land-shadow{animation-delay:.54s}.land-mongle-5>.g-art,.land-mongle-5>.land-shadow{animation-delay:.72s}.land-mongle-3{margin-bottom:8px}@keyframes land-hop{0%,46%,to{transform:translateY(0) scale(1)}52%{transform:translateY(0) scale(1.12,.86)}64%{transform:translateY(-26px) scale(.94,1.08)}76%{transform:translateY(-30px) scale(1)}88%{transform:translateY(0) scale(1.1,.9)}94%{transform:translateY(0) scale(.98,1.03)}}@keyframes land-shadow{0%,46%,to{transform:scale(1);opacity:.12}70%{transform:scale(.6);opacity:.06}}.land-ctas{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;max-width:400px}.land-ctas-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.land-ctas-row .btn{min-width:0;padding-left:10px;padding-right:10px}.land-free{position:relative;display:inline-flex;align-items:center;gap:2px;margin:2px 0 0;color:var(--muted);font-size:13px}.land-install{position:relative;display:flex;align-items:center;gap:10px;width:100%;max-width:400px;margin-top:6px;padding:10px 10px 10px 12px;text-align:left}.land-install[hidden]{display:none}.land-install>svg{flex:none}.land-install-text{flex:1;min-width:0;font-size:13.5px;line-height:1.4}.land-install .btn{flex:none}.land-section{display:flex;flex-direction:column;gap:12px;margin:0 var(--gutter)}.land-h2{display:flex;align-items:center;gap:6px;margin:0;font-size:21px;line-height:1.25}.land-page h3{margin:0;font-size:16.5px;line-height:1.25}.land-page p{margin:0}.land-features{display:grid;grid-template-columns:1fr 1fr;gap:10px}.land-feature{display:flex;flex-direction:column;gap:6px;padding:14px 12px}.land-feature-art{display:flex;align-items:center;gap:2px;min-height:42px}.land-feature-text{font-size:13px;line-height:1.5;color:var(--muted)}.land-steps{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.land-step{display:grid;grid-template-columns:30px 78px 1fr;align-items:center;gap:10px;padding:12px 14px}.land-step-no{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary-gradient);color:#fff;font-size:17px}.land-step-art{display:flex;justify-content:center;gap:0}.land-step-body{display:flex;flex-direction:column;gap:2px}.land-step-body p{font-size:13.5px;line-height:1.5;color:var(--muted)}.land-more{color:var(--accent)}.land-honest{padding:16px}.land-honest-list{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;line-height:1.55}.land-honest .btn{align-self:flex-start}.land-bottom{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px var(--gutter) 0;text-align:center}.land-soda{animation:float 2.4s ease-in-out infinite}.land-bottom-line{font-size:19px}.land-foot{max-width:340px;font-size:12px;line-height:1.5}@media(max-width:359px){.land-features{grid-template-columns:1fr}.land-mongle>.g-art>svg{width:48px;height:48px}}.screen-league{background:var(--screen)}.lg-status{display:flex;flex-direction:column;gap:10px}.lg-unclaimed{display:flex;flex-direction:column;gap:10px;box-shadow:0 0 0 2px var(--gold-hi),var(--shadow-card)}.lg-me-card.is-reward{background:linear-gradient(180deg,var(--tint-cream) 0%,var(--surface) 70%)}.lg-me-top{display:flex;align-items:center;gap:14px}.lg-me-rank{display:flex;align-items:baseline;gap:2px;font-family:var(--font-title);color:var(--accent)}.lg-me-rank .num{font-size:44px;line-height:1}.lg-me-unit{font-size:18px}.lg-me-score{font-size:20px}.lg-change{font-size:13px}.lg-change.is-up{color:var(--mint-text);font-weight:700}.lg-me-reward{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2)}.lg-rewards{display:flex;flex-direction:column;gap:8px}.lg-reward-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm)}.lg-reward-row.is-mine{background:var(--accent-soft)}.lg-reward-rank{flex:0 0 64px;font-size:15px}.lg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lg-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line)}.lg-row.is-me{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 2px 0 var(--accent)}.lg-rank{flex:0 0 44px;display:inline-flex;align-items:center;gap:2px;font-size:16px}.lg-row.is-top-1 .lg-rank{color:#b8860b}.lg-avatar{flex:0 0 32px;width:32px;height:32px}.lg-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:700}.lg-me-tag{margin-left:6px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:11px}.lg-score{font-size:15px}.lg-cut{display:flex;align-items:center;gap:8px;margin:6px 0;color:var(--muted);font-size:12px}.lg-cut:before,.lg-cut:after{content:"";flex:1;border-top:2px dashed var(--line)}.nt-page{padding-bottom:28px}.nt-page .page-head .btn{flex:none;white-space:nowrap}@media(max-width:380px){.nt-page .page-head{gap:4px}.nt-page .page-head .btn-sm{padding:0 10px}}.nt-list{display:flex;flex-direction:column;gap:8px}.nt-item{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border-radius:var(--radius-card);border:1.5px solid var(--line);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring);animation:pop var(--dur-slow) var(--ease-spring) both}.nt-item:active{transform:scale(.98)}.nt-item.is-unread{border-color:var(--accent);background:linear-gradient(90deg,var(--accent-soft),var(--surface) 40%)}.nt-icon{display:inline-flex;flex:none;padding-top:2px}.nt-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.nt-title{font-size:16px}.nt-text{font-size:14px;line-height:1.4;word-break:keep-all}.nt-time{font-size:12px}.nt-dot{position:absolute;top:14px;right:14px;width:10px;height:10px;border-radius:50%;background:var(--pink)}.nt-more{margin-top:6px}.hud-level.is-boss{border-color:var(--boss-level);color:var(--boss-level);background:var(--tint-pink)}.hud-boss-tag{background:var(--boss-level);color:#fff;border-radius:var(--radius-pill);padding:calc(1px + .065em) 7px calc(1px - .065em);font-size:12px;margin-right:4px;margin-bottom:calc(.13 * var(--hud-level-fs, 14px))}:root[data-theme=dark] .hud-boss-tag{color:var(--bg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hud-boss-tag{color:var(--bg)}}.hud-goals[hidden]{display:none}.hud-boss{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;transform-origin:22px 60%}.hud-boss-portrait{position:relative;flex:0 0 auto;width:clamp(44px,12vw,52px);height:clamp(44px,12vw,52px);margin-top:-4px;overflow:visible}.hud-boss-portrait>svg{position:absolute;inset:0;width:100%;height:100%}.hud-boss-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:3px}.hud-boss-line{display:flex;align-items:center;gap:6px;min-width:0}.hud-boss-name{flex:1 1 0;min-width:0;font-family:var(--font-title);font-size:clamp(12px,3.3vw,13px);line-height:1;padding-top:.13em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-boss-count{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:7.5em;height:clamp(20px,5.4vw,22px);padding:0 8px 0 4px;border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line);font-family:var(--font-title);font-size:clamp(12px,3.3vw,13px);line-height:1;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.hud-boss-count>svg{width:16px;height:16px;flex:0 0 auto}.hud-boss-count-text{padding-top:.13em}.hud-boss-count.is-warn{background:var(--tint-peach);border-color:var(--peach);color:var(--pink-text)}.hud-boss-count.is-done{background:var(--tint-mint);border-color:var(--mint);color:var(--mint-text)}.hud-boss-count.is-flash{animation:boss-chip-flash .26s ease-out both}.hud-boss-hp{position:relative;height:clamp(14px,3.8vw,16px);border-radius:var(--radius-pill);background:var(--surface-2);border:1.5px solid var(--ink);overflow:hidden}.hud-boss-hp-ghost,.hud-boss-hp-fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius-pill)}.hud-boss-hp-ghost{background:#fff9;transition:width .3s var(--ease-out)}.hud-boss-hp-fill{background:var(--boss-hp);transition:width .18s var(--ease-out),background var(--dur-base)}.hud-boss.is-instant .hud-boss-hp-ghost,.hud-boss.is-instant .hud-boss-hp-fill{transition:none}.hud-boss-hp-text{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--font-title);font-size:clamp(11px,3vw,12px);line-height:1;padding-top:.13em;color:#fff;text-shadow:-1px 0 var(--ink),1px 0 var(--ink),0 -1px var(--ink),0 1px var(--ink);white-space:nowrap}.hud-boss-hp.is-flash{animation:boss-bar-flash .3s ease-out both}.hud-boss.is-low .hud-boss-hp-fill{background:var(--boss-hp-low)}.hud-boss.is-low .hud-boss-portrait:after{content:"";position:absolute;right:-3px;top:2px;width:8px;height:11px;border-radius:50%/60% 60% 40% 40%;background:#bfe6ff;border:1.5px solid var(--ink);transform:rotate(18deg)}.hud-boss.is-defeated .hud-boss-hp-fill{width:0!important}.hud-boss.is-hit .hud-boss-portrait{animation:boss-squash .18s var(--ease-out) both}.hud-boss.is-hit[data-hit="2"] .hud-boss-portrait{animation:boss-squash-big .2s var(--ease-out) both}.hud-boss.is-windup .hud-boss-portrait{animation:boss-windup .36s var(--ease-spring) both}.hud-boss.is-breathe .hud-boss-portrait{animation:boss-breathe .42s ease-in-out both}.hud-boss.is-shaking .hud-boss-portrait{animation:boss-tremble .3s linear both}.hud-boss-portrait.is-drop{animation:boss-drop .32s var(--ease-spring) both}.hud-boss-portrait.is-puff{animation:boss-puff .24s var(--ease-out) both}@media(max-width:350px){.hud-boss-name{display:none}.hud-boss-line{justify-content:flex-end}}.hud-banner[data-kind=boss]{background:var(--tint-pink);border-color:var(--boss-level)}.hud-banner[data-kind=boss] .hud-banner-text{color:var(--boss-level)}.hud-boss-badge{font-family:var(--font-title);font-size:15px;padding:3px 12px 1px;border-radius:var(--radius-pill);background:var(--tint-pink);color:var(--boss-level);border:2px solid var(--boss-level);white-space:nowrap}.hud-boss-badge[hidden]{display:none}.hud-float.is-dmg-s{font-size:15px;color:var(--text)}.hud-float.is-dmg-m{font-size:19px;color:var(--pink-text)}.hud-float.is-dmg-l{font-size:24px;color:var(--boss-level)}.hud-float.is-steal{color:var(--pink-text)}.pre-boss{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pre-boss-title{font-family:var(--font-title);font-size:18px;color:var(--text)}.pre-boss-line{font-size:14px}.pre-boss-steal{font-size:13px;color:var(--pink-text)}.pre-boss-reward{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius-card);background:var(--tint-pink)}.pre-boss-reward-label{font-family:var(--font-title);font-size:13px;color:var(--boss-level)}.pre-boss-chips{display:flex;flex-wrap:wrap;gap:6px}.pre-boss-chips .pill{gap:4px;font-size:13px}.pre-boss-chips .pill>svg{width:20px;height:20px}@media(max-height:740px){.pre-boss>svg{width:64px;height:64px}}.result-boss{display:flex;justify-content:center}.result-boss>svg{width:96px;height:96px}.result-clear.is-boss .result-title{color:var(--boss-level)}.result-boss-fail{display:flex;align-items:center;gap:10px;width:100%}.result-boss-fail>svg{flex:0 0 auto;width:56px;height:56px}.result-boss-fail-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.result-boss-fail-main .hud-boss-hp{height:14px}.result-boss-left{font-family:var(--font-title);font-size:18px;color:var(--boss-level)}.preview-boss{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.preview-boss>svg{width:72px;height:72px}@keyframes boss-squash{0%{transform:scale(1.12,.84)}to{transform:scale(1)}}@keyframes boss-squash-big{0%{transform:scale(1.2,.76) rotate(-4deg)}to{transform:scale(1)}}@keyframes boss-windup{0%{transform:scale(1) rotate(0)}45%{transform:scale(1.12) rotate(-6deg)}to{transform:scale(1) rotate(0)}}@keyframes boss-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes boss-tremble{0%,to{transform:translate(0)}20%,60%{transform:translate(-2px)}40%,80%{transform:translate(2px)}}@keyframes boss-drop{0%{transform:translateY(-24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes boss-puff{0%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes boss-chip-flash{0%{box-shadow:0 0 0 3px #fff}to{box-shadow:0 0 #fff0}}@keyframes boss-bar-flash{0%{background:#fff}to{background:var(--surface-2)}}:root[data-reduce-motion="1"] .hud-boss *,:root[data-reduce-motion="1"] .hud-boss{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.hud-boss,.hud-boss *{animation:none!important;transition:none!important}}.screen-play{overflow:hidden;background:var(--screen)}.play-stage{position:absolute;inset:0;overflow:hidden}.play-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.play-ui{position:absolute;inset:0;display:flex;flex-direction:column;padding:6px var(--gutter) 8px;gap:6px;pointer-events:none}.play-ui>*{pointer-events:none}.play-ui button,.play-ui .hud-goal,.play-ui .hud-coins{pointer-events:auto}.play-ui.is-locked button{pointer-events:none}.play-stage.is-booster .play-canvas{cursor:crosshair}.hud-top{display:flex;flex-direction:column;gap:6px;margin-bottom:-6px}.hud-row{display:flex;align-items:center;gap:8px;min-height:36px}.hud-row2{align-items:stretch}.hud-back{margin-left:-8px}.hud-sound,.hud-theme{width:36px;min-height:36px;margin-right:-6px}@media(max-width:380px){.hud-row{gap:6px}.hud-sound,.hud-theme{width:30px}}.hud-row-main{flex-wrap:nowrap;min-width:0;gap:clamp(4px,1.6vw,8px)}.hud-row-main>*{flex-shrink:0}.hud-row-main>.grow{flex:1 1 0;min-width:0}.hud-level{--hud-level-fs: clamp(13px, 3.9vw, 15px);font-size:var(--hud-level-fs);padding:.13em clamp(8px,2.6vw,12px) 0;white-space:nowrap;font-variant-numeric:tabular-nums}.hud-level.is-hard{border-color:var(--hard-level);color:var(--hard-level);background:var(--accent-soft)}.hud-level.is-rest{border-color:var(--mint);color:var(--mint-text)}.hud-level.is-gift{border-color:var(--gold-shadow);color:var(--gold-text);background:var(--tint-gold)}.hud-level.is-challenge{border-color:var(--challenge);color:var(--challenge);background:var(--challenge-soft)}.hud-hard-tag{background:var(--hard-level);color:var(--on-accent);border-radius:var(--radius-pill);padding:calc(1px + .065em) 7px calc(1px - .065em);font-size:12px;margin-right:4px;margin-bottom:calc(.13 * var(--hud-level-fs))}.hud-moves{display:inline-flex;align-items:center;gap:clamp(3px,1.2vw,5px);padding:0 clamp(7px,2.4vw,10px);white-space:nowrap;min-height:34px;border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line)}.hud-moves-label{font-family:var(--font-title);font-size:clamp(12px,3.4vw,13px);line-height:1;padding-top:.13em;color:var(--muted)}.hud-moves-num{font-size:clamp(18px,5.8vw,22px);line-height:1;padding-top:.13em;color:var(--text)}.hud-moves.is-low .hud-moves-num{color:var(--gold-text)}.hud-moves.is-last{border-color:var(--pink);background:var(--tint-pink);animation:heartbeat 1.1s ease-in-out infinite}.hud-moves.is-last .hud-moves-num{color:var(--pink-text)}.hud-coins{white-space:nowrap;gap:4px;padding:0 clamp(8px,2.6vw,12px) 0 clamp(5px,1.6vw,8px)}.hud-coins>svg{width:clamp(16px,4.6vw,18px);height:clamp(16px,4.6vw,18px)}.hud-coins .pill-text{font-size:clamp(13px,3.9vw,15px)}.hud-goals{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hud-goal{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line);font-family:var(--font-title);font-size:15px;transition:background var(--dur-base),border-color var(--dur-base)}.hud-goal-icon{position:relative;display:inline-flex;width:32px;height:32px}.hud-goal-icon>svg{width:32px;height:32px}.hud-goal-check{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;background:#3ecca9d9;border-radius:50%}.hud-goal-check[hidden]{display:none}.hud-goal.is-done{background:var(--tint-mint);border-color:var(--mint)}.hud-goal.is-done .hud-goal-num{color:var(--mint-text)}.hud-stars{position:relative;width:120px;min-height:34px;display:flex;align-items:center;padding-right:14px}.hud-starbar{width:100%;height:10px}.hud-star{position:absolute;top:50%;transform:translate(-50%,-50%);display:inline-flex;filter:saturate(.3) opacity(.6);transition:filter var(--dur-base),transform var(--dur-base) var(--ease-spring)}.hud-star>svg{width:26px;height:26px}.hud-star.is-lit{filter:none;transform:translate(-50%,-50%) scale(1.15)}.hud-badges{position:relative;flex:0 0 auto;height:clamp(24px,4vh,30px);margin:auto 0 -3px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;z-index:1}.hud-badges-in{flex:none;height:100%;display:flex;align-items:flex-end;gap:4px}.hud-badges-in>*{flex:none;box-sizing:border-box;height:100%;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;border-radius:var(--radius-pill);font-family:var(--font-title);line-height:1;white-space:nowrap;transform-origin:50% 100%}.hud-chain[hidden],.hud-combo[hidden],.hud-explosion[hidden],.hud-banner[hidden],.hud-timer[hidden],.hud-streak[hidden]{display:none}.hud-badges-in>.hud-chain{position:relative;height:calc(100% + 6px);padding:0 16px}.hud-chain>svg{position:absolute;inset:0;width:100%;height:100%}.hud-chain-text{position:relative;font-size:15px;text-shadow:0 2px 0 var(--ink)}.hud-chain[data-tier="7"] .hud-chain-text{font-size:16px}.hud-combo{position:relative;z-index:1;min-width:44px;font-size:18px;color:var(--on-color);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);background:var(--yellow)}.hud-combo[data-x="3"]{background:var(--peach);font-size:19px}.hud-combo[data-x="4"]{background:linear-gradient(180deg,var(--pink),#a47bff);font-size:20px}.hud-explosion{font-size:14px;color:var(--on-color);background:var(--sky);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink)}.hud-explosion[data-x="3"]{background:var(--peach)}.hud-explosion[data-x="4"]{background:var(--pink)}.hud-timer{padding:0 12px;background:var(--ink-fill);color:#fff;font-size:14px}.hud-timer[data-kind=fever]{background:var(--hard-level);color:var(--on-accent)}.hud-timer.is-urgent{background:var(--pink);color:var(--on-color);animation:heartbeat .8s ease-in-out infinite}.hud-streak{padding:0 10px;background:var(--surface);border:1.5px solid var(--line);font-size:13px}.hud-streak>svg{width:16px;height:20px}.hud-streak[data-milestone=rainbow],.hud-streak[data-milestone=parade]{background:var(--rainbow);background-size:200% 100%;animation:rainbow-border 2s linear infinite;color:var(--ink)}.board-slot{position:relative;flex:1 1 auto;min-height:160px;width:100%}.play-ui>.board-slot{flex:0 1 auto;aspect-ratio:1 / 1;margin-bottom:auto}.board-overlay{position:absolute;inset:0;pointer-events:none}.hud-banner{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 22px;border-radius:var(--radius-card);background:rgba(var(--glass-rgb),.92);border:2.5px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-align:center;pointer-events:none}.hud-banner-text{font-size:30px;line-height:1.1}.hud-banner-sub{font-family:var(--font-hand);font-weight:400;font-size:15px;color:var(--muted)}.hud-banner[data-kind=sweep]{background:var(--tint-pink)}.hud-banner[data-kind=crisis]{background:var(--tint-gold)}.hud-banner[data-kind=fever],.hud-banner[data-kind=golden]{--muted: #5a5678;color:#26224a}.hud-banner[data-kind=fever]{background:var(--rainbow);background-size:200% 100%;animation:rainbow-border 1.6s linear infinite}.hud-banner[data-kind=golden]{background:linear-gradient(180deg,#fff1c9,#ffd84d)}.hud-banner[data-kind=luck]{background:var(--accent-soft)}.hud-banner[data-kind=info]{padding:8px 16px}.hud-banner[data-kind=info] .hud-banner-text{font-size:20px}.hud-bottom{display:flex;flex-direction:column;gap:6px}.hud-fever{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line)}.hud-fever-label{font-size:15px;color:var(--accent)}.stack-tight{display:flex;flex-direction:column;gap:3px}.hud-feverbar{height:18px}.hud-fever-text{font-family:var(--font-hand);font-weight:400;font-size:13px;color:var(--muted);line-height:1.2}.hud-fever.is-near{border-color:var(--grape);animation:heartbeat 1s ease-in-out infinite}.hud-fever.is-active{border-color:transparent;box-shadow:0 0 0 3px var(--grape)}.hud-fever.is-active .hud-fever-text{color:var(--accent)}.hud-fever.is-afterglow{box-shadow:0 0 0 3px #9a6bff59;transition:box-shadow 1.2s}.hud-mission{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-title);font-size:13px;max-width:78%}.hud-mission[hidden]{display:none}.hud-mission>svg{flex:0 0 auto;opacity:.35}.hud-mission.is-done{background:var(--tint-mint);color:var(--mint-text)}.hud-mission.is-done>svg{opacity:1}.hud-mission-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-hint.is-ready{color:var(--accent);animation:heartbeat 1.2s ease-in-out infinite}.hud-companion{display:flex;align-items:flex-end;gap:6px;min-height:64px}.hud-soda{flex:0 0 auto;width:64px;height:64px}.hud-soda>svg{width:64px;height:64px}.hud-bubble{flex:1;min-height:60px;font-size:15px;padding:10px 14px 20px}.hud-boosters{display:flex;justify-content:space-around;gap:10px}.hud-booster{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 5px;border-radius:16px;background:var(--surface);border:2px solid var(--line);box-shadow:0 3px 0 0 var(--soft-shadow);transition:transform var(--dur-fast),box-shadow var(--dur-fast),border-color var(--dur-fast)}.hud-booster:active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--soft-shadow)}.hud-booster.is-active{border-color:var(--accent);background:var(--accent-soft);animation:heartbeat 1.2s ease-in-out infinite}.hud-booster:disabled{filter:saturate(.3) opacity(.6)}.hud-booster>svg{width:30px;height:30px}.hud-booster-label{font-family:var(--font-title);font-size:12px;color:var(--muted)}.hud-booster-count{position:absolute;top:-8px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:12px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--surface)}.hud-booster.is-empty .hud-booster-count{background:var(--muted)}@keyframes stamp{0%{transform:translate(-50%,-50%) scale(2.2);opacity:0}60%{transform:translate(-50%,-50%) scale(.9);opacity:1}to{transform:translate(-50%,-50%) scale(1.15)}}.hud-star.anim-stamp{animation:stamp .42s var(--ease-out) both}@keyframes stamp-plain{0%{transform:scale(2.4);opacity:0}60%{transform:scale(.9);opacity:1}to{transform:scale(1)}}.result-star.anim-stamp{animation:stamp-plain .42s var(--ease-out) both}.play-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px var(--gutter);background:rgba(var(--scrim-rgb),.32);animation:fade-in var(--dur-base) ease-out both;overflow-y:auto}.play-overlay.is-static{position:relative;inset:auto;min-height:100%;background:transparent}.play-overlay.is-leaving{animation:fade-out .2s ease-in both}.play-overlay-card{position:relative;width:100%;max-width:380px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 16px;border-radius:var(--radius-card);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-pop);text-align:center;animation:pop var(--dur-slow) var(--ease-spring) both}.result-clear .play-overlay-card{background:rgba(var(--glass-rgb),.94)}.roulette-title{font-size:24px}.roulette-sub{font-size:14px}.roulette-wrap{position:relative;width:240px;height:240px;margin:6px 0}.roulette-wheel{width:240px;height:240px;transform-origin:50% 50%;will-change:transform}.roulette-arrow{position:absolute;left:50%;top:-14px;transform:translate(-50%)}.roulette-result{font-size:22px;color:var(--accent);min-height:28px}.roulette-result[hidden]{display:none}.result-card{gap:8px}.result-title{font-family:var(--font-title);font-size:34px;line-height:1.1}.result-fail-title{font-size:24px;color:var(--accent)}.result-sub{font-size:14px}.result-rainbow-bg{position:absolute;left:0;right:0;top:0;width:100%;height:auto;pointer-events:none;opacity:.9;border-radius:var(--radius-card) var(--radius-card) 0 0}.result-streak{position:relative;display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--tint-gold);border:2px solid var(--ink)}.result-streak[hidden]{display:none}.result-streak-num{font-size:26px}.result-streak>svg{width:30px;height:40px}.result-stars{position:relative;display:flex;gap:10px;min-height:48px}.result-star{display:inline-flex;filter:saturate(.3) opacity(.5)}.result-star.is-lit{filter:none}.result-star>svg{width:44px;height:44px}.result-lanterns{position:relative;width:100%}.result-lanterns>svg{width:100%;height:auto}.result-lantern-text{font-size:15px;color:var(--muted)}.result-coins{display:flex;align-items:center;gap:8px}.result-coin-num{font-size:34px;color:var(--gold-text)}.result-coin-label{font-size:14px}.result-breakdown{position:relative;width:100%;display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--muted)}.result-breakdown li{display:flex;justify-content:space-between;padding:2px 10px}.result-badges{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.result-badge{font-size:13px}.result-badge.is-crisis{background:var(--tint-gold);color:var(--gold-text)}.result-badge.is-sweep{background:var(--tint-pink);color:var(--pink-text)}.result-badge.is-mission,.result-badge.is-unlock{background:var(--tint-mint);color:var(--mint-text)}.result-badge.is-first,.result-badge.is-box{background:linear-gradient(180deg,#fff1c9,#ffd84d);color:#7a5a00}.result-badge.is-heart{gap:4px;background:var(--tint-pink);color:var(--pink-text);font-weight:700}.result-badge.is-streak-reward{gap:4px;background:var(--accent-soft);color:var(--accent);font-weight:700}.result-gift{position:relative;width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}.result-actions{position:relative;width:100%;display:flex;flex-direction:column;gap:8px;margin-top:4px;transition:opacity var(--dur-base)}.result-actions.is-hidden{opacity:0;pointer-events:none}.result-percent{font-size:46px;line-height:1;color:var(--accent)}.result-lines{width:100%;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:14px;line-height:1.5;text-align:left}.result-lines li:before{content:"·";margin-right:6px;color:var(--accent)}.result-luck{font-size:15px;color:var(--gold-text);background:var(--tint-gold);border-radius:var(--radius-pill);padding:6px 14px}.result-luck[hidden]{display:none}.result-note{font-size:12.5px}.result-soda>svg{width:80px;height:80px}.preview-grid{display:grid;grid-template-columns:repeat(8,24px);grid-template-rows:repeat(8,24px);gap:2px;padding:6px;border-radius:var(--radius-sm);background:rgba(var(--glass-rgb),.6);border:1.5px solid var(--line)}.preview-cell{width:24px;height:24px;border-radius:6px;background:var(--surface-2);display:inline-grid;place-items:center}.preview-cell.is-void{background:transparent}.preview-cell>svg{grid-area:1 / 1;width:22px;height:22px}.preview-goals{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.preview-goals .pill{gap:4px}.preview-hint{font-size:16px;color:var(--accent)}.preview-progress{width:100%;height:8px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.preview-bar{display:block;width:0;height:100%;background:var(--primary-gradient)}.pre-page{height:100%;max-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:0}.pre-card{display:flex;flex-direction:column;gap:10px}.pre-page>.pre-card{margin-bottom:24px}.pre-foot{position:sticky;bottom:0;z-index:1;display:flex;flex-direction:column;gap:8px;margin:0 -16px -16px;padding:6px 16px 16px;background:var(--surface);border-radius:0 0 var(--radius-card) var(--radius-card)}.pre-foot:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:18px;background:linear-gradient(to bottom,transparent,var(--surface));pointer-events:none}.pre-head{display:flex;align-items:center;gap:8px}.pre-kind,.pre-moves{font-size:13px}.pre-goals{display:flex;flex-wrap:wrap;gap:6px}.pre-goal{gap:6px;padding-left:6px;min-height:34px}.pre-goal>svg{width:26px;height:26px}.pre-new{font-size:16px;color:var(--accent)}.pre-companion{display:flex;align-items:flex-end;gap:6px}.pre-companion>svg{flex:0 0 auto}.pre-bubble{flex:1;background:var(--surface-2);color:var(--text);border-radius:var(--radius-card);padding:10px 14px;font-size:15px}.pre-tips{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--muted);padding-left:4px}.pre-tips li:before{content:"·";margin-right:6px;color:var(--accent)}.pre-note{align-self:flex-start}.pre-attempts{font-size:13px}.pre-label{font-size:15px;margin-top:4px}.pre-where{margin-top:-6px;font-size:12.5px;line-height:1.5;color:var(--muted)}.pre-where.is-short{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pre-where.is-empty{color:var(--accent);font-weight:700}.pre-where-link{padding:2px 4px;color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.pre-boosters{display:flex;gap:8px}.pre-booster{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;border-radius:16px;background:var(--surface);border:2px solid var(--line);box-shadow:0 3px 0 0 var(--soft-shadow);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast)}.pre-booster:active{transform:translateY(2px)}.pre-booster.is-on{border-color:var(--accent);background:var(--accent-soft)}.pre-booster:disabled{filter:saturate(.3) opacity(.55)}.pre-booster>svg{width:30px;height:30px}.pre-booster-label{font-family:var(--font-title);font-size:12px;color:var(--text)}.pre-booster-count{font-size:12px;color:var(--muted)}.pre-hearts{font-size:13.5px;text-align:center}@media(max-width:380px){.hud-stars{width:96px}.hud-goal{font-size:13px}.hud-goal-icon,.hud-goal-icon>svg{width:26px;height:26px}.hud-booster>svg{width:26px;height:26px}.hud-bubble{font-size:14px}.roulette-wrap,.roulette-wheel{width:200px;height:200px}}@media(max-height:640px){.hud-companion{min-height:48px}.hud-soda,.hud-soda>svg{width:48px;height:48px}.hud-bubble{min-height:48px;padding:8px 12px 16px;font-size:14px}}@keyframes mg-beat{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes mg-beat-near{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes mg-beat-big{0%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes mg-bannerpop{0%{transform:scale(1.15);box-shadow:0 0 0 4px #fff,0 4px 0 var(--ink)}60%{box-shadow:0 0 #fff0,0 4px 0 var(--ink)}to{transform:scale(1)}}@keyframes mg-float{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-24px);opacity:0}}@keyframes mg-nudge{0%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes mg-impact{0%{transform:scale(1.06)}to{transform:scale(1)}}.anim-beat{animation:mg-beat .12s var(--ease-out) both}.anim-beat-near{animation:mg-beat-near .2s var(--ease-out) both}.anim-beat-big{animation:mg-beat-big .24s var(--ease-out) both}.anim-nudge{animation:mg-nudge 60ms linear both}.anim-impact{animation:mg-impact 60ms linear both}.hud-banner.anim-bannerpop{animation:mg-bannerpop .2s var(--ease-spring) both}.hud-fevermult{position:absolute;left:-50px;top:6px;padding:0 7px;font-size:13px;line-height:20px;z-index:1;transition:opacity .3s}.hud-fevermult[hidden]{display:none}.hud-fevermult.is-leaving{opacity:0}.hud-fever.is-countdown .bar>i{transition:none}.hud-fever.is-final .bar>i{background:var(--pink)}.hud-fever.is-final{box-shadow:0 0 0 3px var(--pink)}.hud-fever .bar-label{transition:transform .16s var(--ease-spring)}.hud-fever[data-near="3"] .bar-label{transform:scale(1.15)}.hud-fever.is-hundred .bar-label{transform:scale(1.3)}.hud-fever[data-near="1"]{animation-duration:.9s}.hud-fever[data-near="2"]{animation-duration:.6s}.hud-fever[data-near="3"]{animation-duration:.4s}.hud-cascade{padding:0 12px;background:rgba(var(--glass-rgb),.92);border:2px solid var(--ink);font-size:14px;color:var(--pink-text)}.hud-cascade[hidden],.hud-combo-flame[hidden]{display:none}.hud-badges-in>.hud-combo-flame{width:26px;height:calc(100% + 10px);padding:0;margin-right:-18px;border-radius:0;z-index:0}.hud-combo-flame>svg{width:100%;height:100%}.hud-float-layer{position:absolute;inset:0;pointer-events:none;overflow:visible}.hud-float{position:absolute;font-family:var(--font-title);font-size:20px;white-space:nowrap;animation:mg-float .7s var(--ease-out) both}.hud-float.is-starlight{color:var(--hard-level)}.result-badges.is-stepped>.result-badge{opacity:0}.result-badges.is-stepped>.result-badge.anim-pop{opacity:1}@keyframes mg-arrow-wobble{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-6deg)}75%{transform:translate(-50%) rotate(6deg)}}.roulette-arrow.is-wobble{animation:mg-arrow-wobble .18s linear infinite}.roulette-spark{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--ink);pointer-events:none}.roulette-glow{position:absolute;inset:-20px;border-radius:50%;pointer-events:none;opacity:.8;animation:mg-glow-fade .7s var(--ease-out) forwards}@keyframes mg-glow-fade{0%{opacity:.8}to{opacity:0}}.result-starfly{position:absolute;left:0;top:0;width:34px;height:34px;pointer-events:none;z-index:5}.result-starfly>svg{width:34px;height:34px}.result-gift.is-hidden{visibility:hidden}@media(prefers-reduced-motion:reduce){.anim-beat,.anim-beat-near,.anim-beat-big,.anim-nudge,.anim-impact,.hud-banner.anim-bannerpop,.roulette-arrow.is-wobble{animation:none}.hud-float{animation:none;transform:translate(-50%,-24px)}}.rl-page{padding-bottom:28px}.rl-page .small{font-size:13px}.rl-sub{margin:-6px 0 0;text-align:center;font-size:18px;color:var(--accent)}.rl-wheel{position:relative;width:min(300px,82vw);aspect-ratio:1;margin:8px auto 0}.rl-disc{position:absolute;inset:0;will-change:transform}.rl-disc>svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 16px rgba(43,38,80,.18))}.rl-disc.is-hit>svg{filter:drop-shadow(0 0 18px rgba(255,216,77,.95))}.rl-pointer{position:absolute;top:-18px;left:50%;transform:translate(-50%);z-index:2;display:inline-flex;filter:drop-shadow(0 3px 0 rgba(43,38,80,.25))}.is-spinning .rl-pointer{animation:rl-wiggle .12s ease-in-out infinite alternate}@keyframes rl-wiggle{0%{transform:translate(-50%) rotate(-6deg)}to{transform:translate(-50%) rotate(6deg)}}.rl-hub{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);border-radius:50%;border:var(--ink-width) solid var(--ink);background:var(--primary-gradient);color:#fff;font-size:20px;box-shadow:0 4px 0 var(--primary-shadow);z-index:3;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.rl-hub:active{transform:translate(-50%,-48%) scale(.94)}.is-spinning .rl-hub{pointer-events:none;filter:saturate(.6)}.rl-controls{display:flex;flex-direction:column;gap:6px}.rl-controls p{margin:0}.rl-go{animation-duration:2.4s}.rl-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);text-align:center}.rl-info ul{margin:0 0 6px;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.rl-h2{font-size:18px;margin:4px 0 -4px}.rl-table{display:flex;flex-direction:column;border-radius:var(--radius-card);border:1.5px solid var(--line);background:var(--surface);overflow:hidden}.rl-row{display:grid;grid-template-columns:14px auto 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line)}.rl-row:last-child{border-bottom:0}.rl-row.is-hit{background:var(--tint-gold)}.rl-sum{display:flex;background:var(--surface-2)}.rl-label{font-size:15px;white-space:nowrap}.rl-reward{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-pct{font-size:16px;color:var(--accent)}.rl-swatch{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--ink)}.rl-swatch.s0,.rl-swatch.s7{background:#ffe3ec}.rl-swatch.s1,.rl-swatch.s6{background:#fff1c9}.rl-swatch.s2{background:#ddf7f0}.rl-swatch.s3{background:#e3f2fd}.rl-swatch.s4{background:#e9e3ff}.rl-swatch.s5{background:#ffe8dc}.screen-season{background:var(--screen)}.ss-hero{position:relative;display:flex;flex-direction:column;gap:10px;overflow:hidden;background:linear-gradient(180deg,var(--accent-soft) 0%,var(--surface) 80%)}.ss-theme-spring{background:linear-gradient(180deg,var(--tint-pink) 0%,var(--surface) 80%)}.ss-theme-summer{background:linear-gradient(180deg,var(--tint-sky) 0%,var(--surface) 80%)}.ss-theme-autumn{background:linear-gradient(180deg,var(--tint-peach) 0%,var(--surface) 80%)}.ss-theme-winter{background:linear-gradient(180deg,var(--tint-sky) 0%,var(--surface) 80%)}.ss-hero-art{position:absolute;right:-6px;top:-6px;width:120px;height:120px;opacity:.9;pointer-events:none}.ss-hero-body{position:relative;padding-right:90px}.ss-hero-title{font-size:24px;margin:2px 0}.ss-weeks{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.ss-week{text-align:center;padding:6px 0;border-radius:var(--radius-pill);background:var(--surface-2);font-size:13px;color:var(--muted)}.ss-week.is-done{background:var(--mint);color:var(--on-color)}.ss-week.is-now{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--primary-shadow)}.ss-pass{display:flex;flex-direction:column;gap:10px}.ss-pass .stack-tight{display:flex;flex-direction:column;gap:2px}.ss-tier-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--primary-gradient);color:#fff;font-family:var(--font-title);box-shadow:0 3px 0 var(--primary-shadow)}.ss-tier-badge .num{font-size:24px;line-height:1}.ss-tier-badge small{font-size:11px}.ss-premium-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--tint-gold);color:var(--gold-text);font-size:12px;font-weight:700}.ss-pass-actions{display:flex;flex-direction:column;gap:8px}.ss-rules{display:flex;flex-direction:column;gap:6px}.ss-rule{display:flex;align-items:center;font-size:14px}.ss-tiers{display:flex;flex-direction:column;gap:6px}.ss-tier{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:stretch}.ss-tier-head{position:sticky;top:0;z-index:1;padding:6px 0;background:var(--screen);font-family:var(--font-title);font-size:13px;color:var(--muted)}.ss-cell-head{display:inline-flex;align-items:center;gap:4px}.ss-cell-head.is-paid{color:var(--gold-text)}.ss-tier-no{display:grid;place-items:center;font-size:15px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.ss-tier.is-reached .ss-tier-no{background:var(--accent);color:var(--on-accent)}.ss-tier.is-current .ss-tier-no{box-shadow:0 0 0 3px var(--gold-hi)}.ss-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:8px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);min-height:58px}.ss-cell.is-paid{background:var(--tint-cream);border-color:var(--tint-gold-line)}.ss-cell.is-locked,.ss-cell.is-needPass{opacity:.72}.ss-cell.is-claimable{border-color:var(--accent);box-shadow:0 2px 0 var(--accent)}.ss-cell.is-claimed{opacity:.6}.ss-cell.is-empty{align-items:center;justify-content:center}.ss-state{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted)}.ss-state.is-claimed{color:var(--mint-text);font-weight:700}.ss-tier-head .ss-tier-no{background:none}.set-page{padding-bottom:28px}.set-page .small,.set-pw .small{font-size:13px}.set-page p{margin:0}.set-h2{font-size:16px;margin:6px 0 -6px;color:var(--muted)}.set-account{display:flex;align-items:center;gap:12px}.set-group{display:flex;flex-direction:column;padding:4px 14px}.set-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.set-row:last-child,.set-group>.set-row:nth-last-child(2):has(+.set-row-end){border-bottom:0}.set-label{font-family:var(--font-title);font-weight:400;font-size:16px}.set-link{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer}.set-chev{display:inline-flex;transform:rotate(180deg);color:var(--muted)}.set-toggle{position:relative;flex:none;width:54px;height:32px;border-radius:16px;border:2px solid var(--line);background:var(--surface-2);cursor:pointer;transition:background var(--dur-base),border-color var(--dur-base)}.set-toggle>i{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--ink);transition:transform var(--dur-slow) var(--ease-spring)}.set-toggle.is-on{background:var(--mint);border-color:var(--vine)}.set-toggle.is-on>i{transform:translate(22px)}.set-toggle.is-busy{opacity:.6}.set-row-level{flex-wrap:wrap}.set-row-level>.grow{min-width:140px}.set-seg{display:inline-flex;flex:none;margin-left:auto;border:2px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface-2)}.set-seg-btn{min-width:48px;min-height:36px;padding:0 10px;border:0;background:transparent;color:var(--text);font-family:var(--font-title);font-size:14px;cursor:pointer;transition:background var(--dur-base)}.set-seg-btn+.set-seg-btn{border-left:1.5px solid var(--line)}.set-seg-btn.is-on{background:var(--mint);color:var(--ink)}.set-hours{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.set-select{min-height:40px;padding:0 10px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-family:var(--font-title);font-size:15px}.set-error{color:var(--pink-text);margin-top:4px}.set-row-end{display:flex;justify-content:flex-end;padding:0 0 12px}.set-version{margin-top:4px}.set-rules{list-style:none;margin:-6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--muted)}.set-rules li{display:inline-flex;align-items:center;gap:2px}.set-rules li.is-ok{color:var(--mint-text)}.set-app-icon{flex:none;border-radius:7px}.set-install-action{flex:none;margin-left:auto}.set-installed{font-family:var(--font-title);font-size:14px;color:var(--mint-text)}.screen-shop{background:var(--screen)}.sh-promise{display:flex;flex-direction:column;gap:8px}.sh-promise-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sh-promise-list li{display:flex;align-items:flex-start;gap:8px;line-height:1.45}.sh-promise-list .icon{flex:0 0 auto;margin-top:1px}.sh-coins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sh-coin{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 10px 10px;text-align:center}.sh-coin:last-child:nth-child(odd){grid-column:1 / -1}.sh-coin-badges{position:absolute;top:6px;left:6px;right:6px;display:flex;justify-content:space-between;gap:4px}.sh-coin-icon{display:grid;place-items:end center;height:60px}.sh-coin-name{font-size:16px}.sh-coin-contents{justify-content:center}.sh-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap}.sh-badge.is-double{background:var(--yellow);color:var(--ink)}.sh-badge.is-on{background:var(--mint);color:var(--on-color)}.sh-icon{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--surface-2)}.sh-heart,.sh-bundle,.sh-season,.sh-adfree,.sh-protect,.sh-refund{display:flex;flex-direction:column;gap:10px}.sh-heart-actions{display:flex;flex-direction:column;gap:8px}.sh-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sh-owned{display:inline-flex;align-items:center;gap:4px;color:var(--mint-text);font-weight:700;font-size:13px}.sh-sub-info{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.sh-sub-info dt{color:var(--muted)}.sh-sub-info dd{margin:0}.sh-renew{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--tint-gold);line-height:1.45}.sh-protect.is-minor{border-left:5px solid var(--sky)}.sh-refund-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;line-height:1.5}[data-code].is-focus{box-shadow:0 0 0 3px var(--accent),var(--shadow-card)}.sh-buy{display:flex;flex-direction:column;gap:12px}.sh-step{color:var(--muted)}.sh-step b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px}.sh-buy-head{display:flex;align-items:center;gap:12px}.sh-buy-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--surface-2)}.sh-buy-price{font-size:18px}.sh-first{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--gold-text)}.sh-buy-minor{display:flex;align-items:center;gap:6px;color:var(--muted)}.sh-buy-minor.is-over{color:var(--pink-text);font-weight:700}.sh-buy-notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;line-height:1.45}.sh-buy-error{padding:8px 10px;border-radius:var(--radius-sm);background:var(--tint-pink);color:var(--pink-text);font-size:13px}.sh-buy-error[hidden]{display:none}.sh-buy-actions{display:flex;gap:8px}.sh-buy-actions .btn{flex:1}.sh-confirm{text-align:center;padding:6px 0}.sh-confirm-q{font-size:22px}.sh-confirm-what{margin-top:4px}.sh-history{display:flex;flex-direction:column;gap:10px;min-height:120px}.sh-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sh-history-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.sh-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.sh-status{color:var(--muted)}.sh-history-row.is-completed .sh-status{color:var(--mint-text)}.sh-history-note{line-height:1.45}.screen-summary{background:var(--screen);color:var(--text)}.screen-summary .muted{color:var(--muted)}.sum-page{position:relative;min-height:100%}.sum-sky{position:absolute;inset:0;pointer-events:none}.sum-sky>svg{width:100%;height:100%;display:block}.sum-content{position:relative;display:flex;flex-direction:column;gap:14px;padding:8px var(--gutter) 28px}.sum-head .btn-ghost{--btn-fg: var(--text)}.sum-date{font-family:var(--font-title);font-size:14px}.sum-card{display:flex;flex-direction:column;gap:16px;padding:20px 16px;border-radius:24px;background:rgba(var(--glass-rgb),.82);border:1.5px solid var(--line);box-shadow:0 12px 40px #00000059;backdrop-filter:blur(2px)}.sum-kicker{margin:0;text-align:center;font-size:22px;color:#ffd84d}.sum-big{display:flex;align-items:center;justify-content:center;gap:8px}.sum-big-star{display:inline-flex;filter:drop-shadow(0 0 14px rgba(255,216,77,.8))}.sum-big-num{font-size:64px;line-height:1;color:#fff1c9}.sum-big-unit{font-size:20px;align-self:flex-end;padding-bottom:8px}.sum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sum-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:var(--radius-card);background:var(--surface-2);border:1.5px solid var(--line)}.sum-stat-label{font-size:12px;color:var(--muted)}.sum-stat-value{font-family:var(--font-title);font-size:15px}.sum-stat-value b{font-size:24px;color:var(--text);margin-right:2px}.sum-list h3{display:flex;align-items:center;gap:4px;margin:0 0 6px;font-size:15px}.sum-chips{display:flex;flex-wrap:wrap;gap:6px}.sum-chip{padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--text);font-family:var(--font-title);font-size:13px}.sum-bye{display:flex;align-items:center;gap:10px;padding-top:6px;border-top:1.5px dashed var(--line)}.sum-bye-line{margin:0;font-size:18px;line-height:1.3}.sum-actions{display:flex;flex-direction:column;gap:8px}.screen-summary .state .muted,.screen-summary .empty-desc{color:var(--muted)}.screen-team{background:var(--screen)}.tm-intro{display:flex;align-items:center;gap:12px}.tm-search{display:flex;align-items:flex-end;gap:8px}.tm-search .field{flex:1}.tm-results{display:flex;flex-direction:column;gap:8px}.tm-row{display:flex;align-items:center;gap:12px;padding:12px}.tm-row-body{display:flex;flex-direction:column;gap:2px;min-width:0}.tm-clamp{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tm-emblem{flex:0 0 auto;display:grid;place-items:center}.tm-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,var(--accent-soft) 0%,var(--surface) 90%)}.tm-name{font-size:22px}.tm-gifts{display:flex;flex-direction:column;gap:10px}.tm-gift-hearts{display:flex;gap:2px}.tm-received{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--tint-pink)}.tm-received p{flex:1;min-width:0}.tm-mission{display:flex;flex-direction:column;gap:10px;border-left:5px solid var(--mint)}.tm-mission.is-claimable{box-shadow:0 0 0 2px var(--gold-hi),var(--shadow-card)}.tm-mission-text{font-size:16px}.tm-done,.tm-sent{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--mint-text);font-weight:700}.tm-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tm-member{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line)}.tm-member.is-me{border-color:var(--accent);background:var(--accent-soft)}.tm-avatar{flex:0 0 36px;width:36px;height:36px}.tm-member-name{display:flex;align-items:center;gap:6px;min-width:0;font-weight:700;overflow:hidden;white-space:nowrap}.tm-tag{display:inline-flex;align-items:center;gap:2px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:11px}.tm-tag.is-leader{background:var(--tint-gold);color:var(--gold-text)}.tm-leave{align-self:center;color:var(--muted)}.tm-create-head{justify-content:center;flex-direction:column}.tm-emblem-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.tm-emblem-opt{display:grid;place-items:center;aspect-ratio:1;border:2px solid transparent;border-radius:14px;background:var(--surface-2);padding:2px}.tm-emblem-opt.is-picked{border-color:var(--accent);background:var(--accent-soft)}.tm-emblem-opt svg{width:100%;height:auto}.village-page{padding-bottom:28px}.village-page .small{font-size:13px}.village-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}.village-tabs .tabs-item{font-size:14px}.village-body{display:flex;flex-direction:column;gap:14px}.village-zone-card{display:flex;flex-direction:column;gap:8px}.village-zone-card p{margin:0}.village-zone-name{font-size:19px}.village-lock-note,.village-done-note,.village-season-note{display:flex;align-items:center;gap:4px}.village-done-note{color:var(--mint-text)}.village-season-note{color:var(--gold-text)}.village-scene{position:relative;width:100%;border-radius:var(--radius-card);overflow:hidden;border:1.5px solid var(--line);background:var(--surface-2)}.village-layer{position:absolute;inset:0;pointer-events:none}.village-layer>svg{width:100%;height:100%;display:block}.village-season{z-index:5;opacity:.65;overflow:hidden}.village-season>span{position:absolute;width:30%;aspect-ratio:1}.village-season>span>svg{width:100%;height:100%}.village-terrace{position:absolute;pointer-events:none}.village-terrace>svg{width:100%;height:100%;display:block}.village-building{position:absolute;aspect-ratio:1;padding:0;border:0;background:transparent;cursor:pointer;transition:transform var(--dur-base) var(--ease-spring);transform-origin:50% 88%}.village-building>svg{width:100%;height:100%;display:block}.village-building:active{transform:scale(.94)}.village-building.is-done{animation:village-bob 4s ease-in-out infinite}.village-building.is-progress>svg{filter:drop-shadow(0 0 6px rgba(255,197,51,.7))}@keyframes village-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.village-tag{position:absolute;left:50%;bottom:-6%;transform:translate(-50%);display:inline-flex;align-items:center;gap:2px;padding:2px 8px 2px 5px;border-radius:var(--radius-pill);background:rgba(var(--glass-rgb),.92);border:1.5px solid var(--ink);font-family:var(--font-title);font-size:11px;color:var(--text);white-space:nowrap}.village-building.is-done .village-tag{background:var(--tint-mint)}.village-building.is-locked .village-tag{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.village-scene.is-locked:after{content:"";position:absolute;inset:0;background:#eeebfa59;pointer-events:none;z-index:30}.village-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.village-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;text-align:center}.village-card-art>svg{display:block}.village-card-name{font-size:15px}.village-card-stars{display:inline-flex;align-items:center;gap:2px}.village-card.is-done{background:linear-gradient(180deg,var(--surface),var(--tint-mint))}.village-chip{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-family:var(--font-title);font-size:12px}.village-chip.is-done{background:var(--tint-mint);color:var(--mint-text)}.village-chip.is-progress{background:var(--tint-gold);color:var(--gold-text)}.village-chip.is-locked{background:var(--surface-2);color:var(--muted)}.village-sheet-body{display:flex;flex-direction:column;gap:12px}.village-sheet-art{display:flex;justify-content:center}.village-sheet-art.is-done>svg{animation:pop var(--dur-slow) var(--ease-spring) both}.village-sheet-state{align-items:center}.village-sheet-count{display:inline-flex;align-items:center;font-size:18px}.village-note{display:flex;align-items:center;gap:6px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.village-note.is-done{background:var(--tint-mint)}.village-stepper{display:flex;align-items:center;justify-content:center;gap:14px}.village-step{width:48px;padding:0;font-size:26px}.village-stepper-mid{display:flex;align-items:center;gap:6px;min-width:120px;justify-content:center}.village-amount{font-size:32px;color:var(--accent)}.village-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.decor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.decor-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 10px;border-radius:var(--radius-card);border:2px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.decor-option:active{transform:scale(.95)}.decor-option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.decor-option>svg{width:100%;max-width:88px;height:auto}.decor-name{font-size:13px;text-align:center}.decor-swatches{display:flex;gap:3px}.decor-swatches>i{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink)}.decor-check{position:absolute;top:6px;right:6px;display:inline-flex;background:var(--surface);border-radius:50%}.story-kicker{font-size:18px;color:var(--accent);margin:0}.story-panel{position:relative;width:100%;max-width:320px;aspect-ratio:320 / 220;margin:0 auto}.story-frame,.story-frame>svg{position:absolute;inset:0;width:100%;height:100%}.story-inner{position:absolute;inset:14px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink)}.story-art>svg{display:block;width:96px;height:96px}.story-panel.is-fresh .story-art>svg{animation:pop .6s var(--ease-spring) both}.story-text{text-align:center}.story-line{margin:0;font-size:18px;line-height:1.3;animation:story-in .5s var(--ease-out) both}@keyframes story-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.story-list{display:flex;flex-direction:column;gap:10px}.story-item{display:flex;gap:12px;align-items:center}.story-item p{margin:0}.story-item-line{font-size:15px}.village-friends{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.village-friend{display:flex;flex-direction:column;align-items:center;gap:4px}.village-pillar{position:absolute;top:0;bottom:0;z-index:60;pointer-events:none;background:linear-gradient(180deg,#ffec9600,#ffec96bf 45%,#ffd84d8c 80%,#ffd84d00);transform-origin:50% 0;animation:village-pillar 1.7s ease-out both;will-change:transform,opacity}@keyframes village-pillar{0%{transform:scaleY(.1);opacity:0}18%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);opacity:0}}.village-zone-banner{gap:8px;padding:8px 0}:root[data-reduce-motion="1"] .village-pillar{animation:none;opacity:0}.cmp-layer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(var(--safe-bottom) + 84px);z-index:20;display:flex;align-items:flex-end;gap:4px;pointer-events:none}.cmp-layer[hidden]{display:none}.cmp-layer.is-hosted{position:relative;left:auto;right:auto;bottom:auto}.cmp-layer.is-right{flex-direction:row-reverse}.cmp-layer>*{pointer-events:auto}.cmp-layer.is-in .cmp-bubble{animation:cmp-bubble-in .26s var(--ease-spring) both}.cmp-layer.is-in .cmp-avatar{animation:cmp-hop .42s var(--ease-spring) both}.cmp-avatar{flex:0 0 64px;width:64px;height:64px;filter:drop-shadow(0 3px 0 rgba(43,38,80,.12))}.cmp-bubble{flex:0 1 240px;min-height:72px;max-width:260px;margin-bottom:26px;cursor:pointer}.cmp-bubble .bubble-text{display:block;font-size:16px}.cmp-char.cmp-emo-cheer{animation:cmp-bounce .9s var(--ease-out) 2}.cmp-char.cmp-emo-amazed{animation:cmp-pop .52s var(--ease-spring) 1}.cmp-char.cmp-emo-rest{animation:cmp-breathe 3.2s ease-in-out infinite}@keyframes cmp-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:none}}@keyframes cmp-hop{0%{transform:translateY(10px) scale(.9,1.08)}60%{transform:translateY(-4px) scale(1.04,.96)}to{transform:none}}@keyframes cmp-bounce{0%,to{transform:none}40%{transform:translateY(-8px)}}@keyframes cmp-pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:none}}@keyframes cmp-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04,.97)}}.cmp-rest{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.cmp-rest-line{font-size:18px;line-height:1.4}.cmp-rest-note{font-size:13px}@media(prefers-reduced-motion:reduce){.cmp-layer.is-in .cmp-bubble,.cmp-layer.is-in .cmp-avatar,.cmp-char{animation:none!important}}
