*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--g2)}
body{margin:0;background:var(--pa);color:var(--ink);font:400 16px/1.7 "Pretendard Variable","Pretendard",system-ui,sans-serif;word-break:keep-all;transition:background-color .35s}
h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}
a{color:inherit}
.wrap{width:min(100% - 40px,1240px);margin:0 auto}
.lbl{font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--inkm)}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:4px;font-weight:600;text-decoration:none}
.btn.pri{background:var(--ac);color:var(--aci)}
.top{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--g2) 90%,transparent);backdrop-filter:blur(10px);color:var(--on);border-bottom:1px solid rgb(255 255 255/.08)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:58px;gap:16px}
.brand{font-weight:700;text-decoration:none}
.brand span{font:500 11px/1 "IBM Plex Mono",monospace;color:var(--onm);margin-left:8px;letter-spacing:.08em}
.top nav{display:flex;gap:22px;font-size:14px;color:var(--onm)}
.top nav a{text-decoration:none}.top nav a:hover{color:var(--on)}
.hero{background:radial-gradient(80% 120% at 85% 0%,var(--g3),transparent 60%),var(--g);color:var(--on);padding:72px 0 56px;transition:background-color .35s}
.hero .lbl{color:var(--onm)}
.hero h1{font-size:clamp(36px,5vw,66px);line-height:1.1;letter-spacing:-.045em;font-weight:800;margin:14px 0 18px}
.hero h1 b{color:var(--ac)}
.lede{font-size:18px;color:var(--onm);max-width:34em}
.channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.ch{border-radius:12px;padding:20px;background:linear-gradient(180deg,rgb(255 255 255/.06),rgb(255 255 255/.015)),var(--g2);box-shadow:inset 0 1px 0 rgb(255 255 255/.1),inset 0 0 0 1px rgb(255 255 255/.06);display:grid;gap:14px;transition:background-color .35s}
.ch-h{display:flex;align-items:center;gap:12px}
.ch-h img{width:48px;height:48px;border-radius:50%}
.ch-h b{display:block;font-size:17px}
.ch-h span{font:500 12px/1.4 "IBM Plex Mono",monospace;color:var(--onm)}
.ch-n{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ch-n div{background:rgb(0 0 0/.25);border-radius:6px;padding:8px 10px}
.ch-n b{display:block;font:600 18px/1.25 "IBM Plex Mono",monospace;color:var(--ac);font-variant-numeric:tabular-nums}
.ch-n span{font:500 10.5px/1.4 "IBM Plex Mono",monospace;color:var(--onm)}
.ch a{justify-self:start;font-size:14px;font-weight:600;text-decoration:none;color:var(--on);padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px rgb(255 255 255/.25)}
.ch a:hover{background:rgb(255 255 255/.08)}
.asof{margin-top:16px;font:500 12px/1.4 "IBM Plex Mono",monospace;color:var(--onm)}
section.series,section.growth,section.make{padding:84px 0}
.sh{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.sh h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.035em;line-height:1.2;font-weight:800;margin-top:8px}
.lang{border:0;margin:0;display:inline-flex;padding:4px;border-radius:999px;background:var(--pa2)}
.lang button{border:0;background:none;font:600 14px/1 inherit;font-family:inherit;color:var(--inkm);padding:10px 16px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--pa)}
.week{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr);gap:24px;padding:28px 0;border-top:2px solid var(--ink)}
.week-h{grid-column:1/-1;display:flex;align-items:baseline;gap:14px}
.week-h b{font:600 13px/1 "IBM Plex Mono",monospace;color:var(--lk);letter-spacing:.1em}
.week-h h3{font-size:24px;letter-spacing:-.02em}
.long{display:grid;gap:12px;align-content:start}
.thumb{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;border-radius:8px;overflow:hidden;background:var(--g2);box-shadow:0 24px 40px -28px rgb(0 0 0/.6)}
.thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.thumb:hover img{transform:scale(1.03)}
.thumb .play{position:absolute;left:12px;bottom:12px;width:44px;height:44px;border-radius:50%;background:rgb(0 0 0/.65);color:#fff;display:grid;place-items:center;font-size:15px}
.thumb .dur{position:absolute;right:10px;bottom:10px;font:600 12px/1 "IBM Plex Mono",monospace;background:rgb(0 0 0/.72);color:#fff;padding:5px 7px;border-radius:4px}
.long .thumb{aspect-ratio:16/9}
.long h4{margin:0;font-size:19px;line-height:1.35;letter-spacing:-.015em}
.meta{font:500 12.5px/1.5 "IBM Plex Mono",monospace;color:var(--inkm)}
.long details summary{cursor:pointer;color:var(--lk);font-size:14px;font-weight:600}
.long details p{margin-top:8px;color:var(--inkm);font-size:14.5px}
.shorts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-content:start}
.short{display:grid;gap:8px;align-content:start}
.short .thumb{aspect-ratio:9/16}
.short p{font-size:13.5px;line-height:1.45}
.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.chart{background:var(--g);color:var(--on);border-radius:12px;padding:18px 18px 10px;transition:background-color .35s}
.chart figcaption{font-weight:700;margin-bottom:8px}
.chart svg{display:block;width:100%;height:auto}
.chart text{font:11px "IBM Plex Mono",monospace;fill:var(--onm)}
.legend{display:flex;gap:16px;font:500 12px/1 "IBM Plex Mono",monospace;color:var(--onm);margin:6px 0 4px}
.legend i{display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.tbl-wrap{overflow-x:auto;margin-top:22px}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.tbl th{text-align:left;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;color:var(--inkm);padding:0 12px 10px 0;border-bottom:2px solid var(--ink)}
.tbl td{padding:12px 12px 12px 0;border-bottom:1px solid var(--ru);font-variant-numeric:tabular-nums}
.tbl td:first-child{font-weight:700}
.make{background:var(--pa2);transition:background-color .35s}
.pipe{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pipe li{background:var(--pa);border-radius:8px;padding:16px;display:grid;gap:6px;align-content:start;position:relative}
.pipe span{font:500 12px/1 "IBM Plex Mono",monospace;color:var(--lk)}
.pipe b{font-size:17px}
.pipe p{font-size:14px;color:var(--inkm)}
.cta-band{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 24px;border-radius:12px;background:var(--g);color:var(--on);transition:background-color .35s}
.cta-band p{font-size:17px;font-weight:600}
.foot{background:var(--g2);color:var(--onm);padding:28px 0 110px;font-size:14px;transition:background-color .35s}
.foot dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.foot dt{font:500 11px/1.6 "IBM Plex Mono",monospace;letter-spacing:.1em}
.foot dd{color:var(--on)}
.blank{display:block;height:1.5em;border-bottom:1px dashed var(--onm)}
.player{border:0;padding:0;background:transparent;width:min(960px,94vw)}
.player.v{width:min(420px,92vw)}
.player::backdrop{background:rgb(0 0 0/.75)}
.player-in{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.player.v .player-in{aspect-ratio:9/16}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.close{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgb(0 0 0/.6);color:#fff;font-size:22px;cursor:pointer}
@media(max-width:900px){
 .top nav{display:none}
 .channels,.charts{grid-template-columns:1fr}
 .week{grid-template-columns:1fr}
 .shorts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
 .short{scroll-snap-align:start}
 .pipe{grid-template-columns:1fr 1fr}
 .foot dl{grid-template-columns:1fr 1fr}
}

.spec{border-radius:12px;overflow:hidden;background:var(--g);color:var(--on);display:grid;grid-template-rows:auto auto 1fr;box-shadow:0 1px 0 rgb(255 255 255/.5) inset,0 40px 70px -46px rgb(0 0 0/.65);transition:background-color .35s}
.spec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 18px 12px}
.spec-h h3{font-size:19px;letter-spacing:-.02em}
.spec-h .no{font:600 12px/1 "IBM Plex Mono",monospace;color:var(--ac);letter-spacing:.1em}
.stage{position:relative;aspect-ratio:16/10;background:var(--g2);transition:background-color .35s}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.spec-b{padding:14px 18px 18px;display:grid;gap:12px;align-content:start}
.eq{font:500 13.5px/1.5 "IBM Plex Mono",monospace;color:var(--on);padding:8px 10px;border-radius:6px;background:rgb(255 255 255/.05);overflow-wrap:anywhere}
.ctls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px}
.cap{font-size:12.5px;color:var(--onm);line-height:1.55}
.ctl{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13px;color:var(--onm)}
.ctl output{font:500 12.5px/1.4 "IBM Plex Mono",monospace;color:var(--on)}
.ctl input,.ctl select{grid-column:1/-1;width:100%;accent-color:var(--ac)}
.ctl select{min-height:36px;border-radius:6px;border:0;background:rgb(255 255 255/.08);color:var(--on);padding:0 10px;font:inherit}
.read{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.read div{background:rgb(0 0 0/.28);border-radius:6px;padding:9px 11px;box-shadow:inset 0 1px 3px rgb(0 0 0/.5)}
.read b{display:block;font:600 18px/1.25 "IBM Plex Mono",monospace;color:var(--ac);font-variant-numeric:tabular-nums}
.read span{font:500 10.5px/1.4 "IBM Plex Mono",monospace;color:var(--onm);letter-spacing:.04em}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--g) 0%,color-mix(in oklab,var(--g) 80%,transparent) 45%,color-mix(in oklab,var(--g) 30%,transparent) 100%),linear-gradient(0deg,var(--g),transparent 35%)}
.hero-canvas{z-index:0;opacity:.85}
.lang-link{font:600 13px/1 inherit;color:var(--on);text-decoration:none;padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgb(255 255 255/.25)}
.week{grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr)}
.week .sims{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px}
.week .sims-h{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:10px;font:600 13px/1.4 "IBM Plex Mono",monospace;color:var(--lk);letter-spacing:.06em}
.week .sims-h::after{content:"";flex:1;height:1px;background:var(--ru)}
.spec{border-radius:12px;overflow:hidden;background:var(--g);color:var(--on);display:grid;grid-template-rows:auto auto 1fr;box-shadow:0 1px 0 rgb(255 255 255/.5) inset,0 40px 70px -46px rgb(0 0 0/.65)}
.watch{justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px 0 6px;border-radius:999px;border:0;background:rgb(255 255 255/.08);color:var(--on);font:600 13.5px/1.3 inherit;font-family:inherit;cursor:pointer;text-align:left}
.watch:hover{background:rgb(255 255 255/.14)}
.watch img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none}
.watch i{font-style:normal;color:var(--ac)}
.foot .links{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap}
.foot .links a{color:var(--on)}
@media(max-width:900px){.week{grid-template-columns:1fr}.week .sims{grid-template-columns:1fr}.week-h{flex-direction:column;align-items:flex-start;gap:6px}.brand span{display:none}.top .wrap{gap:10px}}
