@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/bsd-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/bsd-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jbm-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jbm-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* SPLIT DECISION — 화면 구조는 CALLOUT 과 같고, 색·글꼴은 SPLIT DECISION 만의 것 (티켓 종이색 바탕 · 레드/블루 코너) */
:root{
  --paper:#E7BFAA; --card:#FFF7F1; --ink:#1B1613; --muted:#5B463E; --line:rgba(27,22,19,.16);
  --accent:#B8182A; --accent-ink:#FFF7F1; --gold:#B8182A; --hot:#FF6F5E;
  --red:#B8182A; --blue:#1B4B9B; --red-wash:#F6D9D6; --blue-wash:#D9E2F2;
  --good:#1E6A3B; --miss:#B8182A;
  --slot:#F6E6DC; --shadow:0 1px 0 rgba(27,22,19,.08),0 14px 30px -20px rgba(60,25,10,.5);
  --f-display:"Big Shoulders Display","Oswald","Arial Narrow",sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --track:.1em; --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
::selection{background:var(--ink);color:var(--card)}
.wrap{max-width:1040px;margin:0 auto;padding-block:20px 56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:9px 10px;min-width:0}
h1,h2,h3{font-family:var(--f-display);font-weight:900;line-height:.9;margin:0;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
p{margin:0}
.mono{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
[hidden]{display:none!important}

/* ---------- header (CALLOUT 과 같은 모양) ---------- */
header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:14px;position:relative}
header.top::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;background:linear-gradient(90deg,var(--red) 0 50%,var(--blue) 50% 100%);border-radius:3px}
.brand{text-decoration:none;color:inherit}
.brand h1{font-size:clamp(44px,8vw,72px);line-height:.85}
.brand h1 span{color:var(--accent)}
.brand p{margin:8px 0 0;color:var(--muted);font-size:16px;text-wrap:balance}
.topright{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
nav.tabs{display:flex;gap:4px;background:var(--card);padding:4px;border-radius:999px}
nav.tabs a{padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}
nav.tabs a[aria-current="page"]{background:var(--ink);color:var(--card)}
#me{font-size:12.5px;color:var(--muted);text-align:right}
.mechip{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:600}
.mechip .av{width:26px;height:26px;font-size:13px}
@media (max-width:640px){
  .topright{width:100%;align-items:stretch}
  nav.tabs{width:100%}
  nav.tabs a{flex:1 1 0;text-align:center;padding:10px 4px;min-width:0}
}

#view{padding-top:28px}
.view-head{display:grid;gap:10px;margin-bottom:20px}
.view-head h1{font-size:clamp(40px,6vw,64px)}
.view-head p{color:var(--muted);max-width:60ch;margin:0}
.section-title{font-size:26px;margin-bottom:10px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px;box-shadow:var(--shadow)}

/* ---------- buttons, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--ink);color:var(--card);font-family:var(--f-body);font-size:15px;padding:12px 20px;border-radius:4px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:transform .16s var(--ease-out),opacity .15s ease}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.small{padding:8px 14px;font-size:13px}
.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}
.chip{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:8px 12px;font-weight:600;font-size:14px;transition:transform .16s var(--ease-out),background-color .15s ease,color .15s ease}
.chip:active{transform:scale(.97)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.chip[disabled]{opacity:.4;cursor:default}
.hint{color:var(--muted);font-size:13px}
@media (hover:none){.kbd{display:none}}
.notice{background:var(--card);border-radius:6px;padding:12px 14px;color:var(--muted);font-size:14px}
.notice strong{color:var(--ink)}
.empty{padding:22px 8px;color:var(--muted)}

/* ---------- home: daily card + side ---------- */
.daily{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:760px){.daily{grid-template-columns:1fr}}
.dailycard{background:var(--ink);color:var(--card);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:12px}
.dailycard h2{font-size:30px}
.dailycard .num{font-family:var(--f-display);font-weight:900;font-size:72px;line-height:.8;color:var(--hot)}
.dailycard .num small{font-size:28px;color:var(--card);opacity:.75;margin-left:6px}
.dailycard p{opacity:.85}
.dailycard .cats{display:flex;gap:6px;flex-wrap:wrap}
.dailycard .cats .chip{background:transparent;color:var(--card);border-color:rgba(255,255,255,.25)}
.dailycard .cats .chip[aria-pressed="true"]{background:var(--card);color:var(--ink);border-color:var(--card)}
.dailycard .btn.primary{align-self:flex-start;font-size:16px;padding:14px 26px}
.dailycard .signnote{font-size:13px;color:var(--card);opacity:.72}
.dailycard .signnote a{color:var(--hot)}
.side{display:flex;flex-direction:column;gap:20px}

/* ---------- rank card (belt) ---------- */
.rankcard{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px;box-shadow:var(--shadow);color:var(--ink)}
.dailycard .rankcard{box-shadow:none}
.rk-top{display:flex;align-items:center;gap:14px}
.belt{position:relative;width:96px;height:22px;border-radius:3px;background:var(--bc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);flex:none}
.belt .tip{position:absolute;right:12px;top:0;bottom:0;width:30px;background:var(--bt);display:flex;justify-content:center;gap:3px;padding:0 3px}
.belt .tip i{width:3px;background:#f1ece4}
.belt.coral{background:repeating-linear-gradient(90deg,#b3262e 0 16px,#1b1613 16px 32px)}
.rk-name{font-family:var(--f-display);font-weight:900;font-size:34px;line-height:.9;text-transform:uppercase}
.rk-sub{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);color:var(--muted);text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.stats div{border-top:1px solid var(--line);padding-top:6px}
.stats b{display:block;font-family:var(--f-display);font-weight:900;font-size:26px;line-height:1}
.stats span{font-size:12px;color:var(--muted)}
.rk-who{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:700}

/* ---------- lists ---------- */
.program{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}
.program a{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:12px 16px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}
.program a:first-child{border-top:0}
.program a strong{font-weight:700}
.program a span{color:var(--muted);font-size:13px}
@media (hover:hover){.program a:hover strong{color:var(--accent)}}
.rows{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);margin-top:12px}
.rows a,.rows .row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rows > :first-child{border-top:0}
.rows strong{font-weight:700}
.rows .sub{color:var(--muted);font-size:13px}
@media (hover:hover){.rows a:hover strong{color:var(--accent)}}
.rows .empty{margin:0;padding:12px 16px;color:var(--muted)}
.rows a.textlink{display:inline;padding:0;border:0;color:var(--red);text-decoration:underline}
.rows a.fightrow{grid-template-columns:44px 1fr auto;gap:12px}
.wl{font-family:var(--f-display);font-weight:900;font-size:20px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--slot)}
.wl.w{background:var(--good);color:#fff}
.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:0 12px;height:46px;max-width:480px}
.search input{flex:1;border:0;background:transparent;font-size:16px;outline:none;padding:0}
.search svg{width:18px;height:18px;color:var(--muted);flex:none}
.home-grid,.debate-index,.results-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:760px){.home-grid,.debate-index,.results-top{grid-template-columns:1fr}}

/* ---------- board ---------- */
.lbbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.seg{display:inline-flex;gap:4px;background:var(--card);padding:4px;border-radius:999px;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:7px 14px;border-radius:999px;font-weight:600;font-size:13px;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--card)}
.board{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);margin-top:12px}
.brow{display:grid;grid-template-columns:44px 32px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.brow:last-child{border-bottom:0}
.brow .pos{font-family:var(--f-display);font-weight:900;font-size:26px;text-align:center}
.brow:first-child .pos{color:var(--gold)}
.brow .who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brow .who small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.brow .pts{font-family:var(--f-mono);font-weight:700;font-size:18px;min-width:48px;text-align:right}
.brow.me{background:var(--slot)}
.beltchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;color:var(--muted);white-space:nowrap}
.beltchip i{position:relative;width:28px;height:9px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}
.beltchip i b{position:absolute;right:3px;top:0;bottom:0;width:8px}
@media (max-width:560px){.brow{grid-template-columns:30px 28px minmax(0,1fr) auto}.brow .beltcol{display:none}}
.av{flex:none;width:32px;height:32px;border-radius:50%;background:var(--slot);color:var(--ink);display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:15px;overflow:hidden;text-transform:uppercase}
.av img{width:100%;height:100%;object-fit:cover}

