:root{--felt:#0f3d2e;--felt-2:#155a42;--felt-3:#1b6b4f;--ink:#f4f1e8;--muted:#a9c2b6;--panel:#0418118c;--panel-solid:#0b2e22;--line:#ffffff1f;--gold:#e8c35a;--gold-ink:#3a2a00;--red:#e0524f;--green:#5fd38d;--ivory:#fbf6e9;--ivory-edge:#d8cba6;--jade:#2e8f6d;--jade-2:#1f6e53;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--radius:14px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(120% 90% at 50% 40%, var(--felt-3) 0%, var(--felt-2) 40%, var(--felt) 100%) fixed;background-color:var(--felt);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation;overscroll-behavior:none;margin:0}button,input{font:inherit;color:inherit}h1,h2{text-wrap:balance;margin:0 0 .5rem;line-height:1.15}p{text-wrap:pretty}.muted{color:var(--muted)}.small{font-size:.85rem}.btn{appearance:none;border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:999px;min-height:44px;padding:0 1.1rem;font-weight:600;transition:transform 80ms,background .15s,opacity .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{filter:grayscale(.6)brightness(.62);cursor:default}.btn--primary{background:var(--gold);color:var(--gold-ink);border-color:#0000}.btn--ghost{background:0 0}.btn--block{width:100%}.btn--large{min-height:52px;font-size:1.05rem}.btn--small{min-height:36px;padding:0 .85rem;font-size:.9rem}.link{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.input{border:1px solid var(--line);background:#00000040;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 .9rem;font-size:1.05rem}.input:focus{border-color:var(--gold)}.input--code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.25rem;font-weight:700}.chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;min-height:36px;padding:0 .8rem;font-size:.9rem}.chip--on{background:var(--ink);color:var(--felt);font-weight:700}.chip:disabled{opacity:.35;cursor:default}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);padding:1.1rem}.toast{left:50%;bottom:calc(16px + var(--safe-b));color:#fff;z-index:100;background:#111;border-radius:12px;max-width:calc(100% - 32px);padding:.7rem 1rem;animation:.2s toast-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.spinner{border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.is-pending{cursor:progress;pointer-events:none}.is-pending:after{content:"";vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:.85em;height:.85em;margin-left:.45em;animation:.7s linear infinite spin,.15s .1s both pending-in;display:inline-block}@keyframes pending-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.is-pending:after{opacity:.6;border-right-color:currentColor;animation:.15s .1s both pending-in}}.loading{opacity:0;flex-direction:column;align-items:center;gap:.8rem;padding:2rem;transition:opacity .2s;display:flex}.loading--shown{opacity:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.centered{min-height:100%;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.centered .card{width:min(420px,100%)}.tile{--w:32px;width:var(--w);height:calc(var(--w) * 1.34);border-radius:calc(var(--w) * .13);background:linear-gradient(180deg, #fffdf6 0%, var(--ivory) 60%, #efe6cf 100%);box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 calc(var(--w) * .09) calc(var(--w) * .14) #00000059;flex:none;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-block;position:relative}.tile svg{width:88%;height:90%;position:absolute;inset:5% 6%}.tile--back{background:linear-gradient(160deg, var(--jade) 0%, var(--jade-2) 100%);box-shadow:inset 0 0 0 calc(var(--w) * .06) #ffffff1f, 0 calc(var(--w) * .07) 0 #e9dfc3, 0 calc(var(--w) * .09) calc(var(--w) * .14) #00000059}.tile--interactive{cursor:pointer}.tile--selected{box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 0 0 2px var(--gold), 0 10px 18px #0006;transform:translateY(-24%)}.tile--highlight{box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 0 0 2px var(--gold)}.tile--dim{opacity:.55}.tile--inline{--w:18px;vertical-align:middle;margin:0 1px}.home{max-width:480px;min-height:100%;padding:calc(24px + var(--safe-t)) calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.home__hero{justify-content:center;gap:6px;margin:1.5rem 0 .5rem;display:flex}.home__hero-tile{--w:clamp(36px, 12vw, 52px);animation:4s ease-in-out infinite float}.home__hero-tile--1,.home__hero-tile--4{animation-delay:-1.3s}.home__hero-tile--2,.home__hero-tile--5{animation-delay:-2.6s}@keyframes float{50%{transform:translateY(-6px)rotate(-1deg)}}.home__title{text-align:center;letter-spacing:-.02em;font-size:clamp(2.2rem,9vw,3rem)}.home__title span{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.5em;font-weight:500;display:block}.home__tagline{text-align:center;color:var(--muted);margin:0 0 .5rem}.home__actions{gap:.8rem;display:grid}.home__hello{margin:0}.home__join{gap:.5rem;display:grid}.home__join-row{gap:.5rem;display:flex}.home__footer{text-align:center;color:var(--muted);margin-top:auto;font-size:.8rem}.name-form{gap:.6rem;display:grid}.lobby{max-width:560px;padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.lobby__header{align-items:center;gap:.5rem;display:flex}.lobby__header h1{margin:0;font-size:1.3rem}.lobby__header .btn{padding:0 .6rem}.invite{gap:.9rem;display:grid}.invite__code-block{flex-direction:column;align-items:center;display:flex}.invite__label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.invite__code{letter-spacing:.22em;font-variant-numeric:tabular-nums;margin-right:-.22em;font-size:2.6rem;font-weight:800}.invite__buttons{grid-template-columns:2fr 1fr;gap:.5rem;display:grid}.invite__qr{background:#fff;border-radius:12px;width:min(220px,70%);margin:0 auto;padding:10px}.invite__qr svg{width:100%;height:auto;display:block}.notice{background:#e8c35a26;border:1px solid #e8c35a66;border-radius:12px;margin:0;padding:.8rem 1rem}.seats{gap:.5rem;display:grid}.seat-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);align-items:center;gap:.8rem;padding:.7rem .8rem;display:flex}.seat-card--me{border-color:var(--gold)}.seat-card--empty .seat-card__name{color:var(--muted)}.seat-card__wind{background:var(--ivory);color:#1c2430;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:1.3rem;font-weight:800;display:grid}.seat-card__body{flex-direction:column;flex:1;min-width:0;display:flex}.seat-card__name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.seat-card__name em{color:var(--gold);font-style:normal;font-weight:500}.seat-card__meta{color:var(--muted);font-size:.82rem}.seat-card__actions{gap:.4rem;display:flex}.settings{gap:.8rem;display:grid}.settings h2{margin:0;font-size:1rem}.settings p{margin:0}.choice{gap:.35rem;display:grid}.choice__label{color:var(--muted);font-size:.85rem}.choice__options{flex-wrap:wrap;gap:.4rem;display:flex}.lobby__start{text-align:center;padding:1.2rem 16px calc(8px + var(--safe-b));background:linear-gradient(180deg, transparent, var(--felt) 40%);gap:.4rem;margin:0 -16px;display:grid;position:sticky;bottom:0}.lobby__waiting{text-align:center}.table{--side-w:clamp(78px, 12vw, 170px);--actions-w:clamp(150px, 22vw, 240px);--hand-w:min(calc((100vw - var(--safe-l) - var(--safe-r) - 58px - var(--actions-w)) / 17.4), 12dvh, 56px);--opp-w:clamp(16px, 5.2dvh, 26px);--meld-w:clamp(16px, calc(var(--hand-w) * .62), 28px);--side-tile-w:min(var(--opp-w), calc((var(--side-w) - 16px) / 4));grid-template-columns:var(--side-w) minmax(0, 1fr) var(--side-w);padding:max(6px, var(--safe-t)) max(8px, var(--safe-r)) max(6px, var(--safe-b)) max(8px, var(--safe-l));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"left top right""left center right""mine mine mine";gap:4px;display:grid;position:fixed;inset:0;overflow:hidden}@media (orientation:portrait){.table{--side-w:clamp(76px, 23vw, 150px);--hand-w:min(calc((100vw - var(--safe-l) - var(--safe-r) - 16px - 16px) / 9), 7dvh, 54px);--opp-w:clamp(16px, 5.4vw, 26px);--meld-w:clamp(16px, 5.4vw, 26px);gap:6px}}.banner{top:calc(4px + var(--safe-t));z-index:30;background:#8a2b20;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.badge{align-items:center;gap:6px;min-width:0;display:flex}.badge--away{opacity:.6}.badge__wind{background:var(--ivory);color:#1c2430;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;font-size:.95rem;font-weight:800;display:grid}.badge__wind--dealer{background:var(--gold);box-shadow:0 0 0 2px #e8c35a59}.badge__text{flex-direction:column;min-width:0;line-height:1.1;display:flex}.badge__name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.badge__score{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px;font-size:.75rem;display:flex}.badge__tag{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:#ffffff24;border-radius:4px;padding:0 4px;font-size:.62rem}.badge__timer{background:var(--gold);min-width:24px;height:24px;color:var(--gold-ink);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;padding:0 5px;font-size:.78rem;font-weight:800;display:grid}.fly-layer{z-index:35;pointer-events:none;position:fixed;inset:0}.tile--flying{z-index:1;box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 10px 22px #00000073;transition:none}.opp{scrollbar-width:none;background:#0000001f;border-radius:12px;flex-direction:column;gap:5px;min-width:0;min-height:0;padding:6px;transition:background .2s,box-shadow .2s;display:flex;overflow:hidden auto}.opp::-webkit-scrollbar{display:none}.opp--active{background:#e8c35a1f;box-shadow:inset 0 0 0 1.5px #e8c35ab3}.opp--top{grid-area:top;padding-right:48px}.opp--left{grid-area:left}.opp--right{grid-area:right}.opp__head{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.opp__count{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:.72rem;font-weight:700;display:inline-flex}.opp .opp__count .tile{--w:11px}.opp .melds .tile{--w:var(--opp-w)}.opp--left .melds .tile,.opp--right .melds .tile{--w:var(--side-tile-w)}.opp--left .melds,.opp--right .melds{flex-direction:column;align-items:flex-start}@media (orientation:landscape){.opp--top{flex-direction:row;align-items:center;gap:10px}}.melds{flex-wrap:wrap;align-items:flex-end;gap:5px;min-width:0;display:flex}.meld{gap:1px;display:inline-flex}.meld--flowers{flex-wrap:wrap}.center{background:#00000024;border-radius:16px;flex-direction:column;grid-area:center;gap:3px;min-width:0;min-height:0;padding:4px 6px 6px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff0d}.center__info{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 8px;font-size:.7rem;line-height:1.25;display:flex}.center__round{color:var(--gold);font-size:.9rem;font-weight:800}.center__pool{color:var(--gold)}.pool{scrollbar-width:none;flex-wrap:wrap;flex:1;place-content:flex-start center;gap:2px;min-height:0;padding:2px 0 10px;display:flex;overflow-y:auto}.pool::-webkit-scrollbar{display:none}.pool .tile{--w:var(--pool-w,24px);box-shadow:0 calc(var(--w) * .06) 0 var(--ivory-edge)}.pool__tile{display:inline-flex;position:relative}.pool__tile--latest .tile{box-shadow:0 calc(var(--w) * .06) 0 var(--ivory-edge), 0 0 0 2px var(--gold)}.pool__who{z-index:2;background:var(--gold);max-width:7em;color:var(--gold-ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;padding:1px 6px;font-size:.6rem;font-weight:800;line-height:1.2;position:absolute;top:calc(100% - 6px);left:50%;overflow:hidden;translate:-50%}.pool__tile:has([data-landing]) .pool__who{visibility:hidden}.pool__empty{color:var(--muted);opacity:.7;margin:auto;font-size:.75rem}.center__spotlight{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:2px;animation:.25s cubic-bezier(.2,1.4,.4,1) pop;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.center__spotlight--bottom{top:62%}.center__spotlight--top{top:38%}.center__spotlight--left{left:38%}.center__spotlight--right{left:62%}.center:has(.center__spotlight) .pool{opacity:.35}.center__caption{color:var(--gold);font-size:.75rem;font-weight:700}.tile--spotlight{--w:clamp(34px, 9vmin, 56px);box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 0 0 3px var(--gold), 0 12px 24px #00000080}@keyframes pop{0%{opacity:0;scale:.6}}.mine{grid-area:mine;grid-template-columns:minmax(0,1fr);grid-template-areas:"top""hand""status""actions";gap:4px;min-width:0;display:grid;position:relative}@media (orientation:landscape){.mine{grid-template-columns:minmax(0, 1fr) var(--actions-w);grid-template-areas:"top actions""hand actions";column-gap:10px}.mine__status{display:none}}.mine__top{min-width:0;min-height:calc(var(--meld-w) * 1.34 + 4px);flex-wrap:wrap;grid-area:top;align-items:center;gap:4px 10px;display:flex}.mine__top .badge{flex:none;max-width:40%}.mine__top .melds{flex:auto}.mine .melds .tile{--w:var(--meld-w)}.mine__tools{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.chip-btn{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:4px;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.chip-btn--gold{background:var(--ivory);color:#1c2430;border-color:#0000}.chip-btn:active{transform:scale(.96)}.hand{padding-top:calc(var(--hand-w) * .34);margin-top:calc(var(--hand-w) * -.3);touch-action:none;grid-area:hand;justify-content:center;align-items:flex-end;gap:2px;display:flex}@media (orientation:portrait){.hand{justify-content:flex-start;row-gap:calc(var(--hand-w) * .3);width:calc(9 * var(--hand-w) + 16px);flex-wrap:wrap;justify-self:center}}.hand .tile{--w:var(--hand-w)}.hand__slot{border-radius:calc(var(--hand-w) * .13);touch-action:none;cursor:pointer;display:inline-flex;position:relative}.hand__slot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hand__slot--dragging{z-index:20;cursor:grabbing}.hand__slot--dragging .tile{box-shadow:0 calc(var(--w) * .07) 0 var(--ivory-edge), 0 0 0 2px var(--gold), 0 14px 24px #00000080;transition:none;scale:1.1}.hand__drawn{margin-left:calc(var(--hand-w) * .35);display:inline-flex;position:relative}.hand__drawn-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);white-space:nowrap;pointer-events:none;font-size:.56rem;font-weight:800;position:absolute;bottom:100%;left:50%;translate:-50% -3px}.hand__drawn:has(.tile--selected) .hand__drawn-label{opacity:0}.mine--turn .hand{filter:drop-shadow(0 0 10px #e8c35a40)}.mine__status{text-align:center;min-height:1.25em;color:var(--gold);white-space:nowrap;text-overflow:ellipsis;grid-area:status;margin:0;font-size:.78rem;line-height:1.25;overflow:hidden}.actions{grid-area:actions;grid-template-columns:1fr 1fr;gap:6px;display:grid}.actions--claims-3{grid-template-columns:repeat(3,1fr)}.action{min-width:0;min-height:42px;font:inherit;text-align:center;cursor:pointer;background:var(--ivory);color:#1c2430;border:0;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.9rem;font-weight:800;line-height:1.1;display:inline-flex;box-shadow:0 4px 12px #00000059}.action:not(:disabled):active{transform:scale(.96)}.action--win:not(:disabled){color:var(--gold-ink);background:linear-gradient(#ffd96b,#e0a92a)}.action--quiet:not(:disabled){color:var(--ink);background:#ffffff29}.action--chosen{box-shadow:0 0 0 2px var(--gold), 0 4px 12px #00000059;transform:scale(.97)}.action:disabled{color:#f4f1e85c;box-shadow:none;cursor:default;background:#ffffff12}.action__short{display:none}@media (orientation:landscape){.actions{grid-auto-rows:1fr;align-self:stretch;gap:4px}.action{border-radius:10px;min-height:0;padding:2px 6px;font-size:.78rem}.action__long{display:none}.action__short{display:inline}.action .tile--inline{--w:14px}}.summary{z-index:40;padding:max(8px, var(--safe-t)) max(12px, var(--safe-r)) max(8px, var(--safe-b)) max(12px, var(--safe-l));background:#0000008c;justify-content:center;align-items:center;animation:.2s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.summary__panel{-webkit-overflow-scrolling:touch;background:var(--panel-solid);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:18px;flex-direction:column;gap:.9rem;width:min(620px,100%);max-height:100%;padding:1rem 1.1rem;display:flex;overflow-y:auto}.summary__header h2{margin:.1rem 0 .2rem;font-size:1.35rem}.summary__header p{margin:0}.summary__hand{text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:.75rem}.win{gap:.5rem;display:grid}.win__hand{flex-wrap:wrap;align-items:flex-end;gap:2px;display:flex}.win__hand .tile{--w:clamp(16px, 4.6vw, 30px)}.win__hand .meld{margin-left:4px}.win__how{color:var(--muted);margin:0;font-size:.85rem}.win__awards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:1.2rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.win__awards li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:.5rem;padding:.22rem 0;display:flex}.win__awards li span:last-child{font-variant-numeric:tabular-nums;font-weight:700}.win__total{color:var(--gold);font-weight:800}.summary__scores{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.summary__scores td{border-bottom:1px solid var(--line);padding:.35rem .2rem}.summary__scores td:nth-child(2),.summary__scores td:nth-child(3){text-align:right;width:4.5rem}.summary__scores .is-me td:first-child{color:var(--gold);font-weight:700}.summary__scores .pos{color:var(--green);font-weight:700}.summary__scores .neg{color:var(--red);font-weight:700}.summary__footer{text-align:center;background:linear-gradient(180deg, #0b2e2200, var(--panel-solid) 30%);gap:.5rem;margin:0 -1.1rem -1rem;padding:.7rem 1.1rem 1rem;display:grid;position:sticky;bottom:-1rem}@media (height<=500px){.summary__panel{gap:.5rem;padding:.7rem .9rem;font-size:.85rem}.summary__header h2{font-size:1.1rem}.win__hand .tile{--w:clamp(14px, 3.4vw, 26px)}.win__awards{grid-template-columns:repeat(3,1fr);font-size:.78rem}.win__awards li{padding:.12rem 0}.summary__scores td{padding:.2rem}.summary__footer{margin:0 -.9rem -.7rem;padding:.5rem .9rem .7rem;bottom:-.7rem}}.summary__footer p{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page{max-width:560px;padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.page--wide{max-width:720px}.page__header{align-items:center;gap:.5rem;display:flex}.page__header h1{margin:0;font-size:1.3rem}.page__header .btn{padding:0 .6rem}.card__title{margin:0 0 .6rem;font-size:1rem}.home__nav{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.home__note,.home__signin{text-align:center;margin:0}.home__signin{margin-top:.8rem}.notice--action{text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.notice--action strong{color:var(--gold)}.signin__form{gap:.7rem;display:grid}.signin__form p{margin:0}.signin__lead{line-height:1.4}.signin__row{flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.9rem;display:flex}.signin__error{color:#ffb3a8;margin:.8rem 0 0}.input--otp{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;min-height:60px;padding-left:.5em;font-size:1.8rem}.pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.4rem;margin:0 -16px;padding:0 16px 2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 28px),#0000)}.pills::-webkit-scrollbar{display:none}.pill{border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:999px;flex:none;min-height:40px;padding:0 1rem;font-weight:600}.pill--on{background:var(--gold);color:var(--gold-ink);border-color:#0000}.board__controls{gap:.4rem;display:grid}.board__hint{margin:0}.segmented{border:1px solid var(--line);background:#00000040;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;justify-self:start;padding:3px;display:inline-grid}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:36px;padding:0 .9rem;font-size:.9rem;font-weight:600}.segmented button.is-on{background:var(--ink);color:var(--felt)}.segmented button:disabled{opacity:.4;cursor:default}.board{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.board__row{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);align-items:center;gap:.8rem;padding:.65rem .9rem;display:flex}.board__row--me{border-color:var(--gold);background:#e8c35a1a}.board__rank{text-align:center;width:2rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:1.05rem;font-weight:800}.board__who{flex-direction:column;flex:1;min-width:0;display:flex}.board__name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.board__name em{color:var(--gold);font-style:normal;font-weight:500}.board__sub{color:var(--muted);font-size:.78rem}.board__value{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800}.board__gap{text-align:center;color:var(--muted)}.board__loading{justify-content:center;padding:2rem;display:flex}.board__empty p{margin:0 0 .3rem}.board__footnote{text-align:center;margin:0}.profile__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile__head p{margin:0}.profile__head .name-form{flex:1}.profile__name{font-size:1.3rem;font-weight:800}.stat-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.15rem;padding:.8rem .5rem;display:flex}.stat__value{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.stat__label{color:var(--muted);text-align:center;font-size:.75rem}.recent{margin:0;padding:0;list-style:none}.recent__row{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.5rem 0;display:flex}.recent__row:last-child{border-bottom:0}.recent__place{width:2.4rem;color:var(--gold);font-weight:800}.recent__body{flex-direction:column;flex:1;font-size:.9rem;display:flex}.recent__body .badge__tag{margin-left:.4rem}.recent__score{font-variant-numeric:tabular-nums;font-weight:700}.pos{color:var(--green)}.neg{color:var(--red)}.table-menu{top:max(6px, var(--safe-t));right:calc(var(--side-w) + max(8px, var(--safe-r)) + 4px);z-index:45;position:absolute}.table-menu__toggle{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;width:36px;height:36px;font-size:1.1rem}.table-menu__sheet{background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;gap:4px;width:min(280px,80vw);padding:6px;display:grid;position:absolute;top:42px;right:0;box-shadow:0 12px 32px #00000073}.table-menu__sheet button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:.6rem .7rem;font-weight:700;display:flex}.table-menu__sheet button.is-pending{padding-right:2.2rem;position:relative}.table-menu__sheet button.is-pending:after{margin:-.42em 0 0;position:absolute;top:50%;right:.8rem}.table-menu__sheet button:active{background:#ffffff14}.table-menu__sheet .danger{color:#ffb3a8}.table-menu__sheet .muted{font-weight:400}
