@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap";:root{--font-scale:1;--primary:#2e5490;--primary-dark:#1e3a5f;--secondary:#f97316;--success:#047857;--warning:#f59e0b;--danger:#dc2626;--text:#1f2937;--text-dark:#16365f;--muted:#64748b;--surface:#fff;--surface-soft:#f8fafc;--line:#2563eb24;--border:#1e40af24;--shadow:0 20px 54px #1e40af24}*{box-sizing:border-box}html{background:#eaf5ff;min-height:100%}body{min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,맑은 고딕,Nanum Gothic,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol;line-height:1.6}button,input{font:inherit}button{min-height:44px}img{max-width:100%}body.high-contrast{color:#fff;background:#000}.app-page{background:radial-gradient(circle at 18% 18%,#ffffffeb,#0000 24%),linear-gradient(135deg,#e0f2fe 0%,#ecfdf5 48%,#fff7ed 100%)}header{z-index:20;background:#fffffff0;border-bottom:1px solid #2563eb24;grid-template-columns:minmax(260px,auto) minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 22px;display:grid;position:sticky;top:0;box-shadow:0 12px 28px #0f172a14}.header-left{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.header-left h1{color:#16365f;font-size:calc(1.45rem * var(--font-scale));letter-spacing:0;align-items:center;gap:10px;margin:0;line-height:1.1;display:flex}.header-brand-mark{place-items:center;width:56px;height:56px;display:inline-grid}.header-left p{color:#49637e;font-size:calc(.92rem * var(--font-scale));margin:4px 0 0 66px;font-weight:800}.header-center{justify-content:center;min-width:0;display:flex}.landing-nav-links,.header-user-badge,.header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.landing-nav-links a,.landing-nav-links button,.header-auth-btn,.header-badge-btn,.header-util-btn{color:#17406d;min-height:44px;font-size:calc(.94rem * var(--font-scale));cursor:pointer;background:#fff;border:2px solid #2563eb1f;border-radius:8px;padding:0 14px;font-weight:1000;text-decoration:none}.header-auth-btn.primary,.landing-btn-primary,.btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.difficulty-badge{color:#1d4ed8;background:#eff6ff;border-radius:8px;align-items:center;min-height:32px;padding:0 10px;font-weight:1000;display:inline-flex}.container{width:min(1180px,100% - 24px);margin:0 auto;padding:18px 0 32px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(320px,430px);align-items:stretch;gap:22px;display:grid}.landing-hero-copy,.landing-device-card,.landing-section,.landing-cta,.welcome-card,.training-report-sheet,.static-panel,.game-event-dashboard,.main-menu-wrapper{background:#ffffffeb;border:1px solid #2563eb1f;border-radius:8px;box-shadow:0 18px 42px #0f172a1f}.landing-eyebrow,.event-kicker{color:#047857;font-size:calc(.96rem * var(--font-scale));font-weight:1000}.landing-hero-image-box{aspect-ratio:16/9;background:#e0f2fe;border-radius:8px;margin:14px 0;overflow:hidden}.landing-hero-image-box img{object-fit:cover;width:100%;height:100%}.landing-hero-desc{color:#334155;font-size:calc(1.08rem * var(--font-scale));margin:0;font-weight:800;line-height:1.65}.landing-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.landing-btn,.btn{min-height:56px;font-size:calc(1rem * var(--font-scale));cursor:pointer;border:2px solid #2563eb29;border-radius:8px;padding:0 16px;font-weight:1000}.landing-btn-brain,.btn-secondary{color:#fff;background:#047857;border-color:#047857}.landing-btn-soft,.btn-soft{color:#1d4ed8;background:#eff6ff}.landing-btn-white{color:#17406d;background:#fff}.landing-device-card{align-content:center;gap:14px;min-height:100%;padding:22px;display:grid}.landing-brain-panel,.landing-daily-reco,.landing-brain-reco{background:#f8fafc;border-radius:8px;padding:18px}.landing-brain-panel h3{color:#0f2b53;font-size:calc(1.45rem * var(--font-scale));letter-spacing:0;margin:0 0 8px;line-height:1.25}.landing-section,.landing-cta{margin-top:18px;padding:22px}.landing-section-title,.landing-cta{justify-content:space-between;align-items:center;gap:18px;display:flex}.landing-section-title h2,.landing-cta h2,.main-menu-head h2{color:#0f2b53;font-size:calc(1.75rem * var(--font-scale));letter-spacing:0;margin:0;line-height:1.2}.landing-section-title p,.landing-cta p{color:#475569;margin:8px 0 0;font-weight:800;line-height:1.5}.landing-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.landing-category-card{background:linear-gradient(180deg, var(--tone,#2563eb1f), #fff);border:1px solid #0f172a1a;border-radius:8px;min-height:260px;padding:18px}.landing-category-icon{font-size:2rem}.landing-category-card h3{color:#0f2b53;font-size:calc(1.22rem * var(--font-scale));letter-spacing:0;margin:8px 0}.landing-category-card p{color:#475569;line-height:1.45}.guide-route,.benefits-route{gap:18px;display:grid}.guide-route-hero{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:22px;display:grid}.guide-route-hero h2{color:#0f2b53;font-size:calc(2rem * var(--font-scale));letter-spacing:0;margin:8px 0;line-height:1.18}.guide-route-hero p,.guide-step-card p,.guide-area-card p{color:#475569;font-weight:800;line-height:1.58}.guide-route-hero img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.guide-route-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.guide-step-grid,.guide-area-grid{gap:12px;margin-top:18px;display:grid}.guide-step-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.benefits-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.guide-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-step-card,.guide-area-card,.benefit-card{background:#fff;border:1px solid #2563eb1f;border-radius:8px;min-height:180px;padding:18px}.guide-step-card span{color:#1d4ed8;background:#eff6ff;border-radius:8px;place-items:center;width:40px;height:40px;font-weight:1000;display:inline-grid}.guide-step-card h3,.guide-area-card h3,.benefit-card h3{color:#0f2b53;font-size:calc(1.18rem * var(--font-scale));letter-spacing:0;margin:12px 0 8px}.benefit-card p{color:#475569;font-weight:800;line-height:1.58}.guide-container{--app-scrollbar-offset:18px;--app-page-x:max(22px, calc((100vw - 1240px) / 2 + 22px));width:100%;max-width:none;min-height:0;padding:0 var(--app-page-x) 56px;scrollbar-width:none;-ms-overflow-style:none;flex:auto;margin:0;overflow:visible}.guide-container::-webkit-scrollbar{width:0;height:0;display:none}.guide-container a{color:inherit;text-decoration:none}.guide-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:42px;padding:clamp(34px,6vh,62px) 0 clamp(28px,5vh,52px);display:grid}.guide-hero-copy{background:linear-gradient(135deg,#ffffffeb,#eff6ffe0);border:1px solid #2563eb1f;border-radius:32px;flex-direction:column;justify-content:center;min-height:560px;padding:31px;display:flex;position:relative;box-shadow:0 20px 44px #1e40af17}.guide-badge{color:#0f4f8f;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border:1px solid #2563eb29;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:10px 16px;font-size:1.08rem;font-weight:950;display:inline-flex;box-shadow:0 10px 24px #2563eb1a}.guide-hero h1{letter-spacing:0;color:#0f1f35;word-break:keep-all;margin:0 0 24px;font-size:clamp(1.8rem,3.6vw,3.33rem);line-height:1.16}.guide-hero h1 strong{color:#0f766e;background:linear-gradient(#0000 58%,#86efac85 0);display:inline-block}.guide-hero p{color:#334155;word-break:keep-all;max-width:650px;margin:0 0 34px;font-size:1.1rem;font-weight:750;line-height:1.75}.guide-cta-row{flex-wrap:wrap;gap:14px;display:flex}.guide-btn{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:49px;padding:0 22px;font-size:.95rem;font-weight:950;transition:transform .22s,box-shadow .22s;display:inline-flex}.guide-btn:hover{transform:translateY(-3px)}.guide-btn.primary{color:#fff;background:linear-gradient(135deg,#2563eb,#059669);box-shadow:0 16px 34px #2563eb47}.guide-btn.secondary{color:#0f4f8f;background:#fff;border:1px solid #2563eb38;box-shadow:0 12px 28px #1e40af1a}.guide-final-btn{border-radius:14px;min-height:43px;padding:0 19px;font-size:.84rem}.guide-hero .guide-final-btn{border-radius:16px;min-height:49px;padding:0 22px;font-size:.95rem}.guide-visual-card{background:radial-gradient(circle at 16% 16%,#fffffff5,#0000 26%),linear-gradient(145deg,#dbeafe,#ecfeff 48%,#dcfce7);border:1px solid #2563eb1f;border-radius:34px;align-content:center;gap:19px;min-height:560px;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 60px #184c7033}.guide-visual-image{aspect-ratio:1161/914;background:#fff;border:4px solid #ffffffe0;border-radius:30px;width:min(80%,344px);margin:0 auto;overflow:hidden;box-shadow:0 22px 44px #2563eb38}.guide-visual-image img{object-fit:contain;width:100%;height:100%;display:block}@keyframes guideFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.guide-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:13px;display:grid}.guide-stat,.guide-card,.guide-benefit-item,.guide-area,.guide-why,.guide-final-cta{background:#ffffffdb;border:1px solid #6fa0ba29;box-shadow:0 16px 36px #23455d14}.guide-stat{word-break:keep-all;background:linear-gradient(135deg, var(--stat-soft,#eff6ff), #fff 80%);border-color:var(--stat-line,#2563eb29);border-radius:18px;flex-direction:column;justify-content:center;min-height:84px;padding:14px;font-size:.81rem;line-height:1.55;display:flex}.guide-stat b{color:var(--stat-color,#1d4ed8);margin-bottom:4px;font-size:.99rem;line-height:1.25;display:block}.guide-section{padding:60px 0}.guide-section-title{text-align:center;max-width:760px;margin:0 auto 40px}.guide-section-title span{color:#1596bb;font-weight:950}.guide-section-title h2{color:#18283d;letter-spacing:0;word-break:keep-all;margin:8px 0 0;font-size:clamp(1.85rem,3.4vw,3rem);line-height:1.2}.guide-cards,.guide-areas{gap:22px;display:grid}.guide-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-card{background:linear-gradient(145deg, var(--card-soft,#ffffffdb), #fff 78%);border-color:var(--card-line,#6fa0ba29);border-radius:26px;min-height:286px;padding:30px;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden}.guide-card:before{content:"";background:linear-gradient(90deg, var(--card-color,#1596bb), var(--card-color-2,#61c77b));height:8px;position:absolute;inset:0 0 auto}.guide-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px #23455d21}.guide-icon{background:linear-gradient(135deg, var(--card-color,#1596bb), var(--card-color-2,#61c77b));color:#fff;width:62px;height:62px;box-shadow:0 14px 28px var(--card-shadow,#1596bb38);border-radius:20px;place-items:center;margin-bottom:18px;font-size:2rem;display:grid}.guide-card h3,.guide-area h3{color:var(--card-title,#1a3148);margin:0 0 10px;font-size:1.32rem;line-height:1.35}.guide-card p,.guide-area p,.guide-benefit-item,.guide-why p{color:#586a7d;word-break:keep-all;font-size:1rem;font-weight:650;line-height:1.7}.guide-benefits{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:34px;display:grid}.guide-benefit-panel{color:#fff;background:linear-gradient(135deg, #1596bbf0, #61c77be6), var(--guide-bg-gsg);background-position:50%;background-size:cover;border-radius:32px;flex-direction:column;justify-content:flex-end;min-height:430px;padding:38px;display:flex;box-shadow:0 24px 46px #1596bb38}.guide-benefit-panel h2{letter-spacing:0;word-break:keep-all;margin:0 0 20px;font-size:2.4rem;line-height:1.2}.guide-benefit-panel p{opacity:.96;word-break:keep-all;margin:0;font-size:1.12rem;font-weight:700;line-height:1.7}.guide-benefit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guide-benefit-item{background:linear-gradient(135deg, var(--benefit-soft,#e8f8ffd1), #fff 78%);border-color:var(--benefit-line,#1677a81f);border-radius:20px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-height:118px;padding:20px;display:grid}.guide-benefit-item b{color:var(--benefit-color,#137fa7);margin-bottom:6px;font-size:1.04rem;display:block}.guide-benefit-icon{color:#fff;background:linear-gradient(135deg, var(--benefit-color,#1596bb), var(--benefit-color-2,#61c77b));width:48px;height:48px;box-shadow:0 12px 24px var(--benefit-shadow,#1596bb38);border-radius:16px;place-items:center;font-size:1.55rem;line-height:1;display:grid}.guide-benefit-copy{min-width:0}.guide-areas{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-area{background:linear-gradient(160deg,#fffffff5,#e8f8ffdb);border-radius:26px;min-height:260px;padding:26px;position:relative;overflow:hidden}.guide-area:after{content:"";background:#61c77b29;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-30px;right:-30px}.guide-area .emoji{margin-bottom:28px;font-size:2.6rem}.guide-why{background:linear-gradient(135deg,#eff6fff5,#ecfdf5f0),#fff;border-color:#2563eb29;border-radius:36px;grid-template-columns:1fr 1fr;align-items:center;gap:34px;padding:54px;display:grid;position:relative;overflow:hidden}.guide-why h2{color:#102a5c;letter-spacing:0;word-break:keep-all;margin:0 0 18px;font-size:2.55rem;line-height:1.25}.guide-why-copy{color:#fff;background:linear-gradient(135deg, #1d4ed8eb, #059669e0), var(--guide-bg-logo);background-position:50%;background-size:cover;border-radius:28px;flex-direction:column;justify-content:flex-end;min-height:330px;padding:34px;display:flex;position:relative;box-shadow:0 22px 42px #1e40af33}.guide-why-copy h2,.guide-why-copy p{color:#fff;position:relative}.guide-why-copy p{text-shadow:0 1px 12px #0f172a38;margin:0;font-size:1.08rem;font-weight:750;line-height:1.75}.guide-check-list{gap:16px;display:grid}.guide-check{background:linear-gradient(135deg, var(--check-soft,#f6fbff), #fff 82%);color:#24425c;border:1px solid var(--check-line,#2563eb24);word-break:keep-all;border-radius:22px;align-items:flex-start;gap:14px;padding:22px;font-weight:900;display:flex;box-shadow:0 14px 30px #1e40af14}.guide-check span{color:#fff;background:linear-gradient(135deg, var(--check-color,#16a34a), var(--check-color-2,#22c55e));width:38px;height:38px;box-shadow:0 10px 20px var(--check-shadow,#16a34a38);border-radius:14px;flex:none;place-items:center;font-size:1.12rem;display:grid}.guide-check b{color:var(--check-title,#24425c);font-size:1.1rem;line-height:1.45;display:block}.guide-final-cta{text-align:center;background:linear-gradient(135deg, #0f4c81e6, #059669e0), var(--guide-bg-gsg);background-position:50%;background-size:cover;border-color:#2563eb2e;border-radius:29px;margin:6px 0 0;padding:62px 21px;box-shadow:0 24px 54px #0f4c8138}.guide-final-cta h2{color:#fff;letter-spacing:0;word-break:keep-all;text-shadow:0 3px 18px #0f172a47;margin:0 0 16px;font-size:clamp(1.6rem,3.2vw,2.88rem);line-height:1.18}.guide-final-cta p{color:#ffffffeb;text-shadow:0 2px 14px #0f172a38;margin:0 0 22px;font-size:.94rem;font-weight:850}.guide-final-cta .guide-final-btn{color:#0f4f8f;background:#fff;border:2px solid #ffffffb8;box-shadow:0 16px 34px #0f172a3d}.guide-final-cta .guide-final-btn:hover{color:#fff;background:linear-gradient(135deg,#2563eb,#059669)}.guide-footer{text-align:center;color:#789;border-top:1px solid #6fa0ba2e;width:min(1180px,100%);margin:28px auto 0;padding:24px 0 4px;font-size:.95rem}.training-principle-page{color:#0f1f35;max-width:1240px;margin:0 auto 72px;padding:18px 22px 72px}.training-principle-page.hidden{display:none}.principle-eyebrow{color:#0f4f8f;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border:1px solid #2563eb29;border-radius:999px;align-items:center;gap:9px;margin-bottom:18px;padding:10px 16px;font-weight:950;display:inline-flex;box-shadow:0 10px 24px #1e40af1a}.principle-card-head{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-bottom:18px;display:flex}.principle-card-head .principle-eyebrow{margin-bottom:0}.principle-source-badge{color:#9a3412;min-height:42px;font-size:calc(1rem * var(--font-scale));white-space:nowrap;background:linear-gradient(135deg,#fff7ed,#fef3c7);border:2px solid #e07b395c;border-radius:999px;align-items:center;padding:0 18px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #e07b3929}.principle-hero{background:linear-gradient(135deg,#eff6fff5,#ecfdf5f0);border:1px solid #2563eb29;border-radius:36px;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.35fr) 280px;align-items:stretch;gap:24px;padding:34px;display:grid;box-shadow:0 24px 54px #1e40af24}.principle-photo-wrap{background:#fff;border:4px solid #fffffff0;border-radius:30px;justify-content:center;align-items:center;min-height:100%;display:flex;overflow:hidden;box-shadow:0 22px 44px #1e40af2e}.principle-photo{object-fit:cover;width:100%;height:100%;padding:0;display:block}.principle-hero-copy{align-content:center;padding:18px 8px;display:grid}.principle-hero h1{letter-spacing:0;color:#0f1f35;margin:0;font-size:clamp(2rem,3vw,3.15rem);line-height:1.18}.principle-hero h1 strong{background:linear-gradient(135deg,#1d4ed8,#059669);color:#0000;-webkit-background-clip:text;background-clip:text}.principle-hero p,.principle-content-card p,.principle-article-card p,.principle-cta p{color:#334155;font-weight:800;line-height:1.75}.principle-hero-copy p{margin:18px 0 0;font-size:1.12rem}.principle-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.principle-summary{background:linear-gradient(135deg, #2563ebf5, #059669e6), var(--principle-bg-image);color:#fff;text-align:center;background-position:50%;background-size:cover;border:1px solid #ffffff2e;border-radius:30px;align-content:center;padding:26px;display:grid;box-shadow:0 22px 44px #2563eb47}.principle-summary span{opacity:.96;font-weight:950}.principle-summary b{letter-spacing:0;text-shadow:0 4px 18px #0f172a38;font-size:4.4rem;line-height:1}.principle-summary p{color:#ffffffe6;margin:12px 0 0}.principle-content-card,.principle-article-card{background:linear-gradient(145deg,#fffffffa,#eff6ffdb);border:1px solid #2563eb26;border-radius:30px;margin-top:26px;padding:30px;box-shadow:0 20px 46px #1e40af1c}.principle-large{padding:38px}.principle-content-card h2,.principle-section-title h2,.principle-cta h2{letter-spacing:0;color:#102a5c;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2}.principle-info-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.principle-info-box{background:#fff;border:1px solid #2563eb24;border-radius:22px;padding:20px;box-shadow:0 12px 26px #1e40af14}.principle-info-box b{color:var(--primary-dark);font-size:1.8rem;display:block}.principle-info-box span{color:#334155;margin-top:6px;font-weight:950;display:block}.principle-section-title{margin:54px 0 18px}.principle-section-title p{color:#475569;margin:10px 0 0;font-weight:850}.principle-article-grid{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.principle-article-card{min-height:255px;margin-top:0;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.principle-article-card:before{content:"";background:linear-gradient(90deg,#2563eb,#10b981);height:8px;position:absolute;inset:0 0 auto}.principle-article-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px #1e40af21}.principle-article-icon{background:linear-gradient(135deg,#dbeafe,#ccfbf1);border:1px solid #2563eb29;border-radius:22px;place-items:center;width:62px;height:62px;font-size:2rem;display:grid;box-shadow:0 14px 28px #1e40af1f}.principle-article-card h3{letter-spacing:0;color:#102a5c;margin:20px 0 10px;font-size:1.24rem;font-weight:950}.principle-dark{background:linear-gradient(135deg, #0f203ff5, #1d4ed8e6), var(--principle-bg-image);color:#fff;background-position:50%;background-size:cover;border-color:#ffffff29}.principle-dark h2{color:#fff}.principle-dark p{color:#ffffffe0}.principle-list{gap:14px;margin-top:22px;display:grid}.principle-item{background:#ffffff24;border:1px solid #ffffff2e;border-radius:22px;padding:20px;box-shadow:0 14px 30px #0f172a1f}.principle-item b{color:#fff;margin-bottom:8px;font-size:1.2rem;display:block}.principle-item p{margin:0}.principle-two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.principle-accent{background:linear-gradient(145deg,#fff,#ecfdf5);border-color:#16a34a2e}.principle-cta{background:linear-gradient(135deg, #1d4ed8f0, #059669e6), var(--principle-bg-image);color:#fff;background-position:50%;background-size:cover;border:1px solid #ffffff2e;border-radius:34px;grid-template-columns:1fr auto;align-items:center;gap:22px;margin-top:34px;padding:36px;display:grid;box-shadow:0 24px 54px #2563eb3d}.principle-cta h2{color:#fff}.principle-cta p{color:#fffffff0;text-shadow:0 2px 14px #0f172a38;margin:12px 0 0}.principle-cta .btn-primary{color:#0f4f8f;background:#fff;box-shadow:0 16px 34px #0f172a3d}.principle-footer{color:#64748b;text-align:center;border-top:1px solid #6fa0ba2e;width:min(1180px,100%);margin:28px auto 0;padding:24px 0 4px;font-size:.95rem;font-weight:800}.landing-game-tags{flex-wrap:wrap;gap:6px;display:flex}.landing-game-tags span{color:#334155;font-size:calc(.82rem * var(--font-scale));background:#fff;border-radius:8px;padding:5px 8px;font-weight:900}.auth-screen{place-items:center;min-height:calc(100vh - 120px);display:grid}.welcome-card{width:min(720px,100%);padding:22px}.auth-back-btn,.auth-tab,.login-search-btn,.account-type-btn{cursor:pointer;background:#fff;border:2px solid #2563eb24;border-radius:8px;font-weight:1000}.auth-tabs,.account-type-strip,.login-search-fields{gap:10px;margin:14px 0;display:flex}.auth-tab.active,.account-type-btn.active,.login-search-btn{color:#fff;background:#2563eb}.login-field-group{flex:1;gap:6px;display:grid}.login-field-group input{border:2px solid #2563eb26;border-radius:8px;min-height:50px;padding:0 14px}.game-event-dashboard,.main-menu-wrapper,.leaderboard-page,.profile-page{margin-top:0}.game-event-dashboard,.main-menu-wrapper{padding:18px}.game-event-head,.main-menu-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.event-rank-grid,.landing-report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.event-rank-card,.landing-report-box{background:#f8fafc;border:1px solid #2563eb1a;border-radius:8px;align-content:center;gap:4px;min-height:86px;padding:12px;display:grid}.event-rank-card strong,.landing-report-box b{color:#0f2b53;font-size:calc(1.4rem * var(--font-scale))}.game-category-section{margin-top:18px}.game-category-section h3{color:#0f2b53;font-size:calc(1.2rem * var(--font-scale));border-left:6px solid;margin:0 0 10px;padding-left:10px}.game-card-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.game-card{color:#16365f;cursor:pointer;background:#fff;border:2px solid #2563eb1f;border-radius:8px;place-items:center;gap:8px;min-height:138px;font-weight:1000;display:grid}.game-card img{object-fit:contain;width:54px;height:54px}.leaderboard-panel,.training-report-sheet{background:linear-gradient(145deg,#fbfdfb,#eef7f4);border:1px solid #14532d1a;border-radius:16px;width:min(1040px,100%);margin:0 auto;padding:20px}.report-modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.report-modal-heading h2{color:#0f2b53;font-size:calc(1.8rem * var(--font-scale));margin:0}.report-close-btn,.report-tab,.report-print-btn{color:#16365f;cursor:pointer;background:#fff;border:1px solid #2563eb24;border-radius:8px;min-height:42px;font-weight:900}.report-close-btn{padding:0 14px}.report-tab-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.report-tab{--report-tab-color:#256d85;--report-tab-soft:#e8f5f7;background:var(--report-tab-soft);border-color:color-mix(in srgb, var(--report-tab-color) 26%, transparent);color:#12382f;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--report-tab-color) 28%, transparent);padding:0 14px}.report-tab-summary{--report-tab-color:#2f855a;--report-tab-soft:#e8f7ef}.report-tab-score{--report-tab-color:#256d85;--report-tab-soft:#e8f5f7}.report-tab-accuracy{--report-tab-color:#7c6f2f;--report-tab-soft:#f7f2dc}.report-tab-games{--report-tab-color:#8a5a9f;--report-tab-soft:#f4edf8}.report-tab-records{--report-tab-color:#a85536;--report-tab-soft:#f8eee9}.report-tab:hover,.report-tab:focus-visible{background:color-mix(in srgb, var(--report-tab-color) 18%, #fff);border-color:color-mix(in srgb, var(--report-tab-color) 42%, transparent)}.report-tab.active,.report-print-btn{color:#fff;background:linear-gradient(135deg, var(--report-tab-color,#2f855a), color-mix(in srgb, var(--report-tab-color,#256d85) 70%, #12382f));box-shadow:0 10px 22px color-mix(in srgb, var(--report-tab-color,#256d85) 26%, transparent);border-color:#0000}.report-overview-panels{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px;display:grid}.report-overview-panel{background:#fff;border:1px solid #14532d1a;border-radius:8px;min-height:116px;padding:14px;box-shadow:0 10px 24px #0f564212}.report-overview-panel h3{color:#0f2b53;font-size:calc(1rem * var(--font-scale));margin:0 0 8px}.report-overview-panel p{color:#475569;margin:0;font-weight:800;line-height:1.55}.report-visual-panel{background:#fff;border:1px solid #14532d1a;border-radius:12px;margin:14px 0 18px;padding:18px;box-shadow:0 16px 34px #0f564214}.report-panel-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.report-panel-head h3{color:#12382f;font-size:calc(1.25rem * var(--font-scale));margin:0}.report-panel-head p{color:#64748b;margin:0;font-weight:800;line-height:1.5}.report-bar-list,.report-game-stat-list{gap:12px;display:grid}.report-bar-row,.report-game-stat{background:#f8fcfa;border:1px solid #2d765f1a;border-radius:10px;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.report-bar-label,.report-game-stat div:first-child{gap:4px;display:grid}.report-bar-label strong,.report-game-stat strong{color:#12382f;font-weight:950}.report-bar-label span,.report-game-stat span{color:#64748b;font-weight:800}.report-bar-track,.report-game-stat-bar,.report-meter{background:#e8f3ef;border-radius:999px;height:14px;overflow:hidden}.report-bar-track span,.report-game-stat-bar span,.report-meter span{border-radius:inherit;background:linear-gradient(90deg,#5fb38b,#4d96a8);height:100%;display:block}.report-meter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-meter-card{background:#f8fcfa;border:1px solid #2d765f1a;border-radius:10px;gap:10px;padding:14px;display:grid}.report-meter-card strong{color:#12382f;font-weight:950}.report-meter-card b,.report-game-stat b{color:#256d85;font-weight:950}.report-game-stat{grid-template-columns:minmax(150px,.55fr) minmax(0,1fr) auto}.report-empty-text{color:#64748b;margin:0;font-weight:900}.report-print-btn{min-height:48px;padding:0 18px}.report-print-note{color:#64748b;margin:10px 0 18px;font-weight:800}.printable-training-report{box-sizing:border-box;background:#fffefb;border:1px solid #14532d1f;border-radius:12px;width:100%;max-width:100%;padding:22px;display:block;overflow:hidden}.report-print-only{display:none}.print-report-header{writing-mode:horizontal-tb;flex-wrap:nowrap;align-items:baseline;gap:12px;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.print-report-header h3{color:#12382f;font-size:calc(1.35rem * var(--font-scale));white-space:nowrap;writing-mode:horizontal-tb;flex:none;margin:0;line-height:1.35}.print-report-meta{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb;flex-wrap:nowrap;flex:auto;align-items:center;gap:10px;min-width:0;max-width:100%;margin:0;line-height:1.35;display:flex;overflow:hidden}.print-report-meta span{color:#475569;text-overflow:ellipsis;white-space:nowrap;writing-mode:horizontal-tb;min-width:0;max-width:100%;font-weight:850;overflow:hidden}.print-report-meta span+span:before{content:"· ";color:#94a3b8}.print-report-meta,.report-intro,.report-disclaimer{color:#475569;font-weight:800;line-height:1.65}.report-section{margin-top:24px}.report-section h4{color:#12382f;font-size:calc(1.08rem * var(--font-scale));margin:0 0 10px}.report-section ul{color:#1f2937;margin:0;padding-left:22px;font-weight:800;line-height:1.8}.report-table-wrap{border:1px solid #14532d1f;border-radius:8px;overflow-x:auto}.report-table{border-collapse:collapse;background:#fff;width:100%;min-width:720px}.report-table th,.report-table td{text-align:left;color:#1f2937;border-bottom:1px solid #2563eb1a;padding:11px 12px;font-weight:800}.report-table th{color:#12382f;background:#eaf6f1;font-weight:950}.report-table tr:last-child td{border-bottom:0}.profile-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}body.app-page .profile-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-action-row{margin-top:18px}.leaderboard-header,.leaderboard-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.leaderboard-tabs{gap:8px;margin:14px 0;display:flex}.leaderboard-tab{cursor:pointer;background:#fff;border:2px solid #2563eb1f;border-radius:8px;font-weight:1000}.leaderboard-tab.active{color:#fff;background:#2563eb}.leaderboard-row{border-bottom:1px solid #2563eb1a;min-height:72px;padding:10px}.leaderboard-rank{color:#1d4ed8;background:#eff6ff;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:1000;display:grid}.leaderboard-main{flex:1;gap:4px;display:grid}.leaderboard-score{text-align:right}.route-loading{place-items:center;min-height:360px;font-weight:1000;display:grid}body.high-contrast header,body.high-contrast .landing-hero-copy,body.high-contrast .landing-device-card,body.high-contrast .landing-section,body.high-contrast .landing-cta,body.high-contrast .welcome-card,body.high-contrast .training-report-sheet,body.high-contrast .static-panel,body.high-contrast .game-event-dashboard,body.high-contrast .main-menu-wrapper{color:#fff!important;background:#111827!important;border-color:gold!important}header{z-index:50;width:100%;min-height:92px;color:var(--text-dark);-webkit-backdrop-filter:blur(4px);background:#fffffffa;border-bottom:1px solid #2563eb14;grid-template-columns:minmax(260px,1fr) auto minmax(300px,1fr);margin:0;padding:18px max(22px,50vw - 598px);box-shadow:0 12px 28px #0f172a14}.header-left h1{color:var(--text-dark);font-size:calc(1.28rem * var(--font-scale));font-weight:950}.header-brand-mark{background:#fff;border:2px solid #2563eb2e;border-radius:14px;padding:2px;overflow:hidden;box-shadow:0 10px 24px #2563eb33}.header-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.landing-nav-links{color:#2f405a;font-weight:950;font-size:calc(.97rem * var(--font-scale));white-space:nowrap;gap:10px}.landing-nav-links a,.landing-nav-links button{background:#eaf2ffc7;border:1px solid #2563eb1f;border-radius:999px;min-height:46px;padding:0 16px;box-shadow:0 8px 22px #1e40af14}.header-auth-btn,.header-util-btn,.header-badge-btn{color:var(--primary-dark);box-shadow:none;background:#eaf2ff;border:1px solid #2563eb29;border-radius:999px}.header-auth-btn{min-width:90px;height:46px;font-weight:900;font-size:calc(.78rem * var(--font-scale));padding:0 19px;box-shadow:0 10px 24px #1e40af1a}.header-size-btn{color:#9a3412;background:#fff7ed;border-color:#e07b3952;gap:6px;min-width:102px;box-shadow:0 12px 26px #e07b3929}.header-auth-btn.primary,.header-auth-btn:hover,.header-util-btn.active{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-color:#0000;box-shadow:0 14px 30px #2563eb3d}.header-stage-mode-btn{color:#047857!important;background:#ecfdf5!important;border-color:#10b9815c!important}.container{width:min(1240px,100% - 28px);padding-top:24px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(360px,470px);gap:26px}.landing-hero-copy,.landing-device-card{-webkit-backdrop-filter:blur(20px);border:1px solid #ffffffdb;border-radius:26px;box-shadow:0 24px 54px #1e40af29}.landing-hero-copy{padding:32px}.landing-hero-image-box{border-radius:22px;margin:18px 0;box-shadow:0 18px 42px #1e40af1f}.landing-hero-desc{font-size:calc(1.12rem * var(--font-scale));line-height:1.7}.landing-btn{border-radius:999px;box-shadow:0 12px 28px #1e40af1f}.landing-device-card{gap:16px;padding:26px}.landing-brain-panel{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#2563ebe6,#10b981db),url(/assets/logo-BbD1J2cq.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:22px;min-height:250px;padding:24px;overflow:hidden}.landing-brain-panel h3{color:#fff;font-size:calc(2rem * var(--font-scale));line-height:1.2}.landing-brain-panel p{color:#fffffff2;font-weight:650}.landing-daily-reco,.landing-brain-reco{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 12px 28px #1e40af14}.landing-section,.landing-cta{border-radius:26px;padding:30px;box-shadow:0 24px 54px #1e40af21}.landing-section-title h2,.landing-cta h2,.main-menu-head h2{font-size:calc(2rem * var(--font-scale))}.landing-category-grid{gap:18px}.landing-category-card{border:1px solid #2563eb1f;border-radius:22px;min-height:300px;padding:24px;box-shadow:0 16px 38px #1e40af1a}.landing-category-icon{background:var(--tone,#2563eb1f);border-radius:18px;place-items:center;width:58px;height:58px;font-size:2rem;display:grid}.landing-game-tags span{color:var(--tag-color,#334155);background:var(--tag-bg,#fff);border-radius:999px}.landing-process{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;margin-top:22px;display:grid}.landing-step-card{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#0f203ff5,#1d4ed8e6),url(/assets/gsg-DNnkA1YK.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:22px;gap:18px;padding:30px;display:grid;box-shadow:0 24px 54px #0f203f3d}.landing-step{background:#ffffff24;border:1px solid #ffffff2e;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:16px;padding:16px;display:grid;box-shadow:0 14px 30px #0f172a1f}.landing-step-num{color:#1d4ed8;background:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:950;display:grid}.landing-step b{color:#fff;font-size:calc(1.15rem * var(--font-scale));margin-bottom:5px;display:block}.landing-step span{color:#ffffffe6;font-weight:800;line-height:1.5}.landing-report-card{background:linear-gradient(145deg,#fff,#eff6ff);border:1px solid #2563eb29;border-radius:22px;padding:30px;box-shadow:0 20px 46px #1e40af1f}.landing-report-card h2{color:#102a5c;font-size:calc(2rem * var(--font-scale));margin:0}.landing-report-card p{color:#334155;font-weight:800;line-height:1.7}.landing-report-card .landing-report-grid{grid-template-columns:repeat(2,1fr)}.landing-report-box{background:#fff;border-radius:18px;box-shadow:0 12px 26px #1e40af14}.game-event-dashboard{border-radius:24px;margin:0 0 18px;padding:22px}.event-rank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-rank-card small{color:#64748b;font-weight:800}.event-ad-strip{color:#9a3412;background:#fff7ed;border-radius:18px;margin-top:14px;padding:14px 16px;font-weight:900}.event-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.event-list-grid h3{color:#16365f;margin:0 0 8px}.event-list{color:#64748b;background:#f8fafc;border-radius:16px;min-height:52px;padding:14px;font-weight:800}.category-nav{z-index:30;border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);background:#fffffffa;border-radius:22px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 18px;padding:12px;display:flex;position:sticky;top:0;box-shadow:0 18px 36px #1e40af1a}.cat-btn,.recommend-btn{min-height:48px;color:var(--cat-color,#17406d);cursor:pointer;background:#fff;border:1px solid #2563eb24;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:950;text-decoration:none;display:inline-flex}.cat-btn.active,.recommend-btn{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-color:#0000}.recommend-btn{margin-left:28px}.menu-category{margin-top:28px}body.app-page #mainMenu{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}body.app-page #mainMenu.all-categories{grid-template-columns:repeat(2,minmax(0,1fr))}body.app-page #mainMenu>.game-event-dashboard,body.app-page #mainMenu>.category-nav{grid-column:1/-1}body.app-page #mainMenu>.menu-category{background:#ffffffad;border:1px solid #2563eb1f;border-radius:22px;min-width:0;margin-top:0;padding:14px;scroll-margin-top:86px}.menu-category-header{margin-bottom:14px}.menu-category-title{border-left:8px solid var(--cat-color,#2563eb);color:#102a5c;font-size:calc(1.5rem * var(--font-scale));margin:0;padding-left:14px}.menu-category-subtitle{color:#64748b;font-size:calc(.95rem * var(--font-scale))}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);width:100%;display:grid}body.app-page #mainMenu.all-categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{aspect-ratio:1;cursor:pointer;background:#fff;border:0;border-radius:20px;min-height:0;padding:0;overflow:hidden;box-shadow:0 16px 36px #1e40af24}.menu-card img{object-fit:cover;border-radius:20px;width:100%;height:100%;display:block}.auth-screen{align-items:start;padding:28px 0}.welcome-card{border-radius:28px;max-width:760px;padding:28px}.auth-back-btn,.auth-tab,.login-search-btn,.account-type-btn,.gender-btn,.start-btn{border-radius:999px}.auth-tab{min-width:140px;height:50px}.auth-tab.active,.login-search-btn,.gender-btn.selected,.start-btn{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff}.account-type-strip{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-type-btn{min-height:74px;color:var(--primary-dark);border-color:#2563eb24;justify-content:center;align-items:center;gap:10px;display:flex;box-shadow:0 10px 26px #1e40af14}.account-type-btn.active{color:#047857;background:#ecfdf5;border-color:#10b98173}.login-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-group{gap:8px;margin-top:16px;display:grid}.form-group label,.login-field-label{color:#16365f;font-weight:950}.form-group input,.difficulty-select{text-align:center;background:#fff;border:2px solid #2563eb26;border-radius:18px;min-height:54px;padding:0 16px}.login-field-group input:focus,.form-group input:focus,.difficulty-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb24}.gender-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.gender-btn{color:#17406d;background:#fff;border:2px solid #2563eb24;min-height:64px;font-weight:950}.difficulty-auto-hint{color:#64748b;font-size:calc(.9rem * var(--font-scale));margin:0 0 4px;font-weight:800}.start-btn{border:0;width:100%;min-height:58px;margin-top:18px;font-weight:1000}.start-btn:disabled{opacity:.55;cursor:not-allowed}.auth-switch-hint button{color:#1d4ed8;cursor:pointer;background:0 0;border:0;font-weight:1000;text-decoration:underline}body.app-page>#root>.container.auth-route-container{--app-scrollbar-offset:0px;--app-page-x:0px;background:#f4f7fb;width:100%;max-width:none;margin:0;padding:0;overflow-y:auto}.server-login-page{color:#172033;grid-template-columns:minmax(320px,.95fr) minmax(360px,520px);align-items:center;gap:28px;width:min(1180px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.server-login-intro{align-content:center;gap:22px;display:grid}.server-login-brand{align-items:center;gap:12px;font-size:20px;font-weight:900;display:flex}.server-login-brand img{object-fit:contain;background:#fff;border:1px solid #d9e1ea;border-radius:8px;width:54px;height:54px}.server-login-intro h1{letter-spacing:0;margin:0;font-size:clamp(34px,5vw,58px);line-height:1.08}.server-login-intro p{color:#5f6b7a;max-width:620px;margin:0;font-size:20px;line-height:1.7}.server-login-photo{aspect-ratio:16/9;background:#fff;border:1px solid #d9e1ea;border-radius:8px;width:min(620px,100%);overflow:hidden;box-shadow:0 18px 55px #14233c1f}.server-login-photo img{object-fit:cover;width:100%;height:100%;display:block}.server-auth-card{background:#fff;border:1px solid #d9e1ea;border-radius:8px;padding:28px;box-shadow:0 18px 55px #14233c1f}.server-auth-top-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.server-auth-top-row h2{letter-spacing:0;margin:0;font-size:28px}.server-home-link{color:#174ea6;cursor:pointer;background:#eaf2ff;border:0;border-radius:8px;min-height:42px;padding:0 18px;font-weight:800}.server-auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px;display:grid}.server-auth-tab{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #d9e1ea;border-radius:8px;min-height:52px;font-weight:800}.server-auth-tab.active{color:#fff;background:#172033;border-color:#172033}.server-auth-panel{gap:16px;display:grid}.server-auth-panel label{gap:8px;font-size:18px;font-weight:800;display:grid}.server-auth-panel input,.server-auth-panel select{color:#172033;background:#fff;border:2px solid #d9e1ea;border-radius:8px;width:100%;min-height:58px;padding:0 16px;font-size:20px}.server-auth-panel input:focus,.server-auth-panel select:focus{border-color:#1f6feb;outline:3px solid #1f6feb2e}.server-field-help{color:#5f6b7a;font-size:15px;font-weight:500;line-height:1.5}.server-auth-message{color:#17406d;min-height:38px;font-size:calc(.9rem * var(--font-scale));background:#eff6ff;border-radius:8px;align-items:center;padding:8px 12px;font-weight:900;line-height:1.35;display:grid}body.high-contrast .server-auth-message{color:#fff!important;background:#111827!important;border-color:gold!important}.server-check-row{color:#334155;align-items:center;gap:10px;font-size:16px!important;font-weight:700!important;display:flex!important}.server-check-row input{accent-color:#1f6feb;width:22px;height:22px;min-height:22px}.server-terms-consent{background:#f8fafc;border:1px solid #d9e1ea;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.server-terms-row{align-items:flex-start;min-width:0}.server-terms-row span{overflow-wrap:anywhere;line-height:1.45}.server-terms-view{color:#174ea6;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:8px;min-height:44px;padding:0 14px;font-size:15px;font-weight:900}.server-auth-actions{gap:10px;margin-top:4px;display:grid}.server-primary,.server-admin,.server-secondary{cursor:pointer;border:0;border-radius:8px;min-height:52px;padding:0 18px;font-weight:800}.server-primary{color:#fff;background:#1f6feb;width:100%;font-size:20px}.server-primary:disabled{cursor:wait;opacity:.65}.server-admin{color:#fff;background:#253044;width:100%}.server-secondary{color:#253044;background:#eef2f7;width:100%}.server-access{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}body.high-contrast .server-login-page,body.high-contrast .server-auth-card,body.high-contrast .server-login-photo,body.high-contrast .server-terms-consent,body.high-contrast .server-terms-view,body.high-contrast .legal-dialog,body.high-contrast .legal-dialog-close,body.high-contrast .legal-dialog-section,body.high-contrast .server-auth-panel input,body.high-contrast .server-auth-panel select{color:#000!important;background:#fff!important;border-color:#1f2933!important}body.high-contrast .server-login-intro p,body.high-contrast .server-field-help,body.high-contrast .legal-dialog-head p,body.high-contrast .legal-dialog-summary,body.high-contrast .legal-dialog-section p{color:#1f2933!important}body.high-contrast .legal-dialog-head h2,body.high-contrast .legal-dialog-item h3,body.high-contrast .legal-dialog-section h4{color:#000!important}@media (width<=900px){.server-login-page{grid-template-columns:1fr;align-items:start;padding-top:18px}.server-login-intro h1{font-size:36px}.server-login-intro p{font-size:18px}.server-auth-card{padding:22px}}@media (width<=560px){.server-login-page{width:min(100% - 20px,1180px)}.server-auth-top-row{flex-direction:column;align-items:stretch}.server-home-link{width:100%}.server-auth-tabs,.server-access,.server-terms-consent{grid-template-columns:1fr}.server-terms-view{width:100%}.server-auth-panel input,.server-auth-panel select{font-size:18px}}@media (width<=980px){header,body.app-page #mainMenu,.landing-hero,.guide-hero,.guide-benefits,.guide-why,.guide-route-hero,.principle-hero,.principle-two-column,.landing-process,.event-list-grid{grid-template-columns:1fr}.principle-article-grid{grid-template-columns:repeat(2,1fr)}.guide-cards,.guide-areas{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-visual-card{min-height:auto}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.container{width:min(100% - 16px,1240px)}.landing-actions,.landing-category-grid,.guide-cards,.guide-areas,.guide-benefit-list,.guide-mini-stats,.guide-step-grid,.guide-area-grid,.benefits-grid,.principle-info-grid,.principle-article-grid,.event-rank-grid,.login-search-fields,.gender-options,.report-overview-panels,.profile-summary-grid,.landing-report-card .landing-report-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommend-btn{margin-left:0}.report-modal-heading{flex-direction:column;align-items:stretch}.report-tab,.report-close-btn,.report-print-btn{width:100%}.report-panel-head,.report-bar-row,.report-game-stat{grid-template-columns:1fr}.report-panel-head{display:grid}.report-meter-grid{grid-template-columns:1fr}.printable-training-report{padding:14px}body.app-page .profile-summary-grid,body.app-page #mainMenu.all-categories{grid-template-columns:1fr}.landing-hero-copy,.guide-step-card,.guide-area-card,.benefit-card,.landing-device-card,.landing-section,.landing-cta,.welcome-card,.main-menu-wrapper,.game-event-dashboard{border-radius:18px;padding:20px}.training-principle-page{padding:10px 12px 48px}.principle-hero,.principle-content-card,.principle-large,.principle-cta{border-radius:24px;padding:24px}.principle-summary b{font-size:3.5rem}.principle-cta{grid-template-columns:1fr}.principle-actions .btn,.principle-cta .btn{width:100%}.guide-container{--app-page-x:16px}.guide-hero{gap:30px;padding-bottom:38px}.guide-benefit-panel,.guide-why{padding:30px 24px}.guide-benefit-panel h2,.guide-why h2{font-size:2rem}.guide-btn{width:100%}.category-nav{position:static}}html{height:100%;overflow-x:hidden;-ms-overflow-style:none!important;scrollbar-width:none!important}html::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body.app-page{height:100vh;min-height:100vh;display:block;overflow:hidden}body.app-page>#root{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}body.app-page>#root>header{z-index:80;background:#fffffffa;flex:none;margin:0;position:sticky;top:0}body.app-page header .header-left{min-height:0;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;line-height:1.6;display:flex}body.app-page header .header-left h1{color:var(--text-dark);font-size:calc(1.28rem * var(--font-scale));letter-spacing:0;gap:8px;margin:0;font-weight:950;line-height:1.15}body.app-page header .header-left p{color:#516174;opacity:1;font-size:calc(.88rem * var(--font-scale));margin:4px 0 0;font-weight:800;line-height:1.6}body.app-page>#root>.container{--app-scrollbar-offset:18px;--app-page-x:max(22px, calc((100vw - 1240px) / 2 + 22px));min-height:0;width:calc(100% + var(--app-scrollbar-offset));max-width:none;margin:0 calc(var(--app-scrollbar-offset) * -1) 0 0;padding:0 calc(var(--app-page-x) + var(--app-scrollbar-offset)) 72px var(--app-page-x);flex:auto;overflow-y:auto;scrollbar-width:none!important;-ms-overflow-style:none!important}body.app-page>#root>.container.play-route-container{--app-scrollbar-offset:0px;--app-page-x:0px;width:100%;margin:0;padding:0;overflow:hidden}body.app-page>#root>.container.own-page-container{--app-scrollbar-offset:0px;--app-page-x:0px;width:100%;margin:0;padding:0 0 72px}body.app-page>#root>.container::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body.app-page .welcome-screen.landing-page{background:0 0;border-radius:0;width:100%;height:auto;min-height:auto;margin:0;display:block;overflow:visible}body.app-page .landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:42px;min-width:0;min-height:auto;padding:clamp(34px,6vh,62px) 0 clamp(28px,5vh,52px);display:grid}body.app-page .landing-hero-copy{background:linear-gradient(145deg,#fffffff5,#eff6ffe0);border:1px solid #2563eb24;border-radius:28px;flex-direction:column;justify-self:stretch;width:100%;min-width:0;max-width:540px;min-height:560px;padding:26px;display:flex;box-shadow:0 22px 48px #1e40af1f}body.app-page .landing-eyebrow{color:#0f4f8f;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border:1px solid #2563eb29;border-radius:999px;align-items:center;gap:9px;margin-bottom:18px;padding:10px 16px;font-weight:950;display:inline-flex;box-shadow:0 10px 24px #1e40af1a}body.app-page .landing-hero-image-box{aspect-ratio:838/486;background:#fff;border:4px solid #ffffffeb;border-radius:24px;width:100%;margin:0;overflow:hidden;box-shadow:0 22px 48px #1e40af2e}body.app-page .landing-hero-desc{max-width:100%;margin:22px 0 0}body.app-page .landing-actions{flex-wrap:wrap;gap:12px;max-width:100%;margin-top:auto;display:flex}body.app-page .landing-btn{flex:210px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;display:inline-flex}body.app-page .landing-hero-visual{justify-content:stretch;align-items:stretch;min-height:560px;display:flex;position:relative}body.app-page .landing-device-card{-webkit-backdrop-filter:blur(20px);background:linear-gradient(#fffffff5,#eff6ffe0);border:1px solid #ffffffdb;border-radius:28px;flex-direction:column;gap:0;width:100%;max-width:540px;min-height:560px;padding:22px;display:flex;position:relative;box-shadow:0 24px 54px #1e40af29}body.app-page .landing-daily-reco{background:linear-gradient(135deg,#dbeafe,#eff6ff);border:1px solid #2563eb42;border-radius:22px;margin-top:16px;padding:22px 24px;box-shadow:0 16px 34px #2563eb29}body.app-page .landing-daily-reco strong{color:#1d4ed8;font-size:1.24rem;font-weight:950;display:block}body.app-page .landing-daily-reco p{color:#1e3a8a;margin:10px 0 0;font-size:1.03rem;font-weight:850;line-height:1.55}body.app-page .landing-brain-reco{background:linear-gradient(135deg,#dcfce7,#ccfbf1);border:1px solid #16a34a4d;border-radius:22px;flex-direction:column;flex:auto;justify-content:space-between;min-height:150px;margin-top:16px;padding:26px;display:flex;box-shadow:0 16px 34px #16653429}body.app-page .landing-brain-reco strong{color:#166534;font-size:1.34rem;font-weight:950;display:block}body.app-page .landing-brain-reco p{color:#065f46;margin:12px 0 0;font-size:1.05rem;font-weight:850;line-height:1.6}body.app-page .landing-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:0;padding:64px 0 20px}body.app-page .landing-section-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}body.app-page .landing-section-title h2,body.app-page .landing-cta h2{color:#0f1f35;letter-spacing:0;margin:0;font-size:2.65rem;line-height:1.16}body.app-page .landing-section-title p,body.app-page .landing-cta p{color:#475569;margin:10px 0 0;font-size:1.08rem;font-weight:800;line-height:1.6}body.app-page .landing-section-title .landing-session-note{color:#1d4ed8;font-weight:850}body.app-page .landing-category-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:0;display:grid}body.app-page .landing-category-card{background:linear-gradient(145deg, var(--tone,#eff6ffe6), #fffffff5 66%);border:1px solid #2563eb29;border-radius:22px;min-height:260px;padding:24px;position:relative;overflow:hidden;box-shadow:0 20px 46px #1e40af1f}body.app-page .landing-category-card:before{content:"";background:var(--tag-color,#1d4ed8);width:100%;height:10px;position:absolute;inset:0 0 auto auto}body.app-page .landing-category-icon{background:#fff;border:2px solid #2563eb24;border-radius:20px;place-items:center;width:66px;height:66px;font-size:2rem;display:grid;position:relative;box-shadow:0 16px 30px #1e40af24}body.app-page .landing-category-card h3{color:var(--tag-color,var(--text-dark));letter-spacing:0;margin:22px 0 8px;font-size:1.45rem;font-weight:950;position:relative}body.app-page .landing-category-card p{color:#334155;margin:0;font-size:1.02rem;font-weight:800;line-height:1.65;position:relative}body.app-page .landing-game-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex;position:relative}body.app-page .landing-game-tags span{background:var(--tag-bg,#f3f7ff);color:var(--tag-color,#365173);border:1px solid #2563eb1f;border-radius:999px;padding:8px 10px;font-size:.9rem;font-weight:950}body.app-page .landing-process{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;margin-top:0;display:grid}body.app-page .landing-step-card{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#0f203ff5,#1d4ed8e6),url(/assets/gsg-DNnkA1YK.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:22px;gap:18px;padding:30px;display:grid;box-shadow:0 24px 54px #0f203f3d}body.app-page .landing-report-card{background:linear-gradient(145deg,#fff,#eff6ff);border:1px solid #2563eb29;border-radius:22px;padding:30px;box-shadow:0 20px 46px #1e40af1f}body.app-page .landing-report-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}body.app-page .landing-report-card h2{color:#102a5c;letter-spacing:0;margin:0;font-size:2rem;line-height:1.6}body.app-page .landing-report-card p{color:#334155;margin:0;font-weight:800;line-height:1.7}body.app-page .landing-report-box{background:#fff;border:1px solid #2563eb24;border-radius:18px;min-height:0;padding:20px;display:block;box-shadow:0 12px 26px #1e40af14}body.app-page .landing-report-box b{color:#1d4ed8;font-size:1.9rem;line-height:1.6;display:block}body.app-page .landing-report-box span{color:#334155;margin-top:6px;font-weight:900;display:block}body.app-page .landing-cta{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#1d4ed8f0,#059669e6),url(/assets/gsg-DNnkA1YK.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff2e;border-radius:28px;grid-template-columns:1fr auto;align-items:center;gap:22px;margin-top:64px;padding:44px;display:grid;box-shadow:0 24px 54px #0f4c813d}body.app-page .landing-cta h2{color:#fff}body.app-page .landing-cta p{color:#fffffff0;text-shadow:0 2px 14px #0f172a38}body.app-page .landing-cta .landing-btn-white{color:#0f4f8f;border-color:#ffffffb8;box-shadow:0 16px 34px #0f172a3d}body.app-page .legal-footer-banner{background:#fffffff5;border:1px solid #2563eb24;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:28px;margin-bottom:8px;padding:24px;display:grid;box-shadow:0 18px 42px #1e40af1f}body.app-page .legal-footer-kicker,.legal-dialog-kicker{color:#047857;background:#ecfdf5;border-radius:8px;align-items:center;width:fit-content;min-height:28px;padding:0 10px;font-size:.82rem;font-weight:950;display:inline-flex}body.app-page .legal-footer-copy h2{color:#0f1f35;letter-spacing:0;margin:10px 0 0;font-size:1.45rem;line-height:1.25}body.app-page .legal-footer-copy p{color:#475569;margin:8px 0 0;font-weight:800;line-height:1.55}body.app-page .legal-footer-actions{grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;display:grid}body.app-page .legal-footer-action{color:#17406d;cursor:pointer;background:#eff6ff;border:1px solid #2563eb29;border-radius:8px;min-height:48px;padding:0 14px;font-weight:950}body.app-page .legal-footer-action:hover,body.app-page .legal-footer-action:focus-visible,.server-terms-view:hover,.server-terms-view:focus-visible{outline-offset:2px;outline:3px solid #1f6feb2e}body.app-page .legal-footer-bottom{color:#64748b;border-top:1px solid #2563eb1a;grid-column:1/-1;padding-top:14px;font-size:.9rem;font-weight:800}.legal-dialog-backdrop{z-index:1000;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));background:#0f172a94;place-items:center;display:grid;position:fixed;inset:0}.legal-dialog{color:#172033;background:#fff;border:1px solid #d9e1ea;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(760px,100%);min-height:0;max-height:min(100dvh - 48px,760px);display:grid;overflow:hidden;box-shadow:0 28px 70px #0f172a47}.legal-dialog-head{border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:24px 24px 18px;display:grid}.legal-dialog-head h2{color:#0f1f35;letter-spacing:0;margin:10px 0 0;font-size:1.75rem;line-height:1.18}.legal-dialog-head p{color:#475569;margin:8px 0 0;font-weight:800;line-height:1.55}.legal-dialog-close{color:#172033;cursor:pointer;background:#f8fafc;border:1px solid #d9e1ea;border-radius:8px;width:44px;min-height:44px;font-size:28px;line-height:1}.legal-dialog-body{min-height:0;padding:0 24px 24px;overflow-y:auto}.legal-dialog-item{padding-top:22px}.legal-dialog-item+.legal-dialog-item{border-top:1px solid #e2e8f0;margin-top:22px}.legal-dialog-item h3{color:#102a5c;letter-spacing:0;margin:0;font-size:1.35rem}.legal-dialog-summary{color:#475569;margin:6px 0 18px;font-weight:800}.legal-dialog-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.legal-dialog-section+.legal-dialog-section{margin-top:12px}.legal-dialog-section h4{color:#0f4f8f;letter-spacing:0;margin:0 0 8px;font-size:1.05rem}.legal-dialog-section p{color:#334155;margin:8px 0 0;font-weight:650;line-height:1.68}body.high-contrast.app-page .legal-footer-banner,body.high-contrast .legal-footer-banner,body.high-contrast .legal-footer-action{color:#fff!important;background:#111827!important;border-color:gold!important}body.high-contrast .legal-footer-copy h2,body.high-contrast .legal-footer-copy p,body.high-contrast .legal-footer-bottom{color:#fff!important}body.high-contrast .legal-footer-kicker,body.high-contrast .legal-dialog-kicker{color:#000!important;background:gold!important}body.app-page .landing-reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(28px)}body.app-page .landing-reveal.on{opacity:1;transform:translateY(0)}@media (width<=720px){body.app-page>#root>.container{--app-page-x:16px}}@media (width<=1100px){body.app-page header{grid-template-columns:1fr auto}body.app-page .landing-nav-links{display:none}body.app-page .landing-hero{grid-template-columns:1fr;min-height:auto}body.app-page .landing-hero-visual{min-height:500px}body.app-page .landing-hero-copy,body.app-page .landing-device-card{justify-self:center;max-width:540px;min-height:auto}body.app-page .landing-category-grid{grid-template-columns:repeat(2,1fr)}body.app-page .landing-process{grid-template-columns:1fr}}@media (width<=720px){body.app-page header{text-align:left;grid-template-columns:1fr;justify-items:stretch;gap:12px;padding-left:16px;padding-right:16px}body.app-page .header-left,body.app-page .header-right{justify-self:stretch;width:100%}body.app-page .header-right{flex-wrap:wrap;justify-content:stretch;justify-self:center;gap:8px;width:min(100%,380px);max-width:min(380px,100vw - 32px);display:flex}body.app-page .header-auth-btn{min-width:0;height:43px;font-size:calc(.7rem * var(--font-scale));flex:92px;padding:0 10px}body.app-page .header-size-btn{flex-basis:100%}body.app-page .landing-hero{gap:42px;width:100%;max-width:100%;padding-top:34px}body.app-page .landing-page,body.app-page .landing-hero-copy,body.app-page .landing-actions,body.app-page .landing-section,body.app-page .legal-footer-banner{width:min(100%,340px);max-width:min(340px,100vw - 32px);margin-left:auto;margin-right:auto}body.app-page .landing-hero-copy,body.app-page .landing-device-card{width:100%;max-width:100%}body.app-page .landing-section-title,body.app-page .landing-cta{flex-direction:column;align-items:stretch;display:flex}body.app-page .legal-footer-banner{grid-template-columns:1fr;padding:20px}body.app-page .legal-footer-actions{grid-template-columns:1fr}body.app-page .landing-actions{grid-template-columns:minmax(0,1fr);display:grid}body.app-page .landing-btn{white-space:normal;width:100%;max-width:100%}body.app-page .landing-eyebrow{white-space:normal}body.app-page .landing-hero-desc{font-size:1.08rem}body.app-page .landing-hero-visual{min-height:auto}body.app-page .landing-section-title{display:block}body.app-page .landing-section-title h2,body.app-page .landing-cta h2{font-size:2rem}body.app-page .landing-category-grid{grid-template-columns:1fr}.legal-dialog-backdrop{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));place-items:center}.legal-dialog{max-height:calc(100dvh - 24px)}.legal-dialog-head{padding:18px 18px 14px}.legal-dialog-head h2{font-size:1.42rem}.legal-dialog-body{padding:0 18px 18px}.legal-dialog-section{padding:14px}}@media (width<=520px){body.app-page .landing-device-card,body.app-page .landing-step-card,body.app-page .landing-report-card{padding:18px}body.app-page .landing-brain-panel h3{font-size:1.55rem}}@media print{body *{visibility:hidden}.printable-training-report,.printable-training-report *{visibility:visible}.printable-training-report{width:100%;box-shadow:none;border:0;border-radius:0;padding:0;display:block;position:absolute;top:0;left:0}.report-table-wrap{border-color:#cbd5e1;overflow:visible}.report-table{min-width:0}.report-table th,.report-table td{padding:8px}}.stage-mode-screen{width:100%;margin:0 auto 18px}.stage-mode-shell{background:linear-gradient(180deg, #ffffffdb, #e7f8ffb8), var(--stage-bg-url);height:calc(100dvh - 132px);min-height:620px;box-shadow:var(--shadow);background-position:50%,50% 56%;background-repeat:no-repeat;background-size:cover,max(760px,100%);border:2px solid #2563eb24;border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.stage-mode-shell:before,.stage-mode-shell:after{content:"";pointer-events:none;z-index:0;position:absolute}.stage-mode-shell:before{background:#dbeafe;border:8px solid #ffffffc7;border-radius:50% 0 0;height:44%;inset:auto -8% -18% 44%;transform:rotate(-5deg)}.stage-mode-shell:after{background:#dcfce7;border-top:8px solid #fffc;height:28%;bottom:-14%;left:-10%;right:-10%;transform:rotate(2deg)}.stage-mode-top,.stage-mode-content{z-index:1;position:relative}.stage-mode-top{background:#ffffffd1;border-bottom:1px solid #2563eb1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;display:grid}.stage-mode-content{grid-template-columns:minmax(190px,230px) minmax(0,1fr) minmax(286px,360px);align-items:stretch;gap:16px;min-height:0;padding:18px;display:grid;overflow:hidden}.stage-map-back{color:#17406d;cursor:pointer;background:#fff;border:2px solid #2563eb29;border-radius:8px;width:48px;height:48px;font-size:2rem;font-weight:1000;line-height:1}.stage-mode-heading h2{color:#0f2b53;font-size:calc(2rem * var(--font-scale));letter-spacing:0;margin:4px 0 0;line-height:1.12}.stage-mode-heading p{color:#42526d;overflow-wrap:anywhere;margin:4px 0 0;font-weight:900}.stage-mode-kicker{color:#92400e;min-height:26px;font-size:calc(.78rem * var(--font-scale));background:#fef3c7;border-radius:8px;align-items:center;padding:0 9px;font-weight:1000;display:inline-flex}.stage-mode-progress{color:#065f46;background:#fff;border:2px solid #10b98133;border-radius:8px;place-items:center;min-width:120px;min-height:64px;padding:8px 14px;font-weight:1000;display:grid}.stage-mode-progress strong{font-size:calc(1.35rem * var(--font-scale))}.stage-mode-progress span{color:#64748b;font-size:calc(.85rem * var(--font-scale))}.stage-leaderboard-panel{background:linear-gradient(#fffffff7,#eff6fff0),repeating-linear-gradient(135deg,#3b82f614 0 1px,#0000 1px 18px);border:2px solid #2563eb29;border-radius:8px;align-content:start;gap:12px;min-height:0;max-height:calc(100dvh - 214px);padding:14px;display:grid;position:sticky;top:12px;overflow-y:auto;box-shadow:0 16px 34px #0f172a1f}.stage-leaderboard-head{color:#fff;background:#0f2b53;border-radius:8px;gap:4px;padding:10px;display:grid}.stage-leaderboard-head span{color:#facc15;font-size:calc(.72rem * var(--font-scale));font-weight:1000}.stage-leaderboard-head strong{font-size:calc(1rem * var(--font-scale));font-weight:1000}.stage-leaderboard-section{gap:8px;display:grid}.stage-leaderboard-section-title{color:#0f2b53;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stage-leaderboard-section-title strong{font-size:calc(.95rem * var(--font-scale));font-weight:1000}.stage-leaderboard-section-title span{color:#64748b;font-size:calc(.74rem * var(--font-scale));font-weight:900}.stage-leaderboard-section ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.stage-leaderboard-section li{background:#ffffffdb;border:1px solid #2563eb1f;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:8px;display:grid}.stage-leaderboard-section li.is-current-user{background:#ecfdf5;border-color:#10b9815c}.stage-leaderboard-rank{color:#0f2b53;background:#dbeafe;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:1000;display:inline-grid}.stage-leaderboard-name{color:#334155;min-width:0;font-size:calc(.84rem * var(--font-scale));text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.stage-leaderboard-section li strong{color:#92400e;font-weight:1000}.stage-mode-board{background:radial-gradient(ellipse at 82% 12%, #fef08a5c 0 10%, transparent 24%), linear-gradient(180deg, #dbeafeb8 0%, #ecfdf5b3 100%), var(--stage-bg-url);isolation:isolate;background-position:50%,50%,top;background-repeat:no-repeat;background-size:cover,cover,max(680px,100%);border-radius:8px;height:100%;min-height:0;margin:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff94,inset 0 -26px 64px #0e74902e}.stage-map-viewport{cursor:grab;overscroll-behavior:contain;scrollbar-color:#60a5fa #dbeafe;border-radius:8px;height:100%;min-height:0;position:relative;overflow:hidden}.stage-map-viewport:active{cursor:grabbing}.stage-map-selection-feedback{z-index:4;color:#0f2b53;pointer-events:none;transform-origin:0;background:#f0fdfaf5;border:2px solid #0f766e47;border-radius:8px;align-items:center;gap:10px;width:fit-content;max-width:calc(100% - 20px);min-height:44px;margin:10px 0 -54px 10px;padding:8px 13px;animation:.18s ease-out stage-feedback-pop;display:flex;position:sticky;top:10px;left:10px;box-shadow:0 14px 30px #0f172a24,0 0 0 5px #ffffff75}.stage-map-selection-feedback span{color:#fff;min-height:24px;font-size:calc(.78rem * var(--font-scale));background:#0f766e;border-radius:8px;align-items:center;padding:0 8px;font-weight:1000;display:inline-flex}.stage-map-selection-feedback strong{text-overflow:ellipsis;white-space:nowrap;font-size:calc(1rem * var(--font-scale));font-weight:1000;overflow:hidden}.stage-map-selection-feedback.is-locked{background:#f8fafcf5;border-color:#64748b52}.stage-map-selection-feedback.is-locked span{background:#64748b}.stage-map-selection-feedback.is-bonus{background:#fff7edf7;border-color:#f9731657}.stage-map-selection-feedback.is-bonus span{background:#f97316}.stage-map-selection-feedback.is-launching{background:#eff6fffa;border-color:#2563eb61;animation:.42s ease-in-out infinite alternate stage-feedback-launch}.stage-map-selection-feedback.is-launching span{background:#2563eb}@keyframes stage-feedback-pop{0%{opacity:.78;transform:translateY(-4px)scale(.98)}62%{opacity:1;transform:translateY(0)scale(1.035)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stage-feedback-launch{0%{transform:translateY(0)scale(1)}to{transform:translateY(-2px)scale(1.03)}}@media (prefers-reduced-motion:reduce){.stage-map-selection-feedback,.stage-map-selection-feedback.is-launching{animation:none}}.phaser-stage-map canvas{display:block;width:100%!important;height:100%!important}.game-play-page{width:100%;height:100dvh;min-height:0;margin:0}.game-play-shell{background:linear-gradient(180deg, #fffffff0, #effaffeb), var(--game-icon-url);height:calc(100dvh - 48px);min-height:560px;box-shadow:var(--shadow);background-position:50%,right 54%;background-repeat:no-repeat;background-size:cover,min(460px,60%);border:2px solid #2563eb24;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.game-play-shell.phaser-game-shell{height:100dvh;min-height:0;box-shadow:none;background:#f5f7fa;border:0;grid-template-rows:minmax(0,1fr)}.game-play-shell:before{content:"";pointer-events:none;background:#dcfce7;border:8px solid #ffffffc7;border-radius:50% 0 0;height:42%;position:absolute;inset:auto -8% -18% 46%;transform:rotate(-4deg)}.game-play-shell.phaser-game-shell:before,.game-play-shell.phaser-game-shell .game-play-top,.game-play-shell.phaser-game-shell .game-play-result{display:none}.game-play-top,.game-play-body,.game-play-result{z-index:1;position:relative}.game-play-top{background:#ffffffdb;border-bottom:1px solid #2563eb1f;grid-template-columns:auto minmax(0,1fr) minmax(138px,auto);align-items:center;gap:14px;padding:16px 18px;display:grid}.game-play-heading h2{color:#0f2b53;font-size:calc(1.7rem * var(--font-scale));letter-spacing:0;margin:4px 0 0;line-height:1.12}.game-play-heading p{color:#42526d;overflow-wrap:anywhere;margin:4px 0 0;font-weight:900}.game-play-score{border:2px solid color-mix(in srgb, var(--game-accent,#2563eb) 22%, transparent);color:#0f2b53;background:#fff;border-radius:8px;place-items:center;min-height:64px;padding:8px 14px;font-weight:1000;display:grid}.game-play-score strong{font-size:calc(1.35rem * var(--font-scale))}.game-play-score span{color:#64748b;font-size:calc(.85rem * var(--font-scale))}.game-play-body{min-height:0;padding:16px 18px 12px;overflow:hidden}.game-play-shell.phaser-game-shell .game-play-body{padding:0}.phaser-game-frame-wrap{width:100%;height:100%;min-height:0;position:relative}.phaser-game-host{isolation:isolate;background:#f4fbff;border:0;border-radius:8px;width:100%;height:100%;min-height:0;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.phaser-game-host canvas{display:block;width:100%!important;height:100%!important}.phaser-game-dom-layer{z-index:2;pointer-events:auto;font-family:Arial,Malgun Gothic,Noto Sans KR,sans-serif;position:absolute;inset:0;overflow:hidden}.game-dom-screen{color:#0f2b53;text-align:center;background:#f2fbff;flex-direction:column;padding:clamp(14px,2.2vw,28px);animation:.24s ease-out both gameDomScreenEnter;position:absolute;inset:0;overflow:hidden;display:flex!important}.game-dom-screen:before{clip-path:polygon(0 0,100% 0,100% 86%,0 100%);content:"";background:#dcecff;height:45%;position:absolute;inset:0 0 auto}.game-dom-screen:after{content:"";background:#dcfce7;height:18px;position:absolute;inset:auto 0 0}.game-shell-header{z-index:1;grid-template-columns:auto minmax(0,1fr) auto minmax(170px,auto) auto;align-items:center;gap:clamp(10px,1.8vw,22px);min-height:clamp(84px,13vh,128px);display:grid;position:relative}.game-shell-header h2{color:#12365f;letter-spacing:0;text-align:left;word-break:keep-all;min-width:0;margin:0;font-size:clamp(1.6rem,3.1vw,3.15rem);font-weight:950;line-height:1.15}.game-dom-back-btn{color:#12365f;cursor:pointer;background:#ffffffeb;border:2px solid #bdd7ff;border-radius:50%;width:clamp(42px,5.8vw,58px);height:clamp(42px,5.8vw,58px);font-size:clamp(1.9rem,4vw,3rem);font-weight:900;line-height:.8;box-shadow:0 6px 16px #0f2b531f}.game-shell-header .game-info{color:#536579;text-align:right;flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:6px 16px;font-size:clamp(1rem,1.65vw,1.45rem);font-weight:900;line-height:1.3;display:flex}.game-shell-header .level-display{z-index:3;color:#0f2b53;letter-spacing:0;white-space:nowrap;background:linear-gradient(#fffffffa,#eff6fffa),#fff;border:3px solid #1d4ed8;border-radius:999px;justify-content:center;place-self:center;align-items:center;min-width:clamp(150px,16vw,220px);height:clamp(52px,6.2vw,64px);margin:0;padding:0 24px;font-size:clamp(1.12rem,2vw,1.55rem);font-weight:1000;line-height:1;display:flex;position:absolute;top:clamp(4px,.8vh,10px);left:50%;transform:translate(-50%);box-shadow:0 12px 26px #1d4ed83d}.game-shell-actions{align-items:center;gap:8px;display:none}.game-dom-mini-action{color:#12365f;cursor:pointer;background:#ffffffe0;border:2px solid #bdd7ffdb;border-radius:50%;justify-content:center;align-items:center;width:clamp(38px,4.8vw,48px);height:clamp(38px,4.8vw,48px);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:950;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex;box-shadow:0 8px 18px #0f2b531a}.game-dom-mini-action:hover{background:#eff6ff;transform:translateY(-2px);box-shadow:0 12px 24px #2563eb29}.game-dom-mini-action:active{transform:scale(.96)}.game-dom-floating-controls{z-index:20;pointer-events:auto;justify-content:center;align-items:center;gap:clamp(8px,1vw,12px);display:flex;position:absolute;bottom:clamp(16px,2.6vw,34px);right:clamp(16px,2.6vw,34px)}.game-dom-floating-btn{color:#12365f;cursor:pointer;background:#fffffff5;border:3px solid #0f172a2e;border-radius:13px;justify-content:center;align-items:center;width:clamp(46px,6vw,62px);height:clamp(46px,6vw,62px);font-size:clamp(1.55rem,3vw,2.35rem);font-weight:1000;line-height:1;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex;box-shadow:0 14px 26px #0f2b5338}.game-dom-floating-btn:hover,.game-dom-floating-btn.active{background:#eff6ff;transform:translateY(-2px);box-shadow:0 24px 42px #2563eb3d}.game-dom-floating-btn:active{transform:scale(.96)}.game-dom-pause-shield{z-index:15;color:#fff;pointer-events:none;background:#0f172a38;justify-content:center;align-items:center;font-size:clamp(1.8rem,4vw,3rem);font-weight:950;display:none;position:absolute;inset:0}.game-dom-paused .game-dom-play-area,.game-dom-paused .game-dom-options,.game-dom-paused .game-dom-result-message,.game-dom-paused .game-dom-mission-hud{filter:grayscale(.45)blur(1px)}.game-dom-paused .game-dom-pause-shield{display:flex}.game-dom-screen.game-dom-zoomed .game-dom-play-area{transform-origin:50%;transform:translateY(clamp(-42px,-3vh,-18px))scale(1.08)}.game-shell-header img{object-fit:cover;background:#fff;border:1px solid #bdd7ffbf;border-radius:4px;width:clamp(72px,9vw,112px);height:clamp(72px,9vw,112px);padding:6px;animation:.36s ease-out 80ms both gameDomIconPop;box-shadow:0 8px 18px #0f2b531f}.game-dom-screen .game-difficulty-selector{display:none}.game-dom-tts-row{z-index:1;min-height:0;position:relative}.game-dom-tts-row .tts-btn{display:none}.game-dom-play-area{z-index:1;flex:auto;grid-template-rows:auto auto auto;align-content:center;place-items:center;gap:clamp(12px,1.8vh,22px);width:min(100%,1120px);min-height:0;margin:0 auto;padding:clamp(8px,1.4vh,18px) clamp(12px,2vw,28px);display:grid;position:relative;transform:translateY(clamp(-48px,-4vh,-20px))}.game-dom-prompt{color:#12365f;word-break:keep-all;font-size:clamp(1.45rem,3vw,2.8rem);font-weight:950;line-height:1.25}.game-dom-play-reverse .game-dom-prompt{text-align:center;width:100%}.game-dom-primary{justify-self:center;width:min(100%,920px);max-height:100%;overflow:visible}.game-dom-kind-piano .game-dom-play-area{grid-template-rows:auto auto auto;align-content:center;gap:clamp(16px,2.8vh,34px)}.game-dom-kind-fishing .game-dom-play-area{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:clamp(12px,1.8vh,22px)}.game-dom-kind-fishing .game-dom-primary.fish-display{justify-content:center;align-items:center;width:min(100%,1040px);height:100%;min-height:0;display:flex}.game-dom-primary.match-grid,.game-dom-primary.grid-display,.game-dom-primary.focus-arena,.game-dom-primary.jigsaw-board,.game-dom-primary.story-cards,.game-dom-primary.counting-display,.game-dom-primary.palace-display,.game-dom-primary.decor-display,.game-dom-primary.shopping-display,.game-dom-primary.chain-arena{width:min(100%,980px);height:auto;min-height:0;box-shadow:none;background:0 0;border:0;justify-items:center;padding:0;display:grid}.game-dom-primary.game-display,.game-dom-primary.word-display,.game-dom-primary.reverse-display,.game-dom-primary.arrow-display,.game-dom-primary.color-word{color:#153960;background:#f5f9ffeb;border:2px solid #cfe0f5;border-radius:8px;justify-content:center;align-items:center;min-height:clamp(92px,18vh,180px);padding:clamp(16px,2.5vw,30px);font-size:clamp(1.35rem,2.7vw,2.5rem);font-weight:900;line-height:1.35;display:flex}.game-dom-primary.game-dom-primary-calc{min-height:0;box-shadow:none;background:0 0;border:0;padding:0;display:block}.game-dom-play-calc{grid-template-rows:auto auto;grid-template-columns:minmax(0,640px) minmax(260px,360px);justify-content:center;gap:clamp(10px,1.6vh,16px) clamp(18px,3vw,34px);width:min(100%,1080px)}.game-dom-play-calc .game-dom-prompt{grid-column:1/-1}.game-dom-play-calc .game-dom-primary-calc{grid-area:2/1;justify-self:center}.game-dom-play-calc .checkout-options{grid-area:2/2;grid-template-columns:1fr;align-self:center;width:min(100%,360px)}.game-dom-play-calc .checkout-btn{min-height:clamp(70px,9vh,88px)}.game-dom-options,.calc-options,.color-options,.count-options,.direction-btns,.letter-input,.rotate-options,.story-options,.shadow-options,.category-options{grid-template-columns:repeat(2,minmax(220px,1fr));gap:clamp(12px,2vh,20px) clamp(16px,2.5vw,28px);width:min(100%,860px);display:grid}.game-dom-options.compact{grid-template-columns:repeat(2,minmax(160px,1fr));width:min(100%,520px)}.game-dom-answer-btn,.calc-options .game-dom-answer-btn,.direction-btns .game-dom-answer-btn,.letter-input .game-dom-answer-btn,.count-options .game-dom-answer-btn,.rotate-options .game-dom-answer-btn,.story-options .game-dom-answer-btn,.shadow-options .game-dom-answer-btn,.category-options .game-dom-answer-btn,.jigsaw-piece{color:#12365f;cursor:pointer;background:linear-gradient(#fffffffa,#fffbebeb),radial-gradient(circle at 18% 14%,#ffffffd9,#0000 28%);border:3px solid #ffd58b;border-radius:0;min-height:clamp(62px,8vh,104px);padding:10px 18px;font-size:clamp(1.15rem,2vw,2rem);font-weight:950;line-height:1.25;transition:transform .12s,background .12s,box-shadow .12s;position:relative;overflow:hidden;box-shadow:0 2px #ffbb4633}.game-dom-answer-btn:before,.jigsaw-piece:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(110deg,#0000 0 35%,#ffffff94 45%,#0000 58% 100%);transition:opacity .12s,transform .36s;position:absolute;inset:0;transform:translate(-60%)}.game-dom-answer-btn:hover:before,.jigsaw-piece:hover:before,.game-dom-answer-btn.selected:before,.jigsaw-piece.selected:before{opacity:1;transform:translate(70%)}.game-dom-answer-btn.selected,.jigsaw-piece.selected,.diff-item.selected,.focus-target.selected,.fish-hole.selected,.match-card.selected{background:#eff6ff;border-color:#2563eb;transform:translateY(-3px)scale(1.02);box-shadow:0 0 0 5px #2563eb2e,0 10px 22px #0f2b532e}.choice-correct,.game-dom-answer-btn.choice-correct,.letter-btn.choice-correct,.num-btn.choice-correct,.sort-item.choice-correct,.chain-number.choice-correct,.piano-key.choice-correct,.visual-tile.choice-correct{background:linear-gradient(#f0fdf4,#dcfce7)!important;border-color:#22c55e!important;box-shadow:0 0 0 6px #22c55e33,0 14px 28px #15803d29!important}.choice-wrong,.game-dom-answer-btn.choice-wrong,.letter-btn.choice-wrong,.num-btn.choice-wrong,.sort-item.choice-wrong,.chain-number.choice-wrong,.piano-key.choice-wrong,.visual-tile.choice-wrong{background:linear-gradient(#fff1f2,#fee2e2)!important;border-color:#ef4444!important;box-shadow:0 0 0 6px #ef44442e,0 14px 28px #b91c1c24!important}.game-dom-answer-btn:hover,.jigsaw-piece:hover,.num-btn:hover,.piano-key:hover,.diff-item:hover,.focus-target:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0f2b5329}.game-dom-answer-btn:active,.jigsaw-piece:active,.num-btn:active,.piano-key:active,.diff-item:active,.focus-target:active{transform:scale(.97)}.game-dom-result-message{z-index:2;color:#12365f;background:#fff;border-radius:14px;min-width:min(90%,420px);padding:14px 20px;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:950;position:absolute;bottom:clamp(22px,4vh,46px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0f2b532e}.game-dom-result-message.success{border:3px solid #4caf50}.game-dom-result-message.error{border:3px solid #ef4444}.game-dom-level-up-screen{align-content:start;place-items:start center;min-height:100%;padding:clamp(8px,2vw,24px);overflow:auto;display:grid!important}.game-dom-level-up-screen:before,.game-dom-level-up-screen:after{display:none}.level-up-dialog{color:#0f2b53;z-index:2;text-align:center;background:radial-gradient(circle at 50% 0,#facc1552,#0000 34%),linear-gradient(#fff,#eff6ff);border:4px solid #1d4ed8;border-radius:28px;align-self:start;justify-items:center;gap:clamp(7px,1.4vh,12px);width:min(100%,560px);max-height:calc(100dvh - clamp(16px,4vw,48px));margin:0 auto;padding:clamp(12px,2.2vw,22px);display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 70px #0f2b533d}.level-up-image-wrap{border-radius:24px;justify-content:center;width:100%;display:flex;position:relative}.level-up-stage-image{object-fit:contain;background:#fff;border-radius:20px;width:auto;max-width:min(100%,420px);height:auto;max-height:min(48dvh,380px);display:block;box-shadow:0 12px 28px #1d4ed82e}.level-up-game-badge{aspect-ratio:1;background:#fffffff0;border:3px solid #fff;border-radius:22px;place-items:center;width:clamp(72px,16vw,112px);padding:clamp(5px,1.3vw,8px);display:grid;position:absolute;bottom:clamp(8px,2.4vw,22px);right:clamp(8px,3vw,28px);box-shadow:0 14px 30px #0f2b5342}.level-up-game-badge img{object-fit:contain;border-radius:16px;width:100%;height:100%;display:block}.level-up-kicker{color:#713f12;background:#facc15;border-radius:999px;padding:7px 16px;font-size:clamp(.95rem,2vw,1.18rem);font-weight:1000}.level-up-dialog h2{color:#0f2b53;letter-spacing:0;margin:0;font-size:clamp(1.55rem,4.4vw,2.7rem);font-weight:1000;line-height:1.05}.level-up-dialog p{color:#334155;max-width:420px;margin:0;font-size:clamp(.98rem,2vw,1.22rem);font-weight:900;line-height:1.45}.level-up-continue-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:999px;min-width:min(100%,260px);min-height:clamp(46px,6.2vh,56px);margin-top:4px;padding:0 28px;font-size:clamp(1.08rem,2.2vw,1.35rem);font-weight:1000;box-shadow:0 16px 32px #1d4ed847}@media (height<=680px){.level-up-stage-image{max-height:42dvh}.level-up-kicker{padding:5px 12px;font-size:.9rem}.level-up-dialog p{line-height:1.32}}.level-up-continue-btn:focus-visible{outline-offset:4px;outline:4px solid #facc15}.game-dom-screen.feedback-success{animation:.52s ease-out gameSuccessFlash}.game-dom-screen.feedback-error{animation:.42s ease-out gameErrorFlash}.game-dom-feedback-burst{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.game-dom-feedback-burst span{left:calc(50% + (var(--burst-index) - 2) * 46px);color:#f59e0b;text-shadow:0 5px 14px #0f2b5338;font-size:clamp(1.8rem,4vw,3.4rem);font-weight:950;animation:.62s cubic-bezier(.16,1,.3,1) both feedbackBurst;position:absolute;top:46%}.game-dom-feedback-burst.error span{color:#ef4444}.match-game-container{width:min(100%,760px);margin:0 auto}.memory-card-stage{background:radial-gradient(circle at 18% 14%,#fffffff0,#0000 22%),linear-gradient(135deg,#eef7ff 0%,#e7f7ef 52%,#fff4d6 100%);border:3px solid #3f6fb747;border-radius:26px;justify-items:center;gap:14px;padding:14px;display:grid;box-shadow:0 22px 48px #15396024}.memory-stage-sign{color:#12365f;background:#ffffffdb;border:2px solid #bfd7f4;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-weight:950;display:inline-flex;box-shadow:0 10px 18px #2a5a981f}.memory-stage-kicker{color:#fff;background:#0f766e;border-radius:999px;padding:4px 10px;font-size:.92rem}.stage-buttons{justify-content:center;gap:10px;margin-bottom:10px;display:flex}.stage-btn{color:#12365f;background:#fff;border:2px solid #b7d5f0;border-radius:999px;padding:9px 14px;font-weight:900}.match-hint,.game-dom-hint,.input-hint,.melody-instruction,.palace-question{color:#334155;font-size:clamp(.95rem,1.5vw,1.25rem);font-weight:850;line-height:1.45}.match-grid{perspective:900px;justify-content:center;gap:12px;margin:0 auto;display:grid}.match-grid.grid-2x2{grid-template-columns:repeat(2,minmax(92px,138px))}.match-grid.grid-2x3{grid-template-columns:repeat(3,minmax(84px,124px))}.match-grid.grid-2x4{grid-template-columns:repeat(4,minmax(76px,112px))}.match-card{aspect-ratio:1;color:#12365f;cursor:pointer;transform-style:preserve-3d;background:radial-gradient(circle at 28% 18%,#ffffffe6,#0000 24%),linear-gradient(145deg,#fffdf0,#c6dfc3);border:3px solid #9dbd9c;border-radius:18px;font-size:2.5rem;transition:transform .16s,box-shadow .16s,filter .16s;animation:.3s both cardReveal;position:relative;box-shadow:0 12px 24px #3052352e}.match-card.previewing{background:#fff;border:3px solid #5b9c68;animation:.9s ease-in-out infinite alternate cardPreviewPulse}.match-card.face-down{color:#fff;background:radial-gradient(circle at 26% 22%,#ffffff85,#0000 22%),linear-gradient(135deg,#2563eb,#0f766e);border-color:#5ea0d8}.match-card .card-back{line-height:1.1;display:none}.match-card .card-back b{font-size:2rem;display:block}.match-card .card-back small{opacity:.82;margin-top:4px;font-size:.75rem;display:block}.match-card .card-front{align-content:center;justify-items:center;gap:4px;display:grid}.match-card .card-emoji{font-size:2.86rem;line-height:1}.match-card .card-label{color:#12365f;word-break:keep-all;font-size:1.012rem;font-weight:950;line-height:1.15}.match-card.face-down .card-back{display:block}.match-card.face-down .card-front{display:none}.match-card.flipped,.match-card.matched{background:linear-gradient(145deg,#fff,#ecfdf5);border-color:#22c55e;transform:rotateY(0)translateY(-2px)}.match-card.matched{animation:.36s both cardMatchedPop}.match-card.wrong,.jigsaw-board-mock.wrong{border-color:#ef4444;animation:.22s ease-in-out shakeX}.num-pad{grid-template-columns:repeat(6,clamp(48px,8vw,72px));justify-content:center;gap:clamp(8px,1.4vw,14px);width:min(100%,560px);display:grid}.num-btn{aspect-ratio:1;color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff9800,#ffc107);border:0;border-radius:15px;font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:950;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 4px 12px #0003}.num-btn.clear-btn{background:linear-gradient(135deg,#e53935,#c62828);font-size:1rem}.game-dom-play-sequence{gap:clamp(8px,1.2vh,14px);transform:translateY(clamp(-26px,-2vh,-10px))}.game-dom-play-sequence .game-dom-prompt{text-align:center;overflow-wrap:anywhere;width:min(100%,760px);font-size:clamp(1.25rem,2.35vw,2.25rem);line-height:1.18}.game-dom-play-sequence .game-dom-primary{width:min(100%,820px)}.sequence-stage{background:linear-gradient(#ffffffdb,#eff6ffeb),repeating-linear-gradient(90deg,#2563eb14 0 20px,#0000 20px 40px);border:3px solid #2563eb3d;border-radius:28px;justify-items:center;gap:12px;width:min(100%,820px);padding:16px;display:grid;box-shadow:0 20px 42px #0f2b531f}.sequence-track-label{color:#fff;background:#12365f;border-radius:999px;padding:6px 16px;font-size:1rem;font-weight:950}.sequence-train{grid-template-columns:repeat(var(--sequence-count,3), minmax(58px, 86px));justify-content:center;gap:10px;width:100%;display:grid}.sequence-car{aspect-ratio:1.05;color:#112b4f;background:radial-gradient(circle at 28% 22%,#ffffffeb,#0000 24%),linear-gradient(145deg,#fef3c7,#fb923c);border:3px solid #f59e0b;border-radius:20px 20px 12px 12px;justify-content:center;align-items:center;font-size:2.25rem;font-weight:950;animation:.42s both sequenceCarIn;display:flex;position:relative;box-shadow:0 12px 22px #9a49002e}.sequence-car:after{content:"";background:#12365f;border-radius:999px;height:8px;position:absolute;bottom:-8px;left:10px;right:10px}.sequence-car.hidden-digit{color:#12365f;background:linear-gradient(145deg,#dbeafe,#93c5fd);border-color:#94a3b8;animation:.26s both sequenceHide}.sequence-curtain{color:#2563eb;background:linear-gradient(135deg,#eef2ff,#ecfeff);border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:5px 13px;font-size:.7em;font-weight:950;display:inline-flex;transform:translateY(-4px);box-shadow:0 10px 22px #2563eb29}.sequence-curtain.ready{color:#d946ef;background:linear-gradient(135deg,#fff7ed,#e0f2fe);box-shadow:0 10px 22px #d946ef2e}.sequence-input-display:empty:before{color:#536579b8;content:"누른 숫자가 여기에 표시됩니다"}.user-input-display,.game-dom-token-input{color:#12365f;background:#ffffffe6;border:2px dashed #b7cbe5;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:clamp(44px,7vh,70px);padding:10px 18px;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:950;display:flex}.token-chip{color:#12365f;background:linear-gradient(#fff,#dbeafe);border:2px solid #2563eb47;border-radius:999px;place-items:center;min-width:clamp(36px,5vw,54px);min-height:clamp(34px,4.6vw,48px);padding:5px 10px;font-weight:950;animation:.22s cubic-bezier(.34,1.56,.64,1) both tokenChipIn;display:inline-grid;box-shadow:0 8px 16px #0f2b531a}.color-card{background:#ffffffeb;border:2px solid #cfe0f5;border-radius:18px;width:min(100%,560px);margin:0 auto;padding:18px;box-shadow:0 10px 24px #0f2b531f}.color-object{margin:10px 0;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:950}.color-item-row{justify-content:center;align-items:center;gap:14px;display:flex}.color-swatch,.color-btn-swatch{background:var(--swatch,#94a3b8);border:2px solid #ffffffe6;border-radius:8px;width:34px;height:34px;box-shadow:0 0 0 1px #0000001f}.color-swatch.red,.color-btn.red .color-btn-swatch{--swatch:#ef4444}.color-swatch.blue,.color-btn.blue .color-btn-swatch{--swatch:#2563eb}.color-swatch.green,.color-btn.green .color-btn-swatch{--swatch:#22c55e}.color-swatch.yellow,.color-btn.yellow .color-btn-swatch{--swatch:#facc15}.color-btn{color:#12365f;cursor:pointer;background:linear-gradient(#fffffffa,#fffbebeb),radial-gradient(circle at 18% 14%,#ffffffd9,#0000 28%);border:3px solid #ffd58b;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:clamp(62px,8vh,94px);font-size:clamp(1.12rem,1.9vw,1.7rem);font-weight:950;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 8px 18px #0f2b531f}.dir-btn{color:#12365f;cursor:pointer;background:linear-gradient(#fffffffa,#eff6fff0);border:3px solid #ffd58b;border-radius:16px;min-height:clamp(66px,8vh,96px);font-size:clamp(1.08rem,1.8vw,1.6rem);font-weight:950;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 8px 18px #0f2b531f}.color-btn:hover,.dir-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0f2b5329}.color-btn.selected,.dir-btn.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 5px #2563eb2e,0 10px 22px #0f2b532e}.checkout-options,.count-basket-options,.direction-pad-options{grid-template-columns:repeat(2,minmax(190px,1fr));gap:clamp(10px,1.6vh,16px) clamp(14px,2vw,22px);width:min(100%,860px);display:grid}.checkout-btn,.count-answer-btn,.direction-pad-btn{min-height:clamp(68px,8.5vh,96px);animation:.26s both cardReveal;animation-delay:calc(var(--option-index,0) * 45ms);border-radius:20px;align-items:center;display:grid}.checkout-btn{background:linear-gradient(#fffffffa,#fef3c7f5),radial-gradient(circle at 14% 20%,#ffffffeb,#0000 34%);border-color:#f59e0b;grid-template-columns:auto 1fr;gap:14px;padding:12px clamp(18px,3vw,28px);box-shadow:0 12px 22px #b4530929,inset 0 -5px #f59e0b29}.checkout-icon{aspect-ratio:1;background:#fff7ed;border-radius:16px;place-items:center;width:clamp(44px,6vw,64px);font-size:clamp(1.8rem,3.4vw,2.6rem);display:grid;box-shadow:inset 0 -4px #fbbf2447}.checkout-amount{color:#713f12;justify-self:center;font-size:clamp(1.4rem,2.8vw,2.4rem);font-weight:950}.count-answer-btn{background:linear-gradient(#fffffffa,#f0fdf4f5),radial-gradient(circle at 50% 0,#bbf7d094,#0000 48%);border-color:#86efac;justify-items:center;gap:6px;min-height:clamp(66px,7.8vh,86px);box-shadow:0 12px 24px #15803d24,inset 0 -5px #22c55e29}.count-answer-icon{filter:drop-shadow(0 5px 5px #15803d29);font-size:clamp(2rem,3.8vw,3rem)}.count-answer-btn strong{color:#14532d;font-size:clamp(1.45rem,2.8vw,2.5rem)}.count-answer-panel{background:linear-gradient(135deg,#ecfdf5,#f7fee7);border:2px solid #22c55e38;border-radius:22px;gap:8px;width:min(100%,920px);padding:clamp(10px,1.5vw,14px);display:grid;box-shadow:0 12px 24px #15803d1a}.count-answer-title{color:#166534;background:#dcfce7;border-radius:999px;justify-self:center;padding:4px 14px;font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:950}.count-basket-options{grid-template-columns:repeat(4,minmax(120px,1fr));width:min(100%,900px)}.direction-pad-options{grid-template-columns:repeat(4,minmax(120px,1fr));gap:clamp(10px,1.6vw,16px)}.direction-pad-btn{background:linear-gradient(#fffffffa,#dbeafef2),radial-gradient(circle at 50% 12%,#bfdbfe99,#0000 46%);border-color:#93c5fd;justify-items:center;gap:6px;min-height:clamp(86px,12vh,130px);box-shadow:0 12px 24px #2563eb24,inset 0 -6px #2563eb24}.direction-pad-btn span{aspect-ratio:1;color:#1d4ed8;background:#eff6ff;border-radius:50%;place-items:center;width:clamp(42px,6vw,62px);font-size:clamp(2rem,4vw,3.2rem);display:grid;box-shadow:inset 0 -5px #93c5fd73}.direction-pad-btn b{color:#1e3a8a;font-size:clamp(1rem,1.9vw,1.5rem)}.market-stand{background:linear-gradient(#ffffffe0,#fffbebeb),#fff7d6;border:2px solid #f6c453;border-radius:22px;width:min(100%,660px);margin:0 auto;padding:12px;box-shadow:0 18px 34px #b4530924}.market-awning{background:repeating-linear-gradient(90deg,#ef4444 0 34px,#fff 34px 68px),#fff;border-radius:14px 14px 8px 8px;height:24px;margin:-2px -2px 10px;box-shadow:inset 0 -5px #b453091f}.market-cards{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;display:grid}.market-card{color:#12365f;background:#fff;border:2px solid #fde68a;border-radius:18px;align-content:center;justify-items:center;gap:4px;min-height:104px;padding:10px;font-weight:950;animation:.28s both cardReveal;display:grid;box-shadow:0 8px 18px #92400e1a}.market-card.wide{grid-column:1/-1}.market-emoji{font-size:clamp(1.8rem,3.2vw,2.7rem)}.market-name{font-size:clamp(1rem,1.7vw,1.35rem)}.market-price{color:#0f766e;font-size:clamp(1.1rem,1.8vw,1.45rem)}.market-qty{color:#2563eb;background:#eff6ff;border-radius:999px;padding:4px 10px}.market-helper{color:#92400e;background:#fff;border-radius:14px;margin-top:8px;padding:9px 14px;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:950}.reverse-stage{background:linear-gradient(135deg,#faf5ff,#eff6ff);border:2px solid #d8b4fe;border-radius:20px;justify-items:center;gap:14px;width:min(100%,760px);padding:18px;display:grid;box-shadow:0 14px 30px #6d28d91f}.reverse-source,.reverse-target{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.word-token{color:#12365f;background:#fff;border:2px solid #c4b5fd;border-radius:14px;min-width:50px;padding:12px 16px;font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:950;box-shadow:0 8px 16px #6d28d91a}.word-token.ghost{color:#7c3aed;background:#fff9;border-style:dashed}.reverse-arrow{color:#6d28d9;background:#ede9fe;border-radius:999px;padding:6px 14px;font-weight:950}.category-table{background:linear-gradient(135deg,#f0fdf4,#eff6ff);border:2px solid #bbf7d0;border-radius:22px;width:min(100%,760px);margin:0 auto;padding:18px;box-shadow:0 14px 30px #1665341f}.category-title{color:#166534;margin-bottom:14px;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:950}.category-status{color:#166534;background:#ffffffdb;border:2px solid #16a34a38;border-radius:999px;width:fit-content;margin:-4px auto 14px;padding:7px 14px;font-size:clamp(.95rem,1.45vw,1.12rem);font-weight:950}.category-status.ready{background:#dcfce7;border-color:#22c55e;box-shadow:0 0 0 6px #22c55e24}.category-card-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;display:grid}.category-card{cursor:pointer;color:#12365f;background:#fff;border:2px solid #cfe0f5;border-radius:16px;align-content:center;justify-items:center;gap:6px;min-height:104px;animation:.28s both cardReveal;display:grid}.category-card.selected{background:#eff6ff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 0 0 5px #2563eb29}.category-card.matched{background:#dcfce7;border-color:#22c55e}.category-card.wrong{background:#fee2e2;border-color:#ef4444;animation:.22s ease-in-out shakeX}.category-card span{font-size:clamp(2.18rem,3.63vw,3.27rem)}.category-card b{font-size:.7em}.visual-answer{justify-items:center;gap:8px;display:grid}.option-emoji-row{justify-content:center;gap:5px;font-size:clamp(1.4rem,2.5vw,2.2rem);display:flex}.pattern-grid,.find-diff-grid,.counting-grid{justify-content:center;gap:clamp(8px,1.2vw,12px);margin:0 auto;display:grid}.pattern-stage{background:linear-gradient(#dbeafe 0 18%,#f8fafc 18% 100%);border-radius:24px;justify-items:center;gap:12px;width:min(100%,620px);padding:12px 14px 18px;display:grid;box-shadow:0 18px 38px #0f2b5321}.pattern-roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(135deg,#ef4444,#f97316);width:min(72%,360px);height:54px;box-shadow:inset 0 0 0 3px #ffffff6b}.pattern-grid{grid-template-columns:repeat(var(--pattern-cols,3), minmax(62px, 84px));background:linear-gradient(90deg,#94a3b833 1px,#0000 1px),linear-gradient(#f8fafc,#e0f2fe);border:4px solid #94a3b8;border-radius:18px;padding:14px}#patternGrid.find-diff-grid{flex-direction:column;align-items:center;gap:clamp(10px,1.6vw,16px);display:flex}#patternGrid .game-dom-hint{pointer-events:none}.pattern-cell,.diff-item,.counting-item{aspect-ratio:1;color:#12365f;background:#fff;border:2px solid #b7d5f0;border-radius:10px;justify-content:center;align-items:center;min-width:0;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:950;display:flex}.pattern-cell.active{background:radial-gradient(circle at 50% 42%,#fff 0 18%,#0000 19%),linear-gradient(145deg,#fff7cc,#fef08a);border-color:#f59e0b;animation:1.1s ease-in-out infinite alternate warmGlow;box-shadow:0 0 0 5px #facc153d,0 0 28px #facc1594}.pattern-cell.selected{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border-color:#2563eb;box-shadow:0 0 0 5px #2563eb29}.pattern-cell small{color:#0f2b537a;font-size:.7rem;position:absolute;bottom:4px;right:6px}.pattern-cell{position:relative}.find-diff-grid,.counting-grid{grid-template-columns:repeat(4,clamp(58px,8vw,88px))}.sort-grid,.chain-arena.chain-grid{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.sort-item,.chain-number{color:#12365f;cursor:pointer;background:linear-gradient(135deg,#dbeafe,#ecfdf5);border:2px solid #b7d5f0;border-radius:14px;justify-content:center;align-items:center;width:clamp(54px,8vw,84px);height:clamp(54px,8vw,84px);font-size:clamp(1.4rem,2.7vw,2.2rem);font-weight:950;animation:1.9s ease-in-out infinite tileGlow;display:flex;box-shadow:0 8px 18px #0f2b531f}.sort-item.active,.chain-number.active,.reverse-token-btn.active{background:#eff6ff;border-color:#2563eb;transform:translateY(-4px)scale(1.05)}.sort-item:disabled,.chain-number:disabled,.reverse-token-btn:disabled{opacity:.58;cursor:not-allowed}.word-game-board{gap:14px;width:min(100%,760px);margin:0 auto;display:grid}.word-problem-card,.word-answer-card{color:#12365f;background:linear-gradient(135deg,#fff7ed,#eff6ff);border-radius:18px;width:min(100%,680px);margin:0 auto 10px;padding:clamp(14px,2vw,24px);font-size:clamp(1.25rem,2.5vw,2.4rem);font-weight:950}.word-answer-card{flex-wrap:nowrap;justify-content:center;gap:clamp(5px,1vw,10px);display:flex;overflow:hidden}.word-letter{width:min(clamp(34px, 5.2vw, 62px), calc((100% - (var(--word-slot-count,4) - 1) * 10px) / var(--word-slot-count,4)));aspect-ratio:1;background:#fff;border:2px solid #bfdbfe;border-radius:12px;justify-content:center;align-items:center;min-width:0;display:inline-flex}.word-letter.blank{color:#f97316;background:#fff7ed;border-color:#f59e0b;animation:1.1s ease-in-out infinite alternate warmGlow}.letter-input{flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,900px);display:flex}.letter-btn{color:#12365f;cursor:pointer;background:#fff;border:3px solid #ffd58b;border-radius:14px;min-width:clamp(64px,9vw,104px);min-height:clamp(58px,8vh,86px);padding:10px 18px;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:950;transition:transform .12s,box-shadow .12s,background .12s}.letter-btn.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 5px #2563eb2e}.counting-scene{background:linear-gradient(135deg,#f0f9ff,#fff7ed);border:2px solid #bae6fd;border-radius:22px;gap:14px;width:min(100%,820px);max-height:min(100%,430px);margin:0 auto;padding:clamp(12px,1.8vw,18px);display:grid;overflow:hidden;box-shadow:0 14px 30px #1e40af1a}.counting-item-name{color:#12365f;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:950}.counting-bundles{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-items:stretch;gap:clamp(8px,1.2vw,12px);display:grid}.counting-smart-bundles{grid-template-columns:repeat(auto-fit,minmax(134px,1fr))}.count-bundle{color:#12365f;background:#fff;border:2px solid #bfdbfe;border-radius:16px;align-content:center;justify-items:center;gap:8px;min-height:clamp(82px,12vh,114px);padding:clamp(8px,1.4vw,12px);font-weight:950;animation:1.9s ease-in-out infinite tileFloat;display:grid;box-shadow:0 8px 18px #1e40af14}.count-bundle span{letter-spacing:1px;overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.2rem,2.2vw,1.9rem);line-height:1.2}.count-bundle.loose{background:#fffbeb;border-color:#fcd34d}.count-bundle-top{justify-items:center;gap:4px;display:grid}.count-bundle-top span{font-size:clamp(1.9rem,3vw,2.6rem)}.count-bundle-top b{font-size:clamp(.95rem,1.35vw,1.1rem)}.count-bundle-top em{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:2px 8px;font-size:.78rem;font-style:normal;font-weight:950}.count-bundle strong{font-size:clamp(1rem,1.65vw,1.28rem)}.count-bundle small{color:#0f766e;font-size:clamp(.9rem,1.3vw,1.05rem);font-weight:900}.count-role-distractor{opacity:.48;filter:grayscale(.55)}.count-role-exclude{background:#fef2f2;border-color:#fecaca}.count-role-exclude .count-bundle-top em{color:#b91c1c;background:#fee2e2}.count-role-compare{background:#fffbeb;border-color:#fde68a}.pair-grid{grid-template-columns:repeat(2,minmax(160px,1fr));gap:18px;width:min(100%,720px);margin:0 auto;display:grid}.pair-column{background:#ffffffeb;border:2px solid #cfe0f5;border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.pair-title,.pair-placeholder,.pair-item{color:#12365f;font-weight:950}.pair-item.hero{align-content:center;justify-items:center;gap:8px;min-height:160px;display:grid}.pair-item.hero span{font-size:clamp(3rem,6vw,4.8rem)}.story-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;width:min(100%,720px);display:grid}.story-sequence-stage{gap:14px;width:min(100%,880px);display:grid}.story-answer-zone,.story-choice-zone{border:3px solid #2563eb2e;border-radius:12px;gap:10px;padding:12px;display:grid}.story-answer-zone{background:linear-gradient(135deg,#eef6ff,#dbeafe)}.story-answer-zone.complete{background:linear-gradient(135deg,#ecfdf5,#dcfce7);border-color:#22c55e}.story-choice-zone{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#f59e0b47}.story-zone-title{color:#12365f;text-align:center;font-weight:950}.story-slot-row,.story-choice-cards{grid-template-columns:repeat(var(--story-count,4), minmax(84px, 1fr));gap:10px;display:grid}.story-slot{color:#64748b;background:#ffffffb8;border:3px dashed #93c5fd;border-radius:12px;align-content:center;justify-items:center;gap:6px;min-height:118px;padding:12px;font-weight:950;display:grid}.story-slot.filled{color:#12365f;background:#fff;border-style:solid;border-color:#2563eb}.story-slot-empty{font-size:.95rem}.story-card{color:#12365f;background:#fff;border:2px solid #cfe0f5;border-radius:16px;flex-direction:column;justify-content:center;gap:8px;min-height:118px;padding:12px;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:950;animation:.28s both cardReveal;display:flex;box-shadow:0 8px 18px #0f2b531a}.story-choice-card{width:100%;font:inherit;cursor:pointer}.story-choice-card.used{opacity:.38;transform:scale(.96)}.story-choice-card.wrong{background:#fee2e2;border-color:#ef4444;animation:.22s ease-in-out shakeX}.story-card.question{background:#fff7ed;border-color:#f59e0b}.story-emoji{font-size:clamp(1.8rem,3vw,2.6rem)}.card-label{color:#64748b;font-size:.88rem}.game-dom-maze-board{background:linear-gradient(#eaf5ff,#f0fbf5);border:2px solid #b7d5f0;border-radius:18px;padding:16px 20px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.45;display:inline-block}.melody-display{text-align:center}.melody-stage{background:radial-gradient(circle at 14% 18%,#ffffffeb 0 9%,#0000 10%),radial-gradient(circle at 84% 20%,#facc153d 0 11%,#0000 12%),linear-gradient(135deg,#eff6fff0,#f0fdfae6);border:2px solid #93c5fdeb;border-radius:20px;width:min(100%,980px);margin:0 auto;padding:clamp(18px,3vw,32px);position:relative;overflow:hidden;box-shadow:0 20px 48px #0f2b5324,inset 0 1px #ffffffe6}.melody-stage:before{content:"";opacity:.8;background:repeating-linear-gradient(90deg,#2563eb38 0 28px,#0000 28px 42px);height:2px;position:absolute;inset:18% -8% auto}.melody-stage:after{content:"";opacity:.56;background:radial-gradient(circle at 36% 34%,#ffffffe6 0 10%,#0000 11%),linear-gradient(135deg,#60a5fa2e,#0ea5e914);border-radius:50%;width:clamp(74px,11vw,128px);height:clamp(74px,11vw,128px);position:absolute;bottom:clamp(12px,2vw,22px);right:clamp(16px,3vw,34px)}.melody-instruction{z-index:1;color:#12365f;margin:0;font-size:clamp(1.3rem,2.6vw,2.35rem);font-weight:950;line-height:1.25;position:relative}.melody-listen-track{z-index:1;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.5vw,14px);min-height:clamp(54px,8vh,82px);margin-top:clamp(16px,2.5vh,28px);display:flex;position:relative}.melody-note-dot{color:#12365f75;background:#ffffffd6;border:2px dashed #2563eb57;border-radius:50%;justify-content:center;align-items:center;width:clamp(40px,5.5vw,64px);height:clamp(40px,5.5vw,64px);font-size:clamp(1.1rem,2.2vw,1.8rem);font-weight:950;transition:transform .18s,background .18s,color .18s,box-shadow .18s;display:inline-flex;transform:scale(.92)}.melody-note-dot.played{color:#12365f;background:linear-gradient(135deg,#dbeafe,#fef3c7);border-style:solid;transform:translateY(-4px)scale(1);box-shadow:0 10px 24px #2563eb33}.game-dom-token-input,.melody-input-strip{z-index:1;color:#12365f;background:#ffffffc7;border:2px dashed #2563eb57;border-radius:12px;justify-content:center;align-items:center;width:min(100%,760px);min-height:clamp(46px,6vh,66px);margin:clamp(16px,2.5vh,26px) auto 0;padding:8px 16px;font-size:clamp(1.15rem,2.1vw,1.75rem);font-weight:950;display:flex;position:relative}.melody-input-strip:empty:before{color:#5365799e;content:"들은 순서가 여기에 표시됩니다";font-size:clamp(.95rem,1.6vw,1.2rem)}.melody-piano{touch-action:manipulation;background:radial-gradient(circle at 14% 16%,#ffffffeb 0 12%,#0000 13%),linear-gradient(135deg,#dbeafe 0%,#bfdbfe 42%,#fde68a 100%);border:4px solid #2563eb;border-radius:22px;justify-content:center;align-items:stretch;gap:6px;width:fit-content;max-width:100%;margin:0 auto;padding:clamp(12px,2vw,20px) clamp(14px,2.2vw,22px) clamp(16px,2.3vw,24px);display:flex;overflow-x:auto;box-shadow:0 22px 52px #2563eb47,inset 0 2px #ffffffd9}.piano-key{color:#111827;cursor:pointer;background:linear-gradient(#fff,#fefce8 52%,#fde68a);border:2px solid #0f172a57;border-bottom-width:6px;border-radius:0 0 14px 14px;justify-content:center;align-items:flex-end;width:clamp(52px,6vw,82px);height:clamp(118px,15vw,196px);padding:0 0 44px;font-size:1.22rem;font-weight:900;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;position:relative;box-shadow:inset 0 2px #fff,inset 0 -12px 18px #f59e0b38,0 9px 16px #0f172a2e}.piano-key-label{z-index:3;color:#102a4c;text-shadow:0 2px #fff,0 8px 16px #0f172a2e;background:#ffffffdb;border-radius:999px;justify-content:center;align-items:center;min-width:34px;min-height:34px;line-height:1;display:inline-flex;position:relative}.piano-key:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#1f2937,#020617);border-radius:0 0 8px 8px;width:34%;height:38%;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 12px #0f172a66}.piano-key:after{content:"";z-index:2;pointer-events:none;border-radius:999px;height:8px;position:absolute;bottom:clamp(14px,2.2vw,24px);left:10px;right:10px}.piano-key:first-child:after{background:#ef4444}.piano-key:nth-child(2):after{background:#f97316}.piano-key:nth-child(3):after{background:#eab308}.piano-key:nth-child(4):after{background:#22c55e}.piano-key:nth-child(5):after{background:#0ea5e9}.piano-key:nth-child(6):after{background:#8b5cf6}.piano-key:nth-child(7):after{background:#ec4899}.piano-key.active,.piano-key.selected{filter:brightness(1.08);transform:translateY(6px);box-shadow:0 0 0 5px #3b82f65c,inset 0 1px #fff,inset 0 -6px 12px #f59e0b47,0 4px 10px #0f172a33}.piano-key.hint{transform:translateY(2px);box-shadow:0 0 0 7px #facc1594,inset 0 1px #fff,0 8px 18px #0f172a2e}.piano-key.active .piano-key-label,.piano-key.hint .piano-key-label{color:#fff;text-shadow:none;background:#12365f}.piano-key:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.68)}.melody-actions,.fish-actions{justify-content:center;width:min(100%,760px);margin:0 auto;display:flex}.game-dom-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0f766e);border:0;border-radius:999px;min-width:clamp(160px,20vw,260px);min-height:clamp(58px,7.6vh,82px);padding:12px 26px;font-size:clamp(1.2rem,2.2vw,1.85rem);font-weight:950;transition:transform .12s,filter .12s,box-shadow .12s;box-shadow:0 16px 34px #2563eb42,inset 0 1px #ffffff52}.game-dom-start-btn:hover{filter:brightness(1.05);transform:translateY(-2px)scale(1.02);box-shadow:0 20px 40px #2563eb52,inset 0 1px #ffffff61}.game-dom-start-btn:active{transform:scale(.97)}.reaction-traffic-wrap{background:radial-gradient(circle at 18% 16%,#ffffffe6,#0000 24%),linear-gradient(#bfdbfe 0 38%,#d9f99d 38% 50%,#334155 50% 100%);border:1px solid #1e293b1f;border-radius:24px;justify-items:center;gap:12px;width:min(100%,794px);margin:0 auto;padding:15px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 32px #0f172a1a}.reaction-street-sky{color:#0f2b53;z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;font-weight:950;display:flex}.reaction-street-sky span{background:#ffffffdb;border-radius:999px;padding:5px 12px}.reaction-street-sky b{font-size:clamp(1.11rem,1.94vw,1.5rem)}.reaction-road-scene{border-radius:22px;place-items:center;width:min(100%,736px);min-height:clamp(184px,28vw,271px);display:grid;position:relative;overflow:hidden}.reaction-road{background:linear-gradient(#111827 0 48%,#f8fafc 48% 52%,#111827 52% 100%),linear-gradient(90deg,#0000 0 40%,#fffc 40% 43%,#0000 43% 57%,#fffc 57% 60%,#0000 60% 100%),#1f2937;position:absolute;inset:46% 0 0;overflow:hidden}.road-line{background:repeating-linear-gradient(90deg,#f8fafc 0 46px,#0000 46px 78px);height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.crosswalk-line{background:#ffffffe6;border-radius:4px;width:12%;height:54px;position:absolute;bottom:18px}.crosswalk-line:nth-child(2){left:30%}.crosswalk-line:nth-child(3){left:45%}.crosswalk-line:nth-child(4){left:60%}.reaction-person{z-index:3;filter:drop-shadow(0 8px 10px #0f172a47);font-size:clamp(2.64rem,5.5vw,4.4rem);position:absolute;top:76px;left:calc(50% + 190px);transform:translateY(-50%)}.reaction-traffic{z-index:2;background:linear-gradient(#020617,#0f172a);border:3px solid #ffffffd1;border-radius:15px;justify-content:center;gap:12px;width:fit-content;padding:14px;display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 28px #0f172a61}.traffic-car{z-index:1;filter:drop-shadow(0 7px 8px #0f172a59);will-change:left, right, transform;font-size:clamp(2rem,4vw,3.2rem);line-height:1;position:absolute}.traffic-car-east{animation:5.8s linear infinite trafficCarEast;top:24%;left:-88px}.traffic-car-west{animation:6.4s linear infinite trafficCarWest;top:72%;right:-88px}@keyframes trafficCarEast{0%{left:-88px;transform:translateY(-50%)scaleX(-1)}to{left:calc(100% + 88px);transform:translateY(-50%)scaleX(-1)}}@keyframes trafficCarWest{0%{right:-88px;transform:translateY(-50%)scaleX(-1)}to{right:calc(100% + 88px);transform:translateY(-50%)scaleX(-1)}}@media (width<=720px){.reaction-person{left:calc(50% + 30vw)}}.traffic-light{color:#fff;background:#64748b;border-radius:16px;justify-content:center;align-items:center;width:clamp(62px,9.7vw,99px);height:clamp(62px,9.7vw,99px);font-weight:950;display:flex;box-shadow:inset 0 -8px 16px #0f172a3d,0 0 0 2px #fff3}.reaction-mission-card{color:#12365f;text-align:center;z-index:1;background:#ffffffe6;border:2px solid #0ea5e93d;border-radius:18px;justify-items:center;gap:6px;width:min(100%,697px);padding:12px 16px;display:grid}.reaction-mission-card strong{color:#047857;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:950}.reaction-mission-card p{word-break:keep-all;margin:0;font-size:clamp(.95rem,1.45vw,1.12rem);font-weight:850}.reaction-green-alert{color:#047857;animation:.82s ease-in-out infinite alternate reactionGreenBlink}@keyframes reactionGreenBlink{0%{opacity:.58;text-shadow:0 0 #04785700}to{opacity:1;text-shadow:0 0 12px #22c55e8c}}.traffic-on-red{color:#fff;background:#ff1744;box-shadow:0 0 0 3px #ffffff73,0 0 28px #ff1744d1,inset 0 -8px 16px #7f1d1d57}.traffic-on-yellow{color:#1f2937;background:#ffea00;box-shadow:0 0 0 3px #ffffff73,0 0 28px #ffea00d1,inset 0 -8px 16px #92400e38}.traffic-on-green{color:#fff;background:#00e676;animation:.7s ease-in-out infinite alternate trafficGreenPulse}@keyframes trafficGreenPulse{0%{box-shadow:0 12px 24px #14b8a647}to{box-shadow:0 18px 34px #14b8a67a}}.reaction-click-zone{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#059669 54%,#0f766e);border:4px solid #10b981;border-radius:18px;flex-direction:column;justify-content:center;gap:6px;width:min(100%,458px);height:86px;transition:box-shadow .12s,filter .12s,border-color .12s,background .12s;display:flex;box-shadow:0 16px 30px #0596694d,0 0 0 6px #bbf7d0b8}.reaction-click-zone.rz-active{background:linear-gradient(135deg,#22c55e,#10b981 48%,#047857);border-color:#fef08a;box-shadow:0 20px 42px #04785761,0 0 0 9px #fef08a6b}.reaction-click-zone:disabled{opacity:.92;cursor:not-allowed;filter:saturate(.95)}.reaction-click-kicker{display:none}.reaction-click-label{align-items:center;min-height:2.02rem;font-size:clamp(1.18rem,2.05vw,1.68rem);font-weight:950;line-height:1.2;display:flex}.reaction-start-btn{min-height:clamp(46px,6.4vh,58px);padding:clamp(8px,1.4vw,13px) clamp(20px,4vw,34px);font-size:clamp(1rem,2vw,1.38rem)}.reaction-start-btn:hover,.reaction-start-btn:active{transform:none}.reaction-actions{justify-content:center;width:min(100%,760px);margin:0 auto;display:flex}.reaction-badge{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:10px 18px;font-weight:950;display:inline-flex}.reaction-perfect,.reaction-great{color:#047857;background:#dcfce7}.reaction-good,.reaction-ok{color:#0369a1;background:#e0f2fe}.reaction-early{color:#b91c1c;background:#fee2e2}.shadow-object,.palace-room,.rotate-original,.jigsaw-wrap{color:#12365f;background:linear-gradient(135deg,#f7fbff,#eef7e8);border:2px solid #b8d8f0;border-radius:18px;width:min(100%,720px);margin:0 auto;padding:18px;font-size:clamp(1.2rem,2.2vw,1.9rem);font-weight:950}.shadow-stage{background:linear-gradient(135deg,#f7fbff,#eef7e8);border:2px solid #b8d8f0;border-radius:22px;grid-template-columns:minmax(120px,1fr) 80px minmax(120px,1fr);align-items:center;gap:16px;width:min(100%,720px);margin:0 auto;padding:20px;display:grid;box-shadow:0 14px 30px #0f2b531f}.object-card,.shadow-card{color:#12365f;background:#ffffffe0;border-radius:18px;align-content:center;justify-items:center;gap:10px;min-height:170px;padding:18px;font-weight:950;display:grid}.object-emoji{font-size:clamp(3rem,7vw,5.2rem)}.shadow-emoji{filter:brightness(0)opacity(.72)blur(.2px);font-size:clamp(2.6rem,6vw,4.8rem);transform:skew(-8deg)scaleX(1.1)}.shadow-beam{clip-path:polygon(0 35%,100% 0,100% 100%,0 65%);opacity:.8;background:linear-gradient(90deg,#facc151f,#0f172a33);height:80px}.shadow-choice{min-height:110px}.focus-panel{background:linear-gradient(135deg,#14b8a61a,#2563eb12),#f8fafc;border:1px solid #1e293b1f;border-radius:18px;width:min(100%,620px);margin:0 auto;padding:18px}.focus-arena .focus-panel .focus-arena,.focus-panel .focus-arena{background:linear-gradient(#94a3b829 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#94a3b829 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#f8fafc,#ecfeff);border:1px solid #1e293b1f;border-radius:16px;width:100%;height:clamp(210px,32vh,320px);position:relative}.focus-target{color:#12365f;cursor:pointer;background:#ffffffdb;border:2px solid #14b8a6ad;border-radius:14px;min-width:58px;min-height:52px;font-weight:950;position:absolute;overflow:hidden;box-shadow:0 8px 18px #14b8a624}.focus-target:after{content:"";pointer-events:none;border:2px solid #14b8a638;border-radius:10px;animation:1.05s ease-in-out infinite focusPulse;position:absolute;inset:5px}.palace-memory-stage{background:linear-gradient(#ffffffe0,#eff6ffe6),repeating-linear-gradient(90deg,#8b5cf614 0 22px,#0000 22px 44px);border:3px solid #8b5cf642;border-radius:14px;justify-items:center;gap:9px;width:min(100%,836px);margin:0 auto;padding:10px;display:grid;box-shadow:0 22px 46px #3c266c24}.palace-room-title{color:#fff;background:#5b21b6;border-radius:999px;padding:6px 15px;font-size:1.06rem;font-weight:950}.palace-room{background:radial-gradient(circle at 50% 4%,#fde0474d,#0000 18%),linear-gradient(135deg,#fff7ed,#eef2ff);border:2px solid #5b21b638;border-radius:16px;grid-template-columns:repeat(4,minmax(94px,1fr));gap:8px;width:min(100%,748px);max-width:748px;padding:9px;display:grid}.palace-spot{background:#ffffffd1;border:2px solid #5b21b633;border-radius:12px;align-content:center;justify-items:center;gap:4px;min-height:clamp(77px,10.7vh,96px);padding:8px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffffb3,0 10px 18px #5b21b61a}.palace-spot.memorizing{animation:.9s ease-in-out infinite alternate palaceGlow}.palace-spot.hidden-memory .palace-item,.palace-spot.hidden-memory b{opacity:0}.palace-spot.hidden-memory:after{color:#12365f;content:"?";background:repeating-linear-gradient(45deg,#2563eb1f 0 12px,#ffffffeb 12px 24px),#ffffffd6;place-items:center;font-size:2.4rem;font-weight:950;display:grid;position:absolute;inset:0}.palace-spot.target-spot.hidden-memory:after{color:#7c2d12;text-shadow:0 2px #ffffffb8;background:radial-gradient(circle at 50% 30%,#fef08af2,#fbbf24c2 58%,#fb7185b3),#fff7ed;box-shadow:inset 0 0 0 4px #f9731652}.palace-spot.target-spot{border-color:#f59e0b}.palace-place{color:#475569;font-size:.9rem;font-weight:900;display:none}.palace-item{font-size:2.27rem;line-height:1}.palace-spot b{color:#12365f;word-break:keep-all;font-size:.9rem}.palace-guide{color:#334155;text-align:center;max-width:min(100%,680px);font-size:clamp(.82rem,1.15vw,.98rem);font-weight:900;line-height:1.25}.game-dom-kind-palace .palace-question{display:none}.game-dom-kind-palace .game-dom-play-area{gap:clamp(8px,1.1vh,12px);transform:translateY(-20%)}.game-dom-kind-palace .game-dom-prompt{font-size:clamp(1.25rem,2.2vw,2.15rem);line-height:1.15}.game-dom-primary.palace-display{width:min(100%,836px)}.game-dom-kind-palace .game-dom-options{gap:7px 11px;width:min(100%,498px)}.game-dom-kind-palace .game-dom-answer-btn{min-height:clamp(47px,5.9vh,61px);padding:7px 13px;font-size:clamp(.72rem,1.05vw,.98rem)}.game-dom-kind-palace .visual-answer .option-emoji-row{font-size:1.53em}.game-dom-kind-palace .visual-answer>span:last-child{overflow-wrap:anywhere;word-break:keep-all;max-width:100%;line-height:1.12}.game-dom-play-shopping{place-content:center;width:min(100%,1280px);min-height:min(70vh,680px);transform:none}.shopping-stage{place-items:center;gap:clamp(12px,2vh,18px);width:min(100%,1220px);display:grid}.shopping-memory-panel,.shopping-market-panel{background:linear-gradient(#fffffffa,#f5f9fff5);border:2px solid #cfe0f5;border-radius:8px;width:100%;padding:clamp(16px,2.6vw,28px);position:relative;box-shadow:0 18px 38px #0f2b531f}.shopping-memory-panel{align-content:center;justify-items:center;min-height:clamp(280px,46vh,460px);display:grid}.shopping-market-panel{isolation:isolate;background:linear-gradient(#ffffffd1,#f5f9ffa3),url(/assets/shopping-shelves-FpbYqVm7.png) 50%/cover no-repeat;min-height:clamp(360px,58vh,520px);padding:clamp(10px,1.6vw,18px);overflow:hidden}.shopping-market-backdrop{z-index:-1;background:linear-gradient(90deg,#ffffff80,#e8f1ff6b),repeating-linear-gradient(90deg,#5f7ea224 0 2px,#0000 2px 72px);border-radius:8px;grid-template-rows:repeat(3,1fr);gap:18px;padding:16px 18px;display:grid;position:absolute;inset:58px 12px 82px;box-shadow:inset 0 0 0 2px #7794b838}.shopping-market-backdrop span{background:linear-gradient(#ffffffa3,#ebf2fcbd 58%,#79554852 59%,#79554880 72%,#5c403357);border-radius:6px;display:block;box-shadow:0 12px 20px #0f2b5314}.shopping-memory-title,.shopping-market-title,.shopping-basket-status{color:#12365f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shopping-memory-title span,.shopping-market-title span{color:#2f6f58;font-size:clamp(1rem,1.8vw,1.2rem);font-weight:900}.shopping-memory-title strong,.shopping-market-title strong{font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:950}.shopping-list{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px;width:min(100%,860px);margin:clamp(16px,3vh,26px) 0;display:grid}.shopping-list-chip,.shopping-basket-chip{color:#163f2d;min-height:54px;animation:.28s ease-out both gameDomIconPop;animation-delay:calc(var(--chip-index,0) * 60ms);background:#f3fbf5;border:2px solid #b7d8c3;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:900;display:inline-flex}.shopping-list-emoji{font-size:1.3em;line-height:1}.shopping-list-chip b{font-size:.95em}.shopping-countdown,.shopping-market-panel[hidden],.shopping-memory-panel[hidden]{display:none}.shopping-basket-status{color:#7a3f00;background:#fff7ed;border-radius:8px;margin:8px 0;padding:8px 10px;font-weight:900}.shopping-basket-status b{color:#0f4c81;font-style:normal}.shopping-shelf{background:linear-gradient(#ffffff6b,#f5f9ff94),linear-gradient(90deg,#7955482e,#0000 8% 92%,#7955482e);border:2px solid #8a684847;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px;margin:10px 0;padding:clamp(10px,1.4vw,16px);display:grid;box-shadow:inset 0 -12px #7955481f}.shopping-item-card{color:#12365f;cursor:pointer;min-height:84px;animation:.26s ease-out both gameDomIconPop;animation-delay:calc(var(--item-index,0) * 35ms);background:#fff;border:2px solid #cfe0f5;border-radius:8px;place-items:center;gap:2px;padding:7px;transition:transform .16s,border-color .16s,background .16s;display:grid}.shopping-item-card:disabled{cursor:default;opacity:.72}.shopping-item-card:not(:disabled):hover{border-color:#7bbf9b;transform:translateY(-2px)}.shopping-item-card.selected{background:#ecfdf5;border-color:#2f855a}.shopping-item-card.correct{border-color:#16a34a;box-shadow:inset 0 0 0 2px #16a34a33}.shopping-item-card.wrong{background:#fff1f2;border-color:#ef4444}.shopping-item-emoji{font-size:clamp(1.45rem,2.7vw,2.05rem)}.shopping-item-card b{font-size:clamp(.82rem,1.25vw,1rem)}.shopping-basket{background:#f8fbff;border:2px dashed #b7cce8;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:7px;display:flex}.shopping-basket-empty{color:#60708a;font-weight:800}.shopping-encouragement{text-align:center;color:#2f6f58;margin:8px 0 0;font-size:clamp(1rem,2vw,1.25rem);font-weight:950}.shopping-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.shopping-submit-btn,.shopping-clear-btn{min-width:136px}.rotate-shape{font-size:clamp(3rem,7vw,5rem);display:block}.fish-game-panel{background:linear-gradient(#dbeafef5 0 44%,#f0f9fffa 45% 60%,#cffafef5 61% 100%);border:2px solid #7dd3fcb8;border-radius:8px;grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch;gap:clamp(10px,1.5vh,16px);width:min(100%,1040px);height:min(100%,600px);min-height:clamp(400px,56vh,600px);margin:0 auto;padding:clamp(14px,2vw,22px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 56px #0f2b5324,inset 0 1px #ffffffe6}.fish-sky{pointer-events:none;position:absolute;inset:0 0 43%}.fish-sky span{opacity:.62;background:radial-gradient(circle at 20% 56%,#fffffff5 0 30%,#0000 31%),radial-gradient(circle at 45% 40%,#fffffffa 0 34%,#0000 35%),radial-gradient(circle at 72% 58%,#ffffffe6 0 27%,#0000 28%);border-radius:999px;width:clamp(96px,14vw,180px);height:clamp(28px,4vw,46px);position:absolute}.fish-sky span:first-child{top:10%;left:11%}.fish-sky span:last-child{top:18%;right:12%;transform:scale(.82)}.fish-water-surface{clip-path:polygon(0 18%,9% 13%,21% 18%,32% 11%,45% 17%,58% 12%,71% 18%,84% 12%,100% 17%,100% 100%,0 100%);pointer-events:none;background:radial-gradient(at 16% 18%,#ffffffc2 0 8%,#0000 9%),radial-gradient(at 58% 24%,#ffffff7a 0 7%,#0000 8%),radial-gradient(at 84% 16%,#ffffff8f 0 7%,#0000 8%),repeating-linear-gradient(-5deg,#ffffff57 0 3px,#0000 3px 42px),linear-gradient(#7dd3fcd1,#0e7490a3);height:47%;animation:3.6s ease-in-out infinite fishingWave;position:absolute;inset:auto -8% 0}.fish-boat-scene{z-index:1;min-height:clamp(250px,40vh,380px);position:relative}.fishing-boat{transform-origin:50% 80%;background:linear-gradient(100deg,#92400e 0 17%,#b45309 18% 77%,#78350f 78% 100%),linear-gradient(#f59e0b,#92400e);border-radius:0 0 42% 42%;width:clamp(190px,27vw,320px);height:clamp(78px,10vw,106px);animation:2.4s ease-in-out infinite boatRock;position:absolute;bottom:27%;left:clamp(28px,8vw,96px);box-shadow:0 14px #0f2b5329,inset 0 12px #fbbf2461}.fishing-boat:before{content:"";background:#fef3c7c2;border:5px solid #78350fe0;border-bottom:0;border-radius:28px 28px 0 0;height:26px;position:absolute;inset:-18px 14% auto}.fishing-boat:after{content:"";background:#fef3c78c;border-radius:999px;height:10px;position:absolute;bottom:16px;left:14%;right:14%}.fisher-person{z-index:2;background:linear-gradient(#fef3c7,#fed7aa);border:4px solid #ffffffc7;border-radius:999px;justify-content:center;align-items:center;width:clamp(58px,7vw,78px);height:clamp(58px,7vw,78px);font-size:clamp(2rem,4vw,3.2rem);display:inline-flex;position:absolute;bottom:58%;left:38%;box-shadow:0 12px 22px #0f2b5329}.fishing-rod{z-index:3;transform-origin:0;background:linear-gradient(90deg,#78350f,#451a03);border-radius:999px;width:clamp(150px,22vw,260px);height:6px;position:absolute;bottom:92%;left:62%;transform:rotate(-18deg);box-shadow:0 2px #ffffff42}.fishing-rod:after{content:"";border:3px solid #451a03;border-left:0;border-radius:999px;width:14px;height:14px;position:absolute;top:-4px;right:-8px}.fishing-line{z-index:2;opacity:0;transform-origin:top;background:#0f172a7a;border-radius:999px;width:3px;height:clamp(220px,79%,320px);position:absolute;top:27%;left:57%;transform:rotate(-60deg)}.fishing-bobber{z-index:4;opacity:0;background:linear-gradient(#ef4444 0 48%,#fff 49% 100%);border:3px solid #0f2b5338;border-radius:999px;width:clamp(24px,3.2vw,34px);height:clamp(38px,5vw,52px);position:absolute;bottom:24%;right:clamp(64px,14vw,150px);box-shadow:0 8px 18px #0f2b5329}.fishing-bobber:after{content:"";background:#ef4444;border-radius:999px;width:9px;height:9px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.fish-boat-scene.casting .fishing-rod{animation:.56s cubic-bezier(.16,1,.3,1) both castRod}.fish-boat-scene.casting .fishing-line,.fish-boat-scene.bite .fishing-line,.fish-boat-scene.caught .fishing-line,.fish-boat-scene.escaped .fishing-line,.fish-boat-scene.casting .fishing-bobber,.fish-boat-scene.bite .fishing-bobber,.fish-boat-scene.caught .fishing-bobber,.fish-boat-scene.escaped .fishing-bobber{opacity:1}.fish-boat-scene.casting .fishing-line{animation:.56s cubic-bezier(.16,1,.3,1) both lineCast}.fish-boat-scene.casting .fishing-bobber,.fish-boat-scene.bite .fishing-bobber{animation:1.3s ease-in-out infinite bobberIdle}.fish-boat-scene.bite .fishing-bobber{animation:.46s ease-in-out infinite bobberBite;box-shadow:0 0 0 9px #ef444429,0 8px 18px #0f2b532e}.fish-boat-scene.caught .fishing-bobber{animation:.34s cubic-bezier(.34,1.56,.64,1) both fishPop}.fish-boat-scene.escaped .fishing-bobber{opacity:.42;transform:translateY(18px)scale(.86)}.fish-bite-bubble{z-index:6;background:#fff;border:3px solid #2563eb42;border-radius:8px;width:min(48%,390px);min-width:300px;padding:clamp(10px,1.35vw,15px);animation:.28s cubic-bezier(.34,1.56,.64,1) both biteBubblePop;position:absolute;top:clamp(24px,5vh,44px);bottom:auto;right:clamp(24px,5vw,76px);box-shadow:0 18px 40px #0f2b532e}.fish-bite-bubble:after{content:"";background:#fff;border-bottom:3px solid #2563eb38;border-right:3px solid #2563eb38;width:30px;height:30px;position:absolute;bottom:-18px;right:20%;transform:rotate(45deg)}.fish-bubble-title{color:#dc2626;text-align:center;margin-bottom:8px;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:950}.fish-bite-bubble.is-trash .fish-bubble-title{color:#475569}.fish-card-grid{grid-template-columns:repeat(3,minmax(62px,1fr));gap:8px;display:grid}.fish-single-card-grid{grid-template-columns:minmax(150px,220px);justify-content:center}.fish-bite-card{color:#12365f;background:linear-gradient(#fff,#eff6ff);border:2px solid #94a3b873;border-radius:8px;place-items:center;gap:4px;min-width:0;min-height:clamp(62px,7.5vh,78px);padding:6px 5px;font-weight:950;animation:.3s cubic-bezier(.34,1.56,.64,1) both fishCardPop;display:grid;box-shadow:0 8px 16px #0f2b5314}.fish-bite-card span{font-size:clamp(1.35rem,2.6vw,2rem);line-height:1}.fish-bite-card b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(.76rem,1.25vw,.9rem);line-height:1.15;overflow:hidden}.fish-bite-card.is-target{background:linear-gradient(#f0fdf4,#dcfce7);border-color:#22c55e;box-shadow:0 0 0 5px #22c55e29,0 10px 20px #15803d1f}.fish-bite-card.is-trash{filter:saturate(.72);opacity:.9;background:linear-gradient(#f8fafc,#e2e8f0);border-color:#64748b80}.fish-bubble-help{color:#475569;text-align:center;word-break:keep-all;margin-top:8px;font-size:clamp(.86rem,1.25vw,1rem);font-weight:900;line-height:1.25}.fishing-timing-panel{z-index:5;background:#ffffffeb;border:3px solid #2563eb3d;border-radius:8px;justify-self:center;gap:8px;width:min(100%,760px);padding:12px 16px 14px;display:grid;position:relative;box-shadow:0 14px 30px #0f2b531f}.fishing-timing-panel[hidden],.fish-bite-bubble[hidden],.fish-catch-result[hidden]{display:none}.fishing-timing-panel.miss{animation:.22s ease-in-out timingMiss}.fishing-timing-label{color:#12365f;justify-content:space-between;gap:12px;font-size:clamp(.95rem,1.45vw,1.15rem);font-weight:950;display:flex}.fishing-timing-label span{color:#64748b}.fishing-timing-track{background:linear-gradient(90deg,#ef44441a,#fffffff2 20% 80%,#ef44441a),#eff6ff;border:2px solid #0f2b532e;border-radius:999px;height:clamp(36px,5.4vh,48px);position:relative;overflow:hidden}.fishing-safe-zone{background:linear-gradient(#86efac,#22c55e);width:24%;position:absolute;top:0;bottom:0;left:38%;box-shadow:inset 0 0 0 2px #15803d2e}.fishing-timing-needle{background:linear-gradient(#ef4444,#b91c1c);border-radius:999px;width:18px;animation:1.18s linear infinite alternate timingNeedleSweep;position:absolute;top:4px;bottom:4px;left:2%;box-shadow:0 0 0 4px #ef44442e,0 4px 10px #7f1d1d3d}.fish-catch-result{z-index:7;color:#12365f;text-align:center;background:linear-gradient(#fff7ed,#fef3c7);border:3px solid #f59e0b6b;border-radius:8px;justify-self:center;justify-items:center;gap:4px;width:min(100%,560px);padding:14px 20px;font-weight:950;animation:.28s cubic-bezier(.34,1.56,.64,1) both catchResultPop;display:grid;position:relative;box-shadow:0 18px 38px #92400e29}.fish-catch-result strong{font-size:clamp(1.2rem,2.2vw,1.8rem)}.fish-catch-result span{color:#b45309;font-size:clamp(1rem,1.8vw,1.25rem)}.fishing-status{z-index:5;color:#12365f;text-align:center;word-break:keep-all;background:#ffffffb8;border-radius:8px;justify-content:center;justify-self:center;align-items:center;width:min(100%,760px);min-height:42px;padding:8px 14px;font-size:clamp(.95rem,1.45vw,1.12rem);font-weight:900;line-height:1.35;display:flex;position:relative}.fish-actions{flex-wrap:wrap;justify-self:center;gap:14px;width:min(100%,560px)}.fish-cast-btn,.fish-catch-btn,.fish-recast-btn{min-height:clamp(66px,8vh,86px);font-size:clamp(1.25rem,2.4vw,2rem)}.fish-catch-btn{color:#fff;background:linear-gradient(#fb7185,#e11d48);box-shadow:0 16px 30px #e11d4833}.fish-catch-btn:disabled{filter:grayscale(.4);opacity:.62;cursor:not-allowed}.fish-recast-btn{color:#fff;background:linear-gradient(#22c55e,#0f766e);box-shadow:0 16px 30px #0f766e33}.fish-target-banner,.fish-target-big,.fish-waterline,.fish-pond,.fish-hole,.fish-target-hole,.fish-target-symbol,.fish-waiting{display:none}.fish-hole{cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden}.jigsaw-wrap{grid-template-columns:minmax(190px,.72fr) minmax(390px,1.62fr) minmax(230px,.82fr);align-items:start;gap:clamp(10px,1.15vw,20px);width:min(100%,1564px);max-width:1564px;max-height:min(74vh,720px);display:grid;overflow:hidden}.jigsaw-preview-wrap,.jigsaw-board-wrap,.jigsaw-tray-wrap{background:#ffffffe6;border:3px solid #1e40af38;border-radius:18px;flex-direction:column;align-items:center;gap:8px;min-width:0;max-width:100%;padding:clamp(10px,1.2vw,16px);display:flex;overflow:hidden;box-shadow:0 14px 30px #0f2b5324}.jigsaw-preview-wrap{background:linear-gradient(#eff6ff,#e0f2fe);border-color:#0284c76b}.jigsaw-board-wrap{background:linear-gradient(#f0fdf4,#fff);border-color:#16a34a75}.jigsaw-tray-wrap{background:linear-gradient(#fff7ed,#fff);border-color:#d9770675}.jigsaw-preview-mock{width:min(clamp(238px,27.5vw,437px),51vh);aspect-ratio:var(--jigsaw-aspect,1);background:#fff;border:3px solid #5ea0d8;border-radius:14px;justify-content:center;align-items:center;font-size:clamp(2rem,4vw,3rem);display:flex}.jigsaw-board-container{width:min(clamp(250px, 30vw, 430px), var(--jigsaw-board-fit,58vh), calc(100vh - 300px));aspect-ratio:var(--jigsaw-aspect,1);background:#fff;border:3px solid #5ea0d8;border-radius:14px;justify-content:center;align-items:center;margin:clamp(4px,.7vw,10px);font-size:clamp(2rem,4vw,3rem);display:flex}.jigsaw-tray-container{background:#fffbebad;border:2px dashed #d9770657;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));justify-content:center;gap:7px;width:min(100%,387px);max-height:min(52vh,504px);padding:6px;display:grid;overflow-y:auto}.jigsaw-piece{background:linear-gradient(#fff7ed,#fffbeb);border:2px solid #f59e0b;min-height:clamp(67px,6.3vh,85px);padding:5px;font-size:.82rem;box-shadow:0 8px 16px #b4530924}.jigsaw-board-mock.filled{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e;box-shadow:0 0 0 6px #22c55e24}.market-sign{color:#fff;background:#12365f;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:-3px 0 10px;padding:8px 14px;font-weight:950;display:flex}.market-sign strong{color:#facc15}.market-counter{justify-content:center;gap:10px;margin-top:9px;display:flex}.market-counter-icon{background:#fff;border-radius:15px;place-items:center;width:clamp(40px,5.4vw,54px);height:clamp(40px,5.4vw,54px);font-size:clamp(1.6rem,3vw,2.4rem);animation:2.2s ease-in-out infinite tileFloat;display:grid;box-shadow:0 8px 18px #92400e1a}.color-stage{grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr);align-items:stretch;gap:16px;display:grid}.color-object-badge,.color-spotlight{background:#ffffffe6;border:2px solid #2563eb29;border-radius:20px;place-items:center;gap:8px;min-height:150px;display:grid;box-shadow:inset 0 1px #ffffffe6,0 10px 20px #0f2b531a}.color-object-badge span{font-size:clamp(3rem,6vw,4.6rem)}.color-object-badge strong{color:#12365f;font-size:clamp(1.1rem,2vw,1.55rem)}.color-spotlight{background:radial-gradient(circle at 50% 36%,#fffffff2 0 24%,#0000 25%),linear-gradient(135deg,#f8fafc,#eff6ff)}.color-spotlight .color-swatch{border-radius:24px;width:clamp(68px,10vw,106px);height:clamp(68px,10vw,106px);box-shadow:0 0 0 8px #ffffffc7,0 16px 28px #0f2b5324}.color-word-text{color:#12365f;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:950}.spot-diff-stage{background:linear-gradient(135deg,#eff6fff0,#ecfdf5e6);border:3px solid #2563eb33;border-radius:24px;gap:14px;width:min(100%,760px);margin:0 auto;padding:clamp(14px,2vw,22px);display:grid;box-shadow:0 18px 38px #0f2b5321}.spot-diff-title{color:#12365f;font-size:clamp(1.08rem,1.8vw,1.4rem);font-weight:950}.spot-diff-grid{grid-template-columns:repeat(2,minmax(140px,1fr));gap:clamp(12px,2vw,18px);display:grid}.visual-tile,.focus-target-preview{--tile-color:#64748b;border-color:color-mix(in srgb, var(--tile-color) 50%, #fff);background:radial-gradient(circle at 30% 20%, #ffffffe6, transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--tile-color) 16%, #fff), #fff);position:relative}.visual-tile.red,.focus-target.red,.focus-target-preview.red{--tile-color:#ef4444}.visual-tile.blue,.focus-target.blue,.focus-target-preview.blue{--tile-color:#2563eb}.visual-tile.green,.focus-target.green,.focus-target-preview.green{--tile-color:#22c55e}.visual-tile.yellow,.focus-target.yellow,.focus-target-preview.yellow{--tile-color:#facc15}.visual-tile{color:#12365f;cursor:pointer;align-content:center;justify-items:center;gap:8px;min-height:clamp(130px,19vh,184px);padding:14px;animation:.26s both cardReveal;display:grid}.visual-tile .tile-index{color:#fff;background:#12365f;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.98rem;display:grid;position:absolute;top:10px;left:10px}.visual-glyph{color:var(--tile-color);filter:drop-shadow(0 8px 10px #0f2b5324);font-size:clamp(3rem,7vw,5.4rem);line-height:1}.visual-tile b{color:#12365f;word-break:keep-all;max-width:8em;font-size:clamp(1rem,1.7vw,1.32rem);line-height:1.25}.visual-tile.large .visual-glyph,.focus-target.large .visual-glyph{transform:scale(1.16)}.visual-tile.small .visual-glyph,.focus-target.small .visual-glyph{transform:scale(.78)}.visual-tile.outlined .visual-glyph,.focus-target.outlined .visual-glyph{text-shadow:0 0 #12365f,0 0 8px #0f2b5357}.visual-tile.striped,.focus-target.striped{background:repeating-linear-gradient(135deg,#2563eb1f 0 9px,#0000 9px 18px),#fff}.visual-tile.dotted,.focus-target.dotted{background-color:#fff;background-image:radial-gradient(circle,#f59e0b3d 0 5px,#0000 6px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.number-road{background:linear-gradient(90deg,#2563eb14 0 2px,#0000 2px 36px),linear-gradient(135deg,#f8fafc,#ecfeff);border:3px solid #2563eb38;border-radius:26px;justify-items:center;gap:16px;width:min(100%,840px);margin:0 auto;padding:clamp(16px,2.4vw,26px);display:grid;box-shadow:0 18px 38px #0f2b531f}.number-road-sign{color:#fff;background:#12365f;border-radius:999px;padding:8px 18px;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:950}.number-road-checkpoints{color:#12365f;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(100%,560px);height:42px;font-size:clamp(.9rem,1.45vw,1.08rem);font-weight:950;display:grid}.number-road-checkpoints:before{content:"";background:repeating-linear-gradient(90deg,#60a5fa 0 24px,#0000 24px 36px);border-radius:999px;grid-area:1/2;height:8px}.number-runner{z-index:1;background:#fff;border:3px solid #2563eb47;border-radius:999px;grid-area:1/2;justify-self:start;place-items:center;width:42px;height:42px;font-size:1.45rem;animation:2.1s ease-in-out infinite alternate roadRunner;display:grid;position:relative;box-shadow:0 10px 18px #0f2b5324}.number-track{background:linear-gradient(#0000 43%,#2563eb33 44% 56%,#0000 57%),#ffffffad;border-radius:22px;align-items:center;width:100%;min-height:clamp(100px,17vh,150px);padding:16px}.number-tile,.number-node{animation:numberTileIn .32s ease calc(var(--tile-index,0) * 45ms) both;position:relative}.number-tile span,.number-node span{z-index:1;position:relative}.number-road-finish{color:#047857;background:#dcfce7;border-radius:999px;padding:6px 16px;font-weight:950}.chain-links{opacity:.7;background:repeating-linear-gradient(90deg,#93c5fd 0 26px,#0000 26px 42px);border-radius:999px;width:min(100%,620px);height:16px}.word-stage{background:radial-gradient(circle at 12% 16%,#ffffffd6 0 9%,#0000 10%),linear-gradient(135deg,#fff7ed,#eff6ff);border:3px solid #f59e0b3d;border-radius:24px;padding:clamp(14px,2vw,22px);box-shadow:0 18px 38px #92400e1f}.word-problem-card{justify-content:center;align-items:center;gap:14px;display:flex}.word-clue-icon{font-size:clamp(2rem,4vw,3.2rem)}.counting-item-name{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;display:flex}.counting-item-name span{font-size:clamp(2rem,4vw,3rem)}.counting-item-name em{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:4px 12px;font-size:.9rem;font-style:normal}.counting-loose-scene .counting-grid{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:10px;display:grid}.counting-loose-scene .counting-item{animation:numberTileIn .26s ease calc(var(--tile-index,0) * 35ms) both}.pair-stage{grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center}.pair-link-line{background:repeating-linear-gradient(90deg,#60a5fa 0 18px,#0000 18px 28px);border-radius:999px;width:clamp(48px,8vw,90px);height:14px}.pair-placeholder span{color:#f59e0b;font-size:clamp(3rem,6vw,4.2rem);display:block}.reverse-conveyor{background:linear-gradient(135deg,#ecfeff,#f0fdf4)}.word-bridge-stage{border-color:#0ea5e942;gap:12px;box-shadow:0 16px 32px #0e749024}.word-bridge-river{background:linear-gradient(#ffffff7a,#fff0),linear-gradient(135deg,#7dd3fc,#38bdf8 52%,#0ea5e9);border-radius:28px;grid-template-columns:repeat(7,minmax(38px,1fr));align-items:center;gap:clamp(5px,1vw,10px);width:min(100%,680px);min-height:112px;padding:18px;display:grid;overflow:hidden}.counting-challenge-scene{background:linear-gradient(135deg,#f8fafc,#ecfeff);grid-template-columns:minmax(220px,.82fr) minmax(300px,1.35fr);align-items:stretch;width:min(100%,900px)}.counting-problem-panel,.counting-work-panel{border-radius:18px;align-content:start;gap:10px;min-width:0;padding:clamp(12px,1.8vw,18px);display:grid}.counting-problem-panel{color:#1e3a8a;background:radial-gradient(circle at 20% 12%,#ffffffe6,#0000 34%),linear-gradient(#dbeafe,#eff6ff);border:2px solid #bfdbfe}.counting-work-panel{background:radial-gradient(circle at 15% 12%,#ffffffe6,#0000 30%),linear-gradient(#f0fdf4,#fff);border:2px solid #bbf7d0}.counting-panel-kicker{color:#0369a1;background:#ffffffd1;border-radius:999px;width:fit-content;padding:4px 10px;font-size:clamp(.8rem,1.2vw,.95rem);font-weight:950}.counting-problem-panel h3{margin:0;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.2}.counting-problem-panel p{color:#12365f;word-break:keep-all;margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:900;line-height:1.35}.bridge-stone{aspect-ratio:1/.78;color:#0f172a;background:#f8fafc;border:3px solid #0f172a1f;border-radius:50%;place-items:center;font-size:clamp(1.5rem,3vw,2.5rem);display:grid;box-shadow:0 10px 18px #0c4a6e2e}.bridge-stone.done{background:#dcfce7;border-color:#16a34a5c}.bridge-stone.current{background:#fef3c7;border-color:#f59e0b;transform:translateY(-8px);box-shadow:0 16px 24px #d977063d}.bridge-walker{display:inline-block;transform:scaleX(-1)}.word-bridge-goal{color:#0f766e;font-size:clamp(1rem,1.6vw,1.28rem);font-weight:950}.word-bridge-clue{color:#12365f;text-align:center;background:#ffffffe0;border:2px solid #0ea5e938;border-radius:18px;justify-items:center;gap:8px;width:min(100%,660px);padding:clamp(14px,2vw,22px);display:grid}.word-bridge-clue span{color:#0369a1;font-size:clamp(.9rem,1.4vw,1.05rem);font-weight:950}.word-bridge-clue strong{font-size:clamp(1.15rem,2.38vw,2rem);font-weight:950}.word-bridge-question-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;display:flex}.word-bridge-question{color:#1d4ed8}.word-bridge-slots{flex-wrap:wrap;justify-content:center;gap:5px;display:inline-flex}.word-bridge-slots i{background:#eff6ff;border:2px solid #93c5fd;border-radius:8px;width:clamp(24px,3.4vw,38px);height:clamp(24px,3.4vw,38px)}.word-bridge-hint{color:#047857;margin:0;font-size:clamp(1.02rem,2.1vw,1.75rem);font-weight:900;line-height:1.3}.word-bridge-options{justify-content:center;width:min(100%,760px)}.counting-object-grid{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));width:100%;max-height:260px;overflow:auto}.counting-object-grid .counting-item{background:radial-gradient(circle at 50% 18%,#fffffff5,#0000 42%),linear-gradient(#fff,#f0fdf4);border-radius:16px;flex-direction:column;gap:4px;min-height:74px;box-shadow:0 8px 16px #15803d1a}.counting-object-grid .counting-item b{font-size:clamp(1.55rem,2.7vw,2.25rem)}.counting-object-grid .counting-item em{color:#14532d;font-size:clamp(.72rem,1.1vw,.88rem);font-style:normal;font-weight:900}.word-bridge-option{border-color:#7dd3fc;min-width:clamp(104px,18vw,190px)}.story-timeline{width:min(100%,780px);margin:0 auto;position:relative}.story-road{background:repeating-linear-gradient(90deg,#2563eb57 0 24px,#0000 24px 38px);border-radius:999px;height:12px;position:absolute;top:50%;left:8%;right:8%;transform:translateY(-50%)}.story-timeline .story-cards{z-index:1;position:relative}.story-status{color:#12365f;background:#eff6ff;border-radius:999px;place-items:center;min-height:42px;padding:8px 16px;font-weight:950;display:grid}.story-status.error{color:#b91c1c;background:#fee2e2}.maze-stage{background:linear-gradient(135deg,#dbeafee6,#ecfdf5e6);border:3px solid #2563eb33;border-radius:26px;justify-items:center;gap:7px;width:min(100%,760px);max-height:min(62vh,600px);margin:0 auto;padding:clamp(8px,1.2vw,14px);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px #0f2b531f}.maze-hero{background-image:var(--maze-scene-image);background-position:50%;background-size:cover;border:3px solid #0f2b5329;border-radius:20px;width:min(100%,620px);height:clamp(86px,14vh,150px);box-shadow:inset 0 0 0 999px #ffffff0f,0 10px 20px #0f2b5329}.maze-status-row{color:#12365f;justify-content:space-between;align-items:center;gap:10px;width:min(100%,620px);font-weight:1000;display:flex}.maze-badge{color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:78px;padding:6px 12px;font-size:clamp(.9rem,1.3vw,1.05rem);display:inline-flex}.maze-entrance{background:#2563eb}.maze-exit-label{background:#16a34a}.maze-mission{color:#0f766e;text-align:center;word-break:keep-all;margin:0;font-size:clamp(.95rem,1.35vw,1.12rem);font-weight:950}.maze-stage .game-dom-maze-board{grid-template-columns:repeat(var(--maze-size,5), 1fr);aspect-ratio:1;background:linear-gradient(#ffffff80, #ffffff80), var(--maze-scene-image), #dbeafe;background-position:50%;background-size:cover;border-radius:22px;gap:clamp(2px,.45vw,4px);width:min(100%,560px,48vh);padding:clamp(6px,.9vw,10px);display:grid;box-shadow:inset 0 0 0 3px #0f2b5324}.maze-cell{color:#12365f;background:#ffffffe0;border:2px solid #2563eb2e;border-radius:8px;place-items:center;min-width:0;min-height:0;font-size:clamp(.48rem,.72vw,.72rem);font-weight:950;display:grid;position:relative;overflow:hidden}.maze-cell span{font-size:clamp(.9rem,1.6vw,1.45rem)}.maze-cell.player,.maze-cell.exit,.maze-cell.key{animation:1.6s ease-in-out infinite alternate mazeGlow}.maze-cell.player{background:#fff7ad;border-color:#ca8a04;box-shadow:0 0 0 4px #facc156b,0 10px 18px #0f2b5329}.maze-cell.player span{display:none}.maze-cell.player:before{content:"🚶";filter:drop-shadow(0 3px 3px #0f2b5347);place-items:center;width:82%;height:82%;font-size:clamp(1.6rem,2.66vw,2.42rem);line-height:1;display:grid;transform:translateY(-1px)}.maze-cell.exit{color:#0000;background:linear-gradient(#dcfce7 0 16%,#0000 17%),linear-gradient(135deg,#a16207 0 18%,#fef3c7 19% 50%,#854d0e 51% 100%);border-color:#16a34a}.maze-cell.exit:before{content:"";background:linear-gradient(90deg,#ffffffb3 0 46%,#7c2d12 47% 53%,#ffffffd1 54% 100%),linear-gradient(#fde68a,#fef3c7);border:4px solid #7c2d12;border-bottom-width:7px;border-radius:42% 42% 8px 8px;position:absolute;inset:12% 16% 8%;box-shadow:inset 0 0 0 3px #facc157a,0 8px 14px #0f2b5329}.maze-cell.exit:after{content:"";transform-origin:0;background:linear-gradient(135deg,#facc15,#fef3c7);border:3px solid #7c2d12;border-radius:4px;width:26%;height:48%;position:absolute;bottom:13%;right:18%;transform:perspective(80px)rotateY(-36deg)}.maze-cell.key{background:#fef3c7;border-color:#f59e0b}.maze-cell.trap.revealed{color:#0000;background:radial-gradient(circle at 50% 52%,#020617 0 28%,#1e293b 29% 42%,#64748b 43% 54%,#0000 55%),radial-gradient(circle,#ef44446b,#0000 64%),#fee2e2;border-color:#ef4444}.maze-cell.wall.revealed{color:#0000;background:linear-gradient(90deg,#ffffff2e 2px,#0000 2px) 0 0/20px 14px,linear-gradient(0deg,#ffffff24 2px,#0000 2px) 0 0/100% 14px,linear-gradient(135deg,#9a6b46 0%,#6f4e37 45%,#493326 100%) 0 0/cover;border-color:#3f2b22}.maze-cell.path.revealed,.maze-cell.visited:not(.player):not(.exit){color:#166534;background:#dcfce7;border-color:#16a34a}.maze-cell.hidden-tile:not(.player):not(.exit){box-shadow:none;background:#ffffff29;border-color:#ffffff2e}.maze-cell.hidden-tile:not(.player):not(.exit) span,.maze-cell.hidden-tile:not(.player):not(.exit) b{visibility:hidden}.maze-cell.exit span,.maze-cell.exit b,.maze-cell.wall.revealed span,.maze-cell.wall.revealed b,.maze-cell.trap.revealed b{display:none}.maze-cell.diamond.revealed:not(.player){background:#e0f2fe;border-color:#0284c7}.maze-cell.diamond.maze-diamond-flash{animation:.85s ease-in-out mazeDiamondFlash}.maze-cell.diamond.maze-diamond-flash:after{content:"💎";filter:drop-shadow(0 0 8px #38bdf8cc);font-size:clamp(1.1rem,2vw,1.8rem);position:absolute}.maze-cell.maze-blocked,.maze-stage.maze-blocked{animation:.32s ease-in-out mazeBlocked}.maze-success-celebration{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:8%}.maze-success-celebration[hidden]{display:none}.maze-success-celebration strong{color:#166534;text-align:center;background:#fffffff0;border:4px solid #facc15;border-radius:24px;max-width:min(92%,520px);padding:18px 24px;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:1000;animation:.65s ease-in-out infinite alternate mazeSuccessBlink;box-shadow:0 18px 44px #0f2b5338}.maze-confetti{position:absolute;inset:0;overflow:hidden}.maze-confetti span{background:#facc15;border-radius:4px;width:14px;height:24px;animation:1.2s ease-in-out infinite mazeConfettiFall;position:absolute;top:-16px}.maze-confetti span:nth-child(2){background:#38bdf8;animation-delay:.12s;left:18%}.maze-confetti span:nth-child(3){background:#fb7185;animation-delay:.24s;left:34%}.maze-confetti span:nth-child(4){background:#4ade80;animation-delay:80ms;left:52%}.maze-confetti span:nth-child(5){background:#a78bfa;animation-delay:.18s;left:70%}.maze-confetti span:nth-child(6){background:#f97316;animation-delay:.3s;left:86%}.maze-diamond-score{z-index:7;color:#0369a1;opacity:0;background:#e0f2fe;border-radius:999px;padding:8px 14px;font-size:clamp(1rem,2vw,1.35rem);font-weight:1000;position:absolute;bottom:16%;right:14%;box-shadow:0 12px 26px #0e749038}.maze-diamond-score.show{animation:.9s ease-out mazeDiamondScore}.maze-score-pop{animation:.6s ease-out mazeDiamondScore}.maze-compass{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.maze-compass span{color:#12365f;background:#ffffffd6;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-weight:950;display:inline-flex}.maze-compass span.safe{color:#166534;background:#dcfce7}.maze-compass span.danger{color:#991b1b;background:#fee2e2}.maze-dir-btn{place-items:center;gap:4px;display:grid}.maze-dir-btn span{font-size:clamp(1.15rem,1.92vw,1.6rem)}.game-dom-kind-maze .game-dom-play-area{gap:clamp(8px,1.2vh,14px)}.game-dom-kind-maze .maze-stage{gap:8px;padding:clamp(10px,1.5vw,16px)}.maze-control-pad{grid-template-columns:repeat(3,minmax(50px,1fr));grid-template-areas:".up.""left.right"".down.";gap:8px;width:min(100%,333px);margin:0 auto;display:grid}.game-dom-kind-maze .dir-btn{color:#12365f;background:linear-gradient(#eff6ff,#bfdbfe);border:4px solid #1d4ed8;border-radius:12px;min-height:clamp(34px,4.5vh,46px);font-size:clamp(.72rem,1vw,.82rem);font-weight:1000;box-shadow:0 10px 18px #2563eb2e}.maze-위쪽{grid-area:up}.maze-왼쪽{grid-area:left}.maze-오른쪽{grid-area:right}.maze-아래쪽{grid-area:down}.rotate-machine{background:linear-gradient(135deg,#faf5ff,#eff6ff);border:3px solid #7c3aed38;border-radius:26px;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:16px;width:min(100%,680px);margin:0 auto;padding:clamp(16px,2.4vw,24px);display:grid;box-shadow:0 18px 38px #4c1d951f}.rotate-card{background:#fff;border:2px solid #7c3aed38;border-radius:20px;place-items:center;gap:8px;min-height:150px;padding:14px;display:grid}.rotate-card.target{background:#ffffffb8;border-style:dashed}.rotate-gear{color:#7c3aed;font-size:clamp(2.4rem,5vw,4rem);font-weight:950;animation:1.7s linear infinite gearTurn}.rotate-shape.ghost{opacity:.38}.rotate-choice span{color:#7c3aed;font-size:clamp(2rem,4vw,3.2rem);display:block}.tangram-stage{background:#fbfcfe;border:2px solid #0f2b5329;border-radius:18px;grid-template-columns:minmax(340px,1fr) minmax(230px,330px);align-items:center;gap:clamp(22px,6vw,96px);width:min(100%,1040px);min-height:min(620px,62vh);margin:0 auto;padding:clamp(22px,3vw,42px);display:grid;position:relative;box-shadow:inset 0 0 0 1px #0f2b530a}.tangram-board-wrap,.tangram-tray{box-shadow:none;background:0 0;border:0;border-radius:0}.tangram-board-wrap{place-items:center;min-height:0;padding:clamp(76px,8vh,96px) clamp(8px,1.5vw,18px) clamp(8px,1.5vw,18px);display:grid;position:relative}.tangram-board{aspect-ratio:1;width:min(100%,560px,54vh);box-shadow:none;background:0 0;border:0;border-radius:0;position:relative;overflow:hidden}.tangram-board.drag-over{background:#22c55e14;box-shadow:inset 0 0 0 5px #22c55e57}.tangram-guide{opacity:0;pointer-events:none;z-index:5;transition:opacity .18s;position:absolute;inset:0}.tangram-board.show-guide .tangram-guide{opacity:1}.tangram-guide-piece,.tangram-slot{width:var(--tangram-small-size,24%);height:var(--tangram-small-size,24%);transform:translate(-50%, -50%) rotate(var(--tangram-rotation,0deg));transform-origin:50%;position:absolute}.tangram-slot-large-red,.tangram-slot-large-yellow,.tangram-guide-large-red,.tangram-guide-large-yellow{width:48%;height:48%}.tangram-slot-medium-blue,.tangram-guide-medium-blue{width:34%;height:34%}.tangram-slot-small-sky,.tangram-slot-small-orange,.tangram-guide-small-sky,.tangram-guide-small-orange{width:24%;height:24%}.tangram-slot-square-green,.tangram-guide-square-green{width:34%;height:34%}.tangram-slot-para-purple,.tangram-guide-para-purple{width:48%;height:24%}.tangram-guide-piece{opacity:1;filter:drop-shadow(0 0 2px #ffffffd9);background:0 0;border:3px solid #2b343ddb}.tangram-slot{z-index:2;filter:none;background:#d2d9df;border:0}.tangram-slot.placed{z-index:4;filter:none;box-shadow:none;background:0 0;border-color:#0000}.tangram-slot.wrong{background:#ef44442e;animation:.52s ease-in-out jigsawWrongReturn}.tangram-tray{place-items:center;padding:clamp(8px,1.4vw,16px);display:grid}.tangram-tray-board{aspect-ratio:1;box-sizing:border-box;width:min(100%,297px,37vh);box-shadow:none;background:0 0;border:0;border-radius:0;position:relative;overflow:hidden}.tangram-piece-btn{color:#12365f;appearance:none;cursor:grab;transform-origin:50%;background:0 0;border:0;border-radius:0;padding:0;font-size:.72rem;font-weight:900;line-height:0;transition:transform .16s,filter .16s,opacity .16s;display:block;position:absolute;overflow:hidden}.tangram-piece-btn.selected{filter:drop-shadow(0 14px 18px #0f172a38);z-index:8}.tangram-tray-board .tangram-piece-btn.selected{filter:none}.tangram-tray-board .tangram-piece-btn.moved .tangram-piece-shape{opacity:0}.tangram-piece-btn.dragging{cursor:grabbing;opacity:.75}.tangram-piece-btn.moved{opacity:1}.tangram-piece-btn.wrong-return{animation:.52s ease-in-out jigsawWrongReturn}.tangram-slot.selected{filter:drop-shadow(0 0 .5rem #2563eb85);outline-offset:4px;outline:4px solid #2563eb}.tangram-slot.placed-wrong{filter:drop-shadow(0 0 .45rem #f9731673)}.tangram-rotate-panel{z-index:18;background:#fff;border:3px solid #111827;border-radius:999px;gap:8px;padding:7px;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 12px 24px #0f172a33}.tangram-rotate-panel[hidden]{display:none}.tangram-rotate-btn{color:#fff;cursor:pointer;touch-action:none;width:48px;height:48px;transform:rotate(var(--tangram-button-rotation,0deg));background:#111827;border:0;border-radius:50%;place-items:center;font-size:2rem;font-weight:900;line-height:1;display:grid}.tangram-rotate-btn:active{background:#1f2937}.tangram-rotate-btn.rotating{background:#2563eb}.tangram-piece-shape{box-sizing:border-box;width:100%;height:100%;transform:rotate(var(--tangram-rotation,0deg));transform-origin:50%;border:3px solid #111827;display:block;box-shadow:0 8px 14px #0f2b5324}.tangram-piece-btn>span:last-child{display:none}.tangram-slot .tangram-piece-shape{width:100%;height:100%}.tangram-slot-large-red,.tangram-slot-large-yellow,.tangram-guide-large-red,.tangram-guide-large-yellow{clip-path:polygon(0 0,100% 0,0 100%)}.tangram-slot-medium-blue,.tangram-slot-small-sky,.tangram-slot-small-orange,.tangram-guide-medium-blue,.tangram-guide-small-sky,.tangram-guide-small-orange{clip-path:polygon(50% 0,100% 100%,0 100%)}.tangram-slot-square-green,.tangram-guide-square-green{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tangram-slot-para-purple,.tangram-guide-para-purple{clip-path:polygon(50% 0,100% 0,50% 100%,0 100%)}.tray-large-red{width:50%;height:100%;top:0;left:0}.tray-large-yellow{width:100%;height:50%;top:0;left:0}.tray-small-orange{width:25%;height:50%;top:0;right:0}.tray-square-green{width:50%;height:50%;top:25%;left:50%}.tray-medium-blue{width:50%;height:50%;bottom:0;right:0}.tray-small-sky{width:50%;height:25%;top:50%;left:25%}.tray-para-purple{width:75%;height:25%;bottom:0;left:0}.tray-large-red .tangram-piece-shape{clip-path:polygon(0 0,100% 50%,0 100%)}.tray-large-yellow .tangram-piece-shape{clip-path:polygon(0 0,100% 0,50% 100%)}.tray-small-orange .tangram-piece-shape{clip-path:polygon(100% 0,100% 100%,0 50%)}.tray-medium-blue .tangram-piece-shape{clip-path:polygon(100% 0,100% 100%,0 100%)}.tray-small-sky .tangram-piece-shape{clip-path:polygon(50% 0,100% 100%,0 100%)}.tray-para-purple .tangram-piece-shape{clip-path:polygon(33.333% 0,100% 0,66.667% 100%,0 100%)}.tangram-large-red,.tangram-large-yellow{clip-path:polygon(0 0,100% 0,0 100%)}.tangram-medium-blue,.tangram-small-sky,.tangram-small-orange{clip-path:polygon(50% 0,100% 100%,0 100%)}.tangram-square-green{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tangram-para-purple{clip-path:polygon(50% 0,100% 0,50% 100%,0 100%)}.tangram-large-red{background:#ef2b2d}.tangram-large-yellow{background:#f8e72e}.tangram-medium-blue{background:#315ca8}.tangram-small-sky{background:#8cc3e6}.tangram-small-orange{background:#f89420}.tangram-square-green{background:#6bc18b}.tangram-para-purple{background:#a95aa3}.tangram-guide-large-red,.tangram-guide-large-yellow,.tangram-guide-medium-blue,.tangram-guide-small-sky,.tangram-guide-small-orange,.tangram-guide-square-green,.tangram-guide-para-purple{background:0 0}.tangram-preview-btn{background:#fff;border:3px solid #12365f;border-radius:999px;place-items:center;width:93px;height:66px;display:grid;position:absolute;top:4px;bottom:auto;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #0f2b532e}.tangram-preview-btn span{font-size:2.18rem}.tangram-success{z-index:12;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tangram-success[hidden]{display:none}.tangram-confetti span{background:#facc15;border-radius:5px;width:16px;height:28px;animation:1.2s ease-in-out infinite mazeConfettiFall;position:absolute;top:-20px}.tangram-confetti span:first-child{background:#ef4444;left:8%}.tangram-confetti span:nth-child(2){background:#38bdf8;animation-delay:.12s;left:23%}.tangram-confetti span:nth-child(3){background:#f97316;animation-delay:.24s;left:38%}.tangram-confetti span:nth-child(4){background:#22c55e;animation-delay:80ms;left:56%}.tangram-confetti span:nth-child(5){background:#a855f7;animation-delay:.18s;left:72%}.tangram-confetti span:nth-child(6){background:#facc15;animation-delay:.3s;left:88%}.focus-game-stage{border-width:3px;border-color:#14b8a638;border-radius:24px;width:min(100%,760px)}.focus-rule-text{color:#12365f;word-break:keep-all;justify-content:center;align-items:center;gap:10px;font-size:clamp(1rem,1.7vw,1.28rem);font-weight:950;display:flex}.focus-target-preview{border:2px solid color-mix(in srgb, var(--tile-color) 48%, #fff);width:48px;height:48px;color:var(--tile-color);border-radius:14px;place-items:center;font-size:1.8rem;display:inline-grid}.focus-target{color:#12365f;place-items:center;gap:2px;min-width:clamp(86px,13vw,120px);min-height:clamp(78px,11vw,108px);display:grid}.focus-target .visual-glyph{font-size:clamp(2rem,4vw,3.2rem)}.focus-target b{word-break:keep-all;max-width:9em;font-size:clamp(.82rem,1.3vw,.98rem)}.jigsaw-preview-mock,.jigsaw-picture-preview{grid-template-columns:repeat(var(--jigsaw-cols,2), 1fr);grid-template-rows:repeat(var(--jigsaw-rows,2), 1fr);display:grid;overflow:hidden}.jigsaw-preview-mock span,.jigsaw-picture-preview span{place-items:center;width:100%;height:100%;display:grid}.jigsaw-preview-mock span{background-color:#f0f9ff}.jigsaw-picture-preview span{background-color:#0000}.jigsaw-picture-preview{width:min(clamp(169px,20vw,300px),40vh);aspect-ratio:var(--jigsaw-aspect,1);background-color:#e0f2fe;background-image:var(--jigsaw-image);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:3px solid #1f5f9d;border-radius:18px;box-shadow:0 18px 34px #0f2b5329}.jigsaw-picture-preview.preview-small{width:min(clamp(154px,17.7vw,254px),36vh)}.jigsaw-picture-preview.preview-brief{opacity:.78;width:min(clamp(146px,16.2vw,231px),33vh)}.jigsaw-picture-preview.preview-faded{opacity:.55;filter:saturate(.82)blur(.6px);width:min(clamp(139px,15.4vw,216px),31vh)}.jigsaw-image-tile,.jigsaw-piece-image{background-image:var(--jigsaw-image);background-size:var(--jigsaw-bg-width,200%) var(--jigsaw-bg-height,200%);background-position:var(--piece-position);background-color:#0000;background-repeat:no-repeat}.jigsaw-board-mock{grid-template-columns:repeat(var(--jigsaw-cols,2), 1fr);grid-template-rows:repeat(var(--jigsaw-rows,2), 1fr);color:#12365f;border-style:dashed;border-radius:12px;gap:0;width:100%;height:100%;display:grid;overflow:hidden}.jigsaw-slot-cell{color:#12365f;min-width:0;min-height:0;font:inherit;cursor:default;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:2px dashed #7aaed6;place-items:center;gap:0;padding:0;display:grid}.jigsaw-slot-cell.empty{cursor:pointer;background:repeating-linear-gradient(45deg,#2563eb14 0 8px,#ffffffb8 8px 16px),#fff}.jigsaw-slot-cell.placed{background:#ecfdf5;border:2px solid #22c55e}.jigsaw-slot-cell.wrong-return{background:#fee2e2;border-color:#ef4444;animation:.52s ease-in-out jigsawWrongReturn}.jigsaw-slot-cell.drag-over{background:#fffbeb;border-color:#f59e0b;box-shadow:inset 0 0 0 5px #f59e0b2e}.jigsaw-slot-cell .jigsaw-piece-image{color:#1d4ed8;width:100%;height:100%;min-height:0;box-shadow:none;background-color:#fff;border:1px solid #0f2b532e;border-radius:0;place-items:center;display:grid}.jigsaw-piece .jigsaw-piece-image{aspect-ratio:1;background-color:#fff;border:1px solid #0f2b532e;border-radius:10px;place-items:center;width:min(100%,clamp(43px,4.5vw,68px));height:auto;display:grid;box-shadow:0 8px 16px #0f2b5324}.jigsaw-slot-cell.empty .jigsaw-piece-image{box-shadow:none;background-image:none;border:3px dashed #1d4ed8}.jigsaw-piece-image em{aspect-ratio:1;color:#1d4ed8;background:#fff;border-radius:14px;place-items:center;width:clamp(34px,5vw,52px);font-style:normal;font-weight:1000;display:grid}.jigsaw-slot-cell.fixed span,.jigsaw-slot-cell.placed span{font-size:clamp(1.6rem,3vw,2.4rem)}.jigsaw-slot-cell b{word-break:keep-all;max-width:5.4em;font-size:clamp(.62rem,1vw,.74rem);line-height:1.1;display:none}.jigsaw-piece.moved{opacity:.42;filter:grayscale(.75);background:linear-gradient(#e2e8f0,#f8fafc);border-color:#94a3b8;transform:scale(.94)}.jigsaw-piece.returning{opacity:.7;filter:none;background:#fee2e2;border-color:#ef4444}.jigsaw-piece{cursor:grab;touch-action:manipulation;border-color:#bfdbfe;border-radius:12px;place-items:center;gap:4px;min-width:0;min-height:clamp(74px,7vw,98px);display:grid}.jigsaw-piece:active{cursor:grabbing}.jigsaw-piece b{font-size:.66rem;display:none}@media (width<=1180px){.jigsaw-wrap{grid-template-columns:minmax(170px,.72fr) minmax(320px,1.35fr);grid-template-areas:"preview board""tray board";max-height:none}.jigsaw-preview-wrap{grid-area:preview}.jigsaw-board-wrap{grid-area:board}.jigsaw-tray-wrap{grid-area:tray}.jigsaw-board-container{width:min(clamp(240px, 40vw, 410px), var(--jigsaw-board-fit,58vh), calc(100vh - 300px))}.jigsaw-tray-container{max-height:min(31vh,279px)}}@keyframes jigsawWrongReturn{0%,to{transform:scale(1)}35%{transform:scale(.96)}65%{transform:scale(1.02)}}.game-dom-kind-decor .game-dom-play-area{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:10px;transform:translateY(clamp(-28px,-2vh,-10px))}.game-dom-primary.decor-display{width:min(100%,1120px);height:min(54vh,560px);box-shadow:none;background:0 0;border:0;padding:0;display:grid}.home-decor-stage{grid-template-columns:minmax(210px,30%) minmax(0,70%);align-items:stretch;gap:clamp(10px,1.8vw,18px);width:100%;height:100%;display:grid;position:relative}.decor-guide-panel,.decor-play-panel{background:linear-gradient(#f8fbff,#eef6ff);border:2px solid #cfe0f5;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;padding:12px;display:grid}.decor-guide-panel{filter:grayscale()}.home-decor-stage.complete .decor-guide-panel{filter:none}.decor-section-title{color:#12365f;text-align:center;font-size:clamp(1rem,1.7vw,1.35rem);font-weight:950}.decor-room-grid{grid-template-columns:repeat(var(--decor-size), 1fr);grid-template-rows:repeat(var(--decor-size), 1fr);background:linear-gradient(90deg,#ffffff8c,#fff0),repeating-linear-gradient(45deg,#f1d6ad 0 16px,#e6c490 16px 32px);border:2px solid #b7cce8;border-radius:8px;gap:6px;min-height:0;padding:8px;display:grid}.decor-guide-cell,.decor-drop-cell{color:#12365f;background:#ffffff94;border:1px solid #2563eb38;border-radius:6px;place-items:center;gap:2px;min-width:0;min-height:0;padding:4px;display:grid}.decor-drop-cell{font:inherit;cursor:pointer}.decor-drop-cell.target{background:repeating-linear-gradient(45deg,#2563eb14 0 8px,#ffffffb3 8px 16px);border-style:dashed}.decor-drop-cell.drag-over{background:#fffbeb;border-color:#f59e0b;box-shadow:inset 0 0 0 4px #f59e0b38}.decor-drop-cell.wrong{background:#fee2e2;border-color:#ef4444;animation:.48s decorWrong}.decor-play-room.filled{filter:saturate(1.25);box-shadow:0 0 0 5px #facc1540,0 0 32px #facc1559}.decor-furniture-icon{transform:rotate(var(--decor-rotation,0deg));font-size:clamp(1.45rem,3.2vw,2.4rem);transition:transform .18s}.decor-guide-cell b,.decor-drop-cell b,.decor-piece b{word-break:keep-all;max-width:6em;font-size:clamp(.68rem,1.1vw,.85rem);line-height:1.15}.decor-controls{justify-items:center;gap:10px;width:min(100%,1120px);display:grid}.decor-tray{background:#f8fbff;border:2px solid #d7e5f8;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;padding:10px;display:flex}.decor-piece{color:#12365f;cursor:grab;touch-action:manipulation;background:#fff;border:2px solid #bfdbfe;border-radius:8px;place-items:center;gap:2px;min-width:clamp(82px,8vw,108px);min-height:clamp(74px,7vw,96px);padding:8px 10px;display:grid}.decor-piece.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb29}.decor-piece.moved{opacity:.32;transform:scale(.94)}.decor-piece.wrong-return{animation:.52s decorWrongReturn}.decor-rotate-btn{color:#12365f;background:#fff;border:3px solid #2563eb;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:128px;min-height:72px;font-size:2rem;font-weight:950;display:flex;box-shadow:0 14px 28px #0f172a29}.decor-rotate-btn[hidden]{display:none}.decor-rotate-btn span{font-size:clamp(.95rem,1.6vw,1.15rem)}.decor-complete-popup{z-index:5;color:#7a3f00;background:#fff7ed;border:3px solid #f59e0b;border-radius:8px;padding:16px 22px;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:950;animation:.32s both gameDomIconPop;position:absolute;bottom:18px;right:50%;transform:translate(50%);box-shadow:0 20px 44px #0f172a33}@keyframes decorWrong{0%,to{transform:translate(0)}25%,75%{transform:translate(-5px)}50%{transform:translate(5px)}}@keyframes decorWrongReturn{0%,to{transform:translate(0)scale(1)}45%{transform:translateY(-10px)scale(.96)}}@media (width<=780px){.story-slot-row,.story-choice-cards{grid-template-columns:repeat(2,minmax(104px,1fr))}.palace-room{grid-template-columns:repeat(2,minmax(92px,1fr))}.game-dom-kind-decor .game-dom-play-area{transform:none}.game-dom-primary.decor-display{height:auto}.home-decor-stage{grid-template-columns:1fr;height:auto}.decor-guide-panel{min-height:180px}.decor-play-panel{min-height:300px}.decor-complete-popup{text-align:center;left:12px;right:12px;transform:none}}@keyframes numberTileIn{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tokenChipIn{0%{opacity:0;transform:translateY(8px)scale(.86)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes feedbackBurst{0%{opacity:0;transform:translate(-50%,12px)scale(.6)rotate(-10deg)}55%{opacity:1}to{opacity:0;transform:translate(calc(-50% + (var(--burst-index) - 2) * 22px), -92px) scale(1.24) rotate(14deg)}}@keyframes gameSuccessFlash{0%,to{box-shadow:none}45%{box-shadow:inset 0 0 0 8px #22c55e33}}@keyframes gameErrorFlash{0%,to{box-shadow:none}45%{box-shadow:inset 0 0 0 8px #ef444429}}@keyframes roadRunner{0%{transform:translate(0)translateY(0)}to{transform:translate(min(360px,48vw))translateY(-2px)}}@keyframes gearTurn{to{transform:rotate(360deg)}}@keyframes mazeGlow{0%{box-shadow:0 6px 12px #0f2b5314}to{box-shadow:0 0 0 5px #2563eb1a,0 12px 20px #0f2b531f}}@keyframes mazeDiamondFlash{0%,to{box-shadow:0 0 #38bdf800}45%{box-shadow:0 0 0 7px #38bdf861,0 0 24px #0ea5e9b8}}@keyframes mazeDiamondScore{0%{opacity:0;transform:translateY(12px)scale(.85)}30%{opacity:1;transform:translateY(-6px)scale(1.08)}to{opacity:0;transform:translateY(-28px)scale(1)}}@keyframes mazeSuccessBlink{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.16);transform:scale(1.04)}}@keyframes mazeConfettiFall{0%{opacity:0;transform:translateY(0)rotate(0)}18%{opacity:1}to{opacity:0;transform:translateY(360px)rotate(260deg)}}@keyframes mazeBlocked{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes gameDomScreenEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gameDomIconPop{0%{opacity:0;transform:translateY(-4px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardReveal{0%{opacity:0;transform:rotateY(18deg)scale(.96)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes cardPreviewPulse{0%{transform:translateY(0);box-shadow:0 10px 22px #22c55e1f}to{transform:translateY(-3px);box-shadow:0 0 0 7px #22c55e2e,0 16px 28px #22c55e2e}}@keyframes cardMatchedPop{0%{transform:scale(1)}55%{transform:scale(1.1)rotate(-2deg)}to{transform:scale(1.02)}}@keyframes sequenceCarIn{0%{opacity:0;transform:translate(-18px)scale(.92)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes sequenceHide{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes warmGlow{0%{box-shadow:0 0 #facc1500}to{box-shadow:0 0 24px #facc1575}}@keyframes tileGlow{0%,to{box-shadow:0 8px 18px #0f2b531f}50%{box-shadow:0 12px 24px #2563eb2e}}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes palaceGlow{0%{box-shadow:inset 0 2px #ffffffb3,0 10px 18px #5b21b61a}to{box-shadow:0 0 0 6px #f59e0b2e,0 16px 26px #5b21b62e}}@keyframes focusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fishPop{0%{opacity:.35;transform:translateY(12px)scale(.48)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fishBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes fishingWave{0%,to{transform:translateY(0)skewY(-1deg)}50%{transform:translateY(6px)skewY(1deg)}}@keyframes boatRock{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(5px)rotate(1.4deg)}}@keyframes castRod{0%{transform:rotate(-4deg)}55%{transform:rotate(-32deg)}to{transform:rotate(-18deg)}}@keyframes lineCast{0%{opacity:0;transform:rotate(-60deg)scaleY(.12)}to{opacity:1;transform:rotate(-60deg)scaleY(1)}}@keyframes bobberIdle{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(7px)rotate(2deg)}}@keyframes bobberBite{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(12px)scale(.92)}70%{transform:translateY(-8px)scale(1.08)}}@keyframes biteBubblePop{0%{opacity:0;transform:translateY(16px)scale(.84)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fishCardPop{0%{opacity:0;transform:translateY(8px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes timingNeedleSweep{0%{left:2%}to{left:calc(98% - 18px)}}@keyframes timingMiss{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes catchResultPop{0%{opacity:0;transform:translateY(10px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.game-dom-screen,.game-shell-header img,.match-card,.match-card.previewing,.sequence-car,.pattern-cell.active,.sort-item,.chain-number,.palace-spot,.traffic-on-green,.focus-target,.fish-hole,.token-chip,.game-dom-feedback-burst span,.number-runner,.fish-water-surface,.fishing-boat,.fishing-rod,.fishing-line,.fishing-bobber,.fish-bite-bubble,.fish-bite-card,.fishing-timing-needle,.fish-catch-result,.checkout-btn,.count-answer-btn,.direction-pad-btn,.melody-note-dot,.market-counter-icon,.number-tile,.number-node,.rotate-gear,.maze-cell{transition:none!important;animation:none!important}}.game-dom-complete-body{z-index:1;flex:1;align-content:center;justify-items:center;gap:18px;display:grid;position:relative}.game-dom-complete-body h3{color:#12365f;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.game-dom-complete-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}@media (width<=980px){.game-dom-play-calc{grid-template-rows:auto auto auto;grid-template-columns:1fr}.game-dom-play-calc .game-dom-prompt,.game-dom-play-calc .game-dom-primary-calc,.game-dom-play-calc .checkout-options{grid-area:auto/1;justify-self:center}.game-dom-play-calc .checkout-options{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,620px)}}@media (width<=720px){.game-shell-header{grid-template-columns:auto minmax(0,1fr) auto}.game-shell-header .game-info{grid-area:2/2/auto/-1;justify-self:end;font-size:.92rem}.game-shell-header .level-display{width:min(100%,240px);min-width:0;height:50px;font-size:1.12rem;top:4px}.game-dom-play-area{transform:translateY(-18px)}.game-dom-floating-controls{gap:7px;bottom:12px;right:12px}.game-dom-floating-btn{width:48px;height:48px;font-size:1.65rem}.game-dom-options,.calc-options,.checkout-options,.color-options,.count-options,.count-basket-options,.direction-btns,.direction-pad-options,.letter-input,.rotate-options,.story-options,.shadow-options,.category-options{grid-template-columns:1fr}.checkout-btn,.count-answer-btn,.direction-pad-btn{min-height:72px}.checkout-options,.count-basket-options,.direction-pad-options{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-icon,.direction-pad-btn span{width:44px}.num-pad{grid-template-columns:repeat(4,clamp(46px,14vw,64px))}.melody-piano{justify-content:flex-start;overflow-x:auto}.melody-stage{padding:16px 12px}.game-dom-kind-fishing .game-dom-play-area{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:10px}.fish-game-panel{border-radius:8px;grid-template-rows:minmax(260px,1fr) auto auto auto;height:100%;min-height:0;max-height:none;padding:12px 10px}.fish-boat-scene{min-height:260px}.fishing-boat{width:clamp(158px,48vw,210px);height:74px;bottom:24%;left:10px}.fisher-person{width:58px;height:58px;font-size:2rem;left:34%}.fishing-rod{width:clamp(120px,40vw,170px);left:56%}.fishing-line{height:138px;left:calc(56% + clamp(106px,34vw,154px))}.fishing-bobber{bottom:20%;right:clamp(48px,18vw,92px)}.fish-bite-bubble{width:auto;min-width:0;padding:10px;inset:36px 8px auto}.fish-card-grid{grid-template-columns:repeat(3,minmax(54px,1fr));gap:6px}.fish-single-card-grid{grid-template-columns:minmax(130px,190px);justify-content:center}.fish-bite-card{min-height:68px;padding:6px 4px}.fish-bite-card b{font-size:.78rem}.fishing-timing-panel{padding:10px}.fishing-timing-label{flex-direction:column;align-items:center;gap:2px}.fishing-status{min-height:46px;padding:8px 10px}.fish-actions{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.jigsaw-wrap,.pair-grid,.color-stage,.rotate-machine,.tangram-stage{grid-template-columns:1fr}.tangram-tray{grid-template-columns:repeat(4,minmax(58px,1fr))}.spot-diff-grid{grid-template-columns:repeat(2,minmax(112px,1fr))}.visual-tile{min-height:112px}.number-road{padding:14px 10px}.number-track{min-height:92px;padding:10px}.pair-link-line{background:repeating-linear-gradient(#60a5fa 0 18px,#0000 18px 28px);justify-self:center;width:14px;height:52px}.maze-stage .game-dom-maze-board{grid-template-columns:repeat(var(--maze-size,5), 1fr);width:min(100%,340px,48vh)}.focus-panel .focus-arena{height:250px}.focus-target{min-width:84px;min-height:76px}.shadow-stage{grid-template-columns:1fr;width:min(100%,330px)}.shadow-beam{justify-self:center;width:72%;height:34px;transform:rotate(90deg)}}.phaser-game-loading{z-index:1;color:#0f2b53;font-size:calc(1.25rem * var(--font-scale));background:#eef7ff;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;inset:0}.phaser-game-loading:before{content:"";border:4px solid #2563eb29;border-top-color:#2563eb;border-radius:50%;width:34px;height:34px;margin-right:12px}@media (prefers-reduced-motion:no-preference){.phaser-game-loading:before{animation:.72s linear infinite phaser-game-loading-spin}}@keyframes phaser-game-loading-spin{to{transform:rotate(360deg)}}.game-play-result{background:#ffffffe0;border-top:1px solid #2563eb1f;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:84px;padding:12px 18px 16px;display:grid}.game-play-result strong,.game-play-result span{display:block}.game-play-result strong{color:#0f2b53;font-size:calc(1.05rem * var(--font-scale))}.game-play-result span{color:#475569;overflow-wrap:anywhere;font-weight:900}.game-play-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.game-save-state{min-width:70px;min-height:30px;font-size:calc(.8rem * var(--font-scale));background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-weight:1000;color:#64748b!important;display:inline-flex!important}.game-save-state.saving{background:#fef3c7;color:#92400e!important}.game-save-state.saved{background:#d1fae5;color:#065f46!important}.game-save-state.pending{background:#fee2e2;color:#7f1d1d!important}.game-play-empty{text-align:center;place-items:center;height:auto;min-height:420px;padding:28px}.stage-info-panel{background:#fffffff0;border:2px solid #0f766e2e;border-radius:8px;align-content:start;gap:14px;min-height:420px;padding:18px;display:grid;position:sticky;top:12px;box-shadow:0 16px 38px #0f172a24}.stage-info-panel.is-bonus{background:linear-gradient(#fff7edf5,#fffffff0),repeating-linear-gradient(135deg,#fbbf241f 0 1px,#0000 1px 18px);border-color:#f9731647}.stage-info-badge{color:#065f46;width:fit-content;min-height:28px;font-size:calc(.82rem * var(--font-scale));background:#d1fae5;border-radius:8px;align-items:center;padding:0 10px;font-weight:1000;display:inline-flex}.stage-info-badge.is-locked{color:#475569;background:#e2e8f0}.stage-info-title{gap:5px;display:grid}.stage-info-title span{color:#0f766e;font-size:calc(.78rem * var(--font-scale));font-weight:1000}.stage-info-panel h3{color:#0f2b53;font-size:calc(1.48rem * var(--font-scale));letter-spacing:0;margin:0;line-height:1.18}.stage-info-panel p{color:#475569;margin:0;font-weight:900;line-height:1.45}.stage-info-stats{grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 0;display:grid}.stage-info-stats div{background:#f8fafc;border:1px solid #0f766e1f;border-radius:8px;align-content:center;gap:4px;min-height:74px;padding:12px;display:grid}.stage-info-stats dt{color:#64748b;font-size:calc(.78rem * var(--font-scale));font-weight:900}.stage-info-stats dd{color:#0f172a;font-size:calc(1.12rem * var(--font-scale));margin:0;font-weight:1000}.stage-info-rule{background:#ecfdf5;border-radius:8px;min-height:46px;padding:12px;color:#065f46!important}.stage-start-btn{color:#fff;min-height:58px;font-size:calc(1.08rem * var(--font-scale));cursor:pointer;background:#047857;border:0;border-radius:8px;font-weight:1000;transition:background .14s,box-shadow .14s,transform .11s;box-shadow:0 12px 24px #0478573d}.stage-start-btn:hover,.stage-start-btn:focus-visible{outline-offset:2px;background:#065f46;outline:3px solid #10b98147}.stage-start-btn.is-bonus{background:#ea580c;box-shadow:0 12px 24px #f973163d}.stage-start-btn.is-bonus:hover,.stage-start-btn.is-bonus:focus-visible{background:#c2410c;outline-color:#f9731647}.stage-start-btn:active,.stage-start-btn.is-starting{transform:translateY(1px)}.stage-start-btn:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8}.stage-start-btn.is-starting:disabled{cursor:progress;background:#0f766e;box-shadow:0 10px 20px #04785733}@keyframes stage-panel-enter{0%{opacity:.88;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.stage-map-selection-feedback{animation:.18s ease-out stage-feedback-pop}.stage-info-panel{animation:.15s ease-out stage-panel-enter}}body.high-contrast .stage-mode-shell,body.high-contrast .stage-mode-top,body.high-contrast .stage-mode-board,body.high-contrast .stage-mode-progress,body.high-contrast .stage-leaderboard-panel,body.high-contrast .stage-leaderboard-head,body.high-contrast .stage-leaderboard-section li,body.high-contrast .game-play-shell,body.high-contrast .game-play-top,body.high-contrast .game-play-score,body.high-contrast .game-play-result,body.high-contrast .phaser-game-host,body.high-contrast .phaser-game-loading,body.high-contrast .stage-map-selection-feedback,body.high-contrast .stage-info-panel,body.high-contrast .stage-info-stats div,body.high-contrast .stage-map-back{color:#fff!important;background:#111827!important;border-color:gold!important}body.high-contrast .stage-mode-heading h2,body.high-contrast .stage-mode-heading p,body.high-contrast .game-play-heading h2,body.high-contrast .game-play-heading p,body.high-contrast .game-play-score span,body.high-contrast .game-play-result strong,body.high-contrast .game-play-result span,body.high-contrast .stage-info-panel h3,body.high-contrast .stage-info-panel p,body.high-contrast .stage-info-stats dt,body.high-contrast .stage-info-stats dd,body.high-contrast .stage-leaderboard-section-title,body.high-contrast .stage-leaderboard-section-title span,body.high-contrast .stage-leaderboard-name,body.high-contrast .stage-mode-progress span{color:#fff!important}body.high-contrast .stage-mode-kicker,body.high-contrast .stage-info-badge,body.high-contrast .stage-start-btn{color:#000!important;background:gold!important}@media (width<=980px){header{grid-template-columns:1fr}.header-center,.header-right{justify-content:flex-start}.landing-hero,.landing-category-grid{grid-template-columns:1fr}.stage-mode-content{grid-template-rows:auto minmax(320px,1fr) auto;grid-template-columns:1fr}.stage-leaderboard-panel{max-height:230px;position:relative;top:auto}.stage-info-panel{min-height:0;max-height:280px;position:relative;top:auto;overflow-y:auto}.game-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-play-top,.game-play-result{grid-template-columns:auto minmax(0,1fr)}.game-play-score,.game-play-actions,.game-save-state{grid-column:1/-1}.game-play-actions{justify-content:stretch}.game-play-actions .landing-btn{flex:160px}}@media (width<=640px){.container{width:min(100% - 14px,1180px);padding-top:10px}header{padding:12px}.header-left h1{font-size:calc(1.18rem * var(--font-scale))}.header-left p{margin-left:0}.landing-actions,.event-rank-grid,.landing-report-grid{grid-template-columns:1fr}.landing-section-title,.landing-cta,.game-event-head,.main-menu-head{flex-direction:column;align-items:stretch}.landing-category-grid,.game-card-grid{grid-template-columns:1fr 1fr}.stage-mode-top{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px}.stage-map-back{width:44px;height:44px}.stage-mode-progress{grid-column:1/-1;justify-content:center;gap:8px;width:100%;min-height:54px;display:flex}.stage-mode-heading h2{font-size:calc(1.5rem * var(--font-scale))}.stage-mode-heading p{font-size:calc(.95rem * var(--font-scale));line-height:1.35}.stage-mode-board{min-height:640px}.stage-mode-content{gap:12px;padding:12px}.stage-info-panel{gap:12px;max-height:250px;padding:14px}.game-play-shell{height:calc(100dvh - 20px);min-height:0}.game-play-top{gap:10px;padding:12px}.game-play-heading h2{font-size:calc(1.42rem * var(--font-scale))}.game-play-heading p{font-size:calc(.92rem * var(--font-scale));line-height:1.35}.game-play-body{min-height:0;padding:12px}.game-play-result{padding:12px}}@media (width<=720px){body.app-page header{text-align:left;grid-template-columns:1fr;justify-items:stretch;gap:12px;padding:18px 16px}body.app-page header .header-left{justify-self:stretch;align-items:center;width:100%}body.app-page header .header-right{flex-wrap:wrap;justify-content:stretch;justify-self:center;gap:8px;width:min(100%,380px);max-width:min(380px,100vw - 32px);display:flex}body.app-page header .header-auth-btn{min-width:0;height:43px;min-height:43px;font-size:calc(.7rem * var(--font-scale));flex:92px;padding:0 10px}body.app-page header .header-size-btn{flex-basis:100%}}
