: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.75;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.22}

.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 — theatrical */
.titlepage{max-width:700px;margin:0 auto;padding:140px 28px 44px;text-align:center;border-bottom:1px solid var(--bd)}
.titlepage .over{font-family:var(--h);font-style:italic;color:var(--ac);letter-spacing:5px;text-transform:uppercase;font-size:.72rem;margin-bottom:14px;font-weight:700}
.titlepage .overline{font-family:var(--h);font-style:italic;color:var(--mt);letter-spacing:3px;text-transform:uppercase;font-size:.75rem;margin-bottom:20px}
.titlepage h1{font-family:var(--h);font-size:clamp(2.4rem,6vw,4rem);font-weight:700;line-height:1.05;margin-bottom:14px;letter-spacing:-.5px}
.titlepage h1 em{color:var(--ac);font-style:italic}
.titlepage .tag{font-family:var(--h);font-style:italic;color:var(--dm);font-size:1.08rem;margin:16px auto 8px;max-width:560px}
.titlepage .meta{font-family:var(--mono);font-size:.72rem;color:var(--mt);margin-top:28px;letter-spacing:1px;line-height:1.8}
.titlepage .meta b{color:var(--warm);font-weight:400}

/* Play meta */
.playmeta{max-width:720px;margin:40px auto;padding:0 28px}
.playmeta h2{font-family:var(--h);font-size:.72rem;color:var(--ac);letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-bottom:14px;border-bottom:1px solid var(--bd);padding-bottom:8px}
.playmeta p{color:var(--dm);font-size:.95rem;line-height:1.85;margin-bottom:14px}
.playmeta p strong{color:var(--tx)}
.playmeta p em{color:var(--warm);font-style:italic}

/* Dramatis personae */
.cast{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:24px 28px;margin:20px 0}
.cast ul{list-style:none;padding:0;margin:0}
.cast li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04);display:grid;grid-template-columns:200px 1fr;gap:16px;font-size:.9rem;line-height:1.6}
.cast li:last-child{border-bottom:none}
.cast li .name{font-family:var(--h);color:var(--warm);font-style:italic;font-size:.95rem}
.cast li .desc{color:var(--dm)}
.cast li .desc b{color:var(--tx)}
@media(max-width:600px){.cast li{grid-template-columns:1fr}}

/* Scene outline */
.outline{margin:20px 0}
.outline .act{background:var(--sf);border-left:3px solid var(--ac);border-radius:0 8px 8px 0;padding:18px 24px;margin-bottom:12px}
.outline .act h3{font-family:var(--h);color:var(--ac);font-size:1rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.outline .act .ttl{font-family:var(--h);font-style:italic;color:var(--tx);font-size:1rem;margin-bottom:8px}
.outline .act ul{list-style:none;padding:0;margin:8px 0 0}
.outline .act li{padding:6px 0;color:var(--dm);font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.04);display:grid;grid-template-columns:24px 1fr;gap:12px}
.outline .act li:last-child{border-bottom:none}
.outline .act li::before{content:'\25CB';color:var(--mt);font-size:.7rem;margin-top:4px}
.outline .act li b{color:var(--warm);font-family:var(--h);font-style:italic;font-weight:400}

/* Sample scene — proper stage format */
.scene-intro{max-width:720px;margin:50px auto 20px;padding:0 28px}
.scene-intro .kick{font-family:var(--h);font-style:italic;color:var(--ac);font-size:.72rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;font-weight:700}
.scene-intro h2{font-family:var(--h);font-size:1.7rem;color:var(--tx);margin-bottom:12px}
.scene-intro p{color:var(--dm);font-size:.92rem;line-height:1.75;margin-bottom:12px;font-style:italic}

.scene{max-width:720px;margin:0 auto 30px;padding:0 28px;font-family:var(--mono);font-size:14.5px;line-height:1.7;color:var(--tx)}
.scene .slug{text-transform:uppercase;font-weight:700;margin:30px 0 14px;color:var(--warm);letter-spacing:.5px;border-bottom:1px dashed rgba(212,165,116,.25);padding-bottom:6px}
.scene .stage{margin:12px 0 14px;color:var(--dm);font-style:italic;padding-left:20px;border-left:2px solid rgba(201,168,76,.2)}
.scene .action{margin:12px 0 14px;color:var(--tx)}
.scene .dblock{margin:14px 0 14px;padding-left:12%}
.scene .char{text-transform:uppercase;font-weight:700;color:var(--ac);letter-spacing:1px;padding-left:22%;margin-bottom:2px}
.scene .paren{font-style:italic;color:var(--mt);padding-left:12%;font-size:.88em;margin-bottom:2px}
.scene .line{margin:0 0 4px}
.scene .transition{text-align:right;text-transform:uppercase;font-weight:700;margin:24px 0;color:var(--mt);letter-spacing:2.5px}
.scene hr{border:none;border-top:1px dashed var(--bd);margin:28px 0}
.scene .end{text-align:center;font-family:var(--h);font-style:italic;color:var(--ac);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;margin:30px 0}

/* Nav */
.cnav{max-width:720px;margin:40px auto 50px;padding:30px 28px;border-top:1px solid var(--bd);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cnav a{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:14px 20px;display:block;transition:.2s}
.cnav a:hover{border-color:var(--ac);text-decoration:none}
.cnav .dir{font-family:var(--h);font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--mt);margin-bottom:4px;display:block}
.cnav .ttl{color:var(--tx);font-family:var(--h);font-size:1rem;font-weight:700;line-height:1.3}
.cnav a.next{text-align:right}
.back-toc{text-align:center;margin:30px 0}
.back-toc a{font-family:var(--h);font-size:.78rem;text-transform:uppercase;letter-spacing:3px;color:var(--mt);padding:10px 20px;border:1px solid var(--bd);border-radius:20px}
.back-toc a:hover{color:var(--ac);border-color:var(--ac);text-decoration:none}

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

.status{display:inline-flex;align-items:center;gap:10px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);border-radius:20px;padding:5px 14px;color:#fbbf24;font-family:var(--h);font-style:italic;font-size:.72rem;letter-spacing:1px;text-transform:uppercase;margin:12px 0}
.status .dot{width:7px;height:7px;background:#fbbf24;border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
