:root{color:#f8f6ed;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--gold:#e8bd63;--gold-bright:#f6d88e;--felt:#123b35;--felt-dark:#0a2826;--ink:#17201f;--muted:#9eb5ae;--line:#e7dab529;background:#071a19;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#071a19;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}#root{min-height:100vh}.game-shell{color:#f8f6ed;background:radial-gradient(circle at 50% 35%,#357a6857,#0000 42%),linear-gradient(145deg,#0b2523 0%,#061615 75%);min-height:100vh;overflow:hidden}.game-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#051413d1;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;padding:14px clamp(18px,4vw,64px);display:grid;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:42px;height:48px;color:var(--gold-bright);background:linear-gradient(135deg,#0000 42%,#e8bd6338 43% 57%,#0000 58%),#183d37;border:1px solid #e8bd63a6;border-radius:7px;place-items:center;font-family:Georgia,serif;font-size:24px;display:grid;box-shadow:inset 0 0 0 3px #0c2926}.brand h1{color:#fffdf6;letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:600}.brand p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:2px 0 0;font-size:11px}.round-counter{color:#c7d5d0;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}.text-button{border:1px solid var(--line);color:#d8e3df;cursor:pointer;background:#ffffff0a;border-radius:7px;justify-self:end;padding:9px 14px;transition:border-color .16s,background .16s}.text-button:hover{background:#e8bd6314;border-color:#e8bd638c}.game-table{grid-template-rows:132px minmax(245px,1fr) auto minmax(175px,auto);width:min(1180px,100% - 32px);min-height:calc(100vh - 124px);margin:0 auto;display:grid;position:relative}.game-table:before{content:"";pointer-events:none;border:1px solid #e8bd6324;border-radius:48%/12%;position:absolute;inset:16px 0 18px}.opponent-zone,.player-zone{z-index:2;position:relative}.opponent-zone{flex-direction:column;align-items:center;gap:12px;padding-top:22px;display:flex}.player-label{color:#eef5f2;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-height:31px;padding:5px 9px;font-size:13px;display:flex}.player-label.seat-attacker{background:#a4392b29;border-color:#dc68566b}.player-label.seat-defender{background:#31916229;border-color:#63cd9966}.player-label.seat-contributor{background:#cc77232b;border-color:#eba54873}.seat-role-icon{flex:none;place-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:grid}.player-label>span:nth-child(2){align-items:baseline;gap:8px;display:flex}.player-label strong{font-size:14px}.player-label small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700}.turn-dot{background:#49635d;border-radius:50%;width:8px;height:8px}.turn-dot.active{background:var(--gold);box-shadow:0 0 0 4px #e8bd631f, 0 0 14px var(--gold)}.opponent-hand{justify-content:center;min-width:160px;height:72px;display:flex;position:relative}.opponent-card{width:26px}.opponent-card .playing-card{transform:translate(-19px);box-shadow:-2px 3px 8px #00000047}.opponent-card:first-child .playing-card{transform:none}.card-count{background:var(--gold);color:#17322e;z-index:2;border-radius:50%;place-items:center;min-width:28px;height:28px;margin:25px 0 0 -8px;font-size:11px;font-weight:800;display:grid}.table-center{z-index:3;grid-template-columns:145px minmax(0,1fr) 110px;align-items:center;padding:8px 32px;display:grid;position:relative}.deck-area{align-items:center;min-height:120px;display:flex;position:relative}.trump-card{transform-origin:50%;position:absolute;left:23px;transform:rotate(90deg)}.deck-stack{z-index:2;position:relative}.deck-stack:before,.deck-stack:after{content:"";background:#173b36;border:1px solid #ffffff73;border-radius:6px;width:64px;height:92px;position:absolute}.deck-stack:before{z-index:-1;inset:4px auto auto 4px}.deck-stack:after{z-index:-2;inset:7px auto auto 7px}.deck-count{border:2px solid var(--felt-dark);background:var(--gold);color:#17322e;border-radius:14px;place-items:center;min-width:28px;height:28px;padding:0 6px;font-size:11px;font-weight:900;display:grid;position:absolute;bottom:-9px;right:-11px}.empty-deck{color:#78918a;text-align:center;text-transform:uppercase;border:1px dashed #ffffff2b;border-radius:7px;width:74px;padding:14px 8px;font-size:10px}.battlefield{place-items:center;min-height:190px;padding:18px;display:grid;position:relative}.battlefield.table-drop-ready{outline-offset:-7px;background:#e8bd630f;border-radius:18px;outline:2px dashed #e8bd63b3}.battlefield.table-drop-ready:after{content:"Hier ablegen";color:var(--gold-bright);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;position:absolute;bottom:12px}.empty-table{color:#d3e3dd47;text-align:center}.empty-table span{font-family:Georgia,serif;font-size:42px}.empty-table p{letter-spacing:.1em;text-transform:uppercase;margin:7px 0 0;font-size:11px;font-weight:700}.card-pairs{flex-wrap:wrap;justify-content:center;gap:28px 34px;width:100%;display:flex}.card-pair{width:86px;height:112px;position:relative}.attack-card-slot{border-radius:6px;width:64px;height:92px;transition:opacity .14s,transform .14s;position:relative}.attack-card-slot.can-drop>.playing-card{box-shadow:0 0 0 2px #e8bd6357}.attack-card-slot.cannot-drop{opacity:.52}.attack-card-slot.drop-hover{transform:scale(1.06)}.attack-card-slot.drop-hover>.playing-card{box-shadow:0 0 0 4px var(--gold-bright), 0 14px 28px #00000047}.drop-indicator{z-index:4;background:var(--gold-bright);color:#17322e;pointer-events:none;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;font-weight:900;display:grid;position:absolute;top:-15px;right:-15px}.attack-card-slot.cannot-drop .drop-indicator{color:#fff5f1;background:#934d42}.defense-card{filter:drop-shadow(-4px 5px 6px #0000003d);position:absolute;top:23px;left:27px;transform:rotate(7deg)}.table-card-arriving>.playing-card{visibility:hidden}.trump-info{color:#cfddd8;letter-spacing:.14em;text-transform:uppercase;background:#041211b3;border:1px solid #e8bd6366;border-radius:13px;flex-direction:column;justify-self:end;align-items:center;min-width:86px;padding:10px 8px;font-size:10px;font-weight:700;display:flex}.trump-info strong{color:var(--gold-bright);text-shadow:0 0 20px #e8bd634d;margin-top:1px;font-family:Georgia,serif;font-size:49px;line-height:.95}.trump-info small{color:#f4dfac;margin-top:5px;font-size:9px}.trump-info.trump-hearts strong,.trump-info.trump-diamonds strong{color:#f07b72}.status-panel{border:1px solid var(--line);z-index:5;background:#051816b8;border-radius:10px;grid-template-columns:38px 1fr auto;justify-self:center;align-items:center;gap:11px;width:min(540px,100% - 32px);min-height:62px;margin:2px 0 8px;padding:10px 14px;display:grid;position:relative;box-shadow:0 12px 30px #00000024}.turn-overview{z-index:5;color:#718a83;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;justify-self:center;align-items:center;gap:7px;margin:2px 0 -2px;font-size:9px;font-weight:800;display:flex;position:relative}.turn-overview span{border-radius:10px;padding:4px 7px}.turn-overview span.active{color:#19322e;background:var(--gold);box-shadow:0 0 16px #e8bd633d}.turn-overview i{color:#e8bd6359;font-style:normal}.status-icon{border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.status-icon.accent{color:var(--gold-bright);background:#e8bd631f}.status-icon.danger{color:#ffb7a2;background:#d154342b}.status-icon.waiting{color:#b9d4cd;background:#90bcb11f}.status-panel strong{color:#fffdf6;font-size:13px;display:block}.status-panel p{color:var(--muted);margin:3px 0 0;font-size:11px}.round-progress{color:#718a83;flex-direction:column;align-items:center;min-width:42px;font-size:11px;font-weight:700;display:flex}.round-progress span{letter-spacing:.1em;text-transform:uppercase;font-size:8px}.round-progress strong{color:#c7d5d0;font-size:12px}.move-toast{z-index:15;color:#f8edcf;background:#051816eb;border:1px solid #e8bd6359;border-radius:18px;padding:7px 11px;font-size:10px;font-weight:700;animation:.6s both move-toast-in;position:absolute;top:190px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000004d}.move-toast span{color:var(--gold);margin-right:5px}.opponent-card-flight{--flight-start-x:50vw;--flight-start-y:120px;--flight-distance-x:0px;--flight-distance-y:200px;--flight-target-rotation:0deg;--flight-delay:0s;left:var(--flight-start-x);top:var(--flight-start-y);z-index:25;pointer-events:none;opacity:0;animation:opponent-card-throw .65s cubic-bezier(.2, .76, .25, 1) var(--flight-delay) both;position:fixed}@keyframes opponent-card-throw{0%{opacity:0;transform:translate(-50%,-50%)rotate(-12deg)scale(.76)}14%,to{opacity:1}to{transform:translate(calc(-50% + var(--flight-distance-x)), calc(-50% + var(--flight-distance-y))) rotate(var(--flight-target-rotation)) scale(1)}}@keyframes move-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}20%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,3px)}}.player-zone{flex-direction:column;align-items:center;min-height:180px;padding:10px 0 18px;display:flex}.player-hand{justify-content:center;max-width:calc(100% - 170px);min-height:132px;margin-top:10px;display:flex}.hand-card{width:72px;transition:width .18s}.hand-card:last-child{width:86px}.hand-card:not(.trump-hand-card)+.hand-card.trump-hand-card{margin-left:18px}.hand-card[draggable=true]{cursor:grab;touch-action:none}.hand-card[draggable=true]:active{cursor:grabbing}.hand-card.dragging{opacity:.42}.touch-drag-preview{z-index:50;pointer-events:none;filter:drop-shadow(0 18px 24px #0000006b);position:fixed;transform:translate(-50%,-56%)rotate(5deg)scale(.92)}.playing-card{color:#18201f;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#fffefa,#eee9dc);border:1px solid #d7d2c5;border-radius:8px;width:86px;height:124px;padding:0;display:block;position:relative;box-shadow:0 7px 16px #0000003d}button.playing-card{appearance:none}.playing-card.compact{border-radius:6px;width:64px;height:92px}.playing-card.red{color:#b32d35}.playing-card.playable{border-color:var(--gold-bright);cursor:pointer;transition:transform .15s,box-shadow .15s;transform:translateY(-8px);box-shadow:0 0 0 2px #e8bd6357,0 9px 20px #00000057}.playing-card.playable:hover{transform:translateY(-18px);box-shadow:0 0 0 3px #f6d88e75,0 16px 26px #00000059}.card-corner{flex-direction:column;align-items:center;font-family:Georgia,serif;font-size:16px;line-height:.95;display:flex;position:absolute}.card-corner strong{font-size:14px}.card-corner-top{top:7px;left:7px}.card-corner-bottom{bottom:7px;right:7px;transform:rotate(180deg)}.card-suit{place-items:center;font-family:Georgia,serif;font-size:37px;display:grid;position:absolute;inset:0}.compact .card-corner{font-size:12px}.compact .card-corner strong{font-size:11px}.compact .card-corner-top{top:5px;left:5px}.compact .card-corner-bottom{bottom:5px;right:5px}.compact .card-suit{font-size:28px}.card-back{background:repeating-linear-gradient(45deg,#0000 0 5px,#e8bd6324 5px 7px),repeating-linear-gradient(-45deg,#0000 0 5px,#e8bd631a 5px 7px),#153e38;border-color:#b69a5f;box-shadow:inset 0 0 0 4px #0d2926,inset 0 0 0 5px #e8bd6394,0 7px 16px #0000003d}.card-back-mark{color:var(--gold-bright);border:1px solid #e8bd638c;place-items:center;font-family:Georgia,serif;font-size:25px;display:grid;position:absolute;inset:13px}.compact .card-back-mark{font-size:20px;inset:9px}.game-actions{justify-content:center;gap:9px;min-height:39px;margin-top:4px;display:flex}.action-button{cursor:pointer;border-radius:7px;min-height:39px;padding:9px 18px;font-size:12px;font-weight:800;transition:transform .15s,filter .15s}.action-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.action-button.primary{color:#19322e;background:linear-gradient(#f1cc78,#d7a84d);border:1px solid #f0cf83;box-shadow:0 7px 16px #0003}.action-button.secondary{color:#f2f6f4;background:#ffffff12;border:1px solid #fff3}.game-footer{border-top:1px solid var(--line);color:#78908a;letter-spacing:.05em;text-align:center;background:#051413ad;min-height:46px;padding:13px 20px;font-size:10px}.result-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020c0bc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-card{text-align:center;background:linear-gradient(145deg,#173e38,#0b2926);border:1px solid #e8bd6373;border-radius:18px;width:min(390px,100%);padding:36px;box-shadow:0 30px 80px #00000080}.result-symbol{color:var(--gold-bright);font-size:58px;display:block}.result-card p{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:16px 0 5px;font-size:10px;font-weight:800}.result-card h2{margin:0;font-family:Georgia,serif;font-size:30px}.result-card>span:not(.result-symbol){color:var(--muted);margin:10px 0 24px;font-size:13px;display:block}@media (width<=760px){.game-header{grid-template-columns:1fr auto;min-height:66px;padding:10px 14px}.brand-mark{width:35px;height:40px;font-size:19px}.brand h1{font-size:21px}.brand p,.round-counter{display:none}.text-button{padding:7px 10px;font-size:12px}.game-table{grid-template-rows:111px minmax(220px,1fr) auto minmax(166px,auto);width:100%;min-height:calc(100vh - 108px)}.game-table:before{inset-inline:8px}.opponent-zone{gap:8px;padding-top:14px}.table-center{grid-template-columns:78px minmax(0,1fr) 46px;padding:2px 9px}.deck-area{transform-origin:0;transform:scale(.8)}.trump-info strong{font-size:28px}.trump-info span{display:none}.battlefield{min-height:176px;padding:8px}.card-pairs{gap:17px 19px}.card-pair{width:68px;height:104px}.status-panel{margin-bottom:2px}.status-panel p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.turn-overview{letter-spacing:0;gap:3px}.turn-overview span{padding-inline:5px}.move-toast{white-space:nowrap;max-width:calc(100% - 24px);top:151px}.player-zone{min-height:166px;padding-bottom:10px}.player-hand{max-width:calc(100% - 30px);min-height:116px}.hand-card{width:clamp(39px,10.5vw,59px)}.hand-card:last-child{width:76px}.player-hand .playing-card{width:76px;height:110px}.game-actions{margin-top:2px}.game-footer{min-height:42px;padding-block:12px}}@media (prefers-reduced-motion:reduce){.opponent-card-flight,.move-toast,.opponent-seat.thinking .opponent-seat-cards{animation-duration:1ms}.playing-card,.hand-card,.action-button{transition-duration:1ms}}@media (height<=720px) and (width>=761px){.game-table{grid-template-rows:105px minmax(210px,1fr) auto 166px}.opponent-zone{gap:5px;padding-top:12px}.table-center{padding-block:0}.player-hand{min-height:118px}.player-hand .playing-card{transform-origin:top;transform:scale(.9)}.player-hand .playing-card.playable{transform:translateY(-5px)scale(.9)}}.setup-shell{background:radial-gradient(circle at 50% 15%,#39847057,#0000 38%),linear-gradient(145deg,#0b2523,#051513 78%);place-items:center;width:100%;height:100dvh;min-height:0;padding:16px 20px;display:grid;position:relative;overflow:hidden}.setup-shell:before,.setup-shell:after{content:"";border:1px solid #e8bd630f;border-radius:24px;width:310px;height:430px;position:absolute;transform:rotate(24deg)}.setup-shell:before{top:-130px;left:-170px}.setup-shell:after{bottom:-150px;right:-170px}.setup-glow{border:1px solid #e8bd630d;border-radius:50%;width:520px;height:520px;position:absolute}.setup-panel{z-index:2;width:min(680px,100%);position:relative}.setup-header{text-align:center;margin-bottom:16px}.setup-brand-mark{margin:0 auto 9px;display:grid}.setup-header p{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}.setup-header h1{letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,6vw,54px);font-weight:500;line-height:1}.setup-header>span:last-child{color:var(--muted);margin-top:7px;font-size:13px;display:block}.setup-section{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#08201dc2;border-radius:14px;margin-bottom:9px;padding:16px;box-shadow:0 22px 50px #0000002e}.setup-section-heading,.setup-section-heading>div{align-items:center;display:flex}.setup-section-heading{justify-content:space-between;gap:16px;margin-bottom:11px}.setup-section-heading>div{gap:13px}.step-number{width:34px;height:34px;color:var(--gold);border:1px solid #e8bd6359;border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-size:12px;display:grid}.setup-section h2{color:#fffdf6;margin:0;font-family:Georgia,serif;font-size:19px;font-weight:500}.setup-section-heading p{color:var(--muted);margin:3px 0 0;font-size:11px}.deck-options{grid-template-columns:1fr 1fr;gap:11px;display:grid}.deck-option{color:#e9f0ed;text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:50px 1fr 24px;align-items:center;gap:12px;min-height:74px;padding:9px 12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.deck-option:hover{border-color:#e8bd6359;transform:translateY(-1px)}.deck-option.selected{background:#e8bd6314;border-color:#e8bd63b3;box-shadow:inset 0 0 24px #e8bd6309}.deck-option>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.deck-option>span:nth-child(2)>strong{font-size:13px}.deck-option small{color:var(--muted);font-size:10px}.mini-deck{width:43px;height:55px;position:relative}.mini-deck i,.mini-deck:before{content:"";background:#123a34;border:1px solid #e8bd638c;border-radius:4px;width:34px;height:47px;position:absolute}.mini-deck i:first-child{top:4px;left:7px;transform:rotate(8deg)}.mini-deck i:nth-child(2){top:2px;left:3px;transform:rotate(-5deg)}.mini-deck:before{top:3px;left:4px}.mini-deck strong{z-index:2;color:var(--gold-bright);place-items:center;font-family:Georgia,serif;font-size:16px;display:grid;position:absolute;inset:0}.selection-mark{color:#15332e;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;display:grid}.selected .selection-mark{border-color:var(--gold);background:var(--gold)}.seat-counter{color:var(--gold-bright);white-space:nowrap;background:#e8bd631a;border-radius:12px;padding:5px 9px;font-size:10px;font-weight:800}.player-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.setup-player{background:#ffffff06;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:50px;padding:7px 9px;display:grid}.setup-player.human-player{border-color:#e8bd633d}.player-avatar{width:34px;height:34px;color:var(--gold-bright);background:#153a35;border:1px solid #e8bd6340;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:13px;display:grid}.human-avatar{color:#17322e;background:var(--gold);font-family:inherit;font-size:9px;font-weight:900}.setup-player>div{flex-direction:column;gap:2px;display:flex}.setup-player strong{color:#f5f8f6;font-size:12px}.setup-player>div span{color:var(--muted);font-size:9px}.player-type{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.remove-player{color:#a9bab5;cursor:pointer;background:#ffffff0a;border:0;border-radius:5px;width:27px;height:27px;padding:0;font-size:18px}.remove-player:hover:not(:disabled){color:#ffc1b1;background:#bc472b24}.remove-player:disabled{opacity:.25;cursor:not-allowed}.add-player{width:100%;min-height:36px;color:var(--gold-bright);cursor:pointer;background:#e8bd6309;border:1px dashed #e8bd634d;border-radius:8px;margin-top:7px;font-size:11px;font-weight:700}.add-player span{vertical-align:-1px;margin-right:7px;font-size:17px}.add-player:hover:not(:disabled){background:#e8bd6314;border-color:#e8bd63a6}.add-player:disabled{color:#718a83;cursor:not-allowed}.start-game{color:#17322e;text-align:left;cursor:pointer;background:linear-gradient(115deg,#f0ca77,#d9a84b);border:1px solid #f2d18a;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:1fr auto;width:100%;min-height:56px;padding:10px 18px 10px 22px;transition:transform .16s,filter .16s;display:grid;box-shadow:0 15px 35px #00000040}.start-game:hover{filter:brightness(1.06);transform:translateY(-2px)}.start-game>span:first-child{font-family:Georgia,serif;font-size:17px;font-weight:700}.start-game small{letter-spacing:.1em;opacity:.72;text-transform:uppercase;grid-column:1;font-size:9px;font-weight:800}.start-game>span:last-child{grid-area:1/2/3;align-self:center;font-size:24px}.header-actions{justify-self:end;gap:7px;display:flex}.multiplayer-table{grid-template-rows:176px minmax(230px,1fr) auto minmax(175px,auto)}.opponents-zone{z-index:4;justify-content:space-evenly;align-items:start;gap:12px;padding:34px 70px 0;display:flex;position:relative}.opponent-seat{flex-direction:column;align-items:center;gap:7px;width:110px;transition:opacity .18s;display:flex}.opponent-seat:first-child,.opponent-seat:last-child{transform:translateY(22px)}.opponent-seat.finished{opacity:.5}.opponent-seat.thinking .opponent-seat-cards{filter:drop-shadow(0 0 12px #e8bd636b);animation:1.15s ease-in-out infinite bot-thinking}@keyframes bot-thinking{50%{transform:translateY(-4px)}}.opponent-seat-cards{width:64px;height:80px;position:relative}.opponent-seat-cards .playing-card{transform-origin:top;transform:scale(.78)}.opponent-count{border:2px solid var(--felt-dark);color:#17322e;background:var(--gold);border-radius:12px;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:10px;font-weight:900;display:grid;position:absolute;bottom:1px;right:-3px}.finished-mark{width:48px;height:48px;color:var(--gold);border:1px solid #e8bd634d;border-radius:50%;place-items:center;margin:12px auto 0;font-size:18px;display:grid}.opponent-seat .player-label{text-align:center;flex-direction:column;gap:4px;min-width:82px}.opponent-seat .player-label>span:nth-child(2){flex-direction:column;gap:1px}.opponent-seat-cards .seat-role-icon{z-index:2;border:2px solid var(--felt-dark);background:#173b36;border-radius:50%;width:24px;height:24px;font-size:12px;position:absolute;bottom:1px;left:-3px}.opponent-seat-cards .seat-role-icon.seat-attacker{background:#743c35}.opponent-seat-cards .seat-role-icon.seat-defender{background:#276a4b}.opponent-seat-cards .seat-role-icon.seat-contributor{background:#805522}.opponent-seat .player-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.empty-hand{color:#6f8a82;letter-spacing:.12em;text-transform:uppercase;border:1px dashed #e8bd6333;border-radius:10px;place-items:center;min-width:120px;height:80px;font-size:10px;font-weight:800;display:grid}.result-actions{justify-content:center;gap:8px;display:flex}.rules-section{gap:14px;display:grid}.rules-section .setup-section-heading{margin-bottom:0}.rule-fieldset{border:0;min-width:0;margin:0;padding:0}.rule-fieldset legend{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:800}.rule-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rule-option{color:#edf4f1;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:3px;min-height:55px;padding:8px;display:flex}.rule-option.selected{background:#e8bd631a;border-color:#e8bd63b8}.rule-option small,.toggle-rule small{color:var(--muted);font-size:9px}.toggle-rule{cursor:pointer;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:1fr auto;align-items:center;min-height:55px;padding:9px 12px;display:grid}.toggle-rule>span{flex-direction:column;gap:3px;font-size:12px;display:flex}.toggle-rule input{opacity:0;position:absolute}.toggle-rule i{background:#38534d;border-radius:11px;width:38px;height:22px;transition:background .16s;position:relative}.toggle-rule i:after{content:"";background:#d9e2df;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px}.toggle-rule input:checked+i{background:var(--gold)}.toggle-rule input:checked+i:after{background:#17322e;transform:translate(16px)}@media (width<=760px){.setup-shell{align-items:center;padding:8px}.setup-header{margin-bottom:8px}.setup-section{margin-bottom:6px;padding:9px}.deck-options,.player-list{grid-template-columns:1fr 1fr;gap:5px}.setup-section-heading{margin-bottom:7px}.setup-section-heading p,.deck-option small,.setup-player>div span,.player-type,.rule-option small,.toggle-rule small{display:none}.deck-option{grid-template-columns:1fr 20px;gap:5px;min-height:48px;padding:6px 8px}.mini-deck{display:none}.setup-player{grid-template-columns:28px minmax(0,1fr) auto;gap:5px;min-width:0;min-height:44px;padding:5px}.setup-player strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-avatar{width:28px;height:28px}.remove-player{width:24px;height:24px}.add-player{min-height:32px;margin-top:5px}.rule-option{min-height:44px}.toggle-rule{min-height:42px}.start-game{min-height:50px}.header-actions{gap:4px}.header-actions .text-button{padding-inline:8px;font-size:10px}.multiplayer-table{grid-template-rows:145px minmax(215px,1fr) auto minmax(166px,auto)}.opponents-zone{gap:1px;padding:22px 4px 0}.opponent-seat{gap:1px;width:min(68px,19vw)}.opponent-seat:first-child,.opponent-seat:last-child{transform:translateY(13px)}.opponent-seat-cards{width:52px;height:70px}.opponent-seat-cards .playing-card{transform-origin:0 0;transform:scale(.66)}.opponent-count{bottom:0;right:-1px}.opponent-seat .player-label strong{max-width:62px;font-size:10px}.opponent-seat .player-label small{text-overflow:ellipsis;white-space:nowrap;max-width:65px;font-size:7px;overflow:hidden}.opponent-seat .turn-dot{display:none}.finished-mark{width:38px;height:38px;margin-top:8px}}@media (width<=760px) and (height<=700px){.setup-header .setup-brand-mark,.setup-header p,.setup-header>span:last-child{display:none}.setup-header{margin-bottom:5px}.setup-header h1{font-size:30px}.setup-section{margin-bottom:4px;padding:7px}.setup-section-heading{margin-bottom:5px}.step-number{width:26px;height:26px}.setup-section h2{font-size:15px}.deck-option{min-height:42px}.setup-player{min-height:38px;padding-block:3px}.player-avatar{width:26px;height:26px}.add-player{min-height:30px;margin-top:4px}.rules-section{gap:6px}.rule-fieldset legend{margin-bottom:4px}.rule-option,.toggle-rule{min-height:38px;padding-block:4px}.start-game{min-height:46px;padding-block:5px}}@media (width>=761px) and (height<=850px){.setup-shell{padding-block:10px}.setup-header .setup-brand-mark,.setup-header>span:last-child{display:none}.setup-header{margin-bottom:7px}.setup-header h1{font-size:40px}.setup-section{margin-bottom:5px;padding:10px}.setup-section-heading{margin-bottom:6px}.deck-option{min-height:58px}.setup-player{min-height:44px}.add-player{min-height:32px;margin-top:5px}.rules-section{gap:8px}.rule-option{min-height:46px}.toggle-rule{min-height:42px}.start-game{min-height:48px}}@media (width>=761px) and (height<=650px){.setup-panel{grid-template-columns:1fr 1fr;gap:5px 8px;display:grid}.setup-header,.rules-section,.start-game{grid-column:1/-1}.setup-header,.setup-section{margin-bottom:0}.setup-header p,.setup-section-heading p,.deck-option small,.rule-option small,.toggle-rule small{display:none}.setup-header h1{font-size:30px}.deck-option{grid-template-columns:42px 1fr 20px;min-height:46px}.mini-deck{transform-origin:0;transform:scale(.76)}.setup-player{min-height:38px;padding-block:3px}.rule-option,.toggle-rule{min-height:36px}}@media (width<=760px) and (height<=520px){.setup-header{display:none}}
