@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Noto+Sans+KR:wght@400;500;700;900&display=swap');
:root{color-scheme:dark;--bg:#171912;--text:#f4f2e9;--muted:#c4c2b7;--line:rgba(235,235,220,.52);--gold:#f4d25b;--green:#5fe0b2}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font:15px/1.45 'Noto Sans KR',system-ui,sans-serif;background:radial-gradient(ellipse at 68% 42%,rgba(37,64,126,.78),transparent 47%),radial-gradient(ellipse at 28% 20%,rgba(122,111,56,.55),transparent 42%),linear-gradient(115deg,#29291e,#11130f 72%);background-attachment:fixed}
.shell{width:min(1120px,calc(100% - 42px));margin:0 auto;padding:28px 0 34px}.top{display:flex;align-items:center;gap:14px;margin-bottom:24px}.brand-mark{width:52px;height:52px;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font:900 18px 'Barlow Condensed',sans-serif;transform:skew(-5deg)}.eyebrow{margin:0 0 2px;color:var(--gold);font:800 10px 'Barlow Condensed',sans-serif;letter-spacing:.18em}h1{margin:0;font:800 clamp(25px,5vw,36px)/1 'Barlow Condensed',sans-serif;letter-spacing:.04em}.sub{margin:5px 0 0;color:#d0cec3;font-size:12px}
.search{padding:16px 18px;background:rgba(12,14,13,.62);border:1px solid rgba(235,235,220,.35)}.search label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}.search-row{display:flex;gap:9px}input,select{min-width:0;height:43px;border:1px solid rgba(225,225,210,.55);border-radius:0;background:rgba(25,28,25,.88);color:var(--text);padding:0 12px;font:500 14px 'Noto Sans KR',sans-serif}input{flex:1}input:focus,select:focus{outline:1px solid var(--gold);border-color:var(--gold)}button{border:1px solid var(--gold);border-radius:0;padding:0 23px;min-height:43px;background:var(--gold);color:#191a14;font-weight:900;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.hint,.muted{color:var(--muted)}.hint{margin:7px 0 0;font-size:11px}.status{margin:15px 0;padding:12px 14px;border:1px solid rgba(235,235,220,.3);color:var(--muted);background:rgba(12,14,13,.48);font-size:13px}.status.error{color:#ffaaa4;border-color:#a34b43}.status.good{color:var(--green)}
.player-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:25px 0 12px}.player-heading h2{margin:0;font:800 27px 'Barlow Condensed','Noto Sans KR',sans-serif}.player-heading .muted{margin:2px 0 0;font-size:11px}.count-box{text-align:right;display:grid}.count-box strong{font:800 30px/1 'Barlow Condensed',sans-serif;color:var(--gold)}.count-box span{font-size:10px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:12px 0 8px}.filters{display:flex;align-items:center;gap:7px}.filters label{font-size:11px}.filters select{height:38px;min-width:112px;font-size:12px}.filters button.secondary{height:38px;min-height:38px;padding:0 12px;color:var(--text);background:rgba(25,28,25,.88);border-color:rgba(225,225,210,.55);font-size:11px}
.character-list{display:grid;gap:0}.character-card{display:grid;grid-template-columns:124px minmax(0,1fr) 150px 170px;gap:18px;align-items:center;min-height:96px;padding:0 18px 0 60px;border-top:1px solid var(--line);background:linear-gradient(100deg,rgba(12,14,13,.22),rgba(12,14,13,.06));break-inside:avoid}.character-card:last-child{border-bottom:1px solid var(--line)}.portrait{width:124px;height:92px;align-self:end;object-fit:cover;object-position:center 24%;background:rgba(35,40,39,.5);border:0;border-radius:0}.portrait-fallback{display:grid;place-items:center;color:#e5e5dc;font:800 28px 'Barlow Condensed',sans-serif}.char-main{min-width:0}.char-title{display:flex;align-items:center;gap:10px}.char-title h3{margin:0;font:800 clamp(20px,3vw,29px)/1 'Barlow Condensed','Noto Sans KR',sans-serif;text-transform:uppercase}.master-tag{display:none}.char-meta{margin-top:5px;color:#c5c8ce;font-size:10px}.char-mr{text-align:right;white-space:nowrap;font:700 clamp(22px,3vw,29px)/1 'Barlow Condensed',sans-serif;font-variant-numeric:tabular-nums}.rank-badge{justify-self:center;min-width:142px;text-align:center;color:#fff;font:900 19px/.95 'Barlow Condensed',sans-serif;letter-spacing:.015em;text-shadow:0 2px 2px #000,1px 0 #000,-1px 0 #000}.rank-badge small{display:block;margin-top:3px;font-size:16px;letter-spacing:.05em}.rank-ultimate{color:#d9f6ee;text-shadow:0 0 7px #39c6ad,0 2px 2px #000}.rank-grand{color:#f7d75b;text-shadow:0 0 6px #e99d1b,0 2px 2px #000}.rank-master{color:#e6f0ef;text-shadow:0 0 5px #63bfae,0 2px 2px #000}.empty-row{padding:22px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.data-note{color:#c0c0b5;font-size:10px;line-height:1.65;margin:13px 2px 0}footer{margin-top:28px;padding-top:13px;border-top:1px solid rgba(235,235,220,.25);color:#a5a69c;font-size:10px}footer p{margin:4px 0}a{color:#d4dfec}
@media(max-width:700px){.shell{width:calc(100% - 22px);padding-top:18px}.character-card{grid-template-columns:76px minmax(0,1fr) 92px;gap:10px;min-height:76px;padding:0 7px}.portrait{width:76px;height:72px}.char-mr{font-size:21px}.rank-badge{grid-column:2/4;justify-self:end;min-width:0;font-size:13px;margin-top:-5px}.rank-badge small{display:inline;margin-left:4px;font-size:12px}.char-title h3{font-size:22px}.toolbar{align-items:flex-start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}.filters select{flex:1}.search{padding:13px}.player-heading h2{font-size:24px}}
@media print{:root{color-scheme:light;--text:#111;--muted:#444}body{background:#fff;color:#111}.shell{width:100%;padding:0}.search,.status,.filters,footer{display:none!important}.character-card{background:#fff;border-color:#aaa;color:#111}.char-meta,.data-note{color:#444}.rank-badge{filter:grayscale(1);text-shadow:none;color:#222}.char-mr{color:#111}.eyebrow,.count-box strong{color:#8a6200}}
