:root {
  /* Colors */
  --color-obsidian: #000000;
  --color-smoke: #050409;
  --color-ash-mist: #b8b6bb;
  --color-iron-veil: #89868e;
  --color-faded-print: #999999;
  --color-snow: #ffffff;
  --color-eclipse-indigo: #0e0a17;
  --color-signal-blue: #3d6a99;
  --color-glacier-beam: #71b8f2;

  /* Typography — Font Families */
  --font-max-sans: 'Max Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Typography — Scale */
  --text-caption: 10px;
  --leading-caption: 1.6;
  --tracking-caption: 0.83px;
  --text-body: 14px;
  --leading-body: 1.25;
  --text-body-lg: 16px;
  --leading-body-lg: 1.2;
  --text-subheading: 18px;
  --leading-subheading: 1.23;
  --text-heading-sm: 24px;
  --leading-heading-sm: 1.11;
  --text-heading: 28px;
  --leading-heading: 1.1;
  --text-heading-lg: 35px;
  --leading-heading-lg: 1;
  --text-display: 56px;
  --leading-display: 0.8;

  /* Typography — Weights */
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing */
  --spacing-unit: 4px;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-28: 28px;
  --spacing-32: 32px;
  --spacing-48: 48px;
  --spacing-56: 56px;
  --spacing-96: 96px;

  /* Layout */
  --page-max-width: 1280px;
  --section-gap: 64px;
  --card-padding: 24px;
  --element-gap: 16px;

  /* Border Radius */
  --radius-md: 4.5px;
  --radius-lg: 8px;
  --radius-full: 100px;

  /* Named Radii */
  --radius-tags: 4.5px;
  --radius-cards: 4.5px;
  --radius-pills: 100px;
  --radius-images: 8px;
  --radius-buttons: 8px;

  /* Surfaces */
  --surface-obsidian-canvas: #000000;
  --surface-smoke-surface: #050409;
  --surface-snow-card: #ffffff;
  --surface-signal-blue-accent: #3d6a99;
}

@font-face{font-family:ApprovedKorean;src:url('assets/NotoSansKR.woff') format('woff');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--spacing-96)}body{margin:0;background:var(--color-obsidian);color:var(--color-snow);font-family:ApprovedKorean,var(--font-max-sans);font-size:var(--text-body);line-height:var(--leading-body);font-feature-settings:"locl" 0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--color-glacier-beam);outline-offset:var(--spacing-4)}.wrap{width:calc(100% - var(--spacing-48));max-width:var(--page-max-width);margin-inline:auto}header{position:sticky;top:0;z-index:10;background:var(--color-obsidian)}.nav-row{min-height:var(--spacing-56);display:flex;align-items:center;justify-content:space-between;gap:var(--element-gap)}.brand{font-weight:700}nav{display:flex;gap:var(--spacing-32)}@media(hover:hover) and (pointer:fine){nav a:hover,a:hover{color:var(--color-glacier-beam)}}.menu{display:none}h1,h2,h3,p,figure{margin:0}section{padding-block:var(--section-gap)}.hero{text-align:center;padding-top:var(--spacing-48)}.eyebrow{font-size:var(--label-size);line-height:var(--leading-caption);letter-spacing:var(--label-tracking);color:var(--color-ash-mist)}h1{font-size:var(--text-display);line-height:var(--leading-display);font-weight:300;margin-top:var(--spacing-24);word-break:keep-all}.subtitle{font-size:var(--text-heading);line-height:var(--leading-heading);font-weight:400;margin-top:var(--spacing-24);color:var(--color-ash-mist)}.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-body);line-height:var(--leading-body);font-weight:600;letter-spacing:var(--button-tracking);border-radius:var(--radius-buttons);color:var(--color-snow);padding:var(--spacing-12) var(--spacing-16);border:1px solid transparent}.primary{background:var(--color-signal-blue)}.ghost{background:transparent;border-color:var(--color-snow);padding-block:var(--ghost-padding)}@media(hover:hover) and (pointer:fine){.primary:hover,.ghost:hover{color:var(--color-snow);border-color:var(--color-glacier-beam)}}.poster-wall{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:var(--radius-images);aspect-ratio:16/7}.poster-wall img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.media-block{display:flex;gap:var(--element-gap);justify-content:space-between;align-items:center;padding-block:var(--spacing-24);text-align:left}.track-title{font-size:var(--text-body-lg);line-height:var(--leading-body-lg);font-weight:400}.track-title span,#play-status{font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ash-mist)}#play-status{margin-top:var(--spacing-8)}#transport{display:flex;align-items:center;gap:var(--spacing-12);flex-wrap:wrap;text-align:left}#transport[hidden]{display:none}input[type=range]{accent-color:var(--color-signal-blue);min-height:var(--spacing-32)}#seek{flex:1;min-width:var(--spacing-96)}#volume{width:var(--spacing-96)}output{font-variant-numeric:tabular-nums}.section-heading{text-align:center;margin-bottom:var(--spacing-48)}h2{font-size:var(--text-heading);line-height:var(--leading-heading);font-weight:400}.section-heading h2{margin-top:var(--spacing-16)}.section-heading p:last-child:not(.eyebrow){font-size:var(--text-body-lg);line-height:var(--leading-body-lg);color:var(--color-ash-mist);margin-top:var(--spacing-16);word-break:keep-all}.reading{max-width:640px;margin:auto;background:var(--color-snow)}.reading img{display:block;width:100%;height:auto}.after-reading{text-align:center;margin-top:var(--spacing-48)}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-24)}.roster img{width:100%;height:auto;display:block;border-radius:var(--radius-images)}.roster h3{font-size:var(--text-subheading);line-height:var(--leading-subheading);font-weight:400;margin-top:var(--spacing-16)}.roster p{color:var(--color-ash-mist);margin-top:var(--spacing-8);word-break:keep-all}.credits{text-align:center}.credits p{margin-top:var(--spacing-24);color:var(--color-ash-mist)}.credits a{display:inline-block;margin-top:var(--spacing-24);color:var(--color-glacier-beam)}footer{padding-block:var(--spacing-32);display:flex;justify-content:space-between;gap:var(--element-gap);border-top:1px solid var(--color-iron-veil)}
@media(max-width:640px){.wrap{width:calc(100% - var(--spacing-32))}.menu{display:inline-flex}nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:var(--spacing-24);background:var(--color-obsidian);flex-direction:column;gap:var(--spacing-24)}nav.open{display:flex}.poster-wall{grid-template-columns:repeat(2,1fr);aspect-ratio:4/3}.poster-wall img:nth-child(n+3){display:none}.roster{grid-template-columns:repeat(2,1fr);gap:var(--spacing-16)}.volume-label,#volume{display:none}.media-block{align-items:flex-start}#transport label[for=seek]{width:100%}.hero{padding-top:var(--spacing-32)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.mode-select{display:flex;justify-content:center;gap:var(--spacing-16);margin-bottom:var(--spacing-24);flex-wrap:wrap}#cinema-frame{position:relative;aspect-ratio:16/9;background:var(--color-obsidian)}#cinema{display:block;width:100%;height:100%;object-fit:contain}#cinema-frame[hidden],#end-card[hidden]{display:none}#end-card{position:absolute;inset:0;display:grid;place-items:center}#end-card img{position:absolute;width:100%;height:100%;object-fit:contain}#fullscreen[hidden]{display:none}

