
:root{--red:#b5122b;--ink:#111;--paper:#f6f3ec;--line:#d7d0c4;--muted:#706a62;--green:#2e6c50}
.casting-page{padding-bottom:28px}
.casting-hero{padding:25px 0 20px;border-bottom:1px solid var(--line)}
.casting-kicker{font:900 9px/1 Arial;letter-spacing:.16em;color:var(--red);margin-bottom:8px}
.casting-hero h1{font:900 clamp(48px,7vw,78px)/.88 Georgia,serif;letter-spacing:-3px;margin:0}
.casting-hero .dek{max-width:790px;font:18px/1.43 Georgia,serif;color:#48433d;margin:13px 0 0}
.casting-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:28px;margin-top:24px;align-items:start}
.casting-scoreline{display:flex;justify-content:space-between;gap:15px;border-top:4px solid #111;border-bottom:1px solid #111;padding:10px 0;font:900 9px/1 Arial;letter-spacing:.08em}
.casting-scoreline b{color:var(--red);margin-left:4px}
.casting-card{background:#fff;border:1px solid var(--line);margin-top:12px}
.casting-card-top{display:flex;justify-content:space-between;gap:12px;padding:11px 15px;background:#111;color:#fff;font:900 8px/1 Arial;letter-spacing:.12em}
.casting-card-top b{color:#fff}
.clue-stack{padding:7px 20px 0}
.clue-item{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid #e2ddd3}
.clue-num{font:900 10px/1 Arial;letter-spacing:.08em;color:var(--red)}
.clue-copy{font:700 20px/1.28 Georgia,serif;color:#222}
.clue-item.new{animation:ccFade .3s ease}
@keyframes ccFade{from{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:none}}
.guess-box{padding:20px}
.guess-box label{display:block;font:900 9px/1 Arial;letter-spacing:.11em;margin-bottom:7px}
.guess-row{display:flex;gap:8px}
#cc-input{min-width:0;flex:1;border:2px solid #111;background:#fff;padding:12px 13px;font:700 17px/1 Arial}
#cc-submit{border:0;background:#111;color:#fff;padding:0 18px;font:900 9px/1 Arial;letter-spacing:.1em;cursor:pointer}
#cc-submit:hover{background:var(--red)}
.casting-feedback{min-height:18px;margin-top:10px;font:900 10px/1.35 Arial;letter-spacing:.02em}
.casting-feedback.bad{color:var(--red)}.casting-feedback.good{color:var(--green)}
.casting-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 20px}
.secondary-action{border:1px solid #111;background:#fff;padding:10px 12px;font:900 8px/1 Arial;letter-spacing:.09em;cursor:pointer}
.secondary-action:hover{background:#f4efe7}.secondary-action.quiet{border-color:#c9c1b6;color:#777}
.secondary-action:disabled{opacity:.35;cursor:default}
.casting-rail{display:grid;gap:13px}
.casting-rail-card{background:#fff;border:1px solid var(--line);border-top:4px solid #111;padding:15px}
.casting-rail-card.agency{border-top-color:var(--red)}
.rail-label{font:900 8px/1 Arial;letter-spacing:.14em;color:var(--red)}
.casting-rail-card h2{font:900 23px/1 Georgia,serif;margin:5px 0 8px}
.casting-rail-card p{font:13px/1.48 Georgia,serif;color:#555;margin:0}
.casting-result{margin-top:18px;background:#fff;border-top:7px solid var(--red);padding:24px}
.casting-result[hidden]{display:none}
.result-kicker{font:900 8px/1 Arial;letter-spacing:.14em;color:var(--red)}
.casting-result h2{font:900 46px/.93 Georgia,serif;letter-spacing:-1px;margin:6px 0}
.result-sub{font:900 11px/1.2 Arial;letter-spacing:.08em;text-transform:uppercase;color:#444;margin:0 0 14px}
.result-note{font:16px/1.45 Georgia,serif;color:#555;max-width:650px}
.result-score{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;margin:17px 0;font:900 9px/1 Arial;letter-spacing:.1em}
.result-score b{font-size:25px;color:var(--red);letter-spacing:0}
.result-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.result-actions button,.result-actions a{border:0;background:#111;color:#fff;padding:11px 14px;text-decoration:none;font:900 8px/1 Arial;letter-spacing:.09em;cursor:pointer}
.result-actions a{background:#fff;color:#111;border:1px solid #111}
@media(max-width:900px){.casting-layout{grid-template-columns:1fr}.casting-rail{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.casting-hero h1{letter-spacing:-2px}.casting-scoreline{font-size:7px}.clue-item{grid-template-columns:34px 1fr}.clue-copy{font-size:17px}.guess-row{display:block}.guess-row button{width:100%;height:40px;margin-top:7px}.casting-rail{grid-template-columns:1fr}.casting-result h2{font-size:38px}}

.casting-datebar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:20px;border-top:3px solid #111;border-bottom:1px solid #111;padding:9px 0}
.date-arrow,.archive-open{font:900 8px/1 Arial;letter-spacing:.1em;text-decoration:none;color:#111}
#cc-next-date{text-align:right}
.date-arrow.disabled{opacity:.28;pointer-events:none}
.archive-open{border:0;background:transparent;cursor:pointer;color:var(--red);padding:4px 8px}
.archive-open:hover{text-decoration:underline}
.casting-archive{margin:32px 0;background:#fff;border-top:7px solid var(--red);padding:23px}
.casting-archive[hidden]{display:none}
.archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.archive-head h2{font:900 34px/.95 Georgia,serif;margin:5px 0 0}
.archive-head button{border:1px solid #111;background:#fff;padding:9px 10px;font:900 8px/1 Arial;letter-spacing:.08em;cursor:pointer}
.casting-archive>p{font:14px/1.45 Georgia,serif;color:#555}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px}
.archive-day{display:block;border:1px solid #d9d2c7;background:#f8f5ef;padding:11px;text-decoration:none;color:#111;min-height:68px}
.archive-day:hover{border-color:#111;background:#fff}
.archive-day.current{border:2px solid var(--red)}
.archive-day.solved{box-shadow:inset 0 4px 0 #111}
.archive-day .adate{display:block;font:900 8px/1 Arial;letter-spacing:.08em;color:var(--red);margin-bottom:6px}
.archive-day .anum{display:block;font:900 16px/1 Georgia,serif}
.archive-day .astatus{display:block;font:800 7px/1 Arial;letter-spacing:.08em;color:#777;margin-top:7px}
@media(max-width:760px){.archive-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.archive-grid{grid-template-columns:repeat(2,1fr)}.casting-datebar{grid-template-columns:1fr 1fr}.archive-open{grid-column:1/3;grid-row:2}.date-arrow{font-size:7px}}
