@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--gold:#e8bf74;--brass:#c38b36;--goldshade:#673815;--cream:#f8e6bd;--wine:#651a15;--dark:#180b07;--navy:#0d2638;--green:#132d24;--wood:#26110a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:#100806;font-family:Georgia,'Times New Roman',serif}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;font-family:inherit}button:focus-visible,summary:focus-visible{outline:3px solid #fff0a0;outline-offset:3px}.cabinet{width:min(100%,510px);min-height:100vh;position:relative;margin:0 auto;padding:20px 20px 34px;background:#301509 url('assets/tavern-planks.webp') center top/100% 100% no-repeat;box-shadow:0 0 0 2px #4b290f,0 0 0 6px #8d612a,0 0 42px 20px #000c;overflow:hidden}.cabinet::after{content:'';position:absolute;inset:0;pointer-events:none;border:8px double #8d5a22;border-radius:8px;opacity:.48}.cabinet>*,.masthead>*{position:relative;z-index:1}.masthead{text-align:center;padding:0 4px 12px;filter:drop-shadow(1px 4px 4px #0009)}.eyebrow{font:700 10px/1.3 'Cinzel',Georgia,serif;letter-spacing:3px;color:#eacc91;margin:10px 0 6px;text-shadow:0 2px 4px #000}.eyebrow span{padding:0 8px}.brand-sign{position:relative;border-radius:29px 29px 13px 13px/27px 27px 12px 12px;border:3px ridge #bc873c;background:linear-gradient(166deg,#643a1a 0%,#2d160b 36%,#130a07 72%,#563018);box-shadow:inset 0 0 0 3px #150b07,inset 0 0 0 5px #9a6b32,0 6px 12px #050403ab;padding:18px 4px 10px;margin:6px 4px 0}.brand-sign:before,.brand-sign:after{content:'●';position:absolute;bottom:10px;color:#d4a354;font-size:14px;text-shadow:0 0 3px #000}.brand-sign:before{left:12px}.brand-sign:after{right:12px}.brand-sign .skull{position:absolute;top:-14px;left:calc(50% - 13px);display:grid;place-items:center;background:#2c1308;color:#f1c77e;border:2px solid #bd8b43;border-radius:50%;width:30px;height:30px;font-size:21px}.brand-sign h1{font:bold clamp(30px,8.3vw,49px)/1 'Cinzel',Georgia,serif;letter-spacing:-1.8px;margin:0;color:#edc57b;text-shadow:0 2px 1px #2f1008,1px 4px 2px #000,-1px -1px 0 #ffe8ad;white-space:nowrap}.banner{position:relative;margin:-1px auto 0;width:87%;background:linear-gradient(90deg,#b28446,#f2d9a3 15%,#ead1a0 84%,#ae7a38);color:#4b280b;min-height:24px;line-height:23px;font-size:11px;letter-spacing:.6px;font-weight:bold;clip-path:polygon(0 0,100% 0,96% 52%,100% 100%,0 100%,4% 50%);text-shadow:0 1px #fff9}.banner b{font-size:14px;margin:0 4px}.player-pill{width:max-content;max-width:100%;margin:11px auto 0;padding:7px 13px;border:1px solid #ab7c41;border-radius:30px;background:linear-gradient(90deg,#140a08ed,#28160bed,#140a08ed);font:700 9px/1.1 'Cinzel',Georgia,serif;color:#eed19a;letter-spacing:1.2px}.online-light{display:inline-block;vertical-align:middle;background:#54d088;box-shadow:0 0 8px #68ffa4;border-radius:100%;width:7px;height:7px;margin-right:7px}.drawn-strip{display:grid;grid-template-columns:1.1fr 70px .84fr;align-items:center;min-height:113px;gap:6px;padding:11px 11px;margin-top:5px;border:2px ridge #987043;border-radius:5px;background:linear-gradient(#e7ce99f5,#c8aa75f3);box-shadow:0 5px 7px #0008,inset 0 0 18px #96683e66;color:#371b0f;text-shadow:0 1px 0 #fff5;position:relative}.drawn-strip:before{content:'';pointer-events:none;position:absolute;inset:4px;border:1px solid #8f6d40;opacity:.55}.micro-label{font:700 10px/1.4 'Cinzel',Georgia,serif;letter-spacing:.9px;display:block}.drawn-info strong{display:block;margin-top:5px;font-size:clamp(15px,4.2vw,21px);line-height:1.16;color:#721f1b}.round-state{text-align:right}.round-state strong{display:block;font-size:clamp(12px,3vw,17px);margin-top:7px}.round-state small{display:block;margin-top:7px;font-size:10px}.drawn-thumbnail{height:91px;width:65px;margin:auto;display:grid;place-items:center}.drawn-thumbnail img{height:85px;width:auto;border-radius:4px;box-shadow:2px 3px 4px #38210d8a;transform:rotate(-3deg)}.board-area{margin-top:15px;padding:11px 9px 7px;background:linear-gradient(180deg,#0d0705c9,#2b160dc9 12%,#160a06d9 90%);box-shadow:inset 0 0 0 2px #b78a3d,inset 0 0 0 5px #492b13,0 5px 13px #000a;border-radius:8px}.board-subheading{font:700 15px/1.3 'Cinzel',Georgia,serif;letter-spacing:1.2px;color:#f9da91;text-align:center;padding:3px 0 9px;text-shadow:0 2px 2px #000}.tiny-star{font-size:12px;color:#bd7f2b;padding:0 8px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:9px;row-gap:10px;padding:0 1px}.card-tap{position:relative;display:block;padding:0;min-width:0;background:transparent;border:0;aspect-ratio:330 / 462;border-radius:8px;transform:translateZ(0);transition:transform .16s ease, filter .16s ease}.card-tap:nth-child(2n){rotate:.2deg}.card-tap:nth-child(3n){rotate:-.4deg}.card-tap:active{transform:scale(.968)}.card-tap>img.card-face{width:100%;height:100%;object-fit:fill;display:block;box-shadow:2px 5px 5px #000b,0 0 0 1px #af9e89;border-radius:6px}.card-tap.called-unmarked .card-face{box-shadow:0 0 0 3px #e0b85c,0 0 18px #f1af448d,2px 5px 4px #000b}.card-tap.called-unmarked:after{content:'';position:absolute;inset:1px;border-radius:6px;outline:2px solid #ffe5a5;pointer-events:none;animation:calledPulse 2.5s infinite}@keyframes calledPulse{50%{opacity:.35}}.bottle-cap{position:absolute;width:60%;height:auto;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--cap-turn,-3deg));filter:drop-shadow(2px 5px 3px #000c) drop-shadow(0 2px 1px #0009);opacity:0;pointer-events:none;will-change:auto}.card-tap.marked .bottle-cap{opacity:1;animation:capdrop .24s cubic-bezier(.15,1.55,.5,1) both}@keyframes capdrop{0%{transform:translate(-50%,-85%) scale(1.35) rotate(-12deg);opacity:.3}100%{transform:translate(-50%,-50%) scale(1) rotate(var(--cap-turn,-3deg));opacity:1}}.card-tap.marked .card-face{filter:saturate(.83)}.board-foot{display:flex;justify-content:space-between;color:#d1aa6b;font:700 10px/1.4 'Cinzel',Georgia,serif;letter-spacing:.5px;padding:10px 6px 2px}.claims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 0}.claim{border:3px ridge #c18e46;border-radius:8px;min-height:69px;padding:5px 1px;box-shadow:inset 0 0 0 3px #20110c,inset 0 0 12px #0009,0 5px 2px #100806,0 9px 5px #0008;transition:transform .08s,box-shadow .08s;display:grid;place-items:center;text-align:center;font:800 clamp(12px,3.45vw,17px)/1.05 'Cinzel',Georgia,serif;color:#f7d69b;text-shadow:0 2px #160707,0 0 7px #1b0605;letter-spacing:.2px}.claim:active{transform:translateY(3px);box-shadow:inset 0 0 0 3px #20110c,0 1px 3px #050302}.claim-corners{background:radial-gradient(ellipse at 50% 0%,#32543b,#13251e 70%)}.claim-last{background:radial-gradient(ellipse at 50% 0%,#a63527,#5a120b 72%)}.claim-full{background:radial-gradient(ellipse at 50% 0%,#24526a,#082133 72%)}.ships-radio{margin:19px 0 0;border:3px ridge #bd8643;border-radius:11px;background:linear-gradient(180deg,#1d1008e8,#0b0705ec);box-shadow:inset 0 0 0 3px #42260c,0 8px 13px #000b;padding:10px 10px 9px}.section-heading{margin:0 auto 10px;width:83%;text-align:center;color:#f9d99e;font:700 clamp(15px,4vw,20px)/1.4 'Cinzel',Georgia,serif;background:linear-gradient(90deg,#40230f,#170c07,#40230f);border:2px solid #a77639;border-radius:7px;text-shadow:0 3px 2px #000;box-shadow:0 3px 7px #0008}.radio-body{display:grid;grid-template-columns:1fr 1.7fr .95fr;gap:6px;align-items:center}.radio-note{min-height:122px;background:linear-gradient(145deg,#ead4a4,#bca174);border:1px solid #9e6c39;border-radius:5px;color:#3e2211;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;font-family:Georgia,serif;transform:rotate(-2deg);box-shadow:2px 3px 3px #0008}.radio-note-big{font-weight:bold;font-size:15px;line-height:1.03}.radio-note small{line-height:1.55;font-size:10px;margin-top:8px}.radio-ship{font-size:22px;color:#806141}.radio-center{min-width:0;text-align:center}.radio-mic-wrap{margin:auto;width:min(100%,170px);aspect-ratio:1;border-radius:50%;padding:8px;background:radial-gradient(circle at 35% 30%,#ecc780,#ad6a23 39%,#4d270e 63%,#e2ae64 81%,#251208 88%);box-shadow:0 4px 7px #000c,inset 0 0 0 3px #1c0d05,inset 0 0 0 6px #a27338}.radio-mic{touch-action:none;user-select:none;-webkit-user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border:3px solid #e3ac58;border-radius:50%;background:radial-gradient(circle at 40% 26%,#3e2822,#120a08 60%);box-shadow:inset 0 0 16px #000,inset 0 0 0 4px #693618,0 0 13px #d15a1647;color:#f3cb8a;position:relative}.radio-mic:before{content:'';position:absolute;inset:7px;border:1px solid #af582c;border-radius:50%;box-shadow:0 0 10px #ef4f2f85}.radio-mic.recording{border-color:#ffce7c;box-shadow:inset 0 0 16px #000,inset 0 0 0 4px #693618,0 0 18px 7px #f53926ad;animation:onAir .7s infinite alternate}.radio-mic.recording:before{border-color:red}.radio-mic .mic-icon{width:30px;height:38px;display:block;flex-shrink:0;margin-bottom:2px}.radio-mic b{font:800 clamp(11px,3.35vw,16px)/1.1 'Cinzel',Georgia,serif;position:relative;z-index:2}.radio-mic small{font:700 8px/1.1 Georgia,serif;margin-top:5px;position:relative;z-index:2;letter-spacing:.15px}@keyframes onAir{to{box-shadow:inset 0 0 15px #000,inset 0 0 0 4px #693618,0 0 7px 2px #ed4819a8}}.onair-status{font-size:8px;letter-spacing:.4px;color:#e7c58d;margin-top:8px;line-height:1.45}.onair-status i{display:inline-block;background:#68635b;width:6px;height:6px;border-radius:100%;margin-right:5px}.onair-status i.live{background:#ff4931;box-shadow:0 0 8px #ed411a}.preset-labels{display:flex;flex-direction:column;gap:5px}.preset-labels span{display:grid;align-content:center;min-height:37px;color:#38200f;background:linear-gradient(110deg,#e4cfa3,#ae8960);border:1px solid #986c3b;box-shadow:0 3px 3px #0008;clip-path:polygon(4% 0,100% 0,98% 100%,0 93%);font:700 clamp(8px,2.35vw,12px)/1.1 Georgia,serif;text-align:center;transform:rotate(-2deg)}.demo-warning{font:italic 10px/1.35 Georgia,serif;color:#e1bc89;text-align:center;margin:10px auto 0;max-width:345px}.controls-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.footer-button{flex:1;background:#110e0b;border:2px ridge #a9783a;border-radius:30px;min-height:41px;color:#f5d3a0;font:700 11px/1.2 'Cinzel',Georgia,serif;box-shadow:inset 0 0 7px #5e3515,0 3px 4px #0009;letter-spacing:.3px}.footer-button span:first-child{color:#e8b267;font-size:14px}.test-bridge{margin:23px 3px 0;border:1px solid #a07845;border-radius:7px;background:#090604df;color:#f0d1a6;padding:0 12px 12px}.test-bridge summary{font:700 11px/1.35 'Cinzel',Georgia,serif;letter-spacing:.4px;cursor:pointer;padding:13px 3px;color:#ebc081}.test-bridge summary span{display:block;font:italic 10px Georgia,serif;color:#c4a07c;margin-left:20px}.test-bridge p{font:italic 12px/1.4 Georgia,serif}.test-bridge small{display:block;font:11px/1.45 Georgia,serif;color:#bda37d;margin-top:10px}.test-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.test-buttons button{background:#3e2918;border:1px solid #b68c51;border-radius:5px;color:#f9e2b5;min-height:42px;padding:5px;font:700 10px/1.25 'Cinzel',Georgia,serif}.test-buttons button:active{background:#825126}.prototype-tag{font:8px/1.5 Georgia,serif;text-align:center;letter-spacing:1.5px;color:#95714a;padding:18px 0 0}.toast{position:fixed;z-index:50;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,140px);opacity:0;transition:opacity .25s,transform .25s;width:min(92vw,420px);background:#20110aeF;border:2px solid #c69a53;color:#f6dcab;border-radius:9px;padding:13px 17px;box-shadow:0 5px 30px #000e;text-align:center;font-size:15px;line-height:1.35;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}.celebration{z-index:100;position:fixed;inset:0;background:#050301e0;display:none;align-items:center;justify-content:center;padding:20px}.celebration.show{display:flex}.celebration-panel{max-width:450px;width:100%;background:linear-gradient(150deg,#402411,#100906,#42210e);border:5px ridge #c99d55;box-shadow:0 0 0 3px #2a1106,0 0 50px #e8a84d77;padding:30px 20px;text-align:center;border-radius:12px;animation:celebrate .4s ease-out}.celebration-emblem{font-size:53px;color:#deb56c}.celebration-panel h2{font:800 clamp(29px,8vw,43px)/1.1 'Cinzel',serif;margin:8px 0;color:#f3cb83;text-shadow:1px 4px 3px #000}.celebration-panel p{font-size:17px}.celebration-panel button{margin-top:12px;border:2px ridge #f0cb78;border-radius:7px;background:#641d16;color:#ffe8ab;font:700 15px 'Cinzel',serif;padding:12px 17px}@keyframes celebrate{from{transform:scale(.83) rotate(-3deg);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:390px){.cabinet{padding:14px 13px 28px}.brand-sign h1{font-size:clamp(25px,8.7vw,35px)}.brand-sign{padding:20px 1px 10px}.banner{font-size:9px}.cards-grid{gap:7px}.board-area{padding:9px 7px 5px}.claim{min-height:62px}.radio-note{min-height:106px}.drawn-strip{grid-template-columns:1.1fr 56px .9fr;min-height:100px;padding:8px}.drawn-thumbnail{width:54px;height:77px}.drawn-thumbnail img{height:72px}.radio-mic-wrap{padding:6px}.radio-mic .mic-icon{width:26px;height:31px}.radio-mic b{font-size:11px}.radio-mic small{font-size:7px}.radio-note-big{font-size:12px}}@media(min-width:760px){.cabinet{margin:24px auto;border-radius:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* V7 phone preference panel: THEME OFF BY DEFAULT. Visual baseline otherwise unchanged. */
.mobile-music-settings{margin:15px 1px 4px;border:2px ridge #ad8141;border-radius:7px;background:linear-gradient(160deg,#30180dcf,#110805ed);padding:12px;box-shadow:0 4px 12px #0009;color:#f6d7a2}
.music-heading{font:bold 13px/1.3 Georgia,serif;letter-spacing:.055em;text-align:center;margin-bottom:10px;color:#f4ce8b}
.music-row{display:flex;gap:10px;justify-content:space-between;align-items:center;border-top:1px solid #ae82415c;padding:11px 3px;cursor:default}
.music-row strong{font:bold 11px Georgia,serif;display:block;letter-spacing:.03em}
.music-row small{display:block;margin-top:4px;color:#c9a781;font:11px/1.35 Georgia,serif}
.music-switch-row{cursor:pointer}
.music-switch-row input{appearance:auto;accent-color:#ddb06c;width:24px;height:24px;flex-shrink:0;cursor:pointer}
.music-pill{border:1px solid #8c6234;border-radius:40px;color:#ead0a1;padding:6px 9px;background:#32180b;font-weight:bold;font-size:10px}
.music-pill.active{background:#15452c;color:#d9ffd9;border-color:#5eaa6f}
.music-level-row{display:flex;align-items:center;gap:9px;padding:10px 2px 4px;color:#f3d3a1;font:bold 10px/1.3 Georgia,serif;letter-spacing:.02em}
.music-level-row input{flex:1;min-width:0;accent-color:#dfb370}
.music-level-row output{min-width:30px;text-align:right;font-size:11px}
.music-feedback{font:11px/1.35 Georgia,serif;color:#c3a685;padding:7px 2px 1px}

/* V8: claim response sits beneath the three brass mechanical claim buttons. */
.claim-status{grid-column:1/-1;margin:-3px 4px 13px;padding:9px 8px;background:#1f120c;border:1px solid #987245;border-radius:4px;text-align:center;color:#e8c995;font:bold 10px/1.4 Georgia,serif;letter-spacing:.05em;min-height:32px}
.claim-status[data-kind="pending"]{color:#ffe0a0;border-color:#daa751}
.claim-status[data-kind="success"]{color:#bbefbc;border-color:#65966a}
.claim-status[data-kind="error"]{color:#ffd2b4;border-color:#a65336}
.claim:disabled{filter:brightness(.7);cursor:wait}
