:root{--bg:#f4f2eb;--ink:#182d33;--muted:#69736f;--line:#d8dcd2;--orange:#ff925f;--blue:#8cc8ed;--purple:#c4a5f4;--green:#d8f275}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6b65d8;outline-offset:5px}.top{height:90px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-size:17px;font-weight:900;letter-spacing:1px}.brandmark{background:var(--ink);color:var(--green);border-radius:8px;width:31px;height:31px;display:grid;place-items:center;font-size:26px}.brand-dot{align-self:flex-start;font-size:10px;margin:3px 0 0 -5px}.edition,.vol{font:10px monospace;letter-spacing:1.4px}.edition{display:flex;align-items:center;gap:9px}.edition span{width:7px;height:7px;background:#7b9864;border-radius:50%}.vol{color:var(--muted)}main{max-width:1340px;margin:auto;padding:45px 5% 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.eyebrow{font:10px monospace;letter-spacing:2px;margin-bottom:15px}h1{font-size:clamp(38px,4.4vw,64px);font-weight:800;letter-spacing:-3px;line-height:1.1;margin:0}.title-dot{color:#ee8057}.intro p{color:var(--muted);font-size:15px;margin:16px 0 0}.stamp{font:10px monospace;line-height:1.5;text-align:center;transform:rotate(8deg);border:1px solid #acb6a3;border-radius:50%;width:112px;height:112px;display:flex;align-items:center;justify-content:center;flex-direction:column}.stamp strong{font-size:10px}.stamp span{font-size:28px;line-height:1}.game-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:28px;align-items:start}.arena-panel{background:#142b35;color:#c3cecd;border-radius:20px;overflow:hidden;border:1px solid #2c4249}.arena-top,.arena-bottom{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;font:10px monospace;letter-spacing:1px}.live-label{display:flex;align-items:center;gap:8px}.live-label i{width:6px;height:6px;background:var(--green);border-radius:50%}.live-label.running i{box-shadow:0 0 0 4px #d8f27518}.round{color:#819598}.canvas-wrap{position:relative;margin:0 6px;aspect-ratio:1}canvas{display:block;width:100%;height:100%}.arena-bottom{padding-top:5px;font-size:9px;letter-spacing:.8px}.arena-bottom #elapsed{font-size:15px;color:#f0f3e9}.start-card,.winner-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#f4f2ebf5;color:var(--ink);padding:27px 29px;border-radius:17px;box-shadow:0 15px 70px #0004;text-align:center;width:80%;max-width:340px;backdrop-filter:blur(12px);border:1px solid #fff}.tiny{font:9px monospace;letter-spacing:1.5px}.start-card h2,.winner-card h2{font-size:26px;letter-spacing:-1px;margin:14px 0 10px}.start-card p,.winner-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 22px}.primary{border:0;background:var(--green);color:var(--ink);padding:15px 18px;border-radius:9px;font-weight:bold;width:100%;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#c8e75f}.primary span{font-size:23px;line-height:16px}.winner-card{border:2px solid #d9ba5a}.winner-icon{width:76px;height:76px;background:#f3df95;border-radius:50%;display:grid;place-items:center;margin:18px auto 0}.winner-icon svg{width:45px;height:45px}.pause-shade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#142b3580;backdrop-filter:blur(3px);font-size:62px;color:var(--green);border-radius:50%}.pause-shade span{font:12px monospace;letter-spacing:4px}.hidden{display:none!important}aside{display:flex;flex-direction:column;gap:20px}.standings,.controls{border:1px solid var(--line);border-radius:17px;padding:24px;background:#fbfaf5}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-head h2{font-size:17px;margin:0;letter-spacing:-.5px}.section-head>span:not(.control-star){font:9px monospace;letter-spacing:1px;border:1px solid var(--line);border-radius:4px;padding:4px 6px;color:#6a7e64}.small{font-size:12px;color:var(--muted);margin:10px 0 22px}.team{margin-bottom:20px}.team-main{display:flex;align-items:center;gap:12px}.team-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.team-icon svg{width:27px;height:27px}.scissors{--team:var(--orange)}.rock{--team:var(--blue)}.paper{--team:var(--purple)}.team-icon{background:var(--team)}.team h3{font-size:14px;margin:0 0 4px}.team-main div>span{font-size:11px;color:var(--muted)}.team strong{margin-left:auto;font-size:29px;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.track{height:4px;margin-top:11px;background:#e9eae3;border-radius:3px;overflow:hidden}.track>div{height:100%;background:var(--team);transition:width .2s}.population{height:9px;display:flex;overflow:hidden;border-radius:3px;margin:24px 0 18px}.population div{width:33.333%;transition:width .2s}#pop1{background:var(--orange)}#pop0{background:var(--blue)}#pop2{background:var(--purple)}.stat-line{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.stat-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.controls{padding:21px 24px}.control-star{font-size:24px;color:#73905c}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0 20px}.buttons button{padding:12px 8px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:17px}.buttons button span{font-size:12px;font-weight:bold;margin-left:6px}.buttons button:hover:enabled{background:#eaede2}.buttons button:disabled{opacity:.4;cursor:default}.speed-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.speed-row output{font-weight:bold}input[type=range]{width:100%;accent-color:var(--ink);cursor:pointer;height:5px;margin:5px 0 12px}.range-labels{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px;color:var(--muted)}.how{display:flex;gap:12px;padding:0 4px}.how-number{border:1px solid #aab59f;flex-shrink:0;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:12px}.how h3{font-size:12px;margin:3px 0 8px}.how p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}footer{margin-top:35px;padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:var(--muted)}@media(min-width:1300px){main{padding-top:55px}.game-layout{gap:36px}aside{gap:23px}.standings{padding:28px}.team{margin-bottom:25px}.controls{padding:24px 28px}}@media(max-width:850px){.top{height:70px}.vol{display:none}.edition{font-size:8px}.game-layout{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:18px}.stamp{display:none}h1{letter-spacing:-2px}.standings,.controls{padding:18px}.team{margin-bottom:16px}.small{line-height:1.6}.arena-top,.arena-bottom{padding:18px 16px;font-size:8px}.section-head h2{font-size:15px}}@media(max-width:640px){.edition{font-size:7px;letter-spacing:.4px}.brand{font-size:14px}.brandmark{width:27px;height:27px}main{padding:30px 4% 0}.intro{margin-bottom:25px}h1{font-size:39px;letter-spacing:-2.3px}.eyebrow{font-size:8px}.intro p{font-size:12px;margin-top:12px}.game-layout{grid-template-columns:1fr;gap:20px}.arena-panel{border-radius:16px}.arena-top{padding:18px 20px 7px}.arena-bottom{padding:4px 20px 17px}aside{gap:18px}.standings{padding:21px}.team{margin-bottom:18px}.controls{padding:21px}.section-head h2{font-size:17px}.small{margin-bottom:19px}.team-main{gap:13px}.how{padding:3px 5px 0}footer{font-size:7px;gap:20px;line-height:1.7;margin-top:25px}.start-card,.winner-card{padding:23px;max-width:290px}.start-card h2,.winner-card h2{font-size:23px}}

/* Permanent dark theme across the game, controls, overlays and win totals. */
:root{color-scheme:dark;--bg:#0d131b;--ink:#edf2f3;--muted:#a7b4bb;--line:#2d3a46;--surface:#17212c}
body{background:var(--bg)}
.brandmark{background:#22382f;color:var(--green)}
.edition span{background:#93bc78}
.stamp{border-color:#435747;color:#bbcebd}
.arena-panel{background:#142530;border-color:#30414f}
html .standings,html .controls,html .win-total{background:var(--surface)}
.track{background:#2b3946}
.section-head>span:not(.control-star){color:#b7d5a5;border-color:#3e5541}
.control-star{color:#a4c58a}
.how-number{border-color:#586e58;color:#c3d5bd}
.start-card,.winner-card{background:#192530f5;color:var(--ink);box-shadow:0 15px 70px #0008;border-color:#3d4d58}
.winner-card{border-color:#d9ba5a}
.primary,.buttons button,.sound-toggle{background:#237d44;border-color:#237d44;color:#fff}
.primary:hover,.buttons button:hover:enabled,.sound-toggle:hover{background:#1c6939}
.buttons button:disabled{background:#237d44}
.sound-toggle[aria-pressed="false"]{background:transparent;color:var(--ink);border-color:var(--line)}
input[type=range]{accent-color:#8dbb7e}
::selection{background:#4d6c52;color:#fff}

/* Bare object symbols in the legend and winning presentation. */
.team-icon{background:transparent;border-radius:0}.team-icon svg{width:34px;height:34px}.winner-icon{background:transparent;border-radius:0}.winner-icon svg{width:76px;height:76px}

/* Oles arena: the green play control stays above the circle. */
.sound-toggle{align-self:flex-start;border:1px solid #278b4c;background:#278b4c;color:white;border-radius:8px;padding:10px 14px;font-size:12px}.sound-toggle[aria-pressed="false"]{background:transparent;color:var(--ink);border-color:var(--line)}
h1{font-size:clamp(34px,4.3vw,58px);max-width:950px;letter-spacing:-2px}.intro{gap:20px}.stamp{flex-shrink:0}
.arena-actions{padding:0 25px 6px;display:flex;justify-content:center}.arena-actions .primary{max-width:330px;min-height:50px}
.primary,.buttons button{background:#278b4c;color:#fff;border-color:#278b4c}.primary:hover,.buttons button:hover:enabled{background:#1c723c}.buttons button:disabled{background:#278b4c}
.alltime{margin:32px 0 35px;padding-top:24px;border-top:1px solid var(--line)}.alltime-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.alltime-heading .eyebrow{font-size:9px;margin-bottom:8px}.alltime h2{font-size:28px;letter-spacing:-1px;margin:0}.alltime-heading>span{font-size:12px;color:var(--muted)}.alltime-heading>span strong{color:var(--ink)}.alltime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.win-total{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-top:3px solid var(--team);border-radius:12px;background:#fbfaf5;padding:22px 18px}.win-total h3{font-size:15px;margin:0 0 6px}.win-total div>span{font-size:10px;color:var(--muted)}.win-total strong{font-size:32px;margin-left:auto;font-variant-numeric:tabular-nums}.alltime>p{font-size:11px;color:var(--muted);margin:15px 0 0;line-height:1.7}
@media(max-width:640px){h1{font-size:38px;letter-spacing:-1.7px}.arena-actions{padding:12px 20px 4px}.arena-actions .primary{max-width:none}.alltime-grid{grid-template-columns:1fr;gap:10px}.win-total{padding:17px 20px}.alltime-heading{align-items:end}.alltime-heading>span{font-size:10px;text-align:right}.alltime-heading .eyebrow{font-size:8px}}
