:root{--bg:#0a0a0f;--sf:#0f0f18;--s2:#161622;--bd:#252538;--tx:#e8e8ed;--dm:#9898a8;--mt:#606078;--ac:#c9a84c;--warm:#d4a574;--h:'Playfair Display',Georgia,serif;--b:'Inter',sans-serif;--mono:'Courier Prime','Courier New',Courier,monospace}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--b);background:var(--bg);color:var(--tx);line-height:1.7;font-size:15px}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--h);line-height:1.25}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,15,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--bd);padding:14px 24px}
.ni{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nl{font-family:var(--h);font-size:1rem;font-weight:700;color:var(--tx)}
.nl span{color:var(--ac)}
.nr{display:flex;gap:16px;font-size:.78rem}
.nr a{color:var(--mt);letter-spacing:.3px}
.nr a:hover{color:var(--ac)}

.title-page{max-width:700px;margin:0 auto;padding:140px 28px 40px;text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--bd)}
.title-page .working{font-family:var(--h);font-style:italic;color:var(--mt);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px}
.title-page h1{font-family:var(--h);font-size:clamp(2.6rem,6vw,4.2rem);font-weight:700;line-height:1.05;margin-bottom:16px;letter-spacing:-1px}
.title-page h1 em{color:var(--ac);font-style:italic}
.title-page .feature-of{font-family:var(--h);font-style:italic;color:var(--dm);margin:18px 0;letter-spacing:.5px}
.title-page .credits{margin-top:36px;font-family:var(--mono);color:var(--dm);font-size:.88rem;line-height:1.9}
.title-page .credits b{color:var(--warm);font-weight:400}
.title-page .meta{margin-top:30px;font-family:var(--mono);font-size:.72rem;color:var(--mt);letter-spacing:1px}

/* Screenplay body */
.sp{max-width:760px;margin:0 auto;padding:50px 28px;font-family:var(--mono);font-size:14px;line-height:1.6;color:var(--tx)}
.sp .fade{text-align:left;font-weight:700;letter-spacing:2px;margin:24px 0;color:var(--ac)}
.sp .slug{text-transform:uppercase;font-weight:700;margin:28px 0 10px;color:var(--warm);letter-spacing:.5px}
.sp .action{margin:10px 0 14px;color:var(--tx)}
.sp .action em{color:var(--warm);font-style:italic}
.sp .dialogue-block{margin:14px 0 16px;padding-left:15%;padding-right:5%}
.sp .character{text-transform:uppercase;font-weight:700;margin-bottom:2px;color:var(--ac);padding-left:20%}
.sp .paren{font-style:italic;color:var(--dm);padding-left:10%;margin:0 0 2px}
.sp .dialogue{margin:0 0 4px}
.sp .transition{text-align:right;text-transform:uppercase;font-weight:700;margin:22px 0;color:var(--mt);letter-spacing:2px}
.sp .scene-note{background:var(--sf);border-left:2px solid var(--ac);padding:10px 16px;margin:16px 0;font-family:var(--b);font-size:.82rem;color:var(--mt);font-style:italic}
.sp hr{border:none;border-top:1px dashed var(--bd);margin:36px 0}
.sp .chapter-mark{text-align:center;font-family:var(--h);font-style:italic;color:var(--ac);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;margin:40px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--bd)}

/* Scene navigation */
.scene-nav{max-width:760px;margin:30px auto 50px;padding:22px 28px;border-top:1px solid var(--bd);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.scene-nav a{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:12px 16px;display:block;transition:.2s;font-family:var(--b)}
.scene-nav a:hover{border-color:var(--ac);text-decoration:none}
.scene-nav .dir{font-family:var(--h);font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--mt);margin-bottom:3px;display:block}
.scene-nav .ttl{color:var(--tx);font-family:var(--h);font-size:.95rem;font-weight:700;line-height:1.3}
.scene-nav a.next{text-align:right}

.foot{text-align:center;padding:30px;font-size:.72rem;color:var(--mt);border-top:1px solid var(--bd)}
