:root {
  --accent: #00d4ff;
  --gold: #fbbf24;
  --silver: #94a3b8;
  --green: #10b981;
  --red: #ef4444;
  --a: #00d4ff;
  --b: #ff6b35;
  --c: #7c3aed;
  --d: #10b981;
  --fs-base: 14px;
  --bg: #0a0e1a;
  --surface: #111827;
  --surface2: #1a2235;
  --border: #2a3a5c;
  --text: #e2e8f0;
  --text-dim: #64748b;
  --header-bg: linear-gradient(135deg,#0d1b3e 0%,#0a0e1a 50%,#1a0d2e 100%);
  --modal-bg: #111827;
  --table-stripe: rgba(255,255,255,0.03);
  --score-bg: #0a0e1a;
  --match-bg: #1a2235;
  --match-hover: rgba(255,255,255,0.04);
  --shadow: rgba(0,0,0,0.5);
}
body.light {
  --bg:#f0f4f8; --surface:#ffffff; --surface2:#e8edf5; --border:#cbd5e1;
  --text:#1e293b; --text-dim:#94a3b8;
  --header-bg:linear-gradient(135deg,#1e3a5f 0%,#0f2040 50%,#2d1b4e 100%);
  --modal-bg:#ffffff; --table-stripe:rgba(0,0,0,0.03);
  --score-bg:#e8edf5; --match-bg:#e8edf5; --match-hover:rgba(0,0,0,0.03);
  --shadow:rgba(0,0,0,0.15);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:var(--fs-base);transition:background .3s,color .3s;}
a{text-decoration:none;color:inherit}
.header{background:var(--header-bg);border-bottom:2px solid rgba(255,255,255,0.1);padding:11px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;box-shadow:0 4px 24px var(--shadow);gap:10px;flex-wrap:wrap;}
.header-left{display:flex;flex-direction:column;gap:2px;min-width:0;}
.header-title,.header-sub{font-family:'Black Han Sans',sans-serif;font-size:clamp(12px,2vw,21px);white-space:nowrap;letter-spacing:1px;line-height:1.2;}
.header-title{background:linear-gradient(90deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.header-sub{color:rgba(255,255,255,0.88);opacity:.95;}
.header-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.nav{display:flex;gap:4px;}
.nav-btn,.ctrl-btn,.btn,.small-btn,.download-btn{font-family:'Noto Sans KR',sans-serif;cursor:pointer;transition:all .2s;}
.nav-btn{padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.85);font-size:clamp(10px,1.1vw,13px);font-weight:500;white-space:nowrap;}
.nav-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(0,212,255,.08);}
.nav-btn.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700;}
.ctrl-group{display:flex;gap:4px;align-items:center;}
.ctrl-btn{padding:5px 9px;border-radius:7px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.8);font-size:12px;white-space:nowrap;}
.ctrl-btn:hover{border-color:var(--gold);color:var(--gold);}
.ctrl-btn.on{background:rgba(251,191,36,.18);border-color:var(--gold);color:var(--gold);}
.vdiv{width:1px;height:18px;background:rgba(255,255,255,0.15);}
.page{display:none;padding:clamp(10px,2vw,22px);}
.page.active{display:block;}
.btn{padding:9px 18px;border-radius:9px;border:none;font-weight:700;font-size:14px;}
.btn-primary{background:var(--accent);color:#000;}
.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);}
.btn-danger{background:var(--red);color:#fff;}
.btn-gold{background:var(--gold);color:#000;}
.btn:hover,.download-btn:hover,.small-btn:hover{transform:translateY(-1px);opacity:.92;}
.small-btn{padding:6px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:12px;}
.download-btn{padding:8px 12px;border-radius:8px;border:none;background:var(--gold);color:#000;font-weight:800;font-size:12px;}
.notice{margin:18px auto;max-width:840px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;color:var(--text-dim);line-height:1.7;}
.notice strong{color:var(--accent);}
.mph{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:9px;}
.mph h2,.admin-top h2{font-family:'Black Han Sans',sans-serif;font-size:19px;color:var(--accent);}
.ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.8vw,18px);} @media(max-width:860px){.ggrid{grid-template-columns:1fr;}}
.gcard2,.gcard,.rcard,.auth-card{background:var(--surface);border-radius:15px;border:2px solid var(--border);overflow:hidden;}
.gch,.gchead{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);} 
.gtitle{font-family:'Black Han Sans',sans-serif;font-size:16px;display:flex;align-items:center;gap:7px;}
.gbadge{width:25px;height:25px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;}
.stdsec{padding:9px 13px;border-bottom:1px solid var(--border);} .stdlbl{font-size:10px;color:var(--text-dim);font-weight:700;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase;}
.stdt{width:100%;border-collapse:collapse;font-size:calc(var(--fs-base) * 0.78);}.stdt th{color:var(--text-dim);font-weight:700;padding:3px 4px;text-align:center;font-size:calc(var(--fs-base) * 0.72);}.stdt th:first-child{text-align:left;}.stdt td{padding:4px 4px;text-align:center;}.stdt td:first-child{text-align:left;font-weight:500;}.stdt tr:not(:last-child) td{border-bottom:1px solid var(--table-stripe);} .r1{color:var(--gold);font-weight:900;} .r2{color:var(--silver);font-weight:700;} .wc{color:var(--green);font-weight:700;} .lc{color:var(--red);} 
.msec{padding:9px 13px;}.mi-item{display:grid;grid-template-columns:20px 1fr auto 1fr;gap:5px;align-items:center;padding:6px 8px;border-radius:9px;margin-bottom:4px;background:var(--match-bg);border:1px solid transparent;transition:border-color .2s,background .2s;}.mi-item.done{border-color:rgba(16,185,129,.25);}.mi-item.going{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.05);} .mnum{font-size:10px;color:var(--text-dim);font-weight:700;text-align:center;}.mteam{font-size:clamp(calc(var(--fs-base) * 0.82),1vw,calc(var(--fs-base) * 1.02));font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.mteam.r{text-align:right;}.mwin{color:var(--green);font-weight:700;}.mlose{color:var(--text-dim);}.mscore{display:flex;align-items:center;gap:3px;justify-content:center;flex-direction:column;}.mscore-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center;}.si{width:clamp(36px,3.8vw,44px);background:var(--score-bg);border:1px solid var(--border);border-radius:6px;padding:4px 2px;color:var(--text);font-size:clamp(12px,1.3vw,15px);text-align:center;font-weight:700;-moz-appearance:textfield;}.si::-webkit-outer-spin-button,.si::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}.si:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,212,255,.18);} .ssep{color:var(--text-dim);font-weight:700;font-size:13px;}.going-badge{display:inline-block;background:rgba(251,191,36,.15);color:var(--gold);border:1px solid rgba(251,191,36,.4);border-radius:5px;font-size:10px;font-weight:700;padding:1px 6px;animation:pulse 1.5s ease-in-out infinite;} .score-save-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:6px;padding:4px 8px;font-size:calc(var(--fs-base) * 0.74);font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}.score-save-btn:hover{border-color:var(--accent);color:var(--accent);} @keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.rcon{max-width:920px;margin:0 auto;padding:18px;} .tsec{text-align:center;margin-bottom:20px;} .ticon{font-size:52px;margin-bottom:10px;} .ttitle{font-family:'Black Han Sans',sans-serif;font-size:clamp(16px,2.8vw,24px);background:linear-gradient(90deg,var(--gold),#f59e0b,var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.3;margin-bottom:5px;}
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;} @media(max-width:560px){.rgrid{grid-template-columns:1fr;}}
.rtitle{font-weight:700;font-size:calc(var(--fs-base) * 0.92);margin-bottom:9px;display:flex;align-items:center;gap:7px;}.rrow{display:flex;align-items:center;gap:7px;padding:7px 6px;border-radius:6px;margin-bottom:4px;}.rrbadge{width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(var(--fs-base) * 0.64);font-weight:900;flex-shrink:0;}.rtname{flex:1;font-size:calc(var(--fs-base) * 0.86);font-weight:500;}.rstat{font-size:calc(var(--fs-base) * 0.72);color:var(--text-dim);white-space:nowrap;}
.meta-bar,.auth-card,.admin-actions,.login-wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.meta-bar{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 15px;margin-bottom:16px;}
.meta-bar label{font-size:calc(var(--fs-base) * 0.78);color:var(--text-dim);white-space:nowrap;}
.mi,.font-range,.pwd-input{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:8px 10px;color:var(--text);font-size:13px;transition:border-color .2s;}
.mi:focus,.font-range:focus,.pwd-input:focus{outline:none;border-color:var(--accent);} .mi-name{width:clamp(120px,20vw,200px);} .mi-year{width:clamp(60px,7vw,88px);} .mi-mon{width:clamp(48px,5vw,62px);} .font-range{width:74px;}
.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(7px,1.2vw,14px);margin-bottom:18px;} @media(max-width:1000px){.admin-grid{grid-template-columns:repeat(2,1fr);}} @media(max-width:540px){.admin-grid{grid-template-columns:1fr;}}
.gcbody{padding:9px;} .cnt-row{display:flex;gap:5px;align-items:center;margin-bottom:9px;padding:6px 9px;background:var(--bg);border-radius:7px;} .cnt-label{font-size:calc(var(--fs-base) * 0.78);color:var(--text-dim);flex:1;} .cnt-btn{width:24px;height:24px;border-radius:5px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;} .cnt-num{font-weight:700;font-size:calc(var(--fs-base) * 1);width:24px;text-align:center;} .trow{display:flex;gap:4px;margin-bottom:6px;align-items:center;} .tnum{width:18px;font-size:calc(var(--fs-base) * 0.72);color:var(--text-dim);font-weight:700;text-align:center;flex-shrink:0;} .pi{flex:1;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:5px 7px;color:var(--text);font-size:clamp(calc(var(--fs-base) * 0.78),1vw,calc(var(--fs-base) * 0.95));} .pi:focus{outline:none;border-color:var(--accent);} 
.auth-wrap{max-width:420px;margin:60px auto;padding:18px;} .auth-card{display:block;padding:22px;} .auth-title{font-family:'Black Han Sans',sans-serif;font-size:22px;color:var(--accent);text-align:center;margin-bottom:8px;} .auth-sub{font-size:12px;color:var(--text-dim);text-align:center;line-height:1.6;margin-bottom:18px;} .pwd-input{width:100%;font-size:18px;letter-spacing:4px;text-align:center;margin-bottom:10px;} .auth-error{min-height:18px;color:var(--red);font-size:12px;text-align:center;margin-bottom:10px;}
.badge-a{background:rgba(0,212,255,.15);color:var(--a);} .badge-b{background:rgba(255,107,53,.15);color:var(--b);} .badge-c{background:rgba(124,58,237,.15);color:var(--c);} .badge-d{background:rgba(16,185,129,.15);color:var(--d);} .dot-a{background:var(--a);} .dot-b{background:var(--b);} .dot-c{background:var(--c);} .dot-d{background:var(--d);} .ag-a{background:rgba(0,212,255,.07);border-bottom:1px solid rgba(0,212,255,.2);color:var(--a);} .ag-b{background:rgba(255,107,53,.07);border-bottom:1px solid rgba(255,107,53,.2);color:var(--b);} .ag-c{background:rgba(124,58,237,.07);border-bottom:1px solid rgba(124,58,237,.2);color:var(--c);} .ag-d{background:rgba(16,185,129,.07);border-bottom:1px solid rgba(16,185,129,.2);color:var(--d);} .gc-a{border-color:rgba(0,212,255,.35)!important;} .gc-b{border-color:rgba(255,107,53,.35)!important;} .gc-c{border-color:rgba(124,58,237,.35)!important;} .gc-d{border-color:rgba(16,185,129,.35)!important;}
.hidden{display:none!important;} .muted{color:var(--text-dim);} .pill{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(0,212,255,.12);color:var(--accent);font-size:11px;font-weight:700;}
.results-toolbar{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:16px;}
::-webkit-scrollbar{width:5px;height:5px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
