@font-face{font-family:Cloudsofa Namgim;src:url(/assets/fonts/Cloudsofa_namgim-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Omyu Pretty;src:url(/assets/fonts/omyu-pretty.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo:"Cloudsofa Namgim", var(--font-body);--font-speech:"Omyu Pretty", var(--font-body);--color-ink:#3b2016;--color-ink-deep:#2c1a12;--color-ink-muted:#6f4634;--color-ink-soft:#7a4a35;--color-ink-progress:#81513b;--color-cream:#fff7e8;--color-cream-soft:#fffaf0;--color-white:#fff;--color-bg:#ffeec7;--color-bg-start:#fff2cc;--color-bg-mid:#ffd9a8;--color-bg-end:#f6b39b;--color-surface-glass:#fffaedd1;--color-surface-glass-line:#ffffffad;--color-accent:#d85f37;--color-yellow:#ffcc59;--color-yellow-soft:#ffe09a;--color-green:#5fcf80;--color-green-shadow:#2d8e4e;--color-error:#e64b3c;--color-error-soft:#ffe0dc;--color-error-pop:#ff6b5f;--color-panel-start:#ffe3ad;--color-panel-end:#fff5db;--liquid-outline-width:2px;--liquid-yellow:#ffcc59f2;--liquid-green:#5fcf80b8;--liquid-coral:#f6b39bdb;--liquid-cream:#ffe09aeb;--liquid-glaze-start:#fff7e8b8;--liquid-glaze-end:#d85f3747;--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:18px;--space-10:22px;--space-11:24px;--space-12:28px;--radius-slot-mobile:13px;--radius-slot:16px;--radius-panel-mobile:18px;--radius-bubble:20px;--radius-card-mobile:24px;--radius-card:32px;--radius-pill:999px;--border-thin:1px;--border-ui-mobile:2px;--border-ui:3px;--border-strong:4px;--shadow-button-y:8px;--shadow-button-active-y:4px;--shadow-button-base:#c9794f;--shadow-button:0 var(--shadow-button-y) 0 var(--shadow-button-base), 0 12px 22px #5f2d1329;--shadow-button-active:0 var(--shadow-button-active-y) 0 var(--shadow-button-base);--shadow-primary:0 var(--shadow-button-y) 0 var(--color-green-shadow), 0 12px 22px #245e302e;--shadow-card:0 18px 36px #5f2d1321, inset 0 0 0 var(--border-thin) var(--color-surface-glass-line);--shadow-card-mobile:0 14px 28px #5f2d131f, inset 0 0 0 var(--border-thin) var(--color-surface-glass-line);--shadow-chilk:drop-shadow(0 18px 10px #5a2f162e);--shadow-slot-inset:inset 0 -8px 0 #ffbd646b;--shadow-slot-wrong:inset 0 -8px 0 #e64b3c38, 0 0 0 4px #e64b3c1a;--shadow-pop-dark:0 10px 0 #3b20162e;--shadow-burst-label:0 12px 0 #3b201633;--motion-fast:.14s ease;--motion-burst:.9s ease-out;--motion-wrong:.76s ease-out;--motion-pop:.76s cubic-bezier(.18, .89, .32, 1.28);--motion-pop-short:.62s cubic-bezier(.18, .89, .32, 1.28);font-family:var(--font-body);color:var(--color-ink-deep);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 20%, #ffffffb3, transparent 28rem), linear-gradient(135deg, var(--color-bg-start) 0%, var(--color-bg-mid) 42%, var(--color-bg-end) 100%);min-width:320px;min-height:100vh;margin:0}button{border-radius:var(--radius-pill);background:var(--color-cream);color:var(--color-ink);cursor:pointer;box-shadow:var(--shadow-button);transition:transform var(--motion-fast), box-shadow var(--motion-fast), opacity var(--motion-fast);border:0;font-weight:800}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){box-shadow:var(--shadow-button-active);transform:translateY(4px)}button:disabled{opacity:.34;cursor:not-allowed;box-shadow:none}.game-shell{width:min(100%,980px);min-height:100dvh;padding:var(--space-6) var(--space-8) var(--space-12);margin:0 auto}.app-header{align-items:center;gap:var(--space-6);min-height:42px;display:flex}.game-logo{font-family:var(--font-logo);color:var(--color-ink);letter-spacing:.02em;flex:none;align-items:center;font-size:clamp(1.4rem,5vw,2rem);font-weight:400;line-height:1;display:inline-flex}.play-card{border-radius:var(--radius-card);background:var(--color-surface-glass);box-shadow:var(--shadow-card);isolation:isolate;margin-top:var(--space-5);gap:var(--space-9);padding:var(--space-9);border:0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);display:grid;position:relative;overflow:hidden}.play-card:before{content:"";z-index:0;padding:var(--liquid-outline-width);border-radius:inherit;background:radial-gradient(circle at 14% 18%, var(--liquid-yellow), transparent 28%), radial-gradient(circle at 86% 8%, var(--liquid-green), transparent 24%), radial-gradient(circle at 92% 88%, var(--liquid-coral), transparent 30%), radial-gradient(circle at 12% 92%, var(--liquid-cream), transparent 28%), linear-gradient(135deg, var(--liquid-glaze-start), var(--liquid-glaze-end));opacity:.9;pointer-events:none;-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.play-card>:not(.success-burst):not(.wrong-burst){z-index:1;position:relative}.eyebrow,.prompt-type{margin:0 0 var(--space-4);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}h1,h2,p{margin-top:0}h1{margin-bottom:var(--space-4);font-size:clamp(2rem,8vw,4.5rem);line-height:.95}h2{margin-bottom:var(--space-4);font-size:clamp(1.4rem,5vw,2.25rem)}.subcopy{color:var(--color-ink-muted);margin-bottom:0}.character-panel{align-content:center;gap:var(--space-6);border-radius:var(--radius-card-mobile);background:linear-gradient(180deg, var(--color-panel-start), var(--color-panel-end));min-height:420px;padding:var(--space-7);text-align:center;display:grid}.character-art{place-items:center;block-size:clamp(250px,32vw,310px);min-block-size:0;inline-size:100%;display:grid;overflow:visible}.chilk{object-fit:contain;block-size:100%;inline-size:min(100%,290px);filter:var(--shadow-chilk);display:block}.speech-bubble{border:var(--border-ui) solid var(--color-ink);border-radius:var(--radius-bubble);padding:var(--space-8);background:var(--color-white);position:relative}.clue-bubble{text-align:left}.clue-bubble h2{margin-bottom:var(--space-7);color:var(--color-ink-deep);font-size:clamp(1.75rem,4.6vw,2.85rem);line-height:1.04}.clue-bubble .usage-example{border-radius:var(--radius-slot);background:var(--color-cream-soft);padding:var(--space-7);color:var(--color-ink-soft);margin-bottom:0;font-size:1.05rem;font-weight:800;line-height:1.42}.question-panel,.result-panel{align-content:start;gap:var(--space-8);display:grid}@media (width>=761px){.game-shell{padding:var(--space-4) var(--space-6) var(--space-6)}.play-card{align-items:stretch;gap:var(--space-8);min-height:480px;padding:var(--space-8);grid-template-columns:minmax(220px,1fr) minmax(0,1.8fr)}.character-panel{background:linear-gradient(180deg, var(--color-panel-start), var(--color-panel-end));border-radius:var(--radius-card-mobile);border:var(--border-ui) solid var(--color-ink);min-height:100%;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.character-art{aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:200px;display:flex}.chilk{object-fit:contain;width:100%;height:100%}.speech-bubble{z-index:1;padding:var(--space-6) var(--space-7);display:block;position:relative}.speech-bubble:before{content:"";background:var(--color-white);border-left:var(--border-ui) solid var(--color-ink);border-bottom:var(--border-ui) solid var(--color-ink);z-index:1;width:18px;height:18px;position:absolute;top:44px;left:-10px;transform:translateY(-50%)rotate(45deg)}.speech-bubble:after{content:"";background:var(--color-white);z-index:2;width:18px;height:18px;position:absolute;top:44px;left:-7px;transform:translateY(-50%)rotate(45deg)}.speech-bubble>*{z-index:3;position:relative}.clue-bubble h2{margin-bottom:var(--space-4);font-size:clamp(1.35rem,3.2vw,1.85rem);line-height:1.1}.clue-bubble .usage-example{padding:var(--space-5);font-size:.95rem}.question-panel{justify-content:center;gap:var(--space-5);flex-direction:column;min-height:100%;display:flex}.answer-slots{align-content:center}.answer-slots span{border-width:var(--border-ui);width:50px;height:56px;font-size:1.7rem}.tile-bank{align-content:center}.tile{min-height:48px;padding:var(--space-3) var(--space-4);font-size:1.25rem}.controls button{min-height:44px}}.progress-row{gap:var(--space-6);color:var(--color-ink-progress);font-weight:800;display:flex}.meaning-card,.result-panel{border-radius:var(--radius-card-mobile);background:var(--color-white);border:var(--border-ui) solid var(--color-ink);padding:var(--space-9)}.answer-slots{gap:var(--space-5);padding:var(--space-5) 0;flex-wrap:wrap;justify-content:center;display:flex}.answer-slots span{border:var(--border-strong) solid var(--color-ink);border-radius:var(--radius-slot);background:var(--color-cream);width:58px;height:64px;color:var(--color-ink);box-shadow:var(--shadow-slot-inset);place-items:center;font-size:2rem;font-weight:950;display:grid}.answer-slots span.filled{background:var(--color-yellow-soft)}.answer-slots.wrong-flash span{border-color:var(--color-error);background:var(--color-error-soft);box-shadow:var(--shadow-slot-wrong)}.tile-bank{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(58px,1fr));display:grid}.tile{min-height:58px;padding:var(--space-4) var(--space-6);background:var(--color-yellow);font-size:1.5rem}.controls{gap:var(--space-6);grid-template-columns:1fr 1.2fr;display:grid}.controls button,.result-panel button{min-height:50px;padding:0 var(--space-9);font-size:1rem}.primary{background:var(--color-green);box-shadow:var(--shadow-primary)}.meaning-card{color:var(--color-ink-muted)}.meaning-card summary{cursor:pointer;color:var(--color-ink);font-weight:900}.result-panel{text-align:center;align-self:center}.result-panel h2{color:var(--color-green-shadow);font-size:clamp(3rem,12vw,6rem)}.solved-list{justify-content:center;gap:var(--space-4);margin:var(--space-6) 0 var(--space-9);flex-wrap:wrap;display:flex}.solved-list span{border-radius:var(--radius-pill);padding:var(--space-4) var(--space-6);background:var(--color-yellow-soft);font-weight:900}.success-burst{z-index:4;pointer-events:none;animation:burst-fade var(--motion-burst) forwards;place-items:center;display:grid;position:absolute;inset:0}.wrong-burst{z-index:4;pointer-events:none;animation:wrong-pop-fade var(--motion-wrong) forwards;place-items:center;display:grid;position:absolute;inset:0}.wrong-burst span{z-index:2;border:var(--border-ui) solid var(--color-ink);border-radius:var(--radius-pill);padding:var(--space-5) var(--space-9) var(--space-3);background:var(--color-error-pop);color:var(--color-cream);font-family:var(--font-logo);text-shadow:0 2px #3b201652;box-shadow:var(--shadow-pop-dark);transform-origin:50%;animation:wrong-label-pop var(--motion-pop-short) forwards;font-size:clamp(1.7rem,7vw,3.2rem);line-height:.95;position:relative}.success-burst:before{content:"";aspect-ratio:1;width:min(58vw,360px);animation:shockwave var(--motion-wrong) cubic-bezier(.18, .89, .32, 1.28) forwards;background:radial-gradient(circle,#ffe45ff2 0 18%,#5fcf8073 35%,#0000 68%);border-radius:50%;position:absolute}.burst-label{z-index:2;border:var(--border-strong) solid var(--color-ink);border-radius:var(--radius-pill);padding:var(--space-6) var(--space-10) var(--space-4);background:var(--color-yellow);color:var(--color-ink);font-family:var(--font-logo);box-shadow:var(--shadow-burst-label);transform-origin:50%;animation:label-pop var(--motion-pop) forwards;font-size:clamp(2.25rem,10vw,5rem);line-height:.95;position:relative}.burst-piece{z-index:3;font-size:clamp(1.25rem,5vw,2.2rem);animation:.85s ease-out forwards piece-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.piece-1{--tx:-130px;--ty:-92px;--rot:-26deg}.piece-2{--tx:126px;--ty:-86px;--rot:24deg}.piece-3{--tx:-154px;--ty:22px;--rot:18deg}.piece-4{--tx:150px;--ty:30px;--rot:-16deg}.piece-5{--tx:-86px;--ty:116px;--rot:-34deg}.piece-6{--tx:86px;--ty:120px;--rot:30deg}.piece-7{--tx:-38px;--ty:-136px;--rot:10deg}.piece-8{--tx:34px;--ty:-138px;--rot:-10deg}@keyframes burst-fade{0%,72%{opacity:1}to{opacity:0}}@keyframes shockwave{0%{opacity:.95;transform:scale(.08)}68%{opacity:.56;transform:scale(1)}to{opacity:0;transform:scale(1.14)}}@keyframes label-pop{0%{transform:scale(.3)rotate(-8deg)}42%{transform:scale(1.12)rotate(3deg)}70%{transform:scale(1)rotate(0)}to{transform:scale(.92)rotate(0)}}@keyframes piece-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.12) rotate(var(--rot))}}@keyframes wrong-pop-fade{0%,64%{opacity:1}to{opacity:0}}@keyframes wrong-label-pop{0%{transform:scale(.45)rotate(6deg)}45%{transform:scale(1.06)rotate(-3deg)}to{transform:scale(.9)rotate(0)}}@media (width<=760px){.game-shell{padding:var(--space-3) var(--space-4) var(--space-7)}.app-header{align-items:flex-start;min-height:36px}.game-logo{font-size:1.35rem}.play-card{gap:var(--space-5);margin-top:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-10);border-radius:var(--radius-card-mobile);box-shadow:var(--shadow-card-mobile);grid-template-columns:1fr}.character-panel{margin:var(--space-2) 0 -12px;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;min-height:auto;padding:0;display:flex}.character-art{pointer-events:auto;justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:static;transform:none}.chilk{object-fit:contain;width:110px;height:110px}.speech-bubble{border-width:var(--border-ui-mobile);border-radius:var(--radius-panel-mobile);width:100%;padding:var(--space-9) var(--space-5) var(--space-5);background:var(--color-white);z-index:1;position:relative}.speech-bubble:before{content:"";background:var(--color-white);border-left:var(--border-ui-mobile) solid var(--color-ink);border-top:var(--border-ui-mobile) solid var(--color-ink);z-index:1;width:14px;height:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.speech-bubble:after{content:"";background:var(--color-white);z-index:2;width:14px;height:14px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.speech-bubble>*{z-index:3;position:relative}.clue-bubble h2{margin-bottom:var(--space-4);font-size:clamp(1.3rem,6vw,1.75rem);line-height:1.08}.clue-bubble .usage-example{padding:var(--space-4);font-size:.88rem;line-height:1.32}.question-panel,.result-panel{gap:var(--space-5)}.progress-row{margin-bottom:var(--space-4);font-size:.78rem;line-height:1}.meaning-card,.result-panel{border-width:var(--border-ui-mobile);border-radius:var(--radius-panel-mobile);padding:var(--space-6)}.answer-slots{gap:var(--space-4);padding:var(--space-1) 0}.answer-slots span{border-width:var(--border-ui);border-radius:var(--radius-slot-mobile);width:44px;height:48px;font-size:1.45rem}.tile-bank{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr))}.tile{min-height:46px;padding:var(--space-3) var(--space-2);font-size:1.16rem}.controls{gap:var(--space-4);margin-top:var(--space-1);margin-bottom:var(--space-2)}.controls button,.result-panel button{min-height:46px}.meaning-card{display:none}.burst-label{border-width:var(--border-ui);padding:var(--space-5) var(--space-9) var(--space-3)}.piece-1{--tx:-90px;--ty:-70px}.piece-2{--tx:90px;--ty:-68px}.piece-3{--tx:-100px;--ty:18px}.piece-4{--tx:100px;--ty:20px}.piece-5{--tx:-58px;--ty:82px}.piece-6{--tx:58px;--ty:84px}.piece-7{--tx:-24px;--ty:-96px}.piece-8{--tx:24px;--ty:-98px}}
