:root{font-family:'Bitter',sans-serif;color:#f5ecd9;background:#102c29;font-size:16px;--gold:#e9ba68;--muted:#b5c4b8;--felt:#163f38;--line:#ffffff24;--ink:#102c29}*{box-sizing:border-box}body{margin:0}button,a,input,select{touch-action:manipulation}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#ffffff09;color:inherit;padding:.65rem 1rem;border-radius:6px;font-weight:600;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#ffffff19}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--gold);border-color:var(--gold);color:#282619}.primary:hover:not(:disabled){background:#f8ce8b}.outline{border-color:#b5c4b866}.subtle{color:var(--muted);font-size:.875rem}.eyebrow,.edition,.seat-label{font-size:.75rem;letter-spacing:.16em;font-weight:700}.eyebrow{color:var(--gold)}header{min-height:92px;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:12px;color:#f5ecd9;text-decoration:none;font:700 1.55rem 'Patua One',Georgia,serif;letter-spacing:.04em}.brand b{color:var(--gold)}.brand small{display:block;font:500 .65rem 'Bitter',sans-serif;letter-spacing:.29em;margin-top:4px}.brand-mark{font-size:2.6rem;color:var(--gold)}nav{display:flex;gap:12px;align-items:center}.edition{color:var(--muted);margin-right:12px}.welcome{min-height:calc(100vh - 93px);background:radial-gradient(ellipse at 50% 35%,#205648,var(--ink) 75%);text-align:center;padding:40px 24px}.welcome h1{font:700 clamp(3.5rem,7vw,6rem)/.92 'Patua One',Georgia,serif;text-transform:uppercase;margin:18px 0;color:#f4e6c9;letter-spacing:-.02em}.welcome p{line-height:1.6}.welcome-cards{display:flex;justify-content:center;height:260px;margin:28px 0}.welcome-cards img{height:240px;border-radius:10px;box-shadow:0 15px 25px #0007;clip-path:inset(3.333333% 4.545455% round 10px)}.welcome-cards img:first-child{transform:rotate(-13deg) translate(30px,10px)}.welcome-cards img:nth-child(2){z-index:1;transform:translateY(-6px)}.welcome-cards img:last-child{transform:rotate(13deg) translate(-30px,10px)}.welcome .primary{min-width:230px}.primary span{float:right;margin-left:18px}dialog{background:#173c35;color:#f5ecd9;border:1px solid #76907e;border-radius:12px;width:min(720px,94vw);max-height:90vh;padding:32px;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#071b19cc;backdrop-filter:blur(5px)}dialog h2{font:700 2.4rem 'Patua One',serif;margin:0 40px 16px 0}dialog h3{color:var(--gold)}dialog p,dialog li{line-height:1.6}.close{position:absolute;right:14px;top:12px;padding:3px 12px;font-size:1.5rem}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:calc(100vh - 93px)}.table{padding:22px 28px 0;background:radial-gradient(ellipse at 50% 45%,#205449,#123b33 65%,#102e2a);min-width:0}.table-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}.table-top h1{font:600 1.65rem 'Patua One',sans-serif;margin:0}.seed{color:var(--muted);font-size:.8rem}.opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.seat{border:1px solid var(--line);border-radius:10px;background:#092b2640;padding:14px;min-width:0}.seat.active{border-color:var(--gold);box-shadow:0 0 0 1px #e9ba6822}.seat.out{opacity:.5}.seat-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.avatar{width:33px;height:33px;display:grid;place-items:center;background:#d5c09a;color:#223e35;border-radius:50%;font:700 1.15rem 'Patua One',sans-serif}.seat-name{font-weight:700}.seat-label{font-size:.625rem;letter-spacing:.12em;color:var(--muted);margin-top:4px}.hand-count{margin-left:auto;font-size:.8rem;color:var(--muted)}.characters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.character-wrap{position:relative;max-width:115px;flex:1 1 74px;min-width:70px}.card-art{width:100%;aspect-ratio:2.5/3.5;overflow:hidden;border-radius:6px;background:#c6ab7e;box-shadow:0 4px 8px #0004}.card-art img{width:110%;height:107.142857%;max-width:none;object-fit:fill;transform:translate(-4.545455%,-3.333333%);display:block}.character-button{display:block;border:0;padding:0;width:100%;background:none!important;border-radius:6px}.character-name{font-size:.75rem;line-height:1.4;text-align:center;margin:6px 0}.equipment{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:5px}.equipment span{font-size:.7rem;background:#09251f;border:1px solid #ffffff35;padding:3px 5px;border-radius:4px}.equipment .armed{color:#ffb59e}.center-table{min-height:154px;display:flex;align-items:center;justify-content:center;gap:24px;padding:22px 0}.pile{width:65px;text-align:center}.pile-card{height:87px;border-radius:5px;border:3px solid #b8a073;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#214a40,#214a40 4px,#1b3d35 4px,#1b3d35 8px);font:700 2rem 'Patua One',serif;color:#d9bc80;box-shadow:3px 3px #0b2723,4px 4px #bea372}.pile .subtle{margin:8px 0 0;font-size:.75rem}.discard-art{height:87px;aspect-ratio:2.5/3.5;margin:auto}.table-message{max-width:370px;text-align:center}.table-message h2{font:600 1.75rem 'Patua One',serif;margin:7px 0}.table-message p{font-size:.875rem;color:var(--muted);line-height:1.5;margin:7px 0}.human-seat{border-top:1px solid var(--line);padding:15px 0}.human-seat .characters{justify-content:flex-start}.human-seat .character-wrap{max-width:95px}.human-board{display:flex;align-items:flex-start;gap:22px}.human-board .seat-head{min-width:115px}.human-board .characters{flex:1}.action-bar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:18px 0 12px}.action-bar h2{font-size:1rem;margin:0}.hand{display:flex;gap:9px;overflow-x:auto;align-items:stretch;padding:6px 3px 18px;min-height:205px;scrollbar-color:#6a8b73 #13392f}.hand-card{flex:0 0 105px;padding:0;border:0;background:transparent!important;text-align:left;position:relative;transition:transform .15s}.hand-card:hover{transform:translateY(-5px)}.hand-card.selected .card-art{outline:3px solid var(--gold);outline-offset:2px}.hand-card .card-caption{display:block;font-size:.72rem;line-height:1.35;margin-top:7px;color:#e8e0c9}.hand-card .card-tag{display:block;font-size:.625rem;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.09em}.sidebar{background:#102d29;padding:22px 20px;display:flex;flex-direction:column;border-left:1px solid var(--line);min-width:0}.sidebar h2{font:600 1.4rem 'Patua One',sans-serif;margin:0 0 16px}.sidebar .selection{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px;min-height:220px}.selection p{font-size:.875rem;line-height:1.6;color:var(--muted)}.selection h3{font:600 1.7rem 'Patua One',serif;margin:9px 0}.action-list{display:grid;gap:7px;margin-top:14px}.action-list button{font-size:.82rem;text-align:left;padding:9px 11px}.action-list .primary{font-size:.9rem}.log{list-style:none;padding:0;margin:0;overflow-y:auto;max-height:350px;flex:1}.log li{font-size:.8rem;line-height:1.55;padding:10px 0;border-bottom:1px solid #ffffff10;color:#bdcec0}.log li:first-child{color:#f3e4c8}.log .log-turn{font-size:.65rem;color:#8ca897;display:block;text-transform:uppercase;letter-spacing:.08em}.log-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.log-tools button{font-size:.75rem;padding:7px 10px}.reaction{border:1px solid var(--gold);background:#e9ba6810;border-radius:8px;padding:12px;margin-bottom:12px}.reaction strong{color:var(--gold)}.reaction p{margin:5px 0;font-size:.85rem}.field{display:grid;gap:7px;margin:16px 0}.field input,.field select{background:#0d2a25;color:#f6eddb;border:1px solid #789782;border-radius:5px;padding:10px}.dialog-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.inspect{display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:start}.inspect .card-art{box-shadow:none}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.rules-grid h3{font-size:1rem;margin-bottom:4px}.rules-grid p{font-size:.875rem;margin-top:0}.outcome{padding:14px 20px;border:1px solid var(--gold);border-radius:8px;background:#e9ba6810;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.outcome h2{margin:0;font:700 1.9rem 'Patua One',serif}.outcome p{margin:5px 0;color:var(--muted);font-size:.875rem}.empty{color:var(--muted);font-size:.85rem;padding:20px 0}.running{color:var(--gold)}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.table{padding-left:5vw;padding-right:5vw}.character-wrap{max-width:125px}.human-seat .character-wrap{max-width:110px}.hand-card{flex-basis:125px}.center-table{min-height:190px}}
@media(max-width:1050px){.game-layout{grid-template-columns:minmax(0,1fr) 250px}.table{padding:18px 16px 0}.opponents{gap:9px}.seat{padding:10px}.seat-head{gap:6px}.avatar{display:none}.seat-name{font-size:.875rem}.edition{display:none}.center-table{gap:14px}.table-message h2{font-size:1.5rem}}
@media(max-width:760px){header{padding:12px 16px;min-height:75px}.brand{font-size:1.2rem}.brand-mark{font-size:2rem}.brand small{font-size:.55rem}nav{gap:6px}nav button{font-size:.75rem;padding:8px}.game-layout{display:flex;flex-direction:column}.sidebar{border-left:0;border-top:1px solid var(--line);padding:20px}.sidebar .selection{min-height:0}.table{padding:16px 12px 0}.opponents{gap:7px}.seat{padding:9px 6px}.seat-head{flex-wrap:wrap;gap:3px}.seat-label{font-size:.55rem;letter-spacing:.04em}.hand-count{font-size:.7rem}.character-name{font-size:.65rem}.characters{gap:6px}.character-wrap{min-width:55px}.center-table{min-height:150px;gap:12px}.pile{width:48px;flex-shrink:0}.pile-card,.discard-art{height:67px}.table-message h2{font-size:1.4rem}.table-message p{font-size:.75rem}.human-board{gap:10px}.human-board .seat-head{min-width:75px}.human-seat .character-wrap{max-width:82px}.hand-card{flex-basis:95px}.hand{min-height:180px}.welcome-cards{height:225px}.welcome-cards img{height:205px}.rules-grid{grid-template-columns:1fr}.inspect{grid-template-columns:130px 1fr;gap:16px}dialog{padding:25px 20px}.outcome{align-items:flex-start}.table-top{margin-bottom:14px}.seed{font-size:.7rem}}
.log-tools select{background:#173c35;color:#e8e0c9;border:1px solid var(--line);border-radius:5px;font-size:.75rem;padding:7px}.seed{overflow-wrap:anywhere}.selection>button+button{margin-left:6px}
@media(min-width:761px){.human-seat{display:grid;grid-template-columns:160px minmax(0,1fr);column-gap:22px;align-items:start}.human-board{grid-column:1;grid-row:1/span 4;display:block}.human-board .characters{gap:8px}.human-seat .character-wrap{max-width:74px;min-width:60px}.human-seat .action-bar,.human-seat .hand,.human-seat .reaction{grid-column:2}.human-seat .action-bar{margin-top:0}.hand{min-height:190px}.sidebar{max-height:calc(100vh - 93px);position:sticky;top:0}.log{max-height:none;min-height:120px}.sidebar .selection{min-height:180px;overflow-y:auto;max-height:55vh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Cards, not counters: a surface for dragging, tucking, drawing and discarding. */
.tactile-layout .table{padding-top:16px}.tactile-layout .table-top{margin-bottom:15px}.tactile-layout .seat{padding:12px}.tactile-layout .characters{align-items:flex-start;gap:16px}.tactile-character{max-width:105px;min-width:65px;flex:1 1 80px}.character-stack{position:relative;padding-top:var(--tuck);isolation:isolate}.character-stack .face-card{position:relative;z-index:10;box-shadow:0 5px 10px #0005}.equipment-card{position:absolute;top:var(--offset);left:0;width:100%;padding:0;border:0;transform:rotate(var(--tilt));background:transparent;box-shadow:0 2px 5px #0006;z-index:1;border-radius:6px}.equipment-card:focus-visible,.equipment-card:hover{z-index:20;transform:translateY(-10px) rotate(0deg)}.equipment-card .card-art{border:1px solid #ecdcab}.tactile-character .character-name{margin:7px 0 0}.face-card.drop-ready{outline-offset:4px}.mini-hand{position:relative;display:flex;align-items:center;margin-left:auto;width:42px;height:33px}.mini-hand i{position:absolute;left:0;width:19px;height:27px;background:#204e41;border:1px solid #bca776;border-radius:3px;transform:rotate(-12deg)}.mini-hand i:nth-child(2){left:7px;transform:rotate(0deg)}.mini-hand i:nth-child(3){left:14px;transform:rotate(12deg)}.mini-hand span{position:relative;margin-left:24px;margin-top:17px;background:#09261f;color:#ead7ad;border-radius:50%;padding:1px 5px;font-size:.7rem;z-index:1}.card-back{height:100%;width:100%;border:3px solid #baaa7d;border-radius:7px;background:repeating-linear-gradient(45deg,#214a40,#214a40 5px,#1a3b32 5px,#1a3b32 10px);color:#ebcc90;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 5px #173e34}.card-back>span{font-size:2.3rem;line-height:1}.card-back small{font:700 .6rem 'Patua One',sans-serif;letter-spacing:.15em;margin-top:8px}.deck-button,.discard-button{padding:0;width:84px;height:118px;border:0;border-radius:7px;background:none;display:block}.deck-button{box-shadow:3px 3px #bca77c,5px 5px #173c32,7px 7px #bca77c;touch-action:none;user-select:none}.deck-button:disabled{opacity:1;cursor:default}.deck-button.draw-ready{cursor:grab;outline:2px solid var(--gold);outline-offset:8px;animation:deck-glow 2s ease-in-out infinite}.deck-button.draw-ready:hover{transform:translateY(-4px)}.discard-button{transform:rotate(4deg);border:1px dashed #d4bb814f}.discard-button>div,.discard-button .card-art{height:100%;width:100%}.discard-button:hover{transform:rotate(0deg)}.empty-pile{font-size:.65rem;letter-spacing:.16em;color:#d3c39980}.empty-pile b{font-size:2rem;line-height:1.8}.tactile-center{min-height:200px;gap:36px;padding:15px 0}.tactile-center .pile{width:84px;flex-shrink:0}.tactile-center .table-message{width:330px}.tactile-center .table-message h2{font-size:1.35rem;margin:0 0 4px}.tactile-center .table-message p{margin:0 0 9px;min-height:18px}.pending-slot{min-height:98px;position:relative;border-radius:10px;display:flex;justify-content:center;align-items:center}.pending-face{width:65px!important;transform:rotate(-6deg);animation:place-card .2s ease-out}.pending-face .card-art{height:91px}.table-emblem{font-size:4rem;color:#e9d19e19}.settle-track{position:absolute;bottom:-9px;left:calc(50% - 45px);width:90px;height:3px;background:#ffffff12;border-radius:3px;overflow:hidden}.settle-progress{height:100%;background:var(--gold);transform-origin:left}.tactile-layout .human-board{border:1px dashed #ffffff25;border-radius:9px;padding:10px;min-height:140px}.tactile-layout .human-board .seat-label{font-size:.55rem;letter-spacing:.08em}.tactile-layout .human-board .avatar{display:none}.tactile-layout .hand{min-height:178px;padding-top:10px;align-items:flex-start}.tactile-layout .hand-card{touch-action:none;user-select:none;cursor:grab;flex-basis:105px}.tactile-layout .hand-card img{pointer-events:none}.tactile-layout .hand-card .card-caption{font-size:.7rem}.tactile-layout .hand-card.selected{transform:translateY(-7px)}.tactile-layout .hand-card.selected .card-art{outline:2px solid var(--gold)}.hand-card.dragging{opacity:.22!important}.drop-ready{outline:2px dashed var(--gold)!important;outline-offset:5px;background-color:#e9ba680a!important}.drop-hover{outline-style:solid!important;background-color:#e9ba6825!important;box-shadow:0 0 24px #e9ba6833}.drop-hint{color:var(--gold)!important}.drag-ghost,.flying-card{position:fixed;z-index:10000;pointer-events:none;filter:drop-shadow(0 12px 10px #0008);width:96px;height:134px;transform:rotate(-5deg)}.drag-ghost .card-art,.flying-card .card-art{height:100%;width:100%}.is-dragging,.is-dragging *{cursor:grabbing!important;user-select:none}.selection h3{font:600 1.6rem 'Patua One',sans-serif;margin:10px 0}.selection p{font-size:.85rem;line-height:1.55}.tactile-layout .sidebar .selection{min-height:150px}.hand:focus-visible,.seat:focus-visible,.human-board:focus-visible,.pending-slot:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@keyframes deck-glow{50%{outline-color:#e9ba6840}}@keyframes place-card{from{transform:translateY(-12px) rotate(2deg);opacity:.3}to{transform:translateY(0) rotate(-6deg);opacity:1}}
@media(min-width:761px){.tactile-layout .human-seat{grid-template-columns:180px minmax(0,1fr);column-gap:20px}.tactile-layout .human-seat .character-wrap{max-width:72px;min-width:56px}.tactile-layout .human-board .characters{gap:8px}.tactile-layout .human-seat .action-bar{margin-bottom:6px}.tactile-layout .human-board .seat-head{margin-bottom:9px}}
@media(max-width:760px){.tactile-layout .table{padding:12px 10px}.tactile-layout .seat{padding:9px 6px}.tactile-layout .seat-label{font-size:.55rem}.tactile-layout .characters{gap:10px}.tactile-character{min-width:55px;max-width:87px}.tactile-center{gap:18px;min-height:198px}.tactile-center .pile{width:60px}.deck-button,.discard-button{width:60px;height:84px}.card-back>span{font-size:1.6rem}.card-back small{font-size:.5rem;letter-spacing:.08em}.tactile-center .table-message{width:auto;flex:1;min-width:0}.tactile-center .table-message h2{font-size:1.1rem}.tactile-center .table-message p{font-size:.75rem}.pending-slot{min-height:82px}.pending-face{width:55px!important}.pending-face .card-art{height:77px}.mini-hand{width:28px;transform:scale(.8);transform-origin:right}.tactile-layout .human-board{display:block;padding:10px;min-height:0}.tactile-layout .human-board .characters{justify-content:flex-start}.tactile-layout .human-board .seat-head{margin-bottom:10px}.tactile-layout .human-seat .character-wrap{max-width:67px}.tactile-layout .human-seat .hand-card{flex-basis:93px}.tactile-layout .action-bar{margin-top:15px}.tactile-layout .sidebar .selection{min-height:0}.tactile-layout .table-top h1{font-size:1.4rem}.seed{max-width:55%;text-align:right}.tactile-layout .seat-head{min-height:33px}}
@media(prefers-reduced-motion:reduce){.deck-button.draw-ready,.pending-face{animation:none!important}.drag-ghost{transform:none}}
.threat-banner{position:sticky;top:8px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:16px 20px;border:2px solid #ff9b79;border-radius:10px;background:#482b25;box-shadow:0 5px 24px #0005;color:#fff0df}.threat-banner strong{font:800 1.4rem 'Patua One',sans-serif;letter-spacing:.07em;color:#ffb798}.threat-banner p{margin:5px 0;font-size:.95rem}.threat-banner small{font-size:.75rem;color:#f1c9b8}.threat-clock{min-width:80px;text-align:center}.threat-clock span{display:block;font:700 2.5rem/1 'Patua One',sans-serif;color:#ffc397}.threat-clock small{display:block;margin-top:5px;letter-spacing:.08em;font-size:.6rem}.under-threat .face-card{outline:3px solid #ff9470;outline-offset:4px;box-shadow:0 0 24px #ff825650!important}.target-label{display:block;color:#ffc397;font-size:.7rem;letter-spacing:.12em;margin:6px 0 3px}.tactile-layout .human-board.posse-threat{border:2px solid #ff9b79;background:#ff85550a}.danger-play .table-message h2{color:#ffb798}.danger-play .settle-track{height:6px;width:140px;left:calc(50% - 70px)}.danger-play .settle-progress{background:#ff9b79}.danger-play .pending-face{outline:2px solid #ff9b79;outline-offset:4px;border-radius:7px}
@media(max-width:760px){.threat-banner{padding:12px;top:4px;gap:10px}.threat-banner strong{font-size:1.15rem}.threat-banner p{font-size:.85rem}.threat-clock{min-width:52px}.threat-clock span{font-size:2rem}.threat-banner small{font-size:.7rem}}
/* Keep the table primary; details appear only when requested. */
.game-layout.tactile-layout{display:block;min-height:calc(100vh - 72px)}
header{min-height:72px;padding:12px 28px}.brand-mark{font-size:2rem}
.tactile-layout .table{max-width:1200px;margin:auto;padding:20px 28px 0}
.tactile-layout .sidebar{position:static;max-height:none;border:0;border-top:1px solid var(--line);padding:12px 28px;max-width:1200px;margin:auto;display:flex;flex-flow:row wrap;align-items:flex-start;gap:16px;background:transparent}
.tactile-layout .sidebar .selection{flex-basis:100%;min-height:0;max-height:none;overflow:visible;margin:0;padding:0 0 12px}.selection h3{margin:0}.selection p{margin:6px 0}.selection .eyebrow{display:none}
.history{flex:1;min-width:160px}.history summary{cursor:pointer;font-size:.8rem;color:var(--muted);padding:8px 0}.history .log{max-height:220px;min-height:0}.history>button{font-size:.75rem;margin-top:10px}.log-tools{margin:0}
.seat-label:empty{display:none}.tactile-layout .human-board{border:0;padding:8px 0}.tactile-layout .human-board.posse-threat{padding:8px}
.tactile-center .table-message p:empty{display:none}.pending-slot:empty{min-height:0}.tactile-center{min-height:165px}.threat-banner{padding:12px 16px}.threat-banner p{margin-bottom:0}
@media(max-width:760px){header{padding:12px;gap:10px}.brand{font-size:1.15rem;gap:6px}nav{gap:6px}nav button{font-size:.75rem;padding:8px}.tactile-layout .table{padding:12px 10px 0}.tactile-layout .sidebar{padding:10px}.threat-clock span{font-size:2rem}}

/* Greenhead Games frame */
body{background:#0e3b34}
header{background:#f7fafc;color:#173d70;border-bottom:1px solid #dce5ef;box-shadow:0 2px 14px #183d7010}
.brand{color:#173d70;font-family:'Patua One','Bitter',sans-serif;font-weight:900;line-height:.95;letter-spacing:-.015em}
.brand b{color:#285ba6}.brand small{color:#4f6b8c;font-family:'Bitter',sans-serif;font-weight:700;letter-spacing:.2em;margin:0 0 5px}
.studio-mark{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
header nav button{color:#285ba6;background:#e1f0fc;border-color:#c7dceb;border-radius:999px}
header nav button:hover:not(:disabled){background:#d2e6f5}
header nav .outline{background:transparent;border-color:#a9c4da}
@media(max-width:520px){.studio-mark{width:34px;height:34px}.brand small{display:none}}

/* Softer studio UI around the felt table. */
:root{--brand-blue:#285ba6;--brand-ink:#183d70;--brand-muted:#4f6b8c;--brand-sky:#e1f0fc;--brand-line:#dce5ef}
button{border-radius:999px}
.primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;box-shadow:0 4px 12px #102f5d2a}
.primary:hover:not(:disabled){background:#1e4f8f}
.outline{border-color:#b7d0e2}
.welcome{background:radial-gradient(ellipse at 50% 35%,#205648,var(--ink) 75%)}
.welcome h1{font-family:'Patua One','Bitter',sans-serif;font-weight:900;text-transform:none;letter-spacing:-.045em}
.welcome .primary{padding:.8rem 1.25rem}
.table-top h1,.table-message h2,.selection h3,.sidebar h2,.outcome h2{font-family:'Patua One','Bitter',sans-serif;font-weight:800;letter-spacing:-.025em}
.seat{border-color:#ffffff2b;border-radius:18px;background:#f5fbf60d;box-shadow:0 10px 24px #061e1a18}
.seat.active{border-color:#a9cce7;box-shadow:0 0 0 2px #a9cce726,0 10px 24px #061e1a20}
.avatar{background:#dceaf4;color:var(--brand-ink)}
.tactile-layout .human-board{border-radius:16px}
.tactile-layout .human-board.posse-threat{border-radius:16px}
.pile-card,.card-back{border-color:#b9cddd}
.deck-button{box-shadow:3px 3px #b9cddd,5px 5px #173c32,7px 7px #b9cddd}
.card-back small{font-family:'Bitter',sans-serif}
.tactile-layout .sidebar{border-top-color:#ffffff2b;padding-top:18px;padding-bottom:22px}
.tactile-layout .sidebar .selection{border:1px solid #ffffff25;border-radius:18px;padding:14px 16px;background:#f5fbf609}
.selection p{color:#c5d3ca}
.action-list button,.log-tools button,.history>button,.log-tools select{border-radius:999px}
.action-list button{background:#ffffff0d;border-color:#ffffff2c}
.action-list .primary{background:var(--brand-blue);border-color:var(--brand-blue)}
.log-tools select{background:#173c35;border-color:#ffffff35;padding-left:11px;padding-right:11px}
.history summary{font-weight:600}
dialog{background:#f7fafc;color:var(--brand-ink);border-color:#c6d8e6;border-radius:22px;box-shadow:0 25px 90px #0d2d4e66}
dialog::backdrop{background:#0b252dcc;backdrop-filter:blur(5px)}
dialog h2,dialog h3{font-family:'Patua One','Bitter',sans-serif;color:var(--brand-ink)}
dialog p,dialog li{color:#405f7d}
dialog button:not(.primary){color:var(--brand-blue);background:var(--brand-sky);border-color:#c6dceb}
dialog .field input,dialog .field select{background:#fff;color:var(--brand-ink);border-color:#acc7dc;border-radius:12px}
.threat-banner{border-radius:18px}
.threat-banner strong,.threat-clock span{font-family:'Patua One','Bitter',sans-serif}
.threat-clock button{margin-top:8px;padding:5px 13px;border:0;background:#ffb798;color:#3b231d;font-size:.75rem;box-shadow:none}
.threat-clock button:hover:not(:disabled){background:#ffd0bd}
@media(max-width:760px){.tactile-layout .sidebar .selection{padding:12px}.welcome h1{letter-spacing:-.035em}}
.game-layout.tactile-layout{background:#0e3b34;color:#f5ecd9}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.deck-picker{display:flex;justify-content:center;gap:5px;border:1px solid #ffffff38;border-radius:999px;padding:5px;width:max-content;min-width:0;max-width:100%;margin:22px auto 30px;background:#08292366}
.deck-picker label{cursor:pointer}.deck-picker input{position:absolute;opacity:0;width:1px;height:1px}.deck-picker span{display:block;padding:10px 25px;border-radius:99px;color:#d8e5dc;font-size:16px;font-weight:700}.deck-picker input:checked+span{background:#f2e4c7;color:#123b35}.deck-picker input:focus-visible+span{outline:3px solid #89b9ec;outline-offset:3px}
.chests{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.chests:empty{display:none}.chest{width:74px;position:relative;text-align:center;font-size:12px}.chest .face-card{width:100%}.chest>span{display:block;margin-top:5px}.chest .card-art{width:100%;aspect-ratio:2.5/3.5}
.choice-panel{grid-column:1/-1;padding:16px;margin-bottom:12px;background:#ffffff0b;border:1px solid #e6dcb94d;border-radius:14px}.choice-panel h2{font-size:18px;margin:0 0 12px}.choice-options{display:flex;flex-wrap:wrap;gap:8px}.choice-options button{white-space:normal;text-align:left;min-height:44px}.choice-options .choice-card{width:112px;padding:0;background:none;border:0}.choice-card .card-art{width:100%;aspect-ratio:2.5/3.5}.choice-card>span{display:block;font-size:12px;text-align:center;padding-top:6px}
#parrot-copy[aria-pressed="true"]{background:#e9d8ae;color:#133b32}.equipment-card[data-gear-card]{touch-action:none}
@media(min-width:761px){.choice-panel{grid-column:2}}
.choice-options button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){.welcome-cards{height:clamp(175px,58vw,225px)}.welcome-cards img{height:clamp(140px,45vw,205px)}}
@media(max-width:760px){.deck-picker span{padding:10px 21px}.welcome h1{font-size:clamp(32px,8vw,58px)}.choice-panel{padding:12px}.choice-options{max-height:270px;overflow:auto}.choice-options .choice-card{width:94px}.chest{width:62px}}
@media(max-width:360px){.deck-picker span{padding:10px 13px;font-size:14px}}
.choice-panel.hand-choice{padding:10px 14px;margin-bottom:6px}.hand-choice h2{margin:0;font-size:16px}

.card-details{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:28px;align-items:start;position:relative}
.card-details>.card-art{width:100%;box-shadow:0 8px 24px #0004}
.card-details-copy{padding:12px 38px 0 0;min-width:0;max-width:620px}
.card-details-copy h3{font-size:1.75rem;line-height:1.15}
.card-details-copy p{font-size:1rem;line-height:1.6;margin:14px 0}
.card-details-close{position:absolute;top:0;right:0;width:34px;height:34px;padding:0;font-size:1.5rem;line-height:1}
.card-details-copy .primary{margin-top:6px}
.outcome[role="status"]{padding:22px 24px;border-width:2px;border-radius:18px;margin-bottom:20px}
.outcome[role="status"] h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
.outcome-win{background:#234b39;border-color:#bed9a6;color:#edf7e4}
.outcome-loss{background:#482b25;border-color:#e7a38d;color:#fff0e8}
.outcome-draw{background:#273e49;border-color:#a9cce7;color:#edf6ff}
@media(max-width:520px){.deck-picker{width:100%;gap:2px}.deck-picker label{flex:1}.deck-picker span{padding:10px 9px;font-size:14px;white-space:nowrap}.outcome[role="status"]{padding:16px}.outcome button{padding:10px 14px}}
@media(max-width:760px){.card-details{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:16px}.card-details-copy{padding:40px 0 0}.card-details-copy h3{font-size:1.2rem}.card-details-copy p{font-size:.875rem;line-height:1.5;margin:10px 0}.card-details-copy button{font-size:.875rem;padding:8px 12px}}

/* Keep the sound control reachable on narrow screens. */
@media(max-width:480px){header{flex-wrap:wrap}header nav{margin-left:auto;flex-wrap:wrap}}

/* Characters and chests share a row; the hand sits below. */
.tactile-layout .human-seat{display:flex;flex-direction:column;gap:0;--player-card:120px}
.tactile-layout .human-board{display:block;width:100%;min-width:0}
.tactile-layout .human-board .seat-head{margin-bottom:12px}
.tactile-layout .characters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:12px 8px 16px;align-items:flex-end}
.tactile-layout .seat .character-wrap,.tactile-layout .seat .chest{flex:0 0 85px;min-width:85px;max-width:85px}
.tactile-layout .human-seat .character-wrap,.tactile-layout .human-seat .chest{flex:0 0 var(--player-card);width:var(--player-card);min-width:var(--player-card);max-width:var(--player-card)}
.tactile-layout .human-board .characters{gap:20px}
.tactile-layout .chest{margin:0}
.tactile-layout .human-seat>.action-bar,.tactile-layout .human-seat>.choice-panel{width:100%}
.tactile-layout .human-seat>.action-bar{margin:12px 0 0}
.tactile-layout .human-seat .hand{width:100%;gap:0;padding:40px 24px 32px;min-height:245px;align-items:flex-start;isolation:isolate}
.tactile-layout .human-seat .hand-card{flex:0 0 var(--player-card);width:var(--player-card);transform-origin:50% 100%;transform:translateY(var(--fan-rise)) rotate(var(--fan-angle));z-index:var(--fan-order);transition:transform .18s ease,filter .18s ease}
.tactile-layout .human-seat .hand-card+.hand-card{margin-left:-32px}
.tactile-layout .human-seat .hand-card .card-caption{opacity:0;white-space:nowrap;text-align:center;transition:opacity .15s}
.tactile-layout .human-seat .hand-card.selected,.tactile-layout .human-seat .hand-card:focus-visible{transform:translateY(-22px) rotate(0deg);z-index:50;filter:drop-shadow(0 10px 10px #0005)}
.tactile-layout .human-seat .hand-card.selected .card-caption,.tactile-layout .human-seat .hand-card:focus-visible .card-caption{opacity:1}
@media(hover:hover){.tactile-layout .human-seat .hand-card:hover{transform:translateY(-22px) rotate(0deg);z-index:60;filter:drop-shadow(0 10px 10px #0005)}.tactile-layout .human-seat .hand-card:hover .card-caption{opacity:1}}
@media(max-width:760px){.tactile-layout .seat .character-wrap,.tactile-layout .seat .chest{flex-basis:68px;min-width:68px;max-width:68px}.tactile-layout .human-seat .hand{padding-left:18px;padding-right:18px}.tactile-layout .human-seat .hand-card+.hand-card{margin-left:-40px}}
@media(prefers-reduced-motion:reduce){.tactile-layout .human-seat .hand-card{transition:none}}

/* Auto margins center short rows without clipping overflowing cards. */
.tactile-layout .human-board .characters>:first-child,.tactile-layout .human-seat .hand-card:first-child{margin-left:auto}
.tactile-layout .human-board .characters>:last-child,.tactile-layout .human-seat .hand-card:last-child{margin-right:auto}

/* Fine raised grain, blended into the felt rather than over the cards. */
.game-layout.tactile-layout{background-image:url('assets/felt-grain.svg');background-size:180px 180px;background-blend-mode:soft-light}
.tactile-layout .table{background-image:url('assets/felt-grain.svg'),radial-gradient(ellipse at 50% 45%,#205449,#123b33 65%,#102e2a);background-size:180px 180px,100% 100%;background-blend-mode:soft-light,normal}
.welcome{background-image:url('assets/felt-grain.svg'),radial-gradient(ellipse at 50% 35%,#205648,var(--ink) 75%);background-size:180px 180px,100% 100%;background-blend-mode:soft-light,normal}


/* Small, low-contrast suit marks in the felt. */
.game-layout.tactile-layout,.tactile-layout .table,.welcome{position:relative;isolation:isolate}
.game-layout.tactile-layout::before,.tactile-layout .table::before,.welcome::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/felt-suits.svg') repeat 50% 0 / 176px 176px;opacity:.055}