/* ---------- ranked run ---------- */
.runbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.runbar .count{font-family:var(--f-display);font-weight:900;font-size:30px;line-height:1}
.runbar .count small{font-size:18px;color:var(--muted)}
.runbar .score{font-family:var(--f-display);font-weight:900;font-size:32px;line-height:1;color:var(--red)}
.pips{display:flex;gap:4px;flex:1;max-width:320px}
.pips i{flex:1;height:6px;border-radius:3px;background:var(--line)}
.pips i.done{background:var(--muted)}.pips i.hit{background:var(--good)}.pips i.now{background:var(--ink)}
.bout{position:relative;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);overflow:hidden}
.bout-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.bout-head .ev{font-family:var(--f-display);font-weight:900;font-size:24px;text-transform:uppercase}
.bout-head .evwrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.beltflag{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;padding:5px 9px;border-radius:6px;border:1.5px solid var(--line);color:var(--muted);line-height:1}
.beltflag.on{background:var(--ink);border-color:var(--ink);color:#F2C14E}
.beltflag.on::before{content:"";display:inline-block;width:12px;height:6px;margin-right:7px;vertical-align:1px;border-radius:2px;background:linear-gradient(90deg,#F2C14E 0 30%,#B8182A 30% 70%,#F2C14E 70%)}
.bout-head .meta{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);color:var(--muted);align-self:center}
.timer{height:5px;background:var(--slot)}
.timer i{display:block;height:100%;background:var(--ink);transform-origin:left}
.timer.low i{background:var(--accent)}
.corners{position:relative;display:grid;grid-template-columns:1fr 1fr}
.corner{position:relative;border:0;text-align:left;padding:38px 16px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;background:transparent;transition:background-color .15s ease,transform .16s var(--ease-out)}
.corner + .corner{border-left:1px solid var(--line)}
.corner .ctop{position:absolute;top:12px;left:16px;right:16px;display:flex;align-items:center;gap:8px}
.corner .side{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;font-weight:700}
.corner.red .side{color:var(--red)}.corner.blue .side{color:var(--blue)}
.corner::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.corner.red::before{background:var(--red)}.corner.blue::before{background:var(--blue)}
.corner .name{font-family:var(--f-display);font-weight:900;font-size:clamp(28px,4.4vw,48px);line-height:.92;text-transform:uppercase;overflow-wrap:break-word}
.corner .from{color:var(--muted);font-size:14px}
.corner .favtag{font-family:var(--f-mono);font-size:10px;letter-spacing:var(--track);text-transform:uppercase;border:1px solid var(--line);padding:2px 6px;border-radius:3px;color:var(--muted);line-height:1.3;white-space:nowrap}
.corner:active{transform:scale(.985)}
.corner.red[aria-pressed="true"]{background:var(--red-wash);box-shadow:inset 0 0 0 2px var(--red)}
.corner.blue[aria-pressed="true"]{background:var(--blue-wash);box-shadow:inset 0 0 0 2px var(--blue)}
@media (hover:hover){.corner:not([disabled]):hover{background:var(--slot)}}
.corner[disabled]{cursor:default}
.vs{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);z-index:2;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--card);display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:16px;pointer-events:none}
.picks,.reveal{border-top:1px solid var(--line);padding:24px 16px 14px;display:grid;gap:12px}
.pickrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pickrow > span{width:64px;font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
.lockrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.stamp{position:absolute;right:16px;top:12px;z-index:3;padding:6px 12px;border-radius:4px;font-family:var(--f-display);font-weight:900;font-size:26px;text-transform:uppercase;color:#fff;pointer-events:none;animation:pop .22s var(--ease-out) both}
.stamp.hit{background:var(--good)}.stamp.miss{background:var(--muted)}
@keyframes pop{from{opacity:0;transform:scale(1.25)}to{opacity:1;transform:none}}
.reveal .res{font-weight:700;font-size:17px;text-wrap:balance}
.lines{display:grid;gap:3px}
.lines div{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.lines div.on{color:var(--ink)}
.lines div b{font-weight:400}
.bout.leaving{opacity:0;transform:translateX(-24px);transition:transform .2s var(--ease-out),opacity .2s ease}
.bout.entering{animation:enter .26s var(--ease-out) both}
@keyframes enter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
@media (max-width:620px){
  .corner{min-height:130px;padding:34px 12px 14px}
  .corner .ctop{left:12px;right:12px;gap:6px}
  .corner .favtag{font-size:9px;letter-spacing:.04em;padding:2px 4px}
  .corner .name{font-size:26px}
  .vs{bottom:-17px;width:34px;height:34px;font-size:13px}
  .pickrow > span{width:100%}
  .stamp{top:auto;bottom:10px;right:8px;font-size:16px;padding:4px 8px}
}

/* ---------- results ---------- */
.bigscore{font-family:var(--f-display);font-weight:900;font-size:clamp(88px,15vw,160px);line-height:.8;color:var(--gold)}
.bigscore small{font-size:.25em;color:var(--muted)}
.boutlist{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-top:18px}
.boutlist div{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.boutlist div:first-child{border-top:0}
.dot{width:10px;height:10px;border-radius:50%;background:var(--line)}
.dot.hit{background:var(--good)}
.signnote{color:var(--muted);font-size:14px;margin-top:10px}

/* ---------- fighter ---------- */
.fighter-head h1{font-size:clamp(48px,9vw,96px);margin-top:10px}
.recline{display:flex;gap:28px;flex-wrap:wrap;margin:14px 0 4px}
.recline b{display:block;font-family:var(--f-display);font-weight:900;font-size:40px;line-height:1}
.recline span{color:var(--muted);font-size:12px}

/* ---------- debates ---------- */
.ballot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:760px){.ballot{grid-template-columns:1fr}}
.pool{display:flex;flex-wrap:wrap;gap:6px}
.pool button{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:8px 12px;font-weight:600;transition:transform .16s var(--ease-out),opacity .15s ease}
.pool button:active{transform:scale(.96)}
.pool button[disabled]{opacity:.3;cursor:default}
.ranklist{background:var(--card);border:1px solid var(--line);border-radius:6px;counter-reset:r}
.ranklist ol{margin:0;padding:0}
.ranklist li{list-style:none;display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:6px 8px 6px 12px;border-top:1px solid var(--line)}
.ranklist li:first-child{border-top:0}
.ranklist li::before{counter-increment:r;content:counter(r);font-family:var(--f-display);font-weight:900;font-size:26px;color:var(--muted)}
.ranklist li:first-child::before{color:var(--gold)}
.ranklist .n{font-weight:700}
.iconbtns{display:flex;gap:2px}
.iconbtn{width:34px;height:34px;border:0;border-radius:4px;background:transparent;display:grid;place-items:center;color:var(--muted)}
.iconbtn svg{width:18px;height:18px}
.iconbtn[disabled]{opacity:.25;cursor:default}
@media (hover:hover){.iconbtn:not([disabled]):hover{background:var(--slot);color:var(--ink)}}
.slot-empty{padding:16px;color:var(--muted)}
.fanlist{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:4px 0}
.fanrow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:7px 12px;position:relative}
.fanrow .bar{position:absolute;left:0;top:3px;bottom:3px;background:var(--slot);border-radius:0 3px 3px 0}
.fanrow > *:not(.bar){position:relative}
.fanrow .n{font-family:var(--f-display);font-weight:900;font-size:20px;color:var(--muted)}
.fanrow strong{font-weight:700}
.pct{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.chip .pct{margin-left:4px}
.chip[aria-pressed="true"] .pct{color:inherit;opacity:.75}
.yearrow{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.yearrow:first-child{border-top:0}
.yearrow .yr{font-family:var(--f-display);font-weight:900;font-size:30px}
.opts{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:560px){.yearrow{grid-template-columns:1fr}}
.match{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:16px;border-top:1px solid var(--line)}
.match:first-child{border-top:0}
.match .lbl{grid-column:1/-1;color:var(--muted);font-size:13px}
.match .side,.pbout .side{min-height:56px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--slot);font-family:var(--f-display);font-weight:900;font-size:20px;text-transform:uppercase;transition:transform .16s var(--ease-out),background-color .15s ease,color .15s ease}
.match .side:active,.pbout .side:active{transform:scale(.98)}
.match .side.r[aria-pressed="true"],.pbout .side.r[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.match .side.b[aria-pressed="true"],.pbout .side.b[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.match .v,.pbout .v{font-family:var(--f-display);font-weight:900;color:var(--muted)}
.match .how{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.split{grid-column:1/-1;display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--slot)}
.split i{display:block;height:100%}.split .a{background:var(--red)}.split .b{background:var(--blue)}

/* ---------- predict ---------- */
.evcard{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}
.pbout{padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:8px}
.pbout:first-child{border-top:0}
.pbout .vsrow{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.pbout .side.win{box-shadow:inset 0 0 0 3px var(--good)}
.pbout .meta{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.adminbox{background:var(--card);border:1px dashed var(--line);border-radius:6px;padding:16px;margin-top:22px;display:grid;gap:8px}
.adminbox label{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);color:var(--muted);text-transform:uppercase}
.adminbox textarea{min-height:130px;font-family:var(--f-mono);font-size:13px}
.resrow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* ---------- profile ---------- */
.field{display:grid;gap:4px;margin-top:12px}
.field > span{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);color:var(--muted);text-transform:uppercase}
.danger{color:var(--miss);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:13px}
#gsi{min-height:44px;margin-top:12px}
.tiers{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.tiers div{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:8px;font-size:12px;color:var(--muted)}
.tiers div b{display:block;font-family:var(--f-display);font-weight:900;font-size:16px;text-transform:uppercase;color:var(--ink)}
.tiers div.me{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.tiers .sw{display:block;height:8px;border-radius:2px;margin-bottom:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.tiers .coralsw{background:repeating-linear-gradient(90deg,#b3262e 0 8px,#1b1613 8px 16px)}
@media (max-width:560px){.tiers{grid-template-columns:repeat(3,1fr)}}

.foot{color:var(--muted);font-size:12px;padding-top:18px;border-top:1px solid var(--line);margin-top:48px}
.foot a{color:inherit}
.toast{position:fixed;left:50%;bottom:24px;z-index:50;transform:translate(-50%,0);background:var(--ink);color:var(--card);padding:10px 18px;border-radius:4px;font-weight:600;transition:transform .25s var(--ease-out),opacity .25s ease}
.toast[hidden]{display:block!important;opacity:0;transform:translate(-50%,12px);pointer-events:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- fighter photos (위키미디어 공용) ---------- */
.ph{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--slot);color:var(--muted);font-family:var(--f-display);font-weight:900;font-size:14px;box-shadow:inset 0 0 0 1px var(--line)}
.ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ph.tiny{width:22px;height:22px;font-size:10px;margin-right:6px;vertical-align:-6px}
.ph.big{width:72px;height:72px;font-size:24px;margin-bottom:4px}
.ph.huge{width:132px;height:132px;font-size:44px}
.corner.red .ph.big{box-shadow:0 0 0 3px var(--red)}.corner.blue .ph.big{box-shadow:0 0 0 3px var(--blue)}
.corner .credit{font-size:10px;color:var(--muted);opacity:.8;line-height:1.2}
.credit{font-size:12px;color:var(--muted);margin-top:8px}
.credit a{color:inherit}
.whocell{display:flex;align-items:center;gap:12px;min-width:0}
.fhead{display:flex;align-items:center;gap:22px;margin-top:12px;flex-wrap:wrap}
.match .side,.pbout .side{display:flex;align-items:center;justify-content:center;gap:10px}
.pool button{display:inline-flex;align-items:center}
@media (max-width:620px){.ph.big{width:52px;height:52px;font-size:18px}.ph.huge{width:96px;height:96px;font-size:32px}.corner .credit{font-size:9px}}

/* ---------- CALLOUT 식 정리 (페이지 제목 · 설명 · 알약 버튼 줄) ---------- */
.intro{margin-bottom:18px}
.pagetitle{font-size:clamp(36px,5vw,52px);line-height:.95}
.lede{color:var(--muted);font-size:16px;max-width:62ch;margin-top:8px}
.pillrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}
.rowlabel{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);margin-right:6px}
.rowmeta{font-size:13px;color:var(--muted);margin-left:6px}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;text-decoration:none;transition:transform .16s var(--ease-out),background-color .15s ease,color .15s ease}
.pill:active{transform:scale(.97)}
.pill[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.pill[disabled]{opacity:.4;cursor:default}
.pill.add{border-style:dashed}
.pill.dark{background:transparent;color:var(--card);border-color:rgba(255,247,241,.3)}
@media (hover:hover){.pill:not([aria-pressed="true"]):not([disabled]):hover{border-color:var(--ink)}.pill.dark:hover{border-color:var(--card)}}
.backlink{display:inline-block;font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-bottom:10px}
.subhead{font-family:var(--f-display);font-weight:900;font-size:22px;text-transform:uppercase;margin:0 0 10px}
.subhead .hint{font-family:var(--f-body);font-weight:400;font-size:13px;text-transform:none;margin-left:6px}

/* daily card */
.dailycard{gap:14px}
.dc-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);opacity:.7}
.dailycard .num{color:var(--hot)}
.dailycard .num small{color:var(--hot);opacity:1}
.dc-rank{display:flex;align-items:center;gap:16px;border:1.5px dashed rgba(255,247,241,.35);border-radius:6px;padding:14px 16px}
.dc-rank .belt{width:84px}
.dc-k{font-family:var(--f-mono);font-size:10px;letter-spacing:var(--track);text-transform:uppercase;opacity:.7}
.dc-belt{font-family:var(--f-display);font-weight:900;font-size:30px;line-height:1;text-transform:uppercase}
.dc-sub{font-size:13px;opacity:.75}
.dc-small{font-size:13px;opacity:.72}
.dc-small a{color:var(--hot)}
.dc-btns{display:flex;gap:10px;flex-wrap:wrap}
.btn.outline{background:transparent;color:var(--card);box-shadow:inset 0 0 0 1.5px rgba(255,247,241,.7)}
.bigstats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.bigstats b{display:block;font-family:var(--f-display);font-weight:900;font-size:40px;line-height:1}
.bigstats span{font-family:var(--f-mono);font-size:10px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
.scoring{width:100%;border-collapse:collapse}
.scoring td{padding:9px 0;border-bottom:1px solid var(--line)}
.scoring td:last-child{text-align:right;font-family:var(--f-mono);font-weight:700}
.daily .panel{padding:20px}

/* big search */
.bigsearch{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:0 14px;height:50px;margin-top:14px}
.bigsearch input{flex:1;border:0;background:transparent;font-size:16px;outline:none;padding:0}
.bigsearch svg{width:18px;height:18px;color:var(--muted);flex:none}
.sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* greatest card */
.goatcard{background:var(--ink);color:var(--card);border-radius:6px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px 24px;border-top:4px solid var(--red)}
.goatcard h2{font-size:clamp(32px,4.4vw,48px);margin-top:6px}
.goatcard p{opacity:.85;margin:8px 0 16px;max-width:46ch}
.podium{display:flex;align-items:flex-end;gap:14px}
.pd{display:flex;flex-direction:column;align-items:center;gap:6px;width:112px;text-align:center}
.pd b{font-family:var(--f-display);font-weight:900;font-size:26px;color:var(--hot);line-height:1}
.pd span{font-weight:700;font-size:13px;line-height:1.2;text-wrap:balance}
.ph.pod{width:72px;height:72px;font-size:22px;box-shadow:0 0 0 2px rgba(255,247,241,.5)}
.ph.pod1{width:92px;height:92px;font-size:28px;box-shadow:0 0 0 3px var(--hot)}
.gc-divs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid rgba(255,247,241,.15);padding-top:14px}
.gc-divs + .gc-divs{border-top:0;padding-top:0}
@media (max-width:700px){.goatcard{grid-template-columns:1fr}.podium{justify-content:center}.bigstats b{font-size:30px}}
.dc-rank .belt{box-shadow:0 0 0 1.5px rgba(255,247,241,.55)}
.ph.none{text-transform:uppercase}

/* ---------- CALLOUT 과 같은 머리말: 로그인 버튼 + 게스트 문구, 로고 옆 MMA ---------- */
.brand h1{display:flex;align-items:flex-start;gap:10px}
.brand .tag{font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--card);background:var(--ink);padding:4px 7px;border-radius:3px;margin-top:8px;line-height:1}
.gbtn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:4px;padding:9px 14px;font-weight:700;font-size:14px;text-decoration:none}
.gbtn svg{width:16px;height:16px;background:#fff;border-radius:50%;padding:2px}
#me{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
#me .guest{font-size:12.5px;color:var(--muted)}
@media (max-width:640px){#me{align-self:stretch;flex-direction:row-reverse;justify-content:space-between;align-items:center}}
/* GOAT 카드 (CALLOUT goatstrip 과 같은 구성) */
.goatcard{border-top:0;position:relative;overflow:hidden;border-radius:8px}
.goatcard::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--red),var(--blue))}
.goatcard .dc-meta{color:var(--hot);opacity:1}
.goatcard .btn.ghost{color:var(--card);border-color:rgba(255,247,241,.3)}
.goatcard .gc-divs .pill.p4p{border-color:var(--hot);font-weight:700}

/* ---------- 결과 공유 (CALLOUT 결과 글 + 게이밍 짐 결과 카드) ---------- */
.sqrow{display:flex;gap:6px;margin-top:14px}
.sqrow i,.sq{display:inline-block;width:22px;height:22px;border-radius:3px;background:#3a302c}
.q-full{background:var(--good)!important}.q-win{background:#C9962B!important}.q-miss{background:#3a302c!important}
.boutlist .sq{width:14px;height:14px}
.share{margin-top:24px}
.cardwrap{background:var(--ink);border-radius:6px;overflow:hidden;aspect-ratio:1200/630;max-width:720px}
.cardprev{display:block;width:100%;height:auto}
.sharegrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:14px;align-items:start}
@media (max-width:760px){.sharegrid{grid-template-columns:1fr}}
.sharetext{white-space:pre-wrap;font-family:var(--f-mono);font-size:13px;background:var(--slot);border-radius:6px;padding:12px;margin:12px 0 0;line-height:1.6}
.sharebtns{display:flex;flex-wrap:wrap;gap:8px}
.vsbox{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:var(--ink);color:var(--card);border-radius:6px;padding:18px 22px;margin-bottom:22px;text-align:center}
.vsbox b{display:block;font-family:var(--f-display);font-weight:900;font-size:64px;line-height:.9}
.vsbox .vsv{font-family:var(--f-display);font-weight:900;font-size:24px;opacity:.6}
.vsbox p{grid-column:1/-1;margin:0;font-weight:700}
.vsbox.won{box-shadow:inset 0 4px 0 var(--good)}.vsbox.lost{box-shadow:inset 0 4px 0 var(--red)}
.results-top .bigscore{margin-top:8px}

/* ---------- My matchup ---------- */
.mubuild{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow, 0 10px 30px -18px rgba(27,22,19,.45));margin-top:4px}
.mubuild .vs{bottom:auto;top:78px;transform:translate(-50%,-50%)}
.muslot{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:200px;padding:42px 20px 18px;border:0;background:transparent;text-align:left;font:inherit;color:var(--ink)}
.muslot + .muslot,.muslot + .vs + .muslot{border-left:1px solid var(--line)}
.muslot.red{border-top:4px solid var(--red)}.muslot.blue{border-top:4px solid var(--blue)}
.muslot .side{position:absolute;top:14px;left:20px;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase}
.muslot.red .side{color:var(--red)}.muslot.blue .side{color:var(--blue)}
.muslot .name{font-family:var(--f-display);font-weight:900;font-size:clamp(26px,4vw,40px);line-height:.95;text-transform:uppercase}
.muslot .name.muted{color:var(--muted);opacity:.7}
.muslot .from{color:var(--muted);font-size:14px}
.muslot .hint{margin-top:auto;font-size:12px}
button.muslot{cursor:pointer;transition:background-color .15s ease}
button.muslot:hover{background:rgba(27,22,19,.03)}
.mubtns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.mucta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin-bottom:22px;background:var(--ink);color:var(--card);border-radius:8px;text-decoration:none}
.mucta > span:first-child{display:grid;gap:4px}
.mucta strong{font-family:var(--f-display);font-weight:900;font-size:26px;text-transform:uppercase;line-height:1}
.mucta > span:first-child > span{opacity:.75;font-size:14px}
.musplit{display:flex;justify-content:space-between;margin:8px 0 2px;font-size:15px}
.musplit b{font-family:var(--f-display);font-size:22px}
.muted{color:var(--muted)}
@media (max-width:620px){
  .muslot{min-height:170px;padding:36px 12px 14px}
  .mubuild .vs{top:62px}
  .muslot .side{left:12px;top:12px}
  .mucta{flex-direction:column;align-items:flex-start}
}

/* ---------- GYM PASS ---------- */
.passbox{margin-top:22px;padding:18px;border-radius:8px;background:var(--ink);color:var(--card);position:relative;overflow:hidden}
.passbox::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#C8962E,#FFE9A8,#C8962E)}
.pb-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pb-tag{font-family:var(--f-mono);font-weight:700;font-size:12px;letter-spacing:var(--track);padding:5px 9px;border-radius:4px;background:linear-gradient(90deg,#C8962E,#FFE9A8 50%,#C8962E);color:#1B1613}
.pb-price{font-family:var(--f-display);font-weight:900;font-size:28px;line-height:1}
.pb-price small{font-family:var(--f-body,inherit);font-weight:400;font-size:13px;opacity:.7}
.pb-own{font-family:var(--f-mono);font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:#F2C14E}
.pb-perks{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}
.pb-perks li{display:grid;gap:2px}
.pb-perks b{font-weight:700}
.pb-perks span{opacity:.72;font-size:14px}
.passbox .hint{color:rgba(255,247,241,.6)}
.passbox .btn.primary{width:100%}
.pb-fx .rowlabel{color:rgba(255,247,241,.7)}
.pb-fx .pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pb-fx .pill{background:transparent;color:var(--card);border-color:rgba(255,247,241,.3)}
.pb-fx .pill.on{background:#F2C14E;border-color:#F2C14E;color:#1B1613}
.passmark{position:absolute;bottom:16px;right:16px;z-index:2;font-family:var(--f-mono);font-weight:700;font-size:10px;letter-spacing:var(--track);padding:3px 6px;border-radius:3px;background:linear-gradient(90deg,#C8962E,#FFE9A8 50%,#C8962E);color:#1B1613}
.passchip{display:inline-block;margin-left:6px;vertical-align:2px;font-family:var(--f-mono);font-weight:700;font-size:9px;letter-spacing:.06em;padding:2px 4px;border-radius:3px;background:#F2C14E;color:#1B1613}

/* 카드 효과 — 장식이라 계속 움직여도 되지만, 동작 줄이기 설정이면 멈춤 (맨 위 규칙) */
.rankcard[class*="fx-"]{position:relative;overflow:hidden}
.rankcard.fx-fire{border-color:#FF6F5E;box-shadow:0 0 0 1px rgba(255,111,94,.4),0 12px 34px -12px rgba(255,94,0,.55)}
.rankcard.fx-fire::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none;
  background:linear-gradient(0deg,rgba(255,94,0,.32),rgba(255,111,94,.14) 45%,transparent),radial-gradient(60% 90% at 20% 110%,rgba(255,179,71,.5),transparent 70%),radial-gradient(50% 80% at 75% 115%,rgba(184,24,42,.45),transparent 70%);
  background-size:100% 100%,180% 100%,180% 100%;animation:fxfire 2.4s ease-in-out infinite alternate}
@keyframes fxfire{from{background-position:0 0,0% 0,100% 0;opacity:.85}to{background-position:0 0,100% 0,0% 0;opacity:1}}
.rankcard.fx-static{border-color:var(--ink)}
.rankcard.fx-static::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,rgba(27,22,19,.07) 0 1px,transparent 1px 3px);animation:fxflick 3.2s steps(1) infinite}
@keyframes fxflick{0%,92%,100%{opacity:1}93%{opacity:.35}95%{opacity:1}97%{opacity:.5}}
.rankcard.fx-static .rk-name,.nm.fx-static{animation:fxglitch 3.2s steps(1) infinite}
@keyframes fxglitch{0%,90%,100%{text-shadow:none;transform:none}91%{text-shadow:-2px 0 var(--red),2px 0 var(--blue);transform:translateX(1px)}93%{text-shadow:2px 0 var(--red),-2px 0 var(--blue);transform:translateX(-1px)}95%{text-shadow:-1px 0 var(--red),1px 0 var(--blue);transform:none}}
.rankcard.fx-gold{border-color:#C8962E;box-shadow:0 0 0 1px rgba(200,150,46,.5),var(--shadow)}
.rankcard.fx-gold::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-50%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,233,168,.55),transparent);transform:skewX(-18deg);animation:fxshine 3.6s ease-in-out infinite}
@keyframes fxshine{0%,55%{transform:translateX(0) skewX(-18deg)}100%{transform:translateX(420%) skewX(-18deg)}}
.rankcard.fx-gold .rk-name,.nm.fx-gold{background:linear-gradient(90deg,#9A6B12,#E3B23C 40%,#FFE9A8 50%,#E3B23C 60%,#9A6B12);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxgoldtext 3.6s linear infinite}
@keyframes fxgoldtext{from{background-position:100% 0}to{background-position:-120% 0}}
.rankcard.fx-fire .rk-name,.nm.fx-fire{background:linear-gradient(90deg,#B8182A,#FF6F5E 40%,#FFB347 55%,#B8182A);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxgoldtext 2.6s linear infinite}
.rk-top,.stats,.rk-who{position:relative;z-index:2}

/* 광고 */
.adwrap{margin:28px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.adlbl{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.adlbl a{color:inherit}
.favchip{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--card);border:1px solid var(--line);border-radius:6px}
.favchip strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#favbox .sugg{margin-top:8px}

/* 이번 주 · 이번 달 (CALLOUT 랭킹전처럼) */
.ladderwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-top:22px;align-items:start}
.ladder{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ladder-c{display:grid;gap:4px;align-content:start;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:transform .16s var(--ease-out)}
.ladder-c:active{transform:scale(.98)}
.ld-eye{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--red)}
.ladder-c:last-child .ld-eye{color:var(--blue)}
.ld-rank{font-family:var(--f-display);font-weight:900;font-size:48px;line-height:.95}
.ld-rank small{font-size:18px;color:var(--muted);font-weight:800}
.ld-rank.none{color:var(--muted)}
.ld-sub{font-size:14px;font-weight:600}
.ld-foot{font-size:12px;color:var(--muted);margin-top:4px}
.wtop{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:14px 16px}
.wtop-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.wtop-h .subhead{margin:0}
.wtop ol{list-style:none;margin:0;padding:0}
.wtop li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.wtop li:first-child{border-top:0}
.wtop li.mine{background:var(--slot);margin:0 -16px;padding:8px 16px}
.wtop li.gap{display:block;text-align:center;color:var(--muted);padding:2px 0}
.wp{font-family:var(--f-display);font-weight:900;font-size:22px;text-align:center}
.wtop li:first-child .wp{color:var(--red)}
.wn{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws{font-family:var(--f-mono);font-weight:700}
.brow .pts small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
@media (max-width:860px){.ladderwrap{grid-template-columns:1fr}}
.textlink{color:var(--red);font-weight:600;font-size:14px}
.nm{display:inline-block;padding-right:2px}

/* 예측 리그 카드 (CALLOUT 처럼) */
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.evtile{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none;min-height:170px;transition:transform .16s var(--ease-out)}
.evtile:active{transform:scale(.98)}
.ec-date{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:var(--track);color:var(--muted)}
.ec-name{font-family:var(--f-display);font-weight:900;font-size:26px;line-height:.95;text-transform:uppercase;text-wrap:balance}
.ec-sub{font-size:13px;color:var(--muted)}
.ec-foot{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ec-lock{font-size:13px}
.evchip{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;padding:5px 9px;border-radius:999px;white-space:nowrap}
.evchip.open{background:var(--red);color:#fff}
.evchip.mine{background:var(--blue);color:#fff}
.evchip.lock{background:var(--ink);color:var(--card)}
.evchip.done{background:var(--good,#1E6A3B);color:#fff}
.evchip.tba{border:1px solid var(--line);color:var(--muted)}

/* 지난 대회 맞혀 보기 (CALLOUT 대회 페이지처럼) */
.showlist{display:grid;gap:8px;margin-top:14px}
.showrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:4px}
.showrow a{color:var(--ink)}
.showrow.full{border-left-color:#1E6A3B}.showrow.win{border-left-color:#C9962B}.showrow.miss{border-left-color:var(--muted)}
.callscore{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:18px}
.callscore b{font-family:var(--f-display);font-weight:900;font-size:56px;line-height:1;display:block}
.callscore b small{font-size:22px;color:var(--muted)}
.callatt{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;padding:12px 16px;background:transparent;border:0;border-top:1px solid var(--line);text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.callatt:first-child{border-top:0}
.callatt.on{background:var(--slot)}
.callatt b small{color:var(--muted);font-weight:400}
.pbout .side .ph{margin-right:6px;vertical-align:middle}

/* 홈: 어두운 카드 안의 이번 주 · 이번 달 (CALLOUT 처럼) */
.dailycard .ladder{margin:14px 0 4px}
.dailycard .ladder-c{background:rgba(255,247,241,.06);border-color:rgba(255,247,241,.18);box-shadow:none;color:var(--card)}
.dailycard .ladder-c .ld-eye{color:rgba(255,247,241,.7)}
.dailycard .ld-rank small,.dailycard .ld-foot{color:rgba(255,247,241,.6)}
.dailycard .ld-rank.none{color:rgba(255,247,241,.5)}
.ld-belt{font-family:var(--f-display);font-weight:900;font-size:16px;text-transform:uppercase;letter-spacing:.02em;color:var(--hot)}
.panel .wtop{background:transparent;border:0;box-shadow:none;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.panel .wtop li.mine{margin:0;padding:8px 10px;border-radius:4px}
.wn{display:flex;align-items:center;gap:8px}
.wn .av{width:24px;height:24px;font-size:12px}

/* 데이터베이스 첫 화면 (CALLOUT 처럼) */
.dbtools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 14px}
.dbstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.dbstats div{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.dbstats b{display:block;font-family:var(--f-display);font-weight:900;font-size:34px;line-height:1}
.dbstats span{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
.panel .rows.flat{box-shadow:none;border:0;background:transparent}
.panel .rows.flat a{padding:9px 0}
.rk{font-family:var(--f-display);font-weight:900;font-size:20px;width:22px;text-align:center;flex:none}
@media (max-width:560px){.dbstats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 랭크전 모드 전환: 경기 맞히기 / 링네임 */
.modeswitch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.modeswitch a{display:grid;gap:2px;padding:12px 16px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);text-decoration:none;transition:transform .16s var(--ease-out),background-color .15s ease}
.modeswitch a:active{transform:scale(.98)}
.modeswitch b{font-family:var(--f-display);font-weight:900;font-size:22px;text-transform:uppercase;line-height:1}
.modeswitch span{font-size:13px;color:var(--muted)}
.modeswitch a.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.modeswitch a.on span{color:rgba(255,247,241,.7)}
/* 링네임 */
.rnsample{display:grid;gap:2px;padding:14px;border:1px dashed rgba(255,247,241,.35);border-radius:6px;margin:12px 0}
.rnsample b{font-family:var(--f-display);font-weight:900;font-size:28px;color:var(--hot);line-height:1}
.rnsample span:last-child{opacity:.75;font-size:14px}
.rnname{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,7vw,76px);line-height:.95;text-transform:uppercase;text-align:center;padding:28px 16px 18px;text-wrap:balance}
.rnopts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 18px}
.rnopt{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--slot);font:inherit;color:var(--ink);cursor:pointer;transition:transform .16s var(--ease-out),background-color .15s ease,border-color .15s ease}
.rnopt:active{transform:scale(.97)}
.rnopt .name{font-family:var(--f-display);font-weight:900;font-size:18px;text-transform:uppercase;text-align:center;line-height:1}
.rnopt .k{position:absolute;top:6px;left:8px;font-size:11px;color:var(--muted)}
.rnopt.right{background:#1E6A3B;border-color:#1E6A3B;color:#fff}
.rnopt.wrong{background:var(--muted);border-color:var(--muted);color:#fff}
.rnopt[disabled]{cursor:default}
@media (max-width:620px){.rnopts{grid-template-columns:1fr 1fr}.modeswitch b{font-size:18px}.modeswitch a{padding:10px 12px}}
@media (max-width:640px){nav.tabs a{font-size:13px;padding:10px 2px}}
.rnclock{font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
.rnstreak{transition:transform .2s var(--ease-out)}
.rnstreak.pop{animation:rnpop .45s var(--ease-out)}
@keyframes rnpop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.rnmiss{font-size:16px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:4px;margin-top:10px}

/* 링네임 등급 */
.rnbadge{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:18px;line-height:1;vertical-align:middle}
.rnbadge svg{width:26px;height:30px;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.rnbadge.big svg{width:72px;height:82px}
.rnbadge.big span{display:none}
.rnbadge.t6 svg{animation:rngoat 2.4s linear infinite}
@keyframes rngoat{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(360deg)}}
.rnrank{align-items:center}
.rnres-top{display:flex;align-items:center;gap:18px}
.rnres-tier{font-family:var(--f-mono);font-size:12px;letter-spacing:var(--track);color:var(--muted);margin:2px 0 0}
.rnladder{display:grid;gap:4px;margin-top:10px}
.rnladder div{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:6px 10px;border-radius:4px;font-size:14px;color:var(--muted)}
.rnladder i{width:12px;height:12px;border-radius:3px;background:var(--tc);opacity:.45}
.rnladder b{font-weight:700}
.rnladder span{font-family:var(--f-mono);font-size:12px}
.rnladder .past{color:var(--ink)}.rnladder .past i{opacity:1}
.rnladder .on{background:var(--ink);color:var(--card)}.rnladder .on i{opacity:1;box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.runbar .count .rnbadge{font-size:24px}
