@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-ext-600-normal-GoyidTAB.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:where(:root){--sa-font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--sa-font-display: "Fredoka", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--sa-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;--sa-font: var(--sa-font-body);--sa-text-xs: .75rem;--sa-text-sm: .875rem;--sa-text-md: 1rem;--sa-text-lg: 1.125rem;--sa-text-xl: 1.375rem;--sa-text-lead: clamp(.95rem, .88rem + .3vw, 1.15rem);--sa-text-h3: clamp(1.1rem, 1rem + .4vw, 1.3rem);--sa-text-h2: clamp(1.3rem, 1.05rem + 1.1vw, 1.9rem);--sa-text-h1: clamp(1.5rem, 1.1rem + 1.5vw, 2.4rem);--sa-text-display: clamp(1.6rem, 1.15rem + 2.4vw, 3.4rem);--sa-text-stage-1: clamp(1.25rem, .75rem + 2.4vmin, 2.75rem);--sa-text-stage-2: clamp(1.75rem, 1rem + 4.5vmin, 4.5rem);--sa-text-stage-3: clamp(3rem, 1rem + 12vmin, 10rem);--sa-leading: 1.45;--sa-leading-tight: 1.15;--sa-weight-normal: 400;--sa-weight-semibold: 600;--sa-weight-bold: 700;--sa-weight-heavy: 800;--sa-weight-display: 600;--sa-space-1: .25rem;--sa-space-2: .5rem;--sa-space-3: .75rem;--sa-space-4: 1rem;--sa-space-5: 1.5rem;--sa-space-6: 2rem;--sa-space-7: 3rem;--sa-gutter: max(1rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--sa-content-max: 70rem;--sa-radius-sm: .375rem;--sa-radius: .625rem;--sa-radius-btn: .85rem;--sa-radius-lg: 1rem;--sa-radius-field: 1.1rem;--sa-radius-xl: clamp(1.1rem, 2.2vw, 1.5rem);--sa-radius-hero: clamp(1.25rem, 3vw, 1.75rem);--sa-radius-pill: 999px;--sa-tap: 2.75rem;--sa-tap-sm: 2.25rem;--sa-focus-width: 3px;--sa-focus-offset: 2px;--sa-blue: #2350d8;--sa-blue-light: #9db2ff;--sa-orange: #f07a1a;--sa-ink: #16213a;--sa-app-crossi: #047857;--sa-app-frogmi: #416605;--sa-app-ssc: #9f124f;--sa-app-notenkueche: #9a3412;--sa-app-wortkueche: #5b21b6;--sa-answer-a: #b91c1c;--sa-answer-a-edge: #7f1d1d;--sa-answer-a-text: #ffffff;--sa-answer-b: #1d4ed8;--sa-answer-b-edge: #1e3a8a;--sa-answer-b-text: #ffffff;--sa-answer-c: #facc15;--sa-answer-c-edge: #a16207;--sa-answer-c-text: #16213a;--sa-answer-d: #15803d;--sa-answer-d-edge: #14532d;--sa-answer-d-text: #ffffff;--sa-answer-key: rgba(0, 0, 0, .2);--sa-answer-c-key: rgba(22, 33, 58, .12);--sa-amber: #d4a017;--sa-silver: #94a3b8;--sa-bronze: #b45309;--sa-accent: #2350d8;--sa-accent-contrast: #ffffff}:where(:root),:where([data-sa-theme=light]),:where([data-sa-theme=auto]){--sa-color-scheme: light;--sa-bg: #fbf7f0;--sa-chrome: #fbf7f0;--sa-surface: #ffffff;--sa-surface-2: #f5eee3;--sa-fg: #16213a;--sa-fg-muted: #535c70;--sa-border: #ece2d3;--sa-border-strong: #857a6b;--sa-primary: #2350d8;--sa-primary-contrast: #ffffff;--sa-primary-soft: #e5eafa;--sa-cta: #f07a1a;--sa-cta-hover: #f58f3a;--sa-cta-contrast: #16213a;--sa-hero: #2350d8;--sa-hero-deco: #3460e3;--sa-on-hero: #ffffff;--sa-input-bg: #ffffff;--sa-input-fg: #16213a;--sa-input-muted: #535c70;--sa-focus: #2350d8;--sa-focus-halo: #ffffff;--sa-danger: #b42318;--sa-danger-bg: #fdecea;--sa-ok: #116149;--sa-ok-bg: #e3f6ec;--sa-danger-hover: #8f1c13;--sa-warn: #8a4b00;--sa-warn-bg: #fff1d6;--sa-info: #1d4fa8;--sa-info-bg: #e6efff;--sa-selected-bg: #2350d8;--sa-selected-text: #ffffff;--sa-scrim: rgba(14, 21, 40, .6);--sa-amber-soft: #fdf3c4;--sa-silver-soft: #eef1f6;--sa-bronze-soft: #fbe6d2;--sa-shadow: 0 1px 2px rgba(22, 33, 58, .06), 0 4px 14px rgba(22, 33, 58, .07);--sa-shadow-pop: 0 12px 28px rgba(22, 33, 58, .18);--sa-logo-ink: #16213a;--sa-logo-tld: #2350d8;--sa-logo-tile: #2350d8;--sa-logo-soft: rgba(35, 80, 216, .12);--sa-app-crossi-soft: #d1fae5;--sa-app-crossi-text: #047857;--sa-app-frogmi-soft: #ecfccb;--sa-app-frogmi-text: #416605;--sa-app-ssc-soft: #fce7f3;--sa-app-ssc-text: #9f124f;--sa-app-notenkueche-soft: #ffedd5;--sa-app-notenkueche-text: #9a3412;--sa-app-wortkueche-soft: #ede9fe;--sa-app-wortkueche-text: #5b21b6}@media (prefers-color-scheme: dark){:where(:root:not([data-sa-theme])),:where([data-sa-theme=auto]){--sa-color-scheme: dark;--sa-bg: #0e1528;--sa-chrome: #0e1528;--sa-surface: #16213a;--sa-surface-2: #1c2847;--sa-fg: #eef2fa;--sa-fg-muted: #aeb8cf;--sa-border: #2b3a5e;--sa-border-strong: #6b7ba3;--sa-primary: #9db2ff;--sa-primary-contrast: #0e1528;--sa-primary-soft: #1f2d57;--sa-cta: #f07a1a;--sa-cta-hover: #f58f3a;--sa-cta-contrast: #16213a;--sa-hero: #2350d8;--sa-hero-deco: #3460e3;--sa-on-hero: #ffffff;--sa-input-bg: #0e1528;--sa-input-fg: #eef2fa;--sa-input-muted: #9aa5be;--sa-focus: #9db2ff;--sa-focus-halo: #0e1528;--sa-danger: #ffb4a8;--sa-danger-bg: #3d1a14;--sa-ok: #8fe0b8;--sa-ok-bg: #133326;--sa-danger-hover: #ffd0c8;--sa-warn: #ffd27a;--sa-warn-bg: #3a2a08;--sa-info: #a8c8ff;--sa-info-bg: #132a4d;--sa-selected-bg: #9db2ff;--sa-selected-text: #0e1528;--sa-scrim: rgba(0, 0, 0, .7);--sa-amber-soft: #3a300c;--sa-silver-soft: #242f47;--sa-bronze-soft: #3b230f;--sa-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .4);--sa-shadow-pop: 0 12px 28px rgba(0, 0, 0, .5);--sa-logo-ink: #ffffff;--sa-logo-tld: #9db2ff;--sa-logo-tile: #ffffff;--sa-logo-soft: rgba(255, 255, 255, .14);--sa-app-crossi-soft: #0d3a2c;--sa-app-crossi-text: #6ee7b7;--sa-app-frogmi-soft: #24330a;--sa-app-frogmi-text: #bef264;--sa-app-ssc-soft: #3d0f24;--sa-app-ssc-text: #f9a8d4;--sa-app-notenkueche-soft: #3a1a0c;--sa-app-notenkueche-text: #fdba74;--sa-app-wortkueche-soft: #2a1850;--sa-app-wortkueche-text: #c4b5fd}}:where([data-sa-theme=dark]){--sa-color-scheme: dark;--sa-bg: #0e1528;--sa-chrome: #0e1528;--sa-surface: #16213a;--sa-surface-2: #1c2847;--sa-fg: #eef2fa;--sa-fg-muted: #aeb8cf;--sa-border: #2b3a5e;--sa-border-strong: #6b7ba3;--sa-primary: #9db2ff;--sa-primary-contrast: #0e1528;--sa-primary-soft: #1f2d57;--sa-cta: #f07a1a;--sa-cta-hover: #f58f3a;--sa-cta-contrast: #16213a;--sa-hero: #2350d8;--sa-hero-deco: #3460e3;--sa-on-hero: #ffffff;--sa-input-bg: #0e1528;--sa-input-fg: #eef2fa;--sa-input-muted: #9aa5be;--sa-focus: #9db2ff;--sa-focus-halo: #0e1528;--sa-danger: #ffb4a8;--sa-danger-bg: #3d1a14;--sa-ok: #8fe0b8;--sa-ok-bg: #133326;--sa-danger-hover: #ffd0c8;--sa-warn: #ffd27a;--sa-warn-bg: #3a2a08;--sa-info: #a8c8ff;--sa-info-bg: #132a4d;--sa-selected-bg: #9db2ff;--sa-selected-text: #0e1528;--sa-scrim: rgba(0, 0, 0, .7);--sa-amber-soft: #3a300c;--sa-silver-soft: #242f47;--sa-bronze-soft: #3b230f;--sa-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .4);--sa-shadow-pop: 0 12px 28px rgba(0, 0, 0, .5);--sa-logo-ink: #ffffff;--sa-logo-tld: #9db2ff;--sa-logo-tile: #ffffff;--sa-logo-soft: rgba(255, 255, 255, .14);--sa-app-crossi-soft: #0d3a2c;--sa-app-crossi-text: #6ee7b7;--sa-app-frogmi-soft: #24330a;--sa-app-frogmi-text: #bef264;--sa-app-ssc-soft: #3d0f24;--sa-app-ssc-text: #f9a8d4;--sa-app-notenkueche-soft: #3a1a0c;--sa-app-notenkueche-text: #fdba74;--sa-app-wortkueche-soft: #2a1850;--sa-app-wortkueche-text: #c4b5fd}:where([data-sa-theme=brand]){--sa-color-scheme: light;--sa-bg: #2350d8;--sa-chrome: #2350d8;--sa-surface: #1c44c2;--sa-surface-2: #1c44c2;--sa-fg: #ffffff;--sa-fg-muted: #e4eafc;--sa-border: rgba(255, 255, 255, .3);--sa-border-strong: #ffffff;--sa-primary: #ffffff;--sa-primary-contrast: #2350d8;--sa-primary-soft: rgba(255, 255, 255, .16);--sa-cta: #f07a1a;--sa-cta-hover: #f58f3a;--sa-cta-contrast: #16213a;--sa-hero: #2350d8;--sa-hero-deco: #3460e3;--sa-on-hero: #ffffff;--sa-input-bg: #ffffff;--sa-input-fg: #16213a;--sa-input-muted: #535c70;--sa-focus: #ffc58a;--sa-focus-halo: #2350d8;--sa-danger: #9b1c1c;--sa-danger-bg: #fdecea;--sa-ok: #116149;--sa-ok-bg: #e3f6ec;--sa-danger-hover: #7a1616;--sa-warn: #7a4100;--sa-warn-bg: #fff1d6;--sa-info: #1d4fa8;--sa-info-bg: #e6efff;--sa-selected-bg: #ffffff;--sa-selected-text: #16213a;--sa-scrim: rgba(10, 22, 70, .6);--sa-amber-soft: #3a300c;--sa-silver-soft: #242f47;--sa-bronze-soft: #3b230f;--sa-shadow: 0 8px 24px rgba(10, 22, 70, .3);--sa-shadow-pop: 0 12px 28px rgba(10, 22, 70, .4);--sa-logo-ink: #ffffff;--sa-logo-tld: #9db2ff;--sa-logo-tile: #ffffff;--sa-logo-soft: rgba(255, 255, 255, .14);--sa-app-crossi-soft: #0d3a2c;--sa-app-crossi-text: #6ee7b7;--sa-app-frogmi-soft: #24330a;--sa-app-frogmi-text: #bef264;--sa-app-ssc-soft: #3d0f24;--sa-app-ssc-text: #f9a8d4;--sa-app-notenkueche-soft: #3a1a0c;--sa-app-notenkueche-text: #fdba74;--sa-app-wortkueche-soft: #2a1850;--sa-app-wortkueche-text: #c4b5fd}@media print{:where(:root),:where([data-sa-theme]){--sa-color-scheme: light;--sa-bg: #ffffff;--sa-chrome: #ffffff;--sa-surface: #ffffff;--sa-surface-2: #f5eee3;--sa-fg: #16213a;--sa-fg-muted: #535c70;--sa-border: #ece2d3;--sa-border-strong: #857a6b;--sa-primary: #2350d8;--sa-primary-contrast: #ffffff;--sa-primary-soft: #e5eafa;--sa-cta: #f07a1a;--sa-cta-hover: #f58f3a;--sa-cta-contrast: #16213a;--sa-hero: #ffffff;--sa-hero-deco: #ffffff;--sa-on-hero: #16213a;--sa-input-bg: #ffffff;--sa-input-fg: #16213a;--sa-input-muted: #535c70;--sa-focus: #2350d8;--sa-focus-halo: #ffffff;--sa-danger: #b42318;--sa-danger-bg: #fdecea;--sa-ok: #116149;--sa-ok-bg: #e3f6ec;--sa-danger-hover: #8f1c13;--sa-warn: #8a4b00;--sa-warn-bg: #fff1d6;--sa-info: #1d4fa8;--sa-info-bg: #e6efff;--sa-selected-bg: #2350d8;--sa-selected-text: #ffffff;--sa-scrim: rgba(14, 21, 40, .6);--sa-amber-soft: #fdf3c4;--sa-silver-soft: #eef1f6;--sa-bronze-soft: #fbe6d2;--sa-shadow: none;--sa-shadow-pop: none;--sa-logo-ink: #16213a;--sa-logo-tld: #2350d8;--sa-logo-tile: #2350d8;--sa-logo-soft: rgba(35, 80, 216, .12);--sa-app-crossi-soft: #d1fae5;--sa-app-crossi-text: #047857;--sa-app-frogmi-soft: #ecfccb;--sa-app-frogmi-text: #416605;--sa-app-ssc-soft: #fce7f3;--sa-app-ssc-text: #9f124f;--sa-app-notenkueche-soft: #ffedd5;--sa-app-notenkueche-text: #9a3412;--sa-app-wortkueche-soft: #ede9fe;--sa-app-wortkueche-text: #5b21b6}}:where(.sa-app--crossi){--sa-app: var(--sa-app-crossi);--sa-app-soft: var(--sa-app-crossi-soft);--sa-app-text: var(--sa-app-crossi-text);--sa-accent: var(--sa-app-crossi);--sa-accent-contrast: #ffffff;--sa-selected-bg: var(--sa-app-crossi-text)}:where(.sa-app--frogmi){--sa-app: var(--sa-app-frogmi);--sa-app-soft: var(--sa-app-frogmi-soft);--sa-app-text: var(--sa-app-frogmi-text);--sa-accent: var(--sa-app-frogmi);--sa-accent-contrast: #ffffff;--sa-selected-bg: var(--sa-app-frogmi-text)}:where(.sa-app--ssc){--sa-app: var(--sa-app-ssc);--sa-app-soft: var(--sa-app-ssc-soft);--sa-app-text: var(--sa-app-ssc-text);--sa-accent: var(--sa-app-ssc);--sa-accent-contrast: #ffffff;--sa-selected-bg: var(--sa-app-ssc-text)}:where(.sa-app--notenkueche){--sa-app: var(--sa-app-notenkueche);--sa-app-soft: var(--sa-app-notenkueche-soft);--sa-app-text: var(--sa-app-notenkueche-text);--sa-accent: var(--sa-app-notenkueche);--sa-accent-contrast: #ffffff;--sa-selected-bg: var(--sa-app-notenkueche-text)}:where(.sa-app--wortkueche){--sa-app: var(--sa-app-wortkueche);--sa-app-soft: var(--sa-app-wortkueche-soft);--sa-app-text: var(--sa-app-wortkueche-text);--sa-accent: var(--sa-app-wortkueche);--sa-accent-contrast: #ffffff;--sa-selected-bg: var(--sa-app-wortkueche-text)}.sa-header,.sa-footer,.sa-join{box-sizing:border-box;font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-normal);line-height:var(--sa-leading);letter-spacing:normal;text-align:left;overflow-wrap:break-word;color-scheme:var(--sa-color-scheme)}.sa-header *,.sa-header *:before,.sa-header *:after,.sa-footer *,.sa-footer *:before,.sa-footer *:after,.sa-join *,.sa-join *:before,.sa-join *:after{box-sizing:border-box}.sa-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sa-header .sa-header__home:focus-visible,.sa-header .sa-header__app:focus-visible,.sa-header .sa-header__switch:focus-visible,.sa-footer .sa-footer__brand:focus-visible,.sa-footer .sa-footer__link:focus-visible,.sa-join .sa-join__input:focus-visible,.sa-join .sa-join__submit:focus-visible,.sa-btn:focus-visible,.sa-pill:focus-visible,.sa-seg .sa-seg__item:focus-visible,.sa-input:focus-visible,.sa-select:focus-visible,.sa-answer:focus-visible,.sa-tile:focus-visible{outline:var(--sa-focus-width) solid var(--sa-focus);outline-offset:var(--sa-focus-offset);box-shadow:0 0 0 var(--sa-focus-offset) var(--sa-focus-halo)}.sa-logo{display:inline-block;width:auto;height:2.5rem;max-width:100%;vertical-align:middle;overflow:visible}.sa-logo .sa-logo__word{fill:var(--sa-logo-ink)}.sa-logo .sa-logo__tld{fill:var(--sa-logo-tld)}.sa-logo .sa-logo__tile{fill:var(--sa-logo-tile)}.sa-logo .sa-logo__soft{fill:var(--sa-logo-soft);fill-opacity:1}.sa-logo .sa-logo__orange{fill:var(--sa-orange)}.sa-header{display:block;width:100%;min-width:0;color:var(--sa-fg);font-size:var(--sa-text-md);background:var(--sa-header-bg, var(--sa-chrome))}.sa-header .sa-header__inner{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;max-width:var(--sa-header-max-width, calc(var(--sa-content-max) + 2 * var(--sa-header-gutter, var(--sa-gutter))));min-width:0;margin:0 auto;padding:var(--sa-header-pad-block, clamp(.35rem, 1.2vh, .75rem)) var(--sa-header-gutter, var(--sa-gutter))}.sa-header .sa-header__brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:100%;margin:0;padding:0;font-size:1rem;line-height:0}.sa-header .sa-header__home{display:inline-flex;align-items:center;gap:var(--sa-space-1);flex:0 1 auto;min-width:0;max-width:100%;min-height:var(--sa-tap-sm);margin:0;padding:0;color:inherit;font-weight:var(--sa-weight-bold);line-height:0;text-decoration:none;white-space:normal;overflow-wrap:anywhere;border-radius:var(--sa-radius-sm)}.sa-header .sa-header__logo{display:block;flex:0 0 auto;width:auto;height:var(--sa-header-logo-height, clamp(2rem, 1.5rem + 1.4vw, 2.75rem));max-width:100%}.sa-header .sa-header__logo--symbol{display:none}.sa-header .sa-header__inner--symbol .sa-header__logo--symbol{display:block}.sa-header .sa-header__before{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sa-space-2);flex:0 1 auto;min-width:0;max-width:100%}.sa-header .sa-header__home--text{min-height:var(--sa-tap-sm);padding:0 var(--sa-space-2);color:var(--sa-fg-muted);font-size:var(--sa-text-sm);line-height:var(--sa-leading);border-radius:var(--sa-radius-pill)}.sa-header .sa-header__home--text:hover{color:var(--sa-fg);background:var(--sa-surface-2);text-decoration:underline;text-underline-offset:3px}.sa-header .sa-header__arrow{flex:0 0 auto;color:var(--sa-fg-muted);font-size:1.6rem;font-weight:var(--sa-weight-bold);line-height:1}.sa-header .sa-header__home:hover .sa-header__arrow{color:var(--sa-primary)}.sa-header .sa-header__home--text .sa-header__arrow{color:inherit;font-size:1.15em}.sa-header .sa-header__app{display:flex;align-items:center;gap:var(--sa-space-2);flex:0 1 auto;min-width:0;margin:0;color:inherit;font-family:var(--sa-font-display);font-size:clamp(1.05rem,.95rem + .45vw,1.35rem);font-weight:var(--sa-weight-display);line-height:var(--sa-leading-tight);text-decoration:none}.sa-header .sa-header__home+.sa-header__app,.sa-header .sa-header__brand+.sa-header__app{padding-left:1rem;border-left:2px solid var(--sa-border)}.sa-header .sa-header__app[href]:hover .sa-header__name{text-decoration:underline;text-underline-offset:3px}.sa-header .sa-header__icon{flex:0 0 auto;font-size:1.15em;line-height:1}.sa-header .sa-header__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-header .sa-header__area{flex:0 1 auto;min-width:0;max-width:100%;padding:.25rem .7rem;font-size:var(--sa-text-xs);font-weight:var(--sa-weight-bold);line-height:1.2;letter-spacing:.06em;text-align:center;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--sa-accent-contrast);background:var(--sa-accent);border-radius:var(--sa-radius-pill)}.sa-header .sa-header__end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sa-space-2);min-width:0;max-width:100%;margin-left:auto}.sa-header .sa-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sa-space-2);min-width:0}.sa-header .sa-header__switch{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;min-height:2.5rem;margin:0;padding:.3rem 1rem;color:var(--sa-primary);font-weight:var(--sa-weight-bold);line-height:1.2;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;background:transparent;border:2px solid var(--sa-primary);border-radius:var(--sa-radius-pill)}.sa-header .sa-header__switch:hover{color:var(--sa-primary-contrast);background:var(--sa-primary)}.sa-footer{display:block;flex-shrink:0;width:100%;min-width:0;color:var(--sa-fg-muted);background:var(--sa-footer-bg, var(--sa-chrome));border-top:2px dashed var(--sa-border)}.sa-footer.sa-footer--plain{color:inherit;background:transparent;border-top-color:transparent}.sa-footer .sa-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:0 .75rem;max-width:calc(var(--sa-content-max) + 2 * var(--sa-gutter));min-width:0;margin:0 auto;padding:.15rem var(--sa-gutter)}.sa-footer .sa-footer__app{font-weight:var(--sa-weight-bold);color:var(--sa-fg)}.sa-footer.sa-footer--plain .sa-footer__app{color:inherit}.sa-footer .sa-footer__extra{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 var(--sa-space-3);min-width:0}.sa-footer .sa-footer__nav{display:block;min-width:0;margin-left:auto}.sa-footer .sa-footer__list{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sa-space-3);margin:0;padding:0;list-style:none}.sa-footer .sa-footer__item{display:inline-flex;align-items:center;gap:var(--sa-space-3);min-width:0;max-width:100%;margin:0;padding:0}.sa-footer .sa-footer__item+.sa-footer__item:before{content:"·";content:"·" / "";opacity:.7}.sa-footer .sa-footer__link,.sa-footer .sa-footer__brand{display:inline-flex;align-items:center;min-height:var(--sa-tap-sm);margin:0;padding:0 var(--sa-space-1);min-width:0;color:inherit;font-weight:var(--sa-weight-bold);overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;border-radius:var(--sa-radius-sm)}.sa-footer .sa-footer__brand{color:var(--sa-fg);text-decoration:none}.sa-footer.sa-footer--plain .sa-footer__brand{color:inherit}.sa-footer .sa-footer__link:hover,.sa-footer .sa-footer__brand:hover{color:var(--sa-fg);text-decoration:underline;text-decoration-thickness:2px}.sa-footer.sa-footer--plain .sa-footer__link:hover,.sa-footer.sa-footer--plain .sa-footer__brand:hover{color:inherit}.sa-join{display:block;width:100%;max-width:26rem;min-width:0;padding:var(--sa-space-4);color:var(--sa-fg);background:var(--sa-join-bg, var(--sa-surface));border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl)}.sa-join.sa-join--plain{padding:0;color:inherit;background:transparent;border:0;border-radius:0}.sa-join .sa-join__title{margin:0 0 var(--sa-space-1);padding:0;font-family:var(--sa-font-display);font-size:var(--sa-text-xl);font-weight:var(--sa-weight-display);line-height:1.2;letter-spacing:-.005em;-webkit-hyphens:auto;hyphens:auto;color:inherit}.sa-join .sa-join__hint{margin:0 0 var(--sa-space-3);padding:0;color:var(--sa-fg-muted)}.sa-join.sa-join--plain .sa-join__hint{color:inherit}.sa-join .sa-join__label{display:block;margin:0 0 var(--sa-space-1);padding:0;font-weight:var(--sa-weight-bold);color:inherit}.sa-join .sa-join__label--hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sa-join .sa-join__row{display:flex;flex-wrap:wrap;gap:var(--sa-space-2);min-width:0}.sa-join .sa-join__input{flex:1 1 9rem;width:auto;min-width:0;min-height:var(--sa-tap);margin:0;padding:0 var(--sa-space-3);font-family:var(--sa-font-body);font-size:var(--sa-text-xl);font-weight:var(--sa-weight-bold);line-height:1.2;letter-spacing:.12em;color:var(--sa-input-fg);background:var(--sa-input-bg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-join .sa-join__input::placeholder{font-family:var(--sa-font-body);font-size:var(--sa-text-md);font-weight:var(--sa-weight-normal);letter-spacing:normal;color:var(--sa-input-muted);opacity:1}.sa-join .sa-join__input[aria-invalid=true]{border-color:var(--sa-danger)}.sa-join .sa-join__label--nickname{margin-top:var(--sa-space-3)}.sa-join .sa-join__hint--nickname{margin:0 0 var(--sa-space-1);font-size:var(--sa-text-sm)}.sa-join .sa-join__input--nickname{font-size:var(--sa-text-lg);font-weight:var(--sa-weight-normal);letter-spacing:normal}.sa-join .sa-join__row--submit{margin-top:var(--sa-space-3)}.sa-join .sa-join__row--submit .sa-join__submit{flex:1 1 auto}.sa-join .sa-join__submit{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;max-width:100%;min-height:var(--sa-tap);margin:0;padding:0 min(var(--sa-space-5),8%);font-family:var(--sa-font-display);font-size:var(--sa-text-lg);font-weight:var(--sa-weight-display);line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--sa-cta-contrast);background:var(--sa-cta);background-image:none;border:0;border-radius:var(--sa-radius-btn);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-join .sa-join__submit:hover{background:var(--sa-cta-hover)}.sa-join .sa-join__submit[aria-disabled=true]{cursor:progress;background:var(--sa-cta)}.sa-join .sa-join__error{margin:var(--sa-space-2) 0 0;padding:var(--sa-space-2) var(--sa-space-3);font-weight:var(--sa-weight-bold);color:var(--sa-danger);background:var(--sa-danger-bg);border-radius:var(--sa-radius-sm)}.sa-join .sa-join__error:empty{margin:0;padding:0;background:transparent}.sa-join.sa-join--large{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:none;font-size:var(--sa-text-md)}.sa-join.sa-join--large .sa-join__title{margin:0;font-size:var(--sa-text-display);line-height:1.05;-webkit-hyphens:manual;hyphens:manual}.sa-join.sa-join--large .sa-join__hint{margin:.4rem 0 .85rem;font-size:var(--sa-text-lead);line-height:1.35}.sa-join.sa-join--large .sa-join__row{flex-direction:column;flex-wrap:nowrap;gap:clamp(.5rem,1.2vh,.75rem)}.sa-join.sa-join--large .sa-join__input{flex:0 0 auto;width:100%;min-height:clamp(3.1rem,6.6vh,4.4rem);padding:.2rem .5rem;border-width:3px;border-radius:var(--sa-radius-field);font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem);letter-spacing:.18em;text-indent:.18em;text-align:center}.sa-join.sa-join--large .sa-join__input::placeholder{font-size:clamp(1.1rem,1rem + .5vw,1.4rem);letter-spacing:.02em}.sa-join.sa-join--large .sa-join__input--nickname{font-size:clamp(1.15rem,1rem + .6vw,1.5rem);font-weight:var(--sa-weight-bold);letter-spacing:normal;text-indent:0}.sa-join.sa-join--large .sa-join__label--nickname{margin-top:clamp(.5rem,1.2vh,.75rem)}.sa-join.sa-join--large .sa-join__submit{width:100%;min-height:clamp(2.9rem,6vh,3.75rem);padding:.2rem 1rem;border-radius:var(--sa-radius-field);font-size:clamp(1.15rem,1rem + .6vw,1.45rem)}.sa-join.sa-join--large .sa-join__error{margin-top:.6rem;border-radius:.75rem;font-size:.95rem}.sa-join.sa-join--large .sa-join__error:empty{margin:0}.sa-page{box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);width:100%;min-height:100vh;min-height:100dvh;color:var(--sa-fg);font-family:var(--sa-font-body);background:var(--sa-bg)}.sa-display,.sa-h1,.sa-h2,.sa-h3{margin:0;font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);line-height:var(--sa-leading-tight);letter-spacing:-.005em;text-wrap:balance}.sa-display{font-size:var(--sa-text-display);line-height:1.05}.sa-h1{font-size:var(--sa-text-h1);line-height:1.1}.sa-h2{font-size:var(--sa-text-h2)}.sa-h3{font-size:var(--sa-text-h3)}.sa-lead{margin:0;color:var(--sa-fg-muted);font-size:var(--sa-text-lead);line-height:1.4}.sa-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;max-width:100%;min-height:var(--sa-tap);margin:0;padding:.2rem 1.1rem;font-family:var(--sa-font-body);font-size:var(--sa-text-md);font-weight:var(--sa-weight-bold);line-height:1.2;letter-spacing:normal;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;border:2px solid transparent;border-radius:var(--sa-radius-btn);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-btn.sa-btn--primary{color:var(--sa-cta-contrast);font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);background:var(--sa-cta);border-color:var(--sa-cta)}.sa-btn.sa-btn--primary:hover{background:var(--sa-cta-hover);border-color:var(--sa-cta-hover)}.sa-btn.sa-btn--secondary{color:var(--sa-primary);background:transparent;border-color:var(--sa-primary)}.sa-btn.sa-btn--secondary:hover{color:var(--sa-primary-contrast);background:var(--sa-primary)}.sa-btn.sa-btn--blue{color:var(--sa-primary-contrast);background:var(--sa-primary);border-color:var(--sa-primary)}.sa-btn.sa-btn--blue:hover{filter:brightness(1.1)}.sa-btn.sa-btn--quiet{color:var(--sa-fg);background:var(--sa-surface);border-color:var(--sa-border-strong)}.sa-btn.sa-btn--quiet:hover{background:var(--sa-surface-2)}.sa-btn.sa-btn--danger{color:var(--sa-danger-bg);background:var(--sa-danger);border-color:var(--sa-danger)}.sa-btn.sa-btn--danger:hover{background:var(--sa-danger-hover);border-color:var(--sa-danger-hover)}.sa-btn.sa-btn--danger-outline{color:var(--sa-danger);background:transparent;border-color:var(--sa-danger)}.sa-btn.sa-btn--danger-outline:hover{background:var(--sa-danger-bg)}.sa-btn.sa-btn--sm{min-height:var(--sa-tap-sm);padding:.15rem .8rem;font-size:var(--sa-text-sm)}.sa-btn.sa-btn--block{width:100%}.sa-btn.sa-btn:disabled:not([aria-busy=true]),.sa-btn.sa-btn[aria-disabled=true]:not([aria-busy=true]){color:var(--sa-fg-muted);background:var(--sa-surface-2);border-color:var(--sa-border-strong);border-style:dashed;box-shadow:none;filter:none;cursor:not-allowed}.sa-btn.sa-btn[aria-busy=true]{cursor:progress}.sa-pill{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;max-width:100%;min-height:2.5rem;margin:0;padding:.3rem 1rem;font-family:var(--sa-font-body);font-size:var(--sa-text-md);font-weight:var(--sa-weight-bold);line-height:1.2;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;border:2px solid transparent;border-radius:var(--sa-radius-pill);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-pill.sa-pill{color:var(--sa-primary);background:transparent;border-color:var(--sa-primary)}.sa-pill.sa-pill:hover{color:var(--sa-primary-contrast);background:var(--sa-primary)}.sa-seg{box-sizing:border-box;display:inline-flex;flex-wrap:wrap;align-items:stretch;gap:.25rem;max-width:100%;min-width:0;margin:0;padding:.25rem;font-family:var(--sa-font-body);font-size:var(--sa-text-md);line-height:1.2;color:var(--sa-fg);background:var(--sa-surface-2);border:2px solid var(--sa-border);border-radius:calc(var(--sa-radius-btn) + .25rem)}.sa-seg.sa-seg--block{display:flex;width:100%}.sa-seg.sa-seg--block .sa-seg__item{flex:1 1 0}.sa-seg .sa-seg__item{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 1 auto;min-width:0;max-width:100%;min-height:var(--sa-tap);margin:0;padding:.2rem .9rem;font:inherit;font-weight:var(--sa-weight-bold);text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--sa-fg);background:transparent;border:2px solid transparent;border-radius:var(--sa-radius-btn);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-seg.sa-seg--sm{gap:.2rem;padding:.2rem;font-size:var(--sa-text-sm)}.sa-seg--sm .sa-seg__item{min-height:var(--sa-tap-sm);padding:.15rem .7rem}.sa-seg .sa-seg__item:hover{background:var(--sa-surface);border-color:var(--sa-border-strong)}.sa-seg .sa-seg__item[aria-pressed=true],.sa-seg .sa-seg__item[aria-selected=true],.sa-seg .sa-seg__item[aria-checked=true],.sa-seg .sa-seg__item[aria-current=page],.sa-seg .sa-seg__item[aria-current=true]{color:var(--sa-selected-text);background:var(--sa-selected-bg);border-color:var(--sa-selected-bg)}.sa-seg .sa-seg__item:disabled,.sa-seg .sa-seg__item[aria-disabled=true]{color:var(--sa-fg-muted);background:transparent;border-color:var(--sa-border-strong);border-style:dashed;cursor:not-allowed}.sa-card{box-sizing:border-box;display:block;min-width:0;padding:clamp(.75rem,1.6vh,1.1rem) clamp(.85rem,1.6vw,1.25rem);color:var(--sa-fg);background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl)}.sa-card.sa-card--raised{box-shadow:var(--sa-shadow)}.sa-panel{box-sizing:border-box;display:block;min-width:0;margin:0;padding:var(--sa-space-3) var(--sa-space-4);font-family:var(--sa-font-body);line-height:var(--sa-leading);overflow-wrap:break-word;color:var(--sa-fg);background:var(--sa-surface-2);border:2px solid var(--sa-border);border-left-width:.4rem;border-radius:var(--sa-radius-lg)}.sa-panel__title{display:block;margin:0 0 var(--sa-space-1);font-family:var(--sa-font-display);font-size:var(--sa-text-lg);font-weight:var(--sa-weight-display);line-height:var(--sa-leading-tight);color:inherit}.sa-panel.sa-panel--info{color:var(--sa-info);background:var(--sa-info-bg);border-color:var(--sa-info)}.sa-panel.sa-panel--ok{color:var(--sa-ok);background:var(--sa-ok-bg);border-color:var(--sa-ok)}.sa-panel.sa-panel--warn{color:var(--sa-warn);background:var(--sa-warn-bg);border-color:var(--sa-warn)}.sa-panel.sa-panel--danger{color:var(--sa-danger);background:var(--sa-danger-bg);border-color:var(--sa-danger)}.sa-panel.sa-panel--app{color:var(--sa-fg);background:var(--sa-app-soft, var(--sa-primary-soft));border-color:var(--sa-app-text, var(--sa-primary))}.sa-panel.sa-panel--app .sa-panel__title{color:var(--sa-app-text, var(--sa-primary))}.sa-label{display:block;margin:0 0 var(--sa-space-1);font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);line-height:1.3;color:inherit}.sa-input{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:var(--sa-tap);margin:0;padding:0 .75rem;font-family:var(--sa-font-body);font-size:var(--sa-text-md);font-weight:var(--sa-weight-normal);line-height:1.2;color:var(--sa-input-fg);background:var(--sa-input-bg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-input::placeholder{color:var(--sa-input-muted);opacity:1}.sa-input[aria-invalid=true],.sa-select[aria-invalid=true]{border-color:var(--sa-danger)}.sa-select{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:var(--sa-tap);margin:0;padding:0 2.5rem 0 .75rem;font-family:var(--sa-font-body);font-size:var(--sa-text-md);font-weight:var(--sa-weight-normal);line-height:1.2;text-overflow:ellipsis;color:var(--sa-input-fg);color-scheme:var(--sa-color-scheme);background-color:var(--sa-input-bg);background-image:linear-gradient(45deg,transparent 50%,var(--sa-input-fg) 50%),linear-gradient(135deg,var(--sa-input-fg) 50%,transparent 50%);background-position:right 1.2rem center,right .85rem center;background-size:.36rem .36rem;background-repeat:no-repeat;border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);box-shadow:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-select--sm{min-height:var(--sa-tap-sm);padding:0 1.9rem 0 .55rem;font-size:var(--sa-text-sm);background-position:right .95rem center,right .6rem center;background-size:.33rem .33rem}.sa-select:disabled{color:var(--sa-fg-muted);background-color:var(--sa-surface-2);border-style:dashed;cursor:not-allowed}.sa-error{box-sizing:border-box;display:flex;align-items:baseline;gap:.45rem;min-width:0;margin:var(--sa-space-1) 0 0;padding:.3rem .6rem;font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);line-height:1.35;overflow-wrap:break-word;color:var(--sa-danger);background:var(--sa-danger-bg);border-radius:var(--sa-radius-sm)}.sa-error:before{content:"!";content:"!" / "";display:inline-grid;place-items:center;flex:0 0 auto;width:1.2em;height:1.2em;font-size:.9em;line-height:1;color:var(--sa-danger-bg);background:var(--sa-danger);border-radius:50%}.sa-error.sa-error--center{justify-content:center;text-align:center}.sa-error:empty{margin:0;padding:0;background:transparent}.sa-error:empty:before{display:none}.sa-badge{display:inline-block;max-width:100%;padding:.25rem .7rem;font-family:var(--sa-font-body);font-size:var(--sa-text-xs);font-weight:var(--sa-weight-bold);line-height:1.2;letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere;color:var(--sa-primary-contrast);background:var(--sa-primary);border-radius:var(--sa-radius-pill)}.sa-badge.sa-badge--accent{color:var(--sa-accent-contrast);background:var(--sa-accent)}.sa-count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .45rem;font-family:var(--sa-font-body);font-size:.78rem;font-weight:var(--sa-weight-bold);line-height:1;letter-spacing:0;color:var(--sa-cta-contrast);background:var(--sa-cta);border-radius:var(--sa-radius-pill)}.sa-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:.4rem;max-width:100%;min-width:0;min-height:1.85rem;margin:0;padding:.15rem .7rem;font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;color:var(--sa-fg);background:var(--sa-surface-2);border:2px solid var(--sa-border);border-radius:var(--sa-radius-pill)}.sa-chip .sa-chip__dot{flex:0 0 auto;width:.6em;height:.6em;background:currentColor;border-radius:50%}.sa-chip.sa-chip--app{color:var(--sa-app-text, var(--sa-primary));background:var(--sa-app-soft, var(--sa-primary-soft));border-color:transparent}.sa-chip.sa-chip--ok{color:var(--sa-ok);background:var(--sa-ok-bg);border-color:transparent}.sa-chip.sa-chip--warn{color:var(--sa-warn);background:var(--sa-warn-bg);border-color:transparent}.sa-chip.sa-chip--danger{color:var(--sa-danger);background:var(--sa-danger-bg);border-color:transparent}.sa-chip.sa-chip--info{color:var(--sa-info);background:var(--sa-info-bg);border-color:transparent}.sa-chip.sa-chip--solid{color:var(--sa-selected-text);background:var(--sa-selected-bg);border-color:var(--sa-selected-bg)}.sa-overline{display:block;margin:0 0 var(--sa-space-1);font-family:var(--sa-font-body);font-size:var(--sa-text-xs);font-weight:var(--sa-weight-bold);line-height:1.3;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--sa-app-text, var(--sa-primary))}.sa-overline.sa-overline--muted{color:var(--sa-fg-muted)}.sa-hero .sa-overline,.sa-overline.sa-overline--inherit{color:inherit}.sa-bar{box-sizing:border-box;display:block;width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch;min-width:0;height:.85rem;margin:0;padding:0;overflow:hidden;color:var(--sa-app-text, var(--sa-primary));background:var(--sa-surface-2);border:1px solid var(--sa-border-strong);border-radius:var(--sa-radius-pill);-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-bar.sa-bar--lg{height:1.35rem}.sa-bar.sa-bar--ok{color:var(--sa-ok)}.sa-bar.sa-bar--warn{color:var(--sa-warn)}.sa-bar.sa-bar--danger{color:var(--sa-danger)}.sa-bar .sa-bar__fill{display:block;width:0;max-width:100%;height:100%;background:currentColor;border-radius:inherit}.sa-bar::-webkit-progress-bar{background:transparent}.sa-bar::-webkit-progress-value{background:currentColor;border-radius:var(--sa-radius-pill)}.sa-bar::-moz-progress-bar{background:currentColor;border-radius:var(--sa-radius-pill)}.sa-answer{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;min-height:var(--sa-tap);margin:0;padding:.85rem 1rem;font-family:var(--sa-font-body);font-size:var(--sa-text-lg);font-weight:var(--sa-weight-bold);line-height:1.2;text-align:left;text-decoration:none;overflow-wrap:break-word;color:var(--sa-fg);background:var(--sa-surface-2);border:2px solid var(--sa-border-strong);border-bottom-width:5px;border-radius:var(--sa-radius-lg);box-shadow:var(--sa-shadow);-webkit-appearance:none;-moz-appearance:none;appearance:none}.sa-answer.sa-answer[data-answer=a],.sa-answer.sa-answer[data-answer=false]{color:var(--sa-answer-a-text);background:var(--sa-answer-a);border-color:var(--sa-answer-a-edge)}.sa-answer.sa-answer[data-answer=b]{color:var(--sa-answer-b-text);background:var(--sa-answer-b);border-color:var(--sa-answer-b-edge)}.sa-answer.sa-answer[data-answer=c]{color:var(--sa-answer-c-text);background:var(--sa-answer-c);border-color:var(--sa-answer-c-edge)}.sa-answer.sa-answer[data-answer=d],.sa-answer.sa-answer[data-answer=true]{color:var(--sa-answer-d-text);background:var(--sa-answer-d);border-color:var(--sa-answer-d-edge)}.sa-answer.sa-answer.sa-answer--off{color:var(--sa-fg-muted);background:var(--sa-surface-2);border-color:var(--sa-border);box-shadow:none}.sa-answer[aria-pressed=true],.sa-answer[aria-checked=true]{box-shadow:0 0 0 3px var(--sa-bg),0 0 0 6px var(--sa-fg)}.sa-answer:enabled{cursor:pointer}.sa-answer:where(:enabled,[href]):where(:not([aria-disabled=true],[aria-pressed=true],[aria-checked=true])):hover{box-shadow:var(--sa-shadow-pop)}.sa-answer:disabled{cursor:not-allowed;filter:saturate(.35)}.sa-answer[aria-disabled=true]{cursor:default}.sa-answer__key{display:inline-flex;align-items:center;justify-content:center;gap:.3em;flex:0 0 auto;font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);line-height:1}.sa-answer .sa-answer__key{min-width:2.6em;min-height:2.1em;padding:0 .45em;background:var(--sa-answer-key);border-radius:var(--sa-radius)}.sa-answer.sa-answer[data-answer=c] .sa-answer__key{background:var(--sa-answer-c-key)}.sa-answer.sa-answer--off .sa-answer__key{background:var(--sa-surface)}.sa-answer .sa-answer__shape{font-size:.9em}.sa-tile{box-sizing:border-box;display:block;min-width:0;padding:clamp(.65rem,1.6vh,1.35rem) clamp(.7rem,1.6vw,1.25rem);color:var(--sa-fg);text-decoration:none;background:var(--sa-app-soft, var(--sa-surface-2));border-radius:var(--sa-radius-xl)}.sa-tile .sa-tile__name{font-family:var(--sa-font-display);font-size:var(--sa-text-h3);font-weight:var(--sa-weight-display);line-height:var(--sa-leading-tight)}.sa-tile .sa-tile__desc{color:var(--sa-fg-muted)}.sa-tile .sa-tile__go{color:var(--sa-app-text, var(--sa-primary));font-weight:var(--sa-weight-bold)}.sa-hero{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;padding:clamp(1rem,4.6vh,3rem) clamp(1rem,4vw,3rem);color:var(--sa-on-hero);background:var(--sa-hero);border-radius:var(--sa-radius-hero)}.sa-hero:after{content:"";position:absolute;z-index:-1;top:-4rem;right:-4rem;width:clamp(9rem,22vw,14rem);height:clamp(9rem,22vw,14rem);background:var(--sa-hero-deco);border-radius:50%;pointer-events:none}@media (max-width: 35.99rem){.sa-header .sa-header__inner{gap:.35rem .5rem}.sa-header .sa-header__logo{height:var(--sa-header-logo-height-sm, 2rem)}.sa-header .sa-header__inner--app .sa-header__logo--full{display:none}.sa-header .sa-header__inner--app .sa-header__logo--symbol{display:block}.sa-header .sa-header__home+.sa-header__app,.sa-header .sa-header__brand+.sa-header__app{padding-left:.5rem}.sa-header .sa-header__switch,.sa-pill{min-height:2.3rem;padding:.2rem .8rem;font-size:.9rem}.sa-footer{font-size:.8rem}.sa-footer .sa-footer__list{gap:0 .4rem}.sa-footer .sa-footer__item{gap:.4rem}}@media (max-height: 47.5rem){.sa-join.sa-join--large .sa-join__hint{margin-bottom:.6rem}}@media (prefers-reduced-motion: no-preference){.sa-header .sa-header__home--text,.sa-header .sa-header__switch,.sa-join .sa-join__submit,.sa-btn,.sa-pill,.sa-seg .sa-seg__item{transition:background-color .15s ease,color .15s ease,border-color .15s ease,filter .15s ease}.sa-bar .sa-bar__fill{transition:width .3s ease}.sa-answer{transition:transform .12s ease,box-shadow .12s ease}.sa-answer:where(:enabled,[href]):where(:not([aria-disabled=true],[aria-pressed=true],[aria-checked=true])):hover{transform:translateY(-2px)}.sa-answer:where(:enabled,[href]):where(:not([aria-disabled=true])):active{transform:scale(.97)}.sa-tile{transition:transform .15s ease}.sa-tile:hover{transform:translateY(-3px) rotate(-.5deg)}}@media (forced-colors: active){.sa-header .sa-header__switch,.sa-join .sa-join__submit,.sa-join .sa-join__input,.sa-btn,.sa-pill,.sa-input,.sa-tile,.sa-seg .sa-seg__item,.sa-answer{border:2px solid ButtonText}.sa-header .sa-header__area,.sa-badge,.sa-chip,.sa-panel,.sa-error,.sa-bar{border:1px solid CanvasText}.sa-btn.sa-btn:disabled,.sa-btn.sa-btn[aria-disabled=true],.sa-seg .sa-seg__item:disabled,.sa-seg .sa-seg__item[aria-disabled=true]{color:GrayText;border:2px dashed GrayText}.sa-seg .sa-seg__item[aria-pressed=true],.sa-seg .sa-seg__item[aria-selected=true],.sa-seg .sa-seg__item[aria-checked=true],.sa-seg .sa-seg__item[aria-current=page],.sa-seg .sa-seg__item[aria-current=true]{color:HighlightText;background:Highlight;forced-color-adjust:none}.sa-answer[aria-pressed=true],.sa-answer[aria-checked=true]{outline:4px solid Highlight;outline-offset:2px}.sa-bar .sa-bar__fill{background:Highlight;forced-color-adjust:none}.sa-select{padding-right:.75rem;background-image:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light dark;--wa-ok: var(--sa-ok);--wa-ok-bg: var(--sa-ok-bg);--wa-ok-fill: #34d399;--wa-bad: var(--sa-danger);--wa-bad-bg: var(--sa-danger-bg);--wa-bad-fill: #fca5a5;--wa-hi: #fbbf24;--wa-hi-soft: var(--sa-warn-bg);--wa-hi-text: var(--sa-warn);--wa-board: #16213a;--wa-cell: #ffffff;--wa-cell-fg: #16213a;--wa-cell-hover: #e5eafa;--wa-cell-hl: #fef3c7;--wa-cell-ok: #a7f3d0;--emerald: #10b981;--emerald-soft: #34d399;--emerald-dark: #047857;--emerald-darker: #065f46;--cyan: #06b6d4;--amber: #fbbf24;--amber-dark: #c96a04;--orange: #fb923c;--orange-dark: #ea580c;--rose: #f43f5e;--violet: #8b5cf6;--sky: #0ea5e9;--header-h: 56px;font-family:var(--sa-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-color-scheme: dark){:root{--wa-ok-fill: #34d399;--wa-bad-fill: #fca5a5;--wa-board: #070b16;--wa-cell: #e9eef8;--wa-cell-fg: #16213a;--wa-cell-hover: #c9d5f3}}@media print{:root{color-scheme:light;--wa-hi-soft: #fef3c7;--wa-hi-text: #8a4b00;--wa-board: #16213a;--wa-cell: #ffffff;--wa-cell-hover: #e5eafa}}html,body{min-height:100vh}body{background:var(--sa-bg);color:var(--sa-fg);font-family:var(--sa-font-body);font-size:1rem;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column;position:relative}button{font-family:inherit;color:inherit}input,textarea,select{font-family:inherit}h1,h2,h3{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);letter-spacing:-.005em}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:var(--sa-focus-width) solid var(--sa-focus);outline-offset:var(--sa-focus-offset)}.view-header,.play-header{display:flex;align-items:center;height:var(--header-h);flex-shrink:0;padding:0 1.25rem;gap:1rem;background:var(--sa-chrome);border-bottom:2px solid var(--sa-border);color:var(--sa-fg)}.view-header__title{flex:1;font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.1rem;line-height:1.2;color:var(--sa-fg)}.back-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--sa-tap-sm);background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);padding:.25rem .85rem;border-radius:var(--sa-radius-btn);cursor:pointer;font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);transition:background .15s,transform .12s;white-space:nowrap}.back-btn:hover{background:var(--sa-surface-2)}.back-btn:active{transform:scale(.96)}.header-room-code{display:inline-flex;align-items:center;min-height:var(--sa-tap-sm);margin:0;padding:0;font:inherit;color:inherit;background:none;border:0;border-radius:var(--sa-radius-pill);cursor:pointer}.header-room-code .sa-chip{gap:.55rem;min-height:var(--sa-tap-sm);padding:.2rem .85rem;transition:border-color .15s}.header-room-code .sa-overline{margin:0}.header-room-code__value{font-family:var(--sa-font-display);font-size:1.05rem;font-weight:var(--sa-weight-display);letter-spacing:.2em;color:var(--sa-fg)}.header-room-code:hover .sa-chip{border-color:var(--sa-app)}.header-room-code:active{transform:scale(.96)}.sa-btn:not(:disabled):active{transform:scale(.97)}.sa-btn.wa-btn--app{background:var(--sa-app);border-color:var(--sa-app);color:#fff}.sa-btn.wa-btn--app:hover{filter:brightness(1.12)}.wa-btn--large{min-height:3.25rem;padding:.75rem 1.75rem;font-size:var(--sa-text-lg);width:100%}.view{min-height:100vh;display:flex;flex-direction:column;background:var(--sa-bg)}.error-banner{margin:.75rem 1.25rem}.section-title{margin-bottom:.85rem}.upload-area{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.drop-zone{border:2px dashed var(--sa-border-strong);border-radius:var(--sa-radius-xl);padding:3.5rem 2.5rem;text-align:center;max-width:580px;width:100%;background:var(--sa-surface);color:var(--sa-fg);transition:all .2s}.drop-zone.drag-over{border-color:var(--sa-app);background:var(--sa-app-soft);transform:scale(1.01)}.drop-icon{font-size:3.5rem;margin-bottom:1rem}.drop-text{font-family:var(--sa-font-display);font-size:1.35rem;font-weight:var(--sa-weight-display);margin-bottom:.6rem}.drop-hint{font-size:.9rem;color:var(--sa-fg-muted);line-height:1.7;margin-bottom:2rem;font-weight:500}.drop-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.preview-layout{flex:1;display:grid;grid-template-columns:1fr 340px;gap:1.25rem;padding:1.25rem;overflow:hidden;min-height:0}.preview-main{padding:1.5rem;overflow-y:auto;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);color:var(--sa-fg)}.preview-sidebar{display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.word-list{display:flex;flex-direction:column;border:1px solid var(--sa-border);border-radius:1rem;overflow:hidden;background:var(--sa-surface)}.word-item{display:grid;grid-template-columns:32px 160px 1fr;align-items:center;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--sa-border);font-size:.9rem}.word-item:last-child{border-bottom:none}.word-item:hover{background:var(--sa-surface-2)}.word-idx{color:var(--sa-fg-muted);font-size:.78rem;font-weight:800;text-align:right}.word-text{font-weight:700;color:var(--sa-app-text);font-size:.9rem;letter-spacing:.02em}.word-clue{color:var(--sa-fg-muted);font-size:.87rem}.stats-card{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.25rem;color:var(--sa-fg)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.stat-item{display:flex;flex-direction:column;align-items:center;background:var(--sa-app-soft);border:1px solid transparent;border-radius:.85rem;padding:.85rem .5rem}.stat-value{font-family:var(--sa-font-display);font-size:1.85rem;font-weight:var(--sa-weight-display);color:var(--sa-fg);line-height:1}.stat-label{font-size:.72rem;color:var(--sa-fg-muted);margin-top:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.preview-actions{display:flex;flex-direction:column;gap:.75rem}.option-stack{display:flex;flex-direction:column;gap:.55rem}.option-row{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem .85rem;border:2px solid var(--sa-border);border-radius:var(--sa-radius-btn);background:var(--sa-surface);cursor:pointer;transition:all .12s;color:var(--sa-fg)}.option-row:hover{background:var(--sa-surface-2)}.option-row--active{border-color:var(--sa-app);background:var(--sa-app-soft)}.option-row input[type=radio]{margin-top:.25rem;accent-color:var(--sa-app);cursor:pointer}.option-label{font-weight:800;font-size:.95rem;color:var(--sa-fg)}.option-desc{font-size:.8rem;color:var(--sa-fg-muted);margin-top:.15rem;line-height:1.45;font-weight:500}.room-layout{flex:1;display:flex;gap:1.25rem;padding:1.25rem;overflow:hidden;min-height:0}.room-main{flex:1;display:flex;align-items:center;justify-content:center;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);overflow:auto;min-width:0;padding:1.5rem}.room-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);overflow-y:auto;color:var(--sa-fg)}.room-code-card{background:var(--sa-hero);border:2px solid var(--sa-hero);color:var(--sa-on-hero);border-radius:var(--sa-radius-xl);padding:1.5rem;text-align:center;flex-shrink:0}.room-code-label{font-size:.75rem;color:var(--sa-on-hero);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.65rem;font-weight:700}.room-code{font-family:var(--sa-font-display);font-size:2.85rem;font-weight:var(--sa-weight-display);letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--sa-on-hero);line-height:1.1;margin-bottom:.8rem}.room-code-hint{font-size:.8rem;color:var(--sa-on-hero);line-height:1.5}.room-code-card--clickable{display:block;width:100%;font-family:inherit;text-align:center;cursor:pointer;transition:transform .12s,box-shadow .15s}.room-code-card--clickable:hover{background:var(--sa-hero-deco);box-shadow:var(--sa-shadow-pop)}.room-code-card--clickable:active{transform:scale(.98)}.student-list{display:flex;flex-direction:column;flex:1;min-height:0}.student-list-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--sa-fg-muted);flex-shrink:0}.student-count{background:var(--sa-app);color:#fff;border-radius:999px;padding:.15rem .65rem;font-size:.75rem;font-weight:900;text-transform:none;letter-spacing:0}.student-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--sa-fg-muted);text-align:center;font-size:.9rem;line-height:1.8;padding:2rem 0;font-weight:500}.student-rows{display:flex;flex-direction:column;gap:.4rem;overflow-y:auto}.student-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:.85rem;background:var(--sa-surface);border:1px solid var(--sa-border);cursor:pointer;transition:all .15s;color:var(--sa-fg)}.student-row.submitted{background:var(--wa-ok-bg);border-color:var(--wa-ok)}.student-row:hover{background:var(--sa-surface-2);border-color:var(--sa-border-strong)}.student-row.selected{border-color:var(--sa-selected-bg);background:var(--sa-app-soft);box-shadow:0 0 0 2px var(--sa-selected-bg)}.student-row--offline{opacity:.55;filter:grayscale(.4);border-style:dashed}.student-row--offline .student-progress-bar{opacity:.35}.leaderboard-row--offline{opacity:.55;filter:grayscale(.4)}.leaderboard-row__offline{margin-left:.35rem;font-size:.85em;opacity:.9}.student-info{display:flex;align-items:center;gap:.55rem}.student-status{font-size:.95rem}.student-name{font-weight:700;font-size:.9rem;color:var(--sa-fg)}.student-name-section{display:flex;flex-direction:column;gap:.3rem;flex:1}.sa-bar.student-progress-bar{height:6px}.student-details{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.student-progress{min-width:50px;text-align:right;font-weight:800;color:var(--sa-fg);font-variant-numeric:tabular-nums}.student-tab-leaves{background:var(--wa-hi-soft);color:var(--sa-fg);padding:.2rem .55rem;border-radius:.55rem;font-weight:700;white-space:nowrap;font-size:.78rem;border:1px solid var(--wa-hi)}.student-inactive{background:var(--wa-bad-bg);color:var(--wa-bad);padding:.2rem .55rem;border-radius:.55rem;font-weight:700;white-space:nowrap;font-size:.78rem;border:1px solid var(--wa-bad)}.score-badge{padding:.2rem .7rem;border-radius:999px;font-weight:700;font-size:.82rem}.score-badge.perfect{background:var(--wa-hi);color:var(--sa-ink)}.score-badge.good{background:var(--wa-ok-fill);color:var(--sa-ink)}.score-badge.low{background:var(--wa-bad-fill);color:var(--sa-ink)}.ws-status-chips{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem .9rem .2rem 2.4rem}.ws-chip{gap:.2rem;min-height:0;padding:.12rem .42rem;font-size:.72rem;white-space:nowrap}.ws-chip__icon{font-size:.8rem;line-height:1}.message-composer{padding:1rem .9rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-top:3px solid var(--sa-selected-bg);border-radius:0 0 .85rem .85rem;display:flex;flex-direction:column;gap:.75rem;animation:slideIn .15s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.message-composer textarea{width:100%;min-height:90px;padding:.8rem;background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);font-size:.95rem;resize:vertical;transition:border-color .15s,box-shadow .15s}.message-composer textarea::placeholder{color:var(--sa-input-muted)}.message-composer textarea:focus{border-color:var(--sa-focus)}.composer-actions{display:flex;gap:.5rem;justify-content:flex-end}.composer-actions .sa-btn{font-size:.85rem;padding:.5rem 1rem}.join-view{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.join-main{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;gap:clamp(.75rem,3vh,1.75rem);width:100%;max-width:calc(var(--sa-content-max) + 2 * var(--sa-gutter));margin:0 auto;padding:clamp(.5rem,2.2vh,1.5rem) var(--sa-gutter) clamp(.75rem,2.6vh,2rem);min-width:0}.join-card{width:100%;padding:clamp(1rem,3.6vh,2.5rem) clamp(1rem,4vw,3rem)}.join-header{margin-bottom:clamp(.6rem,2vh,1.25rem)}.join-title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:var(--sa-text-display);line-height:1.05;letter-spacing:-.005em;color:inherit}.join-subtitle{margin-top:.35rem;font-size:var(--sa-text-lead);line-height:1.4;color:var(--sa-fg-muted)}.sa-join.join-form{max-width:none}.join-form .sa-join__input{min-height:3rem}.join-form .sa-join__submit{min-height:3.25rem}@media (min-width: 48rem){.join-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(1.5rem,4vw,3rem);align-items:center}.join-header{margin:0}}.join-practice-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem 1.5rem;align-items:center}.join-practice-card__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:var(--sa-text-h2);line-height:1.15}.join-practice-card__text{font-size:var(--sa-text-lead);line-height:1.4;color:var(--sa-fg-muted)}.join-practice-card__btn{margin-top:.5rem;white-space:normal}@media (min-width: 48rem){.join-practice-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title btn" "text btn"}.join-practice-card__title{grid-area:title}.join-practice-card__text{grid-area:text}.join-practice-card__btn{grid-area:btn;width:auto;margin:0}}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-hint{font-size:.8rem;color:var(--sa-fg-muted);line-height:1.45}.ipt-toggle-row{gap:.35rem}.ipt-toggle{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.92rem;font-weight:700;color:var(--sa-fg);text-transform:none;letter-spacing:0;padding:.55rem .65rem;border-radius:var(--sa-radius);background:var(--sa-surface-2);border:1px solid var(--sa-border);transition:background .12s,border-color .12s}.ipt-toggle:hover{background:var(--sa-app-soft);border-color:var(--sa-app)}.ipt-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--sa-app);cursor:pointer;flex-shrink:0}.ipt-toggle__label{flex:1}.form-group label{font-weight:var(--sa-weight-bold);font-size:var(--sa-text-sm);line-height:1.3;color:inherit}.form-group input{min-height:var(--sa-tap);padding:.55rem .85rem;background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);font-size:1.05rem;transition:border-color .15s,box-shadow .15s,background .15s}.form-group input::placeholder{color:var(--sa-input-muted);opacity:1}.form-group input:focus{border-color:var(--sa-focus)}.play-view{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.play-header{justify-content:space-between}.play-room{font-size:.82rem;color:var(--sa-fg-muted);white-space:nowrap;font-weight:600}.play-name{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.05rem}.play-actions{display:flex;gap:.55rem;align-items:center}.sa-btn.submit-btn{min-height:var(--sa-tap-sm);padding:.3rem 1.25rem;font-size:1rem}.export-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:var(--sa-tap-sm);background:var(--sa-surface);color:var(--sa-fg);padding:.25rem .85rem;border-radius:var(--sa-radius-btn);font-family:var(--sa-font-body);font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);border:2px solid var(--sa-border-strong);cursor:pointer;transition:background .15s,border-color .15s,transform .12s}.export-btn:hover{background:var(--sa-surface-2)}.export-btn:active{transform:scale(.96)}.print-info{display:none}.teacher-message-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--sa-scrim);z-index:9999;animation:fadeIn .2s ease-out}.teacher-message-card{background:var(--sa-surface);border-radius:var(--sa-radius-xl);padding:3rem 2.5rem;max-width:520px;width:90%;text-align:center;border:2px solid var(--sa-border);box-shadow:var(--sa-shadow-pop);animation:popIn .35s cubic-bezier(.34,1.56,.64,1);color:var(--sa-fg)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.teacher-message-icon{font-size:3.75rem;margin-bottom:.75rem}.teacher-message-label{font-size:.82rem;font-weight:700;color:var(--sa-fg-muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.85rem}.teacher-message-text{font-size:1.65rem;line-height:1.45;color:var(--sa-fg);font-weight:700;margin-bottom:2rem;white-space:pre-wrap;word-break:break-word}.teacher-message-dismiss{font-size:1.8rem;padding:0;border-radius:999px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto;background:var(--sa-cta);color:var(--sa-cta-contrast);border:2px solid var(--sa-cta);cursor:pointer;transition:transform .12s}.teacher-message-dismiss:hover{transform:scale(1.08)}.teacher-message-dismiss:active{transform:scale(.94)}.cw-layout{flex:1;display:flex;gap:1.25rem;padding:1.25rem;overflow:hidden;min-height:0}.cw-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);overflow:hidden}.cw-cluebar{flex-shrink:0;display:flex;align-items:center;gap:.85rem;padding:0 1.25rem;height:56px;background:var(--sa-app-soft);border-bottom:2px solid var(--sa-border);color:var(--sa-fg);overflow:hidden}.cw-cluebar--empty{background:var(--sa-surface-2)}.cw-cluebar__badge{background:var(--sa-app);color:#fff;border:1px solid var(--sa-app);border-radius:.55rem;padding:.25rem .7rem;font-weight:700;font-size:.9rem;white-space:nowrap;flex-shrink:0;letter-spacing:.03em}.cw-cluebar__text{font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cw-cluebar__hint{font-size:.9rem;color:var(--sa-fg-muted);flex:1}.cw-cluebar__all-btn{display:none;margin-left:auto;background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;font-family:inherit;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.cw-cluebar__all-btn:hover,.cw-cluebar__all-btn:focus{background:var(--sa-surface-2)}@media (min-width: 641px){.cw-cluebar__all-btn{display:none!important}}.cw-clues-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);z-index:9000;display:flex;align-items:flex-end;justify-content:center;animation:cwCluesFade .18s ease-out}.cw-clues-modal__card{background:var(--sa-surface);color:var(--sa-fg);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--sa-shadow-pop);animation:cwCluesSlide .25s cubic-bezier(.22,1,.36,1)}.cw-clues-modal__head{display:flex;align-items:center;padding:1rem 1.2rem .75rem;border-bottom:1px solid var(--sa-border)}.cw-clues-modal__title{flex:1;font-family:var(--sa-font-display);font-size:1.15rem;font-weight:var(--sa-weight-display);color:var(--sa-fg)}.cw-clues-modal__close{background:var(--sa-surface-2);color:var(--sa-fg);border:none;width:36px;height:36px;border-radius:50%;font-size:1.3rem;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}.cw-clues-modal__close:hover{background:var(--sa-border)}.cw-clues-modal__body{flex:1;overflow-y:auto;padding:.85rem 1.2rem 1.5rem;display:flex;flex-direction:column;gap:1rem;-webkit-overflow-scrolling:touch}.cw-clues-modal__body .clue-section-title{position:sticky;top:0;background:var(--sa-surface);z-index:2;padding:.35rem 0 .25rem;margin-bottom:.35rem;border-bottom:1px solid var(--sa-border);color:var(--sa-app-text)}.cw-clues-modal__body .clue-item{color:var(--sa-fg);padding:.65rem .85rem;margin-bottom:.35rem;background:var(--sa-surface-2);border-radius:.65rem;border-left:3px solid transparent;cursor:pointer}.cw-clues-modal__body .clue-item:hover{background:var(--sa-border)}.cw-clues-modal__body .clue-selected{background:var(--sa-app-soft);border-left-color:var(--sa-app);font-weight:700;color:var(--sa-fg)}.cw-clues-modal__body .clue-text{color:var(--sa-fg);font-weight:500}.cw-clues-modal__body .clue-selected .clue-text{color:var(--sa-fg);font-weight:700}.cw-clues-modal__body .clue-number{font-weight:700;color:var(--sa-app-text);margin-right:.55rem}@keyframes cwCluesFade{0%{opacity:0}to{opacity:1}}@keyframes cwCluesSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cw-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:28px;background:transparent;scrollbar-width:thin;scrollbar-color:var(--sa-border-strong) transparent;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;position:relative}.cw-zoom-layer{display:flex;align-items:flex-start;justify-content:center;transform-origin:50% 0;transition:none;will-change:transform}.cw-scroll::-webkit-scrollbar{width:6px;height:6px}.cw-scroll::-webkit-scrollbar-thumb{background:var(--sa-border-strong);border-radius:4px}.cw-controls{position:absolute;z-index:5;pointer-events:auto}.cw-controls--zoom{left:10px;bottom:10px;display:flex;flex-direction:column;gap:6px}.cw-controls--pan{right:10px;bottom:10px;display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:4px}.cw-controls__btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);font-family:inherit;font-size:1.15rem;font-weight:700;border-radius:10px;cursor:pointer;box-shadow:var(--sa-shadow);user-select:none;-webkit-user-select:none;touch-action:manipulation;line-height:1;padding:0;transition:background .08s,transform .05s}.cw-controls__btn:hover{background:var(--sa-surface-2)}.cw-controls__btn:active{transform:scale(.94);background:var(--sa-selected-bg);color:var(--sa-selected-text)}.cw-controls__btn--reset{font-size:1rem}.cw-pan__up{grid-column:2;grid-row:1}.cw-pan__left{grid-column:1;grid-row:2}.cw-pan__right{grid-column:3;grid-row:2}.cw-pan__down{grid-column:2;grid-row:3}.cw-grid{display:grid;gap:3px;background:var(--wa-board);border:3px solid var(--wa-board);border-radius:1rem;padding:6px;box-shadow:var(--sa-shadow);flex-shrink:0;margin:0 auto}.cell{width:var(--cell-size, 40px);height:var(--cell-size, 40px);position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border-radius:4px}.cell--black{background:var(--wa-board)}.cell--white{background:var(--wa-cell);cursor:pointer;transition:background .07s}.cell--white:hover{background:var(--wa-cell-hover)}.cell--highlighted{background:var(--wa-cell-hl)!important}.cell--selected{background:var(--wa-hi)!important;box-shadow:0 0 0 2px var(--amber-dark);z-index:1}.cell--correct{background:var(--wa-cell-ok)!important;box-shadow:inset 0 0 0 1.5px #0596698c}.cell--correct.cell--selected{background:var(--wa-hi)!important}.cell--correct.cell--highlighted{background:var(--wa-cell-ok)!important}.cell--correct .cell__input,.cell--correct .cell__letter{color:#065f46}.cell__number{position:absolute;top:1px;left:3px;font-size:calc(var(--cell-size, 40px) * .26);font-weight:700;color:var(--sa-blue);line-height:1;pointer-events:none;z-index:1}.cell--selected .cell__number{color:var(--wa-cell-fg)}.cell__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:calc(var(--cell-size, 40px) * .55);font-weight:700;color:var(--wa-cell-fg);cursor:pointer;outline:none;text-transform:uppercase;padding-top:calc(var(--cell-size, 40px) * .2);caret-color:transparent;font-family:inherit}.cell--selected .cell__input{color:var(--wa-cell-fg)}.cell__letter{font-size:calc(var(--cell-size, 40px) * .55);font-weight:700;color:var(--wa-cell-fg);padding-top:calc(var(--cell-size, 40px) * .18);pointer-events:none}.cell__sol-idx{position:absolute;bottom:1px;right:2px;font-size:calc(var(--cell-size, 40px) * .2);font-weight:900;color:var(--sa-ink);background:var(--wa-hi);border-radius:999px;width:calc(var(--cell-size, 40px) * .32);height:calc(var(--cell-size, 40px) * .32);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;z-index:1;box-shadow:var(--sa-shadow)}.clue-list{width:320px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--sa-surface);border-left:1px solid var(--sa-border);padding:0;color:var(--sa-fg)}.clue-list::-webkit-scrollbar{width:4px}.clue-list::-webkit-scrollbar-thumb{background:var(--sa-border-strong);border-radius:4px}.clue-section{display:flex;flex-direction:column}.clue-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--sa-fg-muted);padding:1rem 1rem .5rem;border-top:1px solid var(--sa-border);background:var(--sa-surface-2);position:sticky;top:0;z-index:1}.clue-section:first-child .clue-section-title{border-top:none}.clue-item{display:flex;gap:.6rem;align-items:baseline;padding:.65rem 1rem;cursor:pointer;font-size:.9rem;transition:background .08s;border-left:3px solid transparent;line-height:1.45;color:var(--sa-fg)}.clue-item:hover{background:var(--sa-surface-2)}.clue-selected{background:var(--wa-hi-soft)!important;border-left-color:var(--wa-hi)!important;color:var(--sa-fg)}.clue-number{font-weight:700;color:var(--wa-hi-text);min-width:22px;font-size:.85rem;flex-shrink:0}.clue-text{color:var(--sa-fg);font-weight:500}.clue-number--swatch{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;border-radius:999px;color:var(--sa-ink);font-size:.8rem}.sol-strip{flex-shrink:0;display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem;background:var(--sa-surface-2);border-top:2px solid var(--sa-border);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--sa-border-strong) transparent}.sol-strip::-webkit-scrollbar{height:4px}.sol-strip::-webkit-scrollbar-thumb{background:var(--sa-border-strong);border-radius:4px}.sol-strip__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--wa-hi-text);white-space:nowrap;flex-shrink:0}.sol-strip__boxes{display:flex;gap:5px}.sol-box{display:flex;flex-direction:column;align-items:center;gap:3px}.sol-box__idx{font-size:.58rem;color:var(--sa-fg-muted);font-weight:700;line-height:1}.sol-box__letter{width:32px;height:32px;border:2px solid var(--sa-border-strong);border-radius:.55rem;background:var(--sa-surface);color:transparent;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.sol-box__letter--filled{background:var(--wa-hi);border-color:var(--wa-hi);color:var(--sa-ink)}.cw-readonly{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ws-grid{display:grid;gap:2px;background:var(--wa-board);padding:8px;border-radius:1rem;border:1px solid var(--wa-board);box-shadow:var(--sa-shadow);flex-shrink:0;margin:0 auto}.ws-cell{width:var(--cell-size, 36px);height:var(--cell-size, 36px);position:relative;display:flex;align-items:center;justify-content:center;background:var(--wa-cell);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .08s,transform .08s}.ws-cell:hover{background:var(--wa-cell-hover)}.ws-cell--active{background:var(--wa-hi)!important;box-shadow:0 0 0 2px var(--amber-dark);z-index:1}.ws-cell--found{cursor:default}.ws-cell__letter{font-size:calc(var(--cell-size, 36px) * .55);font-weight:700;color:var(--wa-cell-fg);line-height:1;pointer-events:none}.ws-cancel-btn{margin-left:auto;background:var(--wa-bad-bg);border:2px solid var(--wa-bad);color:var(--wa-bad);padding:.3rem .85rem;border-radius:999px;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,transform .1s}.ws-cancel-btn:hover{background:var(--sa-surface)}.ws-cancel-btn:active{transform:scale(.95)}.ws-cell--tap-anchor{position:relative;background:linear-gradient(135deg,#fbbf24,#f59e0b)!important;z-index:2;animation:wsTapPulse 1.1s ease-in-out infinite}@keyframes wsTapPulse{0%,to{box-shadow:0 0 #fbbf24d9,0 0 0 3px #fbbf2480,0 0 12px #fbbf24a6}50%{box-shadow:0 0 0 6px #fbbf2400,0 0 0 3px #fbbf24e6,0 0 24px #fbbf24e6}}.cw-cluebar__hint-text{font-weight:700;font-size:.95rem}.cw-cluebar__diff{display:block;font-size:.75rem;color:var(--sa-fg-muted);font-weight:400}.cw-cluebar--awaiting{background:var(--wa-hi-soft)!important;animation:cwCluebarAwait 1.4s ease-in-out infinite alternate}@keyframes cwCluebarAwait{0%{box-shadow:inset 0 0 #fbbf2400}to{box-shadow:inset 0 0 24px #fbbf248c}}.cw-cluebar--awaiting .cw-cluebar__hint-text{font-size:1rem}.cw-layout--feedback-ok .cw-panel{animation:wsFlashOk .65s ease-out}.cw-layout--feedback-no .cw-panel{animation:wsFlashNo .55s ease-out}@keyframes wsFlashOk{0%{box-shadow:0 0 #34d39999 inset}30%{box-shadow:0 0 0 6px #34d39980 inset}to{box-shadow:0 0 #34d39900 inset}}@keyframes wsFlashNo{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.clue-item.clue-found{border-left:3px solid}.cloze-setup-layout{grid-template-columns:1fr 360px}.cloze-source{display:flex;flex-direction:column;gap:1rem}.cloze-help{font-size:.88rem;color:var(--sa-fg-muted);line-height:1.55;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:var(--sa-radius-btn);padding:.8rem 1rem}.cloze-help code{background:var(--sa-surface);color:var(--sa-fg);padding:.05rem .35rem;border-radius:.35rem;font-size:.85em;font-family:var(--sa-font-mono)}.cloze-textarea{flex:1;min-height:320px;padding:1rem;background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);font-family:var(--sa-font-body);font-size:1rem;line-height:1.7;resize:vertical;transition:border-color .15s,box-shadow .15s}.cloze-textarea:focus{border-color:var(--sa-focus)}.cloze-toolbar{display:flex;gap:.5rem}.cloze-preview{background:var(--sa-surface-2);border-radius:var(--sa-radius-btn);padding:.8rem 1rem;max-height:220px;overflow-y:auto;color:var(--sa-fg)}.cloze-preview-empty{color:var(--sa-fg-muted);font-size:.88rem;padding:.8rem 1rem;line-height:1.55}.cloze-wrap{color:inherit}.cloze-text{font-size:1.1rem;line-height:2.2;white-space:pre-wrap;word-wrap:break-word}.cloze-meta{margin-top:.75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sa-fg-muted)}.cloze-blank{display:inline-flex;align-items:baseline;font-weight:700}.cloze-blank--input{border:0;border-bottom:2.5px solid var(--sa-app);background:var(--sa-app-soft);color:var(--sa-fg);border-radius:.4rem .4rem 0 0;padding:.15rem .45rem;font:inherit;font-weight:700;margin:0 .15rem;box-sizing:border-box;transition:background .12s,border-color .12s,box-shadow .12s}.cloze-blank--input:hover{background:var(--sa-surface-2)}.cloze-blank--input:focus{background:var(--wa-hi-soft);border-bottom-color:var(--wa-hi);outline:2px solid var(--sa-focus);outline-offset:1px}.cloze-blank--input-correct{background:var(--wa-ok-bg)!important;border-bottom-color:var(--wa-ok)!important;color:var(--wa-ok)!important;animation:cloze-correct-pop .35s ease-out}.cloze-blank--input-correct:focus{background:var(--wa-ok-bg)!important;border-bottom-color:var(--wa-ok)!important}@keyframes cloze-correct-pop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}.cloze-blank--input::placeholder{color:var(--sa-fg-muted);font-weight:500}.cloze-slot{display:inline-flex;align-items:center;gap:.15rem;vertical-align:baseline}.cloze-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;margin:0 .1em;vertical-align:middle;border-radius:50%;cursor:help;-webkit-user-select:none;user-select:none}.cloze-hint__icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--wa-hi);color:var(--sa-ink);font-weight:700;font-size:.78em;line-height:1;transition:transform .12s,box-shadow .12s,background .12s}.cloze-hint:hover .cloze-hint__icon,.cloze-hint:focus-visible .cloze-hint__icon,.cloze-hint--open .cloze-hint__icon{transform:scale(1.12);background:#fcd34d;box-shadow:0 0 0 2px var(--sa-focus)}.cloze-hint__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);width:max-content;max-width:280px;background:var(--sa-fg);color:var(--sa-bg);padding:.5rem .75rem;border-radius:.65rem;font-size:.85rem;font-weight:500;font-family:var(--sa-font-body);text-transform:none;letter-spacing:0;line-height:1.45;white-space:normal;text-align:center;pointer-events:none;opacity:0;transition:opacity .14s,transform .14s;z-index:50;box-shadow:var(--sa-shadow)}.cloze-hint__bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-top:6px solid var(--sa-fg);border-left:6px solid transparent;border-right:6px solid transparent}.cloze-hint:hover .cloze-hint__bubble,.cloze-hint:focus-visible .cloze-hint__bubble,.cloze-hint--open .cloze-hint__bubble{opacity:1;transform:translate(-50%) translateY(0)}.cloze-tool-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--sa-tap);padding:.4rem .9rem;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s}.cloze-tool-btn:hover{background:var(--sa-surface-2)}.cloze-tool-btn:active:not(:disabled){transform:scale(.96)}.cloze-tool-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--sa-app);color:#fff;border-radius:.45rem;font-weight:700;font-size:.85rem;font-family:var(--sa-font-mono)}.cloze-tool-btn--alt .cloze-tool-btn__icon{background:var(--wa-hi);color:var(--sa-ink)}.cloze-tool-btn--active{background:var(--sa-app-soft);color:var(--sa-fg);border-color:var(--sa-app);box-shadow:0 0 0 2px var(--sa-app)}.cloze-tool-btn--alt.cloze-tool-btn--active{background:var(--wa-hi-soft);border-color:var(--amber-dark);box-shadow:0 0 0 2px var(--amber-dark)}.cloze-textarea--tool-blank,.cloze-textarea--tool-tip{cursor:pointer;caret-color:transparent}.cloze-textarea--tool-blank,.cloze-textarea--tool-blank:focus{border-color:var(--sa-app);box-shadow:0 0 0 3px var(--sa-app-soft)}.cloze-textarea--tool-tip,.cloze-textarea--tool-tip:focus{border-color:var(--amber-dark);box-shadow:0 0 0 3px var(--wa-hi-soft)}.cloze-tool-status{display:flex;align-items:center;gap:.55rem;margin-top:.65rem;padding:.55rem .85rem;font-size:.87rem}.cloze-tool-status__dot{flex-shrink:0;width:.55rem;height:.55rem;background:var(--sa-app);border-radius:50%;box-shadow:0 0 0 4px #04785740;animation:cloze-tool-pulse 1.4s ease-in-out infinite}@keyframes cloze-tool-pulse{0%,to{box-shadow:0 0 0 4px #04785738}50%{box-shadow:0 0 0 7px #0478570f}}.cloze-tool-status kbd{display:inline-block;padding:.05rem .4rem;background:var(--sa-surface);border:1px solid var(--sa-border-strong);border-radius:.35rem;font-family:var(--sa-font-mono);font-size:.8em;font-weight:700}.option-row--checkbox{cursor:pointer}.option-row--checkbox input[type=checkbox]{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--sa-app);cursor:pointer}.cloze-play-layout{flex:1;display:flex;gap:1.25rem;padding:1.5rem clamp(1rem,3vw,2rem);overflow:hidden;min-height:0;justify-content:center;align-items:stretch}.cloze-wordbank{flex-shrink:0;width:240px;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1rem;margin:0;overflow-y:auto;color:var(--sa-fg)}.cloze-wordbank__title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--sa-fg-muted);margin-bottom:.75rem}.cloze-wordbank__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.cloze-wordbank__item{padding:.5rem .75rem;background:var(--sa-app-soft);border:1px solid var(--sa-border);border-radius:.65rem;font-weight:700;font-size:.95rem;transition:opacity .15s,background .15s}.cloze-wordbank__item--used{opacity:.5;text-decoration:line-through;background:var(--sa-surface-2)}.competition-sub{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--sa-border);display:flex;flex-direction:column;gap:.55rem}.competition-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.competition-row__label{font-size:.82rem;font-weight:700;color:var(--sa-fg-muted)}.option-stack--compact .option-row{padding:.55rem .7rem}.number-stepper{display:inline-flex;align-items:center;gap:.35rem;background:var(--sa-surface);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius);padding:.15rem}.number-stepper button{width:1.9rem;height:1.9rem;background:var(--sa-surface-2);color:var(--sa-fg);border:none;border-radius:.45rem;font-size:1rem;font-weight:800;cursor:pointer;transition:background .12s}.number-stepper button:hover{background:var(--sa-app-soft)}.number-stepper__value{min-width:1.5rem;text-align:center;color:var(--sa-fg);font-weight:700;font-size:1rem}.leaderboard{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:.9rem;color:var(--sa-fg);display:flex;flex-direction:column;gap:.6rem}.leaderboard--sidebar{width:240px;flex-shrink:0;align-self:flex-start;margin:0}.leaderboard--final{background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);margin-top:1.25rem;width:100%}.leaderboard__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--sa-fg-muted);display:flex;align-items:center;justify-content:space-between}.leaderboard--final .leaderboard__title{color:var(--sa-fg-muted)}.leaderboard__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.leaderboard-row{display:grid;grid-template-columns:1.8rem 1fr auto;align-items:center;gap:.55rem;padding:.55rem .65rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.65rem;transition:background .12s,transform .15s}.leaderboard--final .leaderboard-row{background:var(--sa-surface-2);border-color:var(--sa-border)}.leaderboard-row__rank{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);text-align:center;font-size:1.1rem}.leaderboard-row__name{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-row__you{color:var(--sa-app-text);font-weight:700;font-size:.8rem}.leaderboard--final .leaderboard-row__you{color:var(--sa-app-text)}.leaderboard-row__score-main{font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums}.leaderboard-row__score-label{font-size:.68rem;color:var(--sa-fg-muted);text-transform:uppercase;letter-spacing:.1em;text-align:right}.leaderboard-row__meta{font-size:.76rem;color:var(--sa-fg-muted);margin-top:.15rem}.leaderboard--final .leaderboard-row__meta{color:var(--sa-fg-muted)}.leaderboard-row__members{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.25rem}.leaderboard-chip{min-height:0;padding:.1rem .45rem;font-size:.78rem;font-weight:600}.leaderboard-row--gold{background:var(--sa-amber-soft);border-color:var(--sa-amber)}.leaderboard-row--silver{background:var(--sa-silver-soft);border-color:var(--sa-silver)}.leaderboard-row--bronze{background:var(--sa-bronze-soft);border-color:var(--sa-bronze)}.leaderboard-row--self{border-color:var(--sa-app);box-shadow:0 0 0 2px var(--sa-app)}.leaderboard-row--separator{margin-top:.55rem;border-top:1px dashed var(--sa-border);padding-top:.8rem;position:relative}.leaderboard-row--submitted{opacity:1}.leaderboard-empty{padding:1rem .5rem;text-align:center;color:var(--sa-fg-muted);font-size:.88rem}.leaderboard--final .leaderboard-empty{color:var(--sa-fg-muted)}.play-with-leaderboard{flex:1;display:flex;gap:1rem;overflow:hidden;min-height:0}.play-with-leaderboard__main{flex:1;min-width:0;display:flex;flex-direction:column}.play-with-leaderboard .leaderboard--sidebar{margin:1rem 1rem 1rem 0;align-self:stretch;overflow-y:auto}@media (max-width: 720px){.play-with-leaderboard{flex-direction:column;overflow:visible}.play-with-leaderboard__main{overflow:visible}.play-with-leaderboard .leaderboard--sidebar{width:auto;max-height:30vh;margin:0 1rem 1rem}}.cloze-play-layout .leaderboard--sidebar{margin:0;align-self:stretch;overflow-y:auto}.group-manager{display:flex;flex-direction:column;gap:.9rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1rem;color:var(--sa-fg)}.group-manager__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.group-manager__title{font-family:var(--sa-font-display);font-size:1.1rem;font-weight:var(--sa-weight-display)}.group-manager__sub{font-size:.82rem;color:var(--sa-fg-muted);margin-top:.2rem}.group-manager__actions{display:flex;gap:.4rem;flex-wrap:wrap}.group-manager__actions .sa-btn{padding:.5rem .9rem;font-size:.85rem}.group-manager__grid{display:grid;grid-template-columns:1fr;gap:.55rem}.group-manager__pool{margin-top:.25rem;padding:.55rem .65rem;background:var(--sa-surface-2);border:1px dashed var(--sa-border-strong);border-radius:.65rem}.group-card{display:flex;flex-direction:column;gap:.35rem;padding:.65rem .8rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-btn);color:var(--sa-fg);transition:transform .12s,box-shadow .15s,background .15s;text-align:left;cursor:default}.group-card--full{opacity:.8}.group-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.group-card__name{font-weight:700;font-size:.95rem}.group-card__count{font-size:.8rem;color:var(--sa-fg-muted);font-variant-numeric:tabular-nums}.group-card__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem}.group-card__member{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.5rem;font-size:.78rem;font-weight:700}.group-card__member--orphan{background:var(--wa-bad-bg);border-color:var(--wa-bad)}.group-card__remove{background:var(--sa-surface-2);border:none;color:var(--sa-fg);width:1.1rem;height:1.1rem;border-radius:50%;font-size:.7rem;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.group-card__remove:hover{background:var(--wa-bad-bg);color:var(--wa-bad)}.group-card__empty{font-size:.78rem;color:var(--sa-fg-muted);padding:.15rem}.group-card--droppable{transition:transform .12s,box-shadow .15s,background .15s,border-color .15s}.group-card--drop-target{background:var(--sa-app-soft);border-color:var(--sa-app);box-shadow:0 0 0 2px var(--sa-app);transform:translateY(-1px)}.group-card--drop-reject{background:var(--wa-bad-bg);border-color:var(--wa-bad);box-shadow:0 0 0 2px var(--wa-bad);cursor:not-allowed}.group-card__member--draggable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:element}.group-card__member--draggable:active{cursor:grabbing}.group-card__member--dragging{opacity:.35}.group-card__list--horizontal{flex-wrap:wrap}.group-manager__pool--droppable{transition:background .15s,border-color .15s,box-shadow .15s}.group-manager__pool--drop-target{background:var(--wa-bad-bg);border-color:var(--wa-bad);border-style:solid;box-shadow:0 0 0 2px var(--wa-bad)}.group-card--color-emerald{border-left:4px solid var(--emerald-soft)}.group-card--color-amber{border-left:4px solid var(--amber)}.group-card--color-sky{border-left:4px solid var(--sky)}.group-card--color-rose{border-left:4px solid var(--rose)}.group-card--color-violet{border-left:4px solid var(--violet)}.group-card--color-orange{border-left:4px solid var(--orange)}.group-card--color-teal{border-left:4px solid var(--cyan)}.group-card--color-pink{border-left:4px solid #ec4899}.leaderboard-row--color-emerald{border-left:4px solid var(--emerald-soft)}.leaderboard-row--color-amber{border-left:4px solid var(--amber)}.leaderboard-row--color-sky{border-left:4px solid var(--sky)}.leaderboard-row--color-rose{border-left:4px solid var(--rose)}.leaderboard-row--color-violet{border-left:4px solid var(--violet)}.leaderboard-row--color-orange{border-left:4px solid var(--orange)}.leaderboard-row--color-teal{border-left:4px solid var(--cyan)}.leaderboard-row--color-pink{border-left:4px solid #ec4899}.manual-assign{background:var(--sa-surface-2);padding:.55rem .7rem;border-radius:.65rem;display:flex;flex-direction:column;gap:.5rem}.manual-assign__hint{font-size:.82rem;color:var(--sa-fg-muted)}.group-lobby{flex:1;overflow-y:auto;padding:2rem clamp(1rem,4vw,2.5rem);display:flex;flex-direction:column;align-items:center;gap:1.5rem;color:var(--sa-fg)}.group-lobby__hero{text-align:center;max-width:520px}.group-lobby__icon{font-size:3.5rem;margin-bottom:.5rem}.group-lobby__title{font-family:var(--sa-font-display);font-size:1.7rem;font-weight:var(--sa-weight-display);line-height:1.25}.group-lobby__sub{font-size:1rem;color:var(--sa-fg-muted);margin-top:.35rem}.group-lobby__error{max-width:520px}.group-lobby__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;width:100%;max-width:920px}.group-lobby__card{cursor:pointer;font:inherit}.group-lobby__card:disabled{cursor:not-allowed}.group-lobby__hint{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sa-fg-muted);margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.modal-card{background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);box-shadow:var(--sa-shadow-pop);padding:1.75rem 1.75rem 1.5rem;width:100%;max-width:480px;max-height:calc(100vh - 2rem);overflow-y:auto;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.modal-card--wide{max-width:540px}.modal-card__title{font-family:var(--sa-font-display);font-size:1.5rem;font-weight:var(--sa-weight-display);color:var(--sa-fg);margin-bottom:.35rem}.modal-card__sub{font-size:.95rem;color:var(--sa-fg-muted);font-weight:400;line-height:1.45;margin-bottom:1.25rem}.modal-card__body{margin-bottom:1.25rem}.modal-steps{display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem;font-size:.82rem;font-weight:700}.modal-step{display:inline-flex;align-items:center;gap:.45rem;color:var(--sa-fg-muted)}.modal-step--active{color:var(--sa-fg)}.modal-step--done{color:var(--wa-ok)}.modal-step__dot{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border-radius:999px;background:var(--sa-surface-2);color:var(--sa-fg-muted);font-size:.78rem;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.modal-step--active .modal-step__dot{background:var(--sa-app);color:#fff}.modal-step--done .modal-step__dot{background:var(--wa-ok-bg);color:var(--wa-ok)}.modal-step__label{font-weight:700}.modal-steps__line{flex:1;height:2px;background:var(--sa-border);border-radius:2px;min-width:1.2rem}.room-naming{margin-bottom:.5rem}.room-naming__row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.room-naming__field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.room-naming__field--small{max-width:160px}.room-naming__label{font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);color:var(--sa-fg)}.room-naming__required{color:var(--sa-danger);font-weight:700;margin-left:.15rem}.room-naming__input{width:100%;min-height:var(--sa-tap);font-family:inherit;font-size:1rem;padding:.55rem .85rem;border-radius:var(--sa-radius-btn);border:2px solid var(--sa-border-strong);background:var(--sa-input-bg);color:var(--sa-input-fg);transition:border-color .15s,box-shadow .15s}.room-naming__input::placeholder{color:var(--sa-input-muted);opacity:1}.room-naming__input:focus{border-color:var(--sa-focus)}.room-naming__input--error{border-color:var(--sa-danger);box-shadow:0 0 0 2px var(--sa-danger-bg)}.room-naming__error{margin-top:.55rem;background:var(--sa-danger-bg);color:var(--sa-danger);border:1px solid var(--sa-danger);border-radius:.55rem;padding:.4rem .7rem;font-size:.85rem;font-weight:600}.room-naming__preview{margin-top:.55rem;font-size:.85rem;color:var(--sa-fg);background:var(--sa-app-soft);border:1px solid var(--sa-app);border-radius:.55rem;padding:.45rem .7rem}@media (max-width: 480px){.room-naming__row{grid-template-columns:1fr}.room-naming__field--small{max-width:none}}.modal-card__body .stats-card{background:var(--sa-surface-2);border:1px solid var(--sa-border);color:var(--sa-fg)}.modal-card__body .option-row{background:var(--sa-surface);border:2px solid var(--sa-border);color:var(--sa-fg)}.modal-card__body .option-row:hover{background:var(--sa-surface-2)}.modal-card__body .option-row--active{border-color:var(--sa-app);background:var(--sa-app-soft)}.modal-card__body .option-row input[type=radio]{accent-color:var(--sa-app)}.modal-card__body .option-label{color:var(--sa-fg)}.modal-card__body .option-desc,.modal-card__body .competition-row__label{color:var(--sa-fg-muted)}.modal-card__body .competition-sub{border-top-color:var(--sa-border)}.modal-card__body .number-stepper{background:var(--sa-surface);border-color:var(--sa-border-strong)}.modal-card__body .number-stepper button{background:var(--sa-surface-2);color:var(--sa-fg)}.modal-card__body .number-stepper button:hover{background:var(--sa-app-soft)}.modal-card__body .number-stepper__value{color:var(--sa-fg)}.modal-card__actions{display:flex;gap:.65rem;justify-content:flex-end;padding-top:.25rem;border-top:1px solid var(--sa-border)}.modal-card__actions .sa-btn{padding:.5rem 1.25rem;font-size:.95rem}.teacher-message-reply-box{display:flex;flex-direction:column;gap:.55rem;width:100%}.teacher-message-reply-box__input{width:100%;padding:.75rem;background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);font-family:inherit;font-size:1rem;resize:vertical;transition:border-color .15s,box-shadow .15s}.teacher-message-reply-box__input:focus{border-color:var(--sa-focus)}.teacher-message-reply-box__hint{font-size:.78rem;color:var(--sa-fg-muted);font-style:italic}.teacher-message-reply-box__actions{display:flex;gap:.55rem;justify-content:flex-end}.teacher-message-reply-box--sent{align-items:center;text-align:center;padding:.75rem 0}.teacher-message-reply-box__label{font-size:.85rem;font-weight:700;color:var(--sa-app-text);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem}.teacher-message-reply-box__text{font-style:italic;color:var(--sa-fg-muted);margin-bottom:1rem}.student-list-hint{font-size:.78rem;color:var(--sa-fg-muted);margin-bottom:.55rem;padding:.35rem .55rem;background:var(--sa-surface-2);border:1px dashed var(--sa-border-strong);border-radius:.55rem;font-weight:400}.reply-toast-stack{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.65rem;z-index:8000;max-width:320px;pointer-events:none}.reply-toast{position:relative;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-left:4px solid var(--sa-app);border-radius:var(--sa-radius-btn);padding:.75rem .9rem .75rem 1rem;box-shadow:var(--sa-shadow-pop);pointer-events:auto;animation:reply-toast-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes reply-toast-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.reply-toast__head{display:flex;align-items:center;gap:.45rem;margin-bottom:.25rem}.reply-toast__icon{font-size:1rem}.reply-toast__name{font-weight:700;font-size:.92rem;color:var(--sa-fg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-toast__close{position:absolute;top:.35rem;right:.45rem;background:transparent;border:none;width:1.4rem;height:1.4rem;font-size:1.1rem;line-height:1;color:var(--sa-fg-muted);cursor:pointer;padding:0;border-radius:50%;transition:background .12s,color .12s}.reply-toast__close:hover{background:var(--sa-surface-2);color:var(--sa-fg)}.reply-toast__text{font-size:.92rem;line-height:1.4;word-wrap:break-word;color:var(--sa-fg)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;color:var(--sa-fg)}.loading-screen__spinner{width:48px;height:48px;border:4px solid var(--sa-border);border-top-color:var(--sa-app);border-radius:50%;animation:loading-spin .9s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-screen__text{font-size:1rem;font-weight:700;letter-spacing:.05em;color:var(--sa-fg-muted);text-transform:uppercase}.results-leaderboard{width:100%;margin-top:1.25rem}.lobby-main{flex:1;display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:920px;margin:0 auto;padding:1rem .5rem;align-self:stretch;overflow-y:auto}.lobby-main__head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--sa-fg);padding:1rem 1.5rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl)}.lobby-main__icon{font-size:2.4rem;line-height:1}.lobby-main__title{font-family:var(--sa-font-display);font-size:1.6rem;font-weight:var(--sa-weight-display)}.lobby-main__sub{font-size:.95rem;color:var(--sa-fg-muted);max-width:600px}.preview-toggle-btn{margin-top:.35rem;min-height:var(--sa-tap-sm);background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);padding:.3rem 1rem;border-radius:999px;font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s}.preview-toggle-btn:hover{background:var(--sa-surface-2)}.preview-toggle-btn:active{transform:scale(.96)}.preview-back-btn{position:absolute;top:.65rem;left:.65rem;background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);padding:.5rem 1.1rem;border-radius:999px;font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;z-index:50;box-shadow:var(--sa-shadow);transition:background .15s,transform .1s}.preview-back-btn:hover{background:var(--sa-surface-2);transform:translate(-2px)}.preview-back-btn:active{transform:scale(.95)}.cw-readonly{position:relative}.lobby-main__btn-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:.35rem}.lobby-replace-btn{background:var(--wa-hi-soft)!important;border-color:var(--amber-dark)!important}.lobby-replace-btn:hover{background:var(--wa-hi)!important;color:var(--sa-ink)!important}.replace-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:200;animation:fade-in .15s ease-out}.replace-modal-card{background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.75rem;max-width:520px;width:100%;box-shadow:var(--sa-shadow-pop);animation:pop-in .18s cubic-bezier(.34,1.56,.64,1);max-height:90vh;overflow-y:auto}.replace-modal__icon{font-size:2.4rem;line-height:1;text-align:center;margin-bottom:.3rem}.replace-modal__title{font-family:var(--sa-font-display);font-size:1.4rem;font-weight:var(--sa-weight-display);color:var(--sa-fg);text-align:center;margin-bottom:.55rem}.replace-modal__sub{font-size:.92rem;color:var(--sa-fg);line-height:1.5;text-align:center;margin-bottom:1.1rem}.replace-modal__error{background:var(--sa-danger-bg);color:var(--sa-danger);border:1px solid var(--sa-danger);border-radius:.65rem;padding:.6rem .85rem;font-size:.9rem;font-weight:600;margin-bottom:1rem}.replace-modal__field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.replace-modal__label{font-size:var(--sa-text-sm);font-weight:var(--sa-weight-bold);color:var(--sa-fg)}.replace-modal__textarea{width:100%;font-family:inherit;font-size:.95rem;padding:.75rem .9rem;border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);background:var(--sa-input-bg);color:var(--sa-input-fg);resize:vertical;min-height:8rem;line-height:1.5}.replace-modal__textarea:focus{border-color:var(--sa-focus)}.replace-modal__hint{font-size:.8rem;color:var(--sa-fg-muted);font-style:italic;line-height:1.45}.replace-modal__file-zone{display:flex;flex-direction:column;align-items:center;gap:.6rem;border:2px dashed var(--sa-border-strong);border-radius:var(--sa-radius-btn);padding:1.25rem 1rem;text-align:center;background:var(--sa-surface-2);transition:border-color .15s,background .15s;margin-bottom:1rem}.replace-modal__file-zone.drag-over{border-color:var(--sa-app);background:var(--sa-app-soft)}.replace-modal__file-icon{font-size:2rem;line-height:1}.replace-modal__file-text{font-weight:700;font-size:1rem;color:var(--sa-fg)}.replace-modal__actions{display:flex;gap:.65rem;justify-content:flex-end}@media (max-width: 540px){.replace-modal-card{padding:1.25rem;border-radius:1rem}.replace-modal__title{font-size:1.15rem}}.preview-student-view{padding-top:3.5rem}.preview-student-view__badge{position:absolute;top:.8rem;right:.8rem;background:var(--sa-app);color:#fff;padding:.45rem 1rem;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.02em;z-index:49;pointer-events:none}.preview-student-view__stage{pointer-events:none;-webkit-user-select:none;user-select:none}.preview-student-view__stage input,.preview-student-view__stage button,.preview-student-view__stage textarea,.preview-student-view__stage select{pointer-events:none}.preview-student-view__hint{margin-top:.8rem;font-size:.92rem;color:var(--sa-fg-muted);font-style:italic}@media (max-width: 720px){.preview-student-view__badge{position:static;display:inline-block;margin:0 0 1rem .5rem}.preview-student-view{padding-top:3.25rem}}.lobby-main .group-manager{background:var(--sa-surface);border-color:var(--sa-border)}.lobby-main .group-manager__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@keyframes lobby-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.group-lobby--assigned{align-items:center;justify-content:center;flex:1}.group-banner{position:relative;background:#fff;border:2px solid var(--sa-border);border-radius:var(--sa-radius-hero);box-shadow:var(--sa-shadow-pop);padding:2.5rem 2.75rem;width:min(560px,95vw);text-align:center;color:var(--sa-ink);overflow:hidden;transform:scale(.92);opacity:0;animation:group-banner-in .6s cubic-bezier(.34,1.56,.64,1) .1s forwards}@keyframes group-banner-in{0%{transform:scale(.9) translateY(20px);opacity:0}60%{transform:scale(1.02) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.group-banner__head{margin-bottom:1.25rem}.group-banner__label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#535c70;margin-bottom:.35rem}.group-banner__name{font-family:var(--sa-font-display);font-size:clamp(2.2rem,5vw,3.2rem);font-weight:var(--sa-weight-display);letter-spacing:-.02em;background:linear-gradient(135deg,var(--emerald-darker),var(--emerald));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.group-banner--color-emerald .group-banner__name{background-image:linear-gradient(135deg,#047857,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-amber .group-banner__name{background-image:linear-gradient(135deg,#b45309,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-sky .group-banner__name{background-image:linear-gradient(135deg,#0369a1,#38bdf8);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-rose .group-banner__name{background-image:linear-gradient(135deg,#be123c,#fb7185);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-violet .group-banner__name{background-image:linear-gradient(135deg,#6d28d9,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-orange .group-banner__name{background-image:linear-gradient(135deg,#c2410c,#fb923c);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-teal .group-banner__name{background-image:linear-gradient(135deg,#0e7490,#2dd4bf);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner--color-pink .group-banner__name{background-image:linear-gradient(135deg,#be185d,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.group-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.35}.group-banner--color-emerald:before{color:var(--emerald)}.group-banner--color-amber:before{color:var(--amber)}.group-banner--color-sky:before{color:var(--sky)}.group-banner--color-rose:before{color:var(--rose)}.group-banner--color-violet:before{color:var(--violet)}.group-banner--color-orange:before{color:var(--orange)}.group-banner--color-teal:before{color:var(--cyan)}.group-banner--color-pink:before{color:#ec4899}.group-banner__members{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;align-items:center}.group-banner__member{display:inline-flex;align-items:center;gap:.55rem;background:#f5eee3;border:1px solid #ece2d3;border-radius:.85rem;padding:.55rem 1rem;font-weight:700;font-size:1.05rem;min-width:200px;justify-content:center}.group-banner__member--self{background:#34d39940;border-color:#34d39980;box-shadow:0 4px 12px #34d39940}.group-banner__member--ghost{background:#f5eee3;border-style:dashed;color:#535c70;font-style:italic}.group-banner__member-icon{font-size:1.1rem}.group-banner__waiting{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:#535c70;font-weight:700;padding:.45rem .85rem;background:#f5eee3;border-radius:999px}.group-banner__dot{width:.55rem;height:.55rem;background:var(--sa-app);border-radius:50%;animation:group-banner-dot 1.4s ease-in-out infinite}@keyframes group-banner-dot{0%,to{box-shadow:0 0 #10b98180}50%{box-shadow:0 0 0 8px #10b98100}}.group-banner__sparkle{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.group-banner__sparkle span{position:absolute;width:8px;height:8px;border-radius:50%;opacity:0;animation:sparkle-fly 2s ease-out forwards}.group-banner__sparkle span:nth-child(1){background:#facc15;top:18%;left:8%;animation-delay:.2s}.group-banner__sparkle span:nth-child(2){background:#34d399;top:22%;right:10%;animation-delay:.35s}.group-banner__sparkle span:nth-child(3){background:#f472b6;bottom:18%;left:12%;animation-delay:.15s}.group-banner__sparkle span:nth-child(4){background:#60a5fa;bottom:25%;right:8%;animation-delay:.4s}.group-banner__sparkle span:nth-child(5){background:#fb923c;top:50%;left:4%;animation-delay:.25s}.group-banner__sparkle span:nth-child(6){background:#a78bfa;top:55%;right:6%;animation-delay:.3s}@keyframes sparkle-fly{0%{transform:translate(0) scale(0);opacity:0}20%{opacity:1}to{transform:translate(var(--dx, 30px),var(--dy, -40px)) scale(1.3);opacity:0}}.group-banner__sparkle span:nth-child(odd){--dx: -25px;--dy: -50px}.group-banner__sparkle span:nth-child(2n){--dx: 30px;--dy: -45px}@media (max-width: 720px){.cloze-play-layout{flex-direction:column}.cloze-wordbank{width:auto;margin:0 1rem 1rem;max-height:30vh}}@media print{.cloze-play-layout{display:block!important}.cloze-wordbank{background:#fff!important;color:#0f172a!important;border:1px solid #94a3b8!important;margin:1rem 0!important;width:100%!important;max-height:none!important}.cloze-wordbank__title{color:#475569!important}.cloze-wordbank__item{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important}.cloze-hint,.cloze-hint__bubble{display:none!important}}.cloze-blank--readonly{background:var(--wa-ok-bg);color:inherit;padding:.05rem .55rem;border-radius:.55rem;font-weight:700;margin:0 .15rem}.cloze-blank--result{margin:0 .2rem;padding:.1rem .55rem;border-radius:.55rem;font-weight:700;display:inline-flex;gap:.35rem;align-items:baseline}.cloze-blank--correct{background:var(--wa-ok-bg);color:var(--wa-ok)}.cloze-blank--wrong{background:var(--wa-bad-bg);color:var(--wa-bad)}.cloze-given{font-weight:800}.cloze-blank--wrong .cloze-given{text-decoration:line-through}.cloze-correct{font-weight:700;font-size:.9em;text-decoration:none;color:var(--wa-ok);margin-left:.25rem;padding-left:.35rem;border-left:2px solid var(--wa-ok)}.cloze-slot--casehint{flex-wrap:wrap;max-width:100%;row-gap:0}.cloze-casehint{display:inline-block;margin-left:.25rem;padding:0 .45rem;border-radius:.45rem;background:var(--wa-hi-soft);color:var(--wa-hi-text);font-size:.72em;font-weight:700;line-height:1.5;text-decoration:none;white-space:normal}.cloze-casenote{display:inline-block;margin-bottom:.6rem;padding:.1rem .6rem;border-radius:.5rem;background:var(--wa-hi-soft);color:var(--wa-hi-text);font-size:.85rem;font-weight:700;line-height:1.5}.whiteboard .cloze-casenote{font-size:calc(.8rem * var(--wb-font-scale))}.cloze-play-scroll{flex:0 1 820px;width:100%;max-width:820px;overflow-y:auto;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:clamp(1.75rem,4vw,2.5rem) clamp(1.5rem,4vw,2.5rem);color:var(--sa-fg);box-shadow:var(--sa-shadow)}.cloze-play-scroll .cloze-text{color:var(--sa-fg);margin:0;font-size:1.15rem;line-height:2.3}.cloze-room-readonly{width:100%;max-width:820px;background:var(--sa-surface);color:var(--sa-fg);padding:2rem;border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl)}.results-card--cloze{max-width:720px}.results-detail--cloze{background:var(--sa-surface);color:var(--sa-fg);padding:1rem 1.25rem;max-height:50vh}@media print{.cloze-blank--input{border:0!important;border-bottom:2px solid #888!important;background:transparent!important;box-shadow:none!important}.cloze-play-layout{padding:0!important}.cloze-play-scroll{background:#fff!important;color:#0f172a!important;overflow:visible!important;padding:1rem!important;box-shadow:none!important;border:none!important;border-radius:0!important}.cloze-play-scroll .cloze-text{color:#0f172a!important}}.results-view{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.results-card{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:2.5rem 2rem;width:100%;max-width:580px;box-shadow:var(--sa-shadow-pop);display:flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--sa-fg)}.results-trophy{font-size:5rem;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}.results-title{font-family:var(--sa-font-display);font-size:1.9rem;font-weight:var(--sa-weight-display);color:var(--sa-fg);text-align:center}.results-score{display:flex;align-items:baseline;gap:.25rem}.score-number{font-family:var(--sa-font-display);font-size:5rem;font-weight:var(--sa-weight-display);color:var(--wa-ok);line-height:1}.score-divider{font-size:2.5rem;color:var(--sa-fg-muted)}.score-total{font-size:3rem;font-weight:700;color:var(--sa-fg-muted)}.results-subtitle{color:var(--sa-fg-muted);font-size:1rem;margin-top:-.4rem;font-weight:400}.results-detail{width:100%;display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto;border-radius:var(--sa-radius-lg);border:1px solid var(--sa-border);padding:.55rem;background:var(--sa-surface)}.result-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .7rem;border-radius:.65rem;font-size:.9rem;font-weight:500}.result-item.correct{background:var(--wa-ok-bg);color:var(--wa-ok)}.result-item.wrong{background:var(--wa-bad-bg);color:var(--wa-bad)}.result-icon{flex-shrink:0;font-size:1rem;margin-top:.1rem;font-weight:700}.result-clue{flex:1;line-height:1.45}.correct-answer{font-weight:700;flex-shrink:0;padding-left:.5rem;color:var(--wa-ok)}@media (max-width: 768px){.preview-layout{grid-template-columns:1fr;overflow-y:auto}.preview-main{border-bottom:1px solid var(--sa-border)}.room-layout{flex-direction:column;overflow-y:auto}.room-main{min-height:45vh}.room-panel{width:100%}.room-code{font-size:2.2rem;letter-spacing:.18em}}@media (max-width: 640px){.play-view{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:visible;max-width:100vw}.cw-layout{flex-direction:column;overflow-x:hidden;overflow-y:visible;padding:.75rem;gap:.75rem;max-width:100vw}.cw-panel{overflow-x:hidden;overflow-y:visible;max-width:100%}.cw-scroll{padding:12px;flex-shrink:0;overflow-x:hidden;overflow-y:visible;max-width:100%;touch-action:pan-x pan-y;position:relative}.cw-zoom-layer{width:auto;max-width:none}.clue-list{display:none}.cw-cluebar__all-btn{display:flex!important}}@keyframes cwHintFade{0%,70%{opacity:1}to{opacity:0;visibility:hidden}}@media print{@page{size:A4 landscape;margin:1.2cm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important;color:#0f172a!important}.print-info{display:flex!important;gap:1.5rem;align-items:baseline;padding-bottom:.6rem;margin-bottom:.4rem;border-bottom:2px solid #1e1b4b;font-size:.85rem;color:#1e293b;flex-shrink:0}.print-info strong{font-size:1.1rem;color:#1e1b4b;margin-right:auto}.play-header,.cw-cluebar{display:none!important}.play-view,.cw-layout,.cw-panel,.clue-list{overflow:visible!important;height:auto!important}.play-view{background:#fff!important;display:flex;flex-direction:column}.cw-layout{flex:1;flex-direction:column!important;page-break-inside:avoid;padding:0!important;gap:0!important}.cw-panel{background:#fff!important;border:none!important;border-radius:0!important}.cw-scroll{overflow:visible!important;flex:0 0 auto!important;background:#fff!important;padding:12px!important;align-items:flex-start!important;justify-content:flex-start!important}.cw-grid{background:#555!important;box-shadow:none!important;border-color:#555!important}.cell--black{background:#333!important}.cell--white,.cell--selected,.cell--highlighted{background:#fff!important}.cell__input{color:#0f172a!important}.cell__number{color:#4f46e5!important}.cell__sol-idx{background:#facc15!important;color:#0f172a!important}.sol-strip{background:#f8fafc!important;border-top:2px solid #e2e8f0!important;padding:.5rem 1rem!important}.sol-strip__label{color:#d97706!important}.sol-box__idx{color:#64748b!important}.sol-box__letter{border-color:#94a3b8!important;background:#fff!important;color:transparent!important}.sol-box__letter--filled{background:#facc15!important;color:#0f172a!important;border-color:#facc15!important;box-shadow:none!important}.clue-list{width:100%!important;border-left:none!important;border-top:2px solid #1e1b4b!important;background:#fff!important;color:#0f172a!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 2rem!important;overflow:visible!important;height:auto!important;padding-top:.5rem!important}.clue-section{break-inside:avoid}.clue-section-title{background:#f8fafc!important;color:#475569!important;position:static!important}.clue-item,.clue-text{color:#0f172a!important}.clue-number{color:#4f46e5!important}.clue-selected{background:#fef9c3!important}.ws-grid{background:#555!important}.ws-cell{background:#fff!important}.ws-cell--found,.ws-cell--active{background:#fff!important;box-shadow:inset 0 0 0 2px #d97706!important}.ws-cell__letter{color:#0f172a!important}}.ana-play-scroll{flex:1;overflow-y:auto;min-height:0;padding:1rem 1.25rem}.ana-list{display:flex;flex-direction:column;gap:.85rem;max-width:720px;width:100%;margin:0 auto}.ana-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.85rem;row-gap:.65rem;align-items:center;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:.85rem 1rem;transition:border-color .2s,background .2s}.ana-card--correct{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.ana-card--wrong{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.ana-card__num{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--sa-surface-2);color:var(--sa-fg);font-weight:800;font-size:1rem;font-variant-numeric:tabular-nums}.ana-chips{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.ana-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;height:2.4rem;padding:0 .25rem;background:var(--sa-app-soft);color:var(--sa-fg);border:1px solid var(--sa-border);border-radius:.55rem;font-weight:700;font-size:1.35rem;box-shadow:inset 0 -2px #0000001a;letter-spacing:0}.ana-chip--small{min-width:1.7rem;height:1.7rem;font-size:.98rem;border-radius:.4rem;box-shadow:var(--sa-shadow)}.ana-input{grid-column:2;grid-row:2;width:100%;font-family:inherit;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;min-height:var(--sa-tap);background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);padding:.45rem .75rem;transition:border-color .15s,box-shadow .15s,background .2s}.ana-input::placeholder{color:var(--sa-input-muted);font-weight:400;letter-spacing:0;text-transform:none;opacity:1}.ana-input:focus{border-color:var(--sa-focus)}.ana-input--correct{background:var(--wa-ok-bg);color:var(--sa-fg);border-color:var(--wa-ok)}.ana-input:disabled{cursor:default}.ana-solution{grid-column:2;grid-row:2;font-weight:700;font-size:1.05rem;color:var(--sa-fg);background:var(--wa-ok-bg);padding:.35rem .75rem;border-radius:.5rem;letter-spacing:.05em;text-transform:uppercase;align-self:start}.ana-solution-clue{font-weight:400;color:var(--sa-fg-muted);text-transform:none;letter-spacing:0;font-style:italic;font-size:.92rem}.ana-hint-toggle{grid-column:2;grid-row:3;display:inline-flex;align-items:center;gap:.45rem;background:var(--wa-hi-soft);border:1.5px dashed var(--amber-dark);border-radius:.6rem;padding:.4rem .75rem;color:var(--sa-fg);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.15rem;transition:background .15s,transform .12s;align-self:start;animation:anaHintIn .25s ease-out}.ana-hint-toggle:hover{border-style:solid;transform:translateY(-1px)}.ana-hint-toggle:active{transform:translateY(0)}.ana-hint-toggle__hint{color:var(--sa-fg-muted);font-weight:400;font-size:.85rem}.ana-hint{grid-column:2;grid-row:3;display:flex;align-items:center;gap:.45rem;background:var(--wa-hi-soft);border:1.5px solid var(--amber-dark);border-radius:.6rem;padding:.45rem .75rem;color:var(--sa-fg);font-size:.98rem;margin-top:.15rem;animation:anaHintIn .25s ease-out}@keyframes anaHintIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ana-hint__icon{font-size:1.1rem}.ana-hint__label{font-weight:700;color:var(--wa-hi-text);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}.ana-hint__text{font-weight:600}.ana-result-row{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:.35rem}.ana-result-given,.ana-result-correct{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap}.ana-result-label{font-size:.82rem;color:var(--sa-fg-muted);font-weight:600}.ana-result-value{font-weight:700;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .55rem;border-radius:.4rem}.ana-result-value--ok{background:var(--wa-ok-bg);color:var(--sa-fg)}.ana-result-value--bad{background:var(--wa-bad-bg);color:var(--sa-fg)}.ana-result-icon{font-weight:900;font-size:1.1rem}.ana-room-readonly{width:100%;max-width:720px;margin:0 auto}.ana-setup-list{display:flex;flex-direction:column;gap:.45rem;max-width:600px}.ana-setup-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.65rem;align-items:center;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.65rem;padding:.45rem .75rem;color:var(--sa-fg)}.ana-setup-row__num{width:1.7rem;height:1.7rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--sa-surface);border:1px solid var(--sa-border);font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}.ana-setup-row__scrambled{display:flex;gap:.25rem;flex-wrap:wrap}.ana-setup-row__arrow{font-size:1.1rem;opacity:.6}.ana-setup-row__word{font-weight:700;letter-spacing:.05em;color:var(--sa-app-text);font-size:1rem}.ana-setup-row__clue{grid-column:1 / -1;background:var(--wa-hi-soft);border:1px solid var(--wa-hi);border-radius:.45rem;padding:.25rem .55rem;font-size:.88rem;color:var(--sa-fg);font-style:italic;margin-top:.3rem}.ana-chip--missing{background:#fbbf24d9;color:var(--sa-ink);border:2px dashed var(--amber-dark);box-shadow:none}.ana-pro-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--amber);color:var(--sa-ink);font-weight:700;font-size:.82rem;padding:.15rem .55rem;border-radius:999px;margin-left:.55rem;vertical-align:middle;letter-spacing:.04em}.ana-pro-badge--big{font-size:1rem;padding:.25rem .85rem}.ana-bonus-live{font-weight:700;color:var(--sa-fg-muted)}.ana-bonus-live--active{background:var(--amber);color:var(--sa-ink);padding:.15rem .55rem;border-radius:.45rem;opacity:1;animation:anaBonusPulse 1.4s ease-in-out infinite}@keyframes anaBonusPulse{0%,to{box-shadow:0 0 #fbbf2499}50%{box-shadow:0 0 0 6px #fbbf2400}}.leaderboard-pro{display:inline-block;margin-left:.35rem;font-size:.9em}.leaderboard-row__score-pro{font-size:.72rem;font-weight:700;color:var(--wa-hi-text);margin-top:.12rem;letter-spacing:.04em}.ana-pro-picker{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;gap:1.5rem;color:var(--sa-fg)}.ana-pro-picker__head{text-align:center}.ana-pro-picker__welcome{font-family:var(--sa-font-display);font-size:1.9rem;font-weight:var(--sa-weight-display)}.ana-pro-picker__sub{font-size:1.05rem;color:var(--sa-fg-muted);margin-top:.35rem}.ana-pro-picker__cards{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:1.25rem;max-width:720px;width:100%}@media (max-width: 640px){.ana-pro-picker__cards{grid-template-columns:1fr}}.ana-pro-card{display:flex;flex-direction:column;gap:.65rem;align-items:center;text-align:center;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.5rem 1.25rem;color:var(--sa-fg);cursor:pointer;font-family:inherit;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;box-shadow:var(--sa-shadow)}.ana-pro-card:hover{transform:translateY(-4px);border-color:var(--sa-app);box-shadow:var(--sa-shadow-pop)}.ana-pro-card:active{transform:translateY(-1px)}.ana-pro-card__icon{font-size:3.2rem;line-height:1}.ana-pro-card__title{font-family:var(--sa-font-display);font-size:1.5rem;font-weight:var(--sa-weight-display)}.ana-pro-card__desc{font-size:.97rem;color:var(--sa-fg-muted);line-height:1.45}.ana-pro-card--pro{background:var(--wa-hi-soft);border-color:var(--amber-dark)}.ana-pro-card--pro:hover{border-color:var(--amber-dark);box-shadow:0 0 0 2px var(--amber-dark),var(--sa-shadow-pop)}.ana-pro-card--pro .ana-pro-card__title{color:var(--wa-hi-text)}.results-pro-bonus{background:var(--wa-hi-soft);border:1.5px solid var(--amber-dark);border-radius:.85rem;padding:.65rem 1rem;margin:.5rem auto 0;font-size:1.05rem;color:var(--sa-fg);font-weight:600;display:inline-block}.results-pro-bonus strong{color:var(--wa-hi-text)}.results-pro-bonus--miss{background:var(--sa-surface-2);border-color:var(--sa-border);color:var(--sa-fg)}.results-pro-bonus--miss strong{color:var(--wa-bad)}.ana-setup-empty{background:var(--wa-bad-bg);border:1px solid var(--wa-bad);color:var(--sa-fg);padding:.85rem;border-radius:.65rem;text-align:center}@media (max-width: 640px){.ana-card{grid-template-columns:auto 1fr}.ana-chip{min-width:2.05rem;height:2.05rem;font-size:1.1rem}}.wd-play-scroll{flex:1;overflow-y:auto;min-height:0;padding:1rem}.wd-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:560px;margin:0 auto;color:var(--sa-fg)}.wd-progress{font-size:1rem;color:var(--sa-fg-muted);text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.wd-progress strong{font-weight:700;color:var(--sa-fg);opacity:1}.wd-progress__sep{opacity:.5}.wd-info-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);font-family:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .15s,transform .12s;flex-shrink:0}.wd-info-btn:hover{background:var(--sa-surface-2);transform:scale(1.06)}.wd-info-btn:active{transform:scale(.96)}.wd-info-list{list-style:decimal;padding-left:1.4rem;display:flex;flex-direction:column;gap:.8rem;color:var(--sa-fg);font-size:.98rem;line-height:1.5}.wd-info-list li{padding-left:.15rem}.wd-info-list strong{color:var(--sa-fg);font-weight:700}.wd-info-legend{display:flex;flex-direction:column;gap:.5rem;margin-top:.55rem}.wd-info-legend__row{display:flex;align-items:center;gap:.85rem}.wd-info-legend__cell{width:2.2rem!important;height:2.2rem!important;font-size:1.1rem!important;flex-shrink:0;animation:none!important}.wd-grid-wrap{display:flex;justify-content:center}.wd-grid-wrap--shake{animation:wdShake .35s ease-in-out}@keyframes wdShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.wd-grid{display:flex;flex-direction:column;gap:.35rem}.wd-row{display:flex;gap:.35rem}.wd-cell{width:3.1rem;height:3.1rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--sa-border-strong);background:var(--sa-surface);border-radius:.35rem;font-size:1.7rem;font-weight:700;color:var(--sa-fg);text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:border-color .12s,transform .12s}.wd-cell--filled{border-color:var(--sa-fg);transform:scale(1.04)}.wd-row--active .wd-cell--filled{animation:wdPop .12s ease-out}@keyframes wdPop{0%{transform:scale(1)}60%{transform:scale(1.1)}to{transform:scale(1.04)}}.wd-cell--correct,.wd-cell--present,.wd-cell--absent{color:var(--sa-ink);border:2px solid transparent;animation:wdFlip .55s ease both;animation-delay:var(--delay, 0ms)}.wd-cell--correct{background:#4caf50;border-color:#4caf50}.wd-cell--present{background:#e0a82e;border-color:#e0a82e}.wd-cell--absent{background:#4a4f55;border-color:#4a4f55;color:#fff}@keyframes wdFlip{0%{transform:rotateX(0)}45%{transform:rotateX(90deg)}55%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.wd-banner{width:100%;display:flex;flex-direction:column;align-items:center;gap:.85rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1rem 1.25rem;text-align:center}.wd-banner--solved{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.wd-banner--failed{border-color:var(--sa-border-strong)}.wd-banner__main{display:flex;flex-direction:column;gap:.15rem}.wd-banner__title{font-family:var(--sa-font-display);font-size:1.4rem;font-weight:var(--sa-weight-display)}.wd-banner__sub{font-size:1rem}.wd-banner__hint{font-size:.9rem;color:var(--sa-fg-muted);font-style:italic}.wd-explanation{width:100%;display:flex;align-items:flex-start;gap:.55rem;background:var(--wa-hi-soft);border:1.5px solid var(--amber-dark);border-radius:.75rem;padding:.65rem .85rem;color:var(--sa-fg);font-size:.98rem;line-height:1.45;text-align:left;animation:fadeIn .3s ease-out}.wd-explanation__label{font-weight:700;color:var(--wa-hi-text);letter-spacing:.04em;flex-shrink:0}.wd-explanation__text{font-weight:400;color:var(--sa-fg)}.wd-explanation--inline{margin-top:.55rem;font-size:.9rem;padding:.45rem .65rem}.wd-explanation--upfront{width:100%;max-width:560px;margin:0 auto;align-self:center;background:var(--sa-surface);border-style:dashed}.wd-keyboard{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:560px;margin-top:.25rem}.wd-keyboard__row{display:flex;gap:.3rem;justify-content:center}.wd-key{flex:1 0 auto;min-width:1.85rem;height:3.1rem;font-family:inherit;font-size:1rem;font-weight:700;background:var(--sa-surface);border:1px solid var(--sa-border-strong);border-bottom:3px solid var(--sa-border-strong);border-radius:.4rem;color:var(--sa-fg);cursor:pointer;transition:transform .08s,background .12s}.wd-key:not(:disabled):hover{background:var(--sa-surface-2)}.wd-key:not(:disabled):active{transform:translateY(1px);border-bottom-width:1px}.wd-key--wide{flex:2.4 0 auto;font-size:1rem;min-width:3.6rem;padding:0 .35rem;letter-spacing:.02em}.wd-key--correct{background:#4caf50;border-color:#43a047;border-bottom-color:#2e7d32;color:var(--sa-ink)}.wd-key--present{background:#e0a82e;border-color:#c9931f;border-bottom-color:#9e741b;color:var(--sa-ink)}.wd-key--absent{background:#4a4f55;border-color:#393d42;border-bottom-color:#2a2d31;color:#fff}.wd-key:disabled{opacity:.9;cursor:not-allowed}.wd-results{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:560px;margin:0 auto}.wd-results-card{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:.8rem;color:var(--sa-fg)}.wd-results-card__head{display:flex;align-items:center;gap:.65rem;margin-bottom:.55rem;font-size:1rem}.wd-results-card__num{color:var(--sa-fg-muted);font-weight:700}.wd-results-card__word{font-weight:700;letter-spacing:.12em;font-size:1.1rem}.wd-results-card__status{margin-left:auto;font-weight:700;padding:.15rem .65rem;border-radius:999px;font-size:.9rem}.wd-results-card__status--ok{background:var(--wa-ok-bg);color:var(--wa-ok)}.wd-results-card__status--bad{background:var(--sa-surface-2);color:var(--sa-fg)}.wd-results-card .wd-cell{width:2.4rem;height:2.4rem;font-size:1.3rem}.wd-room-readonly{width:100%;max-width:560px;margin:0 auto;color:var(--sa-fg)}.wd-room-readonly__head{text-align:center;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.65rem;padding:.55rem .85rem;margin-bottom:.65rem;font-size:1rem}.wd-room-readonly__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.35rem}.wd-room-readonly__list li{background:var(--sa-surface);border:1px solid var(--sa-border);border-radius:.5rem;padding:.35rem .65rem;font-weight:700;letter-spacing:.08em}.wd-room-readonly__num{color:var(--sa-fg-muted);font-weight:700;margin-right:.35rem}@media (max-width: 540px){.wd-cell{width:2.55rem;height:2.55rem;font-size:1.4rem}.wd-key{min-width:1.65rem;height:2.85rem;font-size:.92rem}.wd-key--wide{font-size:1rem}}.ak-play-scroll{flex:1;overflow-y:auto;min-height:0;padding:1rem 1.25rem}.ak-container{display:flex;flex-direction:column;gap:1rem;max-width:760px;width:100%;margin:0 auto;color:var(--sa-fg)}.ak-solution-bar{background:var(--wa-hi-soft);border:2px solid var(--amber-dark);border-radius:var(--sa-radius-lg);padding:.85rem 1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ak-solution-bar__label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--wa-hi-text)}.ak-solution-bar__boxes{display:flex;gap:.35rem;flex-wrap:wrap}.ak-solution-box{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;height:2.4rem;padding:0 .35rem;background:var(--sa-surface);border:1.5px dashed var(--sa-border-strong);border-radius:.45rem;font-size:1.4rem;font-weight:700;color:var(--sa-fg-muted);letter-spacing:0}.ak-solution-box--filled{background:var(--wa-hi);border:2px solid var(--amber-dark);color:var(--sa-ink);animation:akSolutionPop .4s ease-out}@keyframes akSolutionPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}.ak-list{display:flex;flex-direction:column;gap:.75rem}.ak-row{display:grid;grid-template-columns:auto 1fr;column-gap:.85rem;align-items:center;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:.85rem 1rem;transition:border-color .2s,background .2s}.ak-row--correct{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.ak-row--wrong{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.ak-row__num{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--sa-surface-2);color:var(--sa-fg);font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums;align-self:start;margin-top:.15rem}.ak-row__main{display:flex;flex-direction:column;gap:.45rem;min-width:0}.ak-clue{font-size:1.02rem;font-weight:400;color:var(--sa-fg);line-height:1.45}.ak-input{width:100%;font-family:inherit;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;min-height:var(--sa-tap);background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);padding:.45rem .75rem;transition:border-color .15s,box-shadow .15s,background .2s}.ak-input::placeholder{color:var(--sa-input-muted);font-weight:400;opacity:1;letter-spacing:0;text-transform:none}.ak-input:focus{border-color:var(--sa-focus)}.ak-input--correct{background:var(--wa-ok-bg);color:var(--sa-fg);border-color:var(--wa-ok)}.ak-input:disabled{cursor:default}.ak-tiles{display:flex;gap:.25rem;flex-wrap:wrap}.ak-tile{display:inline-flex;align-items:center;justify-content:center;min-width:1.85rem;height:1.85rem;padding:0 .2rem;background:var(--sa-surface);border:1.5px solid var(--sa-border-strong);border-radius:.4rem;font-weight:700;font-size:.98rem;color:var(--sa-fg);letter-spacing:0}.ak-tile--solution{background:var(--wa-hi-soft);border-color:var(--amber-dark);color:var(--sa-fg)}.ak-tile--correct{background:var(--wa-ok-fill);border-color:var(--emerald-dark);color:var(--sa-ink)}.ak-tile--solution.ak-tile--correct{background:linear-gradient(135deg,var(--wa-hi) 50%,var(--wa-ok-fill) 50%);color:var(--sa-ink)}.ak-result-row{display:flex;flex-direction:column;gap:.35rem}.ak-result-given,.ak-result-correct{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap}.ak-result-label{font-size:.82rem;color:var(--sa-fg-muted);font-weight:600}.ak-result-value{font-weight:700;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .55rem;border-radius:.4rem}.ak-result-value--ok{background:var(--wa-ok-bg);color:var(--sa-fg)}.ak-result-value--bad{background:var(--wa-bad-bg);color:var(--sa-fg)}.ak-result-icon{font-weight:900;font-size:1.1rem}.ak-room-readonly{width:100%;max-width:760px;margin:0 auto}.ak-room-readonly__solution{margin-top:1rem;background:var(--wa-hi-soft);border:1.5px solid var(--amber-dark);border-radius:.65rem;padding:.55rem .85rem;text-align:center;color:var(--sa-fg);font-size:1.1rem}.ak-room-readonly__solution-label{margin-right:.4rem;font-size:.82rem;color:var(--wa-hi-text);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.ak-room-readonly__solution strong{letter-spacing:.15em;font-weight:700}.ak-solution-line{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;letter-spacing:.08em}.ak-solution-line__rest{background:var(--sa-surface-2);padding:.15rem .55rem;border-radius:.4rem;text-transform:uppercase}.ak-setup-list{display:flex;flex-direction:column;gap:.35rem;max-width:700px}.ak-setup-row{display:grid;grid-template-columns:auto auto 1fr;gap:.55rem;align-items:center;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.55rem;padding:.35rem .65rem;color:var(--sa-fg)}.ak-setup-row__num{width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--sa-surface);border:1px solid var(--sa-border);font-weight:700;font-size:.82rem}.ak-setup-row__first{width:1.7rem;height:1.7rem;display:flex;align-items:center;justify-content:center;background:var(--wa-hi);color:var(--sa-ink);border-radius:.35rem;font-weight:700;font-size:1rem}.ak-setup-row__rest{font-weight:700;letter-spacing:.08em;font-size:.98rem}.ak-setup-row__clue{grid-column:3 / -1;font-size:.85rem;color:var(--sa-fg-muted);font-style:italic}.ak-setup-solution{font-family:var(--sa-font-display);font-size:2rem;font-weight:var(--sa-weight-display);letter-spacing:.2em;color:var(--wa-hi-text);background:var(--wa-hi-soft);padding:.65rem .85rem;border-radius:.65rem;text-align:center;text-transform:uppercase}.ak-results-solution{background:var(--wa-hi-soft);border:1.5px solid var(--amber-dark);border-radius:.85rem;padding:.65rem 1rem;margin:.5rem auto;font-size:1.1rem;color:var(--sa-fg);display:inline-block}.ak-results-solution__label{margin-right:.55rem;font-size:.82rem;color:var(--wa-hi-text);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.ak-results-solution strong{letter-spacing:.2em;font-weight:700;color:var(--sa-fg)}@media (max-width: 540px){.ak-row{padding:.65rem .75rem}.ak-tile{min-width:1.55rem;height:1.55rem;font-size:.85rem}.ak-solution-box{min-width:1.95rem;height:1.95rem;font-size:1.15rem}}.tlib-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;z-index:9000;animation:fadeIn .2s ease-out;padding:1rem}.tlib{width:100%;max-width:1100px;max-height:92vh;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);box-shadow:var(--sa-shadow-pop);display:flex;flex-direction:column;overflow:hidden;color:var(--sa-fg)}.tlib__head{display:flex;gap:.85rem;align-items:center;padding:1rem 1.25rem;border-bottom:2px solid var(--sa-border);background:var(--sa-surface-2)}.tlib__title{font-family:var(--sa-font-display);font-size:1.3rem;font-weight:var(--sa-weight-display);white-space:nowrap}.tlib__search{flex:1;font-family:inherit;font-size:1rem;min-height:var(--sa-tap);padding:.5rem .85rem;background:var(--sa-input-bg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);color:var(--sa-input-fg)}.tlib__search::placeholder{color:var(--sa-input-muted);opacity:1}.tlib__search:focus{border-color:var(--sa-focus)}.tlib__close{width:2.4rem;height:2.4rem;border-radius:999px;background:var(--sa-surface);border:2px solid var(--sa-border-strong);font-size:1.4rem;font-weight:700;cursor:pointer;color:var(--sa-fg)}.tlib__close:hover{background:var(--sa-border)}.tlib__body{display:grid;grid-template-columns:220px 1fr;flex:1;min-height:0}.tlib__sidebar{border-right:1px solid var(--sa-border);padding:1rem .85rem;overflow-y:auto;background:var(--sa-surface)}.tlib__filter-group+.tlib__filter-group{margin-top:1rem}.tlib__filter-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--sa-fg-muted);margin-bottom:.45rem}.tlib__chips{font-size:var(--sa-text-sm)}.tlib__main{overflow-y:auto;padding:1rem 1.25rem}.tlib__msg{text-align:center;padding:2rem;color:var(--sa-fg-muted);font-size:1.05rem}.tlib__msg--error{color:var(--wa-bad);font-weight:700}.link-btn{background:none;border:none;padding:0;color:var(--sa-app-text);font-weight:700;cursor:pointer;text-decoration:underline;font-family:inherit;font-size:inherit}.tlib__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.tlib-card{text-align:left;display:flex;flex-direction:column;gap:.4rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:.85rem;cursor:pointer;font-family:inherit;color:var(--sa-fg);transition:transform .12s,box-shadow .12s,border-color .12s}.tlib-card:hover{transform:translateY(-2px);border-color:var(--sa-app);box-shadow:var(--sa-shadow)}.tlib-card__head{display:flex;gap:.35rem;align-items:center;font-size:.78rem}.tlib-card__subject{background:var(--sa-app-soft);color:var(--sa-app-text);padding:.12rem .55rem;border-radius:999px;font-weight:700;letter-spacing:.04em}.tlib-card__topic{color:var(--sa-fg-muted);font-weight:700}.tlib-card__title{font-family:var(--sa-font-display);font-size:1.12rem;font-weight:var(--sa-weight-display);line-height:1.3}.tlib-card__desc{font-size:.9rem;color:var(--sa-fg-muted);line-height:1.4}.tlib-card__meta{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--sa-fg-muted);margin-top:auto}.tlib-card__count{font-weight:700}.tlib-card__types{display:flex;gap:.15rem;font-size:1rem}.tlib-card__preview{display:flex;flex-wrap:wrap;gap:.25rem}.tlib-card__chip{background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.35rem;padding:.12rem .45rem;font-size:.78rem;font-weight:700;color:var(--sa-fg);letter-spacing:.04em}.tlib-preview{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;z-index:9100;padding:1rem;animation:fadeIn .15s ease-out}.tlib-preview__card{width:100%;max-width:720px;max-height:86vh;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;color:var(--sa-fg)}.tlib-preview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.tlib-preview__title{font-family:var(--sa-font-display);font-size:1.4rem;font-weight:var(--sa-weight-display)}.tlib-preview__sub{font-size:.9rem;color:var(--sa-fg-muted);margin-top:.15rem}.tlib-preview__desc{font-size:.98rem;color:var(--sa-fg);line-height:1.5}.tlib-preview__list{list-style:decimal inside;padding-left:0;margin:0;overflow-y:auto;font-size:.98rem;line-height:1.55;background:var(--sa-surface-2);border-radius:.65rem;padding:.85rem 1rem;flex:1}.tlib-preview__list li{padding:.25rem 0;border-bottom:1px dashed var(--sa-border)}.tlib-preview__list li:last-child{border-bottom:none}.tlib-preview__list strong{letter-spacing:.05em;color:var(--sa-fg)}.tlib-preview__clue{color:var(--sa-fg-muted)}.tlib-preview__cloze{font-family:inherit;white-space:pre-wrap;word-break:break-word;background:var(--sa-surface-2);padding:.85rem 1rem;border-radius:.65rem;font-size:.98rem;line-height:1.6;overflow-y:auto;flex:1;color:var(--sa-fg)}.tlib-preview__actions{display:flex;gap:.55rem;justify-content:flex-end;margin-top:.25rem}@media (max-width: 720px){.tlib{max-height:100vh;border-radius:0}.tlib-overlay{padding:0}.tlib__body{grid-template-columns:1fr}.tlib__sidebar{border-right:none;border-bottom:1px solid var(--sa-border);max-height:38vh}}.waitlobby{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;color:var(--sa-fg)}.waitlobby__card{max-width:540px;width:100%;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:2.25rem 1.75rem;text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center;box-shadow:var(--sa-shadow)}.waitlobby__icon{font-size:4rem;animation:waitPulse 2s ease-in-out infinite}@keyframes waitPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.waitlobby__title{font-family:var(--sa-font-display);font-size:1.75rem;font-weight:var(--sa-weight-display)}.waitlobby__sub{font-size:1rem;color:var(--sa-fg-muted);line-height:1.5}.waitlobby__code{display:flex;flex-direction:column;align-items:center;background:var(--sa-hero);color:var(--sa-on-hero);padding:.65rem 1.25rem;border-radius:var(--sa-radius-btn);margin-top:.35rem}.waitlobby__code-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.waitlobby__code-value{font-family:var(--sa-font-display);font-size:2rem;font-weight:var(--sa-weight-display);letter-spacing:.2em;color:var(--sa-on-hero)}.waitlobby__people{display:flex;flex-direction:column;gap:.55rem;align-items:center;margin-top:.25rem}.waitlobby__people-label{font-size:.9rem;color:var(--sa-fg-muted);font-weight:700}.waitlobby__chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.waitlobby__chip{background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:999px;padding:.25rem .75rem;font-size:.92rem;font-weight:700;animation:chipIn .25s ease-out}@keyframes chipIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.waitlobby__chip--self{background:var(--sa-app);color:#fff;border-color:var(--sa-app);font-weight:700}.waitlobby__chip--empty{background:transparent;border-style:dashed;color:var(--sa-fg-muted);font-style:italic}.simple-lobby{display:flex;flex-direction:column;gap:1.25rem;align-items:center;padding:1.25rem}.simple-lobby__code-row{display:flex;justify-content:center;width:100%}.simple-lobby__code-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--sa-hero);border:2px solid var(--sa-hero);border-radius:var(--sa-radius-xl);padding:1rem 2rem;color:var(--sa-on-hero);font-family:inherit;cursor:pointer;transition:transform .15s,background .15s}.simple-lobby__code-card:hover{background:var(--sa-hero-deco);transform:translateY(-1px)}.simple-lobby__code-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}.simple-lobby__code-value{font-family:var(--sa-font-display);font-size:3rem;font-weight:var(--sa-weight-display);letter-spacing:.22em;color:var(--sa-on-hero);line-height:1.1}.simple-lobby__code-hint{font-size:.85rem}.simple-lobby__students{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;max-width:720px}.simple-lobby__chip{background:var(--sa-app-soft);border:1px solid var(--sa-border);border-radius:999px;padding:.3rem .85rem;font-size:1rem;font-weight:700;color:var(--sa-fg);animation:chipIn .25s ease-out}.simple-lobby__chip--empty{background:transparent;border-style:dashed;font-style:italic;color:var(--sa-fg-muted)}.simple-lobby__start{font-size:1.15rem!important;padding:.9rem 2.5rem!important;width:auto!important;margin-top:.35rem}.beamer-toggle{font-weight:700!important;background:var(--wa-hi-soft)!important;border-color:var(--amber-dark)!important;color:var(--sa-fg)!important}.beamer-toggle--active{background:var(--wa-hi)!important;border-color:var(--amber-dark)!important;color:var(--sa-ink)!important}.room-beamer{flex:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;min-height:0;overflow-y:auto;color:var(--sa-fg)}.room-beamer__code{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:var(--sa-hero);border:2px solid var(--sa-hero);border-radius:var(--sa-radius-xl);padding:.75rem 2rem;color:var(--sa-on-hero);font-family:inherit;cursor:pointer;transition:transform .15s,background .15s}.room-beamer__code:hover{background:var(--sa-hero-deco);transform:translateY(-1px)}.room-beamer__code-label{margin:0}.room-beamer__code-value{font-family:var(--sa-font-display);font-size:2.6rem;font-weight:var(--sa-weight-display);letter-spacing:.22em;color:var(--sa-on-hero);line-height:1.1}.room-beamer__code-hint{font-size:.85rem;margin-top:.15rem}.leaderboard--beamer{width:100%;max-width:1100px;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.5rem 2rem;color:var(--sa-fg);box-shadow:var(--sa-shadow)}.leaderboard--beamer .leaderboard__title{font-family:var(--sa-font-display);font-size:2.2rem!important;font-weight:var(--sa-weight-display);color:var(--sa-fg);text-transform:none;text-align:center;margin-bottom:1rem;letter-spacing:.03em}.leaderboard--beamer .leaderboard__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.leaderboard--beamer .leaderboard-row{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.85rem;font-size:1.5rem;font-weight:700}.leaderboard--beamer .leaderboard-row--gold{background:var(--sa-amber-soft);border-color:var(--sa-amber);font-size:1.85rem}.leaderboard--beamer .leaderboard-row--silver{background:var(--sa-silver-soft);border-color:var(--sa-silver);font-size:1.7rem}.leaderboard--beamer .leaderboard-row--bronze{background:var(--sa-bronze-soft);border-color:var(--sa-bronze);font-size:1.6rem}.leaderboard--beamer .leaderboard-row__rank{font-size:2.2rem;text-align:center}.leaderboard--beamer .leaderboard-row__name{font-weight:700}.leaderboard--beamer .leaderboard-row__score-main{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--sa-surface);padding:.25rem .85rem;border-radius:.65rem}.leaderboard--beamer .leaderboard-row__score-pro{font-size:1rem;margin-top:.15rem}.leaderboard--beamer .leaderboard-row__main{min-width:0}.leaderboard--beamer .leaderboard-row__you{background:var(--sa-app);color:#fff;padding:.05rem .4rem;border-radius:.35rem;font-size:.85rem;font-weight:700;margin-left:.55rem}.leaderboard--beamer .leaderboard-row--group{grid-template-columns:3.5rem 1fr auto}.leaderboard--beamer .leaderboard-row__meta{font-size:.95rem;color:var(--sa-fg-muted);font-weight:400}.leaderboard--beamer .leaderboard-row__members{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.leaderboard--beamer .leaderboard-chip{padding:.2rem .6rem;font-size:.92rem;font-weight:700}.leaderboard--beamer .leaderboard-empty{text-align:center;padding:2rem;font-size:1.2rem;color:var(--sa-fg-muted)}@media (max-width: 720px){.leaderboard--beamer{padding:1rem}.leaderboard--beamer .leaderboard__title{font-size:1.6rem!important}.leaderboard--beamer .leaderboard-row{font-size:1.15rem;padding:.55rem .85rem}.leaderboard--beamer .leaderboard-row__score-main{font-size:1.3rem}.room-beamer__code-value{font-size:2rem}}.ipt-play-main{flex:1 1 auto;min-height:0;display:flex;padding:0!important;overflow:hidden}.ipt-field{position:relative;flex:1 1 auto;width:100%;min-width:0;min-height:480px;background:linear-gradient(180deg,#a8d8ff,#dceeff);border:1px solid rgba(255,255,255,.18);border-radius:1.25rem;overflow:hidden;-webkit-user-select:none;user-select:none;color:#fff;font-family:inherit;container-type:inline-size}.ipt-sky-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.ipt-cloud{position:absolute;border-radius:50%;background:radial-gradient(ellipse at center,var(--ipt-cloud-color, rgba(255,255,255,.85)) 0%,transparent 70%);filter:blur(12px);pointer-events:none}.ipt-cloud--1{width:280px;height:90px;top:8%;animation:iptCloudR 72s linear infinite}.ipt-cloud--2{width:360px;height:115px;top:24%;animation:iptCloudL 95s linear infinite}.ipt-cloud--3{width:220px;height:78px;top:40%;animation:iptCloudR 84s linear infinite -25s}.ipt-cloud--4{width:320px;height:100px;top:58%;animation:iptCloudL 110s linear infinite -40s}@keyframes iptCloudR{0%{left:-28%}to{left:118%}}@keyframes iptCloudL{0%{left:118%}to{left:-28%}}.ipt-rain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(100deg,transparent 0 7px,rgba(220,240,255,.42) 7px 8px);background-size:140px 140px;opacity:var(--ipt-rain-opacity, 0);animation:iptRain .55s linear infinite;transition:opacity .8s linear;z-index:1;mix-blend-mode:screen}@keyframes iptRain{0%{background-position:0 0}to{background-position:-180px 240px}}.ipt-lightning-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 35%,#ffffffd9,#ffffff73 30%,#fff0 65%);pointer-events:none;z-index:11;animation:iptLightningFlash .7s ease-out forwards}@keyframes iptLightningFlash{0%{opacity:0}6%{opacity:1}14%{opacity:.25}22%{opacity:.85}40%{opacity:.35}to{opacity:0}}.ipt-crash-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9;animation:iptCrashFlash .8s ease-out forwards}@keyframes iptCrashFlash{0%{background:#dc2626d9}20%{background:#000000e6}40%{background:#dc2626b3}60%{background:#0000008c}80%{background:#dc262659}to{background:#0000}}.ipt-field--shaking{animation:iptCrashShake .4s ease-in-out}@keyframes iptCrashShake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){.ipt-field--shaking{animation:none}.ipt-crash-flash{animation-duration:.4s}}.ipt-lightning-bolt{position:absolute;top:0;width:54px;height:260px;transform:translate(-50%);pointer-events:none;z-index:12;filter:drop-shadow(0 0 6px rgba(255,255,255,.95)) drop-shadow(0 0 24px rgba(254,240,138,.85));animation:iptLightningBolt .65s ease-out forwards}@keyframes iptLightningBolt{0%{opacity:0;transform:translate(-50%) scaleY(.5)}10%{opacity:1;transform:translate(-50%) scaleY(1)}35%{opacity:.85}60%{opacity:.25}to{opacity:0}}.ipt-touch-controls{position:absolute;bottom:14px;left:0;right:0;display:none;justify-content:space-between;align-items:flex-end;padding:0 18px;z-index:20;pointer-events:none}.ipt-touch-controls>*{pointer-events:auto}.ipt-touch-btn{width:68px;height:68px;background:#0f172a80;border:2px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;font-size:1.85rem;font-weight:900;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 18px #00000059;transition:transform .1s,background .15s;padding:0}.ipt-touch-btn:active{transform:scale(.93);background:#fbbf248c}.ipt-touch-btn--fire{width:84px;height:84px;background:linear-gradient(135deg,#f43f5eb3,#d946efb3);border-color:#ffffffb3;font-size:2.1rem;box-shadow:0 8px 24px #f43f5e73}.ipt-touch-btn--fire:active{background:linear-gradient(135deg,#f43f5ef2,#d946eff2)}.ipt-touch-gap-nav{display:flex;flex-direction:column;gap:6px;align-items:center}.ipt-touch-btn--gap{width:52px;height:44px;background:linear-gradient(135deg,#6366f1b3,#a855f7b3);border-color:#ffffff8c;font-size:1.4rem}.ipt-touch-btn--gap:active{background:linear-gradient(135deg,#6366f1f2,#a855f7f2)}.ipt-touch-btn--joker{width:66px;height:66px;background:linear-gradient(135deg,#a855f7cc,#d946efcc);border-color:#ffffffa6;font-size:1.9rem;box-shadow:0 6px 16px #a855f773}.ipt-touch-btn--joker:active{background:linear-gradient(135deg,#a855f7,#d946ef);transform:scale(.94)}@media (pointer: coarse){.ipt-touch-controls{display:flex}.ipt-help{display:none}}.ipt-heart{position:absolute;display:flex;align-items:center;justify-content:center;font-size:28px;filter:drop-shadow(0 4px 8px rgba(244,63,94,.65)) drop-shadow(0 0 14px rgba(244,63,94,.45));transform:translate(-50%);pointer-events:none;animation:iptHeartFloat 1.1s ease-in-out infinite;z-index:6;will-change:transform}@keyframes iptHeartFloat{0%,to{transform:translate(-50%) scale(1) rotate(-4deg)}50%{transform:translate(-50%) scale(1.12) rotate(4deg)}}.ipt-joker{position:absolute;display:flex;align-items:center;justify-content:center;font-size:30px;filter:drop-shadow(0 4px 10px rgba(167,139,250,.7)) drop-shadow(0 0 16px rgba(217,70,239,.55));transform:translate(-50%);pointer-events:none;animation:iptJokerSpin 1.4s linear infinite;z-index:6;will-change:transform}@keyframes iptJokerSpin{0%{transform:translate(-50%) rotate(0) scale(1)}50%{transform:translate(-50%) rotate(180deg) scale(1.18)}to{transform:translate(-50%) rotate(360deg) scale(1)}}.ipt-hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:linear-gradient(180deg,#0f172aa6,#0f172a00);pointer-events:none;font-size:1.05rem;z-index:10}.ipt-hud__lives{font-size:1.4rem;letter-spacing:.15em;text-shadow:0 2px 8px rgba(0,0,0,.4)}.ipt-hud__score,.ipt-hud__level{display:flex;flex-direction:column;align-items:center;line-height:1}.ipt-hud__label{font-size:.68rem;opacity:.7;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.ipt-hud__value{font-size:1.7rem;font-weight:900;color:var(--amber);text-shadow:0 2px 8px rgba(0,0,0,.45)}.screens-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--sa-bg);display:flex;flex-direction:column;padding:1rem}.screens-modal__inner{flex:1;display:flex;flex-direction:column;min-height:0}.screens-modal__head{display:flex;align-items:center;gap:1rem;color:var(--sa-fg);padding:.25rem .5rem 1rem}.screens-modal__title{font-family:var(--sa-font-display);font-size:1.4rem;font-weight:var(--sa-weight-display);flex:1}.screens-modal__close{width:40px;height:40px;border-radius:50%;background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg);font-size:1.4rem;cursor:pointer}.screens-modal__close:hover{background:var(--sa-surface-2)}.screens-empty{color:var(--sa-fg-muted);padding:2rem;text-align:center}.screens-grid{flex:1;overflow-y:auto;display:grid;gap:1rem;align-content:start;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.screen-card{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);overflow:hidden;cursor:pointer;text-align:left;padding:0;font-family:inherit;transition:transform .12s ease,box-shadow .12s ease;display:flex;flex-direction:column}.screen-card:hover{transform:translateY(-3px);box-shadow:var(--sa-shadow-pop);border-color:var(--sa-app)}.screen-card__name{font-weight:700;font-size:.9rem;color:var(--sa-fg);padding:.45rem .65rem;background:var(--sa-app-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-card__scale{position:relative;height:200px;overflow:hidden;background:var(--sa-surface)}.screen-card__scale .student-screen{transform:scale(.42);transform-origin:top left;width:238%;pointer-events:none}.screens-focus{flex:1;display:flex;flex-direction:column;min-height:0;color:var(--sa-fg)}.screens-focus__back{align-self:flex-start;margin-bottom:.5rem}.screens-focus__name{font-family:var(--sa-font-display);font-size:1.3rem;font-weight:var(--sa-weight-display);margin-bottom:.5rem}.screens-focus__stage{flex:1;overflow:auto;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:1rem}.screens-focus__stage .student-screen{pointer-events:none}.student-screen{color:var(--sa-fg)}.student-screen .cx-cell__mark,.student-screen .cloze-correct{display:none!important}.screen-arcade{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.screen-arcade__row{display:flex;justify-content:space-between;font-size:1.1rem}.screen-arcade__row strong{font-weight:700}.screen-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--sa-fg-muted);font-size:.9rem;padding:1rem;text-align:center}.wd-mini{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;align-items:center}.wd-mini__progress{font-size:.85rem;font-weight:700;color:var(--sa-fg-muted)}.wd-mini__grid{display:flex;flex-direction:column;gap:3px}.wd-mini__row{display:flex;gap:3px}.wd-mini__cell{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;border-radius:4px;color:var(--sa-ink);font-size:.9rem}.wd-mini__cell--correct{background:#22c55e}.wd-mini__cell--present{background:#eab308}.wd-mini__cell--absent{background:#94a3b8}.pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sa-bg) 95%,transparent);pointer-events:auto;animation:pauseFadeIn .2s ease-out}@keyframes pauseFadeIn{0%{opacity:0}to{opacity:1}}.pause-overlay__card{text-align:center;color:var(--sa-fg);padding:2rem}.pause-overlay__icon{font-size:5.5rem;line-height:1;animation:pausePulse 1.6s ease-in-out infinite}@keyframes pausePulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}.pause-overlay__title{font-family:var(--sa-font-display);font-size:2.4rem;font-weight:var(--sa-weight-display);margin:.5rem 0 .25rem;letter-spacing:.02em}.pause-overlay__text{font-size:1.2rem;color:var(--sa-fg-muted)}@media (prefers-reduced-motion: reduce){.pause-overlay__icon{animation:none}}.ipt-hud__highscore{display:flex;flex-direction:column;align-items:center;line-height:1;border-radius:.5rem;padding:.15rem .5rem;transition:transform .15s ease}.ipt-hud__highscore .ipt-hud__label{color:#fde68ae6}.ipt-hud__highscore .ipt-hud__value{color:#fde68a;font-size:1.4rem}.ipt-hud__highscore-holder{font-size:.68rem;font-weight:700;max-width:10ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fde68ac7}.ipt-hud__highscore--pulse{animation:hudRecordPulse .6s ease-in-out infinite;background:#fbbf242e}@keyframes hudRecordPulse{0%,to{transform:scale(1);box-shadow:0 0 #fbbf2400}50%{transform:scale(1.22);box-shadow:0 0 18px 4px #fbbf24d9,0 0 34px 10px #f59e0b80}}@media (prefers-reduced-motion: reduce){.ipt-hud__highscore--pulse{animation:none;box-shadow:0 0 16px 4px #fbbf24b3}}.final-standings-screen{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.final-standings-screen>.sa-footer{flex:0 0 auto}.final-standings{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 2.5rem;gap:1rem}.final-standings__header{text-align:center}.final-standings__trophy{font-size:3.5rem;line-height:1}.final-standings__header h2{font-size:2rem;margin:.25rem 0 0}.final-standings__list{list-style:none;margin:0;padding:0;width:100%;max-width:460px;display:flex;flex-direction:column;gap:.5rem}.final-standings__row{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-radius:.75rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);font-size:1.05rem}.final-standings__row--top{background:var(--wa-hi-soft);border-color:var(--wa-hi)}.final-standings__row--own{outline:2px solid var(--amber-dark);background:var(--wa-hi-soft);font-weight:700}.final-standings__rank{min-width:2rem;font-size:1.3rem;font-weight:700;text-align:center}.final-standings__name{flex:1;font-weight:700}.final-standings__score{font-weight:700;font-size:1.2rem;color:var(--wa-hi-text)}.final-standings__empty{color:var(--sa-fg-muted)}.final-standings__hint{color:var(--sa-fg-muted);font-size:.9rem;margin-top:.5rem}.room-beamer__endstand{font-family:var(--sa-font-display);font-size:2rem;font-weight:var(--sa-weight-display);text-align:center;margin-bottom:.5rem}.ipt-hud__jokers{font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#a855f7d9,#d946efd9);padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.45);text-shadow:0 1px 4px rgba(0,0,0,.4);box-shadow:0 4px 12px #a855f766;letter-spacing:.04em}.ipt-flash{position:absolute;top:28%;left:50%;transform:translate(-50%);font-size:2.4rem;font-weight:900;text-shadow:0 4px 16px rgba(0,0,0,.5);pointer-events:none;z-index:12;animation:iptFlash .7s ease-out forwards}@keyframes iptFlash{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}20%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-40px) scale(1)}}.ipt-sentence{position:absolute;transform:translate(-50%);background:#fffffff2;color:var(--sa-ink);border-radius:.65rem;padding:.65rem 1rem;font-size:1.2rem;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 8px 22px #0000004d;z-index:4;pointer-events:none;max-width:calc(100% - 1.2rem)}@container (max-width: 720px){.ipt-sentence{font-size:1.05rem;padding:.55rem .85rem}}@container (max-width: 540px){.ipt-sentence{font-size:.9rem;padding:.45rem .7rem;border-radius:.55rem}}@container (max-width: 400px){.ipt-sentence{font-size:.8rem;padding:.35rem .55rem;white-space:normal}}.ipt-joker-shot{position:absolute;transform:translate(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:32px;filter:drop-shadow(0 0 14px rgba(217,70,239,1)) drop-shadow(0 0 22px rgba(168,85,247,.85)) drop-shadow(0 4px 10px rgba(0,0,0,.4));pointer-events:none;z-index:8;animation:iptJokerShotSpin .35s linear infinite;will-change:transform}@keyframes iptJokerShotSpin{0%{transform:translate(-50%) rotate(0) scale(1)}50%{transform:translate(-50%) rotate(180deg) scale(1.18)}to{transform:translate(-50%) rotate(360deg) scale(1)}}.ipt-sentence--dissolving{animation:iptSentenceDissolve .9s cubic-bezier(.4,0,.2,1) forwards;z-index:5}@keyframes iptSentenceDissolve{0%{transform:translate(-50%) scale(1) rotate(0);opacity:1;filter:blur(0) brightness(1)}20%{transform:translate(-50%) scale(1.18) rotate(-2deg);opacity:1;filter:blur(0) brightness(1.6)}55%{transform:translate(-50%) scale(1.5) rotate(3deg);opacity:.55;filter:blur(4px) brightness(1.4)}to{transform:translate(-50%) scale(2.4) rotate(-6deg);opacity:0;filter:blur(14px) brightness(1)}}.ipt-puff{position:absolute;font-size:32px;pointer-events:none;top:50%;left:50%;opacity:0;animation:iptPuff .9s ease-out forwards;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.ipt-puff--1{animation-delay:0ms;--tx: -110px;--ty: -60px;--rot: -25deg}.ipt-puff--2{animation-delay:60ms;--tx: 100px;--ty: -50px;--rot: 35deg}.ipt-puff--3{animation-delay:.12s;--tx: -30px;--ty: -90px;--rot: -10deg;font-size:26px}.ipt-puff--4{animation-delay:.18s;--tx: -90px;--ty: 50px;--rot: 20deg}.ipt-puff--5{animation-delay:.24s;--tx: 120px;--ty: 40px;--rot: -30deg}.ipt-puff--6{animation-delay:.1s;--tx: 20px;--ty: 80px;--rot: 15deg;font-size:28px}@keyframes iptPuff{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}20%{opacity:1;transform:translate(calc(-50% + var(--tx, 0) * .3),calc(-50% + var(--ty, 0) * .3)) scale(1.1) rotate(calc(var(--rot, 0deg) * .4))}to{opacity:0;transform:translate(calc(-50% + var(--tx, 0)),calc(-50% + var(--ty, 0))) scale(1.7) rotate(var(--rot, 0deg))}}.ipt-sentence__gap{display:inline-block;width:0;height:0}.ipt-aim-line{position:absolute;width:2px;transform:translate(-50%);background:linear-gradient(to bottom,#fbbf240d,#fbbf2466);pointer-events:none;z-index:3}.ipt-aim-marker{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fbbf2452;color:var(--sa-ink);font-size:1.5rem;font-weight:900;border-radius:50%;border:2px dashed var(--amber-dark);pointer-events:none;z-index:7;text-shadow:0 1px 2px rgba(255,255,255,.5);box-shadow:0 0 12px #fbbf2480}.ipt-projectile{position:absolute;transform:translate(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--amber);color:var(--sa-ink);border-radius:.55rem;font-size:1.6rem;font-weight:900;box-shadow:0 0 18px #fbbf24d9,0 0 4px #fbbf24;z-index:6;pointer-events:none;animation:iptProj .15s ease-out}@keyframes iptProj{0%{transform:translate(-50%) scale(.6)}to{transform:translate(-50%) scale(1)}}.ipt-plane{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem;z-index:5;pointer-events:none}.ipt-plane__ammo{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--amber);color:var(--sa-ink);border-radius:50%;font-size:1.35rem;font-weight:900;border:2px solid #fff;box-shadow:0 0 14px #fbbf2499}.ipt-plane__icon{font-size:2.6rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));display:inline-block;transform:rotate(-45deg);transform-origin:50% 50%}.ipt-gameover{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:20;animation:fadeIn .25s ease-out}.ipt-gameover__card{background:#fffffff2;color:var(--sa-ink);border-radius:1.25rem;padding:2rem 2.5rem;text-align:center;max-width:460px;display:flex;flex-direction:column;gap:.75rem;align-items:center;box-shadow:0 30px 80px #0006;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.ipt-gameover__icon{font-size:3rem}.ipt-gameover__title{font-size:1.7rem;font-weight:900}.ipt-gameover__score{font-size:3rem;font-weight:900;color:var(--amber-dark);letter-spacing:.04em}.ipt-gameover__stats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;font-size:.95rem}.ipt-gameover__stats span{background:#0f172a0f;padding:.25rem .65rem;border-radius:999px;font-weight:700}.ipt-gameover__hint{font-size:.92rem;opacity:.75;margin-top:.25rem}.ipt-gameover__actions{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-top:.5rem;width:100%}.ipt-gameover__btn{font-size:1.1rem!important;padding:.75rem 1.75rem!important;width:auto!important}.ipt-help{position:absolute;bottom:.55rem;left:50%;transform:translate(-50%);font-size:.85rem;opacity:.85;z-index:6;background:#0f172a99;padding:.3rem .85rem;border-radius:999px;white-space:nowrap}.ipt-help kbd{background:#fff3;padding:.05rem .35rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.35);font-family:inherit;font-size:.82rem;font-weight:700}.ipt-setup-list{display:flex;flex-direction:column;gap:.45rem;max-width:700px}.ipt-setup-row{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:center;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.55rem;padding:.45rem .75rem;color:var(--sa-fg)}.ipt-setup-row__num{width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--sa-surface-2);font-weight:800;font-size:.85rem}.ipt-setup-row__sentence{font-size:1rem}.ipt-setup-row__gap{display:inline-block;background:var(--amber);color:var(--sa-ink);padding:0 .35rem;border-radius:.3rem;font-weight:900;margin:0 .15rem}.ipt-room-readonly{width:100%;max-width:740px;margin:0 auto;color:var(--sa-fg)}.ipt-room-readonly__head{text-align:center;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.65rem;padding:.55rem .85rem;margin-bottom:.65rem}.ipt-room-readonly__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.ipt-room-readonly__list li{display:flex;align-items:baseline;gap:.25rem;flex-wrap:wrap;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:.45rem;padding:.35rem .65rem}.ipt-room-readonly__num{opacity:.6;font-weight:700;margin-right:.3rem}.ipt-room-readonly__gap{background:var(--amber);color:var(--sa-ink);padding:0 .35rem;border-radius:.3rem;font-weight:900;margin:0 .15rem}.ipt-results-stats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.5rem 0}.ipt-results-chip{background:var(--sa-surface-2);padding:.3rem .75rem;border-radius:999px;font-weight:700;font-size:.95rem;color:var(--sa-fg)}.ipt-results-chip--ok{background:var(--wa-ok-bg)}.ipt-results-chip--bad{background:var(--wa-bad-bg)}.qz-play-main{flex:1;min-height:0;display:flex;flex-direction:column;padding:1.25rem;align-items:center;justify-content:center;overflow-y:auto}.qz-card-wrap{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:720px}.qz-card{width:100%;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:2rem 2.25rem;color:var(--sa-fg);display:flex;flex-direction:column;gap:1rem;box-shadow:var(--sa-shadow);transition:border-color .25s,background .25s}.qz-card--correct{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.qz-card__progress{font-size:.82rem;color:var(--sa-fg-muted);text-transform:uppercase;letter-spacing:.14em;font-weight:800}.qz-card__progress strong{color:var(--wa-hi-text)}.qz-card__question{font-family:var(--sa-font-display);font-size:1.6rem;font-weight:var(--sa-weight-display);line-height:1.35}.qz-card__input{width:100%;font-family:inherit;font-size:1.3rem;font-weight:600;padding:.75rem 1rem;background:var(--sa-input-bg);color:var(--sa-input-fg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);transition:border-color .15s,box-shadow .15s,background .2s}.qz-card__input:focus{border-color:var(--sa-focus)}.qz-card__input--correct{background:var(--wa-ok-bg);color:var(--sa-fg);border-color:var(--wa-ok)}.qz-card__feedback{font-size:1rem;font-weight:800;color:var(--wa-ok);background:var(--wa-ok-bg);padding:.35rem .85rem;border-radius:.55rem;align-self:flex-start;animation:fadeIn .2s ease-out}.qz-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.qz-nav__btn{font-size:.98rem!important;padding:.6rem 1.1rem!important;min-width:110px}.qz-nav__dots{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;flex:1}.qz-nav__dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--sa-border-strong);background:var(--sa-surface);cursor:pointer;padding:0;transition:transform .12s,background .12s,border-color .12s}.qz-nav__dot:hover{transform:scale(1.18);background:var(--sa-surface-2)}.qz-nav__dot--active{background:var(--wa-hi);border-color:var(--amber-dark);transform:scale(1.25)}.qz-nav__dot--ok{background:var(--wa-ok-fill);border-color:var(--emerald-dark)}.qz-nav__dot--active.qz-nav__dot--ok{background:linear-gradient(135deg,var(--wa-ok-fill) 50%,var(--wa-hi) 50%)}.qz-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;width:100%;max-width:760px;color:var(--sa-fg)}.qz-list-row{display:grid;grid-template-columns:2.25rem 1fr;gap:.85rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:.75rem 1rem}.qz-list-row--ok{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.qz-list-row--bad{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.qz-list-row__num{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--sa-surface-2);font-weight:800;align-self:start}.qz-list-row__main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.qz-list-row__q{font-size:1rem;font-weight:700;line-height:1.4}.qz-list-row__a{font-size:.92rem;color:var(--sa-fg-muted);font-style:italic}.qz-list-row__given,.qz-list-row__correct{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap}.qz-list-row__label{font-size:.78rem;color:var(--sa-fg-muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.qz-list-row__value{font-weight:800;padding:.15rem .55rem;border-radius:.4rem}.qz-list-row__value--ok{background:var(--wa-ok-bg);color:var(--sa-fg)}.qz-list-row__value--bad{background:var(--wa-bad-bg);color:var(--sa-fg)}.qz-list-row__icon{font-weight:900;font-size:1.1rem}.qz-list-row--part{border-color:var(--amber-dark);background:var(--wa-hi-soft)}.qz-typebadge{display:inline-block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .5rem;margin-left:.4rem;border-radius:999px;background:var(--sa-surface-2);border:1px solid var(--sa-border);color:var(--sa-fg);vertical-align:middle}.qz-points{display:inline-block;font-size:.72rem;font-weight:800;padding:.1rem .5rem;margin-left:.4rem;border-radius:999px;background:var(--sa-app-soft);color:var(--sa-fg)}.qz-points--card{background:var(--sa-app-soft)}.qz-opts{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.qz-opts--play{gap:.6rem}.qz-opt{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .85rem;border-radius:.7rem;border:2px solid var(--sa-border);background:var(--sa-surface-2);color:var(--sa-fg);font:inherit;font-size:1rem;text-align:left}.qz-opt--btn{cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.qz-opt--btn:hover{background:var(--sa-app-soft);border-color:var(--sa-app)}.qz-opt--btn:active{transform:translateY(1px)}.qz-opt--selected{border-color:var(--amber-dark);background:var(--wa-hi-soft)}.qz-opt--correct{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.qz-opt--wrong{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.qz-opt__mark{flex:0 0 auto;width:1.4em;font-weight:900;font-size:1.1rem;text-align:center}.qz-opt__text{flex:1;min-width:0}.qz-opt__tag{flex:0 0 auto;font-size:.7rem;font-weight:800;padding:.1rem .45rem;border-radius:999px;background:var(--wa-ok-bg)}.qz-opts--readonly .qz-opt{padding:.35rem .6rem;font-size:.95rem;background:transparent;border-color:var(--sa-border)}.qz-tf{display:flex;gap:.8rem}.qz-tf--compact{gap:.5rem}.qz-tf__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;border-radius:.75rem;border:2px solid var(--sa-border);background:var(--sa-surface-2);color:var(--sa-fg);font:inherit;font-size:1.15rem;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.qz-tf__btn:hover{background:var(--sa-app-soft);border-color:var(--sa-app)}.qz-tf__btn:active{transform:translateY(1px)}.qz-tf__btn--active.qz-tf__btn--true{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.qz-tf__btn--active.qz-tf__btn--false{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.qz-tf__icon{font-weight:900}.qz-match{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.qz-match__row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.5rem .7rem;border-radius:.7rem;border:1.5px solid var(--sa-border);background:var(--sa-surface-2)}.qz-match__row--ok{border-color:var(--wa-ok);background:var(--wa-ok-bg)}.qz-match__row--bad{border-color:var(--wa-bad);background:var(--wa-bad-bg)}.qz-match__left{font-weight:800}.qz-match__arrow{color:var(--sa-fg-muted)}.qz-match__right{font-weight:700}.qz-match__correct{font-size:.82rem;font-style:italic;color:var(--wa-ok)}.qz-match__select{width:auto;min-width:9rem}.qz-room-readonly{width:100%;max-width:760px;margin:0 auto}@media (max-width: 600px){.qz-card{padding:1.5rem}.qz-card__question{font-size:1.3rem}.qz-nav{flex-wrap:wrap}.qz-nav__btn{flex:1;min-width:0}.qz-nav__dots{order:-1;width:100%}}.room-settings{width:100%;max-width:760px;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);overflow:hidden;color:var(--sa-fg)}.room-settings__toggle{width:100%;display:flex;align-items:center;gap:.65rem;background:var(--sa-surface-2);border:0;color:inherit;padding:.75rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.room-settings__toggle:hover{background:var(--sa-border)}.room-settings__toggle-icon{font-size:1.15rem}.room-settings__toggle-label{flex:1;text-align:left}.room-settings__toggle-chev{color:var(--sa-fg-muted);font-size:.85rem}.room-settings__body{display:flex;flex-direction:column;gap:1.25rem;padding:1.1rem 1.1rem 1.25rem}.room-settings__section{display:flex;flex-direction:column;gap:.5rem}.room-settings__label{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sa-fg-muted)}.room-settings__rename{display:flex;flex-direction:column;gap:.4rem}.room-settings__rename-row{display:flex;gap:.55rem;align-items:stretch}.room-settings__input{flex:1;min-height:var(--sa-tap);background:var(--sa-input-bg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn);color:var(--sa-input-fg);padding:.5rem .8rem;font-family:inherit;font-size:.98rem}.room-settings__input::placeholder{color:var(--sa-input-muted);opacity:1}.room-settings__input:focus{border-color:var(--sa-focus)}.room-settings__error{font-size:.85rem;color:var(--wa-bad)}.room-settings__modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.room-settings__mode{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:left;background:var(--sa-surface-2);border:2px solid var(--sa-border);border-radius:.9rem;padding:.75rem .85rem;color:var(--sa-fg);font-family:inherit;cursor:pointer;transition:transform .12s,background .15s,border-color .15s}.room-settings__mode:hover{border-color:var(--sa-border-strong);transform:translateY(-1px)}.room-settings__mode--active{background:var(--wa-hi-soft);border-color:var(--amber-dark)}.room-settings__mode-icon{font-size:1.4rem;line-height:1}.room-settings__mode-title{font-weight:800;font-size:1rem}.room-settings__mode-desc{font-size:.82rem;color:var(--sa-fg-muted);line-height:1.3}.room-settings__pillrow{display:flex;gap:.4rem;flex-wrap:wrap}.room-settings__pill{background:var(--sa-surface-2);border:2px solid var(--sa-border);border-radius:999px;color:var(--sa-fg);font-family:inherit;font-weight:800;font-size:1.05rem;min-width:2.6rem;padding:.35rem .9rem;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.room-settings__pill:hover{border-color:var(--sa-border-strong)}.room-settings__pill--active{background:var(--wa-hi);color:var(--sa-ink);border-color:var(--amber-dark)}.room-settings__assign{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.room-settings__assign-opt{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;text-align:left;background:var(--sa-surface-2);border:2px solid var(--sa-border);border-radius:.8rem;padding:.55rem .7rem;color:var(--sa-fg);font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.room-settings__assign-opt:hover{border-color:var(--sa-border-strong)}.room-settings__assign-opt--active{background:var(--sa-app-soft);border-color:var(--sa-selected-bg)}.room-settings__assign-title{font-weight:700;font-size:.95rem}.room-settings__assign-desc{font-size:.78rem;color:var(--sa-fg-muted)}@media (max-width: 720px){.room-settings__modes,.room-settings__assign{grid-template-columns:1fr}}.end-game-btn{background:var(--wa-bad-bg)!important;border-color:var(--wa-bad)!important;color:var(--wa-bad)!important;font-weight:700!important}.end-game-btn:hover{background:var(--sa-surface)!important}.end-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fadeIn .15s ease-out}.end-confirm-card{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.75rem;max-width:460px;width:100%;color:var(--sa-fg);display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;box-shadow:var(--sa-shadow-pop);animation:scaleIn .2s ease-out}.end-confirm__icon{font-size:2.5rem;line-height:1}.end-confirm__title{font-family:var(--sa-font-display);font-size:1.45rem;font-weight:var(--sa-weight-display)}.end-confirm__text{font-size:.95rem;line-height:1.5;color:var(--sa-fg-muted)}.end-confirm__actions{display:flex;gap:.65rem;width:100%;justify-content:center;margin-top:.35rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.cx-readonly,.cx-results,.cx-play{width:100%;max-width:900px;margin:0 auto;padding:.25rem;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.cx-readonly::-webkit-scrollbar,.cx-results::-webkit-scrollbar,.cx-play::-webkit-scrollbar{width:0;height:0;display:none}.cx-play{flex:1;padding-bottom:.75rem}.cx-grid{display:grid;gap:.55rem;width:100%}.cx-grid--play{gap:.65rem}.cx-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:3.4rem;padding:.65rem .8rem;border-radius:1rem;background:linear-gradient(135deg,#60a5fa,#3b82f6);color:var(--sa-ink);font-weight:700;font-size:1.02rem;text-align:center;-webkit-user-select:none;user-select:none;border:2px solid rgba(255,255,255,.35);box-shadow:0 6px 14px #3b82f673;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,filter .2s;overflow-wrap:anywhere}.cx-cell__text{flex:1;line-height:1.2}.cx-cell__handle{font-size:1.1rem;opacity:.55;margin-right:.15rem;cursor:grab}.cx-cell__mark{position:absolute;top:-.45rem;right:-.45rem;width:1.7rem;height:1.7rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;border:3px solid #fff;box-shadow:0 3px 8px #0000004d}.cx-cell__mark--ok{background:#16a34a;color:#fff}.cx-cell__mark--bad{background:#ef4444;color:#fff}.cx-cell__sparkle{position:absolute;top:-.45rem;right:-.4rem;font-size:1.2rem;animation:cxSparkle .8s ease-in-out infinite alternate;filter:drop-shadow(0 0 6px rgba(255,240,100,.9));pointer-events:none}@keyframes cxSparkle{0%{transform:scale(1) rotate(-8deg);opacity:.85}to{transform:scale(1.25) rotate(8deg);opacity:1}}.cx-cell--readonly{cursor:default;animation:cxFloat 4.5s ease-in-out infinite alternate}.cx-cell--readonly:nth-child(3n){animation-delay:-1.5s}.cx-cell--readonly:nth-child(3n+1){animation-delay:-3s}@keyframes cxFloat{0%{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-3px) rotate(.6deg)}}.cx-cell--play{cursor:grab;animation:cxBounceIn .35s cubic-bezier(.34,1.56,.64,1)}.cx-cell--play:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.1) saturate(1.15)}.cx-cell--play:active{cursor:grabbing;transform:scale(.97)}@keyframes cxBounceIn{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1)}}.cx-cell--gap{background:var(--sa-surface-2)!important;border:2.5px dashed var(--sa-border-strong)!important;box-shadow:inset 0 0 22px #ffffff26!important;color:var(--sa-fg-muted);font-weight:600;font-size:.85rem;letter-spacing:.08em;cursor:copy;animation:cxGapPulse 1.1s ease-in-out infinite alternate;text-shadow:none;filter:none!important}.cx-cell--gap .cx-cell__gap-label{white-space:nowrap}@keyframes cxGapPulse{0%{transform:scale(1);box-shadow:inset 0 0 18px #ffffff1f;background:#ffffff0d!important}to{transform:scale(1.03);box-shadow:inset 0 0 26px #ffffff40,0 0 18px #fbbf248c;background:#ffffff1f!important}}.cx-cell--row-ok{animation:cxGlow 1.4s ease-in-out infinite alternate;border-color:#ffffffd9}@keyframes cxGlow{0%{box-shadow:0 0 0 2px #ffffffb3,0 0 18px #fbbf24a6,0 6px 18px #00000059;filter:brightness(1.05) saturate(1.2)}to{box-shadow:0 0 0 2px #fff,0 0 32px #fbbf24f2,0 0 18px #f472b6bf,0 6px 18px #00000059;filter:brightness(1.15) saturate(1.35)}}.cx-cell--first{border-top-left-radius:1.3rem;border-bottom-left-radius:1.3rem}.cx-cell--last{border-top-right-radius:1.3rem;border-bottom-right-radius:1.3rem}.cx-cell--result{cursor:default}.cx-cell--bad{filter:grayscale(.35) brightness(.85)}.cx-results__legend{display:flex;gap:.65rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}.cx-results__legend-pill{font-size:.85rem;font-weight:700;padding:.35rem .85rem;border-radius:999px;background:var(--sa-surface);border:1px solid var(--sa-border);color:var(--sa-fg)}.cx-results__legend-pill--ok{background:var(--wa-ok-bg);border-color:var(--wa-ok)}.cx-results__legend-pill--bad{background:var(--wa-bad-bg);border-color:var(--wa-bad)}.cx-results-section{margin-bottom:1.5rem}.cx-results-section__title{font-size:1rem;font-weight:800;margin-bottom:.55rem;color:var(--sa-fg-muted);letter-spacing:.04em;text-transform:uppercase}.cx-play-main{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;min-height:0;overflow:hidden;flex:1}.cx-play__hint{margin-top:.9rem;font-size:.92rem;color:var(--sa-fg-muted);text-align:center;padding:.55rem .9rem;border-radius:.8rem;background:var(--sa-surface);border:1px dashed var(--sa-border-strong);max-width:640px}.cx-room-readonly{width:100%;max-width:820px;margin:0 auto;padding:.25rem;align-self:flex-start}@media (max-width: 720px){.cx-cell{font-size:.9rem;padding:.5rem .55rem;min-height:3rem}.cx-cell__handle{display:none}.cx-grid{gap:.4rem}}@media (max-width: 480px){.cx-play--cols-4 .cx-cell{font-size:.78rem;padding:.4rem .35rem;min-height:2.6rem}.cx-play--cols-3 .cx-cell{font-size:.85rem}}.inp-field .ipt-help{bottom:110px}.inp-field .ipt-touch-controls{bottom:110px;padding:0 10px}.inp-field.ipt-field--touch .ipt-touch-controls{bottom:96px}.ipt-field--touch{touch-action:none;cursor:grab}.ipt-field--touch:active{cursor:grabbing}.ipt-touch-help{display:none}.inp-sentence{white-space:normal!important;line-height:1.85!important;max-width:min(560px,calc(100% - 1rem));text-align:center}.inp-sentence__text{white-space:pre-wrap}.inp-sentence__gap{display:inline-block;min-width:2.1rem;padding:0 .45rem;margin:0 .15rem;border-radius:.4rem;background:#0f172a14;border:2px dashed rgba(15,23,42,.3);font-weight:800;text-align:center;vertical-align:-.18em;color:#0f172a8c;line-height:1.4}.inp-sentence__gap--active{background:linear-gradient(135deg,#fbbf2459,#f59e0b4d);border-color:#f59e0b;border-style:solid;box-shadow:0 2px 8px #0000002e}.inp-sentence__gap--aimed{background:linear-gradient(135deg,#fbbf248c,#f59e0b80);border-color:#f59e0b;border-style:solid;box-shadow:0 0 #fbbf2499,0 2px 8px #0003;animation:inpGapPulse 1.2s ease-in-out infinite;will-change:transform,box-shadow}.inp-sentence__gap--correct{background:linear-gradient(135deg,#34d399,#10b981);color:#fff;border:2px solid transparent;box-shadow:0 2px 8px #10b98173;animation:inpGapPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes inpGapPulse{0%,to{background:linear-gradient(135deg,#fbbf248c,#f59e0b80);box-shadow:0 0 #fbbf2499,0 2px 8px #0003;transform:scale(1)}50%{background:linear-gradient(135deg,#fbbf24d9,#f59e0bcc);box-shadow:0 0 0 10px #fbbf2400,0 4px 18px #f59e0b99;transform:scale(1.06)}}@keyframes inpGapPop{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.inp-projectile{background:linear-gradient(135deg,#34d399,#10b981);color:#fff;border-radius:.5rem;padding:.2rem .7rem;font-weight:900;font-size:1rem;box-shadow:0 0 14px #34d399b3}.inp-projectile--wrong{background:linear-gradient(135deg,#fb7185,#f43f5e);box-shadow:0 0 14px #f43f5eb3}.inp-plane__ammo{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#422006;border-radius:.4rem;padding:.1rem .55rem;font-weight:900;font-size:.95rem;margin-bottom:2px;box-shadow:0 2px 6px #0003}.inp-ammo-bar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0f172a8c,#0f172ad9);border-top:2px solid rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .75rem;z-index:8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.inp-ammo-bar__label{font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#ffffffb3}.inp-ammo-bar__slots{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}.inp-ammo-bar__hint{color:#fff9;font-style:italic;font-size:.85rem}.inp-ammo-slot{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:.65rem;background:#ffffff26;border:2px solid rgba(255,255,255,.25);color:#fff;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,transform .1s;min-width:3.4rem}.inp-ammo-slot:hover:not(:disabled){background:#ffffff40;transform:translateY(-1px)}.inp-ammo-slot:active:not(:disabled){transform:scale(.97)}.inp-ammo-slot:disabled{opacity:.45;cursor:not-allowed}.inp-ammo-slot--active{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#fbbf24;color:#422006;box-shadow:0 4px 14px #f59e0b8c}.inp-ammo-slot__num{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:999px;background:#0000002e;font-size:.7rem;font-weight:800}.inp-ammo-slot--active .inp-ammo-slot__num{background:#fff6;color:#422006}.inp-ammo-slot__text{font-weight:900;font-size:1.05rem;letter-spacing:.02em}.inp-setup-gap{display:inline-flex;gap:.25rem;padding:.1rem .35rem;margin:0 .2rem;border-radius:.4rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);align-items:baseline}.inp-setup-gap__correct{background:var(--wa-ok-fill);color:var(--sa-ink);font-weight:800;padding:0 .35rem;border-radius:.3rem}.inp-setup-gap__wrong{background:var(--wa-bad-bg);color:var(--wa-bad);font-weight:600;padding:0 .3rem;border-radius:.3rem;text-decoration:line-through}.inp-gap-preview{display:inline-block;min-width:2.2rem;padding:0 .35rem;margin:0 .2rem;border-radius:.3rem;background:var(--sa-surface);border:1px dashed var(--sa-border-strong);text-align:center;font-weight:700;color:var(--sa-fg-muted)}.inp-gap-readonly{display:inline-flex;gap:.2rem;padding:.05rem .3rem;margin:0 .2rem;border-radius:.35rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);align-items:baseline}.inp-gap-readonly__correct{background:var(--wa-ok-fill);color:var(--sa-ink);font-weight:800;padding:0 .3rem;border-radius:.25rem}.inp-gap-readonly__wrong{background:var(--wa-bad-bg);color:var(--sa-fg);padding:0 .25rem;border-radius:.25rem;text-decoration:line-through;font-weight:600}.ipt-setup-row__chip{flex-shrink:0;font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:.15rem .55rem;border-radius:999px;background:var(--wa-ok-fill);color:var(--sa-ink)}@media (max-width: 720px){.ipt-field{min-height:0;border-radius:0;border-left:none;border-right:none}}@media (pointer: coarse){.ipt-field .ipt-help{display:none}.ipt-touch-help{display:block;position:absolute;top:3.2rem;left:50%;transform:translate(-50%);z-index:7;background:#0f172a80;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.22rem .7rem;font-size:.68rem;font-weight:700;color:#ffffffe6;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}.ipt-field .ipt-touch-controls{justify-content:flex-end;padding-right:16px}.ipt-field .ipt-touch-btn--move{display:none}.ipt-field .ipt-touch-btn--fire{width:72px;height:72px;font-size:2rem}}@media (max-width: 720px){.inp-field .ipt-hud{padding:.5rem .75rem;font-size:.85rem}.inp-field .ipt-hud__lives{font-size:1.05rem;letter-spacing:.08em}.inp-field .ipt-hud__value{font-size:1.05rem}.inp-field .ipt-hud__label{font-size:.65rem}.inp-sentence__gap{min-width:1.9rem;padding:.05rem .4rem}.inp-sentence__gap--correct,.inp-sentence__gap--active{font-size:.95em}.inp-ammo-bar{padding:.35rem .35rem .45rem;gap:.2rem}.inp-ammo-bar__label{font-size:.6rem}.inp-ammo-bar__slots{gap:.35rem}.inp-ammo-slot{min-width:0;flex:1 1 auto;max-width:28%;padding:.45rem .35rem;flex-direction:column;gap:.15rem}.inp-ammo-slot__num{width:1rem;height:1rem;font-size:.6rem}.inp-ammo-slot__text{font-size:1rem;line-height:1.1}}@media (max-width: 380px){.inp-ammo-slot{padding:.35rem .25rem}.inp-ammo-slot__text{font-size:.9rem}.ipt-touch-help{font-size:.65rem;padding:.2rem .55rem}}@media (max-height: 480px) and (pointer: coarse){.inp-field.ipt-field--touch .ipt-touch-controls{bottom:78px}.inp-ammo-bar{padding:.25rem .35rem}.inp-ammo-slot{padding:.3rem .35rem;flex-direction:row;gap:.35rem}.ipt-touch-help{display:none}}@media (max-width: 720px){.cw-layout{flex-direction:column;padding:.5rem;gap:.45rem}.cw-panel{border-radius:1rem;flex:1 1 auto;min-height:0}.cw-cluebar{height:auto;min-height:50px;padding:.45rem .8rem;gap:.55rem;flex-wrap:wrap}.cw-cluebar__badge{font-size:.82rem;padding:.22rem .6rem}.cw-cluebar__text{flex:1;font-size:.85rem;min-width:0;display:flex;flex-direction:column;gap:0;line-height:1.15}.cw-cluebar__hint-text{font-size:.88rem}.cw-cluebar__diff{font-size:.68rem}.cw-scroll{padding:10px;align-items:center;justify-content:center}.clue-list{width:100%;flex:0 0 auto;border-left:none;border-top:1px solid var(--sa-border);border-radius:1rem;max-height:22vh;overflow-y:auto;overflow-x:hidden}.clue-section{flex-direction:row;flex-wrap:wrap;gap:.3rem;padding:.5rem .65rem .6rem}.clue-section-title{width:100%;padding:0 0 .25rem;background:transparent;border-top:none;position:static;font-size:.62rem}.clue-item{flex:0 0 auto;padding:.28rem .6rem;font-size:.8rem;border-radius:999px;background:var(--sa-surface);border:1px solid var(--sa-border);border-left-width:1px;line-height:1.2;min-height:auto}.clue-item.clue-found{border-left-width:1px;background:var(--sa-surface-2)}.clue-number{min-width:1rem;font-size:.76rem}.ws-cell__letter{font-size:calc(var(--cell-size, 36px) * .58)}.ws-cancel-btn{padding:.25rem .65rem;font-size:.76rem}.cloze-play-layout{padding:.6rem;gap:.6rem}.cloze-play-scroll{padding:1rem 1.05rem;border-radius:1rem}.cloze-play-scroll .cloze-text{font-size:1rem;line-height:1.95}.cloze-blank--input{max-width:calc(100vw - 3rem);min-width:3.5ch;font-size:.95rem;padding:.15rem .35rem}.cloze-hint{width:1.4em;height:1.4em}.cloze-hint__bubble{max-width:min(80vw,280px);font-size:.82rem}.cloze-wordbank{width:auto;margin:0;max-height:24vh;border-radius:1rem;padding:.55rem .75rem .65rem;order:-1}.cloze-wordbank__title{font-size:.65rem;margin-bottom:.35rem}.cloze-wordbank__list{flex-direction:row;flex-wrap:wrap;gap:.3rem}.cloze-wordbank__item{font-size:.82rem;padding:.28rem .65rem;border-radius:999px}.play-header{padding:0 .75rem;gap:.5rem}.play-name{font-size:.92rem}.play-room{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;min-width:0}.play-actions{gap:.3rem}.sa-btn.submit-btn{padding:.45rem .85rem;font-size:.85rem;border-radius:.75rem}.play-actions .export-btn{padding:.4rem .6rem;font-size:.8rem}.export-btn--print{display:none}}@media (max-width: 380px){.cw-layout,.cloze-play-layout{padding:.4rem;gap:.4rem}.play-header{padding:0 .55rem}.play-name{display:none}.play-room{font-size:.68rem}.sa-btn.submit-btn{padding:.4rem .7rem;font-size:.8rem}.cloze-play-scroll .cloze-text{font-size:.95rem;line-height:1.85}}.so-play-main{flex:1;min-height:0;min-width:0;display:flex;align-items:stretch;justify-content:stretch;padding:0!important}.so-play{flex:1;display:flex;flex-direction:column;padding:clamp(.6rem,2vw,1.5rem);gap:clamp(.75rem,2.5vw,1.5rem);position:relative;min-height:0;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}.so-play__progress{display:flex;align-items:center;gap:.75rem;color:var(--sa-fg);flex-shrink:0}.so-play__progress-num{white-space:nowrap;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:999px;padding:.35rem .85rem;font-weight:900;font-size:1rem;letter-spacing:.02em}.so-play__progress-hint{font-size:.95rem;font-weight:600;color:var(--sa-fg-muted)}.so-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.so-item{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.1rem 2.2rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#422006;border:3px solid #d97706;border-radius:1.3rem;box-shadow:0 12px 36px #00000059,0 0 0 1px #0f172a14 inset;font-weight:900;font-size:clamp(1.4rem,4vw,2.1rem);text-align:center;cursor:grab;touch-action:none;-webkit-touch-callout:none;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;z-index:5;max-width:calc(100% - 2rem);word-break:break-word}.so-item__text{line-height:1.15}.so-item:hover:not(.so-item--flying){transform:translate(-50%,calc(-50% - 2px)) scale(1.02)}.so-item--dragging{cursor:grabbing;transition:none;box-shadow:0 22px 50px #00000073,0 0 0 4px #fbbf24b3;filter:brightness(1.05)}.so-item--flying{transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .45s,filter .35s;pointer-events:none}.so-item--ok{filter:brightness(1.15) saturate(1.2)}.so-item--bad{background:linear-gradient(135deg,#fecaca,#fca5a5)!important;filter:saturate(.8) brightness(.95)}.so-item__feedback{position:absolute;top:-.5rem;right:-.5rem;width:2rem;height:2rem;border-radius:50%;background:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--sa-shadow)}.so-item--ok .so-item__feedback{color:#16a34a}.so-item--bad .so-item__feedback{color:#b42318}.so-targets{display:grid;gap:clamp(.5rem,2vw,1rem);flex-shrink:0}.so-targets--n2{grid-template-columns:1fr 1fr}.so-targets--n3{grid-template-columns:1fr 1fr 1fr}.so-targets--n4{grid-template-columns:1fr 1fr 1fr 1fr}.so-targets--n5,.so-targets--n6{grid-template-columns:repeat(3,1fr)}.so-targets--n7,.so-targets--n8{grid-template-columns:repeat(4,1fr)}.so-target{position:relative;display:flex;align-items:center;justify-content:center;min-height:72px;padding:1rem .85rem;border-radius:1.1rem;border:3px solid rgba(255,255,255,.55);color:var(--sa-ink);font-weight:900;font-size:clamp(.95rem,2.5vw,1.25rem);cursor:pointer;font-family:inherit;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,border-color .15s;-webkit-tap-highlight-color:transparent;word-break:break-word}.so-target:hover:not(:disabled){transform:translateY(-3px) scale(1.02)}.so-target:active{transform:translateY(0) scale(.97)}.so-target--hover{transform:translateY(-4px) scale(1.06)!important;border-color:var(--sa-ink)!important;animation:soTargetPulse .8s ease-in-out infinite alternate}@keyframes soTargetPulse{0%{box-shadow:0 12px 30px #0006,0 0 0 4px #fff6 inset}to{box-shadow:0 18px 44px #00000080,0 0 0 6px #ffffffd9 inset}}.so-target__label{line-height:1.15}@media (max-width: 480px){.so-targets--n3,.so-targets--n4,.so-targets--n5,.so-targets--n6{grid-template-columns:1fr 1fr}.so-targets--n7,.so-targets--n8{grid-template-columns:1fr 1fr 1fr}.so-target{min-height:60px;padding:.65rem .55rem;font-size:.92rem}.so-item{padding:.8rem 1.4rem;font-size:clamp(1.2rem,5vw,1.6rem)}}.so-readonly{width:100%;max-width:900px;margin:0 auto}.so-readonly__cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}.so-readonly__col{display:flex;flex-direction:column;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);overflow:hidden}.so-readonly__cat-head{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;color:var(--sa-ink);font-weight:900}.so-readonly__cat-label{font-size:1rem;letter-spacing:.02em}.so-readonly__cat-count{background:#fff9;padding:.1rem .55rem;border-radius:999px;font-size:.82rem}.so-readonly__list{list-style:none;margin:0;padding:.5rem .8rem .8rem;display:flex;flex-direction:column;gap:.25rem;font-size:.92rem;color:var(--sa-fg)}.so-readonly__item{padding:.15rem .25rem}.so-results{color:var(--sa-fg)}.so-results__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.so-results__row{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem;border-radius:.65rem;background:var(--sa-surface);border:2px solid var(--sa-border);font-size:.95rem;flex-wrap:wrap}.so-results__row--ok{background:var(--wa-ok-bg);border-color:var(--wa-ok)}.so-results__row--bad{background:var(--wa-bad-bg);border-color:var(--wa-bad)}.so-results__num{font-weight:800;color:var(--sa-fg-muted);min-width:1.5rem}.so-results__text{font-weight:700}.so-results__chip,.so-results__correct-chip{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:999px;font-size:.8rem;font-weight:800;color:var(--sa-ink)}.so-results__mark{margin-left:auto;font-size:1.1rem;font-weight:900}.so-results__mark--ok{color:var(--wa-ok)}.so-results__mark--bad{color:var(--wa-bad)}.typepick-view{display:flex;flex-direction:column;min-height:100vh;color:var(--sa-fg)}.typepick-view>.typepick-head,.typepick-view>.tp-notice,.typepick-view>.tp-worksheet-banner,.typepick-view>.tp-divider,.typepick-view>.typepick-grid,.typepick-view>.tp-retention-note{width:100%;max-width:calc(var(--sa-content-max) + 2 * var(--sa-gutter));margin-left:auto;margin-right:auto;padding-left:var(--sa-gutter);padding-right:var(--sa-gutter)}.tp-worksheet-banner{margin-top:clamp(.6rem,1.8vh,1rem)}.tp-worksheet-banner__btn{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem clamp(.75rem,2vw,1.25rem);width:100%;padding:clamp(.75rem,2vh,1.1rem) clamp(.9rem,2.2vw,1.5rem);border-radius:var(--sa-radius-xl);background:var(--sa-app-soft);border:2px solid transparent;color:var(--sa-fg);font-family:inherit;cursor:pointer;text-align:left;transition:transform .15s ease,border-color .15s,box-shadow .15s}.tp-worksheet-banner__btn:hover{transform:translateY(-2px);border-color:var(--sa-app);box-shadow:var(--sa-shadow)}.tp-worksheet-banner__btn:active{transform:scale(.99)}.tp-worksheet-banner__icon{font-size:clamp(2rem,4vw,2.6rem);line-height:1;flex-shrink:0}.tp-worksheet-banner__body{flex:1 1 14rem;min-width:0}.tp-worksheet-banner__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:var(--sa-text-h3);line-height:1.2;margin-bottom:.2rem}.tp-worksheet-banner__desc{font-size:.95rem;color:var(--sa-fg-muted);line-height:1.4}.tp-worksheet-banner__cta{display:inline-flex;align-items:center;min-height:var(--sa-tap);padding:.4rem 1.1rem;background:var(--sa-app);color:#fff;border-radius:var(--sa-radius-btn);font-weight:var(--sa-weight-bold);font-size:1rem;flex-shrink:0}.tp-divider{display:flex;align-items:center;gap:1rem;margin-top:clamp(.6rem,1.8vh,1.1rem);margin-bottom:clamp(.5rem,1.4vh,.85rem);color:var(--sa-fg-muted);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.tp-divider:before,.tp-divider:after{content:"";flex:1;height:2px;background:var(--sa-border)}.typepick-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(.75rem,1.6vw,1rem);padding-bottom:clamp(.75rem,2vh,1.25rem)}@media (min-width: 64rem){.typepick-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:start}}.tp-category{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:clamp(.65rem,1.6vh,1rem) clamp(.75rem,1.4vw,1rem);min-width:0}.tp-category__head{display:flex;align-items:center;gap:.65rem;margin-bottom:clamp(.4rem,1.2vh,.7rem)}.tp-category__icon{font-size:1.6rem;line-height:1}.tp-category__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);color:var(--sa-fg);font-size:1.15rem;line-height:1.2}.tp-category__sub{font-size:.82rem;color:var(--sa-fg-muted);line-height:1.35}.tp-category__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.45rem}.tp-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title" "icon desc";column-gap:.7rem;align-items:center;width:100%;min-height:var(--sa-tap);padding:.5rem .75rem;background:var(--sa-surface-2);border:2px solid transparent;border-radius:var(--sa-radius-btn);color:var(--sa-fg);font-family:inherit;cursor:pointer;text-align:left;transition:transform .12s ease,border-color .15s,background .15s}.tp-card:hover{border-color:var(--sa-app);background:var(--sa-app-soft)}.tp-card:active{transform:scale(.98)}.tp-card__icon{grid-area:icon;font-size:1.55rem;line-height:1}.tp-card__title{grid-area:title;font-weight:700;font-size:1rem;line-height:1.25}.tp-card__desc{grid-area:desc;font-size:.82rem;color:var(--sa-fg-muted);line-height:1.3}.ws-builder{display:flex;flex-direction:column;min-height:100vh}.ws-builder__head{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem}.ws-builder__head .view-header__spacer{flex:1}.ws-builder__error{margin:0 1.5rem}.ws-builder__title-row{padding:0 1.5rem .75rem}.ws-title-input{width:100%;min-height:var(--sa-tap);padding:.7rem 1rem;font-size:1.1rem;font-weight:700;border-radius:var(--sa-radius-btn);border:2px solid var(--sa-border-strong);background:var(--sa-input-bg);color:var(--sa-input-fg)}.ws-title-input::placeholder{color:var(--sa-input-muted);opacity:1;font-weight:400}.ws-title-input:focus{border-color:var(--sa-focus)}.ws-builder__sheet{flex:1;display:flex;flex-direction:column;padding:1rem 1.5rem 4rem;max-width:820px;margin:0 auto;width:100%}.ws-empty{text-align:center;padding:3rem 1rem;background:var(--sa-surface);border:2px dashed var(--sa-border-strong);border-radius:var(--sa-radius-xl);margin-top:1rem;color:var(--sa-fg-muted)}.ws-empty__icon{font-size:3.5rem}.ws-empty__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.3rem;color:var(--sa-fg);margin:.5rem 0 .25rem}.ws-empty__desc{font-size:.95rem}.ws-insert{display:flex;justify-content:center;padding:.35rem 0}.ws-insert__btn{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .9rem;border-radius:999px;background:var(--sa-surface);border:1.5px dashed var(--sa-app);color:var(--sa-app-text);font-weight:800;font-size:.85rem;cursor:pointer;transition:background .15s,transform .12s}.ws-insert__btn:hover{background:var(--sa-app-soft);transform:scale(1.04)}.ws-insert__plus{font-size:1.1rem;font-weight:900}.ws-block{background:var(--sa-surface);border-radius:var(--sa-radius-lg);padding:.85rem;border:2px solid var(--sa-border);margin:.25rem 0}.ws-block--text{border-left:5px solid var(--sa-border-strong)}.ws-block--image{border-left:5px solid #f59e0b}.ws-block--audio{border-left:5px solid #10b981}.ws-block--exercise{border-left:5px solid var(--sa-app)}.ws-block__head{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem}.ws-block__num{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sa-app-soft);color:var(--sa-app-text);font-weight:900;flex-shrink:0}.ws-block__icon{font-size:1.4rem}.ws-block__info{flex:1;min-width:0}.ws-block__kind{font-weight:800;color:var(--sa-fg);font-size:.95rem}.ws-block__summary{font-size:.8rem;color:var(--sa-fg-muted)}.ws-block__actions{display:flex;gap:.25rem;flex-shrink:0}.ws-block__actions button{width:2.1rem;height:2.1rem;border-radius:.55rem;background:var(--sa-surface-2);border:1px solid transparent;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;color:var(--sa-fg-muted);transition:background .12s}.ws-block__actions button:hover{background:var(--sa-app-soft)}.ws-block__actions button:disabled{opacity:.45;cursor:not-allowed}.ws-block__actions .ws-block__delete:hover{background:var(--wa-bad-bg);color:var(--wa-bad)}.ws-block__body{padding:.25rem .35rem;font-size:.95rem;color:var(--sa-fg)}.ws-block__placeholder{color:var(--sa-fg-muted);font-style:italic}.ws-block-img img{max-width:100%;max-height:240px;border-radius:.6rem;display:block}.ws-block-img__caption{font-size:.8rem;color:var(--sa-fg-muted);margin-top:.3rem}.ws-block-audio__title{font-weight:700;margin-bottom:.25rem;color:var(--sa-fg)}.ws-block-audio audio{width:100%}.ws-block-ex__meta{color:var(--sa-app-text);font-weight:700}.ws-block-ex__hint{color:var(--sa-fg-muted);font-size:.8rem;margin-top:.25rem}.ws-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-scrim);display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.ws-modal{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;color:var(--sa-fg);box-shadow:var(--sa-shadow-pop)}.ws-modal--wide{max-width:980px}.ws-modal__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--sa-border);background:var(--sa-app-soft)}.ws-modal__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.2rem}.ws-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;padding:1.25rem;overflow-y:auto}.ws-picker-card{background:var(--sa-surface-2);border:2px solid transparent;border-radius:var(--sa-radius-lg);padding:1rem;cursor:pointer;text-align:left;transition:transform .12s ease,border-color .15s,background .15s;color:var(--sa-fg)}.ws-picker-card:hover{transform:translateY(-2px);background:var(--sa-app-soft);border-color:var(--sa-app)}.ws-picker-card__icon{font-size:2rem}.ws-picker-card__label{font-weight:800;font-size:1.05rem;margin-top:.25rem}.ws-picker-card__desc{font-size:.8rem;color:var(--sa-fg-muted);margin-top:.25rem;line-height:1.35}.ws-fullmodal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sa-surface);z-index:110;overflow-y:auto}.ws-fullmodal .view{min-height:100vh;background:var(--sa-bg)}.ws-editor{display:flex;flex-direction:column;width:100%;max-height:90vh}.ws-editor__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--sa-border)}.ws-editor__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.15rem}.ws-editor__body{flex:1;padding:1rem 1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.ws-editor__foot{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--sa-border);background:var(--sa-surface)}.ws-editor__hint{color:var(--sa-fg-muted);font-size:.8rem}.ws-md-toolbar{display:flex;flex-wrap:wrap;gap:.35rem}.ws-md-toolbar button{min-height:var(--sa-tap-sm);padding:.3rem .65rem;border-radius:.5rem;background:var(--sa-surface);border:2px solid var(--sa-border-strong);cursor:pointer;font-size:.85rem;color:var(--sa-fg)}.ws-md-toolbar button:hover{background:var(--sa-app-soft)}.ws-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:320px}@media (max-width: 720px){.ws-text-grid{grid-template-columns:1fr}}.ws-textarea{width:100%;min-height:320px;padding:.8rem;border-radius:var(--sa-radius-btn);border:2px solid var(--sa-border-strong);background:var(--sa-input-bg);color:var(--sa-input-fg);font-family:var(--sa-font-mono);font-size:.9rem;line-height:1.5;resize:vertical}.ws-text-preview{padding:.8rem;border-radius:var(--sa-radius-btn);background:var(--sa-surface-2);overflow-y:auto;min-height:320px}.ws-text-preview__label{font-size:.75rem;color:var(--sa-fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.ws-md h1,.ws-md h2,.ws-md h3,.ws-md h4{margin:.5em 0 .25em;font-weight:800}.ws-md h1{font-size:1.5rem}.ws-md h2{font-size:1.25rem}.ws-md h3{font-size:1.1rem}.ws-md p{margin:.25em 0 .6em;line-height:1.55}.ws-md ul,.ws-md ol{margin:.25em 0 .6em 1.25em}.ws-md li{margin:.1em 0}.ws-md blockquote{border-left:3px solid var(--sa-app);padding:.25em .75em;color:var(--sa-fg-muted);background:var(--sa-app-soft);margin:.5em 0}.ws-md code{background:var(--sa-surface-2);padding:.1em .3em;border-radius:.3em;font-family:var(--sa-font-mono);font-size:.9em}.ws-md a{color:var(--sa-app-text);text-decoration:underline}.ws-md strong{font-weight:800}.ws-img-area{display:flex;flex-direction:column;gap:.75rem;align-items:center}.ws-img-drop{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1.5rem;width:100%;background:var(--sa-surface-2);border:2px dashed var(--sa-border-strong);border-radius:1rem;text-align:center}.ws-img-drop .drop-icon{font-size:2.5rem}.ws-img-hint{color:var(--sa-fg-muted);font-size:.8rem}.ws-img-preview{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%}.ws-img-preview img{max-width:100%;max-height:320px;border-radius:.75rem}.ws-audio-preview{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;width:100%}.ws-audio-preview audio{width:100%}.ws-play{display:flex;flex-direction:column;min-height:100vh}.ws-play__head{flex-shrink:0}.ws-play__scroll{flex:1;overflow-y:auto;padding:2rem 1rem 6rem;background:var(--sa-bg)}.ws-play__sheet{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);padding:4rem 4.5rem 2rem;box-shadow:var(--sa-shadow);color:var(--sa-fg);max-width:820px;margin:0 auto;width:100%;min-height:80vh;font-family:var(--sa-font-body);line-height:1.6}.ws-play__title{font-size:1.85rem;font-weight:var(--sa-weight-display);margin:0 0 1.5rem;color:var(--sa-fg);text-align:center;border-bottom:2px solid var(--sa-border);padding-bottom:1rem;font-family:var(--sa-font-display)}.ws-play__blocks{display:flex;flex-direction:column;gap:1.75rem}.ws-play__submit{margin-top:2.5rem;padding-top:1.25rem;border-top:2px solid var(--sa-border);display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.ws-play__submit-info{text-align:center;font-weight:700;color:var(--sa-app-text);font-family:var(--sa-font-body)}.sa-btn.submit-btn--large{padding:1rem 2rem;font-size:1.1rem;width:100%}@media (max-width: 700px){.ws-play__scroll{padding:1rem .5rem 5rem}.ws-play__sheet{padding:1.75rem 1.25rem 1.5rem;border-radius:6px}.ws-play__title{font-size:1.4rem;padding-bottom:.75rem}}.ws-pblock{font-family:var(--sa-font-body);font-size:1rem;color:var(--sa-fg)}.ws-pblock--text{font-family:var(--sa-font-body);font-size:1.05rem;line-height:1.65;padding:0;background:transparent}.ws-pblock--exercise{padding:1rem 1.1rem;border:1px solid var(--sa-border);border-left:4px solid var(--sa-app);border-radius:6px;background:var(--sa-surface)}.ws-pblock--image figure{margin:0;text-align:center}.ws-pblock--image img{max-width:100%;max-height:480px;border-radius:4px;border:1px solid var(--sa-border);box-shadow:var(--sa-shadow)}.ws-pblock--image figcaption{font-size:.85rem;color:var(--sa-fg-muted);margin-top:.5rem;text-align:center;font-style:italic}.ws-pblock--audio{padding:.85rem 1rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-radius:6px}.ws-pblock--audio audio{width:100%;margin-top:.3rem}.ws-pblock-audio__title{font-weight:700;color:var(--sa-fg-muted)}.ws-pblock__head{display:flex;align-items:center;gap:.5rem;font-weight:800;color:var(--sa-app-text);margin-bottom:.65rem;font-size:.95rem}.ws-room-overview{background:var(--sa-app-soft);border:1px solid var(--sa-app);border-radius:1rem;padding:.85rem 1rem;margin-bottom:1rem}.ws-room-overview__head{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem;color:var(--sa-app-text);font-weight:800}.ws-room-overview__icon{font-size:1.25rem}.ws-room-overview__title{flex:1}.ws-room-overview__count{font-size:.8rem;color:var(--sa-fg-muted)}.ws-room-overview__list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}.ws-room-overview__item{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:var(--sa-surface);border-radius:999px;font-size:.8rem;color:var(--sa-fg)}.ws-room-overview__num{font-weight:800;color:var(--sa-app-text)}.room-case-bar{display:flex;justify-content:center;padding:.5rem 1rem 0}.room-case-bar .room-case-note{margin-left:0;padding:.15rem .75rem;background:var(--sa-surface);border-color:var(--wa-hi);color:var(--sa-fg);font-size:.8rem;white-space:normal;text-align:center}.room-case-note{display:inline-block;margin-left:.5rem;padding:.05rem .5rem;border-radius:999px;background:var(--wa-hi-soft);border:1px solid var(--wa-hi);font-size:.72rem;font-weight:700;letter-spacing:0;vertical-align:middle;white-space:nowrap}.ws-room-overview__item .room-case-note{margin-left:0;color:var(--wa-hi-text)}.pdf-menu{position:relative;display:inline-block}.pdf-menu__btn{cursor:pointer}.pdf-menu__caret{font-size:.8em;opacity:.85}.pdf-menu--compact{margin-left:.15rem}.pdf-menu__btn--compact{border:1px solid var(--sa-app);background:var(--sa-surface);color:var(--sa-app-text);font-weight:800;font-size:.72rem;line-height:1.3;padding:.12rem .45rem;border-radius:999px;cursor:pointer}.pdf-menu__btn--compact:hover{background:var(--sa-surface-2)}.pdf-menu__list{position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:170px;background:var(--sa-surface);color:var(--sa-fg);border:1px solid var(--sa-border);border-radius:.6rem;box-shadow:var(--sa-shadow);padding:.3rem;display:flex;flex-direction:column;gap:.15rem}.pdf-menu__item{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:.5rem .6rem;border-radius:.4rem;font-size:.85rem;font-weight:600;color:var(--sa-fg);white-space:nowrap}.pdf-menu__item:hover{background:var(--sa-surface-2)}.ws-block__actions .pdf-menu{display:inline-flex;align-items:center}.ws-block__actions .pdf-menu__btn--compact{width:auto;height:2.1rem;padding:0 .55rem;font-size:.72rem}.ws-readonly-stack{display:flex;flex-direction:column;gap:1.5rem;padding:3rem 3.5rem 2rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-lg);max-width:820px;margin:1rem auto;box-shadow:var(--sa-shadow);color:var(--sa-fg);font-family:var(--sa-font-body);line-height:1.6}.ws-readonly-stack__title{font-family:var(--sa-font-display);font-size:1.6rem;font-weight:var(--sa-weight-display);color:var(--sa-fg);text-align:center;border-bottom:2px solid var(--sa-border);padding-bottom:1rem;margin:0}@media (max-width: 700px){.ws-readonly-stack{padding:1.5rem 1rem}}.ws-screen-mirror{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--sa-surface);font-size:.75rem}@media print{.ws-builder__head,.ws-block__actions,.ws-insert{display:none!important}.ws-block{box-shadow:none;border:1px solid #cbd5e1;page-break-inside:avoid}}.ws-pblock--exercise>div{height:auto!important}.ws-pblock--exercise .cloze-blank--input{background:var(--sa-surface);border:1px solid var(--sa-border);border-bottom:2px solid var(--sa-app);color:var(--sa-fg)}.ws-pblock--exercise .cloze-blank--input:focus{background:var(--sa-surface-2);border-bottom-color:var(--sa-app)}.ws-pblock--exercise .cloze-blank--input-correct{background:var(--wa-ok-bg);border-color:var(--wa-ok);border-bottom-color:var(--wa-ok);color:var(--wa-ok)}.ws-pblock--exercise .ana-list{gap:.75rem;padding:0}.ws-pblock--exercise .ana-card{background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-app);border-radius:.55rem;padding:.75rem .85rem;box-shadow:none}.ws-pblock--exercise .ana-card__num{background:var(--sa-app);color:#fff}.ws-pblock--exercise .ana-chip{background:var(--sa-app);border-color:var(--sa-app);color:#fff}.ws-pblock--exercise .ak-container{gap:.75rem;padding:0}.ws-pblock--exercise .ak-row{background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-app);border-radius:.55rem;padding:.65rem .8rem}.ws-pblock--exercise .ak-solution-bar{background:var(--sa-app-soft);border:1px solid var(--sa-app);border-radius:.55rem;padding:.6rem .85rem;color:var(--sa-fg)}.ws-pblock--exercise .cx-play{padding:0;background:transparent}.ws-pblock--exercise .cx-grid{gap:6px}.ws-pblock--exercise .cx-cell{border-radius:.45rem;font-size:.9rem}.ws-pblock--exercise .cx-play__hint{font-size:.8rem;color:var(--sa-fg-muted);margin-top:.5rem}.wsx-cw{display:flex;flex-direction:column;gap:1rem;font-family:var(--sa-font-body)}.wsx-cw__board{display:flex;justify-content:center}.wsx-cw__grid{display:grid;gap:2px;background:var(--wa-board);padding:2px;border-radius:4px;box-shadow:var(--sa-shadow)}.wsx-cw__cell{width:var(--wsx-cell, 30px);height:var(--wsx-cell, 30px);position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.wsx-cw__cell--block{background:var(--wa-board);border-radius:2px}.wsx-cw__cell--open{background:var(--wa-cell);cursor:pointer;transition:background .12s;border-radius:2px}.wsx-cw__cell--open:hover,.wsx-cw__cell--hi{background:#fef3c7}.wsx-cw__cell--sel{background:#fcd34d!important;box-shadow:0 0 0 2px #f59e0b inset}.wsx-cw__cell--correct{background:#d1fae5!important}.wsx-cw__cell--correct.wsx-cw__cell--hi{background:#a7f3d0!important}.wsx-cw__cell--correct.wsx-cw__cell--sel{background:#6ee7b7!important;box-shadow:0 0 0 2px #10b981 inset}.wsx-cw__cell--correct .wsx-cw__input,.wsx-cw__cell--correct .wsx-cw__letter{color:#065f46}.wsx-cw__num{position:absolute;top:1px;left:2px;font-size:.58em;font-weight:700;color:var(--sa-blue);line-height:1;pointer-events:none}.wsx-cw__input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:calc(var(--wsx-cell, 30px) * .55);font-weight:700;color:var(--wa-cell-fg);text-transform:uppercase;outline:none;padding:0;caret-color:transparent;font-family:var(--sa-font-body)}.wsx-cw__letter{font-size:calc(var(--wsx-cell, 30px) * .55);font-weight:700;color:var(--wa-cell-fg);text-transform:uppercase}.wsx-cw__clues{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;font-family:var(--sa-font-body)}@media (max-width: 600px){.wsx-cw__clues{grid-template-columns:1fr}}.wsx-cw__cluesect-title{margin:0 0 .35rem;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--sa-app-text);border-bottom:1px solid var(--sa-border);padding-bottom:.25rem;font-family:var(--sa-font-body)}.wsx-cw__cluelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.wsx-cw__cluelist li{display:flex;gap:.5rem;font-size:.92rem;line-height:1.45;color:var(--sa-fg)}.wsx-cw__cluenum{font-weight:800;color:var(--sa-app-text);min-width:1.4rem;text-align:right;flex-shrink:0}.wsx-cw__cluetext{flex:1}.wsx-cw__cluecheck{color:var(--wa-ok);font-weight:900;flex-shrink:0}.wsx-cw__clueitem--solved .wsx-cw__cluetext{color:var(--wa-ok);text-decoration:line-through;text-decoration-color:#10b98180;text-decoration-thickness:1.5px}.wsx-cw__clueitem--solved .wsx-cw__cluenum{color:var(--wa-ok)}.wsx-ws{display:flex;flex-direction:column;gap:.85rem;font-family:var(--sa-font-body)}.wsx-ws__info{display:flex;gap:.85rem;align-items:baseline;color:var(--sa-fg-muted);font-size:.9rem}.wsx-ws__hint{color:var(--sa-app-text);font-weight:600;font-style:italic}.wsx-ws--ok .wsx-ws__hint:after{content:" ✓";color:var(--wa-ok)}.wsx-ws--no .wsx-ws__hint:after{content:" ✗";color:var(--wa-bad)}.wsx-ws__grid{display:grid;gap:2px;justify-content:center;background:var(--wa-board);padding:4px;border-radius:6px;box-shadow:var(--sa-shadow)}.wsx-ws__cell{background:var(--wa-cell);border:none;font-family:var(--sa-font-body);font-weight:700;font-size:1rem;text-transform:uppercase;color:var(--wa-cell-fg);border-radius:3px;cursor:pointer;transition:background .1s,transform .08s;padding:0;line-height:1}.wsx-ws__cell:hover{background:#fef3c7}.wsx-ws__cell:active{transform:scale(.92)}.wsx-ws__cell--first{background:#fcd34d!important;box-shadow:0 0 0 2px #f59e0b inset}.wsx-ws__cell--found{background:linear-gradient(135deg,#6ee7b7,#34d399)!important;color:#064e3b;font-weight:800}.wsx-ws__wordlist{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.wsx-ws__word{display:inline-block;padding:.25rem .65rem;border-radius:999px;background:var(--sa-surface-2);border:1px solid var(--sa-border);font-size:.85rem;color:var(--sa-fg);font-weight:600}.wsx-ws__word--done{background:var(--wa-ok-bg);border-color:var(--wa-ok);color:var(--wa-ok);text-decoration:line-through;text-decoration-thickness:1.5px}.wsx-ws__done{text-align:center;color:var(--wa-ok);font-weight:800;font-size:1rem;margin-top:.25rem}.wsx-wordle{display:flex;flex-direction:column;gap:.75rem;font-family:var(--sa-font-body)}.wsx-wordle__meta{color:var(--sa-fg-muted);font-size:.85rem}.wsx-wordle-row{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:start;gap:.25rem .65rem;padding:.65rem .75rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-app);border-radius:.55rem}.wsx-wordle-row--solved{border-left-color:var(--wa-ok);background:var(--sa-surface)}.wsx-wordle-row--failed{border-left-color:var(--wa-bad);background:var(--sa-surface)}.wsx-wordle-row__num{font-weight:800;color:var(--sa-app-text);align-self:start}.wsx-wordle-row__grid{display:flex;flex-direction:column;gap:3px}.wsx-wordle-rowline{display:flex;gap:3px}.wsx-wordle-cell{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-weight:800;font-size:.9rem;text-transform:uppercase;background:var(--sa-surface);border:1px solid var(--sa-border-strong);color:var(--sa-fg)}.wsx-wordle-cell--empty{background:var(--sa-surface)}.wsx-wordle-cell--draft{background:var(--wa-hi-soft);border-color:var(--amber-dark)}.wsx-wordle-cell--correct{background:#4caf50;border-color:#4caf50;color:var(--sa-ink)}.wsx-wordle-cell--present{background:#e0a82e;border-color:#e0a82e;color:var(--sa-ink)}.wsx-wordle-cell--absent{background:#4a4f55;border-color:#4a4f55;color:#fff}.wsx-wordle-row__hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;opacity:0;pointer-events:none}.wsx-wordle-row__submit{grid-column:2;display:flex;margin-top:.35rem}.wsx-wordle-row__submit button{min-height:var(--sa-tap-sm);padding:.35rem 1rem;background:var(--sa-app);color:#fff;border:2px solid var(--sa-app);border-radius:var(--sa-radius-btn);font-weight:700;font-size:.9rem;cursor:pointer;font-family:var(--sa-font-body);transition:transform .1s,filter .15s}.wsx-wordle-row__submit button:hover:not(:disabled){filter:brightness(1.12)}.wsx-wordle-row__submit button:active:not(:disabled){transform:translateY(1px)}.wsx-wordle-row__submit button:disabled{background:var(--sa-surface-2);cursor:not-allowed;color:var(--sa-fg-muted);border-color:var(--sa-border-strong);border-style:dashed}.wsx-wordle-row{cursor:text;position:relative}.wsx-wordle-row--solved,.wsx-wordle-row--failed{cursor:default}.wsx-wordle-row__grid{border-radius:.35rem;transition:box-shadow .15s}.wsx-wordle-row__grid--focused{box-shadow:0 0 0 3px var(--sa-focus)}.wsx-wordle-row__grid--shake{animation:wsxWordleShake .35s ease-in-out}@keyframes wsxWordleShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.wsx-wordle-cell--cursor{box-shadow:0 0 0 2px var(--sa-focus) inset;animation:wsxWordleCursor 1s ease-in-out infinite}@keyframes wsxWordleCursor{0%,to{box-shadow:0 0 0 2px var(--sa-focus) inset}50%{box-shadow:0 0 0 2px transparent inset}}.wsx-wordle-cell--pop{animation:wsxWordlePop .15s ease-out}@keyframes wsxWordlePop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.wsx-wordle-rowline--active .wsx-wordle-cell{border-color:var(--sa-border-strong)}@media (prefers-reduced-motion: reduce){.wsx-wordle-cell--cursor{animation:none;box-shadow:0 0 0 2px var(--sa-focus) inset}.wsx-wordle-cell--pop,.wsx-wordle-row__grid--shake{animation:none}}.wsx-wordle-row__result{grid-column:2;margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.9rem}.wsx-wordle-row__ok{color:var(--wa-ok);font-weight:700}.wsx-wordle-row__bad{color:var(--wa-bad);font-weight:600}.wsx-wordle-row__clue{color:var(--sa-fg-muted);font-style:italic}.wsx-wordle__advance{display:flex;justify-content:flex-end;margin-top:.25rem}.wsx-wordle__nextbtn{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--sa-tap);padding:.45rem 1.1rem;background:var(--sa-app);color:#fff;border:2px solid var(--sa-app);border-radius:var(--sa-radius-btn);font-weight:700;font-size:.95rem;cursor:pointer;font-family:var(--sa-font-body);transition:transform .12s,filter .15s}.wsx-wordle__nextbtn:hover{filter:brightness(1.12)}.wsx-wordle__nextbtn:active{transform:translateY(1px)}.wsx-wordle--summary{gap:.85rem}.wsx-wordle__summary-head{display:flex;align-items:center;gap:.85rem;font-size:1rem;color:var(--sa-fg-muted)}.wsx-wordle__jumpback{margin-left:auto;background:transparent;border:2px solid var(--sa-border-strong);color:var(--sa-app-text);padding:.3rem .75rem;border-radius:.4rem;font-size:.82rem;font-weight:600;cursor:pointer}.wsx-wordle__jumpback:hover{background:var(--sa-surface-2)}.wsx-wordle__summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.wsx-wordle__summary-row{display:grid;grid-template-columns:28px 28px 1fr auto;gap:.55rem;align-items:baseline;padding:.5rem .75rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-border);border-radius:.45rem;font-size:.9rem}.wsx-wordle__summary-row--ok{border-left-color:var(--wa-ok);background:var(--sa-surface)}.wsx-wordle__summary-row--bad{border-left-color:var(--wa-bad);background:var(--sa-surface)}.wsx-wordle__summary-num{font-weight:800;color:var(--sa-app-text)}.wsx-wordle__summary-mark{font-weight:900;text-align:center}.wsx-wordle__summary-row--ok .wsx-wordle__summary-mark{color:var(--wa-ok)}.wsx-wordle__summary-row--bad .wsx-wordle__summary-mark{color:var(--wa-bad)}.wsx-wordle__summary-word{font-family:var(--sa-font-mono);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sa-fg)}.wsx-wordle__summary-tries{color:var(--sa-fg-muted);font-size:.82rem;text-align:right}.wsx-wordle__summary-clue{grid-column:3 / -1;color:var(--sa-fg-muted);font-style:italic;font-size:.85rem;margin-top:.15rem}.wsx-quiz{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;font-family:var(--sa-font-body)}.wsx-quiz__item{display:grid;grid-template-columns:28px 1fr auto;gap:.65rem;align-items:start;padding:.65rem .85rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-app);border-radius:.55rem}.wsx-quiz__item--ok{border-left-color:var(--wa-ok);background:var(--sa-surface)}.wsx-quiz__num{font-weight:800;color:var(--sa-app-text);padding-top:.25rem}.wsx-quiz__body{display:flex;flex-direction:column;gap:.4rem}.wsx-quiz__q{font-family:var(--sa-font-body);font-size:1rem;color:var(--sa-fg);line-height:1.45}.wsx-quiz__input{min-height:var(--sa-tap);padding:.45rem .65rem;border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius);font-size:.95rem;background:var(--sa-input-bg);color:var(--sa-input-fg);font-family:var(--sa-font-body)}.wsx-quiz__input:focus{border-color:var(--sa-focus)}.wsx-quiz__a-readonly{display:flex;flex-wrap:wrap;gap:.35rem}.wsx-quiz__chip{padding:.2rem .55rem;background:var(--wa-ok-bg);color:var(--wa-ok);border:1px solid var(--wa-ok);border-radius:999px;font-size:.8rem;font-weight:600}.wsx-quiz__mark{color:var(--wa-ok);font-size:1.25rem;font-weight:800}.wsx-sortino{font-family:var(--sa-font-body)}.wsx-sortino__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.wsx-sortino__item{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:.35rem .65rem;padding:.6rem .85rem;background:var(--sa-surface);border:1px solid var(--sa-border);border-left:3px solid var(--sa-app);border-radius:.55rem;align-items:center}.wsx-sortino__item--filled{border-left-color:var(--amber-dark)}.wsx-sortino__item--ok{border-left-color:var(--wa-ok);background:var(--sa-surface)}.wsx-sortino__num{font-weight:800;color:var(--sa-app-text)}.wsx-sortino__text{font-family:var(--sa-font-body);font-size:1rem;color:var(--sa-fg)}.wsx-sortino__cats{grid-column:2;display:flex;flex-wrap:wrap;gap:.3rem}.wsx-sortino__cat{min-height:var(--sa-tap-sm);padding:.25rem .75rem;background:var(--sa-surface);border:2px solid var(--sa-border-strong);border-radius:999px;font-size:.85rem;font-weight:700;color:var(--sa-fg);cursor:pointer;transition:background .12s,border-color .12s}.wsx-sortino__cat:hover:not(:disabled){background:var(--sa-surface-2);border-color:var(--sa-app)}.wsx-sortino__cat--chosen{background:var(--sa-app)!important;color:#fff!important;border-color:var(--sa-app)!important}.wsx-sortino__item--ok .wsx-sortino__cat--chosen{background:#116149!important;border-color:#116149!important}:root{--wb-font-scale: 1;--wb-tap-min: 0px}.whiteboard{--wb-font-scale: 1.9;--wb-tap-min: 64px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--sa-bg);color:var(--sa-fg)}.whiteboard--embedded{position:absolute;z-index:6}.wb-toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.7rem clamp(.8rem,2.5vw,1.4rem);background:var(--sa-chrome);border-bottom:2px solid var(--sa-border)}.wb-toolbar__spacer{flex:1 1 auto}.wb-toolbar__seg .wb-tab{padding:.5rem 1.25rem;min-height:max(var(--sa-tap-sm),var(--wb-tap-min))}.wb-btn{border:2px solid var(--sa-border-strong);background:var(--sa-surface);color:var(--sa-fg);font:inherit;font-size:1rem;font-weight:700;padding:.5rem .95rem;border-radius:.7rem;cursor:pointer;min-height:var(--wb-tap-min);transition:background .18s,border-color .18s,transform .12s}.wb-btn:hover{background:var(--sa-surface-2)}.wb-btn:active{transform:translateY(1px)}.wb-btn--exit{background:var(--wa-bad-bg);border-color:var(--wa-bad);color:var(--wa-bad)}.wb-btn--exit:hover{background:var(--sa-surface);border-color:var(--wa-bad)}.wb-stage{flex:1 1 auto;overflow:auto;padding:1.5rem clamp(1rem,4vw,3rem);display:flex;flex-direction:column}.wb-present,.wb-solve{width:100%;max-width:1400px;margin:0 auto}.wb-solve__status{width:fit-content;margin:0 auto 1.3rem;padding:.35rem 1.1rem;font-size:calc(.72rem * var(--wb-font-scale));font-weight:800;letter-spacing:.02em;color:var(--sa-fg);background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:999px;box-shadow:var(--sa-shadow)}.whiteboard button:not(.qz-nav__dot){min-height:var(--wb-tap-min)}.whiteboard .so-item{font-size:calc(1.5rem * var(--wb-font-scale));padding:calc(.55rem * var(--wb-font-scale)) calc(1rem * var(--wb-font-scale))}.whiteboard .so-item__text{font-size:1em}.whiteboard .so-target{min-height:calc(2.4rem * var(--wb-font-scale));font-size:calc(.95rem * var(--wb-font-scale))}.whiteboard .so-target__label{font-size:1em}.whiteboard .so-play__progress-num{font-size:calc(.85rem * var(--wb-font-scale))}.whiteboard .so-play__progress-hint{font-size:calc(.6rem * var(--wb-font-scale))}.whiteboard .so-readonly__cat-head{font-size:calc(.95rem * var(--wb-font-scale))}.whiteboard .so-readonly__item{font-size:calc(.8rem * var(--wb-font-scale));padding:.4rem .7rem}.whiteboard .cloze-text{font-size:calc(1rem * var(--wb-font-scale));line-height:1.9}.whiteboard .cloze-blank--input{min-height:var(--wb-tap-min);font-size:1em;padding:.15em .5em}.whiteboard .cloze-blank--readonly{font-size:1em}.whiteboard .cloze-hint{width:1.4em;height:1.4em}.whiteboard .cloze-hint__bubble{font-size:calc(.7rem * var(--wb-font-scale))}.wb-present-cloze{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.wb-present-cloze .cloze-blank--input{pointer-events:none}.whiteboard .qz-card__progress{font-size:calc(.75rem * var(--wb-font-scale))}.whiteboard .qz-card__question{font-size:calc(1.25rem * var(--wb-font-scale))}.whiteboard .qz-card__input{min-height:var(--wb-tap-min);font-size:calc(1.05rem * var(--wb-font-scale))}.whiteboard .qz-card__feedback{font-size:calc(.95rem * var(--wb-font-scale))}.whiteboard .qz-nav__btn{min-height:var(--wb-tap-min);font-size:calc(.9rem * var(--wb-font-scale))}.whiteboard .qz-nav__dots{flex:0 1 auto;gap:.55rem;margin:.2rem 0;padding:.5rem .8rem;background:var(--sa-surface-2);border:1px solid var(--sa-border);border-radius:999px}.whiteboard .qz-nav__dot{width:calc(.62rem * var(--wb-font-scale));height:calc(.62rem * var(--wb-font-scale));min-height:0;border-width:2px}.whiteboard .qz-nav__dot--active{transform:scale(1.3)}.whiteboard .qz-list-row{font-size:calc(.8rem * var(--wb-font-scale))}.whiteboard .cx-cell{min-height:var(--wb-tap-min);font-size:calc(.8rem * var(--wb-font-scale))}.whiteboard .cx-cell__text{font-size:1em}.whiteboard .cx-play__hint{font-size:calc(.6rem * var(--wb-font-scale))}.whiteboard .ana-chip{font-size:calc(1rem * var(--wb-font-scale));min-width:calc(1.35rem * var(--wb-font-scale))}.whiteboard .ana-input{min-height:var(--wb-tap-min);font-size:calc(1rem * var(--wb-font-scale))}.whiteboard .ana-card__num{font-size:calc(.8rem * var(--wb-font-scale))}.whiteboard .ana-solution{font-size:calc(1rem * var(--wb-font-scale))}.whiteboard .ak-solution-box{font-size:calc(1rem * var(--wb-font-scale));min-width:calc(1.3rem * var(--wb-font-scale))}.whiteboard .ak-clue{font-size:calc(.85rem * var(--wb-font-scale))}.whiteboard .ak-input{min-height:var(--wb-tap-min);font-size:calc(1rem * var(--wb-font-scale))}.whiteboard .ak-tile,.whiteboard .ak-solution-line__rest{font-size:calc(.9rem * var(--wb-font-scale))}.wb-present-quiz{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.wb-reveal-btn{font-size:calc(.8rem * var(--wb-font-scale));padding:.6rem 1.5rem}.wb-keyboard{flex:0 0 auto;background:var(--sa-surface);border-top:2px solid var(--sa-border);padding:.6rem clamp(.5rem,2vw,2rem) 1rem;display:flex;flex-direction:column;gap:.5rem;align-items:center}.wb-keyboard__row{display:flex;gap:.5rem;justify-content:center;width:100%}.wb-key{flex:1 1 0;max-width:5.5rem;min-height:var(--wb-tap-min);border:2px solid var(--sa-border-strong);background:var(--sa-surface-2);color:var(--sa-fg);font:inherit;font-size:1.35rem;font-weight:700;border-radius:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:manipulation}.wb-key:active{background:var(--sa-app);color:#fff}.wb-key--wide{max-width:7rem}.wb-key--space{max-width:22rem;flex:3 1 0;font-size:1rem}.wb-key--clear{max-width:9rem;flex:2 1 0;font-size:1rem}.wb-key--on{background:var(--sa-app);border-color:var(--sa-app);color:#fff}.cell--target{background:#c9d5f3;box-shadow:inset 0 0 0 2px var(--sa-blue)}.wbq{--wb-tap-min: 56px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--sa-bg);color:var(--sa-fg)}.wbq-toolbar{display:flex;align-items:center;gap:.7rem;padding:.7rem clamp(.8rem,2.5vw,1.4rem);background:var(--sa-chrome);border-bottom:2px solid var(--sa-border)}.wbq-toolbar__title{font-family:var(--sa-font-display);font-size:1.3rem;font-weight:var(--sa-weight-display);color:var(--sa-fg)}.wbq-toolbar__code{font-size:.95rem;color:var(--sa-fg-muted);font-weight:700}.wbq-toolbar__spacer{flex:1 1 auto}.wbq-stage{flex:1 1 auto;display:flex;gap:1rem;padding:1rem clamp(.8rem,2.5vw,1.6rem);min-height:0}.wbq-board{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center}.wbq-board .clue-list{display:none}.wbq-board .cw-layout{width:100%;height:100%;justify-content:center}.wbq-rail{width:clamp(300px,26vw,380px);flex:0 0 auto;display:flex;flex-direction:column;gap:.85rem;overflow:auto;padding-right:.2rem}.wbq-panel{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1rem 1.1rem;color:var(--sa-fg);box-shadow:var(--sa-shadow)}.wbq-panel__badge{display:inline-block;font-size:.8rem;font-weight:800;padding:.25rem .7rem;border-radius:999px;background:var(--sa-app-soft);border:1px solid var(--sa-app);color:var(--sa-app-text);margin-bottom:.5rem}.wbq-panel__clue{font-family:var(--sa-font-display);font-size:1.35rem;font-weight:var(--sa-weight-display);line-height:1.3;color:var(--sa-fg)}.wbq-panel__hint{color:var(--sa-fg-muted);font-size:1.02rem;font-weight:600}.wbq-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:.9rem}.wbq-big-btn{border:2px solid transparent;border-radius:var(--sa-radius-btn);padding:.9rem 1rem;font:inherit;font-family:var(--sa-font-display);font-size:1.15rem;font-weight:var(--sa-weight-display);color:#fff;cursor:pointer;transition:transform .12s,filter .18s}.wbq-big-btn:hover{filter:brightness(1.08)}.wbq-big-btn:active{transform:translateY(1px)}.wbq-big-btn:disabled{opacity:.5;cursor:not-allowed}.wbq-big-btn--teacher{background:var(--sa-blue)}.wbq-big-btn--class{background:var(--wa-hi);color:var(--sa-ink)}.wbq-big-btn--check{background:var(--sa-app)}.wbq-solved-note{font-weight:800;color:var(--wa-ok)}.wbq-panel .wb-btn,.wbq-banner .wb-btn,.wbq-entry .wb-btn{background:var(--sa-surface);border:2px solid var(--sa-border-strong);color:var(--sa-fg)}.wbq-panel .wb-btn:hover,.wbq-banner .wb-btn:hover,.wbq-entry .wb-btn:hover{background:var(--sa-surface-2);border-color:var(--sa-border-strong)}.wbq-score{background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:.85rem 1rem;color:var(--sa-fg);box-shadow:var(--sa-shadow)}.wbq-score__title{font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);font-size:1.1rem;margin-bottom:.5rem;color:var(--sa-fg)}.wbq-score__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.wbq-score__row{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--sa-fg)}.wbq-score__rank{width:1.4rem;text-align:center;color:var(--sa-fg-muted)}.wbq-score__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbq-score__pts{min-width:2rem;text-align:center;font-weight:900;padding:.1rem .5rem;border-radius:999px;background:var(--wa-ok-bg);color:var(--wa-ok)}.wbq-clues{display:flex;flex-direction:column;gap:.4rem;background:var(--sa-surface);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:.6rem .7rem;box-shadow:var(--sa-shadow)}.wbq-clues__section{display:flex;flex-direction:column;gap:.25rem}.wbq-clues__title{font-weight:900;font-size:.78rem;color:var(--sa-fg-muted);margin:.4rem 0 .1rem;text-transform:uppercase;letter-spacing:.06em}.wbq-clue{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;border:1px solid transparent;background:var(--sa-surface-2);color:var(--sa-fg);font:inherit;border-radius:.55rem;padding:.5rem .65rem;cursor:pointer;transition:background .15s,border-color .15s}.wbq-clue:hover{background:var(--sa-app-soft)}.wbq-clue--active{background:var(--sa-app-soft);border-color:var(--sa-app)}.wbq-clue--solved{opacity:.55}.wbq-clue--solved .wbq-clue__text{text-decoration:line-through}.wbq-clue--solved .wbq-clue__meta{color:var(--wa-ok)}.wbq-clue:disabled{cursor:default;opacity:.75}.wbq-clue__num{font-weight:900;min-width:1.6rem;text-align:center;color:var(--sa-app-text)}.wbq-clue__text{flex:1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbq-clue__meta{font-weight:800;color:var(--sa-fg-muted)}.wbq-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--sa-scrim)}.wbq-buzz-card,.wbq-wheel-card,.wbq-reveal{background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-hero);padding:2rem 2.5rem;text-align:center;box-shadow:var(--sa-shadow-pop);max-width:min(92vw,640px)}.wbq-buzz-card__count{font-size:clamp(3rem,12vw,6rem);font-weight:900;line-height:1;color:var(--orange-dark)}.wbq-buzz-card__title{font-family:var(--sa-font-display);font-size:1.8rem;font-weight:var(--sa-weight-display);margin:.5rem 0;color:var(--sa-fg)}.wbq-buzz-card__clue{font-size:1.3rem;color:var(--sa-fg-muted);font-weight:600;margin-bottom:1rem}.wbq-buzz-card__who{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:2.5rem;margin-bottom:1rem}.wbq-buzz-card__empty{color:var(--sa-fg-muted);font-style:italic}.wbq-buzz-card__actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.wbq-chip{padding:.4rem .9rem;border-radius:999px;background:linear-gradient(135deg,var(--emerald-soft),var(--cyan));color:var(--sa-ink);font-weight:800;box-shadow:0 4px 12px #06b6d44d;animation:wbq-pop .25s ease}@keyframes wbq-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.wbq-wheel-card__title{font-family:var(--sa-font-display);font-size:1.6rem;font-weight:var(--sa-weight-display);margin-bottom:1.2rem;color:var(--sa-fg)}.wbq-banner{position:fixed;left:50%;bottom:1.4rem;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:.8rem;padding:.7rem 1.3rem;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border-strong);border-radius:999px;box-shadow:var(--sa-shadow-pop);flex-wrap:wrap;justify-content:center;max-width:94vw}.wbq-banner__icon{font-size:1.5rem}.wbq-banner__name{font-weight:900;font-size:1.25rem;color:var(--sa-app-text)}.wbq-banner__text{color:var(--sa-fg-muted);font-weight:600}.wbq-banner__count{font-weight:900;font-size:1.25rem;color:var(--wa-bad);min-width:2.5rem;text-align:center}.wbq-reveal--ok{border:2px solid var(--wa-ok);box-shadow:var(--sa-shadow-pop)}.wbq-reveal--no{border:2px solid var(--wa-bad)}.wbq-reveal__icon{font-size:clamp(3rem,10vw,5rem)}.wbq-reveal__title{font-family:var(--sa-font-display);font-size:1.7rem;font-weight:var(--sa-weight-display);margin:.3rem 0;color:var(--sa-fg)}.wbq-reveal__word{font-size:1.5rem;font-weight:800;letter-spacing:.1em;color:var(--wa-ok);margin-bottom:1.2rem}.wbq-reveal--no .wbq-reveal__word{color:var(--sa-fg-muted);letter-spacing:normal}.wbq-reveal__actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.wheel{position:relative;display:inline-block;margin:0 auto}.wheel__disc{width:100%;height:100%;border-radius:50%;position:relative;border:8px solid #fff;box-shadow:0 0 0 6px #e2e8f0e6,0 18px 46px #0f172a4d}.wheel__label{position:absolute;color:#fff;font-weight:800;font-size:clamp(.8rem,2vw,1.1rem);text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none;max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.wheel__label--win{color:#fff;background:#0f172ad1;padding:.12rem .6rem;border-radius:999px;box-shadow:0 0 0 3px var(--amber),0 6px 18px #0000008c;z-index:5;animation:wheelWinGlow .5s ease-out}@keyframes wheelWinGlow{0%{box-shadow:0 0 #fbbf24e6}to{box-shadow:0 0 0 3px var(--amber),0 6px 18px #0000008c}}.wheel__pointer{position:absolute;top:-14px;left:50%;transform:translate(-50%);z-index:3;font-size:2.2rem;color:var(--orange-dark);filter:drop-shadow(0 2px 3px rgba(15,23,42,.35))}.wheel__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3.2rem;height:3.2rem;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:#fff;border-radius:50%;box-shadow:0 4px 12px #0f172a59;z-index:2}.wbqs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.2rem;background:var(--sa-bg);color:var(--sa-fg)}.wbqs__head{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;font-weight:800;color:var(--sa-fg)}.wbqs__name{font-size:1.1rem}.wbqs__score{padding:.2rem .8rem;border-radius:999px;background:var(--wa-ok-bg);color:var(--wa-ok);font-weight:900}.wbqs-card{width:min(92vw,460px);background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-hero);padding:2rem 1.5rem;text-align:center;box-shadow:var(--sa-shadow)}.wbqs-card--idle{background:var(--sa-surface)}.wbqs-card--ok{border:2px solid var(--wa-ok);background:var(--wa-ok-bg)}.wbqs-card--no{border:2px solid var(--wa-bad)}.wbqs-card--you{border:2px solid var(--amber-dark)}.wbqs-card__spinner{font-size:3.5rem;line-height:1}.wbqs-card__title{font-family:var(--sa-font-display);font-size:1.6rem;font-weight:var(--sa-weight-display);margin:.5rem 0;color:var(--sa-fg)}.wbqs-card__sub{color:var(--sa-fg-muted);font-size:1.05rem;font-weight:600}.wbqs-card__sub--win{color:var(--wa-hi-text);font-weight:900;font-size:1.3rem;margin-top:.4rem}.wbqs-card__clue{font-size:1.4rem;font-weight:800;margin:.6rem 0;color:var(--sa-fg)}.wbqs-card__len{color:var(--sa-fg-muted);font-weight:700}.wbqs-card__count{font-size:clamp(3rem,16vw,5rem);font-weight:900;line-height:1;color:var(--wa-hi-text)}.wbqs-card__count--warn{color:var(--wa-bad)}.wbqs-buzz-btn{margin-top:1.2rem;width:100%;border:0;border-radius:1.2rem;padding:1.6rem 1rem;font:inherit;font-size:2rem;font-family:var(--sa-font-display);font-weight:var(--sa-weight-display);color:var(--sa-cta-contrast);background:var(--sa-cta);cursor:pointer;transition:transform .1s,filter .18s;animation:wbqs-pulse 1.2s ease-in-out infinite}.wbqs-buzz-btn:active{transform:scale(.97)}@keyframes wbqs-pulse{0%,to{box-shadow:0 0 #f07a1a73}50%{box-shadow:0 0 0 10px #f07a1a00}}.wbqs-buzzed{margin-top:1rem;font-size:1.4rem;font-weight:900;color:var(--wa-ok)}.wbqs-input-row{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:1.2rem 0}.wbqs-cell-input{width:3rem;height:3.4rem;text-align:center;font-size:1.6rem;font-weight:800;text-transform:uppercase;border:2px solid var(--sa-border-strong);border-radius:.6rem;background:var(--sa-input-bg);color:var(--sa-input-fg);caret-color:var(--sa-focus)}.wbqs-cell-input:focus{border-color:var(--sa-focus)}.wbqs-submit-btn{width:100%;border:0;border-radius:var(--sa-radius-btn);padding:1rem;font:inherit;font-family:var(--sa-font-display);font-size:1.3rem;font-weight:var(--sa-weight-display);color:#fff;background:var(--sa-app);cursor:pointer}.wbqs-submit-btn:disabled{opacity:.5;cursor:not-allowed}.wbq-entry{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.8rem 1rem 1rem;background:var(--sa-surface);border-top:2px solid var(--sa-border);box-shadow:var(--sa-shadow-pop)}.wbq-entry__clue{font-size:1.2rem;font-weight:800;color:var(--sa-fg);text-align:center}.wbq-entry__boxes{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.wbq-entry__box{width:3rem;height:3.4rem;font-size:1.7rem;font-weight:900;text-transform:uppercase;color:var(--sa-fg);background:var(--sa-surface);border:2px solid var(--sa-border-strong);border-radius:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.wbq-entry__box--active{border-color:var(--amber-dark);background:var(--wa-hi-soft);box-shadow:0 0 0 2px var(--amber-dark)}.wbq-entry .wb-keyboard{width:100%;max-width:760px;border-radius:1rem;background:var(--sa-surface-2);border-top:0}.wbq-entry .wb-key{background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border-strong)}.wbq-entry .wb-key:active{background:var(--sa-app);color:#fff}.wbq-entry__actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.tq-wait{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:2rem;color:var(--sa-fg)}.tq-wait__icon{font-size:4rem;animation:tqSpin 6s linear infinite}@keyframes tqSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.tq-wait__icon{animation:none}}.tq-wait__title{font-family:var(--sa-font-display);font-size:2rem;font-weight:var(--sa-weight-display)}.tq-wait__sub{font-size:1.2rem}.tq-wait__hint{font-size:.95rem;color:var(--sa-fg-muted);margin-top:.5rem}.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 560px){.mode-choice{grid-template-columns:1fr}}.mode-choice__option{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;text-align:left;padding:1.2rem;font:inherit;border-radius:var(--sa-radius-xl);cursor:pointer;background:var(--sa-app-soft);color:var(--sa-fg);border:2px solid transparent;transition:transform .12s,box-shadow .15s,border-color .15s}.mode-choice__option:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--sa-shadow);border-color:var(--sa-app)}.mode-choice__option:disabled{opacity:.6;cursor:not-allowed}.mode-choice__option--quiz{background:var(--sa-bronze-soft)}.mode-choice__option--quiz:hover:not(:disabled){border-color:#c2410c}.mode-choice__icon{font-size:2.4rem;line-height:1}.mode-choice__title{font-family:var(--sa-font-display);font-size:1.25rem;font-weight:var(--sa-weight-display)}.mode-choice__desc{font-size:.9rem;color:var(--sa-fg-muted);line-height:1.4}.wbq-opt{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:700;color:var(--sa-fg);font-size:.95rem;padding:.3rem .1rem;cursor:pointer}.wbq-opt input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--sa-app);cursor:pointer}.wbq-opt__count{font:inherit;font-weight:700;padding:.2rem .4rem;border-radius:.5rem;border:2px solid var(--sa-border-strong);background:var(--sa-input-bg);color:var(--sa-input-fg)}.wbq-opt__shuffle{border:2px solid var(--sa-border-strong);background:var(--sa-surface);color:var(--sa-fg);border-radius:.5rem;padding:.2rem .45rem;cursor:pointer;font-size:1rem}.wbq-opt__shuffle:hover{background:var(--sa-surface-2)}.wbq-team-row{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--sa-fg)}.wbq-team-row__dot{width:.85rem;height:.85rem;border-radius:50%;flex-shrink:0;background:var(--team-color, #999);box-shadow:0 0 0 2px var(--sa-surface)}.wbq-team-row__body{flex:1;min-width:0;display:flex;flex-direction:column}.wbq-team-row__name{font-weight:900}.wbq-team-row__members{font-size:.78rem;color:var(--sa-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbqs__team{margin-left:.5rem;padding:.1rem .6rem;border-radius:999px;font-size:.85rem;font-weight:900;color:#fff;background:var(--team-color, #047857);text-shadow:0 1px 2px rgba(0,0,0,.45)}.practice-view{color:var(--sa-fg)}.practice-view>.sa-header{flex:0 0 auto}.practice-view__title:focus{outline:none}.practice-head,.practice-main{width:100%;max-width:calc(var(--sa-content-max) + 2 * var(--sa-gutter));margin:0 auto;padding-left:var(--sa-gutter);padding-right:var(--sa-gutter);min-width:0}.practice-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-top:clamp(.35rem,1.4vh,1rem)}.practice-view__title{font-size:var(--sa-text-h1);line-height:1.15}.practice-main{padding-top:.75rem;padding-bottom:2.5rem;display:flex;flex-direction:column;gap:.9rem}.practice-intro{font-size:var(--sa-text-lead);line-height:1.45;color:var(--sa-fg-muted);max-width:62ch}.practice-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.practice-filters{display:flex;flex-direction:column;gap:.65rem;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:.85rem}.practice-search{width:100%;min-height:var(--sa-tap);padding:.6rem .9rem;font-size:1rem;color:var(--sa-input-fg);background:var(--sa-input-bg);border:2px solid var(--sa-border-strong);border-radius:var(--sa-radius-btn)}.practice-search::placeholder{color:var(--sa-input-muted);opacity:1}.practice-search:focus{border-color:var(--sa-focus)}.practice-chiprow{display:none;flex-wrap:wrap;gap:.35rem;align-items:center}.practice-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.practice-select{display:flex;flex-direction:column;gap:.2rem;min-width:0}.practice-select span{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sa-fg-muted)}@media (min-width: 640px){.practice-selects{display:none}.practice-chiprow{display:flex}}.practice-chiprow__label{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sa-fg-muted);margin-right:.2rem}.practice-chiprow__seg{font-size:var(--sa-text-sm)}.practice-count{font-size:.88rem;font-weight:700;color:var(--sa-fg)}.practice-linkbtn{font:inherit;font-weight:700;color:var(--sa-fg);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}.practice-list{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}@media (min-width: 640px){.practice-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1000px){.practice-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.practice-card{display:flex;flex-direction:column;gap:.45rem;min-width:0;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:.9rem}.practice-card__head{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.78rem}.practice-card__subject{background:var(--sa-app-soft);color:var(--sa-app-text);padding:.12rem .55rem;border-radius:999px;font-weight:800;letter-spacing:.04em}.practice-card__topic{color:var(--sa-fg-muted);font-weight:600}.practice-card__count{margin-left:auto;color:var(--sa-fg-muted);font-weight:700;white-space:nowrap}.practice-card__title{font-family:var(--sa-font-display);font-size:1.15rem;font-weight:var(--sa-weight-display);line-height:1.25;overflow-wrap:anywhere}.practice-card__desc{font-size:.9rem;line-height:1.4;color:var(--sa-fg-muted)}.practice-card__types{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.3rem}.practice-type-btn{font:inherit;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.45rem .75rem;color:var(--sa-fg);background:var(--sa-app-soft);border:2px solid transparent;border-radius:var(--sa-radius-btn);cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.practice-type-btn:hover{border-color:var(--sa-app)}.practice-type-btn:active{transform:scale(.97)}.practice-type-btn__best{font-size:.72rem;font-weight:800;color:var(--sa-fg-muted);background:var(--sa-surface-2);border-radius:999px;padding:.05rem .45rem}.practice-type-btn__best--perfect{color:var(--wa-hi-text);background:var(--wa-hi-soft)}.practice-msg{display:flex;flex-direction:column;align-items:center;gap:.75rem;background:var(--sa-surface);color:var(--sa-fg);border:2px solid var(--sa-border);border-radius:var(--sa-radius-xl);padding:1.25rem;text-align:center;font-weight:600}.practice-play__error{flex-shrink:0}.practice-play .play-room{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}.practice-play>h1.practice-sr:focus{outline:none}@media (max-width: 640px){.practice-play .cw-layout--ws>.clue-list{display:flex}.practice-play .cw-layout,.practice-play .cw-layout>.cw-panel{flex:0 0 auto}.practice-play .cw-layout .cw-scroll{flex:0 0 auto;padding-bottom:140px}.practice-play .sol-strip{flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}.practice-play .sol-strip__boxes{flex-wrap:wrap;row-gap:.4rem}}.practice-results{display:contents}.practice-results .correct-answer{min-width:0;overflow-wrap:anywhere}@media (max-width: 480px){.practice-results .result-item{flex-wrap:wrap}.practice-results .correct-answer{flex:1 0 100%;padding-left:1.6rem}}.practice-result-actions{width:100%;display:flex;flex-direction:column;gap:.6rem}.practice-result-note{text-align:center;font-weight:700;line-height:1.5;color:var(--sa-fg)}.practice-result-template{font-weight:600;color:var(--sa-fg-muted);overflow-wrap:anywhere}.practice-result-best{color:var(--wa-ok)}.practice-message p{text-align:center;color:var(--sa-fg);font-weight:600}@media (max-width: 420px){.practice-play .export-btn{padding:.4rem .55rem}}.wa-with-footer{flex:1 0 auto;display:flex;flex-direction:column;min-height:100vh}.wa-with-footer>:not(.sa-footer),.wa-with-footer>.practice-results>.results-view{flex:1 0 auto;min-height:0}.wa-with-footer>.sa-footer{flex:0 0 auto}#root:has(.whiteboard:not(.whiteboard--embedded),.wbq) .wa-with-footer>.sa-footer{visibility:hidden}.tp-retention-note{margin:0 1.5rem clamp(.5rem,1.6vh,1.25rem);text-align:center;font-size:.82rem;line-height:1.5;color:var(--sa-fg-muted)}.room-retention-note{margin:-.35rem .25rem 0;text-align:center;font-size:.75rem;line-height:1.45;color:var(--sa-fg-muted)}.tp-notice{display:flex;align-items:flex-start;gap:.75rem;margin:.75rem 1.5rem 0;font-size:.95rem;font-weight:700}.typepick-view>.tp-notice{padding-left:1rem;padding-right:1rem;max-width:var(--sa-content-max)}.tp-notice__text{flex:1;min-width:0;overflow-wrap:anywhere}.tp-notice__close{flex-shrink:0;font:inherit;font-size:.9rem;line-height:1;min-width:36px;min-height:36px;color:var(--sa-fg);background:var(--sa-surface);border:2px solid var(--sa-border-strong);border-radius:999px;cursor:pointer}.tp-notice__close:hover{background:var(--sa-surface-2)}@media (max-width: 420px){.tp-retention-note,.tp-notice{margin-left:1rem;margin-right:1rem}}.room-delete{flex-shrink:0;display:flex;justify-content:flex-end;padding:0 1.25rem 1rem}.end-confirm__error{width:100%;padding:.6rem .85rem;background:var(--wa-bad-bg);border:1px solid var(--wa-bad);border-radius:.75rem;font-size:.88rem;font-weight:600;line-height:1.45;color:var(--wa-bad)}@media (max-width: 420px){.room-delete{padding:0 1rem .75rem}.end-confirm__actions{flex-wrap:wrap}}.wa-error{margin:1rem;padding:2rem;min-height:300px;color:var(--sa-fg);background:var(--sa-surface);border:2px solid var(--sa-danger);border-radius:var(--sa-radius-xl)}.wa-error__title{margin-top:0;font-size:var(--sa-text-h2)}.wa-error__text{margin-top:.5rem;color:var(--sa-fg-muted)}.wa-error__details{margin-top:1rem;font-size:.85rem;color:var(--sa-fg-muted)}.wa-error__details summary{cursor:pointer}.wa-error__pre{margin-top:.5rem;padding:.75rem;background:var(--sa-surface-2);color:var(--sa-fg);border-radius:.5rem;overflow:auto;font-size:.75rem;max-height:200px}.wa-error__retry{margin-top:1rem}.join-view>.sa-header,.typepick-view>.sa-header{flex:0 0 auto;position:relative;z-index:1}.typepick-head{padding-top:clamp(.35rem,1.4vh,1rem);color:var(--sa-fg)}.typepick-head__title{font-size:var(--sa-text-h1);line-height:1.15}.typepick-head__sub{margin-top:.25rem;font-size:var(--sa-text-lead);line-height:1.4;color:var(--sa-fg-muted)}.room-header{flex-wrap:wrap;height:auto;min-height:var(--header-h);padding-top:.45rem;padding-bottom:.45rem;gap:.5rem}.room-header .view-header__title{flex:1 1 7rem;min-width:0}.room-header .export-btn{padding-left:.7rem;padding-right:.7rem}.room-header .back-btn,.room-header .export-btn,.room-header .header-room-code{white-space:nowrap}@media (max-width: 760px){.room-header{padding:.5rem .75rem}.room-header .view-header__title{flex:1 1 10rem}}