:root{--label-size:12px;--label-tracking:1px;--button-tracking:.083em;--ghost-padding:10px;--menu-duration:240ms;--menu-ease:cubic-bezier(.2,.7,.2,1)}
[hidden]{display:none!important}.skip-link{position:absolute;transform:translateY(-200%);padding:var(--spacing-16);background:var(--color-obsidian);z-index:20}.skip-link:focus{transform:translateY(0)}
@media(max-width:640px){nav{display:flex;position:static;width:auto}.nav-row{flex-wrap:wrap}.js .nav-row{flex-wrap:nowrap}.js nav{position:absolute;width:100%;display:flex;visibility:hidden;opacity:0;transform:translateY(calc(-1 * var(--spacing-8)));transition:opacity var(--menu-duration) var(--menu-ease),transform var(--menu-duration) var(--menu-ease),visibility var(--menu-duration);max-height:calc(100dvh - var(--spacing-96));overflow:auto}.js nav.open{visibility:visible;opacity:1;transform:none}body.menu-open{overflow:hidden}.roster{grid-template-columns:repeat(2,minmax(0,1fr))}.media-block>div{min-width:0}#transport{min-width:0}#clock{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.js nav{transition:none;transform:none}}

h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{overflow-wrap:anywhere}
@media(min-width:641px) and (max-width:1024px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(hover:none),(pointer:coarse){button,nav a{min-height:44px}nav a{display:flex;align-items:center}}

/* One media surface and one transport; mode selection is subordinate. */
.player{padding:0;margin-top:var(--spacing-32);text-align:left}
.mode-select{justify-content:flex-start;gap:0;margin-bottom:var(--spacing-16);border-bottom:1px solid var(--color-iron-veil)}
.mode-option{background:transparent;color:var(--color-ash-mist);border:0;border-bottom:2px solid transparent;padding:var(--spacing-12) var(--spacing-24);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--font-weight-semibold)}
.mode-option[aria-pressed=true]{color:var(--color-snow);border-bottom-color:var(--color-glacier-beam)}
#player-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-16);padding-bottom:var(--spacing-16)}
#play-toggle,#fullscreen{flex-shrink:0;white-space:nowrap}
#transport{flex:1;min-width:0}
.media-block>div{min-width:0}
.player:fullscreen{display:flex;flex-direction:column;width:100%;height:100%;margin:0;padding:var(--spacing-16);background:var(--color-obsidian);overflow:auto}
.player:fullscreen #cinema-frame{flex:1;min-height:0;aspect-ratio:auto}
.player:fullscreen .media-block{display:none}
.player:fullscreen #player-controls{flex-shrink:0;padding-top:var(--spacing-16)}
@media(max-width:640px){#transport{flex-basis:100%}#transport label[for=seek]{width:auto}}
