:root{--ink:#0c0c0b;--paper:#ebe6dc;--soft:#cfc9bf;--muted:#9d978d;--faint:#6f6a63;--line:#2f2d2a;--line-strong:#46433e;--accent:#c8b37f;--accent-dim:#8a7a52;--panel:#131311;--serif:"EB Garamond",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:17px/1.65 var(--serif)}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.22em}.top{padding:1.35rem clamp(1rem,5vw,4rem);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand,.crumbs,.eyebrow,.label,.button,.timer-button{font:600 .72rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}.brand,.crumbs a{text-decoration:none}.crumbs{color:var(--muted);text-align:right}.hero{width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem)}.eyebrow,.label{color:var(--accent)}h1{max-width:980px;margin:.65rem 0 0;font:400 clamp(2.8rem,6vw,5.4rem)/.96 var(--serif);letter-spacing:-.055em}h1 em{display:block;color:var(--muted);font-weight:400}.dek{max-width:720px;margin:1.7rem 0 0;color:#ccc6bd;font-size:1.2rem}.section{width:min(1040px,calc(100% - 2rem));margin:0 auto;padding:clamp(3.5rem,7vw,6rem) 0;border-top:1px solid var(--line)}.head{display:grid;grid-template-columns:180px 1fr;gap:2rem;margin-bottom:2.5rem}h2{margin:0;font:400 clamp(2rem,4.5vw,3.8rem)/1.08 var(--serif);letter-spacing:-.035em}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{min-height:190px;padding:1.65rem;background:var(--panel);display:flex;flex-direction:column;text-decoration:none}.card:hover{background:#191815}.card .num{color:var(--accent);font:600 .7rem/1.3 var(--sans);letter-spacing:.14em}.card h3{margin:auto 0 .7rem;font:400 1.35rem/1.15 var(--serif)}.card p{margin:0;color:var(--muted);font-size:.94rem}.button{display:inline-block;margin-top:1.2rem;padding:.85rem 1rem;border:1px solid var(--line);text-decoration:none}.button:hover{border-color:var(--accent)}.prose{max-width:760px;margin-left:auto}.prose p{margin:0 0 1.25rem}.watch-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1px;background:var(--line);border:1px solid var(--line)}.timer-panel,.notes-panel{background:var(--panel);padding:clamp(1.4rem,4vw,2.4rem)}.timer{font:300 clamp(3.7rem,9vw,7rem)/1 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.timer-controls{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.timer-button{border:1px solid var(--line);background:transparent;color:var(--paper);padding:.8rem 1rem;cursor:pointer}.timer-button:hover,.timer-button:focus-visible{border-color:var(--accent)}.sync-note{margin:1.4rem 0 0;color:var(--muted);font-size:.92rem}.notes-panel h2{font-size:1.8rem}.notes-panel textarea{width:100%;min-height:190px;margin-top:1rem;padding:1rem;border:1px solid var(--line);background:var(--ink);color:var(--paper);font:1rem/1.5 var(--serif);resize:vertical}.status{min-height:1.5em;margin:.55rem 0 0;color:var(--accent);font:600 .68rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:1rem 0;border-bottom:1px solid var(--line)}.checklist input{accent-color:var(--accent);margin-right:.7rem}.legal{color:var(--muted);font-size:.9rem}footer{padding:2rem clamp(1rem,5vw,4rem);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font:600 .68rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.top,footer{align-items:flex-start;flex-direction:column}.crumbs{text-align:left}.head{grid-template-columns:1fr;gap:.8rem}.grid,.grid.two,.watch-shell{grid-template-columns:1fr}.card{min-height:165px}h1{font-size:3rem}.timer{font-size:3.8rem}}
.cue-wrap{overflow-x:auto;border:1px solid var(--line)}.cue-table{width:100%;min-width:820px;border-collapse:collapse;background:var(--panel)}.cue-table th,.cue-table td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--line);text-align:left}.cue-table th{color:var(--accent);font:600 .67rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}.cue-table td.time{white-space:nowrap;color:#d8c99f;font:600 .82rem/1.45 var(--sans);font-variant-numeric:tabular-nums}.cue-table td:first-child{width:31%}.cue-table tr:last-child td{border-bottom:0}.film-band{padding:.8rem 1rem!important;background:#1b1915;color:var(--paper)!important;font:600 .72rem/1.4 var(--sans)!important;letter-spacing:.15em!important;text-transform:uppercase}.key{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;margin-top:1rem;color:var(--muted);font-size:.9rem}.birthday-link{display:inline-block;margin-top:2rem;color:var(--accent);font:600 .78rem/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase}

.link-row{display:flex;flex-wrap:wrap;gap:0 1.5rem}
.timer-adjust{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end;margin-top:1.2rem}.timer-set{display:flex;gap:.65rem;align-items:flex-end}.timer-set label{display:flex;flex-direction:column;gap:.35rem}.timer-set input,.cue-controls select{border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:.7rem .8rem;font:600 .9rem/1.2 var(--sans);font-variant-numeric:tabular-nums}.timer-set input{width:8.5rem}.timer-set input:focus-visible,.cue-controls select:focus-visible{outline:1px solid var(--accent);border-color:var(--accent)}.timer-nudges{display:flex;flex-wrap:wrap;gap:.4rem}.timer-nudges .timer-button{padding:.55rem .7rem;letter-spacing:.06em}.timer-button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.cue-controls{margin-top:1.4rem}.cue-controls label{display:inline-flex;align-items:center;gap:.8rem;color:var(--accent);font:600 .72rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}.cue-controls select{letter-spacing:0;text-transform:none}
.cue-table{min-width:640px}.cue-table[data-clock="stream"] .c-bd,.cue-table[data-clock="stream"] .c-dvd,.cue-table[data-clock="bd"] .c-dvd,.cue-table[data-clock="bd"] .c-stream,.cue-table[data-clock="dvd"] .c-bd,.cue-table[data-clock="dvd"] .c-stream{display:none}.cue-table td.time a{text-decoration:none;border-bottom:1px solid var(--accent)}.cue-table td.time a:hover{color:var(--paper)}.cue-table tr[data-unsure] td.time{color:var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:.3em}.cue-table tr[data-unsure] td.time a{border-bottom:0;color:var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:.3em}.unsure-mark{display:inline-block;width:1.6em;margin-right:.45em;vertical-align:middle;border-bottom:1px dotted var(--muted)}

/* ---------- aligned with the Tolkien pages' design system (../../tolkien.css) */
body{font:400 1.18rem/1.62 var(--serif);font-kerning:normal;-webkit-font-smoothing:antialiased}
:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.top{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.3rem 0;border-bottom:0}
.brand{font:500 .82rem/1.2 var(--sans);letter-spacing:.24em}
.crumbs{font:500 .68rem/1.4 var(--sans);letter-spacing:.18em}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--paper)}
main{border-top:1px solid var(--line)}
.eyebrow,.label{font:600 .68rem/1.4 var(--sans);letter-spacing:.22em}
h1{font:400 clamp(3.4rem,8vw,7rem)/.9 var(--serif);letter-spacing:-.03em}
h1 em{font-style:italic;color:var(--soft)}
.dek{color:var(--soft);font:italic 400 clamp(1.25rem,2vw,1.5rem)/1.45 var(--serif)}
h2{font:400 clamp(2.1rem,4.4vw,3.4rem)/1.04 var(--serif);letter-spacing:-.02em}
.card h3{font:italic 400 1.5rem/1.15 var(--serif)}
.card p{font-size:1rem;line-height:1.45}
.card .num{font:600 .66rem/1.3 var(--sans);letter-spacing:.2em}
.timer{font:300 clamp(3.7rem,9vw,7rem)/1 var(--sans);letter-spacing:-.04em}
.timer-button{font:500 .68rem/1.4 var(--sans);letter-spacing:.16em}
.notes-panel h2{font-size:1.9rem}
.notes-panel textarea{font:1.05rem/1.5 var(--serif)}
.sync-note,.small-note{color:var(--muted);font-size:1rem}
.prose p{color:#ddd8cf}
.cue-table td{font-size:1rem;line-height:1.45}
.cue-table td:first-child{font-size:1.08rem;color:var(--paper)}
.cue-table td small{color:var(--muted);font:500 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
footer{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 2.6rem;border-top:1px solid var(--line-strong);color:var(--faint);font:500 .66rem/1.5 var(--sans);letter-spacing:.16em}
footer a{text-decoration:none;color:var(--muted)}
/* Phone: cue tables become stacked entries instead of a sideways-scrolling grid. */
@media(max-width:760px){
  .cue-wrap{overflow:visible;border:0}
  .cue-table{min-width:0;background:transparent}
  .cue-table thead{display:none}
  .cue-table,.cue-table tbody,.cue-table tr,.cue-table td,.cue-table th{display:block}
  .cue-table tr[hidden]{display:none}
  .cue-table tr{padding:1rem 0;border-bottom:1px solid var(--line)}
  .cue-table td,.cue-table th{padding:0!important;border:0}
  .cue-table td:first-child{width:auto;margin-bottom:.2rem}
  .cue-table td.time{margin:.1rem 0 .35rem}
  .cue-table td:last-child{color:var(--muted)}
  .film-band{margin-top:1.4rem;padding:.7rem .9rem!important}
  .cue-table tr:has(.film-band){padding:0;border:0}
  .cue-controls label{width:100%;justify-content:space-between}
}

footer{flex-wrap:wrap}.copyright{flex-basis:100%;color:var(--faint)}
