:root{--bg:#fffef0;--ink:#0a0a0a;--surface:#fff;--yellow:#ffe600;--magenta:#ff3ea5;--cyan:#00c2cb;--purple:#7b2fbe;--green:#00c853;--orange:#ff6b35;--pastel-yellow:#ffdb58;--pastel-cyan:#87ceeb;--pastel-pink:pink;--pastel-green:#bafca2;--pastel-purple:#c4a1ff;--pastel-orange:#ffa07a;--body:#333;--meta:#666;--border:3px solid var(--ink);--radius:4px;--shadow:5px 5px 0 var(--ink);--s-4:4px;--s-8:8px;--s-12:12px;--s-16:16px;--s-24:24px;--s-32:32px;--s-48:48px;--s-64:64px;--s-96:96px;--font:"Space Grotesk","Inter",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3{color:var(--ink);margin:0}.display{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(40px,6vw,72px);font-weight:900;line-height:.95}.h2{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1}.h3{letter-spacing:-.02em;font-size:clamp(20px,2.5vw,28px);font-weight:800}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--meta);font-size:12px;font-weight:700}p{color:var(--body)}a{color:inherit}.section-tag{display:inline-block;background:var(--ink);color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;margin-bottom:16px;padding:5px 14px;font-size:11px;font-weight:700}.btn{display:inline-flex;justify-content:center;align-items: center;gap:var(--s-8);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font);letter-spacing:.02em;cursor:pointer;background:var(--surface);color:var(--ink);text-decoration:none;padding:12px 24px;transition:transform .1s,box-shadow .1s;font-size:15px;font-weight:700}.btn:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover){.btn:not(:disabled):hover{box-shadow:3px 3px 0 var(--ink);transform:translate(2px,2px)}}.btn:not(:disabled):active{box-shadow:0 0 0 var(--ink);transform:translate(5px,5px)}.btn--primary{background:var(--yellow)}.btn--dark{background:var(--ink);color:#fff}.btn--cyan{background:var(--cyan)}.btn--magenta{background:var(--magenta);color:#fff}.btn--green{background:var(--green);color:#fff}.btn--sm{box-shadow:3px 3px 0 var(--ink);padding:8px 14px;font-size:13px}@media (hover:hover){.btn--sm:not(:disabled):hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}}.btn--block{width:100%}.card{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;transition:transform .15s,box-shadow .15s}@media (hover:hover){.card--interactive:hover{box-shadow:8px 8px 0 var(--ink);cursor:pointer;transform:translate(-3px,-3px)}}.card--dark{background:var(--ink);color:#fff}.input{border:var(--border);border-radius:var(--radius);background:var(--surface);font-family:var(--font);color:var(--ink);outline:none;width:100%;padding:12px 16px;font-size:15px;font-weight:500}.input:focus{box-shadow:4px 4px 0 var(--ink)}.input.error{border-color:var(--magenta);box-shadow:4px 4px 0 var(--magenta)}.badge{display:inline-flex;border:var(--border);border-radius:var(--radius);box-shadow:3px 3px 0 var(--ink);letter-spacing:.04em;text-transform:uppercase;align-items: center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700}.navbar{position:sticky;z-index:50;background:var(--surface);border-bottom:var(--border);display:flex;align-items: center;gap:var(--s-16);padding:0 var(--s-24);height:60px;top:0}.logo-mark{display:inline-flex;background:var(--yellow);border:var(--border);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items: center;width:36px;height:36px;font-size:18px;font-weight:900}.brand{letter-spacing:-.02em;text-transform:uppercase;font-size:18px;font-weight:900}.container{padding:0 var(--s-24);width:100%;max-width:1120px;margin:0 auto}.section{padding-top:var(--s-64);padding-bottom:var(--s-64)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items: center}.wrap{flex-wrap:wrap}.grow,.spacer{flex:1}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-12)}@media (max-width:860px){.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.bento-grid{grid-template-columns:1fr}}.table-scroll{overflow-x:auto;border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface)}table.scoreboard{border-collapse:collapse;width:100%;min-width:480px}table.scoreboard th,table.scoreboard td{border:2px solid var(--ink);text-align:center;padding:10px 12px}table.scoreboard thead th{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px}table.scoreboard tbody tr:nth-child(2n) td{background:#fffef0}table.scoreboard .round-label{background:var(--pastel-yellow);font-weight:800}table.scoreboard tfoot td{background:var(--surface);font-size:18px;font-weight:900}table.scoreboard tfoot td.total-label{background:var(--ink);color:#fff;text-transform:uppercase;font-size:13px}table.scoreboard tfoot td.leader{background:var(--green);color:#fff}.cell-input{border:2px solid var(--ink);border-radius:var(--radius);font-family:var(--font);text-align:center;background:var(--surface);color:var(--ink);outline:none;width:64px;padding:6px 8px;font-size:15px;font-weight:700}.cell-input:focus{box-shadow:3px 3px 0 var(--ink)}.check{display:inline-flex;background:var(--green);border:2px solid var(--ink);color:#fff;border-radius:2px;flex-shrink:0;justify-content:center;align-items: center;width:18px;height:18px;font-size:12px;font-weight:900}.footer{background:var(--ink);color:#ffffff8c;padding:var(--s-48)var(--s-24);margin-top:auto}.footer a{color:#ffffff8c;text-decoration:none}@media (hover:hover){.footer a:hover{color:#fff}}.footer .brand{color:#fff}.footer-sep{margin:var(--s-24)0 var(--s-16);border:none;border-top:1px solid #ffffff26}@media (max-width:760px){.section{padding-top:var(--s-48);padding-bottom:var(--s-48)}main.section{padding-top:var(--s-48);padding-bottom:var(--s-48);margin-top:var(--s-24);margin-bottom:var(--s-24)}.container{padding:0 20px}.card{padding:20px}}@media (max-width:680px){.hide-mobile{display:none!important}}
