:root{--felt: #123b2e;--felt-deep: #0b2a20;--slate: #17302a;--wire: #c8a24b;--red: #d8453b;--chalk: #f1ead6;--muted: #a9bdb2;--radius: 10px;--display: "Big Shoulders Display", Impact, "Arial Narrow", sans-serif;--body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--felt-deep);background-image:radial-gradient(circle at 50% -20%,var(--felt) 0,var(--felt-deep) 70%);background-attachment:fixed;color:var(--chalk);font:400 1.0625rem/1.55 var(--body);min-height:100vh}a{color:var(--wire)}h1,h2{font-family:var(--display);font-weight:900;line-height:1.02;margin:0;letter-spacing:.01em}h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:1.5rem}:focus-visible{outline:3px solid var(--wire);outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.9rem clamp(1rem,4vw,2.5rem);border-bottom:2px solid var(--wire);background:var(--felt-deep)}.brand{font:900 2rem/1 var(--display);color:var(--chalk);text-decoration:none;letter-spacing:.03em}.topbar nav{display:flex;gap:.4rem}.topbar nav a{color:var(--muted);text-decoration:none;font-weight:700;padding:.45rem .9rem;border-radius:999px}.topbar nav a.active{background:var(--chalk);color:var(--felt-deep)}.page{max-width:1080px;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem)}.page.narrow{max-width:760px}.lede{color:var(--muted);max-width:52ch;margin:.6rem 0 0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}.btn{background:transparent;border:2px solid var(--muted);border-radius:var(--radius);padding:.55rem 1.1rem;font-weight:700}@media (hover: hover){.btn:hover:not(:disabled){border-color:var(--chalk)}}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}@media (hover: hover){.btn.primary:hover:not(:disabled){background:#e5574d;border-color:#e5574d}}.btn.small{padding:.35rem .8rem;font-size:.9rem}.btn.danger{border-color:var(--red);color:#fff;background:var(--red)}.btn.big{font-size:1.25rem;padding:.8rem 2.2rem;margin-top:.5rem}.hero{display:flex;align-items:center;gap:clamp(1rem,4vw,2.5rem);margin-bottom:2rem;flex-wrap:wrap}.chalk{font:900 clamp(6rem,16vw,10rem)/.85 var(--display);background:var(--slate);border:3px solid var(--wire);border-radius:var(--radius);padding:1.2rem 1.6rem .9rem;color:var(--chalk);box-shadow:inset 0 0 0 6px var(--slate),inset 0 0 0 8px #c8a24b59;min-width:2.6ch;text-align:center}fieldset{border:0;padding:0;margin:0 0 1.6rem}legend{font-weight:700;margin-bottom:.6rem}.segmented{display:inline-flex;border:2px solid var(--wire);border-radius:var(--radius);overflow:hidden}.segmented label,.segmented button{position:relative;padding:.55rem 1.4rem;font:900 1.5rem/1 var(--display);background:transparent;border:0;cursor:pointer}.segmented.small label,.segmented.small button{font:700 1rem/1 var(--body);padding:.6rem 1.2rem}.segmented .on{background:var(--wire);color:var(--felt-deep)}.segmented input,.opp input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.segmented label:has(input:focus-visible),.opp:has(input:focus-visible){outline:3px solid var(--wire);outline-offset:2px}.opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.opp{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem;background:var(--slate);border:2px solid transparent;border-radius:var(--radius);cursor:pointer}.opp strong{font:900 1.4rem/1.1 var(--display)}.opp span{color:var(--muted);font-size:.95rem}.opp.on{border-color:var(--wire)}.boards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.board{background:var(--slate);border:2px solid rgba(200,162,75,.25);border-radius:var(--radius);padding:1rem 1.2rem 1.1rem;transition:border-color .2s}.board.active{border-color:var(--wire);box-shadow:0 0 0 3px #c8a24b33}.who{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.turnflag{background:var(--red);color:#fff;font-weight:700;font-size:.85rem;padding:.1rem .6rem;border-radius:999px;white-space:nowrap}.score{font:900 clamp(4.5rem,14vw,8.5rem)/.95 var(--display);margin:.2rem 0;font-variant-numeric:tabular-nums}.route{min-height:1.6rem;color:var(--muted)}.route b{color:var(--wire);font-weight:700;white-space:pre}.slots{display:flex;gap:.5rem;margin:.7rem 0}.slot{flex:1;text-align:center;padding:.35rem 0;border-radius:6px;border:2px dashed rgba(169,189,178,.4);color:var(--muted);font-weight:700}.slot.filled{border:2px solid var(--chalk);color:var(--chalk);animation:land .18s ease-out}@keyframes land{0%{transform:scale(1.25)}to{transform:scale(1)}}.mini{display:flex;gap:1.5rem;margin:0}.mini dt{color:var(--muted);font-size:.85rem}.mini dd{margin:0;font:900 1.6rem/1.1 var(--display)}.last{margin:.6rem 0 0;color:var(--muted);font-size:.95rem}.statusbar{display:flex;align-items:center;gap:.8rem;margin:1.1rem 0}.statusbar .status{flex:1;margin:0}.confirm{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.status{margin:1.1rem 0;padding:.7rem 1rem;border-left:5px solid var(--wire);background:#00000040;font-weight:500}.status.bust{border-color:var(--red)}.status.win{border-color:#6fcf8f;font-weight:700}.pad{display:grid;gap:.8rem}.pad.off{opacity:.55}.numbers{display:grid;grid-template-columns:repeat(10,1fr);gap:.4rem}.numbers button,.extras button:not(.btn){background:var(--slate);border:2px solid rgba(200,162,75,.35);border-radius:8px;padding:.7rem 0;font:900 1.4rem/1 var(--display)}.extras button:not(.btn){padding:.7rem 1.2rem;font:700 1rem/1.2 var(--body)}@media (hover: hover){.numbers button:hover:not(:disabled),.extras button:not(.btn):hover:not(:disabled){border-color:var(--wire);background:#1f3f36}}.numbers button:active:not(:disabled),.extras button:not(.btn):active:not(:disabled){background:var(--wire);color:var(--felt-deep)}.extras{display:flex;flex-wrap:wrap;gap:.5rem}.extras.three button{flex:1}.pad .undo{justify-self:start}.result{background:var(--slate);border:2px solid var(--wire);border-radius:var(--radius);padding:1.3rem 1.5rem}.result h2{font-size:2.4rem;margin-bottom:.8rem}table{width:100%;border-collapse:collapse;margin-bottom:1.2rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid rgba(169,189,178,.25)}thead th{color:var(--muted);font-weight:500;font-size:.9rem}td{font-variant-numeric:tabular-nums}.articles{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:1rem}.articles article{background:var(--slate);border-left:5px solid var(--wire);border-radius:0 var(--radius) var(--radius) 0;padding:1rem 1.3rem}.articles time{color:var(--muted);font-size:.9rem}.articles h2{font-size:1.6rem;margin:.2rem 0 .4rem}.articles h2 a{color:var(--chalk);text-decoration:none}.articles h2 a:hover{text-decoration:underline;text-decoration-color:var(--wire)}.articles p{margin:0;color:var(--muted);max-width:65ch}.notice{margin-top:1.5rem;padding:1rem 1.2rem;background:var(--slate);border-radius:var(--radius)}.notice.error{border-left:5px solid var(--red)}.notice p{margin:0 0 .8rem}@media (max-width: 720px){.page{padding:.9rem .75rem 0}.page.setup,.page.narrow{padding-bottom:1.5rem}.topbar{padding:.6rem .75rem}.boards{grid-template-columns:1fr 1fr;gap:.5rem}.board{padding:.6rem .65rem .7rem}.who{flex-wrap:wrap;gap:.2rem}.board h2{font-size:1.15rem}.turnflag{font-size:.72rem;padding:0 .45rem}.score{font-size:3.8rem;margin:0}.route{font-size:.8rem;min-height:2.4rem;line-height:1.25}.slots{gap:.25rem;margin:.4rem 0}.slot{font-size:.8rem;padding:.2rem 0}.mini{gap:.9rem}.mini dt{font-size:.7rem}.mini dd{font-size:1.15rem}.last{font-size:.78rem;margin-top:.3rem}.statusbar{margin:.6rem 0;gap:.5rem;align-items:flex-start}.status{padding:.5rem .7rem;font-size:.95rem}.pad{position:sticky;bottom:0;z-index:5;gap:.45rem;margin:0 -.75rem;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom,0px));background:var(--felt-deep);border-top:2px solid var(--wire)}.pad .segmented{display:flex}.pad .segmented button{flex:1;padding:.5rem 0}.numbers{grid-template-columns:repeat(5,1fr);gap:.35rem}.numbers button{padding:.5rem 0;font-size:1.35rem;min-height:46px}.extras.three{flex-wrap:nowrap;gap:.35rem}.extras button:not(.btn){padding:.65rem .3rem;min-height:46px}.pad .undo{justify-self:stretch;padding:.45rem}.result{margin-bottom:1rem;padding:1rem}.result table{font-size:.85rem}.result th,.result td{padding:.4rem .3rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
