:root{--bg:#0b0b0c;--bg2:#000;--card:#16161a;--line:#26262a;--text:#f4f4f2;--mute:#b8b8b4;--y:#ffd400;--on-y:#0b0b0c;--r:16px}
[data-theme=light]{--bg:#f6f5f1;--bg2:#fff;--card:#fff;--line:#deddd7;--text:#141414;--mute:#55554f;--y:#ffd400;--on-y:#0b0b0c}
*{box-sizing:border-box}
body{margin:0;font-family:'Noto Sans KR',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}a:hover{color:var(--y)}[data-theme=light] a:hover{color:#8a6d00}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
button{font:inherit;cursor:pointer}
.btn{display:inline-block;padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-weight:700;font-size:15px}
.btn.p{background:var(--y);color:var(--on-y);border-color:var(--y)}
.btn:hover{color:inherit;filter:brightness(1.08)}
.topbar{background:var(--bg2);border-bottom:1px solid var(--line);font-size:13px;color:var(--mute)}
.topbar .wrap{min-height:40px;display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:space-between}
.topbar button{background:none;border:0;color:var(--mute);padding:8px 0}
.hl{background:var(--y);color:var(--on-y);font-weight:700;font-size:14px}
.hl .wrap{min-height:44px;display:flex;align-items:center;gap:14px}
.hl .tag{background:#0b0b0c;color:var(--y);padding:3px 10px;font-size:12px;letter-spacing:1px;white-space:nowrap}
.hl a{flex:1;color:var(--on-y);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hl a:hover{text-decoration:underline;color:var(--on-y)}
.hl button{background:none;border:0;font-size:16px;color:var(--on-y);padding:10px}
header.site{border-bottom:1px solid var(--line)}
header.site .wrap{padding-top:16px;padding-bottom:16px;display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:14px}.logo img{width:52px;height:52px;object-fit:contain}
.logo b{font-size:26px;font-weight:900;letter-spacing:-.5px;display:block;line-height:1.2}.logo b i{font-style:normal;color:var(--y)}
.logo small{font-size:11px;letter-spacing:2.5px;color:var(--mute)}
nav.main{display:flex;flex-wrap:wrap;gap:4px 20px;font-weight:700}
nav.main a{padding:8px 0}
nav.main a.on{color:var(--y);border-bottom:2px solid var(--y)}
.hero{position:relative;margin-top:28px;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:2/1;max-height:620px}
.hero video,.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .cap{position:absolute;left:0;right:0;bottom:0;padding:90px 36px 26px;background:linear-gradient(to top,rgba(0,0,0,.92),transparent);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end;color:#f4f4f2}
.hero h1{margin:10px 0 6px;font-size:clamp(24px,3.4vw,40px);line-height:1.2;font-weight:900;letter-spacing:-1px}
.hero p{margin:0;color:#d6d6d2}.hero .tagb{background:var(--y);color:#0b0b0c;font-size:12px;font-weight:900;padding:4px 10px}
.hero small{font-size:12px;color:#b8b8b4}
.quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.quick a{padding:10px 18px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:15px;background:var(--card)}
.ad{margin:32px 0;display:flex;justify-content:center}
.ad a{display:block}.ad img{display:block;max-height:140px;border-radius:12px;width:auto}
.ad.ph{border:1px dashed var(--line);border-radius:12px;min-height:90px;align-items:center;color:var(--mute);font-size:14px;text-align:center;padding:12px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;margin-top:40px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.hero{aspect-ratio:auto;max-height:none;display:flex;flex-direction:column;background:var(--card)}.hero video,.hero img.bg{position:static;height:auto;aspect-ratio:2/1}.hero .cap{position:static;background:none;padding:18px}.hero p{color:var(--mute)}.hero h1{color:var(--text)}.hero small{color:var(--mute)}}
.sechead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.sechead h2{margin:0;font-size:26px;font-weight:900}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chips button{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:700;font-size:14px}
.chips button.on{background:var(--y);color:var(--on-y);border-color:var(--y)}
.list{display:grid;gap:16px}
.item{display:grid;grid-template-columns:200px 1fr;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer}
.item .th{background:var(--bg);border-radius:12px;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--y);font-weight:900;font-size:13px}
.item .th img{width:100%;height:100%;object-fit:cover}
.item h3{margin:6px 0;font-size:20px;line-height:1.35}
.item .cat{color:var(--y);font-size:13px;font-weight:700}[data-theme=light] .item .cat{color:#8a6d00}
.item p{margin:0 0 8px;color:var(--mute);font-size:15px}
.meta{font-size:13px;color:var(--mute)}
@media(max-width:600px){.item{grid-template-columns:1fr}}
.more{display:block;margin:24px auto 0}
aside .box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:20px}
aside h3{margin:0 0 12px;font-size:17px}
aside ol{margin:0;padding-left:20px;display:grid;gap:10px;font-size:15px}
aside li{cursor:pointer}aside li:hover{color:var(--y)}
.tv{background:var(--y);color:var(--on-y);border-radius:20px;padding:34px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;margin-top:48px}
.tv h2{margin:6px 0 10px;font-size:30px;line-height:1.25;font-weight:900}.tv p{margin:0 0 16px}
.tv .btn{background:#0b0b0c;color:var(--y);border-color:#0b0b0c}
.tv .links{display:flex;gap:10px;flex-wrap:wrap}
.svc{margin-top:56px}.svc .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}
.svc .c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px}
.svc .c b{font-size:18px}.svc .c span{color:var(--mute);font-size:14px;flex:1}
.svc img.card{width:100%;max-width:560px;border-radius:14px;margin-top:20px}
footer{margin-top:64px;background:var(--bg2);border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
footer .wrap{padding-top:34px;padding-bottom:34px;display:grid;gap:6px}
footer b{color:var(--text);font-size:16px}
dialog{border:0;padding:0;border-radius:16px;background:var(--card);color:var(--text);max-width:min(760px,94vw);width:100%;max-height:92vh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.72)}
.dlg{padding:28px}.dlg h2{margin:0 0 6px;font-size:26px;line-height:1.3}
.dlg .body p{margin:0 0 16px;font-size:17px;line-height:1.8}
.dlg img.main{width:100%;border-radius:12px;margin:16px 0}
.dlg iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;margin:12px 0}
.x{float:right;background:none;border:1px solid var(--line);color:var(--text);border-radius:999px;width:40px;height:40px;font-size:18px}
form label{display:grid;gap:6px;margin-bottom:14px;font-size:14px;color:var(--mute)}
form input,form select,form textarea{padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.hp{position:absolute;left:-9999px}
.pop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.66);padding:16px}
.pop.corner{inset:auto 16px 16px auto;background:none;padding:0;display:block;width:min(360px,calc(100vw - 32px))}
.pop.full{padding:0}
.pop .pb{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;overflow:hidden;width:min(480px,100%);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.pop.corner .pb{width:100%}.pop.full .pb{width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}
.pop .pc{flex:1;min-height:0;display:block}
.pop .pc img,.pop .pc video{display:block;width:100%;max-height:70vh;object-fit:contain;background:#000}
.pop.full .pc img,.pop.full .pc video,.pop.full .pc iframe{max-height:none;height:100%}
.pop iframe{width:100%;height:60vh;border:0;display:block}
.pop .pt{padding:16px 18px;display:grid;gap:10px}
.pop .pf{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
.pop .pf button{background:none;border:0;color:var(--mute);padding:6px}
.ai{position:fixed;right:20px;bottom:20px;z-index:40}
.ai>button{background:var(--y);color:var(--on-y);border:0;border-radius:999px;padding:14px 20px;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.aip{position:absolute;right:0;bottom:64px;width:min(340px,calc(100vw - 40px));background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:none;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.aip.open{display:block}.aip input{width:100%;padding:11px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.aip ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;max-height:240px;overflow:auto;font-size:14px}.aip li{cursor:pointer}.aip li:hover{color:var(--y)}
.demo{background:#7a1f1f;color:#fff;text-align:center;font-size:13px;padding:8px}
.empty{padding:40px;text-align:center;color:var(--mute);border:1px dashed var(--line);border-radius:var(--r)}
/* v2 accessibility, responsive navigation and editorial separation */
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--y);outline-offset:3px}
.skip{position:absolute;top:-80px;left:12px;background:var(--y);color:#000;padding:10px;z-index:99}
.skip:focus{top:8px}
.top-actions{display:flex;gap:18px;align-items:center}
.navtoggle{display:none;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);padding:8px 12px}
.searchbox{display:flex;align-items:center;gap:8px;margin:12px 0 18px;flex-wrap:wrap}
.searchbox label{font-size:14px;font-weight:700;white-space:nowrap}
.searchbox input{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:150px;flex:1}
.searchbox .btn{padding:10px 16px;white-space:nowrap}
.item{color:var(--text)}.item:hover{color:var(--text);border-color:var(--y);transform:translateY(-1px)}
.item:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.item .thplaceholder{text-align:center;font-size:13px;letter-spacing:1px;line-height:1.9;color:var(--y)}
.ad-label{font-size:11px;color:var(--mute);padding-right:8px;align-self:flex-start}
.ad:not([hidden]){align-items:center}
.tv-kicker{font-size:13px;letter-spacing:1px}
.svc>.meta{margin-top:-8px;margin-bottom:22px}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
.footer-links a{text-decoration:underline;text-underline-offset:3px}
.consent{display:flex!important;align-items:flex-start;gap:10px;color:var(--text)}
.consent input{width:19px;height:19px;margin-top:3px;flex-shrink:0;accent-color:#e1bd00}
.consent a{text-decoration:underline}
.news-column{min-width:0}
.main{align-items:center}
@media(max-width:1000px){
  .navtoggle{display:block;margin-left:auto}
  nav.main{display:none;flex-basis:100%;width:100%;padding:6px 0;gap:4px 14px;border-top:1px solid var(--line)}
  nav.main.opened{display:flex}
  nav.main a{padding:10px 8px}
}
@media(max-width:600px){
  .wrap{padding-left:16px;padding-right:16px}
  .topbar .wrap{gap:0 10px;font-size:12px}
  .top-actions{gap:10px}
  .logo img{width:44px;height:44px}
  .logo b{font-size:21px}
  .logo small{font-size:9px;letter-spacing:1.2px}
  .hero{margin-top:14px}
  .hero video,.hero img.bg{aspect-ratio:16/9;object-fit:cover}
  .hero .cap{padding:16px}
  .hero h1{font-size:24px}
  .hero p{font-size:13px}
  .quick{margin-top:14px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px}
  .quick a{font-size:13px;flex-shrink:0;padding:8px 12px}
  .layout{margin-top:24px;gap:20px}
  .sechead h2{font-size:23px}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .chips button{white-space:nowrap;flex-shrink:0}
  .item{grid-template-columns:128px minmax(0,1fr);gap:12px;padding:10px}
  .item .th{aspect-ratio:4/5}
  .item h3{font-size:16px;line-height:1.4}
  .item p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .item .meta{font-size:11px}
  .tv{padding:22px;margin-top:28px}.tv h2{font-size:24px}
  .svc{margin-top:36px}
  .dlg{padding:20px}
}
@media(max-width:380px){.item{grid-template-columns:1fr}.item .th{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
