/* The seal crosses both wings, then leaves the centre of the stage clear. */
.seal-character.seal-touring{width:30%;max-width:320px;bottom:4%;transition:width 2s,bottom 2s,translate 1.2s ease-in-out}
.stage-production .seal-touring .seal-speech{left:50%;top:0;transform:translate(-50%,-85%) rotate(-3deg);width:min(190px,115%);font-size:13px}
.seal-touring .host-credit{font-size:6px;line-height:1.5;letter-spacing:1px}

/* An enamel fridge door, real photographs, and little mismatched magnets. */
#detail-dialog.photo-dialog{width:min(830px,calc(100% - 24px));padding:0;border:7px solid #c9dbd3;border-radius:25px;background:#dbe9e0;box-shadow:inset 0 0 0 2px #f4fcf3,0 25px 100px #0009;color:#203e36}
.photo-dialog .dialog-close{z-index:5;color:#23493c;top:5px;right:6px;background:#edf5edcc;border-radius:50%}
.fridge{min-height:650px;padding:60px 64px 42px 72px;position:relative;background:radial-gradient(ellipse at 25% 20%,#fbfff566,transparent 60%),linear-gradient(100deg,#bdcfc6,#e1ebe0 8%,#d1e2d7 85%,#afc9bd);border-radius:18px;box-shadow:inset 0 -8px 15px #47695e30}
.fridge:before{content:'';position:absolute;left:0;right:0;top:54px;height:2px;background:#9eb6aa;box-shadow:0 2px 2px #fff9}
.fridge-brand{position:absolute;top:16px;left:30px;font:italic 24px Georgia,serif;color:#5e7e70;letter-spacing:2px;text-shadow:1px 1px #fff}
.fridge-handle{position:absolute;left:17px;top:140px;width:17px;height:240px;border-radius:12px;background:linear-gradient(90deg,#6d8279,#f3f8ed 45%,#a8b5ac 80%,#60746a);box-shadow:6px 6px 7px #385a4d3d}
.fridge-photos{display:grid;grid-template-columns:1fr 1fr;gap:38px 25px;padding-top:25px;align-items:center}
.fridge-photo{position:relative;padding:8px 8px 21px;background:#fffdf3;border:0;box-shadow:2px 6px 9px #30473a55;transform:rotate(-6deg);transition:transform .25s,box-shadow .25s}
.fridge-photo:nth-child(2){transform:rotate(5deg);margin-top:20px}.fridge-photo:nth-child(3){transform:rotate(3deg)}.fridge-photo:nth-child(4){transform:rotate(-5deg);margin-top:17px}
.fridge-photo:hover,.fridge-photo:focus-visible{transform:rotate(0) scale(1.04);box-shadow:2px 9px 16px #30473a66;z-index:2}
.fridge-photo img{display:block;width:100%;height:205px;object-fit:contain;background:#ebe7dd}
.photo-magnet{position:absolute;z-index:1;left:45%;top:-17px;color:#f1c763;font-size:36px;line-height:1;text-shadow:1px 2px #a98234,2px 4px 2px #0005;transform:rotate(11deg)}
.fridge-photo:nth-child(2) .photo-magnet{color:#c57777;left:65%}.fridge-photo:nth-child(3) .photo-magnet{color:#7d9dcd;font-size:39px;left:30%}.fridge-photo:nth-child(4) .photo-magnet{color:#d4a96c;left:60%}
.photo-zoom{padding:50px 20px 20px;min-height:550px;background:#17251f;color:#f3f0e3;border-radius:16px}
.photo-dialog:has(.photo-zoom:not([hidden])) .dialog-close{color:#e9f1e6;background:#26382f}
#photo-back{display:block;border:1px solid #e2e8d44d;background:transparent;color:inherit;padding:10px 15px;min-height:44px;margin-bottom:18px;border-radius:4px}
#zoom-photo{display:block;width:100%;height:min(65svh,640px);object-fit:contain}
.zoom-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:15px;font-size:12px;letter-spacing:2px}.zoom-controls button{color:inherit;border:1px solid #e2e8d44d;background:transparent;width:48px;height:44px;font-size:22px}.zoom-controls button:disabled{opacity:.3}

/* All-access pass and three miniature backstage sets. */
#detail-dialog.backstage-dialog{width:min(940px,calc(100% - 24px));padding:0;background:#201d26;color:#eadfcc;border:1px solid #ac8b55;border-radius:3px}
.backstage-dialog .dialog-close{color:#e9d6ab;z-index:5;top:10px;right:10px}
.backstage-header{padding:30px 45px 24px;text-align:left;background:linear-gradient(115deg,#4b2635,#241f29);border-bottom:1px solid #9e7d494d;position:relative}
.pass-label{font:10px monospace;letter-spacing:3px;color:#d9b975}.backstage-header h2{font:48px/1.1 'DM Serif Display',Georgia,serif;margin:12px 0;color:#fff0d1}.pass-subtitle{font:9px monospace;letter-spacing:2px;color:#c6a98c}
.backstage-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#9e7d494d;border-bottom:1px solid #9e7d494d}
.backstage-nav button{border:0;background:#241e28;color:#a89170;font:10px monospace;padding:17px 8px;min-height:65px}.backstage-nav button span{display:block;font:14px Georgia,serif;color:#d9c9ad;margin-top:5px}.backstage-nav button[aria-pressed=true]{background:#d8bd87;color:#55432e}.backstage-nav button[aria-pressed=true] span{color:#251f25}
.backstage-room{position:relative;min-height:465px;overflow:hidden}
.dressing-room{padding:28px 40px 0;background:repeating-linear-gradient(90deg,#2b3034 0 75px,#252a2e 76px 78px);isolation:isolate}
.vanity{position:relative;width:70%;height:305px;margin:auto;border:14px solid #665a49;box-shadow:0 0 0 2px #95826a,0 8px 35px #0008;padding:8px;background:#433b32;border-radius:75px 75px 3px 3px}
.mirror-bulbs{position:absolute;inset:-12px;background:radial-gradient(circle,#fff5ce 0 4px,#e6ba74 5px,#c0905440 7px,transparent 11px) 0 0/48px 48px;filter:drop-shadow(0 0 8px #ffc97b);pointer-events:none;border-radius:65px 65px 0 0}
.mirror-glass{position:relative;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(125deg,#718383 0%,#b6bdb0 27%,#e1dfcc 28%,#a5b8b1 29%,#7f9490 70%,#b2c5b9 72%,#839c96 73%);border:2px solid #2b3937;border-radius:50px 50px 0 0;color:#eef1df;text-shadow:0 1px 2px #1f444555}
.mirror-glass>span:first-child{font:8px monospace;letter-spacing:4px}.mirror-glass strong{font:italic 70px Georgia,serif;font-weight:400;transform:rotate(-6deg);margin:7px 0}.mirror-glass i{font:18px Georgia,serif;letter-spacing:5px}.mirror-star{position:absolute;right:13%;top:24%;font-size:40px}
.dressing-notes{display:flex;gap:18px;position:relative;z-index:2;margin:-25px auto 0;max-width:720px;align-items:start}
.pinned-note{position:relative;flex:1;min-height:106px;transform:rotate(-6deg);padding:20px 13px 12px;background:#edd6a8;color:#4b3940;border:0;box-shadow:3px 6px 10px #0005;font:italic 16px/1.5 Georgia,serif}
.pinned-note:before{content:'';position:absolute;top:-9px;left:35%;width:42%;height:20px;background:#e2d5b797;transform:rotate(4deg)}.pinned-note:nth-child(2){transform:rotate(4deg);background:#d5b7b1}.pinned-note:nth-child(3){transform:rotate(-2deg);background:#d3d8bd}
.vanity-shelf{height:64px;border-top:9px solid #8c6e4e;background:linear-gradient(#583d2e,#382e2b);box-shadow:0 -2px 0 #c19f6d;margin:13px -40px 0;position:relative;text-align:left}.lipstick{position:absolute;left:8%;top:-64px;width:16px;height:55px;background:linear-gradient(#ac4d56 0 45%,#d0b37b 46% 65%,#25252d 66%);border-radius:8px 2px 0 0;transform:rotate(-7deg)}.powder{position:absolute;right:8%;top:-37px;width:40px;height:30px;border:3px solid #bf9f69;border-radius:50%;background:#212126;text-align:center;font:12px/26px Georgia;color:#d7bd8f}.flowers{position:absolute;right:2%;top:-76px;font-size:70px;color:#bc8d88}.dressing-key{position:absolute;left:45%;top:4px;color:#d9b973;font-size:32px}.dressing-key small{font:12px monospace}
.rehearsal-room{padding:32px 80px;background:repeating-linear-gradient(8deg,#5a3c2d 0 3px,#553728 4px 8px,#604131 10px 90px,#3e2c23 91px 93px)}
.rehearsal-paper{position:relative;z-index:1;max-width:570px;margin:auto;text-align:left;background:#efe2bf;color:#3c332a;padding:28px 32px;box-shadow:3px 6px 18px #0006;transform:rotate(-1.5deg);border:1px solid #d5c393}
.paper-stamp{font:10px monospace;letter-spacing:2px;color:#99634a}.backstage-room h3{font:29px/1.2 Georgia,serif;margin:15px 0}.rehearsal-paper p{font:14px/1.6 Georgia,serif}.letter-fodder{font:26px monospace;letter-spacing:5px;margin:23px 0;border-top:1px solid #9d7c5144;border-bottom:1px solid #9d7c5144;padding:16px 0;text-align:center}
#hamilton-form label{display:block;font:11px monospace;margin-bottom:8px}.answer-line{display:flex;gap:8px}.answer-line input{min-width:0;flex:1;background:#fbf3da;border:1px solid #9e875a;border-radius:0;padding:10px;font:18px monospace;text-transform:uppercase;letter-spacing:2px}.answer-line button{background:#393b32;color:#f6eacb;border:0;padding:10px 13px;font:13px Georgia;min-height:44px}.backstage-hint{font:12px Georgia;margin-top:12px}.backstage-hint summary{cursor:pointer;padding:7px 0}.backstage-hint p{margin:5px 0}
.desk-pencil{position:absolute;left:4%;top:23%;width:8px;height:225px;background:linear-gradient(90deg,#997335,#ecd179,#a58341);transform:rotate(15deg);box-shadow:2px 3px 3px #0006}.desk-star{position:absolute;right:4%;bottom:15px;font-size:90px;color:#bd9352;transform:rotate(10deg);text-shadow:2px 4px #30261d}
.wardrobe-room{padding:25px 35px;background:repeating-linear-gradient(90deg,#281731,#3a2245 8%,#22142b 16%)}.wardrobe-heading>span{font-size:38px;color:#d1ac68}.wardrobe-heading h3{color:#f1ddbe;margin:5px 0 10px}.wardrobe-heading p{max-width:530px;margin:0 auto;color:#d1bbd5;font:14px/1.6 Georgia}.wardrobe-clues{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:21px auto;max-width:640px;text-align:left}.wardrobe-clues>span{font:13px/1.4 Georgia;color:#e7ddc9;padding:10px 13px;background:#d5bd9614;border-left:2px solid #b8935c}
.mic-rack{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:25px auto 15px;max-width:640px;padding-top:13px;border-top:4px solid #a38f74}.mic-rack button{position:relative;color:var(--mic);border:1px solid #b79b6a66;background:linear-gradient(#ffffff05,#0004);padding:13px 5px;font:11px monospace;min-height:110px;border-radius:50px 50px 3px 3px;transition:transform .2s}.mic-rack button:hover{transform:translateY(-5px)}.mic{display:block;position:relative;margin:0 auto 15px;width:15px;height:46px;background:linear-gradient(90deg,#111,var(--mic),#1b1623);border-radius:7px;box-shadow:0 3px 8px #0008}.mic:before{content:'';position:absolute;top:-5px;left:-4px;width:23px;height:23px;border-radius:50%;background:repeating-linear-gradient(0deg,#eee4 0 1px,transparent 1px 3px),linear-gradient(90deg,#36313b,var(--mic),#39303e);border:1px solid var(--mic)}.mic-rack button[data-order]:after{content:attr(data-order);position:absolute;top:0;right:-5px;width:23px;height:23px;border-radius:50%;background:var(--mic);color:#211727;display:grid;place-items:center;box-shadow:0 2px 6px #0006}.mic-rack button:disabled{opacity:.7}.mic-order{font:12px/1.7 monospace!important;color:#e3d0ae;min-height:22px}.backstage-reset{border:0;border-bottom:1px solid #ad9775;background:none;color:#d8be97;font:12px Georgia;padding:8px 15px;min-height:44px}.backstage-feedback{font:14px/1.5 Georgia!important;min-height:20px;margin:13px 0 0}
.pass-footer{padding:22px 25px 25px;background:#e7d8ba;color:#443626;border-top:4px double #aa9165}.pass-stamps{display:flex;justify-content:center;gap:18px}.pass-stamps>span{font:10px monospace;letter-spacing:2px;border:2px dashed #b1a287;padding:10px 13px;color:#968970;transform:rotate(-3deg)}.pass-stamps>span+span{transform:rotate(3deg)}.pass-stamps .stamped{color:#517458;border:2px solid #517458}.pass-footer p{font:12px Georgia;margin:15px 0}.pass-footer .gold-button:disabled{opacity:.45;cursor:default}.backstage-dialog :focus-visible,.photo-dialog :focus-visible{outline:3px solid #d39958;outline-offset:4px}
@media(max-width:600px){
 .seal-character.seal-touring{width:36%;bottom:4%}.stage-production .seal-touring .seal-speech{font-size:11px;top:-10%;padding:8px;width:110%}.seal-touring .host-credit{font-size:5px;letter-spacing:.4px}
 .fridge{min-height:510px;padding:68px 22px 35px 40px}.fridge-brand{font-size:21px;left:18px}.fridge-handle{left:8px;width:11px;height:170px;top:145px}.fridge-photos{gap:32px 13px;padding-top:16px}.fridge-photo{padding:5px 5px 15px}.fridge-photo img{height:150px}.photo-magnet{font-size:29px;top:-13px}.fridge-photo:nth-child(3) .photo-magnet{font-size:32px}.photo-zoom{padding:55px 10px 15px;min-height:0}#zoom-photo{height:60svh}
 .backstage-header{padding:26px 24px 20px}.backstage-header h2{font-size:36px}.pass-label{font-size:9px;letter-spacing:2px}.pass-subtitle{font-size:8px;letter-spacing:1px}.backstage-nav button{padding:13px 5px}.backstage-nav button span{font-size:12px}.backstage-room{min-height:440px}.dressing-room{padding:26px 20px 0}.vanity{width:92%;height:275px;border-width:12px}.mirror-glass strong{font-size:60px}.mirror-glass>span:first-child{letter-spacing:2px}.dressing-notes{gap:8px;margin-top:-16px}.pinned-note{font-size:12px;padding:17px 7px 10px;min-height:110px}.vanity-shelf{margin:16px -20px 0}.flowers{font-size:50px;top:-55px}.lipstick{left:3%;top:-44px;height:40px}.powder{right:3%;top:-25px;width:28px;height:22px;font-size:9px;line-height:18px}.rehearsal-room{padding:28px 20px}.rehearsal-paper{padding:24px 18px}.paper-stamp{font-size:8px}.backstage-room h3{font-size:24px}.letter-fodder{font-size:21px;letter-spacing:3px}.answer-line{gap:5px}.answer-line input{font-size:16px;letter-spacing:1px;padding:9px 7px}.answer-line button{padding:10px;font-size:12px}.wardrobe-room{padding:24px 18px}.wardrobe-clues{gap:6px}.wardrobe-clues>span{font-size:12px;padding:9px}.mic-rack{grid-template-columns:repeat(3,1fr);gap:14px 16px}.mic-rack button{min-height:100px}.pass-footer{padding:20px 15px}.pass-stamps{gap:10px}.pass-stamps>span{font-size:8px;letter-spacing:1px;padding:9px}.photo-dialog .dialog-close{width:37px;height:37px}
}
@media(prefers-reduced-motion:reduce){.seal-character.seal-touring,.fridge-photo,.mic-rack button{transition:none}}
/* Keep the full set above the persistent soundtrack on typical phone screens. */
.production-stage{height:clamp(600px,calc(100svh - 125px),1050px)}
@media(max-width:600px){.production-stage{height:calc(100svh - 145px);min-height:620px;max-height:980px}}
.seal-character.seal-touring{bottom:9%}
.seal-touring .host-credit{visibility:hidden}
.stage-production .seal-touring .seal-speech{max-width:100%;width:180px}
.programme-prop{left:25%}.keepsake-prop{right:26%}
@media(max-width:600px){.programme-prop{left:10%;bottom:44%}.keepsake-prop{right:10%;bottom:44%}.stage-production .seal-touring .seal-speech{width:130px;max-width:100%;white-space:normal}}
.puzzle-completion{padding:22px 20px;margin:24px auto;border:1px solid #dfbd72;background:radial-gradient(ellipse at top,#80623750,transparent),#1d2924;color:#f6e7bf;box-shadow:0 0 30px #e7bd4e22;max-width:580px;text-align:center;scroll-margin:20px}
.puzzle-completion>span{font-size:38px;color:#ebca7d}.puzzle-completion h4{font:26px/1.2 Georgia,serif;margin:7px 0 10px}.puzzle-completion p{font:14px/1.6 Georgia,serif!important;margin:10px 0 18px}.puzzle-completion button{min-height:46px;padding:12px 18px;border:1px solid #f0d896;background:#e8ce96;color:#2b2530;font:14px Georgia,serif;border-radius:3px}
.royal-approved .mic-rack button{opacity:1;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--mic) 35%,transparent),#231828 75%);border-color:var(--mic);box-shadow:0 0 16px color-mix(in srgb,var(--mic) 25%,transparent)}
.royal-approved .mic{filter:drop-shadow(0 0 7px var(--mic))}
@media(max-width:600px){.puzzle-completion{padding:20px 14px}.puzzle-completion h4{font-size:23px}}
.casting-paper{transform:none;max-width:650px}.casting-paper>p{font-size:15px}.casting-board{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.casting-column{display:flex;flex-direction:column;gap:9px}.casting-column h4{font:11px monospace;letter-spacing:3px;margin:0 0 5px;padding-bottom:9px;border-bottom:1px solid #9d7c5180;text-align:center}.casting-column button{position:relative;min-height:65px;padding:12px 25px 12px 10px;border:1px solid #a38e64;background:#f9edcf;color:#44362a;font:15px/1.35 Georgia,serif;box-shadow:2px 3px 0 #9d7c5130}.casting-column button[aria-pressed=true]{background:#524533;color:#fff0c7;outline:2px solid #b38a46;outline-offset:2px}.casting-column .cast-matched{background:#dce0bf;border-color:#6c8057;color:#34492f}.cast-matched:after{content:attr(data-match);position:absolute;right:5px;top:6px;width:18px;height:18px;border:1px solid #6c8057;border-radius:50%;font:11px/17px monospace;text-align:center}.casting-matches{padding-left:23px;margin:14px 0;font:12px/1.7 Georgia,serif;color:#426142}.casting-matches:empty{display:none}.casting-matches li{padding:6px 0;border-bottom:1px dashed #6c805755}.casting-status{min-height:42px}.casting-paper .puzzle-completion p{color:#f6e7bf}
@media(max-width:600px){.casting-board{gap:10px}.casting-column button{font-size:13px;min-height:76px;padding:12px 23px 12px 8px}.casting-paper>p{font-size:14px}.casting-paper .paper-stamp{line-height:1.6;display:block}.casting-matches{font-size:11px}}
.casting-column .cast-wrong{background:#eed1be;border-color:#a34e3f}.cast-wrong:after{content:'×';position:absolute;right:7px;top:7px;color:#a34e3f;font:18px/1 Georgia}
