:root{--paper:#f2eee4;--ink:#202b25;--muted:#566153;--line:#b9bdad;--accent:#245a43;--felt:#174735}body{background:#171e1b;font-family:Arial,Helvetica,sans-serif}.lobby{background:var(--paper);color:var(--ink);min-height:100dvh;padding:0 max(5vw,20px) 40px}.room-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:1120px;min-height:82px;margin:0 auto 40px;display:flex}.room-nav a{color:inherit;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.room-nav span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:11px Courier New,monospace}.lobby-layout{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:end;gap:60px;max-width:1120px;margin:auto;display:grid}.lobby-intro{padding:0 75px 20px 0;position:relative}.lobby-intro:after{content:attr(data-mark);color:var(--accent);font:80px/1 Georgia,serif;position:absolute;top:8px;right:0}.lobby-intro .edition{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font:11px Courier New,monospace}.lobby h1{letter-spacing:-.065em;margin-bottom:17px;font-size:clamp(44px,5.5vw,76px);font-weight:800;line-height:1}.lobby-intro>p:last-child{max-width:35ch;color:var(--muted);font-size:17px;line-height:1.6}.lobby-section{border-top:2px solid var(--ink);margin-top:10px;padding:23px 0 0}.lobby-section h2{letter-spacing:-.035em;margin-bottom:22px;font-size:22px;font-weight:700}.lobby-section h2:before{content:"01 / ";color:var(--accent);letter-spacing:.03em;margin-right:10px;font:12px Courier New,monospace}.lobby-create{border:1px solid var(--line);border-top:5px solid var(--accent);background:#e6e4d8;padding:30px}.lobby-create h2:before{content:"02 / "}.room-label{letter-spacing:.025em;color:inherit;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.room-field{width:100%;min-width:0;color:var(--ink);background:#fffcf4;border:1px solid #777f70;border-radius:3px;outline:none;min-height:46px;padding:12px 13px}.room-field:focus{outline:2px solid var(--accent);outline-offset:2px}.room-field::placeholder{color:#687062}.room-button{cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.room-button:focus-visible,.room-nav a:focus-visible{outline-offset:3px;outline:3px solid #c99c55}.room-button:disabled{opacity:.45;cursor:default}.room-primary{background:var(--accent);color:#fff9ed}.room-primary:hover:not(:disabled){filter:brightness(1.15)}.room-secondary{color:#202b25;background:#efe9d8;border-color:#c3bda9}.room-secondary:hover:not(:disabled){background:#fffaf0}.room-quiet{color:inherit;background:#ffffff0e;border-color:#ffffff30}.room-quiet:hover:not(:disabled){background:#ffffff20}.room-danger{color:#fffaf0;background:#a03d32}.lobby .room-quiet{background:0 0;border-color:#9ba28f}.lobby .room-quiet:hover{background:#dcded0}.lobby .room-secondary{background:var(--accent);color:#fffaf0;border-color:var(--accent)}.lobby label:has(input[type=radio]:checked) span{background:var(--ink);color:#fffaf0}.lobby label:has(input[type=radio]:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.lobby [role=alert]{color:#634311;background:#f3d9a4;border:1px solid #b38843}.lobby [role=note]{color:var(--ink);box-shadow:none;background:#e3e3d5}.lobby-foot{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);justify-content:space-between;gap:15px;margin:38px auto 0;padding-top:17px;font:11px/1.6 Courier New,monospace;display:flex}.htp-open{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:9px;padding:0 8px 0 16px;font:700 14px/1 Arial,Helvetica,sans-serif;display:inline-flex}.htp-open:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.htp-open.htp-icon{border-color:#ffffff30;justify-content:center;width:40px;min-height:40px;padding:0}.htp-q{background:var(--accent);color:#fffaf0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;display:inline-grid}.htp-open:focus-visible,.htp button:focus-visible{outline-offset:3px;outline:3px solid #c99c55}.htp{color:#202b25;background:#fffaf0;border:1px solid #a38c60;border-radius:8px;width:min(30rem,100% - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;font-family:Arial,Helvetica,sans-serif;overflow:auto;box-shadow:0 24px 60px -12px #000c}.htp::backdrop{background:#080c0abf}.htp-body{flex-direction:column;gap:14px;min-height:min(27rem,100dvh - 9rem);padding:22px 22px 6px;display:flex}.htp-count{letter-spacing:.08em;text-transform:uppercase;color:#566153;margin:0;padding-right:40px;font:12px Courier New,monospace}.htp h2{letter-spacing:-.04em;margin:0;font-size:27px;font-weight:800;line-height:1.1}.htp-text{margin:0;font-size:17px;line-height:1.55}.htp-text b{font-weight:700}.htp-picture{background:var(--felt);color:#fffaf0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:140px;padding:16px 10px;display:flex}.htp-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.htp-card{color:#202b25;background:#fffaf0;border-radius:5px;place-items:center;width:40px;height:56px;font:700 16px Georgia,serif;display:inline-grid;box-shadow:0 2px #0005}.htp-red{color:#b3261e}.htp-back{background:repeating-linear-gradient(45deg, var(--accent) 0 4px, #fffaf0 4px 7px);border:3px solid #fffaf0}.htp-note{padding:0 2px;font-size:16px;font-weight:700}.htp-tag{color:#202b25;white-space:nowrap;background:#fffaf0;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700;display:inline-block}.htp-nav{gap:10px;padding:14px 22px 20px;display:flex}.htp-nav button{min-height:48px;color:inherit;cursor:pointer;background:0 0;border:1px solid #9ba28f;border-radius:999px;padding:0 18px;font:700 16px Arial,Helvetica,sans-serif}.htp-nav button:disabled{opacity:.35;cursor:default}.htp-nav .htp-next{border-color:var(--accent);background:var(--accent);color:#fffaf0;margin-left:auto}.htp-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:8px;right:8px}.join-controls{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.table-room{color:#f6f0df;background:#171e1b}.table-room>header{background:#1d2721;border-bottom:1px solid #e9dfbd24;padding-bottom:9px}.table-room>footer{background:#1d2721;border-top:1px solid #e9dfbd24;padding-top:10px}.table-room .room-primary{color:#29261d;background:#e8c581}.table-room dialog:not(.htp){background:#222e27;border:1px solid #a38c60;border-radius:6px}.table-felt{background:var(--felt)!important;border-color:#343629!important;box-shadow:inset 0 0 0 2px #bcaa7266,inset 0 0 0 12px #00000014,0 6px #111813!important}.table-room [data-table]{isolation:isolate}.table-room .room-label{color:#d7d3c3}@media (width<=767px){.room-nav{min-height:66px;margin-bottom:27px}.room-nav span{font-size:9px}.lobby-layout{grid-template-columns:minmax(0,1fr);gap:28px;max-width:520px}.lobby h1{font-size:51px}.lobby-intro{padding-bottom:10px}.lobby-intro:after{font-size:65px}.lobby-create{padding:22px}.lobby-foot{flex-direction:column;gap:3px;max-width:520px}.lobby-intro>p:last-child{font-size:15px}.lobby-section h2{margin-bottom:17px}.join-controls{grid-template-columns:1fr 1fr}.join-controls input{grid-column:1/-1}.join-controls button{width:100%}.room-button{font-size:14px}}@media (prefers-reduced-motion:reduce){.room-button{transition:none}}:root{--accent:#277b59;--felt:#17624d}*{box-sizing:border-box}body{color:#f4f0df;background:#10231b;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.pool-form-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.pool-form-actions button{flex:1;min-height:44px;padding:9px 16px}.lobby-column{flex-direction:column;gap:16px;display:flex}.lobby-code{letter-spacing:.3em;text-transform:uppercase;font-family:Courier New,monospace;font-size:18px}.lobby-code::placeholder{letter-spacing:0;text-transform:none;font-family:Arial,sans-serif;font-size:15px}.pool-create{width:100%;min-height:48px;margin-top:16px}.lobby .pool-help{color:var(--muted);font-size:13px}.pool-inline{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pool-inline label{display:block}.pool-inline select{margin-top:6px;display:block}.pool-help{color:#748071;margin:8px 0 0;font-size:12px;line-height:1.45}.pool-notice{color:#fff;background:#713d35;border-radius:7px;padding:9px 12px;font-size:14px}.pool-room{color:#f4f0df;background:#10231b;min-height:100dvh}.pool-header{background:#142a21;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:12px;padding:9px max(2vw,12px);display:flex}.pool-header button{min-height:42px;padding:7px 11px}.pool-header-center{text-overflow:ellipsis;color:#c6d4c7;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.pool-header button{white-space:nowrap;flex-shrink:0}.pool-header-center span{color:#6f9479;padding-inline:4px}.pool-header-end{align-items:center;gap:8px;display:flex}.pool-watchers{color:#c6d4c7;align-items:center;gap:6px;font-size:14px;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.pool-watchers,.pool-wide{display:none}}.pool-room-code{letter-spacing:.1em;font-family:Courier New,monospace}.pool-status{background:#fcd34d;border-radius:50%;width:8px;height:8px;display:inline-block}.pool-status[data-state=hosting],.pool-status[data-state=connected]{background:#facc15}.pool-status[data-state=reconnecting]{background:#fb7185}.pool-room-body{max-width:1500px;margin:auto}.pool-room-body.pool-display{grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100dvh - 62px);display:grid}.pool-main{width:100%;min-width:0;padding:12px clamp(10px,2.5vw,32px) 30px}.pool-scorebar{justify-content:space-between;align-items:center;gap:8px;max-width:1100px;margin:0 auto 8px;display:flex}.pool-scorebar>div{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.pool-scorebar>div:last-child{text-align:right;justify-content:flex-end}.pool-scorebar strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.pool-scorebar span{color:#a6bba6;white-space:nowrap;font-size:11px}.pool-scorebar b{color:#f0d191;white-space:nowrap;font:800 22px Courier New,monospace}.pool-board{cursor:crosshair;touch-action:manipulation;filter:drop-shadow(0 20px 25px #0005);width:100%;max-width:1150px;margin:auto;display:block}.pool-event{text-align:center;color:#e8d39f;max-width:1050px;min-height:24px;margin:7px auto 0;font-size:14px}.pool-controls{background:#1b392b;border:1px solid #759d7c66;border-radius:14px;max-width:1050px;margin:12px auto 0;padding:16px;box-shadow:0 8px 24px #0003}.pool-controls-top{color:#d6e9d6;justify-content:space-between;gap:12px;display:flex}.pool-controls-top strong{color:#f5d899;font-size:17px}.pool-controls-top span{font-size:13px}.pool-control-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;display:grid}.pool-control-block{min-width:0}.pool-control-block>label{justify-content:space-between;font-size:13px;font-weight:700;display:flex}.pool-control-block input[type=range]{accent-color:#e7c36d;width:100%;margin:10px 0}.pool-control-block .pool-help{color:#aec5b0}.pool-fine{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.pool-fine span{color:#c2d4c1;margin-right:auto;font-size:12px}.pool-fine button{color:#fff;background:#2d543e;border:1px solid #829d7d;border-radius:6px;min-width:43px;min-height:38px;padding:7px}.pool-fine button:hover,.pool-fine button:focus-visible{background:#416d50}.pool-bot-aim{color:#f5d899;margin-top:2px;font-weight:700}.pool-clock{color:#f0d191;background:#0d1d16;border-radius:999px;margin-left:10px;padding:1px 9px;font:700 13px Courier New,monospace;display:inline-block}.pool-clock.is-low{color:#ff9a8a}.pool-tip{flex-direction:column;align-items:center;gap:8px;display:flex}.pool-tip-label{align-self:stretch;font-size:13px;font-weight:700}.pool-tip strong{color:#f5d899;font-size:13px}.pool-tip-ball,.pool-tip-grid{background:radial-gradient(circle at 35% 30%,#fff,#ebe6d2 65%,#c7c0a4);border-radius:50%;box-shadow:0 4px 12px #0007}.pool-tip-ball{cursor:pointer;border:0;width:76px;height:76px;position:relative}.pool-tip-dot{background:#c0392b;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 2px #fff8}.pool-tip-grid{grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;width:168px;height:168px;display:grid}.pool-tip-grid button{cursor:pointer;background:0 0;border:2px dashed #8f866c;border-radius:50%;width:40px;height:40px}.pool-tip-grid button:hover{background:#c0392b33}.pool-tip-grid button[aria-pressed=true]{background:#c0392b;border:3px solid #fff}.pool-tip-ball:focus-visible,.pool-tip-grid button:focus-visible{outline-offset:3px;outline:3px solid #f0d191}.pool-call{align-items:end;gap:10px;margin-top:14px;display:flex}.pool-call>label{color:#d1decf;flex:1;min-width:0;font-size:12px}.pool-call select{width:100%;margin-top:4px}.pool-call .pool-safety{flex:none;align-items:center;gap:7px;min-height:44px;display:flex}.pool-safety input{accent-color:#e7c36d;width:17px;height:17px}.pool-shoot-row{gap:10px;margin-top:14px;display:flex}.pool-shoot-row button{min-height:48px;padding:9px 18px}.pool-shoot-row .room-primary{flex:1;font-size:17px;font-weight:800}.pool-center{text-align:center}.pool-center p{margin:0}.pool-watch{text-align:center;color:#b7c8b8}.pool-tournament{background:#101d17;border-left:1px solid #ffffff23;padding:20px}.pool-code{align-items:center;gap:12px;margin-bottom:23px;display:flex}.pool-code small,.pool-code strong{display:block}.pool-code small{color:#a9b9ac;letter-spacing:.08em;font:10px Courier New,monospace}.pool-code strong{letter-spacing:.14em;font:800 24px Courier New,monospace}.pool-tournament h2{color:#bbcaba;text-transform:uppercase;letter-spacing:.15em;margin:20px 0 10px;font:800 11px Courier New,monospace}.pool-team{border:1px solid #ffffff16;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:4px 0;padding:12px 10px;display:flex}.pool-team.is-turn{background:#254333;border-color:#e6cc7f}.pool-team strong,.pool-team small{display:block}.pool-team>div:first-child{min-width:0}.pool-team>div:first-child strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pool-team small{color:#a8bead;margin-top:4px;font-size:11px}.pool-score{text-align:right;white-space:nowrap}.pool-score strong{color:#f2d48b;font:800 25px Courier New,monospace}.pool-race{color:#aebfb0;font-size:12px}.pool-feed{max-height:45dvh;margin:0;padding:0;list-style:none;overflow:auto}.pool-feed li{color:#d8e1d3;border-top:1px solid #ffffff15;padding:8px 0;font-size:12px}.pool-dialog{color:#fff;background:#1b3427;border:1px solid #9bbc9d;border-radius:15px;width:min(360px,100% - 24px);max-height:90dvh;margin:auto;padding:22px;overflow:auto}.pool-dialog::backdrop{background:#07130bc9}.pool-dialog .pool-help{color:#b9c8b9}.pool-dialog>.room-secondary{min-height:42px;margin-top:12px;padding:8px 16px}.pool-invite{text-align:center;justify-items:center;gap:10px;display:grid}.pool-invite p{color:#b9c8b9;margin:0;font-size:13px}.pool-invite strong{letter-spacing:.18em;font:800 30px Courier New,monospace}.pool-invite small{overflow-wrap:anywhere;color:#b9c8b9}.pool-invite-qr{background:#fff;border-radius:6px;width:180px;height:180px;padding:10px}.pool-invite-qr.small{width:120px;height:120px}.pool-invite>div{gap:8px;width:100%;display:flex}.pool-invite>div button{flex:1;min-height:44px}.pool-code-qr{background:#fff;border-radius:4px;width:80px;height:80px;padding:4px}@media (width<=900px){.pool-room-body.pool-display{display:block}.pool-tournament{border-top:1px solid #ffffff23;border-left:0}.pool-feed{max-height:none}}@media (width<=600px){.pool-header-center{text-align:center;font-size:11px}.pool-header button{font-size:12px}.pool-scorebar{margin-bottom:0}.pool-scorebar strong{max-width:32vw;font-size:11px}.pool-scorebar span{font-size:9px}.pool-scorebar b{font-size:18px}.pool-main{padding-inline:6px}.pool-event{padding-inline:8px;font-size:12px}.pool-controls{margin-inline:6px;padding:12px}.pool-control-grid{grid-template-columns:1fr;gap:12px}.pool-call{flex-wrap:wrap}.pool-call>label:not(.pool-safety){min-width:40%}.pool-fine span{width:100%}.pool-tournament{padding:16px}}
