:root{--bg:#fff;--bg2:#f6f7f9;--card:#fff;--tx:#111827;--mu:#6b7280;--bd:#e5e7eb;--ac:#e5382b;--ac-s:#fdeceb;--ok:#2563eb;--lab:#f3f4f6;--sh:0 1px 3px rgba(16,24,40,.08);color-scheme:light}
:root[data-theme=dark]{--bg:#000;--bg2:#0a0a0c;--card:#101013;--tx:#f3f4f6;--mu:#9ca3af;--bd:#26262b;--ac:#ff5a4d;--ac-s:#2a1412;--ok:#6aa6ff;--lab:#17171b;--sh:none;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.6 Pretendard,-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.in,.w{max-width:1040px;margin:0 auto;padding-left:16px;padding-right:16px}
.w{padding-top:22px;padding-bottom:56px;min-height:70vh}
.hd{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--bd)}
.nv{display:flex;align-items:center;gap:4px;min-height:58px;flex-wrap:wrap}
.nv .lg{font-weight:800;font-size:18px;letter-spacing:-.3px;margin-right:auto;padding:0;color:var(--tx)}
.nv a{padding:7px 12px;border-radius:8px;color:var(--mu);font-size:14px}.nv a:hover{background:var(--bg2);color:var(--tx)}
.nv .mu{font-size:14px;padding:0 8px;color:var(--mu)}.nv form{margin:0}.nv button{padding:7px 12px;font-size:14px}
.sp{display:none}.mu,.m{color:var(--mu)}
button,.btn{cursor:pointer;font:inherit;font-weight:600;background:var(--ac);color:#fff;border:0;border-radius:10px;padding:10px 18px;display:inline-block}
button:hover,.btn:hover{opacity:.9}
button.g,.btn.g{background:var(--card);color:var(--tx);border:1px solid var(--bd);font-weight:500}
.tg{background:var(--bg2)!important;color:var(--tx)!important;border:1px solid var(--bd)!important;border-radius:99px!important;font-weight:500!important;margin-left:6px}
input,select,textarea{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px 13px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-s)}
label{display:block;margin:14px 0 5px;color:var(--mu);font-size:13px;font-weight:500}
.hero{text-align:center;padding:24px 0 4px}.hero h1{font-size:30px;margin:0 0 6px;letter-spacing:-.6px}.hero p{margin:0}
.sf{display:flex;gap:8px;max-width:640px;margin:20px auto 0}.sf input{flex:1;height:50px;border-radius:12px;font-size:16px;padding:0 16px}.sf button{height:50px;padding:0 26px;border-radius:12px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 4px}
.st{background:var(--bg2);border:1px solid var(--bd);border-radius:14px;padding:16px;text-align:center}.st b{display:block;font-size:26px;letter-spacing:-.5px}.st span{color:var(--mu);font-size:13px}
.tabs{display:flex;gap:8px;margin:22px 0 16px}.tabs a{padding:8px 18px;border-radius:99px;border:1px solid var(--bd);color:var(--mu);font-weight:500}.tabs a:hover{color:var(--tx)}.tabs a.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.cd{display:block;background:var(--card);border:1px solid var(--bd);border-radius:14px;overflow:hidden;box-shadow:var(--sh);transition:transform .15s,border-color .15s}
.cd:hover{transform:translateY(-3px);border-color:var(--ac)}
.th{position:relative;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#fff;font-size:38px;font-weight:800;background-size:cover;background-position:center}
.th.big{aspect-ratio:16/9;border-radius:12px;margin-bottom:16px}.th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rb{position:absolute;top:10px;left:10px;background:var(--ac);color:#fff;font-size:12px;font-weight:600;padding:2px 11px;border-radius:99px}.rb.nw{background:var(--ok)}
.cb{padding:12px 14px;font-size:13px}.cb b{display:block;font-size:15px}.cb *{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.box{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:26px;max-width:440px;margin:28px auto;box-shadow:var(--sh)}.box.wide{max-width:none;margin:10px 0}.box h2{margin-top:0}
.err{color:var(--ac);margin:10px 0;font-weight:500}.bk{display:inline-block;color:var(--mu);margin-bottom:6px;font-size:14px}.bk:hover{color:var(--tx)}
.info{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.info th{width:150px;background:var(--lab);text-align:left;font-weight:700;padding:11px 14px;border:1px solid var(--bd);vertical-align:top}
.info td{padding:11px 14px;border:1px solid var(--bd);word-break:break-all}
.sb{display:inline-block;margin-left:8px;background:#2b7bc9;color:#fff;border-radius:6px;padding:1px 10px;font-size:13px}
.info ul{list-style:none;margin:0;padding:0}.info li{padding:3px 0}.info li a:hover{text-decoration:underline}
.cm{border-top:1px solid var(--bd);padding:12px 0}.cm small{color:var(--mu)}.cm form{display:inline}.cm button{background:none;color:var(--mu);padding:0 6px;font-size:12px;font-weight:400}
.pg{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:28px;color:var(--mu)}.pg a{padding:7px 16px;border:1px solid var(--bd);border-radius:10px;color:var(--tx)}.pg a:hover{border-color:var(--ac)}
.ft{border-top:1px solid var(--bd);background:var(--bg2);color:var(--mu);font-size:12.5px;padding:22px 0}
@media(max-width:560px){.hero h1{font-size:23px}.gal{grid-template-columns:repeat(2,1fr);gap:10px}.stats{gap:8px}.st{padding:12px 6px}.st b{font-size:20px}.nv a{padding:7px 8px}.sf button{padding:0 16px}.info th{width:96px;padding:9px 8px}.info td{padding:9px 8px}.cb{padding:10px}}
.sn{border-top:1px solid var(--bd);background:var(--bg)}.sn .in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.sn a{padding:11px 14px;white-space:nowrap;color:var(--mu);border-bottom:2px solid transparent;font-size:14px}.sn a:hover{color:var(--tx)}.sn a.on{color:var(--tx);border-color:var(--ac);font-weight:700}
.bh{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.bs{display:flex;gap:8px;margin:16px 0 8px}.bs input{max-width:320px}
.bl{width:100%;border-collapse:collapse}.bl th,.bl td{padding:12px 8px;border-bottom:1px solid var(--bd);text-align:left}.bl th{color:var(--mu);font-weight:500;font-size:13px}
.bl td.t{width:100%}.bl td.t a:hover{text-decoration:underline}.pin{color:var(--ac);font-weight:700;font-size:13px}
.pm{color:var(--mu);font-size:13px}.pbody{padding:20px 0;margin:14px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);line-height:1.85;word-break:break-word}.pbody a{color:var(--ok);text-decoration:underline}
.tag{background:var(--ac);color:#fff;font-size:11px;padding:0 7px;border-radius:99px;margin-left:4px}
@media(max-width:560px){.hm{display:none}.bl th:nth-child(3),.bl td:nth-child(3){width:70px}}
.vh{display:flex;gap:18px;align-items:center;margin-bottom:4px}.vt{flex:0 0 200px}.vt img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;border:1px solid var(--bd)}
.vh h1{margin:6px 0 0;font-size:24px;letter-spacing:-.4px;word-break:break-all}
.bdg{display:inline-block;background:var(--ac);color:#fff;font-size:12px;font-weight:600;padding:2px 11px;border-radius:99px}.bdg.nw{background:var(--ok)}
@media(max-width:560px){.vt{flex-basis:110px}.vh h1{font-size:19px}}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.fg{grid-template-columns:1fr}}
.nv a.cp{color:var(--tx);font-weight:600}.nv a.cp b{font-weight:700}
.flash{background:var(--ac-s);border:1px solid var(--ac);color:var(--tx);border-radius:12px;padding:10px 16px;margin:0 0 16px;font-weight:600;animation:fl 6s forwards}
@keyframes fl{0%,85%{opacity:1}100%{opacity:0;height:0;padding:0;margin:0;border:0;overflow:hidden}}
.adm h2{font-size:18px;margin:0 0 12px}.adm .fg label{margin-top:10px}.adm .row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.adm td form{display:flex;gap:6px;margin:0}.adm td input{padding:6px 8px;width:90px}.adm td button{padding:6px 12px}
.lgw{overflow-x:auto}.lgt td,.lgt th{font-size:12.5px;white-space:nowrap;padding:8px 8px}.lgt td.wrap{white-space:normal;min-width:180px;word-break:break-all}
.rb2{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:99px;color:#fff;background:var(--mu)}.rb2.admin{background:var(--ac)}.rb2.member{background:var(--ok)}.rb2.bot{background:#6b7280}
.lgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}.lgs .st b{font-size:22px}
.lgf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-items:end}.lgf label{margin:0 0 3px}
.ev{color:var(--ac);font-weight:700}
/* 모바일 서브메뉴: 현재 위치 강조 + 좌우 스크롤 힌트 */
.sn{position:relative}.sn a.on{background:var(--ac-s);border-radius:8px 8px 0 0}
.sn:before,.sn:after{content:"";position:absolute;top:0;bottom:0;width:26px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:2}
.sn:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.sn:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.sn.l:before,.sn.r:after{opacity:1}
.ft .fl{margin-top:8px}.ft .fl a{color:inherit;text-decoration:underline}
.tl,.rel{margin:6px 0;padding-left:20px}.tl li,.rel li{margin:3px 0}
.pos{color:var(--ok)}.neg{color:var(--ac)}.nv a.mu:hover{color:var(--tx)}
