body[data-room="cast"]{--wall:#bb7967;--wall-deep:#8f5147;--wall-light:#dca68d;--room-ink:#38221b;--room-muted:#45271e;--room-line:#814d3d;--room-paper:#faf8f1;--room-accent:#6c3d2f;--room-glow:#f9dab229}
.cast-page{max-width:920px;margin:0 auto;padding:29px 0 32px}
.cast-page>.back-link{margin:0 0 22px}
.cast-marble{position:relative;padding:35px 60px 27px;border:1px solid #b6a68e;border-radius:65px 65px 9px 9px;background-color:#faf8f1;background-image:radial-gradient(ellipse at 50% 0,#ffffffb3,transparent 70%),url('./assets/marble-veins.svg'),url('./assets/stone-grain.svg');background-size:100% 100%,cover,180px 180px;box-shadow:inset 0 0 0 6px #ede9df,inset 0 0 0 7px #c1b4a06b,0 8px 20px #49341f1a}
.cast-marble::after{content:'';position:absolute;inset:14px;border:1px solid #b6a68e5c;border-radius:53px 53px 3px 3px;pointer-events:none}
.cast-heading{text-align:center;margin:0 0 26px}
.cast-inlay{display:block;width:8px;height:8px;background:#82979c;border:1px solid #dcbd91;transform:rotate(45deg);margin:0 auto 16px;box-shadow:inset 1px 1px #c5d3d1}
.cast-heading h1{font:400 38px/1.2 var(--serif);letter-spacing:.3px;margin:0;max-width:none;color:#514634;text-shadow:0 1px #fff,-.4px -.4px #806c5140}
.cast-credits{margin:0}
.cast-first{padding-bottom:19px;border-bottom:1px solid #b6a68e73;margin-bottom:22px}
.cast-credit{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:baseline;gap:24px;padding:9px 0;text-shadow:0 1px #fff}
.cast-credit dt{font:400 19px/1.6 var(--serif);letter-spacing:.05px;color:#514634}
.cast-credit dt::after{content:':'}
.cast-credit dd{font:14px/1.8 var(--serif);color:#6f604c;margin:0}
.cast-citation{display:inline-block;font:12px/1 var(--sans);padding:3px 4px;color:#796448;text-decoration:none}
.cast-citation:hover{color:#354f59}
.cast-citation:focus-visible{outline:2px solid var(--lapis);outline-offset:2px}
.cast-group{margin:0 0 24px}.cast-group:last-child{margin-bottom:0}
.cast-group h2{font:500 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:2px;margin:0 0 7px;color:#6f604c}
.cast-onward{display:flex;justify-content:center;padding:30px 0 9px}
.cast-onward-top{padding:0 0 30px}
.cast-begin-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:330px;max-width:100%;min-height:60px;padding:18px 54px;border:1px solid #c8ad79;border-radius:999px;background-color:#254aa8;background-image:linear-gradient(#6f8bdc26,transparent),url('./assets/stone-grain.svg');background-size:100% 100%,180px 180px;color:#fff4de;font:500 13px/1.5 var(--sans);letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 0 0 4px #254aa8,inset 0 0 0 5px #d9c18b66,0 5px 14px #492e242b;transition:background-color .2s,transform .2s,box-shadow .2s}
.cast-begin-label{display:block;text-align:center;white-space:nowrap}
.cast-begin-arrow{position:absolute;right:26px;top:50%;width:18px;height:18px;transform:translateY(-50%);stroke:#e8d2a3;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:none}
.cast-begin-button:hover{background-color:#1d3b8b;transform:translateY(-2px);box-shadow:inset 0 0 0 4px #1d3b8b,inset 0 0 0 5px #e5cf9a88,0 8px 18px #492e243b}
.cast-begin-button:focus-visible{outline:3px solid #fff7e8;outline-offset:4px}
@media(max-width:600px){.cast-onward{padding-top:24px}.cast-onward-top{padding:0 0 24px}.cast-begin-button{width:100%;max-width:330px;min-height:58px;font-size:12px;padding-inline:48px}.cast-begin-arrow{right:24px}}
@media(prefers-reduced-motion:reduce){.cast-begin-button{transition:none}.cast-begin-button:hover{transform:none}}
@media(max-width:850px){.cast-marble{padding-inline:42px}.cast-credit{grid-template-columns:150px minmax(0,1fr);gap:20px}.cast-credit dt{font-size:18px}}
@media(max-width:600px){.cast-page{padding:24px 0 28px}.cast-page>.back-link{margin-bottom:18px}.cast-marble{padding:28px 28px 25px;border-radius:45px 45px 8px 8px}.cast-marble::after{inset:12px;border-radius:33px 33px 2px 2px}.cast-heading{margin-bottom:22px}.cast-heading h1{font-size:32px}.cast-credit{display:block;padding:10px 0}.cast-credit dt{font-size:18px;line-height:1.5;margin-bottom:3px}.cast-credit dd{font-size:14px;line-height:1.8}.cast-group{margin-bottom:23px}.cast-group h2{font-size:8px;letter-spacing:1.6px}.cast-first{padding-bottom:14px}}
@media(max-width:370px){.cast-marble{padding-inline:24px}}
@media print{.cast-page>.back-link,.cast-onward{display:none}.cast-marble{background:white;box-shadow:none}.cast-credit{break-inside:avoid}.cast-credit dt,.cast-credit dd,.cast-heading h1,.cast-group h2{color:#222;text-shadow:none}.cast-citation{display:none}}
