:root{--color-bg:#f4f6fa;--color-surface:#fff;--color-surface-hover:#f8fafd;--color-border:#e5e9f0;--color-border-strong:#d3dae4;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-invert:#fff;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eff4ff;--color-primary-border:#c7d9fb;--color-accent:#7c3aed;--color-accent-soft:#f3efff;--gradient-ai:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--gradient-ai-hover:linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);--color-success:#16a34a;--color-success-soft:#e7f6ec;--color-warning:#e08700;--color-warning-soft:#fff4e0;--color-danger:#e11d48;--color-danger-soft:#fdebef;--color-info:#0891b2;--color-info-soft:#e6f7fb;--color-sidebar-bg:#0b1220;--color-sidebar-text:#94a3b8;--color-sidebar-text-active:#fff;--color-sidebar-active-bg:#2563eb;--color-sidebar-hover-bg:#ffffff0f;--color-sidebar-border:#ffffff14;--chart-1:#3b82f6;--chart-2:#8b5cf6;--chart-3:#10b981;--chart-4:#f59e0b;--chart-5:#f43f5e;--chart-6:#94a3b8;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 16px #0f172a12;--shadow-lg:0 12px 32px #0f172a1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-family:"Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", sans-serif;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-kpi:28px;--leading-tight:1.3;--leading-normal:1.6;--sidebar-width:232px;--topbar-height:64px;--rail-width:300px;--content-max-width:1600px;--transition:.15s ease;--focus-ring:0 0 0 3px #2563eb40}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:var(--color-primary);text-decoration:none}.app-shell{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{padding:var(--space-6);max-width:var(--content-max-width);flex:1;width:100%}.content-with-rail{gap:var(--space-6);align-items:flex-start;display:flex}.content-with-rail>.content-primary{flex:1;min-width:0}.rail{width:var(--rail-width);gap:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}@media (width<=1100px){.content-with-rail{flex-direction:column}.rail{width:100%}}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:var(--space-5) var(--space-3);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-5);color:var(--color-sidebar-text-active);display:flex}.sidebar-brand .brand-logo{background:var(--gradient-ai);border-radius:10px;flex-shrink:0;width:34px;height:34px}.sidebar-brand .brand-name{font-size:var(--text-lg);font-weight:700}.sidebar-brand .brand-sub{font-size:var(--text-xs);color:var(--color-sidebar-text)}.nav-list{flex-direction:column;gap:2px;list-style:none;display:flex}.nav-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--text-md);transition:background var(--transition), color var(--transition);font-weight:500;display:flex}.nav-item:hover{background:var(--color-sidebar-hover-bg);color:var(--color-sidebar-text-active);text-decoration:none}.nav-item.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-active)}.nav-item .nav-icon{flex-shrink:0;width:18px;height:18px}.nav-item .nav-count{background:var(--color-primary);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-full);margin-left:auto;padding:1px 7px}.nav-item.active .nav-count{background:#ffffff40}.sidebar-footer{border-top:1px solid var(--color-sidebar-border);padding-top:var(--space-4);margin-top:auto}.sidebar-promo{margin:var(--space-5) var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-sm);color:var(--color-sidebar-text-active);background:linear-gradient(160deg,#4f46e559,#7c3aed26);border:1px solid #7c3aed59}.sidebar-promo .btn{margin-top:var(--space-3);width:100%}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-sidebar-text-active);display:flex}.sidebar-user .user-role{font-size:var(--text-xs);color:var(--color-sidebar-text)}.topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-4);padding:0 var(--space-6);z-index:10;display:flex;position:sticky;top:0}.topbar .search-box{align-items:center;gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:380px;padding:8px var(--space-3);color:var(--color-text-muted);font-size:var(--text-base);flex:1;display:flex}.topbar .search-box input{font-size:var(--text-base);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.topbar .search-box kbd{font-size:var(--text-xs);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:4px;padding:1px 5px}.topbar-spacer{flex:1}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-text-secondary);transition:background var(--transition);justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--color-surface-hover)}.icon-btn .badge-dot{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);border:2px solid var(--color-surface);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:flex;position:absolute;top:-5px;right:-5px}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1);font-size:var(--text-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-md);font-weight:700}.card-link{font-size:var(--text-sm);font-weight:600}.kpi-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.kpi-card .kpi-top{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:600;display:flex}.kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.kpi-icon.blue{background:var(--color-primary-soft);color:var(--color-primary)}.kpi-icon.purple{background:var(--color-accent-soft);color:var(--color-accent)}.kpi-icon.green{background:var(--color-success-soft);color:var(--color-success)}.kpi-icon.orange{background:var(--color-warning-soft);color:var(--color-warning)}.kpi-icon.red{background:var(--color-danger-soft);color:var(--color-danger)}.kpi-value{font-size:var(--text-kpi);letter-spacing:-.02em;font-weight:700;line-height:var(--leading-tight)}.kpi-value .kpi-unit{font-size:var(--text-md);color:var(--color-text-secondary);margin-left:2px;font-weight:600}.kpi-delta{font-size:var(--text-sm);margin-top:var(--space-1);font-weight:600}.kpi-delta.up{color:var(--color-success)}.kpi-delta.down{color:var(--color-danger)}.kpi-delta .delta-label{color:var(--color-text-muted);margin-right:4px;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-md);padding:9px var(--space-4);transition:background var(--transition), box-shadow var(--transition);white-space:nowrap;border:1px solid #0000;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-surface-hover)}.btn-ai{background:var(--gradient-ai);color:#fff;box-shadow:0 4px 14px #6366f159}.btn-ai:hover{background:var(--gradient-ai-hover)}.btn-sm{padding:5px var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-lg{padding:12px var(--space-6);font-size:var(--text-lg)}.badge{font-size:var(--text-sm);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent)}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary)}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.green{background:var(--color-success)}.status-dot.orange{background:var(--color-warning)}.status-dot.red{background:var(--color-danger)}.status-dot.blue{background:var(--color-primary)}.status-dot.gray{background:var(--color-text-muted)}.legend{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.table td{padding:var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-surface-hover)}.table .cell-main{font-weight:600}.table .cell-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.avatar{border-radius:var(--radius-full);object-fit:cover;background:var(--color-border);flex-shrink:0;width:36px;height:36px}.avatar-sm{width:28px;height:28px}.avatar-lg{width:44px;height:44px}.avatar-initial{color:#fff;font-weight:700;font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.avatar-initial.c1{background:var(--chart-1)}.avatar-initial.c2{background:var(--chart-2)}.avatar-initial.c3{background:var(--chart-3)}.avatar-initial.c4{background:var(--chart-4)}.avatar-initial.c5{background:var(--chart-5)}.person{align-items:center;gap:var(--space-3);display:flex}.person .person-name{font-weight:600;font-size:var(--text-base)}.person .person-role{font-size:var(--text-sm);color:var(--color-text-muted)}.progress{background:var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar{border-radius:var(--radius-full);background:var(--color-primary);height:100%}.progress-bar.green{background:var(--color-success)}.progress-bar.orange{background:var(--color-warning)}.progress-bar.red{background:var(--color-danger)}.ring-track{stroke:var(--color-border)}.ring-value{stroke:var(--color-success);stroke-linecap:round}.ring-value.blue{stroke:var(--color-primary)}.ring-value.purple{stroke:var(--color-accent)}.ring-value.orange{stroke:var(--color-warning)}.ring-value.red{stroke:var(--color-danger)}.ring-label{fill:var(--color-text);font-weight:700}.alert-item{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);align-items:flex-start;display:flex}.alert-item+.alert-item{margin-top:var(--space-3)}.alert-item .alert-title{font-weight:600;font-size:var(--text-base)}.alert-item .alert-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.alert-item .alert-action{flex-shrink:0;margin-left:auto}.alert-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.alert-icon.danger{background:var(--color-danger-soft);color:var(--color-danger)}.alert-icon.warning{background:var(--color-warning-soft);color:var(--color-warning)}.alert-icon.info{background:var(--color-primary-soft);color:var(--color-primary)}.ai-card{background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.ai-card+.ai-card{margin-top:var(--space-3)}.ai-card .ai-card-title{align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-base);color:var(--color-text);display:flex}.ai-card .ai-card-title .ai-spark{color:var(--color-accent)}.ai-card .ai-card-body{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-3)}.ai-card .ai-card-footer{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.input,.select,.textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:9px var(--space-3);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.textarea{resize:vertical;min-height:80px}.segmented{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-sm);padding:6px var(--space-4);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:600}.segmented button.active{background:var(--color-primary);color:#fff}.tabs{gap:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.tab{padding:var(--space-3) 2px;font-size:var(--text-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.modal-overlay{padding:var(--space-6);z-index:100;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:var(--space-6)}.modal-title{font-size:var(--text-xl);margin-bottom:var(--space-4);font-weight:700}.modal-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.pagination{align-items:center;gap:var(--space-1);display:flex}.pagination .page-btn{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.pagination .page-btn:hover{background:var(--color-surface-hover)}.pagination .page-btn.active{background:var(--color-primary);color:#fff}.pagination .page-btn:disabled{color:var(--color-text-muted);cursor:default}.auth-shell{min-height:100vh;padding:var(--space-6);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:var(--space-8)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);text-align:center;flex-direction:column;display:flex}.auth-brand .brand-logo{background:var(--gradient-ai);border-radius:12px;width:44px;height:44px}.auth-title{font-size:var(--text-xl);font-weight:700}.auth-subtitle{font-size:var(--text-base);color:var(--color-text-secondary)}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-5) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-muted)}.empty-state .empty-title{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:700}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.fw-bold{font-weight:700}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.flex{align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:1fr}}:root{--brand-logo-width:176px;--font-family:"Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;--font-display:"Noto Sans JP Headings", var(--font-family);--font-display-weight:900;--font-editorial:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--text-base:18px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-kpi:40px;--text-hero:clamp(36px, 4.2vw, 56px);--color-bg:#f8f7f2;--color-surface:#fffefa;--color-surface-hover:#efefe7;--color-text:#293d43;--color-text-secondary:#52605d;--color-text-muted:#5d6963;--color-border:#d9ddd4;--color-border-strong:#b8c2b6;--color-primary:#31564d;--color-primary-hover:#24433c;--color-primary-soft:#e9eee7;--color-primary-border:#b8c2b6;--color-coral:#84614e;--color-coral-soft:#f0eae1;--color-green:#31564d;--color-green-soft:#e9eee7;--color-text-invert:#fffefa;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--leading-normal:1.8;--content-max-width:1120px;--space-12:48px;--space-16:64px;--space-20:80px;--control-size:48px;--icon-size:22px;--border-width:1px;--focus-width:3px;--dialog-width:620px;--game-art-size:112px;--game-card-art-size:144px;--game-art-size-mobile:128px;--daily-art-size:104px;--daily-art-size-mobile:88px;--dialog-art-size:104px;--records-art-size:160px;--hero-art-mobile-width:304px;--nav-line-width:2px;--dialog-backdrop:#293d4352;--casual-arena-height:280px;--casual-cue-size:clamp(52px, 10vw, 88px);--casual-tap-height:88px;--casual-art-size:144px;--casual-meter-width:160px;--quick-red:#ad3434;--quick-blue:#235bb5;--quick-green:#267043;--quick-purple:#853da4}@font-face{font-family:Noto Sans JP Headings;src:url(/assets/noto-sans-jp-headings-900-DgOol13Y.woff2)format("woff2");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+3001-3002,U+3057-3058,U+305B-305C,U+3066-3067,U+3092,U+3099,U+30B1-30B2,U+30E0,U+30FC,U+4E00,U+51FA,U+56DE,U+58F0,U+89A7,U+982D}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{min-width:320px}button,a,input{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:var(--focus-width) solid var(--color-primary);outline-offset:var(--space-1)}main:focus{outline:none}h1,h2,h3{color:var(--color-text);line-height:var(--leading-tight)}h1{font-size:var(--text-kpi);letter-spacing:.01em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{color:var(--color-text-secondary)}.app{flex-direction:column;min-height:100vh;display:flex}.icon{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn{min-height:var(--control-size);gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-md);white-space:normal;line-height:var(--leading-tight)}.badge{font-size:var(--text-sm)}.preparation{color:var(--color-text-muted);background:0 0;border:0;border-radius:0;padding:0;font-weight:400}.site-header{border-bottom:var(--border-width) solid var(--color-border);background:var(--color-bg)}.header-inner{max-width:var(--content-max-width);padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-6);margin:auto;display:flex}.brand{min-height:var(--control-size);align-items:center;gap:var(--space-3);color:var(--color-text);font-size:var(--text-xl);white-space:nowrap;font-weight:600;display:flex}.brand-logo{width:var(--brand-logo-width);height:auto;display:block}nav{gap:var(--space-2);margin-left:auto;display:flex}.nav-link{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-size);padding:var(--space-3) var(--space-4);border-bottom:var(--nav-line-width) solid transparent;font-size:var(--text-md);color:var(--color-text-secondary);font-weight:500;display:flex}.nav-link .icon{display:none}.nav-link:hover{color:var(--color-primary)}.nav-link.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:0 0}.settings-button{padding:var(--space-3);background:0 0;border-color:#0000}.app-content{padding:var(--space-10) var(--space-6) var(--space-12);margin:0 auto}.hero{gap:var(--space-10);padding:var(--space-10) 0 var(--space-16);grid-template-columns:1.2fr 1fr;align-items:center;display:grid}.eyebrow{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);letter-spacing:.08em;font-weight:500}.hero h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:var(--font-display-weight);font-synthesis:none;letter-spacing:0;margin-bottom:var(--space-6);line-height:1.45}.hero h1 span{color:var(--color-text)}.hero .btn{margin-top:var(--space-6)}.illustration{flex-shrink:0;max-width:100%;display:block;position:relative}.illustration img:not([hidden]){object-fit:contain;width:100%;height:100%;display:block}.illustration-fallback{font-size:var(--text-kpi);color:var(--tone,var(--color-primary));place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.hero-art{width:100%;margin:0}.hero-art figcaption{margin-top:var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.06em}.daily-card{align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);background:var(--color-primary-soft);border-radius:var(--radius-lg);border:0;display:flex}.daily-marker{width:var(--daily-art-size);color:var(--color-primary);text-align:center;font-weight:500;line-height:var(--leading-tight);flex-shrink:0}.daily-marker span{font-size:var(--text-sm);margin-top:var(--space-1);display:block}.daily-copy{flex:1}.daily-copy p{margin-top:var(--space-2);font-size:var(--text-md)}.inline-heading{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.section-heading{margin:var(--space-12) 0 var(--space-5);justify-content:space-between;gap:var(--space-4);align-items:end;display:flex}.section-heading p:not(.eyebrow){margin-top:var(--space-3);font-size:var(--text-md)}.text-link{align-items:center;gap:var(--space-2);min-height:var(--control-size);font-size:var(--text-md);font-weight:700;display:inline-flex}.game-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-card{gap:var(--space-5);padding:var(--space-6);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:none;flex-direction:column;display:flex}.game-card-top{justify-content:flex-start;align-items:flex-start;display:flex}.game-illustration{width:var(--game-card-art-size)}.game-card .card-body{flex:1}.tone-blue{--tone:var(--color-primary);--tone-soft:var(--color-primary-soft)}.tone-coral{--tone:var(--color-coral);--tone-soft:var(--color-coral-soft)}.tone-green{--tone:var(--color-green);--tone-soft:var(--color-green-soft)}.card-body{flex-direction:column;min-width:0;display:flex}.game-meta{align-items:center;column-gap:var(--space-3);row-gap:var(--space-1);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.game-card .eyebrow{color:var(--color-text-secondary);margin:0}.game-card h3{font-weight:600}.game-description{margin:var(--space-3) 0 var(--space-4);font-size:var(--text-base)}.game-detail-link{color:var(--color-primary);padding:var(--space-3) 0;background:0 0;border:0;border-radius:0;font-weight:600}.game-detail-link:hover{text-underline-offset:var(--space-1);text-decoration:underline}.game-card-bottom{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:auto;display:flex}.input-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.play-note{gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-8) 0;border-top:var(--border-width) solid var(--color-border);align-items:flex-start;display:flex}.play-note>.icon{color:var(--color-primary);margin-top:var(--space-1)}.play-note p{margin-top:var(--space-1);font-size:var(--text-md)}.page-header{margin:var(--space-5) 0 var(--space-8)}.page-header h1{font-family:var(--font-editorial);margin-bottom:var(--space-4);font-weight:600}.games-header h1{font-family:var(--font-display);font-weight:var(--font-display-weight);font-synthesis:none;letter-spacing:0;margin-bottom:0}.empty-state{align-items:center;gap:var(--space-5);padding:var(--space-16) var(--space-6);color:var(--color-text-secondary);border:0;border-top:var(--border-width) solid var(--color-border);border-bottom:var(--border-width) solid var(--color-border);text-align:center;background:0 0;border-radius:0;flex-direction:column;display:flex}.records-illustration{width:var(--records-art-size)}.records-note{text-align:center;font-size:var(--text-md);margin:var(--space-6) 0}.site-footer{justify-content:center;align-items:center;gap:var(--space-5);border-top:var(--border-width) solid var(--color-border);padding:var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.site-footer>span:first-child{font-weight:800}.info-dialog{max-width:min(var(--dialog-width), calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-lg);margin:auto;position:fixed;inset:0}.info-dialog::backdrop{background:var(--dialog-backdrop)}.dialog-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.dialog-heading h2{font-size:var(--text-xl)}.icon-button{width:var(--control-size);padding:var(--space-3);flex-shrink:0}.info-dialog p{margin:var(--space-4) 0}.dialog-intro{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.dialog-illustration{width:var(--dialog-art-size)}.dialog-note{background:var(--color-primary-soft);padding:var(--space-5);border-radius:var(--radius-md);font-size:var(--text-md)}p.dialog-note{align-items:center;gap:var(--space-3);display:flex}.dialog-footer{margin-top:var(--space-6);justify-content:end;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--control-size);display:flex}.setting-row small{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-2);display:block}.setting-row input{width:var(--space-6);height:var(--space-6);accent-color:var(--color-primary);flex-shrink:0}.skip-link{top:var(--space-2);left:var(--space-2);z-index:10;padding:var(--space-3);background:var(--color-surface);position:fixed;transform:translateY(-200%)}.skip-link:not(:focus){clip-path:inset(100%)}.skip-link:focus{transform:none}[data-reduce-motion=true] *,[data-reduce-motion=true] :before,[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=760px){.header-inner{gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-wrap:wrap}.brand{--brand-logo-width:156px}.settings-button{margin-left:auto}nav{justify-content:space-between;gap:var(--space-1);order:3;width:100%;margin:0}.nav-link{gap:var(--space-1);padding:var(--space-3) var(--space-2);font-size:var(--text-sm);white-space:nowrap;flex:1}.app-content{padding:var(--space-6) var(--space-4) var(--space-10)}.hero{gap:var(--space-5);padding:var(--space-5) 0 var(--space-8);grid-template-columns:1fr}.hero-art{max-width:var(--hero-art-mobile-width);margin:auto}.hero h1{font-size:var(--text-hero)}.daily-card{gap:var(--space-4);padding:var(--space-5);flex-wrap:wrap}.daily-copy{flex-basis:60%}.daily-marker{width:var(--daily-art-size-mobile)}.daily-card>.btn{width:100%}h2{font-size:var(--text-xl)}.game-grid{grid-template-columns:1fr}.game-card{gap:var(--space-4);padding:var(--space-5)}.game-illustration{width:var(--game-art-size-mobile)}.section-heading{margin-top:var(--space-8);flex-wrap:wrap}.game-card h3{font-size:var(--text-lg)}.info-dialog{padding:var(--space-5)}.empty-state{padding:var(--space-10) var(--space-5)}.desktop-break{display:none}.site-footer{gap:var(--space-3)}}.challenge-page{max-width:var(--content-max-width);margin:auto}.challenge-heading{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.challenge-heading h1{font-size:var(--text-2xl)}.challenge-status{margin:var(--space-6) 0;padding:var(--space-3) var(--space-4);background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius-sm)}.challenge-intro{max-width:48rem}.challenge-intro>*{margin-bottom:var(--space-5)}.challenge-art{width:112px;margin:var(--space-4) auto}.challenge-actions,.tier-options{gap:var(--space-3);margin:var(--space-5) 0;flex-wrap:wrap;display:flex}.tier-options .btn{flex-direction:column;min-width:112px}.challenge-scoreboard{gap:var(--space-6);border-bottom:var(--border-width) solid var(--color-border);padding-bottom:var(--space-5);flex-wrap:wrap;display:flex}.challenge-scoreboard>div{gap:var(--space-2);display:grid}.challenge-scoreboard strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.challenge-scoreboard small{font-size:var(--text-sm);margin-left:var(--space-2)}.challenge-question{padding:var(--space-8) 0;overflow-wrap:anywhere}.challenge-question h2{font-size:var(--text-2xl);line-height:1.8}.challenge-question rt{font-size:var(--text-sm)}.challenge-question p{margin-top:var(--space-3)}.challenge-feedback,.challenge-summary{padding:var(--space-6) 0;border-top:var(--border-width) solid var(--color-border);overflow-wrap:anywhere}.challenge-feedback p,.challenge-summary p{margin-top:var(--space-3)}.challenge-countdown{font-size:var(--text-hero);text-align:center;padding:var(--space-10)}.challenge-total{font-size:var(--text-hero);color:var(--color-primary);font-variant-numeric:tabular-nums}.challenge-total span{font-size:var(--text-lg);margin-left:var(--space-3)}.challenge-note{font-size:var(--text-sm);margin:var(--space-4) 0}.challenge-exit{padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-border)}.recognition-text,.dojo-reveal{overflow-wrap:anywhere}.record-row{padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--color-border)}.record-row h3{margin-bottom:var(--space-2)}@media (width<=760px){.challenge-scoreboard{gap:var(--space-4)}.challenge-question h2{font-size:var(--text-xl)}.challenge-actions>.btn{flex:140px}}.casual-page{max-width:var(--content-max-width);margin:auto}.casual-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.casual-heading h1{font-size:var(--text-kpi);font-weight:800}.casual-heading .eyebrow{margin-bottom:var(--space-2)}.casual-status{padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border);margin-bottom:var(--space-6);font-weight:700}.casual-intro{grid-template-columns:var(--casual-art-size) minmax(0, 1fr);gap:var(--space-8);display:grid}.casual-art{width:var(--casual-art-size)}.casual-intro p{margin-top:var(--space-4)}.casual-options{margin:var(--space-5) 0;gap:var(--space-2);border:0;flex-wrap:wrap;padding:0;display:flex}.casual-options legend{margin-bottom:var(--space-3);font-weight:700}.casual-mute{gap:var(--space-3);min-height:var(--control-size);align-items:center;display:flex}.casual-mute input{width:var(--space-5);height:var(--space-5);accent-color:var(--color-primary)}.casual-message{padding:var(--space-8) 0}.casual-message p{margin:var(--space-4) 0}.casual-scoreboard{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.casual-scoreboard strong{font-size:var(--text-2xl)}.casual-scoreboard small{font-size:var(--text-sm);font-weight:400}.casual-scoreboard>span{font-size:var(--text-md)}.casual-arena{min-height:var(--casual-arena-height);padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.casual-arena.cue-go{background:var(--color-primary-soft);border-color:var(--color-primary)}.casual-arena.cue-wait{background:var(--color-coral-soft);border-style:double}.cue-shape{font-size:var(--text-kpi);font-weight:900;line-height:1}.casual-arena .cue-word{font-size:var(--casual-cue-size);font-weight:900;line-height:1}.casual-time{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.rhythm-beats{gap:var(--space-2);width:100%;margin-top:var(--space-6);display:grid}.rhythm-beat{height:var(--control-size);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.rhythm-beat.rest{border-color:#0000}.rhythm-beat.lit{background:var(--color-primary);color:var(--color-text-invert);outline:var(--focus-width) solid var(--color-primary)}.tap-pad{width:100%;min-height:var(--casual-tap-height);margin-top:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-primary);color:var(--color-primary);font-size:var(--text-2xl);touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.tap-pad small{font-size:var(--text-sm);font-weight:400}.tap-pad.pressed{background:var(--color-primary);color:var(--color-text-invert)}.input-response{color:var(--color-primary);text-align:center;margin-top:var(--space-3)}.voice-meter{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.voice-meter meter{width:var(--casual-meter-width);max-width:100%;height:var(--space-4);accent-color:var(--color-primary)}.casual-page .challenge-exit{padding:var(--space-3) 0;background:var(--color-bg);border-top:var(--border-width) solid var(--color-border);z-index:1;position:sticky;bottom:0}@media (width<=760px){.casual-heading h1{font-size:var(--text-2xl)}.casual-intro{gap:var(--space-4);grid-template-columns:1fr}.casual-intro>.casual-art{width:var(--game-art-size-mobile)}.casual-arena{min-height:var(--casual-arena-height);padding:var(--space-4)}}.thinking-stage:focus,.daily-heading:focus{outline:none}.thinking-counter{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.thinking-arena{padding:var(--space-6) 0;min-height:var(--casual-arena-height)}.thinking-arena h2{font-size:var(--text-2xl);line-height:1.6}.thinking-arena p{margin:var(--space-4) 0}.thinking-countdown{font-variant-numeric:tabular-nums;color:var(--color-primary)}.memory-cards{gap:var(--space-3);margin:var(--space-6) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.memory-cards li{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--casual-tap-height);min-width:var(--game-art-size-mobile);padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-xl);flex-direction:column;font-weight:700;display:flex}.memory-cards small{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:400}.memory-selection li{background:var(--color-primary-soft);border-style:dashed}.memory-candidates{gap:var(--space-3);margin:var(--space-5) 0;flex-wrap:wrap;display:flex}.memory-choice{min-width:var(--game-art-size-mobile);background:var(--color-surface);color:var(--color-text);border:var(--border-width) solid var(--color-primary)}.memory-choice:disabled{opacity:.45}.association-arena{max-width:var(--content-max-width)}.association-prompt{max-width:var(--dialog-width)}.association-timer{font-size:var(--casual-cue-size);color:var(--color-primary);font-variant-numeric:tabular-nums;margin:var(--space-5) 0;font-weight:800}.association-timer small{font-size:var(--text-xl);margin-left:var(--space-3)}.association-arena progress{width:100%;max-width:var(--dialog-width);height:var(--space-2);accent-color:var(--color-primary)}.report-label{gap:var(--space-2);margin-top:var(--space-6);flex-direction:column;font-weight:700;display:flex}.report-label span{font-size:var(--text-md);font-weight:400}.report-input{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;display:flex}.report-input input{width:var(--casual-art-size);min-height:var(--control-size);padding:var(--space-3);font:inherit;font-size:var(--text-2xl);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm)}.thinking-page .challenge-exit{z-index:1;background:var(--color-bg);padding:var(--space-3) 0;position:sticky;bottom:0}.result-score{font-size:var(--text-kpi);color:var(--color-primary);font-weight:800}.result-score span{font-size:var(--text-lg);font-weight:400}.daily-heading{margin-bottom:var(--space-6)}.daily-heading h1{font-size:var(--text-kpi)}.daily-intro{align-items:center;gap:var(--space-6);display:flex}.daily-intro .casual-art{flex-shrink:0}.daily-plan{margin:var(--space-6) 0;padding:0;list-style:none}.daily-plan li{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.daily-plan li>span:last-child{font-size:var(--text-md);color:var(--color-text-secondary)}.daily-round-number{color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:800}.daily-progress{gap:var(--space-2);margin:var(--space-6) 0;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;list-style:none;display:grid}.daily-progress li{border-bottom:var(--focus-width) solid var(--color-border);padding-bottom:var(--space-3);color:var(--color-text-secondary)}.daily-progress li[aria-current]{border-color:var(--color-primary);color:var(--color-primary);font-weight:800}.daily-progress span{font-size:var(--text-xl)}.daily-progress small{font-size:var(--text-sm);display:block}.daily-round-label{color:var(--color-primary);margin:var(--space-5) 0;font-weight:700}.daily-page .casual-heading h1{font-size:var(--text-2xl)}.daily-break,.daily-complete{padding:var(--space-6) 0}.daily-break p,.daily-complete p{margin-top:var(--space-4)}.daily-xp{color:var(--color-primary);font-size:var(--text-xl);font-weight:700}.daily-record-details summary{min-height:var(--control-size);padding:var(--space-3) 0;cursor:pointer;color:var(--color-primary)}.daily-record-details>section{margin-left:var(--space-4)}.association-record{margin:var(--space-4) 0}@media (width<=760px){.daily-heading h1{font-size:var(--text-2xl)}.daily-intro{flex-direction:column;align-items:flex-start}.daily-intro .casual-art{width:var(--game-art-size-mobile)}.daily-progress small{font-size:var(--text-sm);line-height:1.6}.thinking-arena h2{font-size:var(--text-xl)}.memory-cards{gap:var(--space-2)}.memory-cards li{padding:var(--space-3);font-size:var(--text-lg)}.daily-card>.btn{white-space:normal}}.guide-page{max-width:880px;margin-inline:auto}.guide-page .page-header h1{font-family:var(--font-family);font-size:clamp(28px,4vw,40px)}.guide-page section{border-top:1px solid var(--color-border);padding-block:28px}.guide-page h2{margin-bottom:16px;font-size:24px}.guide-page p,.guide-page li{line-height:1.9}.guide-page p+p,.guide-page ul{margin-top:16px}.guide-page ul{margin-bottom:20px;padding-left:1.4em}.guide-page li+li{margin-top:12px}.guide-page a{color:var(--color-primary);text-underline-offset:4px}.guide-page a.btn-primary{color:#fff}.guide-license-links a,.site-footer>a{align-items:center;min-height:48px;display:inline-flex}.site-footer>a{color:inherit;text-underline-offset:4px}.guide-table-wrap{margin-block:20px;overflow-x:auto}.guide-table{border-collapse:collapse;text-align:left;width:100%;font-size:16px}.guide-table caption{text-align:left;color:var(--color-text-muted);padding-bottom:12px}.guide-table th,.guide-table td{border-bottom:1px solid var(--color-border);vertical-align:top;min-width:100px;padding:14px 10px}.guide-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px;display:flex}.game-toolbar{z-index:5;background:var(--bg,#f8f7f2);border-bottom:1px solid #d4d9d0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:12px 0;display:flex;position:sticky;top:0}.game-toolbar h1{font-size:clamp(20px,3vw,28px);line-height:1.5}.game-toolbar>div{flex-shrink:0;gap:8px;display:flex}.game-toolbar .btn{min-height:48px;padding:10px 16px}.compact-intro{margin:32px auto}.compact-intro .challenge-art{margin:0 0 24px}.compact-intro>.btn{margin-top:16px}.game-options{margin:20px 0}.game-options summary{cursor:pointer;min-height:48px;padding:12px 0;display:list-item}.game-options .tier-options{margin-top:12px}.practice-start{min-height:48px;padding:12px 0;display:block}.voice-input{flex-direction:column;align-items:center;max-width:44rem;margin:8px auto 20px;display:flex}.mic-control{color:#31594f;cursor:pointer;background:0 0;border:2px solid #31594f;border-radius:50%;place-items:center;width:88px;height:88px;transition:background .15s;display:grid}.mic-control svg{fill:none;stroke:currentColor;stroke-width:2.2px;width:36px;height:36px}.voice-input[data-listening=true] .mic-control{color:#fff;background:#31594f;box-shadow:0 0 0 9px #e8eee7}.mic-control:disabled{opacity:.55;cursor:default}.mic-control:focus-visible{outline-offset:5px;outline:3px solid #b67e68}.mic-caption{margin:20px 0 10px;font-weight:700}.live-transcript{text-align:center;overflow-wrap:anywhere;border-bottom:1px solid #ccd5cc;width:100%;min-height:78px;padding:16px 8px;font-size:clamp(20px,3vw,28px);line-height:1.6;display:block}.live-transcript>span:not(.transcript-placeholder){animation:.16s ease-out word-arrive}.transcript-placeholder{color:#6a7771;font-size:16px}.voice-practice-link{min-height:48px;margin-top:6px}.voice-error{color:#8b4236;margin:12px 0}.secondary-actions{justify-content:center}.text-practice{width:100%}.text-practice label{margin-bottom:12px;font-weight:700;display:block}.text-practice small,.practice-label{color:#5a6b62;font-size:14px}.text-practice>div{gap:12px;display:flex}.text-practice input{min-width:0;min-height:52px;font:inherit;background:#fffefa;border:1px solid #a7b4aa;border-radius:6px;flex:1;padding:12px}.home-input-check{border-top:1px solid #d4d9d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding:32px 0;display:flex}.home-input-check h2{font-size:24px}.home-input-check p{margin-top:8px}.input-check-panel{width:100%;max-width:48rem;margin:auto;padding:24px 0}.sensitivity-control{gap:8px;max-width:380px;margin:20px auto;display:grid}.sensitivity-control input{accent-color:#31594f;width:100%;min-height:48px}.sensitivity-control span{text-align:center;font-size:14px;display:block}.game-card-bottom .input-label{width:100%}.game-card-bottom button.game-detail-link{font-size:16px;font-weight:400}.challenge-question{text-align:center;padding:20px 0}.challenge-question h2{font-size:clamp(24px,4vw,40px)}.challenge-scoreboard{align-items:center}@keyframes word-arrive{0%{opacity:.2}to{opacity:1}}@media (prefers-reduced-motion:reduce){.live-transcript>span:not(.transcript-placeholder){animation:none}}@media (width<=600px){.game-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px}.game-toolbar>div{margin-left:auto}.game-toolbar h1{flex:160px}.game-toolbar .btn{padding-inline:12px;font-size:15px}.text-practice>div{flex-wrap:wrap}.text-practice input{flex-basis:100%}.text-practice button{width:100%}.mic-control{width:76px;height:76px}.home-input-check>.btn{width:100%}}button.text-link{color:#31594f;cursor:pointer;background:0 0;border:0}button.text-link:hover{text-decoration:underline}.app[data-reduce-motion=true] .live-transcript>span{animation:none}.app[data-game-page=true] .brand-logo{width:104px}.app[data-game-page=true] .header-inner{padding-block:8px}.app[data-game-page=true] .app-content{padding-top:12px}.quick-page{max-width:960px;margin-inline:auto}.quick-intro{text-align:center;padding:32px 0}.quick-intro h2{max-width:24em;margin:20px auto;font-size:clamp(22px,3vw,32px)}.quick-example{font-size:22px}.quick-intro .challenge-actions,.quick-intro .casual-options{justify-content:center}.quick-countdown{place-items:center;min-height:45vh;font-size:100px;font-weight:900;display:grid}.quick-progress{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-block:24px 12px;display:flex}.quick-page>progress{width:100%;height:5px;accent-color:var(--color-primary)}.quick-arena{text-align:center;padding-block:16px 32px}.quick-instruction{font-size:clamp(22px,3vw,30px)}.quick-stimulus{overflow-wrap:anywhere;margin:24px auto;font-size:clamp(42px,8vw,76px);font-weight:900;line-height:1.4}.quick-stimulus[data-color=red]{color:var(--quick-red)}.quick-stimulus[data-color=blue]{color:var(--quick-blue)}.quick-stimulus[data-color=green]{color:var(--quick-green)}.quick-stimulus[data-color=purple]{color:var(--quick-purple)}.quick-stimulus.quick-shape{place-items:center;width:240px;height:210px;font-size:44px;display:grid;position:relative}.quick-shape:before{content:"";background:currentColor;position:absolute;inset:0}.quick-shape:after{content:"";background:var(--color-bg);position:absolute;inset:7px}.quick-shape>span{z-index:1;position:relative}.quick-shape[data-shape=circle]:before,.quick-shape[data-shape=circle]:after{border-radius:50%}.quick-shape[data-shape=triangle]:before,.quick-shape[data-shape=triangle]:after{clip-path:polygon(50% 0,100% 100%,0 100%)}.quick-shape[data-shape=triangle]:after{inset:13px 10px 7px}.quick-shape[data-shape=triangle]>span{transform:translateY(24px)}.quick-choices{flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0;display:flex}.quick-choices .btn{min-width:100px;font-size:22px}.quick-odd-items{margin-block:32px;font-size:clamp(22px,4vw,36px);line-height:1.8}.quick-answer-form{gap:16px;max-width:360px;margin:24px auto;display:grid}.quick-answer-form input{text-align:center;border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;width:100%;min-width:0;padding:8px;font-size:30px}.quick-keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-keypad .btn{min-width:0}.quick-skip{min-height:48px;margin:16px auto 0;display:block}.quick-feedback{border-top:1px solid var(--color-border);padding:16px}.quick-feedback[data-correct=true] h2{color:var(--color-primary)}.quick-page .voice-input{max-width:640px;margin-inline:auto}@media (width<=600px){.quick-progress{font-size:15px}.quick-page .game-toolbar{align-items:flex-start}.quick-page .game-toolbar h1{font-size:22px}.quick-page .game-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.quick-page .game-toolbar .btn{padding-inline:12px}.quick-choices .btn{min-width:90px}.quick-intro .challenge-actions{flex-direction:column}}.quick-intro-art{width:140px;height:140px;margin:0 auto;display:block}.game-card-bottom{flex-direction:column;align-items:stretch}.game-play-button{justify-content:center;width:100%;min-height:56px;font-size:22px}.game-card-bottom .game-detail-link{align-self:flex-start}.howto-rule{font-size:var(--text-lg);text-align:center;margin:var(--space-5) 0;font-weight:800}.howto-diagram{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.howto-step{text-align:center;min-width:0}.howto-label{font-size:var(--text-sm);margin-bottom:var(--space-3);display:block}.howto-example{min-height:140px;padding:var(--space-4);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-lg);white-space:pre-line;overflow-wrap:anywhere;place-items:center;font-weight:800;display:grid}.howto-answer{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.howto-arrow{color:var(--color-primary);font-size:var(--text-lg);margin-top:var(--space-5)}.howto-color-trick{color:var(--quick-blue);font-size:var(--text-kpi)}.howto-caption{text-align:center;margin:var(--space-4) 0 var(--space-6);font-size:var(--text-base)}.howto-play{width:100%;min-height:56px;font-size:var(--text-lg);justify-content:center}@media (width<=480px){.howto-diagram{gap:var(--space-2)}.howto-example{padding:var(--space-2);font-size:var(--text-base);min-height:120px}.howto-color-trick{font-size:var(--text-kpi)}}.picture-tiles{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.picture-tile{justify-content:center;align-items:center;gap:var(--space-2);min-width:100px;padding:var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.picture-tile>span{font-size:48px;line-height:1.3}.picture-tile small{font-size:var(--text-base)}.picture-missing{font-size:var(--text-kpi);border-style:dashed}.picture-arena{margin:var(--space-5) auto}.shopping-answer .btn[aria-pressed=true]{background:var(--color-primary);color:var(--color-surface)}.shopping-answer>.btn{margin-top:var(--space-4);min-width:180px}.game-complete{max-width:var(--dialog-width);margin:var(--space-8) auto;padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg)}.game-complete h2{font-family:var(--font-family);font-size:var(--text-2xl)}.game-complete>.result-score{font-size:var(--space-20);margin:var(--space-6) 0;color:var(--color-primary);font-weight:900;line-height:1.2}.game-complete>.result-score span{font-size:var(--text-xl)}.complete-summary{font-weight:700}.complete-status{font-size:var(--text-md);color:var(--color-text-muted);margin:var(--space-3) 0 var(--space-6)}.complete-actions{gap:var(--space-3);display:grid}.complete-actions .btn{min-height:var(--space-16);justify-content:center}.complete-details{margin-top:var(--space-6);text-align:left;font-size:var(--text-md)}.complete-details summary{cursor:pointer;text-align:center;color:var(--color-text-secondary);padding:var(--space-3)}.quick-intro .challenge-actions>.btn{min-height:var(--space-16);min-width:var(--records-art-size);flex:0 auto}.record-growth{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-primary-soft);margin-bottom:var(--space-8)}.record-growth .challenge-scoreboard{border:0;padding:0}.record-growth progress{width:100%;accent-color:var(--color-primary)}.record-growth p{font-size:var(--text-md);margin-top:var(--space-2)}.records-heading,.record-heading{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.records-heading{margin-bottom:var(--space-5)}.records-heading select{min-height:var(--control-size);max-width:100%;font:inherit;padding:var(--space-2);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md)}.record-list>.record-row{padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-bottom:var(--space-5)}.record-heading time,.record-input,.record-best{color:var(--color-text-secondary);font-size:var(--text-md)}.record-stats{gap:var(--space-8);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.record-stats span{color:var(--color-text-secondary);font-size:var(--text-md);display:block}.record-stats strong{font-size:var(--text-2xl);display:block}.record-stats small{font-size:var(--text-md)}.record-details{margin-top:var(--space-4)}.record-details summary,.records-note summary{cursor:pointer;padding:var(--space-2) 0}.records-header h1{font-family:var(--font-family);font-weight:var(--font-display-weight)}.weekly-report{padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-8);background:var(--color-surface)}.week-calendar{gap:var(--space-2);margin:var(--space-5) 0;grid-template-columns:repeat(7,minmax(0,1fr));padding:0;list-style:none;display:grid}.week-calendar li{text-align:center;background:var(--color-bg);padding:var(--space-2) 0;border-radius:var(--radius-sm);font-size:var(--text-sm)}.week-calendar li[data-played=true]{background:var(--color-primary-soft);color:var(--color-primary)}.week-calendar strong{font-size:var(--text-xl);display:block}.weekly-select{gap:var(--space-2);margin-top:var(--space-5);display:grid}.weekly-select select{width:100%;min-width:0;min-height:var(--control-size);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit}.week-comparison{gap:var(--space-4);margin:var(--space-5) 0;grid-template-columns:1fr 1fr;display:grid}.week-comparison>div{padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.week-comparison h3{font-size:var(--text-lg)}.week-comparison strong{font-size:var(--text-2xl)}.week-comparison small{font-size:var(--text-sm)}.growth-list{gap:var(--space-4);display:grid}.growth-card,.growth-empty{padding:var(--space-5);background:var(--color-bg);border-radius:var(--radius-md)}.growth-card h3{color:var(--color-primary)}.growth-card details{margin-top:var(--space-4)}.personal-metrics{margin-block:var(--space-6)}.personal-metric-values{gap:var(--space-6);flex-wrap:wrap;margin-bottom:0;display:flex}.personal-metric-values dt{font-size:var(--text-sm);color:var(--color-text-secondary)}.personal-metric-values dd{font-size:var(--text-2xl);color:var(--color-primary);margin:0;font-weight:700}.quick-feedback>.btn,.thinking-feedback>.btn,.challenge-feedback>.challenge-actions{margin-top:var(--space-6)}.game-complete>.text-link{min-height:var(--control-size);margin-top:var(--space-5);justify-content:center;align-items:center;display:inline-flex}.records-note summary,.record-details summary,.growth-card summary{min-height:var(--control-size);padding-block:var(--space-3)}.game-card .card-body{gap:var(--space-3);flex-direction:column;display:flex}.game-card .game-description{margin-bottom:var(--space-4)}.personal-metrics .growth-card{border:var(--border-width) solid var(--color-border)}.quick-feedback>.btn,.thinking-feedback>.btn{min-width:var(--records-art-size)}.quick-keypad .btn{min-height:var(--space-16);font-size:var(--text-xl)}@media (width<=600px){.game-toolbar h1{flex-basis:100%}.game-toolbar>div{flex-wrap:wrap;justify-content:flex-end;width:100%}.challenge-feedback .challenge-actions{flex-direction:column}.challenge-feedback .challenge-actions>.btn{flex:auto;width:100%}.records-heading>label{gap:var(--space-2);width:100%;min-width:0;display:grid}.records-heading select{width:100%;min-width:0}.quick-feedback>.btn,.thinking-feedback>.btn{width:100%}}
