:root{--app-fallback-bg: #020617}#root{min-height:100dvh;background:var(--app-fallback-bg)}.app-shell{--bg: #0757b8;--bg-soft: #0757b8;--panel: #93d8ff;--panel-strong: #c7efff;--text: #06234c;--page-text: #f8fbff;--muted: #315c82;--page-muted: #d8efff;--accent: #075bd8;--accent-strong: #0047a8;--accent-bright: #1597ff;--accent-soft: #d7f1ff;--border: #4ab8f1;--success: #0f8a4b;--warning: #b77900;--danger: #c8324a;--shadow: 0 24px 54px rgba(3, 40, 92, .28);--shadow-soft: 0 12px 26px rgba(3, 40, 92, .18);--glow: 0 20px 48px rgba(31, 156, 255, .34);--grid-color: rgba(248, 251, 255, .16);--surface: #dff5ff;--surface-muted: #bde9ff;--surface-alt: #c6edff;--surface-warm: #fff1df;--control-bg: #ffffff;--control-text: #06234c;--raised-control-bg: var(--control-bg);--raised-control-bg-hover: var(--raised-control-bg);--raised-control-border: var(--border);--raised-control-border-hover: var(--border-strong);--segment-bg: #c8ecff;--border-strong: color-mix(in srgb, var(--accent) 56%, transparent);--focus-ring: color-mix(in srgb, var(--accent) 34%, transparent);--ink: var(--text);--inactive: #6188a8;--hero-copy: var(--page-muted);--primary-text: #ffffff;--camera-panel: #073767;--camera-bg: #021d38;--camera-badge-bg: rgba(255, 255, 255, .9);--camera-badge-border: color-mix(in srgb, var(--accent) 36%, transparent);--camera-badge-text: var(--control-text);--camera-badge-muted: var(--muted);--overlay-bg: rgba(4, 25, 55, .68);--success-soft: color-mix(in srgb, var(--success) 18%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 18%, transparent);--mode-blue: #075bd8;--mode-blue-soft: #d7f1ff;--mode-success: #0f8a4b;--mode-success-soft: #dff5e9;--mode-warm: #f08c2e;--mode-warm-soft: #fff1df;--logo-shadow: none;--visual-shadow: drop-shadow(0 28px 45px rgba(3, 40, 92, .26));--hand-connector: rgba(21, 151, 255, .9);--hand-landmark: rgba(147, 216, 255, .95);--hand-guidance: rgba(255, 255, 255, .94);--pulse-blue: #1597ff;--pulse-blue-soft: rgba(21, 151, 255, .24);min-height:100dvh;overflow-x:hidden;color:var(--ink);color-scheme:light;background:var(--bg)}.app-shell[data-theme=signiq]{--bg: #2b2d31;--bg-soft: #313338;--panel: #404249;--panel-strong: #4e5058;--text: #f2f3f5;--page-text: #f2f3f5;--muted: #c4c9ce;--page-muted: #c4c9ce;--accent: #5aaeff;--accent-strong: #0b6fc2;--accent-bright: #1597ff;--accent-soft: #4e5058;--border: #5c5f66;--border-strong: #6d6f78;--focus-ring: rgba(21, 151, 255, .3);--primary-border: #6d6f78;--active-border: #6d6f78;--difficulty-border: #6d6f78;--mode-card-hover-border: #6d6f78;--mode-icon-border: #6d6f78;--avatar-border: #6d6f78;--ghost-border: #6d6f78;--eligible-border: #6d6f78;--nudge-border: #6d6f78;--success: #0f8a4b;--warning: #b77900;--danger: #c8324a;--shadow: none;--shadow-soft: none;--glow: none;--surface: #45474e;--surface-muted: #4e5058;--surface-alt: #56585f;--surface-warm: #56585f;--control-bg: var(--panel);--control-text: #f2f3f5;--raised-control-bg: #56585f;--raised-control-bg-hover: #60636b;--raised-control-border: #6d6f78;--raised-control-border-hover: #81848d;--segment-bg: #313338;--inactive: #aeb4bc;--grid-color: rgba(151, 198, 238, .065);--mode-blue: #075bd8;--mode-blue-soft: #bdd5eb;--mode-success: #0f8a4b;--mode-success-soft: #c4ddd5;--mode-warm-soft: #e6d0bf;--camera-panel: #2b2d31;--camera-bg: #111214;--camera-badge-bg: rgba(64, 66, 73, .94);--camera-badge-border: rgba(92, 95, 102, .92);--camera-badge-text: var(--control-text);--camera-badge-muted: var(--muted);--overlay-bg: rgba(4, 17, 35, .74);--visual-shadow: none;--hand-connector: rgba(21, 151, 255, .9);--hand-landmark: rgba(147, 216, 255, .95);--hand-guidance: rgba(255, 255, 255, .94);background:radial-gradient(ellipse 62rem 38rem at 12% 26%,rgba(56,189,248,.18),rgba(56,189,248,.064) 48%,transparent 86%),radial-gradient(ellipse 60rem 38rem at 88% 34%,rgba(45,212,191,.14),rgba(45,212,191,.052) 50%,transparent 86%),radial-gradient(ellipse 72rem 44rem at 62% 94%,rgba(129,140,248,.13),rgba(129,140,248,.046) 52%,transparent 88%),radial-gradient(ellipse 56rem 34rem at 50% 10%,rgba(255,255,255,.045),rgba(255,255,255,.016) 42%,transparent 82%),linear-gradient(180deg,#06111f,#071827,#030712);background-blend-mode:screen,screen,screen,soft-light,normal;color-scheme:dark}.app-shell[data-theme=signiq-light]{--bg: #d9e5f2;--bg-soft: #e6eef7;--panel: #f8fbff;--panel-strong: #ffffff;--text: #061a38;--page-text: #061a38;--muted: #426079;--page-muted: #426079;--accent: #075bd8;--accent-strong: #0047a8;--accent-bright: #1597ff;--accent-soft: #d7e9f8;--border: #a8b7c8;--border-strong: #7f90a3;--focus-ring: rgba(21, 151, 255, .22);--primary-border: #7f90a3;--active-border: #7f90a3;--difficulty-border: #7f90a3;--mode-card-hover-border: #7f90a3;--mode-icon-border: #98aabd;--avatar-border: #98aabd;--ghost-border: #98aabd;--eligible-border: #7f90a3;--nudge-border: #7f90a3;--success: #0f8a4b;--warning: #b77900;--danger: #c8324a;--shadow: none;--shadow-soft: none;--glow: none;--surface: #e2ebf5;--surface-muted: #cfdae7;--surface-alt: #d7e3ee;--surface-warm: #fff1df;--control-bg: #ffffff;--control-text: #061a38;--raised-control-bg: #e8f1fa;--raised-control-bg-hover: #f1f7fd;--raised-control-border: #b8c7d8;--raised-control-border-hover: #a8b7c8;--segment-bg: #cfdae7;--grid-color: rgba(6, 26, 56, .12);--mode-blue-soft: #d7e9f8;--mode-success-soft: #d5eadf;--mode-warm-soft: #eadbc9;--camera-panel: #071426;--camera-bg: #02050a;--camera-badge-bg: rgba(255, 255, 255, .94);--camera-badge-border: rgba(135, 150, 168, .54);--camera-badge-text: #061a38;--camera-badge-muted: #426079;--overlay-bg: rgba(12, 27, 46, .38);--visual-shadow: none;--hand-connector: rgba(21, 151, 255, .9);--hand-landmark: rgba(147, 190, 220, .95);--hand-guidance: rgba(255, 255, 255, .94);background:radial-gradient(ellipse 62rem 38rem at 12% 26%,rgba(21,151,255,.34),rgba(21,151,255,.12) 48%,transparent 86%),radial-gradient(ellipse 60rem 38rem at 88% 34%,rgba(45,212,191,.27),rgba(45,212,191,.1) 50%,transparent 86%),radial-gradient(ellipse 72rem 44rem at 62% 94%,rgba(129,140,248,.24),rgba(129,140,248,.085) 52%,transparent 88%),radial-gradient(ellipse 56rem 34rem at 50% 10%,rgba(255,255,255,.56),rgba(255,255,255,.2) 42%,transparent 82%),linear-gradient(180deg,#f1f8ff,#d6e5f3,#c4d5e8);color-scheme:light}.app-shell[data-theme=watermelon]{--bg: #073f4c;--bg-soft: #0a4a59;--panel: #ffd166;--panel-strong: #ffe29a;--text: #062f39;--page-text: #fff7fb;--muted: #386a70;--page-muted: #c6f7ec;--accent: #ef3f70;--accent-strong: #c92f59;--accent-bright: #ef3f70;--accent-soft: #ffd7e2;--border: #16d2a3;--success: #16d2a3;--warning: #c88b1f;--danger: #d22e57;--shadow: 0 24px 54px rgba(2, 43, 52, .32);--shadow-soft: 0 12px 26px rgba(2, 43, 52, .22);--glow: 0 20px 48px rgba(239, 63, 112, .3);--surface: #fff0be;--surface-muted: #afeedc;--surface-alt: #d9f8ef;--surface-warm: #ffdbe5;--control-bg: #fff8df;--control-text: #062f39;--segment-bg: #f7dc91;--grid-color: rgba(255, 209, 102, .18);--mode-blue: #1895ad;--mode-blue-soft: #cceff4;--mode-success: #16d2a3;--mode-success-soft: #d9f8ef;--mode-warm: #ef3f70;--mode-warm-soft: #ffd7e2;--camera-panel: #063440;--camera-bg: #031b22;--camera-badge-bg: rgba(255, 248, 223, .94);--camera-badge-text: var(--control-text);--overlay-bg: rgba(5, 38, 47, .72);--visual-shadow: drop-shadow(0 28px 45px rgba(2, 43, 52, .3));--hand-connector: rgba(22, 210, 163, .9);--hand-landmark: rgba(255, 209, 102, .95);--hand-guidance: rgba(255, 247, 251, .94)}.app-shell.screen-landing,.app-shell.screen-mode-select{min-height:100vh;min-height:100dvh}.theme-picker{position:fixed;right:14px;bottom:14px;z-index:20;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;color:var(--control-text);background:var(--raised-control-bg);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;overflow:hidden;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}:is(.app-shell[data-theme=signiq]) .theme-picker,:is(.app-shell[data-theme=signiq]) .theme-picker-nav{color:var(--control-text);border-color:var(--raised-control-border);background:var(--raised-control-bg)}.theme-picker:hover{color:var(--accent);border-color:var(--border-strong);transform:translateY(-2px)}:is(.app-shell[data-theme=signiq]) .theme-picker:hover,:is(.app-shell[data-theme=signiq]) .theme-picker:focus-within,:is(.app-shell[data-theme=signiq]) .theme-picker:focus-visible,:is(.app-shell[data-theme=signiq]) .theme-picker-nav:hover,:is(.app-shell[data-theme=signiq]) .theme-picker-nav:focus-within,:is(.app-shell[data-theme=signiq]) .theme-picker-nav:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.theme-picker:focus-within,.theme-picker:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.theme-picker svg{grid-area:1 / 1;width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.theme-toggle-sun{opacity:1;transform:scale(1) rotate(0)}.theme-toggle-moon{opacity:0;transform:scale(.72) rotate(-34deg)}.app-shell[data-theme=signiq-light] .theme-toggle-sun{opacity:0;transform:scale(.72) rotate(34deg)}.app-shell[data-theme=signiq-light] .theme-toggle-moon{opacity:1;transform:scale(1) rotate(0)}.theme-picker-nav{display:none}.screen{width:min(1180px,calc(100% - 32px));min-height:100dvh;margin:0 auto;padding:32px 0}.app-shell.page-transition-forward>.screen,.app-shell.page-transition-back>.screen,.app-shell.page-transition-forward>.app-topbar,.app-shell.page-transition-back>.app-topbar,.app-shell.page-transition-forward>.theme-picker-floating,.app-shell.page-transition-back>.theme-picker-floating{will-change:opacity,transform}.app-shell.page-transition-forward>.screen,.app-shell.page-transition-forward>.app-topbar,.app-shell.page-transition-forward>.theme-picker-floating{animation:page-forward-in .52s cubic-bezier(.2,.82,.22,1) both}.app-shell.page-transition-back>.screen,.app-shell.page-transition-back>.app-topbar,.app-shell.page-transition-back>.theme-picker-floating{animation:page-back-in .52s cubic-bezier(.2,.82,.22,1) both}.app-shell:not(.screen-practice) .screen{padding-top:86px}.app-shell.screen-practice .app-topbar{display:none}.app-topbar{position:fixed;top:14px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-topbar-left{left:14px}.app-topbar-right{right:14px;justify-content:flex-end}.profile-menu,.inline-actions{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.nav-link-button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:999px;color:var(--page-text);background:color-mix(in srgb,var(--bg-soft) 42%,transparent);font-weight:850;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.nav-link-button:hover,.nav-link-button:focus-visible{color:var(--primary-text);border-color:color-mix(in srgb,var(--accent-bright) 32%,transparent);background:color-mix(in srgb,var(--accent-bright) 82%,var(--bg-soft) 18%);outline:none;transform:translateY(-1px)}.leaderboard-nav-button{min-height:46px;padding-inline:20px;color:var(--control-text);border-color:var(--raised-control-border);background:var(--raised-control-bg);box-shadow:var(--shadow-soft)}.leaderboard-nav-button:hover,.leaderboard-nav-button:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.leaderboard-nav-button-mobile{display:none}.profile-chip{width:42px;height:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0;border:0;border-radius:50%;color:var(--control-text);background:transparent;box-shadow:none;font-weight:850}.profile-chip .avatar-badge{width:42px;height:42px}.profile-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:35;min-width:168px;display:grid;gap:8px;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--panel-strong);box-shadow:var(--shadow)}.profile-menu-item{min-height:40px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px;border:1px solid var(--raised-control-border);border-radius:12px;color:var(--control-text);background:var(--raised-control-bg);font-weight:850}.profile-menu-item svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.profile-menu-item:hover,.profile-menu-item:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover);outline:none}.profile-menu-item-sign-out{color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:var(--danger);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.profile-menu-item-sign-out:hover,.profile-menu-item-sign-out:focus-visible{color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:var(--danger)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .nav-link-button:not(.leaderboard-nav-button){color:var(--page-muted);background:#0d274857}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .profile-popover{border-color:color-mix(in srgb,var(--border) 58%,transparent);background:#e8f5ff;box-shadow:0 20px 44px #010c1e3d}.app-shell[data-theme=signiq] .profile-popover{background:var(--panel-strong)}.app-shell[data-theme=signiq] .profile-menu-item:not(.profile-menu-item-sign-out){border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq] .profile-menu-item:not(.profile-menu-item-sign-out):hover,.app-shell[data-theme=signiq] .profile-menu-item:not(.profile-menu-item-sign-out):focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.app-shell[data-theme=signiq-light] .nav-link-button:not(.leaderboard-nav-button){color:var(--control-text);background:color-mix(in srgb,var(--surface-alt) 76%,#ffffff 24%)}.avatar-badge{--avatar-bg: var(--accent-bright);--avatar-color: #ffffff;--avatar-border: color-mix(in srgb, var(--avatar-bg) 72%, #ffffff 28%);width:46px;height:46px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--avatar-border);border-radius:50%;color:var(--avatar-color);background:var(--avatar-bg);box-shadow:none}.avatar-sm{width:32px;height:32px}.avatar-badge svg{width:72%;height:72%;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.avatar-blue{--avatar-bg: #1597ff}.avatar-ocean{--avatar-bg: #06b6d4}.avatar-green{--avatar-bg: #16a34a}.avatar-orange{--avatar-bg: #f97316}.avatar-purple{--avatar-bg: #7c3aed}.avatar-picker{display:grid;gap:0;padding:0;border:0}.avatar-picker>.field-label{margin-bottom:10px}.avatar-picker-options{display:flex;flex-wrap:wrap;gap:10px}.avatar-choice{width:58px;height:58px;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;transition:border-color .16s ease,background .16s ease,transform .16s ease}.avatar-choice:hover,.avatar-choice:focus-visible{border-color:var(--border);outline:none;transform:translateY(-1px)}.avatar-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.field-hint strong{font-weight:900}.landing-screen{display:flex;align-items:center;justify-content:center;text-align:center}.screen-landing .landing-screen,.screen-mode-select .mode-screen{min-height:100vh;min-height:100dvh}.hero-panel{position:relative;z-index:1;display:grid;justify-items:center;align-content:center;width:min(720px,100%)}.hero-logo{display:block;width:min(590px,100%);height:auto;margin-top:12px;filter:var(--logo-shadow);transform-origin:center;animation:hero-arrive .52s ease both,logo-breathe 5.2s ease-in-out .7s infinite;will-change:transform}.eyebrow,.panel-label{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;color:var(--accent);background:var(--surface-alt);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:none}.screen-header h1,.practice-header h1{margin-top:12px;color:var(--ink);font-size:clamp(3rem,8vw,6.4rem);line-height:.96;letter-spacing:0}.screen-header h1,.practice-header h1{font-size:clamp(2rem,4vw,3.2rem)}.hero-subtitle{width:min(600px,100%);margin:18px 0 26px;color:var(--hero-copy);font-size:clamp(1.18rem,1.7vw,1.45rem);line-height:1.38}.route-loading-screen{display:grid;place-items:center;color:var(--muted);font-weight:900;animation:loading-signiq-pulse 1.8s ease-in-out infinite}@keyframes loading-signiq-pulse{0%,to{opacity:.42}50%{opacity:1}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.about-screen{display:grid;gap:clamp(18px,3vw,30px);width:100%;max-width:none;min-height:100vh;min-height:100dvh;padding:clamp(96px,12dvh,128px) clamp(24px,5vw,72px) clamp(34px,7dvh,72px)}.about-card{position:relative;overflow:hidden;display:grid;width:min(1180px,100%);gap:clamp(30px,4.6vw,58px);margin:0 auto}.about-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,44px);align-items:center}.about-hero-copy{display:grid;justify-items:start;max-width:none}.about-title{display:flex;flex-wrap:wrap;column-gap:clamp(8px,1vw,14px);row-gap:.08em;align-items:center}.about-title-logo{width:auto;max-width:none;height:1.12em;filter:var(--logo-shadow);transform:translateY(calc(.13em - 2px))}.about-hero h1{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,3.2rem);line-height:.96;letter-spacing:0}.about-hero p,.about-copy-section p,.about-faq-grid p,.about-faq-answer{color:var(--muted);line-height:1.65}.about-hero p{max-width:640px;margin:0;font-size:clamp(1.08rem,1.85vw,1.28rem)}.about-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.about-section-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.about-copy-section,.about-faq-item{border:1px solid var(--border);border-radius:24px;background:var(--panel);box-shadow:none}.about-copy-section{display:grid;align-content:start;gap:12px;padding:clamp(18px,2.8vw,26px)}.about-copy-section h2,.about-faq-section h2{margin:0;color:var(--ink);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.15;letter-spacing:0}.about-copy-section p{margin:0}.about-faq-section{display:grid;gap:16px;padding-top:2px}.about-faq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.about-faq-item{align-self:start;overflow:hidden}.about-faq-question{width:100%;display:flex;gap:12px;align-items:center;justify-content:flex-start;padding:18px 20px;color:var(--ink);background:transparent;font-weight:900;text-align:left}.about-faq-question:hover,.about-faq-question:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--panel) 28%,transparent);outline:none}.about-faq-question::-webkit-details-marker{display:none}.about-faq-question:after{content:"+";margin-left:auto;color:var(--accent-bright);font-size:1.4rem;line-height:1}.about-faq-question[aria-expanded=true]:after,.about-faq-item[open]>.about-faq-question:after{content:"–"}.about-faq-answer,.about-faq-grid p{margin:0;padding:0 20px 18px}.not-found-screen .about-hero{grid-template-columns:minmax(0,1fr);max-width:720px}button{border:0;border-radius:14px;cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.45}.primary-button,.secondary-button,.ghost-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;color:var(--ink);font-weight:800;text-align:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.primary-button{color:var(--primary-text);border:1px solid var(--primary-border, color-mix(in srgb, var(--primary-text) 18%, var(--accent-bright)));background:var(--accent-bright);box-shadow:none}.landing-screen .hero-panel .primary-button{min-width:min(300px,100%);min-height:clamp(50px,4.2vw,60px);padding:0 36px;border-radius:999px;font-size:clamp(1.08rem,1.55vw,1.32rem);font-weight:800}.secondary-button,.ghost-button{color:var(--control-text);border:1px solid var(--raised-control-border);background:var(--raised-control-bg);box-shadow:none}.google-auth-button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.google-logo{width:20px;height:20px;flex:0 0 auto}.ghost-button{border-color:var(--ghost-border, color-mix(in srgb, var(--accent) 28%, var(--border)))}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:none}.secondary-button:hover,.ghost-button:hover{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.primary-button:hover{background:var(--accent-bright)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:18px;background:var(--overlay-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:modal-backdrop-in .18s ease-out}.modal-backdrop.is-closing{pointer-events:none;animation:modal-backdrop-out .18s ease-in forwards}.auth-card{width:min(520px,100%);max-height:min(780px,calc(100dvh - 36px));display:grid;gap:12px;padding:clamp(18px,4vw,28px);overflow:auto;border:1px solid var(--border-strong);border-radius:8px;color:var(--ink);background:var(--panel);box-shadow:0 30px 90px #00000061;transform-origin:center;animation:modal-pop-in .22s cubic-bezier(.2,.9,.22,1.18)}.modal-backdrop.is-closing .auth-card{animation:modal-pop-out .18s cubic-bezier(.4,0,.8,.2) forwards}.challenge-exit-card{width:min(500px,100%);gap:24px;overflow:hidden}.challenge-exit-copy{display:grid;gap:12px}.challenge-exit-copy h2,.challenge-exit-copy p{margin:0}.challenge-exit-copy h2{color:var(--ink);font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.05}.challenge-exit-copy p{color:var(--muted);font-weight:500;line-height:1.5}.challenge-exit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.challenge-exit-actions>button{width:100%}.modal-header,.leaderboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.auth-modal-header{flex-direction:column}.modal-header h2,.leaderboard-header h1{margin:10px 0 0;color:var(--ink);font-size:clamp(1.8rem,4vw,3rem);line-height:1}.leaderboard-header h1{margin-top:0}.leaderboard-title{display:grid;gap:.04em}.field-label{color:var(--muted);font-family:inherit;font-size:.86rem;font-weight:700;letter-spacing:0;text-transform:none}.field-hint{color:var(--muted);font-size:.82rem;line-height:1.35}.auth-form-section{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--border) 48%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-alt) 36%,transparent)}.auth-actions-section{gap:10px;padding:0;border:0;background:transparent}.auth-actions-section .auth-switch{margin-top:4px}.auth-hand-preference{display:grid;gap:0;padding:0;border:0}.auth-hand-preference>.field-label{margin-bottom:10px}.checkbox-field{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-weight:800;line-height:1.35}.checkbox-field input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;display:grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--raised-control-border);border-radius:4px;color:#fff;background:var(--raised-control-bg);cursor:pointer}.checkbox-field input:before{content:"";width:9px;height:5px;border-bottom:3px solid currentColor;border-left:3px solid currentColor;opacity:0;transform:translateY(-1px) rotate(-45deg)}.checkbox-field input:checked{border-color:color-mix(in srgb,var(--accent-bright) 78%,#ffffff 22%);background:var(--accent-bright)}.checkbox-field input:checked:before{opacity:1}.checkbox-field input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.profile-onboarding-preferences{display:grid;gap:22px;padding:0;border:0}.profile-onboarding-options{display:grid;gap:10px}.profile-onboarding-checkbox{padding:10px 12px;border:1px solid var(--raised-control-border);border-radius:8px;background:var(--raised-control-bg)}.practice-onboarding-card{width:min(500px,100%);gap:24px}.practice-onboarding-copy{gap:12px}.practice-onboarding-steps{display:grid;gap:4px;margin:0;padding-left:1.45rem;color:var(--muted);font-weight:500;line-height:1.5}.practice-onboarding-checkbox{padding:12px;border:1px solid var(--raised-control-border);border-radius:8px;background:var(--raised-control-bg)}.practice-onboarding-checkbox>span{display:grid;gap:4px}.practice-onboarding-preference{display:grid;gap:8px}.practice-onboarding-note{margin:0;padding-inline:2px;font-style:normal;font-weight:600}.practice-onboarding-actions{display:grid}.edit-profile-onboarding-checkbox{margin-bottom:22px;border:1px solid color-mix(in srgb,var(--border) 48%,transparent)}.hand-preference-panel{width:min(760px,100%);display:grid;gap:24px;justify-items:stretch;box-sizing:border-box;padding:clamp(22px,4vw,40px)}.hand-preference-title{margin:0;color:var(--ink);font-size:clamp(1.85rem,3.6vw,3rem);line-height:1.04;letter-spacing:0;text-align:center}.hand-choice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hand-choice-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 clamp(14px,3vw,24px);border:1px solid var(--raised-control-border);border-radius:999px;color:var(--control-text);background:var(--raised-control-bg);box-shadow:var(--shadow-soft);font-size:clamp(1rem,2.2vw,1.22rem);font-weight:900;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.auth-hand-preference .hand-choice-buttons{gap:10px}.auth-hand-preference .hand-choice-button{min-height:46px;padding-inline:14px;font-size:.98rem}.hand-choice-button:hover,.hand-choice-button:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover);outline:none;transform:translateY(-1px)}.hand-choice-button:active{transform:translateY(0)}.hand-choice-button.is-selected,.hand-preference-screen .hand-choice-button{color:var(--primary-text);border-color:var(--primary-border, color-mix(in srgb, var(--primary-text) 18%, var(--accent-bright)));background:var(--accent-bright);box-shadow:none}.hand-preference-screen .hand-choice-button:hover,.hand-preference-screen .hand-choice-button:focus-visible{color:var(--primary-text);border-color:var(--primary-border, color-mix(in srgb, var(--primary-text) 18%, var(--accent-bright)));background:var(--accent-bright)}.text-field{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--input-border, var(--border));border-radius:8px;color:var(--ink);background:var(--input-bg, var(--control-bg));font:inherit;font-weight:800;outline:none}.text-field:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring)}.password-field{position:relative}.password-field .text-field{padding-right:52px}.password-toggle{position:absolute;top:50%;right:10px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;color:var(--muted);background:transparent;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--accent);outline:none}.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.form-message{padding:10px 12px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface);font-size:.92rem;font-weight:800;line-height:1.35}.form-message.is-error{border-color:color-mix(in srgb,var(--danger) 42%,transparent);color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.auth-switch{width:100%;justify-self:stretch;margin-top:14px;box-shadow:none}.back-button{color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:var(--danger);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.back-button:hover,.back-button:focus-visible{color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:var(--danger)}.screen-header,.practice-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mode-camera-note{justify-self:center;max-width:560px;margin:68px 0 0;text-align:center}.mode-feedback-note{justify-self:center;max-width:min(100%,640px);margin:68px 0 0;text-align:center}.mode-feedback-link{color:inherit;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.mode-feedback-link:hover,.mode-feedback-link:focus-visible{color:var(--accent-bright);outline:none}.mode-screen{display:grid;align-content:center}.mode-screen .screen-header{width:100%}.mode-header{align-items:flex-end}.mode-header h1{margin:0;max-width:720px;color:var(--page-text)}.leaderboard-spotlight{position:relative;container-type:inline-size;width:100%;min-height:78px;display:grid;align-items:center;margin:0 0 18px;padding:30px 62px 12px;overflow:hidden;border:1px solid var(--border);border-radius:24px;color:var(--ink);background:var(--panel);box-shadow:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.leaderboard-spotlight:hover,.leaderboard-spotlight:focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover);box-shadow:none;transform:translateY(-1px);outline:none}.spotlight-toggle,.spotlight-difficulty-tag{position:absolute;top:8px;z-index:2;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border:1px solid var(--border);border-radius:8px;font-size:.72rem;font-weight:900;line-height:1}.spotlight-toggle{left:62px;color:var(--control-text);border-color:var(--raised-control-border);background:var(--raised-control-bg);box-shadow:none}.spotlight-toggle.is-today{color:var(--primary-text);border-color:var(--active-border, var(--accent-bright));background:var(--accent-bright)}.spotlight-difficulty-tag{right:62px;color:var(--primary-text);border-color:var(--difficulty-border, color-mix(in srgb, var(--difficulty-color, var(--mode-blue)) 72%, transparent));background:var(--difficulty-color, var(--mode-blue));animation:spotlight-tag-fade .38s ease both}.spotlight-title-tag{display:none}.spotlight-title-tag,.spotlight-difficulty-tag.is-alphabet{--difficulty-color: var(--mode-blue)}.app-shell .spotlight-title .spotlight-title-tag{color:#fff}.spotlight-arrow{position:absolute;top:8px;bottom:8px;z-index:2;width:42px;display:grid;place-items:center;padding:0;border:1px solid var(--raised-control-border);border-radius:999px;color:var(--control-text);background:var(--raised-control-bg);box-shadow:none;transition:border-color .16s ease,color .16s ease,transform .16s ease}.spotlight-arrow:hover,.spotlight-arrow:focus-visible{color:var(--accent);border-color:var(--border-strong);outline:none;transform:scale(1.03)}.spotlight-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.spotlight-arrow-prev{left:9px}.spotlight-arrow-next{right:9px}.spotlight-window{min-width:0;overflow:hidden}.spotlight-track{display:flex;transition:transform .52s cubic-bezier(.2,.8,.2,1);will-change:transform}.spotlight-slide{flex:0 0 100%;min-width:100%;display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.15fr) auto;align-items:center;gap:18px}.spotlight-title,.spotlight-player{min-width:0;display:inline-flex;align-items:center;gap:8px}.spotlight-title{color:#020617;font-size:.88rem;font-weight:900}.spotlight-title svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.spotlight-title span,.spotlight-player strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotlight-mode-label-mobile{display:none}.spotlight-player{color:var(--ink)}.spotlight-player strong,.spotlight-time{color:var(--ink);font-weight:950}.spotlight-time{justify-self:end;white-space:nowrap}.spotlight-score-separator{display:none}.app-shell .primary-button,.app-shell .secondary-button,.app-shell .ghost-button{border-radius:999px;box-shadow:var(--shadow-soft)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .primary-button{border-color:color-mix(in srgb,var(--accent-bright) 74%,#ffffff 26%);background:linear-gradient(180deg,#2da7ff,var(--accent-bright))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.hand-choice-button.is-selected,.hand-preference-screen .hand-choice-button){color:var(--primary-text);border-color:color-mix(in srgb,var(--accent-bright) 74%,#ffffff 26%);background:linear-gradient(180deg,#2da7ff,var(--accent-bright))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.hand-choice-button.is-selected:hover,.hand-choice-button.is-selected:focus-visible,.hand-preference-screen .hand-choice-button:hover,.hand-preference-screen .hand-choice-button:focus-visible){color:var(--primary-text);border-color:color-mix(in srgb,var(--accent-bright) 74%,#ffffff 26%);background:linear-gradient(180deg,#2da7ff,var(--accent-bright))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .secondary-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .ghost-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .profile-chip{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq] .secondary-button,.app-shell[data-theme=signiq] .ghost-button{border-color:var(--raised-control-border);background:var(--raised-control-bg)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .profile-chip{border-color:transparent;background:transparent;box-shadow:none}.app-shell[data-theme=signiq-light] .secondary-button,.app-shell[data-theme=signiq-light] .ghost-button,.app-shell[data-theme=signiq-light] .reference-toggle,.app-shell[data-theme=signiq-light] .spotlight-toggle,.app-shell[data-theme=signiq-light] .spotlight-arrow,.app-shell[data-theme=signiq-light] .leaderboard-nav-button,.app-shell[data-theme=signiq-light] .theme-picker{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] .sign-in-nav-button{color:var(--control-text);border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] .sign-in-nav-button:hover,.app-shell[data-theme=signiq-light] .sign-in-nav-button:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.app-shell[data-theme=signiq-light] .auth-hand-preference .hand-choice-button:not(.is-selected),.app-shell[data-theme=signiq-light] .checkbox-field input:not(:checked),.app-shell[data-theme=signiq-light] .profile-onboarding-checkbox:not(.profile-onboarding-standalone),.app-shell[data-theme=signiq-light] .practice-onboarding-checkbox{background:#fff}.app-shell[data-theme=signiq-light] .auth-hand-preference .hand-choice-button:not(.is-selected):hover,.app-shell[data-theme=signiq-light] .auth-hand-preference .hand-choice-button:not(.is-selected):focus-visible{background:#fff}.app-shell[data-theme=signiq] .checkbox-field input:not(:checked),.app-shell[data-theme=signiq] .profile-onboarding-checkbox:not(.profile-onboarding-standalone),.app-shell[data-theme=signiq] .practice-onboarding-checkbox{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] .edit-profile-onboarding-checkbox{border-color:color-mix(in srgb,var(--border) 48%,transparent);background:#fbfbf7}.app-shell[data-theme=signiq] .edit-profile-onboarding-checkbox{border-color:color-mix(in srgb,var(--border) 48%,transparent);background:#494a51}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .secondary-button:hover,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .secondary-button:focus-visible,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .ghost-button:not(.back-button):hover,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .ghost-button:not(.back-button):focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.app-shell[data-theme=signiq-light] .secondary-button:disabled,.app-shell[data-theme=signiq-light] .ghost-button:disabled{background:#ffffff94}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.back-button,.profile-menu-item-sign-out){color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:linear-gradient(180deg,#e54a68,var(--danger))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.back-button,.profile-menu-item-sign-out):is(:hover,:focus-visible){color:var(--primary-text);border-color:color-mix(in srgb,var(--danger) 70%,var(--border));background:linear-gradient(180deg,#e54a68,var(--danger))}.app-shell .auth-card,.app-shell .leaderboard-card,.app-shell .setup-card,.app-shell .results-card,.app-shell .target-panel,.app-shell .webcam-panel,.app-shell .reading-sequence,.app-shell .reading-playback,.app-shell .reading-answer-panel,.app-shell .reading-speed-card,.app-shell .reading-speed-summary,.app-shell .result-metric,.app-shell .leaderboard-row,.app-shell .leaderboard-submit-panel{border-color:color-mix(in srgb,var(--border) 54%,transparent);border-radius:22px;box-shadow:var(--shadow-soft)}.layout-height-animating{overflow:hidden;will-change:height}@media (prefers-reduced-motion: reduce){.layout-height-animating{transition:none!important}}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .leaderboard-spotlight{min-height:74px;border-color:var(--raised-control-border);border-radius:24px;background:var(--raised-control-bg);box-shadow:0 18px 36px #02142e2e}.app-shell[data-theme=signiq] .about-copy-section,.app-shell[data-theme=signiq] .about-faq-item,.app-shell[data-theme=signiq-light] .about-copy-section,.app-shell[data-theme=signiq-light] .about-faq-item{border-color:color-mix(in srgb,var(--border) 58%,transparent);background:color-mix(in srgb,var(--surface-alt) 76%,#ffffff 24%)}.app-shell[data-theme=signiq] .leaderboard-spotlight{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq] .about-copy-section,.app-shell[data-theme=signiq] .about-faq-item{background:var(--panel)}.app-shell[data-theme=signiq] .about-hero h1,.app-shell[data-theme=signiq] .about-faq-section>h2{color:var(--page-text)}.app-shell[data-theme=signiq] .auth-card{background:var(--panel)}.app-shell[data-theme=signiq] .leaderboard-nav-button{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq] .leaderboard-card{background:var(--panel)}.app-shell[data-theme=signiq] .reading-handshape-stage{background:var(--segment-bg)}.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-arrow{background:inherit}.app-shell[data-theme=signiq-light] .reading-playback{border-color:#ccd8e5}.app-shell[data-theme=signiq-light] .reading-session-hud,.app-shell[data-theme=signiq-light] .reading-input-bar,.app-shell[data-theme=signiq-light] .reading-speed-card{border-color:#d6e0eb}.app-shell[data-theme=signiq-light] .reading-speed-card{background:var(--panel)}.app-shell[data-theme=signiq-light] .reading-stage-action-button{border-color:#ccd8e5}.app-shell[data-theme=signiq-light] .leaderboard-spotlight,.app-shell[data-theme=signiq-light] .segmented-control,.app-shell[data-theme=signiq-light] .empty-state,.app-shell[data-theme=signiq-light] .leaderboard-card{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] .about-copy-section,.app-shell[data-theme=signiq-light] .about-faq-item{border-color:#b8c7d8;background:#e8f1fa}.app-shell[data-theme=signiq-light] .spotlight-toggle.is-today{color:var(--primary-text);border-color:var(--accent-bright);background:var(--accent-bright)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-toggle,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-difficulty-tag,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-arrow{border-radius:999px}.app-shell .spotlight-title,.app-shell .spotlight-title span{color:#020617}.leaderboard-spotlight .spotlight-title,.leaderboard-spotlight .spotlight-title>span:not(.spotlight-title-tag),.leaderboard-spotlight .spotlight-title svg{color:#020617!important;stroke:#020617}.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title,.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title span:not(.spotlight-title-tag),.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title svg{color:var(--ink)!important;stroke:var(--ink)}.app-shell .mode-card{min-height:352px;border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 20%,transparent);border-radius:24px;box-shadow:0 22px 42px #02142e33}.app-shell .mode-card:before{height:7px;border-radius:24px 24px 0 0}.app-shell .mode-card:hover{box-shadow:0 28px 52px #02142e3d;transform:translateY(-5px)}.app-shell .mode-icon{width:100%;height:84px;border-width:0;border-radius:0;background:transparent}.app-shell .mode-icon svg{width:52px;height:52px;stroke-width:2.4}.app-shell .mode-reading-strip{--mode-eye-size: 52px}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card h2{color:#05214a}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card p{color:#315a7c}.mode-card{position:relative;min-width:0;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;padding:28px;border:1px solid var(--border);border-radius:8px;background:var(--mode-card-bg, var(--panel));box-shadow:var(--shadow);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.mode-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--mode-accent, var(--accent))}.mode-card:hover{border-color:var(--mode-card-hover-border, color-mix(in srgb, var(--mode-accent, var(--accent)) 52%, var(--border)));box-shadow:var(--shadow);transform:translateY(-4px)}.mode-card-green:hover{border-color:color-mix(in srgb,var(--mode-success) 20%,transparent)}.app-shell[data-theme=ocean] .mode-card-green:hover{border-color:color-mix(in srgb,var(--mode-success) 34%,transparent)}.mode-card-blue{--mode-accent: var(--mode-blue);--mode-surface: var(--mode-blue-soft);--mode-card-bg: var(--mode-blue-soft)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card-blue{--mode-card-bg: linear-gradient(145deg, #d8eeff 0%, #b9dcfb 100%);--mode-surface: #d9edff;border-color:color-mix(in srgb,var(--mode-blue) 34%,transparent)}.mode-card-green{--mode-accent: var(--mode-success);--mode-surface: var(--mode-success-soft);--mode-card-bg: var(--mode-success-soft)}.mode-card-clay{--mode-accent: var(--mode-warm);--mode-surface: var(--control-bg);--mode-card-bg: var(--segment-bg)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card-clay{--mode-card-bg: linear-gradient(145deg, #fff1df 0%, #eadbc9 100%);--mode-surface: #fff1df;border-color:color-mix(in srgb,var(--mode-warm) 34%,transparent)}.app-shell[data-theme=ocean] .mode-card-green{--mode-card-bg: linear-gradient(145deg, #e1f3ea 0%, #c6e4d5 100%);--mode-surface: #e1f3ea;border-color:color-mix(in srgb,var(--mode-success) 34%,transparent)}.app-shell[data-theme=ocean] .mode-camera-note,.app-shell[data-theme=watermelon] .mode-camera-note{color:#fff}.mode-card-copy{min-width:0;max-width:100%;display:grid;gap:14px}.mode-card-copy>*{min-width:0}.mode-card-topline{margin-bottom:8px}.mode-icon{flex:1 1 auto;min-width:0;width:100%;height:82px;display:flex;align-items:flex-start;border:0;border-radius:0;color:var(--mode-accent, var(--accent));background:transparent;overflow:visible}.mode-icon svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.mode-letter-strip,.mode-word-strip,.mode-reading-strip{width:100%;height:100%;display:flex;align-items:flex-start;color:currentColor;box-sizing:border-box}.mode-letter-strip{gap:clamp(7px,2.35vw,15px);padding-top:4px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%)}.mode-letter-strip-item{flex:0 0 auto;color:currentColor;font-size:clamp(2.35rem,5.2vw,3.45rem);font-weight:950;line-height:1}.mode-letter-strip-item-1{opacity:1}.mode-letter-strip-item-2{opacity:.82}.mode-letter-strip-item-3{opacity:.64}.mode-letter-strip-item-4{opacity:.44}.mode-letter-strip-item-5{opacity:.28}.mode-letter-strip-item-6{opacity:.14}.mode-letter-strip-item-7{opacity:.08}.mode-letter-strip-item-8,.mode-letter-strip-item-9,.mode-letter-strip-item-10{opacity:.05}.mode-word-strip{gap:clamp(7px,2.35vw,15px);padding:4px 14px 0 4px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 78%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 78%,transparent 100%)}.mode-word-strip-item{position:relative;flex:0 0 auto;display:inline-flex;justify-content:center;padding-bottom:0;color:currentColor;font-size:clamp(2.35rem,5.2vw,3.45rem);font-weight:950;line-height:1;white-space:nowrap}.mode-word-strip-item-1{opacity:1}.mode-word-strip-item-2{opacity:.82}.mode-word-strip-item-3{opacity:.64}.mode-word-strip-item-4{opacity:.44}.mode-word-strip-item-5{opacity:.28}.mode-word-strip-item-6{opacity:.14}.mode-word-strip-item-7{opacity:.08}.mode-word-strip-item-8{opacity:.05}.mode-reading-strip{--mode-eye-size: 50px;position:relative;align-items:flex-start;min-width:0;padding:4px 14px 0 0;overflow:visible}.mode-reading-strip svg{position:relative;z-index:2;flex:0 0 auto}.mode-reading-ray{position:absolute;left:calc((var(--mode-eye-size) * .94) + 15px);right:14px;height:4px;border-radius:999px;background:linear-gradient(to right,currentColor 0%,color-mix(in srgb,currentColor 66%,transparent) 58%,transparent 100%);opacity:.76;transform-origin:left center}.mode-reading-ray-up{top:calc(4px + (var(--mode-eye-size) * .28));transform:rotate(-5deg)}.mode-reading-ray-mid{left:calc(var(--mode-eye-size) + 17px);top:calc(4px + (var(--mode-eye-size) * .48))}.mode-reading-ray-down{top:calc(4px + (var(--mode-eye-size) * .68));transform:rotate(5deg)}.mode-card h2{min-width:0;max-width:12ch;margin:0;color:var(--ink);font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.02;letter-spacing:0;transform:translateY(-10px)}.mode-card p,.muted-text{color:var(--muted);line-height:1.55}.mode-card p{min-width:0;max-width:100%;margin:0;overflow-wrap:normal;white-space:normal}.mode-card .primary-button{color:#fff;border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 72%,var(--mode-surface, var(--surface)) 28%);background:color-mix(in srgb,var(--mode-accent, var(--accent)) 78%,var(--mode-surface, var(--surface)) 22%)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .mode-card .primary-button{color:#fff;border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 72%,var(--mode-surface, var(--surface)) 28%);background:color-mix(in srgb,var(--mode-accent, var(--accent)) 78%,var(--mode-surface, var(--surface)) 22%)}.mode-card .primary-button:hover,.mode-card .primary-button:focus-visible{color:#fff;border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 86%,#ffffff 14%);background:color-mix(in srgb,var(--mode-accent, var(--accent)) 88%,var(--mode-surface, var(--surface)) 12%)}.setup-screen,.results-screen{display:grid;place-items:center}.setup-screen{align-content:center}.setup-card,.results-card{width:min(1040px,100%);padding:clamp(22px,4vw,40px);border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.setup-card{width:min(760px,100%)}.setup-header,.results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.setup-header{justify-content:flex-start}.results-header h1{width:100%;max-width:none;margin:8px auto 0;color:var(--ink);font-size:clamp(2.2rem,5.4vw,4rem);line-height:1;letter-spacing:0;text-align:center;text-wrap:balance}.results-header{width:100%;margin-inline:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-content:stretch;justify-items:center;gap:12px;text-align:center}.results-header .eyebrow{justify-self:center;margin-bottom:2px}.setup-section{display:grid;gap:12px;margin-top:24px}.setup-mobile-disclaimer{display:none}.setup-label,.setup-range-header span{color:var(--muted);font-family:inherit;font-size:.86rem;font-weight:700;letter-spacing:0;text-transform:none}.segmented-control{position:relative;isolation:isolate;--segment-count: 3;--segment-index: 0;--segment-color: var(--accent);display:grid;grid-template-columns:repeat(var(--segment-count),minmax(0,1fr));gap:0;padding:6px;border:1px solid var(--border);border-radius:999px;background:var(--segment-bg)}.segmented-control:before{content:"";position:absolute;inset-block:6px;left:6px;z-index:0;width:calc((100% - 12px) / var(--segment-count));border-radius:999px;background-color:var(--segment-color);transform:translate(calc(var(--segment-index) * 100%));transition:transform .26s cubic-bezier(.2,.8,.2,1),background-color .26s ease}.segmented-control-timeframe{--segment-count: 2}.leaderboard-filters .segmented-control{width:100%;min-width:0;max-width:100%}.segmented-control button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding-inline:clamp(8px,1.1vw,16px);border-radius:999px;color:var(--muted);background:transparent;font-weight:850;overflow:hidden;text-align:center;white-space:nowrap}.difficulty-easy{--difficulty-color: var(--success)}.difficulty-medium{--difficulty-color: var(--warning)}.difficulty-hard{--difficulty-color: var(--danger)}.segmented-control button.is-selected{color:var(--primary-text);background:transparent;box-shadow:none}.setup-range-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.setup-range-header strong{color:var(--accent);font-size:1.6rem}.word-count-slider{width:100%;accent-color:var(--accent)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:800}.setup-note{display:block;margin-top:18px;padding:0;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:clamp(.98rem,1.6vw,1.12rem);line-height:1.45}.setup-note.is-challenge{border:0;background:transparent}.setup-note p{margin:0}.setup-note strong{font-weight:900}@media (max-width: 560px){.challenge-badge{flex-wrap:nowrap;gap:8px;padding-inline:16px 8px}.challenge-difficulty-tag{width:auto;min-width:84px;flex:0 0 auto;padding-inline:12px}.challenge-badge-label{min-width:0;flex:1 1 auto;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}}.setup-start-button{width:100%;margin-top:30px}.results-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.results-stat-grid.is-words{width:min(1040px,100%);margin-inline:auto}.results-stat-grid.is-alphabet{grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto}.results-stat-grid.is-reading{grid-template-columns:repeat(4,minmax(0,1fr))}.result-metric{min-height:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);text-align:center}.result-metric span{color:var(--muted);font-size:.82rem;font-weight:850}.result-metric strong{color:var(--ink);font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.08}.result-metric.is-featured{align-items:center;justify-content:center;text-align:center;border-color:var(--border-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-alt) 76%,var(--surface) 24%),var(--surface))}.result-metric.is-featured strong{font-size:clamp(1.35rem,3vw,2.2rem)}.result-metric-success{border-color:color-mix(in srgb,var(--success) 38%,transparent)}.result-metric-success.is-featured{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 82%,var(--success) 18%),var(--surface))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric{position:relative;overflow:hidden;border-color:var(--metric-border, var(--border));background:var(--metric-background, var(--surface))}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric:before{content:none}.app-shell[data-theme=signiq] .text-field,.app-shell[data-theme=signiq] .reading-form input{color:#061a38;background:#fff}.app-shell[data-theme=signiq] .text-field,.app-shell[data-theme=signiq] .reading-form input{border-color:#a9b5c3}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric span{color:var(--metric-label-color, #315a7c)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric strong{color:var(--metric-value-color, #05214a)}.result-metric-completed,.result-metric-secondary-count{--metric-accent: #34865a;--metric-border: #62a87e;--metric-background: linear-gradient(145deg, #e1f1e8, #c7e3d3)}.result-metric-time{--metric-accent: #397ecb;--metric-border: #719ed7;--metric-background: linear-gradient(145deg, #dce9fb, #c3d8f3)}.result-metric-average{--metric-accent: #7f60b2;--metric-border: #9a82c2;--metric-background: linear-gradient(145deg, #eee7f9, #dbcef0)}.result-metric-fastest{--metric-accent: #b88916;--metric-border: #c6a042;--metric-background: linear-gradient(145deg, #fff3cd, #f3dfa0)}.result-metric-streak{--metric-accent: #bb7136;--metric-border: #c58d5d;--metric-background: linear-gradient(145deg, #f8e7d5, #ebceb1)}.result-metric-correct{--metric-accent: #34865a;--metric-border: #62a87e;--metric-background: linear-gradient(145deg, #e1f1e8, #c7e3d3)}.result-metric-needs-practice{--metric-accent: #b95e72;--metric-border: #c87888;--metric-background: linear-gradient(145deg, #f9e5e9, #edcdd4)}.results-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:12px;margin-top:32px}.leaderboard-submit-panel{position:relative;width:max-content;max-width:100%;display:grid;justify-items:center;gap:10px;margin:0;padding:0;border:0;border-radius:0;color:var(--ink);background:transparent;text-align:center;box-shadow:none}.leaderboard-submit-panel.is-eligible{animation:none}.leaderboard-submit-button{min-width:min(280px,calc(100vw - 48px));color:var(--control-text);border-color:var(--raised-control-border);background:var(--raised-control-bg)}.leaderboard-submit-button:hover,.leaderboard-submit-button:focus-visible{color:var(--control-text);border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.app-shell[data-theme=signiq] .leaderboard-submit-button{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq] .leaderboard-submit-button:hover,.app-shell[data-theme=signiq] .leaderboard-submit-button:focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.app-shell[data-theme=signiq-light] .leaderboard-submit-button:not([aria-disabled=true]){border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] .leaderboard-submit-button:not([aria-disabled=true]):hover,.app-shell[data-theme=signiq-light] .leaderboard-submit-button:not([aria-disabled=true]):focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover)}.leaderboard-submit-button[aria-disabled=true]{color:var(--muted);border-color:var(--border);background:var(--surface-muted);cursor:not-allowed;filter:grayscale(.16);opacity:.64;transform:none}.leaderboard-submit-button[aria-disabled=true]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.leaderboard-submit-panel.is-eligible .leaderboard-submit-button{animation:leaderboard-eligible-glow 1.15s ease-in-out infinite}.leaderboard-submit-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:4;width:max-content;max-width:min(300px,calc(100vw - 32px));padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:14px;color:var(--ink);background:var(--panel-strong);box-shadow:var(--shadow-soft);font-size:.86rem;font-weight:850;line-height:1.25;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .16s ease,transform .16s ease}.leaderboard-submit-tooltip:after{content:"";position:absolute;top:100%;left:50%;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--panel-strong);transform:translate(-50%)}.leaderboard-submit-panel:hover .leaderboard-submit-tooltip,.leaderboard-submit-tooltip.is-visible{opacity:1;transform:translate(-50%)}.leaderboard-screen{display:grid;place-items:center}.leaderboard-card{width:min(980px,100%);height:min(760px,calc(100dvh - 132px));min-height:min(620px,calc(100dvh - 132px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:22px;overflow:hidden;padding:clamp(22px,4vw,40px);border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.leaderboard-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.leaderboard-list{min-height:0;display:grid;align-content:start;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.leaderboard-list.is-empty{align-content:stretch}.leaderboard-list.is-empty .empty-state{box-sizing:border-box;height:100%;min-height:100%;display:grid;place-items:center}.leaderboard-loading-state{height:100%;min-height:100%;display:grid;place-items:center;color:var(--muted);font-weight:850;text-align:center}.leaderboard-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:none}.app-shell .leaderboard-row{box-shadow:none}.leaderboard-row.rank-gold{border-color:#e4b33e;background:linear-gradient(135deg,#fff2b8,#f4cf5f)}.leaderboard-row.rank-silver{border-color:#b7c0cb;background:linear-gradient(135deg,#f4f7fb,#c9d2dd)}.leaderboard-row.rank-bronze{border-color:#a96f42;background:linear-gradient(135deg,#ead0b8,#b9794d)}.leaderboard-rank{min-width:44px;color:#000;font-weight:900}.leaderboard-rank.rank-gold{color:#b77900}.leaderboard-rank.rank-silver{color:#7b8794}.leaderboard-rank.rank-bronze{color:#a55a2a}.leaderboard-user{min-width:0;display:grid;gap:2px}.leaderboard-user strong,.leaderboard-time{color:var(--ink);font-weight:900}.leaderboard-user span{color:var(--muted);font-size:.84rem;font-weight:750}.app-shell[data-theme=signiq] .leaderboard-row:is(.rank-gold,.rank-silver,.rank-bronze){--ink: #061a38;--muted: #426079}.empty-state{padding:22px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--surface);font-weight:850;text-align:center}.practice-screen{width:calc(100% - 20px);max-width:none;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:10px 0}.practice-header{gap:12px;margin-bottom:8px}.practice-mobile-target,.mobile-change-mode{display:none}.practice-actions{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.session-stat{flex:0 0 auto;min-width:124px;padding:9px 14px;border:1px solid var(--raised-control-border);border-radius:22px;background:var(--raised-control-bg);box-shadow:var(--shadow-soft);text-align:right}.session-stat span{display:block;color:var(--control-text);font-size:1rem;font-weight:800;line-height:1.1}.session-stat strong{display:block;margin-top:2px;color:var(--accent);font-size:1.2rem}.reading-practice-stats{flex:0 0 auto;min-width:124px}.reading-practice-stats .session-stat{width:auto;text-align:right}.reading-speed-card{display:none;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:22px;background:var(--control-bg);box-shadow:var(--shadow-soft)}.reading-speed-card .reading-speed-labels{color:var(--muted)}.challenge-badge{flex:0 1 auto;min-width:0;min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 10px 0 20px;border:1px solid var(--border);border-radius:999px;color:var(--control-text);background:var(--control-bg);box-shadow:none;font-weight:800;line-height:1.1}.challenge-badge-label,.challenge-difficulty-tag{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;font-size:.8rem;font-weight:900;line-height:1;white-space:nowrap}.challenge-badge-label{color:var(--control-text);background:transparent;font-size:1rem}.challenge-difficulty-tag{color:var(--primary-text);border:1px solid var(--difficulty-border, color-mix(in srgb, var(--difficulty-color, var(--mode-blue)) 72%, transparent));background:var(--difficulty-color, var(--mode-blue))}.app-shell[data-theme=signiq-light] .challenge-badge{border-color:#b8c7d8;background:#e8f1fa;box-shadow:var(--shadow-soft)}.challenge-difficulty-tag.is-alphabet{--difficulty-color: var(--mode-blue)}.target-panel{position:relative;min-height:clamp(210px,24vh,280px);display:grid;grid-template-rows:auto minmax(0,1fr);align-items:center;margin-bottom:8px;padding:clamp(14px,2vh,22px) 20px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-soft);overflow:hidden;isolation:isolate}.target-panel.is-correct{border-color:color-mix(in srgb,var(--success) 44%,transparent);box-shadow:var(--shadow-soft),0 0 0 4px var(--success-soft)}.target-panel.correct-pulse-0{animation:correct-pop .42s ease}.target-panel.correct-pulse-1{animation:correct-pop-alt .42s ease}.target-panel.has-reference-nudge{border-color:var(--nudge-border, color-mix(in srgb, var(--accent) 42%, transparent))}.target-label{margin:0 0 2px;color:var(--ink);font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:850;letter-spacing:0;text-transform:none}.target-letter{align-self:center;padding-left:0;z-index:1;color:var(--inactive);font-size:clamp(5.8rem,17vh,10.4rem);font-weight:900;line-height:.78;text-align:center;transition:top .36s cubic-bezier(.2,.82,.22,1),right .36s cubic-bezier(.2,.82,.22,1),bottom .36s cubic-bezier(.2,.82,.22,1),left .36s cubic-bezier(.2,.82,.22,1),transform .36s cubic-bezier(.2,.82,.22,1),padding-left .36s cubic-bezier(.2,.82,.22,1)}.sign-reference{position:absolute;top:clamp(66px,7.2vh,92px);left:20px;z-index:2;width:clamp(118px,15vh,150px);height:clamp(118px,15vh,150px);display:block;margin:0;padding:0;border:0;border-radius:6px;color:var(--accent);background:transparent;box-shadow:none;cursor:default;opacity:1;transform:translateY(0);transition:opacity .26s ease,transform .36s cubic-bezier(.2,.82,.22,1),box-shadow .18s ease,background .18s ease}.target-panel.reference-hidden .sign-reference{opacity:0;pointer-events:none;transform:translateY(-8px)}.target-panel.reference-hidden .sign-reference.needs-attention{animation:none}.sign-reference.needs-attention{background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent),var(--glow);animation:reference-glow 1.15s ease-in-out infinite}.reference-toggle.is-reference-nudged{border-color:var(--pulse-blue);box-shadow:0 0 0 3px var(--pulse-blue-soft),var(--shadow-soft);animation:reference-toggle-glow 1.15s ease-in-out infinite}.sign-reference:focus-visible,.sign-reference-close:focus-visible,.ghost-guide:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.sign-reference img{width:100%;height:100%;display:block;object-fit:contain;border-radius:6px}.sign-reference.is-mirrored-reference img{transform:scaleX(-1)}.sign-reference-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--overlay-bg);cursor:zoom-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:reference-backdrop-in .18s ease-out}.sign-reference-modal-content{position:relative;width:min(680px,92vw);max-height:90vh;display:grid;justify-items:center;gap:14px;padding:clamp(18px,4vw,34px);overflow:auto;border:1px solid var(--border-strong);border-radius:14px;color:var(--ink);background:var(--panel-strong);box-shadow:0 30px 90px #00000075;cursor:default;animation:reference-image-in .18s ease-out}.sign-reference-video{width:min(520px,78vw);max-height:64vh;display:block;object-fit:contain;border-radius:10px;background:#000}.sign-reference-video.is-video-mirrored{transform:scaleX(-1)}.sign-reference-note{display:grid;gap:6px;text-align:center}.sign-reference-note p{margin:0;color:var(--ink);font-size:1rem;font-weight:850}.sign-reference-note span{color:var(--muted);font-size:.95rem;font-weight:750;line-height:1.4}.sign-reference-close{position:absolute;top:12px;right:12px;z-index:1;width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--raised-control-border);border-radius:50%;color:var(--ink);background:var(--raised-control-bg);box-shadow:none;cursor:pointer}.sign-reference-close svg{width:20px;height:20px}@keyframes reference-backdrop-in{0%{opacity:0}}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-backdrop-out{to{opacity:0}}@keyframes reference-image-in{0%{opacity:0;transform:scale(.96)}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-pop-out{to{opacity:0;transform:translateY(10px) scale(.94)}}@keyframes reference-glow{0%,to{filter:brightness(1);transform:translateY(0) scale(1)}50%{filter:brightness(1.08);transform:translateY(-2px) scale(1.035)}}@keyframes reference-toggle-glow{0%,to{box-shadow:0 0 0 3px var(--pulse-blue-soft),var(--shadow-soft)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--pulse-blue) 34%,transparent),0 0 28px color-mix(in srgb,var(--pulse-blue) 34%,transparent)}}@keyframes leaderboard-eligible-glow{0%,to{border-color:color-mix(in srgb,var(--border) 58%,transparent);box-shadow:0 0 0 3px var(--pulse-blue-soft),var(--shadow-soft)}50%{border-color:color-mix(in srgb,var(--pulse-blue) 88%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--pulse-blue) 34%,transparent),0 0 28px color-mix(in srgb,var(--pulse-blue) 34%,transparent)}}@keyframes setup-disclaimer-pulse{0%,to{border-color:#dc354f;box-shadow:0 0 0 2px #dc354f1f,0 14px 30px #dc354f24}50%{border-color:#dc354f;box-shadow:0 0 0 4px #dc354f47,0 0 26px #dc354f47,0 14px 30px #dc354f24}}@keyframes spotlight-tag-fade{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-arrive{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes page-forward-in{0%{opacity:0;transform:translate(42px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes page-back-in{0%{opacity:0;transform:translate(-42px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes logo-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.012)}}.target-letter.completed,.word-letter.completed,.status-success{color:var(--success);animation:correct-letter-pop .42s ease}@keyframes correct-pop{0%{transform:scale(.985)}45%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes correct-pop-alt{0%{transform:scale(.985)}45%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes correct-letter-pop{0%{transform:translateY(0) scale(.96)}45%{transform:translateY(-3px) scale(1.08)}to{transform:translateY(0) scale(1)}}@keyframes centered-target-letter-pop{0%{transform:translate(-50%) translateY(0) scale(.96)}45%{transform:translate(-50%) translateY(-3px) scale(1.08)}to{transform:translate(-50%) translateY(0) scale(1)}}@keyframes centered-hidden-target-letter-pop{0%{transform:translate(-50%,-50%) translateY(0) scale(.96)}45%{transform:translate(-50%,-50%) translateY(-3px) scale(1.08)}to{transform:translate(-50%,-50%) translateY(0) scale(1)}}@keyframes mobile-hidden-target-letter-pop{0%{transform:translate(-50%,-50%) scale(.96)}45%{transform:translate(-50%,-50%) scale(1.08)}to{transform:translate(-50%,-50%) scale(1)}}.word-target{container-type:inline-size;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:var(--word-letter-gap, clamp(10px, 2vw, 22px));max-width:100%;min-height:clamp(96px,17vh,160px);padding-left:0;z-index:1;box-sizing:border-box;white-space:nowrap;transition:top .36s cubic-bezier(.2,.82,.22,1),right .36s cubic-bezier(.2,.82,.22,1),bottom .36s cubic-bezier(.2,.82,.22,1),left .36s cubic-bezier(.2,.82,.22,1),transform .36s cubic-bezier(.2,.82,.22,1),padding-left .36s cubic-bezier(.2,.82,.22,1)}.word-letter{flex:0 1 var(--word-letter-fit-width, auto);min-width:min(var(--word-letter-min-width, clamp(42px, 9vw, 86px)),var(--word-letter-fit-width, 999px));color:var(--inactive);font-size:min(var(--word-letter-size, clamp(4rem, 15vh, 8.8rem)),var(--word-letter-fit-size, 999px));font-weight:900;line-height:1;text-align:center;transition:color .18s ease,transform .18s ease}.word-letter.current{color:var(--ink);transform:translateY(-2px)}.practice-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.practice-controls{display:none;margin-top:8px}.practice-controls>.practice-actions{margin-top:0}.toggle-control.reference-toggle-mobile{display:none}.reading-screen{display:flex;flex-direction:column}.reading-panel{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}.reading-playback,.reading-answer-panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.reading-playback{position:relative;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:0;padding:0;overflow:hidden}.reading-session-hud,.reading-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.reading-session-hud{min-height:clamp(68px,8dvh,92px);display:grid;grid-template-columns:minmax(260px,440px) minmax(0,1fr) auto;gap:clamp(12px,2vw,24px);align-items:center;padding:clamp(14px,2vw,20px) clamp(18px,3vw,32px);color:var(--ink);background:var(--panel);border-bottom:1px solid var(--border)}.reading-hud-stat{min-width:0;display:grid;gap:2px}.reading-hud-stat.is-time{justify-items:end}.reading-hud-stat.is-speed{justify-items:start}.reading-hud-speed-mobile{display:none}.reading-session-hud-spacer{min-width:0}.reading-hud-stat span{color:var(--muted);font-size:.78rem;font-weight:850}.reading-hud-stat strong{color:var(--ink);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:850;line-height:1}.reading-hud-stat.is-time strong{font-size:clamp(1.05rem,1.8vw,1.35rem)}.reading-speed-control-hud{min-width:0}.reading-speed-control-hud .reading-speed-labels{color:var(--muted)}.reading-speed-control-hud .word-count-slider{margin:0;accent-color:var(--accent)}.reading-handshape-stage{position:relative;min-height:clamp(360px,58dvh,680px);display:grid;place-items:center;box-sizing:border-box;border:0;border-radius:0;background:var(--surface);overflow:hidden}.reading-stage-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.reading-stage-action-button{min-width:clamp(118px,14vw,160px);min-height:clamp(48px,6vmin,58px);display:inline-flex;align-items:center;justify-content:center;padding-inline:18px;border:1px solid var(--border);border-radius:999px;color:var(--ink);background:var(--panel);box-shadow:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.reading-stage-action-button:hover{transform:translateY(-1px);border-color:var(--border-strong);background:var(--surface)}.reading-stage-action-button svg{width:22px;height:22px}.reading-media-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:100%;min-width:0;min-height:0;display:grid;place-items:center;align-self:stretch;justify-self:stretch;box-sizing:border-box;padding:clamp(18px,3vmin,42px);overflow:hidden;animation:none;contain:layout paint}.reading-media-frame.is-fading{animation:none}.reading-handshape-image{display:block;width:auto;height:auto;min-width:0;min-height:0;max-width:min(78%,500px);max-height:82%;object-fit:contain}.reading-placeholder{display:grid;place-items:center;min-height:160px;color:var(--muted);text-align:center}.reading-placeholder strong{color:var(--ink);font-size:clamp(1.4rem,4vw,2.2rem)}.reading-result-message{display:grid;justify-items:center;gap:12px;text-align:center;animation:reading-result-in .22s ease-out both}.reading-result-message strong{font-size:clamp(2.2rem,6vw,4rem);font-weight:950;line-height:1}.reading-result-message span{color:var(--ink);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:800;line-height:1.1}.reading-result-message.is-correct strong{color:var(--success)}.reading-result-message.is-correct{animation:reading-result-correct-flash .9s ease-in-out both}.reading-result-message.is-incorrect strong{color:var(--danger)}.reading-result-next-button{margin-top:4px;min-width:clamp(150px,18vw,210px)}.reading-input-bar{display:grid;gap:10px;padding:clamp(14px,2vw,20px) clamp(18px,3vw,32px);color:var(--ink);background:var(--panel);border-top:1px solid var(--border)}.reading-answer-panel{display:flex;flex-direction:column;justify-content:flex-start;gap:18px;padding:clamp(18px,3vw,28px)}.reading-session-timer{margin:0;color:var(--ink);font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:850;letter-spacing:0}.reading-speed-summary{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--border);border-radius:999px;color:var(--ink);background:var(--surface);font-size:.9rem;font-weight:800}.reading-speed-control{display:grid;gap:8px;margin:0}.reading-speed-control-card{width:100%;min-width:0}.reading-speed-control-card .word-count-slider{margin:0}.reading-speed-summary-card{justify-self:start}.reading-speed-labels{color:var(--control-text);font-family:inherit;font-size:clamp(.68rem,1.6vw,.78rem);font-weight:800;line-height:1.1;text-align:center}.reading-speed-card .reading-speed-labels,.reading-speed-control-hud .reading-speed-labels{color:var(--control-text)}.reading-form{--reading-control-height: 58px;display:grid;grid-template-columns:minmax(190px,420px) auto;justify-content:center;align-items:center;gap:12px}.reading-form input{width:100%;height:var(--reading-control-height);min-height:var(--reading-control-height);padding:0 16px;border:1px solid var(--border);border-radius:999px;color:var(--ink);background:var(--surface);font:inherit;font-size:clamp(1.15rem,3vw,1.7rem);font-weight:900;letter-spacing:0}.reading-form .primary-button{height:var(--reading-control-height);min-height:var(--reading-control-height)}.app-shell[data-theme=signiq].screen-practice.mode-reading .practice-actions>.secondary-button,.app-shell[data-theme=signiq].screen-practice.mode-reading .reading-form .primary-button,.app-shell[data-theme=signiq].screen-practice.mode-reading .reading-stage-action-button{box-shadow:none}.reading-form input:focus{outline:3px solid var(--focus-ring);border-color:var(--border-strong)}.reading-feedback{min-height:24px;color:#ffffffdb;font-weight:850;line-height:1.35;text-align:center}.reading-feedback.status-success{color:#dffbe9}.reading-feedback.status-skipped{color:#e7f1ff}.status-error{color:#ffe1e8}.reading-answer-word{margin:-2px 0 0;color:#ffffffdb;font-weight:780;text-align:center}.reading-answer-word strong{color:#fff}@keyframes reading-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes reading-result-correct-flash{0%{opacity:0;transform:translateY(8px) scale(.985)}22%,70%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.985)}}@media (min-width: 769px){.app-shell.screen-practice.mode-reading .reading-screen{width:min(100% - 20px,1880px);padding:18px 0}.app-shell.screen-practice.mode-reading .reading-panel{grid-template-columns:minmax(0,1fr);gap:0}.app-shell.screen-practice.mode-reading .reading-playback{gap:0;padding:0}}.icon-button-label{display:inline-flex;align-items:center;justify-content:center;gap:9px}.icon-button-label svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.mobile-change-mode.icon-button-label{display:none}.webcam-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--camera-panel);box-shadow:var(--shadow)}.webcam-container{position:relative;width:100%;flex:1;min-height:0;overflow:hidden;border-radius:8px;background:var(--camera-bg)}.webcam,.hand-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:filter .36s ease}.hand-canvas{z-index:2;pointer-events:none;transform:scaleX(-1)}.webcam-container.is-awaiting-start .webcam{opacity:0;filter:none}.webcam-container.is-awaiting-start .hand-canvas{opacity:0}.webcam-container.is-awaiting-start{background:var(--camera-startup-bg, var(--control-bg))}.camera-startup{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:24px;border-radius:inherit;color:var(--control-text);background:var(--camera-startup-bg, var(--control-bg));font-size:clamp(1rem,2vw,1.2rem);font-weight:850;opacity:0;pointer-events:none;text-align:center;transition:opacity .18s ease}.webcam-container.is-starting-camera .camera-startup{opacity:1;pointer-events:auto}.app-shell[data-theme=signiq-light] .webcam-container.is-awaiting-start,.app-shell[data-theme=signiq-light] .camera-startup,.app-shell[data-theme=signiq] .webcam-container.is-awaiting-start,.app-shell[data-theme=signiq] .camera-startup{--camera-startup-bg: var(--panel);color:var(--ink)}.webcam-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-content:center;gap:10px;padding:24px;color:var(--camera-badge-text);background:var(--overlay-bg);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.webcam-error strong{font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.15}.webcam-error span{max-width:420px;color:var(--camera-badge-muted);line-height:1.5}.challenge-start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;gap:16px;padding:24px;color:var(--primary-text);background:color-mix(in srgb,var(--overlay-bg) 82%,transparent);text-align:center}.challenge-start-overlay{border-radius:inherit}.challenge-start-overlay strong{max-width:min(420px,100%);font-size:clamp(1.15rem,4vw,1.65rem);line-height:1.15}.challenge-countdown{width:clamp(86px,18vw,132px);aspect-ratio:1;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--accent) 74%,transparent);border-radius:50%;background:color-mix(in srgb,var(--control-bg) 92%,transparent);color:var(--accent);font-size:clamp(3rem,12vw,5rem);font-weight:950;box-shadow:var(--shadow)}.ghost-guide{position:absolute;top:14px;left:14px;z-index:3;width:clamp(92px,18%,150px);aspect-ratio:4 / 3;display:block;box-sizing:border-box;overflow:hidden;border:1px solid color-mix(in srgb,var(--camera-badge-border) 62%,transparent);border-radius:8px;background:#00000038;box-shadow:0 12px 30px #0000003d;opacity:.72;padding:0;cursor:zoom-in;transition:opacity .26s ease,transform .26s cubic-bezier(.2,.82,.22,1)}.ghost-guide:hover{opacity:.84;transform:translateY(-1px)}.ghost-guide.is-hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.ghost-guide.is-hidden:hover{opacity:0;transform:translateY(-8px)}.ghost-guide video{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;display:block;background:transparent;object-fit:cover;pointer-events:none}.ghost-guide-poster{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.ghost-guide.has-poster:not(.is-ready) video{opacity:0}.ghost-guide-active-video{z-index:2;opacity:1}.ghost-guide.is-video-mirrored .ghost-guide-poster,.ghost-guide.is-video-mirrored .ghost-guide-active-video{transform:scaleX(-1)}.ghost-guide-expand-icon{position:absolute;right:6px;bottom:6px;z-index:2;width:24px;height:24px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--camera-badge-border) 72%,transparent);border-radius:6px;color:var(--camera-badge-text);background:color-mix(in srgb,var(--camera-badge-bg) 88%,transparent);box-shadow:0 6px 16px #00000038;pointer-events:none}.ghost-guide-expand-icon svg{width:15px;height:15px;stroke-width:2.3}.camera-guidance{position:absolute;bottom:14px;left:14px;z-index:3;max-width:min(280px,calc(100% - 28px));padding:9px 12px;border:1px solid var(--camera-badge-border);border-radius:8px;color:var(--camera-badge-text);background:var(--camera-badge-bg);box-shadow:var(--shadow-soft);font-size:.86rem;font-weight:850;line-height:1.2;opacity:0;pointer-events:none;transform:translate3d(0,4px,0);transform-origin:top left;will-change:transform,opacity;backface-visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .18s ease,transform .52s cubic-bezier(.2,.8,.2,1),left .52s cubic-bezier(.2,.8,.2,1),bottom .52s cubic-bezier(.2,.8,.2,1),max-width .52s cubic-bezier(.2,.8,.2,1),padding .52s cubic-bezier(.2,.8,.2,1),font-size .52s cubic-bezier(.2,.8,.2,1)}.camera-guidance.is-visible{opacity:1;transform:translateZ(0)}.camera-guidance.is-intro{left:50%;bottom:50%;z-index:4;width:max-content;max-width:min(360px,calc(100% - 36px));padding:14px 18px;font-size:clamp(1rem,2.6vw,1.18rem);line-height:1.18;text-align:center;transform:translate3d(-50%,50%,0) scale(1.08);transition:opacity .18s ease}.camera-guidance.is-intro.is-visible{transform:translate3d(-50%,50%,0) scale(1.08)}.camera-guidance.is-intro-settling{transition:opacity .18s ease}.confidence-card{position:absolute;top:14px;right:14px;z-index:3;min-width:88px;min-height:54px;padding:12px 16px;border:1px solid var(--camera-badge-border);border-radius:8px;color:var(--camera-badge-text);background:var(--camera-badge-bg);box-shadow:var(--shadow-soft);line-height:1;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .26s ease}.confidence-value{display:block;font-size:1.55rem;font-weight:900}.confidence-label{display:block;margin-bottom:4px;color:var(--camera-badge-muted);font-size:.66rem;font-weight:800;line-height:1.1;text-transform:none}.confidence-card.is-expanded{min-width:min(280px,calc(100% - 28px));padding:16px;text-align:left}.confidence-metrics{display:grid;gap:10px;margin-top:14px;color:var(--camera-badge-text);font-size:.88rem;line-height:1.25}.confidence-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.confidence-row span{color:var(--camera-badge-muted)}.confidence-row strong{color:var(--camera-badge-text);font-size:.94rem;white-space:nowrap}.toggle-control{min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 20px;border:1px solid var(--raised-control-border);border-radius:8px;color:var(--control-text);background:var(--raised-control-bg);box-shadow:none;font-weight:800}.reference-toggle{border-radius:999px}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .reference-toggle{border-color:color-mix(in srgb,var(--border) 58%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-alt) 76%,#ffffff 24%);box-shadow:var(--shadow-soft)}.app-shell[data-theme=signiq] .reference-toggle,.app-shell[data-theme=signiq-light] .reference-toggle{border-color:var(--raised-control-border);background:var(--raised-control-bg)}.app-shell[data-theme=signiq-light] :is(.primary-button,.secondary-button,.ghost-button,.nav-link-button,.leaderboard-nav-button,.profile-popover,.auth-card,.leaderboard-card,.setup-card,.results-card,.target-panel,.target-panel.is-correct,.webcam-panel,.reading-sequence,.reading-playback,.reading-answer-panel,.reading-speed-summary,.result-metric,.leaderboard-row,.leaderboard-submit-panel,.leaderboard-submit-button,.leaderboard-spotlight,.mode-card,.mode-card:hover,.reference-toggle,.hand-choice-button,.theme-picker,.empty-state,.segmented-control,.ghost-guide,.sign-reference,.sign-reference.needs-attention,.sign-reference-modal,.sign-reference-modal-content){box-shadow:none}.app-shell[data-theme=signiq-light] :is(.reference-toggle.is-reference-nudged){animation:none;box-shadow:none}.toggle-control input{width:18px;height:18px;accent-color:var(--accent)}.results-screen{position:relative;overflow:hidden}.results-card{position:relative;z-index:1}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-18px;width:9px;height:16px;border-radius:3px;background:var(--accent);opacity:0;animation-name:confetti-pop;animation-timing-function:cubic-bezier(.15,.72,.28,1);animation-fill-mode:both}.confetti-piece:nth-child(4n+1){background:var(--accent-bright)}.confetti-piece:nth-child(4n+2){background:var(--success)}.confetti-piece:nth-child(4n+3){background:var(--mode-warm)}@keyframes confetti-pop{0%{opacity:0;transform:translate3d(0,-24px,0) rotate(var(--rotate)) scale(.8)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(calc(var(--rotate) + 720deg)) scale(1)}}@media (max-width: 860px){.screen{width:min(100% - 22px,680px);padding:18px 0}.practice-screen{width:calc(100% - 12px);padding:8px 0}.screen-header{align-items:flex-start;flex-direction:column}.practice-header{align-items:stretch;flex-direction:row}.practice-actions{gap:8px}.session-stat{min-width:106px;text-align:right}.practice-layout,.reading-panel{grid-template-columns:1fr}.reading-screen{height:auto;min-height:100dvh;overflow:visible}.reading-panel{gap:10px}.reading-sequence{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));align-content:start;gap:10px;max-height:none;padding:12px}.reading-card-face{padding:8px}.reading-sign-index{top:6px;left:6px;min-width:22px;height:22px;font-size:.72rem}.reading-card-letter{font-size:clamp(2.6rem,13vw,4.5rem)}.reading-answer-panel{gap:12px;padding:14px}.reading-form{--reading-control-height: 48px}.reading-form input{font-size:clamp(1rem,4.8vw,1.3rem)}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-card{min-height:300px}.results-stat-grid,.results-stat-grid.is-reading{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-actions>button,.practice-actions .toggle-control{flex:1 1 132px;justify-content:center}}@media (min-width: 769px){.app-shell.screen-mode-select{height:100dvh;min-height:100dvh;overflow:hidden}.app-shell.screen-mode-select .mode-screen{width:min(1180px,calc(100% - 22px));height:100dvh;min-height:0;padding-top:clamp(64px,9dvh,86px);padding-bottom:clamp(10px,2dvh,22px);align-content:center}.app-shell.screen-mode-select .screen-header{margin-bottom:clamp(12px,2.2dvh,28px)}.app-shell.screen-mode-select .mode-header h1{font-size:clamp(1.8rem,min(4vw,6.3dvh),3.2rem)}.app-shell.screen-mode-select .leaderboard-spotlight{min-height:clamp(58px,10dvh,78px);margin-bottom:clamp(10px,2dvh,18px);padding-top:clamp(24px,4dvh,30px);padding-bottom:clamp(8px,1.7dvh,12px)}.app-shell.screen-mode-select .mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8dvh,18px)}.app-shell.screen-mode-select .mode-card{height:clamp(276px,42dvh,352px);min-height:0;gap:clamp(12px,2.1dvh,26px);padding:clamp(18px,3dvh,28px)}.app-shell.screen-mode-select .mode-card-copy{gap:clamp(8px,1.5dvh,14px)}.app-shell.screen-mode-select .mode-card-topline{margin-bottom:clamp(2px,1dvh,8px)}.app-shell.screen-mode-select .mode-icon{width:100%;height:clamp(66px,10.5dvh,84px)}.app-shell.screen-mode-select .mode-icon svg{width:clamp(42px,7.2dvh,54px);height:clamp(42px,7.2dvh,54px)}.app-shell.screen-mode-select .mode-letter-strip{gap:clamp(7px,1.75dvh,15px)}.app-shell.screen-mode-select .mode-letter-strip-item{font-size:clamp(2.1rem,6dvh,3.2rem)}.app-shell.screen-mode-select .mode-word-strip{gap:clamp(7px,1.75dvh,15px)}.app-shell.screen-mode-select .mode-word-strip-item{font-size:clamp(2.1rem,6dvh,3.2rem)}.app-shell.screen-mode-select .mode-reading-strip{--mode-eye-size: clamp(42px, 7.2dvh, 54px)}.app-shell.screen-mode-select .mode-card h2{font-size:clamp(1.45rem,min(3vw,4.8dvh),2.6rem);transform:translateY(clamp(-10px,-1.2dvh,-6px))}.app-shell.screen-mode-select .mode-card p{font-size:clamp(.9rem,2dvh,1rem);line-height:1.4}.app-shell.screen-mode-select .mode-card .primary-button{min-height:clamp(40px,6dvh,46px);padding-inline:clamp(16px,2vw,20px)}.app-shell.screen-mode-select .mode-feedback-note{max-width:none;margin-top:clamp(76px,10dvh,112px);white-space:nowrap}}@media (min-width: 769px) and (max-height: 620px){.app-shell.screen-mode-select .mode-screen{padding-top:62px;padding-bottom:12px}.app-shell.screen-mode-select .screen-header{margin-bottom:10px}.app-shell.screen-mode-select .mode-header h1{font-size:clamp(1.65rem,5.5dvh,2.2rem)}.app-shell.screen-mode-select .leaderboard-spotlight{min-height:52px;margin-bottom:8px;padding-top:22px;padding-bottom:6px}.app-shell.screen-mode-select .spotlight-toggle,.app-shell.screen-mode-select .spotlight-difficulty-tag{top:6px;min-height:20px;font-size:.66rem}.app-shell.screen-mode-select .spotlight-arrow{top:6px;bottom:6px;width:36px}.app-shell.screen-mode-select .mode-card{height:clamp(236px,42dvh,270px);gap:10px;padding:14px}.app-shell.screen-mode-select .mode-card-copy{gap:6px}.app-shell.screen-mode-select .mode-card-topline{margin-bottom:1px}.app-shell.screen-mode-select .mode-icon{width:100%;height:56px;border-radius:0}.app-shell.screen-mode-select .mode-icon svg{width:34px;height:34px}.app-shell.screen-mode-select .mode-letter-strip{gap:5px}.app-shell.screen-mode-select .mode-letter-strip-item{font-size:1.65rem}.app-shell.screen-mode-select .mode-word-strip{gap:5px}.app-shell.screen-mode-select .mode-word-strip-item{padding-bottom:0;font-size:1.65rem}.app-shell.screen-mode-select .mode-reading-ray{height:3px}.app-shell.screen-mode-select .mode-reading-strip{--mode-eye-size: 34px}.app-shell.screen-mode-select .mode-card h2{font-size:clamp(1.35rem,4.5dvh,1.8rem);transform:translateY(-6px)}.app-shell.screen-mode-select .mode-card p{font-size:.84rem;line-height:1.3}.app-shell.screen-mode-select .mode-card .primary-button{min-height:36px;padding-inline:14px;font-size:.9rem}}@media (max-width: 768px){.setup-mobile-disclaimer{display:block;width:min(760px,100%);margin:0 0 14px;padding:14px 16px;border:1px solid #dc354f;border-radius:22px;color:#dc354f;background:#fff4f6;box-shadow:0 14px 30px #dc354f24;font-size:.95rem;font-weight:400;line-height:1.45;animation:setup-disclaimer-pulse 1.15s ease-in-out 3}.mode-header h1{display:none}.leaderboard-spotlight{order:0;justify-self:center;width:100%;height:74px;min-height:74px;grid-template-columns:minmax(0,1fr);margin:2px 0 14px;padding:5px 50px}.spotlight-toggle{display:none}.spotlight-arrow{position:absolute;top:50%;bottom:auto;width:46px;height:46px;transform:translateY(-50%)}.spotlight-arrow:hover,.spotlight-arrow:focus-visible{transform:translateY(-50%) scale(1.03)}.spotlight-arrow-prev{left:8px}.spotlight-window{grid-column:1}.spotlight-arrow-next{right:8px}.spotlight-slide{--spotlight-metric-gap: clamp(14px, 5.4cqw, 28px);--spotlight-player-time-gap: clamp(5px, 1.8cqw, 10px);display:grid;grid-template-columns:minmax(0,max-content) auto max-content max-content;align-items:center;column-gap:0;justify-content:center;text-align:left}.spotlight-title{justify-self:end;max-width:clamp(118px,45cqw,220px);gap:clamp(3px,1.3cqw,5px);font-size:.76rem}.spotlight-title-prefix{display:none}.spotlight-mode-label{min-width:0}.spotlight-mode-label-full{display:none}.spotlight-mode-label-mobile{display:inline}.spotlight-title-tag{min-height:19px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--difficulty-border, color-mix(in srgb, var(--difficulty-color, var(--mode-blue)) 72%, transparent));border-radius:999px;color:#fff!important;background:var(--difficulty-color, var(--mode-blue));font-size:.62rem;font-weight:900;line-height:1}.spotlight-title-tag.is-alphabet{display:none}.spotlight-title svg{width:16px;height:16px}.spotlight-arrow svg{width:21px;height:21px;stroke-width:3.2}.spotlight-player{justify-self:start;min-width:0;max-width:clamp(74px,28cqw,122px);gap:clamp(3px,1.3cqw,5px);margin-right:var(--spotlight-player-time-gap)}.spotlight-player strong{font-size:.78rem}.spotlight-score-separator{justify-self:center;display:inline-flex;align-items:center;color:color-mix(in srgb,var(--ink) 50%,transparent);font-size:.78rem;font-weight:900;line-height:1;margin-inline:var(--spotlight-metric-gap)}.spotlight-time{justify-self:start;font-size:.78rem}.spotlight-slide.is-empty{--spotlight-metric-gap: clamp(16px, 5.8cqw, 30px);grid-template-columns:minmax(0,max-content) auto max-content;justify-content:center;column-gap:0;text-align:left}.spotlight-slide.is-empty .spotlight-player{justify-self:start;margin-right:0}.spotlight-slide.is-empty .spotlight-time,.spotlight-difficulty-tag{display:none}.screen{width:min(100% - 20px,620px);padding:clamp(12px,3dvh,22px) 0}.landing-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding-block:clamp(20px,5dvh,46px);text-align:center}.hero-panel{display:grid;justify-items:center;align-content:center;width:min(390px,100%);min-height:auto;transform:none}.hero-logo{width:clamp(205px,64vw,330px);margin-top:6px}.hero-subtitle{width:min(330px,100%);margin:clamp(12px,2.2dvh,18px) 0 clamp(16px,3dvh,24px);font-size:clamp(.98rem,3.7vw,1.1rem);line-height:1.42}.landing-screen .hero-panel .primary-button{min-width:min(270px,100%);min-height:48px;padding-inline:24px;font-size:1.05rem}.practice-screen{width:min(100% - 12px,560px);height:auto;min-height:100dvh;overflow:visible;padding:8px 0 14px}.practice-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-bottom:8px}.practice-actions-desktop{display:none}.toggle-control.reference-toggle-mobile,.mobile-change-mode.icon-button-label{display:inline-flex}.practice-mobile-target,.session-stat{min-width:0;padding:8px 10px;border-radius:22px;box-shadow:var(--shadow-soft)}.practice-mobile-target{border:1px solid var(--border);background:var(--control-bg)}.session-stat{border:1px solid var(--raised-control-border);background:var(--raised-control-bg)}.practice-mobile-target{display:block}.practice-mobile-target span{display:block;color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.1;text-transform:none}.practice-mobile-target strong,.session-stat strong{display:block;margin-top:3px;font-size:1.05rem;line-height:1}.practice-mobile-target strong,.session-stat strong{color:var(--accent)}.session-stat{width:auto;text-align:right}.reference-toggle{grid-column:1 / -1;min-height:36px;justify-content:center;padding-inline:10px;font-size:.88rem}.reference-toggle input{width:16px;height:16px}.target-panel{min-height:112px;margin-bottom:8px;padding:10px 12px}.target-label{margin-bottom:0;font-size:.9rem}.target-letter{padding-left:104px;font-size:clamp(3.4rem,18vw,5.4rem);line-height:.86;text-align:right}.sign-reference{top:auto;bottom:10px;left:12px;width:clamp(78px,21vw,96px);height:clamp(78px,21vw,96px)}.word-target{justify-content:flex-end;gap:var(--word-letter-gap, clamp(5px, 1.8vw, 10px));min-height:82px;padding-left:104px}.word-letter{min-width:min(var(--word-letter-min-width, clamp(24px, 7vw, 42px)),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(2.2rem, 11vw, 4rem)),var(--word-letter-fit-size, 999px))}.practice-layout{flex:0 0 auto}.webcam-panel{aspect-ratio:4 / 3}.webcam-container{flex:0 0 auto;height:100%;aspect-ratio:4 / 3}.webcam,.hand-canvas{object-fit:contain}.practice-controls{display:block}.practice-controls>.practice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.practice-controls .secondary-button,.practice-controls .ghost-button{min-height:40px;padding-inline:10px;font-size:.88rem}.confidence-card{top:8px;right:8px;min-width:76px;min-height:48px;padding:10px 13px}.confidence-value{font-size:1.36rem}.ghost-guide{top:8px;left:10px;width:clamp(82px,24%,128px)}.camera-guidance{bottom:8px;left:10px;max-width:min(250px,calc(100% - 20px));padding:8px 10px;font-size:.8rem}.app-shell.screen-practice.mode-alphabet,.app-shell.screen-practice.mode-words{height:100dvh;min-height:100dvh;overflow:hidden}.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{width:min(100% - 12px,560px);height:100dvh;min-height:0;overflow:hidden;padding:8px 0 calc(56px + env(safe-area-inset-bottom));justify-content:flex-start}.app-shell.screen-practice.mode-alphabet .practice-mobile-target,.app-shell.screen-practice.mode-words .practice-mobile-target{display:none}.app-shell.screen-practice.mode-alphabet .session-stat,.app-shell.screen-practice.mode-words .session-stat{grid-column:1 / -1;text-align:left}.app-shell.screen-practice.mode-alphabet .mobile-change-mode,.app-shell.screen-practice.mode-words .mobile-change-mode{grid-column:1 / -1;justify-content:center;text-align:center}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header,.app-shell.screen-practice.mode-alphabet .practice-controls,.app-shell.screen-practice.mode-words .practice-controls{flex:0 0 auto}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{flex:1 1 auto;min-height:132px;display:flex;flex-direction:column}.app-shell.screen-practice.mode-alphabet .target-letter,.app-shell.screen-practice.mode-words .target-letter{margin-top:auto;font-size:clamp(4.8rem,15dvh,8.5rem)}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{top:clamp(38px,6dvh,58px);bottom:auto;width:clamp(96px,15dvh,148px);height:clamp(96px,15dvh,148px)}.app-shell.screen-practice.mode-words .word-target{min-height:clamp(78px,13dvh,132px)}.app-shell.screen-practice.mode-words .word-letter{font-size:clamp(2.6rem,10dvh,5.6rem)}.app-shell.screen-practice.mode-alphabet .practice-layout,.app-shell.screen-practice.mode-words .practice-layout{flex:0 0 auto;min-height:0;align-items:stretch}.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel{width:100%;height:auto;max-height:100%;min-height:0;aspect-ratio:4 / 3}.app-shell.screen-practice.mode-alphabet .webcam-container,.app-shell.screen-practice.mode-words .webcam-container{height:100%;aspect-ratio:auto}.app-shell.screen-practice.mode-alphabet .webcam,.app-shell.screen-practice.mode-alphabet .hand-canvas,.app-shell.screen-practice.mode-words .webcam,.app-shell.screen-practice.mode-words .hand-canvas{object-fit:contain}.app-shell.screen-practice.mode-alphabet .practice-controls .practice-actions>button:first-child,.app-shell.screen-practice.mode-words .practice-controls .practice-actions>button:first-child{display:none}.app-shell.screen-practice.mode-reading{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}.app-shell.screen-practice.mode-reading .reading-screen{width:min(100% - 12px,560px);height:auto;min-height:100svh;overflow:visible;padding:8px 0 calc(12px + env(safe-area-inset-bottom))}.app-shell.screen-practice.mode-reading .practice-header{flex:0 0 auto;margin-bottom:8px}.app-shell.screen-practice.mode-reading .practice-actions{gap:8px}.app-shell.screen-practice.mode-reading .practice-actions>button{min-height:40px;padding-inline:10px}.app-shell.screen-practice.mode-reading .reading-panel{flex:1 1 auto;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px;overflow:visible}.app-shell.screen-practice.mode-reading .reading-sequence{min-height:0;align-content:start;grid-template-columns:repeat(auto-fit,minmax(clamp(56px,15vw,86px),1fr));gap:8px;overflow:hidden;padding:10px}.app-shell.screen-practice.mode-reading .reading-card-face{padding:6px}.app-shell.screen-practice.mode-reading .reading-answer-panel{flex:0 0 auto;min-height:0;gap:8px;padding:12px}.app-shell.screen-practice.mode-reading .reading-form{--reading-control-height: 42px;gap:8px}.app-shell.screen-practice.mode-reading .setup-label{font-size:.74rem}.app-shell.screen-practice.mode-reading .reading-form input{padding-inline:12px;font-size:clamp(.98rem,4.2vw,1.18rem)}.app-shell.screen-practice.mode-reading .reading-feedback{min-height:0;font-size:.88rem;line-height:1.25}.app-shell.screen-practice.mode-reading .reading-attempts{font-size:.84rem;line-height:1.2}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{left:auto;right:14px;bottom:14px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%}}@media (max-width: 520px){.hero-logo{width:clamp(198px,66vw,310px)}.leaderboard-spotlight{width:100%;padding-inline:40px}.spotlight-arrow{width:28px}.target-panel,.mode-card,.setup-card,.results-card{padding:16px}.setup-header{flex-direction:column}.mode-grid,.results-stat-grid,.results-stat-grid.is-alphabet,.results-stat-grid.is-reading{grid-template-columns:1fr}.results-actions{align-items:center;flex-direction:column;width:100%}.results-actions>button,.results-actions .leaderboard-submit-panel,.results-actions .leaderboard-submit-button{width:min(100%,420px)}.target-panel{padding:12px}.sign-reference{top:auto;bottom:10px;left:12px}.sign-reference-modal{padding:12px}.practice-header{flex-direction:column}.session-stat{width:auto;text-align:right}.word-letter{min-width:min(var(--word-letter-min-width, 34px),var(--word-letter-fit-width, 999px))}.reading-sequence{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px;padding:10px}.confidence-card{top:10px;right:10px;min-width:72px;min-height:46px;padding:9px 12px;font-size:1rem}.confidence-value{font-size:1.28rem}.theme-picker{right:10px;bottom:10px}}@media (max-width: 480px){.screen{width:calc(100% - 16px)}.landing-screen{padding-block:clamp(14px,4dvh,32px)}.eyebrow{font-size:.72rem}.practice-screen{width:calc(100% - 10px);padding-top:6px}.target-panel{min-height:86px}.target-letter{padding-left:66px;font-size:clamp(3rem,17vw,4.6rem)}.sign-reference{width:54px;height:54px;bottom:9px}.word-target{min-height:58px;padding-left:64px}.word-letter{min-width:min(var(--word-letter-min-width, 22px),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(1.9rem, 10vw, 3.3rem)),var(--word-letter-fit-size, 999px))}.practice-controls>.practice-actions{grid-template-columns:1fr}.reading-sequence{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.reading-card-face{padding:6px}.app-shell.screen-practice.mode-reading .reading-screen{width:calc(100% - 10px);padding-top:6px;padding-bottom:calc(54px + env(safe-area-inset-bottom))}.app-shell.screen-practice.mode-reading .practice-header{gap:6px;margin-bottom:6px}.app-shell.screen-practice.mode-reading .practice-actions{gap:6px}.app-shell.screen-practice.mode-reading .practice-actions>button{min-height:38px;padding-inline:8px;font-size:.88rem}.app-shell.screen-practice.mode-reading .reading-practice-stats{min-width:0;gap:6px}.app-shell.screen-practice.mode-reading .session-stat{min-width:92px;padding:7px 8px}.app-shell.screen-practice.mode-reading .reading-speed-card{padding:7px 8px}.app-shell.screen-practice.mode-reading .reading-panel{grid-template-rows:minmax(0,1fr) minmax(clamp(210px,32dvh,280px),auto);gap:6px}.app-shell.screen-practice.mode-reading .reading-sequence{grid-template-columns:repeat(auto-fit,minmax(clamp(50px,16vw,74px),1fr));gap:6px;padding:8px}.app-shell.screen-practice.mode-reading .reading-sign-index{top:5px;left:5px;min-width:20px;height:20px;font-size:.68rem}.app-shell.screen-practice.mode-reading .reading-answer-panel{gap:7px;padding:10px}.app-shell.screen-practice.mode-reading .reading-form{--reading-control-height: 38px;gap:7px}.app-shell.screen-practice.mode-reading .reading-feedback,.app-shell.screen-practice.mode-reading .reading-attempts{font-size:.8rem}.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{width:calc(100% - 10px);padding-top:6px;padding-bottom:calc(54px + env(safe-area-inset-bottom))}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header{gap:6px;margin-bottom:6px}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{min-height:clamp(94px,16dvh,132px);margin-bottom:6px}.app-shell.screen-practice.mode-alphabet .reference-toggle,.app-shell.screen-practice.mode-words .reference-toggle{min-height:34px}.app-shell.screen-practice.mode-alphabet .practice-controls,.app-shell.screen-practice.mode-words .practice-controls{margin-top:6px}.app-shell.screen-practice.mode-alphabet .practice-controls>.practice-actions,.app-shell.screen-practice.mode-words .practice-controls>.practice-actions{gap:6px;margin-top:0}.app-shell.screen-practice.mode-alphabet .practice-controls .secondary-button,.app-shell.screen-practice.mode-alphabet .practice-controls .ghost-button,.app-shell.screen-practice.mode-words .practice-controls .secondary-button,.app-shell.screen-practice.mode-words .practice-controls .ghost-button{min-height:36px;font-size:.84rem}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{width:calc(100% - 8px);padding-top:4px;padding-bottom:calc(46px + env(safe-area-inset-bottom))}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header{gap:4px;margin-bottom:4px}.app-shell.screen-practice.mode-alphabet .session-stat,.app-shell.screen-practice.mode-words .session-stat{padding:6px 10px}.app-shell.screen-practice.mode-alphabet .session-stat strong,.app-shell.screen-practice.mode-words .session-stat strong{font-size:.96rem}.app-shell.screen-practice.mode-alphabet .reference-toggle,.app-shell.screen-practice.mode-alphabet .mobile-change-mode,.app-shell.screen-practice.mode-words .reference-toggle,.app-shell.screen-practice.mode-words .mobile-change-mode{min-height:32px;padding-inline:8px;font-size:.78rem}.app-shell.screen-practice.mode-alphabet .reference-toggle input,.app-shell.screen-practice.mode-words .reference-toggle input{width:14px;height:14px}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{flex:0 1 auto;min-height:86px;margin-bottom:4px;padding:7px 10px}.app-shell.screen-practice.mode-alphabet .target-label,.app-shell.screen-practice.mode-words .target-label{font-size:.64rem}.app-shell.screen-practice.mode-alphabet .target-letter,.app-shell.screen-practice.mode-words .target-letter{padding-left:72px;font-size:clamp(3rem,12dvh,5rem)}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{width:clamp(62px,11dvh,84px);height:clamp(62px,11dvh,84px);top:clamp(28px,5dvh,40px);bottom:auto}.app-shell.screen-practice.mode-words .word-target{min-height:48px;padding-left:72px}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, 20px),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(1.8rem, 8dvh, 3.4rem)),var(--word-letter-fit-size, 999px))}.app-shell.screen-practice.mode-alphabet .practice-layout,.app-shell.screen-practice.mode-words .practice-layout{justify-items:center}.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel{width:min(100%,48dvh)}.app-shell.screen-practice.mode-alphabet .practice-controls,.app-shell.screen-practice.mode-words .practice-controls{margin-top:4px}.app-shell.screen-practice.mode-alphabet .practice-controls>.practice-actions,.app-shell.screen-practice.mode-words .practice-controls>.practice-actions{gap:4px}.app-shell.screen-practice.mode-alphabet .practice-controls .secondary-button,.app-shell.screen-practice.mode-alphabet .practice-controls .ghost-button,.app-shell.screen-practice.mode-words .practice-controls .secondary-button,.app-shell.screen-practice.mode-words .practice-controls .ghost-button{min-height:30px;padding-inline:8px;font-size:.76rem}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker{width:40px;height:40px}}@media (prefers-reduced-motion: reduce){.app-shell.page-transition-forward>.screen,.app-shell.page-transition-back>.screen,.app-shell.page-transition-forward>.app-topbar,.app-shell.page-transition-back>.app-topbar,.app-shell.page-transition-forward>.theme-picker-floating,.app-shell.page-transition-back>.theme-picker-floating,.hero-logo,.sign-reference.needs-attention,.reference-toggle.is-reference-nudged,.spotlight-difficulty-tag,.setup-mobile-disclaimer,.leaderboard-submit-panel.is-eligible,.leaderboard-submit-tooltip,.modal-backdrop,.auth-card,.sign-reference-modal,.sign-reference-modal-content{animation:none}.spotlight-track,.leaderboard-submit-tooltip{transition:none}}@media (max-width: 820px){.about-screen{padding-right:18px;padding-left:18px}.about-hero,.about-section-grid,.about-faq-grid{grid-template-columns:minmax(0,1fr)}.about-card{width:min(620px,100%)}}@media (max-width: 560px){.about-screen{padding-right:14px;padding-left:14px}.about-card{width:min(420px,100%)}.about-actions,.about-actions .primary-button,.about-actions .secondary-button{width:100%}}@media (max-width: 768px){.app-shell.screen-practice.mode-alphabet,.app-shell.screen-practice.mode-words{height:100dvh;min-height:100dvh;overflow:hidden}.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{width:min(100% - 12px,560px);height:100dvh;min-height:100dvh;overflow:hidden;padding:8px 0}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:8px}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop,.app-shell.screen-practice.mode-words .practice-actions-desktop{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;order:1}.app-shell.screen-practice.mode-words .practice-actions-desktop>button:nth-of-type(3){grid-column:1 / -1}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop>button,.app-shell.screen-practice.mode-words .practice-actions-desktop>button{min-height:40px;padding-inline:10px;font-size:.88rem}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop>.challenge-badge,.app-shell.screen-practice.mode-words .practice-actions-desktop>.challenge-badge{grid-column:1 / -1;width:100%;min-height:36px;padding-inline:16px 8px;justify-content:space-between}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop>.challenge-badge .challenge-badge-label,.app-shell.screen-practice.mode-words .practice-actions-desktop>.challenge-badge .challenge-badge-label,.app-shell.screen-practice.mode-alphabet .practice-actions-desktop>.challenge-badge .challenge-difficulty-tag,.app-shell.screen-practice.mode-words .practice-actions-desktop>.challenge-badge .challenge-difficulty-tag{min-height:26px;font-size:.88rem}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop .reference-toggle-desktop,.app-shell.screen-practice.mode-words .practice-actions-desktop .reference-toggle-desktop,.app-shell.screen-practice.mode-alphabet .practice-mobile-target,.app-shell.screen-practice.mode-words .practice-mobile-target,.app-shell.screen-practice.mode-alphabet .mobile-change-mode,.app-shell.screen-practice.mode-words .mobile-change-mode,.app-shell.screen-practice.mode-alphabet .practice-controls,.app-shell.screen-practice.mode-words .practice-controls{display:none}.app-shell.screen-practice.mode-alphabet .reference-toggle-mobile,.app-shell.screen-practice.mode-words .reference-toggle-mobile{display:inline-flex;grid-column:1 / -1;order:2;min-height:36px;justify-content:center;padding-inline:10px;font-size:.88rem}.app-shell.screen-practice.mode-alphabet .reference-toggle-mobile input,.app-shell.screen-practice.mode-words .reference-toggle-mobile input{width:16px;height:16px}.app-shell.screen-practice.mode-alphabet .session-stat,.app-shell.screen-practice.mode-words .session-stat{grid-column:1 / -1;order:3;width:auto;min-width:0;padding:12px 14px;text-align:left}.app-shell.screen-practice.mode-alphabet .session-stat strong,.app-shell.screen-practice.mode-words .session-stat strong{margin-top:6px;font-size:1.25rem}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{display:block;flex:0 0 auto;min-height:clamp(260px,28dvh,330px);margin-bottom:8px;padding:20px}.app-shell.screen-practice.mode-alphabet .target-letter{position:absolute;right:20px;bottom:24px;left:auto;margin-top:0;padding-left:0;font-size:clamp(7rem,24vw,10.5rem);line-height:.9;text-align:right}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{top:clamp(42px,5.4dvh,58px);bottom:auto;left:20px;width:clamp(140px,25vw,180px);height:clamp(140px,25vw,180px)}.app-shell.screen-practice.mode-words .word-target{position:absolute;right:20px;bottom:28px;left:20px;justify-content:flex-end;gap:var(--word-letter-gap, clamp(5px, 1.8vw, 10px));min-height:auto;padding-left:0}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, clamp(24px, 7vw, 42px)),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(2.2rem, 11vw, 4rem)),var(--word-letter-fit-size, 999px))}.app-shell.screen-practice.mode-alphabet .practice-layout,.app-shell.screen-practice.mode-words .practice-layout{flex:1 1 auto;min-height:0;align-items:stretch;justify-items:stretch}.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel{width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto}.app-shell.screen-practice.mode-alphabet .webcam-container,.app-shell.screen-practice.mode-words .webcam-container{height:100%;aspect-ratio:auto}.app-shell.screen-practice.mode-alphabet .webcam,.app-shell.screen-practice.mode-alphabet .hand-canvas,.app-shell.screen-practice.mode-words .webcam,.app-shell.screen-practice.mode-words .hand-canvas{object-fit:cover}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker{left:auto;right:10px;bottom:10px;width:44px;height:44px;display:grid;place-items:center;gap:0;border-radius:8px}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{width:calc(100% - 8px);padding-top:6px}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header{gap:6px;margin-bottom:6px}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop,.app-shell.screen-practice.mode-words .practice-actions-desktop{gap:6px}.app-shell.screen-practice.mode-alphabet .practice-actions-desktop>button,.app-shell.screen-practice.mode-words .practice-actions-desktop>button{min-height:36px;padding-inline:8px;font-size:.8rem}.app-shell.screen-practice.mode-alphabet .reference-toggle-mobile,.app-shell.screen-practice.mode-words .reference-toggle-mobile{min-height:34px;padding-inline:8px;font-size:.82rem}.app-shell.screen-practice.mode-alphabet .reference-toggle-mobile input,.app-shell.screen-practice.mode-words .reference-toggle-mobile input{width:15px;height:15px}.app-shell.screen-practice.mode-alphabet .session-stat,.app-shell.screen-practice.mode-words .session-stat{padding:9px 12px}.app-shell.screen-practice.mode-alphabet .session-stat strong,.app-shell.screen-practice.mode-words .session-stat strong{margin-top:4px;font-size:1.12rem}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{min-height:clamp(210px,30dvh,250px);margin-bottom:6px;padding:14px 18px}.app-shell.screen-practice.mode-alphabet .target-letter{right:18px;bottom:14px;left:auto;padding-left:0;font-size:clamp(5rem,20vw,6.8rem)}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{top:clamp(30px,5dvh,40px);bottom:auto;left:18px;width:clamp(92px,20vw,116px);height:clamp(92px,20vw,116px)}.app-shell.screen-practice.mode-words .word-target{right:18px;bottom:18px;left:18px;min-height:auto;padding-left:0}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, 22px),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(2rem, 9vw, 3.3rem)),var(--word-letter-fit-size, 999px))}}@media (max-width: 768px){.app-shell.screen-practice.mode-reading .practice-header{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}.app-shell.screen-practice.mode-reading .practice-actions{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell.screen-practice.mode-reading .practice-actions>button{width:100%;min-width:0}.app-shell.screen-practice.mode-reading .practice-actions>button:nth-child(1){grid-column:1;grid-row:1}.app-shell.screen-practice.mode-reading .practice-actions>button:nth-child(2){grid-column:2;grid-row:1}.app-shell.screen-practice.mode-reading .practice-actions>button:nth-child(3){grid-column:1 / -1;grid-row:2}.app-shell.screen-practice.mode-reading .practice-actions>.challenge-badge{grid-column:1 / -1;grid-row:2;width:100%;min-height:38px;padding-inline:16px 8px;justify-content:space-between}.app-shell.screen-practice.mode-reading .practice-actions>.challenge-badge .challenge-badge-label{flex:1 1 auto;justify-content:flex-start;padding-left:0;text-align:left}.app-shell.screen-practice.mode-reading .practice-actions>.challenge-badge .challenge-badge-label,.app-shell.screen-practice.mode-reading .practice-actions>.challenge-badge .challenge-difficulty-tag{min-height:26px;font-size:.88rem}.app-shell.screen-practice.mode-reading .reading-practice-stats{display:grid;grid-column:1 / -1;width:100%;min-width:0;gap:8px}.app-shell.screen-practice.mode-reading .session-stat{width:auto;min-width:0;padding:12px 14px;text-align:left}.app-shell.screen-practice.mode-reading .reading-speed-card{display:grid;padding:12px 14px}.app-shell.screen-practice.mode-reading .session-stat strong{margin-top:6px;font-size:1.25rem}.app-shell.screen-practice.mode-reading .reading-screen{padding:8px 0 calc(10px + env(safe-area-inset-bottom))}.app-shell.screen-practice.mode-reading .reading-panel{grid-template-rows:minmax(0,1fr) minmax(clamp(320px,28dvh,430px),auto);gap:8px}.app-shell.screen-practice.mode-reading .reading-sequence{--reading-image-size: 62%;--reading-image-y: -4%;--reading-columns: 3;--reading-card-gap: clamp(8px, 1.8vw, 12px);grid-template-columns:repeat(var(--reading-columns),minmax(0,1fr));grid-template-rows:repeat(var(--reading-rows),auto);grid-auto-rows:auto;align-content:start;gap:var(--reading-card-gap);padding:clamp(8px,2vw,12px)}.app-shell.screen-practice.mode-reading .reading-sign-tile{width:100%;min-height:0}.app-shell.screen-practice.mode-reading .reading-card-face{padding:clamp(7px,2vw,12px)}.app-shell.screen-practice.mode-reading .reading-sign-index{min-width:clamp(24px,5.4vw,34px);height:clamp(24px,5.4vw,34px);font-size:clamp(.72rem,2.6vw,.95rem)}.app-shell.screen-practice.mode-reading .reading-answer-panel{min-height:clamp(320px,28dvh,430px);gap:7px;padding:16px 20px 18px}.app-shell.screen-practice.mode-reading .reading-form{--reading-control-height: 50px;gap:8px}.app-shell.screen-practice.mode-reading .setup-label{font-size:.72rem}.app-shell.screen-practice.mode-reading .reading-form input{font-size:clamp(1.08rem,4.8vw,1.4rem)}.app-shell.screen-practice.mode-reading .reading-feedback,.app-shell.screen-practice.mode-reading .reading-attempts{font-size:.8rem;line-height:1.15}.app-shell.screen-practice.mode-reading .reading-feedback{margin-top:22px}.app-shell.screen-practice.mode-reading .theme-picker{left:auto;right:10px;bottom:10px;width:44px;height:44px;display:grid;place-items:center;gap:0;border-radius:8px}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-reading .reading-screen{width:calc(100% - 8px);padding:6px 0}.app-shell.screen-practice.mode-reading .practice-header{gap:6px;margin-bottom:6px}.app-shell.screen-practice.mode-reading .practice-actions>button{min-height:36px;padding-inline:8px;font-size:.8rem}.app-shell.screen-practice.mode-reading .session-stat,.app-shell.screen-practice.mode-reading .reading-speed-card{padding:9px 12px}.app-shell.screen-practice.mode-reading .session-stat strong{margin-top:4px;font-size:1.12rem}.app-shell.screen-practice.mode-reading .reading-panel{grid-template-rows:minmax(0,1fr) minmax(clamp(210px,32dvh,280px),auto);gap:6px}.app-shell.screen-practice.mode-reading .reading-sequence{--reading-image-size: 58%;--reading-image-y: -5%;gap:6px;padding:6px}.app-shell.screen-practice.mode-reading .reading-answer-panel{min-height:clamp(210px,32dvh,280px);gap:6px;padding:8px 10px}.app-shell.screen-practice.mode-reading .reading-feedback{margin-top:14px}.app-shell.screen-practice.mode-reading .reading-form{--reading-control-height: 40px;gap:6px}}@media (max-width: 768px){.app-topbar{position:absolute}.app-shell.auth-signed-out.screen-landing .app-topbar-left{padding-right:92px}.app-shell.auth-signed-out .app-topbar-left{right:14px;flex-wrap:nowrap;padding-right:124px}.app-shell.screen-about .app-topbar-left{right:auto;padding-right:0}.app-shell.auth-signed-out .app-topbar-left .back-button{flex:0 0 auto;padding-inline:16px}.app-shell.auth-signed-out .app-topbar-left .primary-button{flex:1 1 auto;min-width:0;max-width:204px;padding-inline:16px;overflow:visible;text-overflow:clip;white-space:nowrap}.app-topbar-left .leaderboard-nav-button-desktop,.app-shell.auth-signed-out .app-topbar-left .leaderboard-nav-button{display:none}.app-topbar-right{right:14px}.app-shell.auth-signed-out .app-topbar-right{gap:8px}.app-shell.auth-signed-out .app-topbar-right .leaderboard-nav-button,.app-shell.auth-signed-out .app-topbar-right .secondary-button{width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border-radius:50%}.app-shell.auth-signed-out .app-topbar-right .leaderboard-nav-button span,.app-shell.auth-signed-out .app-topbar-right .secondary-button span{display:none}.app-shell.auth-signed-out.screen-landing .app-topbar-right .secondary-button{width:auto;min-width:0;padding:0 16px;border-radius:999px}.app-shell.auth-signed-out.screen-landing .app-topbar-right .secondary-button span{display:inline}.profile-chip,.profile-chip .avatar-badge{width:46px;height:46px;min-height:46px}.app-topbar,.profile-menu,.inline-actions{align-items:stretch}.leaderboard-filters{grid-template-columns:minmax(0,1fr)}.leaderboard-filters .segmented-control{width:100%;grid-template-columns:repeat(var(--segment-count, 3),minmax(0,1fr))}.leaderboard-row{grid-template-columns:auto auto minmax(0,1fr) auto}.leaderboard-time{grid-column:auto;justify-self:end;white-space:nowrap}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{left:auto;right:8px;bottom:8px;width:44px;height:44px;display:grid;place-items:center;border-radius:8px}}@media (max-width: 412px){.app-shell.auth-signed-out .app-topbar-left .primary-button{display:grid;place-items:center;flex:0 0 auto;width:46px;min-width:46px;max-width:46px;padding:0;border-radius:50%;overflow:hidden;gap:0;font-size:0;line-height:0}.app-shell.auth-signed-out .app-topbar-left .primary-button span{display:none}.app-shell.auth-signed-out .app-topbar-left .primary-button svg{width:22px;height:22px;stroke-width:2.2;transform:translate(1px)}}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button{--landing-create-account-width: min(204px, calc(100vw - 150px) );display:inline-flex;align-items:center;flex:0 0 var(--landing-create-account-width);gap:9px;width:var(--landing-create-account-width);min-width:var(--landing-create-account-width);max-width:var(--landing-create-account-width);padding:0 16px;border-radius:999px;font-size:inherit;line-height:inherit;justify-content:center;overflow:hidden;text-overflow:clip;white-space:nowrap}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button span{display:inline}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button svg{width:18px;height:18px;transform:none}@media (max-width: 768px){.app-shell.auth-signed-out .app-topbar-left .primary-button,.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button{display:grid;place-items:center;flex:0 0 auto;width:46px;min-width:46px;max-width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;gap:0;overflow:hidden;font-size:0;line-height:0}.app-shell.auth-signed-out .app-topbar-left .primary-button span,.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button span{display:none}.app-shell.auth-signed-out .app-topbar-left .primary-button svg,.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button svg{width:22px;height:22px;stroke-width:2.2;transform:translate(1px)}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button{--landing-create-account-width: min(204px, calc(100vw - 150px) );display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--landing-create-account-width);gap:9px;width:var(--landing-create-account-width);min-width:var(--landing-create-account-width);max-width:var(--landing-create-account-width);padding:0 16px;border-radius:999px;font-size:inherit;line-height:inherit;white-space:nowrap}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button span{display:inline}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button svg{width:18px;height:18px;stroke-width:2.2;transform:none}}@media (max-width: 520px){.theme-picker,.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{right:18px;bottom:18px}}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{right:24px;bottom:24px}@media (max-width: 768px){.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{right:18px;bottom:18px}}@media (max-width: 768px){.app-shell:not(.screen-practice)>.theme-picker-floating{display:none}.app-topbar-right .leaderboard-nav-button-mobile,.app-topbar-right .theme-picker-nav{position:relative;inset:auto;z-index:auto;width:46px;min-width:46px;height:46px;min-height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;-webkit-backdrop-filter:none;backdrop-filter:none}.app-topbar-right .leaderboard-nav-button-mobile{display:inline-flex}.app-topbar-right .leaderboard-nav-button-mobile span{display:none}.app-topbar-right .leaderboard-nav-button-mobile svg,.app-topbar-right .theme-picker-nav svg{width:24px;height:24px;stroke-width:2.2}.app-topbar-right .theme-picker-nav:hover{transform:translateY(-1px)}}@media (min-width: 769px){.app-shell.screen-practice.mode-alphabet .practice-screen,.app-shell.screen-practice.mode-words .practice-screen{display:grid;grid-template-columns:clamp(220px,22vw,320px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px;align-items:stretch}.app-shell.screen-practice.mode-alphabet .practice-header,.app-shell.screen-practice.mode-words .practice-header{grid-column:1 / -1;margin-bottom:0}.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{grid-column:1;grid-row:2;width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);justify-items:center;gap:clamp(8px,1.5dvh,16px);margin-bottom:0;padding:clamp(12px,1.8dvh,18px)}.app-shell.screen-practice.mode-alphabet .target-panel{--practice-target-half-gap: clamp(16px, 2.8dvh, 24px);--practice-target-size: clamp(128px, 29dvh, 220px);grid-template-rows:auto minmax(0,1fr) auto}.app-shell.screen-practice.mode-words .target-panel{--practice-target-half-gap: clamp(16px, 2.5dvh, 22px);--practice-target-size: clamp(104px, 20dvh, 160px);grid-template-rows:auto minmax(0,1fr) auto}.app-shell.screen-practice.mode-alphabet .target-label,.app-shell.screen-practice.mode-words .target-label{justify-self:start;margin-bottom:0}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{position:absolute;top:calc(50% - var(--practice-target-size) - var(--practice-target-half-gap));left:50%;width:min(100%,var(--practice-target-size));height:min(100%,var(--practice-target-size));transform:translate(-50%)}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .sign-reference,.app-shell.screen-practice.mode-words .target-panel.reference-hidden .sign-reference{transform:translate(-50%,-8px)}.app-shell.screen-practice.mode-alphabet .target-letter,.app-shell.screen-practice.mode-words .target-letter{position:absolute;top:calc(50% + var(--practice-target-half-gap));left:50%;width:min(100%,var(--practice-target-size));height:min(100%,var(--practice-target-size));display:grid;place-items:center;margin:0;padding-left:0;font-size:clamp(7rem,27dvh,13rem);line-height:1;text-align:center;transform:translate(-50%)}.app-shell.screen-practice.mode-words .word-target{position:absolute;top:calc(50% + var(--practice-target-half-gap));left:50%;width:100%;height:min(100%,var(--practice-target-size));justify-content:center;align-content:center;gap:var(--word-letter-gap, clamp(5px, 1.2vw, 12px));min-height:0;padding-left:0;transform:translate(-50%)}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, clamp(24px, 3.8vw, 48px)),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(2rem, 6.8dvh, 4rem)),var(--word-letter-fit-size, 999px))}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter,.app-shell.screen-practice.mode-words .target-panel.reference-hidden .word-target{top:50%;transform:translate(-50%,-50%)}.app-shell.screen-practice.mode-alphabet .target-letter.completed{animation:centered-target-letter-pop .42s ease}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter.completed{animation:centered-hidden-target-letter-pop .42s ease}.app-shell.screen-practice.mode-alphabet .practice-layout,.app-shell.screen-practice.mode-words .practice-layout{grid-column:2;grid-row:2;height:100%;min-height:0}.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel{width:100%;height:100%;aspect-ratio:auto}.app-shell.screen-practice.mode-alphabet .webcam-container,.app-shell.screen-practice.mode-words .webcam-container{height:100%}}@media (max-width: 768px){.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{min-height:clamp(118px,15dvh,160px);margin-bottom:6px;padding:10px 14px}.app-shell.screen-practice.mode-alphabet .target-letter{position:absolute;top:auto;left:auto;right:16px;bottom:14px;font-size:clamp(4.35rem,18vw,6.8rem);transform:none}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{top:calc(50% + 8px);left:16px;width:clamp(76px,17vw,112px);height:clamp(76px,17vw,112px);transform:translateY(-50%)}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .sign-reference,.app-shell.screen-practice.mode-words .target-panel.reference-hidden .sign-reference{transform:translateY(calc(-50% - 8px))}.app-shell.screen-practice.mode-words .word-target{position:absolute;top:auto;right:14px;bottom:16px;left:clamp(108px,25vw,142px);gap:clamp(1px,.75vw,4px);transform:none}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, clamp(16px, 4.8vw, 30px)),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(2rem, 8.5vw, 3.5rem)),var(--word-letter-fit-size, 999px))}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter.completed{animation:mobile-hidden-target-letter-pop .42s ease}.app-shell.screen-practice.mode-words .target-panel.reference-hidden .word-target{top:50%;right:14px;bottom:auto;left:14px;transform:translateY(-50%)}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel{min-height:clamp(96px,14dvh,124px);margin-bottom:4px;padding:7px 10px}.app-shell.screen-practice.mode-alphabet .target-label,.app-shell.screen-practice.mode-words .target-label{font-size:.82rem}.app-shell.screen-practice.mode-alphabet .target-letter{right:12px;bottom:10px;font-size:clamp(3.7rem,15vw,5.2rem)}.app-shell.screen-practice.mode-alphabet .sign-reference,.app-shell.screen-practice.mode-words .sign-reference{top:calc(50% + 6px);left:12px;width:clamp(58px,14vw,78px);height:clamp(58px,14vw,78px)}.app-shell.screen-practice.mode-words .word-target{right:10px;bottom:12px;left:clamp(82px,22vw,106px);gap:clamp(0px,.5vw,3px)}.app-shell.screen-practice.mode-words .word-letter{min-width:min(var(--word-letter-min-width, 16px),var(--word-letter-fit-width, 999px));font-size:min(var(--word-letter-size, clamp(1.7rem, 7.2vw, 2.8rem)),var(--word-letter-fit-size, 999px))}.app-shell.screen-practice.mode-words .target-panel.reference-hidden .word-target{right:10px;left:10px}}@media (max-width: 768px){.app-shell.screen-practice.mode-alphabet .target-letter{--target-letter-mobile-offset-x: 33%;--target-letter-mobile-offset-y: 8px;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:grid;place-items:center;box-sizing:border-box;margin-top:0;padding-left:0;text-align:center;pointer-events:none;transform:translate(var(--target-letter-mobile-offset-x),var(--target-letter-mobile-offset-y));transition:transform .36s cubic-bezier(.2,.82,.22,1),color .18s ease;will-change:transform}.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter{--target-letter-mobile-offset-x: 0px;--target-letter-mobile-offset-y: 0px;top:0;right:0;bottom:0;left:0;transform:translate(var(--target-letter-mobile-offset-x),var(--target-letter-mobile-offset-y))}.app-shell.screen-practice.mode-alphabet .target-letter.completed,.app-shell.screen-practice.mode-alphabet .target-panel.reference-hidden .target-letter.completed{animation:mobile-shifted-target-letter-pop .42s ease}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-alphabet .target-letter{--target-letter-mobile-offset-x: 30%;--target-letter-mobile-offset-y: 6px}}@keyframes mobile-shifted-target-letter-pop{0%{transform:translate(var(--target-letter-mobile-offset-x),var(--target-letter-mobile-offset-y)) scale(.96)}45%{transform:translate(var(--target-letter-mobile-offset-x),var(--target-letter-mobile-offset-y)) translateY(-3px) scale(1.08)}to{transform:translate(var(--target-letter-mobile-offset-x),var(--target-letter-mobile-offset-y)) scale(1)}}@media (max-width: 860px){.reading-playback{padding:0}.reading-handshape-stage{min-height:clamp(260px,46svh,430px)}.reading-media-frame{width:100%;height:100%;max-width:none;padding:clamp(14px,4vw,28px)}.reading-handshape-image{max-width:min(80%,340px);max-height:80%}.reading-answer-panel{gap:12px;padding:14px}.reading-session-hud{grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.reading-input-bar{padding:12px 16px}.reading-speed-labels{font-size:.68rem}}@media (max-width: 768px){.app-shell.screen-practice.mode-reading .reading-panel{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:0}.app-shell.screen-practice.mode-reading .reading-playback{min-height:0;gap:0;padding:0}.app-shell.screen-practice.mode-reading .reading-session-hud{grid-template-columns:minmax(0,1fr) auto;min-height:46px;gap:8px 12px;padding:7px 12px}.app-shell.screen-practice.mode-reading .reading-speed-control-hud,.app-shell.screen-practice.mode-reading .reading-hud-speed-summary{display:none}.app-shell.screen-practice.mode-reading .reading-hud-speed-mobile{display:grid;grid-column:1;grid-row:1;align-items:center;align-self:center}.app-shell.screen-practice.mode-reading .reading-session-hud-spacer{display:none}.app-shell.screen-practice.mode-reading .reading-hud-stat.is-time{grid-column:2;grid-row:1;align-items:center;align-self:center}.app-shell.screen-practice.mode-reading .reading-hud-stat strong{font-size:clamp(1.1rem,5vw,1.45rem)}.app-shell.screen-practice.mode-reading .reading-hud-stat.is-speed strong,.app-shell.screen-practice.mode-reading .reading-hud-stat.is-time strong{font-size:clamp(1rem,5.2vw,1.35rem)}.app-shell.screen-practice.mode-reading .reading-handshape-stage{min-height:clamp(250px,45svh,420px)}.app-shell.screen-practice.mode-reading .reading-intro{padding:8px 12px;font-size:.78rem;line-height:1.3}.app-shell.screen-practice.mode-reading .reading-input-bar{gap:7px;padding:10px 12px}.app-shell.screen-practice.mode-reading .reading-answer-panel{min-height:0;gap:8px;padding:10px}.app-shell.screen-practice.mode-reading .reading-meta-row{gap:8px}.app-shell.screen-practice.mode-reading .reading-speed-summary{min-height:30px;padding-inline:10px;font-size:.78rem}.app-shell.screen-practice.mode-reading .reading-speed-control{gap:5px}.app-shell.screen-practice.mode-reading .reading-speed-labels{font-size:.6rem}.app-shell.screen-practice.mode-reading .reading-form{--reading-control-height: 42px;grid-template-columns:minmax(0,1fr) auto;gap:7px}.app-shell.screen-practice.mode-reading .reading-feedback,.app-shell.screen-practice.mode-reading .reading-answer-word{margin-top:0;font-size:.82rem}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-reading .reading-handshape-stage{min-height:clamp(210px,38svh,300px)}.app-shell.screen-practice.mode-reading .reading-media-frame{padding:10px}.app-shell.screen-practice.mode-reading .reading-handshape-image{max-width:min(78%,280px);max-height:74%}.app-shell.screen-practice.mode-reading .reading-intro{display:none}.app-shell.screen-practice.mode-reading .reading-answer-panel{gap:6px;padding:8px}.app-shell.screen-practice.mode-reading .reading-session-hud,.app-shell.screen-practice.mode-reading .reading-input-bar{padding:6px 10px}.app-shell.screen-practice.mode-reading .reading-session-hud{min-height:40px}.app-shell.screen-practice.mode-reading .reading-hud-stat.is-speed strong,.app-shell.screen-practice.mode-reading .reading-hud-stat.is-time strong{font-size:.95rem}.app-shell.screen-practice.mode-reading .reading-speed-labels,.app-shell.screen-practice.mode-reading .reading-feedback,.app-shell.screen-practice.mode-reading .reading-answer-word{font-size:.76rem}}@media (prefers-reduced-motion: reduce){.reading-media-frame,.reading-media-frame.is-fading,.reading-result-message{animation:none}}.app-shell[data-theme=signiq] .profile-popover,.app-shell[data-theme=signiq] .auth-card,.app-shell[data-theme=signiq] .leaderboard-spotlight,.app-shell[data-theme=signiq] .mode-card,.app-shell[data-theme=signiq] .mode-card:hover,.app-shell[data-theme=signiq] .sign-reference-modal-content,.app-shell[data-theme=signiq] .ghost-guide,.app-shell[data-theme=signiq] .ghost-guide-expand-icon,.app-shell[data-theme=signiq] .setup-mobile-disclaimer{box-shadow:none}.app-shell[data-theme=signiq] .setup-mobile-disclaimer,.app-shell[data-theme=signiq] .reference-toggle.is-reference-nudged{animation:none}.app-shell{--font-ui: Inter, sans-serif;--font-display: Signifier, serif;--radius-panel: 14px;--radius-card: 12px;--radius-control: 10px;--radius-small: 7px;--blue-ink: #075bd8;--blue-ink-dark: #064aaf;--chalk: #fbfaf5;--paper: #fffdf7;--paper-blue: #edf6fb;--paper-green: #edf6ee;--paper-gold: #fbf0ce;--paper-coral: #fae6df;--ink-blue: #12213a;--rule-blue: rgba(7, 91, 216, .14);--rule-warm: rgba(184, 137, 22, .13);--shadow: 0 18px 34px rgba(17, 32, 58, .16);--shadow-soft: 0 8px 18px rgba(17, 32, 58, .1);--glow: none;font-family:var(--font-ui);background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),var(--rule-blue) calc(100% - 1px)) 0 0 / 36px 36px,linear-gradient(180deg,transparent 0,transparent calc(100% - 1px),var(--rule-warm) calc(100% - 1px)) 0 0 / 36px 36px,linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}.app-shell[data-theme=signiq]{--bg: #1b1d1c;--bg-soft: #202823;--panel: #f6f1e6;--panel-strong: #fffaf0;--surface: #e8eef0;--surface-muted: #d7e0e4;--surface-alt: #f1f6f4;--surface-warm: #fbf0ce;--control-bg: #fffaf0;--control-text: #172232;--raised-control-bg: #fffaf0;--raised-control-bg-hover: #f5eee0;--raised-control-border: #c9d1d4;--raised-control-border-hover: #98a8b0;--segment-bg: #dbe5e6;--text: #172232;--ink: #172232;--muted: #5b6873;--page-text: #fff8ea;--page-muted: #d8e4e0;--accent: #075bd8;--accent-strong: #064aaf;--accent-bright: #0a72e8;--accent-soft: #dcecff;--border: #c6d1d5;--border-strong: #8fa2ad;--focus-ring: rgba(7, 91, 216, .24);--primary-border: #064aaf;--active-border: #064aaf;--difficulty-border: #8fa2ad;--mode-card-hover-border: #7e9aad;--mode-icon-border: #b9c7cd;--avatar-border: #8fa2ad;--ghost-border: #b8c7ce;--eligible-border: #0a72e8;--nudge-border: #0a72e8;--camera-panel: #111716;--camera-bg: #070b0b;--camera-badge-bg: #fffaf0;--camera-badge-border: #c8d1d4;--camera-badge-text: #172232;--camera-badge-muted: #5b6873;--overlay-bg: rgba(13, 18, 19, .72);--mode-blue: #075bd8;--mode-blue-soft: #edf6fb;--mode-success: #2f8760;--mode-success-soft: #edf6ee;--mode-warm: #bf7b35;--mode-warm-soft: #fbf0ce;--success: #258052;--warning: #b88916;--danger: #c94358;background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),rgba(255,250,240,.055) calc(100% - 1px)) 0 0 / 34px 34px,linear-gradient(180deg,transparent 0,transparent calc(100% - 1px),rgba(255,250,240,.045) calc(100% - 1px)) 0 0 / 34px 34px,linear-gradient(180deg,#1b1d1c,#202823);background-blend-mode:normal;color-scheme:dark}.app-shell[data-theme=signiq-light]{--bg: #f5f8f5;--bg-soft: #e9f2f2;--panel: #fffdf7;--panel-strong: #ffffff;--surface: #edf3f3;--surface-muted: #dce6e8;--surface-alt: #f1f6f4;--surface-warm: #fbf0ce;--control-bg: #fffdf7;--control-text: #132033;--raised-control-bg: #fffdf7;--raised-control-bg-hover: #f2f7f5;--raised-control-border: #d1cfca;--raised-control-border-hover: #91a5af;--segment-bg: #dfe9e9;--text: #132033;--ink: #132033;--muted: #586b78;--page-text: #132033;--page-muted: #586b78;--accent: #075bd8;--accent-strong: #064aaf;--accent-bright: #0a72e8;--accent-soft: #dcecff;--border: #d1cfca;--border-strong: #91a5af;--focus-ring: rgba(7, 91, 216, .22);--primary-border: #064aaf;--active-border: #064aaf;--mode-blue-soft: #edf6fb;--mode-success-soft: #edf6ee;--mode-warm-soft: #fbf0ce;--camera-panel: #101719;--camera-bg: #06090a;--camera-badge-bg: #fffdf7;--camera-badge-border: #d1cfca;--camera-badge-text: #132033;--camera-badge-muted: #586b78;--overlay-bg: rgba(19, 32, 51, .42);background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),rgba(7,91,216,.08) calc(100% - 1px)) 0 0 / 36px 36px,linear-gradient(180deg,transparent 0,transparent calc(100% - 1px),rgba(184,137,22,.08) calc(100% - 1px)) 0 0 / 36px 36px,linear-gradient(180deg,#f7faf6,#eaf3f3)}.app-shell :is(.screen-header h1,.practice-header h1,.about-hero h1,.about-copy-section h2,.about-faq-section h2,.modal-header h2,.leaderboard-header h1,.hand-preference-title,.results-header h1,.mode-card h2,.target-letter,.word-letter,.mode-letter-strip-item,.mode-word-strip-item,.reading-placeholder strong,.reading-result-message strong,.result-metric strong){font-family:var(--font-display);font-weight:700}.app-shell :is(.primary-button,.secondary-button,.ghost-button,.nav-link-button,.hand-choice-button,.toggle-control){border-radius:var(--radius-control);box-shadow:none}.primary-button,.mode-card .primary-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .primary-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .mode-card .primary-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.hand-choice-button.is-selected,.hand-preference-screen .hand-choice-button){color:#fff;border:1px solid var(--primary-border, var(--accent-strong));background:var(--accent);box-shadow:inset 0 -2px #0000002e,0 1px #ffffff42}.primary-button:hover,.primary-button:focus-visible,.mode-card .primary-button:hover,.mode-card .primary-button:focus-visible{background:var(--accent-strong);box-shadow:inset 0 -2px #00000038,0 1px #ffffff42}.secondary-button,.ghost-button,.nav-link-button,.hand-choice-button,.toggle-control,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item{border-color:var(--raised-control-border);background:var(--raised-control-bg);color:var(--control-text)}.secondary-button:hover,.secondary-button:focus-visible,.ghost-button:not(.back-button):hover,.ghost-button:not(.back-button):focus-visible,.nav-link-button:hover,.nav-link-button:focus-visible,.hand-choice-button:hover,.hand-choice-button:focus-visible,.toggle-control:hover,.toggle-control:focus-visible,.leaderboard-nav-button:hover,.leaderboard-nav-button:focus-visible{border-color:var(--raised-control-border-hover);background:var(--raised-control-bg-hover);color:var(--control-text);transform:translateY(-1px)}.back-button,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.back-button,.profile-menu-item-sign-out),:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) :is(.back-button,.profile-menu-item-sign-out):is(:hover,:focus-visible){color:#fff;border-color:#a83345;background:#c94358;box-shadow:inset 0 -2px #0000002e}.theme-picker,.theme-picker-nav,.profile-popover,.auth-card,.leaderboard-card,.setup-card,.results-card,.target-panel,.webcam-panel,.reading-playback,.reading-answer-panel,.reading-speed-card,.reading-speed-summary,.leaderboard-spotlight,.mode-card,.result-metric,.leaderboard-row,.empty-state,.sign-reference-modal-content{border-radius:var(--radius-panel);border-color:var(--border);box-shadow:var(--shadow-soft)}.modal-backdrop,.sign-reference-modal{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-screen{position:relative;justify-content:flex-start;overflow:hidden;text-align:left}.landing-screen:before,.landing-screen:after{content:"";position:absolute;inset-block:clamp(86px,14dvh,140px) clamp(42px,8dvh,86px);pointer-events:none}.landing-screen:before{left:clamp(18px,6vw,86px);width:3px;background:var(--accent);opacity:.9}.landing-screen:after{right:clamp(10px,5vw,78px);width:min(38vw,440px);border-block:1px solid color-mix(in srgb,var(--page-muted) 24%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent 36%),repeating-linear-gradient(180deg,transparent 0,transparent 29px,color-mix(in srgb,var(--page-muted) 18%,transparent) 30px);opacity:.52}.hero-panel{width:min(760px,100%);justify-items:start;padding-left:clamp(22px,7vw,110px)}.hero-logo{width:min(520px,86vw);margin-top:0;animation:hero-arrive .42s ease both;will-change:auto}.hero-subtitle{width:min(520px,100%);margin:20px 0 26px;padding-left:18px;border-left:1px solid color-mix(in srgb,var(--page-muted) 38%,transparent);color:var(--hero-copy);font-size:clamp(1.06rem,1.35vw,1.28rem);line-height:1.5}.landing-screen .hero-panel .primary-button{min-width:0;min-height:50px;padding-inline:24px;border-radius:var(--radius-control)}.screen-header h1,.practice-header h1,.about-hero h1,.leaderboard-header h1,.results-header h1,.hand-preference-title{line-height:.98;text-wrap:balance}.mode-screen{align-content:center}.mode-header{position:relative;align-items:flex-start;margin-bottom:18px}.mode-header h1{max-width:680px;color:var(--page-text);font-size:clamp(2.35rem,5.2vw,4.4rem)}.mode-header:after{content:"";width:clamp(80px,12vw,150px);height:3px;align-self:end;margin-bottom:.55rem;background:var(--accent)}.leaderboard-spotlight{min-height:70px;margin-bottom:16px;border-left:6px solid var(--accent);border-radius:var(--radius-panel);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-soft)}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .leaderboard-spotlight{border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--shadow-soft)}.spotlight-toggle,.spotlight-difficulty-tag,.spotlight-arrow,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-toggle,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-difficulty-tag,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .spotlight-arrow{border-radius:var(--radius-small)}.spotlight-title,.spotlight-title span,.leaderboard-spotlight .spotlight-title,.leaderboard-spotlight .spotlight-title>span:not(.spotlight-title-tag),.leaderboard-spotlight .spotlight-title svg,.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title,.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title span:not(.spotlight-title-tag),.app-shell[data-theme=signiq] .leaderboard-spotlight .spotlight-title svg{color:var(--ink)!important;stroke:currentColor}.mode-grid{counter-reset:signiq-mode;gap:14px}.mode-card,.app-shell .mode-card{counter-increment:signiq-mode;min-height:336px;padding:26px;border-radius:var(--radius-card);border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 34%,var(--border));background:var(--paper);box-shadow:var(--shadow-soft)}.mode-card:before,.app-shell .mode-card:before{inset:0 auto 0 0;width:6px;height:auto;border-radius:var(--radius-card) 0 0 var(--radius-card);background:var(--mode-accent, var(--accent))}.mode-card:hover,.app-shell .mode-card:hover{border-color:color-mix(in srgb,var(--mode-accent, var(--accent)) 58%,var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}.mode-card-blue,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card-blue{--mode-card-bg: var(--paper-blue);--mode-surface: var(--paper-blue);background:var(--paper-blue)}.mode-card-green,.app-shell[data-theme=ocean] .mode-card-green{--mode-card-bg: var(--paper-green);--mode-surface: var(--paper-green);background:var(--paper-green)}.mode-card-clay,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card-clay{--mode-card-bg: var(--paper-gold);--mode-surface: var(--paper-gold);background:var(--paper-gold)}.mode-card-copy{position:relative;gap:12px}.mode-card-copy:before{content:counter(signiq-mode,decimal-leading-zero);position:absolute;top:-.18em;right:0;color:var(--mode-accent, var(--accent));font-family:var(--font-display);font-size:clamp(2.3rem,4vw,3.4rem);font-weight:700;line-height:1;opacity:.16}.mode-icon,.app-shell .mode-icon{height:76px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--mode-accent, var(--accent)) 24%,transparent);color:var(--mode-accent, var(--accent))}.mode-card h2,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card h2{max-width:11ch;color:#132033;font-size:clamp(1.7rem,2.7vw,2.42rem);line-height:.98;transform:none}.mode-card p,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card p{color:#516575;font-size:.98rem;line-height:1.55}.mode-letter-strip,.mode-word-strip{-webkit-mask-image:none;mask-image:none}.mode-reading-ray{border-radius:var(--radius-small);background:currentColor;opacity:.5}.mode-feedback-note{color:var(--page-muted)}.about-card{gap:clamp(26px,4vw,48px)}.about-title{border-bottom:1px solid color-mix(in srgb,var(--page-muted) 22%,transparent);padding-bottom:clamp(14px,2vw,22px)}.about-hero h1{color:var(--page-text);font-size:clamp(2.5rem,6vw,5rem)}.about-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.about-copy-section,.about-faq-item,.app-shell[data-theme=signiq] .about-copy-section,.app-shell[data-theme=signiq] .about-faq-item,.app-shell[data-theme=signiq-light] .about-copy-section,.app-shell[data-theme=signiq-light] .about-faq-item{border-radius:var(--radius-card);border-color:var(--border);background:var(--panel);box-shadow:var(--shadow-soft)}.about-copy-section{border-left:5px solid var(--accent)}.about-copy-section:nth-child(2){border-left-color:var(--mode-success)}.about-faq-question{border-radius:0}.setup-card,.results-card,.leaderboard-card,.auth-card,.hand-preference-panel{background:var(--panel);border-color:var(--border);border-radius:var(--radius-panel)}.setup-card,.hand-preference-panel{border-left:6px solid var(--accent)}.setup-section{margin-top:22px}.setup-section+.setup-section{padding-top:22px;border-top:1px solid color-mix(in srgb,var(--border) 68%,transparent)}.setup-label,.setup-range-header span,.field-label{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:none}.segmented-control{padding:5px;border-radius:var(--radius-control);border-color:var(--raised-control-border);background:var(--segment-bg)}.segmented-control:before{inset-block:5px;left:5px;width:calc((100% - 10px) / var(--segment-count));border-radius:calc(var(--radius-control) - 3px);box-shadow:inset 0 -2px #0000001f}.segmented-control button{min-height:42px;border-radius:calc(var(--radius-control) - 3px);font-weight:850}.word-count-slider{accent-color:var(--accent)}.text-field,.reading-form input{border-radius:var(--radius-control);background:var(--panel-strong)}.checkbox-field input{border-radius:var(--radius-small)}.avatar-choice{border-radius:var(--radius-control)}.results-card{border-top:6px solid var(--accent)}.results-header h1{font-size:clamp(2.1rem,4.8vw,4.4rem)}.result-metric{position:relative;align-items:flex-start;min-height:118px;overflow:hidden;border-radius:var(--radius-card);background:var(--panel-strong);text-align:left}:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric{background:var(--panel-strong)}.result-metric:before,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--metric-accent, var(--accent))}.result-metric span{color:var(--muted);text-transform:none}.result-metric strong,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric strong{color:var(--ink)}.result-metric-completed,.result-metric-secondary-count,.result-metric-correct{--metric-accent: #2f8760;--metric-border: #86b89d}.result-metric-time{--metric-accent: #075bd8;--metric-border: #8eb1e2}.result-metric-average{--metric-accent: #6b5cae;--metric-border: #aaa2d1}.result-metric-fastest{--metric-accent: #b88916;--metric-border: #d4b653}.result-metric-streak{--metric-accent: #bf7b35;--metric-border: #d4a173}.result-metric-needs-practice{--metric-accent: #c94358;--metric-border: #dc8d9a}.leaderboard-title{font-size:clamp(2rem,4.4vw,4rem)}.leaderboard-row{border-radius:var(--radius-card);background:var(--panel-strong)}.leaderboard-row.rank-gold{border-color:#d4a928;background:color-mix(in srgb,#fff5ca 78%,var(--panel) 22%)}.leaderboard-row.rank-silver{border-color:#aab6c0;background:color-mix(in srgb,#eef3f5 82%,var(--panel) 18%)}.leaderboard-row.rank-bronze{border-color:#bf7b35;background:color-mix(in srgb,#f4dfcc 78%,var(--panel) 22%)}.target-panel{background:linear-gradient(180deg,transparent 0,transparent calc(100% - 1px),color-mix(in srgb,var(--border) 34%,transparent) calc(100% - 1px)) 0 0 / 100% 34px,var(--panel)}.target-label,.session-stat span,.reading-hud-stat span,.confidence-label{font-size:.76rem;text-transform:none}.target-label{color:var(--muted)}.target-letter,.word-letter{color:color-mix(in srgb,var(--ink) 32%,transparent);font-weight:700}.word-letter.current{color:var(--ink)}.target-letter.completed,.word-letter.completed,.status-success{color:var(--success)}.sign-reference,.sign-reference img,.ghost-guide,.ghost-guide-expand-icon,.confidence-card,.camera-guidance,.webcam-panel,.webcam-container{border-radius:var(--radius-small)}.sign-reference.needs-attention,.reference-toggle.is-reference-nudged{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.camera-guidance,.confidence-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--camera-badge-bg)}.challenge-badge,.challenge-badge-label,.challenge-difficulty-tag,.reading-speed-summary,.reading-stage-action-button,.reading-form input{border-radius:var(--radius-control)}.reading-playback,.reading-session-hud,.reading-input-bar{background:var(--panel)}.reading-handshape-stage{background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),color-mix(in srgb,var(--border) 30%,transparent) calc(100% - 1px)) 0 0 / 38px 38px,linear-gradient(180deg,transparent 0,transparent calc(100% - 1px),color-mix(in srgb,var(--border) 26%,transparent) calc(100% - 1px)) 0 0 / 38px 38px,var(--surface)}.reading-form{grid-template-columns:minmax(190px,420px) max-content}.reading-form input{font-family:var(--font-display);font-weight:700}.profile-popover{border-radius:var(--radius-card);background:var(--panel)}.profile-menu-item{border-radius:var(--radius-small)}.avatar-badge{box-shadow:inset 0 -2px #00000024}.confetti-piece{border-radius:1px}.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button,.app-shell.auth-signed-out.screen-landing .app-topbar-right .secondary-button,.app-shell.auth-signed-out .app-topbar-left .primary-button,.app-shell.auth-signed-out .app-topbar-right .secondary-button,.app-shell .leaderboard-nav-button{border-radius:var(--radius-control)}@keyframes logo-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1)}}@keyframes reference-glow{0%,to{filter:none;transform:translateY(0) scale(1)}50%{filter:none;transform:translateY(-1px) scale(1.01)}}@keyframes reference-toggle-glow{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}}@keyframes leaderboard-eligible-glow{0%,to{border-color:var(--eligible-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}50%{border-color:var(--eligible-border);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}}@media (min-width: 769px){.app-shell.screen-mode-select .mode-header h1{font-size:clamp(2.2rem,min(5vw,7.4dvh),4.2rem)}.app-shell.screen-mode-select .mode-card{border-radius:var(--radius-card)}.app-shell.screen-mode-select .mode-card h2{font-size:clamp(1.5rem,min(2.8vw,4.8dvh),2.35rem)}}@media (max-width: 860px){.mode-header:after{display:none}.about-section-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){body{overflow-x:hidden}.app-shell.screen-mode-select,.mode-screen,.leaderboard-spotlight,.spotlight-window,.spotlight-track,.mode-grid,.mode-card{max-width:100%;overflow-x:clip}.app-shell.screen-mode-select{width:100%;max-width:100vw}.app-shell.screen-mode-select .mode-screen{box-sizing:border-box;width:100%;max-width:100vw;min-width:0;margin-inline:auto;padding-inline:10px}.app-shell.screen-mode-select .mode-grid{grid-template-columns:minmax(0,1fr);width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin-inline:auto}.app-shell.screen-mode-select .mode-card{box-sizing:border-box;width:calc(100vw - 32px);max-width:calc(100vw - 32px);min-width:0}.app-shell.screen-mode-select .leaderboard-spotlight{width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin-inline:auto}.app-shell.screen-mode-select .mode-card p{overflow-wrap:anywhere}.app-shell.screen-mode-select .mode-letter-strip,.app-shell.screen-mode-select .mode-word-strip,.app-shell.screen-mode-select .mode-reading-strip{min-width:0;overflow:hidden}.spotlight-slide,.spotlight-slide.is-empty{min-width:100%;max-width:100%;grid-template-columns:minmax(0,max-content) auto minmax(0,max-content) minmax(0,max-content);overflow:hidden}.spotlight-slide.is-empty{grid-template-columns:minmax(0,max-content) auto minmax(0,max-content)}.spotlight-title,.spotlight-player{max-width:100%}.landing-screen{justify-content:center;text-align:center}.landing-screen:before{inset-block:clamp(76px,15dvh,118px) clamp(58px,10dvh,96px);left:18px;width:2px}.landing-screen:after{display:none}.hero-panel{width:min(390px,100%);justify-items:center;padding-left:0}.hero-subtitle{padding-left:0;border-left:0;text-align:center}.app-topbar-right .leaderboard-nav-button-mobile,.app-topbar-right .theme-picker-nav,.app-shell.auth-signed-out .app-topbar-left .primary-button,.app-shell.auth-signed-out.screen-landing .app-topbar-left .primary-button,.app-shell.auth-signed-out .app-topbar-right .leaderboard-nav-button,.app-shell.auth-signed-out .app-topbar-right .secondary-button{border-radius:var(--radius-control)}.leaderboard-spotlight{border-left-width:4px;border-radius:var(--radius-card)}.spotlight-arrow{border-radius:var(--radius-small)}.mode-card,.app-shell .mode-card{min-height:292px;padding:22px}.app-shell.screen-practice.mode-alphabet .theme-picker,.app-shell.screen-practice.mode-words .theme-picker,.app-shell.screen-practice.mode-reading .theme-picker{border-radius:var(--radius-control)}.reading-form{grid-template-columns:minmax(0,1fr) auto}}@media (max-width: 520px){.target-panel,.mode-card,.setup-card,.results-card{padding:16px}.mode-card,.app-shell .mode-card{min-height:268px}.reading-form{grid-template-columns:minmax(0,1fr)}.reading-form .primary-button{width:100%}}.app-shell{--radius-panel: 10px;--radius-card: 10px;--radius-control: 8px;--radius-small: 6px;--button-bg: var(--raised-control-bg);--button-bg-hover: var(--button-bg);--button-border: var(--raised-control-border);--button-color: var(--control-text);--button-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18), 0 1px 0 rgba(255, 255, 255, .16);background:var(--bg)}.app-shell[data-theme=signiq-light]{--bg: #f6f8f6;--bg-soft: #f6f8f6;--panel: #fffdf7;--panel-strong: #ffffff;--surface: #eef4f4;--surface-alt: #f4f7f6;--surface-muted: #dce6e8;--control-bg: #fffdf7;--raised-control-bg: #fffdf7;--raised-control-bg-hover: #fffdf7;background:#f6f8f6}.app-shell[data-theme=signiq]{--bg: #1e2227;--bg-soft: #1e2227;--panel: #30343a;--panel-strong: #393e45;--surface: #272c31;--surface-alt: #343a41;--surface-muted: #252a30;--control-bg: #30343a;--control-text: #f4f0e8;--raised-control-bg: #343941;--raised-control-bg-hover: #343941;--raised-control-border: #2a2f34;--raised-control-border-hover: #6b7480;--segment-bg: #262b31;--text: #f4f0e8;--ink: #f4f0e8;--muted: #bec7ce;--page-text: #f4f0e8;--page-muted: #cbd4da;--border: #2a2f34;--border-strong: #75808b;--camera-panel: #111518;--camera-bg: #070a0c;--camera-badge-bg: #30343a;--camera-badge-border: #2a2f34;--camera-badge-text: #f4f0e8;--camera-badge-muted: #bec7ce;background:#1e2227}.landing-screen{justify-content:center;text-align:center}.landing-screen:before,.landing-screen:after{display:none}.hero-panel{justify-items:center;width:min(720px,100%);padding-left:0}.hero-subtitle{padding-left:0;border-left:0;text-align:center}.app-shell :is(.primary-button,.secondary-button,.ghost-button,.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item,.hand-choice-button,.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button,.avatar-choice,.password-toggle,.segmented-control button){border-radius:var(--radius-control)!important;color:var(--button-color, var(--control-text))!important;border-color:var(--button-border, var(--raised-control-border))!important;background:var(--button-bg, var(--raised-control-bg))!important;box-shadow:var(--button-shadow)!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.app-shell :is(.primary-button,.secondary-button,.ghost-button,.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item,.hand-choice-button,.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button,.avatar-choice,.password-toggle,.segmented-control button):is(:hover,:focus-visible){color:var(--button-color, var(--control-text))!important;border-color:var(--button-border, var(--raised-control-border))!important;background:var(--button-bg-hover, var(--button-bg, var(--raised-control-bg)))!important;transform:translateY(-1px)}.app-shell :is(.primary-button,.hand-choice-button.is-selected,.hand-preference-screen .hand-choice-button){--button-bg: var(--accent);--button-bg-hover: var(--accent);--button-border: var(--accent-strong);--button-color: #ffffff}.app-shell :is(.back-button,.profile-menu-item-sign-out){--button-bg: var(--danger);--button-bg-hover: var(--danger);--button-border: color-mix(in srgb, var(--danger) 76%, #000000 24%);--button-color: #ffffff}.mode-card-blue .primary-button{--button-bg: var(--mode-blue);--button-bg-hover: var(--mode-blue);--button-border: color-mix(in srgb, var(--mode-blue) 76%, #000000 24%)}.mode-card-green .primary-button{--button-bg: var(--mode-success);--button-bg-hover: var(--mode-success);--button-border: color-mix(in srgb, var(--mode-success) 76%, #000000 24%)}.mode-card-clay .primary-button{--button-bg: var(--mode-warm);--button-bg-hover: var(--mode-warm);--button-border: color-mix(in srgb, var(--mode-warm) 76%, #000000 24%)}.session-stat,.reference-toggle,.reading-speed-card,.reading-speed-summary,.challenge-badge,.challenge-badge-label,.challenge-difficulty-tag{border-radius:var(--radius-control)!important}.app-shell[data-theme=signiq-light] :is(.mode-card,.mode-card-blue,.mode-card-green,.mode-card-clay,.app-shell .mode-card-blue,.app-shell .mode-card-green,.app-shell .mode-card-clay){--mode-card-bg: #fffdf7;--mode-surface: #fffdf7;background:#fffdf7!important}.app-shell[data-theme=signiq] :is(.mode-card,.mode-card-blue,.mode-card-green,.mode-card-clay,.about-copy-section,.about-faq-item,.leaderboard-card,.setup-card,.results-card,.auth-card,.target-panel,.reading-playback,.reading-answer-panel,.result-metric,.leaderboard-row,.leaderboard-spotlight,.profile-popover,.empty-state){background:var(--panel)!important;color:var(--ink)}.app-shell[data-theme=signiq] :is(.mode-card h2,.mode-card p,.about-copy-section h2,.about-copy-section p,.about-faq-question,.about-faq-answer,.leaderboard-user strong,.leaderboard-time,.result-metric strong,.result-metric span){color:inherit!important}.app-shell[data-theme=signiq] .mode-card p,.app-shell[data-theme=signiq] :is(.about-copy-section p,.about-faq-answer,.result-metric span){color:var(--muted)!important}.mode-card,.app-shell .mode-card{background:var(--mode-card-bg, #fffdf7)!important}.mode-card-copy:before{content:none!important}.mode-icon,.app-shell .mode-icon{border-bottom:0!important}.mode-word-strip{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 78%,transparent 100%)!important;mask-image:linear-gradient(to right,#000 0%,#000 78%,transparent 100%)!important}.mode-reading-strip{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 82%,transparent 100%)!important;mask-image:linear-gradient(to right,#000 0%,#000 82%,transparent 100%)!important}.mode-reading-ray{background:linear-gradient(to right,currentColor 0%,color-mix(in srgb,currentColor 62%,transparent) 58%,transparent 100%)!important}.target-panel,.reading-handshape-stage,.app-shell[data-theme=signiq] .reading-handshape-stage,.app-shell[data-theme=signiq-light] .reading-handshape-stage{background:var(--surface)!important}.target-panel,.sign-reference,.sign-reference-modal-content{background:var(--panel)!important}.app-shell[data-theme=signiq-light] .sign-reference{background:#fffdf7!important}.app-shell[data-theme=signiq] .sign-reference{background:var(--panel)!important}.app-shell .mode-card-blue .primary-button,.app-shell .mode-card-blue .primary-button:is(:hover,:focus-visible){color:#fff!important;border-color:color-mix(in srgb,var(--mode-blue) 76%,#000000 24%)!important;background:var(--mode-blue)!important}.app-shell .mode-card-green .primary-button,.app-shell .mode-card-green .primary-button:is(:hover,:focus-visible){color:#fff!important;border-color:color-mix(in srgb,var(--mode-success) 76%,#000000 24%)!important;background:var(--mode-success)!important}.app-shell .mode-card-clay .primary-button,.app-shell .mode-card-clay .primary-button:is(:hover,:focus-visible){color:#fff!important;border-color:color-mix(in srgb,var(--mode-warm) 76%,#000000 24%)!important;background:var(--mode-warm)!important}.app-shell{--font-ui: Inter, sans-serif;--font-display: Signifier, serif}.app-shell[data-theme=signiq-light]{--surface: #fbfbf7;--raised-control-border: #d1cfca;--raised-control-border-hover: #d1cfca;--border: #d1cfca;--border-strong: #d1cfca;--camera-badge-border: #d1cfca}.app-shell[data-theme=signiq]{--raised-control-border: #2a2f34;--raised-control-border-hover: #2a2f34;--border: #2a2f34;--border-strong: #2a2f34;--camera-badge-border: #2a2f34}.app-shell,.app-shell *{font-family:var(--font-ui)!important}.app-shell :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-display)!important}.app-shell .segmented-control{border-color:var(--border)!important;background:var(--panel)!important;box-shadow:inset 0 -2px #00000024,0 1px #ffffff1f}.app-shell .segmented-control:before{content:none!important;display:none!important}.app-shell .segmented-control button,.app-shell .segmented-control button:is(:hover,:focus-visible){--button-bg: transparent;--button-bg-hover: transparent;--button-border: transparent;color:var(--ink)!important;border-color:transparent!important;background:transparent!important;box-shadow:inset 0 -2px color-mix(in srgb,var(--border) 72%,transparent)!important}.app-shell .segmented-control button:is(:hover,:focus-visible){transform:translateY(-1px)}.app-shell .segmented-control button.is-selected,.app-shell .segmented-control button.is-selected:is(:hover,:focus-visible){--button-bg: var(--segment-color);--button-bg-hover: var(--segment-color);--button-border: color-mix(in srgb, var(--segment-color) 76%, #000000 24%);color:#fff!important;border-color:var(--button-border)!important;background:var(--segment-color)!important;box-shadow:var(--button-shadow)!important}.app-shell .segmented-control button.is-selected.difficulty-easy{--segment-color: var(--success)}.app-shell .segmented-control button.is-selected.difficulty-medium{--segment-color: var(--warning)}.app-shell .segmented-control button.is-selected.difficulty-hard{--segment-color: var(--danger)}.app-shell .leaderboard-spotlight,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .leaderboard-spotlight{border-left-width:1px!important;border-color:var(--border)!important;background:var(--panel)!important;box-shadow:inset 0 -3px #0000002e,0 1px #ffffff1f!important}.app-shell .leaderboard-spotlight:is(:hover,:focus-visible){border-color:var(--border)!important;background:var(--panel)!important;box-shadow:inset 0 -3px #0000002e,0 1px #ffffff1f!important;transform:translateY(-1px)}.app-shell .mode-card,.app-shell .mode-card:hover{--mode-card-border: color-mix(in srgb, var(--mode-accent, var(--accent)) 34%, var(--border));border-color:var(--mode-card-border)!important}.app-shell .leaderboard-row{border-radius:var(--radius-control)!important;background:var(--panel-strong)!important}.app-shell .leaderboard-row.rank-gold{--ink: #132033;--muted: #5d6872;border-color:#d29a00!important;background:#fff0bd!important}.app-shell .leaderboard-row.rank-silver{--ink: #132033;--muted: #5d6872;border-color:#a8b0b7!important;background:#eef1f2!important}.app-shell .leaderboard-row.rank-bronze{--ink: #132033;--muted: #5d6872;border-color:#bd7431!important;background:#f1ddc9!important}.app-shell :is(.spotlight-difficulty-tag,.challenge-difficulty-tag){color:#fff!important;border-color:color-mix(in srgb,var(--difficulty-color, var(--mode-blue)) 76%,#000000 24%)!important;background:var(--difficulty-color, var(--mode-blue))!important;box-shadow:var(--button-shadow)!important}.app-shell *{text-transform:none!important}.mode-header:after{content:none!important;display:none!important}.app-shell .segmented-control{overflow:hidden;isolation:isolate}.app-shell .segmented-control:before{content:""!important;position:absolute;inset-block:5px;left:5px;z-index:0;display:block!important;width:calc((100% - 10px) / var(--segment-count));border-radius:calc(var(--radius-control) - 3px);background:var(--segment-color);box-shadow:var(--button-shadow);transform:translate(calc(var(--segment-index) * 100%));transition:transform .26s cubic-bezier(.2,.8,.2,1),background-color .26s ease}.app-shell .segmented-control button,.app-shell .segmented-control button:is(:hover,:focus-visible),.app-shell .segmented-control button.is-selected,.app-shell .segmented-control button.is-selected:is(:hover,:focus-visible){position:relative;z-index:1;border-color:transparent!important;background:transparent!important;box-shadow:none!important}.app-shell .segmented-control button{color:var(--ink)!important}.app-shell .segmented-control button.is-selected{color:#fff!important}.app-shell .segmented-control button:is(:hover,:focus-visible){color:var(--ink)!important}.app-shell .segmented-control button.is-selected:is(:hover,:focus-visible){color:#fff!important}.app-shell .password-toggle,.app-shell .password-toggle:is(:hover,:focus-visible){color:var(--muted)!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:translateY(-50%)!important}.app-shell .avatar-choice,.app-shell .avatar-choice:is(:hover,:focus-visible),.app-shell .avatar-choice.is-selected{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}.app-shell .avatar-choice.is-selected .avatar-badge{box-shadow:inset 0 -2px #00000024,0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.app-shell :is(.mode-letter-strip-item,.mode-word-strip-item){font-family:var(--font-display)!important}.app-shell[data-theme=signiq-light]{--neutral-button-border: #d1cfca}.app-shell[data-theme=signiq]{--neutral-button-border: #2a2f34}.app-shell :is(.primary-button,.secondary-button,.ghost-button,.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item,.hand-choice-button,.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button){border-width:1px!important;border-style:solid!important}.app-shell :is(.secondary-button,.ghost-button:not(.back-button),.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item:not(.profile-menu-item-sign-out),.hand-choice-button:not(.is-selected),.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button){--button-border: var(--neutral-button-border);border-color:var(--neutral-button-border)!important}.app-shell :is(.secondary-button,.ghost-button:not(.back-button),.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item:not(.profile-menu-item-sign-out),.hand-choice-button:not(.is-selected),.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button):is(:hover,:focus-visible){border-color:var(--neutral-button-border)!important}.app-shell .password-toggle,.app-shell .password-toggle:is(:hover,:focus-visible),.app-shell .avatar-choice,.app-shell .avatar-choice:is(:hover,:focus-visible),.app-shell .avatar-choice.is-selected{width:auto;height:auto;min-width:0;min-height:0;padding:0;border-width:0!important;background:transparent!important;box-shadow:none!important}.app-shell .password-toggle,.app-shell .password-toggle:is(:hover,:focus-visible){width:28px;height:28px;color:var(--ink)!important;transform:translateY(-50%)!important}.app-shell .avatar-choice,.app-shell .avatar-choice:is(:hover,:focus-visible),.app-shell .avatar-choice.is-selected{transform:none!important}.app-shell .avatar-choice.is-selected .avatar-badge{box-shadow:inset 0 -2px #00000024,0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent)}.about-title,.about-title span{font-family:var(--font-display)!important}.about-title{column-gap:clamp(18px,1.8vw,30px);padding-bottom:0!important;border-bottom:0!important}.about-title-logo{margin-left:clamp(4px,.6vw,10px);transform:translateY(calc(.13em - 2px)) translate(.02em)}.app-shell.screen-mode-select .mode-icon{overflow:hidden}.app-shell.screen-mode-select :is(.mode-letter-strip,.mode-word-strip){box-sizing:border-box;padding-right:clamp(24px,3vw,44px)}.app-shell.screen-mode-select .mode-letter-strip{gap:clamp(5px,1.45vw,11px);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 82%,rgba(0,0,0,.5) 91%,transparent 100%)!important;mask-image:linear-gradient(to right,#000 0%,#000 82%,rgba(0,0,0,.5) 91%,transparent 100%)!important}.app-shell.screen-mode-select .mode-letter-strip-item{font-size:clamp(2rem,min(4.3vw,6.4dvh),3.05rem)}.app-shell.screen-mode-select .mode-reading-strip{overflow:hidden;padding-right:clamp(24px,3vw,44px);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 86%,transparent 100%)!important;mask-image:linear-gradient(to right,#000 0%,#000 86%,transparent 100%)!important}.app-shell.screen-mode-select .mode-reading-ray{right:clamp(24px,3vw,44px)!important}.modal-backdrop,.sign-reference-modal{backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}.auth-form-section{padding:14px 0 0!important;border:0!important;border-top:1px solid var(--border)!important;border-radius:0!important;background:transparent!important}.auth-card>.auth-form-section:first-of-type{padding-top:0!important;border-top:0!important}.auth-actions-section{border-top:1px solid var(--border)!important}.avatar-picker,.auth-hand-preference{border:0!important;background:transparent!important}.webcam-panel,.webcam-container,.sign-reference,.sign-reference img,.sign-reference-video,.sign-reference-modal-content{border-radius:var(--radius-control)!important}.sign-reference{border:1px solid var(--border)!important;background:var(--panel)!important}.reading-playback,.reading-session-hud,.reading-input-bar{background:var(--panel)!important}.reading-handshape-stage,.app-shell[data-theme=signiq] .reading-handshape-stage,.app-shell[data-theme=signiq-light] .reading-handshape-stage{background:var(--surface)!important}.app-shell[data-theme=signiq-light].screen-practice.mode-reading .reading-playback,.app-shell[data-theme=signiq-light].screen-practice.mode-reading .reading-session-hud,.app-shell[data-theme=signiq-light].screen-practice.mode-reading .reading-input-bar{background:#fffdf7!important}.app-shell[data-theme=signiq-light].screen-practice.mode-reading .reading-handshape-stage{background:#fbfbf7!important}.reading-media-frame,.reading-media-frame.is-fading,.reading-handshape-image{animation:none!important;transition:none!important}.app-shell,.app-shell[data-theme=signiq-light]{background:#f1eee6!important;background-image:none!important}.app-shell[data-theme=signiq]{background:#1e2227!important;background-image:none!important}.landing-screen{justify-content:center!important;text-align:center!important}.landing-screen:before,.landing-screen:after{content:none!important;display:none!important}.hero-panel{justify-items:center!important;padding-left:0!important}.app-shell[data-theme=signiq]{--border: #2a2f34;--border-strong: #2a2f34;--raised-control-border: #2a2f34;--raised-control-border-hover: #2a2f34;--neutral-button-border: #2a2f34;--camera-badge-border: #2a2f34}.app-shell[data-theme=signiq] :is(.secondary-button,.ghost-button:not(.back-button),.nav-link-button,.leaderboard-nav-button,.theme-picker,.theme-picker-nav,.profile-menu-item:not(.profile-menu-item-sign-out),.hand-choice-button:not(.is-selected),.toggle-control,.spotlight-arrow,.spotlight-toggle,.sign-reference-close,.reading-stage-action-button,.leaderboard-submit-button,.segmented-control,.text-field,.reading-form input,.auth-card,.profile-popover,.leaderboard-card,.setup-card,.results-card,.target-panel,.webcam-panel,.webcam-container,.reading-playback,.reading-session-hud,.reading-input-bar,.reading-speed-card,.reading-speed-summary,.session-stat,.camera-guidance,.confidence-card,.empty-state,.sign-reference-modal-content){border-color:#2a2f34!important}.app-shell .segmented-control button:is(:hover,:focus-visible),.app-shell .segmented-control button.is-selected:is(:hover,:focus-visible){transform:none!important}.mode-side-eye,.mode-side-eye path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.2}.mode-side-eye path:last-child{fill:currentColor;stroke:none}.target-letter,.word-letter{font-family:var(--font-display)!important}.target-label,.app-shell.screen-practice.mode-alphabet .target-label,.app-shell.screen-practice.mode-words .target-label{color:var(--ink)!important;font-size:clamp(1.05rem,1.8vw,1.35rem)!important;font-weight:850!important;line-height:1!important}.app-shell .target-panel .sign-reference,.app-shell .target-panel .sign-reference img{border:0!important;border-radius:4px!important;box-shadow:none!important}.app-shell .target-panel .sign-reference{background:transparent!important}.app-shell[data-theme=signiq-light]{--bg: #f1eee6;--bg-soft: #ece7dc;--surface: #f8f5ee;--panel: #fffdf7;--panel-strong: #ffffff}.result-metric,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric{align-items:center!important;justify-content:center!important;min-height:118px;padding:18px!important;border:1px solid var(--metric-border, var(--border))!important;border-left-width:4px!important;border-radius:var(--radius-card)!important;background:var(--panel-strong)!important;box-shadow:none!important;text-align:center!important}.result-metric span,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric span{color:var(--muted)!important;text-align:center!important}.result-metric strong,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric strong{color:var(--ink)!important;text-align:center!important}.results-card{box-shadow:none!important}.app-shell.screen-mode-select .mode-header h1{max-width:none!important}@media (min-width: 760px){.app-shell.screen-mode-select .mode-header h1{white-space:nowrap!important}}.result-metric,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric{border-width:1px!important;border-left-width:1px!important;border-bottom-width:1px!important;border-color:var(--metric-border, var(--border))!important}.result-metric:before,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric:before{content:none!important;display:none!important}.app-shell :is(.setup-card,.results-card,.hand-preference-panel,.auth-card,.leaderboard-card){border-left-width:1px!important;border-top-width:1px!important;border-right-width:1px!important;border-bottom-width:4px!important;box-shadow:none!important}.app-shell .mode-card:before{inset:auto 0 0 0!important;width:auto!important;height:5px!important;border-radius:0 0 var(--radius-card) var(--radius-card)!important}.app-shell .mode-card,.app-shell .mode-card:hover{border-left-width:1px!important;border-bottom-width:4px!important}.app-shell :is(.avatar-choice,.avatar-choice:is(:hover,:focus-visible),.avatar-choice.is-selected,.password-toggle,.password-toggle:is(:hover,:focus-visible)){--button-bg: transparent !important;--button-bg-hover: transparent !important;--button-border: transparent !important;--button-shadow: none !important;border:0!important;background:transparent!important;box-shadow:none!important}.app-shell :is(.avatar-choice,.avatar-choice:is(:hover,:focus-visible),.avatar-choice.is-selected){width:auto!important;height:auto!important;padding:0!important;border-radius:0!important;transform:none!important}.app-shell :is(.password-toggle,.password-toggle:is(:hover,:focus-visible)){width:28px!important;height:28px!important;padding:0!important;border-radius:0!important;color:var(--ink)!important;transform:translateY(-50%)!important}.app-shell .password-toggle svg{width:22px!important;height:22px!important}.app-shell.screen-hand-setup .hand-preference-panel,.app-shell.screen-hand-setup .hand-preference-panel:is(:hover,:focus-within){border:0!important;background:transparent!important;box-shadow:none!important}.app-shell.screen-hand-setup .hand-preference-panel{padding-inline:clamp(18px,4vw,56px)!important}.app-shell .mode-card:before{inset:0 0 auto 0!important;width:auto!important;height:5px!important;border-radius:var(--radius-card) var(--radius-card) 0 0!important}.app-shell .mode-card,.app-shell .mode-card:hover{border-left-width:1px!important;border-bottom-width:1px!important}.app-shell .mode-card h2,.app-shell.screen-mode-select .mode-card h2,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light],.app-shell[data-theme=ocean]) .mode-card h2{font-family:var(--font-ui)!important}.app-shell :is(.setup-label,.field-label,.hand-preference-question,.avatar-picker>.field-label,.auth-hand-preference>.field-label){color:#000!important}.app-shell[data-theme=signiq] :is(.setup-label,.field-label,.hand-preference-question,.avatar-picker>.field-label,.auth-hand-preference>.field-label){color:#f4f0e8!important}.result-metric,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric{color:#fff!important;border-color:var(--metric-solid-border, color-mix(in srgb, var(--metric-solid-bg, var(--accent)) 76%, #000000 24%))!important;border-bottom-width:4px!important;background:var(--metric-solid-bg, var(--accent))!important;box-shadow:none!important}.result-metric span,.result-metric strong,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric span,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .result-metric strong{color:#fff!important}.result-metric-completed,.result-metric-secondary-count,.result-metric-correct{--metric-solid-bg: #2f8760;--metric-solid-border: #236647}.result-metric-time{--metric-solid-bg: #075bd8;--metric-solid-border: #0646a8}.result-metric-average{--metric-solid-bg: #6b5cae;--metric-solid-border: #514489}.result-metric-fastest{--metric-solid-bg: #b88916;--metric-solid-border: #8e6910}.result-metric-streak{--metric-solid-bg: #bf7b35;--metric-solid-border: #935d28}.result-metric-needs-practice{--metric-solid-bg: #c94358;--metric-solid-border: #9f3344}.app-shell[data-theme=signiq-light] :is(.segmented-control,.toggle-control){background:#efefef!important}.app-shell[data-theme=signiq] :is(.segmented-control,.toggle-control){background:#323338!important}.auth-form-section,.auth-actions-section{border-top-width:2px!important}.auth-card-signin .auth-actions-section{padding-top:0!important;border-top:0!important}.setup-section+.setup-section,.reading-input-bar{border-top-width:2px!important}.app-shell .reference-toggle,.app-shell .reference-toggle:is(:hover,:focus-visible,:focus-within){--button-bg: var(--raised-control-bg);--button-bg-hover: var(--raised-control-bg);--button-border: var(--neutral-button-border, var(--raised-control-border));--button-color: var(--control-text);color:var(--control-text)!important;border-color:var(--neutral-button-border, var(--raised-control-border))!important;background:var(--raised-control-bg)!important;box-shadow:var(--button-shadow)!important}.app-shell .reference-toggle input{accent-color:var(--accent)}.app-shell .leaderboard-screen :is(.leaderboard-header h1,.leaderboard-title,.leaderboard-title span){font-family:var(--font-display)!important}.app-shell .leaderboard-submit-panel.is-eligible .leaderboard-submit-button:not([aria-disabled=true]){animation:leaderboard-submit-border-pulse 1.15s ease-in-out infinite!important}.app-shell .about-copy-section{border-left-width:1px!important;border-left-color:var(--border)!important;border-bottom:5px solid var(--accent)!important}.app-shell .about-copy-section:nth-child(2){border-left-color:var(--border)!important;border-bottom-color:var(--mode-success)!important}.app-shell .about-title-logo{height:.98em!important;transform:translateY(calc(.1em - 1px))!important}.app-shell .hero-logo{width:min(540px,100%)!important}.app-shell .leaderboard-row.rank-gold{--ink: #0f172a;--muted: #344054;color:var(--ink)!important;border-color:#9f780d!important;background:linear-gradient(100deg,#fff6cc,#e4b83a 48%,#c28a0d)!important}.app-shell .leaderboard-row.rank-silver{--ink: #0f172a;--muted: #344054;color:var(--ink)!important;border-color:#737d87!important;background:linear-gradient(100deg,#f8fbfd,#bac4ce 48%,#8a949e)!important}.app-shell .leaderboard-row.rank-bronze{--ink: #0f172a;--muted: #344054;color:var(--ink)!important;border-color:#8f5628!important;background:linear-gradient(100deg,#ffe2c4,#cf8740 48%,#a65f25)!important}.app-shell .leaderboard-row:is(.rank-gold,.rank-silver,.rank-bronze) :is(.leaderboard-user strong,.leaderboard-time){color:var(--ink)!important}.app-shell .leaderboard-row:is(.rank-gold,.rank-silver,.rank-bronze) .leaderboard-user span{color:var(--muted)!important}.app-shell .leaderboard-row .leaderboard-rank.rank-gold{color:#8b6406!important}.app-shell .leaderboard-row .leaderboard-rank.rank-silver{color:#5d6872!important}.app-shell .leaderboard-row .leaderboard-rank.rank-bronze{color:#7f4419!important}.app-shell .avatar-badge{--avatar-shadow: color-mix(in srgb, var(--avatar-bg) 76%, #000000 24%);--avatar-border: var(--avatar-shadow);border-color:var(--avatar-shadow)!important;box-shadow:inset 0 -3px 0 var(--avatar-shadow)!important}.app-shell .avatar-choice.is-selected .avatar-badge{box-shadow:inset 0 -3px 0 var(--avatar-shadow),0 0 0 3px color-mix(in srgb,var(--avatar-bg) 24%,transparent)!important}@keyframes leaderboard-submit-border-pulse{0%,to{border-color:var(--neutral-button-border, var(--raised-control-border));box-shadow:var(--button-shadow)}50%{border-color:var(--accent);box-shadow:var(--button-shadow),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}}@media (prefers-reduced-motion: reduce){.app-shell .leaderboard-submit-panel.is-eligible .leaderboard-submit-button:not([aria-disabled=true]){animation:none!important}}.app-shell :is(.theme-picker,.theme-picker-nav){display:none!important}.app-shell[data-theme=signiq-light] .reference-toggle,.app-shell[data-theme=signiq-light] .reference-toggle:has(input:checked),.app-shell[data-theme=signiq-light] .reference-toggle:is(:hover,:focus-visible,:focus-within),.app-shell[data-theme=signiq-light] .reference-toggle:has(input:checked):is(:hover,:focus-visible,:focus-within){--button-bg: var(--raised-control-bg);--button-bg-hover: var(--raised-control-bg);--button-border: var(--neutral-button-border, var(--raised-control-border));--button-color: var(--control-text);color:var(--control-text)!important;border-color:var(--neutral-button-border, var(--raised-control-border))!important;background:var(--raised-control-bg)!important;box-shadow:var(--button-shadow)!important}.app-shell .leaderboard-filters{gap:10px}.app-shell .leaderboard-filters .segmented-control{gap:8px;padding:0;overflow:visible;border:0!important;background:transparent!important;box-shadow:none!important}.app-shell .leaderboard-filters .segmented-control:before{content:none!important;display:none!important}.app-shell .leaderboard-filters .segmented-control button,.app-shell .leaderboard-filters .segmented-control button:is(:hover,:focus-visible){min-height:42px;border-width:1px!important;border-style:solid!important;border-color:var(--neutral-button-border, var(--raised-control-border))!important;border-radius:var(--radius-control)!important;color:var(--control-text)!important;background:var(--raised-control-bg)!important;box-shadow:var(--button-shadow)!important;transform:none!important}.app-shell .leaderboard-filters .segmented-control button.is-selected,.app-shell .leaderboard-filters .segmented-control button.is-selected:is(:hover,:focus-visible){color:#fff!important;border-color:color-mix(in srgb,var(--segment-color, var(--accent)) 76%,#000000 24%)!important;background:var(--segment-color, var(--accent))!important;box-shadow:var(--button-shadow)!important}.app-shell .leaderboard-filters .segmented-control button.is-selected.difficulty-easy{--segment-color: var(--success)}.app-shell .leaderboard-filters .segmented-control button.is-selected.difficulty-medium{--segment-color: var(--warning)}.app-shell .leaderboard-filters .segmented-control button.is-selected.difficulty-hard{--segment-color: var(--danger)}.app-shell .leaderboard-row,.app-shell .leaderboard-row:is(.rank-gold,.rank-silver,.rank-bronze){border-width:0!important;border-color:transparent!important}.app-shell .practice-onboarding-checkbox,.app-shell .edit-profile-onboarding-checkbox{border:1px solid var(--neutral-button-border, var(--raised-control-border))!important;border-radius:var(--radius-control)!important;background:#fffdf7!important;box-shadow:var(--button-shadow)!important}.app-shell .target-panel,.app-shell.screen-practice.mode-alphabet .target-panel,.app-shell.screen-practice.mode-words .target-panel,.app-shell .target-panel .sign-reference,.app-shell .target-panel .sign-reference img,.app-shell.screen-practice.mode-alphabet .target-panel .sign-reference,.app-shell.screen-practice.mode-alphabet .target-panel .sign-reference img,.app-shell.screen-practice.mode-words .target-panel .sign-reference,.app-shell.screen-practice.mode-words .target-panel .sign-reference img{border-radius:var(--radius-control)!important}.app-shell .target-panel .sign-reference{background:#fffdf7!important}.app-shell .leaderboard-filters .segmented-control{position:relative;isolation:isolate;gap:0;padding:5px;overflow:hidden;border:1px solid var(--neutral-button-border, var(--raised-control-border))!important;border-radius:var(--radius-control)!important;background:#efefef!important;box-shadow:inset 0 -2px #00000024,0 1px #ffffff1f!important}.app-shell .leaderboard-filters .segmented-control:before{content:""!important;position:absolute;inset-block:5px;left:5px;z-index:0;display:block!important;width:calc((100% - 10px) / var(--segment-count));border-radius:calc(var(--radius-control) - 3px);background:var(--segment-color, var(--accent));box-shadow:var(--button-shadow);transform:translate(calc(var(--segment-index) * 100%));transition:transform .26s cubic-bezier(.2,.8,.2,1),background-color .26s ease}.app-shell .leaderboard-filters .segmented-control button,.app-shell .leaderboard-filters .segmented-control button:is(:hover,:focus-visible),.app-shell .leaderboard-filters .segmented-control button.is-selected,.app-shell .leaderboard-filters .segmented-control button.is-selected:is(:hover,:focus-visible){position:relative;z-index:1;min-height:42px;border-color:transparent!important;background:transparent!important;box-shadow:none!important;transform:none!important}.app-shell .leaderboard-filters .segmented-control button{color:var(--control-text)!important}.app-shell .leaderboard-filters .segmented-control button.is-selected,.app-shell .leaderboard-filters .segmented-control button.is-selected:is(:hover,:focus-visible){color:#fff!important}.app-shell .leaderboard-row{--leaderboard-rank-color: #000000;border:2px solid var(--leaderboard-rank-color)!important}.app-shell[data-theme=signiq-light] .profile-popover,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .profile-popover{background:#fffdf7!important}.app-shell .auth-form-section,.app-shell .auth-actions-section,.app-shell .setup-section+.setup-section{border-top:0!important}.app-shell .auth-form-section{padding-top:0!important}.app-shell .setup-section+.setup-section{padding-top:0!important}.app-shell[data-theme=signiq-light] .challenge-badge,.app-shell .challenge-badge{background:#fffdf7!important;box-shadow:var(--button-shadow)!important}.app-shell .setup-mobile-disclaimer{border:1px solid var(--danger)!important;border-radius:var(--radius-control)!important;color:var(--danger)!important;background:#fffdf7!important;box-shadow:inset 0 -3px #d92f45,0 1px #ffffff1f!important;font-weight:650!important}.app-shell .segmented-control-session-type,.app-shell .segmented-control-session-type:before,.app-shell .segmented-control-session-type button{border-radius:var(--radius-control)!important}.app-shell.screen-mode-select .mode-card,.app-shell.screen-mode-select .mode-card:is(:hover,:focus-within){border:1px solid #d8d6d1!important;background:var(--mode-card-bg, var(--panel))!important;box-shadow:none!important;transform:none!important}@media (min-width: 769px){.app-shell.screen-mode-select .mode-grid{--mode-feature-height: clamp(276px, 42dvh, 352px);--mode-grid-gap: clamp(12px, 1.8dvh, 18px);grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)!important;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--mode-grid-gap);align-items:stretch}.app-shell.screen-mode-select .mode-card{height:auto;min-height:0}.app-shell.screen-mode-select .mode-card-blue{grid-row:1 / span 2;height:var(--mode-feature-height)}.app-shell.screen-mode-select .mode-card-green,.app-shell.screen-mode-select .mode-card-clay{height:calc((var(--mode-feature-height) - var(--mode-grid-gap)) / 2);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(18px,3vw,34px)}.app-shell.screen-mode-select .mode-card-green .mode-card-copy,.app-shell.screen-mode-select .mode-card-clay .mode-card-copy{gap:clamp(5px,1dvh,8px)}.app-shell.screen-mode-select .mode-card-green .mode-card-topline,.app-shell.screen-mode-select .mode-card-clay .mode-card-topline{margin-bottom:0}.app-shell.screen-mode-select .mode-card-green .mode-icon,.app-shell.screen-mode-select .mode-card-clay .mode-icon{height:clamp(36px,6dvh,48px);padding-bottom:0}.app-shell.screen-mode-select .mode-card-clay .mode-reading-strip{overflow:visible!important;padding-right:0!important;-webkit-mask-image:none!important;mask-image:none!important}.app-shell.screen-mode-select .mode-card-clay .mode-reading-ray{right:0!important;background:linear-gradient(to right,currentColor 0%,color-mix(in srgb,currentColor 66%,transparent) 64%,transparent 100%)!important}.app-shell.screen-mode-select .mode-card-green h2,.app-shell.screen-mode-select .mode-card-clay h2{max-width:none;font-size:clamp(1.35rem,min(2.3vw,3.6dvh),1.95rem);line-height:1;transform:none}.app-shell.screen-mode-select .mode-card-green p,.app-shell.screen-mode-select .mode-card-clay p{max-width:48ch;font-size:clamp(.82rem,1.7dvh,.95rem);line-height:1.32}.app-shell.screen-mode-select .mode-card-green .primary-button,.app-shell.screen-mode-select .mode-card-clay .primary-button{align-self:center;white-space:nowrap}}@media (max-width: 768px){.app-shell.screen-mode-select .spotlight-arrow,.app-shell.screen-mode-select .spotlight-arrow:is(:hover,:focus-visible,:active){position:absolute!important;top:50%!important;bottom:auto!important;width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;transform:translateY(-50%)!important}.app-shell.screen-mode-select .spotlight-arrow:is(:hover,:focus-visible,:active){transform:translateY(-50%) scale(1.03)!important}.app-shell.screen-mode-select .spotlight-arrow-prev{left:8px!important}.app-shell.screen-mode-select .spotlight-arrow-next{right:8px!important}}.app-shell .leaderboard-row{--leaderboard-rank-color: #000000;border:3px solid var(--leaderboard-rank-color)!important;background-clip:padding-box!important}.app-shell .leaderboard-row.rank-gold{--leaderboard-rank-color: #8b6406;border-color:var(--leaderboard-rank-color)!important}.app-shell .leaderboard-row.rank-silver{--leaderboard-rank-color: #5d6872;border-color:var(--leaderboard-rank-color)!important}.app-shell .leaderboard-row.rank-bronze{--leaderboard-rank-color: #7f4419;border-color:var(--leaderboard-rank-color)!important}.app-shell .leaderboard-row .leaderboard-rank{color:var(--leaderboard-rank-color)!important}.app-shell.screen-mode-select .mode-letter-strip{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%)!important;mask-image:linear-gradient(to right,#000 0%,#000 91%,rgba(0,0,0,.45) 97%,transparent 100%)!important}.app-shell .setup-camera-note{justify-self:center!important;max-width:min(100%,640px)!important;margin:18px 0 0!important;color:var(--muted)!important;font-family:var(--font-ui)!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;text-align:center!important}.app-shell .mode-feedback-note{font-size:16px!important}.app-shell :is(.webcam-panel,.webcam-container,.ghost-guide,.sign-reference-video){border-color:#e6e4df!important}.app-shell .about-title-logo{transform:translateY(calc(.1em - 1px)) translate(-2px)!important}@media (max-width: 768px){.app-shell.screen-landing .hero-logo{width:clamp(250px,64vw,430px)!important}}.app-shell.screen-practice.mode-reading .reading-session-hud{border-bottom-width:1px!important;border-radius:var(--radius-control) var(--radius-control) 0 0!important}.app-shell.screen-practice.mode-reading .reading-input-bar{border-top-width:1px!important;border-radius:0 0 var(--radius-control) var(--radius-control)!important}.app-shell .practice-onboarding-note{color:var(--muted)!important;font-family:var(--font-ui)!important;font-weight:500!important;line-height:1.5!important}.app-shell .about-copy-section,.app-shell .about-copy-section:nth-child(2){border-left-color:var(--border)!important;border-bottom-color:var(--neutral-button-border, var(--border))!important}@media (max-width: 768px){.app-shell.screen-mode-select .spotlight-window{width:100%!important;max-width:100%!important;overflow:hidden!important}.app-shell.screen-mode-select .spotlight-track{width:100%!important;max-width:none!important;overflow:visible!important}.app-shell.screen-mode-select .spotlight-slide,.app-shell.screen-mode-select .spotlight-slide.is-empty{flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;overflow:visible!important}.app-shell.screen-practice.mode-words .word-target,.app-shell.screen-practice.mode-words .target-panel.reference-hidden .word-target{--word-target-mobile-inline-pad: 14px;--word-target-mobile-reference-space: clamp(108px, 25vw, 142px);--word-target-mobile-offset-y: 8px;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0 var(--word-target-mobile-inline-pad) 0 var(--word-target-mobile-reference-space)!important;align-items:center!important;justify-content:center!important;transform:translateY(var(--word-target-mobile-offset-y))!important;transition:padding-left .36s cubic-bezier(.2,.82,.22,1),transform .36s cubic-bezier(.2,.82,.22,1)!important;will-change:padding-left,transform}.app-shell.screen-practice.mode-words .target-panel.reference-hidden .word-target{--word-target-mobile-reference-space: var(--word-target-mobile-inline-pad);--word-target-mobile-offset-y: 0px}}@media (max-width: 768px) and (max-height: 700px){.app-shell.screen-practice.mode-words .word-target{--word-target-mobile-inline-pad: 10px;--word-target-mobile-reference-space: clamp(82px, 22vw, 106px);--word-target-mobile-offset-y: 6px}}.mode-card:before,.app-shell .mode-card:before{content:none!important;display:none!important}.app-shell .leaderboard-spotlight .spotlight-title .spotlight-title-tag{color:#fff!important}@media (max-width: 768px){.app-shell.screen-landing .hero-logo{width:clamp(230px,58vw,380px)!important}}.app-shell.screen-practice.mode-reading .reading-media-frame{opacity:0!important;visibility:hidden!important;pointer-events:none}.app-shell.screen-practice.mode-reading .reading-media-frame.is-active{opacity:1!important;visibility:visible!important}.app-shell .setup-card,.app-shell .segmented-control-session-type,.app-shell .segmented-control-session-type:before,.app-shell .segmented-control-session-type button,.app-shell.screen-practice.mode-reading .reading-playback,.app-shell.screen-practice.mode-reading .reading-session-hud,.app-shell.screen-practice.mode-reading .reading-input-bar,.app-shell.screen-practice.mode-reading .reading-answer-panel{border-radius:var(--radius-control)!important}.app-shell .segmented-control-session-type:before{border-radius:calc(var(--radius-control) - 3px)!important}.app-shell.screen-mode-select .mode-card,.app-shell.screen-mode-select .mode-card-copy,.app-shell.screen-mode-select .mode-card-topline,.app-shell.screen-mode-select .mode-icon,.app-shell.screen-mode-select .mode-reading-strip{overflow:visible!important}.app-shell.screen-mode-select .mode-card,.app-shell.screen-mode-select .mode-card:is(:hover,:focus-within){border:1px solid #d8d6d1!important;border-radius:var(--radius-card)!important;background:var(--mode-card-bg, var(--panel))!important;box-shadow:none!important;transform:none!important}.app-shell.screen-mode-select .mode-card-clay .mode-reading-strip{-webkit-mask-image:none!important;mask-image:none!important}.app-shell.screen-mode-select .mode-card-clay .mode-reading-ray{right:0!important;background:linear-gradient(to right,currentColor 0%,currentColor 58%,color-mix(in srgb,currentColor 38%,transparent) 72%,transparent 100%)!important}@media (min-width: 769px){.app-shell.screen-mode-select .mode-card-green,.app-shell.screen-mode-select .mode-card-clay{grid-template-rows:auto 1fr;align-items:start;row-gap:clamp(8px,1.2dvh,12px)}.app-shell.screen-mode-select .mode-card-green .mode-card-copy,.app-shell.screen-mode-select .mode-card-clay .mode-card-copy{align-self:start}.app-shell.screen-mode-select .mode-card-green .primary-button,.app-shell.screen-mode-select .mode-card-clay .primary-button{align-self:start;margin-top:clamp(42px,6.8dvh,64px)}.app-shell.screen-mode-select .mode-card-green .mode-card-topline,.app-shell.screen-mode-select .mode-card-clay .mode-card-topline{transform:translateY(clamp(-12px,-1.8dvh,-6px))}.app-shell.screen-mode-select .mode-card-green .mode-icon,.app-shell.screen-mode-select .mode-card-clay .mode-icon{height:clamp(28px,4.6dvh,38px)}.app-shell.screen-mode-select .mode-card-green .mode-word-strip-item{font-size:clamp(1.35rem,min(2.55vw,3.85dvh),2rem)}.app-shell.screen-mode-select .mode-card-clay .mode-reading-strip{--mode-eye-size: clamp(28px, 4.8dvh, 40px);transform:translateY(clamp(-10px,-1.4dvh,-6px))}.app-shell.screen-mode-select .mode-card-clay .mode-side-eye{transform:translateY(clamp(-5px,-.7dvh,-3px))}.app-shell.screen-mode-select .mode-card-clay .mode-reading-ray{height:3px}.app-shell.screen-mode-select .mode-card-clay .mode-reading-ray-up{transform:rotate(-2.6deg)}.app-shell.screen-mode-select .mode-card-clay .mode-reading-ray-down{transform:rotate(3.2deg)}}.app-shell .leaderboard-spotlight,:is(.app-shell[data-theme=signiq],.app-shell[data-theme=signiq-light]) .leaderboard-spotlight,.app-shell .leaderboard-spotlight:is(:hover,:focus-visible){box-shadow:none!important;transform:none!important}@media (max-width: 768px){.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel,.app-shell.screen-practice.mode-alphabet .webcam-container,.app-shell.screen-practice.mode-words .webcam-container,.app-shell.screen-practice.mode-alphabet .webcam,.app-shell.screen-practice.mode-alphabet .hand-canvas,.app-shell.screen-practice.mode-words .webcam,.app-shell.screen-practice.mode-words .hand-canvas{border-bottom-left-radius:28px!important;border-bottom-right-radius:28px!important}.app-shell.screen-practice.mode-alphabet .webcam-panel,.app-shell.screen-practice.mode-words .webcam-panel,.app-shell.screen-practice.mode-alphabet .webcam-container,.app-shell.screen-practice.mode-words .webcam-container{overflow:hidden!important}}*{box-sizing:border-box}html{min-width:320px;min-height:100%;min-height:100dvh;background:#f1eee6;color-scheme:light}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;color:#132033;background:#f1eee6;font-family:Inter,sans-serif;line-height:1.5}body,button,input{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
