@media (min-width: 901px) {
  .lane { height: 390px; }
  .ai-row, .player-row { height: 125px; }
  .card.small { height: 118px; }
  .location { height: 100px; }
  .hand-wrap { height: 140px; }
}

.ghost-cta { margin-left: 10px; padding: 14px 18px; color: #e8ba63; border: 1px solid #e8ba6380; background: #090c14cc; font-size: 11px; font-weight: 700; letter-spacing: .09em; }
.ghost-cta:hover { border-color: #e8ba63; background: #19170f; }
.card.creature { border-color: #66a85e; }
.card.folk { border-color: #bd913e; }
.card.psychological { border-color: #91a86f; }
.hand-card { cursor: grab; touch-action: none; user-select: none; }
.hand-card.dragging { opacity: .42; transform: translateY(-24px) rotate(-3deg); }
.pointer-ghost { position: fixed; z-index: 80; margin: 0; padding: 0; border: 0; background: none; width: 79px; height: 118px; transform: translate(-50%,-58%) rotate(4deg) scale(1.08); pointer-events: none; filter: drop-shadow(0 18px 18px #000); }
.pointer-ghost .card { height: 118px; }
.lane.drag-over { border-color: #e8ba63; background: linear-gradient(#201c10bb,#342814bb); box-shadow: inset 0 0 50px #e8ba6330, 0 0 24px #e8ba6344; }
.lane.drag-over .lane-target { opacity: 1; border-color: #e8ba63; color: #e8ba63; transform: translateX(-50%) scale(1.08); }
.lane.unrevealed .location { position: relative; border-color: #303748; background: radial-gradient(circle at 50% 40%,#292d3a,#10131c 70%); overflow: hidden; }
.lane.unrevealed .location:before { content: ''; position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(115deg,transparent 0 10px,#fff 11px 12px); animation: mysteryDrift 8s linear infinite; }
.mystery-location { position: relative; display: grid; grid-template-columns: 36px auto; align-items: center; column-gap: 9px; }
.mystery-location span { grid-row: 1/3; display: grid; place-items: center; width: 34px; height: 50px; border: 1px solid #7d8494; color: #c6c9d1!important; font: 25px 'Archivo Black'; box-shadow: inset 0 0 18px #fff1; }
.mystery-location h3 { color: #c6c9d1; letter-spacing: .08em; }
.mystery-location p { color: #777f90; letter-spacing: .14em; }
.location-reveal { animation: locationReveal .65s cubic-bezier(.2,.8,.2,1); }
@keyframes locationReveal { 0%{transform:perspective(700px) rotateX(-88deg) scale(.86);filter:brightness(4) contrast(2);opacity:0} 18%{opacity:1} 58%{transform:perspective(700px) rotateX(8deg) scale(1.035);filter:brightness(2.2) contrast(1.3)} 78%{transform:perspective(700px) rotateX(-3deg);filter:brightness(1.35)} 100%{transform:none;filter:none;opacity:1} }
@keyframes mysteryDrift { to{background-position:180px 0} }
.tutorial-shade { position: fixed; inset: 74px 0 0; z-index: 40; pointer-events: none; background: #02040ac7; }
.tutorial-card { position: fixed; z-index: 44; width: min(390px,calc(100vw - 30px)); padding: 22px; background: linear-gradient(145deg,#202635,#0d111a); border: 1px solid #e8ba63; box-shadow: 0 22px 70px #000; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.tutorial-card small { color: #e8ba63; font-size: 9px; letter-spacing: .15em; }
.tutorial-card h3 { margin: 8px 0; font: 22px 'Archivo Black'; }
.tutorial-card p { color: #c3c7d0; line-height: 1.5; font-size: 13px; }
.tutorial-card button { border: 0; background: #e23b3b; padding: 11px 16px; font-weight: 700; font-size: 10px; letter-spacing: .1em; }
.tutorial-wait { display: block; color: #e8ba63; font-size: 8px; letter-spacing: .12em; }
.tutorial-card.step-1 { left: calc(50% - 390px); top: auto; bottom: 34px; }
.tutorial-card.step-2 { left: 75%; top: auto; bottom: 24px; }
.tutorial-card.step-3 { left: 75%; top: 47%; }
.tutorial-card.step-4 { left: auto; right: 28px; top: auto; bottom: 34px; transform: none; }
.tutorial-card.step-5 { left: 50%; top: 50%; }
.battle:has(.tutorial-card.step-0) .location,
.battle:has(.tutorial-card.step-1) .energy,
.battle:has(.tutorial-card.step-2) .hand-card[aria-label^="The Last Witness"],
.battle:has(.tutorial-card.step-2) .lane:first-child,
.battle:has(.tutorial-card.step-3) .lane:first-child .scores,
.battle:has(.tutorial-card.step-4) #endTurn { position: relative; z-index: 43; box-shadow: 0 0 0 4px #e8ba63,0 0 35px #e8ba63; }
.tutorial-end-turn { display: inline-flex; align-items: center; gap: 12px; box-shadow: 0 0 0 3px #e8ba6355,0 0 24px #e8ba6344; }
.tutorial-end-turn kbd { padding: 3px 7px; background: #8f2222; font-size: 9px; }
.battle:has(.tutorial-card.step-0) .location { z-index: 43; }
.battle:has(.tutorial-card.step-1) .energy { z-index: 43; }
.battle:has(.tutorial-card.step-2) .hand-card[aria-label^="The Last Witness"] { z-index: 43; transform: translateY(-22px); box-shadow: 0 0 0 4px #e8ba63,0 0 30px #e8ba63; }
.battle:has(.tutorial-card.step-2) .lane:first-child { z-index: 43; box-shadow: inset 0 0 0 3px #e8ba63,0 0 30px #e8ba6355; }
.battle:has(.tutorial-card.step-3) .lane:first-child .scores { z-index: 43; padding: 6px; background: #111; box-shadow: 0 0 0 3px #e8ba63; }
.filters { flex-wrap: wrap; }
@media(max-width:900px){.ghost-cta{display:block;margin:0 0 18px}.tutorial-card[class*="step-"]{left:50%;top:auto;bottom:18px;transform:translateX(-50%)}.tutorial-shade{background:#02040a99}}

/* Illustrated card system + readable abilities */
.card { --frame:#bd6a52; --glow:#e96649; border:1px solid color-mix(in srgb,var(--frame) 82%,white); border-radius:11px; background:#07090e; box-shadow:0 0 0 3px #07090e,0 0 0 4px color-mix(in srgb,var(--frame) 58%,black),0 14px 28px #000b; clip-path:polygon(0 0,86% 0,100% 8%,100% 100%,14% 100%,0 92%); }
.card.paranormal { --frame:#5bcbd6;--glow:#63f0f6; }
.card.cosmic { --frame:#9474d8;--glow:#b493ff; }
.card.creature { --frame:#70b76e;--glow:#93e380; }
.card.folk { --frame:#c69a4f;--glow:#efc56f; }
.card.psychological { --frame:#8faf7c;--glow:#b8dca0; }
.card-art { inset:4px 4px 30%; transform:none; background-image:linear-gradient(0deg,#07090e 0,transparent 28%),var(--art); background-position:center; border-bottom:1px solid var(--frame); }
.card:after { content:""; position:absolute;inset:5px;pointer-events:none;background:linear-gradient(135deg,#fff3 0,transparent 14%,transparent 75%,var(--glow) 120%);z-index:5; }
.card-copy { left:4px;right:4px;bottom:4px;height:31%;min-height:0;padding:9px 10px;background:linear-gradient(150deg,#151923f5,#08090dfc);border-top:2px solid var(--frame); }
.card-copy h3 { font-size:13px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:25px; }
.card-copy span { color:var(--frame); }
.card-copy p { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:9px;line-height:1.3;margin-top:5px; }
.card-copy p b { display:block;color:var(--frame);font-size:7px;letter-spacing:.15em;margin-bottom:2px; }
.cost,.power { z-index:7;border-color:#f1ede3;box-shadow:0 0 0 2px #07090e,0 4px 14px #000d; }
.rarity { z-index:7;top:8px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);color:var(--frame); }
.ability-pip { display:none; }
.collection-card { display:block;width:100%;padding:0;border:0;background:none;text-align:left; }
.collection-card:focus-visible { outline:3px solid var(--gold);outline-offset:8px; }
.collection-card .card { cursor:zoom-in; }
.card.small { height:124px;clip-path:polygon(0 0,88% 0,100% 10%,100% 100%,12% 100%,0 90%); }
.card.small .card-art { inset:3px 3px 24%; }
.card.small .card-copy { height:28%;padding:5px 5px 4px;border-top-width:1px; }
.card.small .card-copy h3 { font-size:7px;padding:0;white-space:normal;line-height:1.05;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.card.small .ability-pip { display:block;position:absolute;left:5px;right:5px;bottom:3px;color:var(--frame);font-size:5px;font-weight:800;letter-spacing:.08em;z-index:8;white-space:nowrap;overflow:hidden; }
.card.small .rarity { display:none; }
.card.small:focus { outline:2px solid var(--gold);outline-offset:2px; }

.card-preview { position:fixed;width:500px;height:390px;display:grid;grid-template-columns:240px 1fr;z-index:95;background:#0c1018;border:1px solid #4a5364;box-shadow:0 24px 70px #000,0 0 0 1px #ffffff10;opacity:0;visibility:hidden;transform:translateY(9px) scale(.98);transition:.14s;pointer-events:none;overflow:hidden; }
.card-preview.visible { opacity:1;visibility:visible;transform:none; }
.preview-art { background-size:contain;background-repeat:no-repeat;background-position:center;position:relative;background-color:#05070b; }
.preview-art:after { content:"";position:absolute;inset:0;box-shadow:inset -18px 0 28px #0c1018;pointer-events:none; }
.preview-copy { padding:28px 20px 18px;position:relative;display:flex;flex-direction:column;justify-content:center; }
.preview-copy small { color:var(--gold);font-size:8px;letter-spacing:.17em; }
.preview-copy h3 { font:22px 'Archivo Black';margin:5px 0 2px; }
.preview-copy>span { color:#9ca4b4;font-size:8px;letter-spacing:.13em; }
.preview-stats { position:static;display:flex;gap:7px;margin:18px 0 4px; }
.preview-stats b { width:44px;height:44px;border-radius:50%;background:#1a62b8;border:2px solid white;display:grid;place-content:center;text-align:center;font:17px 'Archivo Black'; }
.preview-stats b:last-child { background:#c84536; }
.preview-stats i { display:block;font:5px 'DM Sans';letter-spacing:.1em; }
.preview-copy p { font-size:12px;line-height:1.45;background:#151b26;border-left:3px solid var(--gold);padding:12px;margin:12px 0 8px; }
.preview-copy p strong { color:var(--gold);font-size:8px;letter-spacing:.14em;display:block;margin-bottom:4px; }
.preview-copy em { color:#70798a;font-style:normal;font-size:7px;letter-spacing:.16em; }

.inspection-backdrop { position:fixed;inset:0;background:#02040ae8;backdrop-filter:blur(10px);z-index:110;display:grid;place-items:center;padding:22px; }
.inspection { width:min(850px,94vw);max-height:92vh;background:linear-gradient(145deg,#171e2b,#090c13);border:1px solid #596272;box-shadow:0 34px 90px #000;display:grid;grid-template-columns:340px 1fr;gap:34px;padding:28px;position:relative;overflow:auto; }
.inspection-close { position:absolute;right:12px;top:8px;background:none;border:0;color:#aeb5c0;font-size:30px;z-index:3; }
.inspection-card .card { width:300px;height:450px;margin:auto; }
.inspection-copy { display:flex;flex-direction:column;justify-content:center; }
.inspection-copy h2 { font-size:36px;line-height:1;margin:8px 0; }
.inspection-film { color:#8f98aa;font-size:9px;letter-spacing:.12em; }.inspection-film b{color:white;}
.inspection-stats { display:flex;gap:26px;margin:25px 0; }.inspection-stats span{font-size:8px;letter-spacing:.14em;color:#8f98aa}.inspection-stats b{font:28px 'Archivo Black';color:white;display:block}
.rules-box { background:#111722;border:1px solid #374050;border-left:4px solid var(--gold);padding:17px 18px; }.rules-box small{color:var(--gold);font-weight:800;letter-spacing:.16em}.rules-box p{font-size:16px;line-height:1.45;margin:8px 0 0}.inspection-help{font-size:8px;color:#6f7786;letter-spacing:.1em;margin-top:18px}
@media(max-width:720px){.card-preview{display:none}.inspection{grid-template-columns:1fr;padding:20px;gap:18px}.inspection-card .card{width:210px;height:315px}.inspection-copy h2{font-size:27px}.inspection-stats{margin:12px 0}.rules-box p{font-size:13px}}

.turn-actions { display:flex;align-items:center;gap:8px; }
@media(max-width:620px){.turn-actions{gap:4px}.turnbar #endTurn{padding:8px;font-size:8px}.turn-actions kbd{display:none}}

/* Haunted Screamsplice palace battlefield */
.battle { position:relative;isolation:isolate;background:linear-gradient(180deg,#02040a10,#02040a50 72%,#020309e8),url('assets/battlefield-screamsplice-palace.png') center 26%/cover fixed; }
.battle:before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 4%,transparent 0 38%,#0203094f 84%),linear-gradient(90deg,#02040a72,transparent 14% 86%,#02040a72); }
.battle:after { content:"";position:absolute;left:0;right:0;bottom:0;height:190px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,#03050be8 35%),repeating-linear-gradient(90deg,#0e0b0f 0 80px,#201319 82px 86px,#08070a 88px 150px);opacity:.88; }
.battle-atmosphere { position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none; }
.battle-atmosphere i { position:absolute;top:-8%;width:18%;height:82%;background:linear-gradient(180deg,#f8dfaa13,transparent 76%);filter:blur(3px);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);animation:projector-breathe 7s ease-in-out infinite alternate; }
.battle-atmosphere i:nth-child(1){left:14%;transform:rotate(-6deg)}.battle-atmosphere i:nth-child(2){left:41%;animation-delay:-3s}.battle-atmosphere i:nth-child(3){right:13%;transform:rotate(6deg);animation-delay:-5s}
@keyframes projector-breathe{from{opacity:.24}to{opacity:.62}}
.turnbar { min-height:54px;padding:7px 13px;background:linear-gradient(90deg,#07090ee8,#19100fe8 50%,#07090ee8);border:1px solid #6d4b31;border-radius:4px;box-shadow:0 8px 24px #000,inset 0 0 28px #c88b3213;position:relative;z-index:4; }
.turnbar:before,.turnbar:after { content:"✦";color:#9b6e3e;font-size:9px;position:absolute;left:7px;top:4px}.turnbar:after{left:auto;right:7px}
.opponent-title b { font-family:'Archivo Black';letter-spacing:.12em;color:#eee6d8;text-shadow:0 0 12px #d2453566; }.opponent-title small{color:#b5946a}
.turn span { color:#b99c76; }.turn b { color:#f3cd80;text-shadow:0 0 14px #efbd5b8c; }
.lanes { gap:18px;position:relative;z-index:2;perspective:1200px; }
.lane { border:1px solid #92714d7a;border-radius:7px;background:linear-gradient(180deg,#05070a6b,#11101948 47%,#06080d73);box-shadow:inset 0 0 30px #00070,0 14px 34px #0009;overflow:hidden;backdrop-filter:blur(.6px); }
.lane:before,.lane:after { content:"";position:absolute;top:0;bottom:0;width:7px;z-index:1;opacity:.36;background:repeating-linear-gradient(180deg,#bd9a66 0 6px,transparent 6px 13px); }.lane:before{left:0}.lane:after{right:0}
.lane:nth-child(1){transform:rotateY(2deg)}.lane:nth-child(3){transform:rotateY(-2deg)}
.lane-reel { position:absolute;inset:5px;border:1px solid #d3aa641c;border-radius:4px;pointer-events:none;box-shadow:inset 0 0 22px #bba66a0d; }
.ai-row,.player-row { position:relative;z-index:2;padding-block:8px;background:radial-gradient(ellipse at 50% 50%,#02030965,transparent 72%); }
.ai-row:after,.player-row:after { content:"THE HOUSE";position:absolute;left:10px;top:3px;color:#a38d7045;font-size:6px;letter-spacing:.22em; }.player-row:after{content:"YOUR FEATURE";top:auto;bottom:3px}
.location { position:relative;z-index:3;margin:4px -3px;height:112px;background:linear-gradient(180deg,#301a16f1,#110b0df8);border:1px solid #a06c3d;border-left-width:4px;border-right-width:4px;box-shadow:0 0 26px #000,inset 0 0 24px #e09d2917;clip-path:polygon(3% 0,97% 0,100% 15%,100% 85%,97% 100%,3% 100%,0 85%,0 15%); }
.location:before { content:"";position:absolute;inset:5px;border:1px dotted #d6a95d52;pointer-events:none; }
.location h3 { color:#f4e8d1;letter-spacing:.04em;text-shadow:0 2px 8px #000; }.location p{color:#c8bba9}.location>div>span{color:#efc66e;text-shadow:0 0 12px #edb54f}
.mystery-location { position:relative; }.mystery-location:after { content:"CLASSIFIED REEL";position:absolute;left:42px;top:-12px;color:#7f654b;font-size:6px;letter-spacing:.2em; }
.scores { position:relative;z-index:2;background:#050609c7;border:1px solid #664a32;padding:7px 9px;border-radius:20px; }.scores b.winning{color:#f3c86e}
.lane-target { bottom:5px;opacity:.62;background:#140c0ce8;border:1px solid #725138;color:#c9ab7c;box-shadow:0 3px 14px #000; }.lane-target:hover{background:#2a1412;color:#ffd98a;border-color:#d7a34f;box-shadow:0 0 18px #d989393b}
.lane.drag-over { border-color:#efbf65;box-shadow:inset 0 0 45px #e7a53c28,0 0 28px #e7a53c4c; }
.hand-wrap { z-index:3;max-width:900px;margin:auto;border-top:1px solid #6e4e34;background:radial-gradient(ellipse at 50% 110%,#371b18d9,#07090dde 64%);box-shadow:0 -16px 32px #0008,inset 0 1px #d7a76430;clip-path:polygon(4% 0,96% 0,100% 24%,100% 100%,0 100%,0 24%); }
.hand-wrap:before { content:"YOUR HAND · FEATURE SELECTION";position:absolute;top:7px;color:#a8875d;font-size:7px;letter-spacing:.25em; }
.undo-hand { width:92px;min-width:92px;height:92px;border-radius:50%;display:grid;place-content:center;gap:1px;text-align:center;background:#0a0d13;border:1px solid #65594a;color:#716d66;box-shadow:inset 0 0 20px #000,0 7px 18px #0009;opacity:.48;transition:.18s; }
.undo-hand b { font:34px/1 'Archivo Black'; }.undo-hand span{font-size:6px;font-weight:800;letter-spacing:.09em}.undo-hand kbd{font-size:6px;background:#171b23;padding:2px 4px;margin:2px auto 0;color:#777}
.undo-hand.available { opacity:1;color:#ffe0a0;background:radial-gradient(circle,#5c281e,#1a0c0d 70%);border:2px solid #efb44f;box-shadow:inset 0 0 20px #f05d272b,0 0 0 4px #0a0c11,0 0 26px #ef9d456e;animation:undo-arrives .3s ease-out; }
.undo-hand.available:hover { transform:translateY(-3px) scale(1.04);filter:brightness(1.15); }.undo-hand:disabled{cursor:not-allowed}
@keyframes undo-arrives{from{transform:scale(.76) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
.ticker { position:relative;z-index:3;width:max-content;max-width:90%;margin:-6px auto 0;padding:5px 28px;color:#b9a98e;background:#07080cdb;border:1px solid #523e2e;letter-spacing:.07em;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%); }
.energy b { color:#76e6ef;text-shadow:0 0 15px #51e3ed8c; }.deck-count b{color:#efc06c;text-shadow:0 0 15px #edac4f66}
@media(max-width:900px){.battle{background-attachment:scroll;background-position:center top}.lane:nth-child(1),.lane:nth-child(3){transform:none}.hand-wrap{clip-path:none}.undo-hand{width:68px;min-width:68px;height:68px}.undo-hand b{font-size:25px}.undo-hand kbd{display:none}}

/* Cinematic card and location reveals */
.battle-atmosphere:after { content:"";position:absolute;inset:0;background:#fff6d9;mix-blend-mode:screen;opacity:0;pointer-events:none; }
.battle.card-revealing .battle-atmosphere:after { animation:projector-flash .72s steps(2,end); }
.battle.location-revealing .battle-atmosphere:after { animation:location-flash 1.05s ease-out; }
.card.revealing-card { z-index:34!important;animation:card-cinema-reveal 1s cubic-bezier(.12,.82,.19,1) both;transform-origin:50% 110%; }
.card.revealing-card .card-art:after { content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,#fff9d7e8 47%,transparent 68%);transform:translateX(-140%);animation:card-scan .68s .18s ease-out; }
.card.revealing-card:before { content:"";position:absolute;inset:-20px;z-index:-2;background:radial-gradient(circle,var(--glow),transparent 62%);opacity:0;animation:ability-aura .9s .12s ease-out; }
.reveal-sting { --sting:#d85b47;position:absolute;left:50%;top:69px;z-index:60;width:min(430px,48vw);padding:8px 18px;text-align:center;pointer-events:none;background:linear-gradient(90deg,transparent,#07090feb 15% 85%,transparent);border-block:1px solid color-mix(in srgb,var(--sting) 72%,transparent);filter:drop-shadow(0 7px 18px #000);animation:sting-title 1.02s cubic-bezier(.12,.8,.18,1) both; }
.reveal-sting.paranormal{--sting:#65e8ef}.reveal-sting.cosmic{--sting:#ad87ff}.reveal-sting.creature{--sting:#91db78}.reveal-sting.folk{--sting:#e6b95e}.reveal-sting.psychological{--sting:#acd18f}
.reveal-sting>*{display:block}.reveal-sting small{color:var(--sting);font-size:7px;font-weight:800;letter-spacing:.24em}.reveal-sting b{font:17px 'Archivo Black';letter-spacing:.055em;text-transform:uppercase;text-shadow:0 0 18px var(--sting)}.reveal-sting span{font-size:8px;color:#c5c2ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.location-reveal { z-index:40;overflow:visible!important;animation-duration:1.05s;box-shadow:0 0 0 1px #f5cb78,0 0 48px #e99d3e8c,inset 0 0 42px #efc36635; }
.location-reveal:after { content:"NOW SHOWING";position:absolute;left:50%;top:-15px;transform:translateX(-50%);padding:3px 18px;color:#ffe4a3;background:#160d0d;border:1px solid #c89245;font-size:7px;font-weight:800;letter-spacing:.24em;white-space:nowrap;animation:now-showing 1.05s ease-out both; }
.location-revealing .lane:has(.location-reveal) { z-index:28;animation:lane-impact .46s .35s both; }
.location-revealing .lane:not(:has(.location-reveal)) { filter:brightness(.55) saturate(.7);transition:.18s; }
@keyframes projector-flash{0%{opacity:0}8%{opacity:.7}12%{opacity:.06}18%{opacity:.36}24%,100%{opacity:0}}
@keyframes location-flash{0%{opacity:.05}24%{opacity:.42}28%{opacity:.02}42%{opacity:.18}100%{opacity:0}}
@keyframes card-cinema-reveal{0%{opacity:0;transform:translateY(58px) rotate(-8deg) scale(.42);filter:brightness(3) blur(3px)}34%{opacity:1;transform:translateY(-22px) rotate(2deg) scale(1.22);filter:brightness(1.8)}58%{transform:translateY(4px) rotate(-1deg) scale(1.08);filter:brightness(1.16)}100%{transform:none;filter:none}}
@keyframes card-scan{0%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
@keyframes ability-aura{0%{opacity:0;transform:scale(.45)}32%{opacity:.74}100%{opacity:0;transform:scale(1.55)}}
@keyframes sting-title{0%{opacity:0;transform:translate(-50%,-14px) scaleX(.2)}18%{opacity:1;transform:translate(-50%,0) scaleX(1.04)}72%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-6px)}}
@keyframes now-showing{0%{opacity:0;letter-spacing:.7em;transform:translateX(-50%) scaleX(.25)}32%,72%{opacity:1;letter-spacing:.24em;transform:translateX(-50%) scaleX(1)}100%{opacity:0}}
@keyframes lane-impact{0%{transform:translateX(0)}25%{transform:translateX(-4px)}48%{transform:translateX(4px)}72%{transform:translateX(-2px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.card.revealing-card,.card.revealing-card .card-art:after,.card.revealing-card:before,.reveal-sting,.location-reveal,.location-reveal:after,.location-revealing .lane:has(.location-reveal),.battle-atmosphere:after{animation:none!important}.reveal-sting{display:none}}

/* Independent score and effects controls */
.audio-controls { display:flex!important;align-items:center;gap:4px;padding:3px;border:1px solid #3d342a;background:#080b11;border-radius:18px; }
.profile .audio-controls button { width:29px;height:29px;display:grid;place-items:center;padding:0;border-radius:50%;color:#646a75;transition:.18s;font-size:14px; }
.profile .audio-controls button.on { color:#f0c26e;background:#241811;box-shadow:inset 0 0 12px #e59d3522,0 0 8px #e6b2551f; }
.profile .audio-controls button:hover { color:#ffe0a0;transform:scale(1.08); }
#music.on { animation:music-breathe 2.8s ease-in-out infinite; }
@keyframes music-breathe{50%{text-shadow:0 0 10px #efbc68;box-shadow:inset 0 0 12px #e59d3533,0 0 11px #e6b25535}}
@media(max-width:900px){.audio-controls{display:flex!important}.profile>.audio-controls{margin-left:auto}}

/* Projection-room audio mixer */
.settings-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#020307d9;backdrop-filter:blur(8px);animation:settings-fade .18s ease-out}
.sound-settings{width:min(500px,calc(100vw - 30px));padding:25px;background:linear-gradient(145deg,#18130f,#090b11 56%);border:1px solid #8b6939;box-shadow:0 24px 90px #000,0 0 0 1px #d8b46c1f;position:relative;overflow:hidden}
.sound-settings:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff05 4px),radial-gradient(circle at 50% -20%,#d28c3126,transparent 54%)}
.sound-settings>*{position:relative}.settings-heading{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #51422f;padding-bottom:15px}.settings-heading small{color:#dcae5d;font-size:8px;letter-spacing:.22em}.settings-heading h2{font-size:28px;margin:4px 0 0;letter-spacing:-.035em}.settings-heading>button{width:34px;height:34px;border:1px solid #554c41;background:#0d0f14;color:#a8a49c;font-size:24px;line-height:1}.settings-heading>button:hover{color:white;border-color:#d2a75b}.settings-intro{margin:15px 0 18px;color:#979ba4;font-size:11px;line-height:1.45}
.mixer-channel{padding:16px;margin-top:11px;background:#090b10d9;border:1px solid #343238}.channel-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.channel-title>span{display:flex;align-items:center;gap:11px}.channel-title>span>b{width:36px;height:36px;display:grid;place-items:center;border:1px solid #705329;border-radius:50%;color:#e6b45c;background:#1d1510;font-style:normal}.channel-title i{font-style:normal}.channel-title strong,.channel-title small{display:block}.channel-title strong{font:11px 'Archivo Black';letter-spacing:.04em}.channel-title small{font-size:7px;color:#6f7682;letter-spacing:.12em;margin-top:3px}.channel-title>button{min-width:63px;padding:7px 9px;border:1px solid #463b31;background:#15171d;color:#70747d;font-size:7px;font-weight:800;letter-spacing:.13em}.channel-title>button.enabled{color:#f0bc60;border-color:#9c7036;background:#261a10}
.volume-control{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:13px;margin-top:17px}.volume-control output{font:12px 'Archivo Black';color:#f3c36f;text-align:right}.volume-control input{width:100%;height:18px;margin:0;appearance:none;background:transparent;cursor:pointer}.volume-control input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#d99b42 0 var(--value,100%),#343942 var(--value,100%));border-radius:3px}.volume-control input::-webkit-slider-thumb{appearance:none;width:17px;height:17px;margin-top:-6px;border:2px solid #07090d;border-radius:50%;background:#f2c778;box-shadow:0 0 0 1px #a77736,0 0 10px #d9984266}.volume-control input::-moz-range-track{height:4px;background:#343942}.volume-control input::-moz-range-progress{height:4px;background:#d99b42}.volume-control input::-moz-range-thumb{width:15px;height:15px;border:2px solid #07090d;border-radius:50%;background:#f2c778}.test-sfx{margin-top:12px;width:100%;padding:8px;border:1px dashed #494d55;background:#11141a;color:#9399a4;font-size:7px;font-weight:800;letter-spacing:.14em}.test-sfx:hover{color:#f3c46d;border-color:#a97b3e}.settings-note{margin-top:17px;color:#777d88;font-size:9px;line-height:1.45}.settings-note span{display:inline-block;margin-right:7px;padding:3px 5px;background:#342312;color:#e3b35f;font-size:7px;font-weight:800;letter-spacing:.12em}.settings-button{font-size:13px!important}.settings-button.on{color:#f0c26e!important}.settings-backdrop input:focus-visible,.settings-backdrop button:focus-visible{outline:2px solid #f0c26e;outline-offset:3px}
@keyframes settings-fade{from{opacity:0}to{opacity:1}}
@media(max-width:560px){.sound-settings{padding:19px}.settings-heading h2{font-size:23px}.mixer-channel{padding:13px}.profile .audio-controls button{width:27px;height:27px}.level{display:none}}

/* Pre-show deck selection lobby */
.deck-lobby { min-height:calc(100vh - 74px);padding:30px 5vw 60px;background:linear-gradient(180deg,#05070c9c,#05070cf2),url('assets/theater.jpg') center/cover fixed;position:relative; }
.deck-lobby:before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#873d2822,transparent 46%),repeating-linear-gradient(90deg,transparent 0 119px,#d8b87508 120px); }
.deck-lobby>* { position:relative;z-index:1; }
.deck-lobby-head { max-width:1180px;margin:0 auto 22px;display:flex;align-items:end;justify-content:space-between;gap:30px; }
.deck-lobby-head h1 { font:42px 'Archivo Black';margin:4px 0;letter-spacing:-.035em; }.deck-lobby-head>div>p:last-child{color:#a8adba;margin:5px 0;font-size:13px}
.lobby-ticket { min-width:220px;padding:12px 20px;background:#d9b66f;color:#17100d;clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,8px 88%,0 82%,8px 74%,0 66%,8px 58%,0 50%,8px 42%,0 34%,8px 26%,0 18%,8px 12%);transform:rotate(1.5deg);box-shadow:0 9px 20px #000; }
.lobby-ticket>*{display:block}.lobby-ticket small{font-size:7px;letter-spacing:.2em}.lobby-ticket b{font:15px 'Archivo Black';margin:3px 0}.lobby-ticket span{font-size:8px;letter-spacing:.12em}
.deck-poster-grid { max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:11px; }
.deck-poster { --deck:#bd604a;position:relative;height:228px;padding:0;border:1px solid #4b4e58;background:#090c12;color:white;text-align:left;overflow:hidden;transition:.2s;clip-path:polygon(0 0,90% 0,100% 8%,100% 100%,10% 100%,0 92%); }
.deck-poster.paranormal{--deck:#61d8df}.deck-poster.cosmic{--deck:#9c7ae1}.deck-poster.creature{--deck:#77ba6d}.deck-poster.folk{--deck:#c99b48}.deck-poster.psychological{--deck:#91ad7b}
.poster-art { position:absolute;inset:0;background-size:cover;background-position:center 27%;filter:saturate(.74) brightness(.62);transition:.25s; }.deck-poster:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -100px 55px #07090e;pointer-events:none}
.deck-poster>*:not(.poster-art){position:absolute;z-index:2}.poster-icon{left:11px;top:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#090b10d9;border:1px solid var(--deck);color:var(--deck)}
.deck-poster small{left:12px;bottom:62px;color:var(--deck);font-size:7px;font-weight:800;letter-spacing:.17em}.deck-poster>b{left:12px;right:8px;bottom:38px;font:13px 'Archivo Black';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-poster em{left:12px;right:10px;bottom:13px;font-style:normal;color:#9da3af;font-size:7px;line-height:1.2}.deck-poster>i{right:7px;top:8px;padding:3px 5px;background:#080a0dd9;color:#c5c3ba;font-style:normal;font-size:6px;letter-spacing:.1em}
.deck-poster:hover { transform:translateY(-6px);border-color:var(--deck); }.deck-poster:hover .poster-art{filter:saturate(1) brightness(.85);transform:scale(1.035)}
.deck-poster.selected { transform:translateY(-9px);border:2px solid var(--deck);box-shadow:0 0 0 3px #07090d,0 0 26px color-mix(in srgb,var(--deck) 45%,transparent); }.deck-poster.selected .poster-art{filter:saturate(1.08) brightness(.82)}
.deck-program { --deck:#bd604a;max-width:1180px;min-height:300px;margin:24px auto 0;display:grid;grid-template-columns:250px 1fr 185px;background:linear-gradient(120deg,#171a23f5,#0a0d14f8);border:1px solid #514940;box-shadow:0 22px 55px #000;position:relative;overflow:hidden;animation:program-in .28s ease-out; }
.deck-program.paranormal{--deck:#61d8df}.deck-program.cosmic{--deck:#9c7ae1}.deck-program.creature{--deck:#77ba6d}.deck-program.folk{--deck:#c99b48}.deck-program.psychological{--deck:#91ad7b}
.deck-program:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--deck);box-shadow:0 0 18px var(--deck)}.program-art{background-size:cover;background-position:center;min-height:300px;position:relative}.program-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,#171a23),linear-gradient(0deg,#0a0d14 0,transparent 38%)}
.program-copy{padding:25px 28px}.program-copy h2{font-size:34px;margin:2px 0 7px}.program-description{font-size:13px;line-height:1.45;color:#c3c6ce;max-width:640px}.program-strategy{margin:15px 0;padding:11px 14px;background:#090c12;border-left:3px solid var(--deck)}.program-strategy small,.signature-cast>small{color:var(--deck);font-size:7px;font-weight:800;letter-spacing:.17em}.program-strategy p{font-size:10px;color:#aeb4bf;line-height:1.4;margin:5px 0 0}
.signature-cast>div{display:flex;gap:8px;margin-top:7px}.signature-cast span{width:124px;height:45px;display:grid;grid-template-columns:34px 1fr 25px;align-items:center;background:#090c12;border:1px solid #303641;overflow:hidden}.signature-cast img{width:34px;height:45px;object-fit:cover}.signature-cast b{font-size:7px;line-height:1.1;padding-left:6px}.signature-cast i{font:7px 'Archivo Black';font-style:normal;color:var(--deck)}
.program-actions{padding:27px 19px;background:#080a10c9;border-left:1px solid #343944;display:flex;flex-direction:column;gap:14px}.program-actions span>*{display:block}.program-actions small{color:#737b8b;font-size:7px;letter-spacing:.15em}.program-actions span b{font:13px 'Archivo Black';color:#d8d5cd;margin-top:3px}.program-actions button{border:1px solid #4b505c;background:#111620;padding:11px 9px;font-size:8px;font-weight:800;letter-spacing:.08em}.program-actions #startMatch{margin-top:auto;background:var(--deck);border-color:var(--deck);color:#07090d;font:10px 'Archivo Black';box-shadow:0 7px 22px color-mix(in srgb,var(--deck) 30%,transparent)}.program-actions #startMatch:hover{filter:brightness(1.18);transform:translateY(-2px)}.program-actions #startMatch i{margin-left:10px;font-style:normal}
@keyframes program-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:980px){.deck-poster-grid{grid-template-columns:repeat(3,1fr)}.deck-program{grid-template-columns:190px 1fr}.program-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.5fr 1.2fr}.program-actions #startMatch{margin:0}.deck-lobby{overflow:auto}}
@media(max-width:640px){.deck-lobby{padding-inline:18px}.deck-lobby-head{align-items:start}.lobby-ticket{display:none}.deck-poster-grid{grid-template-columns:repeat(2,1fr)}.deck-poster{height:200px}.deck-program{grid-template-columns:1fr}.program-art{height:220px;min-height:0}.program-actions{grid-template-columns:1fr 1fr}.program-actions button{grid-column:1/-1}.signature-cast span{width:31%}}

/* Large-screen battlefield scale: fill the theater instead of floating at 1120px */
@media(min-width:1200px){
  .battle { padding:clamp(12px,1.5vh,20px) clamp(24px,3.5vw,72px) 0; }
  .battle .turnbar,.battle .lanes { width:min(92vw,1760px);max-width:none; }
  .battle .turnbar { min-height:clamp(58px,6.4vh,72px);padding:9px clamp(16px,1.4vw,25px); }
  .battle .turnbar small { font-size:clamp(8px,.52vw,10px); }
  .battle .opponent-title b { font-size:clamp(15px,1.05vw,20px); }
  .battle .turn span,.battle .turn i { font-size:clamp(10px,.64vw,13px); }
  .battle .turn b { font-size:clamp(30px,2vw,39px); }
  .battle .turnbar button { padding:clamp(11px,1.1vh,15px) clamp(17px,1.35vw,26px);font-size:clamp(10px,.64vw,13px); }
  .battle .lanes { gap:clamp(14px,1.05vw,22px);margin:clamp(8px,1vh,12px) auto; }
  .battle .lane { height:clamp(470px,56vh,570px);padding:7px; }
  .battle .ai-row,.battle .player-row { height:clamp(165px,19.2vh,195px);gap:4px;padding-block:10px; }
  .battle .ai-row:after,.battle .player-row:after { font-size:clamp(6px,.42vw,8px);left:13px; }
  .battle .card.small { height:clamp(142px,17.2vh,170px); }
  .battle .card.small .cost,.battle .card.small .power { width:clamp(27px,1.9vw,34px);height:clamp(27px,1.9vw,34px);font-size:clamp(13px,.9vw,17px); }
  .battle .card.small .card-copy { padding:6px 6px 5px; }
  .battle .card.small .card-copy h3 { font-size:clamp(8px,.5vw,10px); }
  .battle .card.small .ability-pip { font-size:clamp(5px,.36vw,7px); }
  .battle .location { height:clamp(120px,14vh,142px);padding:14px clamp(18px,1.4vw,26px); }
  .battle .location h3 { font-size:clamp(16px,1vw,20px); }
  .battle .location p { font-size:clamp(10px,.61vw,12px);max-width:clamp(220px,17vw,330px); }
  .battle .location>div>span { font-size:clamp(17px,1.1vw,22px); }
  .battle .scores { gap:9px;padding:9px 12px; }
  .battle .scores b { font-size:clamp(31px,2vw,40px); }
  .battle .scores i { font-size:clamp(17px,1.1vw,22px); }
  .battle .mystery-location { grid-template-columns:clamp(42px,3vw,56px) auto;column-gap:12px; }
  .battle .mystery-location span { width:clamp(40px,2.8vw,52px);height:clamp(57px,4vw,72px);font-size:clamp(27px,1.8vw,35px); }
  .battle .mystery-location:after { left:clamp(52px,3.8vw,70px);font-size:clamp(6px,.4vw,8px); }
  .battle .lane-target { padding:7px clamp(19px,1.4vw,28px);font-size:clamp(8px,.52vw,10px);bottom:6px; }
  .battle .hand-wrap { width:min(74vw,1250px);max-width:none;height:clamp(166px,19vh,192px);gap:9px; }
  .battle .hand-wrap:before { font-size:clamp(7px,.45vw,9px);top:8px; }
  .battle .hand .card.small { height:clamp(145px,17.5vh,174px); }
  .battle .hand-card { margin:0 -3px; }
  .battle .energy,.battle .deck-count { width:clamp(76px,5.3vw,102px);padding-bottom:30px; }
  .battle .energy b,.battle .deck-count b { font-size:clamp(32px,2.2vw,43px); }
  .battle .energy span,.battle .deck-count span { font-size:clamp(8px,.48vw,10px); }
  .battle .undo-hand { width:clamp(100px,6.5vw,122px);min-width:clamp(100px,6.5vw,122px);height:clamp(100px,6.5vw,122px); }
  .battle .undo-hand b { font-size:clamp(36px,2.5vw,48px); }
  .battle .undo-hand span,.battle .undo-hand kbd { font-size:clamp(6px,.4vw,8px); }
  .battle .ticker { font-size:clamp(9px,.56vw,11px);padding:6px 34px;margin-top:-5px; }
  .battle .reveal-sting { width:min(560px,42vw);top:clamp(76px,9vh,95px);padding:10px 22px; }
  .battle .reveal-sting b { font-size:clamp(18px,1.25vw,24px); }
  .battle .reveal-sting span { font-size:clamp(8px,.52vw,10px); }
}

@media(min-width:1800px) and (min-height:1000px){
  header { height:82px;padding-inline:46px; }
  .brand { font-size:21px; }.brand b{font-size:13px}.moon{width:48px;height:48px}
  nav button { font-size:13px;padding-inline:20px; }
  .battle { min-height:calc(100vh - 82px); }
}

@media(min-width:1200px) and (max-height:820px){
  .battle .turnbar { min-height:50px;padding-block:5px; }
  .battle .lane { height:clamp(400px,53vh,450px); }
  .battle .ai-row,.battle .player-row { height:clamp(135px,17vh,155px);padding-block:7px; }
  .battle .card.small,.battle .hand .card.small { height:clamp(120px,15.5vh,140px); }
  .battle .location { height:clamp(105px,13vh,118px);padding-block:10px; }
  .battle .hand-wrap { height:clamp(142px,18vh,158px); }
  .battle .undo-hand { width:88px;min-width:88px;height:88px; }
}

/* Skill matchmaking — no rooms, codes, or manual joining */
.matchmaking{min-height:calc(100vh - 74px);position:relative;display:grid;place-items:center;padding:35px;overflow:hidden;background:linear-gradient(180deg,#03050bcf,#03050bf2),url('assets/theater.jpg') center/cover}
.matchmaking:before,.matchmaking:after{content:"";position:absolute;top:-18%;width:34%;height:120%;background:linear-gradient(180deg,#efd4971f,transparent 76%);filter:blur(7px);clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);animation:match-beam 4.8s ease-in-out infinite alternate}.matchmaking:before{left:4%;transform:rotate(-11deg)}.matchmaking:after{right:4%;transform:rotate(11deg);animation-delay:-2.4s}
.matchmaking-card{width:min(760px,94vw);position:relative;z-index:2;text-align:center;padding:45px 55px;background:linear-gradient(145deg,#1c1410f5,#080b12f7 58%);border:1px solid #a87a3d;box-shadow:0 32px 90px #000,0 0 50px #dc99431c;overflow:hidden}
.matchmaking-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff05 5px),radial-gradient(circle at 50% 0,#d88f3620,transparent 50%)}
.matchmaking-card>*{position:relative}.matchmaking-card h1{font:clamp(30px,4.3vw,52px)/1 'Archivo Black';letter-spacing:-.045em;margin:8px 0 13px}.matchmaking-card>p:not(.eyebrow){max-width:570px;margin:0 auto;color:#aeb3bd;font-size:13px;line-height:1.5}.matchmaking-card>p b{color:#f0c36e}
.match-reels{height:78px;display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:15px}.match-reels i{width:64px;height:64px;margin:0 -6px;border:2px solid #9e7136;border-radius:50%;background:repeating-conic-gradient(#b98944 0 8deg,#161218 9deg 35deg);box-shadow:inset 0 0 0 10px #0b0d12,0 0 18px #d3973a25;animation:match-reel 1.4s linear infinite}.match-reels i:nth-child(2){animation-direction:reverse;animation-duration:1.9s}.match-reels i:nth-child(3){animation-duration:1.1s}.match-reels span{position:absolute;color:#f3cd7b;font-size:22px;text-shadow:0 0 16px #f1ae4a}
.match-search-track{height:4px;max-width:500px;margin:27px auto 10px;background:#2a2d35;overflow:hidden}.match-search-track span{display:block;width:34%;height:100%;background:linear-gradient(90deg,transparent,#f1bd60,transparent);animation:match-scan 1.25s ease-in-out infinite}.matchmaking-card>strong{display:block;color:#efbd63;font:10px 'Archivo Black';letter-spacing:.18em}
.match-details{display:grid;grid-template-columns:repeat(3,1fr);margin:27px 0 21px;border:1px solid #373740;background:#080a0fd9}.match-details span{padding:13px 9px}.match-details span+span{border-left:1px solid #373740}.match-details small,.match-details b{display:block}.match-details small{font-size:7px;color:#707784;letter-spacing:.14em}.match-details b{font:10px 'Archivo Black';margin-top:5px;color:#ddd8cc}.matchmaking-card>button{padding:10px 21px;border:1px solid #575059;background:#11131a;color:#9a9da5;font-size:8px;font-weight:800;letter-spacing:.15em}.matchmaking-card>button:hover{color:#f3c974;border-color:#a6773e}
.network-error,.battle-network-error{padding:10px 14px;margin:13px auto 0;max-width:720px;background:#411b1be8;border:1px solid #b84949;color:#f0b4ad;text-align:center;font-size:10px;font-weight:700}.battle-network-error{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:30}
@keyframes match-reel{to{transform:rotate(360deg)}}@keyframes match-scan{from{transform:translateX(-110%)}to{transform:translateX(300%)}}@keyframes match-beam{from{opacity:.28}to{opacity:.66}}

/* Multiplayer clock and lock state */
.opponent-status{display:inline-block;margin-top:4px;padding:3px 6px;border:1px solid #474953;color:#9299a5;font-size:6px;font-weight:800;letter-spacing:.13em}.opponent-status.ready{border-color:#9e743c;color:#eab85d;background:#25190d}
.timeout-strikes{height:40px;display:grid;grid-template-columns:9px 9px;align-content:center;column-gap:4px;position:relative;padding:0 7px;border-left:1px solid #3b322b}.timeout-strikes i{width:9px;height:9px;border:1px solid #80633d;border-radius:50%;background:#171316}.timeout-strikes i.spent{background:#d43e36;border-color:#ff6e61;box-shadow:0 0 9px #e23b3b}.timeout-strikes span{grid-column:1/-1;position:absolute;top:31px;left:50%;transform:translateX(-50%);width:max-content;font-size:5px;color:#7e7e84;letter-spacing:.06em}
.turn-timer{--timer:100%;width:49px;height:49px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#0b0d12 54%,transparent 56%),conic-gradient(#e9b75e var(--timer),#332c28 0);font:10px 'Archivo Black';color:#f3d08b;box-shadow:0 0 11px #e2a2472b}.turn-timer.danger{color:#ff7a6e;background:radial-gradient(circle,#160b0c 54%,transparent 56%),conic-gradient(#e13d38 var(--timer),#3c2020 0);animation:timer-danger .62s ease-in-out infinite alternate}.forfeit-match{background:#151318!important;border:1px solid #594247!important;color:#9d7776!important}.forfeit-match:hover{color:#f08078!important;border-color:#b64b47!important}.reel-locked .hand-card,.reel-locked .lane-target{filter:saturate(.45) brightness(.7)}.reel-locked #endTurn{background:#50483d;color:#aaa59b}.reel-locked #endTurn kbd{display:none}
@keyframes timer-danger{to{box-shadow:0 0 22px #e13d387a;transform:scale(1.04)}}

/* Themed forfeit confirmation */
.forfeit-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:#030205e8;backdrop-filter:blur(9px)}.forfeit-dialog{width:min(520px,93vw);padding:35px;text-align:center;background:linear-gradient(155deg,#2a1111,#090a0f 60%);border:1px solid #aa3f3a;box-shadow:0 28px 90px #000,0 0 50px #d33d352d;position:relative}.forfeit-dialog>span{display:grid;place-items:center;width:58px;height:58px;margin:-65px auto 18px;border-radius:50%;background:#0c0d12;border:2px solid #c44940;color:#e96357;font-size:26px;box-shadow:0 0 25px #e3453c55}.forfeit-dialog h2{font-size:31px;margin:7px 0}.forfeit-dialog>p:not(.eyebrow){color:#b5adb0;font-size:12px;line-height:1.5;max-width:390px;margin:0 auto}.forfeit-dialog>div{display:flex;justify-content:center;gap:9px;margin-top:25px}.forfeit-dialog button{padding:11px 14px;border:1px solid #55515a;background:#13151c;font-size:8px;font-weight:800;letter-spacing:.1em}.forfeit-dialog #confirmForfeit{background:#a92f2b;border-color:#ce4b43;color:white}

/* Final reel victory / defeat presentation */
.final-result{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#03050a8c,#030409ed),url('assets/battlefield-screamsplice-palace.png') center/cover!important}.final-result:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 20%,#d6a45221,transparent 48%),repeating-linear-gradient(0deg,transparent 0 4px,#00000015 5px)}.final-result.defeat:before{background:radial-gradient(ellipse at 50% 20%,#a91d2438,transparent 48%)}.final-curtain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#290d15 0,#0d080b 12%,transparent 35% 65%,#0d080b 88%,#290d15 100%);opacity:.78}.result-copy{position:relative;width:min(880px,94vw);z-index:2}.final-result h1{font-size:clamp(45px,6vw,78px);margin:8px 0;text-shadow:0 5px 30px #000}.final-result.victory h1{color:#f0c875}.final-result.defeat h1{color:#e2504b}.final-result.draw h1{color:#c6a0e9}.final-result .result-copy>p:not(.eyebrow){color:#c0bac0;font-size:14px;line-height:1.5;margin:0 auto 12px}.rating-change{display:inline-flex;align-items:center;gap:9px;margin:9px auto 18px;padding:7px 12px;border:1px solid #4b5361;background:#0b0e14;color:#bfc5cf;font-size:9px;letter-spacing:.1em}.rating-change b{color:#77d99b;font:13px 'Archivo Black'}.rating-change.down b{color:#e9635d}.rating-change.bot-match{color:#8d939d}
.final-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px auto 0}.final-lane{padding:14px;background:#090c12e8;border:1px solid #414754;text-align:left}.final-lane>small{display:block;height:24px;color:#a9a9a7;font-size:8px;font-weight:800;letter-spacing:.08em}.final-lane>div{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center}.final-lane span{font-size:6px;color:#6f7580;letter-spacing:.1em}.final-lane span b{display:block;color:#e8e4dc;font:25px 'Archivo Black'}.final-lane>strong{display:block;text-align:center;margin-top:7px;padding-top:7px;border-top:1px solid #292e37;color:#888f99;font-size:7px;letter-spacing:.17em}.final-lane.controlled{border-color:#a1773f}.final-lane.controlled>strong{color:#eabb62}.final-lane.lost{border-color:#653535}.final-lane.lost>strong{color:#d85b55}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:7px}.result-actions button{margin:18px 0 0;padding:13px 19px;border:1px solid #565c67;background:#11151d;color:#bbbfc8;font-size:9px;font-weight:800;letter-spacing:.1em}.result-actions .cta{border:0;background:var(--red);color:white}

@media(max-width:760px){.matchmaking{padding:18px}.matchmaking-card{padding:32px 20px}.match-details{grid-template-columns:1fr}.match-details span+span{border-left:0;border-top:1px solid #373740}.timeout-strikes,.forfeit-match{display:none}.turn-timer{width:42px;height:42px;font-size:8px}.opponent-status{display:none}.final-lanes{grid-template-columns:1fr}.final-result{place-content:start;padding:32px 17px;overflow:auto}.result-actions{flex-direction:column}.result-actions button{margin:5px 0}.forfeit-dialog{padding:29px 19px}.forfeit-dialog>div{flex-direction:column}}

/* Projectionist accounts */
.profile .account-button{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;text-align:left;color:#f4efe4}.profile .account-button>span:last-child{display:block}.profile .account-button:hover strong{color:#f1c36e}.profile .account-button.signed-in .level{background:#241a10;box-shadow:0 0 14px #e7b65b35}.account-button strong,.account-button small{display:block}.account-button strong{font-size:9px;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-button small{font-size:8px;color:#838a98}
.account-backdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px;background:#020308e8;backdrop-filter:blur(9px);animation:settings-fade .18s ease-out}.account-panel{width:min(480px,94vw);max-height:94vh;overflow:auto;padding:30px 36px;background:linear-gradient(150deg,#1d1510,#090b12 58%);border:1px solid #9b7139;box-shadow:0 30px 100px #000,0 0 0 1px #d9b66c14;position:relative}.account-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff05 5px),radial-gradient(circle at 50% -15%,#d48c3526,transparent 50%)}.account-panel>*{position:relative}.account-close{position:absolute;z-index:3;right:11px;top:7px;border:0;background:none;color:#8f9199;font-size:27px}.account-panel h2{font-size:30px;line-height:1.02;margin:6px 0 9px}.account-intro{color:#a7aab2;font-size:11px;line-height:1.45;margin:0 0 18px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-4px 24px 24px;border-bottom:1px solid #3e3833}.account-tabs button{padding:10px 5px;border:0;border-bottom:2px solid transparent;background:none;color:#747983;font-size:8px;font-weight:800;letter-spacing:.12em}.account-tabs button.active{border-color:#e4b65f;color:#f0c570}.account-panel form{display:grid;gap:12px}.account-panel label{display:grid;gap:6px;color:#a98a5e;font-size:7px;font-weight:800;letter-spacing:.14em}.account-panel input{width:100%;padding:12px 13px;border:1px solid #41434b;background:#080a0f;color:white;font-size:12px;outline:0}.account-panel input:focus{border-color:#c58f44;box-shadow:0 0 0 2px #c58f4424}.account-submit{margin-top:4px;padding:13px;border:0;background:#c48b3f;color:#100b08;font:10px 'Archivo Black';letter-spacing:.08em;box-shadow:0 8px 24px #ca88333b}.account-submit:hover{filter:brightness(1.14)}.account-submit:disabled{filter:grayscale(.7);cursor:wait}.account-error{padding:9px 11px;border:1px solid #a6423f;background:#391619;color:#efaaa5;font-size:9px;line-height:1.35}.account-guest,.account-secondary{width:100%;margin-top:10px;padding:10px;border:1px solid #444750;background:#10131a;color:#8c929e;font-size:8px;font-weight:800;letter-spacing:.12em}.account-guest:hover,.account-secondary:hover{border-color:#a4773b;color:#eac272}.account-privacy{display:block;margin-top:13px;color:#626874;font-size:7px;line-height:1.4;text-align:center}.account-signed-in{text-align:center}.account-emblem{width:72px;height:72px;margin:2px auto 14px;display:grid;place-items:center;border:2px solid #d6a754;border-radius:50%;background:#17110e;color:#efc46d;font:32px 'Archivo Black';box-shadow:0 0 30px #d6943634}.account-email{color:#737985;font-size:9px}.account-rating{display:flex;align-items:center;justify-content:space-between;margin:21px 0 10px;padding:14px 17px;border:1px solid #5d4c34;background:#0a0c11;text-align:left}.account-rating span{font-size:7px;color:#9a7c50;letter-spacing:.15em}.account-rating b{font:28px 'Archivo Black';color:#efc36d}.account-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #343943}.account-stats span{padding:11px 5px;color:#777e8a;font-size:5px;letter-spacing:.08em}.account-stats span+span{border-left:1px solid #343943}.account-stats b{display:block;color:#e4e0d7;font:16px 'Archivo Black';margin-bottom:3px}.account-note{margin:15px auto!important;color:#8d929c;font-size:9px!important;line-height:1.45}.account-secondary{color:#b47773;border-color:#5d3839}
@media(max-width:560px){.profile .account-button>span:last-child{display:none}.account-panel{padding:26px 20px}.account-tabs{margin-inline:12px}.account-stats{grid-template-columns:repeat(2,1fr)}.account-stats span:nth-child(3){border-left:0;border-top:1px solid #343943}.account-stats span:nth-child(4){border-top:1px solid #343943}}

/* Playtest feedback booth */
.feedback-backdrop{position:fixed;inset:0;z-index:145;display:grid;place-items:center;padding:20px;background:#020308e8;backdrop-filter:blur(9px);animation:settings-fade .18s ease-out}.feedback-panel{width:min(570px,94vw);max-height:94vh;overflow:auto;padding:31px 37px;background:linear-gradient(150deg,#171a23,#090b11 60%);border:1px solid #9d763f;box-shadow:0 32px 100px #000,0 0 48px #d7973d1c;position:relative}.feedback-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff05 5px),radial-gradient(circle at 50% -10%,#d89b4424,transparent 54%)}.feedback-panel>*{position:relative}.feedback-close{position:absolute;z-index:3;right:11px;top:7px;border:0;background:none;color:#898e99;font-size:27px}.feedback-panel h2{font-size:34px;line-height:1;margin:5px 0 9px}.feedback-intro{max-width:460px;margin:0 0 19px;color:#a5aab4;font-size:11px;line-height:1.45}.feedback-panel form{display:grid;gap:13px}.feedback-panel label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#ba9256;font-size:7px;font-weight:800;letter-spacing:.14em}.feedback-panel label small,.feedback-panel label span{color:#656c78;font-size:7px}.feedback-panel input,.feedback-panel select,.feedback-panel textarea{grid-column:1/-1;width:100%;border:1px solid #404651;background:#080b11;color:#e9e6df;outline:0;font:11px 'DM Sans';padding:11px 12px}.feedback-panel select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#b98d4d 50%),linear-gradient(135deg,#b98d4d 50%,transparent 50%);background-position:calc(100% - 17px) 48%,calc(100% - 12px) 48%;background-size:5px 5px;background-repeat:no-repeat}.feedback-panel textarea{height:150px;resize:vertical;line-height:1.45}.feedback-panel input:focus,.feedback-panel select:focus,.feedback-panel textarea:focus{border-color:#cc964a;box-shadow:0 0 0 2px #c98e3e22}.feedback-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.feedback-error{padding:9px 11px;border:1px solid #a6423f;background:#391619;color:#efaaa5;font-size:9px;line-height:1.35}.feedback-submit{padding:13px;border:0;background:#c88e41;color:#100b08;font:10px 'Archivo Black';letter-spacing:.08em;box-shadow:0 8px 24px #ca88333b}.feedback-submit:hover{filter:brightness(1.14)}.feedback-submit:disabled{filter:grayscale(.7);cursor:wait}.feedback-destination{display:block;margin-top:13px;text-align:center;color:#666d79;font-size:6px;letter-spacing:.13em}.feedback-success{text-align:center;padding-block:48px}.feedback-ticket{width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;border:2px solid #c99b51;border-radius:50%;color:#ecc574;font:30px 'Archivo Black';box-shadow:0 0 28px #d99b3c35}.feedback-success>p:not(.eyebrow){max-width:430px;margin:0 auto;color:#aeb2ba;font-size:12px;line-height:1.5}.feedback-success>button:not(.feedback-close){margin-top:23px;padding:11px 17px;border:1px solid #6d5839;background:#15120f;color:#e5bd74;font-size:8px;font-weight:800;letter-spacing:.11em}
@media(max-width:560px){.feedback-panel{padding:27px 20px}.feedback-panel h2{font-size:28px}.feedback-panel textarea{height:130px}}

/* Screamsplice horror-cinema identity */
.brand{gap:10px!important;padding:0 3px!important;min-width:212px;position:relative;isolation:isolate}.brand:before{content:"";position:absolute;left:3px;top:50%;width:50px;height:50px;transform:translateY(-50%);border-radius:50%;background:#d4923520;filter:blur(10px);opacity:.45;transition:.2s;z-index:-1}.brand:hover:before{opacity:.9;transform:translateY(-50%) scale(1.12)}.brand-mark{width:50px;height:50px;display:grid;place-items:center;position:relative;filter:drop-shadow(0 5px 8px #000)}.brand-mark img{width:100%;height:100%;display:block;transition:transform .28s ease,filter .28s ease}.brand:hover .brand-mark img{transform:rotate(-4deg) scale(1.04);filter:brightness(1.13)}.brand-wordmark{display:flex;flex-direction:column;align-items:stretch;line-height:1;transform:skewX(-3deg);position:relative}.brand-wordmark>strong{font:18px/.92 'Archivo Black';letter-spacing:.075em;color:#f5f0e6;text-shadow:3px 3px 0 #171016,0 0 15px #fff1c414}.brand-wordmark>span{display:grid;grid-template-columns:12px auto 1fr;align-items:center;gap:5px;margin-top:4px}.brand-wordmark>span i{display:block;height:2px;background:linear-gradient(90deg,#a81922,#f35449);box-shadow:0 0 8px #ed393b55;clip-path:polygon(0 0,100% 0,86% 100%,8% 100%)}.brand-wordmark>span i:last-child{background:linear-gradient(90deg,#f35449,#641118)}.brand-wordmark b{font:10px/.9 'Archivo Black';letter-spacing:.3em;color:#ee4944;text-shadow:0 0 10px #e2293240}.brand-wordmark>small{margin-top:4px;color:#857761;font:5px/1 'DM Sans';font-weight:800;letter-spacing:.24em;text-align:center}.brand:after{content:"";position:absolute;right:2px;top:10px;width:2px;height:32px;background:linear-gradient(transparent,#a47738,transparent);opacity:.5;transform:skewX(-13deg)}
@media(max-width:1180px){header{gap:22px}.brand{min-width:188px}.brand-mark{width:45px;height:45px}.brand-wordmark>strong{font-size:16px}.brand-wordmark b{font-size:9px}nav{gap:5px}nav button{padding-inline:11px}}
/* The second half is a tighter red splice, not a subtitle. */
.brand-wordmark b{letter-spacing:.24em}.brand-wordmark>small{letter-spacing:.19em}
@media(max-width:520px){.brand{min-width:0}.brand-wordmark{display:none}.brand:after{display:none}.brand-mark{width:46px;height:46px}}

/* Phase 1 platform guidance */
.brand-wordmark>.alpha-platform-label{align-self:center;margin-top:5px;padding:3px 6px;border:1px solid #71502c;background:linear-gradient(90deg,#1e130d,#0d0d12);color:#e7bd6e;font:6px/1 'Archivo Black';letter-spacing:.1em;white-space:nowrap;box-shadow:0 0 12px #d4933820;transform:skewX(3deg)}
.mobile-alpha-notice{display:none}
@media(max-width:900px){
  .mobile-alpha-notice{min-height:34px;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 12px;border-bottom:1px solid #684925;background:linear-gradient(90deg,#0a0b10,#21130d 50%,#0a0b10);color:#d1a65f;text-align:center;letter-spacing:.12em;box-shadow:0 7px 18px #0008;position:relative;z-index:18}
  .mobile-alpha-notice b{color:#ed514b;font:8px 'Archivo Black'}
  .mobile-alpha-notice span{color:#efd18f;font:8px 'Archivo Black'}
  .mobile-alpha-notice small{color:#80776d;font-size:6px;font-weight:800}
}
@media(max-width:520px){.mobile-alpha-notice{gap:7px;flex-wrap:wrap}.mobile-alpha-notice small{width:100%;margin-top:-3px}}
