:root{color:#17243b;font-synthesis:none;text-rendering:optimizelegibility;background:#edf4ff;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#ffd16657 0 10%,#0000 27%),radial-gradient(circle at 95% 10%,#599bff40 0 12%,#0000 34%),linear-gradient(160deg,#f8fbff 0%,#e5eeff 100%);min-width:320px;min-height:100vh;margin:0}button{color:inherit;cursor:pointer;font:inherit;border:0}button:focus-visible{outline-offset:3px;outline:3px solid #174ea6}button:disabled{cursor:not-allowed;opacity:.48}.lucide{stroke-width:2.2px;width:1em;height:1em}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(1.8rem,7vw,2.45rem);line-height:1.04}h2{margin-bottom:12px;font-size:1rem}.app-shell{--theme-accent:#2563eb;--theme-soft:#e7f0ff;--theme-border:#bdd0ec;--theme-background:radial-gradient(circle at 15% 0%, #ffd16657 0 10%, transparent 27%), radial-gradient(circle at 95% 10%, #599bff40 0 12%, transparent 34%), linear-gradient(160deg, #f8fbff 0%, #e5eeff 100%);--theme-foreground:#17243b;--theme-muted:#586a83;width:min(100%,460px);min-height:100vh;margin:0 auto;padding:18px 16px 40px}.app-shell--playing{background:var(--theme-background);color:var(--theme-foreground);height:100dvh;min-height:0;padding:10px 14px max(10px, env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.app-shell--level-finale{box-shadow:inset 0 0 70px color-mix(in srgb, var(--theme-accent) 10%, transparent)}.app-shell--final-level{box-shadow:inset 0 0 90px #facc151f}.app-header,.header-actions,.section-heading,.history-entry{justify-content:space-between;align-items:center;display:flex}.app-header{min-height:38px}.game-logo{color:#174ea6;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;margin:0;font-size:.86rem;font-weight:900;display:inline-flex}.brand-mark{border-radius:7px;width:22px;height:22px;display:block;box-shadow:0 3px 8px #2563eb2e}.header-actions{gap:7px}.header-text-button{color:#245ba8;background:0 0;align-items:center;gap:4px;min-height:38px;padding:7px 4px;font-size:.82rem;font-weight:800;display:inline-flex}.header-text-button .lucide{width:15px;height:15px}.eyebrow{color:#2863b8;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:800}.icon-button{color:#235aa7;background:#ffffffb8;border:1px solid #c6d6ed;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.2rem;display:grid}.icon-button .lucide{width:18px;height:18px}.notice{color:#22549c;text-align:center;min-height:21px;margin:5px 0 10px;font-size:.85rem;font-weight:700}.app-shell--playing .notice{min-height:15px;margin:0 0 3px;font-size:.7rem}.card{background:#ffffffc7;border:1px solid #a8c0e5c7;border-radius:28px;box-shadow:0 20px 48px #3f629726}.hero,.result-card{text-align:center;padding:34px 24px 28px}.tutorial{text-align:center;margin-top:24px;padding:28px 20px 22px}.tutorial-intro{color:#56657b;line-height:1.5}.tutorial-steps{text-align:left;gap:10px;margin:20px 0;display:grid}.tutorial-steps article{background:#eef5ff;border-radius:14px;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px;display:grid}.tutorial-steps article>b{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.tutorial-steps h2,.tutorial-steps p{margin-bottom:0}.tutorial-steps h2{color:#2e4565;font-size:.85rem}.tutorial-steps p{color:#64758e;margin-top:4px;font-size:.76rem;line-height:1.45}.tutorial-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.tutorial-dot--correct{background:#8ed17d}.tutorial-dot--present{background:#ffd166}.tutorial-dot--absent{background:#b7abb1}.tutorial .primary-button{width:100%}.hero{margin-top:8vh}.hero-icon,.result-icon{color:#2563eb;background:#e7f0ff;border-radius:24px;place-items:center;width:70px;height:70px;margin:0 auto 14px;display:grid}.hero-icon .lucide,.result-icon .lucide{width:40px;height:40px}.hero-icon--brand{background:0 0}.hero-icon--brand .brand-mark{border-radius:24px;width:70px;height:70px;box-shadow:0 10px 20px #2563eb38}.result-icon{color:#b07800;background:#fff4cb}.hero p:not(.eyebrow,.hero-icon),.result-card p:not(.eyebrow,.result-icon){color:#56657b;line-height:1.55}.button-stack,.game-actions{gap:10px;display:grid}.button-stack{margin-top:24px}.primary-button,.secondary-button{border-radius:15px;min-height:50px;padding:12px 18px;font-weight:800}.primary-button{color:#fff;background:#2563eb;box-shadow:0 9px 18px #2563eb40}.secondary-button{color:#245ba8;background:#f8fbff;border:1px solid #bdd0ec}.text-button{color:#245ba8;text-underline-offset:3px;background:0 0;min-height:42px;margin:16px auto 0;padding:8px;font-size:.88rem;font-weight:800;text-decoration:underline;display:block}.level-progress{justify-content:center;gap:10px;margin:5px 0 22px;display:flex}.campaign-map{padding-bottom:24px}.map-intro,.campaign-stats,.world-header,.map-level{align-items:center;display:flex}.map-intro{justify-content:space-between;gap:16px;padding:18px 2px 14px}.map-intro h1{margin-bottom:5px}.map-intro p:not(.eyebrow){color:#64758e;max-width:270px;margin-bottom:0;font-size:.86rem;line-height:1.45}.campaign-score{color:#7d5d00;text-align:center;background:#fff7d8;border:1px solid #e5c878;border-radius:16px;min-width:70px;padding:10px 8px;display:grid}.campaign-score strong{justify-content:center;align-items:center;gap:3px;font-size:1.08rem;display:inline-flex}.campaign-score .lucide,.world-stars .lucide{fill:currentColor;width:15px;height:15px}.campaign-score span{color:#9b7a1e;font-size:.66rem;font-weight:800}.campaign-stats{gap:8px;margin-bottom:14px}.campaign-stats span{color:#617692;text-align:center;background:#ffffffad;border:1px solid #c9d8ed;border-radius:12px;flex:1;padding:9px;font-size:.75rem}.campaign-stats b{color:#174ea6}.world-card{border:1px solid var(--world-border,#a8c0e5c2);background:var(--world-background,#ffffffb8);border-radius:22px;margin-top:14px;padding:13px;position:relative;overflow:hidden;box-shadow:0 12px 30px #3f62971a}.world-card:before{background:var(--world-decoration,none);content:"";opacity:.7;pointer-events:none;position:absolute;inset:0}.world-card>*{z-index:1;position:relative}.world-header{border-bottom:1px solid color-mix(in srgb, var(--world-border,#dce6f4) 58%, transparent);gap:10px;padding-bottom:10px;position:relative}.world-icon{background:var(--world-panel,#e7f0ff);width:42px;height:42px;color:var(--world-accent,#2563eb);border-radius:14px;flex:none;place-items:center;display:grid}.world-icon .lucide{width:24px;height:24px}.world-header .eyebrow,.world-header h2,.world-header p{margin-bottom:0}.world-header h2{color:var(--world-text,#253b5a);font-size:1rem}.world-header p:not(.eyebrow){color:var(--world-muted,#718198);margin-top:3px;font-size:.7rem;line-height:1.35}.world-stars{color:var(--world-accent,#a27400);flex:none;align-items:center;gap:3px;font-size:.76rem;display:inline-flex}.world-medals{gap:5px;padding-top:9px;display:flex}.world-medal{background:color-mix(in srgb, var(--world-panel,#edf2f8) 72%, #fff);min-width:0;color:color-mix(in srgb, var(--world-muted,#9aaabd) 70%, #fff);border-radius:8px;flex:1;align-items:center;gap:4px;padding:5px 6px;display:inline-flex}.world-medal .lucide{flex:none;width:13px;height:13px}.world-medal small{text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:800;overflow:hidden}.world-medal--earned{background:var(--world-medal,#fff3c4);color:var(--world-medal-text,#946d00)}.map-path{gap:12px;padding:16px 2px 4px;display:grid;position:relative}.map-route{pointer-events:none;width:100%;height:calc(100% - 20px);position:absolute;inset:16px 0 4px;overflow:visible}.map-route-shadow,.map-route-line,.map-route-dashes{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-route-shadow{stroke:color-mix(in srgb, var(--world-panel,#fff) 74%, transparent);stroke-width:10px}.map-route-line{stroke:var(--world-line,#c4d4ea);stroke-width:6px}.map-route-dashes{stroke:var(--world-route,#7d9dc9);stroke-dasharray:1 9;stroke-width:2px}.map-level{z-index:1;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:center;width:100%;display:grid;position:relative}.map-level--right{text-align:left}.map-node{color:#60748f;width:58px;height:58px;transform:translateX(var(--node-offset,0));background:#dfe8f4;border:3px solid #fff;border-radius:50%;flex:none;grid-area:1/2;justify-self:center;place-items:center;font-weight:900;display:grid;box-shadow:0 3px #b7c7de,0 8px 16px #3f629724}.map-node-icon{place-items:center;height:21px;display:grid}.map-node-icon .lucide{width:20px;height:20px}.map-node b{font-size:.72rem}.map-level--available .map-node,.map-level--active .map-node{color:#fff;background:#4f83f1;box-shadow:0 3px #2259bb,0 8px 16px #2563eb38}.map-level--active .map-node{animation:1.8s ease-in-out infinite node-pulse}.map-level--completed .map-node{color:#174d22;background:#8ed17d;box-shadow:0 3px #549d48,0 8px 16px #3e8c4733}.map-level--locked .map-node{box-shadow:0 3px #c6d2e2}.map-level-copy{text-align:right;grid-area:1/1;min-width:0;padding-right:9px}.final-map-badge{border:1px solid color-mix(in srgb, var(--level-accent,#2563eb) 28%, #fff);background:color-mix(in srgb, var(--level-soft,#eef5ff) 78%, #fff);color:var(--level-accent,#2563eb);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-bottom:3px;padding:2px 7px;font-size:.55rem;font-weight:950;display:inline-flex}.map-level--right .map-level-copy{text-align:left;grid-column:3;padding-left:9px;padding-right:0}.map-level-copy p,.map-level-copy small{margin:0;display:block}.map-level-copy p{color:var(--world-text,#2e4565);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:900;overflow:hidden}.map-level-copy small{color:var(--world-muted,#7a8ba3);overflow-wrap:anywhere;font-size:.62rem;line-height:1.25}.world-card--chrome-city{box-shadow:0 12px 30px #3f62971a}.map-level--finale .map-node{background:var(--level-accent,#facc15);width:66px;height:66px;box-shadow:0 4px 0 color-mix(in srgb, var(--level-accent,#a16207) 62%, #111827), 0 0 0 8px color-mix(in srgb, var(--level-accent,#facc15) 18%, transparent), 0 16px 28px #0f172a2e;color:#fff;border-color:#fff8d4}.map-level--finale .map-node:before{border:2px dashed color-mix(in srgb, var(--level-accent,#facc15) 60%, transparent);content:"";border-radius:50%;animation:8s linear infinite final-orbit;position:absolute;inset:-11px}.map-level--finale .map-node-icon .lucide{width:24px;height:24px}.map-level--finale .map-level-copy p{color:color-mix(in srgb, var(--level-accent,#2563eb) 46%, var(--world-text,#2e4565));font-size:.84rem}.map-level--finale .map-level-copy small{color:var(--world-muted,#7a8ba3)}.map-level--campaign-final .map-node{color:#1f2937;background:#facc15;width:74px;height:74px;box-shadow:0 5px #a16207,0 0 0 9px #facc1533,0 18px 30px #0f172a3d}.map-level--campaign-final .map-node:before{border-color:#facc15ad;inset:-14px}.map-level--campaign-final .final-map-badge{color:#facc15;background:#1f2937;border-color:#facc1594}.map-level--locked.map-level--finale .map-node{background:color-mix(in srgb, var(--level-accent,#dfe8f4) 18%, #dfe8f4);box-shadow:0 3px 0 #c6d2e2, 0 0 0 7px color-mix(in srgb, var(--level-accent,#dfe8f4) 9%, transparent);color:#7a8aa2}.map-level--locked.map-level--finale .map-node:before{opacity:.28;animation:none}.map-level--completed.map-level--finale .map-node:before{opacity:.38;border-style:solid;animation:none}.map-level--completed.map-level--finale .map-node{box-shadow:0 4px 0 color-mix(in srgb, var(--level-accent,#a16207) 48%, #111827), 0 0 0 7px color-mix(in srgb, var(--level-accent,#facc15) 14%, transparent), 0 13px 22px #0f172a24}.map-level--completed.map-level--campaign-final .map-node:before{opacity:.48}.stars{color:#ccd5e2;gap:3px;font-size:2rem;line-height:1;display:inline-flex}.star{display:inline-flex}.star .lucide{fill:currentColor}.stars--compact{gap:1px;margin:3px 0;font-size:.72rem}.star--filled{color:#f4b728;filter:drop-shadow(0 2px 1px #b17b002e)}.stars--animated .star--filled{animation:star-pop .42s calc(var(--star-index) * .18s) both}.overview-topline,.level-intro{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-topline .level-progress{justify-content:flex-start;margin:0}.difficulty-badge{border:1px solid var(--theme-border);color:var(--theme-accent);letter-spacing:.08em;text-transform:uppercase;background:#ffffffb8;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:900}.level-position{gap:1px;display:grid}.level-position span{color:var(--theme-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.level-position b{color:var(--theme-accent);font-size:.8rem}.progress-dot{color:#6783ad;background:#ffffff9e;border:1px solid #bdcfe9;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;display:grid}.progress-dot--current{color:#174ea6;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb24}.progress-dot--completed{color:#397332;background:#e4f5dd;border-color:#81ae78}.level-intro{margin:5px 0 1px}.level-intro p:not(.eyebrow){color:var(--theme-muted);margin-bottom:0;line-height:1.45}.level-intro h1,.level-intro .eyebrow{margin-bottom:3px}.level-intro h1{font-size:clamp(1.28rem,5.5vw,1.7rem)}.attempt-counter{white-space:nowrap;flex:none;font-size:.88rem}.level-clue{color:var(--theme-muted);margin:0;font-size:.76rem;line-height:1.35}.app-shell--playing .game-overview{border:1px solid var(--theme-border);background:linear-gradient(135deg, var(--theme-soft), #ffffffb8);border-radius:18px;padding:8px}.app-shell--level-finale:not(.app-shell--final-level) .game-overview{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 18%, transparent), 0 10px 24px color-mix(in srgb, var(--theme-accent) 12%, transparent)}.app-shell--final-level .app-header,.app-shell--final-level .notice{color:#f8fafc}.app-shell--final-level .game-logo,.app-shell--final-level .header-text-button{color:#fde68a}.app-shell--final-level .icon-button{color:#fde68a;background:#0f172a94;border-color:#fde68a61}.app-shell--final-level .game-overview,.app-shell--final-level .play-dock,.app-shell--final-level .legend-panel,.app-shell--final-level .game-board .history{background:#0f172ab8;border-color:#fde68a61;box-shadow:0 18px 38px #00000042}.app-shell--final-level .level-intro h1,.app-shell--final-level .section-heading h2,.app-shell--final-level .picker h2,.app-shell--final-level .history h2{color:#f8fafc}.app-shell--final-level .section-heading span,.app-shell--final-level .empty-history,.app-shell--final-level .legend,.app-shell--final-level .history-number{color:#cbd5e1}.app-shell--final-level .secondary-button{color:#fde68a;background:#1e293bd6;border-color:#fde68a61}.final-level-banner{border:1px solid color-mix(in srgb, var(--theme-accent) 28%, #fff);background:linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 76%, #fff), #ffffffb3);min-height:32px;color:var(--theme-accent);letter-spacing:.12em;text-transform:uppercase;border-radius:14px;justify-content:center;align-items:center;gap:6px;font-size:.72rem;font-weight:950;display:inline-flex}.final-level-banner--campaign{color:#fde68a;background:#0f172aa8;border-color:#fde68a6b}.final-level-banner .lucide{width:15px;height:15px}.theme-label{color:var(--theme-accent);letter-spacing:.08em;text-transform:uppercase;background:#ffffff9e;border-radius:999px;margin:6px 0 0;padding:4px 8px;font-size:.65rem;font-weight:900;display:inline-flex}.repeat-rule{color:var(--theme-accent);align-items:center;gap:5px;margin:5px 0 0;font-size:.7rem;font-weight:800;display:inline-flex}.repeat-rule .lucide{width:14px;height:14px}.playing-screen{flex-direction:column;flex:1;gap:7px;min-height:0;display:flex}.game-overview,.play-dock{flex:none}.game-board{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.attempt-editor,.picker,.history{background:#ffffffb8;border:1px solid #b4c9e7c7;border-radius:20px;margin-top:14px;padding:16px}.history{background:#f7faffd6;min-height:116px}.game-board .history{flex-direction:column;flex:1;min-height:0;margin-top:0;padding:11px;display:flex}.game-board .history--empty{flex:none;min-height:86px}.history--empty .empty-history{max-width:290px}.game-board .legend{margin:0;display:flex}.legend-panel{background:#ffffffad;border:1px solid #b4c9e7bd;border-radius:12px;flex:none;align-items:center;gap:10px;min-height:34px;padding:6px 9px;display:flex}.legend-title{color:#245ba8;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.play-dock{background:#fffffff0;border:1px solid #a8c0e5e0;border-radius:20px;padding:13px;box-shadow:0 -8px 28px #3f62971f}.play-dock .attempt-editor,.play-dock .picker{background:0 0;border:0;border-radius:0;margin:0;padding:0}.play-dock .picker{margin-top:14px}.play-dock .helper-text{display:none}.play-dock .picker h2{margin-bottom:8px;font-size:.88rem}.play-dock .attempt-editor .section-heading{margin-bottom:9px}.play-dock .attempt-editor .tile-row--code{width:min(100%, var(--attempt-grid-width,340px));margin-inline:auto}.picker{background:#e8f1ffe0}.section-heading h2,.section-heading span{margin:0}.section-heading span{color:#4770ac;font-size:.82rem;font-weight:800}.tile-row{gap:7px;display:flex}.tile-row--code{grid-template-columns:repeat(var(--code-size), minmax(0, 1fr));gap:6px;width:100%;max-width:340px;display:grid}.tile-row--code .tile{aspect-ratio:1;width:auto;height:auto}.tile-row--centered{margin:20px auto}.tile{background:#fff;border-radius:15px;flex:none;place-items:center;width:min(16vw,60px);height:min(16vw,60px);font-size:clamp(1.45rem,7vw,2rem);display:grid;position:relative;box-shadow:inset 0 0 0 1px #c8d6e9}.tile--empty{color:#a8b8ce;font-size:1.1rem;font-weight:900}.tile--selected{background:#f4f8ff}.tile--small{border-radius:12px;width:min(13vw,48px);height:min(13vw,48px);font-size:clamp(1.2rem,5.5vw,1.65rem)}.tile--correct{background:#b8e5aa;box-shadow:inset 0 0 0 1px #7eb76f}.tile--present{background:#ffe39b;box-shadow:inset 0 0 0 1px #d5ae53}.tile--absent{background:#ddd8dc;box-shadow:inset 0 0 0 1px #b7abb1}.tile-marker{color:#fff;background:#26364e;border-radius:50%;place-items:center;width:17px;height:17px;font-size:.68rem;font-weight:900;display:grid;position:absolute;bottom:-3px;right:-3px}.tile-marker .lucide{stroke-width:3px;width:11px;height:11px}.helper-text,.empty-history{color:#6d7e95;margin:10px 0 0;font-size:.78rem;line-height:1.4}.picker h2,.history h2{margin-bottom:12px}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.emoji-option{aspect-ratio:1;background:#fff;border:1px solid #c3d4ed;border-radius:14px;place-items:center;min-width:0;font-size:clamp(1.45rem,7vw,2rem);display:grid;position:relative}.emoji-option small{color:#fff;background:#2563eb;border-radius:999px;place-items:center;min-width:17px;height:17px;font-size:.56rem;font-weight:900;display:grid;position:absolute;bottom:2px;right:3px}.emoji-option--selected{background:var(--theme-soft);border-color:var(--theme-border);animation:.18s ease-out emoji-pop}.app-shell--playing .primary-button{background:var(--theme-accent)}.play-dock .emoji-option{aspect-ratio:auto;border-radius:11px;min-height:46px;font-size:clamp(1.35rem,6vw,1.75rem)}.game-actions{grid-template-columns:1fr .62fr;margin-top:12px}.legend{color:#566b89;flex-wrap:wrap;gap:6px 10px;font-size:.68rem;font-weight:700;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend-swatch{color:#26364e;border-radius:6px;place-items:center;width:18px;height:18px;display:grid}.legend-swatch .lucide{stroke-width:3px;width:12px;height:12px}.legend-swatch--correct{background:#b8e5aa}.legend-swatch--present{background:#ffe39b}.legend-swatch--absent{background:#ddd8dc}.history-list{overscroll-behavior:contain;gap:9px;min-height:0;padding:3px 4px 3px 0;display:grid;overflow-y:auto}.history-entry{grid-template-columns:15px minmax(0,1fr);justify-content:start;gap:8px;display:grid}.history-entry:last-child .tile{animation:.34s ease-out both reveal-tile}.history-entry:last-child .tile:nth-child(2){animation-delay:70ms}.history-entry:last-child .tile:nth-child(3){animation-delay:.14s}.history-entry:last-child .tile:nth-child(4){animation-delay:.21s}.history-entry:last-child .tile:nth-child(5){animation-delay:.28s}.history-entry:last-child .tile:nth-child(6){animation-delay:.35s}.history-entry:last-child .tile:nth-child(7){animation-delay:.42s}.history-number{color:#7890b4;width:15px;font-size:.72rem;font-weight:800}.result-card{margin-top:12vh}.result-card--loss{margin-top:4vh}.result-card--final{margin-top:5vh}.result-card .primary-button{width:100%;margin-top:10px}.result-score{color:#6d7f99;margin:10px 0 0;font-size:.8rem}.result-hint{color:#4d6382;background:#eef5ff;border-radius:14px;padding:11px 12px;font-size:.82rem;font-weight:700}.history--result{text-align:left;background:#f7faffe0;border:1px solid #c9d8ed;border-radius:18px;min-height:0;margin:18px 0 14px;padding:12px}.history--result .section-heading{margin-bottom:10px}.history--result .history-list{max-height:min(34vh,270px);padding-right:5px}.history--result .tile-row--history{max-width:none}.result-actions{gap:9px;display:grid}.result-actions .secondary-button{margin-top:0}.final-note{background:#eef5ff;border-radius:14px;padding:14px;font-style:italic}.final-summary{grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 12px;display:grid}.final-summary span{background:#f8fbff;border:1px solid #d5e1f2;border-radius:14px;gap:2px;padding:12px 8px;display:grid}.final-summary b{color:#174ea6;font-size:1.35rem}.final-summary small{color:#6d7f99;font-size:.68rem}@keyframes emoji-pop{50%{transform:scale(1.12)}}@keyframes reveal-tile{0%{opacity:0;transform:rotateX(70deg)scale(.92)}to{opacity:1;transform:rotateX(0)scale(1)}}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-20deg)}70%{transform:scale(1.22)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes node-pulse{0%,to{transform:translateX(var(--node-offset,0)) scale(1)}50%{transform:translateX(var(--node-offset,0)) scale(1.07)}}@keyframes final-orbit{to{transform:rotate(360deg)}}@media (width>=430px){.app-shell{padding-inline:20px}}@media (height<=680px){.app-shell--playing{padding-top:10px}.app-shell--playing .app-header{min-height:38px}.app-shell--playing .icon-button{width:38px;height:38px}.level-clue{display:none}.play-dock{padding:8px}.play-dock .picker{margin-top:8px}.play-dock .attempt-editor .section-heading{margin-bottom:5px}.play-dock .emoji-option{min-height:40px}.game-actions{margin-top:8px}.primary-button,.secondary-button{min-height:46px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
