:root{--r-card:16px;--r-tile:10px;--r-btn:8px;--radius:var(--r-card);--shadow:0 1px 2px rgba(16,24,40,0.06),0 1px 3px rgba(16,24,40,0.1);--bg:#f6f1e7;--panel:#ffffff;--ink:#10365c;--muted:#7c7568;--line:#e5ddcc;--line-faint:#efe9dc;--accent:#144a86;--accent-ink:#ffffff;--tile:#ffffff;--tile-line:#85b7eb;--tile-fill:#e7eef7;--ribbon-line:#6d9bd1;--word-text:#185fa5;--cell-radius:8px;--lattice-weight:1px;--lattice-opacity:0.5;--lattice:rgba(24,95,165,var(--lattice-opacity));--seam:#ffffff;--board-surface:#ffffff;--board-line:#d9d1bf;--empty-fill:#efeade;--empty-edge:#e2dccb;--empty-dot:transparent;--center-fill:#e6ddc9;--played:#17406e;--played-text:#ffffff;--played-value:#a9c6e8;--recency:#7fb3e8;--prem-word-2:#f4dda1;--prem-word-3:#eac25e;--prem-word-ink:#6b4a10;--prem-word-wash:#efdfae;--prem-sent-2:#d6ead2;--prem-sent-3:#9fd39c;--prem-sent-ink:#1d5c2e;--prem-sent-wash:#cfe7cb;--latest:var(--tile-fill);--latest-line:#0c447c;--latest-text:var(--word-text);--shared:#185fa5;--shared-bg:#e8f0fa;--good:#16794b;--good-line:#bfe3d0;--bad:#a32d2d;--bad-bg:#fcebeb;--bad-line:#e6c3c0;--neutral-bg:#f1ece1;--invite-bg:#f7f2e6;--invite-line:var(--line);--skel-base:#ece6d8;--skel-shine:#f5f1e7;--mat-dot:rgba(24,95,165,0.38);--mat-slot:rgba(255,255,255,0.55);--mat-run:#d7e4f4;--mat-seam-settled:rgba(255,255,255,0.55)}:root[data-theme=cream]{--bg:#f6f7f9;--panel:#ffffff;--ink:#1c2128;--muted:#6b7280;--line:#e3e6ea;--line-faint:#e3e6ea;--accent:#2f6fed;--accent-ink:#ffffff;--tile:#fdf6e3;--tile-line:#e6d9a8;--tile-fill:#fdf6e3;--ribbon-line:#c7a544;--word-text:var(--ink);--cell-radius:6px;--board-surface:#e7eaef;--empty-fill:transparent;--empty-edge:rgba(28,33,40,0.05);--empty-dot:rgba(28,33,40,0.07);--latest:#ffe08a;--latest-line:#e0a92e;--latest-text:var(--ink);--shared:#8b5cf6;--shared-bg:#f5f0ff;--good:#16794b;--good-line:#bfe3d0;--bad:#c0392b;--bad-bg:#fdecea;--bad-line:#f5c6c0;--neutral-bg:#f1f3f5;--invite-bg:#fff7e6;--invite-line:#f2dca6;--skel-base:#e9edf2;--skel-shine:#f3f6f9}*{box-sizing:border-box}body,html{margin:0;padding:0;overscroll-behavior-y:contain}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--font-ui),ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.brandmark{display:block;width:auto;max-width:100%}.brandmark--hero{height:60px;margin-inline:auto}.brandmark--compact{height:34px}@media (min-width:720px){.brandmark--compact{height:38px}}.brandbar{padding:2px 2px 8px;display:flex;align-items:center;gap:12px}.brandbar__games{margin-left:auto}.brandbar__home{display:inline-flex;color:inherit;text-decoration:none}.brandbar__games{font-size:14px;font-weight:500;color:var(--accent);text-decoration:none;white-space:nowrap}.brandbar__games:focus-visible,.brandbar__games:hover{text-decoration:underline}button{font:inherit}.muted{color:var(--muted);font-size:.9em}.page{max-width:860px;margin:0 auto;padding:20px 16px 64px}.page__brand{display:flex;align-items:center;gap:10px;margin:0 0 16px}.page__tag{font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:2px 8px;vertical-align:middle}.boot,.page__tag{color:var(--muted)}.boot{padding:40px;text-align:center}.boot--error{color:var(--bad)}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--r-btn);padding:7px 12px;cursor:pointer;transition:background .12s,border-color .12s,transform .06s}.btn:hover:not(:disabled){border-color:#cfd4da}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--lg{padding:11px 18px;font-size:16px}.btn--hero{width:100%;padding:13px 22px;font-size:16px;font-weight:700;letter-spacing:.01em}:root:not([data-theme=cream]) .btn--hero{box-shadow:0 2px 0 rgba(15,61,115,.35),0 3px 8px rgba(15,61,115,.16)}:root:not([data-theme=cream]) .btn--hero:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 rgba(15,61,115,.35),0 1px 4px rgba(15,61,115,.16)}.banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow)}.banner__scores{display:flex;gap:8px;flex:1 1}.scorecard{display:flex;flex-direction:column;align-items:center;flex:1 1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:4px 10px}.banner__refresh{flex:0 0 auto}.scorecard--active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}:root:not([data-theme=cream]) .scorecard--active{border-width:2px}.scorecard__name{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.scorecard__score{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scorecard__tiles{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:1px}.scorecard__score--pending{font-size:13px;font-weight:600;color:var(--muted)}.scorecard__penalty{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.banner__meta{display:flex;gap:6px;margin-left:auto}.players{display:flex;align-items:stretch;gap:8px}.players .account{align-self:center;margin-left:2px}.player{display:flex;align-items:center;gap:6px;flex:1 1;min-width:0;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.player--active{background:var(--ink);border-color:var(--ink)}.player--active .player__name,.player--active .player__tiles,.player--active .player__you{color:color-mix(in srgb,var(--accent-ink) 72%,transparent)}.player--active .player__score{color:var(--accent-ink)}.player__name{font-size:12px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__name:after{content:":"}.player__name--pending:after{content:""}.player__score{font-size:18px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player__score--pending{font-size:12px;font-weight:600;color:var(--muted)}.player__tiles{font-size:10px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--accent-ink);position:relative;flex:none}.avatar--p1{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 75%,#ffffff),var(--ink))}.avatar--p2{background:linear-gradient(145deg,color-mix(in srgb,var(--muted) 55%,#ffffff),color-mix(in srgb,var(--muted) 90%,var(--ink)))}.avatar--p3{background:linear-gradient(145deg,color-mix(in srgb,#2e7d7b 55%,#ffffff),color-mix(in srgb,#2e7d7b 75%,var(--ink)))}.avatar--p4{background:linear-gradient(145deg,color-mix(in srgb,#7b5a86 55%,#ffffff),color-mix(in srgb,#7b5a86 75%,var(--ink)))}.players--multi{flex-wrap:nowrap;gap:6px}.players--multi .player--seat{flex:1 1;min-width:0}.players--multi .bag{margin-left:auto}.player--resigned{opacity:.55}.player--resigned .player__score{text-decoration:line-through}.player__you{color:var(--muted);font-weight:400;font-size:.85em}.turn-dot{flex:none;width:8px;height:8px;border-radius:50%}.turn-dot--p1{--seat-hue:var(--accent)}.turn-dot--p2{--seat-hue:var(--muted)}.turn-dot--p3{--seat-hue:#2e7d7b}.turn-dot--p4{--seat-hue:#7b5a86}.turn-dot--active{background:var(--good);box-shadow:0 0 0 2px color-mix(in srgb,var(--good) 25%,transparent)}.turn-dot--waiting{background:color-mix(in srgb,var(--seat-hue,var(--line)) 40%,var(--panel))}.statchip{flex:none;align-self:center;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--muted);background:var(--neutral-bg);border-radius:var(--r-btn);padding:4px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.statchip svg{width:13px;height:13px}.statusrow{flex:none;display:flex;align-items:center;height:36px;min-height:36px;margin:4px 2px 0;overflow:hidden}.statusrow>*{flex:1 1 auto;min-width:0}.statusrow .notice__text,.statusrow__reason,.statusrow__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.statusrow__confirm{display:flex;align-items:center;gap:8px}.statusrow__confirm .statusrow__text{flex:1 1 auto;min-width:0;font-size:13px;color:var(--ink);font-weight:600}.statusrow__confirm .btn{flex:none}.statusrow__checking{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.statusrow__reason{margin:0}.statusrow__notice,.statusrow__reason{font-size:13px;line-height:1.4;color:var(--bad)}.statusrow__notice{display:flex;align-items:center;gap:8px}.statusrow__notice .notice__text{flex:1 1 auto;min-width:0}.statusrow__notice .notice__report,.statusrow__notice .notice__report-link,.statusrow__notice .notice__reported{flex:none}.narration{display:flex;align-items:baseline;gap:10px;margin:0;font-size:13px;line-height:1.4;color:var(--muted)}.narration__text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.narration__again{flex:none;border:none;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap}.bag{flex:none;position:relative;align-self:center;width:32px;height:32px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bag,.bag__count{display:flex;align-items:center;justify-content:center}.bag__count{position:absolute;inset:0;font-size:10px;font-weight:700;color:var(--ink)}@media (max-width:430px){.players{gap:4px}.player{gap:5px;padding:5px 7px}.players--multi{gap:4px}.players--multi .player--seat{gap:4px;padding:5px 6px}.players--multi .player__tiles,.players--multi .player__you{display:none}.stage{margin-top:10px}}.pill{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;color:var(--muted)}.pill--ok{color:var(--good);border-color:var(--good-line)}.pill--warn{color:var(--bad);border-color:var(--bad-line)}.banner__actions{display:flex;gap:6px}.composer__notice,.notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notice{margin-top:12px;padding:9px 12px;border-radius:8px;border:1px solid var(--bad-line);background:var(--bad-bg);color:var(--bad);font-size:14px}.notice__text{flex:1 1 auto;min-width:0}.composer__notice .notice__report,.notice__report{flex:0 0 auto;white-space:nowrap}.notice__report-link{flex:0 0 auto;background:none;border:none;padding:0;font:inherit;font-size:13px;text-decoration:underline;color:inherit;opacity:.8;cursor:pointer}.notice__report-link:hover:not(:disabled){opacity:1}.notice__report-link:disabled{opacity:.5;cursor:default}.notice__reported{flex:0 0 auto;font-size:13px;font-weight:600;opacity:.85}.stage{margin-top:16px}.handoff{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:40px 20px;box-shadow:var(--shadow)}.handoff__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--muted);margin:0}.handoff__title{margin:6px 0 4px;font-size:24px}.handoff__hint{color:var(--muted);margin:0 0 18px}.rack{margin-top:12px;display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:nowrap;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:opacity .15s ease}.rack--dim{opacity:.55}.rack .tile--md{flex:1 1;min-width:0;max-width:54px;width:auto;height:auto;aspect-ratio:1/1;font-size:clamp(17px,5.5vw,23px)}.tile{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--tile);border:1px solid var(--tile-line);border-radius:var(--r-tile);box-shadow:inset 0 -2px 0 rgba(0,0,0,.06);font-weight:700}:root:not([data-theme=cream]) .tile{font-family:var(--font-slab),Georgia,"Times New Roman",serif;background:linear-gradient(180deg,#ffffff,#f2f6fb);border-color:rgba(24,95,165,.3);box-shadow:0 2px 0 rgba(24,95,165,.28),0 3px 6px rgba(15,61,115,.12);transition:transform .08s ease,box-shadow .08s ease}:root:not([data-theme=cream]) .tile--button:active{transform:scale(.93) translateY(1px);box-shadow:0 1px 0 rgba(24,95,165,.28),0 1px 3px rgba(15,61,115,.12)}:root:not([data-theme=cream]) .tile__value{font-family:var(--font-ui),ui-sans-serif,system-ui,sans-serif}.tile--md{width:44px;height:44px;font-size:20px}.tile--sm{width:30px;height:30px;font-size:14px}.tile__value{position:absolute;right:3px;bottom:1px;font-size:10px;font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile--dim{opacity:.45;transform:translateY(1px)}:root:not([data-theme=cream]) .tile--dim{box-shadow:0 1px 0 rgba(24,95,165,.28),0 1px 3px rgba(15,61,115,.12);background:#e9eef6}.tile--button{cursor:pointer}.tile--selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-2px)}.tile--new{border-color:var(--good);box-shadow:0 0 0 2px color-mix(in srgb,var(--good) 35%,transparent);animation:pop .18s ease-out}@media (hover:hover){.rack .tile:not(.tile--selected):not(.tile--picked):not(.tile--new):not(.tile--dim):hover{border-color:var(--tile-line);box-shadow:inset 0 -2px 0 rgba(0,0,0,.06),0 1px 3px rgba(16,24,40,.12);transform:translateY(-1px)}:root:not([data-theme=cream]) .rack .tile:not(.tile--selected):not(.tile--picked):not(.tile--new):not(.tile--dim):hover{border-color:rgba(24,95,165,.3);box-shadow:0 3px 0 rgba(24,95,165,.28),0 5px 9px rgba(15,61,115,.14);transform:translateY(-1px)}}.composer{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.composer__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.composer__label{display:block;flex:1 1 auto;min-width:0;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:430px){.composer__head{gap:6px}.composer__label{font-size:14px}.composer__action{padding:4px 7px;font-size:12px}.composer__score{font-size:12px}.composer__score strong{font-size:16px}}.composer__actions{flex:none;display:flex;gap:6px}.composer__action,.composer__score{color:var(--muted)}.composer__score{font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.composer__score strong{font-size:18px;color:var(--ink)}.composer__note{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--muted)}.composer--disabled .composer__label,.composer--disabled .composer__row{opacity:.65}.composer .rack{margin-top:12px;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.composer__row{display:flex;gap:8px;align-items:flex-start}.composer__input{flex:1 1;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:16px;font-family:inherit;line-height:1.35;resize:none;overflow-y:auto;display:block}.composer__row .btn{min-height:44px}.composer__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.tokenfield{position:relative;flex:1 1 auto;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:7px 64px 7px 10px;cursor:text}.tokenfield:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.tokenfield__input{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;border:0;padding:8px 10px;resize:none;font-size:16px;font-family:inherit}.tokenfield__input:focus{outline:none}.tokenfield .mapping,.tokenfield__mirror{position:relative;z-index:2;pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:28px;margin:0}.tokenfield__mirror .word{pointer-events:auto;flex-direction:row;align-items:center;gap:5px;padding:3px 9px 3px 7px;cursor:-webkit-grab;cursor:grab;touch-action:none}.tokenfield__mirror .word:active{cursor:-webkit-grabbing;cursor:grabbing;transform:translateY(-2px);box-shadow:0 3px 8px rgba(15,61,115,.22)}.tokenfield__mirror .word .word__tag{margin-top:0}.word__grip{font-size:10px;line-height:1;color:color-mix(in srgb,var(--muted) 55%,transparent);flex:0 0 auto;pointer-events:none}.word__mult{font-size:11px;font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.freeflow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.freeflow .freefactory__input{flex:0 0 auto;width:12ch}.freeflow .word{font-size:16px;flex-direction:row;align-items:center;gap:5px;padding:5px 9px 5px 7px;cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.freeflow .word:active{cursor:-webkit-grabbing;cursor:grabbing}.freeflow__rack{margin-left:auto;flex:0 1 auto;min-width:0}.freeflow__score{flex:0 0 auto}.freefactory__add{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;margin-left:-4px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:17px;line-height:1;cursor:pointer}.freefactory__add:disabled{opacity:.35;cursor:default}.freefactory__add:active:not(:disabled){transform:translateY(1px)}@media (hover:hover){.freefactory__add:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}}.freeflow__preview{flex:0 1 auto;min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted)}.freeflow__rack~.freeflow__preview{margin-left:0}.freeflow__preview--sentence{font-style:italic}.freeflow__play{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border:none;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.freeflow__play svg{width:14px;height:14px}.freeflow__play:disabled{opacity:.4;cursor:default}.freeflow__play:active:not(:disabled){transform:translateY(1px)}@media (hover:hover){.freeflow__play:hover:not(:disabled){color:var(--accent-ink)}}.freefactory__input{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:16px;font-family:inherit;line-height:1.35;display:block;text-transform:lowercase}.freefactory__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.composer--free .rack{margin-top:0;padding:0;border:none;background:none;box-shadow:none;gap:4px;justify-content:flex-end}.composer--free .rack .tile--md{flex:0 1 34px;min-width:24px;max-width:34px;border-radius:8px;font-size:15px}.composer--free .rack .tile__value{font-size:8px;right:2px;bottom:0}@media (max-width:430px){.freeflow .freefactory__input{width:94px}html[data-kb] .app--locked .composer--free .rack{margin-top:0}}.tile-flight{position:fixed;z-index:60;display:inline-flex;align-items:center;justify-content:center;background:var(--tile);border:1px solid var(--tile-line);border-radius:8px;font-weight:700;font-size:15px;color:var(--ink);pointer-events:none;opacity:.95;transition:transform .18s ease,opacity .18s ease;will-change:transform,opacity}.freechip--sel{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.freechip--misspelled{border-color:var(--bad);background:var(--bad-bg)}.freechip--misspelled .word__text{color:var(--bad);-webkit-text-decoration:underline wavy color-mix(in srgb,var(--bad) 60%,transparent);text-decoration:underline wavy color-mix(in srgb,var(--bad) 60%,transparent);text-underline-offset:3px}.freechip__pencil{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-6px -3px;padding:0;border:0;background:none;border-radius:50%;color:var(--accent);font-size:11px;line-height:1;cursor:pointer}.freechip__pencil:active,.freechip__pencil:hover{color:var(--ink)}.freechip__pencil{visibility:hidden}.freechip__pencil--on{visibility:visible}.freechip__x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-6px -8px -6px -3px;padding:0;border:0;background:none;border-radius:50%;color:var(--muted);font-size:14px;line-height:1;cursor:pointer}.freechip__x:active,.freechip__x:hover{color:var(--bad)}.freechip__edit{width:9em;border:1px solid var(--accent);border-radius:8px;padding:4px 8px;font:inherit;font-size:15px;text-transform:lowercase}.freechip__edit:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.freesel{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px}.freesel__word{color:var(--ink)}.freesel__hint{color:var(--bad)}.freeconfirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid var(--ribbon-line);border-radius:10px;background:var(--tile-fill)}.freeconfirm__text{flex:1 1 auto;min-width:0;font-size:14px;color:var(--ink)}.freestatus{margin:8px 0 0;font-size:13px;color:var(--muted)}.cell--deny{animation:cell-deny .3s ease}@keyframes cell-deny{0%,to{transform:translateX(0)}25%{transform:translateX(calc(-3px * var(--cell-scale, 1)))}50%{transform:translateX(calc(3px * var(--cell-scale, 1)))}75%{transform:translateX(calc(-2px * var(--cell-scale, 1)))}}@media (prefers-reduced-motion:reduce){.cell--deny{animation:none}}.cell--laid-sel{box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent) 80%,transparent),0 0 calc(8px * var(--cell-scale, 1)) color-mix(in srgb,var(--accent) 35%,transparent)}.cell--laid-wordless{border-color:var(--bad);box-shadow:0 0 0 2.5px color-mix(in srgb,var(--bad) 80%,transparent),0 0 calc(8px * var(--cell-scale, 1)) color-mix(in srgb,var(--bad) 30%,transparent)}.word--onboard{border:1.5px solid color-mix(in srgb,var(--played) 45%,transparent);background:transparent}.word--onboard .word__text{color:color-mix(in srgb,var(--played) 80%,var(--ink))}.tokenfield__gap,.tokenfield__text{font-size:16px;line-height:28px;color:var(--ink);white-space:pre;text-transform:lowercase}.tokenfield__text{font-weight:600}.tokenfield__ph{color:var(--muted);font-size:16px;pointer-events:none}.tokenfield__caret{display:inline-block;width:1.5px;height:20px;margin:0 -.5px;vertical-align:text-bottom;background:var(--accent);animation:caret-blink 1.1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.tokenfield__caret{animation:none}}.tokenfield__pts{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:2;pointer-events:none}.composer__notice{margin-top:12px;padding:9px 12px;border:1px solid var(--bad);border-radius:8px;background:var(--bad-bg);color:var(--bad);font-size:14px;font-weight:500}.mapping{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mapping--strip{gap:4px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.mapping--strip .word{background:var(--tile-fill);border:2px solid var(--ribbon-line);border-radius:6px;color:var(--word-text)}.mapping--draggable{touch-action:none}.mapping--draggable,.mapping--draggable .word{cursor:-webkit-grab;cursor:grab}.mapping--dragging{cursor:-webkit-grabbing;cursor:grabbing}.mapping--dragging .word{opacity:.35}.strip-float{position:fixed;z-index:50;display:flex;gap:3px;transform:translate(-12px,-36px);pointer-events:none;filter:drop-shadow(0 3px 8px rgba(15,61,115,.3))}.strip-float__tile{padding:4px 7px;background:var(--tile-fill);border:2px solid var(--latest-line);border-radius:6px;font-size:12px;font-weight:600;color:var(--word-text);white-space:nowrap}.word{display:inline-flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:8px;padding:5px 9px;background:#fbfcfd;animation:pop .14s ease-out}.word__tag,.word__text{font-weight:600}.word__tag{display:inline-flex;align-items:center;gap:3px;margin-top:2px;font-size:12px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.word__dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto}.word__tag[data-tier="1"] .word__dot{background:color-mix(in srgb,var(--accent) 28%,transparent)}.word__tag[data-tier="2"] .word__dot{background:color-mix(in srgb,var(--accent) 62%,transparent)}.word__tag[data-tier="3"] .word__dot{background:var(--accent)}.word__tag--link{color:var(--shared);font-size:14px}.word__tag--muted{color:var(--muted)}.word__tag--need{color:var(--bad)}.word--shared{border-color:var(--shared);background:var(--shared-bg)}.word--shared .word__tag{color:var(--shared)}.word--unmatched{border-color:var(--bad);background:var(--bad-bg)}.word--unmatched .word__text{color:var(--bad)}button.word{font:inherit;cursor:pointer}@media (hover:hover){.word:hover{box-shadow:0 1px 3px rgba(16,24,40,.12)}}.word--candidate{border-color:var(--accent);border-style:dashed}.word--candidate .word__tag{color:var(--accent)}.word--blocked{border-color:var(--line);border-style:dashed;opacity:.72}.word__reuse{color:var(--accent);font-weight:700}.word__reuse--muted{color:var(--muted)}@keyframes pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.shared-picker,.shared-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 10px;cursor:pointer}.chip--on{border-color:var(--shared);background:var(--shared-bg);color:var(--shared);font-weight:600}:root:not([data-theme=cream]) .chip--on{border-width:2px}.chip--warn{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-weight:600}.chip--hint{border-style:dashed;border-color:var(--accent);color:var(--accent);cursor:default}.shared-explain{margin-top:10px;padding:8px 12px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--accent) 6%,transparent);font-size:13px;color:var(--ink)}.preview{margin-top:12px}.preview__parts{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.composer__checking{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--muted)}.composer__spinner{width:13px;height:13px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.composer__spinner{animation:none}}.preview__bingo{color:var(--good);font-weight:700}.preview__hints{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.hint{font-size:12px;border-radius:6px;padding:2px 8px}.hint--bad{background:var(--bad-bg);color:var(--bad)}.hint--neutral{background:var(--neutral-bg);color:var(--muted)}.resigned-note,.swap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.resigned-note{color:var(--muted);text-align:center}.resigned-note p{margin:0}.swap__actions{display:flex;gap:8px;margin-top:12px}.placement{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.placement__prompt{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--muted)}.placement__options{display:flex;gap:8px;flex-wrap:wrap}.placement__option{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25;text-align:left}.placement__dir{text-transform:capitalize;font-weight:600}.placement__reuse{font-size:12px;color:var(--muted)}.placement__payout{color:var(--accent);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.placement__anchor{color:var(--muted)}.pageside{margin-top:20px}.board{margin:16px auto 0;max-width:680px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}.board__viewport{width:100%;overflow:auto;overflow-anchor:none;cursor:-webkit-grab;cursor:grab;overscroll-behavior:contain;touch-action:none;display:flex;align-items:flex-start;background:var(--board-surface);border-radius:8px}.board__viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.board__viewport{scrollbar-width:none}.board__viewport::-webkit-scrollbar{display:none}:root:not([data-theme=cream]) .board--tile{border:2px solid var(--board-line);padding:8px}:root:not([data-theme=cream]) .board--tile .cell{border:var(--tile-inset) solid transparent;border-radius:calc(6px * var(--cell-scale, 1) + var(--tile-inset))}:root:not([data-theme=cream]) .board--tile .cell--empty{background:var(--empty-fill);border:var(--tile-inset) solid transparent}:root:not([data-theme=cream]) .board--tile .cell--empty:after{content:none}:root:not([data-theme=cream]) .board--tile .cell--center{background:var(--center-fill)}:root:not([data-theme=cream]) .board--tile .cell--word{border:var(--tile-inset) solid transparent;background:var(--played);color:var(--played-text);font-weight:600}.cell__val{position:absolute;top:calc(1px * var(--cell-scale, 1));right:calc(4px * var(--cell-scale, 1));font-size:calc(9px * var(--cell-scale, 1));line-height:1.4;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--played-value);pointer-events:none;z-index:2}.cell__val--lay{color:color-mix(in srgb,var(--word-text) 62%,transparent)}:root:not([data-theme=cream]) .board--tile .cell--latest{background:var(--played);border:var(--tile-inset) solid transparent;color:var(--played-text);outline:2.5px solid var(--recency);outline-offset:calc(1.5px - var(--tile-inset))}:root:not([data-theme=cream]) .board--tile .cell--mult-dw{background:var(--prem-word-2);border:var(--tile-inset) solid transparent}:root:not([data-theme=cream]) .board--tile .cell--mult-tw{background:var(--prem-word-3);border:var(--tile-inset) solid transparent}:root:not([data-theme=cream]) .board--tile .cell--mult-ds{background:var(--prem-sent-2);border:var(--tile-inset) solid transparent}:root:not([data-theme=cream]) .board--tile .cell--mult-ts{background:var(--prem-sent-3);border:var(--tile-inset) solid transparent}:root:not([data-theme=cream]) .board--tile .cell--mult-dw .cell__mult,:root:not([data-theme=cream]) .board--tile .cell--mult-tw .cell__mult{color:var(--prem-word-ink)}:root:not([data-theme=cream]) .board--tile .cell--mult-ds .cell__mult,:root:not([data-theme=cream]) .board--tile .cell--mult-ts .cell__mult{color:var(--prem-sent-ink)}:root:not([data-theme=cream]) .board--tile .cell--fired-word{box-shadow:0 0 0 2.5px var(--prem-word-wash)}:root:not([data-theme=cream]) .board--tile .cell--fired-sentence{box-shadow:0 0 0 2.5px var(--prem-sent-wash)}:root:not([data-theme=cream]) .board--tile .cell--preview-shared,:root:not([data-theme=cream]) .board--tile .cell--prov{outline-color:var(--recency)}:root:not([data-theme=cream]) .board--tile .cell--lay-bad{outline-color:#ff9d94}:root:not([data-theme=cream]) .board--tile .cell{background-clip:padding-box}.board__fabs{position:absolute;right:8px;bottom:8px;z-index:20;display:flex;flex-direction:column;gap:6px}.board__fab{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:0 1px 3px rgba(16,24,40,.14)}.board__fab:hover:not(:disabled){border-color:var(--accent)}.board__fab:disabled{opacity:.35;cursor:not-allowed}.board__fab svg{width:16px;height:16px}.board__frame{position:relative}.grid{display:grid;flex:none;width:max-content}.grid--bounded{outline:3px solid color-mix(in srgb,var(--ink) 22%,transparent);outline-offset:-3px}.cell{display:flex;align-items:center;justify-content:center;font-size:var(--word-font-max,13px);line-height:1.15;border-radius:var(--cell-radius);padding:4px;text-align:center}.cell__text{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;vertical-align:middle}.cell__text--wrap{white-space:normal;overflow-wrap:anywhere;line-height:1.02;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cell--empty{background:var(--empty-fill);border:1px solid var(--empty-edge)}.cell--empty:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--empty-dot)}.cell--mult{--mult-word-hue:var(--accent,#185fa5);--mult-sentence-hue:var(--bad,#a32d2d);--mult-double-mix:35%;--mult-triple-mix:65%;position:relative}.cell--mult-dw{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-double-mix),var(--empty-fill));border-color:color-mix(in srgb,var(--mult-word-hue) calc(var(--mult-double-mix) + 20%),var(--empty-edge))}.cell--mult-tw{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-triple-mix),var(--empty-fill));border-color:color-mix(in srgb,var(--mult-word-hue) calc(var(--mult-triple-mix) + 20%),var(--empty-edge))}.cell--mult-ds{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-double-mix),var(--empty-fill));border-color:color-mix(in srgb,var(--mult-sentence-hue) calc(var(--mult-double-mix) + 20%),var(--empty-edge))}.cell--mult-ts{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-triple-mix),var(--empty-fill));border-color:color-mix(in srgb,var(--mult-sentence-hue) calc(var(--mult-triple-mix) + 20%),var(--empty-edge))}.cell--mult:after{display:none}.cell__mult{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:max(7px,calc(13px * var(--cell-scale, 1)));font-weight:700;letter-spacing:.02em;pointer-events:none}.cell--mult-dw .cell__mult{color:color-mix(in srgb,var(--mult-word-hue) 80%,var(--ink,#0c447c))}.cell--mult-tw .cell__mult{color:color-mix(in srgb,var(--mult-word-hue) 40%,black)}.cell--mult-ds .cell__mult{color:color-mix(in srgb,var(--mult-sentence-hue) 85%,black)}.cell--mult-ts .cell__mult{color:color-mix(in srgb,var(--mult-sentence-hue) 40%,black)}.cell--word{position:relative;background:var(--tile-fill);color:var(--word-text);border:2px solid var(--ribbon-line);font-weight:600}:root[data-theme=cream] .cell--fuse-r{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:transparent}:root[data-theme=cream] .cell--fuse-l{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}:root[data-theme=cream] .cell--fuse-d{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}:root[data-theme=cream] .cell--fuse-u{border-top-left-radius:0;border-top-right-radius:0;border-top-color:transparent}:root:not([data-theme=cream]) .cell--fuse-r{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--tile-fill)}:root:not([data-theme=cream]) .cell--fuse-l{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--tile-fill)}:root:not([data-theme=cream]) .cell--fuse-d{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:var(--tile-fill)}:root:not([data-theme=cream]) .cell--fuse-u{border-top-left-radius:0;border-top-right-radius:0;border-top-color:var(--tile-fill)}:root:not([data-theme=cream]) .cell--latest.cell--fuse-l{border-left-color:var(--latest)}:root:not([data-theme=cream]) .cell--latest.cell--fuse-r{border-right-color:var(--latest)}:root:not([data-theme=cream]) .cell--latest.cell--fuse-u{border-top-color:var(--latest)}:root:not([data-theme=cream]) .cell--latest.cell--fuse-d{border-bottom-color:var(--latest)}:root[data-theme=cream] .cell--fuse-r:after{content:"";position:absolute;top:0;bottom:0;right:-7px;width:7px;background:var(--tile);border-top:2px solid var(--ribbon-line);border-bottom:2px solid var(--ribbon-line);z-index:1}:root[data-theme=cream] .cell--fuse-d:before{content:"";position:absolute;left:0;right:0;bottom:-7px;height:7px;background:var(--tile);border-left:2px solid var(--ribbon-line);border-right:2px solid var(--ribbon-line);z-index:1}.cell--latest,:root[data-theme=cream] .cell--latest.cell--fuse-d:before,:root[data-theme=cream] .cell--latest.cell--fuse-r:after{background:var(--latest);border-color:var(--latest-line)}.cell--latest{color:var(--latest-text);animation:reveal .32s ease-out}:root[data-theme=cream] .cell--shared{outline:2px solid var(--shared);outline-offset:-2px}.cell--ghost{position:relative;border:1px dashed var(--lay-ink,var(--accent));color:var(--lay-ink,var(--accent));background:color-mix(in srgb,var(--lay-ink,var(--accent)) 5%,transparent)}.cell--ghost-word{--lay-ink:color-mix(in srgb,var(--prem-word-ink) 40%,var(--prem-word-3))}.cell--ghost-word.cell--ghost-x3{--lay-ink:color-mix(in srgb,var(--prem-word-ink) 65%,var(--prem-word-3))}.cell--ghost-sentence{--lay-ink:color-mix(in srgb,var(--prem-sent-ink) 40%,var(--prem-sent-3))}.cell--ghost-sentence.cell--ghost-x3{--lay-ink:color-mix(in srgb,var(--prem-sent-ink) 65%,var(--prem-sent-3))}.cell--target{box-shadow:inset 0 0 0 2px var(--accent),0 0 calc(7px * var(--cell-scale, 1)) color-mix(in srgb,var(--accent) 35%,transparent);border-radius:calc(5px * var(--cell-scale, 1))}.cell--target,:root:not([data-theme=cream]) .board--tile .cell--target{background:color-mix(in srgb,var(--accent) 22%,var(--empty-fill))}.cell--anchor{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent),0 0 calc(6px * var(--cell-scale, 1)) color-mix(in srgb,var(--accent) 25%,transparent);border-radius:calc(5px * var(--cell-scale, 1))}.board--dragging .cell--anchor{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 80%,transparent),0 0 calc(10px * var(--cell-scale, 1)) color-mix(in srgb,var(--accent) 45%,transparent)}.cell__badge--ghost{color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.cell--preview-shared{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.cell--laid{border-style:solid;border:2px solid var(--lay-ink,var(--latest-line));background:var(--tile-fill);color:var(--word-text)}.cell--ghost-illegal{--lay-ink:var(--bad);border-color:var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 6%,transparent)}.cell--ghost-illegal.cell--laid{border-style:solid;background:color-mix(in srgb,var(--bad) 12%,transparent)}.cell--ghost-bad{border-style:solid;border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad),0 0 calc(6px * var(--cell-scale, 1)) color-mix(in srgb,var(--bad) 45%,transparent)}.cell--lay-bad{outline:2px solid var(--bad);outline-offset:-2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 18%,transparent)}.word--lifting{opacity:.25}.lay-actions{flex:none;display:flex;gap:6px}.btn--quiet{background:none;color:var(--muted);border-color:var(--line)}.btn--quiet:hover:not(:disabled){color:var(--ink)}@keyframes reveal{0%{transform:rotateX(80deg);opacity:0}to{transform:rotateX(0);opacity:1}}:root:not([data-theme=cream]) .board--hybrid .grid{border-top:var(--lattice-weight) solid var(--lattice);border-left:var(--lattice-weight) solid var(--lattice)}:root:not([data-theme=cream]) .board--hybrid .cell{border-top:none;border-left:none;border-right:var(--lattice-weight) solid var(--lattice);border-bottom:var(--lattice-weight) solid var(--lattice);border-radius:0}:root:not([data-theme=cream]) .board--hybrid .cell--empty:after{content:none}:root:not([data-theme=cream]) .board--hybrid .cell--fuse-r{border-right-color:var(--seam)}:root:not([data-theme=cream]) .board--hybrid .cell--fuse-d{border-bottom-color:var(--seam)}:root:not([data-theme=cream]) .board--mat{background:none;border:none;box-shadow:none;padding:0}:root:not([data-theme=cream]) .board--mat .board__viewport{padding:8px;border-radius:var(--r-tile);background:radial-gradient(rgba(24,95,165,.05) .8px,transparent .9px),linear-gradient(160deg,#f0f3fa,#e9eef7 55%,#e6ecf6);background-size:9px 9px,100% 100%;box-shadow:inset 0 1px 3px rgba(15,61,115,.08)}:root:not([data-theme=cream]) .board--mat .cell{border:none;border-radius:0}:root:not([data-theme=cream]) .board--mat .cell--empty{position:relative;background:none}:root:not([data-theme=cream]) .board--mat .cell--empty:before{content:"";position:absolute;inset:calc(4px * var(--cell-scale, 1));background:var(--mat-slot);border-radius:calc(5px * var(--cell-scale, 1));box-shadow:inset 0 1px 3px rgba(15,61,115,.1),inset 0 -1px 1px rgba(255,255,255,.8)}:root:not([data-theme=cream]) .board--mat .cell--empty:after{content:none}:root:not([data-theme=cream]) .board--mat .cell--mult-dw:before{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-double-mix),var(--mat-slot))}:root:not([data-theme=cream]) .board--mat .cell--mult-tw:before{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-triple-mix),var(--mat-slot))}:root:not([data-theme=cream]) .board--mat .cell--mult-ds:before{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-double-mix),var(--mat-slot))}:root:not([data-theme=cream]) .board--mat .cell--mult-ts:before{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-triple-mix),var(--mat-slot))}:root:not([data-theme=cream]) .board--mat .cell--word{background:none;color:inherit;animation:none;z-index:2}:root:not([data-theme=cream]) .board--mat .cell--ghost{z-index:2;border-radius:calc(5px * var(--cell-scale, 1))}:root:not([data-theme=cream]) .board--mat .run{display:flex;align-items:stretch;overflow:hidden;border-radius:calc(7px * var(--cell-scale, 1));z-index:1}:root:not([data-theme=cream]) .board--mat .run--v{flex-direction:column}:root:not([data-theme=cream]) .board--mat .run--old,:root:not([data-theme=cream]) .board--mat .run--recent{background:var(--mat-run);box-shadow:inset 0 0 0 1px rgba(24,95,165,.2),0 1px 2px rgba(15,61,115,.06)}:root:not([data-theme=cream]) .board--mat .run--last{background:var(--mat-run);box-shadow:inset 0 0 0 2px var(--latest-line),0 1px 2px rgba(15,61,115,.06);animation:reveal .32s ease-out}:root:not([data-theme=cream]) .board--mat .run__word{flex:1 1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px;font-size:13px;line-height:1.15;font-weight:600;color:var(--word-text);text-align:center}:root:not([data-theme=cream]) .board--mat .run--h .run__word+.run__word{border-left:1px solid var(--mat-seam-settled)}:root:not([data-theme=cream]) .board--mat .run--v .run__word+.run__word{border-top:1px solid var(--mat-seam-settled)}@keyframes cell-enter{0%{opacity:0;transform:scale(.92)}}:root:not([data-theme=cream]) .cell--enter{animation:cell-enter .16s ease-out backwards;animation-delay:var(--enter-delay,0s)}@keyframes band-sweep-h{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes band-sweep-v{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes word-enter{0%{opacity:0}}:root:not([data-theme=cream]) .board--mat .run--enter.run--h{animation:band-sweep-h calc(var(--enter-words, 1) * .1s) linear backwards}:root:not([data-theme=cream]) .board--mat .run--enter.run--v{animation:band-sweep-v calc(var(--enter-words, 1) * .1s) linear backwards}:root:not([data-theme=cream]) .board--mat .run--enter .run__word{animation:word-enter .15s ease-out backwards;animation-delay:var(--enter-delay,0s)}@media (prefers-reduced-motion:reduce){:root:not([data-theme=cream]) .board--mat .run--enter .run__word,:root:not([data-theme=cream]) .board--mat .run--enter.run--h,:root:not([data-theme=cream]) .board--mat .run--enter.run--v,:root:not([data-theme=cream]) .board--mat .run--last,:root:not([data-theme=cream]) .cell--enter,:root:not([data-theme=cream]) .cell--latest{animation:none}}.cell__badge{position:absolute;top:calc(2px * var(--cell-scale, 1));right:calc(2px * var(--cell-scale, 1));padding:calc(1px * var(--cell-scale, 1)) calc(4px * var(--cell-scale, 1));border-radius:999px;font-size:calc(9px * var(--cell-scale, 1));line-height:1.3;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:rgba(255,255,255,.85);box-shadow:0 0 0 1px color-mix(in srgb,var(--muted) 30%,transparent);pointer-events:none;z-index:2}.run__word{position:relative}.board--tappable .cell--word{cursor:pointer}.provcard{position:absolute;left:8px;right:8px;z-index:40;max-width:340px;margin:0 auto;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);pointer-events:none}.provcard--top{top:8px}.provcard--bottom{bottom:8px}.provcard__head{display:flex;align-items:center;gap:7px}.provcard__avatar{width:20px;height:20px;font-size:10px}.provcard__name{font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provcard__turn{font-size:11px}.provcard__pts,.provcard__turn{color:var(--muted);white-space:nowrap}.provcard__pts{margin-left:auto;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provcard__pts strong{font-size:15px;color:var(--ink)}.provcard__sentence{margin:4px 0 0;font-size:13px;color:var(--ink);text-transform:lowercase}.provcard__cycle{flex:none;font-size:10px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:999px;padding:1px 7px;white-space:nowrap}.provcard__factors{list-style:none;display:flex;flex-wrap:wrap;gap:4px 6px;margin:6px 0 0;padding:0}.provcard__factor{font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);background:var(--neutral-bg);border:1px solid var(--line);border-radius:999px;padding:1px 7px;text-transform:lowercase}.provcard__factor--bingo,.provcard__factor--sentence{color:color-mix(in srgb,var(--bad,#a32d2d) 85%,black);background:color-mix(in srgb,var(--bad,#a32d2d) 8%,transparent);border-color:color-mix(in srgb,var(--bad,#a32d2d) 30%,var(--line))}.provcard__toggle{pointer-events:auto;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--accent);background:none;border:1px solid var(--line);border-radius:999px;cursor:pointer}.provcard__detail{pointer-events:auto;max-height:200px;overflow-y:auto;margin-top:6px}.provcard__detail .breakdown{margin-top:0;padding:0;border:none;box-shadow:none;background:none}.provcard__detail .breakdown__table{font-size:13px}.provcard__detail .breakdown__extras,.provcard__detail .breakdown__table--tight{font-size:12px}.cell--prov{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-2px}:root:not([data-theme=cream]) .board--mat .cell--prov{border-radius:calc(5px * var(--cell-scale, 1))}.breakdown{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.breakdown__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.breakdown__title{margin:0;font-size:15px}.breakdown__who{font-weight:600}.breakdown__total{font-size:14px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown__total strong{font-size:18px;color:var(--ink)}.breakdown__table{width:100%;border-collapse:collapse;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.breakdown__table--tight{font-size:13px}.breakdown__table th{text-align:left;color:var(--muted);font-weight:600}.breakdown__table td,.breakdown__table th{border-bottom:1px solid var(--line);padding:4px 6px}.breakdown__num{text-align:right}.breakdown__ctr,.breakdown__num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.breakdown__ctr{text-align:center}.row--shared td{color:var(--shared)}.breakdown__sharedtag{margin-left:6px;font-size:11px;color:var(--shared);opacity:.8;white-space:nowrap}.breakdown__extras{list-style:none;padding:0;margin:10px 0 0;font-size:13px;color:var(--muted)}.breakdown__sentence{margin-top:10px}.breakdown__sentence--cross{margin-left:10px;padding-left:10px;border-left:2px solid var(--line)}.breakdown__senthead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}.breakdown__sentlabel{min-width:0;overflow-wrap:anywhere}.breakdown__crosstag{margin-right:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--shared)}.breakdown__sentpts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.breakdown__sentextras{display:flex;gap:8px;margin-top:4px;font-size:12px;color:var(--muted)}.breakdown__mult{padding:0 6px;border-radius:999px;font-weight:600;box-shadow:0 0 0 1px color-mix(in srgb,var(--muted) 30%,transparent)}.breakdown__wordmult{color:color-mix(in srgb,var(--accent,#185fa5) 80%,var(--ink,#0c447c));font-weight:600;white-space:nowrap}.breakdown__bingo{color:var(--good);font-weight:600}.gameover{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 20px;box-shadow:var(--shadow)}.gameover__title{margin:0 0 12px}.gameover__scores{display:flex;gap:16px;justify-content:center}.scorecard--big{min-width:96px;padding:10px 18px}.scorecard--big .scorecard__score{font-size:32px}.gameover__result{font-size:18px;font-weight:700;margin:14px 0 20px}.gameover__rematch{margin:0 0 24px}.gameover__challenge{font-weight:600;margin:0 0 10px}.gameover__challenge-actions{display:flex;justify-content:center;gap:10px}.gameover__subtitle{font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.gameover--panel{text-align:left;padding:12px 14px;display:flex;flex-direction:column;min-height:0}.gameover--panel .gameover__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.gameover--panel .gameover__result{font-size:17px;margin:0;min-width:0}.gameover__cta{flex:0 0 auto;white-space:nowrap}.gameover--panel .gameover__challenge{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 10px}.gameover--panel .gameover__challenge-text{font-size:13px;font-weight:600;color:var(--muted);margin:0;min-width:0}.gameover--panel .gameover__challenge-actions{justify-content:flex-start;gap:8px}.history{list-style:none;padding:0;margin:0 0 20px;text-align:left;max-width:560px;margin-inline:auto}.history--ledger{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;max-width:none;margin:0;scrollbar-width:thin}.history--ledger .history__row{grid-template-columns:minmax(0,1fr) minmax(0,88px) auto;padding:5px 2px}.history--ledger .history__sentence{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history--ledger .history__player{color:var(--muted);font-weight:600;text-align:right}.history__row--penalty{color:var(--muted);font-style:italic}.history__row--penalty .history__score{font-style:normal}.history__row{display:grid;grid-template-columns:minmax(0,88px) auto minmax(0,1fr) auto;grid-gap:8px;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}.history__player{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history__type{color:var(--muted);text-transform:capitalize}.history__score{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drawer{margin-top:24px}.drawer__body{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.drawer__group{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.drawer__group legend{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px}.drawer__group label{display:block;padding:2px 0;cursor:pointer}.drawer__seed{display:flex;gap:6px}.drawer__seedinput{width:80px;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.btn--sm{padding:4px 9px;font-size:13px}.btn--danger{border-color:var(--bad-line);color:var(--bad)}.btn--danger:hover:not(:disabled){background:var(--bad-bg);border-color:var(--bad)}.page__nav{color:var(--muted);font-size:13px;margin:-8px 0 16px}.app{max-width:680px;margin:0 auto;padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))}.page:has(.app--locked){height:calc(100vh - env(safe-area-inset-top, 0px));height:calc(100dvh - env(safe-area-inset-top, 0px));padding:8px 16px 0;overflow:hidden}html:has(.app--locked){overflow:hidden;height:100%}body:has(.app--locked){overflow:hidden;height:100%;position:fixed;inset:0;width:100%}.app--locked{height:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.app--locked .stage{margin-top:10px}.app--locked .board,.app--locked .stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app--locked .board{width:100%;margin:0}.app--locked .board__frame{flex:1 1 auto;min-height:0}.app--locked .board__viewport{min-height:127px}.app--locked .board{min-height:147px}.app--locked .composer{flex:none}.app--ended .board{flex:1 1 55%}.app--ended .gameover--panel{flex:1 1 45%;min-height:0}.app--ended .stage>.gameover--panel{margin-top:10px}@media (max-width:430px),(orientation:landscape) and (pointer:coarse){html[data-kb] .page:has(.app--locked){height:calc(100vh - env(safe-area-inset-top, 0px));height:calc(100dvh - env(safe-area-inset-top, 0px));height:calc(var(--kb-h, 100dvh) - env(safe-area-inset-top, 0px));padding-top:calc(8px + var(--kb-top, 0px))}html[data-kb] body:has(.app--locked),html[data-kb]:has(.app--locked){height:var(--kb-h,100%);max-height:var(--kb-h,100%);overflow:hidden;overscroll-behavior:none}html[data-kb] .app--locked,html[data-kb] .app--locked *,html[data-kb] body:has(.app--locked){touch-action:none}html[data-kb] .app--locked{padding-bottom:0}html[data-kb] .app--locked .brandbar,html[data-kb] .app--locked .invite-card,html[data-kb] .app--locked .players,html[data-kb] .app--locked .statusrow{display:none}html[data-kb] .app--locked .stage{margin-top:6px}html[data-kb] .app--locked .composer{margin-top:8px;padding:10px 14px}html[data-kb] .app--locked .composer .rack{margin-top:8px}html[data-kb] .app--locked .dock-nav{margin:8px -14px -10px;padding:3px 8px}html[data-kb] .app--locked .dock-nav__item{padding:3px 4px}html[data-kb] .app--locked .composer--free .dock-nav{display:none}}@media (orientation:landscape) and (pointer:coarse){.composer--tilefirst .tilefirst{flex-direction:row;align-items:center;gap:10px}.composer--tilefirst .tilefirst__row--word{flex:1 1 38%;min-width:0}.composer--tilefirst .tilefirst__row--rack{flex:0 0 62%;min-width:0;margin-left:auto}.app--flow-tilefirst.app--locked .board,.app--flow-tilefirst.app--locked .board__viewport,html[data-kb] .app--locked .board__viewport{min-height:0}html[data-kb] .app--locked .board{min-height:0;margin-top:0}html[data-kb] .app--locked .stage{margin-top:4px}html[data-kb] .app--locked .composer{margin-top:6px;padding:8px 14px}html[data-kb] .app--locked .composer .rack{margin-top:6px}}.landing{position:relative;max-width:680px;margin:0 auto;padding:24px 16px calc(16px + env(safe-area-inset-bottom, 0px));min-height:calc(100vh - env(safe-area-inset-top, 0px));min-height:calc(100dvh - env(safe-area-inset-top, 0px));display:flex;flex-direction:column}.landing__hero{text-align:center;margin-bottom:18px}.landing__tagline{color:var(--muted);font-size:17px;font-weight:500;line-height:1.5;margin:10px auto 0;max-width:420px}.mygames{width:100%;max-width:480px;margin:0 auto 28px}.mygames__title{font-weight:600;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}.mygames__empty,.mygames__title{font-size:14px;text-align:center}.mygames__empty{margin:0}.mygames__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mygames__row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}@media (hover:hover){.mygames__row:hover{border-color:var(--accent)}}.mygames__row--challenge{flex-wrap:wrap}@media (hover:hover){.mygames__row--challenge:hover{border-color:var(--line)}}.mygames__challenge-actions{display:flex;gap:8px;flex:none}.mygames__opp{font-weight:600;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.mygames__badge{color:#fff;background:var(--accent);border-radius:999px;padding:3px 10px}.mygames__badge,.mygames__result{flex:none;font-size:12px;font-weight:600}.mygames__result{color:var(--muted)}.mygames__result--won{color:var(--accent)}.mygames__row--resigned{opacity:.6}.mygames__meta{flex:none;font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mygames__finished{margin-top:10px}.mygames__summary{list-style:none;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer;text-align:center;padding:6px 0}.mygames__summary::-webkit-details-marker{display:none}.mygames__finished[open] .mygames__summary{margin-bottom:8px}.rules{margin:24px 0;width:100%;text-align:center}.invite .rules{margin-top:10px}.rules__quick{margin:0 auto;max-width:420px;color:var(--muted);font-size:15px;line-height:1.55}.rules__full{margin:14px auto 0;width:100%;max-width:480px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}.rules__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--accent);cursor:pointer;border-radius:var(--r-card)}.rules__summary::-webkit-details-marker{display:none}.rules__chevron{width:16px;height:16px;flex:none;transition:transform .15s ease}.rules__full[open] .rules__chevron{transform:rotate(180deg)}.rules__full ul{margin:0;padding:0 16px 14px 34px;font-size:14px;line-height:1.7}.rules__full ul ul{padding:0 0 0 18px}.rules__judgment{margin:0 16px 14px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7}.start{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;max-width:380px;margin:0 auto}.start__name{width:100%;border:1px solid var(--line);border-radius:var(--r-btn);padding:11px 14px;font-size:16px;font-family:inherit;color:var(--ink);background:var(--panel)}.start__name::placeholder{color:var(--muted)}.start__name:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.start__error{color:var(--bad);width:100%;text-align:center;margin:0}.start__players{display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.start__players-label{font-size:13px;color:var(--muted);margin-right:4px}.start__players-opt{min-width:40px;padding:7px 0;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--panel);color:var(--muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.start__players-opt--on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent)}.invite{flex-direction:column;gap:18px;text-align:center}.invite,.invite__badge{display:flex;align-items:center}.invite__badge{gap:12px;max-width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:12px 18px;box-shadow:var(--shadow)}.invite__badge-info{min-width:0}.invite__headline{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}.invite__sub{margin:2px 0 0;color:var(--muted);font-size:13px}.invite-card{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:10px 14px;background:var(--invite-bg);border:1px solid var(--invite-line);border-radius:8px;font-size:14px}.invite-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.invite-card__lead{font-weight:600;min-width:0}.invite-card__sub{color:var(--muted);font-size:13px}.invite-card__url{overflow-x:auto;white-space:nowrap;background:rgba(0,0,0,.04);padding:6px 10px;border-radius:6px;font-size:12px}.invite-card__actions{display:flex;align-items:center;gap:8px;flex:none}.invite-card__reserved{font-size:13px;font-weight:600;color:var(--muted)}.invite-card__row{display:flex;flex-direction:column;gap:6px}.invite-card__row+.invite-card__row{border-top:1px solid var(--invite-line);padding-top:8px;margin-top:4px}button.player__score--invite{border:none;background:none;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.signin__link{border:none;background:none;padding:0;color:var(--accent);font-size:13px;cursor:pointer;text-decoration:underline}.signin__form{display:inline-flex;align-items:center;gap:6px}.signin__input{width:180px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit;font-size:13px}.signin__input:focus{outline:none;border-color:var(--accent)}.signin__input--code{width:116px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.12em;text-align:center}.signin__error{color:var(--bad)}.dock-nav{display:flex;align-items:stretch;gap:4px;margin:10px -14px -14px;padding:4px 8px;border-top:1px solid var(--line-faint)}.dock-nav--standalone{margin:10px 0 0}.app--locked .dock-nav--standalone{flex:none}html[data-shell] .dock-nav{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}@media (display-mode:standalone){.dock-nav{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}}.dock-nav__item{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 2px;border:none;border-radius:var(--r-btn);background:none;color:var(--muted);font:inherit;font-size:10px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap}.dock-nav__item svg{width:16px;height:16px}.dock-nav__item:disabled{opacity:.4;cursor:default}@media (hover:hover){.dock-nav__item:hover:not(:disabled){color:var(--ink)}}.dock-nav__item--play{background:var(--accent);color:var(--accent-ink)}@media (hover:hover){.dock-nav__item--play:hover:not(:disabled){color:var(--accent-ink)}}.dock-nav__item--play:disabled{opacity:.45}.dock-nav__item--play:active:not(:disabled){transform:translateY(1px)}.dock-nav__item--on{background:var(--neutral-bg);color:var(--ink)}.rack__shuffle{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:0 8px;border:1px solid var(--line);background:var(--panel);border-radius:8px;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:background .12s,border-color .12s,transform .06s}.rack__shuffle:hover{border-color:#cfd4da;color:var(--ink)}.rack__shuffle:active{transform:translateY(1px)}.rack-note{margin:8px 2px 0}.account{position:relative;flex:none}.account__btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.account__btn--in{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.account--nav{flex:1 1;min-width:0}.account__sheet{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:min(280px,calc(100vw - 24px));padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-size:13px;color:var(--ink);text-align:left}.account--nav .account__sheet{top:auto;bottom:calc(100% + 8px)}.account__email{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:8px;border-bottom:1px solid var(--line)}.account__section{display:flex;flex-direction:column;gap:6px}.account__heading{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.account__check{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.account__check input{accent-color:var(--accent);margin:0}.account__row{display:block;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.account__row:disabled{color:var(--muted);cursor:default}.account__row--nav{color:var(--accent);font-weight:600}.account__row--danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.account__seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.account__segbtn{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--muted);font:inherit;font-size:12px;text-align:center;cursor:pointer}.account__segbtn--on{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600;cursor:default}.account__form{display:flex;flex-direction:column;gap:8px}.account__formrow{display:flex;align-items:center;gap:8px}.account__formrow .signin__input{flex:1 1 auto;min-width:0}.account__lead{color:var(--muted)}.landing__account{position:absolute;top:12px;right:12px}.ptr{position:fixed;top:4px;left:50%;z-index:70;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--accent);transform:translate(-50%,var(--ptr-offset,0))}.ptr--busy{transform:translate(-50%,64px)}.ptr--busy svg{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.breakdown__denied,.preview__denied{color:var(--muted);font-style:italic}.breakdown__table td:first-child,.cell,.composer__input,.history__sentence,.placement__accepted,.run__word,.word__text{text-transform:lowercase}.skel{--skel-bg:var(--skel-base)}.skel-card,.skel-tile,.skel__btn,.skel__line,.skel__page{background:linear-gradient(100deg,var(--skel-base) 30%,var(--skel-shine) 50%,var(--skel-base) 70%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:8px}.skel__scores{display:flex;gap:8px;margin-bottom:8px}.skel-card{flex:1 1;height:52px;border-radius:8px}.skel__line{height:12px}.skel__line--short{width:40%;margin:10px 6px}.skel__line--mid{width:30%;height:16px}.skel__turnbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:8px 4px;background:none;animation:none}.skel__btn{width:88px;height:30px}.skel__rack{display:flex;gap:6px;padding:10px;background:none;animation:none}.skel-tile{flex:1 1;min-width:0;max-width:48px;aspect-ratio:1/1}.skel__page{height:415px;max-width:360px;margin:16px auto 0;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel-card,.skel-tile,.skel__btn,.skel__line,.skel__page{animation:none}}.legal{max-width:680px;margin:0 auto;padding:24px 20px calc(40px + env(safe-area-inset-bottom, 0px));font-size:16px;line-height:1.65}.legal__back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;font-size:15px;font-weight:600;color:var(--accent);text-decoration:none}@media (hover:hover){.legal__back:hover{text-decoration:underline}}.legal__head{margin-bottom:32px}.legal__home{display:inline-block;margin-bottom:20px}.legal__title{font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--ink)}.legal__meta{color:var(--muted);font-size:14px;margin:6px 0 0}.legal__operator{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);font-weight:600}.legal__intro,.legal__operator{margin:16px 0 0;color:var(--ink)}.legal__section{margin-top:28px}.legal__h2{font-size:19px;font-weight:700;line-height:1.3;margin:0 0 8px;color:var(--ink)}.legal__body p{margin:0 0 12px}.legal__body ul{margin:0 0 12px;padding-left:22px}.legal__body li{margin-bottom:8px}.legal__body a{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}.legal__foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:15px}.legal__foot a{color:var(--accent);text-decoration:none}@media (hover:hover){.legal__foot a:hover{text-decoration:underline}}.landing__legal{margin-top:auto;padding-top:20px;text-align:center;font-size:13px;color:var(--muted)}.landing__legal a{color:var(--muted);text-decoration:none}@media (hover:hover){.landing__legal a:hover{color:var(--ink);text-decoration:underline}}.landing__legal span{margin:0 6px}.tilefirst{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px}.tilefirst__row{display:flex;align-items:center;gap:6px;min-width:0}.tilefirst__row--rack .freeflow__rack{margin-left:0;flex:1 1 auto}.tilefirst__row--rack .freeflow__score{margin-left:auto}.composer--tilefirst .rack{justify-content:flex-start}.tilefirst__editor{display:inline-flex;align-items:stretch}.tilefirst__editor,.tilefirst__input{position:relative;flex:1 1 auto;min-width:0}.tilefirst__input{z-index:1;width:100%;padding-left:calc(10px + var(--tf-lock-shift, 0px));color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--ink);background:transparent}.tilefirst__input::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.freeflow .tilefirst__input{flex:1 1 auto;width:100%}.tilefirst__mirror{position:absolute;inset:1px;padding:6px 10px;overflow:hidden;pointer-events:none;font-size:16px;line-height:1.35;white-space:pre;color:var(--ink)}.tilefirst__mirror-inner{display:block;width:max-content}.tilefirst__lock{font-weight:700;text-transform:lowercase;color:var(--ink)}.tilefirst__gauge,.tilefirst__rest{font-weight:400;text-transform:lowercase}.tilefirst__gauge{position:absolute;top:0;left:0;visibility:hidden;white-space:pre}.composer--tilefirst .rack .tile{touch-action:none;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.composer--tilefirst .rack .tile:active{cursor:-webkit-grabbing;cursor:grabbing}.composer--tilefirst .rack .tile--dim{cursor:default}.tilefirst__ok{margin-left:0}.tilefirst__ok svg{width:16px;height:16px}.tilefirst__remove{flex:0 0 auto;margin-left:2px}.tilefirst__remove:disabled{opacity:.35;cursor:default}.tilefirst__dock{position:relative}.dock-nav__item--play-off{opacity:.45}.dock-nav__item--play-off:active{transform:none}.tile--picked,:root:not([data-theme=cream]) .tile--picked{border-color:var(--accent);background:var(--accent);transform:translateY(-3px);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),0 5px 10px color-mix(in srgb,var(--accent) 32%,transparent)}.tile--picked .tile__letter,.tile--picked .tile__value,:root:not([data-theme=cream]) .tile--picked .tile__letter,:root:not([data-theme=cream]) .tile--picked .tile__value{color:var(--accent-ink)}.composer--tilefirst .rack .tile--picked:active{transform:translateY(-3px)}.kbdebug{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 2px);left:2px;right:2px;z-index:9999;pointer-events:none;padding:4px 6px;border-radius:6px;background:rgba(20,22,30,.86);color:#eef1f7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.45;letter-spacing:-.01em}.kbdebug__row{display:flex;gap:6px;white-space:nowrap;overflow:hidden}.kbdebug__row b{flex:none;width:46px;color:#8fb3ff;font-weight:700}.kbdebug__row span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.kbdebug__row--warn span{color:#ff9b8a;font-weight:700}