:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#091330;--surface:#152c53;--surface-raised:#234576;--line:#4b6b99;--text:#f6f0de;--muted:#b3bdd0;--gold:#ffcf59;--gold-dim:#9b7133;--mint:#94dfbf;--danger:#ffacb6;--edge:#080d1b;--button-face:#2b568d;--button-edge:#7caee2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius:10px;font-synthesis:none;text-rendering:optimizelegibility;text-underline-position:from-font;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--edge);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input{font:inherit}button,a{touch-action:manipulation}button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:not-allowed}a{color:#bcdfff;text-underline-offset:4px}button img{pointer-events:none}img{max-width:100%}h1,h2,h3{text-wrap:balance;word-break:keep-all}p{text-wrap:pretty}.sprite-preview,.pixel-art{image-rendering:pixelated}.art-icon{vertical-align:middle;object-fit:contain;flex-shrink:0;display:inline-block}.button-gold .art-icon,.button-purple .art-icon,.fire-face .art-icon{filter:brightness(0)saturate();opacity:.8}.app-viewport{width:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#101627;align-items:center;justify-items:center;display:grid}.app-frame{isolation:isolate;background:var(--ink);width:100%;max-width:520px;height:100%;position:relative;overflow:hidden}.app-frame>.game-page,.app-frame>.menu-screen{animation:.16s ease-out screen-enter}.game-page{background:var(--ink);width:100%;height:100%;color:var(--text);flex-direction:column;display:flex}.screen-header{min-height:88px;padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-3);border-bottom:2px solid var(--edge);background:linear-gradient(120deg,#1c3868,#15325d 55%,#25396f);flex-shrink:0;display:flex;box-shadow:inset 0 2px rgba(113,152,201,.267),inset 0 -2px #496594}.screen-heading{flex:1;min-width:0}.screen-heading h1{letter-spacing:-.5px;outline:none;font-size:20px;font-weight:800}.screen-heading p{color:var(--muted);margin-top:var(--space-1);font-size:12px;line-height:1.5}.header-spacer{width:0}.page-scroll{min-height:0;padding:var(--space-5) var(--space-5) var(--space-8);overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;overflow-x:hidden;overflow-y:auto}.section-title{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:16px;font-weight:700;display:flex}.section-title small,.eyebrow{color:var(--muted);font-size:12px;font-weight:400}.muted{color:var(--muted)}.panel,.arcade-card{border:2px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,#203f6c,#132a50 60%,#122343);box-shadow:inset 0 2px rgba(151,205,244,.15),inset 0 -3px rgba(5,15,40,.333),0 5px #050d21,0 12px 28px rgba(0,0,0,.2)}.arcade-button{--face:var(--button-face);--rim:var(--button-edge);--depth:#172137;justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-4);border:2px solid var(--rim);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--face), white 14%), var(--face) 48%, color-mix(in srgb, var(--face), black 12%));box-shadow:inset 0 2px rgba(255,255,255,.467), inset 0 -3px rgba(0,0,0,.14), 0 5px 0 var(--depth), 0 7px 0 var(--edge), 0 9px 20px rgba(0,0,0,.267);color:var(--text);cursor:pointer;font-size:14px;font-weight:700;line-height:1.4;transition:background-color .12s,box-shadow .12s,transform .12s;display:inline-flex}.button-gold{--face:#ffcb42;--rim:#fff0ae;--depth:#a65923;color:#44242b;text-shadow:0 1px #fff3b9}.button-purple{--face:#9757d4;--rim:#e9b7ff;--depth:#4c2477;color:#fff4ff}.arcade-button:disabled{--face:#29334a;--rim:#3f4a60;--depth:#182033;color:#8690a6;box-shadow:0 2px 0 var(--edge)}.icon-button{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0}.primary-action{width:100%;min-height:56px;font-size:16px;font-weight:800}.text-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 12px;font-size:12px}.tag{justify-content:center;align-items:center;gap:var(--space-1);color:var(--gold);white-space:nowrap;background:#302d30;border:1px solid #8e7548;border-radius:2px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.tag-mint{color:var(--mint);background:#20383c;border-color:#4f7d70}.tag-muted{color:var(--muted);border-color:var(--line);background:#202a40}.progress-track{border:1px solid var(--edge);background:#090f1d;border-radius:1px;width:100%;height:8px;overflow:hidden}.progress-track>span{background:linear-gradient(90deg,#ff963e,#ffd964);height:100%;transition:width .25s;display:block;box-shadow:inset 0 2px #fff0b6,0 0 12px rgba(255,217,100,.4)}.segment-control{margin:var(--space-4) var(--space-5);gap:var(--space-1);border-bottom:2px solid var(--line);flex-shrink:0;padding:0;display:flex}.segment-control+.page-scroll{padding-top:var(--space-1)}.segment-control button{min-height:48px;padding:var(--space-3) var(--space-2);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px 2px 0 0;flex:1;font-size:14px;font-weight:700;position:relative}.segment-control button[aria-selected=true]{color:var(--gold);background:var(--surface);box-shadow:0 2px 0 var(--gold)}.segment-control button span{margin-left:var(--space-2);color:var(--muted);font-size:12px}.info-note{color:var(--muted);padding:var(--space-3) 0;border-top:1px solid var(--line);word-break:keep-all;font-size:12px;line-height:1.75}.sticky-actions{background:var(--surface);padding:var(--space-4) var(--space-5) var(--space-6);border-top:2px solid var(--line);box-shadow:0 -4px 0 var(--edge);flex-shrink:0}.game-dialog{width:min(400px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--text);box-shadow:0 6px 0 var(--edge), 0 16px 48px rgba(0,0,0,.4);overscroll-behavior:contain;background:radial-gradient(at 50% 0,#325c90,transparent 55%),#112744;border:2px solid #e5c172;border-radius:14px;margin:auto;padding:0;overflow-y:auto}.game-dialog::-ms-backdrop{background:rgba(8,13,27,.85)}.game-dialog::backdrop{background:rgba(8,13,27,.85)}.dialog-body{padding:var(--space-6);text-align:center}.dialog-emblem{width:56px;height:56px;margin:0 auto var(--space-4);color:var(--gold);border:2px solid var(--line);box-shadow:0 3px 0 var(--edge);background:var(--ink);border-radius:4px;align-items:center;justify-items:center;display:grid}.game-dialog h2{letter-spacing:-.5px;margin-bottom:var(--space-3);font-size:20px}.dialog-description{color:var(--muted);margin:var(--space-2) 0 var(--space-5);word-break:keep-all;font-size:14px;line-height:1.75}.dialog-actions{gap:var(--space-3);margin-top:var(--space-6);flex-direction:column;display:flex}.dialog-actions .arcade-button{width:100%}.danger-button{color:var(--danger);border-radius:var(--radius);box-shadow:0 3px 0 var(--edge);padding:var(--space-3) var(--space-4);cursor:pointer;background:#3e2537;border:2px solid #865166;min-height:48px;font-weight:700}.control-guide{text-align:left;margin-top:var(--space-6)}.control-guide>div{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.guide-art{flex-shrink:0;align-items:center;justify-items:center;width:56px;height:56px;display:grid;position:relative}.control-guide strong{margin-bottom:var(--space-1);font-size:14px;display:block}.control-guide p span{color:var(--muted);font-size:12px;line-height:1.75}.control-guide .keyboard-guide{justify-content:center;gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;margin:0;font-size:12px}kbd{border:1px solid var(--line);color:var(--text);background:var(--surface-raised);border-bottom-width:3px;border-radius:2px;padding:2px 4px;font-family:inherit;font-size:12px}.game-notice{z-index:200;border-radius:var(--radius);background:var(--surface-raised);box-shadow:0 4px 0 var(--edge);pointer-events:none;opacity:0;border:2px solid #74839d;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;line-height:1.5;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:24px;left:20px;right:20px;transform:translateY(8px)}.game-notice.is-visible{opacity:1;transform:none}.empty-state{padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-emblem{width:80px;height:80px;margin-bottom:var(--space-6);color:var(--gold);border:2px solid var(--line);background:var(--surface);box-shadow:0 4px 0 var(--edge);border-radius:4px;align-items:center;justify-items:center;display:grid}.empty-state h2{margin-bottom:var(--space-3);font-size:20px}.empty-state p{color:var(--muted);max-width:280px;margin-bottom:var(--space-6);word-break:keep-all;font-size:14px;line-height:1.75}.loading-dots{justify-content:center;gap:8px;margin:16px 0;display:flex}.loading-dots i{background:var(--gold);width:6px;height:6px;animation:1.2s ease-in-out infinite glow-dot}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes screen-enter{0%{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes glow-dot{0%,to{opacity:.25}50%{opacity:1}}@media (hover:hover) and (pointer:fine){.arcade-button:hover:not(:disabled){background:color-mix(in srgb, var(--face), white 8%)}.text-button:hover,.settings-link:hover{color:var(--text);text-decoration:underline}.segment-control button:hover:not([aria-selected=true]){color:var(--text);background:var(--surface)}.danger-button:hover{background:#523044}}@media (min-width:600px) and (min-height:600px){.app-viewport{padding:16px}.app-frame{border:2px solid var(--line);max-height:900px;box-shadow:0 8px 0 var(--edge), 0 0 0 6px #141c31;border-radius:8px}}@media (max-width:359px){.screen-header{padding:12px 16px}.page-scroll{padding:16px 16px 24px}.sticky-actions{padding:12px 16px 20px}.segment-control{margin-left:16px;margin-right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.menu-screen{touch-action:pan-y;background:linear-gradient(rgba(16,21,40,.125),rgba(16,21,40,.333) 40%,#101528 82%),url(/assets/backgrounds/menu.webp) 50%/cover;flex-direction:column;height:100%;display:flex;overflow-y:auto}.menu-topbar{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.menu-brand{color:var(--text);align-items:center;gap:8px;font-size:12px;display:flex}.menu-brand>span{background:var(--gold);width:6px;height:6px;box-shadow:0 0 0 3px rgba(255,211,107,.11)}.menu-tools{gap:12px;display:flex}.menu-help{font-size:20px}.menu-hero{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:272px;padding:16px 24px 24px;display:flex}.menu-title{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.menu-tagline{color:var(--text);text-shadow:0 2px #080d1b;margin-top:0;font-size:14px}.hero-character{isolation:isolate;margin-top:16px;position:relative}.hero-character:after{content:"";z-index:-1;border:2px solid #69758c;border-bottom:4px solid var(--edge);background:#2e3953;border-radius:2px;height:12px;position:absolute;bottom:0;left:-12px;right:-12px}.menu-bottom{padding:0 24px 24px}.journey-card{box-shadow:0 5px 0 var(--edge);background:#202b45;border-color:#6c7993;padding:20px;position:relative}.journey-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.journey-top h2{letter-spacing:-.5px;font-size:20px}.journey-context{color:var(--muted);margin-top:8px;font-size:12px}.stage-token{background:var(--ink);border:2px solid var(--gold-dim);width:52px;height:52px;box-shadow:inset 0 -3px var(--edge);border-radius:4px;flex-shrink:0;align-items:center;justify-items:center;display:grid}.stage-token img{width:40px}.journey-meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 20px;font-size:12px;display:flex}.menu-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.menu-nav button{flex-direction:column;gap:8px;min-height:80px;padding:12px 4px;font-size:12px;position:relative}.menu-nav .art-icon{color:var(--gold)}.notification-dot{background:var(--mint);border:2px solid var(--edge);width:8px;height:8px;position:absolute;top:8px;right:12px}.menu-footnote{text-align:center;color:var(--muted);margin-top:24px;font-size:12px;line-height:1.5}.menu-footnote small{color:var(--muted);opacity:.8;margin-top:4px;font-size:12px;display:block}.world-tabs{scrollbar-width:none;touch-action:pan-x;flex-shrink:0;gap:8px;padding:16px 20px;display:flex;overflow-x:auto}.world-tab{background:var(--surface);border:2px solid var(--line);min-height:84px;color:var(--muted);cursor:pointer;box-shadow:0 3px 0 var(--edge);border-radius:4px;flex-direction:column;flex:0 0 72px;align-items:center;gap:4px;padding:8px 4px;display:flex}.world-tab[aria-selected=true]{border-color:var(--gold);color:var(--gold);background:#343749}.world-tab img{width:28px;height:28px}.world-tab span{font-size:12px;font-weight:700}.world-tab small{color:var(--muted);font-size:12px}.world-overview{align-items:center;gap:12px;margin:0 20px 16px;font-size:12px;display:flex}.world-overview .progress-track{flex:1}.world-overview span{white-space:nowrap;color:var(--muted)}.stage-map-area{border-top:2px solid var(--edge);flex:1;min-height:0;position:relative;overflow:hidden}.stage-map-background{opacity:.6;pointer-events:none;background-position:50%;background-size:cover;position:absolute;top:0;bottom:0;left:0;right:0}.stage-map-shade{pointer-events:none;background:linear-gradient(rgba(16,21,40,.79),rgba(16,21,40,.2) 32%,rgba(16,21,40,.2) 75%,rgba(16,21,40,.725));position:absolute;top:0;bottom:0;left:0;right:0}.stage-map-scroll{touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.stage-map{width:100%;max-width:400px;margin:auto;position:relative}.stage-node{background:var(--surface);width:66px;height:66px;box-shadow:inset 0 -4px #131b2d, 0 4px 0 var(--edge);cursor:pointer;border:3px solid #67748d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.stage-node:disabled{background:#1b2334;border-color:#4b576d}.stage-node.is-cleared{border-color:var(--mint)}.stage-node.is-current{border-color:var(--gold);background:#343448}.stage-node.is-selected:before{content:"";border:2px solid var(--gold);border-radius:12px;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.node-stars{gap:0;display:flex;position:absolute;bottom:-10px}.node-lock{color:var(--muted);background:var(--ink);border-radius:2px;padding:2px;position:absolute;bottom:-4px;right:-4px}.node-caption{white-space:nowrap;color:var(--text);background:var(--ink);pointer-events:none;border-radius:2px;padding:4px 8px;font-size:12px;position:absolute;top:78px;left:50%;transform:translate(-50%)}.map-recenter{z-index:2;background:var(--surface);min-height:44px;color:var(--text);box-shadow:0 3px 0 var(--edge);cursor:pointer;border:2px solid #74829b;border-radius:4px;padding:8px 12px;font-size:12px;position:absolute;bottom:12px;right:16px}.stage-brief{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stage-brief h2{font-size:20px}.stage-brief p{color:var(--muted);margin-top:4px;font-size:12px}.stage-lesson{color:var(--muted);word-break:keep-all;margin-bottom:12px;font-size:12px;line-height:1.75}.character-spotlight{background:var(--surface);border-color:#65738e;margin-bottom:24px;padding:20px;position:relative;overflow:hidden}.character-summary{align-items:center;gap:16px;min-height:132px;display:flex}.character-summary>.sprite-preview{background-color:var(--ink);border-bottom:3px solid #728097}.character-summary h2{letter-spacing:-.5px;margin:8px 0;font-size:20px}.character-summary p{color:var(--muted);font-size:12px;line-height:1.75}.ability-label{color:var(--gold);margin-bottom:4px;font-size:12px;font-weight:700}.character-unlock{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.character-unlock p{color:var(--muted);margin-bottom:8px;font-size:12px}.character-unlock .arcade-button{width:100%}.character-unlock>.tag{background:0 0;border:0;padding:0}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.character-card{border:2px solid var(--line);background:var(--surface);min-width:0;min-height:148px;box-shadow:0 3px 0 var(--edge);cursor:pointer;color:var(--text);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:16px 4px 12px;display:flex;position:relative}.character-card[aria-pressed=true]{border-color:var(--gold);background:#333749}.character-card-copy{flex-direction:column;align-items:center;gap:4px;margin-top:8px;display:flex}.character-card strong{font-size:12px}.character-card .owned-mark{color:var(--mint);position:absolute;top:8px;right:8px}.item-list{gap:0;display:grid}.item-card{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;align-items:center;gap:16px;padding:16px 0;display:flex}.item-art{background:var(--surface);width:56px;height:56px;color:var(--gold);border-radius:4px;flex-shrink:0;align-items:center;justify-items:center;display:grid}.item-copy{flex:1;min-width:0}.item-copy h3{margin-bottom:4px;font-size:16px}.item-copy p{color:var(--muted);font-size:12px;line-height:1.75}.item-copy .arcade-button{min-height:44px;margin-top:12px}.shop-note{margin-bottom:16px}.pass-hero{text-align:center;padding:24px 20px}.pass-hero>.art-icon{color:var(--gold)}.pass-hero h2{color:var(--gold);margin:16px 0 12px;font-size:24px}.pass-hero p{color:var(--muted);margin-bottom:16px;font-size:12px}.pass-benefits{text-align:left;margin:24px 0;list-style:none}.pass-benefits li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 8px;font-size:14px;display:flex}.mission-summary{box-shadow:none;background:0 0;border:0;align-items:center;gap:16px;margin-bottom:4px;padding:4px 0 20px;display:flex}.mission-summary>.art-icon{color:var(--gold)}.mission-summary h2{margin-bottom:8px;font-size:20px}.mission-summary p{color:var(--muted);font-size:12px;line-height:1.5}.mission-list{border:2px solid var(--line);background:var(--surface);box-shadow:0 4px 0 var(--edge);border-radius:4px;gap:0;margin-bottom:16px;display:grid}.mission-card{border:0;border-bottom:1px dashed var(--line);box-shadow:none;background:0 0;border-radius:0;padding:20px}.mission-card.is-complete .progress-track>span{background:var(--mint);box-shadow:inset 0 2px #c5f3e2}.mission-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.mission-heading h3{font-size:16px;line-height:1.5}.mission-bottom{min-height:36px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.mission-bottom .arcade-button{min-height:44px;padding:8px 12px}.ranking-summary{align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.ranking-summary>.art-icon{color:var(--gold)}.ranking-summary h2{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:400}.ranking-summary strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:28px}.ranking-labels{color:var(--muted);grid-template-columns:36px 1fr auto;gap:12px;padding:0 12px 12px;font-size:12px;display:grid}.ranking-row{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:16px 12px;font-size:14px;display:grid}.ranking-row:first-child{background:rgba(255,211,107,.043)}.ranking-row.is-me{outline-offset:-1px;background:rgba(148,223,191,.07);outline:1px solid rgba(148,223,191,.4)}.ranking-position{color:var(--muted);text-align:center;font-weight:700}.ranking-position.is-podium{color:var(--gold)}.ranking-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-score{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.ranking-status{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:4px 0 12px;font-size:12px;display:flex}.skeleton-row{background:var(--surface-raised);border-radius:2px;height:56px;margin-bottom:8px;animation:1.4s infinite glow-dot}.settings-section{border:0;border-bottom:2px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:24px;padding:0 0 20px}.settings-section h2{color:var(--gold);margin-bottom:12px;font-size:16px}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font-size:14px;display:flex}.settings-row:last-child{border:0}.settings-row p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.75}.sound-switch{border:2px solid var(--line);background:var(--edge);min-width:88px;min-height:44px;color:var(--muted);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.sound-switch i{background:#78849c;border:2px solid #a1adc3;border-bottom:4px solid #4b5873;border-radius:2px;width:28px;height:28px}.sound-switch[aria-checked=true]{color:var(--gold);border-color:#a28349;flex-direction:row-reverse}.sound-switch[aria-checked=true] i{background:var(--gold);border-color:#ffe7ab #ffe7ab #a87031}.settings-link{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;text-decoration:none}.settings-value{color:var(--muted);overflow-wrap:anywhere;text-align:right;font-size:12px}.data-counts{background:var(--surface);border:1px solid var(--line);border-radius:4px;gap:0;margin:16px 0;display:flex}.data-counts span{color:var(--muted);text-align:center;flex:1;padding:12px;font-size:12px}.data-counts span+span{border-left:1px solid var(--line)}.data-counts strong{color:var(--text);margin-bottom:4px;font-size:20px;display:block}.result-screen .page-scroll{flex-direction:column;align-items:center;padding-top:24px;display:flex}.result-banner{width:min(270px,88%)}.result-stars{gap:8px;margin:4px 0 8px;display:flex}.result-stars img{width:36px;height:36px}.result-message{text-align:center;margin:8px 0 12px;font-size:24px}.result-subtitle{color:var(--muted);text-align:center;max-width:310px;margin-bottom:16px;font-size:12px;line-height:1.75}.result-score{width:100%;padding:20px}.result-total{flex-direction:column;align-items:center;gap:12px;display:flex}.result-total>span:first-child{color:var(--muted);font-size:12px}.score-breakdown{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.score-breakdown div{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.score-breakdown strong{color:var(--text);font-variant-numeric:tabular-nums}.result-unlock{background:#20383c;border:2px solid #4f7d70;border-radius:4px;align-items:center;gap:12px;width:100%;margin-top:16px;padding:16px;display:flex}.result-unlock strong{color:var(--mint);font-size:14px;display:block}.result-unlock p{color:var(--muted);margin-top:4px;font-size:12px}.result-actions{flex-direction:column;gap:12px;display:flex}.result-secondary{gap:12px;display:flex}.result-secondary>*{flex:1}.result-saved{color:var(--muted);text-align:center;margin-top:16px;font-size:12px}.score-details summary{cursor:pointer;border-top:1px solid var(--line);min-height:44px;color:var(--muted);text-align:center;padding:16px 0 4px;font-size:12px}.score-details .score-breakdown{border-top:0;padding-top:16px}.heart-status{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;line-height:1.5;display:flex}.heart-status strong{white-space:nowrap}.heart-status>span:last-child{opacity:.8;font-size:11px}.stage-launch .heart-status{margin-bottom:12px}.item-purchase-actions{flex-wrap:wrap;gap:12px;display:flex}.item-purchase-actions .arcade-button{padding:8px 12px;font-size:12px}.game-screen{background:var(--edge);touch-action:none;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.game-canvas{flex:1;width:100%;min-height:0}.game-controls{background:var(--surface);height:max(112px,min(18dvh,144px));box-shadow:inset 0 3px 0 var(--edge);border-top:3px solid #728097;flex-shrink:0;position:relative}.game-controls:before,.game-controls:after{content:"";width:5px;height:5px;box-shadow:0 2px 0 var(--edge);background:#728097;position:absolute;bottom:12px}.game-controls:before{left:8px}.game-controls:after{right:8px}.control-middle{color:var(--muted);flex-direction:column;align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.game-controls .joystick{touch-action:none;cursor:grab;justify-content:center;align-items:center;width:max(80px,min(13dvh,104px));height:max(80px,min(13dvh,104px));display:flex;position:absolute;top:16px;left:24px}.joystick-plate{pointer-events:none;box-shadow:inset 0 3px 0 var(--edge), 0 3px 0 var(--edge);background:#10192b;border:2px solid #6b7892;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.joystick-plate:before{content:"";border:1px solid var(--line);border-radius:50%;position:absolute;top:16%;bottom:16%;left:16%;right:16%}.joystick-plate i{border-bottom:5px solid #8d9cb7;border-left:4px solid transparent;border-right:4px solid transparent;width:0;height:0;position:absolute;top:5px;left:calc(50% - 4px)}.joystick-plate i:nth-child(2){top:auto;bottom:5px;transform:rotate(180deg)}.joystick-plate i:nth-child(3){top:calc(50% - 3px);left:4px;transform:rotate(-90deg)}.joystick-plate i:nth-child(4){top:calc(50% - 3px);left:auto;right:4px;transform:rotate(90deg)}.joystick-knob{pointer-events:none;width:44px;height:44px;box-shadow:0 4px 0 var(--edge);background:#b8cadd;border:3px solid #e1e8ee;border-bottom:5px solid #7b8eaa;border-radius:50%;display:block;position:relative}.joystick-knob:after{content:"";border:2px solid #8da2ba;border-radius:50%;position:absolute;top:9px;bottom:9px;left:9px;right:9px}.game-controls .fire-control{touch-action:none;cursor:pointer;background:0 0;border:0;border-radius:50%;width:max(80px,min(13dvh,104px));height:max(80px,min(13dvh,104px));padding:0;position:absolute;top:16px;right:24px}.fire-face{color:#3c2136;width:100%;height:100%;box-shadow:0 4px 0 #6a3147, 0 6px 0 var(--edge);pointer-events:none;background:#f59486;border:3px solid #ffd4c0;border-bottom:5px solid #b85157;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:800;transition:transform 80ms,box-shadow 80ms;display:flex}.fire-control.is-pressed .fire-face{box-shadow:0 2px 0 var(--edge);background:#e5847c;transform:translateY(4px)}.guide-joystick .joystick-knob{border-width:2px 2px 3px;width:28px;height:28px}.guide-joystick .joystick-knob:after{top:5px;bottom:5px;left:5px;right:5px}.guide-art .fire-face{gap:0}.guide-art .fire-face .art-icon{width:24px!important;height:24px!important}.guide-art .fire-face>span:last-child{font-size:10px}.game-loading{text-align:center;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:32px;display:flex}.game-loading .progress-track{max-width:200px;margin-top:24px}.game-loading h1{margin:16px 0 8px;font-size:24px}.game-loading p{color:var(--muted);word-break:keep-all;font-size:14px;line-height:1.75}.boot-logo{width:200px;margin-bottom:24px}@media (hover:hover) and (pointer:fine){.character-card:hover:not([aria-pressed=true]),.world-tab:hover:not([aria-selected=true]){background:var(--surface-raised);border-color:#a5b0c3}.stage-node:hover:not(:disabled):not(.is-selected){border-color:var(--text)}.map-recenter:hover{background:var(--surface-raised)}.fire-control:hover:not(.is-pressed) .fire-face{background:#ffab98}}@media (max-height:740px){.menu-topbar{padding-top:12px}.menu-hero{min-height:208px;padding:8px 24px 12px}.menu-logo{width:216px}.hero-character{margin-top:8px}.hero-character .sprite-preview{margin:-12px 0;transform:scale(.8)}.hero-character:after{height:8px;left:0;right:0}.menu-bottom{padding-bottom:16px}.menu-footnote,.menu-nav{margin-top:16px}.menu-nav button{min-height:72px}.journey-card{padding:16px}.journey-top{margin-bottom:12px}.journey-meta{margin-bottom:16px}.menu-hero{flex:none}.menu-screen{justify-content:space-between}}@media (max-height:600px){.menu-hero{min-height:152px}.hero-character{display:none}.result-screen .page-scroll{padding-top:16px}.screen-header,.world-tab{min-height:72px}.world-tabs{padding-top:8px;padding-bottom:8px}.stage-lesson{display:none}}@media (max-width:359px){.menu-bottom,.menu-topbar{padding-left:16px;padding-right:16px}.menu-nav,.character-grid{gap:8px}.character-card{min-height:144px}.character-card strong,.character-card small{font-size:11px}.character-summary{gap:8px}.character-summary h2{font-size:20px}.character-spotlight{padding:16px}.result-secondary{gap:8px}.result-secondary .arcade-button{padding:8px;font-size:12px}.journey-top h2{font-size:18px}.journey-meta{font-size:11px}.mission-card{padding:16px}.mission-bottom{flex-wrap:wrap}}@font-face{font-family:Jua;src:url(/assets/fonts/Jua-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#10263f;--surface:#1b3853;--surface-raised:#284b68;--line:#47647c;--edge:#0a1b30;--text:#fff5df;--muted:#b7cadb;--gold:#ffd368;--mint:#a4e2c7;--radius:16px;--display-font:"Jua", "Apple SD Gothic Neo", sans-serif;--paper:#fff3d8;--paper-ink:#243b50;--paper-muted:#5d6874}.app-viewport{background:#0b192b}.app-frame{border-color:#36516a;box-shadow:0 20px 80px rgba(0,0,0,.333)}.game-page{background:var(--ink)}.screen-header{background:var(--ink);min-height:84px;box-shadow:none;border-bottom:1px solid #345168}.screen-heading h1{font:24px/1.2 var(--display-font);letter-spacing:-.5px;text-shadow:none}.screen-heading p{color:var(--muted);font-size:12px}.section-title{font:20px/1.4 var(--display-font)}.section-title small{font:11px/1.5 -apple-system,sans-serif}.arcade-button{--face:#23425e;--rim:#4e6c83;--depth:#0b1c30;background:var(--face);border:1px solid var(--rim);box-shadow:0 2px 0 var(--depth);color:#fff5df;text-shadow:none;border-radius:12px;font:600 14px/1.4 -apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;transition:background-color .12s,box-shadow .12s,transform .12s}.button-gold{--face:#ffd368;--rim:#eabf60;--depth:#a57432;color:#352a21}.button-purple{--face:#745795;--rim:#a78bbb;--depth:#473258}.button-purple .art-icon{filter:none;opacity:1}.primary-action{min-height:54px;font:21px/1.4 var(--display-font)}.arcade-button:disabled{--face:#30475b;--rim:#486074;--depth:#1b2c3e;color:#c0cdda;background:var(--face);box-shadow:none;text-shadow:none}.arcade-button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.icon-button{border-radius:50%;font-size:20px}.panel{--text:var(--paper-ink);--muted:var(--paper-muted);--gold:#805216;--mint:#21745e;--line:#d4c9af;color:var(--text);background:var(--paper);border:1px solid #ecdcbc;border-radius:16px;box-shadow:0 3px 10px rgba(7,27,48,.125)}.tag{color:#ffda86;background:#203c55;border-color:#61707a;border-radius:6px;padding:4px 8px;font-size:11px}.panel .tag{color:#805216;background:#ffe1a0;border-color:#c79b45}.panel .tag-mint{color:#205b49;background:#d0e8d8;border-color:#8eba9b}.panel .tag-muted{color:#53657d;background:#e3e5dc;border-color:#b6bfae}:-webkit-any(.panel,.journey-ticket,.stage-launch,.game-dialog) :-webkit-any(button,a,summary):focus-visible{outline-offset:3px;outline-color:#275878}:-moz-any(.panel,.journey-ticket,.stage-launch,.game-dialog) :-moz-any(button,a,summary):focus-visible{outline-offset:3px;outline-color:#275878}:is(.panel,.journey-ticket,.stage-launch,.game-dialog) :is(button,a,summary):focus-visible{outline-offset:3px;outline-color:#275878}.progress-track{background:#091e32;border:0;border-radius:8px;height:6px}.progress-track>span{box-shadow:none;background:#ffd368;border-radius:8px}.panel .progress-track{background:#ded4bb}.panel .progress-track>span{box-shadow:none;background:#448274}.segment-control{box-shadow:none;background:#0a1d32;border:0;border-radius:12px;gap:4px;padding:4px}.segment-control button{border-radius:8px;font-size:14px}.segment-control button[aria-selected=true]{color:#3a3228;box-shadow:none;background:#eace8b}.sticky-actions{background:var(--ink);box-shadow:none;border-top:1px solid #47647c}.brand-mark{color:var(--text);flex-direction:column;align-items:center;gap:2px;display:inline-flex}.brand-korean{font:72px/.95 var(--display-font);letter-spacing:-5px;color:#fff1cc;text-shadow:0 3px #b97836;padding-right:5px;position:relative}.brand-korean>span{color:#ffd368}.brand-korean i{background:#ee9b82;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:-14px;box-shadow:8px -7px 0 -2px #ffd368}.brand-english{letter-spacing:5px;color:#e6c78d;padding-left:5px;font:700 10px/1.5 -apple-system,sans-serif}.boot-logo{width:auto}.menu-screen{background:var(--ink);gap:0;padding-bottom:4px}.menu-topbar{flex-shrink:0;gap:12px;padding:12px 20px 0}.player-records{align-items:center;gap:16px;display:flex}.player-records>span{align-items:center;gap:6px;min-height:40px;display:flex}.player-records strong{font:19px var(--display-font);font-variant-numeric:tabular-nums}.player-records small{color:var(--muted);font-size:10px}.menu-tools{gap:8px}.menu-tools .icon-button{box-shadow:none;background:0 0;border-color:#48627a}.menu-title{flex-shrink:0;gap:8px;width:100%;padding:16px 20px 20px;position:static}.menu-logo{filter:none;width:auto;font-size:0}.menu-tagline{color:var(--muted);text-shadow:none;font-size:12px}.menu-adventure{border-radius:18px;flex-direction:column;flex:1 0 auto;min-height:390px;margin:0 20px;display:flex;position:relative;box-shadow:0 8px 28px rgba(2,13,28,.2)}.adventure-scene{background:#142e48;border:0;border-radius:18px 18px 0 0;flex:1;height:250px;min-height:230px;margin:0;position:relative;overflow:hidden}.scene-cover{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.scene-sky{background:linear-gradient(transparent 50%,rgba(8,28,53,.333));position:absolute;top:0;bottom:0;left:0;right:0}.scene-player{z-index:2;filter:drop-shadow(0 3px 1px rgba(6,21,46,.533));position:absolute;bottom:4px;left:calc(58% - 64px)}.scene-player .sprite-preview{position:relative}.scene-ball{object-fit:contain;filter:drop-shadow(0 4px 2px rgba(9,32,60,.333));animation:5s ease-in-out infinite ball-float;position:absolute}.ball-one{width:40px;top:40%;left:14%}.ball-two{width:28px;animation-delay:-1.3s;top:55%;right:13%}.scene-world{z-index:1;color:#fff4d8;text-shadow:0 2px 4px #041325;position:absolute;bottom:18px;left:18px}.scene-world span{letter-spacing:2px;font-size:9px;font-weight:700;display:block}.scene-world strong{font:24px/1.3 var(--display-font);letter-spacing:1px}.journey-ticket{z-index:3;background:var(--paper);color:var(--paper-ink);box-shadow:none;border:0;border-radius:0 0 18px 18px;margin:0;padding:16px 20px;position:relative}.journey-destination{align-items:center;gap:16px;margin-bottom:16px;display:flex}.destination-number{text-align:center;border-right:1px dashed #bdaa80;flex:0 0 48px;width:48px;padding-right:12px}.destination-number small{letter-spacing:1px;color:#716348;font-size:9px;font-weight:700}.destination-number strong{font:28px/1 var(--display-font);color:#29465f;display:block}.journey-destination>div{flex:1;min-width:0}.journey-destination p{color:#70634f;margin-bottom:4px;font-size:11px}.journey-destination h2{font:25px/1.1 var(--display-font)}.destination-emblem{opacity:.85}.adventure-play{min-height:52px;position:relative}.journey-progress{align-items:center;gap:12px;margin-top:16px;display:flex}.journey-progress .progress-track{background:#daceaf;flex:1;height:4px}.journey-progress .progress-track>span{background:#51778b}.journey-progress>span{color:#6a5c46;white-space:nowrap;font-size:10px}.menu-bottom{flex-shrink:0;padding:0 20px 12px}.menu-nav{gap:8px;margin-top:20px}.menu-nav .arcade-button{min-height:80px;box-shadow:none;background:#1a344e;border-color:#3c566e;border-radius:12px;gap:4px;padding:8px 4px;font-size:12px}.nav-character{--nav-face:#244c64}.nav-mission{--nav-face:#413755}.nav-ranking{--nav-face:#534835}.nav-art{align-items:center;justify-items:center;width:60px;height:38px;display:grid;position:relative}.nav-art .art-icon{width:30px;height:30px}.nav-art .sprite-preview{margin-top:-10px;transform:scale(.7)}.menu-footnote{margin-top:16px;font-size:10px}.menu-footnote small{opacity:.8;font-size:9px}.world-tabs{gap:8px;padding:16px 20px 12px}.world-tab{min-height:92px;box-shadow:none;background:#1b3853;border:1px solid #476178;border-radius:10px;flex-basis:82px;gap:3px;padding:4px 4px 8px;overflow:hidden}.world-tab img{object-fit:cover;border-radius:6px;width:72px;height:42px}.world-tab span{font:14px/1.3 var(--display-font)}.world-tab small{font-size:10px;line-height:1.2}.world-tab[aria-selected=true]{color:#352e23;box-shadow:none;background:#f2d28c;border-color:#f2d28c}.world-tab[aria-selected=true] small{color:#665537}.world-overview{margin-bottom:12px;font-size:11px}.stage-map-area{background:#214857;border-top:1px solid #507183}.stage-map-background{opacity:.26;background-position:50%}.stage-map-shade{background:linear-gradient(rgba(14,43,67,.267),transparent 30%,rgba(16,44,63,.333))}.map-terrain{pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.stage-node{z-index:1;background:#ded6b9;border:2px solid #17384a;border-radius:50%;width:66px;height:66px;box-shadow:inset 0 2px #fff9dc,0 3px #183c45}.stage-node.is-current{background:#ffd368;border-color:#916c39;box-shadow:inset 0 2px #fff0c0,0 3px #68532d}.stage-node.is-cleared{background:#9ad4b3;border-color:#326b5c}.stage-node:disabled{background:#789197;border-color:#456575;box-shadow:0 3px #1c3d4a}.stage-node:disabled>img{opacity:.65}.stage-node.is-selected:before{box-shadow:none;border-color:#fff1b9;border-radius:50%}.node-lock{background:#274858;border-radius:50%;padding:4px;bottom:-4px;right:-4px}.node-caption{font:14px var(--display-font);color:#fff5d7;box-shadow:none;background:rgba(18,49,73,.93);border-radius:6px;padding:4px 12px;top:77px}.node-stars{bottom:-12px}.node-stars img{width:20px;height:20px}.map-player{pointer-events:none;align-items:center;display:flex;position:absolute;bottom:61px;left:8px}.map-player b{font:12px var(--display-font);color:#18334b;white-space:nowrap;background:#fff1b9;border:1px solid #ad9156;border-radius:6px;margin-top:-12px;margin-left:-6px;padding:4px 8px}.map-recenter{color:#264360;background:#f7e9c8;border:1px solid #cdbb95;border-radius:22px;box-shadow:0 2px 6px rgba(18,48,71,.267)}.map-recenter .art-icon{filter:brightness(0)saturate();opacity:.7}.stage-launch{background:var(--paper);color:var(--paper-ink);border-color:#dbcaa8;padding-top:16px}.stage-brief{margin-bottom:8px}.stage-brief h2{font:24px var(--display-font)}.stage-brief p,.stage-lesson{color:var(--paper-muted)}.stage-lesson{margin-bottom:12px;font-size:12px;line-height:1.5}.stage-launch .tag{color:#3f5b50;background:#e5e4cb;border-color:#b2b49a}.character-spotlight{--character-accent:#8eabc2;margin-bottom:24px;padding:20px}.skin-default{--character-accent:#c288a2}.skin-fire-aura{--character-accent:#d7966c}.skin-robot{--character-accent:#8faacf}.skin-ninja{--character-accent:#b48dcc}.skin-astronaut{--character-accent:#84bec9}.skin-alchemist{--character-accent:#98bc88}.character-summary{gap:16px;min-height:140px}.character-portrait{isolation:isolate;flex:0 0 124px;align-self:stretch;align-items:center;justify-items:center;display:grid;position:relative}.character-portrait:before{content:"";background:color-mix(in srgb, var(--character-accent), #fff3d8 55%);z-index:-1;border-radius:64px 64px 12px 12px;position:absolute;top:12px;bottom:0;left:0;right:0}.character-portrait:after{content:"";z-index:-1;border:1px solid rgba(255,255,255,.333);border-radius:60px 60px 8px 8px;position:absolute;top:20px;bottom:8px;left:8px;right:8px}.character-portrait>span:first-child{color:#50637a;letter-spacing:2px;font:700 10px/1.5 -apple-system,sans-serif;position:absolute;top:4px;left:0}.character-summary h2{font:27px/1.2 var(--display-font);margin:12px 0 8px}.character-summary p{word-break:keep-all;font-size:12px;line-height:1.7}.ability-label{color:#805a29;font-size:12px}.character-summary>div:last-child{min-width:0}.character-specs{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.character-specs>div{color:#566777;grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:11px;display:grid}.character-specs strong{color:#273e5b;font-size:12px}.character-specs i{background:#ded4bd;border-radius:4px;grid-column:1/-1;height:5px;overflow:hidden}.character-specs b{background:#557e91;border-radius:4px;height:100%;display:block}.character-specs>div:last-child b{background:#b18a3e}.character-unlock{margin-top:20px;padding-top:12px}.character-unlock>.tag{color:#286c57}.character-grid{gap:12px}.character-card{color:#243e53;box-shadow:none;isolation:isolate;background:#f4ebd5;border:1px solid #547087;border-radius:12px;min-height:146px;padding:12px 4px 8px;overflow:hidden}.character-card:before{content:"";background:color-mix(in srgb, var(--character-accent), #fff3d8 45%);z-index:-1;position:absolute;top:0;bottom:48px;left:0;right:0}.character-card[aria-pressed=true]{background:#fff0c5;border-color:#ffe19b;box-shadow:0 0 0 2px #e2b65c}.character-card-copy{border-top:0;width:100%;padding-top:8px}.character-card strong{font:15px var(--display-font)}.character-card small{color:#4d6074;font-size:10px}.character-card .owned-mark{color:#fff;background:#236852;border-radius:50%;padding:2px;top:6px;right:6px}.item-list{gap:12px}.item-card{background:var(--paper);box-shadow:none;border:1px solid #eadcc0;border-radius:14px;padding:16px}.item-art{box-shadow:none;background:#e5e7d7;border:0;border-radius:12px}.item-copy h3{font:19px var(--display-font)}.item-copy p{color:#58677a}.mission-summary{box-shadow:none;color:#fff7de;--muted:#c3d3e7;background:0 0;border:0;padding:4px 0 20px}.mission-summary h2{font:23px var(--display-font)}.mission-list{box-shadow:none;background:0 0;border:0;gap:16px;display:grid}.mission-card{background:var(--paper);box-shadow:none;border:1px solid #ecdcbc;border-radius:16px;padding:16px}.mission-card:last-child{border-bottom:1px solid #ecdcbc}.mission-heading{gap:12px;margin-bottom:16px}.mission-heading h3{font:20px/1.3 var(--display-font);flex:1}.mission-seal{color:#6c5b48;height:42px;font:20px var(--display-font);background:#dacaaa;border:2px solid #bcab88;border-radius:50% 50% 12px 12px;flex:0 0 38px;align-items:center;justify-items:center;display:grid}.mission-card.is-complete .mission-seal{background:#80bb91;border-color:#427d61}.mission-card.is-complete{background:#f1f0d2}.mission-bottom{font-size:11px}.mission-bottom .arcade-button{font-size:16px}.ranking-summary{margin-bottom:20px;padding:16px}.ranking-summary strong{font-family:var(--display-font);color:#29466b;font-size:32px;font-weight:400}.ranking-summary h2{color:#69707a;font-size:12px}.ranking-status{font-size:11px}.ranking-podium{justify-content:center;align-items:flex-end;gap:12px;padding:20px 0 24px;display:flex}.podium-place{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.podium-place>.art-icon{filter:drop-shadow(0 3px #071a38);margin-bottom:12px}.podium-place strong{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;font-size:12px;font-weight:600;overflow:hidden}.podium-place>span{color:#cfdeea;margin:5px 0 12px;font-size:11px}.podium-place b{width:100%;height:44px;font:32px var(--display-font);color:#f4f5df;background:#52829e;border:2px solid #bfd2d5;border-bottom:4px solid #537185;border-radius:12px 12px 4px 4px;align-items:center;justify-items:center;display:grid}.podium-place.place-1 b{color:#5d4630;background:#efd18a;border-color:#ffedb9 #ffedb9 #b38a42;height:66px}.podium-place.place-3 b{background:#ad8463;border-color:#d9bda0 #d9bda0 #6e4e42;height:34px}.podium-place.is-me strong{color:var(--mint)}.ranking-row{background:#15345b;border:1px solid #40688e;border-radius:12px;margin-bottom:8px}.ranking-row.is-me{background:#2f665e;outline:2px solid #9ed7ac}.ranking-position{font-family:var(--display-font);font-size:20px}.ranking-score{color:#ffe193;font-family:var(--display-font);font-size:18px;font-weight:400}.settings-section{--text:#fff7df;--muted:#c3d3e7;--gold:#ffe295;--line:#507494;color:#fff7df;box-shadow:none;background:#14345a;border:1px solid #47647c;border-radius:16px;padding:20px}.settings-section h2{font:18px var(--display-font)}.settings-row{padding:16px 0}.sound-switch{border-radius:24px}.sound-switch i{border-radius:50%}.data-counts{background:#102c4b;border-radius:10px}.data-counts strong{font-family:var(--display-font);font-weight:400}.settings-section .danger-button{width:100%;font-size:13px}.result-screen{background:radial-gradient(at 50% 15%,#447191,#183c6d 46%,#102951 85%);position:relative}.result-screen.is-fail{background:radial-gradient(at 50% 15%,#5c5b8c,#253756 55%,#132748)}.result-screen .page-scroll{padding-top:28px;position:relative}.result-banner{z-index:1;filter:drop-shadow(0 5px rgba(12,35,69,.46));width:min(280px,88%);position:relative}.result-stage{color:#dce7ed;margin:16px 0 4px;font-size:12px}.result-stars{align-items:center;gap:8px;margin:16px 0 12px;display:flex;position:relative}.result-stars:before{content:"";background:radial-gradient(rgba(255,224,134,.18),transparent 70%);border-radius:50%;position:absolute;top:-32px;bottom:-32px;left:-32px;right:-32px}.result-stars img{filter:drop-shadow(0 4px #18314d);width:50px;height:50px;animation:.45s cubic-bezier(.2,.9,.3,1.25) both reward-star}.result-stars img:nth-child(2){width:62px;height:62px;margin-top:-10px;animation-delay:.12s}.result-stars img:nth-child(3){animation-delay:.24s}.result-message{font:30px var(--display-font);text-shadow:0 3px #15314e;margin:8px 0}.result-subtitle{color:#d1e2eb;margin-bottom:20px;font-size:12px;line-height:1.7}.result-score{border-color:#153955;border-radius:18px;padding:20px;position:relative}.result-total{gap:12px}.result-total>span:first-child{font-size:12px}.score-details summary{color:#576c80;margin-top:16px;padding-top:12px}.score-breakdown{color:#51667e}.result-unlock{color:#244f4d;background:#c9e6cd;border-color:#446f63;border-radius:14px}.result-unlock strong{color:#235e4f}.result-unlock p{color:#496a63}.result-unlock .text-button{color:#285c56}.result-secondary .arcade-button{white-space:nowrap;min-height:46px;padding:12px 8px;font-size:16px}.result-actions{gap:16px;padding-bottom:20px}.result-confetti{pointer-events:none;height:230px;position:absolute;top:0;bottom:auto;left:0;right:0;overflow:hidden}.result-confetti i{left:calc(4% + var(--i) * 8%);top:calc(12px + var(--row) * 20px);width:5px;height:11px;transform:rotate(calc(var(--i) * 31deg));opacity:.8;animation:1s ease-out both reward-confetti;animation-delay:calc(var(--i) * 30ms);background:#f3d57b;position:absolute}.result-confetti i:nth-child(3n){background:#85dcd3}.result-confetti i:nth-child(3n+1){background:#eea6b9}.game-dialog{--text:#243f60;--muted:#56677c;--line:#c7bfa4;color:#243f60;background:#fff3d7;border:1px solid #eadbbe;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.467)}.game-dialog h2{font:24px/1.4 var(--display-font)}.dialog-emblem{box-shadow:none;background:#d6dfd8;border-color:#91b0b2;border-radius:50%}.dialog-body{padding:24px}.dialog-actions .arcade-button{font-size:16px}.keyboard-guide kbd{color:#2c4561;background:#e3dac0;border-color:#aaac9f}.empty-emblem{background:#2b577e;border-color:#91b2ba;border-radius:50%;box-shadow:0 5px #0a2945}.empty-state h2{font-family:var(--display-font);font-size:25px;font-weight:400}.game-controls{background:repeating-linear-gradient(125deg,rgba(33,78,118,0) 0,rgba(33,78,118,0) 22px,rgba(56,102,138,.133) 22px,rgba(56,102,138,.133) 44px),#173d65;border-top:4px solid #92b0b8;box-shadow:inset 0 3px #0b2746}.joystick-plate{background:#0a2948;border:3px solid #7797a6;box-shadow:inset 0 4px #061b32,0 4px #081e35,0 0 0 3px #214b6c}.joystick-knob{background:radial-gradient(circle at 35% 24%,#ffeac2,#efb851 70%);border-color:#fff3c9 #fff3c9 #bd7935;box-shadow:0 5px #173a51}.joystick-knob:after{border-color:#e6b96a}.fire-face{font-family:var(--display-font);background:#ee9279;border:3px solid #fbd8a9;border-bottom:5px solid #a85243;font-size:15px;box-shadow:inset 0 3px #ffd4ac,0 4px #622b39,0 7px #082445}.sync-status{width:100%;color:var(--muted);text-align:center;margin-top:16px;font-size:12px;line-height:1.6}.sync-status p{justify-content:center;align-items:center;gap:8px;display:flex}.sync-status small{margin-top:4px;font-size:11px;display:block}.sync-saved{color:#a6e1c9}.sync-error,.sync-offline{color:#ffd391}.sync-status.is-compact{margin:0;font-size:10px}.sync-status .text-button{color:#ffe599;text-decoration:underline}.settings-section .sync-status p{justify-content:flex-start}@keyframes ball-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes reward-star{0%{opacity:0;transform:scale(.5)translateY(12px)}to{opacity:1;transform:none}}@keyframes reward-confetti{0%{opacity:0;translate:0 -20px}to{opacity:.8;translate:0 40px}}@media (hover:hover) and (pointer:fine){.arcade-button:hover:not(:disabled){background:color-mix(in srgb, var(--face), white 10%)}.menu-nav .arcade-button:hover{background:color-mix(in srgb, var(--nav-face), white 10%)}.character-card:hover:not([aria-pressed=true]){background:#e8eedb;border-color:#b7d3d1}.world-tab:hover:not([aria-selected=true]){background:#37638a}}.map-terrain{--map-water-line:#fff;--map-cliff:#102b44;--map-edge:#081d37;--map-shore:#a7cca0;--map-crack:#071e2e;--map-house:#4b88a0;--map-house-edge:#113752;--map-roof:#d1a971;--map-roof-edge:#16384c;--map-roof-top:#b9c9ba;--map-window:#e9d091;--map-trunk:#4a4c3c;--map-tree:#93bf87;--map-tree-edge:#214c50;--map-land:#507f72}.terrain-5{--map-land:#666299;--map-shore:#afa7cb;--map-house:#717ba9;--map-roof:#aabbd4;--map-tree:#9895c2}.terrain-6{--map-land:#9e8a65;--map-shore:#d3bc8b;--map-tree:#bca773}@media (max-height:740px){.result-screen .page-scroll{padding-top:16px}.result-banner{width:min(240px,84%)}.result-stage{margin-top:8px}.result-stars{margin:8px 0}.result-stars img{width:44px;height:44px}.result-stars img:nth-child(2){width:56px;height:56px}.result-message{font-size:26px}.result-subtitle{margin-bottom:12px}.result-score{padding:16px}.result-total{gap:8px}.score-details summary{margin-top:8px}.menu-title{gap:6px;padding:8px 20px 12px}.brand-korean{font-size:58px}.brand-english{font-size:9px}.menu-adventure{min-height:342px}.adventure-scene{height:210px;min-height:190px}.journey-ticket{padding:12px 16px}.journey-destination{margin-bottom:12px}.journey-destination h2{font-size:23px}.journey-progress{margin-top:12px}.menu-nav{margin-top:16px}.menu-nav .arcade-button{min-height:76px}.menu-footnote{margin-top:8px}.menu-bottom{padding-bottom:8px}.scene-player{transform-origin:bottom;transform:scale(.85)}}@media (max-height:600px){.menu-title{padding-top:8px;padding-bottom:12px}.menu-tagline{display:none}.brand-korean{font-size:44px}.menu-adventure{flex:none;min-height:0}.adventure-scene{flex:none;height:152px;min-height:152px}.menu-nav{margin-top:12px}.menu-nav .arcade-button{min-height:68px}.nav-art{height:32px}.menu-bottom{padding-bottom:8px}.menu-footnote small{display:none}.screen-header{min-height:72px}.world-tabs{padding-top:8px;padding-bottom:8px}.world-tab{min-height:80px}.world-tab img{height:32px}.stage-lesson{display:none}}@media (max-width:359px){.menu-topbar,.menu-bottom{padding-left:16px;padding-right:16px}.menu-adventure{margin-left:16px;margin-right:16px}.player-records{gap:8px}.player-records strong{font-size:17px}.screen-header{gap:8px;padding-left:16px;padding-right:16px}.screen-heading h1{font-size:21px}.screen-header .tag{padding:4px 6px}.character-spotlight{padding:16px}.character-summary{gap:12px}.character-portrait{flex-basis:96px}.character-portrait .sprite-preview{margin-left:-16px;transform:scale(.8)}.character-summary h2{font-size:23px}.character-card strong{font-size:14px}.journey-destination{gap:12px}.destination-emblem{width:28px;height:28px}.menu-nav .arcade-button{font-size:11px}}@media (hover:hover) and (pointer:fine){.map-recenter:hover{color:#fff5df}}
