:root{--bg:#0b0e13;--surface:#151a22;--surface-2:#1d2430;--line:#262e3b;--text:#f4f6f8;--muted:#8a94a6;--a:#ff6a3d;--a-soft:#ff6a3d24;--b:#4fe3c1;--b-soft:#4fe3c11f;--danger:#ff4d6d;--radius:22px;--font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#000;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}h1,h2,p{margin:0}ul{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.team-a-text{color:var(--a)}.team-b-text{color:var(--b)}.frame{background:var(--bg);position:fixed;inset:0;overflow:hidden;container:app/size}@media (width>=1000px) and (height>=520px) and (hover:hover) and (pointer:fine){body{background:radial-gradient(60% 50% at 20% 10%,#ff6a3d29,#0000 70%),radial-gradient(50% 50% at 90% 100%,#4fe3c11f,#0000 70%),#05070a}.frame{border:10px solid #1a1f27;border-radius:42px;width:864px;height:410px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #2a313c,0 40px 80px #0009}body:after{content:"Rally is built for phones — showing the landscape layout.";color:var(--muted);font-family:var(--font);letter-spacing:.02em;font-size:13px;position:fixed;top:calc(50% + 235px);left:50%;transform:translate(-50%)}}.screen{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.btn{letter-spacing:-.01em;border:1px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 20px;font-size:16px;font-weight:700;transition:transform 80ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn-lg{border-radius:18px;min-height:58px;font-size:17px}.btn-primary{background:var(--a);color:#14110f}.btn-secondary{background:var(--surface-2);border-color:var(--line);color:var(--text)}.btn-ghost{color:var(--text);border-color:var(--line);background:0 0}.btn-danger{color:var(--danger);background:0 0}.btn-ig{color:#fff;background:linear-gradient(100deg,#ff6a3d,#ff3d8a 60%,#c13584)}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.icon-btn:active{background:var(--surface-2)}.topbar{padding:calc(var(--sat) + 12px) calc(var(--sar) + 16px) 12px calc(var(--sal) + 16px);align-items:center;gap:12px;display:flex}.topbar-title{letter-spacing:-.01em;flex:1;font-size:18px;font-weight:800}.topbar-meta{color:var(--muted);font-size:13px;font-weight:600}.wordmark{letter-spacing:.18em;color:var(--text);align-items:center;gap:8px;font-size:22px;font-weight:800;display:inline-flex}.wordmark-ball{background:var(--a);width:14px;height:14px;box-shadow:0 0 0 4px var(--a-soft);border-radius:50%}.tagline{color:var(--muted);font-size:13px;font-weight:600}.dot{border-radius:50%;flex:none;width:9px;height:9px;margin-right:8px;display:inline-block}.dot-a{background:var(--a)}.dot-b{background:var(--b)}.chip{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:800}.sheet-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);border:1px solid var(--line);width:100%;padding:20px 20px calc(var(--sab) + 20px);border-radius:24px 24px 0 0;animation:.2s rise}.sheet-title{letter-spacing:-.01em;font-size:20px;font-weight:800}.sheet-sub{color:var(--muted);margin-top:4px;margin-bottom:16px;font-weight:600}.sheet-actions{gap:10px;display:grid}@container app (orientation:landscape){.sheet-backdrop{align-items:center}.sheet{border-radius:24px;width:min(460px,90cqw);padding-bottom:20px}.sheet-actions{grid-template-columns:1fr 1fr}.sheet-actions .btn-primary{grid-column:1/-1}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.home-header{padding:calc(var(--sat) + 18px) calc(var(--sar) + 20px) 10px calc(var(--sal) + 20px);justify-content:space-between;align-items:baseline;display:flex}.home-body{padding:6px calc(var(--sar) + 20px) calc(var(--sab) + 24px) calc(var(--sal) + 20px);flex-direction:column;flex:1;gap:24px;display:flex;overflow-y:auto}.hero-card{border-radius:var(--radius);background:radial-gradient(120% 90% at 100% 0%, #ff6a3d5c, transparent 60%), radial-gradient(80% 60% at 0% 100%, #4fe3c12e, transparent 60%), var(--surface);border:1px solid var(--line);flex-direction:column;gap:10px;padding:24px 22px 22px;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;border:14px solid #ff6a3d40;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.hero-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--a);font-size:11px;font-weight:800}.hero-title{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.05}.hero-sub{color:var(--muted);max-width:34ch;margin-bottom:8px;font-size:14px;font-weight:600}.ongoing-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:12px;padding:16px 18px;display:flex}.ongoing-card:active{background:var(--surface-2)}.ongoing-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--b);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.live-dot{background:var(--b);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse;box-shadow:0 0 #4fe3c199}@keyframes pulse{70%{box-shadow:0 0 0 8px #4fe3c100}to{box-shadow:0 0 #4fe3c100}}.ongoing-title{margin-top:6px;font-size:16px;font-weight:800}.ongoing-score{margin-top:2px;font-size:20px;font-weight:800}.ongoing-cta{color:var(--a);flex:none;align-items:center;gap:4px;font-weight:800;display:inline-flex}.install-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;margin-top:12px;padding:14px 16px;display:flex}.install-icon{background:var(--a-soft);width:40px;height:40px;color:var(--a);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.install-body{flex:1;min-width:0}.install-title{font-size:14px;font-weight:800}.install-hint{color:var(--muted);margin-top:2px;font-size:12px;font-weight:600}.install-btn{flex:none;min-height:38px;padding:0 16px;font-size:14px}.install-dismiss{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.install-dismiss:active{background:var(--surface-2)}.empty{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;padding:18px;font-size:14px;font-weight:600}.match-list{gap:10px;display:grid}.match-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr auto;grid-template-areas:"main score""meta score";gap:4px 14px;width:100%;padding:14px 16px;display:grid}.match-row:active{background:var(--surface-2)}.match-row-main{grid-area:main;gap:4px;display:grid}.match-row-team{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:15px;font-weight:700;display:flex;overflow:hidden}.match-row-team.won{color:var(--text)}.match-row-score{text-align:right;color:var(--muted);grid-area:score;gap:4px;font-size:20px;font-weight:800;line-height:1.15;display:grid}.match-row-score .won{color:var(--text)}.match-row-meta{color:var(--muted);grid-area:meta;gap:12px;margin-top:4px;font-size:12px;font-weight:600;display:flex}@container app (orientation:landscape){.home-header{padding-top:calc(var(--sat) + 12px);padding-bottom:6px}.home-body{padding-bottom:calc(var(--sab) + 16px);flex-direction:row;gap:20px}.home-hero{flex:0 0 46%}.home-recent{flex:1;min-width:0}.hero-card{gap:8px;padding:18px 20px}.hero-title{font-size:24px}.hero-sub{font-size:13px}.ongoing-card{padding:12px 16px}}.format-chip{letter-spacing:.12em;text-transform:uppercase;background:var(--a-soft);color:var(--a);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.format-chip.doubles{background:var(--b-soft);color:var(--b)}.form-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.form-scroll{-webkit-overflow-scrolling:touch;min-height:0;padding:4px calc(var(--sar) + 16px) 16px calc(var(--sal) + 16px);flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.team-cards{gap:14px;display:grid}.team-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:10px;min-width:0;margin:0;padding:14px 16px 16px;display:grid}.team-card.team-a{background:linear-gradient(180deg, var(--a-soft), transparent 40%), var(--surface);border-color:#ff6a3d59}.team-card.team-b{background:linear-gradient(180deg, var(--b-soft), transparent 40%), var(--surface);border-color:#4fe3c14d}.team-legend{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;margin-bottom:2px;font-size:12px;font-weight:800;display:flex}.field{gap:6px;display:grid}.field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.field input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:46px;color:var(--text);font:inherit;border-radius:14px;outline:none;padding:0 14px;font-size:16px;font-weight:700}.field input::placeholder{color:#5b6577;font-weight:600}.field input:focus{border-color:var(--a);box-shadow:0 0 0 3px var(--a-soft)}.team-b .field input:focus{border-color:var(--b);box-shadow:0 0 0 3px var(--b-soft)}.rule-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.rule-hint{color:var(--muted);margin-top:4px;font-size:13px;font-weight:600}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:14px;flex:none;padding:4px;display:inline-flex}.segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.segmented button.on{background:var(--surface-2);color:var(--text)}.form-footer{padding:12px calc(var(--sar) + 16px) calc(var(--sab) + 16px) calc(var(--sal) + 16px);background:var(--bg);border-top:1px solid var(--line);flex:none;display:grid}@container app (orientation:landscape){.form-scroll{gap:10px;padding-top:0}.team-cards{grid-template-columns:1fr 1fr;gap:12px}.team-card{gap:8px;padding-bottom:12px}.field input{min-height:40px;font-size:15px}.rule-card{padding:10px 14px}.form-footer{padding-top:8px;padding-bottom:calc(var(--sab) + 8px)}}.board{padding:var(--sat) var(--sar) var(--sab) var(--sal);background:var(--bg);flex-direction:column;display:flex}.side{background:var(--surface);min-width:0;min-height:0;color:var(--text);text-align:center;border:0;flex-direction:column;flex:1 1 0;justify-content:space-between;align-items:center;padding:6cqh 6cqw;transition:background .15s;display:flex;position:relative;overflow:hidden;container-type:size}.side-a{--team:var(--a);--team-soft:var(--a-soft)}.side-b{--team:var(--b);--team-soft:var(--b-soft)}.side:before{content:"";background:radial-gradient(90% 70% at 50% 100%, var(--team-soft), transparent 70%);opacity:.9;pointer-events:none;position:absolute;inset:0}.side:active{background:var(--surface-2)}.side-flash{background:var(--team);opacity:0;pointer-events:none;position:absolute;inset:0}.side>*{position:relative}.side-head{align-items:center;gap:8px;max-width:100%;display:flex}.serve{opacity:0;flex:none;justify-content:center;align-items:center;width:14px;height:14px;transition:opacity .2s;display:inline-flex}.serve.on{opacity:1}.serve-ball{background:#d8ff3d;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #d8ff3d40}.side-name{letter-spacing:-.01em;color:var(--team);white-space:nowrap;text-overflow:ellipsis;max-width:80cqw;font-size:clamp(15px,6cqh,22px);font-weight:800;overflow:hidden}.side-players{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:88cqw;margin-top:-2cqh;font-size:clamp(12px,4.2cqh,15px);font-weight:600;overflow:hidden}.side-point{letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--text);font-size:min(52cqh,40cqw);font-weight:800;line-height:1}.side-point.ad{color:var(--team)}.side-foot{align-items:center;height:26px;display:flex}.tap-hint{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-size:12px;font-weight:700}.chip-gp{background:var(--team);color:#14110f}.rail{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:100px;padding:10px 12px;display:flex}.rail-btn{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--text);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.rail-btn:active{background:var(--surface-2)}.rail-btn:disabled{opacity:.35;cursor:default}.rail-center{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.clock{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:12px;font-weight:700}.match-score{letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:44px;font-weight:800;line-height:1;display:flex}.match-score-dash{color:var(--muted);font-size:28px;font-weight:600}.game-history{flex-wrap:wrap;justify-content:center;gap:3px;max-width:200px;margin-top:2px;display:flex}.tick{border-radius:3px;width:10px;height:5px}.tick-a{background:var(--a)}.tick-b{background:var(--b)}.status{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:800;overflow:hidden}.status.deuce{color:#d8ff3d}.toast{background:var(--surface);border:1px solid var(--line);pointer-events:none;z-index:10;border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:14px 26px;animation:1.6s forwards toast;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000080}.toast-a{--team:var(--a)}.toast-b{--team:var(--b)}.toast-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--team);font-size:11px;font-weight:800}.toast-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:70cqw;font-size:20px;font-weight:800;overflow:hidden}.toast-score{color:var(--muted);font-weight:700}@keyframes toast{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.98)}}@media (hover:hover) and (pointer:fine){.board{flex-direction:row}.side{padding:5cqh 5cqw}.side-name{font-size:clamp(15px,7cqh,22px)}.side-players{font-size:clamp(12px,5cqh,15px)}.side-point{font-size:min(52cqh,42cqw)}.rail{border-top:0;border-bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line);flex-direction:column;width:112px;height:auto;min-height:0;padding:12px 6px}.rail-center{justify-content:center;gap:4px}.match-score{gap:4px;font-size:34px}.match-score-dash{font-size:20px}.game-history{max-width:88px}.status{max-width:88px;font-size:10px}}.result-body{min-height:0;padding:0 calc(var(--sar) + 16px) calc(var(--sab) + 16px) calc(var(--sal) + 16px);flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.story-preview{aspect-ratio:9/16;border:1px solid var(--line);background:var(--surface);border-radius:20px;flex:none;align-self:center;width:min(100%,300px);position:relative;overflow:hidden;box-shadow:0 20px 50px #00000073}.story-preview img,.story-preview video{object-fit:cover;width:100%;height:100%;display:block}.story-progress{background:#ffffff1f;height:5px;position:absolute;bottom:0;left:0;right:0}.story-progress>i{background:linear-gradient(90deg, var(--a), #ff3d8a);height:100%;transition:width .2s linear;display:block}.btn-progress{opacity:.85}.spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.story-skeleton{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.result-panel{flex-direction:column;gap:16px;display:flex}.result-summary{text-align:center}.result-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.result-winner{letter-spacing:-.02em;margin-top:4px;font-size:24px;font-weight:800}.result-score{letter-spacing:-.04em;justify-content:center;align-items:baseline;gap:12px;margin-top:2px;font-size:44px;font-weight:800;line-height:1.1;display:flex}.result-meta{color:var(--muted);justify-content:center;gap:8px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.result-actions{gap:10px;display:grid}.note{text-align:center;color:var(--text);padding:0 8px;font-size:13px;font-weight:600}.note.muted{color:var(--muted)}@container app (orientation:landscape){.result-body{flex-direction:row;align-items:stretch;gap:20px;overflow:hidden}.story-preview{aspect-ratio:9/16;border-radius:14px;align-self:stretch;width:auto;height:100%}.result-panel{flex:1;justify-content:safe center;gap:12px;min-width:0;overflow-y:auto}.result-summary{text-align:left}.result-score,.result-meta{justify-content:flex-start}.result-score{font-size:36px}.result-actions{grid-template-columns:1fr 1fr}.result-actions .btn-ig,.result-actions .note{grid-column:1/-1}.note{text-align:left;padding:0}}.frame{flex-direction:column;display:flex}.app-content{flex:1;width:100%;min-height:0;position:relative;container:app/size}.app-banner{padding:calc(var(--sat) + 10px) 16px 10px;flex:none;justify-content:space-between;align-items:center;gap:12px;font-size:13px;line-height:1.5;display:flex}.app-banner+.app-banner{padding-top:10px}.storage-banner{color:#ffd8df;background:#44232e}.court-banner{color:#ffe1a5;background:#423016}.court-banner .icon-btn{flex:none;width:32px;height:32px;font-size:22px}.compact-btn{border-radius:10px;min-height:36px;padding:6px 12px;font-size:12px}.field select,.field textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:46px;color:var(--text);font:inherit;border-radius:14px;outline:none;padding:10px 14px;font-weight:600}.field textarea{resize:vertical;-webkit-user-select:text;user-select:text}.field select:focus,.field textarea:focus{border-color:var(--a);box-shadow:0 0 0 3px var(--a-soft)}.field input:disabled{opacity:.6}.segmented button:disabled{opacity:.5;cursor:default}.roster-form{gap:14px;display:grid}.roster-form .sheet-sub{margin-bottom:0}.roster-inputs{gap:12px;display:grid}.roster-input-row{align-items:flex-end;gap:8px;display:flex}.roster-input-row .field{flex:1;min-width:0;margin:0}.roster-remove{flex:none;min-height:46px;padding:0 10px;font-size:13px}.home-feedback{color:var(--muted);text-align:center;font-size:12px;line-height:1.6}.home-feedback a{color:var(--b);text-underline-offset:3px}.home-feedback a:focus-visible{outline:2px solid var(--b);outline-offset:3px}@container app (orientation:landscape){.home-body{flex-wrap:wrap;align-content:flex-start}.home-feedback{flex:0 0 100%}}.form-error{color:#ffa3b5;font-size:14px;line-height:1.5}.player-picker{position:relative}.player-picker:focus-within{z-index:5}.player-options{background:var(--surface-2);border:1px solid var(--line);z-index:10;border-radius:14px;max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #0009}.player-options button{text-align:left;width:100%;min-height:46px;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.player-options button:hover,.player-options button.picker-active{background:var(--a-soft)}.player-options button:disabled{opacity:.4;cursor:default}.player-options button span{font-size:11px}.picker-empty{color:var(--muted);padding:14px;font-size:14px}.serve-preview{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.server-name{color:var(--muted);font-size:clamp(11px,4cqh,14px);font-weight:700}.target-label{color:var(--muted);font-size:10px;font-weight:700}.saved-sessions{gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.saved-session{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.saved-session div{gap:6px;min-width:0;display:grid}.saved-session strong{overflow-wrap:anywhere;font-size:16px}.saved-session div span{color:var(--muted);font-size:12px;line-height:1.5}.home-recent>.section-title:not(:first-child){margin-top:24px}.session-body{min-height:0;padding:4px calc(var(--sar) + 16px) calc(var(--sab) + 24px) calc(var(--sal) + 16px);flex:1;overflow-y:auto}.session-summary{margin-bottom:18px}.session-summary>p{line-height:1.5}.session-actions{flex-wrap:wrap;gap:8px;display:flex}.session-tabs{width:fit-content;max-width:100%;margin-bottom:16px;display:flex}.session-tabs button{flex:1}.section-note{margin-bottom:14px;line-height:1.5}.session-matches{gap:12px;margin:0;padding:0;list-style:none;display:grid}.history-card{gap:12px}.history-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.history-heading>span{font-size:12px}.history-team{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.history-team>div{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;line-height:1.6}.history-team>strong{font-variant-numeric:tabular-nums;font-size:28px}.history-team-name{display:block}.winner-label{color:var(--muted);text-transform:uppercase;margin-left:8px;font-size:10px;font-weight:800;display:inline-block}.history-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.revision-history{color:var(--muted);font-size:12px;line-height:1.7}.revision-history summary{cursor:pointer}.revision-history p{margin-top:8px}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow-x:auto}.leaderboard{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.leaderboard td,.leaderboard th{border-bottom:1px solid var(--line);padding:14px 12px}.leaderboard thead th{color:var(--muted);white-space:nowrap;font-size:11px}.leaderboard tbody th{overflow-wrap:anywhere;min-width:120px}.leaderboard tbody tr:last-child>*{border-bottom:0}.leaderboard small{color:var(--muted);margin-top:4px;font-weight:500;display:block}.roster-search{margin-bottom:14px}.roster-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.roster-list li{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.roster-list li strong{overflow-wrap:anywhere}.roster-list li span{color:var(--muted);flex:none;font-size:13px}.session-result-actions{gap:8px;margin-bottom:20px;display:grid}.correction-preview{gap:12px;margin:18px 0;display:grid}.correction-preview p{justify-content:space-between;gap:16px;line-height:1.5;display:flex}.correction-preview .rule-hint{display:block}button:focus-visible,summary:focus-visible{outline:2px solid var(--b);outline-offset:3px}@media (width>=1000px) and (height>=520px) and (hover:hover) and (pointer:fine){.frame{border-width:6px;border-radius:28px;width:min(1120px,100vw - 64px);height:min(900px,100dvh - 64px)}body:after{display:none}}@container app (width>=900px){.session-body{padding-left:28px;padding-right:28px}.session-matches{grid-template-columns:1fr 1fr}.session-matches>li{align-content:start}}@media (hover:none),(pointer:coarse){@container app (orientation:landscape){.board{flex-direction:column}.rail{border-left:0;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:row;width:auto;height:68px;padding:6px 12px}.rail-center{gap:0}.match-score{font-size:24px}.match-score-dash{font-size:20px}.side{padding:4px 12px}.side-head{gap:8px}.side-name{font-size:14px}.side-players,.server-name{font-size:10px}.side-point{font-size:min(40cqh,40cqw)}.side-foot{min-height:0}}}@media (width<=420px){.session-tabs button{padding:8px;font-size:12px}.new-match .topbar{gap:8px}.new-match .topbar-title{font-size:16px}.new-match .format-chip{display:none}.rule-card{flex-wrap:wrap}.target-presets{width:fit-content}.app-banner{flex-wrap:wrap}}.side-info{justify-items:center;gap:6px;width:100%;display:grid}.player-picker>input{padding-right:42px}.picker-clear{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:22px;position:absolute;bottom:4px;right:6px}.picker-clear:hover{color:var(--text);background:var(--surface-2)}.sheet{max-height:calc(100% - 12px);overflow-y:auto}
