*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#070503;color:#f1d6a1}body{font-family:Georgia,'Times New Roman',serif;background:radial-gradient(ellipse at center,#3d2615 0%,#090604 78%);display:flex;justify-content:center;align-items:flex-start}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:3px solid #ffe4a4;outline-offset:3px}
.stage{width:min(100%,calc(100dvh * .632));height:100dvh;min-height:660px;position:relative;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;padding:2.3cqw 3.35cqw 2cqw;background:linear-gradient(90deg,#08060477,#00000009 11%,#00000000 85%,#06040377),url('assets/tavern-planks.webp') center/100% 100% no-repeat,#241409;border-inline:5px ridge #ad7539;box-shadow:0 0 0 2px #100804,0 15px 60px #000b, inset 0 0 32px 4px #070301b5;container-type:inline-size}
.stage:before{content:"";position:absolute;inset:1.1cqw;pointer-events:none;border:1px solid #97632d78;border-radius:4px;box-shadow:inset 0 0 0 3px #11090294;z-index:1}.masthead{align-self:start;text-align:center;min-height:0;padding-top:0.9cqw;position:relative;z-index:2}.ornament-title{font:bold clamp(9px,1.8cqw,21px)/1.1 Georgia,serif;color:#ead09a;letter-spacing:.18em;text-shadow:0 2px 2px #000}.nameplate{border:4px ridge #c79651;border-radius:32% 32% 10% 10% / 16% 16% 8% 8%;padding:.2cqw 0 1.1cqw;margin:1.15cqw 2cqw .75cqw;background:radial-gradient(ellipse at 50% 0,#4b2a10 5%,#160c07 69%);box-shadow:inset 0 0 0 3px #221004,0 4px 13px #000d,0 0 18px #a66e2c34;position:relative}.nameplate:before,.nameplate:after{content:'•';color:#ecc17c;position:absolute;top:43%;font-size:2.7cqw}.nameplate:before{left:2%}.nameplate:after{right:2%}.name-crest{font-size:3.6cqw;line-height:1;display:block;color:#d8b575;text-shadow:0 2px 2px #000}.nameplate h1{font:bold 8.6cqw/1 Georgia,serif;letter-spacing:-.025em;white-space:nowrap;margin:0;color:#f1ca86;text-shadow:0 1px #f4e1b5,2px 4px 1px #46250a,2px 6px 4px #080402}.masthead-caption{letter-spacing:.13em;color:#cda366;font-size:1.6cqw;font-weight:bold;margin-bottom:1.25cqw}
.round-header{position:relative;z-index:2;display:grid;grid-template-columns:1fr 10% 1fr;align-items:center;min-height:0;padding:1.15cqw 2cqw 1.3cqw;border:2px solid #b17c40;border-radius:2cqw;background:linear-gradient(165deg,#201008ed,#4f2812ed 48%,#180b05ef);box-shadow:inset 0 0 0 3px #170901,0 5px 8px #080401b5}.phase-block,.counter-block{display:flex;flex-direction:column;gap:.1cqw}.counter-block{text-align:right}.info-label{color:#d7ac73;font-size:1.55cqw;font-weight:bold;letter-spacing:.13em}.round-header strong{font-size:3.15cqw;letter-spacing:.03em;color:#ffdd9a;text-shadow:0 2px 3px #000}.slash{font-size:2.2cqw;color:#c08e57}.ship-emblem{text-align:center;display:grid;place-items:center;color:#e5c48a;filter:drop-shadow(0 2px 2px #000)}.anchor-mark{width:4.4cqw;height:4.4cqw;display:block}
.draw-chamber{min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.8cqw 1.4cqw 1.2cqw;margin-top:1.45cqw;background:radial-gradient(ellipse at 50% 49%,#c0874330 0%,#4d2b142b 39%,#1a0d088f 76%,#0b0604c7);border:2px solid #7844217d;border-radius:3cqw;box-shadow:inset 0 0 28px #060301d1,0 2px 8px #0006}.ornamental-border{position:absolute;inset:.95cqw;border:2px solid #be88535c;border-radius:2cqw;pointer-events:none}.ornamental-border:after{content:'';position:absolute;inset:1.15cqw;border:1px solid #a57d4b35;border-radius:1.4cqw}.lantern-halo{position:absolute;top:16%;color:#c99a4f;font-size:8cqw;text-shadow:0 0 21px #f3ae36,0 0 41px #ff9b1938;opacity:.6;animation:lanternFlicker 6s infinite}.lantern-left{left:6%}.lantern-right{right:6%;animation-delay:-2s}@keyframes lanternFlicker{0%,98%,100%{opacity:.62}24%{opacity:.45}25%{opacity:.55}68%{opacity:.67}}
.draw-title{font-size:2.25cqw;letter-spacing:.11em;color:#efc98a;text-shadow:0 3px 3px #000;position:relative;z-index:2;white-space:nowrap;margin-bottom:1cqw}.draw-title span{color:#f5dbaa}.display-card-stand{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;perspective:1300px}.deck-ghost{position:absolute;height:min(100%,calc((100cqw - 35cqw)*1.30));aspect-ratio:330 / 462;border-radius:1.8cqw;background:#efd6af;border:2px solid #73532f;box-shadow:0 5px 10px #0008;transform-origin:center}.deck-one{transform:translate(1.8cqw,1.2cqw) rotate(3deg)}.deck-two{transform:translate(-1cqw,.5cqw) rotate(-2deg)}.hero-card{position:relative;display:block;max-height:100%;max-width:78%;height:100%;width:auto;aspect-ratio:330 / 462;object-fit:contain;filter:drop-shadow(.5cqw 1.2cqw .9cqw #000b);border-radius:1.2cqw;user-select:none;-webkit-user-drag:none}.hero-card.card-flip{animation:cardReveal .62s cubic-bezier(.2,.82,.15,1) both}@keyframes cardReveal{0%{transform:perspective(900px) translateY(-6cqw) rotateY(76deg) scale(.87);filter:drop-shadow(2px 6px 6px #0004);opacity:.3}55%{transform:perspective(900px) translateY(0) rotateY(-8deg) scale(1.045);opacity:1}100%{transform:perspective(900px) rotateY(0) scale(1);opacity:1}}
.current-label{display:flex;align-items:center;justify-content:center;width:95%;margin-top:1.8cqw;gap:2.4cqw;text-align:center;flex-shrink:0;position:relative;z-index:2;min-height:7.2cqw}.current-label .label-rule{height:1px;flex:1;background:linear-gradient(90deg,transparent,#d5a6668c,transparent)}.micro-label{display:block;color:#ba9663;font-size:1.55cqw;letter-spacing:.16em;font-weight:bold}.current-label strong{display:block;white-space:nowrap;color:#ffe1ac;font:bold 3.5cqw/1.3 Georgia,serif;text-shadow:0 2px 3px #000}.decorative-bits{position:absolute;bottom:.6cqw;right:3cqw;font-size:2.1cqw;color:#b38a55;opacity:.5}
.history-chamber{position:relative;z-index:2;margin:1.5cqw .2cqw .9cqw;border:3px ridge #b7894d;border-radius:1.65cqw;background:linear-gradient(#1e100ae6,#0f0806f0);padding:1cqw 1.2cqw 1.3cqw;box-shadow:inset 0 0 0 3px #261205,0 6px 10px #0008}.history-head{display:flex;align-items:center;justify-content:space-around;text-align:center;color:#edc891;margin-bottom:1.2cqw}.history-head>span{font-size:2.6cqw}.history-head strong{display:block;letter-spacing:.16em;font:bold 2.6cqw/1.2 Georgia,serif}.history-head small{display:block;font-size:1.6cqw;color:#b69468;margin-top:.3cqw;letter-spacing:.12em}.history-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:1.05cqw}.history-slot{position:relative;aspect-ratio:330/462;min-width:0;border-radius:.75cqw;box-shadow:0 .4cqw .8cqw #000b,0 0 0 1px #af8540;background:linear-gradient(120deg,#412715,#160c06);display:grid;place-items:center;font-size:5cqw;color:#806344}.history-slot img{width:100%;height:100%;object-fit:fill;border-radius:.7cqw;display:block}.history-slot:last-child:not(.empty) img{filter:none}.history-slot.empty{border:1px dashed #9f764a66;box-shadow:inset 0 0 15px #0009;background:radial-gradient(ellipse,#342018,#120b07);font-size:3cqw;color:#6f5336}.history-slot.animate-in img{animation:historyArrive .23s ease-out}@keyframes historyArrive{from{opacity:.2;transform:translateY(-1cqw)}to{opacity:1;transform:translateY(0)}}
.ticker{margin:0 .2cqw;padding:.85cqw 1.5cqw;display:flex;justify-content:space-between;align-items:center;gap:1cqw;white-space:nowrap;overflow:hidden;min-height:5cqw;color:#f4d49a;text-align:center;font:bold 1.85cqw/1.15 Georgia,serif;letter-spacing:.06em;border-top:1px solid #ac7b40;border-bottom:1px solid #ac7b40;background:#130b06cf}.ticker span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.signal-dot{width:1.15cqw;height:1.15cqw;flex:none;border-radius:50%;background:#bb6f27;box-shadow:0 0 10px #ffa333}
.bottom-panel{min-height:0;display:flex;align-items:center;justify-content:space-between;padding:.85cqw 1cqw 0;gap:1cqw;z-index:2;position:relative}.left-foot{display:flex;flex-direction:column;color:#d7a66f;font-weight:bold;font-size:2.2cqw;letter-spacing:.1em}.left-foot small{font-size:1.4cqw}.footer-middle{display:flex;align-items:center;gap:1.15cqw;text-align:center;font:bold 1.55cqw Georgia,serif;letter-spacing:.1em;color:#caaa72}.signal-lamp{width:1.5cqw;height:1.5cqw;border-radius:50%;background:#c28b41;box-shadow:0 0 10px #d29746}.bench-opener{border:1px solid #a5783d;background:linear-gradient(#422511,#110905);border-radius:.8cqw;color:#f0ce95;min-height:4.4cqw;padding:.1cqw 1.6cqw;font-size:2.15cqw;box-shadow:0 2px 5px #000b}.bench-opener span{font-size:1.55cqw}
.event-overlay{position:absolute;z-index:12;inset:0;background:#060302dc;display:grid;place-items:center;padding:5cqw}.event-overlay[hidden],.test-bench[hidden]{display:none!important}.event-frame{width:100%;min-height:36%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2.2cqw;padding:7cqw 3cqw;border:7px ridge #e0a754;border-radius:3cqw;background:radial-gradient(ellipse at top,#5e2a14,#160b08 79%);box-shadow:inset 0 0 0 4px #1d0b04,0 0 0 5px #130801,0 0 65px #f6a03768;animation:overlayEnter .3s ease-out;color:#ffe2aa}.event-overlay.radio .event-frame{border-color:#c74f36;box-shadow:inset 0 0 0 4px #1d0b04,0 0 60px #e34e3b85}.event-crest{font-size:13cqw;color:#ffd498;text-shadow:0 0 15px #eba451}.event-overline{font-weight:bold;font-size:3cqw;letter-spacing:.18em;color:#e8b178}.event-title{font-size:7.5cqw;font-weight:bold;line-height:1.2;text-shadow:0 4px 4px #000}.event-detail{font-size:3.1cqw;color:#e4c395}.event-frame button{margin-top:2cqw;border:2px ridge #deb36b;color:#fbe0ae;background:#542918;border-radius:1cqw;padding:1.4cqw 2.4cqw;font-weight:bold;font-size:2.5cqw}@keyframes overlayEnter{from{transform:scale(.84);opacity:.5}to{transform:scale(1);opacity:1}}
.test-bench{z-index:30;position:fixed;right:14px;bottom:14px;width:min(96vw,430px);max-height:90dvh;overflow:auto;border:3px ridge #d2a15b;padding:16px;background:linear-gradient(#36200e,#140a06);border-radius:13px;box-shadow:0 9px 42px #000e;color:#f5d7a0}.bench-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}.bench-head strong{display:block;font-size:17px}.bench-head span{display:block;font-size:11px;color:#c7a77e;padding-top:5px}.bench-head button{background:#431f14;color:#fbe1b1;border:1px solid #b18b51;font-size:16px;border-radius:5px;width:32px;height:32px}.bench-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bench-grid button{min-height:45px;font-size:12px;font-weight:bold;line-height:1.15;color:#fbe1aa;background:linear-gradient(#5c3b20,#24140c);border:1px solid #b98c53;border-radius:5px;padding:6px}.bench-grid button:active{transform:translateY(1px)}.bench-grid .strong{background:linear-gradient(#55734f,#223c30)}.bench-grid .wide{grid-column:1/-1;background:linear-gradient(#8b4231,#43120c)}.bench-grid kbd{color:#dcb06c;font-size:10px;margin-left:4px}.test-bench p{color:#d6b689;font-size:12px;line-height:1.4;margin-bottom:0}.outside-note{display:none}
@media (orientation:landscape){.outside-note{display:block;position:fixed;bottom:10px;left:12px;color:#ac8454;letter-spacing:1px;font-size:9px}}@media(max-width:450px){.stage{border-width:2px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Soundcheck lives in the local demo bench; the approved NUC display is untouched. */
.soundcheck{margin:14px 0 12px;border:1px solid #956d3c;background:#190f08;padding:11px;border-radius:8px}
.soundcheck h2{font:bold 13px Georgia,serif;letter-spacing:.08em;color:#ffdc9f;margin:0 0 8px}
.soundcheck p{margin:0 0 8px!important;font-size:11px!important}
.soundcheck-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.soundcheck-buttons button{min-height:39px;background:linear-gradient(#62401e,#2c180c);border:1px solid #9f773d;border-radius:4px;color:#f6d49b;font: bold 11px Georgia,serif}
.soundcheck-buttons button:active{transform:translateY(1px)}
.sound-volume{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:13px 0;font:bold 10px Georgia,serif;letter-spacing:.025em;color:#ffe0a7}
.sound-volume input{width:100%;accent-color:#d9a658}.sound-volume output{font-size:11px}
.keepawake{display:flex;gap:8px;align-items:center;font: bold 10px Georgia,serif;color:#e0b977;line-height:1.4;margin-bottom:9px}
.keepawake input{accent-color:#d49e48}
.soundcheck small{font:11px/1.4 Georgia,serif;color:#af9477}

/* V3 voice audition options */
.voice-explain{margin:10px 0!important;color:#ecd4ad!important;font-size:12px!important;line-height:1.5!important}
.voice-explain strong{color:#f7d28b}
.voice-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.voice-options button{background:linear-gradient(160deg,#5b3c1e,#201208);border:1px solid #af833f;border-radius:7px;min-height:85px;color:#f7d28b;padding:11px 9px;text-align:left;font:12px Georgia,serif;cursor:pointer}
.voice-options button b{display:block;font-size:12px;letter-spacing:.025em;margin-bottom:7px}
.voice-options button small{display:block;color:#c7ad86;line-height:1.4}
.voice-options button:active{transform:translateY(1px)}
.voice-notes{font-size:11px!important;line-height:1.5!important;color:#cbb08c!important;padding:10px;border:1px dashed #8a6744;border-radius:6px}
@media(max-width:360px){.voice-options{grid-template-columns:1fr}}

/* User-selected accordion hornpipe: practical test controls, no new visual redesign */
.music-panel{margin:16px 0;padding:12px 14px;border:1px solid #92744e;border-radius:10px;background:rgba(32,19,9,.75);}
.music-panel h3{font-size:15px;letter-spacing:1px;color:#f1c67e;margin:0 0 9px;}
.music-panel small{display:block;line-height:1.5;margin-top:8px;opacity:.85;}

/* V19.2 — free both original working ship's lanterns on portrait displays.
   Only the header nameplate is narrowed; no game/display behaviour changes. */
.stage .masthead .nameplate{margin-left:15cqw;margin-right:15cqw}
.stage .masthead .nameplate h1{font-size:8.1cqw}

/* V19.3.1: local NUC audio permission handshake; no changes to artwork. */
.nuc-captain-audio{position:fixed;right:20px;bottom:92px;z-index:800;max-width:min(400px,90vw);background:#170d09f2;border:2px solid #caa05f;box-shadow:0 8px 35px #000d;padding:12px;border-radius:7px;text-align:center;color:#f7dfac;font:13px Arial,sans-serif}
.nuc-captain-audio[hidden]{display:none!important}
.nuc-captain-audio button{width:100%;padding:14px 17px;border:2px ridge #dfb87b;border-radius:4px;background:#483019;color:#ffe5b3;font:bold 14px Arial,sans-serif;cursor:pointer}
.nuc-captain-audio small{display:block;margin-top:8px;line-height:1.3;color:#dfc392}
