*{box-sizing:border-box;margin:0;padding:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:root{--black:var(--tsb-bg);--dark:var(--tsb-bg-raised);--card:var(--tsb-surface);--red:var(--tsb-red);--red2:var(--tsb-red-bright);--blue:var(--tsb-blue);--gold:var(--tsb-gold);--green:var(--tsb-green);--text:var(--tsb-text);--muted:var(--tsb-muted);--border:var(--tsb-line)}body{background:var(--black);color:var(--text);font-family:var(--tsb-body,ui-sans-serif,system-ui,sans-serif);min-height:100vh}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hero{background:0 0;border:0;padding:clamp(22px,3vw,36px) 24px 0}.hero-inner{border:1px solid var(--tsb-line);border-radius:var(--tsb-radius-lg);max-width:1120px;box-shadow:var(--tsb-shadow);background:linear-gradient(145deg,#1b1e23f5,#101215fc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:clamp(20px,3vw,30px);display:flex}.hero-title{font-family:var(--tsb-display,"Orbitron",sans-serif);letter-spacing:-.6px;color:#fff;margin:0;font-size:clamp(1.45rem,3vw,2.15rem);font-weight:800}.hero-title span{color:var(--red2)}.type-toggle{border:1px solid var(--border);background:#0000002e;border-radius:9px;display:flex;overflow:hidden}.type-btn{min-height:36px;font-family:var(--tsb-body,ui-sans-serif,sans-serif);letter-spacing:.4px;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 15px;font-size:.72rem;font-weight:700;transition:background .2s,color .2s}.type-btn.active{background:var(--red);color:#fff}.date-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.date-label{color:var(--muted);letter-spacing:.6px;font-size:.64rem;font-family:var(--tsb-body,ui-sans-serif,sans-serif);text-transform:uppercase;font-weight:700}.date-input{color:#fff;min-height:36px;font-family:var(--tsb-body,ui-sans-serif,sans-serif);color-scheme:dark;background:#0000002e;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:0 11px;font-size:.78rem}.date-input:focus{border-color:#cc000080}.date-display{color:var(--muted);font-size:12px;font-style:italic}.steps{border:1px solid var(--tsb-line);scrollbar-width:none;z-index:90;backdrop-filter:blur(12px);background:#12151aeb;border-radius:12px;width:min(1120px,100% - 48px);margin:14px auto 0;padding:4px;display:flex;position:sticky;top:10px;overflow-x:auto;box-shadow:0 12px 26px #0003}.steps::-webkit-scrollbar{display:none}.step-tab{letter-spacing:.3px;text-transform:none;min-height:42px;color:var(--muted);cursor:pointer;white-space:nowrap;font-size:.68rem;font-weight:700;font-family:var(--tsb-body,ui-sans-serif,sans-serif);background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 14px;transition:color .2s,background .2s;display:flex}.step-tab:hover{color:#fff}.step-tab.active{color:#fff;box-shadow:inset 0 0 0 1px var(--tsb-line-strong);background:#ffffff0f}.step-tab.done{color:var(--green)}.step-num{background:#ffffff14;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.62rem;font-weight:800;display:flex}.step-tab.active .step-num{color:#fff;background:#ffffff24}.step-tab.done .step-num{color:var(--green);background:#22c55e33}main{max-width:1120px;margin:0 auto;padding:22px 24px 88px}.panel{display:none}.panel.active{display:block}.sc-card{border:1px solid var(--border);border-radius:var(--tsb-radius-lg);background:linear-gradient(145deg,#1b1e23eb,#101215fa);margin-bottom:14px;padding:clamp(20px,3vw,28px);box-shadow:0 12px 30px #00000029}.sc-title{font-family:var(--tsb-display,"Orbitron",sans-serif);letter-spacing:-.2px;color:#fff;margin-bottom:.4rem;font-size:1rem;font-weight:800}.sc-sub{max-width:78ch;color:var(--muted);margin-bottom:1.4rem;font-size:.84rem;line-height:1.65}.section-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-bottom:1.5rem;display:grid}.sec-card{background:linear-gradient(180deg,var(--tsb-surface-2),var(--tsb-surface));border:1px solid var(--border);border-radius:14px;padding:16px 16px 14px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative}.sec-card:hover{border-color:var(--tsb-line-strong);transform:translateY(-2px);box-shadow:0 14px 30px #00000047}.sec-card.graded{border-color:color-mix(in srgb, var(--tsb-red) 40%, transparent)}.sec-head{align-items:center;gap:9px;margin-bottom:16px;display:flex}.sec-name{letter-spacing:.4px;font-family:Orbitron,sans-serif;font-size:14px;font-weight:700}.sec-opt{color:var(--muted);border:1px solid var(--border);letter-spacing:.6px;background:#ffffff0f;border-radius:20px;margin-left:auto;padding:3px 8px;font-family:Orbitron,sans-serif;font-size:9px}.sec-body{justify-content:space-between;align-items:center;gap:12px;display:flex}.sec-field{flex-direction:column;gap:5px;display:flex}.sec-field label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-family:Orbitron,sans-serif;font-size:9px;font-weight:700}.sec-input{background:var(--tsb-bg);border:1px solid var(--tsb-line-strong);color:#fff;text-align:center;border-radius:10px;outline:none;width:104px;padding:10px 12px;font-family:Orbitron,sans-serif;font-size:22px;font-weight:800;transition:border-color .2s}.sec-input:focus{border-color:color-mix(in srgb, var(--tsb-red) 55%, transparent)}.sec-input::placeholder{color:var(--tsb-muted);opacity:.5}.sec-grade{color:#5b6572;background:color-mix(in srgb, currentColor 15%, transparent);border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:14px;flex:none;place-items:center;width:58px;height:58px;font-family:Orbitron,sans-serif;font-size:1.7rem;font-weight:900;transition:color .25s,background .25s,border-color .25s;display:grid}.sec-meta{gap:8px;margin-top:15px;display:flex}.sec-stat{border:1px solid var(--border);background:#ffffff08;border-radius:9px;flex:1;padding:7px 9px}.sec-stat .k{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-family:Orbitron,sans-serif;font-size:8.5px;font-weight:700}.sec-stat .v{color:var(--tsb-text-2);margin-top:2px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700}.sec-stat .v.dc{color:var(--tsb-blue)}.sec-meta-single{color:var(--tsb-muted);margin-top:14px;font-size:11px}.overall-bar{background:linear-gradient(135deg,var(--tsb-surface-2),var(--tsb-surface));border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.overall-label{letter-spacing:2px;color:var(--muted);text-transform:uppercase;font-family:Orbitron,sans-serif;font-size:12px;font-weight:700}.overall-score{font-family:Orbitron,sans-serif;font-size:2.4rem;font-weight:900;line-height:1;transition:color .3s}.overall-grade{font-family:Orbitron,sans-serif;font-size:3rem;font-weight:900;line-height:1;transition:color .3s}.player-row{background:#ffffff05;border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.player-row+.player-row{margin-top:6px}.player-row:hover{border-color:var(--border);background:#ffffff0b}.p-av{background:var(--tsb-red-soft);border:1px solid color-mix(in srgb,var(--tsb-red) 30%,transparent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:Orbitron,sans-serif;font-size:.72rem;font-weight:800;display:flex}.p-name{flex:1;min-width:0}.p-n{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.p-r{color:var(--muted);margin-top:1px;font-size:11px}.p-score{background:var(--tsb-bg);border:1px solid var(--tsb-line-strong);color:#fff;text-align:center;border-radius:9px;outline:none;flex:none;width:60px;height:40px;font-family:Orbitron,sans-serif;font-size:16px;font-weight:800;transition:border-color .2s}.p-score:focus{border-color:color-mix(in srgb,var(--tsb-red) 55%,transparent)}.p-score::placeholder{color:var(--tsb-muted);opacity:.5}.p-grade{color:#5b6572;background:color-mix(in srgb,currentColor 14%,transparent);border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-family:Orbitron,sans-serif;font-size:1rem;font-weight:900;transition:color .2s,background .2s,border-color .2s;display:grid}.p-bench{color:#fff;background:color-mix(in srgb,var(--tsb-danger) 80%,#000);letter-spacing:.6px;white-space:nowrap;border-radius:20px;flex:none;padding:3px 8px;font-family:Orbitron,sans-serif;font-size:9px;font-weight:800}.mvp-lbl{border:1px solid var(--border);letter-spacing:.5px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#ffffff05;border-radius:9px;flex:none;align-items:center;gap:5px;padding:7px 11px;font-family:Orbitron,sans-serif;font-size:10px;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex;position:relative}.mvp-lbl:before{content:"★";font-size:12px;line-height:1}.mvp-lbl:hover{border-color:color-mix(in srgb,var(--tsb-gold) 45%,transparent);color:var(--tsb-gold)}.mvp-lbl:has(input:checked){background:color-mix(in srgb,var(--tsb-gold) 16%,transparent);border-color:color-mix(in srgb,var(--tsb-gold) 55%,transparent);color:var(--tsb-gold)}.mvp-lbl input{opacity:0;width:0;height:0;margin:0;position:absolute}.team-group+.team-group{margin-top:16px}.team-head{background:var(--card);z-index:1;align-items:center;gap:10px;padding:7px 0 8px;display:flex;position:sticky;top:0}.team-name{letter-spacing:1.2px;text-transform:uppercase;color:var(--tsb-red-ink);font-family:Orbitron,sans-serif;font-size:11px;font-weight:800}.team-count{color:var(--muted);font-family:Orbitron,sans-serif;font-size:10px;font-weight:600}.team-head:after{content:"";background:var(--border);flex:1;height:1px}.csv-area{background:var(--dark);width:100%;min-height:150px;color:var(--text);resize:vertical;border:1px solid #ffffff1a;border-radius:10px;outline:none;padding:12px;font-family:Orbitron,sans-serif;font-size:12px;line-height:1.5}.csv-area:focus{border-color:#c006}.csv-area::placeholder{color:var(--tsb-muted);opacity:.45}.dc-avgs{flex-wrap:wrap;gap:14px;display:flex}.dc-avg{flex-direction:column;gap:6px;display:flex}.dc-avg label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-family:Orbitron,sans-serif;font-size:9px;font-weight:700}.man-input{background:var(--tsb-bg);border:1px solid var(--tsb-line-strong);color:#fff;text-align:center;border-radius:9px;outline:none;width:112px;padding:9px 12px;font-family:Orbitron,sans-serif;font-size:15px;font-weight:700;transition:border-color .2s}.man-input:focus{border-color:color-mix(in srgb, var(--tsb-gold) 55%, transparent)}.man-input::placeholder{color:var(--tsb-muted);opacity:.5}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;letter-spacing:1px;color:var(--muted);text-transform:uppercase;border-bottom:1px solid #ffffff14;padding:8px 10px;font-family:Orbitron,sans-serif;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid #ffffff0a;padding:8px 10px}.data-table tr:last-child td{border-bottom:none}.preview-card{background:var(--dark);white-space:pre-wrap;color:#ccc;border:1px solid #c003;border-radius:14px;padding:1.5rem;font-family:Orbitron,sans-serif;font-size:13px;line-height:1.8;position:relative}.copy-btn{color:var(--blue);cursor:pointer;letter-spacing:.5px;background:#4fc3f714;border:1px solid #4fc3f733;border-radius:7px;padding:5px 12px;font-family:Orbitron,sans-serif;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.copy-btn:hover{background:#4fc3f72e}.btn-p{background:var(--red);color:#fff;letter-spacing:1px;cursor:pointer;border:none;border-radius:9px;padding:9px 22px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.btn-p:hover:not(:disabled){background:var(--tsb-red-hover)}.btn-p:disabled{opacity:.4;cursor:not-allowed}.btn-s{color:var(--muted);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:9px;padding:9px 22px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-s:hover{border-color:var(--red);color:var(--tsb-red-ink)}.btn-g{color:#fff;letter-spacing:1px;cursor:pointer;background:#15803d;border:none;border-radius:9px;padding:9px 22px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.btn-g:hover:not(:disabled){background:#166534}.btn-g:disabled{opacity:.4;cursor:not-allowed}.msg{letter-spacing:.5px;border-radius:8px;margin-top:6px;padding:9px 14px;font-family:Orbitron,sans-serif;font-size:12px;font-weight:600;display:inline-block}.msg-ok{color:var(--green);background:#22c55e14;border:1px solid #22c55e40}.msg-err{color:var(--tsb-red-ink);background:#cc000014;border:1px solid #cc000040}.msg-info{color:var(--blue);background:#4fc3f70f;border:1px solid #4fc3f733}.nav-row{justify-content:space-between;align-items:center;gap:10px;margin-top:1.25rem;display:flex}.search-input{background:var(--card);color:#fff;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;max-width:300px;padding:8px 12px;font-family:Orbitron,sans-serif;font-size:13px}.search-input::placeholder{color:var(--muted)}.search-input:focus{border-color:#c006}footer{text-align:center;color:var(--tsb-muted);letter-spacing:1px;border-top:1px solid #ffffff0a;padding:20px;font-family:Orbitron,sans-serif;font-size:.7rem}.tsb-scorecard .hero{background:0 0;border:0}.tsb-scorecard .steps{border:1px solid var(--tsb-line);background:#12151aeb;border-radius:12px;width:min(1120px,100% - 48px);margin:14px auto 0;padding:4px;top:10px;box-shadow:0 12px 26px #0003}.tsb-scorecard .step-tab{min-height:42px;font-family:var(--tsb-body,ui-sans-serif,sans-serif);letter-spacing:.3px;text-transform:none;border:0;border-radius:8px;font-size:.68rem;font-weight:700}.tsb-scorecard .step-tab.active{color:#fff;box-shadow:inset 0 0 0 1px var(--tsb-line-strong);background:#ffffff0f;border:0}.tsb-scorecard .step-tab.active .step-num{color:#fff;background:#ffffff24}.sec-input[aria-invalid=true],.p-score[aria-invalid=true],.man-input[aria-invalid=true]{border-color:var(--tsb-danger);color:var(--tsb-danger)}.sec-err{color:var(--tsb-danger);margin-top:10px;font-size:.74rem;font-weight:600}.sec-err[hidden]{display:none}.save-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 16px;display:grid}.save-summary>div{border:1px solid var(--border);background:#ffffff05;border-radius:10px;padding:10px 12px}.save-summary .k{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.save-summary .v{color:#fff;margin-top:3px;font-size:.9rem;font-weight:700}.save-summary .v.warn{color:var(--tsb-gold)}.save-warn{border-left:2px solid var(--tsb-gold);color:var(--tsb-text-2);background:#d4ae5512;margin:0 0 14px;padding:10px 12px;font-size:.8rem;line-height:1.55}.save-warn[hidden]{display:none}.save-warn.block{border-left-color:var(--tsb-danger);color:var(--tsb-danger);background:#f25a6014}.type-btn:focus-visible,.step-tab:focus-visible,.btn-p:focus-visible,.btn-s:focus-visible,.btn-g:focus-visible,.copy-btn:focus-visible,.mvp-lbl:focus-within{outline:2px solid var(--tsb-focus-ring);outline-offset:2px}.csv-area{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.search-input{font-family:var(--tsb-body)}.tsb-scorecard .steps{top:calc(var(--tsb-manage-nav-h,0px) + 10px)}@media (pointer:coarse),(width<=600px){.step-tab,.tsb-scorecard .step-tab,.type-btn,.btn-p,.btn-s,.btn-g,.date-input,.search-input,.copy-btn,.tsb-scorecard .type-btn{min-height:44px}.p-score{height:44px}.mvp-lbl{min-height:44px}}@media (width<=600px){#playerList{max-height:none!important;overflow:visible!important}.player-row{flex-wrap:wrap;gap:8px 10px}.p-name{flex:calc(100% - 48px)}.p-score{margin-left:46px}.team-head{position:static}.nav-row .btn-p,.nav-row .btn-s{flex:1;padding:9px 12px;font-size:12px}.search-input{max-width:none}.hero{padding:14px 14px 0}.hero-inner{padding:18px}.hero-title{font-size:1.35rem}main{padding:18px 14px 70px}.steps,.tsb-scorecard .steps{width:calc(100% - 28px);top:calc(var(--tsb-manage-nav-h,0px) + 6px)}.step-tab{flex:none;padding:0 12px;font-size:.68rem}.section-grid{grid-template-columns:1fr}}
