:root{--bg: #0b0b0d;--surface: #18181c;--surface-hi: #232329;--accent: #ff6a00;--text-hi: #f2f2f4;--text-lo: #9a9aa2;--good: #35c759;--bad: #ff5277;--stroke: rgba(255, 255, 255, .08);--radius: 18px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-hi);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1100px;margin:0 auto;padding:24px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.brand{font-weight:800;font-size:30px;letter-spacing:-.5px}.brand span{color:var(--accent)}.brand em{font-style:normal;font-size:13px;letter-spacing:3px;color:var(--text-lo);margin-left:8px}.kidForm{display:flex;gap:8px}.input{background:var(--surface);border:1px solid var(--stroke);color:var(--text-hi);padding:11px 14px;border-radius:12px;font-size:15px;outline:none;min-width:200px}.input:focus{border-color:var(--accent)}.btn{background:var(--accent);color:var(--bg);border:none;padding:11px 20px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer}.btn:active{transform:scale(.97)}.ghostBtn{background:var(--surface);color:var(--text-lo);border:1px solid var(--stroke);padding:11px 16px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer}.ghostBtn:hover{color:var(--text-hi);border-color:#ffffff2e}.signin{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:18vh}.signin .btn{padding:14px 28px;font-size:16px}.banner{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:12px 16px;margin-bottom:16px;color:var(--text-lo);font-size:14px}.banner.error{border-color:var(--bad);color:#ff8fa3}.banner code{color:var(--accent)}.layout{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}@media(max-width:760px){.layout{grid-template-columns:1fr}}.gameList{display:flex;flex-direction:column;gap:10px}.gameCard{text-align:left;background:var(--surface);border:1px solid var(--stroke);border-radius:16px;padding:14px 16px;cursor:pointer;color:var(--text-hi);transition:border-color .15s ease,transform .05s ease}.gameCard:hover{border-color:#ffffff2e}.gameCard.active{border-color:var(--accent)}.gameCard:active{transform:scale(.99)}.gameCardTop{display:flex;justify-content:space-between;align-items:center}.sport{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-lo);font-weight:700}.liveTag{font-size:10px;font-weight:800;color:var(--bg);background:var(--accent);padding:2px 7px;border-radius:999px;letter-spacing:1px}.gameCardTitle{font-size:19px;font-weight:800;margin-top:4px}.main{min-height:320px}.empty{display:grid;place-items:center;min-height:320px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius)}.detailHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.detailTitle{font-size:32px;font-weight:800;margin:0 0 4px}.statusTag{font-size:11px;font-weight:800;letter-spacing:1px;padding:5px 10px;border-radius:999px;background:var(--surface-hi);color:var(--text-lo);white-space:nowrap}.statusTag.logging{background:var(--accent);color:var(--bg)}.statusTag.completed{color:var(--good)}.statGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:28px}.stat{background:var(--surface);border:1px solid var(--stroke);border-radius:16px;padding:16px}.statValue{font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.statLabel{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-lo);margin-top:8px;font-weight:700}.sectionTitle{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--text-lo);margin:0 0 12px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tapRow{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--stroke);border-left:4px solid var(--accent);border-radius:12px;padding:12px 16px}.tapTime{font-variant-numeric:tabular-nums;font-weight:800;min-width:52px}.tapBadge{font-size:12px;font-weight:800;color:var(--bg);padding:3px 10px;border-radius:999px}.tapNote{color:var(--text-lo);font-size:14px}.muted{color:var(--text-lo)}.small{font-size:13px}.muted.small{margin-top:4px}
