:root{color:#f6efe3;--effect-damage:#e0654a;--effect-heal:#5a9e5a;--effect-block:#5a86c4;--effect-armor:#9aa6b8;--effect-gold:#e0b94a;--effect-curse:#b47bd4;--ink:#f7f0e5;--muted:#b9aa97;--panel:#1d1915;--panel-raised:#252019;--line:#493c2d;--amber:#e5b766;--green:#86bd83;background:#151617;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.effect-damage{color:var(--effect-damage);font-weight:700}.effect-heal{color:var(--effect-heal);font-weight:700}.effect-block{color:var(--effect-block);font-weight:700}.effect-armor{color:var(--effect-armor);font-weight:700}.effect-curse{color:var(--effect-curse);font-weight:700}.effect-gold{color:var(--effect-gold);font-weight:700}body{color:var(--ink);background:radial-gradient(circle at 50% -20%,#97663129,#0000 38rem),#11110f}button,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e5b7668c}.primary-action,.secondary-action,.subtle-action,.icon-text{border-radius:8px;min-height:46px;transition:transform .14s,border-color .14s,background .14s}button:not(:disabled):active{transform:translateY(1px)}.primary-action{background:var(--amber);box-shadow:0 8px 22px #e5b76629}.session-bar{background:0 0;border:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:68px;margin-bottom:12px;padding:0 4px;display:grid}.session-room{align-items:center;gap:16px;display:flex}.session-room .room-heading-row{align-items:center;gap:8px;display:flex}.session-title{color:#d4c4ad;font-family:Georgia,serif;font-size:18px;font-weight:700}.session-phase{text-align:center;display:grid}.session-phase strong{font-family:Georgia,serif;font-size:clamp(16px,2vw,23px)}.session-phase span{color:var(--muted);margin-top:3px;font-size:12px}.connection-pill{justify-self:end}.phase-countdown{border:1px solid var(--line);background:#1a1713;border-radius:999px;max-width:740px;height:36px;margin:0 auto 14px;overflow:hidden}.phase-countdown-fill{width:100%;transform:scaleX(var(--timer-fraction));transform-origin:0;transition:transform .18s linear,background-color .24s}.play-grid{grid-template-columns:minmax(0,1.55fr) minmax(350px,.7fr);align-items:start;gap:18px;display:grid}.control-panel,.party-roster,.tactical-summary,.event-drawer{border:1px solid var(--line);background:linear-gradient(145deg,#231e18fa,#181511fa);border-radius:12px;box-shadow:0 20px 60px #0000003d}.roster-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.roster-heading h2{margin:2px 0 0;font:700 25px/1.1 Georgia,serif}.progress-chip{color:#dac6aa;border:1px solid #5c4e3c;border-radius:999px;padding:5px 9px;font-size:12px}.roster-list{gap:6px;margin:15px 0 0;padding:0;list-style:none;display:grid}.roster-player{background:#ffffff06;border:1px solid #0000;border-radius:9px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px;display:grid;position:relative}.player-avatar{border:2px solid var(--avatar-color);background:color-mix(in srgb, var(--avatar-color) 18%, #191511);border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:900;display:grid}.roster-identity{min-width:0;display:grid}.roster-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.roster-identity small{color:var(--amber);text-transform:uppercase;font-size:10px}.roster-identity>span{color:var(--muted);font-size:11px}.player-state{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.player-state.is-complete{color:var(--green)}.host-crown{color:var(--amber);position:absolute;top:4px;left:34px}.party-roster.is-compact .roster-heading h2{font-size:18px}.party-roster.is-compact .eyebrow{display:none}.party-roster.is-compact .roster-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:9px}.party-roster.is-compact .roster-player{grid-template-columns:28px minmax(0,1fr) auto;min-height:44px;padding:5px}.party-roster.is-compact .player-avatar{width:28px;height:28px;font-size:9px}.party-roster.is-compact .roster-identity>span,.party-roster.is-compact .host-crown{display:none}.tactical-summary{padding:clamp(18px,2.2vw,28px)}.battlefield-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.battlefield-heading h2{max-width:760px;margin:4px 0 0;font:700 clamp(22px,3vw,34px)/1.05 Georgia,serif}.run-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.run-tags span{color:#e3c990;text-transform:uppercase;background:#82572726;border:1px solid #6d5535;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.enemy-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.enemy-summary{background:linear-gradient(160deg,#2c211b,#1b1714);border:1px solid #594032;border-radius:10px;padding:14px}.enemy-summary.is-defeated{opacity:.45;filter:grayscale()}.enemy-topline{justify-content:space-between;gap:10px;display:flex}.enemy-topline strong{font:700 17px Georgia,serif}.enemy-topline span{color:#d98a73;align-items:center;gap:4px;font-size:12px;display:flex}.health-track{background:#3b2b25;border-radius:999px;height:6px;margin:10px 0 12px;overflow:hidden}.health-track span{border-radius:inherit;background:var(--effect-damage);height:100%;display:block}.intent-callout{color:#e7d8c4;background:#00000040;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:grid}.intent-callout>span{font-size:12px;font-weight:700;display:grid}.intent-callout small{color:#aa9a87;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.intent-callout em{color:#d9a985;font-size:11px;font-style:normal}.party-vitals{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:6px;margin-top:12px;display:grid}.vital-card{background:#0a08064d;border:1px solid #40362b;border-radius:7px;grid-template-columns:4px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;min-height:48px;padding:7px;display:grid}.vital-card.is-you{border-color:#80643f}.vital-swatch{border-radius:4px;align-self:stretch}.vital-card>span:nth-child(2){display:grid}.vital-card small{color:var(--muted);font-size:9px}.vital-stat{align-items:center;gap:3px;font-size:11px;display:flex}.vital-stat.armor{color:var(--effect-armor)}.locked-mark{color:var(--green)}.lobby-guidance,.decision-progress{border-left:3px solid var(--amber);background:#e5b76612;border-radius:0 8px 8px 0;gap:3px;margin-bottom:15px;padding:12px 14px;display:grid}.lobby-guidance span,.decision-progress span{color:var(--muted);font-size:12px}.deck-disclosure{border-top:1px solid var(--line);margin-top:14px}.deck-disclosure>summary{color:#d6c5ae;cursor:pointer;align-items:center;min-height:48px;font-weight:700;display:flex}.commit-progress{flex-wrap:wrap;gap:5px;display:flex}.commit-progress span{color:var(--muted);border:1px solid #514537;border-radius:999px;align-items:center;gap:3px;padding:4px 7px;font-size:10px;display:inline-flex}.commit-progress span.is-complete{color:#a8d4a5;background:#476f4526;border-color:#4f704f}.plan-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.plan-summary>span,.shop-gold>span{background:#00000029;border:1px solid #493d30;border-radius:7px;gap:2px;padding:10px;display:grid}.plan-summary small,.shop-gold small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.plan-summary strong,.shop-gold strong{font-size:12px}.event-drawer{margin-top:14px;overflow:clip}.event-drawer>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:54px;padding:0 18px;font-weight:800;list-style:none;display:flex}.event-drawer>summary::-webkit-details-marker{display:none}.event-drawer>summary span{align-items:center;gap:8px;display:flex}.event-drawer>summary small{color:var(--muted);font-weight:500}.event-drawer[open]>summary svg{transform:rotate(180deg)}.event-drawer .event-timeline{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0}.ending-panel{text-align:center}.postcard-art{min-height:142px;color:var(--amber);background:radial-gradient(circle,#e5b76633,#0000 55%),linear-gradient(135deg,#3b281a,#1c1712);border:1px solid #6c5336;border-radius:10px;place-content:center;gap:8px;margin:-4px -4px 20px;display:grid}.postcard-art span{letter-spacing:.14em;font:900 26px/1 Georgia,serif}.ending-panel h3{margin:8px 0;font:700 clamp(30px,4vw,48px)/1 Georgia,serif}.ending-panel>p{color:#d3c2ab;max-width:580px;margin:14px auto;line-height:1.6}.ending-stats{justify-content:center;gap:22px;margin:18px 0;display:flex}.ending-stats span{color:var(--muted);text-transform:uppercase;font-size:10px;display:grid}.ending-stats strong{color:var(--ink);font:700 23px Georgia,serif}.ending-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:500px;margin:20px auto 0;display:grid}.run-details{max-width:500px;color:var(--muted);margin:12px auto 0;font-size:12px}.run-details a{color:var(--amber);align-items:center;gap:5px;display:inline-flex}.entry-panel{border-color:#5a4630;border-radius:14px;padding:clamp(26px,4vw,42px)}.brand-logo{width:min(100%,330px)}.brand-lockup p{max-width:46ch;font-size:16px}.table-rules{box-shadow:none;background:0 0;border:0}.table-rules ul{gap:16px;padding:0;list-style:none;display:grid}.table-rules li{border-left:2px solid #7b5c36;padding-left:18px;display:grid}.table-rules li strong{color:var(--ink)}.archive-disclosure{border-top:1px solid #574633}.archive-disclosure>summary{cursor:pointer;color:#cfbea7;align-items:center;min-height:54px;display:flex}.archive-disclosure>summary span{align-items:center;gap:8px;display:flex}.archive-disclosure .run-inspector{box-shadow:none;border:0;border-radius:8px}.invite-context{color:var(--muted);border:1px solid #5a4a38;border-radius:7px;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;display:flex}.invite-context strong{color:var(--amber);letter-spacing:.08em}@media (width<=980px){.game-layout{padding:10px}.session-bar{grid-template-columns:1fr auto}.session-phase{display:none}.play-grid,.lobby-layout{grid-template-columns:1fr;margin-top:0}.action-column{position:static}.play-grid .board-column{order:2}.play-grid .action-column{order:1}.tabletop-shell{display:none}.party-roster.is-compact{order:2}.control-panel{order:1}.entry-layout{grid-template-columns:minmax(0,560px);align-content:start;padding-top:36px}.entry-side{gap:10px;display:grid}}@media (width<=620px){.session-title{display:none}.room-heading-row .eyebrow{font-size:11px}.connection-pill{padding-inline:8px;font-size:0}.phase-countdown{height:32px;margin-bottom:9px}.tactical-summary,.control-panel{padding:15px}.battlefield-heading{gap:10px;display:grid}.battlefield-heading h2{font-size:24px}.run-tags{justify-content:flex-start}.enemy-summary-grid{scroll-snap-type:x mandatory;padding-bottom:3px;display:flex;overflow-x:auto}.enemy-summary{scroll-snap-align:start;flex:0 0 86%}.party-vitals{grid-template-columns:1fr 1fr}.vital-card{grid-template-columns:3px minmax(0,1fr) auto}.vital-card .armor,.vital-card .locked-mark{display:none}.party-roster.is-compact .roster-list,.role-grid{grid-template-columns:1fr}.role-button{min-height:150px}.action-row,.ending-actions{grid-template-columns:1fr}.html-card-grid{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.html-card{scroll-snap-align:start;flex:0 0 82%}.entry-layout{padding:18px 12px 50px}.entry-panel{padding:22px 18px}.entry-side{gap:0}.table-rules{padding-inline:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.entry-layout,.game-layout{min-height:100vh;padding:24px}.entry-layout{background:#151617;grid-template-columns:minmax(280px,520px) minmax(260px,360px);justify-content:center;align-items:center;gap:24px;display:grid;position:relative;overflow-x:hidden}.entry-layout:before,.entry-layout:after{content:"";pointer-events:none;position:fixed;inset:0}.entry-layout:before{z-index:0;background:url(/images/background.png) 50%/cover no-repeat}.entry-layout:after{z-index:1;background:linear-gradient(90deg,#151617eb,#151617c2)}.entry-layout>*{z-index:2;position:relative}.build-stamp{letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#6f6353;pointer-events:none;margin:0;font-size:11px;position:fixed;bottom:10px;right:12px}.entry-panel,.table-rules,.run-inspector,.control-panel{background:#191713f0;border:1px solid #4a3d2d;border-radius:8px;box-shadow:0 18px 50px #00000052}.entry-panel,.table-rules,.run-inspector{padding:24px}.brand-lockup h1,.top-bar h1{letter-spacing:0;margin:0;font-size:42px;line-height:1}.brand-logo{width:min(100%,260px);height:auto;margin:10px 0 14px;display:block}.brand-lockup p,.panel-note,.table-rules li{color:#d7c6ad;line-height:1.55}.eyebrow{color:#e5b766;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800;display:inline-block}.room-form{gap:10px;margin-top:22px;display:grid}.room-form label{color:#f6efe3;font-size:13px;font-weight:800}.room-form input{color:#f6efe3;background:#211e19;border:1px solid #5a4a38;border-radius:6px;width:100%;min-height:44px;padding:0 12px}.room-form input:read-only{color:#e5b766;font-weight:900}.room-form input:disabled{color:#a99a86}.inline-fields{grid-template-columns:1fr auto;gap:10px;display:grid}.primary-action,.secondary-action,.subtle-action,.icon-text{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:800;display:inline-flex}.primary-action{color:#191713;background:#e5b766}.combat-lock{flex-direction:column;gap:2px;padding-top:6px;padding-bottom:6px}.combat-lock-label{align-items:center;gap:8px;display:inline-flex}.combat-lock-desc{font-size:12px;font-weight:700}.secondary-action{color:#f6efe3;background:#2f281f;border-color:#68533a}.subtle-action{color:#d7c6ad;background:#211e19;border-color:#463a2c}.full-width{width:100%}.entry-status{color:#d7c6ad;min-height:22px;margin:18px 0 0;font-size:14px;font-weight:700;line-height:1.45}.spin-icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-rules h2,.panel-heading h2{margin:0}.table-rules h2,.section-title{align-items:center;gap:8px;display:flex}.table-rules ul{margin:16px 0 0;padding-left:20px}.entry-side{gap:16px;display:grid}.entry-archive-timeline{grid-column:1/-1;place-self:start center;width:min(1040px,100%)}.entry-archive-timeline .run-inspector-results,.compact-form{margin-top:0}.error-note{color:#f3a68d;line-height:1.45}.run-summary-card{background:#191713f0;border:1px solid #4a3d2d;border-radius:8px;gap:12px;padding:16px;display:grid;box-shadow:0 18px 50px #00000052}.run-summary-card p{color:#d7c6ad;margin:0;line-height:1.45}.run-summary-topline,.run-player-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.run-summary-topline span,.run-player-list li span:last-child{color:#cbbba5;font-size:12px}.run-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.run-summary-grid div{background:#211e19;border:1px solid #3d3328;border-radius:6px;padding:10px}.run-summary-grid dt{color:#cbbba5;font-size:12px}.run-summary-grid dd{margin:4px 0 0;font-weight:900}.run-player-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.run-player-list li{border-bottom:1px solid #3d3328;padding-bottom:6px}.log-preview{color:#d7c6ad;white-space:pre-wrap;word-break:break-word;background:#151617;border:1px solid #3d3328;border-radius:6px;max-height:180px;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.run-inspector-results{gap:14px;margin-top:16px;display:grid}.run-archive-message{background:#1c1b18;border:1px solid #4a3d2d;border-radius:8px;padding:12px}.game-layout{background:linear-gradient(#151617f5,#201b16f5),#151617}.top-bar,.status-strip,.play-grid,.event-timeline{width:min(1380px,100%);margin:0 auto}.top-bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.top-bar h1{font-size:30px}.room-heading-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.room-heading-row .subtle-action{min-height:30px;padding:0 10px;font-size:12px}.connection-pill{display:inline-flex}.status-strip{display:flex}.connection-pill,.status-strip{color:#d7c6ad;background:#211e19;border:1px solid #4a3d2d;border-radius:999px;align-items:center;gap:8px}.connection-pill{text-transform:capitalize;min-height:34px;padding:0 12px}.status-strip{min-height:42px;margin-top:16px;padding:0 14px}.play-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;margin-top:18px;display:grid}.event-timeline{background:#1c1b18;border:1px solid #4a3d2d;border-radius:8px;margin-top:16px;padding:16px}.event-timeline.is-compact{background:#211e19;width:100%;margin-top:0;padding:12px}.entry-archive-timeline .event-timeline.is-compact{background:#191713f0;padding:16px;box-shadow:0 18px 50px #00000052}.timeline-groups{gap:14px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.event-timeline.is-compact .timeline-groups{max-height:none;padding-right:0;overflow:visible}.timeline-group{gap:8px;display:grid}.timeline-group h3{color:#f0dcc0;margin:0;font-size:14px}.timeline-group ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.timeline-row{grid-template-columns:12px minmax(0,1fr);gap:10px;display:grid}.timeline-marker{background:#d7a15f;border-radius:50%;width:9px;height:9px;margin-top:10px;box-shadow:0 0 0 3px #d7a15f24}.timeline-combat .timeline-marker{background:var(--effect-damage)}.timeline-vote .timeline-marker{background:#8fb6d8}.timeline-shop .timeline-marker,.timeline-reward .timeline-marker{background:var(--effect-gold)}.timeline-tag .timeline-marker{background:var(--effect-curse)}.timeline-row-body{background:#211e19;border:1px solid #3d3328;border-radius:7px;padding:9px 11px}.timeline-row-heading{color:#f6efe3;justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.timeline-row-heading time{color:#b9a88c;flex:none;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.timeline-row-body p{color:#d7c6ad;margin:4px 0 0}.timeline-detail-list{color:#cbbba5;gap:4px;margin:7px 0 0;padding-left:18px;display:grid}.tabletop-shell{background:#171512;border:1px solid #4a3d2d;border-radius:8px;min-height:440px;overflow:hidden}.tabletop-shell canvas{width:100%;height:auto;display:block}.tabletop-paused{color:#cbbba5;place-items:center;min-height:440px;font-weight:900;display:grid}.panel-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.panel-heading-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.reset-confirm{gap:8px;margin-bottom:16px;display:flex}.reset-confirm>button{flex:1 1 0}.subtle-action.danger{color:#f0b8a0;background:#2a1c18;border-color:#6b3a2c}.board-column{flex-direction:column;gap:14px;min-width:0;display:flex}.phase-countdown{background:#1b1813;border:1px solid #463a2c;border-radius:6px;height:16px;position:relative;overflow:hidden}.phase-countdown-fill{height:100%;transition:width .2s linear,background-color .5s linear;position:absolute;inset:0 0 0 auto}.phase-countdown-fill.is-ok{background:#5a9e5a}.phase-countdown-fill.is-warn{background:#d8b24a}.phase-countdown-fill.is-danger{background:#c4533f}.phase-countdown-text{text-align:center;letter-spacing:.06em;color:#f6efe3;text-shadow:0 1px 2px #0009;font-size:11px;font-weight:800;line-height:16px;display:block;position:relative}.role-grid,.html-card-grid,.vote-options,.shop-offers,.control-stack{gap:10px;display:grid}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-button,.html-card,.vote-button,.shop-offer{color:#f6efe3;text-align:left;background:#211e19;border:1px solid #4a3d2d;border-radius:7px;min-height:92px;padding:12px}.role-button.is-selected,.html-card.is-selected,.vote-button.is-selected,.shop-offer.is-selected{background:#2f281f;border-color:#e5b766}.role-button{flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.role-button .role-swatch{align-self:flex-start}.role-button.is-taken{opacity:.5;cursor:not-allowed}.role-claim{letter-spacing:.02em;color:#e0a36b;margin-top:6px;font-size:12px;font-weight:800;display:block}.role-swatch{border-radius:999px;flex:none;width:12px;height:12px;display:inline-block}.role-name,.card-name,.vote-label{font-weight:900;display:block}.role-hook,.card-rule,.vote-hint,.role-mechanic{color:#d7c6ad;margin-top:6px;font-size:13px;line-height:1.35;display:block}.role-ability{margin-top:8px;display:block}.role-ability-label{letter-spacing:.06em;text-transform:uppercase;color:#8f8169;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.role-ability-name{color:#f0e7d8;font-size:12px;font-weight:800;display:block}.role-ability-text{color:#cbbba5;font-size:12px;line-height:1.3;display:block}.action-row,.card-topline,.card-statline{align-items:center;gap:10px;display:flex}.action-row{margin-top:16px}.action-row>button{flex:1 1 0}.deck-viewer{border-top:1px solid #3a3122;margin-top:18px;padding-top:14px}.deck-viewer-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.deck-count{color:#b7a587;font-size:12px;font-weight:700}.deck-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.deck-card{background:#211e19;border:1px solid #4a3d2d;border-radius:7px;align-items:flex-start;gap:10px;padding:9px 11px;display:flex}.deck-card-mult{color:#e5b766;font-variant-numeric:tabular-nums;flex:none;min-width:28px;font-weight:900}.deck-card-body{display:block}.deck-card-name{color:#f6efe3;font-weight:800;display:block}.crescendo-chip{vertical-align:middle;background:#2a2620;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:800}.deck-card .card-rule{margin-top:3px}.target-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.target-label{color:#b7a587;margin-right:2px;font-size:12px;font-weight:700}.target-button{color:#d7c6ad;background:#211e19;border:1px solid #4a3d2d;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.target-button:disabled{opacity:.5}.harmony-badge{color:#cbbba5;font-variant-numeric:tabular-nums;background:#2a2620;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:800}.card-topline,.card-statline{color:#cbbba5;justify-content:space-between;font-size:12px}.play-controls{position:sticky;top:16px}.section-title{color:#e5b766;margin-bottom:8px;font-weight:900}.vote-prompt,.shop-gold{color:#f6efe3;line-height:1.45}.vote-button{grid-template-columns:1fr auto;gap:8px;display:grid}.vote-hint{grid-column:1/-1}.vote-count{color:#e5b766;background:#3a3024;border-radius:999px;justify-content:center;align-items:center;min-width:28px;min-height:28px;font-weight:900;display:inline-flex}.ending-panel,.combat-log{border-top:1px solid #3d3328;margin-top:14px;padding-top:14px}.ending-panel h3{margin:4px 0 8px}.combat-log ol{color:#d7c6ad;scrollbar-width:thin;max-height:360px;margin:0;padding-left:20px;font-size:13px;line-height:1.45;overflow-y:auto}.perf-overlay{z-index:20;background:#151617f5;border:1px solid #4a3d2d;border-radius:8px;width:min(340px,100vw - 28px);padding:12px;position:fixed;bottom:14px;right:14px;box-shadow:0 14px 38px #00000059}.perf-overlay ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.perf-overlay li{color:#d7c6ad;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.perf-overlay strong{color:#e5b766}.perf-overlay em{color:#9fb9d8;font-style:normal}@media (width<=980px){.entry-layout,.play-grid{grid-template-columns:1fr}.play-controls{position:static}}@media (width<=620px){.entry-layout,.game-layout{padding:14px}.inline-fields,.role-grid,.action-row{grid-template-columns:1fr;display:grid}.panel-heading{display:grid}.panel-heading-actions{justify-content:stretch}.top-bar{align-items:flex-start}.brand-lockup h1{font-size:34px}}.game-layout{width:min(1520px,100%);margin-inline:auto;padding:14px clamp(14px,2.4vw,34px) 36px}.top-bar.session-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;width:100%;min-height:68px;margin:0 0 12px;padding:0 4px;display:grid}.lobby-layout{grid-template-columns:minmax(260px,.62fr) minmax(620px,1.6fr);align-items:start;gap:18px;max-width:1280px;margin:32px auto;display:grid}.phase-countdown{border-radius:999px;width:min(740px,100%);height:36px;margin:0 auto 14px;position:relative}.phase-countdown-fill{width:100%;height:100%;transform:scaleX(var(--timer-fraction));transform-origin:0;transition:transform .18s linear,background-color .24s;inset:0}.phase-countdown-text{line-height:34px}.tabletop-shell{opacity:.58;margin-top:12px}.action-column{gap:12px;display:grid;position:sticky;top:12px}.role-button{border-radius:10px;min-height:180px}.shop-gold{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ending-panel{text-align:center;border-top:0;margin-top:0;padding-top:0}.entry-layout{grid-template-columns:minmax(330px,560px) minmax(300px,390px);gap:clamp(24px,5vw,70px)}.archive-disclosure .run-inspector{padding:16px}.event-drawer .event-timeline{width:100%;margin:0}@media (width<=980px){.game-layout{padding:10px}.top-bar.session-bar{grid-template-columns:1fr auto}.session-phase{display:none}.play-grid,.lobby-layout{grid-template-columns:1fr;margin-top:0}.action-column{position:static}.play-grid .board-column{order:2}.play-grid .action-column{order:1}.tabletop-shell{display:none}.entry-layout{grid-template-columns:minmax(0,560px);align-content:start;padding-top:36px}}@media (width<=620px){.game-layout{padding:10px}.play-grid>*,.action-column,.control-panel,.control-stack{min-width:0}.target-row{max-width:100%;overflow-x:auto}.combat-lock{width:100%;max-width:100%}.session-title{display:none}.connection-pill{padding-inline:8px;font-size:0}.phase-countdown{height:32px;margin-bottom:9px}.phase-countdown-text{line-height:30px}.tactical-summary,.control-panel{padding:15px}.enemy-summary-grid{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.enemy-summary{scroll-snap-align:start;flex:0 0 86%}.party-vitals{grid-template-columns:1fr 1fr}.party-roster.is-compact .roster-list{grid-template-columns:1fr}.role-button{min-height:150px}.html-card-grid{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.html-card{scroll-snap-align:start;flex:0 0 82%}.entry-layout{padding:18px 12px 50px}.session-room{min-width:0}.session-room .room-heading-row{flex-wrap:nowrap;gap:5px}.session-room .room-heading-row .subtle-action{width:38px;padding:0;font-size:0}.board-column>.tactical-summary{display:none}}:root{--pw-black:#090a09;--pw-ink:#111311;--pw-panel:#171713;--pw-panel-2:#211d17;--pw-line:#6f5731;--pw-line-soft:#3f3729;--pw-gold:#e6b94f;--pw-gold-bright:#f4d277;--pw-parchment:#eee0be;--pw-muted:#b9aa8d;--pw-blood:#cb4e39;--pw-green:#7ca55e;--pw-purple:#9267b6;--pw-blue:#668ba8;--pw-card-rim:#8f693b;--pw-card-gutter:#080906;--pw-card-keyline:#ebc87c47;--pw-display:Georgia, "Times New Roman", serif;--pw-body:"Trebuchet MS", "Segoe UI", sans-serif}html{background:var(--pw-black)}body{color:var(--pw-parchment);font-family:var(--pw-body);font-kerning:normal;background:linear-gradient(#080908f0,#080908f5),url(/images/background.png) 50%/cover fixed}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0,#b9792d1f,#0000 36rem),linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/64px 64px,linear-gradient(#ffffff04 1px,#0000 1px) 0 0/64px 64px;position:fixed;inset:0}h1,h2,h3,.session-phase strong,.session-title,.role-name,.enemy-topline strong,.card-name,.vote-label,.postcard-art span{font-family:var(--pw-display);text-wrap:balance}button,input{font-family:var(--pw-body)}button{border-radius:2px}.primary-action,.secondary-action,.subtle-action,.icon-text{letter-spacing:.025em;text-transform:uppercase;border-radius:2px;min-height:46px;position:relative}.primary-action,.secondary-action{clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);transition:filter .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1)}.primary-action{color:#1b1408;background:linear-gradient(#eac568,#c88b27);border:1px solid #f0cb6b;box-shadow:inset 0 0 0 2px #49280859,inset 0 1px #ffffff73}.primary-action:before,.secondary-action:before{content:"";pointer-events:none;border:1px solid #ffffff21;position:absolute;inset:3px}.secondary-action,.subtle-action{color:#e7d5af;background:linear-gradient(#27231b,#171713);border:1px solid #665235;box-shadow:inset 0 1px #ffffff0a}.primary-action:not(:disabled):hover{filter:brightness(1.1)}.primary-action:disabled{color:#81745d;background:linear-gradient(#29261d,#1b1b17);border-color:#54472f;box-shadow:inset 0 0 0 2px #00000047}.secondary-action:disabled,.subtle-action:disabled{color:#746b5b;background:#171815;border-color:#423a2d}.secondary-action:not(:disabled):hover,.subtle-action:not(:disabled):hover{color:#ffe4a2;border-color:#a37b3c}.primary-action:not(:disabled):active,.secondary-action:not(:disabled):active{transform:translateY(1px)}.eyebrow{color:var(--pw-gold);letter-spacing:.065em;font-size:.7rem}.entry-layout{background:#080908;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);gap:0;width:min(1180px,100% - 32px);min-height:100vh;margin-inline:auto;padding:32px 0}.entry-layout:before,.entry-layout:after{display:none}.entry-panel,.entry-side{background-color:#11120f;border:1px solid #725a34;min-height:min(780px,100vh - 64px)}.entry-panel{box-shadow:none;background:linear-gradient(90deg,#0b0c0af7,#11120fe8),url(/images/background.png) 12%/auto 110% no-repeat;border-radius:0;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,58px);display:flex}.brand-lockup{text-align:center;justify-items:center;display:grid}.brand-lockup .eyebrow{display:none}.brand-logo{mix-blend-mode:screen;filter:sepia(.12)saturate(1.12)drop-shadow(0 3px 2px #000);width:min(100%,420px);margin:0 auto -4px}.brand-lockup p{color:#e4bf62;max-width:34ch;font:700 1.02rem/1.45 var(--pw-display);margin:0 auto 18px}.room-form{gap:8px;margin-top:14px}.room-form label{color:#d8c498;letter-spacing:.075em;text-transform:uppercase;font-size:.7rem}.room-form input{color:#f4e8ce;background:#070807d1;border:1px solid #6b5432;border-radius:1px;min-height:48px;box-shadow:inset 0 0 0 3px #87602714}.room-form input::placeholder{color:#a6977d}.nickname-field{position:relative}.nickname-field input{width:100%;padding-right:51px}.nickname-randomizer{color:#d5b96e;background:linear-gradient(#242118,#151510);border:1px solid #4f422e;border-radius:1px;place-items:center;width:40px;min-height:40px;padding:0;display:grid;position:absolute;top:4px;right:4px;box-shadow:inset 0 0 0 2px #dfb8530d}.nickname-randomizer:not(:disabled):hover{color:#f1d17c;background:linear-gradient(#30291b,#1b1911);border-color:#95733a}.nickname-randomizer:disabled{color:#6f6655;background:#151510}.entry-panel .primary-action{min-height:54px;font-size:1rem}.join-form{margin-top:34px;position:relative}.join-form:before{content:"OR";color:#9e8d70;background:#11120f;padding:0 10px;font-size:.65rem;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.join-form:after{content:"";top:-18px;z-index:-1;border-top:1px solid #4d402e;position:absolute;inset-inline:0}.entry-side{background:linear-gradient(#08090847 0%,#08090814 45%,#080908f0 100%),url(/images/background.png) 67%/cover no-repeat;border-left:0;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.entry-side:before{content:"";pointer-events:none;border:1px solid #e0b85d6b;position:absolute;inset:12px}.entry-art-copy{text-align:right;color:#e7c05e;text-shadow:0 2px 2px #000;text-transform:uppercase;display:grid;position:absolute;top:42px;right:34px}.entry-art-copy span{letter-spacing:.12em;font-size:.78rem}.entry-art-copy strong{font:700 1.35rem var(--pw-display)}.table-rules{z-index:1;background:#0a0b09d6;border:1px solid #74582dcc;border-radius:0;margin:0 34px 20px;padding:16px 18px;position:relative}.table-rules h2{color:#e5c371;margin:0 0 12px;font-size:1rem}.table-rules ul{grid-template-columns:repeat(3,1fr);gap:12px}.table-rules li{border:0;padding:0}.table-rules li strong{color:#eadab7;font-size:.75rem}.table-rules li span{color:#a99a7f;font-size:.65rem}.archive-disclosure{z-index:1;background:#070807c7;border-top-color:#725b36;margin:0 34px 28px;position:relative}.archive-disclosure>summary{padding-inline:8px}.archive-disclosure .run-inspector{background:#10110e}.build-stamp{color:#6f634e;position:absolute;bottom:10px;right:14px}.game-layout{background:linear-gradient(#070807e3,#090a08f2),url(/images/background.png) 50%/cover fixed;width:min(1640px,100%);min-height:100vh;padding:8px 12px 20px}.top-bar.session-bar{background:linear-gradient(#191814fa,#0b0c0afa);border:1px solid #5c482d;grid-template-columns:1fr minmax(260px,auto) 1fr;width:100%;min-height:70px;margin:0;padding:0 18px;box-shadow:inset 0 -2px #714e1e4d}.session-room{gap:12px;min-width:0}.session-title{color:#d2b266;font-size:1.15rem}.room-heading-row{margin:0}.room-heading-row .eyebrow{color:#d9bc70}.session-phase{min-width:270px;padding:9px 34px;position:relative}.session-phase:before,.session-phase:after{content:"";border-top:1px solid #8a6735;width:34px;position:absolute;top:50%}.session-phase:before{left:-10px}.session-phase:after{right:-10px}.session-phase strong{color:#f2d078;font-size:1.35rem}.session-phase span{color:#bfae8e;letter-spacing:.08em;text-transform:uppercase}.session-tools{justify-content:flex-end;align-items:center;gap:8px;display:flex}.deck-counter,.connection-pill,.session-menu{color:#cdbd9d;text-transform:uppercase;background:#12130f;border:1px solid #5c4930;border-radius:1px;align-items:center;gap:7px;min-height:36px;padding:0 10px;font-size:.7rem;display:inline-flex}.session-menu{justify-content:center;width:38px;padding:0}.connection-pill.is-live{color:#9fc18a;border-color:#4d6e43}.phase-countdown{z-index:2;clip-path:polygon(7% 0,93% 0,100% 28%,91% 100%,9% 100%,0 28%);background:#11120f;border:1px solid #826335;border-radius:0 0 8px 8px;width:min(520px,70%);height:42px;margin:-8px auto 10px}.phase-countdown-fill{opacity:.28}.phase-countdown-text{color:#f1ce75;line-height:40px;font:800 .83rem/40px var(--pw-body);letter-spacing:.08em;text-transform:uppercase}.play-grid{grid-template-columns:minmax(0,1fr) 360px;gap:10px;width:100%;margin-top:0}.board-column{gap:8px;min-width:0}.action-column{gap:8px;top:8px}.control-panel,.party-roster,.tactical-summary,.event-drawer{background:linear-gradient(#141411f2,#0c0d0bf7),url(/images/background.png) 40% 70%/180%;border:1px solid #5e4b30;border-radius:2px;box-shadow:inset 0 0 0 3px #694e231c}.control-panel{padding:20px}.panel-heading{border-bottom:1px solid #443a2b;margin-bottom:14px;padding-bottom:12px}.panel-heading h2{margin:2px 0 0;font-size:1.65rem}.panel-heading .subtle-action{min-height:40px}.lobby-layout{background:#0c0d0b;border:1px solid #6a5231;grid-template-columns:270px minmax(0,1fr);gap:0;max-width:1320px;margin:10px auto}.lobby-layout>*{box-shadow:none;border:0;border-radius:0}.lobby-layout>.party-roster{border-right:1px solid #4d402d;flex-direction:column;display:flex}.lobby-layout .roster-identity strong small{display:none}.lobby-layout>.control-panel{padding:18px 22px 20px}.lobby-layout .panel-heading{margin-bottom:10px}.lobby-guidance{text-align:center;background:0 0;border:0;justify-content:center;align-items:baseline;gap:9px;margin-bottom:10px;padding:0;display:flex}.lobby-guidance strong{color:#d9c496;font:400 .9rem var(--pw-display);text-transform:uppercase}.lobby-guidance span{font-size:.68rem}.role-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.role-button{border:1px solid color-mix(in srgb, currentColor 48%, #322a21);color:#d9c69e;text-align:center;background:#181713;border-radius:2px;flex-direction:column;align-items:stretch;min-height:400px;padding:0 13px 14px;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #0000004d}.role-button:after{content:"";pointer-events:none;border:1px solid #eccf8924;position:absolute;inset:3px}.role-button:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-3px)}.role-button.is-selected{border-color:var(--pw-gold);box-shadow:inset 0 0 0 3px #e6b94f2e,0 6px #4c3414}.role-portrait{color:#f0d891;filter:saturate(.82)contrast(1.08);background:linear-gradient(#0000 42%,#161612 100%),url(/images/background.png) 50%/680px no-repeat;place-items:center;height:188px;margin:0 -13px 13px;display:grid}.role-portrait svg{filter:drop-shadow(0 2px 2px #000)}.role-last_call_guardian{color:#da7249;background:#261713}.role-debtknife_scoundrel{color:#d9bd58;background:#202112}.role-hexed_hedge_mage{color:#9e78c2;background:#21172b}.role-doom_bard{color:#6ca0bd;background:#14222a}.role-swatch{z-index:1;width:9px;height:9px;position:absolute;top:9px;left:9px}.role-name{color:#f0dfb9;text-transform:uppercase;place-items:center;min-height:48px;font-size:1.1rem;display:grid}.role-mechanic{color:#cab993;min-height:52px;font-size:.72rem;line-height:1.45}.role-ability{border-top:1px solid #dac28b38;margin-top:auto;padding-top:12px}.role-ability-label{color:currentColor;letter-spacing:.08em;font-size:.58rem}.role-ability-name{color:#eee0bd}.role-ability-text{font-size:.68rem}.role-claim{background:#241410;position:absolute;inset:auto 6px 6px}.lobby-layout .action-row{max-width:700px;margin:16px auto 0}.deck-disclosure{max-width:700px;margin:12px auto 0}.roster-deck-disclosure{border-top:1px solid #4b3e2b;width:100%;margin:auto 0 0}.roster-deck-disclosure>summary{color:#cbb78c;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;min-height:40px;font-size:.62rem;display:flex}.roster-deck-disclosure>summary strong{color:#e0bd66;font-size:.58rem}.roster-deck-disclosure .deck-viewer{margin-top:0;padding-top:8px}.roster-deck-disclosure .deck-card{border-radius:1px;padding:6px}.roster-deck-disclosure .deck-card-mult{min-width:20px;font-size:.62rem}.roster-deck-disclosure .deck-card-name{font-size:.64rem}.roster-deck-disclosure .deck-card .card-rule{font-size:.54rem}.party-roster{padding:16px}.roster-heading h2{font-size:1.35rem}.progress-chip{color:#e5c36f;background:#151610;border-radius:1px}.roster-list{gap:3px}.roster-player{background:0 0;border-bottom:1px solid #353027;border-radius:0;min-height:58px}.roster-player.is-you{background:#ca953714;border-color:#806337}.player-avatar{border-radius:50%;box-shadow:inset 0 0 0 2px #111}.player-state{text-transform:uppercase;background:#11120f;border:1px solid #52452f;padding:3px 6px}.player-state.is-complete{color:#a7c780;background:#172013;border-color:#4d673d}.party-roster.is-compact{padding:10px}.party-roster.is-compact .roster-list{grid-template-columns:1fr}.party-roster.is-compact .roster-player{min-height:42px}.tactical-summary{background:linear-gradient(#090a09c2,#0c0d0bd6),url(/images/background.png) 50% 58%/cover no-repeat;min-height:360px;padding:22px 26px 18px;position:relative;overflow:hidden}.tactical-summary:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 48%,#0000,#000000b8 78%);position:absolute;inset:0}.tactical-summary>*{z-index:1;position:relative}.battlefield-heading{border-bottom:1px solid #6c5130;align-items:center;margin-bottom:18px;padding-bottom:12px}.battlefield-heading h2{color:#f2dfb3;text-transform:uppercase;font-size:1.8rem}.run-tags span{color:#eccb72;background:#211a10;border-radius:1px}.enemy-summary-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;max-width:900px;margin:0 auto}.story-omen{color:#cf5c44;text-align:center;background:linear-gradient(#180a099e,#0c0a09e0),url(/images/background.png) 80% 46%/cover no-repeat;border:1px solid #75402f;place-content:center;justify-items:center;gap:7px;width:min(520px,88%);min-height:210px;margin:12px auto;padding:22px;display:grid}.story-omen span{color:#e0664c;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.story-omen strong{color:#ecd8ac;font:700 1.4rem var(--pw-display)}.story-omen p{color:#bca98b;margin:0;font-size:.75rem}.enemy-summary{background:#211611;border:1px solid #745137;border-radius:2px;flex-direction:column;min-height:210px;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #00000059}.enemy-portrait{filter:saturate(.7)contrast(1.15)sepia(.12);background:linear-gradient(#0000 35%,#211611),url(/images/background.png) 20% 42%/620px no-repeat;place-items:center;height:112px;margin:-8px -8px 8px;display:grid}.enemy-summary:nth-child(2n) .enemy-portrait{background-position:72% 43%}.enemy-summary:nth-child(3n) .enemy-portrait{background-position:42% 68%}.enemy-summary:nth-child(4n) .enemy-portrait{background-position:88% 58%}.enemy-portrait span{color:#e9bd87;width:46px;height:46px;font:700 1.4rem var(--pw-display);background:#1f0f0bb8;border:1px solid #a36a40;border-radius:50%;place-items:center;display:grid}.enemy-topline{z-index:1;background:#0a0807d1;order:-1;padding:6px;position:absolute;inset:8px 8px auto}.enemy-topline strong{font-size:.9rem}.health-track{background:#2e1511;height:7px;margin:0 0 8px}.health-track span{background:linear-gradient(90deg,#922f29,#e65c45)}.intent-callout{background:#130f0d;border:1px solid #3d2b21;border-radius:1px;min-height:50px}.enemy-curse{color:#be8ad8;text-align:center;text-transform:uppercase;margin-top:5px;font-size:.65rem}.party-vitals{max-width:1000px;margin:20px auto 0}.vital-card{background:#070807db;border-radius:1px;min-height:54px}.vital-card.is-you{border-color:#d7a646;box-shadow:inset 0 0 0 1px #d7a64640}.tabletop-shell{display:none}.play-controls{top:8px}.phase-combat-planning .play-controls{padding:14px 18px}.phase-combat-planning .play-controls .panel-heading{margin-bottom:8px;padding-bottom:8px}.phase-combat-planning .play-controls .control-stack{gap:7px}.phase-combat-planning .party-roster.is-compact{padding-block:7px}.section-title{color:#eac368;font-family:var(--pw-display);letter-spacing:.05em;text-transform:uppercase;font-size:1.02rem}.control-stack{gap:10px}.target-row{border-block:1px solid #3f372b;padding:8px 0}.target-button{color:#d7c4a0;background:#171713;border-radius:1px}.target-button.is-selected{color:#f1dfbc;background:#2b1b15;border-color:#d95f3e}.commit-progress span{border-radius:1px}.html-card-grid{grid-template-columns:1fr;gap:8px}.html-card{color:#e9dbbd;background:linear-gradient(135deg,#241c15,#151511);border:1px solid #604b31;border-radius:2px;grid-template-rows:auto auto 1fr auto;grid-template-columns:76px 1fr;column-gap:12px;min-height:110px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #00000042}.html-card.is-selected{border-color:var(--pw-gold-bright);background:#2f2517;box-shadow:inset 0 0 0 3px #e6b94f2e}.card-art{color:#e4b567;background:linear-gradient(#1a100c6b,#14120dd6),url(/images/background.png) 24% 44%/420px no-repeat;border:1px solid #705034;grid-area:1/1/-1;place-items:center;margin:-5px 0;display:grid;position:relative}.card-art-support{color:#82a977;background-position:62% 42%}.card-art-defend{color:#7899b7;background-position:38% 68%}.card-art-curse{color:#aa7cc5;background-position:76% 58%}.card-art b{color:#1c1408;background:#e3bd60;border:1px solid #e0bd65;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;top:-5px;left:-5px}.card-topline,.card-name,.card-rule,.card-statline{grid-column:2}.card-topline{grid-row:1}.card-name{color:#f3dfb1;grid-row:2;margin-top:4px;font-size:1rem}.card-rule{color:#cbbb9c;grid-row:3;font-size:.75rem;line-height:1.35}.card-statline{grid-row:4}.plan-summary{gap:6px}.plan-summary>span{background:#10110e;border-radius:1px}.combat-lock{min-height:56px;font-size:1rem}.phase-story-vote,.phase-finale-vote,.phase-shop,.phase-reward,.phase-victory,.phase-party-wipe{max-width:1180px;margin-inline:auto}.phase-story-vote .tactical-summary,.phase-finale-vote .tactical-summary,.phase-shop .tactical-summary,.phase-reward .tactical-summary{min-height:310px}.phase-shop,.phase-reward{grid-template-columns:1fr;max-width:980px}.phase-shop .board-column,.phase-reward .board-column,.phase-shop .party-roster,.phase-reward .party-roster{display:none}.phase-shop .action-column,.phase-reward .action-column{position:static}.phase-shop .shop-offers,.vote-options{grid-template-columns:repeat(2,minmax(0,1fr))}.vote-button{text-align:center;background:#1a2113;border-radius:2px;flex-direction:column;justify-content:flex-end;align-items:center;min-height:250px;padding:14px;display:flex;position:relative;overflow:hidden}.vote-button:nth-child(2n){background:#21162b}.vote-button.is-selected{border-color:#e2bd5d;box-shadow:inset 0 0 0 3px #e2bd5d2b}.vote-art{color:#d2bd6b;background:linear-gradient(#0000,#1a2113),url(/images/background.png) 30%/500px;flex:1;place-items:center;width:calc(100% + 28px);margin:-14px -14px 12px;display:grid}.vote-button:nth-child(2n) .vote-art{color:#b798cb;background-position:78% 56%}.vote-label{color:#f1ddb0;font-size:1rem}.vote-hint{color:#bfb091;font-size:.72rem}.vote-count{background:#11120f;border:1px solid #806331;border-radius:50%;position:absolute;top:8px;right:8px}.vote-party-status{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:5px;display:grid}.vote-party-status>span{color:#b9aa8d;background:#10110e;border:1px solid #463c2e;grid-template-rows:1fr 1fr;grid-template-columns:30px minmax(0,1fr);align-items:center;column-gap:7px;min-height:44px;padding:5px 26px 5px 5px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #ffffff05}.vote-party-status b{color:#dec78f;border:1px solid #765d37;border-radius:50%;grid-row:1/3;place-items:center;width:28px;height:28px;font-size:.62rem;display:grid}.vote-party-status small{color:#dac9a5;text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.61rem;overflow:hidden}.vote-party-status em{color:#a59372;letter-spacing:.04em;text-transform:uppercase;align-self:start;font-size:.5rem;font-style:normal}.vote-party-status svg{color:#8ab56b;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.vote-party-status>.is-complete{background:#121a10;border-color:#536943}.vote-party-status>.is-complete b{color:#b9dd91;border-color:#6e8d54}.vote-party-status>.is-complete em{color:#9bc47a}.decision-progress{background:#1d1b14;border:1px solid #5d4b30;border-radius:1px}.shop-gold{grid-template-columns:1fr 1fr}.shop-offers{gap:6px}.shop-offer{background:#151711;border-radius:1px;grid-template-columns:64px minmax(0,1fr);column-gap:12px;min-height:88px;display:grid}.shop-offer-art{color:#d3a84b;background:#211b11;border:1px solid #54432a;grid-row:1/4;place-items:center;display:grid}.shop-offer .card-name,.shop-offer .card-rule,.shop-offer .card-statline{grid-column:2}.shop-impact,.shop-party-status{display:none}.enemy-summary:after,.html-card:after,.vote-button:after,.shop-offer:after{content:"";z-index:2;pointer-events:none;border:1px solid #e8c57629;position:absolute;inset:3px}.enemy-summary,.html-card,.vote-button,.shop-offer{position:relative}.vote-button,.shop-offer{transition:border-color .18s cubic-bezier(.22,1,.36,1),filter .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);box-shadow:0 4px #080907,inset 0 0 0 2px #00000057}.vote-button:not(:disabled):hover,.shop-offer:not(:disabled):hover{filter:brightness(1.07);border-color:#a67f41;transform:translateY(-2px)}.vote-button:not(:disabled):active,.shop-offer:not(:disabled):active{transform:translateY(1px)}.vote-button.is-selected,.shop-offer.is-selected{box-shadow:0 4px #523814,inset 0 0 0 3px #e2bd5d2b}.phase-victory,.phase-party-wipe{grid-template-columns:1fr;max-width:1180px}.phase-victory .board-column,.phase-party-wipe .board-column,.phase-victory .party-roster,.phase-party-wipe .party-roster{display:none}.phase-victory .action-column,.phase-party-wipe .action-column{position:static}.phase-victory .control-panel,.phase-party-wipe .control-panel{padding:0;overflow:hidden}.phase-victory .control-panel>.panel-heading,.phase-party-wipe .control-panel>.panel-heading{display:none}.ending-panel{text-align:left;background:linear-gradient(90deg,#090a08fa 0%,#090a089e 48%,#090a081a 100%),linear-gradient(#0000 45%,#090a08f5),url(/images/background.png) 72%/cover no-repeat;flex-direction:column;justify-content:flex-end;min-height:680px;padding:38px clamp(28px,6vw,72px);display:flex;position:relative}.postcard-art{color:#d4a747;background:0 0;border:0;min-height:0;margin:0 0 auto;display:block}.postcard-art svg{display:none}.postcard-art span{letter-spacing:.035em;text-shadow:0 3px 2px #000;font-size:clamp(2.8rem,8vw,5.8rem)}.ending-panel>.eyebrow{color:#d5593e}.ending-panel h3{max-width:680px;margin:4px 0;font-size:clamp(2.2rem,5vw,4.4rem)}.ending-panel>p{color:#dfcda9;max-width:52ch;margin:8px 0}.ending-stats{justify-content:flex-start;margin:12px 0}.ending-panel .run-tags{justify-content:flex-start}.ending-actions{width:min(620px,100%);max-width:none;margin:18px 0 0}.run-details{max-width:620px;margin:10px 0 0}.event-drawer{margin-top:8px}.event-drawer>summary{color:#d6c39c;text-transform:uppercase;background:#0b0c0af5;min-height:46px}.event-timeline{background:#11120f}.timeline-row-body{background:#171713;border-radius:1px}.run-summary-card,.run-archive-message{background:#151611;border-radius:1px}@media (width<=1100px){.entry-layout{grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr)}.role-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.role-button{min-height:330px}.role-portrait{height:130px}.play-grid{grid-template-columns:minmax(0,1fr) 340px}}@media (width<=820px){.entry-layout{grid-template-columns:1fr;width:100%;min-height:100vh;padding:0}.entry-panel,.entry-side{border-inline:0;min-height:auto}.entry-panel{min-height:620px}.entry-side{border-top:0;min-height:420px}.entry-art-copy{top:24px}.table-rules{margin-top:180px}.top-bar.session-bar{grid-template-columns:1fr auto}.session-phase,.deck-counter{display:none}.lobby-layout{border-inline:0;grid-template-columns:1fr}.lobby-layout>.party-roster{border-bottom:1px solid #4d402d;border-right:0}.play-grid{grid-template-columns:1fr}.play-grid .action-column{order:1}.play-grid .board-column{order:2}.action-column{position:static}.party-roster.is-compact{order:2}.control-panel{order:1}.board-column>.tactical-summary,.phase-story-vote .board-column,.phase-finale-vote .board-column,.phase-shop .board-column,.phase-reward .board-column{display:none}}@media (width<=560px){body{background:#090a09}.game-layout{padding:0 8px 12px}.top-bar.session-bar{border-inline:0;min-height:64px;padding:0 6px}.session-title,.connection-pill{display:none}.session-tools{gap:4px}.room-heading-row .subtle-action{width:40px;padding:0;font-size:0}.phase-countdown{width:calc(100% - 16px);height:48px;margin:-5px auto 8px}.phase-countdown-text{font-size:.78rem;line-height:46px}.control-panel{padding:14px 16px 16px}.panel-heading{align-items:start;display:flex}.panel-heading h2{font-size:1.55rem}.panel-heading-actions{max-width:110px}.panel-heading-actions .subtle-action{padding:0 8px;font-size:.68rem}.phase-combat-planning .panel-heading-actions{display:none}.role-grid{grid-template-columns:1fr 1fr;gap:6px}.phase-lobby .lobby-guidance{margin-bottom:7px}.phase-lobby .lobby-guidance span{display:none}.phase-lobby .role-button{min-height:210px;padding:0 6px 7px}.phase-lobby .role-portrait{height:72px;margin:0 -6px 5px}.phase-lobby .role-name{min-height:32px;font-size:.72rem;line-height:1.08}.phase-lobby .role-mechanic{min-height:40px;font-size:.55rem;line-height:1.2}.phase-lobby .role-ability{padding-top:5px}.phase-lobby .role-ability-label{font-size:.45rem}.phase-lobby .role-ability-name{font-size:.62rem}.phase-lobby .role-ability-text{font-size:.51rem;line-height:1.16}.phase-lobby .lobby-layout .action-row{z-index:4;padding:7px 8px max(7px, env(safe-area-inset-bottom));background:#0a0b09f7;border-top:1px solid #6a5231;gap:5px;margin:7px -8px -8px;position:sticky;bottom:0}.html-card-grid{scroll-snap-type:x mandatory;gap:8px;display:flex;overflow-x:auto}.html-card{scroll-snap-align:center;flex-direction:column;flex:0 0 82%;min-height:240px;padding:9px;display:flex}.html-card .card-art{flex:none;width:calc(100% + 18px);height:110px;margin:-9px -9px 8px}.html-card .card-topline,.html-card .card-name,.html-card .card-rule,.html-card .card-statline{width:100%}.html-card .card-rule{min-height:48px}.plan-summary{grid-template-columns:1fr 1fr}.combat-lock{z-index:3;position:sticky;bottom:6px}.vote-options{grid-template-columns:1fr 1fr;gap:6px}.vote-button{min-height:220px;padding:10px}.vote-art{width:calc(100% + 20px);margin:-10px -10px 10px}.table-rules ul{grid-template-columns:1fr}.ending-panel{min-height:calc(100vh - 76px);padding:24px 20px}.ending-actions{grid-template-columns:1fr}.phase-reward .vote-button{justify-content:center;gap:7px;min-height:132px}.phase-reward .vote-label{font-size:.82rem}.phase-reward .vote-hint{font-size:.62rem}.phase-shop .shop-impact{background:#10110e;border:1px solid #51432d;gap:2px;min-height:38px;padding:7px 9px;display:grid}.phase-shop .shop-impact span{color:#a9946d;text-transform:uppercase;font-size:.54rem}.phase-shop .shop-impact strong{color:#dac17d;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.phase-shop .shop-party-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.phase-shop .shop-party-status>span{background:#10110e;border:1px solid #3d3529;grid-template-rows:1fr 1fr;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:0 6px;min-height:38px;padding:4px;display:grid}.phase-shop .shop-party-status b{border:1px solid #765d37;border-radius:50%;grid-row:1/3;place-items:center;width:24px;height:24px;font-size:.53rem;display:grid}.phase-shop .shop-party-status small{text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.55rem;overflow:hidden}.phase-shop .shop-party-status em{color:#b59d65;text-transform:uppercase;align-self:start;font-size:.46rem;font-style:normal}.phase-shop .shop-party-status .is-ready{background:#121a10;border-color:#4f673d}.phase-shop .shop-party-status .is-ready em{color:#9dc27e}}@media (prefers-reduced-motion:reduce){.role-button,.primary-action,.secondary-action,.vote-button,.shop-offer{transition:none}}.role-portrait{filter:saturate(.94)contrast(1.08);background-image:linear-gradient(#0000 42%,#161612 100%),url(/images/ui/roles.webp);background-repeat:no-repeat;background-size:100% 100%,400% 100%}.role-portrait svg{z-index:1;box-sizing:content-box;color:currentColor;filter:drop-shadow(0 1px 1px #000);background:#080908c2;border:1px solid;border-radius:50%;width:30px;height:30px;padding:8px;display:block;position:relative;box-shadow:0 0 0 3px #08090875,0 4px 9px #000000b8}.role-last_call_guardian .role-portrait{background-position:50%,0%}.role-debtknife_scoundrel .role-portrait{background-position:50%,33.333%}.role-hexed_hedge_mage .role-portrait{background-position:50%,66.667%}.role-doom_bard .role-portrait{background-position:50%,100%}.enemy-portrait{filter:saturate(.9)contrast(1.12);background-image:linear-gradient(#0000 35%,#211611 100%),url(/images/ui/enemies.webp);background-repeat:no-repeat;background-size:100% 100%,400%}.enemy-art-0 .enemy-portrait{background-position:50%,0 10%}.enemy-art-1 .enemy-portrait{background-position:50%,33.333% 10%}.enemy-art-2 .enemy-portrait{background-position:50%,66.667% 10%}.enemy-art-3 .enemy-portrait{background-position:50%,100% 10%}.card-art{background-image:linear-gradient(#0000 35%,#120f0cb8),url(/images/ui/cards.webp);background-repeat:no-repeat;background-size:100% 100%,300% 200%}.card-art-strike{background-position:50%,50% 0}.card-art-defend{background-position:50%,0 0}.card-art-support{background-position:50%,100% 0}.card-art-curse{background-position:50%,0 100%}.card-art-shop{background-position:50%,50% 100%}.card-art-special{background-position:50%,100% 100%}.card-art svg{display:none}.vote-art,.shop-offer-art{background-image:linear-gradient(#0000 32%,#12100cc7),url(/images/ui/choices.webp);background-repeat:no-repeat;background-size:100% 100%,200% 200%}.vote-button:nth-child(odd) .vote-art{background-position:50%,0 0}.vote-button:nth-child(2n) .vote-art{background-position:50%,100% 0}.shop-offer:nth-child(odd) .shop-offer-art{background-position:50%,0 100%}.shop-offer:nth-child(2n) .shop-offer-art,.shop-offer:first-child .shop-offer-art{background-position:50%,100% 100%}.shop-offer:nth-child(2) .shop-offer-art{background-position:50%,0 100%}.shop-offer:nth-child(3) .shop-offer-art{background-position:50%,0 0}.vote-art svg,.shop-offer-art svg{display:none}.phase-victory .ending-panel,.phase-party-wipe .ending-panel{background-repeat:no-repeat;background-size:100% 100%,100% 100%,cover}.phase-victory .ending-panel{background-image:linear-gradient(90deg,#090a08fa 0%,#090a088c 52%,#090a0814),linear-gradient(#0000 42%,#090a08f0),url(/images/ui/ending-victory.webp)}.phase-party-wipe .ending-panel{background-image:linear-gradient(90deg,#090a08fa 0%,#090a088c 52%,#090a0814),linear-gradient(#0000 42%,#090a08f0),url(/images/ui/ending-wipe.webp)}.combat-page{width:100%;margin-top:0}.combat-table{background:linear-gradient(#0d0e0cf5,#080908fa);border-color:#755a34;width:100%;padding:14px}.combat-table>.panel-heading{margin:0 0 10px;padding:0 4px 10px}.combat-table-grid{gap:10px;display:grid}.combat-table .tactical-summary{border-color:#6f5030;min-height:350px}.combat-table .enemy-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1160px}.combat-table .enemy-summary{min-height:196px}.combat-table .party-vitals{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-width:1160px;display:grid}.combat-table .control-stack{background:#0d0e0c;border:1px solid #58452c;grid-template-columns:repeat(3,minmax(0,1fr)) 290px;grid-template-areas:"sequence sequence sequence dock""title progress progress dock""target target target dock""cards cards cards dock""pagination pagination pagination dock";gap:10px;padding:12px;display:grid}.combat-sequence{color:#aa9a7d;text-transform:uppercase;grid-area:sequence;align-items:center;gap:8px;font-size:.7rem;display:flex}.combat-sequence span{align-items:center;gap:5px;display:inline-flex}.combat-sequence span+span:before{content:"→";color:#6d5836;margin-right:3px}.combat-sequence b{color:#f0c967;border:1px solid #806338;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.combat-table .section-title{grid-area:title;align-self:center}.combat-table .commit-progress{grid-area:progress;justify-content:flex-end;align-self:center}.combat-table .target-row{grid-area:target}.combat-table .html-card-grid{grid-area:cards;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.combat-table .html-card{text-align:left;flex-direction:column;min-height:292px;padding:10px;display:flex}.combat-table .html-card .card-art{flex:none;width:calc(100% + 20px);height:146px;margin:8px -10px 10px}.combat-table .html-card .card-topline,.combat-table .html-card .card-name,.combat-table .html-card .card-rule,.combat-table .html-card .card-statline{width:100%}.combat-table .html-card .card-rule{min-height:48px}.combat-table .html-card .card-statline{margin-top:auto}.combat-action-dock{background:linear-gradient(145deg,#191711,#10110e);border-left:1px solid #55422b;flex-direction:column;grid-area:dock;gap:10px;padding:12px;display:flex}.combat-action-dock .plan-summary{grid-template-columns:1fr;display:grid}.combat-action-dock .combat-lock{margin-top:auto}.card-pagination,.enemy-pagination{display:none}.start-reason{color:#c8b58e;text-align:center;margin:8px auto 0;font-size:.78rem}.phase-shop .shop-offers{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.phase-shop .shop-offer{text-align:left;flex-direction:column;min-height:250px;padding:10px;display:flex}.phase-shop .shop-offer-art{flex:none;width:calc(100% + 20px);height:135px;margin:-10px -10px 12px}.phase-shop .shop-offer .card-name,.phase-shop .shop-offer .card-rule,.phase-shop .shop-offer .card-statline{width:100%}.phase-shop .shop-offer .card-statline{margin-top:auto}@media (width<=920px){.combat-table .control-stack{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"sequence sequence sequence""title progress progress""target target target""cards cards cards""pagination pagination pagination""dock dock dock"}.combat-action-dock{border-top:1px solid #55422b;border-left:0;grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);display:grid}.combat-action-dock .plan-summary{grid-template-columns:1fr 1fr}}@media (width<=640px){.combat-page{width:calc(100% + 16px);margin-inline:-8px}.combat-table{border-inline:0;padding:8px 8px 0}.combat-table>.panel-heading{margin-bottom:6px;padding-bottom:7px}.combat-table-grid{gap:6px}.combat-table .tactical-summary{min-height:0;padding:10px}.combat-table .battlefield-heading{margin-bottom:8px;padding-bottom:7px}.combat-table .battlefield-heading h2{font-size:1.1rem}.combat-table .run-tags{display:none}.combat-table .enemy-summary-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:7px;display:flex;overflow-x:auto}.combat-table .enemy-summary{scroll-snap-align:center;flex:0 0 58%;min-height:176px}.combat-table .enemy-portrait{height:82px}.combat-table .intent-callout{min-height:44px;font-size:.68rem}.combat-table .party-vitals{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.combat-table .vital-card{min-height:40px;padding:5px}.combat-table .vital-stat.armor,.combat-table .locked-mark{display:none}.combat-table .control-stack{border-inline:0;padding:9px 8px 0;display:block}.combat-sequence{justify-content:center;margin-bottom:9px;font-size:.6rem}.combat-sequence span+span:before{display:none}.combat-table .section-title,.combat-table .commit-progress{margin-bottom:7px}.combat-table .target-row{margin-bottom:8px}.combat-table .html-card-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.combat-table .html-card{scroll-snap-align:center;flex:0 0 82%;min-height:254px}.combat-table .html-card .card-art{height:118px}.card-pagination,.enemy-pagination{justify-content:center;gap:5px;margin:8px 0;display:flex}.card-pagination span,.enemy-pagination span{background:#5b513e;border-radius:50%;width:6px;height:6px}.card-pagination .is-active,.enemy-pagination .is-active{background:#deb757;border-radius:4px;width:18px}.combat-action-dock{width:auto;max-width:none;padding:9px 8px max(9px, env(safe-area-inset-bottom));border:1px solid #73562f;background:#0f100dfa;border-bottom:0;grid-template-columns:1fr;gap:7px;margin:10px -8px 0;display:grid;position:static;box-shadow:0 -8px 18px #00000080}.combat-action-dock .plan-summary{grid-template-columns:1fr 1fr}.combat-action-dock .combat-lock{min-height:52px;position:static}.phase-shop .shop-offers{grid-template-columns:1fr}.phase-shop .shop-offer{grid-template-columns:112px minmax(0,1fr);min-height:180px;display:grid}.phase-shop .shop-offer-art{grid-row:1/4;width:112px;height:auto;margin:-10px 0 -10px -10px}.phase-shop .shop-offer .card-name,.phase-shop .shop-offer .card-rule,.phase-shop .shop-offer .card-statline{grid-column:2;padding-left:10px}.phase-victory .ending-panel,.phase-party-wipe .ending-panel{background-color:#090a09;background-position:50%,50%,top;background-size:100% 100%,100% 100%,auto 360px;justify-content:flex-start;min-height:auto}.phase-victory .postcard-art,.phase-party-wipe .postcard-art{margin:0 0 170px}}.combat-table .tactical-summary{background:linear-gradient(#08090859,#080908d1),url(/images/background.png) 50% 52%/cover no-repeat;min-height:352px;padding:16px 20px 14px}.combat-table .battlefield-heading{margin-bottom:10px;padding-bottom:8px}.combat-table .battlefield-heading h2{font-size:1.3rem}.battlefield-stage{grid-template-columns:142px minmax(0,1fr);gap:14px;max-width:1240px;margin:0 auto;display:grid;position:relative}.intent-legend{background:#0a0b09e0;border:1px solid #55432d;align-self:start;gap:7px;padding:9px;display:grid}.intent-legend>strong{color:#d8b55e;letter-spacing:.07em;text-transform:uppercase;font-size:.65rem}.intent-legend>span{color:#d8c8a8;grid-template-columns:14px 1fr;gap:1px 5px;font-size:.65rem;line-height:1.2;display:grid}.intent-legend>span svg{color:#cf6047;grid-row:1/3}.intent-legend small{color:#9f9179;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.combat-formation{min-width:0}.combat-table .enemy-summary-grid{justify-content:center;align-items:stretch;gap:10px;max-width:900px;display:flex}.combat-table .enemy-summary{transform-origin:bottom;background:#17110e;border-color:#735237;flex:0 158px;width:clamp(126px,14vw,158px);min-height:198px;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s}.combat-table .enemy-summary:hover{border-color:#af7446;transform:translateY(-3px)}.combat-table .enemy-portrait{height:112px}.combat-table .enemy-art-0 .enemy-portrait{background-position:50%,0 10%}.combat-table .enemy-art-1 .enemy-portrait{background-position:50%,33.333% 10%}.combat-table .enemy-art-2 .enemy-portrait{background-position:50%,66.667% 10%}.combat-table .enemy-art-3 .enemy-portrait{background-position:50%,100% 10%}.combat-table .enemy-topline{inset:7px 7px auto}.combat-table .enemy-topline strong{text-wrap:balance;max-width:70%;font-size:.65rem;line-height:1.05;overflow:hidden}.combat-table .intent-callout{min-height:54px;padding:6px}.combat-table .intent-callout>span{font-size:.66rem;line-height:1.18}.combat-table .intent-callout em{font-size:.62rem}.targeting-paths{pointer-events:none;width:min(900px,100%);height:48px;margin:-2px auto -4px;display:block;overflow:visible}.target-path{fill:none;stroke-width:.7px;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.92}.target-path.path-0{stroke:#c95347}.target-path.path-1{stroke:#8ead55}.target-path.path-2{stroke:#9b69c3}.target-path.path-3{stroke:#579cc1}.targeting-paths marker path{fill:context-stroke}.combat-table .party-vitals{justify-content:center;gap:8px;max-width:900px;margin:0 auto;display:flex}.combat-table .vital-card{background:#090a08f0;border-color:#5b4a33;flex:0 180px;grid-template-rows:1fr auto;grid-template-columns:48px minmax(0,1fr);gap:3px 7px;width:clamp(138px,16vw,180px);min-height:58px;padding:6px;display:grid;position:relative;overflow:hidden}.combat-table .vital-card.is-you{border-color:#d3a444;box-shadow:inset 0 0 0 2px #d3a4442e}.combat-table .vital-portrait{background-image:linear-gradient(#0000,#0a0a087a),url(/images/ui/roles.webp);background-position:50%,0 15%;background-repeat:no-repeat;background-size:100% 100%,400%;grid-row:1/3;align-self:stretch;width:48px}.combat-table .vital-role-1 .vital-portrait{background-position:50%,33.333% 15%}.combat-table .vital-role-2 .vital-portrait{background-position:50%,66.667% 15%}.combat-table .vital-role-3 .vital-portrait{background-position:50%,100% 15%}.combat-table .vital-swatch{display:none}.combat-table .vital-identity{align-self:end;min-width:0;display:grid}.combat-table .vital-identity strong,.combat-table .vital-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combat-table .vital-identity small{color:#ae9e81}.combat-table .vital-stat{grid-area:2/2;place-self:end;font-size:.65rem}.combat-table .vital-stat.armor{margin-right:34px}.combat-table .locked-mark{position:absolute;bottom:6px;right:6px}.combat-table .html-card-grid{grid-template-columns:repeat(3,minmax(138px,156px));justify-content:center;align-items:stretch;gap:12px}.combat-table .html-card{aspect-ratio:2/3;background:linear-gradient(145deg,#231b14,#12130f);border:1px solid #765738;width:100%;min-height:234px;padding:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s,filter .18s;box-shadow:inset 0 0 0 3px #0a0b09,inset 0 0 0 4px #d6ac5738}.combat-table .html-card:after{content:"";pointer-events:none;border:1px solid #e6cc9129;position:absolute;inset:5px}.combat-table .html-card:not(:disabled):hover{z-index:2;filter:brightness(1.07);border-color:#e1bc64;transform:translateY(-5px)}.combat-table .html-card.is-selected{border-color:#f0cb6b;transform:translateY(-7px)}.combat-table .html-card .card-topline{letter-spacing:.04em;text-transform:uppercase;min-height:18px;font-size:.58rem}.combat-table .html-card .role-swatch{width:7px;height:7px;position:static}.combat-table .html-card .card-art{border-inline:0;flex:auto;width:calc(100% + 16px);height:auto;min-height:96px;margin:5px -8px 8px}.combat-table .html-card .card-name{min-height:30px;font-size:.8rem;line-height:1.08}.combat-table .html-card .card-rule{min-height:38px;font-size:.63rem;line-height:1.28}.combat-table .html-card .card-statline{font-size:.58rem}.combat-table .card-art b{border:2px solid #f3d17a;width:26px;height:26px;top:4px;left:4px}.combat-action-dock{max-width:290px}.combat-action-dock .combat-lock{min-height:64px}.plan-party{display:none}.default-plan-note{color:#c8b894;margin:0;font-size:.68rem;line-height:1.35}.combat-table .card-bad-omen-ballad .card-art{background-position:50%,0 100%}.combat-table .card-encore-anyway .card-art{background-position:50%,100% 0}.combat-table .card-power-chord .card-art{background-position:50%,100% 100%}.combat-table .card-shield-bash .card-art,.combat-table .card-bar-the-door .card-art{background-position:50%,0 0}.combat-table .card-closing-time .card-art{background-position:50%,50% 0}@media (width<=920px){.battlefield-stage{grid-template-columns:1fr}.intent-legend{display:none}.combat-table .enemy-summary{width:clamp(130px,21vw,176px)}.combat-table .vital-card{width:clamp(130px,21vw,170px)}}@media (width<=640px){.combat-table>.panel-heading{display:none}.combat-table .tactical-summary{min-height:0;padding:7px 8px}.combat-table .battlefield-heading{min-height:28px;margin-bottom:6px;padding-bottom:5px}.combat-table .battlefield-heading .eyebrow{display:none}.combat-table .battlefield-heading h2{font-size:.82rem}.combat-table .enemy-summary-grid{justify-content:flex-start;gap:6px}.combat-table .enemy-summary{flex:0 0 24%;width:auto;min-height:148px;padding:5px}.combat-table .enemy-portrait{height:74px;margin:-5px -5px 5px}.combat-table .enemy-topline{padding:4px;inset:5px 5px auto}.combat-table .enemy-topline strong{max-width:66%;font-size:.57rem}.combat-table .enemy-topline span{font-size:.55rem}.combat-table .enemy-topline svg{width:10px}.combat-table .health-track{height:5px;margin-bottom:5px}.combat-table .intent-callout{min-height:50px;padding:4px}.combat-table .intent-callout>svg,.combat-table .intent-callout em{display:none}.combat-table .intent-callout>span{font-size:.58rem}.targeting-paths{height:30px;margin-block:-1px -3px}.combat-table .party-vitals{scrollbar-width:none;justify-content:flex-start;gap:6px;overflow-x:auto}.combat-table .vital-card{flex:0 0 24%;grid-template-columns:27px minmax(0,1fr);width:auto;min-height:50px;padding:4px}.combat-table .vital-portrait{width:27px}.combat-table .vital-identity strong{font-size:.58rem}.combat-table .vital-identity small,.combat-table .vital-stat{font-size:.53rem}.combat-table .html-card-grid{scroll-snap-type:none;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:5px;display:grid;overflow:visible}.combat-table .html-card{aspect-ratio:2/3;width:100%;min-width:0;min-height:184px;padding:5px}.combat-table .html-card .card-art{width:calc(100% + 10px);min-height:76px;margin-inline:-5px}.combat-table .html-card .card-name{min-height:27px;font-size:.66rem}.combat-table .html-card .card-rule{min-height:34px;font-size:.55rem}.combat-table .card-pagination,.combat-table .combat-action-dock .plan-summary,.combat-table .combat-action-dock .default-plan-note{display:none}.combat-table .combat-action-dock{border:0;height:0;min-height:0;margin:0;padding:0}.combat-table .combat-action-dock .combat-lock{z-index:20;right:8px;bottom:max(8px, env(safe-area-inset-bottom));width:auto;min-height:54px;position:fixed;left:8px;box-shadow:0 -8px 20px #000000b8,inset 0 0 0 2px #ffeba942}}.game-layout.phase-combat-planning>.top-bar.session-bar{min-height:60px}.game-layout.phase-combat-planning .session-phase{min-width:310px;padding-block:4px}.game-layout.phase-combat-planning .session-phase strong{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.game-layout.phase-combat-planning .session-phase .phase-countdown{clip-path:none;border-radius:1px;width:210px;height:24px;margin:2px auto 0}.game-layout.phase-combat-planning .session-phase .phase-countdown-text{font-size:.68rem;line-height:22px}@media (width<=820px){.game-layout.phase-combat-planning>.top-bar.session-bar{grid-template:"room tools"52px"phase phase"42px/minmax(0,1fr) auto;min-height:98px}.game-layout.phase-combat-planning .session-room{grid-area:room}.game-layout.phase-combat-planning .session-tools{grid-area:tools}.game-layout.phase-combat-planning .session-phase{grid-area:phase;width:100%;min-width:0;padding:0;display:block}.game-layout.phase-combat-planning .session-phase strong,.game-layout.phase-combat-planning .session-phase:before,.game-layout.phase-combat-planning .session-phase:after{display:none}.game-layout.phase-combat-planning .session-phase .phase-countdown{clip-path:polygon(6% 0,94% 0,100% 30%,91% 100%,9% 100%,0 30%);width:calc(100% - 16px);height:38px;margin:0 auto}.game-layout.phase-combat-planning .session-phase .phase-countdown-text{font-size:.75rem;line-height:36px}}@media (prefers-reduced-motion:reduce){.combat-table .enemy-summary,.combat-table .html-card{transition:none}}@media (width>=921px){.combat-page{max-width:1500px;margin-inline:auto}.combat-table{padding:8px;position:relative}.combat-table>.panel-heading{z-index:3;pointer-events:none;border:0;width:232px;height:34px;margin:0;padding:0;position:absolute;top:14px;right:14px}.combat-table>.panel-heading>div:first-child{display:none}.combat-table>.panel-heading .panel-heading-actions{pointer-events:auto;justify-content:flex-end;width:100%}.combat-table>.panel-heading .subtle-action{min-height:30px;padding:0 9px;font-size:.62rem}.combat-table-grid{background:linear-gradient(90deg,#271b102e,#0000 18% 82%,#271b1024),#080908f5;border:1px solid #664d2d;grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"board dock""hand-title dock""target dock""cards dock""progress dock";gap:6px 8px;padding:8px;display:grid;box-shadow:inset 0 0 0 3px #0b0b09,inset 0 0 0 4px #af7e392e,0 8px 28px #0000006b}.combat-table .tactical-summary{border-color:#513e28;grid-area:board;min-height:268px;padding:8px 10px 10px}.combat-table .battlefield-heading{min-height:20px;margin:0 0 5px;padding:0 0 5px}.combat-table .battlefield-heading>div:first-child{display:none}.combat-table .run-tags{margin-left:auto}.combat-table .run-tags span{padding:3px 7px;font-size:.55rem}.battlefield-stage{grid-template-columns:112px minmax(0,1fr);gap:8px}.combat-table .combat-formation{background:radial-gradient(#51351a24,#05060557 72%);border:1px solid #78562e4d;padding:7px 8px 6px;position:relative;box-shadow:inset 0 0 22px #0000008c}.intent-legend{gap:5px;padding:7px}.intent-legend>strong{font-size:.58rem}.intent-legend>span{font-size:.56rem}.intent-legend small{font-size:.51rem}.combat-table .enemy-summary-grid{gap:7px;max-width:720px}.combat-table .enemy-summary{border-width:2px;flex:0 116px;width:116px;min-height:162px;padding:5px;box-shadow:0 7px 12px #0000009e,inset 0 0 0 2px #100d0a,inset 0 0 0 3px #d59f4e29}.combat-table .enemy-portrait{height:88px;margin:-5px -5px 5px}.combat-table .enemy-topline{padding:4px;inset:5px 5px auto}.combat-table .enemy-topline strong{max-width:68%;font-size:.54rem}.combat-table .enemy-topline span{gap:2px;font-size:.52rem}.combat-table .enemy-topline svg{width:9px}.combat-table .health-track{height:4px;margin-bottom:4px}.combat-table .intent-callout{min-height:48px;padding:4px}.combat-table .intent-callout>svg{width:11px}.combat-table .intent-callout>span{font-size:.53rem;line-height:1.15}.combat-table .intent-callout small{font-size:.46rem}.combat-table .intent-callout em{display:none}.targeting-paths{filter:drop-shadow(0 0 2px #000000e6);height:35px;margin:-1px auto -2px}.target-path{stroke-width:1.5px}.combat-table .party-vitals{gap:6px;max-width:720px}.combat-table .vital-card{flex:0 132px;grid-template-columns:37px minmax(0,1fr);width:132px;min-height:52px;padding:4px;box-shadow:0 5px 10px #0000008c,inset 0 0 0 2px #00000085}.combat-table .vital-portrait{width:37px}.combat-table .vital-identity strong{font-size:.62rem}.combat-table .vital-identity small,.combat-table .vital-stat{font-size:.48rem}.combat-table .locked-mark{width:10px;bottom:3px;right:3px}.combat-table .control-stack{display:contents}.combat-sequence{display:none}.combat-table .section-title{border-bottom:1px solid #3f3527;grid-area:hand-title;align-self:center;min-height:26px;padding:2px 7px;font-size:.84rem}.combat-table .target-row{grid-area:target;align-items:center;gap:6px;min-height:34px;padding:3px 7px;display:flex}.combat-table .target-label{font-size:.58rem}.combat-table .target-button{min-height:25px;padding:0 8px;font-size:.57rem}.combat-table .html-card-grid{perspective:900px;grid-area:cards;grid-template-columns:repeat(3,124px);align-content:start;gap:8px;min-height:191px;padding:3px 7px}.combat-table .html-card{aspect-ratio:2/3;border-width:2px;border-radius:4px;min-height:186px;padding:7px;box-shadow:0 7px 8px #000000a6,inset 0 0 0 3px #0a0b09,inset 0 0 0 4px #d6ac574d}.combat-table .html-card .card-topline{min-height:13px;font-size:.46rem}.combat-table .html-card .role-swatch{width:5px;height:5px}.combat-table .html-card .card-art{border-block-color:#936b39;width:calc(100% + 14px);min-height:77px;margin:4px -7px 6px}.combat-table .card-art b{width:21px;height:21px;font-size:.75rem;top:2px;left:2px}.combat-table .html-card .card-name{min-height:23px;font-size:.65rem}.combat-table .html-card .card-rule{min-height:30px;font-size:.51rem;line-height:1.2}.combat-table .html-card .card-statline{font-size:.45rem}.combat-table .commit-progress{grid-area:progress;justify-content:center;min-height:26px;padding:2px 7px}.combat-table .commit-progress span{min-height:21px;padding:2px 7px;font-size:.52rem}.combat-table .card-pagination{display:none}.combat-action-dock{background:linear-gradient(#181711,#0c0d0b);border:1px solid #4f3e29;grid-area:dock;gap:7px;width:100%;max-width:none;min-height:100%;padding:48px 10px 10px}.combat-action-dock:before{content:"Plan summary";color:#d1b15e;letter-spacing:.07em;text-transform:uppercase;font-size:.57rem}.combat-action-dock .plan-party{border-bottom:1px solid #3e3325;gap:4px;padding-bottom:7px;display:grid}.combat-action-dock .plan-party>div{background:#10110e;border:1px solid #3c3428;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;padding:5px;display:grid}.combat-action-dock .plan-party>div.is-locked{background:#131a11;border-color:#50633a}.combat-action-dock .plan-party-avatar{color:#e8d4a9;width:28px;height:28px;font:700 .68rem var(--pw-display);background:#211b14;border:2px solid;border-radius:50%;place-items:center;display:grid}.combat-action-dock .plan-party span:nth-child(2){min-width:0;display:grid}.combat-action-dock .plan-party strong{color:#e4d1a9;text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.combat-action-dock .plan-party small{color:#978a71;text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;overflow:hidden}.combat-action-dock .plan-party em{color:#bba35e;text-transform:uppercase;font-size:.46rem;font-style:normal}.combat-action-dock .plan-summary{gap:5px}.combat-action-dock .plan-summary>span{min-height:45px;padding:7px}.combat-action-dock .plan-summary small{font-size:.5rem}.combat-action-dock .plan-summary strong{font-size:.68rem}.default-plan-note{font-size:.57rem}.combat-action-dock .combat-lock{min-height:54px;margin-top:auto;font-size:.83rem}.game-layout.phase-lobby>.top-bar.session-bar{min-height:58px}.phase-lobby .lobby-layout{max-width:1200px;margin-top:6px}.phase-lobby .lobby-layout>.control-panel{padding:14px 18px 16px}.phase-lobby .lobby-layout .panel-heading{margin-bottom:7px;padding-bottom:7px}.phase-lobby .lobby-guidance{margin-bottom:7px}.phase-lobby .lobby-guidance span{display:none}.phase-lobby .role-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.phase-lobby .role-button{min-height:300px;padding:0 9px 10px}.phase-lobby .role-portrait{background-size:500px;height:126px;margin:0 -9px 8px;box-shadow:inset 0 -18px 24px #0000006b}.phase-lobby .role-name{min-height:38px;font-size:.86rem}.phase-lobby .role-mechanic{min-height:42px;font-size:.61rem;line-height:1.32}.phase-lobby .role-ability{padding-top:7px}.phase-lobby .role-ability-label{font-size:.5rem}.phase-lobby .role-ability-name{font-size:.68rem}.phase-lobby .role-ability-text{font-size:.57rem}.phase-lobby .lobby-layout .action-row{margin-top:10px}.phase-lobby .deck-disclosure{margin-top:8px}.play-grid.phase-story-vote,.play-grid.phase-finale-vote{grid-template-columns:1fr;max-width:820px;margin-inline:auto}.phase-story-vote>.board-column,.phase-finale-vote>.board-column,.phase-story-vote .party-roster,.phase-finale-vote .party-roster{display:none}.phase-story-vote>.action-column,.phase-finale-vote>.action-column{position:static}.phase-story-vote .control-panel,.phase-finale-vote .control-panel{padding:14px 16px 16px}.phase-story-vote .panel-heading,.phase-finale-vote .panel-heading{margin-bottom:8px;padding-bottom:8px}.phase-story-vote .panel-heading h2,.phase-finale-vote .panel-heading h2{font-size:1.15rem}.phase-story-vote .vote-prompt,.phase-finale-vote .vote-prompt{margin-block:2px 7px;font-size:1rem}.phase-story-vote .decision-progress,.phase-finale-vote .decision-progress{padding:7px 9px}.phase-story-vote .vote-options,.phase-finale-vote .vote-options{gap:8px}.phase-story-vote .vote-button,.phase-finale-vote .vote-button{min-height:232px}.phase-story-vote .vote-art,.phase-finale-vote .vote-art{min-height:132px}.play-grid.phase-shop{max-width:860px}.phase-shop .control-panel{padding:14px 16px 16px}.phase-shop .panel-heading{margin-bottom:8px;padding-bottom:8px}.phase-shop .shop-offers{grid-template-columns:1fr;gap:5px}.phase-shop .shop-offer{grid-template-rows:auto 1fr;grid-template-columns:72px minmax(0,1fr) 124px;gap:2px 10px;min-height:78px;padding:6px;display:grid}.phase-shop .shop-offer-art{grid-area:1/1/3;width:72px;height:66px;margin:0}.phase-shop .shop-offer .card-name{grid-area:1/2;font-size:.78rem}.phase-shop .shop-offer .card-rule{grid-area:2/2;min-height:0;font-size:.65rem}.phase-shop .shop-offer .card-statline{text-align:center;border-left:1px solid #463927;grid-area:1/3/3;place-content:center;gap:4px;width:100%;min-height:58px;margin:0;display:grid}.phase-shop .decision-progress{display:none}.phase-shop .shop-impact{background:#10110e;border:1px solid #51432d;justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding:7px 10px;display:flex}.phase-shop .shop-impact span{color:#a9946d;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem}.phase-shop .shop-impact strong{color:#dac17d;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.phase-shop .shop-party-status{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:5px;display:grid}.phase-shop .shop-party-status>span{background:#10110e;border:1px solid #3d3529;grid-template-rows:1fr 1fr;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:6px;min-height:40px;padding:5px;display:grid}.phase-shop .shop-party-status b{color:#d9c28d;border:1px solid #765d37;border-radius:50%;grid-row:1/3;place-items:center;width:26px;height:26px;font-size:.58rem;display:grid}.phase-shop .shop-party-status small{color:#d9c8a4;text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.56rem;overflow:hidden}.phase-shop .shop-party-status em{color:#b59d65;text-transform:uppercase;align-self:start;font-size:.48rem;font-style:normal}.phase-shop .shop-party-status .is-ready{background:#121a10;border-color:#4f673d}.phase-shop .shop-party-status .is-ready em{color:#9dc27e}.phase-victory .ending-panel,.phase-party-wipe .ending-panel{justify-content:flex-start;min-height:610px;padding:34px 54px}.phase-victory .postcard-art,.phase-party-wipe .postcard-art{margin:0 0 18px}.phase-victory .postcard-art span,.phase-party-wipe .postcard-art span{font-size:4.35rem}.phase-victory .ending-panel h3,.phase-party-wipe .ending-panel h3{max-width:560px;font-size:2.35rem}.phase-victory .ending-actions,.phase-party-wipe .ending-actions{margin-top:auto}}:is(.role-button,.enemy-summary,.html-card,.vote-button,.shop-offer){border:2px solid var(--pw-card-rim);box-shadow:0 4px 0 #050604, inset 0 0 0 2px var(--pw-card-gutter), inset 0 0 0 3px #674e2ab8;border-radius:4px}:is(.role-button,.enemy-summary,.html-card,.vote-button,.shop-offer):after{content:"";z-index:4;pointer-events:none;border:1px solid var(--pw-card-keyline);border-radius:1px;position:absolute;inset:4px;box-shadow:inset 0 0 0 1px #00000085}:is(.role-portrait,.enemy-portrait,.card-art,.vote-art,.shop-offer-art){outline-offset:-4px;outline:1px solid #dcb05c57}:is(.role-button,.html-card,.vote-button,.shop-offer).is-selected,.combat-table .html-card.is-selected{border-color:#efc65f;box-shadow:0 5px #664515,inset 0 0 0 2px #100c06,inset 0 0 0 4px #efc65f61}:is(.role-button,.html-card,.vote-button,.shop-offer).is-selected:after,.combat-table .html-card.is-selected:after{border-color:#ffe08f9e}:is(.role-button,.html-card,.vote-button,.shop-offer):disabled{border-color:#534834;box-shadow:0 3px #050604,inset 0 0 0 2px #090a08,inset 0 0 0 3px #5247326b}@media (width<=560px){:is(.role-button,.enemy-summary,.html-card,.vote-button,.shop-offer){box-shadow:0 3px 0 #050604, inset 0 0 0 2px var(--pw-card-gutter), inset 0 0 0 3px #674e2ab8}}:root{--pw-frame-rim:#70532f;--pw-frame-keyline:#e2be7033;--pw-frame-shadow:#050604;--pw-recess:#0a0b09}.top-bar.session-bar,.lobby-layout,.control-panel.play-controls,.event-drawer,.entry-panel,.entry-side{border-color:var(--pw-frame-rim);box-shadow:inset 0 0 0 3px var(--pw-recess), inset 0 0 0 4px var(--pw-frame-keyline), 0 5px 0 #00000080}.top-bar.session-bar{background:linear-gradient(#1f1c15fa,#0b0c0afc),url(/images/background.png) 50% 16%/cover}.session-room,.session-tools{z-index:1;position:relative}.session-title{color:#e0bf6d;text-shadow:0 2px 1px #000}.session-phase strong{text-shadow:0 2px 1px #000}.control-panel.play-controls:not(.combat-table),.lobby-layout{background:linear-gradient(#0f100de8,#080908f7),url(/images/background.png) 50% 42%/cover no-repeat}.panel-heading{border-bottom-color:#654b2d;box-shadow:0 1px #000000bf}.panel-heading h2,.roster-heading h2,.section-title{color:#ead29a;text-shadow:0 2px 1px #000}:is(.role-button,.enemy-summary,.html-card,.vote-button,.shop-offer):before{content:"";z-index:5;pointer-events:none;opacity:.55;background:linear-gradient(#d1a657,#d1a657) 0 0/8px 1px no-repeat,linear-gradient(#d1a657,#d1a657) 0 0/1px 8px no-repeat,linear-gradient(#d1a657,#d1a657) 100% 0/8px 1px no-repeat,linear-gradient(#d1a657,#d1a657) 100% 0/1px 8px no-repeat,linear-gradient(#d1a657,#d1a657) 0 100%/8px 1px no-repeat,linear-gradient(#d1a657,#d1a657) 0 100%/1px 8px no-repeat,linear-gradient(#d1a657,#d1a657) 100% 100%/8px 1px no-repeat,linear-gradient(#d1a657,#d1a657) 100% 100%/1px 8px no-repeat;position:absolute;inset:2px}:is(.role-button,.enemy-summary,.html-card,.vote-button,.shop-offer):disabled:before{opacity:.2}:is(.role-button,.html-card,.vote-button,.shop-offer).is-selected:before{opacity:.95}.role-button,.vote-button,.shop-offer{background-clip:padding-box}.role-button{box-shadow:0 7px 0 #050604, 0 10px 14px #0000006b, inset 0 0 0 2px var(--pw-card-gutter), inset 0 0 0 3px #674e2ab8}.role-portrait,.enemy-portrait,.card-art,.vote-art,.shop-offer-art{box-shadow:inset 0 0 0 4px #06070694,inset 0 0 0 5px #c6974942,inset 0 -18px 24px #00000047}.role-name,.card-name,.vote-label,.enemy-topline strong{text-shadow:0 1px 1px #000}.deck-card,.vital-card,.vote-party-status>span,.shop-party-status>span,.shop-gold>span,.decision-progress,.plan-summary>span,.combat-action-dock .plan-party>div,.ending-stats>span,.run-details,.invite-context{background:linear-gradient(145deg,#1b1913fa,#0c0d0bfa);border:1px solid #5f492d;border-radius:1px;box-shadow:inset 0 0 0 2px #050605ad,inset 0 0 0 3px #c6974917,0 3px #0006}.deck-card{min-height:48px;padding:7px 8px;position:relative}.deck-card-mult{color:#efcc72;background:#0b0c0a;border:1px solid #866538;border-radius:50%}.decision-progress{background:linear-gradient(90deg,#211f17,#171813);border-color:#695332}.vote-party-status>.is-complete,.shop-party-status>.is-ready{box-shadow:inset 0 0 0 2px #060805b3,inset 0 0 0 3px #7ea65b1f,0 3px #0006}.shop-offer .card-statline{color:#dcb95d;font-weight:800}.shop-offer .card-statline span:first-child{color:#edc75f}.story-omen{border:2px solid #75452f;box-shadow:inset 0 0 0 3px #0a0908,inset 0 0 0 4px #d89d5440,0 6px #050604}.brand-lockup .brand-tagline{color:#e9c568;font:700 1.02rem/1.3 var(--pw-display);letter-spacing:.025em;margin:-4px auto 4px}.brand-lockup .brand-pitch{color:#c6b28d;max-width:36ch;font:400 .75rem/1.45 var(--pw-body);margin:0 auto 14px}.table-rules{box-shadow:inset 0 0 0 3px #050605b8,inset 0 0 0 4px #ca994721,0 5px #00000073}.table-rules li{border-top:1px solid #8964316b;padding-top:9px;position:relative}.ending-panel{border:2px solid #765832;box-shadow:inset 0 0 0 5px #080907,inset 0 0 0 6px #e3b96642,0 7px #050604}.ending-stats{gap:7px}.ending-stats>span{min-width:112px;padding:8px 10px}.ending-stats strong{color:#e8c66f;font-size:1.25rem}.run-details{padding:8px 10px}.event-drawer>summary{letter-spacing:.025em;border-bottom:1px solid #0000}.event-drawer[open]>summary{border-bottom-color:#5b452b}@media (width>=921px){.phase-story-vote .control-panel,.phase-finale-vote .control-panel{padding:12px 14px 14px}.phase-story-vote .vote-options,.phase-finale-vote .vote-options{align-items:stretch}.phase-story-vote .vote-button,.phase-finale-vote .vote-button{min-height:244px}.phase-shop .shop-offer{box-shadow:0 4px 0 #050604, inset 0 0 0 2px var(--pw-card-gutter), inset 0 0 0 3px #674e2ab8;border-width:2px}.phase-victory .ending-panel,.phase-party-wipe .ending-panel{background-position:50%,50%,50%}}@media (width<=820px){.entry-panel,.entry-side{box-shadow:inset 0 0 0 3px var(--pw-recess), inset 0 0 0 4px var(--pw-frame-keyline)}}@media (width<=560px){.brand-lockup .brand-tagline{font-size:.92rem}.brand-lockup .brand-pitch{font-size:.72rem}.phase-lobby .role-grid{padding-bottom:100px}.role-button{box-shadow:0 4px 0 #050604, inset 0 0 0 2px var(--pw-card-gutter), inset 0 0 0 3px #674e2ab8}.ending-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ending-stats>span{min-width:0;padding:7px}.ending-stats strong{font-size:1rem}}
