@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#102548;--paper:#f8fbff;--sky-deep:#07162f;--sky-mid:#12366a;--sky-bright:#2e65a5;--yellow:#ffd45b;--orange:#ff8a4c;--mint:#7ee6ce;--blue:#5db4ff;--pink:#ff89c7}*{box-sizing:border-box}html,body{background:var(--sky-deep);min-height:100%;margin:0}body{color:#fff;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,sans-serif}button{font:inherit}button:focus-visible{outline-offset:3px;outline:4px solid #fff7a8}.game-shell,.boot-screen{background:radial-gradient(circle at 20% 16%, #4d8fff61, transparent 28rem), radial-gradient(circle at 82% 14%, #e568d33d, transparent 24rem), linear-gradient(145deg, var(--sky-deep), var(--sky-mid) 58%, #164377);min-height:100dvh;position:relative;overflow:hidden}.sky-decor{pointer-events:none;position:fixed;inset:0;overflow:hidden}.star{background:#fff;border-radius:50%;width:6px;height:6px;animation:2.8s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 16px 4px #ffffffb3}.star-a{top:18%;left:7%}.star-b{animation-delay:-1s;top:9%;left:62%}.star-c{animation-delay:-2s;top:42%;right:8%}.planet{opacity:.18;filter:blur(.2px);border-radius:50%;position:absolute}.planet-a{background:linear-gradient(135deg,#ffb969,#e15bb8);width:170px;height:170px;top:12%;right:-70px;box-shadow:inset -24px -18px #4e237f40}.planet-b{background:#65dbd0;width:100px;height:100px;bottom:5%;left:3%;box-shadow:inset -18px -12px #1f54894d}.boot-screen{place-items:center;padding:24px;display:grid}.boot-card{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#081939b3;border:1px solid #ffffff3d;border-radius:32px;padding:40px;box-shadow:0 28px 80px #0000004d}.boot-card h1{margin:18px 0 8px;font-size:clamp(1.6rem,4vw,2.4rem)}.boot-emoji{font-size:4.2rem;display:block}.floating{animation:2.2s ease-in-out infinite float}.loading-dots{justify-content:center;gap:9px;margin-top:24px;display:flex}.loading-dots i{background:var(--yellow);border-radius:50%;width:10px;height:10px;animation:.8s infinite alternate bounce}.loading-dots i:nth-child(2){animation-delay:.18s}.loading-dots i:nth-child(3){animation-delay:.36s}.error-card button{background:var(--yellow);color:var(--ink);border:0;border-radius:18px;padding:14px 24px;font-weight:900}.home-screen,.chapter-screen,.lab-screen{z-index:2;width:min(1180px,100% - 40px);min-height:100dvh;margin:auto;padding:24px 0;position:relative}.home-header{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;height:64px;display:grid}.home-header>p{color:#c7d9f5;margin:0;font-weight:700}.brand-mark{gap:5px;display:flex}.brand-mark span{width:42px;height:42px;color:var(--ink);background:var(--yellow);border-radius:14px;place-items:center;font-size:1.25rem;font-weight:1000;display:grid;transform:rotate(-4deg);box-shadow:0 5px #d89b27}.brand-mark span:last-child{background:var(--mint);transform:rotate(4deg);box-shadow:0 5px #27aa92}.icon-button,.close-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.3rem;display:grid}.back-button{padding-bottom:4px;font-size:2.2rem;line-height:1}.hero-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(30px,6vw,86px);min-height:calc(100dvh - 250px);display:grid}.hero-copy{padding:28px 0}.eyebrow{color:#d8e8ff;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;gap:7px;padding:8px 14px;font-weight:800;display:inline-flex}.eyebrow span{color:var(--yellow)}.hero-copy h1{letter-spacing:-.08em;text-shadow:0 10px 30px #00000040;margin:24px 0;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.98}.hero-copy h1 strong{color:var(--yellow);font-weight:1000}.hero-copy>p{color:#d4e3f7;max-width:600px;margin:0 0 30px;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:650;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:19px;min-height:58px;padding:0 26px;font-weight:900}.primary-button{color:var(--ink);background:linear-gradient(#ffe36f,#ffc346);font-size:1.08rem;box-shadow:0 7px #cf851f,0 14px 32px #ffbe3440}.primary-button:active{transform:translateY(4px);box-shadow:0 3px #cf851f}.secondary-button{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1c;border:1px solid #ffffff3d}.hero-visual{background:radial-gradient(circle,#5db4ff40,#2c4f9a14 58%,#0000 60%);border-radius:48% 52% 42% 58%/54% 42% 58% 46%;justify-content:center;align-items:center;gap:18px;height:min(460px,52vh);display:flex;position:relative}.hero-visual:before,.hero-visual:after{content:"";border:1px solid #aedeff40;border-radius:50%;position:absolute;inset:12%;transform:rotate(-12deg)}.hero-visual:after{inset:25% 4%;transform:rotate(18deg)}.mini-meteor{z-index:2;width:112px;height:112px;color:var(--ink);background:linear-gradient(145deg,#f9fcff,#b3ddff);border-radius:40% 60% 54% 46%;place-items:center;animation:2.5s ease-in-out infinite float;display:grid;position:relative;box-shadow:0 16px 35px #00000040,inset -8px -10px #3782c826}.mini-meteor span{font-size:3.5rem;font-weight:1000;line-height:1}.mini-meteor small{color:#47719d;font-weight:800}.meteor-right{background:linear-gradient(145deg,#fff8c7,#ffd65a);animation-delay:-1.1s}.plus-sign,.spark-arrow{z-index:2;color:#fff;font-size:2.2rem;font-weight:1000}.spark-arrow{color:var(--yellow);animation:1s infinite alternate twinkle}.fusion-letter{z-index:2;background:linear-gradient(145deg,#ff8ec8,#ed4a86);border-radius:42px;place-items:center;width:145px;height:145px;font-size:5rem;font-weight:1000;display:grid;transform:rotate(3deg);box-shadow:0 18px #a62562,0 28px 45px #0000004d}.fusion-letter i{background:var(--yellow);color:var(--ink);border-radius:999px;padding:6px 11px;font-size:.9rem;font-style:normal;position:absolute;transform:translate(44px,-52px)rotate(8deg)}.home-bottom-row{grid-template-columns:minmax(300px,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:18px;display:grid}.lab-card{color:#fff;text-align:left;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.lab-icon{background:#ffffff17;border-radius:17px;place-items:center;width:50px;height:50px;font-size:1.7rem;display:grid}.lab-card b,.lab-card small{display:block}.lab-card b{font-size:1rem}.lab-card small{color:#bfd3ef;margin-top:4px}.arrow{color:var(--yellow);font-size:2rem}.mini-stats{background:#030f2738;border:1px solid #ffffff29;border-radius:24px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.mini-stats div{border-left:1px solid #ffffff1f;place-items:center;padding:13px;display:grid}.mini-stats div:first-child{border:0}.mini-stats b{color:var(--yellow);font-size:1.45rem}.mini-stats span{color:#bdd0ea;font-size:.75rem;font-weight:700}.screen-header{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:78px;margin-bottom:20px;display:grid}.screen-header h1,.screen-header p{margin:0}.screen-header h1{font-size:clamp(1.5rem,3vw,2.4rem)}.screen-header p{color:#bfd3ef;margin-top:3px;font-weight:700}.chapter-grid{grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:20px;display:grid}.chapter-card{--chapter-color:#5b5ee7;--chapter-accent:#a9f0ff;color:#fff;background:linear-gradient(150deg,var(--chapter-color),var(--chapter-color));border:1px solid #ffffff38;border-radius:28px;min-height:250px;padding:20px;position:relative}@supports (color:color-mix(in lab, red, red)){.chapter-card{background:linear-gradient(150deg,color-mix(in srgb,var(--chapter-color) 76%,#203760),color-mix(in srgb,var(--chapter-color) 42%,#0b1833))}}.chapter-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;display:flex;overflow:hidden;box-shadow:0 14px 30px #00000029}.chapter-card:after{content:"";background:var(--chapter-accent);opacity:.16;border-radius:50%;width:130px;height:130px;position:absolute;top:-45px;right:-42px}.chapter-card:hover{transform:translateY(-4px)}.chapter-number{background:#ffffff29;border-radius:10px;place-items:center;width:28px;height:28px;font-weight:900;display:grid;position:absolute;top:14px;right:16px}.chapter-emoji{margin-bottom:10px;font-size:2.8rem}.chapter-copy b,.chapter-copy em,.chapter-copy small{display:block}.chapter-copy b{font-size:1.25rem}.chapter-copy em{color:var(--chapter-accent);margin:4px 0 9px;font-size:.83rem;font-style:normal;font-weight:900}.chapter-copy small{color:#e7f0ff;font-weight:650;line-height:1.45}.chapter-progress{background:#00000038;border-radius:99px;width:100%;height:7px;margin-top:auto;overflow:hidden}.chapter-progress i{background:var(--chapter-accent);border-radius:inherit;height:100%;display:block}.chapter-meta{color:#c9d9ee;margin-top:7px;font-size:.73rem;font-weight:750}.offline-note{text-align:center;color:#c8daf2;margin:4px 0 0;font-size:.85rem}.inline-error{background:#a72c51;border-radius:14px;margin-bottom:16px;padding:12px 16px;font-weight:700}.preload-screen,.result-screen{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex;position:relative}.close-button{font-size:2rem;position:absolute;top:24px;right:24px}.preload-orbit{border:2px dashed #ffffff3d;border-radius:50%;place-items:center;width:180px;height:180px;margin-bottom:20px;animation:9s linear infinite spin;display:grid;position:relative}.preload-emoji{font-size:4.8rem;animation:9s linear infinite counter-spin}.preload-orbit i{background:var(--yellow);width:18px;height:18px;box-shadow:0 0 20px var(--yellow);border-radius:50%;position:absolute}.preload-orbit i:nth-child(2){top:7%;left:26%}.preload-orbit i:nth-child(3){background:var(--mint);top:53%;right:1%}.preload-orbit i:nth-child(4){background:var(--pink);bottom:4%;left:25%}.preload-kicker{color:var(--yellow);text-transform:uppercase;letter-spacing:.1em;font-weight:900}.preload-screen h1{margin:4px 0 10px;font-size:clamp(2.4rem,6vw,4.6rem)}.preload-screen>p:not(.preload-kicker){color:#d4e4f8;font-weight:700}.preload-bar{background:#0000004d;border-radius:99px;width:min(500px,80vw);height:18px;margin:20px 0 8px;padding:4px}.preload-bar i{background:linear-gradient(90deg,var(--mint),var(--yellow));border-radius:99px;height:100%;transition:width .2s;display:block}.preload-screen>strong{color:var(--yellow);font-size:1.8rem}.preload-screen>small{color:#aebfd9;margin-top:18px}.play-screen{z-index:3;grid-template-rows:72px minmax(210px,1fr) auto;height:100dvh;display:grid;position:relative}.play-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05132dbd;border-bottom:1px solid #ffffff1f;grid-template-columns:auto auto minmax(160px,1fr) auto auto;align-items:center;gap:14px;padding:10px 20px;display:grid}.mission-name{align-items:center;gap:9px;display:flex}.mission-name>span{font-size:1.6rem}.mission-name small,.mission-name b{display:block}.mission-name small{color:#abc4e4;font-size:.67rem}.mission-name b{font-size:.86rem}.round-progress{background:#ffffff1a;border-radius:99px;height:28px;position:relative;overflow:hidden}.round-progress i{background:linear-gradient(90deg,var(--mint),var(--yellow));transition:width .4s;position:absolute;inset:0 auto 0 0}.round-progress span{color:#07162f;place-items:center;height:100%;font-size:.72rem;font-weight:1000;display:grid;position:relative}.score-chip{background:#ffffff1a;border-radius:15px;align-items:center;height:42px;padding:0 13px;font-weight:900;display:flex}.meteor-stage{background:linear-gradient(#20528b1f,#081b3b61);min-height:0;position:relative;overflow:hidden}.meteor-stage:before{content:"";opacity:.25;background-image:radial-gradient(circle,#ffffff8c 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.stage-message{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04132ead;border:1px solid #ffffff29;border-radius:18px;grid-template-columns:auto minmax(240px,auto) auto;align-items:center;gap:8px;max-width:calc(100% - 30px);padding:7px 10px;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%)}.stage-message p{text-align:center;margin:0;font-size:.94rem;font-weight:850}.stage-message button{cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;width:36px;height:36px}.hint-bubble{z-index:7;color:var(--ink);background:#fff7b5;border-radius:14px;padding:10px 18px;font-weight:900;position:absolute;top:68px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0003}.falling-meteor{--fall-seconds:16s;z-index:3;width:120px;height:120px;animation:meteor-fall var(--fall-seconds) linear forwards;position:absolute;top:76px;left:50%;transform:translate(-50%,-150px)}.falling-meteor.feedback-correct,.falling-meteor.feedback-retry,.falling-meteor.feedback-land{animation-play-state:paused}.meteor-glow{background:radial-gradient(circle,#73d8ff70,#0000 66%);border-radius:50%;animation:1.5s ease-in-out infinite pulse;position:absolute;inset:-22px}.target-content{text-align:center;color:var(--ink);background:linear-gradient(145deg,#fff,#c5e9ff);border:5px solid #ffffffa6;border-radius:44% 56% 52% 48%/48% 44% 56% 52%;place-content:center;display:grid;position:absolute;inset:0;transform:rotate(-3deg);box-shadow:0 14px #337eae,0 24px 35px #0000004d}.target-content:before{content:"";background:#2b75a826;border-radius:50%;width:28px;height:18px;position:absolute;top:22px;left:19px}.target-content b{font-size:3.4rem;font-weight:1000;line-height:1}.target-content small{color:#4b769e;margin-top:4px;font-size:.66rem;font-weight:900}.target-picture{margin:0!important;font-size:1.25rem!important}.cloud-bank{justify-content:center;height:96px;display:flex;position:absolute;bottom:-40px;left:0;right:0}.cloud-bank i{background:#cdefff2e;border-top:1px solid #ffffff38;border-radius:50%;width:45%;height:88px;position:absolute;bottom:0}.cloud-bank i:first-child{left:-8%}.cloud-bank i:nth-child(2){height:110px;left:27%}.cloud-bank i:nth-child(3){right:-8%}.cloud-bank span{color:#a8c8e5;margin-top:38px;font-size:.72rem;font-weight:800;position:relative}.streak-badge{background:#ff85362e;border:1px solid #ffbe6c59;border-radius:15px;padding:9px 13px;font-size:.82rem;font-weight:900;position:absolute;top:16px;right:20px}.control-deck{z-index:6;color:var(--ink);padding:10px 18px max(12px,env(safe-area-inset-bottom));background:linear-gradient(#eff7ff,#d8ebf8);border-radius:28px 28px 0 0;position:relative;box-shadow:0 -12px 35px #0003}.assembly-board{justify-content:center;align-items:center;gap:10px;min-height:78px;display:flex;position:relative}.jamo-slot,.result-slot{text-align:center;background:#ffffff8c;border:2px dashed #95b2ca;border-radius:18px;place-content:center;width:84px;height:66px;transition:all .2s;display:grid}.jamo-slot span,.result-slot span{font-size:1.8rem;font-weight:1000;line-height:1}.jamo-slot small,.result-slot small{color:#67839d;margin-top:3px;font-size:.58rem;font-weight:800}.jamo-slot.filled{background:#e4eeff;border-style:solid;border-color:#5b8ce6}.result-slot.filled{background:#ffe4f1;border-style:solid;border-color:#e1508d}.assembly-plus,.assembly-arrow{color:#57758f;font-size:1.35rem;font-weight:1000}.feedback-banner{color:#fff;white-space:nowrap;border-radius:17px;padding:12px 24px;font-weight:1000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg);box-shadow:0 8px 22px #00000040}.feedback-banner.correct{background:#22a586}.feedback-banner.retry{background:#e66d4b}.feedback-banner.land{background:#468bd0}.choice-groups{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice-row{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:grid}.choice-label{color:#55728d;white-space:nowrap;background:#c9e0ef;border-radius:9px;padding:6px 9px;font-size:.73rem;font-weight:1000}.choice-row>div{justify-content:center;gap:8px;display:flex}.choice-row button{min-width:62px;height:62px;color:var(--ink);cursor:pointer;background:#fff;border:2px solid #b9d1e2;border-radius:19px;font-size:1.8rem;font-weight:1000;box-shadow:0 5px #9bbace}.choice-row button.selected{background:#ffef99;border-color:#f0b83f;transform:translateY(-2px);box-shadow:0 5px #d29127}.choice-row button:active{transform:translateY(3px);box-shadow:0 2px #9bbace}.choice-row button:disabled{cursor:default;opacity:.72}.word-slots{align-items:center;gap:9px;display:flex}.word-slots>span{background:#fff;border:2px dashed #95b2ca;border-radius:17px;place-items:center;width:74px;height:60px;font-size:1.8rem;font-weight:1000;display:grid}.word-slots>span.filled{background:#ffe4f1;border-style:solid;border-color:#e1508d}.word-slots>b{color:#6f879b;margin-left:8px;font-size:.8rem}.result-screen{background:radial-gradient(circle,#ffcf4a2e,#0000 42%)}.result-trophy{font-size:5.2rem;animation:2s ease-in-out infinite float;position:relative}.result-trophy span{font-size:2.3rem;position:absolute;bottom:-8px;right:-24px}.result-screen>p:first-of-type{color:var(--yellow);margin:24px 0 5px;font-weight:900}.result-screen h1{margin:0;font-size:clamp(2.6rem,7vw,5rem)}.result-stars{align-items:baseline;gap:8px;margin:24px 0;display:flex}.result-stars span{font-size:2.2rem}.result-stars b{font-size:3.2rem}.result-stars small{color:#bfd2ea;font-size:1rem}.result-copy{color:#d4e4f8;margin:0 0 24px;font-weight:700;line-height:1.7}.result-actions{gap:12px;display:flex}.result-fireworks i{background:var(--yellow);border-radius:50%;width:8px;height:8px;animation:1s infinite alternate twinkle;position:absolute;box-shadow:0 0 0 8px #ff7fa355,35px 12px #7ee6ce,-28px 20px #5db4ff}.result-fireworks i:first-child{top:22%;left:16%}.result-fireworks i:nth-child(2){animation-delay:-.4s;top:25%;right:17%}.result-fireworks i:nth-child(3){animation-delay:-.7s;bottom:25%;left:28%}.result-fireworks i:nth-child(4){bottom:20%;right:28%}.lab-screen{flex-direction:column;display:flex}.lab-workbench{flex:1;place-content:center;gap:20px;display:grid}.lab-display{justify-content:center;align-items:center;gap:18px;display:flex}.lab-piece,.lab-result{text-align:center;border:0;border-radius:35px;place-content:center;width:135px;height:135px;display:grid}.lab-piece span,.lab-result span{font-size:4rem;font-weight:1000;line-height:1}.lab-piece small,.lab-result small{margin-top:8px;font-size:.74rem;font-weight:850}.consonant-piece{color:#123b6a;background:linear-gradient(145deg,#cfe7ff,#75b8f5);box-shadow:0 12px #367fc0}.vowel-piece{color:#533710;background:linear-gradient(145deg,#fff6af,#ffd050);box-shadow:0 12px #d69425}.lab-result{color:#5e1740;cursor:pointer;background:linear-gradient(145deg,#ffafd7,#ef5d9f);box-shadow:0 12px #a6326d}.lab-workbench>p{text-align:center;color:#d7e7f9;font-weight:750}.lab-picker{background:#ffffff1a;border:1px solid #ffffff29;border-radius:26px;gap:12px;padding:18px;display:grid}.lab-picker .choice-label{color:#eaf5ff;background:#ffffff1f}.lab-tip{color:#ffeaa0;background:#ffd75e24;border-radius:15px;align-self:center;margin-top:12px;padding:10px 16px;font-size:.85rem;font-weight:750}@keyframes twinkle{to{opacity:.35;transform:scale(.7)}}@keyframes float{50%{transform:translateY(-12px)rotate(2deg)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes counter-spin{to{transform:rotate(-360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes meteor-fall{0%{transform:translate(-50%,-150px)rotate(-5deg)}to{transform:translate(-50%,calc(100vh - 395px))rotate(6deg)}}@media (max-width:900px){.home-screen,.chapter-screen,.lab-screen{width:min(100% - 26px,760px);padding-top:12px}.home-header>p{display:none}.hero-grid{text-align:center;grid-template-columns:1fr;gap:4px;min-height:auto}.hero-copy{padding:28px 0 4px}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{height:320px}.home-bottom-row{grid-template-columns:1fr;margin-bottom:12px}.chapter-grid{grid-template-columns:repeat(2,1fr)}.play-header{grid-template-columns:auto auto 1fr auto}.play-header>.icon-button:last-child,.score-chip{display:none}.mission-name b{font-size:.78rem}.choice-row button{min-width:58px}.lab-picker .choice-row>div{flex-wrap:wrap}.lab-workbench{place-content:start center;padding-top:8vh}}@media (max-width:620px){.hero-copy h1{font-size:3.3rem}.hero-copy>p{font-size:.98rem}.hero-visual{gap:9px;height:250px}.mini-meteor{width:78px;height:78px}.mini-meteor span{font-size:2.4rem}.mini-meteor small{font-size:.6rem}.fusion-letter{border-radius:30px;width:100px;height:100px;font-size:3.6rem;box-shadow:0 10px #a62562,0 18px 30px #0000004d}.fusion-letter i{font-size:.68rem;transform:translate(30px,-38px)rotate(8deg)}.plus-sign,.spark-arrow{font-size:1.3rem}.mini-stats{display:none}.home-bottom-row,.chapter-grid{grid-template-columns:1fr}.chapter-card{min-height:205px}.play-screen{grid-template-rows:62px minmax(180px,1fr) auto}.play-header{gap:7px;padding:7px 10px}.play-header .icon-button{width:42px;height:42px}.mission-name>span{display:none}.round-progress{min-width:100px}.stage-message{grid-template-columns:auto minmax(170px,1fr) auto;top:8px}.stage-message p{font-size:.78rem}.falling-meteor{width:100px;height:100px;top:70px}.target-content b{font-size:2.8rem}.control-deck{padding:8px 8px max(9px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.assembly-board{gap:5px;min-height:69px}.jamo-slot,.result-slot{border-radius:15px;width:68px;height:58px}.jamo-slot span,.result-slot span{font-size:1.55rem}.choice-groups{grid-template-columns:1fr;gap:8px}.choice-row{grid-template-columns:50px 1fr}.choice-row>div{gap:6px}.choice-row button{border-radius:16px;min-width:51px;height:53px;font-size:1.55rem}.word-slots>span{width:60px;height:54px}.word-slots>b{display:none}.lab-display{gap:9px}.lab-piece,.lab-result{border-radius:27px;width:92px;height:92px}.lab-piece span,.lab-result span{font-size:2.9rem}.lab-display>b{font-size:1rem}.lab-picker{padding:11px}.lab-picker .choice-row{grid-template-columns:1fr}.lab-picker .choice-label{text-align:center}.screen-header{margin-bottom:10px}.screen-header p{font-size:.8rem}.result-actions{flex-direction:column;width:min(320px,90vw)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.falling-meteor{animation-duration:120s!important}}
