:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#e9edf2;background:#040912;--ink:#091220;--line:#62738b4d;--muted:#9aaabe;--accent:#e5c39a}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{position:fixed;width:100%;height:100%;inset:0}#arena:focus{outline:none}button,select,input{font:inherit}button,select{color:#e9edf2;background:#121e30;border:1px solid #62738b70;border-radius:2px;padding:11px 14px;cursor:pointer}button:hover{background:#1d2c42;border-color:#b8cbe0}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}header{position:absolute;inset:0 0 auto;height:100px;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.brand{font-size:24px;font-weight:700;letter-spacing:7px}.brand span{display:block;margin-top:9px;font-size:8px;font-weight:400;letter-spacing:2.4px;color:#b2c0d1}header button{pointer-events:auto;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#09122080}kbd{font:9px Arial,sans-serif;display:inline-block;padding:4px 5px;border:1px solid #79889e4d;border-radius:2px;margin:0 2px;color:#d7dfe9}.score{position:absolute;left:50%;top:22px;transform:translateX(-50%);display:flex;align-items:center;gap:23px;background:#060e1acc;border:1px solid #8d9eb22b;padding:8px 24px 10px;box-shadow:0 12px 32px #0003}.score div{text-align:center;min-width:56px}.score small{display:block;font-size:8px;letter-spacing:2px;color:#abb9ca;margin:6px 0 2px}.score b{font-size:30px;font-weight:400;font-variant-numeric:tabular-nums}.score>span{font-size:16px;color:#607086}.score-light{display:block;height:3px;width:52px;background:#bfff75;box-shadow:0 0 18px #bfff75;opacity:.12}#them-light{background:#ff8069;box-shadow:0 0 18px #ff8069}aside{position:absolute;bottom:87px;left:34px;width:200px;pointer-events:none;z-index:2;padding:15px 17px;background:linear-gradient(90deg,#07101ed9,#07101e88);border-left:2px solid #a7b9d177}.tag{font-size:8px;letter-spacing:2.5px;color:var(--accent)}aside .tag{color:#b0c2d8}.readout{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:8px;letter-spacing:1.4px;margin-top:17px;color:#95a7bd}.readout strong{font-size:11px;font-weight:400;letter-spacing:.3px;color:#e9edf2;font-variant-numeric:tabular-nums}.meter{height:2px;width:100%;background:#6d7e9633;margin:10px 0}.meter i{height:100%;display:block;background:var(--accent)}#reach{font-size:8px;letter-spacing:1px;line-height:1.5}.note{display:none}footer{position:absolute;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:15px;max-width:calc(100% - 30px);flex-wrap:wrap;justify-content:center;color:#c0ccdc;font-size:9px;white-space:nowrap;padding:10px 14px;background:#060d19bf;border:1px solid #6d7e9626;pointer-events:none}#callout{position:absolute;z-index:2;top:125px;left:50%;transform:translateX(-50%);font-size:16px;font-weight:400;letter-spacing:3px;text-transform:uppercase;pointer-events:none;text-shadow:0 2px 8px #000}#hint{position:absolute;z-index:2;top:153px;left:50%;transform:translateX(-50%);font-size:10px;color:#a7b6c8;pointer-events:none;white-space:nowrap;text-shadow:0 2px 6px #000}#mask{position:fixed;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 95px 22px #01050bb3;border:7px solid #01050b8c;border-radius:34% / 28%}#mask:after{content:'';position:absolute;inset:1px;border:1px solid #8494a51a;border-radius:inherit}#hit-banner{display:none;position:absolute;z-index:3;top:25%;left:50%;transform:translateX(-50%);min-width:300px;padding:16px 32px;text-align:center;background:#050d19ed;border:1px solid;box-shadow:0 10px 45px #0008;pointer-events:none}#hit-title{display:block;font-size:25px;font-weight:600;letter-spacing:3px}#hit-detail{display:block;margin-top:10px;font-size:10px;letter-spacing:3px;color:#d9e3ed}

