:root {
  --color-blush-cream:#fff4f2;
  --color-pure-white:#ffffff;
  --color-ink-violet:#090335;
  --color-coral-flame:#fc736c;
  --color-peach-whisper:#ffb0a1;
  --color-deep-navy:#132645;
  --color-graphite:#434352;
  --color-silver-mist:#8993a2;
  --color-hairline:#d8d8d8;
  --color-zinc-mute:#71717d;
  --font-gilroy:'Gilroy', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-georgia:'Georgia', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --text-caption:14px;
  --leading-caption:1.57;
  --tracking-caption:-0.187px;
  --text-body:16px;
  --leading-body:1.7;
  --tracking-body:-0.187px;
  --text-subheading:18px;
  --leading-subheading:1.88;
  --tracking-subheading:-0.187px;
  --text-body-lg:20px;
  --leading-body-lg:1.67;
  --tracking-body-lg:-0.187px;
  --text-nav-label:22px;
  --leading-nav-label:1.13;
  --tracking-nav-label:-0.187px;
  --text-heading-sm:25px;
  --leading-heading-sm:1.2;
  --tracking-heading-sm:-0.187px;
  --text-heading:27px;
  --leading-heading:1.44;
  --text-display:40px;
  --leading-display:1.44;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --spacing-unit:4px;
  --spacing-4:4px;
  --spacing-16:16px;
  --spacing-20:20px;
  --spacing-32:32px;
  --spacing-40:40px;
  --spacing-44:44px;
  --spacing-52:52px;
  --spacing-96:96px;
  --spacing-100:100px;
  --spacing-168:168px;
  --page-max-width:1200px;
  --section-gap:80px;
  --card-padding:24px;
  --element-gap:20px;
  --radius-cards:8px;
  --radius-buttons:6px;
  --radius-nav-pill:6px;
  --radius-illustration-frames:0px;
  --surface-blush-cream-canvas:#fff4f2;
  --surface-pure-white:#ffffff;
  --surface-coral-accent:#fc736c;
  --surface-ink-violet:#090335;
  --motion-duration-instant:0ms;
  --motion-duration-short:180ms;
  --motion-duration-long:650ms;
  --motion-ease-arrive:power2.out;
  --motion-ease-settle:power3.out;
  --motion-distance-small:8px;
  --motion-distance-medium:24px;
  --motion-stagger:60ms;
  --paper:var(--color-blush-cream);
  --white:var(--color-pure-white);
  --ink:var(--color-ink-violet);
  --muted:var(--color-graphite);
  --coral:var(--color-coral-flame);
  --coral-dark:var(--color-deep-navy);
  --blush:var(--color-peach-whisper);
  --mint:#bfe4cf;
  --blue:#c9dcf6;
  --line:var(--color-hairline);
  --display:"Noto Serif KR","Noto Serif",var(--font-georgia);
  --sans:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",var(--font-gilroy);
  --page:min(var(--page-max-width),calc(100vw - 48px));
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);word-break:keep-all}
h1,h2,h3{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
code,.download,.source-links a{overflow-wrap:anywhere}
body.menu-open{overflow:hidden}
button,a,input{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;left:16px;top:12px;padding:10px 14px;background:var(--ink);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.site-header{position:sticky;top:0;z-index:50;min-height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,251,.96);border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-size:var(--text-body-lg);font-weight:var(--font-weight-bold);text-decoration:none;letter-spacing:var(--tracking-body-lg)}.brand span{font-family:var(--sans);font-size:var(--text-caption);letter-spacing:var(--tracking-caption);color:var(--coral);margin-left:6px}
.site-nav{display:flex;align-items:center;gap:28px}.site-nav>a{text-decoration:none;font-size:var(--text-caption);font-weight:var(--font-weight-bold)}
.menu-button{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-button span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .2s}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:2px solid var(--ink);background:var(--coral);color:var(--ink);font-weight:var(--font-weight-bold);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.button-small{min-height:40px;padding:0 18px;font-size:var(--text-caption)}
.hero{width:var(--page);min-height:0;margin:auto;padding:72px 0 112px;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(500px,1.22fr);gap:clamp(36px,6vw,84px);align-items:start;border-bottom:1px solid var(--line)}
.hero-copy{padding-top:var(--spacing-32)}
.eyebrow{margin:0 0 14px;color:var(--coral-dark);font-size:var(--text-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caption);text-transform:uppercase}
h1,h2{font-family:var(--display);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-body);margin:0}h1{font-size:var(--text-display);line-height:var(--leading-display)}h2{font-size:var(--text-heading);line-height:var(--leading-heading)}h1 em,h2 em,blockquote em{color:var(--coral);font-style:normal}
.lede{max-width:520px;margin:28px 0 34px;color:var(--muted);font-size:var(--text-body-lg);line-height:var(--leading-body-lg);letter-spacing:var(--tracking-body-lg)}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.text-link{font-weight:800;text-underline-offset:5px}
.hero-index{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:var(--spacing-40) 0 0;padding:0;border-block:1px solid var(--ink)}.hero-index li{padding:var(--spacing-16) var(--spacing-4);display:grid;gap:var(--spacing-4);border-right:1px solid var(--line)}.hero-index li:last-child{border:0}.hero-index span{color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption)}.hero-index strong{font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption)}
.hero-meta{display:flex;gap:30px;margin:var(--spacing-32) 0 0}.hero-meta div{display:grid;gap:2px}.hero-meta dt{color:var(--muted);font-size:var(--text-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caption)}.hero-meta dd{margin:0;font-size:var(--text-caption);font-weight:var(--font-weight-bold)}
.hero-art{position:relative;isolation:isolate;margin:0;border:2px solid var(--ink);background:#fff}.hero-art:before{content:"";position:absolute;inset:var(--spacing-20) calc(var(--spacing-20) * -1) calc(var(--spacing-20) * -1) var(--spacing-20);z-index:-1;background:var(--surface-coral-accent);border:2px solid var(--ink)}.hero-art img{aspect-ratio:16/9;object-fit:cover}.hero-art figcaption{position:absolute;left:-2px;bottom:-2px;padding:9px 14px;background:var(--ink);color:#fff;font-size:var(--text-caption);font-weight:var(--font-weight-bold)}.hero-stamp{position:absolute;left:var(--spacing-20);top:calc(var(--spacing-20) * -1);padding:var(--spacing-4) var(--spacing-16);background:var(--ink);color:var(--white);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption);font-weight:var(--font-weight-bold)}
.compression-scene{position:absolute;right:18px;top:18px;width:210px;height:78px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:rgba(255,253,251,.94);border:1px solid var(--ink)}.text-wall{display:grid;gap:5px;transform-origin:right}.text-wall i{display:block;height:4px;background:#aaa6b8}.text-wall i:nth-child(2){width:75%}.text-wall i:nth-child(4){width:60%}.tiny-flow{display:flex;align-items:center;gap:3px}.tiny-flow b{width:12px;height:12px;border:1px solid var(--ink);background:var(--mint)}.tiny-flow b:last-child{background:var(--blue)}.tiny-flow span{font-size:var(--text-caption)}
.compression-scene.is-compressed .text-wall{opacity:.18;transform:scaleX(.15)}.compression-scene.is-compressed .tiny-flow{transform:scale(1)}
.section{width:var(--page);margin:auto;padding:112px 0}.section-heading{display:grid;grid-template-columns:.7fr 1.1fr;gap:18px 60px;align-items:end;margin-bottom:52px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:540px;margin:0;color:var(--muted)}.section-heading.compact{grid-template-columns:1fr}.section-heading.compact h2{max-width:700px}
.listen{background:var(--white);width:100%;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));border-block:1px solid var(--line)}
.player-invitation{min-height:180px;padding:28px 36px;display:flex;align-items:center;gap:30px;background:var(--ink);color:#fff}.player-invitation p{font-family:var(--display);font-size:var(--text-heading-sm);line-height:var(--leading-heading-sm);letter-spacing:var(--tracking-heading-sm);margin:0 0 14px}.disc{width:120px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--coral);border:2px solid #fff;box-shadow:inset 0 0 0 26px var(--ink)}.disc span{z-index:1;font-size:var(--text-caption);line-height:var(--leading-caption);text-align:center;font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caption)}
.player{min-height:116px;padding:24px;display:grid;grid-template-columns:auto minmax(170px,.7fr) minmax(180px,1fr) auto auto;gap:20px;align-items:center;background:var(--ink);color:#fff}.player[hidden]{display:none}.play-toggle{width:60px;height:60px;border-radius:50%;border:2px solid #fff;background:var(--coral);color:var(--ink);cursor:pointer}.track-info{display:grid}.track-info span{font-size:var(--text-caption);color:#c8c5d7}.progress-wrap{display:flex}.progress-wrap input{width:100%;accent-color:var(--coral)}.time{font-variant-numeric:tabular-nums;font-size:var(--text-caption)}.download{font-size:var(--text-caption);font-weight:var(--font-weight-bold);text-underline-offset:4px}.noscript{padding:12px;background:#fff;border:1px solid var(--line)}
.view-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--white)}.view-grid article{min-height:320px;padding:34px;border-right:1px solid var(--line);display:flex;flex-direction:column}.view-grid article:last-child{border:0}.view-no{color:var(--coral);font-size:var(--text-caption);font-weight:var(--font-weight-bold)}.view-grid h3{font-family:var(--display);font-size:var(--text-heading-sm);line-height:var(--leading-heading-sm);letter-spacing:var(--tracking-heading-sm);margin:48px 0 10px}.view-grid p{margin:0;color:var(--muted)}.mini-diff,.mini-tree,.mini-sequence{margin-top:auto;height:60px;display:flex;align-items:center;gap:10px}.mini-diff i{width:48%;height:24px;padding-left:8px;font-style:normal;background:#ffd9d4}.mini-diff i:last-child{background:#cdebd9}.mini-tree i{width:30px;height:30px;border:2px solid var(--ink);background:var(--mint)}.mini-tree i+ i:before{content:"";display:block;width:10px;border-top:2px solid var(--ink);transform:translate(-12px,12px)}.mini-sequence i{width:28%;height:42px;border-left:2px dashed var(--ink);border-top:8px solid var(--blue)}.principle-line{margin:36px 0 0;font-family:var(--display);font-size:var(--text-heading);line-height:var(--leading-heading);text-align:right}.principle-line strong{color:var(--coral)}
.comic{width:100%;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:var(--ink);color:#fff}.comic .section-heading>p:last-child{color:#c8c5d7}.comic-strip{max-width:820px;margin:auto;display:grid;gap:80px}.comic-strip figure{margin:0}.comic-strip img{width:100%;border:3px solid #fff;background:#fff}.comic-strip figcaption{padding:12px 0 0;color:#c8c5d7;font-size:var(--text-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-caption)}
.lyrics{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:80px}.lyrics .section-heading{align-self:start;position:sticky;top:110px;margin:0}.lyric-sheet{columns:2;column-gap:50px}.lyric-block{break-inside:avoid;margin:0 0 34px;padding:0 0 28px;border-bottom:1px solid var(--line)}.lyric-block h3{margin:0 0 12px;color:var(--coral-dark);font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase}.lyric-block p{margin:0 0 12px}.lyric-block b{font-size:var(--text-caption);color:var(--coral-dark)}.lyric-block.chorus{padding:26px;background:var(--white);border:1px solid var(--ink)}
.about{width:100%;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:var(--blush);border-block:1px solid var(--ink)}.about-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about-copy{font-size:var(--text-body-lg);line-height:var(--leading-body-lg);letter-spacing:var(--tracking-body-lg)}.about-copy p:first-child{margin-top:0}.about-copy code{padding:2px 6px;background:#fff;font-size:var(--text-caption)}.source-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px}.source-links a{font-size:var(--text-caption);font-weight:var(--font-weight-bold);text-underline-offset:5px}
.finale{text-align:center;padding-block:150px}.finale blockquote{margin:20px auto 42px;font-family:var(--display);font-size:var(--text-display);font-weight:var(--font-weight-bold);line-height:var(--leading-display);letter-spacing:var(--tracking-body)}
footer{padding:44px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr auto auto;gap:28px;background:var(--ink);color:#fff;font-size:var(--text-caption)}footer p{margin:0}
@media (hover:hover) and (pointer:fine){.site-nav>a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.button:hover{transform:translate(-2px,-2px);background:#ff7569}}
@media (hover:none),(pointer:coarse){.button:active{transform:translate(-1px,-1px);background:#ff7569}}
@media(max-width:64rem){.hero{grid-template-columns:1fr;padding-top:54px}.hero-copy{max-width:720px;padding-top:0}.hero-art{max-width:820px}.section-heading{grid-template-columns:1fr}.view-grid article{padding:26px}.lyrics{grid-template-columns:1fr}.lyrics .section-heading{position:static}.about-card{gap:40px}.player{grid-template-columns:auto 1fr auto}.progress-wrap{grid-column:1/-1;grid-row:2}.download{grid-column:3}.time{grid-column:2}}
@media(max-width:48rem){:root{--page:calc(100vw - 32px)}.site-header{padding-inline:16px}.menu-button{display:block}.site-nav{position:fixed;inset:68px 0 auto;background:var(--white);padding:28px 16px 34px;display:none;flex-direction:column;align-items:stretch;border-bottom:2px solid var(--ink)}.site-nav.is-open{display:flex}.site-nav>a{font-family:var(--display);font-size:var(--text-nav-label);line-height:var(--leading-nav-label);letter-spacing:var(--tracking-nav-label)}.site-nav .button{margin-top:8px}.hero{padding:42px 0 76px;gap:52px;min-height:0}.hero-index{grid-template-columns:1fr}.hero-index li{grid-template-columns:52px 1fr;border-right:0;border-bottom:1px solid var(--line)}.hero-index li:last-child{border-bottom:0}.hero-art:before{inset:var(--spacing-16) calc(var(--spacing-16) * -1) calc(var(--spacing-16) * -1) var(--spacing-16)}.compression-scene{width:170px;right:10px;top:10px}.hero-meta{gap:18px}.section{padding-block:82px}.section-heading{margin-bottom:36px}.view-grid{grid-template-columns:1fr}.view-grid article{min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.view-grid h3{margin-top:28px}.principle-line{text-align:left}.player-invitation{padding:24px 20px}.disc{width:86px}.player{grid-template-columns:auto 1fr;padding:18px;gap:14px}.track-info strong{font-size:var(--text-caption)}.time{grid-column:2}.download{grid-column:2}.comic-strip{gap:54px}.lyric-sheet{columns:1}.about-card{grid-template-columns:1fr}.about-copy{font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}.finale{padding-block:100px}footer{grid-template-columns:1fr;gap:8px}.hero-art figcaption{font-size:var(--text-caption)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.compression-scene .text-wall{opacity:.18;transform:scaleX(.15);transform-origin:right}}
