
:root{--ink:#222;--muted:#5f5f5f;--line:#ddd;--bg:#f4f2ee;--card:#fff;--accent:#7a4b1f;--soft:#fbf6ec;--side:#1e1b17;--sideink:#e9e2d6;--w:250px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 "Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",sans-serif;word-break:keep-all}
#toc{position:fixed;left:0;top:0;bottom:0;width:var(--w);background:var(--side);color:var(--sideink);overflow-y:auto;z-index:20;padding:16px 10px 40px}
#toc .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px;border-bottom:1px solid #3a342c;margin-bottom:10px;color:#fff;text-decoration:none;font-weight:bold;font-size:17px}
#toc .brand img{width:40px;height:40px;border-radius:8px;object-fit:cover}
#toc a{color:var(--sideink);text-decoration:none;display:flex;align-items:center;gap:8px;border-radius:6px}
#toc .top{font-weight:bold;font-size:15px;padding:7px 8px;margin-top:4px}
#toc .top img{width:26px;height:26px;border-radius:5px;object-fit:cover;background:#000}
#toc .subs{display:none;padding:2px 0 6px 12px}
#toc .grp.open .subs{display:block}
#toc .sub{font-size:13px;padding:4px 8px;color:#bdb4a5}
#toc .sub .av{width:20px;height:20px}
#toc a:hover{background:#2e2923;color:#fff}
#toc a.active{background:#4a3a26;color:#fff}
#toc .sub.active{background:#3a3126;color:#fff}
#menuBtn{display:none;position:fixed;top:10px;left:10px;z-index:30;background:var(--side);color:#fff;border:0;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
#shade{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:15}
.wrap{margin-left:var(--w);padding:24px 28px 60px;max-width:calc(var(--w) + 920px)}
.hero-banner{position:relative;border-radius:12px;overflow:hidden;background:#1e1b17;color:#fff;display:flex;align-items:center;gap:18px;padding:20px 22px;margin-bottom:14px}
.hero-banner img{width:150px;height:110px;object-fit:contain;flex:none}
.hero-banner h1{margin:0 0 4px;font-size:28px}.hero-banner p{margin:0;color:#d9d0c1}
.strip{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding-bottom:4px}
.strip img{width:56px;height:68px;object-fit:cover;border-radius:6px;flex:none;border:2px solid #fff}
.rule{background:var(--soft);border:1px solid #ead9b8;border-radius:8px;padding:12px 14px;margin:0 0 14px;font-size:15px}
.sechead{display:flex;align-items:center;gap:12px;margin:38px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.sechead img{width:52px;height:52px;border-radius:10px;object-fit:cover;background:#000}
.sechead h1{font-size:23px;margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin:0 0 14px}
.head{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.head h2{font-size:20px;margin:0}.sub{color:var(--muted);font-size:14px}
.icon{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#000;flex:none}
.portrait{width:84px;height:102px;object-fit:cover;border-radius:8px;border:1px solid var(--line);flex:none}
.card h3{font-size:16px;margin:16px 0 4px;color:var(--accent)}.card p{margin:0}
.tbl{overflow-x:auto;margin-top:10px}table{width:100%;border-collapse:collapse;font-size:15px}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:middle}th{background:#efefef}
tbody tr:nth-child(even){background:#fafafa}
.hn{display:inline;white-space:nowrap}.hn .av{display:inline-block;width:24px;height:24px;vertical-align:middle;margin:-3px 4px 0 0;position:relative;top:-1px}
.av{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:top;border:1px solid #ccc;flex:none;background:#000}
.notes{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:14px}
.tiles{display:flex;gap:10px;margin:10px 0 4px;flex-wrap:wrap}.tiles figure{margin:0;text-align:center}.tiles img{width:96px;height:96px;border-radius:10px;object-fit:cover;background:#000;display:block}.tiles figcaption{margin-top:4px}
.fac{display:inline-block;font-size:12px;font-weight:bold;padding:1px 8px;border-radius:999px;color:#fff;vertical-align:1px;white-space:nowrap}
.f-게릴라{background:#3d7a3a}.f-레기온{background:#6b4aa0}.f-레인저{background:#2f6aa3}
.search{margin:0 0 14px}.search input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:16px;font-family:inherit}
.facbtns{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.facbtns button{font:inherit;font-size:14px;padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}.facbtns button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:3px 10px 3px 3px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.hide{display:none!important}
footer{color:var(--muted);font-size:13px;text-align:center;padding:20px}
.totop{position:fixed;right:14px;bottom:72px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 12px;font-size:13px;text-decoration:none;z-index:10}
.strip{scrollbar-width:none}.strip::-webkit-scrollbar{display:none}
@media (max-width:900px){
 #toc{padding-top:60px}
 @media (max-width:640px){.tbl table,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl thead{display:none}.tbl tr{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:#fff!important}.tbl td{border:0;padding:3px 0}.tbl td::before{content:attr(data-h);display:block;font-size:12px;color:var(--muted);font-weight:bold}.tbl td:first-child{font-weight:bold}.tbl td:first-child::before{display:none}}
 #toc{transform:translateX(-105%);width:280px;box-shadow:4px 0 16px rgba(0,0,0,.3)} body.nav #toc{transform:none} body.nav #shade{display:block}
 #menuBtn{display:block} .wrap{margin-left:0;padding:58px 14px 60px} html{scroll-padding-top:60px}
 .hero-banner{flex-direction:column;align-items:flex-start;padding:16px}.hero-banner h1{font-size:23px}.hero-banner img{width:120px;height:88px}
 .card{padding:16px}.portrait{width:72px;height:88px}.icon{width:54px;height:54px}
}
@media print{#toc,#menuBtn,.totop,.search{display:none}.wrap{margin:0}.card{break-inside:avoid}}

.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:6px 0 20px}
.home-grid a{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--ink);text-decoration:none}
.home-grid a:hover{border-color:var(--accent)}.home-grid img{width:56px;height:56px;border-radius:10px;object-fit:cover;background:#000;flex:none}
.home-grid b{display:block;font-size:16px}.home-grid span{font-size:13px;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.pager a{flex:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);text-decoration:none;font-size:14px}.pager a.next{text-align:right}.pager small{display:block;color:var(--muted)}
.rule.live{background:#1e1b17;color:#f1e7d6;border-color:#1e1b17}.rule.live a{color:#f5c26b}.rule.live:empty{display:none}
td{line-height:1.6}
.today{background:#1e1b17;color:#f1e7d6;border-radius:12px;padding:16px 18px;margin:0 0 14px}
.today h2{margin:0 0 2px;font-size:20px;color:#fff}.today .when{color:#cbbfa9;font-size:14px;margin-bottom:10px}
.today .theme{display:flex;align-items:center;gap:12px;background:#2b2620;border-radius:10px;padding:10px 12px;margin:8px 0}
.today .theme img{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#000;flex:none}
.today .theme b{color:#f5c26b;font-size:17px}
.today ul{margin:6px 0 0;padding-left:20px}.today li{margin:3px 0}
.today h3{color:#f5c26b;font-size:15px;margin:12px 0 2px}
.today a{color:#f5c26b}
.today .tag{display:inline-block;font-size:12px;background:#4a3a26;color:#fff;border-radius:999px;padding:1px 8px;margin-right:4px}
.formation{background:#2a3d2a;background:linear-gradient(#3b5a3a,#2b402b);border-radius:12px;padding:12px 10px 14px;margin:10px 0 12px;color:#fff;max-width:520px}
.fcap{font-weight:bold;font-size:14px;margin:0 0 8px 4px;color:#f5e3b8}
.frow{display:flex;justify-content:center;gap:8px;align-items:flex-start;margin:4px 0;position:relative}
.frow.back{margin-top:10px;padding-top:10px;border-top:2px dashed rgba(255,255,255,.35)}
.flbl{position:absolute;left:4px;top:50%;transform:translateY(-50%);font-size:11px;color:#cfe3c6;writing-mode:vertical-rl}
.frow.back .flbl{top:calc(50% + 5px)}
.slot{width:84px;text-align:center}
.slot img{width:64px;height:76px;object-fit:cover;object-position:top;border-radius:8px;border:2px solid #f5e3b8;background:#000;display:block;margin:0 auto 3px}
.slot b{display:block;font-size:12px;line-height:1.3}.slot small{font-size:11px;color:#cfe3c6}
@media (max-width:420px){.slot{width:66px}.slot img{width:54px;height:64px}.slot b{font-size:11px}}
.slot{position:relative}.slot .sn{position:absolute;top:-6px;left:4px;background:#f5e3b8;color:#2b402b;border-radius:50%;width:20px;height:20px;line-height:20px;font-size:13px;font-weight:bold;z-index:1}
.frow.front .slot img{border-color:#e9a46a}
#toc .grp.cur>.top{position:relative}#toc .grp.cur>.top::after{content:'▾';position:absolute;right:10px;color:#bdb4a5;transition:transform .2s}#toc .grp.cur:not(.open)>.top::after{transform:rotate(-90deg)}
p.note{font-size:13px;color:var(--muted)}