:root{--space-0: #0b1026;--space-1: #141a3a;--space-2: #1e2450;--space-glow: #2b1a5e;--surface: #ffffff;--surface-soft: #f4f1ff;--ink: #1a1633;--ink-soft: #4a4470;--sun: #ffd23f;--mars: #ff6b4a;--earth: #3aa0ff;--grape: #a06bff;--mint: #2ec4b6;--bubble: #ff7eb6;--star: #fff7d6;--c-asia: #ffcf6b;--c-europe: #7ee0c9;--c-africa: #ffa45c;--c-namerica: #8fb3ff;--c-samerica: #ff9ec7;--c-oceania: #b39ddb;--c-antarctica: #dbe9ff;--font: ui-rounded, "SF Pro Rounded", "Baloo 2", "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--text-label: clamp(1rem, 1.4vw + .7rem, 1.4rem);--text-body: clamp(1.15rem, 1.6vw + .9rem, 1.9rem);--text-title: clamp(2rem, 4vw + 1rem, 3.6rem);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--radius-lg: 1.75rem;--radius-pill: 999px;--tap-min: 4.75rem;--gap-1: .5rem;--gap-2: 1rem;--gap-3: 1.75rem;--gap-4: 2.75rem;--shadow-pop: 0 .5rem 0 rgba(0, 0, 0, .18), 0 1rem 2rem rgba(0, 0, 0, .22);--shadow-soft: 0 .75rem 1.75rem rgba(10, 6, 40, .28)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(120% 90% at 50% 0%,var(--space-glow) 0%,var(--space-1) 45%,var(--space-0) 100%);overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}[hidden]{display:none!important}button{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none;cursor:pointer}:focus-visible{outline:4px solid var(--sun);outline-offset:3px;border-radius:8px}.app-shell{position:relative;min-height:100%;isolation:isolate}.screen{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);padding-top:calc(clamp(1rem,4vw,3rem) + var(--safe-top));padding-right:calc(clamp(1rem,4vw,3rem) + var(--safe-right));padding-bottom:calc(clamp(1rem,4vw,3rem) + var(--safe-bottom));padding-left:calc(clamp(1rem,4vw,3rem) + var(--safe-left));z-index:1}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(2px 2px at 20% 30%,var(--star),transparent 60%),radial-gradient(2px 2px at 70% 12%,#fff,transparent 60%),radial-gradient(1.5px 1.5px at 40% 70%,var(--star),transparent 60%),radial-gradient(1.5px 1.5px at 85% 55%,#fff,transparent 60%),radial-gradient(2px 2px at 55% 40%,var(--star),transparent 60%),radial-gradient(1px 1px at 12% 80%,#fff,transparent 60%),radial-gradient(1.5px 1.5px at 92% 82%,var(--star),transparent 60%),radial-gradient(1px 1px at 32% 18%,#fff,transparent 60%);animation:twinkle 6s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.55}to{opacity:1}}.chrome{position:fixed;inset:0 0 auto 0;display:flex;justify-content:space-between;padding:clamp(.6rem,2vw,1.2rem);padding-top:calc(clamp(.6rem,2vw,1.2rem) + var(--safe-top));padding-right:calc(clamp(.6rem,2vw,1.2rem) + var(--safe-right));padding-left:calc(clamp(.6rem,2vw,1.2rem) + var(--safe-left));z-index:30;pointer-events:none}.chrome-left,.chrome-right{display:flex;gap:var(--gap-2);pointer-events:auto}.chrome-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop);font-size:1.9rem;display:grid;place-items:center}.lang-toggle{min-height:var(--tap-min);padding:0 1.25rem;border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-pop);font-weight:800;font-size:1.3rem;letter-spacing:.03em;display:flex;align-items:center;gap:.4rem;color:var(--ink-soft)}.lang-toggle .lang-on{color:var(--earth)}.lang-toggle .lang-sep{opacity:.4}.tap-target{touch-action:manipulation;-webkit-user-select:none;user-select:none}.mascot{position:fixed;right:calc(clamp(.75rem,3vw,2rem) + var(--safe-right));bottom:calc(clamp(.75rem,3vw,2rem) + var(--safe-bottom));width:clamp(4.5rem,12vw,7.5rem);height:clamp(4.5rem,12vw,7.5rem);z-index:30;filter:drop-shadow(0 .5rem .6rem rgba(0,0,0,.35))}.mascot svg{width:100%;height:100%}.orrery{position:relative;width:min(96vw,88vh);aspect-ratio:1 / 1;margin:auto;overflow:visible}.orbit-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(255,255,255,.15);pointer-events:none}.orbit-body{position:absolute;transform:translate(-50%,-50%);z-index:1}.sun-body{z-index:2}.planet-hit,.sun-body.tap-target{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-width:4.5rem;min-height:4.5rem}.sun-core{display:grid;place-items:center;width:clamp(5rem,15vw,8.5rem);height:clamp(5rem,15vw,8.5rem);overflow:visible;filter:drop-shadow(0 0 1.8rem rgba(255,193,84,.7));animation:body-float 6.5s ease-in-out infinite}@keyframes body-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.42rem)}}.body-label{color:#fff;font-weight:800;font-size:clamp(.85rem,1.1vw + .6rem,1.25rem);text-shadow:0 2px 6px rgba(0,0,0,.65);white-space:nowrap}.planet-orb{position:relative;display:grid;place-items:center;overflow:visible}.planet-orb.is-earth{filter:drop-shadow(0 0 .55rem rgba(126,200,255,.85))}.planet-art{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 .4rem .7rem rgba(0,0,0,.45))}.planet-badge{position:absolute;right:-.2rem;top:-.2rem;font-size:1.4rem;z-index:2}.planet-screen{display:flex;flex-direction:column;align-items:center;gap:var(--gap-3);max-width:720px;text-align:center}.planet-hero{width:clamp(9rem,34vw,16rem);height:clamp(9rem,34vw,16rem);display:grid;place-items:center;overflow:visible}.name-stack{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1rem,3.5vw,1.75rem) clamp(1.5rem,5vw,2.5rem);box-shadow:var(--shadow-soft)}.name-en{margin:0;font-size:var(--text-title);font-weight:900;color:var(--ink);line-height:1.1}.name-vi{margin:0;font-size:var(--text-body);font-weight:800;color:var(--ink-soft)}.name-stack .speaker-btn{margin-top:.7rem}.cta-earth{min-height:calc(var(--tap-min) + .5rem);padding:0 2.25rem;border-radius:var(--radius-pill);background:var(--earth);color:#fff;font-weight:900;font-size:var(--text-body);box-shadow:var(--shadow-pop)}.speaker-btn{flex:none;width:var(--tap-min);height:var(--tap-min);border-radius:50%;background:var(--sun);display:grid;place-items:center;font-size:1.9rem;box-shadow:var(--shadow-pop)}.earth-screen{width:100%;max-width:min(1280px,98vw);display:flex;flex-direction:column;align-items:center;gap:var(--gap-2)}.screen:has(.earth-screen){padding:clamp(.75rem,2vw,1.5rem);padding-top:calc(clamp(.75rem,2vw,1.5rem) + var(--safe-top));padding-right:calc(clamp(.75rem,2vw,1.5rem) + var(--safe-right));padding-bottom:calc(clamp(.75rem,2vw,1.5rem) + var(--safe-bottom));padding-left:calc(clamp(.75rem,2vw,1.5rem) + var(--safe-left))}.screen-heading{color:#fff;font-size:var(--text-title);margin:0;text-align:center}.world-wrap{width:100%;background:#0e1636;border-radius:var(--radius-lg);padding:.4rem;box-shadow:var(--shadow-soft);overflow:hidden}.world-wrap svg{width:100%;height:auto;display:block;touch-action:none}.map-actions{display:flex;gap:var(--gap-2);flex-wrap:wrap;justify-content:center}.map-btn{min-height:var(--tap-min);padding:0 1.5rem;border-radius:var(--radius-pill);background:var(--sun);color:var(--ink);font-weight:900;font-size:var(--text-label);box-shadow:var(--shadow-pop);display:flex;align-items:center}.map-btn.ghost{background:var(--surface);color:var(--ink-soft)}.map-hint{color:#fff;background:#ffffff1f;border-radius:var(--radius-lg);padding:.6rem 1.1rem;font-size:var(--text-label);text-align:center;max-width:34rem}.continent-screen{width:100%;max-width:1100px;display:flex;flex-direction:column;align-items:center;gap:var(--gap-3)}.flag-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));gap:clamp(1rem,3vw,2rem);max-height:70dvh;overflow-y:auto;padding:.5rem}.flag-tile{display:flex;flex-direction:column;gap:.75rem;background:var(--surface);border-radius:var(--radius-lg);padding:clamp(.9rem,2.5vw,1.4rem);box-shadow:var(--shadow-soft);align-items:center}.flag-tile.is-home{outline:5px solid var(--sun)}.flag-tile img,.flag-tile .pixel-flag{width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:.85rem;box-shadow:0 .4rem .9rem #00000040;background:var(--surface-soft)}.pixel-flag{display:block;image-rendering:pixelated}.flag-tile .flag-name{font-weight:900;font-size:var(--text-label);color:var(--ink)}.card-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#060418c7;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem)}.flag-card{position:relative;background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1rem,3vw,1.75rem);width:min(58rem,96vw);max-height:94dvh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow-pop)}.fc-main{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,3vw,2.25rem);padding:0 calc(var(--tap-min) + .35rem)}.fc-main.no-crossing{padding:0 1rem}.fc-left{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.7rem}.fc-right{flex:1 1 0;min-width:0;margin:0;display:flex;align-items:center;background:var(--surface-soft);border-radius:var(--radius-lg);padding:.6rem}.fc-right .crossing-svg{width:100%;height:auto;display:block}.crossing-tap{display:block;width:100%;cursor:pointer}.fc-flag{width:100%;max-width:17rem;aspect-ratio:4 / 3;object-fit:contain;border-radius:1rem;background:var(--surface-soft);border:5px solid var(--surface-soft);box-shadow:0 .6rem 1.3rem #00000047}.fc-names{text-align:center}.fc-names .name-en{font-size:clamp(1.5rem,3.4vw,2.3rem)}.fc-names .name-vi{font-size:clamp(1.05rem,2.2vw,1.45rem)}.card-arrow{--arrow-size: var(--tap-min);position:absolute;top:50%;margin-top:calc(var(--arrow-size) / -2);width:var(--arrow-size);height:var(--arrow-size);border-radius:50%;background:var(--surface-soft);font-size:1.7rem;display:grid;place-items:center;box-shadow:var(--shadow-pop);z-index:3}.card-arrow.left{left:.5rem}.card-arrow.right{right:.5rem}@media (max-width: 620px){.fc-main{flex-direction:column;padding:0 3.25rem;gap:.75rem}.fc-flag,.word-pic{max-width:12.5rem}.card-arrow{--arrow-size: 3.4rem;font-size:1.4rem}}.card-close{position:absolute;top:.75rem;right:.75rem;width:var(--tap-min);height:var(--tap-min);border-radius:50%;background:var(--mars);color:#fff;font-size:1.9rem;display:grid;place-items:center;box-shadow:var(--shadow-pop)}.penguin-emoji{font-size:clamp(5rem,20vw,9rem)}.settings-screen{width:100%;max-width:640px;background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1.5rem,5vw,2.5rem);display:flex;flex-direction:column;gap:var(--gap-3);box-shadow:var(--shadow-soft)}.settings-screen h1{margin:0;font-size:var(--text-title)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-2);font-size:var(--text-body);font-weight:700}.toggle-pill{min-width:6.5rem;min-height:var(--tap-min);border-radius:var(--radius-pill);padding:0 1.5rem;font-weight:900;box-shadow:var(--shadow-pop)}.toggle-pill.on{background:var(--mint);color:#06281f}.toggle-pill.off{background:var(--surface-soft);color:var(--ink-soft)}.toggle-pill.theme-pill{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.25rem;font-size:1.15rem}.credits{font-size:1rem;color:var(--ink-soft);line-height:1.5}.voice-section{display:flex;flex-direction:column;gap:var(--gap-2);padding-top:var(--gap-2);border-top:3px solid var(--surface-soft)}.voice-section h2{margin:0;font-size:var(--text-body)}.setting-col{display:flex;flex-direction:column;gap:.5rem}.setting-col>span{font-weight:700;font-size:var(--text-label)}.voice-row{display:flex;gap:var(--gap-2);align-items:stretch}.voice-select{flex:1;min-width:0;min-height:var(--tap-min);border-radius:var(--radius-lg);border:3px solid var(--surface-soft);background:#fff;color:var(--ink);font-family:var(--font);font-size:1.05rem;font-weight:700;padding:0 .9rem}.toggle-pill.voice-test{min-width:0;padding:0 1.4rem;font-size:1.4rem}.msg-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-3);text-align:center}.msg-art{width:clamp(9rem,26vw,16rem);display:block;animation:body-float 4.5s ease-in-out infinite}.msg-title{color:#fff;font-size:var(--text-title);margin:0}.msg-sub{color:var(--star);font-size:var(--text-body);margin:.25rem 0 0;opacity:.9}.msg-home{min-height:calc(var(--tap-min) + .5rem);padding:0 2.25rem;border-radius:var(--radius-pill);background:var(--sun);color:var(--ink);font-weight:900;font-size:var(--text-body);box-shadow:var(--shadow-pop)}.error-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-2, 1rem);padding:clamp(1rem,4vw,3rem);padding-top:calc(clamp(1rem,4vw,3rem) + var(--safe-top, 0px));padding-bottom:calc(clamp(1rem,4vw,3rem) + var(--safe-bottom, 0px));text-align:center;font-family:var(--font, system-ui, sans-serif)}.error-art{font-size:clamp(4rem,14vw,8rem);line-height:1}.error-title{color:#fff;font-size:var(--text-title, 2rem);margin:0}.error-sub{color:#fff7d6;font-size:var(--text-body, 1.25rem);margin:0;opacity:.9}.error-home{margin-top:1rem;min-height:4.75rem;padding:0 2.25rem;border:none;border-radius:999px;background:#ffd23f;color:#1a1633;font:inherit;font-weight:900;font-size:var(--text-body, 1.25rem);cursor:pointer}.home-screen{width:100%;display:flex;justify-content:center}.home-doors{--door-size: clamp(8.5rem, min(40vw, 34dvh), 16rem);display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,3vw,2.25rem);max-width:calc(3 * var(--door-size) + 2 * 2.25rem)}.home-door-wrap{flex:0 0 var(--door-size)}.home-door{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.9rem;background:var(--surface);border:.45rem solid var(--door);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop),0 0 1.6rem color-mix(in srgb,var(--door) 55%,transparent);cursor:pointer;font:inherit}.home-door-art{flex:1 1 0;min-height:0;width:78%;display:grid;place-items:center;overflow:visible}.home-door-art svg{width:100%;height:100%;overflow:visible}.home-door-label{font-weight:900;font-size:var(--text-label);color:var(--ink);text-align:center;line-height:1.1}.chuviet-screen{display:flex;flex-direction:column;align-items:center;gap:var(--gap-2);width:100%}.letter-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(7.5rem,100%),1fr));gap:clamp(.75rem,2vw,1.25rem);max-height:62dvh;overflow-y:auto;padding:.5rem}.letter-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;aspect-ratio:1;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:.5rem}.letter-glyph{display:flex;align-items:baseline;gap:.15em;color:var(--ink);font-weight:900;font-size:clamp(2rem,6vw,3.1rem);line-height:1}.letter-glyph em{font-style:normal;color:var(--grape);font-size:.78em}.letter-tile-pic{width:45%;height:auto;display:block}.letter-tile .brick-svg{width:52%;height:auto}.brick-svg{width:100%;max-width:15rem;height:auto;aspect-ratio:1;image-rendering:auto}.lc-glyph{display:flex;align-items:baseline;justify-content:center;gap:.12em;color:var(--ink);font-weight:900;font-size:clamp(5rem,16vw,11rem);line-height:1}.lc-glyph em{font-style:normal;color:var(--grape);font-size:.74em}.letter-art{width:100%;max-width:15rem;height:auto}.tone-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(11rem,100%),1fr));gap:clamp(.75rem,2.5vw,1.5rem);padding:.5rem}.tone-tile{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:clamp(.9rem,2.5vw,1.3rem)}.tone-mark{color:var(--ink);font-weight:900;font-size:clamp(2.6rem,8vw,4rem);line-height:1}.tone-curve{width:100%;height:clamp(2.2rem,6vw,3.2rem);color:var(--mars)}.write-screen{display:flex;flex-direction:column;align-items:center;gap:var(--gap-2);width:100%}.write-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.letter-writer{width:min(58vh,86vw,26rem);height:auto;aspect-ratio:100 / 130;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:.5rem;touch-action:none}.writer-start{animation:writer-pulse 1.4s ease-in-out infinite}.xing-lamp{animation:xing-blink 1s steps(1) infinite}.xing-lamp.b{animation-delay:.5s}@keyframes xing-blink{0%,49%{opacity:1}50%,to{opacity:.25}}@keyframes writer-pulse{0%,to{opacity:.35;r:9}50%{opacity:1;r:12}}.fill-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.6rem,2vw,1.1rem)}.fill-swatch{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);font-size:clamp(1.8rem,5vw,2.4rem);line-height:1}.fill-swatch.is-on{outline:5px solid var(--sun)}.fill-swatch-art{width:62%;height:62%;display:block}.fill-swatch.again{background:var(--mint)}.english-screen{display:flex;flex-direction:column;align-items:center;gap:var(--gap-2);width:100%}.theme-grid,.word-grid{width:100%;display:grid;gap:clamp(.75rem,2vw,1.25rem);padding:.5rem}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),15rem));justify-content:center;max-width:60rem}.word-grid{grid-template-columns:repeat(auto-fill,minmax(min(8.25rem,42vw),1fr));max-height:64dvh;overflow-y:auto}.theme-tile,.word-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;aspect-ratio:1;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:.6rem;min-width:0}.theme-tile-pic,.word-tile-pic{flex:1 1 0;min-height:0;width:100%;object-fit:contain;display:block}.theme-tile-name,.word-tile-name{font-weight:900;font-size:var(--text-label);color:var(--ink);line-height:1.1;text-align:center}.picture-fallback{display:grid;place-items:center;font-size:clamp(3rem,9vw,5rem);line-height:1}.word-pic{width:100%;max-width:17rem;aspect-ratio:1;object-fit:contain;display:block;border-radius:1rem;background:var(--surface-soft)}.word-pic.picture-fallback{font-size:clamp(6rem,18vw,10rem)}.word-card .name-en{font-size:clamp(2.4rem,7vw,4rem)}.animal-sound-btn{min-width:calc(var(--tap-min) * 1.6);height:var(--tap-min);padding:0 1.1rem;border-radius:var(--radius-pill);background:var(--mint);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:2.2rem;box-shadow:var(--shadow-pop)}.animal-sound-waves{font-size:1.3rem;font-weight:900;color:var(--ink);letter-spacing:-.12em}@media (prefers-reduced-motion: reduce){.msg-art{animation:none}.writer-start{animation:none;opacity:1}.xing-lamp{animation:none}.xing-lamp.b{opacity:.25}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.demo-cursor{position:fixed;top:0;left:0;z-index:200;pointer-events:none;display:grid;place-items:center;margin:-1.35rem 0 0 -1.35rem;width:2.7rem;height:2.7rem}.demo-cursor-dot{grid-area:1 / 1;width:2.7rem;height:2.7rem;border-radius:50%;background:#ffffff80;border:3px solid #fff;box-shadow:0 0 0 2px #00000047,0 6px 18px #0006}.demo-cursor-ring{grid-area:1 / 1;width:2.7rem;height:2.7rem;border-radius:50%;border:4px solid #fff}.demo-start{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:grid;place-items:center;background:#060a1ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.demo-start-btn{width:12rem;height:12rem;border-radius:50%;border:6px solid #fff;background:var(--accent, #ffd23f);color:#10142c;font-size:5rem;line-height:1;padding-left:.6rem;cursor:pointer;box-shadow:0 12px 40px #00000080}.demo-debug{position:fixed;left:.5rem;bottom:.5rem;z-index:220;margin:0;padding:.5rem .7rem;border-radius:.5rem;background:#000000c7;color:#7dffa8;font:600 11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none;white-space:pre}[data-theme=blocks]{--blk-outline: #1d1d1d;--blk-stone: #c6c6c6;--blk-stone-lite: #ffffff;--blk-stone-dark: #55555c;--blk-btn: #8b8b8b;--blk-btn-lite: #dcdcdc;--blk-btn-dark: #4f4f4f;--blk-btn-hover: #a0a7a0;--blk-grass: #5d9c3c;--blk-grass-dark: #3f6b28;--blk-dirt: #79553a;--blk-dirt-dark: #5b3f2b;--blk-sky: #0d1424;--blk-bevel-up: inset 4px 4px 0 var(--blk-stone-lite), inset -4px -4px 0 var(--blk-stone-dark);--blk-bevel-btn: inset 4px 4px 0 var(--blk-btn-lite), inset -4px -4px 0 var(--blk-btn-dark);--blk-drop: 5px 5px 0 rgba(0, 0, 0, .55);--surface: var(--blk-stone);--surface-soft: #a8a8a8;--ink: #22221f;--ink-soft: #4b4b46;--space-0: #070b14;--space-1: #0d1424;--space-2: #16203a;--space-glow: #1b2b4d;--font: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Courier New", monospace;--radius-lg: 0px;--radius-pill: 0px;--shadow-pop: var(--blk-drop);--shadow-soft: var(--blk-drop)}[data-theme=blocks] body{background:linear-gradient(180deg,var(--space-0) 0%,var(--space-1) 55%,var(--space-2) 100%);letter-spacing:.02em}[data-theme=blocks] .name-en,[data-theme=blocks] .screen-heading,[data-theme=blocks] .settings-screen h1{text-transform:uppercase;letter-spacing:.04em}[data-theme=blocks] .screen-heading,[data-theme=blocks] .body-label,[data-theme=blocks] .map-hint{text-shadow:3px 3px 0 #000}[data-theme=blocks] :focus-visible{outline:4px solid #ffffff;outline-offset:0;border-radius:0}[data-theme=blocks] .starfield{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-repeat:no-repeat;background-size:4px 4px,6px 6px,4px 4px,4px 4px,6px 6px,4px 4px,4px 4px,6px 6px,4px 4px;background-position:20% 30%,70% 12%,40% 68%,85% 55%,55% 40%,12% 80%,92% 78%,32% 18%,63% 86%;animation-timing-function:steps(2,end)}[data-theme=blocks] .starfield:after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(3rem,7vh,5rem);background:repeating-linear-gradient(90deg,rgba(0,0,0,.16) 0 2px,transparent 2px 32px),linear-gradient(180deg,var(--blk-grass) 0 14%,var(--blk-grass-dark) 14% 22%,var(--blk-dirt) 22% 72%,var(--blk-dirt-dark) 72% 100%);box-shadow:0 -4px #00000059}[data-theme=blocks] .name-stack,[data-theme=blocks] .flag-tile,[data-theme=blocks] .theme-tile,[data-theme=blocks] .word-tile,[data-theme=blocks] .home-door,[data-theme=blocks] .flag-card,[data-theme=blocks] .settings-screen,[data-theme=blocks] .world-wrap,[data-theme=blocks] .fc-right,[data-theme=blocks] .map-hint{border:4px solid var(--blk-outline);border-radius:0;box-shadow:var(--blk-bevel-up),var(--blk-drop)}[data-theme=blocks] .chrome-btn,[data-theme=blocks] .lang-toggle,[data-theme=blocks] .map-btn,[data-theme=blocks] .cta-earth,[data-theme=blocks] .speaker-btn,[data-theme=blocks] .animal-sound-btn,[data-theme=blocks] .toggle-pill,[data-theme=blocks] .card-arrow,[data-theme=blocks] .card-close,[data-theme=blocks] .voice-select{border:4px solid var(--blk-outline);border-radius:0;background:var(--blk-btn);color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.55);box-shadow:var(--blk-bevel-btn),var(--blk-drop);font-weight:700}[data-theme=blocks] .chrome-btn:hover,[data-theme=blocks] .map-btn:hover,[data-theme=blocks] .cta-earth:hover,[data-theme=blocks] .speaker-btn:hover,[data-theme=blocks] .toggle-pill:hover,[data-theme=blocks] .card-arrow:hover,[data-theme=blocks] .card-close:hover{background:var(--blk-btn-hover)}[data-theme=blocks] .speaker-btn{background:#c8a02a}[data-theme=blocks] .speaker-btn:hover{background:#e0b73a}[data-theme=blocks] .cta-earth,[data-theme=blocks] .toggle-pill.on{background:var(--blk-grass);color:#fff}[data-theme=blocks] .cta-earth:hover,[data-theme=blocks] .toggle-pill.on:hover{background:#6cb047}[data-theme=blocks] .toggle-pill.off{background:#6b6b6b;color:#e6e6e6}[data-theme=blocks] .card-close{background:#a03b32}[data-theme=blocks] .card-close:hover{background:#bf4a3f}[data-theme=blocks] .map-btn{background:var(--blk-btn);color:#fff}[data-theme=blocks] .map-btn.ghost{background:#6b6b6b;color:#e6e6e6}[data-theme=blocks] .lang-toggle{color:#e6e6e6}[data-theme=blocks] .lang-toggle .lang-on{color:#7ee06a}[data-theme=blocks] .voice-select{color:#fff;text-shadow:none;background:#6b6b6b;box-shadow:var(--blk-bevel-btn)}[data-theme=blocks] .orbit-ring{border-style:dashed;border-width:3px;border-color:#ffffff38}[data-theme=blocks] .planet-art,[data-theme=blocks] .sun-core,[data-theme=blocks] .mascot{filter:drop-shadow(4px 4px 0 rgba(0,0,0,.45))}[data-theme=blocks] .world-wrap{background:#17273f;padding:.4rem}[data-theme=blocks] .map-hint{background:#2b2b2b;color:#fff}[data-theme=blocks] .flag-tile img,[data-theme=blocks] .flag-tile .pixel-flag,[data-theme=blocks] .fc-flag{border-radius:0;border:4px solid var(--blk-outline);background:#9a9a9a;box-shadow:4px 4px #0006}[data-theme=blocks] .flag-tile.is-home{outline:5px solid #ffd23f;outline-offset:0}[data-theme=blocks] .card-backdrop{background:#000000b8}[data-theme=blocks] .voice-section{border-top:4px solid var(--blk-outline)}[data-theme=blocks] .home-door{border-color:var(--blk-outline);box-shadow:inset 0 0 0 .45rem var(--door),var(--blk-bevel-up),var(--blk-drop)}[data-theme=blocks] .home-door-label{text-transform:uppercase}[data-theme=lego]{--lg-red: #d01012;--lg-yellow: #f6c500;--lg-blue: #0057a6;--lg-green: #00963b;--lg-white: #f2f3f5;--lg-lgray: #a3abb0;--lg-dgray: #545d63;--lg-black: #17191b;--lg-plate: #3fa34d;--lg-radius: 7px;--lg-stud-w: 26px;--lg-stud-h: 30px;--lg-drop: 0 6px 0 rgba(0, 0, 0, .28), 0 12px 22px rgba(0, 0, 0, .3);--surface: var(--lg-white);--surface-soft: #dfe3e6;--ink: #1d2225;--ink-soft: #4c565c;--space-0: #0a1430;--space-1: #10225a;--space-2: #16307d;--space-glow: #1d3d94;--radius-lg: var(--lg-radius);--radius-pill: var(--lg-radius);--shadow-pop: var(--lg-drop);--shadow-soft: var(--lg-drop)}[data-theme=lego] body{background:linear-gradient(180deg,var(--space-0) 0%,var(--space-1) 60%,var(--space-2) 100%)}[data-theme=lego] .lg-brick,[data-theme=lego] .home-door,[data-theme=lego] .name-stack,[data-theme=lego] .flag-tile,[data-theme=lego] .theme-tile,[data-theme=lego] .word-tile,[data-theme=lego] .flag-card,[data-theme=lego] .settings-screen,[data-theme=lego] .chrome-btn,[data-theme=lego] .lang-toggle,[data-theme=lego] .map-btn,[data-theme=lego] .cta-earth,[data-theme=lego] .speaker-btn,[data-theme=lego] .animal-sound-btn,[data-theme=lego] .toggle-pill,[data-theme=lego] .card-arrow,[data-theme=lego] .card-close,[data-theme=lego] .map-hint{border-radius:var(--lg-radius);background-image:radial-gradient(circle at 13px 12px,rgba(255,255,255,.55) 0 3.5px,transparent 4px),radial-gradient(circle at 13px 14px,rgba(0,0,0,.22) 0 8px,transparent 8.5px),linear-gradient(180deg,rgba(255,255,255,.28) 0 var(--lg-stud-h),transparent var(--lg-stud-h));background-size:var(--lg-stud-w) var(--lg-stud-h),var(--lg-stud-w) var(--lg-stud-h),100% 100%;background-repeat:repeat-x,repeat-x,no-repeat;background-position:7px 0,7px 0,0 0;box-shadow:var(--lg-drop)}[data-theme=lego] .name-stack,[data-theme=lego] .flag-tile,[data-theme=lego] .theme-tile,[data-theme=lego] .word-tile,[data-theme=lego] .flag-card,[data-theme=lego] .settings-screen{padding-top:calc(var(--lg-stud-h) + .5rem)}[data-theme=lego] .chrome-btn,[data-theme=lego] .speaker-btn,[data-theme=lego] .animal-sound-btn,[data-theme=lego] .card-arrow,[data-theme=lego] .card-close,[data-theme=lego] .map-btn,[data-theme=lego] .cta-earth,[data-theme=lego] .toggle-pill,[data-theme=lego] .lang-toggle{padding-top:14px}[data-theme=lego] .chrome-btn{background-color:var(--lg-yellow)}[data-theme=lego] .lang-toggle{background-color:var(--lg-white);color:var(--ink-soft)}[data-theme=lego] .lang-toggle .lang-on{color:var(--lg-blue)}[data-theme=lego] .map-btn{background-color:var(--lg-red);color:#fff}[data-theme=lego] .map-btn.ghost{background-color:var(--lg-lgray);color:#16202a}[data-theme=lego] .cta-earth{background-color:var(--lg-blue);color:#fff}[data-theme=lego] .speaker-btn{background-color:var(--lg-yellow)}[data-theme=lego] .animal-sound-btn{background-color:var(--lg-green)}[data-theme=lego] .toggle-pill.on{background-color:var(--lg-green);color:#fff}[data-theme=lego] .toggle-pill.off{background-color:var(--lg-lgray);color:#2a3238}[data-theme=lego] .card-arrow{background-color:var(--lg-yellow)}[data-theme=lego] .card-close{background-color:var(--lg-red);color:#fff}[data-theme=lego] .name-stack,[data-theme=lego] .flag-tile,[data-theme=lego] .theme-tile,[data-theme=lego] .word-tile,[data-theme=lego] .flag-card,[data-theme=lego] .settings-screen{background-color:var(--lg-white)}[data-theme=lego] .map-hint{background-color:var(--lg-blue);color:#fff}[data-theme=lego] .speaker-btn,[data-theme=lego] .card-arrow,[data-theme=lego] .card-close{border-radius:var(--lg-radius)}[data-theme=lego] :focus-visible{outline:4px solid var(--lg-yellow);outline-offset:3px;border-radius:var(--lg-radius)}[data-theme=lego] .starfield:after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(2.75rem,6vh,4rem);background-image:radial-gradient(circle at 15px 14px,rgba(255,255,255,.5) 0 4px,transparent 4.5px),radial-gradient(circle at 15px 16px,rgba(0,0,0,.2) 0 9px,transparent 9.5px),linear-gradient(180deg,#4bb85a 0 34px,var(--lg-plate) 34px 100%);background-size:30px 34px,30px 34px,100% 100%;background-repeat:repeat-x,repeat-x,no-repeat;box-shadow:0 -4px #00000038}[data-theme=lego] .world-wrap{background:#0d1c4a;border-radius:var(--lg-radius);box-shadow:var(--lg-drop)}[data-theme=lego] .flag-tile img,[data-theme=lego] .flag-tile .pixel-flag,[data-theme=lego] .fc-flag{border-radius:4px;border:4px solid var(--lg-dgray);background:var(--surface-soft);box-shadow:0 4px #00000040}[data-theme=lego] .flag-tile.is-home{outline:5px solid var(--lg-red);outline-offset:2px}[data-theme=lego] .fc-right{background:var(--surface-soft);border-radius:var(--lg-radius)}[data-theme=lego] .pixel-flag{image-rendering:auto}[data-theme=lego] .voice-section{border-top:4px solid var(--lg-lgray)}[data-theme=lego] .voice-select{border-radius:var(--lg-radius);border:3px solid var(--lg-lgray)}[data-theme=lego] .home-door{background-color:var(--door);border:0;padding-top:calc(var(--lg-stud-h) + .5rem)}[data-theme=lego] .home-door-art{background:var(--lg-white);border-radius:50%;padding:8%}[data-theme=lego] .home-door-label{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}