/* Final score and bout accounting, above menus and live-room UI. */
#bout-results{position:fixed;inset:0;z-index:8;overflow:auto;overscroll-behavior:contain;display:grid;place-items:safe center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 0,#29394d88,transparent 65%),#060e19f5;backdrop-filter:blur(10px)}
.results-shell{width:100%;max-width:760px;margin:auto;border:1px solid #425266;border-radius:18px;overflow:hidden;background:#101c2a;box-shadow:0 30px 100px #0006}
.results-top{padding:22px 32px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #344152}.results-body{padding:28px 32px 20px}
#result-title{font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-1.5px;margin:12px 0 24px;overflow-wrap:anywhere;outline:none}
.result-scoreboard{display:grid;grid-template-columns:1fr 24px 1fr;gap:16px;align-items:center}.result-seat{min-width:0;padding:18px 20px;border:1px solid #344152;border-top:3px solid #c5fa8370;border-radius:8px;background:#0a1522}.result-seat:last-child{border-top-color:#ff947e70}.result-seat.result-winner{background:linear-gradient(130deg,#253a32,#101c2a);border-top-color:#c5fa83}.result-seat:last-child.result-winner{background:linear-gradient(130deg,#3c2d2b,#101c2a);border-top-color:#ff947e}.result-seat>span{font-size:9px;letter-spacing:2px;color:#a2b1c2}.result-seat>strong{display:block;font-size:18px;overflow-wrap:anywhere;margin:8px 0}.result-seat>b{font-size:64px;line-height:1;color:#f4f0e7;font-variant-numeric:tabular-nums}.result-versus{text-align:center;color:#617289;font-size:24px}
.result-facts{display:flex;gap:32px;margin:24px 0;padding-bottom:20px;border-bottom:1px solid #344152}.result-facts>div{display:flex;flex-direction:column;gap:6px}.result-facts b{font-size:23px;font-variant-numeric:tabular-nums;color:#f4f0e7}.result-facts span{font-size:8px;letter-spacing:1.5px;color:#9baec3}
.result-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.result-table caption{text-align:left;font-size:18px;font-weight:700;margin-bottom:16px;color:#f4f0e7}.result-table th,.result-table td{padding:12px 8px;border-bottom:1px solid #344152;text-align:right;overflow-wrap:anywhere}.result-table th:first-child{text-align:left;width:46%;padding-left:0}.result-table thead th{color:#9cacc0;font-size:10px;font-weight:400}.result-table tbody th{font-weight:400;color:#c4cfdb}.result-table td{font-variant-numeric:tabular-nums;font-weight:700}.result-table td:nth-child(2){color:#c5fa83}.result-table td:nth-child(3){color:#ff947e}
.result-note{font-size:11px;line-height:1.6;color:#96a7bb;margin:14px 0 24px}#result-history-title{font-size:10px;letter-spacing:1.5px;color:#aab9ca;margin:0 0 12px}#result-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:7px;padding:0;margin:0;list-style:none}#result-history li{min-width:0;padding:9px 6px;background:#091421;border-top:2px solid #c5fa83;border-radius:3px;text-align:center}#result-history .result-right{border-color:#ff947e}#result-history .result-double{border-color:#ffdda0}#result-history small{display:block;color:#8396ad;font-size:9px}#result-history b{display:block;font-size:13px;margin:6px 0;font-variant-numeric:tabular-nums}#result-history span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;color:#aebed0}
.results-actions{padding:18px 32px 24px;border-top:1px solid #344152;background:#101c2a}.results-actions>p{font-size:12px;margin:0 0 14px}.results-actions>div{display:flex;gap:12px}.results-actions button{flex:1;margin:0!important}.results-actions .primary-button,.results-actions .secondary-button{width:auto}
body.bout-results-open #queue-hud,body.bout-results-open #touch-controls{display:none!important}
@media(max-width:520px){#bout-results{padding:12px}.results-shell{border-radius:12px}.results-top{padding:18px}.results-top .eyebrow{font-size:8px}.results-body{padding:24px 18px 20px}.result-scoreboard{gap:8px;grid-template-columns:1fr 12px 1fr}.result-seat{padding:14px 12px}.result-seat>strong{font-size:16px}.result-seat>b{font-size:52px}.result-facts{gap:24px}.result-table{font-size:12px}.result-table th,.result-table td{padding:11px 4px}.results-actions{padding:18px}.results-actions>div{flex-direction:column}.results-actions button{width:100%!important}}
/* Broadcast impact hold. Menus remain accessible above the recap. */
#recap-heading,.recap-scores,#recap-progress{display:none}
body.touch-recap #queue-hud,body.touch-recap #mask,body.touch-recap aside,body.touch-recap footer,body.touch-recap #touch-controls,body.touch-recap #touch-charge,body.touch-recap #callout,body.touch-recap #hint,body.touch-recap .score{display:none!important}
body.touch-recap #recap-heading{display:block;position:fixed;top:80px;left:0;width:100%;text-align:center;color:#8193a9;font-size:9px;letter-spacing:2px;pointer-events:none}
#recap-heading span{color:#f4f0e7;margin-right:14px;border-left:3px solid #ff947e;padding-left:10px;font-weight:700}
body.touch-recap #hit-banner{top:auto;bottom:max(36px,calc(env(safe-area-inset-bottom) + 20px));width:min(560px,calc(100% - 32px));min-width:0;padding:16px 24px 13px;border-width:1px 0 0;border-radius:4px;overflow:hidden;text-align:left;background:#101c2af5;animation:recap-in .24s ease-out both}
body.touch-recap #hit-title{font-size:clamp(14px,2.2vw,20px);letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.touch-recap .recap-scores{display:flex;align-items:center;gap:18px;margin:12px 0;color:#f4f0e7}
.recap-scores>div{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center}
.recap-scores>div>span{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#acbbcb;letter-spacing:1px}
.recap-scores b{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.recap-scores em{font:700 13px Arial;color:#c5fa83}.recap-scores>div:last-child em{color:#ff947e}.recap-divider{color:#526173;font-size:20px}
body.touch-recap #hit-detail{font-size:8px;letter-spacing:2px;margin:0;color:#91a2b6}
body.touch-recap #recap-progress{display:block;position:absolute;left:0;bottom:0;width:100%;height:2px;background:currentColor;transform-origin:left}
@keyframes recap-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-height:520px){body.touch-recap #recap-heading{top:49px;font-size:8px}body.touch-recap #hit-banner{bottom:10px;padding:10px 18px;width:min(440px,calc(100% - 32px))}body.touch-recap .recap-scores{margin:6px 0}.recap-scores b{font-size:24px}body.touch-recap #hit-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){body.touch-recap #hit-banner{animation:none}}
/* Club interface: a clear path into a bout, with settings off the main path. */
:root{--accent:#ff947e;--paper:#f4f0e7;--muted:#a9b5c5;--line:#344152;--surface:#111e2d;--soft:#192738;--green:#c0dbab;font-family:Arial,Helvetica,sans-serif}
button,input,select,summary{-webkit-tap-highlight-color:transparent}button{min-height:46px;border-radius:8px;transition:background .15s,border-color .15s}button:disabled{opacity:.5;cursor:default}input,select{min-width:0;font-size:16px;border:1px solid #526173;border-radius:8px;background:#0c1724;color:var(--paper);padding:13px 14px;width:100%;min-height:48px}input::placeholder{color:#7f8fa3}input:focus,select:focus{border-color:var(--accent)}label{display:block;font-size:13px;font-weight:600;color:#dce2e9;line-height:1.4;margin:20px 0 8px}label select{margin-top:8px}select{cursor:pointer}p{font-size:14px;line-height:1.65;color:var(--muted)}h1,h2,h3{color:var(--paper)}[hidden]{display:none!important}
#overlay,#lobby{position:fixed;inset:0;z-index:5;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 15% 0,#24344999,transparent 65%),#060e19ee;backdrop-filter:blur(10px);padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));scrollbar-gutter:stable;}
#overlay{display:grid;place-items:safe center}#lobby{z-index:6;display:grid;place-items:safe center}
.menu-shell,.lobby-shell{width:100%;margin:auto;border:1px solid #53617370;border-radius:20px;background:#101c2af5;box-shadow:0 28px 90px #0005;overflow:hidden}.menu-shell{max-width:1040px}.lobby-shell{max-width:880px}
.menu-top,.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 36px}.menu-top{border-bottom:1px solid var(--line)}.mini-brand{color:var(--paper);font-size:13px;font-weight:900;letter-spacing:-.3px}.mini-brand>span{color:var(--accent)}.eyebrow{font-size:10px;line-height:1.6;font-weight:700;letter-spacing:1.8px;color:var(--accent)}.menu-bottom{border-top:1px solid var(--line);font-size:9px;letter-spacing:1.5px;color:#93a2b5;padding-block:18px}
.menu-grid{display:grid;grid-template-columns:.9fr 1.1fr}.menu-intro{padding:48px 36px 36px;background:linear-gradient(150deg,#20304366,#0d1926);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;position:relative}.wordmark{font-size:clamp(46px,5.6vw,72px);font-weight:900;letter-spacing:-3.5px;line-height:.88;color:var(--paper);margin:40px 0 24px}.wordmark em{font-size:.48em;font-style:normal;letter-spacing:0;color:var(--accent)}.wordmark>span{color:var(--accent)}.brand-tagline{color:#d2dae5;font-size:22px;line-height:1.35;letter-spacing:-.5px;margin:0 0 36px}.club-mark{display:flex;align-items:center;gap:15px;width:100%;margin:auto 0 20px;padding-top:38px;color:#8294aa;font-size:11px;font-variant-numeric:tabular-nums}.club-mark i{height:1px;flex:1;background:var(--accent);position:relative;opacity:.7}.club-mark i:after{content:'';position:absolute;right:0;top:-4px;width:8px;height:8px;border:1px solid var(--accent);border-radius:50%}.intro-note{font-size:12px;line-height:1.6;color:#91a2b7;margin:0}.menu-content{padding:40px 36px;min-width:0}
#menu-home h1{font-size:46px;line-height:1.03;letter-spacing:-1.8px;font-weight:600;margin:18px 0}.menu-lead{margin:0 0 27px}.mode-choice{position:relative;width:100%;display:block;text-align:left;padding:23px 22px;margin:14px 0;border:1px solid #526173;background:#172535;border-radius:12px}.mode-choice .choice-tag{display:block;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#a4b3c7;margin:0 0 12px}.mode-choice strong{display:block;font-size:24px;letter-spacing:-.6px;color:var(--paper)}.mode-choice strong b{float:right;font-size:26px;font-weight:400}.mode-choice>span:last-child{display:block;font-size:13px;line-height:1.55;color:#b9c6d6;max-width:90%;margin-top:9px}.mode-choice.featured{background:var(--accent);border-color:var(--accent)}.mode-choice.featured strong,.mode-choice.featured>span{color:#142233}.mode-choice.featured .choice-tag{color:#633e39}.mode-choice.featured:hover{background:#ffad9a;border-color:#ffad9a}.mode-choice:hover{background:#223348;border-color:#afc0d6}.home-footnote{font-size:11px;line-height:1.6;margin:22px 0;color:#a8b6c8}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--green);margin:0 6px 1px 0}
.text-button{border:0;background:transparent;padding:10px 0;min-height:44px;font-size:13px;color:#c5d2e1}.text-button:hover{background:transparent;color:var(--paper)}#menu-back{margin:-14px 0 13px;padding-right:18px}#setup-title{font-size:34px;line-height:1.1;letter-spacing:-1px;font-weight:600;margin:4px 0 25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid label{margin:0}.field-grid select{font-size:14px;min-height:49px}.field-hint{font-size:12px;line-height:1.6;margin:10px 0 0;color:#a1b1c5}.setup-objective{font-size:13px;border-left:2px solid var(--accent);padding-left:12px;margin:24px 0}.primary-button{display:block;width:100%;border:1px solid var(--accent);background:var(--accent);color:#142233;font-size:15px;font-weight:700;padding:16px 20px;min-height:54px;text-align:left}.primary-button>span{float:right}.primary-button:hover{background:#ffad9a;border-color:#ffad9a}.secondary-button{border:1px solid #65758a;background:#1b2a3b;color:var(--paper);font-size:13px;font-weight:600;padding:12px 18px}.secondary-button:hover{background:#293a50}#multiplayer{width:100%;margin-top:10px}#start{margin:22px 0 0}
details{font-size:13px;margin:18px 0 0}summary{cursor:pointer;color:#c4d0df;min-height:44px;padding:13px 0;line-height:1.4;list-style-position:outside;margin-left:16px}summary:hover{color:var(--paper)}.settings-group,.controls-guide{border-top:1px solid var(--line);margin-top:24px}.settings-group>summary,.controls-guide>summary{font-size:12px}.settings-group>details{border-top:1px solid var(--line)}.settings-group p,.controls-guide p{font-size:12px}.bob-setting{font-size:13px;font-weight:400;display:flex;gap:10px;align-items:center;margin:16px 0}.bob-setting input{width:18px;height:18px;min-height:0;accent-color:var(--accent);margin:0}.control-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.control-columns h3{font-size:12px;font-weight:600;margin:14px 0 6px}.control-columns p{font-size:12px;line-height:1.7;margin:0}.audio-previews{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.audio-previews button{font-size:11px;padding:8px 10px;min-height:40px}#network-status{font-size:12px;color:var(--green);overflow-wrap:anywhere}#network-status:empty{display:none}
.lobby-heading{padding:34px 36px 0}.lobby-heading h2{font-size:40px;letter-spacing:-1.5px;line-height:1.06;margin:14px 0}.lobby-heading p{margin:0;max-width:570px}#close-lobby{min-height:28px;padding:0 0 0 12px}.status-message{margin:20px 36px 0;padding:12px 15px;border:1px solid #53667e;background:#1b2d40;border-radius:8px;color:#d8e3ef;font-size:13px;overflow-wrap:anywhere}.status-message:empty{display:none}.status-message[data-error="true"]{border-color:#ff947e90;color:#ffd2c8;background:#412a2e}
#room-actions,#room-details{padding:26px 36px 30px}.room-tabs{display:flex;padding:4px;border-radius:10px;background:#07121f;border:1px solid #344456;gap:4px;margin-bottom:30px}.room-tabs button{flex:1;border:0;background:transparent;font-weight:600;font-size:14px;min-height:46px;padding:10px}.room-tabs button[aria-pressed="true"]{background:#293b50;color:var(--paper);box-shadow:0 2px 5px #0004}.room-tabs button:hover{background:#223246}.room-form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px}.identity-fields{padding-right:30px;border-right:1px solid var(--line)}.identity-fields label:first-of-type{margin-top:18px}.room-path{height:100%;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.room-path h3{font-size:25px;font-weight:600;letter-spacing:-.6px;line-height:1.2;margin:18px 0 0}.room-path p{font-size:13px;line-height:1.7;margin:12px 0 0}.room-path label{margin-top:22px}.room-path input{margin:8px 0 0}.room-path .primary-button{margin:28px 0 0}.room-path .field-hint{font-size:11px;margin-top:12px}.room-facts{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0}.room-facts span{font-size:10px;padding:6px 9px;border:1px solid #45576d;border-radius:20px;color:#bfcbda}.lobby-footnote{border-top:1px solid var(--line);margin:30px 0 0;padding-top:19px;font-size:12px}#room-code{letter-spacing:.5px}
.room-share{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #4f6075;border-radius:12px;background:#1a2a3c;padding:22px}.room-share h3{font-size:34px;letter-spacing:5px;line-height:1;margin:10px 0 0;font-variant-numeric:tabular-nums}.room-share input{grid-column:1/-1;min-width:0}#room-link:not([hidden]){width:100%;font-size:12px}.room-share:has(#room-link:not([hidden])){flex-wrap:wrap}.room-state-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:23px 0 18px}.room-state-line p{font-size:13px;color:#d5dce5;margin:0}.connection-pill{font-size:10px;padding:6px 9px;border:1px solid #485e4c;color:var(--green);border-radius:20px;white-space:nowrap}.roster{min-width:0}.fencer-seats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fencer-seat{border:1px solid #495c73;border-radius:10px;padding:18px;background:#152334;min-width:0}.fencer-seat.is-ready{border-color:#a6c78c99;background:#1d302e}.seat-label{font-size:9px;letter-spacing:1.4px;color:#8fa3bc}.seat-name{display:block;font-size:20px;color:var(--paper);font-weight:600;overflow-wrap:anywhere;line-height:1.35;margin:10px 0}.seat-name small{font-size:11px;font-weight:400;color:#acbacb}.seat-state{font-size:12px;color:#acbacb}.is-ready .seat-state{color:var(--green)}.empty-seat{border-style:dashed;background:transparent}.empty-seat .seat-name{font-size:17px;color:#b3c1d2}.roster-group{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}.roster-group h3{font-size:10px;font-weight:600;letter-spacing:1.4px;color:#9eafc4;margin:0 0 10px}.roster-group ol{padding:0 0 0 20px;margin:0}.roster-group li{padding:6px 0;font-size:13px;color:#d6e0ec;overflow-wrap:anywhere}.roster-group p{font-size:12px;margin:0;color:#8fa0b5}.watcher-list{font-size:13px;color:#c6d1df;overflow-wrap:anywhere}.room-rules{margin-top:22px;border-top:1px solid var(--line)}.room-rules summary{font-size:12px}.room-rules p{font-size:12px}.room-launch{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.room-launch p{font-size:13px;color:#d7e0eb;margin:0 0 12px}#leave-room{margin-top:12px;color:#b8a8a5}.danger-button:hover{color:#ffb5a6}
/* Hide match information while either menu surface is open. */
body:has(#overlay:not([style*="display: none"]))>header,body:has(#lobby:not([hidden]))>header,body:has(#overlay:not([style*="display: none"]))>aside,body:has(#lobby:not([hidden]))>aside,body:has(#overlay:not([style*="display: none"]))>footer,body:has(#lobby:not([hidden]))>footer{visibility:hidden}
.brand{letter-spacing:-.7px;font-size:22px;line-height:.88;color:var(--paper)}.brand strong{font-weight:900}.brand em{font-style:normal;font-size:.48em;letter-spacing:.01em;color:var(--accent)}.brand .brand-dot{display:inline;font-size:inherit;color:var(--accent);letter-spacing:inherit;margin:0;font-weight:900}.brand .brand-caption{font-size:6px;letter-spacing:1.55px;margin-top:10px;color:#b2c0d1}.score small{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score div{max-width:130px}header button{min-height:44px}#hint{max-width:90vw;white-space:normal;text-align:center}
#arena{touch-action:none;user-select:none;-webkit-user-select:none}#touch-controls{display:none;position:fixed;inset:0;pointer-events:none;z-index:2}#touch-distance{position:absolute;left:4%;bottom:max(40px,calc(env(safe-area-inset-bottom) + 24px));width:min(44vw,200px,38vh);height:min(44vw,200px,38vh);border:2px solid #ff927c77;border-radius:50%;background:#07101eb3;display:flex;align-items:center;justify-content:center;color:#ffb7a5}.stick-arrows{text-align:center;line-height:1.7;font-size:20px;opacity:.8;color:#ffb7a580}#touch-stick{position:absolute;width:clamp(44px,12vw,56px);height:clamp(44px,12vw,56px);border-radius:50%;background:#ff927c88;border:2px solid #ffb7a5;box-shadow:0 0 16px #ff927c22}#touch-distance-label{position:absolute;bottom:-24px;white-space:nowrap;font-size:10px;letter-spacing:1px}#touch-help{position:absolute;right:4%;bottom:max(40px,calc(env(safe-area-inset-bottom) + 24px));max-width:46%;text-align:right;font-size:9px;line-height:1.8;color:#c0ccdc}#touch-charge{display:none;position:fixed;pointer-events:none;z-index:3;width:50px;height:50px;transform:translate(-50%,-50%);border-radius:50%;mask:radial-gradient(transparent 57%,black 60%);-webkit-mask:radial-gradient(transparent 57%,black 60%)}
#queue-hud{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:3;display:flex;gap:10px;align-items:center;background:#081120e8;padding:5px 8px 5px 12px;border:1px solid #526173;border-radius:10px;font-size:11px;color:#d3dfed}#queue-hud button{padding:8px;font-size:12px;min-height:38px}body.spectating aside,body.spectating footer,body.spectating #touch-controls{display:none!important}body.debug-side #mask,body.debug-side aside{display:none}
#diagnostics-hud{position:fixed;z-index:3;top:180px;left:12px;max-width:calc(100vw - 24px);padding:10px;background:#030914dc;color:var(--green);font:11px/1.6 monospace;white-space:pre-wrap;pointer-events:none}#diagnostics-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 monospace}#diagnostics-report{width:100%;height:180px;background:#08121f;color:#d5e3ee;font-size:12px}
@media(max-width:900px){.menu-top,.menu-bottom{padding-inline:26px}.menu-intro{padding:38px 26px 28px}.menu-content{padding:34px 26px}#menu-home h1{font-size:39px}.wordmark{font-size:55px}.field-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:.85fr 1.15fr}}
@media(max-width:680px){
 #overlay,#lobby{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));backdrop-filter:blur(6px)}.menu-shell,.lobby-shell{border-radius:14px}.menu-top{padding:18px 22px}.menu-top>.eyebrow{font-size:8px;letter-spacing:1px}.mini-brand{font-size:12px}.menu-grid{grid-template-columns:1fr}.menu-intro{padding:23px 22px 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:end}.menu-intro>.eyebrow{font-size:8px;grid-column:1/-1}.wordmark{font-size:47px;letter-spacing:-2.6px;margin:16px 0 0}.brand-tagline{font-size:13px;line-height:1.5;text-align:right;margin:0 0 2px}.club-mark,.intro-note{display:none}.menu-content{padding:26px 22px}.menu-bottom{padding:16px 22px;font-size:8px;letter-spacing:1px}#menu-home h1{font-size:36px;letter-spacing:-1.2px;margin:13px 0}#menu-home h1 br{display:none}.menu-lead{font-size:13px;margin-bottom:20px}.mode-choice{padding:20px;margin:12px 0}.mode-choice strong{font-size:23px}.mode-choice .choice-tag{font-size:8px;margin-bottom:10px}.mode-choice>span:last-child{font-size:12px;margin-top:8px;max-width:94%}.home-footnote{margin:19px 0 0;font-size:10px}.controls-guide{margin-top:18px}.controls-guide>summary{padding-bottom:0}.field-grid{grid-template-columns:1fr 1fr;gap:12px}.field-grid select{font-size:13px}#setup-title{font-size:29px;margin-bottom:22px}.menu-shell:has(#menu-home[hidden]) .menu-intro{display:none}#menu-back{margin-top:-10px}.control-columns{grid-template-columns:1fr;gap:4px}
 .lobby-heading{padding:25px 22px 0}.lobby-heading h2{font-size:33px;letter-spacing:-1px}.lobby-heading p{font-size:13px}#room-actions,#room-details{padding:23px 22px}.status-message{margin:18px 22px 0;font-size:12px}.room-tabs{margin-bottom:24px}.room-tabs button{font-size:13px}.room-form-grid{grid-template-columns:1fr;gap:25px}.identity-fields{padding:0 0 23px;border:0;border-bottom:1px solid var(--line)}.identity-fields label{margin-top:15px}.room-path h3{font-size:23px;margin-top:12px}.room-path label{margin-top:17px}.room-path .primary-button{margin-top:22px}.room-facts{margin-top:16px}.lobby-footnote{margin-top:24px;font-size:11px}.room-share{padding:18px;gap:12px;flex-wrap:wrap}.room-share h3{font-size:29px;letter-spacing:4px}.room-share .secondary-button{font-size:12px;padding:11px 12px}.room-state-line{align-items:flex-start;flex-direction:column;gap:9px;margin:20px 0 16px}.room-state-line p{font-size:12px}.fencer-seats{gap:10px}.fencer-seat{padding:14px 12px}.seat-name{font-size:17px}.empty-seat .seat-name{font-size:15px}.seat-label{font-size:8px;letter-spacing:1px}.seat-state{font-size:11px}.room-launch{position:sticky;bottom:-24px;background:#101c2af5;margin-inline:-22px;padding:16px 22px 18px;backdrop-filter:blur(12px);z-index:1}.room-launch p{font-size:12px}.room-launch .primary-button{min-height:52px}.danger-button{margin-top:0!important}
 header{padding:14px;gap:12px}.brand{font-size:15px}.brand .brand-caption{display:none}.score{top:14px;gap:7px;padding:6px 10px;max-width:52%}.score div{min-width:30px;max-width:74px}.score small{font-size:8px;letter-spacing:.3px;max-width:74px}.score-light{width:32px}.score b{font-size:27px}.score>span{display:none}header #pause{font-size:9px;padding:9px}header #pause kbd{display:none}aside{left:16px;width:165px;bottom:100px}footer{font-size:8px;gap:7px}#hit-banner{min-width:0;width:90%;max-width:460px;padding:14px}#hit-title{font-size:20px}#hit-detail{letter-spacing:1px}
}
@media(max-width:370px){.menu-top>.eyebrow{display:none}.wordmark{font-size:40px}.brand-tagline{font-size:11px}.menu-content{padding-inline:18px}.field-grid{grid-template-columns:1fr}.mode-choice{padding:18px}.room-share .secondary-button{width:100%}.menu-bottom{font-size:7px}.lobby-heading h2{font-size:30px}}
@media(max-width:680px) and (orientation:portrait){aside{top:99px;bottom:auto;left:50%;transform:translateX(-50%);width:auto;max-width:94%;padding:4px 10px;display:flex;align-items:center;gap:10px;border:0;border-radius:12px;background:#060e1a66;white-space:nowrap}aside>.tag,aside .readout>span,aside .meter,aside .readout~.readout,aside .note{display:none}aside .readout{margin:0}aside .readout strong{font-size:10px;color:#aebccc}aside #reach{font-size:8px;letter-spacing:.4px}#callout{top:134px;font-size:14px;width:95%;text-align:center}#hint{top:159px;font-size:9px}#mask{border-radius:22% / 15%}}
@media(max-height:520px) and (min-width:681px){#overlay,#lobby{padding-block:12px}.menu-top{padding-block:15px}.menu-intro{padding-top:28px}.wordmark{margin-top:22px}.menu-content{padding-block:26px}.lobby-heading{padding-top:24px}.menu-bottom{padding-block:14px}}
@media(pointer:coarse){footer{display:none}header{padding-top:max(14px,env(safe-area-inset-top))}summary{min-height:44px}.text-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media(max-width:680px){
 .field-grid{grid-template-columns:1fr}.field-grid select{font-size:16px}
 .lobby-heading{padding-top:22px}.lobby-heading>.eyebrow{display:none}.lobby-heading h2{font-size:29px;margin-top:0;line-height:1.1}
 .lobby-heading p{font-size:12px}.room-tabs{margin-bottom:22px}.identity-fields>.field-hint{display:none}
 .identity-fields{padding-bottom:20px}.room-form-grid{gap:20px}.room-path h3{display:none}
 #join-path>.field-hint{display:none}.room-path label{margin-top:14px}.room-path .primary-button{margin-top:20px}
 .lobby-shell:has(#room-actions[hidden]) .lobby-heading{padding-top:20px}
 .lobby-shell:has(#room-actions[hidden]) .lobby-heading>.eyebrow{display:none}
 .lobby-shell:has(#room-actions[hidden]) .lobby-heading h2{font-size:27px;margin:0 0 9px;letter-spacing:-.7px}
 .lobby-shell:has(#room-actions[hidden]) .lobby-heading p{font-size:12px}
 #room-details{padding-top:20px}.room-share{padding:16px}.room-share h3{font-size:27px}
 .roster-group{margin-top:15px;padding-top:13px}.roster-group h3{margin-bottom:7px}
 .roster-group:has(.watcher-list){margin-top:12px;padding-top:12px}.watcher-list{font-size:12px}
}
