.game-card{border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:180px;padding:24px 16px;transition:transform .2s,box-shadow .2s;animation:.5s backwards cardAppear;display:flex}@keyframes cardAppear{0%{opacity:0;transform:translateY(30px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.game-card:hover{transform:translateY(-6px)scale(1.04);box-shadow:0 12px 40px #0000002e}.game-card:active{transform:scale(.96)}.game-card-emoji{white-space:nowrap;font-size:3.5rem;line-height:1}.game-card-title{color:var(--color-text);text-align:center;word-break:keep-all;font-size:1.15rem;font-weight:700}@media (width<=900px){.game-card{min-height:156px;padding:20px 14px}.game-card-emoji{font-size:3rem}}.accessibility-settings{border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff2;flex-direction:column;gap:16px;max-width:420px;padding:16px 20px;display:flex}.accessibility-row{grid-template-columns:minmax(120px,1fr) 1fr auto;align-items:center;gap:12px;display:grid}.accessibility-label{color:var(--color-text);font-size:1rem;font-weight:700}.accessibility-settings input[type=range]{cursor:pointer;width:100%;min-height:44px;accent-color:var(--color-primary)}.accessibility-value{color:var(--color-primary);text-align:right;min-width:4em;font-size:.95rem;font-weight:900}@media (width<=520px){.accessibility-row{grid-template-columns:1fr;gap:8px}.accessibility-value{text-align:left}}.home{width:100%;height:var(--app-height,100dvh);padding:calc(32px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));-webkit-overflow-scrolling:touch;flex-direction:column;align-items:center;display:flex;overflow-y:auto}.home-controls{align-items:stretch;gap:16px;width:min(900px,100%);margin-bottom:28px;display:flex}.home-settings{flex:1}.home-records-btn{border-radius:var(--radius);min-width:150px;color:var(--color-primary);box-shadow:var(--shadow);background:#fff;padding:16px 22px;font-size:1.1rem;font-weight:900}.home-header{text-align:center;margin-bottom:24px;animation:3s ease-in-out infinite alternate headerFloat}@keyframes headerFloat{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.home-title{color:var(--color-primary);text-shadow:2px 2px #00000014;font-size:3rem;font-weight:900}.home-subtitle{color:var(--color-text-light);margin-top:4px;font-size:1.3rem;font-weight:700}.home-grid{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:900px;display:grid}@media (width>=1180px){.home-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=768px){.home{padding:calc(22px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left))}.home-controls{flex-direction:column}.home-grid{grid-template-columns:repeat(2,1fr);gap:16px}.home-title{font-size:2.2rem}}@media (width<=460px){.home-grid{grid-template-columns:1fr}}.records-page{background:var(--color-bg);width:100%;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));overflow-y:auto}.records-header{align-items:center;gap:20px;max-width:980px;margin:0 auto 24px;display:flex}.records-back{background:var(--color-primary);color:#fff;border-radius:50px;flex-shrink:0;padding:12px 22px;font-size:1.05rem;font-weight:900;box-shadow:0 4px 12px #00000026}.records-title{color:var(--color-primary);font-size:clamp(2rem,5vw,3rem);font-weight:900}.records-subtitle{color:var(--color-text-light);font-size:1.15rem;font-weight:700}.records-summary{grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto 18px;display:grid}.records-summary-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:8px;padding:18px;display:flex}.records-summary-card span{color:var(--color-text-light);font-size:1rem;font-weight:700}.records-summary-card strong{color:var(--color-text);font-size:2rem}.records-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:980px;margin:0 auto 18px;display:flex}.records-export,.records-clear{color:#fff;border-radius:50px;min-height:48px;padding:12px 20px;font-size:1rem;font-weight:900}.records-export{background:var(--color-success)}.records-clear{background:var(--color-danger)}.records-export:disabled,.records-clear:disabled{opacity:.45;cursor:default}.records-empty,.records-list{max-width:980px;margin:0 auto}.records-empty{border-radius:var(--radius);text-align:center;color:var(--color-text-light);background:#fffc;padding:40px 20px;font-size:1.4rem;font-weight:900}.records-list{flex-direction:column;gap:12px;display:flex}.records-item{border-radius:var(--radius);background:#fff;padding:16px 18px;box-shadow:0 4px 16px #00000014}.records-item-main,.records-item-meta{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.records-item-main strong{font-size:1.2rem}.records-item-main span,.records-item-meta span{color:var(--color-text-light);font-weight:700}.records-item-meta{justify-content:flex-start;margin-top:8px}@media (width<=700px){.records-page{padding:18px}.records-header{flex-direction:column;align-items:flex-start}.records-summary{grid-template-columns:1fr}.records-actions{justify-content:stretch}.records-export,.records-clear{flex:1}}.game-layout{width:100%;height:var(--app-height,100dvh);background:var(--color-bg);flex-direction:column;display:flex;overflow:hidden}.game-header{padding:calc(12px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 12px calc(24px + env(safe-area-inset-left));z-index:10;background:#fff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;display:flex;box-shadow:0 2px 8px #0000000f}.back-btn{background:var(--accent,var(--color-primary));color:#fff;border-radius:50px;min-width:140px;padding:10px 24px;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #00000026}.back-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003}.back-btn:active{transform:scale(.97)}.game-title{color:var(--color-text);flex:auto;min-width:180px;font-size:1.5rem;font-weight:900}.game-pointer-control{background:var(--color-bg);border:2px solid #0000000f;border-radius:18px;grid-template-columns:auto minmax(140px,180px) 4em;align-items:center;gap:10px;margin-left:auto;padding:8px 12px;display:grid}.game-pointer-label{color:var(--color-text);white-space:nowrap;font-size:.95rem;font-weight:800}.game-pointer-control input[type=range]{cursor:pointer;width:100%;min-height:36px;accent-color:var(--accent,var(--color-primary))}.game-pointer-value{color:var(--accent,var(--color-primary));text-align:right;font-size:.95rem;font-weight:900}.game-content{flex:1;min-height:0;position:relative;overflow:hidden}.game-settings-fab{right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.75rem;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;box-shadow:0 6px 24px #00000026}.game-settings-fab:hover{transform:scale(1.06);box-shadow:0 8px 28px #0003}.game-settings-fab:active{transform:scale(.96)}.game-settings-backdrop{z-index:200;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:#00000059;justify-content:center;align-items:center;animation:.2s backdropFade;display:flex;position:fixed;inset:0}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.game-settings-panel{background:var(--color-bg);border-radius:24px;width:100%;max-width:440px;padding:24px;animation:.25s cubic-bezier(.34,1.56,.64,1) panelPop;box-shadow:0 16px 48px #0003}@keyframes panelPop{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.game-settings-heading{color:var(--color-text);margin-bottom:16px;font-size:1.35rem;font-weight:900}.game-settings-panel .accessibility-settings{max-width:none;box-shadow:none;background:0 0;padding:0}.game-settings-close{background:var(--accent,var(--color-primary));color:#fff;border-radius:50px;width:100%;margin-top:20px;padding:14px;font-size:1.1rem;font-weight:700}.game-settings-close:hover{filter:brightness(1.05)}@media (width<=900px){.game-header{padding:calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 10px calc(16px + env(safe-area-inset-left));gap:12px}.back-btn{min-width:112px;padding:9px 16px;font-size:1rem}.game-title{min-width:120px;font-size:1.25rem;line-height:1.2}.game-pointer-control{grid-template-columns:auto minmax(0,1fr) 4em;width:100%;margin-left:0}.game-settings-fab{width:56px;height:56px;font-size:1.5rem}}@media (width<=560px){.game-header{flex-wrap:wrap}.game-title{width:100%}}.sensory-container{width:100%;height:100%;position:relative}.sensory-canvas{cursor:pointer;touch-action:none;width:100%;height:100%;display:block}.sensory-face{pointer-events:none;font-size:6rem;animation:.4s cubic-bezier(.34,1.56,.64,1) faceBounce;position:absolute;bottom:40px;right:40px}.sensory-count{pointer-events:none;background:#fffffff2;border-radius:50px;padding:8px 18px;font-size:1.35rem;font-weight:900;position:absolute;top:16px;right:24px;box-shadow:0 4px 12px #0000001f}@keyframes faceBounce{0%{opacity:0;transform:scale(.3)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.sensory-hint{color:#0000004d;pointer-events:none;font-size:1.2rem;font-weight:700;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=900px){.sensory-count{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:8px 14px;font-size:1.1rem}.sensory-face{right:max(24px, env(safe-area-inset-right));bottom:max(54px, calc(env(safe-area-inset-bottom) + 42px));font-size:5rem}.sensory-hint{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));text-align:center;transform:none}}.success-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;animation:.3s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.success-content{text-align:center;background:#fff;border-radius:32px;max-width:min(680px,92vw);padding:48px 64px;animation:.6s cubic-bezier(.34,1.56,.64,1) successBounce;box-shadow:0 20px 60px #0003}@keyframes successBounce{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-stars{font-size:3rem;animation:1s infinite alternate starSpin}@keyframes starSpin{0%{transform:rotate(-5deg)scale(1)}to{transform:rotate(5deg)scale(1.1)}}.success-message{color:var(--color-text);margin:16px 0;font-size:2.2rem;font-weight:900}.success-confetti{font-size:2rem;animation:.5s infinite alternate confettiBounce}@media (width<=700px){.success-content{border-radius:24px;padding:34px 28px}.success-stars{font-size:2.4rem}.success-message{font-size:1.65rem}.success-confetti{font-size:1.7rem}}@keyframes confettiBounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.follow-order{flex-direction:column;justify-content:center;align-items:center;gap:48px;width:100%;height:100%;padding:32px;display:flex}.follow-order.shake{animation:.4s shakeAnim}@keyframes shakeAnim{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.order-track{align-items:center;width:80%;max-width:600px;height:80px;display:flex;position:relative}.order-track-bg{background:#e0e0e0;border-radius:6px;height:12px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.order-character{font-size:3rem;transition:left .5s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:0;transform:translate(-50%)}.order-goal{font-size:2.5rem;position:absolute;top:50%;right:-20px;transform:translateY(-50%)}.order-buttons{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.order-btn{background:var(--color-secondary);color:#fff;border-radius:50%;width:90px;height:90px;font-size:2rem;font-weight:900;transition:transform .15s,opacity .3s,background .3s;box-shadow:0 6px 20px #00000026}.order-btn:hover:not(:disabled){transform:scale(1.1)}.order-btn:active:not(:disabled){transform:scale(.95)}.order-btn.done{background:var(--color-success);opacity:.6;transform:scale(.9)}.order-hint{color:var(--color-text-light);font-size:1.2rem;font-weight:700}@media (width<=900px){.follow-order{padding:24px max(18px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-bottom));gap:36px}.order-track{width:min(88vw,620px)}.order-btn{width:clamp(76px,12vw,96px);height:clamp(76px,12vw,96px);font-size:1.9rem}.order-hint{text-align:center}}.emoji-match{flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,4vh,36px);width:100%;height:100%;padding:24px;display:flex}.emoji-score{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.emoji-dot{background:#e0e0e0;border-radius:50%;width:16px;height:16px;transition:background .3s,transform .3s}.emoji-dot.filled{background:var(--color-success);transform:scale(1.2)}.emoji-target{text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:clamp(22px,4vw,38px) clamp(28px,6vw,64px);transition:background .3s,transform .3s}.emoji-target.correct-flash{background:#e8f5e9;transform:scale(1.03)}.emoji-target-label{color:var(--color-text-light);font-size:clamp(1.1rem,2vw,1.45rem);font-weight:900}.emoji-target-symbol{margin-top:12px;font-size:clamp(6rem,17vw,11rem);line-height:1;animation:2s ease-in-out infinite emojiWiggle}@keyframes emojiWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.emoji-options{grid-template-columns:repeat(4,minmax(110px,1fr));gap:clamp(14px,3vw,24px);width:min(760px,100%);display:grid}.emoji-option{background:#fff;border-radius:22px;min-height:clamp(108px,18vw,150px);font-size:clamp(4rem,10vw,6.5rem);line-height:1;transition:transform .15s,box-shadow .15s,background .2s;box-shadow:0 4px 16px #0000001a}.emoji-option:hover{transform:translateY(-4px)scale(1.03);box-shadow:0 8px 24px #00000026}.emoji-option:active{transform:scale(.95)}.emoji-option.correct{background:#c8e6c9;transform:scale(1.06)}.emoji-feedback{text-align:center;min-height:2.1rem;font-size:1.5rem;font-weight:900;animation:.4s cubic-bezier(.34,1.56,.64,1) feedbackPop}.emoji-feedback.correct{color:var(--color-success)}.emoji-feedback.wrong{color:var(--color-primary)}@keyframes feedbackPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (width<=700px){.emoji-match{padding:18px}.emoji-options{grid-template-columns:repeat(2,minmax(120px,1fr))}}.follow-char{width:100%;height:100%;position:relative}.follow-char-canvas{cursor:none;touch-action:none;width:100%;height:100%;display:block}.follow-char-score{background:#fff;border-radius:50px;padding:8px 20px;font-size:1.5rem;font-weight:900;position:absolute;top:16px;right:24px;box-shadow:0 4px 12px #0000001a}.follow-char-hint{color:#00000040;pointer-events:none;white-space:nowrap;font-size:1.1rem;font-weight:700;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=900px){.follow-char-score{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:8px 14px;font-size:1.15rem}.follow-char-hint{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));text-align:center;white-space:normal;transform:none}}.balloon-chase{width:100%;height:100%;position:relative}.balloon-canvas{cursor:none;touch-action:none;width:100%;height:100%;display:block}.balloon-score{pointer-events:none;background:#fff;border-radius:50px;padding:8px 20px;font-size:1.5rem;font-weight:900;position:absolute;top:16px;right:24px;box-shadow:0 4px 12px #0000001a}.balloon-difficulty{pointer-events:none;background:#fffffff2;border-radius:50px;padding:8px 18px;font-size:1.2rem;font-weight:900;position:absolute;top:16px;left:24px;box-shadow:0 4px 12px #0000001a}@media (width<=900px){.balloon-score,.balloon-difficulty{top:max(12px, env(safe-area-inset-top));padding:8px 14px;font-size:1.1rem}.balloon-score{right:max(12px, env(safe-area-inset-right))}.balloon-difficulty{left:max(12px, env(safe-area-inset-left))}}.stage-transition-overlay{z-index:100;pointer-events:auto;background:radial-gradient(circle at 50% 42%,#fffffff0,#ffffffb8 38%,#0f172a6b),#0f172a61;place-items:center;animation:.16s ease-out stageOverlayIn;display:grid;position:fixed;inset:0}.stage-transition-content{min-width:min(520px,86vw);color:var(--color-text);background:#fffffffa;border:4px solid #1976d22e;border-radius:28px;justify-items:center;gap:12px;padding:clamp(34px,7vw,56px) clamp(34px,8vw,68px);animation:.34s cubic-bezier(.34,1.56,.64,1) stageContentPop;display:grid;box-shadow:0 24px 70px #1834583d}.stage-transition-kicker{color:var(--accent,var(--color-primary));font-size:clamp(1rem,2.8vw,1.45rem);font-weight:900}.stage-transition-title{color:var(--accent,var(--color-primary));text-align:center;font-size:clamp(3rem,12vw,6rem);font-weight:900;line-height:1}@keyframes stageOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes stageContentPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (width<=560px){.stage-transition-content{border-radius:22px;min-width:min(360px,88vw)}}.line-tracing{width:100%;height:100%;position:relative}.line-difficulty-badge{z-index:5;pointer-events:none;position:absolute;top:16px;left:24px}.line-canvas{cursor:none;touch-action:none;width:100%;height:100%;display:block}.line-progress{pointer-events:none;background:#fff;border-radius:50px;align-items:center;gap:12px;padding:8px 16px;display:flex;position:absolute;top:16px;right:24px;box-shadow:0 4px 12px #0000001a}.line-progress-bar{background:#e0e0e0;border-radius:6px;width:120px;height:12px;overflow:hidden}.line-progress-fill{background:var(--color-success);border-radius:6px;height:100%;transition:width .2s}.line-progress-text{color:var(--color-text);min-width:40px;font-size:1rem;font-weight:900}@media (width<=900px){.line-difficulty-badge{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));font-size:.9rem}.line-progress{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:8px 12px}.line-progress-bar{width:96px}}@media (width<=560px){.line-progress{top:58px}}.star-collect{width:100%;height:100%;position:relative}.star-canvas{cursor:none;touch-action:none;width:100%;height:100%;display:block}.star-counter{pointer-events:none;background:#fffffff2;border-radius:50px;padding:8px 20px;font-size:1.4rem;font-weight:900;position:absolute;top:16px;right:24px;box-shadow:0 4px 12px #00000026}.star-hint{color:#ffffff59;pointer-events:none;white-space:nowrap;font-size:1.1rem;font-weight:700;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=900px){.star-counter{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:8px 14px;font-size:1.15rem}.star-hint{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));text-align:center;white-space:normal;transform:none}}.mouse-trail{width:100%;height:100%;position:relative}.trail-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.trail-toolbar{background:#ffffffe6;border-radius:50px;align-items:center;gap:20px;padding:10px 24px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.trail-clear-btn{background:var(--color-danger);color:#fff;border-radius:50px;padding:10px 24px;font-size:1.1rem;font-weight:700;transition:transform .15s}.trail-clear-btn:hover{transform:scale(1.05)}.trail-clear-btn:active{transform:scale(.95)}.trail-hint{color:var(--color-text-light);white-space:nowrap;font-size:1rem;font-weight:700}@media (width<=900px){.trail-toolbar{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));border-radius:18px;flex-wrap:wrap;justify-content:center;gap:12px;padding:10px 16px;transform:none}.trail-hint{white-space:normal;text-align:center}}.red-green{flex-direction:column;justify-content:center;align-items:center;gap:clamp(22px,5vh,42px);width:100%;height:100%;padding:24px;transition:background .25s;display:flex}.red-green-red{background:#fff1f1}.red-green-green{background:#effaf0}.red-green-stats{flex-wrap:wrap;justify-content:center;gap:12px;font-size:1.15rem;font-weight:900;display:flex}.red-green-stats span{background:#ffffffe6;border-radius:50px;padding:8px 16px;box-shadow:0 4px 12px #00000014}.red-green-stats .difficulty-badge{color:var(--accent,#2e7d32)}.red-green-level{min-height:1.8rem;color:var(--color-text);text-align:center;font-size:clamp(1.25rem,3vw,1.8rem);font-weight:900}.red-green-button{aspect-ratio:1;color:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:min(62vw,420px);transition:transform .12s,filter .2s,opacity .2s;display:flex;box-shadow:0 18px 44px #0003}.red-green-red .red-green-button{background:#e53935}.red-green-green .red-green-button{background:#2e7d32}.red-green-button:disabled{opacity:.82;cursor:default}.red-green-button:not(:disabled):active{transform:scale(.96)}.red-green-light{aspect-ratio:1;background:#ffffff47;border-radius:50%;width:38%;box-shadow:inset 0 0 24px #ffffff4d}.red-green-command{font-size:clamp(2.2rem,7vw,4.8rem);font-weight:900;line-height:1}.red-green-feedback{min-height:2.3rem;color:var(--color-text);text-align:center;font-size:clamp(1.35rem,3vw,2rem);font-weight:900}@media (width<=700px){.red-green{padding:18px}.red-green-button{width:min(78vw,360px)}}.name-writing{background-color:#fffdf7;background-image:linear-gradient(90deg,#5d48e814 1px,#0000 1px),linear-gradient(#5d48e814 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:28px;display:flex}.name-setup{width:min(720px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;flex-direction:column;gap:22px;padding:32px;display:flex}.name-setup-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.name-setup-title{color:var(--color-text);font-size:2rem;font-weight:900}.name-input-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.name-input-label{color:var(--color-text);font-size:1.2rem;font-weight:900}.name-input{width:100%;min-height:64px;font:inherit;color:var(--color-text);border:3px solid #5d48e840;border-radius:18px;outline:none;padding:10px 18px;font-size:1.6rem;font-weight:900}.name-input:focus{border-color:#5d48e8;box-shadow:0 0 0 4px #5d48e81f}.name-start-btn,.name-tool-btn{color:#fff;border-radius:18px;min-height:58px;padding:12px 22px;font-size:1.1rem;font-weight:900;transition:transform .15s,filter .15s}.name-start-btn{background:#5d48e8}.name-start-btn:disabled{cursor:not-allowed;opacity:.45}.name-start-btn:not(:disabled):hover,.name-tool-btn:hover{filter:brightness(1.04);transform:translateY(-2px)}.name-start-btn:not(:disabled):active,.name-tool-btn:active{transform:scale(.97)}.name-setup-note,.name-writing-hint{color:var(--color-text-light);font-size:1.08rem;font-weight:700}.name-writing-stage{grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;width:min(1100px,100%);height:min(680px,100%);display:grid}.name-stage-topbar{justify-content:flex-start;display:flex}.name-guide-card{min-height:280px;box-shadow:var(--shadow);background:#fff;border:4px dashed #5d48e847;border-radius:24px;position:relative;overflow:hidden}.name-guide-card-minimal{border-style:dotted}.name-guide-text{color:rgba(93, 72, 232, var(--guide-opacity,.16));letter-spacing:0;text-align:center;transform:scale(var(--guide-scale,1));transform-origin:50%;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;justify-content:center;align-items:center;padding:24px;font-size:clamp(4.5rem,18vw,15rem);font-weight:900;line-height:.95;display:flex;position:absolute;inset:0}.name-writing-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.name-toolbar{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.name-tool-btn.primary{background:var(--color-success)}.name-tool-btn.secondary{background:#5d48e8}.name-tool-btn.danger{background:var(--color-danger)}.name-writing-hint{text-align:center}@media (width<=720px){.name-writing{padding:14px}.name-setup{padding:22px}.name-setup-title{font-size:1.5rem}.name-setup-header{flex-direction:column;align-items:flex-start}.name-input-row{grid-template-columns:1fr}.name-input{min-height:58px;font-size:1.35rem}.name-start-btn,.name-tool-btn{width:100%}.name-writing-stage{height:100%}.name-guide-text{font-size:clamp(3.5rem,22vw,8rem)}}.toy-cleanup{touch-action:none;background:radial-gradient(circle at 18% 22%,#ffe0b2e6,#0000 26%),radial-gradient(circle at 80% 30%,#b2dfdbbf,#0000 28%),linear-gradient(#fffaf0 0%,#f3fbff 100%);width:100%;height:100%;position:relative;overflow:hidden}.toy-cleanup-stats{z-index:20;pointer-events:none;flex-wrap:wrap;gap:10px;max-width:min(680px,100% - 48px);display:flex;position:absolute;top:16px;left:24px}.toy-cleanup-stats span,.toy-cleanup-feedback{color:var(--color-text);background:#fffffff2;border-radius:999px;font-weight:900;box-shadow:0 4px 14px #0000001a}.toy-cleanup-stats span{padding:8px 14px;font-size:1rem}.toy-cleanup-stats .difficulty-badge{color:var(--accent,#f57c00)}.toy-cleanup-feedback{z-index:20;text-align:center;pointer-events:none;max-width:min(560px,100% - 48px);padding:10px 20px;font-size:1.1rem;position:absolute;top:76px;left:50%;transform:translate(-50%)}.toy-item{z-index:5;aspect-ratio:1;touch-action:none;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:50%;width:clamp(92px,10.5vw,126px);transition:left .22s,top .22s,transform .16s,box-shadow .16s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 28px #5a41232e}.toy-item-light{border:3px solid #66bb6a59}.toy-item-normal{border:3px solid #f57c0047}.toy-item-heavy{border:3px solid #5d48e852}.toy-item-holding,.toy-item-grabbed{box-shadow:0 14px 36px #f57c0047}.toy-item-grabbed{z-index:12;transition:transform .16s,box-shadow .16s;transform:translate(-50%,-50%)scale(1.12)}.toy-hold-ring{background:conic-gradient(var(--accent,#f57c00) var(--hold-progress,0deg), #f57c001f 0deg);opacity:0;border-radius:50%;transition:opacity .12s;position:absolute;inset:-10px}.toy-hold-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.toy-item-holding .toy-hold-ring,.toy-item-grabbed .toy-hold-ring{opacity:1}.toy-emoji{z-index:1;pointer-events:none;place-items:center;width:100%;height:76%;padding-top:8px;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;display:grid;position:relative}.toy-weight-label{z-index:2;min-width:4.4em;color:var(--color-text-light);pointer-events:none;background:#ffffffeb;border-radius:999px;padding:3px 8px;font-size:clamp(.72rem,1.25vw,.9rem);font-weight:900;line-height:1.15;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.toy-item-light .toy-weight-label{color:#2e7d32}.toy-item-heavy .toy-weight-label{color:#4a3bc0}.toy-basket{z-index:4;width:clamp(180px,24vw,292px);height:clamp(142px,20vw,222px);color:var(--color-text);pointer-events:none;background:#ffffffc7;border:4px dashed #f57c0073;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:transform .18s,background .18s,border-color .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 8px #ffe0b26b,0 14px 36px #5a412329}.toy-basket-large{width:clamp(210px,28vw,330px);height:clamp(160px,22vw,250px)}.toy-basket-medium{width:clamp(180px,24vw,292px);height:clamp(142px,20vw,222px)}.toy-basket-small{width:clamp(150px,19vw,230px);height:clamp(118px,16vw,176px)}.toy-basket.hot{background:#e8f5e9f5;border-color:#66bb6a;transform:translate(-50%,-50%)scale(1.04)}.toy-basket-icon{font-size:clamp(4rem,9vw,7rem);line-height:1}.toy-basket-label{font-size:1.2rem;font-weight:900}@media (width<=900px){.toy-cleanup-stats{gap:8px;max-width:calc(100% - 28px);top:12px;left:14px}.toy-cleanup-stats span{padding:7px 11px;font-size:.9rem}.toy-cleanup-feedback{font-size:.98rem;top:86px}.toy-basket-large{width:clamp(174px,29vw,244px);height:clamp(134px,24vw,190px)}.toy-basket-medium{width:clamp(154px,26vw,220px);height:clamp(120px,22vw,172px)}.toy-basket-small{width:clamp(132px,22vw,182px);height:clamp(104px,18vw,144px)}}@media (width<=640px){.toy-cleanup-feedback{inset:auto 18px 18px;transform:none}.toy-basket-large{width:166px;height:128px}.toy-basket-medium{width:142px;height:112px}.toy-basket-small{width:122px;height:96px}.toy-basket-label{font-size:.95rem}}.number-memory{width:100%;height:100%;padding:20px 24px calc(24px + env(safe-area-inset-bottom));touch-action:manipulation;background:linear-gradient(135deg,#d7ecffeb,#fffae0f0),#f7fbff;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(16px,3vh,28px);display:grid;position:relative;overflow:hidden}.number-memory-stats{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.number-memory-stats span{min-height:36px;color:var(--color-text);background:#fffffff2;border-radius:999px;padding:8px 14px;font-size:1rem;font-weight:900;line-height:1;box-shadow:0 4px 14px #0000001a}.number-memory-stats .difficulty-badge{color:var(--accent,#1976d2)}.number-memory-stage{place-items:center;min-height:0;display:grid}.number-memory-card{aspect-ratio:1;color:#174ea6;background:#fffffff5;border:4px solid #1976d22e;border-radius:28px;place-items:center;width:clamp(190px,34vmin,340px);transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 18px 44px #1a467829}.number-memory-card-show{color:#f57c00;border-color:#ffb30080;transform:scale(1.02);box-shadow:0 20px 52px #ffb30038}.number-memory-card-wait{color:#1976d242;border-style:dashed}.number-memory-card-choose{border-color:#1976d252}.number-memory-card-correct{color:#2e7d32;border-color:#4caf506b}.number-memory-card-wrong{color:#d32f2f;border-color:#f4433661}.number-memory-number{font-size:clamp(6rem,22vmin,12rem);font-weight:900;line-height:1}.number-memory-symbol{font-size:clamp(4.6rem,17vmin,9rem);font-weight:900;line-height:1}.number-memory-correct{color:#2e7d32}.number-memory-choices{opacity:0;pointer-events:none;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));justify-self:center;gap:14px;width:min(760px,100%);transition:opacity .16s,transform .16s;display:grid;transform:translateY(10px)}.number-memory-choices.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.number-memory-choice{min-height:clamp(78px,10vmin,112px);color:var(--color-text);touch-action:manipulation;background:#fffffff5;border:4px solid #1976d229;border-radius:22px;font-size:clamp(2.3rem,7vmin,4rem);font-weight:900;line-height:1;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 10px 26px #1a467824}.number-memory-choice:not(:disabled):hover{border-color:#1976d25c;transform:translateY(-2px);box-shadow:0 14px 32px #1a46782e}.number-memory-choice:not(:disabled):active{transform:scale(.97)}.number-memory-choice:disabled{cursor:default}@media (width<=900px){.number-memory{padding:14px 16px calc(18px + env(safe-area-inset-bottom));gap:14px}.number-memory-stats{gap:8px}.number-memory-stats span{padding:7px 11px;font-size:.9rem}.number-memory-card{width:clamp(170px,32vmin,280px)}.number-memory-choices{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px}}@media (width<=560px){.number-memory{padding-inline:12px}.number-memory-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--app-height:100dvh;--font-scale:1;--pointer-scale:1;--color-bg:#fef9ef;--color-primary:#ff8c42;--color-secondary:#6ec6ff;--color-success:#66bb6a;--color-danger:#ef5350;--color-text:#3e2723;--color-text-light:#795548;--color-card-1:#ffcdd2;--color-card-2:#f8bbd0;--color-card-3:#e1bee7;--color-card-4:#c5cae9;--color-card-5:#b3e5fc;--color-card-6:#b2dfdb;--color-card-7:#dcedc8;--color-card-8:#fff9c4;--radius:20px;--shadow:0 8px 32px #0000001a;--font-family:"Noto Sans KR", sans-serif}html{font-size:calc(16px * var(--font-scale))}html,body,#root{overscroll-behavior:none;width:100%;height:100%;min-height:100%;overflow:hidden}body{min-height:var(--app-height,100dvh);font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font-family:var(--font-family);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;outline:none}a{color:inherit;text-decoration:none}.difficulty-badge{min-height:36px;color:var(--accent,var(--color-primary));white-space:nowrap;background:#fffffff2;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:1rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 4px 14px #0000001a}@media (pointer:coarse){button{min-height:44px}}
