: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);--fs-label:12px;--fs-body:15px;--fs-score-name:15px;--fs-score:24px;--fs-tile-letter:20px;--fs-tile-value:10px;--fs-field:16px;--fs-word-max:15px;--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;--play-glow:#e7eef7;--played-ink:#08203f;--last-edge:var(--amber,var(--prem-word-3));--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;--rarity-2:#d9ecd5;--rarity-3:#a8d6a2;--rarity-ink:#14532d;--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;--hint:#b3761a;--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)}*{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;box-shadow:0 2px 0 rgba(15,61,115,.35),0 3px 8px rgba(15,61,115,.16)}.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);border-width:2px;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.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:var(--fs-score-name);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:var(--fs-score);font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player__score--pending{font-size:var(--fs-label);font-weight:600;color:var(--muted);white-space:nowrap}.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;gap:4px;height:52px;min-height:52px;margin:12px 2px 0;padding:4px 4px 4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.statusrow>*{flex:1 1 auto;min-width:0}.statusrow__x{flex:0 0 auto;align-self:center;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.statusrow__x:hover{color:var(--ink);background:var(--line-faint)}.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--ask{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.statusrow--ask .statusrow__text{color:var(--ink)}.statusrow__confirm .statusrow__text{flex:1 1 auto;min-width:0;font-size:var(--fs-body);color:var(--ink);font-weight:600}.statusrow__confirm .btn{flex:none}.statusrow__checking{display:flex;align-items:center;gap:8px;font-size:var(--fs-body);color:var(--muted)}.statusrow__reason{color:var(--bad)}.statusrow__reason,.statusrow__spell{margin:0;font-size:var(--fs-body);line-height:1.4}.statusrow__spell{color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.statusrow__notice{display:flex;align-items:center;gap:8px;font-size:var(--fs-body);line-height:1.4;color:var(--bad)}.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:var(--fs-body);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__invite{flex:none;display:flex;align-items:baseline;gap:12px}.narration__action{flex:none;font:inherit;font-size:var(--fs-body);font-weight:600;white-space:nowrap}.narration--signin .narration__link,.narration__action{border:none;background:none;padding:0;color:var(--accent);cursor:pointer}.narration--signin .narration__link{flex:1 1 auto;min-width:0;font:inherit;font-size:var(--fs-body);line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:2px}.statusrow__plain,.statusrow__scored{display:flex;flex-flow:row wrap;align-items:baseline;align-content:center;column-gap:8px;min-width:0}.statusrow__plain>.narration,.statusrow__scored>.narration{flex:0 1 auto}.narration__chips{flex:1 1 auto;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;font-size:var(--fs-label);line-height:1.4}.narration__chip{flex:0 0 auto;padding:1px 6px;border-radius:999px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.35}.narration__chip--premium[data-tone=DW],.provcard__pill--premium[data-tone=DW]{background:var(--prem-word-2);color:var(--prem-word-ink)}.narration__chip--premium[data-tone=TW],.provcard__pill--premium[data-tone=TW]{background:var(--prem-word-3);color:var(--prem-word-ink)}.narration__chip--premium[data-tone=DS],.provcard__pill--premium[data-tone=DS]{background:var(--prem-sent-2);color:var(--prem-sent-ink)}.narration__chip--premium[data-tone=TS],.provcard__pill--premium[data-tone=TS]{background:var(--prem-sent-3);color:var(--prem-sent-ink)}.narration__chip--rarity[data-tone="2"],.provcard__pill--rarity[data-tone="2"]{background:var(--rarity-2);color:var(--rarity-ink)}.narration__chip--rarity[data-tone="3"],.provcard__pill--rarity[data-tone="3"]{background:var(--rarity-3);color:var(--rarity-ink)}.narration__chip--bingo,.provcard__pill--bingo{background:var(--accent);color:var(--accent-ink)}.narration__chip--more{background:var(--line-faint);color:var(--muted)}.narration__chip--probe{position:absolute;visibility:hidden;pointer-events:none}@keyframes bingo-stamp{0%{opacity:0;transform:scale(1.5) rotate(-4deg)}}.statusrow__scored .narration__chip--bingo{animation:bingo-stamp .26s ease-out backwards;animation-delay:calc(var(--reveal-delay, 0s) + .85s)}@keyframes factor-in{0%{opacity:0;transform:translateY(2px)}}.statusrow__scored .narration__chip{animation:factor-in .18s ease-out backwards;animation-delay:var(--reveal-delay,0s)}.narration__pts{color:var(--accent);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:inline-block;min-width:var(--pts-w,auto);text-align:left}@media (prefers-reduced-motion:reduce){.statusrow__scored .narration__chip,.statusrow__scored .narration__chip--bingo{animation:none}}.bag{flex:none;position:relative;align-self:center;width:36px;height:36px;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:var(--fs-label);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;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}.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)}.tile__value{font-family:var(--font-ui),ui-sans-serif,system-ui,sans-serif}.tile--md{width:44px;height:44px;font-size:var(--fs-tile-letter)}.tile--sm{width:30px;height:30px;font-size:14px}.tile__value{position:absolute;right:3px;bottom:1px;font-size:var(--fs-tile-value);font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile--dim{opacity:.45;transform:translateY(1px);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--new{border-color:var(--good);box-shadow:0 0 0 2px color-mix(in srgb,var(--good) 35%,transparent);animation:pop .18s ease-out}.rack--reorder .tile{touch-action:pan-y}.tile--dragging{transform:translateY(-4px) rotate(-2deg);box-shadow:0 6px 14px rgba(15,61,115,.28);opacity:.92;z-index:2}.rack--dragging .tile:not(.tile--dragging){transition:transform .12s ease}@media (prefers-reduced-motion:reduce){.rack--dragging .tile:not(.tile--dragging){transition:none}.tile--dragging{transform:none}}@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);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)}}@media (prefers-reduced-motion:reduce){.rack,.tile{transition:none}}.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:var(--fs-label)}}.composer__actions{flex:none;display:flex;gap:6px}.composer__action,.composer__score{color:var(--muted)}.composer__score{font-size:var(--fs-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.composer__score strong{font-size:20px;color:var(--ink)}.composer__score--box{display:inline-flex;align-items:baseline;gap:3px;padding:3px 8px;border:1px solid var(--line);border-radius:var(--r-tile,6px);background:color-mix(in srgb,var(--panel) 70%,transparent)}.composer__score--box strong{display:inline-block;min-width:1.6em;text-align:right}@media (prefers-reduced-motion:no-preference){.composer__score--box strong{transition:color .15s ease}}.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:var(--fs-field);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:var(--fs-field);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:var(--fs-label);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:var(--fs-word-max);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;padding-left:4px}.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:var(--fs-field);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:var(--fs-body)}.composer--free .rack .tile__value{font-size:var(--fs-tile-value);right:2px;bottom:0}.composer--tilefirst .rack .tile--md{flex:0 1 38px;min-width:26px;max-width:38px;font-size:var(--fs-tile-letter)}@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:var(--fs-field);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-stale,.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)}.cell--laid-stale{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--bad) 22%,transparent) 0,color-mix(in srgb,var(--bad) 22%,transparent) 2px,transparent 2px,transparent 6px)}.cell--laid-misspelled:not(.cell--laid-wordless):not(.cell--laid-stale):not(.cell--ghost-illegal):not(.cell--ghost-bad){outline:2px dotted var(--hint);outline-offset:-2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--hint) 20%,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:var(--fs-label);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);border-width:2px;background:var(--shared-bg);color:var(--shared);font-weight:600}.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}.board--tile{border:2px solid var(--board-line);padding:8px}.board--tile .cell{border:var(--tile-inset) solid transparent;border-radius:calc(6px * var(--cell-scale, 1) + var(--tile-inset))}.board--tile .cell--empty{background:var(--empty-fill);border:var(--tile-inset) solid transparent}.board--tile .cell--empty:after{content:none}.board--tile .cell--center{background:var(--center-fill)}.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)}.cell__tier{position:absolute;bottom:calc(1px * var(--cell-scale, 1));left:calc(4px * var(--cell-scale, 1));font-size:calc(8px * var(--cell-scale, 1));line-height:1.4;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--played-value) 55%,transparent);pointer-events:none;z-index:2}.cell__tier[data-tier="3"]{color:color-mix(in srgb,var(--played-value) 85%,transparent)}.cell__tier--lay{color:var(--word-text)}@keyframes tier-stamp{0%{opacity:0;transform:scale(1.4) rotate(-6deg)}}.board--juice .cell__tier--lay,.board--settling .cell--enter .cell__tier{animation:tier-stamp .18s ease-out backwards}.board--settling .cell--enter .cell__tier{animation-delay:var(--enter-delay,0s)}@media (prefers-reduced-motion:reduce){.board--juice .cell__tier--lay,.board--settling .cell--enter .cell__tier{animation:none}}.board--still.board--juice .cell__tier--lay,.board--still.board--settling .cell--enter .cell__tier{animation:none}.board--tile .cell--latest-other{background:var(--played-ink);color:var(--played-text);outline:2px solid var(--last-edge);outline-offset:calc(-1 * (var(--tile-inset) + 2px))}.board--tile .cell--mult-dw{background:var(--prem-word-2);border:var(--tile-inset) solid transparent}.board--tile .cell--mult-tw{background:var(--prem-word-3);border:var(--tile-inset) solid transparent}.board--tile .cell--mult-ds{background:var(--prem-sent-2);border:var(--tile-inset) solid transparent}.board--tile .cell--mult-ts{background:var(--prem-sent-3);border:var(--tile-inset) solid transparent}.board--tile .cell--mult-dw .cell__mult,.board--tile .cell--mult-tw .cell__mult{color:var(--prem-word-ink)}.board--tile .cell--mult-ds .cell__mult,.board--tile .cell--mult-ts .cell__mult{color:var(--prem-sent-ink)}.board--tile .cell--fired-word{box-shadow:0 0 0 2.5px var(--prem-word-wash)}.board--tile .cell--fired-sentence{box-shadow:0 0 0 2.5px var(--prem-sent-wash)}.board--tile .cell--preview-shared,.board--tile .cell--prov{outline-color:var(--recency)}.board--tile .cell--lay-bad{outline-color:#ff9d94}.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;overflow:hidden;overflow:clip}.grid--bounded{position:relative;isolation:isolate}.grid__edge{position:absolute;z-index:3;background:color-mix(in srgb,var(--ink) 22%,transparent)}.grid__edge--bottom,.grid__edge--top{left:0;right:0;height:3px}.grid__edge--top{top:0}.grid__edge--bottom{bottom:0}.grid__edge--left,.grid__edge--right{top:3px;bottom:3px;width:3px}.grid__edge--left{left:0}.grid__edge--right{right:0}.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%;--mult-label-min-scale:0.45;--mult-label-on:clamp(0,calc((var(--cell-scale, 1) - var(--mult-label-min-scale)) * 1000),1);--mult-tint-on:calc(1 - var(--mult-label-on));--mult-tint-alpha:0.75;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:3px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:max(11px,var(--fs-label));font-weight:700;letter-spacing:.02em;pointer-events:none;opacity:var(--mult-label-on,1)}.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}.cell--fuse-r{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--tile-fill)}.cell--fuse-l{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--tile-fill)}.cell--fuse-d{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:var(--tile-fill)}.cell--fuse-u{border-top-left-radius:0;border-top-right-radius:0;border-top-color:var(--tile-fill)}.cell--latest.cell--fuse-l{border-left-color:var(--latest)}.cell--latest.cell--fuse-r{border-right-color:var(--latest)}.cell--latest.cell--fuse-u{border-top-color:var(--latest)}.cell--latest.cell--fuse-d{border-bottom-color:var(--latest)}.cell--latest{background:var(--latest);border-color:var(--latest-line);color:var(--latest-text);animation:reveal .32s ease-out}.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))}.board--tile .cell--target,.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}}.board--hybrid .grid{border-top:var(--lattice-weight) solid var(--lattice);border-left:var(--lattice-weight) solid var(--lattice)}.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}.board--hybrid .cell--empty:after{content:none}.board--hybrid .cell--fuse-r{border-right-color:var(--seam)}.board--hybrid .cell--fuse-d{border-bottom-color:var(--seam)}.board--mat{background:none;border:none;box-shadow:none;padding:0}.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)}.board--mat .cell{border:none;border-radius:0}.board--mat .cell--empty{position:relative;background:none}.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)}.board--mat .cell--empty:after{content:none}.board--mat .cell--mult-dw:before{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-double-mix),var(--mat-slot))}.board--mat .cell--mult-tw:before{background:color-mix(in srgb,var(--mult-word-hue) var(--mult-triple-mix),var(--mat-slot))}.board--mat .cell--mult-ds:before{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-double-mix),var(--mat-slot))}.board--mat .cell--mult-ts:before{background:color-mix(in srgb,var(--mult-sentence-hue) var(--mult-triple-mix),var(--mat-slot))}.board--mat .cell--word{background:none;color:inherit;animation:none;z-index:2}.board--mat .cell--ghost{z-index:2;border-radius:calc(5px * var(--cell-scale, 1))}.board--mat .run{display:flex;align-items:stretch;overflow:hidden;border-radius:calc(7px * var(--cell-scale, 1));z-index:1}.board--mat .run--v{flex-direction:column}.board--mat .run--old,.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)}.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}.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}.board--mat .run--h .run__word+.run__word{border-left:1px solid var(--mat-seam-settled)}.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)}}.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}}.board--mat .run--enter.run--h{animation:band-sweep-h calc(var(--enter-words, 1) * .1s) linear backwards}.board--mat .run--enter.run--v{animation:band-sweep-v calc(var(--enter-words, 1) * .1s) linear backwards}.board--mat .run--enter .run__word{animation:word-enter .15s ease-out backwards;animation-delay:var(--enter-delay,0s)}@media (prefers-reduced-motion:reduce){.board--mat .run--enter .run__word,.board--mat .run--enter.run--h,.board--mat .run--enter.run--v,.board--mat .run--last,.cell--enter,.cell--latest{animation:none}}.board--still .cell--enter,.board--still .cell--latest,.board--still.board--mat .run--enter .run__word,.board--still.board--mat .run--enter.run--h,.board--still.board--mat .run--enter.run--v,.board--still.board--mat .run--last{animation:none}@keyframes tile-settle{0%{transform:scale(1.06)}}@keyframes tile-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--recency) 70%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--recency) 0%,transparent)}}.board--settling .cell--enter:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;animation:tile-pulse .14s ease-out backwards;animation-delay:var(--enter-delay,0s)}@keyframes ring-in{0%{outline-color:transparent}}.board--settling .cell--enter{animation:tile-settle .14s ease-out backwards;animation-delay:var(--enter-delay,0s)}.board--settling .cell--latest-other{animation:ring-in .18s ease-out backwards;animation-delay:var(--ring-delay,0s)}.board--settling .cell--enter.cell--latest-other{animation:tile-settle .14s ease-out backwards,ring-in .18s ease-out backwards;animation-delay:var(--enter-delay,0s),var(--ring-delay,0s)}@media (prefers-reduced-motion:reduce){.board--settling .cell--enter,.board--settling .cell--enter.cell--latest-other,.board--settling .cell--enter:before,.board--settling .cell--latest-other{animation:none}}@keyframes play-glow{0%{opacity:0}30%{opacity:.55}to{opacity:0}}.board--juice .cell--played:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--play-glow);pointer-events:none;z-index:1;opacity:0;animation:play-glow .6s ease-out backwards}.board--juice .cell--played .cell__text{position:relative;z-index:2}.board--juice .cell--played.cell--bingo:after{animation:none}@media (prefers-reduced-motion:reduce){.board--juice .cell--played:after{animation:none;content:none}}.board--still.board--juice .cell--played:after{animation:none;content:none}@keyframes bingo-flash{0%{opacity:0}35%{opacity:1}to{opacity:0}}.board--juice .cell--bingo:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--amber,var(--prem-word-3));pointer-events:none;z-index:1;opacity:0;animation:bingo-flash .42s ease-out backwards;animation-delay:var(--flash-delay,0s)}@media (prefers-reduced-motion:reduce){.board--juice .cell--bingo:after{animation:none;content:none}}.board--still.board--juice .cell--bingo:after{animation:none;content:none}@keyframes bingo-board-pulse{0%{opacity:0}40%{opacity:.12}to{opacity:0}}.board--bingo{position:relative}.board--bingo:after{content:"";position:absolute;inset:0;background:var(--amber,var(--prem-word-3));pointer-events:none;z-index:3;opacity:0;animation:bingo-board-pulse .45s ease-out .5s backwards}@media (prefers-reduced-motion:reduce){.board--bingo:after{animation:none;content:none}}.board--still.board--bingo:after{animation:none;content:none}.board--still.board--settling .cell--enter,.board--still.board--settling .cell--enter.cell--latest-other,.board--still.board--settling .cell--enter:before,.board--still.board--settling .cell--latest-other{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:max(7px,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;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1px 7px;white-space:nowrap}.provcard__cycle,.provcard__pill{font-size:10px;font-weight:700;border-radius:999px}.provcard__pill{flex:0 0 auto;padding:0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.6;overflow-wrap:anywhere;color:var(--ink);background:var(--neutral-bg)}.provledger{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.provledger__block+.provledger__block{margin-top:8px}.provledger__label{margin:0 0 3px;font-size:10px;font-weight:700;color:var(--muted)}.provledger__chain,.provledger__foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.provledger__foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.provledger__word{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 2px 1px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--accent);font-weight:600}.provledger__wordtext{min-width:0;overflow-wrap:anywhere}.provledger__base{flex:none;color:var(--muted);font-weight:600}.provledger__bubble{flex:none;min-width:24px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,var(--panel));color:var(--accent);font-weight:800;text-align:center}.provledger__total{margin-left:2px;color:var(--accent);white-space:nowrap}.provledger__total strong{font-weight:800}.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__actions{pointer-events:auto;display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.provcard__block,.provcard__report{pointer-events:auto;padding:0;font-size:11px;font-weight:600;color:var(--muted);background:none;border:none;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.provcard__block:hover,.provcard__report:hover{color:var(--ink)}.provcard__confirm{pointer-events:auto;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px}.provcard__confirm-text{font-size:11px;font-weight:600;color:var(--ink)}.provcard__reasons{display:flex;flex-wrap:wrap;gap:4px}.provcard__reason{padding:3px 8px;font-size:11px;font-weight:600;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:999px;cursor:pointer}.provcard__reason--on{color:var(--panel);background:var(--accent);border-color:var(--accent)}.provcard__confirm-actions{display:flex;flex-wrap:wrap;gap:6px}.provcard__error{font-size:11px;color:var(--bad)}.provcard__blockask{display:flex;flex-direction:column;gap:6px;width:100%}.provcard__reported{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:6px;font-size:11px;font-weight:600;color:var(--muted)}.provcard__detail{pointer-events:auto;max-height:200px;overflow-y:auto;margin-top:6px}.cell--prov{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-2px}.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--ledger{font-size:13.5px;table-layout:fixed}.breakdown__table--ledger.breakdown__table--tight{font-size:12.5px}.breakdown__table--ledger td,.breakdown__table--ledger th{padding:4px 3px}.breakdown__table--ledger td:first-child,.breakdown__table--ledger th:first-child{width:auto;padding-left:0}.breakdown__table--ledger td:not(:first-child),.breakdown__table--ledger th:not(:first-child){width:17%;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown__table--ledger td:last-child,.breakdown__table--ledger th:last-child{padding-right:0}.breakdown__bonus{letter-spacing:.02em}.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--compact .breakdown__table{font-size:13.5px}.breakdown--compact .breakdown__table td{padding:2px 6px}.breakdown--compact .breakdown__sentence{margin-top:6px}.breakdown--compact .breakdown__senthead{font-size:13px}.breakdown--compact .breakdown__extras{margin-top: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__actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.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--nonplay{color:var(--muted);font-style:italic}.history__glyph{font-style:normal;margin-right:6px;font-size:var(--fs-label);opacity:.75}.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:var(--fs-body);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;font:inherit;font-size:var(--fs-field)}.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 .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:20px 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:14px}.landing__tagline{color:var(--muted);font-size:var(--fs-body);font-weight:500;line-height:1.5;margin:10px auto 0;max-width:420px}.mygames{width:100%;max-width:480px;margin:0 auto 18px}.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__resume{flex:none;font-size:12px;font-weight:600;color:var(--accent)}.mygames__local-note{margin:10px 0 0;font-size:12px;text-align:center}.mygames__result--won{color:var(--accent)}.mygames__row--resigned{opacity:.6}.mygames__item{position:relative}.mygames__row--resignable{padding-right:44px}.mygames__x{position:absolute;right:0;top:0;bottom:0;z-index:1;width:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;border-radius:0 var(--r-card) var(--r-card) 0;-webkit-tap-highlight-color:transparent}@media (hover:hover){.mygames__x:hover{color:var(--ink)}}.mygames__row--ask{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));flex-wrap:wrap}.mygames__ask-text{flex:1 1 auto;min-width:0;font-weight:600;color:var(--ink)}.mygames__ask-actions{display:flex;gap:8px;flex:none}.mygames__ask-actions .btn{flex:none}.mygames__meta{flex:none;font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mygames__showall{display:block;width:100%;background:none;border:0;list-style:none;font-size:13px;font-weight:600;font-family:inherit;color:var(--accent);cursor:pointer;text-align:center;padding:8px 0}.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:16px 0;width:100%;text-align:center}.invite .rules{margin-top:10px}.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__head{margin:12px 16px 2px;font-size:14px;font-weight:600;color:var(--ink)}.rules__lede{margin:0 16px 6px 34px}.rules__body ul,.rules__lede{font-size:14px;line-height:1.7}.rules__body ul{margin:0;padding:0 16px 10px 34px}.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}.sheet{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:flex-end}.sheet__scrim{position:absolute;inset:0;background:rgba(16,54,92,.38)}.sheet__panel{position:relative;display:flex;flex-direction:column;width:100%;max-height:88svh;margin:0 auto;background:var(--panel);border-top:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;box-shadow:var(--shadow);color:var(--ink);text-align:left;outline:none}.sheet__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--line)}.sheet__title{margin:0;font-size:14px;font-weight:600;color:var(--accent)}.sheet__close{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:999px;background:none;color:var(--muted);cursor:pointer}.sheet__close svg{width:18px;height:18px}.sheet__scroll{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0);overscroll-behavior:contain}.sheet__scroll .rules__head:first-child{margin-top:10px}@media (min-width:560px){.sheet{justify-content:center;padding:24px}.sheet__panel{max-width:480px;max-height:80svh;border:1px solid var(--line);border-radius:var(--r-card)}}.start{flex-direction:column;gap:10px;max-width:380px;margin:0 auto}.start,.start__row{display:flex;align-items:center;width:100%}.start__row{gap:8px}.start__name{flex:1 1 auto;min-width:0;width:100%;text-overflow:ellipsis;border:1px solid var(--line);border-radius:var(--r-btn);padding:11px 14px;font-size:var(--fs-field);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)}.terms-agree{width:100%;margin:8px 0 0;text-align:center;font-size:12px;color:var(--muted)}.terms-agree a{color:inherit;text-decoration:underline;text-underline-offset:2px}.start__error{color:var(--bad);width:100%;text-align:center;margin:0}.start__cta{display:flex;flex-wrap:wrap;gap:8px;width:100%}.start__cta>.btn{flex:1 1;min-width:140px}.start__bot{background:var(--panel);border-color:var(--line);color:var(--ink)}.start__bot,.start__bot:active:not(:disabled){box-shadow:none}.start__bot:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.start__players{display:flex;align-items:center;gap:4px;flex:none}.start__players-label{font-size:13px;color:var(--muted);margin-right:2px}.start__players-opt{min-width:32px;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__lead{font-weight:600;min-width:0}.invite-card__sub{color:var(--muted);font-size:13px}.invite-card__row{display:flex;flex-direction:column;gap:6px}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:var(--fs-field)}.signin__input:focus{outline:none;border-color:var(--accent)}.signin__input--code{width:148px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.12em;text-align:center}.signin__error{color:var(--bad)}.dock-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;grid-gap:4px;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{width:100%;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:var(--fs-label);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{display:flex;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)}.account__blocked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.account__blocked-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.account__blocked-name{color:var(--ink);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account__ask{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.account__ask-text{color:var(--ink);line-height:1.4}.account__ask-actions{display:flex;gap:8px}.account__ask-actions .btn{flex:none}.account--inline{position:static;width:100%;max-width:480px;margin:0 auto 14px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);font-size:var(--fs-body);color:var(--ink);text-align:left}.account__title{margin:0;font-size:var(--fs-label);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.account__disclosure{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.account--inline .account__disclosure .account__email{flex:1 1;min-width:0;padding:0;border:0;font-weight:400;color:var(--muted);text-align:right}.account__chevron{width:16px;height:16px;flex:none;color:var(--muted);transition:transform .15s ease}.account--inline-open .account__chevron{transform:rotate(180deg)}.account__body{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.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}.tilefirst__row--rack .composer__score--box{margin-left:4px;padding-left:8px}.composer--tilefirst .rack{justify-content:flex-start}.freeflow .tilefirst__editor,.tilefirst__editor{position:relative;flex:1 1;width:auto;display:inline-flex;align-items:stretch;min-width:0}.tilefirst__input{position:relative;z-index:1;flex:1 1 auto;min-width:0;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:var(--fs-field);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}.tilefirst__editor--resting{border-color:var(--line-faint);background:transparent}.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,.tile--selected{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,.tile--selected .tile__letter,.tile--selected .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}.vignette{display:block;width:100%;max-width:316px;height:auto;margin:10px auto 0}.vig__window{fill:var(--board-surface);stroke:var(--board-line);stroke-width:1}.vig__empty{fill:var(--empty-fill)}.vig__tile{fill:var(--played)}.vig__tile--pending{fill:color-mix(in srgb,var(--accent) 5%,transparent);stroke:var(--accent);stroke-width:1;stroke-dasharray:3 2}.vig__word{fill:var(--played-text);font-family:var(--font-ui),ui-sans-serif,system-ui,sans-serif;font-size:10.5px;font-weight:600;text-anchor:middle;dominant-baseline:central}.vig__tile--pending+.vig__word{fill:var(--accent)}.vig__badge--word{fill:var(--prem-word-2)}.vig__badge--sent{fill:var(--prem-sent-2)}.vig__badgetext{font-family:var(--font-ui),ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;text-anchor:middle;dominant-baseline:central}.vig__badgetext--word{fill:var(--prem-word-ink)}.vig__badgetext--sent{fill:var(--prem-sent-ink)}.vig__rack{fill:var(--tile);stroke:var(--tile-line);stroke-width:1}.vig__rackedge{stroke:var(--tile-edge,var(--tile-line));stroke-width:2;stroke-linecap:round;fill:none}.vig__rackletter{fill:var(--ink);font-family:var(--font-slab),Georgia,"Times New Roman",serif;font-size:14px;font-weight:700;text-anchor:middle;dominant-baseline:central}.vig__rackvalue{fill:var(--muted);font-family:var(--font-ui),ui-sans-serif,system-ui,sans-serif;font-size:7px;font-weight:600;text-anchor:end}:root[data-theme=paper]{--bg:#ffffff;--panel:#ffffff;--ink:#10365c;--muted:#6b7280;--line:#e4e4e7;--line-faint:#f1f1f3;--accent:#144a86;--accent-ink:#ffffff;--amber:#fcd34d;--amber-ink:#78350f;--amber-edge:#d97706;--accent-ring:var(--amber);--board-surface:#f7f3e8;--board-line:#ded3ba;--empty-fill:#e8dfc8;--empty-edge:#ded3ba;--empty-dot:transparent;--center-fill:#ded2b5;--played:#17406e;--played-text:#ffffff;--played-value:#a9c6e8;--recency:#7fb3e8;--prem-word-2:#fef3c7;--prem-word-3:#fde68a;--prem-word-ink:#92400e;--prem-word-wash:#f6e3ae;--prem-sent-2:#ffe6e0;--prem-sent-3:#ffcabf;--prem-sent-ink:#9c3521;--prem-sent-wash:#f7d5cc;--hint:#9ca3af;--neutral-bg:#f4f4f5;--invite-bg:#fafafa;--invite-line:#e4e4e7;--skel-base:#ececee;--skel-shine:#f7f7f8;--tile:#fdfaf1;--tile-line:#e3dcc9;--tile-edge:#ccc0a4}:root[data-theme=paper] .board--tile .board__viewport{background:var(--bg)}:root[data-theme=paper] .board--tile .grid{background:var(--board-surface)}:root[data-theme=paper] .board--tile .cell--mult-ds,:root[data-theme=paper] .board--tile .cell--mult-dw,:root[data-theme=paper] .board--tile .cell--mult-ts,:root[data-theme=paper] .board--tile .cell--mult-tw{background:var(--empty-fill)}:root[data-theme=paper] .board--tile .cell--mult:before{content:"";position:absolute;inset:0;border-radius:calc(6px * var(--cell-scale, 1));background:var(--mult-tint,transparent);opacity:calc(var(--mult-tint-on) * var(--mult-tint-alpha));pointer-events:none}:root[data-theme=paper] .board--tile .cell--mult-dw{--mult-tint:var(--prem-word-2)}:root[data-theme=paper] .board--tile .cell--mult-tw{--mult-tint:var(--prem-word-3)}:root[data-theme=paper] .board--tile .cell--mult-ds{--mult-tint:var(--prem-sent-2)}:root[data-theme=paper] .board--tile .cell--mult-ts{--mult-tint:var(--prem-sent-3)}:root[data-theme=paper] .board--tile .cell--mult .cell__mult{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;box-sizing:border-box;max-width:calc(100% - 6px);max-height:calc(100% - 6px);overflow:hidden;padding:1px 5px;border-radius:999px;display:flex;align-items:center;justify-content:center;line-height:1}:root[data-theme=paper] .board--tile .cell--mult-dw .cell__mult{background:var(--prem-word-2);color:var(--prem-word-ink)}:root[data-theme=paper] .board--tile .cell--mult-tw .cell__mult{background:var(--prem-word-3);color:var(--prem-word-ink)}:root[data-theme=paper] .board--tile .cell--mult-ds .cell__mult{background:var(--prem-sent-2);color:var(--prem-sent-ink)}:root[data-theme=paper] .board--tile .cell--mult-ts .cell__mult{background:var(--prem-sent-3);color:var(--prem-sent-ink)}:root[data-theme=paper] .tile:not(.tile--picked):not(.tile--selected){background:var(--tile);border-color:var(--tile-line);box-shadow:0 3px 0 var(--tile-edge);color:var(--ink)}:root[data-theme=paper] .tile__value{color:var(--muted)}:root[data-theme=paper] .tile--button:active{box-shadow:0 1px 0 var(--tile-edge)}:root[data-theme=paper] .tile--dim{box-shadow:none;background:#f1ece0}@media (hover:hover){:root[data-theme=paper] .rack .tile:not(.tile--selected):not(.tile--picked):not(.tile--new):not(.tile--dim):hover{border-color:var(--tile-edge);box-shadow:0 4px 0 var(--tile-edge);transform:translateY(-1px)}}:root[data-theme=paper] .dock-nav__item--play{background:var(--amber);color:var(--amber-ink)}@media (hover:hover){:root[data-theme=paper] .dock-nav__item--play:hover:not(:disabled){color:var(--amber-ink)}}:root[data-theme=paper]{--shadow:none}.learn{--learn-gap:10px}.learn-bar{display:flex;align-items:center;padding:8px 12px 0}.learn-bar__pips{display:flex;flex:1 1;gap:6px;margin:0;padding:0;list-style:none}.learn-bar__pip{flex:1 1;height:4px;border-radius:2px;background:var(--line);transition:background .25s ease}.learn-bar__pip--on{background:var(--accent)}.learn .cell--target{animation:learn-breathe 2.4s ease-in-out infinite}@keyframes learn-breathe{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.learn .cell--target{animation:none}}.stage--learn{display:flex;flex-direction:column;min-height:0;overflow:hidden}.learn-heading,.learn-place__closing,.learn-watch__board,.learn-watch__composer,.learn-watch__rack,.place-ways{flex:none}.learn-heading{margin:0 0 var(--learn-gap);padding:2px 16px 0;min-height:calc(2 * 1.3em + 10px);font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--ink)}.learn-watch--place .learn-heading{min-height:0}.learn-watch{display:flex;flex:1 1;flex-direction:column;min-height:0}.learn-watch__board .board__fabs{display:none}.place-ways{margin:0 0 var(--learn-gap);padding:0 16px 0 34px;font-size:.95rem;line-height:1.5;color:var(--muted)}.place-ways__item{transition:color .2s ease,opacity .2s ease;opacity:.55}.place-ways__item--on{opacity:1;font-weight:600;color:var(--ink)}@media (prefers-reduced-motion:reduce){.place-ways__item{transition:none}}.learn-watch__board,.learn-watch__composer,.learn-watch__rack{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.learn-watch__board{display:flex;flex:1 1 auto;min-height:180px}.learn-watch__rack{padding:8px 12px 0}.learn-watch--place .learn-watch__rack{padding-bottom:var(--learn-gap)}.learn-watch__composer{display:flex;flex-direction:column;justify-content:flex-end;min-height:94px}.learn-watch__composer .composer{padding-bottom:6px}.learn-watch__composer .tilefirst__editor,.learn-watch__composer .tilefirst__editor--resting{background:var(--tile-fill);border-color:var(--ribbon-line)}.learn-watch__composer .tilefirst__lock,.learn-watch__composer .tilefirst__mirror{color:var(--word-text)}.learn-watch__composer .freeflow__score strong{min-width:1.6em}.learn-place__closing{margin:0 0 var(--learn-gap);padding:0 16px;min-height:1.4em;font-size:.9rem;color:var(--muted)}.learn-fly{position:fixed;z-index:60;pointer-events:none;transition-property:transform;transition-timing-function:cubic-bezier(.3,.8,.35,1)}.learn-fly .tile{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.learn-fly{transition:none}}.learn-pulse{position:fixed;z-index:61;pointer-events:none;box-sizing:border-box;border:2px solid var(--accent);border-radius:8px;animation:learn-pulse .62s ease-out}.learn-pulse--cell{background:color-mix(in srgb,var(--accent) 12%,transparent)}.learn-pulse--tile{border-radius:10px}@keyframes learn-pulse{0%{transform:scale(1.35);opacity:0}35%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:.55}}.learn-path{position:fixed;inset:0;z-index:59;width:100%;height:100%;pointer-events:none}.learn-path line{stroke:var(--accent);stroke-width:2;stroke-linecap:round;opacity:.45;transition-property:stroke-dashoffset;transition-timing-function:cubic-bezier(.3,.8,.35,1)}@media (prefers-reduced-motion:reduce){.learn-pulse{animation:none}.learn-path line{transition:none}}.learn-nav{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;grid-gap:8px;gap:8px;padding:var(--learn-gap) 12px 12px;border-top:1px solid var(--line)}.learn-nav__btn{min-width:0;min-height:40px;padding-left:4px;padding-right:4px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.ways{--ways-badge-w:34px;display:flex;flex:1 1;flex-direction:column;min-height:0}.ways__model{flex:none;margin:calc(-1 * var(--learn-gap) / 2) 0 var(--learn-gap);padding:0 16px;font-size:.875rem;line-height:1.45;color:var(--muted)}.ways__list{flex:1 1;min-height:0;overflow-y:auto;margin:0;padding:0 16px 8px;list-style:none;counter-reset:none}.ways__more{flex:none;margin:0;padding:0 16px 2px;font-size:.8125rem;line-height:1.3}.ways__morelink{padding:0;border:none;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.ways__item{padding:9px 0;border-top:1px solid var(--line)}.ways__item:first-child{border-top:0;padding-top:2px}.ways__line{display:flow-root;position:relative;margin:0;padding-left:22px;font-size:.95rem;line-height:1.4;color:var(--ink)}.ways__n{position:absolute;left:0;font-weight:700;color:var(--accent)}.ways__art{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.ways__line .ways__art--tiles{float:right;display:flex;gap:4px;margin:1px 0 -4px 10px}.ways__art--bonus .cell__mult{position:static;inset:auto;display:inline-block;width:var(--ways-badge-w);max-width:none;padding:2px 0;text-align:center;border-radius:999px;font-weight:700;line-height:1.5}.ways__art--bonus .cell__mult[data-kind=DW]{background:var(--prem-word-2);color:var(--prem-word-ink)}.ways__art--bonus .cell__mult[data-kind=TW]{background:var(--prem-word-3);color:var(--prem-word-ink)}.ways__art--bonus .cell__mult[data-kind=DS]{background:var(--prem-sent-2);color:var(--prem-sent-ink)}.ways__art--bonus .cell__mult[data-kind=TS]{background:var(--prem-sent-3);color:var(--prem-sent-ink)}.ways__art--bonus,.ways__art--rarity{flex-direction:column;align-items:stretch;gap:5px;width:100%;margin:6px 0 0;padding:0;list-style:none}.ways__chip{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.ways__chipword{flex:1 1;font-size:.85rem;color:var(--ink)}.ways__chipsum{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.ways__chipresult{display:inline-block;width:3.6em;text-align:left}.learn-result{display:flex;flex:none;flex-direction:column;min-height:0;padding:var(--learn-gap) 12px 0;border-top:1px solid var(--line)}.learn-result__scroll{flex:1 1;min-height:0;overflow-y:auto}.learn-result .breakdown{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.learn-result .breakdown>.breakdown__sentence:first-child{margin-top:0}.learn-result .breakdown__senthead{display:none}.learn-result__note{padding:0;list-style:none;font-size:.75rem;line-height:1.45}.learn-result__note,.learn-result__total{margin:var(--learn-gap) 0 0;color:var(--muted)}.learn-result__total{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem}.learn-result__total strong{font-size:1.15rem;color:var(--accent)}.learn-watch--ledger .board--tile .cell--latest{background:var(--tile-fill);color:var(--word-text)}.learn-watch--ledger .board--tile .cell--latest .cell__tier,.learn-watch--ledger .board--tile .cell--latest .cell__val{color:color-mix(in srgb,var(--word-text) 70%,transparent)}.tutorial-offer__slot{position:relative;flex:0 0 auto;height:0;z-index:30}.tutorial-offer{position:absolute;top:8px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--panel));box-shadow:0 6px 18px rgb(16 54 92/16%)}.tutorial-offer__text{margin:0;font-size:.9rem;color:var(--ink)}.tutorial-offer__actions{display:flex;gap:8px}.tutorial-offer__actions a.btn{text-decoration:none}html[data-kb] .app--locked .tutorial-offer__slot{display:none}