:root{--felt: #0e2a1c;--felt-light: #163c27;--felt-lighter: #1e4a30;--chalk: #f3efe3;--chalk-dim: #93a79a;--brass: #c6a250;--brass-dim: #8a7239;--red: #9c3a2c;--font-display: "Bebas Neue", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--felt);background-image:radial-gradient(circle at 50% -10%,rgba(198,162,80,.08),transparent 45%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 3px);color:var(--chalk);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button{font-family:inherit}a{color:var(--brass)}::selection{background:var(--brass);color:var(--felt)}.page{min-height:100%;display:flex;flex-direction:column}.container{width:100%;max-width:880px;margin:0 auto;padding:0 20px}.navbar{border-bottom:1px solid rgba(198,162,80,.25);padding:18px 0}.navbar-inner{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:28px;letter-spacing:.03em;color:var(--chalk);text-decoration:none}.brand-mark{width:22px;height:22px;border-radius:50%;border:2px solid var(--brass);position:relative;flex-shrink:0}.brand-mark:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:var(--brass)}.nav-user{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:13px;color:var(--chalk-dim)}.btn-link{background:none;border:none;color:var(--chalk-dim);cursor:pointer;font-family:var(--font-mono);font-size:13px;text-decoration:underline;padding:0}.btn-link:hover{color:var(--brass)}.card{background:var(--felt-light);border:1px solid rgba(198,162,80,.2);border-radius:10px;padding:24px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);margin:0 0 6px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:24px 0}.stat-tile{background:var(--felt-light);border:1px solid rgba(198,162,80,.2);border-radius:10px;padding:16px 12px;text-align:center}.stat-value{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--chalk)}.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);margin-top:6px}.dart-input-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.dart-input{background:var(--felt);border:1px solid rgba(198,162,80,.25);border-radius:8px;padding:12px}.dart-input-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.dart-input-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim)}.dart-input-points{font-family:var(--font-display);font-size:22px;color:var(--brass)}.segment-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px}.segment-btn{background:var(--felt-light);border:1px solid rgba(198,162,80,.3);color:var(--chalk);border-radius:6px;padding:0;min-height:42px;font-family:var(--font-mono);font-size:14px;font-weight:600;cursor:pointer}.segment-btn:hover:not(.active){border-color:var(--brass);color:var(--brass)}.segment-btn.active{background:var(--brass);border-color:var(--brass);color:var(--felt)}.segment-btn-miss{grid-column:span 2}.segment-btn-bull{grid-column:span 3}.ring-toggle{display:flex;gap:6px}.ring-btn{flex:1;background:var(--felt-light);border:1px solid rgba(198,162,80,.3);color:var(--chalk-dim);border-radius:6px;padding:6px 0;font-family:var(--font-mono);font-size:13px;font-weight:600;cursor:pointer}.ring-btn:hover:not(:disabled){border-color:var(--brass);color:var(--brass)}.ring-btn.active{background:var(--brass);border-color:var(--brass);color:var(--felt)}.ring-btn:disabled{opacity:.3;cursor:not-allowed}.throw-total-row{display:flex;align-items:center;gap:12px;margin-top:18px}.throw-total-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim)}.throw-total-value{font-family:var(--font-display);font-size:34px;color:var(--chalk);flex:1}.btn-primary{background:var(--brass);color:var(--felt);border:none;border-radius:8px;padding:0 28px;height:44px;font-family:var(--font-display);font-size:20px;letter-spacing:.05em;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:#d8b466}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.throw-list{list-style:none;margin:0;padding:0}.throw-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(198,162,80,.12)}.throw-row:last-child{border-bottom:none}.throw-score{font-family:var(--font-mono);font-size:18px;color:var(--chalk);width:40px;flex-shrink:0}.throw-darts{font-family:var(--font-mono);font-size:12px;color:var(--brass);flex:1}.throw-date{font-family:var(--font-mono);font-size:12px;color:var(--chalk-dim);flex-shrink:0}.throw-delete{background:none;border:none;color:var(--red);cursor:pointer;font-family:var(--font-mono);font-size:12px}.throw-delete:hover{text-decoration:underline}.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:360px;background:var(--felt-light);border:1px solid rgba(198,162,80,.25);border-radius:12px;padding:32px}.auth-title{font-family:var(--font-display);font-size:36px;margin:0 0 4px;text-align:center}.auth-subtitle{font-family:var(--font-mono);font-size:12px;color:var(--chalk-dim);text-align:center;margin:0 0 24px}.field{margin-bottom:16px}.field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);margin-bottom:6px}.field input{width:100%;background:var(--felt);border:1px solid rgba(198,162,80,.3);border-radius:6px;padding:10px 12px;color:var(--chalk);font-family:var(--font-body);font-size:14px}.field input:focus{outline:none;border-color:var(--brass)}.error-text{color:#d97757;font-size:13px;margin:-6px 0 14px;font-family:var(--font-mono)}.auth-switch{text-align:center;margin-top:18px;font-size:13px;color:var(--chalk-dim)}.section-title{font-family:var(--font-display);font-size:22px;letter-spacing:.03em;margin:0 0 12px;color:var(--chalk)}.session-list{list-style:none;margin:0;padding:0}.session-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(198,162,80,.12);cursor:pointer;font-family:var(--font-mono);font-size:13px}.session-row:last-child{border-bottom:none}.session-row:hover .session-date{color:var(--brass)}.session-date{color:var(--chalk);flex:1}.session-count{color:var(--chalk-dim)}.session-avg{color:var(--brass);width:78px}.session-best{color:var(--chalk-dim);width:70px;text-align:right}.session-progress{display:flex;align-items:center;gap:12px;margin-bottom:20px}.session-progress-track{flex:1;height:8px;background:var(--felt-light);border-radius:4px;overflow:hidden;border:1px solid rgba(198,162,80,.2)}.session-progress-fill{height:100%;background:var(--brass);transition:width .2s ease}.session-progress-label{font-family:var(--font-mono);font-size:13px;color:var(--chalk-dim);white-space:nowrap}.empty-note{color:var(--chalk-dim);font-size:14px;font-family:var(--font-mono)}@media (max-width: 560px){.stats-row{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:32px}.dart-input-row{grid-template-columns:1fr}.throw-row{flex-wrap:wrap}.throw-darts{width:100%}.session-row{flex-wrap:wrap}.session-count,.session-avg,.session-best{width:auto}}
