:root{--ink: #0c0e09;--surface: #14170e;--line: #2b301d;--bone: #f2f4e8;--moss: #9aa385;--acid: #c8f542;--ember: #ff4d2e;--display: "Anton", sans-serif;--sans: "Archivo", sans-serif;--mono: "IBM Plex Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--ink);color:var(--bone);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.logotype{font-family:var(--display);font-size:1.5rem;color:var(--acid);text-decoration:none}.topbar-user{display:flex;align-items:center;gap:1rem;font-family:var(--mono);font-size:.8rem}.shell{max-width:26rem;margin:0 auto;padding:3rem 1.5rem}.shell-wide{max-width:48rem;margin:0 auto;padding:3rem 1.5rem}h1.title{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:2.2rem;line-height:1.05}.subtitle{margin-top:.5rem;color:var(--moss)}form.card,.card{margin-top:2rem;background:var(--surface);border:1px solid var(--line);padding:1.75rem}label.field{display:block;margin-bottom:1.1rem}label.field span{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:.3rem}label.field input{width:100%;padding:.7rem .9rem;background:var(--ink);border:1px solid var(--line);color:var(--bone);font-family:var(--sans);font-size:1rem}label.field input:focus{outline:none;border-color:var(--acid)}.pw-wrap{position:relative}.pw-wrap input{padding-right:4.8rem}.pw-toggle{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);background:var(--line);border:1px solid var(--line);cursor:pointer;padding:.35rem .6rem;font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bone)}.pw-toggle:hover{border-color:var(--acid);color:var(--acid)}.pw-toggle[aria-pressed=true]{background:var(--acid);border-color:var(--acid);color:var(--ink)}fieldset.dob{border:none;margin-bottom:1.1rem}.dob-legend{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:.3rem;padding:0}.dob-grid{display:grid;grid-template-columns:4.5rem 1fr 6rem;gap:.6rem}.dob-part span{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:.25rem}.dob-part input,.dob-part select{width:100%;padding:.7rem .6rem;background:var(--ink);border:1px solid var(--line);color:var(--bone);font-family:var(--sans);font-size:1rem}.dob-part input{text-align:center}.dob-part input:focus,.dob-part select:focus{outline:none;border-color:var(--acid)}.dob-part select:invalid{color:var(--moss)}.btn{display:inline-block;width:100%;padding:.9rem 1.5rem;border:none;cursor:pointer;background:var(--acid);color:var(--ink);font-family:var(--display);text-transform:uppercase;font-size:1.1rem;letter-spacing:.02em;transition:transform .15s,box-shadow .15s;text-align:center;text-decoration:none}.btn:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--ember)}.btn:disabled{opacity:.6;transform:none;box-shadow:none;cursor:default}.btn-ghost{background:transparent;color:var(--moss);border:1px solid var(--line);width:auto;font-family:var(--mono);font-size:.75rem;padding:.45rem .9rem;letter-spacing:.1em}.btn-ghost:hover{color:var(--bone);box-shadow:none}.error{margin:.75rem 0 0;color:var(--ember);font-family:var(--mono);font-size:.85rem}.success{margin:.75rem 0 0;color:var(--acid);font-family:var(--mono);font-size:.85rem}.links{margin-top:1.25rem;font-size:.9rem;color:var(--moss);display:flex;gap:1.25rem;flex-wrap:wrap}.links a{color:var(--bone)}.banner{margin-top:1.5rem;border:1px dashed var(--ember);padding:1rem 1.25rem;font-family:var(--mono);font-size:.8rem;color:var(--bone);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.t-list{list-style:none;margin-top:1rem}.t-list li{border-bottom:1px solid var(--line)}.t-list li:last-child{border-bottom:none}.t-row{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:space-between;align-items:baseline;padding:.8rem 0;text-decoration:none;color:var(--bone)}.t-row:hover .t-name{color:var(--acid)}.t-name{font-family:var(--display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.02em}.t-meta{font-size:.8rem;color:var(--moss)}.t-meta b{color:var(--bone);font-weight:600}.t-meta b.acid{color:var(--acid)}.t-meta em{font-style:normal;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em}.t-meta em.acid{color:var(--acid)}.t-meta em.ember{color:var(--ember)}.card-title{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:1.6rem}.practice-actions{margin-top:1.25rem;display:grid;gap:1rem;grid-template-columns:1fr}.practice-actions>*{min-width:0}@media(min-width:560px){.practice-actions{grid-template-columns:1fr 1fr;align-items:start}}.join-form{display:flex;gap:.6rem}.code-input{flex:1;min-width:0;padding:.7rem .9rem;background:var(--ink);border:1px solid var(--line);color:var(--bone);font-family:var(--mono);font-size:1rem;letter-spacing:.3em;text-transform:uppercase}.code-input:focus{outline:none;border-color:var(--acid)}.join-form .btn{width:auto;padding:.7rem 1.4rem;font-size:1rem}.lobby-wait{margin-top:1.25rem;text-align:center}.lobby-code{display:inline-block;max-width:100%;box-sizing:border-box;padding:.6rem 1rem .6rem 1.4rem;border:2px dashed var(--acid);font-family:var(--mono);color:var(--acid);font-size:clamp(1.2rem,5.5vw,2rem);letter-spacing:clamp(.18em,2.2vw,.5em);text-indent:clamp(.18em,2.2vw,.5em)}.arena{max-width:34rem}.scoreline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.fighter{text-align:right}.fighter.you{text-align:left}.fighter-name{display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}.fighter-score{font-family:var(--display);font-size:3.2rem;line-height:1}.fighter.you .fighter-score{color:var(--acid)}.vs{font-family:var(--display);font-size:1.4rem;color:var(--ember)}.arena-status{margin-top:1.5rem;color:var(--moss)}.round{margin-top:1.5rem;border:1px solid var(--line);background:var(--surface);padding:1.5rem}.round-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.8rem;letter-spacing:.15em;color:var(--moss)}.clock{font-weight:600;color:var(--bone);font-size:1rem}.clock-hot{color:var(--ember)}.hands-row{margin-top:1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.hand-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.1rem .5rem;background:var(--ink);border:1px solid var(--line);cursor:pointer;color:var(--bone);font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;transition:transform .1s,border-color .1s}.hand-btn span{font-size:2.4rem}.hand-btn:hover{border-color:var(--acid);transform:translateY(-3px)}.result{text-align:center}.history{margin-top:2rem}.history-title{font-family:var(--mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--moss)}.history-list{margin-top:.6rem;list-style:none}.history-list li{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.round-n{color:var(--moss)}.throws{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.vs-sep{font-style:normal;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:var(--moss)}.no-throw{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;color:var(--moss);border:1px dashed var(--line);padding:.15rem .4rem;white-space:nowrap}.void-row{grid-column:2 / -1;color:var(--moss);font-size:.85rem}.history-list .acid{color:var(--acid);font-family:var(--mono);font-size:.75rem;letter-spacing:.1em}.history-list .ember{color:var(--ember);font-family:var(--mono);font-size:.75rem;letter-spacing:.1em}.history-list .moss{color:var(--moss);font-family:var(--mono);font-size:.75rem;letter-spacing:.1em}.stat-grid{margin-top:2rem;display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.stat{background:var(--surface);padding:1.25rem 1.5rem}.stat dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}.stat dd{font-family:var(--display);font-size:1.6rem;margin-top:.25rem;overflow-wrap:anywhere}.stat dd.acid{color:var(--acid)}
