:root{--backdrop-top:#141d44;--backdrop-bottom:#080c1c;--panel:#0d1430;--panel-edge:#1e2a58;--accent:#4f8cff;--success:#34d399;--warning:#fbbf24;--danger:#fb7185;--text:#f4f7ff;--text-soft:#f4f7ff9e;--gutter:16px;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--press:4px;--font-display:"Baloo 2", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overscroll-behavior:none;height:100dvh;margin:0}body{font-family:var(--font-body);color:var(--text);background:linear-gradient(170deg, var(--backdrop-top), var(--backdrop-bottom));-webkit-user-select:none;user-select:none;background-attachment:fixed;transition:background .42s}#app{height:100%;max-width:560px;height:100dvh;padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + var(--gutter)) calc(env(safe-area-inset-bottom) + 14px) calc(env(safe-area-inset-left) + var(--gutter));flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}#app.sized-to-viewport{height:var(--app-h)}.screen{inset:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + var(--gutter)) calc(env(safe-area-inset-bottom) + 14px) calc(env(safe-area-inset-left) + var(--gutter));flex-direction:column;gap:14px;animation:.26s cubic-bezier(.22,1,.36,1) screen-in;display:flex;position:absolute}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)scale(.99)}}.scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;overflow-y:auto}.scroll::-webkit-scrollbar{display:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0}h1{font-size:clamp(30px,9vw,42px);line-height:1.05}.subtle{color:var(--text-soft);font-size:14px;font-weight:600}.btn{font-family:var(--font-display);color:#fff;border-radius:var(--radius-md);background:var(--accent);box-shadow:0 var(--press) 0 color-mix(in srgb, var(--accent) 62%, #000);cursor:pointer;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:10px;padding:15px 22px;font-size:17px;font-weight:700;transition:transform 90ms,box-shadow 90ms,filter .16s;display:inline-flex;transform:translateY(0)}.btn:active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 0 color-mix(in srgb, var(--accent) 62%, #000)}.btn:disabled{filter:grayscale(.7)brightness(.75);cursor:default}.btn.wide{width:100%}.btn.big{border-radius:var(--radius-lg);padding:19px 24px;font-size:20px}.btn.ghost{box-shadow:0 var(--press) 0 #00000047;color:var(--text);background:#ffffff14}.btn.success{background:var(--success);box-shadow:0 var(--press) 0 color-mix(in srgb, var(--success) 62%, #000)}.btn.warning{background:var(--warning);color:#3a2a00;box-shadow:0 var(--press) 0 color-mix(in srgb, var(--warning) 62%, #000)}.icon-btn{border-radius:16px;flex:none;width:46px;height:46px;padding:0;font-size:20px}.hud{align-items:center;gap:10px;max-width:100%;display:flex;overflow:hidden}.hud>.chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.board-hud{flex-wrap:wrap;row-gap:8px;overflow:visible}.board-hud>.chip{flex:none;min-width:auto;overflow:visible}@media (max-width:400px){.hud{gap:6px}.hud>.chip{padding:8px 10px;font-size:13px}}.chip{font-size:15px;font-weight:800;font-family:var(--font-display);white-space:nowrap;background:#ffffff17;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;display:inline-flex}.chip.tight{padding:7px 11px;font-size:14px}.spacer{flex:1}.action-bar{flex-wrap:wrap}.action-bar>.btn{flex:auto;width:auto}#app[data-scene=menu],#app[data-scene=map]{background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:local}#app[data-scene=menu]{background-image:var(--art-bg-menu,none)}#app[data-scene=map]{background-image:var(--art-bg-map,none)}.modal.celebrate{position:relative}.modal.celebrate:before{content:"";background-image:var(--art-fx-clear,none);pointer-events:none;z-index:1;background-position:bottom;background-repeat:no-repeat;background-size:contain;width:132%;height:190px;animation:.9s ease-out both clear-confetti;position:absolute;bottom:calc(100% - 132px);left:50%;transform:translate(-50%)}@keyframes clear-confetti{0%{opacity:0;transform:translate(-50%)translateY(14px)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.modal.celebrate:before{animation:none}}body:has(.modal-backdrop) .toast{bottom:calc(env(safe-area-inset-bottom) + 12px)}.board-wrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}#board{touch-action:none;border-radius:var(--radius-lg);display:block}.banner{font-family:var(--font-display);pointer-events:none;text-shadow:0 6px 22px #00000073;opacity:0;font-size:44px;font-weight:800;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.banner.show{animation:.82s cubic-bezier(.2,1.5,.4,1) forwards banner-pop}@keyframes banner-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(-6deg)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.12)rotate(2deg)}36%{transform:translate(-50%,-50%)scale(1)rotate(0)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-78%)scale(.94)}}.map-path{padding:8px 0 32px;position:relative}.map-node{width:62px;height:62px;font-family:var(--font-display);color:#fff;box-shadow:0 var(--press) 0 #0000004d;cursor:pointer;background:#ffffff1a;border:0;border-radius:22px;font-size:19px;font-weight:800;transition:transform 90ms,box-shadow 90ms;position:relative}.map-node:active:not(:disabled){transform:translateY(var(--press));box-shadow:none}.map-node.done{background:var(--success);box-shadow:0 var(--press) 0 color-mix(in srgb, var(--success) 62%, #000)}.map-node.current{background:var(--accent);box-shadow:0 var(--press) 0 color-mix(in srgb, var(--accent) 62%, #000);animation:1.9s ease-in-out infinite pulse}.map-node.locked{color:var(--text-soft);cursor:default}.map-node .star-row{justify-content:center;font-size:11px;position:absolute;bottom:-14px;left:0;right:0}@keyframes pulse{50%{transform:scale(1.06)}}.map-row{justify-content:center;gap:18px;margin-bottom:26px;display:flex}.chapter-head{font-family:var(--font-display);color:var(--text-soft);align-items:center;gap:12px;margin:18px 0 14px;font-size:15px;font-weight:800;display:flex}.chapter-head:after{content:"";background:#ffffff1a;border-radius:2px;flex:1;height:2px}.region-banner{border-radius:var(--radius-lg);background:#ffffff12;background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--region-b) 38%, transparent), transparent 60%), linear-gradient(135deg, color-mix(in srgb, var(--region-a) 34%, transparent), #ffffff0a);border:1px solid #ffffff24;border:1px solid color-mix(in srgb, var(--region-a) 55%, transparent);box-shadow:0 10px 28px -18px var(--region-a);margin:26px 0 8px;padding:16px 16px 14px;position:relative;overflow:hidden}.region-banner.locked{filter:saturate(.45);opacity:.78}.region-title{flex-direction:column;gap:2px;display:flex}.region-number{letter-spacing:.08em;text-transform:uppercase;color:var(--region-b);font-size:11px;font-weight:800}.region-name{font-family:var(--font-display);margin:0;font-size:22px;line-height:1.15}.region-lock{opacity:.75;width:22px;height:22px;position:absolute;top:14px;right:14px}.region-lock svg{width:100%;height:100%}.pip-line{text-align:left;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.pip-avatar{flex:none;width:40px;height:40px;animation:3.2s ease-in-out infinite pip-bob;display:inline-block}.pip-avatar.small{width:22px;height:22px;animation:none}.pip-avatar svg{width:100%;height:100%;display:block}.pip-bubble{color:var(--text);background:#ffffff1a;border-radius:4px 14px 14px;margin:0;padding:9px 12px;font-size:14px;line-height:1.45;position:relative}.pip-bubble strong{color:var(--region-b,var(--accent));margin-right:2px}.pip-line.in-moment{margin:4px 0}.region-chip{border:1px solid #ffffff29;border:1px solid color-mix(in srgb, var(--region-a) 55%, transparent);background:#ffffff12;background:color-mix(in srgb, var(--region-a) 18%, #ffffff0d);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;margin:2px auto 6px;padding:6px 12px 6px 7px;font-size:13px;display:inline-flex}.region-chip-label{color:var(--text-soft)}.region-chip strong{color:var(--region-b)}.pip-toast{pointer-events:none;left:50%;top:calc(env(safe-area-inset-top) + 118px);border:1px solid #ffffff24;border:1px solid color-mix(in srgb, var(--region-a) 60%, transparent);z-index:60;background:#0c1024eb;border-radius:18px;align-items:flex-start;gap:10px;width:min(92vw,420px);padding:10px 12px;animation:.32s cubic-bezier(.2,1.4,.4,1) both pip-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px -16px #000000b3}#app[data-scene=menu]~.pip-toast{top:calc(env(safe-area-inset-top) + 196px)}.pip-toast .pip-bubble{background:0 0;padding:2px 0 0}@keyframes pip-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes pip-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.pip-avatar,.pip-toast{animation:none}}.card{border-radius:var(--radius-lg);background:#ffffff12;flex-direction:column;gap:12px;padding:18px;display:flex}.row{align-items:center;gap:12px;display:flex}.switch{cursor:pointer;background:#ffffff29;border:0;border-radius:999px;width:54px;height:32px;transition:background .18s;position:relative}.switch[aria-checked=true]{background:var(--success)}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s cubic-bezier(.22,1,.36,1);position:absolute;top:4px;left:4px}.switch[aria-checked=true]:after{transform:translate(22px)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:#040712a8;justify-content:center;align-items:center;padding:22px;animation:.18s fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fade-in{0%{opacity:0}}.modal{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #fff 8%), var(--panel));border:1px solid var(--panel-edge);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:16px;width:100%;max-width:400px;max-height:86vh;padding:24px;animation:.3s cubic-bezier(.22,1.3,.36,1) modal-in;display:flex;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.94)}}.stars-big{justify-content:center;font-size:40px;display:flex}.stars-big .star-row{gap:8px}.toast{pointer-events:none;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--action-bar-h,50px) + 42px);z-index:60;border:1px solid var(--panel-edge);color:var(--text);z-index:60;text-align:center;background:#080c1cf0;border-radius:999px;max-width:min(92vw,420px);padding:12px 18px;font-size:14px;font-weight:700;animation:.24s cubic-bezier(.22,1.3,.36,1) toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,18px)}}.legal{text-align:left;color:var(--text-soft);font-size:14px;line-height:1.65}.legal h2{color:var(--text);margin-top:18px;font-size:18px}.legal a{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.tile.compact{flex-direction:row;align-items:center;gap:8px;min-height:56px;padding:12px;font-size:14px}.tile.compact .tile-icon{font-size:18px}.tile.compact .tile-label{overflow-wrap:break-word;min-width:0;line-height:1.15}.pill-daily,.arena-card{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px;padding:14px 16px;display:grid}.pill-daily{background:linear-gradient(135deg, var(--danger), #ffffff1f);color:#fff}.pill-daily.done{color:var(--text);background:#ffffff14}.arena-card{background:linear-gradient(135deg, var(--accent), #ffffff1a);color:#fff}.pill-icon{font-size:20px;display:flex}.pill-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pill-meta{font-family:var(--font-body);opacity:.85;flex:none;font-size:12px;font-weight:700}.tile-settings{justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.star-row,.pip-row{align-items:center;gap:3px;line-height:1;display:inline-flex}.star-row .star-on{color:var(--warning)}.star-row .star-off{color:var(--text);opacity:.22}.pip-row{color:var(--text-soft);gap:2px;font-size:11px}.piece-line{align-items:center;gap:8px;display:flex}.toast-icon{vertical-align:-.14em;margin-right:6px;display:inline-flex}.list{flex-direction:column;gap:8px;display:flex}.field{flex-direction:column;gap:6px;margin-top:12px;display:flex}.text-input{box-sizing:border-box;border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font-body);background:#00000038;border:1px solid #ffffff29;padding:12px 14px;font-size:16px}.text-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.arena-row{border-radius:var(--radius-md);background:#ffffff0f;padding:10px 12px;font-size:14px}.arena-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.arena-row.arena-me{box-shadow:inset 0 0 0 1px var(--accent);background:#ffffff24}.arena-rank{min-width:26px;font-family:var(--font-display);color:var(--text-soft);flex:none}.tile{border-radius:var(--radius-md);min-height:92px;box-shadow:inset 0 calc(-1 * var(--press)) 0 #00000038;color:var(--text);font-family:var(--font-display);text-align:left;cursor:pointer;background:#ffffff14;border:0;flex-direction:column;align-items:flex-start;gap:3px;padding:16px;font-size:16px;font-weight:700;transition:transform .12s,background .16s;display:flex;position:relative}.tile:active:not(:disabled){background:#ffffff21;transform:translateY(2px)}.tile:disabled{opacity:.45;cursor:default}.tile .tile-icon{font-size:22px;line-height:1.1}.tile .tile-sub{font-family:var(--font-body);color:var(--text-soft);font-size:12px;font-weight:600}.tile .badge{background:var(--danger);color:#fff;min-width:20px;font-family:var(--font-body);text-align:center;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:800;position:absolute;top:8px;right:8px}.meter{background:#ffffff24;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.meter>span{background:var(--accent);border-radius:999px;height:100%;transition:width .32s cubic-bezier(.22,1,.36,1);display:block}.meter.done>span{background:var(--success)}.slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:116px;height:22px}.slider::-webkit-slider-runnable-track{background:#fff3;border-radius:999px;height:6px}.slider::-moz-range-track{background:#fff3;border-radius:999px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:0;border-radius:50%;width:20px;height:20px;margin-top:-7px}.slider::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:20px;height:20px}.slider:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;display:grid}.stat{flex-direction:column;gap:2px;display:flex}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px}.stat span{color:var(--text-soft);font-size:12px}.medal-row{align-items:center;gap:10px;display:flex}.medal-row .pips{flex:none;gap:3px;display:flex}.medal-row .pip{background:#ffffff2e;border-radius:50%;width:9px;height:9px}.medal-row .pip.on{background:var(--warning)}.mode-card{border-radius:var(--radius-md);color:var(--text);text-align:left;cursor:pointer;background:#ffffff12;border:0;flex-direction:column;gap:6px;padding:16px;display:flex}.mode-card:disabled{opacity:.5;cursor:default}.mode-card b{font-family:var(--font-display);font-size:18px}.mode-card small{color:var(--text-soft);font-size:13px;line-height:1.4}.btn.pad{flex:none;min-width:44px;min-height:44px;padding:8px 12px;font-size:18px}.btn.pad.swatch{border:2px solid #ffffff47;width:44px;padding:0}.lang-row{flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 0 10px;display:flex}.lang-chip{min-height:34px;color:var(--text-soft);font-family:var(--font-body);cursor:pointer;background:#ffffff12;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .16s,color .16s}.lang-chip:active{transform:translateY(1px)}.lang-chip.on{background:var(--accent);color:#fff}.lang-chip:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pip{background:var(--panel-2,#ffffff0d);border:1px solid var(--panel-edge,#ffffff1f);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:42px;padding:6px 4px;line-height:1.15;display:flex}.pip.done{background:color-mix(in srgb, var(--success) 22%, transparent);border-color:var(--success)}.pip.now{border-width:2px;border-color:var(--accent)}.pip-day{font-size:13px;font-weight:800}.pip-coins{opacity:.72;font-variant-numeric:tabular-nums;font-size:11px}.dead-notice{color:#f7c76a;text-align:center;background:#f5b64224;border:1px solid #f5b64273;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0 0 8px;padding:10px 14px;font-size:.92rem;line-height:1.3;display:flex}.dead-notice[hidden]{display:none}.dead-notice-line{justify-content:center;align-items:center;gap:8px;display:flex}.dead-rewind{color:#1a1206;font:inherit;text-align:center;cursor:pointer;background:linear-gradient(160deg,#f5b642,#e08b1f);border:0;border-radius:12px;padding:9px 16px;font-size:.9rem;font-weight:800;line-height:1.25;box-shadow:0 3px #0000004d}.dead-rewind:active{transform:translateY(2px);box-shadow:0 1px #0000004d}.dead-rewind[hidden]{display:none}@media (prefers-reduced-motion:reduce){.dead-rewind:active{transform:none}}.live-stats{color:var(--subtle,#8a93a7);flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:8px auto 0;padding:4px 12px 2px;font-size:.82rem;font-weight:600;display:flex}.live-dot{background:#3fd8a4;border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite live-dot;box-shadow:0 0 #3fd8a499}@keyframes live-dot{0%{box-shadow:0 0 #3fd8a48c}70%{box-shadow:0 0 0 7px #3fd8a400}to{box-shadow:0 0 #3fd8a400}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.live-stats[hidden]{display:none}.live-stat{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.live-stat[hidden]{display:none}.result-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 2px;display:grid}.result-stat{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;display:flex}.result-stat-icon{color:var(--text-soft);font-size:18px;line-height:1}.result-stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:22px;line-height:1.1}.result-stat-label{color:var(--text-soft);font-size:11px}.result-stat.reward{background:color-mix(in srgb, var(--coin,#f5b642) 16%, transparent)}.result-stat.reward .result-stat-icon,.result-stat.reward .result-stat-value{color:var(--coin,#f5b642)}.landing{max-width:34rem;padding:24px 16px calc(env(safe-area-inset-bottom) + 32px);color:var(--text-soft);margin:0 auto;line-height:1.6}.landing-hero{flex-direction:column;justify-content:center;min-height:100svh;padding-bottom:6vh;display:flex}.landing h1{font-family:var(--font-display);color:var(--text);margin:0 0 12px;font-size:clamp(1.6rem,7vw,2.2rem);line-height:1.2}.landing h2{font-family:var(--font-display);color:var(--text);margin:28px 0 8px;font-size:1.1rem}.landing p{margin:0 0 12px}.landing ol,.landing ul{margin:0 0 12px;padding-left:1.25rem}.landing li{margin-bottom:6px}.landing dt{color:var(--text);margin-top:12px;font-weight:700}.landing dd{margin:4px 0 0}.landing-footer{color:#8a93a7;text-align:center;border-top:1px solid #ffffff14;margin-top:28px;padding-top:14px;font-size:.8rem}.landing-footer p{margin:2px 0}.menu-footer a,.landing-footer a{color:inherit;text-underline-offset:2px;text-decoration:underline}.menu-footer{text-align:center;color:var(--subtle,#8a93a7);opacity:.8;margin:0;padding-bottom:10px;font-size:.72rem}.landing-guides a,.landing h2 a{color:var(--accent);text-decoration:none}.landing-guides a:hover,.landing h2 a:hover{text-decoration:underline}.landing-languages{flex-wrap:wrap;gap:8px 14px;padding:0;list-style:none;display:flex}.landing-languages a{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.modal.teach{max-width:420px}.teach-rule{color:var(--text-soft);text-align:left;margin:0 0 14px;font-size:14px;line-height:1.55}.teach-steps{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:4px;display:flex}.teach-step{flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.teach-board{background:#00000038;border-radius:14px;display:block}.teach-step figcaption{color:var(--text-soft);text-align:center;max-width:132px;font-size:11px}.teach-goal{color:var(--text);text-align:left;margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.5}.moment-icon{filter:drop-shadow(0 10px 24px #00000059);place-items:center;margin:8px auto 0;font-size:72px;line-height:1;animation:.52s cubic-bezier(.2,1.4,.4,1) both moment-pop;display:grid}.moment-icon.flame{filter:drop-shadow(0 0 28px #ff8a3d8c)}.moment-number{font-family:var(--font-display);text-align:center;font-variant-numeric:tabular-nums;color:#ffb057;margin-top:-6px;font-size:64px;font-weight:800;line-height:1;animation:.52s cubic-bezier(.2,1.4,.4,1) .12s both moment-pop}.modal .moment-number+h2,.modal .moment-icon+h2{text-align:center;margin:6px 0 4px}@keyframes moment-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.moment-reward{width:-moz-fit-content;width:fit-content;font-family:var(--font-display);color:var(--coin,#f5b642);background:color-mix(in srgb, var(--coin,#f5b642) 16%, transparent);border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:6px auto;padding:8px 16px;font-size:20px;display:flex}.week-dots{grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0 6px;display:grid}.week-dot{flex-direction:column;align-items:center;gap:4px;display:flex}.week-dot-mark{color:#fff;background:color-mix(in srgb, var(--text) 10%, transparent);border:2px solid #0000;border-radius:50%;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.week-dot.done .week-dot-mark{background:#ff8a3d}.week-dot.today .week-dot-mark{background:#ff8a3d;animation:.52s cubic-bezier(.2,1.4,.4,1) .36s both moment-pop;box-shadow:0 0 0 4px #ff8a3d4d}.week-dot.missed .week-dot-mark{background:color-mix(in srgb, var(--text) 5%, transparent)}.week-dot-day{color:var(--text-soft);font-size:11px}.week-dot.today .week-dot-day{color:#ffb057;font-weight:800}.streak-chip{cursor:pointer;font:inherit;color:var(--text-soft);border:0}.streak-chip svg{filter:grayscale()opacity(.55)}.streak-chip.kept{color:#ffb057}.streak-chip.kept svg{filter:none}.progress-lines{flex-direction:column;gap:8px;margin:2px 0;display:flex}.progress-label{color:var(--text-soft);font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.progress-track{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s ease-out}.progress-line.chest .progress-fill{background:linear-gradient(90deg,#f5b642,#ffd166)}@media (prefers-reduced-motion:reduce){.moment-icon,.moment-number,.week-dot.today .week-dot-mark{animation:none}}.studio-banner{border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--accent) 6%, transparent));min-height:32px;color:var(--text);font:700 12.5px/1.2 var(--font-body);-webkit-tap-highlight-color:transparent;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px;text-decoration:none;transition:background .16s,border-color .16s;display:flex}.studio-banner:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, transparent)}.studio-banner:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, transparent)}.studio-banner:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio-banner-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.studio-banner-run{display:inline-block}.studio-banner.scrolls .studio-banner-text{text-overflow:clip}.studio-banner.scrolls .studio-banner-run{animation:studio-drift var(--drift,10s) ease-in-out infinite alternate}@keyframes studio-drift{0%,18%{transform:translate(0)}82%,to{transform:translateX(var(--shift,0))}}@media (prefers-reduced-motion:reduce){.studio-banner.scrolls .studio-banner-run{animation:none}.studio-banner.scrolls .studio-banner-text{text-overflow:ellipsis}}.landing>.studio-banner{padding-block-start:7px;padding-block-end:7px}.play-banner{--accent:#34d399}.studio-banner+.play-banner{margin-top:-6px}.landing>.studio-banner .studio-banner-text{white-space:normal;word-break:keep-all}.studio-banner-arrow{color:var(--accent);flex:none;font-size:14px}.landing>.studio-banner{margin-bottom:4px}
