:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12150f;--panel:#1a1f16;--panel-2:#22281c;--panel-3:#2b3323;--input:#0f120c;--text:#e8ecd9;--muted:#a8b093;--muted-2:#7d8a6c;--border:#35402c;--border-strong:#4d5c3f;--accent:#c4d46a;--accent-dim:#2a3218;--good:#7dce6a;--bad:#ff6b6b;--warn:#e6b84d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.4}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%, #24301a 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #1c2414 0%, transparent 50%), var(--bg);color:var(--text);margin:0}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button,input{touch-action:manipulation}.app{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.header{margin-bottom:1rem}.header-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.header h1{letter-spacing:.02em;color:var(--accent);margin:0;font-size:clamp(1.45rem,4vw,1.9rem);font-weight:700}.blurb{color:var(--muted);max-width:70ch;margin:.5rem 0 .75rem;font-size:.92rem;line-height:1.45}.meta-row{color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;gap:.35rem .5rem;font-size:.78rem;display:flex}.dot{opacity:.5}.badge{letter-spacing:.06em;border:1px solid var(--border);background:var(--panel);border-radius:999px;flex-shrink:0;padding:.35rem .7rem;font-size:.72rem;font-weight:700}.badge.pending{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.sticky-summary{z-index:10;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-bottom:1.1rem;padding:.85rem 1rem;position:sticky;top:0;box-shadow:0 8px 24px #00000059}.stage-nav{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stage-focus{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.1rem;min-width:0;display:flex}.stage-focus-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);font-size:.68rem}.stage-focus strong{color:var(--accent);font-size:1.05rem}.stage-focus-meta{color:var(--muted);font-size:.78rem}.stage-pills{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.7rem;display:flex}.stage-pill{border:1px solid var(--border);background:var(--panel-2);width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:8px;font-size:.85rem;font-weight:700}.stage-pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.stage-pill.done:not(.active){color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, var(--border))}.pending-hint{color:var(--warn);text-align:center;margin:.55rem 0 0;font-size:.82rem}.pending-hint.good{color:var(--good)}.actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.btn{appearance:none;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--panel-3);border-color:var(--border-strong)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.btn.step{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.sidebar{flex-direction:column;gap:.85rem;display:flex;position:sticky;top:9.5rem}.sidebar-block{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:.75rem}.sidebar-block h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:0 0 .55rem;font-size:.75rem}.add-row{gap:.4rem;display:flex}.add-row input{border:1px solid var(--border);background:var(--input);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.45rem .55rem}.leaderboard{flex-direction:column;gap:.25rem;max-height:min(52vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.leaderboard li{border-radius:6px;grid-template-columns:1.4rem minmax(0,1fr) auto auto;align-items:center;gap:.35rem;padding:.3rem .35rem;font-size:.82rem;display:grid}.leaderboard li:nth-child(odd){background:color-mix(in srgb, var(--panel-2) 70%, transparent)}.lb-rank{color:var(--muted-2);font-variant-numeric:tabular-nums}.lb-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.lb-score{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.lb-status{letter-spacing:.04em;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .35rem;font-size:.68rem;font-weight:800}.lb-status.pass{color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, transparent)}.lb-status.fail{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.lb-status.pending{color:var(--warn)}.stage-panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;min-width:0;overflow:hidden}.stage-panel-head{border-bottom:1px solid var(--border);background:var(--panel-2);justify-content:space-between;gap:1rem;padding:.9rem 1rem;display:flex}.stage-panel-head h2{margin:0;font-size:1.1rem}.stage-desc{color:var(--muted);margin:.35rem 0 0;font-size:.88rem;line-height:1.4}.stage-limits{color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.75rem;font-weight:650;display:flex}.shooter-list{flex-direction:column;max-height:min(70vh,820px);display:flex;overflow:auto}.shooter-card{border-bottom:1px solid var(--border)}.shooter-card:last-child{border-bottom:none}.shooter-card.complete{background:color-mix(in srgb, var(--good) 6%, transparent)}.shooter-card.fail{background:color-mix(in srgb, var(--bad) 7%, transparent)}.shooter-card-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.65rem .85rem;display:grid}.shooter-card-head:hover{background:color-mix(in srgb, var(--panel-3) 50%, transparent)}.dot-status{background:var(--warn);border-radius:50%;width:.65rem;height:.65rem}.dot-status.ok{background:var(--good)}.dot-status.todo{background:var(--warn)}.shooter-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.shooter-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.chevron{color:var(--muted-2);font-size:.85rem}.shooter-card-body{gap:.85rem;padding:0 .85rem .9rem 1.9rem;display:grid}.rename-field{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.rename-field>span{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.rename-field input{border:1px solid var(--border);background:var(--input);min-width:120px;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.4rem .55rem}.times h3,.hits h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:0 0 .45rem;font-size:.75rem}.hits h3 small{letter-spacing:0;text-transform:none;color:var(--muted);font-weight:500}.time-inputs{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.55rem;display:grid}.field{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:.2rem .35rem;display:grid}.field>span:first-child{color:var(--muted);grid-column:1/-1;font-size:.78rem}.field input,.stepper input{border:1px solid var(--border);background:var(--input);width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;border-radius:8px;padding:.45rem .5rem}.field input:focus,.stepper input:focus,.add-row input:focus,.rename-field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px;border-color:var(--accent)}.field .unit{color:var(--muted);font-size:.85rem}.time-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.45rem;font-size:.88rem;display:flex}.time-summary strong{color:var(--text);font-variant-numeric:tabular-nums}.pill{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:.12rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.pill.pass{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent);background:color-mix(in srgb, var(--good) 12%, transparent)}.pill.fail{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 12%, transparent)}.hit-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.hit-control{flex-direction:column;gap:.3rem;display:flex}.hit-label{font-size:.8rem;font-weight:600}.hit-label em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:500}.stepper{align-items:center;gap:.25rem;display:flex}.stepper input{text-align:center;padding:.4rem .2rem;font-weight:650}.hit-hint{margin:.4rem 0 0;font-size:.8rem}.hit-hint.warn{color:var(--warn)}.stage-score-row{border-top:1px dashed var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.55rem;font-size:.9rem;display:flex}.stage-status{letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.stage-status.pass{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent);background:color-mix(in srgb, var(--good) 12%, transparent)}.stage-status.fail{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 12%, transparent)}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:2rem;padding-top:1rem;font-size:.85rem;line-height:1.45}.footer p{margin:0 0 .4rem}.disclaimer{color:var(--muted-2);font-size:.78rem}@media (width<=860px){.layout{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr;gap:.75rem;display:grid;position:static}.shooter-list{max-height:none}.shooter-card-head{grid-template-columns:auto minmax(0,1fr) auto}.shooter-meta{white-space:normal;grid-column:2}.chevron{grid-row:1/span 2}}@media (width<=640px){.sidebar{grid-template-columns:1fr}.stage-nav{flex-wrap:wrap}.hit-row{grid-template-columns:1fr}.stage-panel-head{flex-direction:column}.stage-limits{flex-direction:row;align-items:center;gap:.75rem}.header-top{flex-direction:column}.shooter-card-body{padding-left:.85rem}}@media print{:root{--bg:#fff;--panel:#fff;--panel-2:#f7f7f7;--panel-3:#eee;--input:#fff;--text:#111;--muted:#444;--muted-2:#666;--border:#ccc;--border-strong:#999;--accent:#1a4d2e;--accent-dim:#e8f0eb;--good:#146c2e;--bad:#a11;--warn:#8a5a00}body{color:#111;background:#fff}.app{max-width:none;padding:0}.sticky-summary{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.no-print{display:none!important}.sidebar{position:static}.shooter-list{max-height:none;overflow:visible}.shooter-card-body{display:grid!important}}
