@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #070605;--waiting-bg: rgba(7, 6, 5, .5);--surface: rgba(20, 15, 12, .9);--surface-hi: rgba(28, 21, 17, .95);--surface2: rgba(35, 27, 21, .96);--border: rgba(115, 84, 58, .38);--border-light: rgba(160, 118, 78, .42);--border-muted: rgba(255, 240, 220, .05);--border-soft: rgba(111, 163, 93, .18);--accent: #c27a2c;--accent-bright: #dfb06a;--accent-dim: #8a5621;--accent-soft: rgba(194, 122, 44, .1);--moon: #a63f2d;--moon-bright: #cf5a42;--moon-soft: rgba(166, 63, 45, .14);--rune: #6fa35d;--rune-bright: #9ad087;--rune-glow: rgba(111, 163, 93, .26);--danger: #c85b45;--danger-light: #e18470;--life-green: #7dbd69;--text: #d8d0c4;--text-dim: #938678;--text-bright: #f0e9df;--text-label: #786b5e;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .34);--shadow-md: 0 10px 28px rgba(0, 0, 0, .42);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .56);--font-display: "Cinzel", serif;--font-body: "Crimson Pro", serif;--card-w-lg: 150px;--card-h-lg: 210px;--table-pod-w: 2400px;--table-pod-h: 1350px;--table-duel-w: 1900px;--table-duel-h: 1425px}html,body{height:100%}html{background:linear-gradient(180deg,#0706056b,#0706054d),url(/images/bg-3.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}body{font-family:var(--font-body);color:var(--text);overflow:hidden;user-select:none;font-size:14px;line-height:1.4;letter-spacing:-.01em;background:transparent}::-webkit-scrollbar-corner{background:transparent}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;will-change:background-position}body:before{background-image:radial-gradient(ellipse 22% 18% at 28% 30%,rgba(245,245,250,.5),transparent 70%),radial-gradient(ellipse 24% 20% at 62% 44%,rgba(250,245,240,.48),transparent 70%),radial-gradient(ellipse 20% 16% at 36% 68%,rgba(250,245,240,.46),transparent 70%),radial-gradient(ellipse 22% 18% at 70% 72%,rgba(245,245,250,.48),transparent 70%);background-size:70vw 60vh;background-repeat:repeat;animation:bg-mist-drift-a 60s linear infinite}body:after{background-image:radial-gradient(ellipse 20% 16% at 32% 34%,rgba(250,248,245,.36),transparent 72%),radial-gradient(ellipse 22% 18% at 66% 28%,rgba(245,245,250,.36),transparent 72%),radial-gradient(ellipse 20% 16% at 40% 70%,rgba(250,245,240,.34),transparent 72%),radial-gradient(ellipse 22% 18% at 72% 66%,rgba(245,245,250,.36),transparent 72%);background-size:95vw 80vh;background-repeat:repeat;animation:bg-mist-drift-b 95s linear infinite}@keyframes bg-mist-drift-a{0%{background-position:0 0}to{background-position:-70vw -60vh}}@keyframes bg-mist-drift-b{0%{background-position:0 0}to{background-position:95vw -80vh}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}}button{font-family:var(--font-body);padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,#221a15f5,#120e0bf5);color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;font-size:12px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease,filter .15s ease,opacity .15s ease}button:hover{border-color:var(--border-light);background:linear-gradient(180deg,#2a1f18fa,#16110dfa);color:var(--text-bright)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default;transform:none;filter:grayscale(.2)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0c0a08e6;color:var(--text);box-shadow:inset 0 1px 2px #00000059;font-family:var(--font-body);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input::placeholder,textarea::placeholder{color:var(--text-label)}input:focus,textarea:focus,select:focus{border-color:#c27a2c66;box-shadow:0 0 0 3px #c27a2c14,inset 0 1px 2px #00000059}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}select{cursor:pointer}.lobby{min-height:100vh;padding:32px 24px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}.lobby-bg-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.6;pointer-events:none}.lobby-bg-variant{opacity:0;z-index:0;transition:opacity 1s ease}.lobby-bg-variant.variant-visible{opacity:.4}.lobby>*:not(.lobby-bg-video):not(.lobby-bg-variant):not(.overlay):not(.import-report-overlay){z-index:1}.lobby h1{margin-bottom:6px;color:var(--text-bright);font-family:var(--font-display);font-size:46px;font-weight:700;letter-spacing:-.03em;text-shadow:0 2px 10px rgba(0,0,0,.45)}.subtitle{margin-bottom:32px;color:var(--text-dim);font-size:15px}.lobby-panels{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.lobby-panel{width:360px;padding:24px;position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#1c1511f5,#110d0af5);box-shadow:var(--shadow-md)}.lobby-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at top right,rgba(166,63,45,.08),transparent 26%),radial-gradient(circle at bottom left,rgba(111,163,93,.05),transparent 28%)}.lobby-panel h2{position:relative;z-index:1;margin-bottom:18px;color:var(--text-bright);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.02em}.field{margin-bottom:14px;position:relative;z-index:1}.field label{display:block;margin-bottom:6px;color:var(--text-dim);font-size:12px;font-weight:500}.code-input{color:var(--text-bright);font-family:var(--font-display);font-size:24px;font-weight:700;text-align:center;letter-spacing:8px}.lobby-panel>button{width:100%;margin-top:8px;padding:11px 14px;position:relative;z-index:1;font-size:13px;font-weight:600}.error{margin-bottom:8px;position:relative;z-index:1;color:var(--danger-light);font-size:13px}.waiting-container{display:flex;height:100%}.waiting{width:40rem;height:20rem;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 62%,rgba(111,163,93,.04),transparent 16%),radial-gradient(circle at 68% 10%,rgba(166,63,45,.08),transparent 14%),var(--waiting-bg)}.waiting h2{margin-bottom:10px;color:var(--text-bright);font-family:var(--font-display);letter-spacing:-.02em}.hint{color:var(--text-dim);font-size:14px}.import-report-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#09090bb8}.import-report-dialog{width:min(92vw,680px);max-height:min(80vh,720px);overflow:auto;position:relative;z-index:1001;text-align:left}.import-report-dialog h3{text-align:center}.import-report-section{margin-top:14px;text-align:left}.import-report-section h4{margin-bottom:6px;color:var(--text-bright)}.import-report-section ul{padding-left:18px;color:var(--text-dim);font-size:13px}.import-report-section li{margin-bottom:4px}.primary-btn{border-color:#6fa35d6b;color:var(--rune-bright)}.room-browser{width:100%;max-width:744px;margin-top:24px;padding:20px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#1c1511eb,#110d0aeb);box-shadow:var(--shadow-md);z-index:1;position:relative}.room-browser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.room-browser-header h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.room-browser-refresh{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:16px;line-height:1;padding:2px 7px;cursor:pointer;transition:color .15s,border-color .15s}.room-browser-refresh:hover{color:var(--text);border-color:var(--text-dim)}.room-browser-empty,.room-browser-error{margin:0;font-size:13px;color:var(--text-dim);text-align:center;padding:8px 0}.room-browser-error{color:var(--rune-bright)}.room-browser-list{display:flex;flex-direction:column;gap:6px}.room-browser-name-row{display:flex;margin-bottom:10px}.room-browser-name-input{flex:1;padding:7px 10px;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px}.room-browser-name-input::placeholder{color:var(--text-dim)}.room-browser-row{display:grid;grid-template-columns:52px 1fr auto auto auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#ffffff08;font-size:13px}.room-browser-created{color:var(--text-dim);font-size:12px;white-space:nowrap}.room-browser-watch-btn{padding:4px 12px;font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);background:#ffffff0f;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.room-browser-watch-btn:hover:not(:disabled){background:#ffffff1f;border-color:var(--text-dim)}.room-browser-watch-btn:disabled{opacity:.4;cursor:default}.room-browser-tag{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--rune-bright);background:#a63f2d1f;border:1px solid rgba(166,63,45,.25);border-radius:4px;padding:1px 6px;text-align:center}.room-browser-players{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-browser-phase{color:var(--text-dim);font-size:12px;white-space:nowrap}.htp-trigger{position:fixed;top:16px;right:20px;z-index:10;padding:7px 14px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#140f0cb8;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;backdrop-filter:blur(6px);transition:color .15s,border-color .15s}.htp-trigger:hover{color:var(--accent-bright);border-color:var(--border-light)}.htp-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#09090bc2}.htp-modal{position:relative;width:min(92vw,640px);max-height:min(88vh,720px);overflow-y:auto;padding:28px 28px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#1c1511fa,#110d0afa);box-shadow:var(--shadow-md)}.htp-modal h3{margin-bottom:20px;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-bright);text-align:center}.htp-close{position:absolute;top:14px;right:14px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:13px;cursor:pointer;border-radius:var(--radius);line-height:1}.htp-close:hover{color:var(--text-bright);border-color:var(--border);background:#ffffff0a}.htp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.htp-section{display:flex;flex-direction:column;gap:6px}.htp-section-title{margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.htp-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);flex-wrap:wrap}.htp-row span:last-child{color:var(--text)}.htp-action{color:var(--text-bright)!important;font-weight:500}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:1px 6px;border:1px solid rgba(160,118,78,.4);border-bottom-width:2px;border-radius:4px;background:#281e14e6;color:var(--accent-bright);font-family:monospace;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}@media(max-width:520px){.htp-grid{grid-template-columns:1fr}}.app-shell{display:flex;min-height:100vh}.board-frame{width:min(90vw,1800px);min-height:100vh;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center}.board-frame.pod{width:100vw;max-width:none}.board{position:relative;isolation:isolate;width:100%;height:100vh;overflow:hidden}.board:before,.board:after{content:"";position:absolute;inset:0;pointer-events:none}.board:before{z-index:-2;opacity:.8;filter:saturate(.9) contrast(1.02)}.board:after{z-index:0;background:radial-gradient(circle at 50% 64%,rgba(0,0,0,.24),transparent 48%),linear-gradient(180deg,#00000014,#00000038)}.board-tabletop{--table-w: var(--table-pod-w);--table-h: var(--table-pod-h);--table-pad: 18px;--pod-gap: 18px;--field-card-w: 112px;--field-card-ratio: .82;--field-gap: 9px;--field-pad: 9px;--zone-w: 108px;--zone-gap: 8px;--phase-font: 13px;--phase-pad-y: 8px;--phase-pad-x: 16px;--ui-font-sm: 13px;--ui-font-md: 16px}.board-tabletop.pod{--table-w: var(--table-pod-w);--table-h: var(--table-pod-h);--field-card-w: 95px;--field-card-ratio: 1.38;--field-gap: 9px;--field-pad: 9px;--zone-w: 108px;--pod-gap: 18px;--table-pad: 18px}.board-tabletop.duel{--table-w: var(--table-duel-w);--table-h: var(--table-duel-h);--field-card-w: 128px;--field-card-ratio: .86;--field-gap: 12px;--field-pad: 12px;--zone-w: 124px;--pod-gap: 22px;--table-pad: 22px}.board-tabletop:before{content:"";position:absolute;inset:-18px;z-index:-1;border-radius:28px;pointer-events:none;background:linear-gradient(180deg,rgba(255,240,220,.05),transparent 18%),radial-gradient(circle at 50% 48%,rgba(111,163,93,.045),transparent 46%),linear-gradient(180deg,#18120e9e,#0605044d);box-shadow:0 36px 90px #00000094,inset 0 0 0 1px #fff0dc0f,inset 0 24px 48px #fff0dc06,inset 0 -32px 64px #00000047}.board-scene{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:10px;overflow:visible;transform-style:flat}.pod-top,.pod-bottom{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--pod-gap);padding:var(--table-pad);overflow:visible}.pod-top{align-items:start}.pod-bottom{align-items:end}.pod-top.duel,.pod-bottom.duel{grid-template-columns:minmax(0,.9fr);justify-content:center}.pod-player-area{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:visible}.adjacent-player-area{opacity:.92}.player-bar{min-height:42px;display:flex;align-items:center;gap:14px;padding:8px 18px;flex-shrink:0;border-top:1px solid transparent;border-bottom:1px solid transparent;background:#110d0a9e;box-shadow:var(--shadow-xs);font-size:var(--ui-font-sm)}.opp-bar{border-bottom-color:var(--border)}.my-bar{border-top-color:var(--border)}.player-name{overflow:hidden;color:var(--text-bright);font-family:var(--font-display);font-size:var(--ui-font-md);font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.life-badge{min-width:48px;padding:4px 14px;border:1px solid var(--border);border-radius:999px;background:linear-gradient(180deg,#18120ef2,#0c0a08f2);box-shadow:inset 0 1px #ffffff08,var(--shadow-sm);font-family:var(--font-display);font-size:var(--ui-font-md);font-weight:700;text-align:center}.opp-life{color:#d77c68;border-color:#a63f2d57;box-shadow:inset 0 1px #ffffff08,0 0 12px #a63f2d14}.my-life{color:var(--rune-bright);border-color:#6fa35d57;cursor:pointer;box-shadow:inset 0 1px #ffffff08,0 0 12px #6fa35d14;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}.my-life:hover{color:#c7efb8;border-color:#6fa35d80;box-shadow:inset 0 1px #ffffff08,0 0 16px #6fa35d1f}.battlefield-row{min-height:0;flex:1;width:100%;position:relative;display:flex;gap:var(--field-gap);padding:var(--field-pad);overflow:visible;background:transparent}.opp-battlefield,.my-battlefield,.adjacent-battlefield{width:100%;height:auto;margin:0}.opp-battlefield:before,.my-battlefield:before,.adjacent-battlefield:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.12),transparent 50%),linear-gradient(180deg,#00000014,#00000038)}.empty-seat-card{margin:auto}.phase-strip{position:relative;overflow:visible;display:flex;align-items:center;gap:14px;padding:var(--phase-pad-y) var(--phase-pad-x);border-top:1px solid var(--border-light);border-bottom:1px solid rgba(0,0,0,.45);background:linear-gradient(180deg,#1c1511f5,#110d0af5);box-shadow:inset 0 1px #ffffff08,inset 0 -1px #00000059,var(--shadow-sm)}.phase-left,.phase-right,.phase-pills{min-width:0;position:relative;z-index:1}.spectator-badge{flex:1;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.7;position:absolute;top:0;right:0;left:0;z-index:999}.spectator-actions{display:flex;flex:1;align-items:center;justify-content:center;position:absolute;top:5%;right:0;left:0;z-index:999}.board-tabletop.spectator-rotated-board{transform:rotate(90deg)!important;height:calc(var(--table-w) * 1.1)!important}.phase-left{display:flex;align-items:center;gap:8px;white-space:nowrap}.phase-pills{flex:1;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px}.phase-right{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.active-name{overflow:hidden;color:var(--text-dim);font-size:var(--phase-font);text-overflow:ellipsis}.turn-badge,.pill,.action-btn{font-size:var(--phase-font)}.turn-badge{padding:5px 12px;border-radius:999px;color:#170f0b;background:linear-gradient(180deg,#c27a2cf2,#8a5621f2);box-shadow:var(--shadow-xs);font-family:var(--font-display);font-weight:700}.pill,.action-btn{padding:6px 12px}.pill{border:1px solid rgba(115,84,58,.32);border-radius:999px;background:#0c0a088c;color:var(--text-dim);box-shadow:none;font-weight:500}.pill.active{color:var(--rune-bright);border-color:#6fa35d8c;background:radial-gradient(circle at 50% 50%,#6fa35d2e,#10140ee6 70%);box-shadow:0 0 0 1px #6fa35d1f,0 0 14px #6fa35d29}.pill-next{color:var(--accent-bright);border-color:#c27a2c6b;background:linear-gradient(180deg,#c27a2c47,#5a351859)}.action-btn{border-radius:var(--radius-sm)}.action-btn[title=D],.action-btn[title=U]{border-color:#6fa35d47}.action-btn[title=D]:hover,.action-btn[title=U]:hover{color:var(--rune-bright);box-shadow:0 0 12px #6fa35d1f}.middle-strip{position:relative;overflow:visible}.stack-strip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:25%;min-width:180px;display:flex;align-items:stretch;border:1px solid rgba(111,163,93,.22);border-radius:8px;background:linear-gradient(180deg,#16110cfa,#0d0a07fa);box-shadow:0 4px 24px #0009,0 0 0 1px #00000080;z-index:10;overflow:scroll}.shared-stack{display:flex;align-items:center;gap:12px;padding:10px 14px;flex:1;min-height:96px;transition:background .15s}.shared-stack.zone-drag-over{background:#6fa35d14;outline:1px solid rgba(111,163,93,.3);outline-offset:-1px}.shared-stack-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, rgba(255, 255, 255, .3));white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);padding:4px 0}.shared-stack-pile{display:flex;align-items:center;flex:1;position:relative;height:58px}.shared-stack-card{position:absolute;left:calc(var(--stack-offset) * 44px);top:0;height:58px;transition:transform .1s}.top-of-stack{animation:announce-pulse 1.5s ease-in-out infinite,levitate-low 3.2s ease-in-out infinite}.shared-stack-card:hover{transform:translateY(-6px);z-index:10}.shared-stack-card .card,.shared-stack-card .card-img,.shared-stack-card .card-placeholder,.shared-stack-card .card-back{width:42px;height:58px}.shared-stack-owner{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:8px;font-weight:600;color:#ffffff8c;white-space:nowrap;pointer-events:none}.shared-stack-empty{font-size:10px;color:#ffffff26;letter-spacing:.05em;font-style:italic}.zone,.field-row{position:relative;overflow:visible}.zone{min-width:0;display:flex;flex-direction:column;padding:8px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#201813f0,#110d0abf)!important;box-shadow:var(--shadow-xs);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .14s ease,filter .14s ease}.zone:hover{background:linear-gradient(180deg,#201813f0,#110d0af0)}.zone-drag-over{border-color:var(--rune)!important;box-shadow:inset 0 0 12px var(--rune-glow),0 0 8px var(--rune-glow)}.zone-label{padding:3px 0 7px;color:var(--text-label);font-size:13px;font-weight:500;text-align:center;white-space:nowrap}.zone-cards{flex:1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;overflow-y:auto}.side-zones{width:var(--zone-w);flex-shrink:0;display:flex;flex-direction:column;gap:var(--zone-gap)}.zone-field{flex:1;display:flex;flex-direction:column;gap:8px;padding:0;border:none;border-radius:0;background:transparent!important;box-shadow:none;backdrop-filter:none;overflow:visible}.zone-field .zone-label{display:none}.field-row{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--field-pad);border:1px solid rgba(115,84,58,.18);border-radius:16px;isolation:isolate;background:radial-gradient(circle at 50% 68%,rgba(111,163,93,.04),transparent 30%),linear-gradient(180deg,#120e0b75,#0a08078f);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.field-row:after{content:"";position:absolute;inset:0;opacity:.9;pointer-events:none;background:radial-gradient(circle at 50% 72%,rgba(111,163,93,.08),transparent 14%),radial-gradient(circle at 64% 66%,rgba(111,163,93,.05),transparent 10%)}.field-row:hover{border-color:#6fa35d33;background:radial-gradient(circle at 50% 68%,rgba(111,163,93,.06),transparent 30%),linear-gradient(180deg,#16110d94,#0b09089e);box-shadow:0 0 18px #6fa35d0d}.field-row-label{position:absolute;top:9px;left:12px;z-index:1;color:var(--text-label);font-size:12px;font-weight:500}.field-row-cards{min-height:calc(var(--field-card-w) * .95);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--field-gap);padding:14px 0 8px;position:relative;z-index:1}.field-row-cards .card{width:var(--field-card-w);height:calc(var(--field-card-w) * var(--field-card-ratio))}.field-drop-zone{align-self:stretch;display:flex;align-items:center;padding:0;margin:0;position:relative;z-index:var(--stack-z, 0)}.field-drop-indicator{width:3px;min-height:40px;align-self:stretch;flex-shrink:0;border-radius:999px;background:var(--rune-bright);box-shadow:0 0 6px var(--rune-glow)}.field-card-stack{position:relative;display:inline-flex;z-index:var(--stack-z, 0)}.freeform-field{position:relative;width:100%;flex:1;min-height:180px;border:1px solid rgba(115,84,58,.18);border-radius:16px;isolation:isolate;background:radial-gradient(circle at 50% 68%,rgba(111,163,93,.04),transparent 30%),linear-gradient(180deg,#120e0b75,#0a08078f);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;overflow:visible}.freeform-field.freeform-drag-over{border-color:#6fa35d59;background:radial-gradient(circle at 50% 68%,rgba(111,163,93,.08),transparent 30%),linear-gradient(180deg,#16110d94,#0b09089e);box-shadow:0 0 22px #6fa35d1a}.freeform-card-wrap:hover{z-index:100}.freeform-field .freeform-card-wrap .card{width:var(--field-card-w);height:calc(var(--field-card-w) * var(--field-card-ratio));overflow:visible}.freeform-field .freeform-card-wrap .card:hover .card-lift{transform:translateY(-8px)}.freeform-field .freeform-card-wrap .card.tapped .card-lift{transform:rotate(30deg)}.freeform-field .freeform-card-wrap .card.tapped:hover .card-lift{transform:rotate(30deg) translateY(-3px)}.freeform-field .freeform-card-wrap .card.field-card .card-lift{overflow:visible}.freeform-field.freeform-top,.freeform-field.freeform-top .freeform-card-wrap{transform:rotate(180deg)}.freeform-snap-btn{position:absolute;bottom:6px;right:8px;z-index:200;padding:2px 7px;font-size:10px;font-family:inherit;border-radius:4px;border:1px solid rgba(115,84,58,.35);background:#120e0bb8;color:#c8b4968c;cursor:pointer;letter-spacing:.03em;transition:color .1s,border-color .1s,background .1s}.freeform-snap-btn:hover{color:#c8b496e6;border-color:#73543a99}.freeform-snap-btn.active{color:#6fa35de6;border-color:#6fa35d80;background:#6fa35d14}.freeform-field.freeform-snap-grid{background-image:repeating-linear-gradient(to right,rgba(111,163,93,.12) 0px,rgba(111,163,93,.12) 1px,transparent 1px,transparent 5%),repeating-linear-gradient(to bottom,rgba(111,163,93,.12) 0px,rgba(111,163,93,.12) 1px,transparent 1px,transparent 5%),radial-gradient(circle at 50% 68%,rgba(111,163,93,.08),transparent 30%),linear-gradient(180deg,#16110d94,#0b09089e)}.freeform-field.freeform-top .freeform-snap-btn{transform:rotate(180deg)}.pod-battlefield.has-playmat:has(.freeform-field.freeform-snap-grid):before{opacity:.2}.attached-card{position:absolute;z-index:calc(var(--attach-idx, 1));--stack-step: min(calc(var(--attach-idx, 1) + 1), 3);transform:translate(calc(var(--stack-step) * 3px)) translateY(calc(var(--stack-step) * -5px))}.attached-card.tapped{transform:translate(calc(var(--stack-step) * 6px)) translateY(calc(var(--stack-step) * -4px))}.card{position:relative;flex-shrink:0;border:none;background:transparent;box-shadow:none;cursor:grab;overflow:visible;transform:none;transform-origin:center center}.card-lift{position:relative;width:100%;height:100%;border:1px solid var(--border-muted);border-radius:5px;background:#0d1015;box-shadow:0 6px 18px #0000006b;overflow:hidden;transform-origin:center center;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease}.card:hover .card-lift{border-color:#c27a2c2e;box-shadow:0 10px 24px #00000080,0 0 12px #6fa35d0d}.field-row-cards .card:hover{transform:none}.field-row-cards .card:hover .card-lift{transform:translateY(-8px)}.field-row-cards .card.tapped{margin:0;transform:none}.field-row-cards .card.tapped .card-lift{transform:rotate(30deg)}.field-row-cards .card.tapped:hover .card-lift{transform:rotate(30deg) translateY(-3px)}.field-row-cards .card.field-card .card-lift{overflow:visible}.card:not(.field-card) .card-lift{overflow:hidden}.card-img,.card-back,.card-placeholder{width:100%;height:100%;border-radius:5px}.card-img{display:block;object-fit:fill;opacity:0;transition:opacity .25s ease}.card-img.loaded{opacity:1}.card-back,.card-placeholder{overflow:hidden;background-image:url(/images/mtg-card-back.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat}.card-back{border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card-back.fftcg,.card-placeholder.fftcg{background-image:url(/images/fftcg-card-back.jpeg)}.card-back:before,.card-back:after{content:none}.card-placeholder{display:flex;align-items:center;justify-content:center;padding:8px;color:var(--text-dim);font-size:10px;text-align:center}.token-card .field-card-fallback,.token-card .card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--border-light);background:linear-gradient(160deg,#231b15f2,#140f0cf2);color:var(--text-bright);font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.5px}.card.revealed:not(.announcing) .card-lift:after{content:"REVEALED";position:absolute;top:2%;left:50%;z-index:90;transform:translate(-50%);padding:2px 6px;border-radius:999px;color:#170f0b;background:#dfb06aeb;box-shadow:var(--shadow-xs);font-family:var(--font-display);font-size:8px;font-weight:800;letter-spacing:.08em;height:8px;display:flex;justify-content:center;align-items:center;pointer-events:none}.card.announcing{z-index:500}.card.announcing .card-lift{animation:announce-pulse 1.5s ease-in-out infinite,levitate 3.2s ease-in-out infinite;transform:translateY(-18px) scale(1.04)}.card.announcing .card-lift:after{content:"STACK";position:absolute;bottom:6px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:4px;color:var(--text-bright);background:#c27a2cd9;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:1.5px;white-space:nowrap;height:10px;display:flex;justify-content:center;align-items:center;pointer-events:none}@keyframes announce-pulse{0%,to{box-shadow:0 0 8px #c27a2c66,0 0 20px #c27a2c26}50%{box-shadow:0 0 14px #c27a2c99,0 0 30px #c27a2c40}}@keyframes levitate{0%{transform:translateY(-16px) scale(1.04)}50%{transform:translateY(-22px) scale(1.045)}to{transform:translateY(-16px) scale(1.04)}}@keyframes levitate-low{0%{transform:translateY(0) scale(1.01)}50%{transform:translateY(-4px) scale(1.04)}to{transform:translateY(-0px) scale(1.01)}}.card.attacking,.card.attacking-bottom,.card.blocking,.card.blocking-bottom{overflow:visible}.card.attacking .card-lift,.card.attacking-bottom .card-lift{box-shadow:0 0 12px #c8321e80,0 0 24px #c8321e33,0 8px 18px #0000006b}.card.blocking .card-lift,.card.blocking-bottom .card-lift{box-shadow:0 0 12px #dcbe288c,0 0 24px #dcbe2838,0 8px 18px #0000006b}.card.attacking .card-lift:before,.card.attacking-bottom .card-lift:before,.card.blocking .card-lift:before,.card.blocking-bottom .card-lift:before{content:"";position:absolute;left:50%;z-index:80;width:0;height:0;transform:translate(-50%);border-left:30px solid transparent;border-right:30px solid transparent;pointer-events:none}.card.attacking .card-lift:before{top:-10px;border-bottom:8px solid rgba(212,48,48,.7);filter:drop-shadow(0 0 4px rgba(200,40,30,.6))}.card.attacking-bottom .card-lift:before{bottom:-10px;border-top:8px solid rgba(212,48,48,.7);filter:drop-shadow(0 0 4px rgba(200,40,30,.6))}.card.blocking .card-lift:before{top:-10px;border-bottom:8px solid rgba(235,210,60,.8);filter:drop-shadow(0 0 4px rgba(220,190,40,.65))}.card.blocking-bottom .card-lift:before{bottom:-10px;border-top:8px solid rgba(235,210,60,.8);filter:drop-shadow(0 0 4px rgba(220,190,40,.65))}.field-row-cards .card.field-card{background:transparent;border-color:transparent;box-shadow:none;isolation:isolate}.field-card-inner{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#0c0a08eb}.field-card-inner:before,.field-card-inner:after{content:"";position:absolute;inset:0;pointer-events:none}.field-card-inner:before{z-index:2;background:linear-gradient(180deg,rgba(255,240,220,.07),transparent 18%,transparent 78%,rgba(0,0,0,.2)),linear-gradient(90deg,rgba(255,240,220,.035),transparent 14%,transparent 86%,rgba(0,0,0,.14))}.field-card-inner:after{z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px #fff0dc0a,inset 0 0 14px #00000029}.field-card{--field-card-art-y: 0px}.field-card-art{position:absolute;left:0;top:var(--field-card-art-y);width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:center top;border-radius:inherit;opacity:0;transition:opacity .18s ease}.field-card-art.loaded{opacity:1}.field-card-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;color:var(--text-dim);font-size:10px;text-align:center}.field-card-top{position:absolute;top:0;left:0;right:0;z-index:20;padding:0;pointer-events:none;isolation:isolate}.field-card-name{display:block;max-width:100%;overflow:hidden;padding:2px 4px;border-radius:3px;color:#100c0a;background:#f0e9dff0;box-shadow:0 1px 2px #00000047;font-size:11px;font-weight:800;line-height:1.05;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;backface-visibility:hidden}.field-card-kind,.field-card-pt{position:absolute;bottom:0;z-index:20;padding:2px 4px;border:1px solid rgba(255,240,220,.08);border-radius:3px;color:#100c0a;background:#f0e9dff0;box-shadow:0 1px 2px #00000047;font-size:10px;font-weight:700;line-height:1.05;white-space:nowrap;pointer-events:none}.field-card-kind{left:0;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis}.field-card-pt{right:0}@container (max-width: 900px){.field-card-kind{display:none}}.field-row-cards .card.field-card.horizontal-card{width:calc(var(--field-card-w) * 1.22);height:calc(var(--field-card-w) * var(--field-card-ratio))}.field-card.horizontal-card .field-card-art,.field-card.horizontal-card img{left:50%;top:50%;width:calc(var(--field-card-w) * var(--field-card-ratio));height:calc(var(--field-card-w) * 1.48);max-width:none;max-height:none;object-fit:cover;object-position:center;transform:rotate(90deg);transform-origin:center center;translate:-50% -50%}.card.horizontal-card .card-img,.card.horizontal-card .field-card-art{object-fit:contain;background:#0d1015}.counter-badges{position:absolute;top:16px;right:6px;z-index:30;display:flex;flex-direction:column;gap:3px;pointer-events:none}.counter-badge{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border:1px solid var(--border);border-radius:999px;color:var(--text-bright);background:#09090be6;box-shadow:var(--shadow-xs);font-family:var(--font-display);font-size:9px;font-weight:700;line-height:1}.counter-badge-more{background:#09090bc7}.card-owner-badge{position:absolute;bottom:2px;left:50%;transform:translate(-50%);background:#dc2626d9;color:#fff;font-size:8px;font-weight:700;letter-spacing:.03em;padding:1px 5px;border-radius:3px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:3;text-transform:uppercase}.zone.stacked{align-items:center;justify-content:flex-start}.zone.stacked:hover{transform:translateY(-2px)}.stacked-pile{position:relative;cursor:pointer}.stacked-pile .card{width:calc(var(--zone-w) * .84);height:calc(var(--zone-w) * 1.16)}.pile-count{position:absolute;right:4px;bottom:4px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--accent-bright);background:#09090bd9;font-family:var(--font-display);font-size:13px;font-weight:700}.zone.stacked .card:hover .card-lift,.zone-browser-card .card:hover .card-lift,.peek-card .card:hover .card-lift{transform:none}.hand-layer{position:fixed;inset:0;z-index:120;pointer-events:none;--hand-card-w: clamp(130px, 9vw, 180px);--hand-card-h: calc(var(--hand-card-w) * 1.388)}.floating-hand{position:absolute;overflow:visible;pointer-events:none;max-height:calc(var(--hand-card-h) * .75)}.floating-hand-bottom-left,.floating-hand-bottom-right,.floating-hand-top-left,.floating-hand-top-right{width:46vw}.floating-hand-bottom-left{left:5vw;bottom:0}.floating-hand-bottom-right{right:5vw;bottom:0}.floating-hand-top-left{left:5vw;top:0}.floating-hand-top-right{right:5vw;top:0}.floating-hand-bottom-center,.floating-hand-top-center{left:50%;width:min(82vw,1200px);transform:translate(-50%)}.floating-hand-bottom-center{bottom:0}.floating-hand-top-center{top:0}.floating-hand .hand-zone,.floating-hand .hand-cards,.floating-hand .hand-card-wrapper{pointer-events:none}.floating-hand .card,.floating-hand .card *{pointer-events:auto}.hand-zone{position:relative}.hand-cards{display:flex;justify-content:center;padding:0 clamp(20px,2.4cqw,40px);margin:auto;max-width:min(600px,46cqw)}.own-hand,.opponent-hand{display:flex;flex-direction:column}.own-hand{padding-bottom:0}.opponent-hand{padding-top:0;justify-content:flex-start}.floating-hand .own-hand .card,.floating-hand .opponent-hand .card,.own-hand .card,.opponent-hand .card{width:var(--hand-card-w)!important;height:var(--hand-card-h)!important}.own-hand .hand-cards{align-items:flex-end;transform:translateY(calc(var(--hand-card-w) * .1))}.opponent-hand .hand-cards{align-items:flex-start;transform:translateY(calc(var(--hand-card-w) * .48))}.floating-hand-bottom-right .opponent-hand .hand-cards{align-items:flex-end;transform:translateY(calc(var(--hand-card-w) * -.52))}.own-hand .hand-card-wrapper,.opponent-hand .hand-card-wrapper{position:relative;flex-shrink:0;margin-left:-16px;cursor:pointer;transition:transform .18s ease,margin .18s ease,z-index 0s}.own-hand .hand-card-wrapper:first-child,.opponent-hand .hand-card-wrapper:first-child{margin-left:0}.hand-card-wrapper.drop-before:before,.hand-drop-slot-end:before{content:"";position:absolute;top:10%;bottom:10%;width:3px;border-radius:999px;background:var(--rune-bright);box-shadow:0 0 10px #6fa35d33}.hand-card-wrapper.drop-before:before{left:-6px;z-index:500}.hand-drop-slot-end{width:12px;flex-shrink:0;position:relative}.hand-drop-slot-end:before{left:4px}.hand-preview{position:absolute;z-index:300;transition:none;pointer-events:none!important}.hand-preview *{pointer-events:none!important}.hand-preview-above{transform:translate(-50%) translateY(-25%) scale(1.7);transform-origin:bottom center;animation:hand-preview-above-in .05s ease-out both}.hand-preview-below{transform:translate(-50%) translateY(0) scale(1.7);transform-origin:top center;animation:hand-preview-below-in .05s ease-out both}.hand-preview .card{width:240px!important;height:334px!important;cursor:default;filter:drop-shadow(0 8px 24px rgba(0,0,0,.6))}.hand-preview .card img{transition:none}@keyframes hand-preview-above-in{0%{opacity:.5;transform:translate(-50%) translateY(-15%) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(-25%) scale(1.7)}}@keyframes hand-preview-below-in{0%{opacity:.5;transform:translate(-50%) translateY(-20%) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1.7)}}.overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#09090bb8}.overlay-content,.preview-card,.zone-browser,.context-menu,.action-dialog,.settings-modal{border:1px solid rgba(115,84,58,.42);background:linear-gradient(180deg,#19130ffa,#0e0b09fa);box-shadow:var(--shadow-lg)}.overlay-content{padding:24px;border-radius:var(--radius-lg);text-align:center}.overlay-content h3{margin-bottom:16px;color:var(--text-bright);font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.02em}.peek-list{display:flex;gap:10px;margin-bottom:16px}.peek-card .card{width:180px;height:252px}.preview-card{position:relative;display:flex;gap:24px;max-width:680px;max-height:90vh;padding:24px;border-radius:var(--radius-lg);overflow:hidden}.preview-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 25% 50%,rgba(111,163,93,.05),transparent 26%),radial-gradient(circle at 80% 12%,rgba(166,63,45,.07),transparent 18%)}.preview-card img{width:280px;flex-shrink:0;display:block;position:relative;z-index:1;border-radius:14px;box-shadow:var(--shadow-md)}.preview-info{min-width:220px;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.preview-info h3{color:var(--text-bright);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.03em}.preview-type{color:var(--text-dim);font-size:14px}.preview-cost{color:var(--accent-bright);font-size:14px;font-weight:600}.preview-text{color:var(--text);font-size:14px;line-height:1.6;white-space:pre-wrap}.preview-pt{margin-top:auto;color:var(--text-bright);font-family:var(--font-display);font-size:18px;font-weight:700}.preview-info button{align-self:flex-start;margin-top:12px}.zone-browser{max-width:min(80vw,900px);max-height:80vh;display:flex;flex-direction:column;padding:20px;border-radius:var(--radius-lg)}.zone-browser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.zone-browser-header h3{color:var(--text-bright);font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.02em}.search-hint{color:var(--text-dim);font-size:11px;font-style:italic}.browser-search-input{width:100%;margin:0 auto 12px;padding:10px 14px;font-size:15px}.zone-browser-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;overflow-y:auto;padding:4px}.zone-browser-card .card{width:220px;height:306px}.card-tooltip{position:fixed;left:0;top:0;z-index:999;pointer-events:none;will-change:transform}.card-tooltip img{width:360px;display:block;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg)}.card-tooltip.horizontal-card-tooltip{width:504px;height:360px}.card-tooltip.horizontal-card-tooltip img{width:360px;height:504px;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:rotate(90deg);transform-origin:center center;translate:0 56px}.context-menu{position:fixed;z-index:1000;min-width:190px;display:flex;flex-direction:column;border-radius:5px;background:#110d0afa;max-height:min(86vh,720px);overflow-y:auto;padding:8px}.context-menu-section{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid rgba(115,84,58,.28)}.context-menu-section:first-child{border-top:none;padding-top:0}.context-menu-heading{padding:5px 10px 3px;color:var(--text-label);font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.context-menu-primary{color:var(--accent-bright)!important;background:#c27a2c21!important}.context-menu button{padding:8px 10px;border:none;border-radius:8px;background:transparent;box-shadow:none;color:var(--text);font-size:13px;text-align:left}.context-menu button:hover{background:#c27a2c1f;color:var(--accent-bright)}.context-menu hr{border:none;border-top:1px solid var(--border);margin:6px 0}.context-menu-give-group{display:flex;flex-direction:column;gap:2px}.context-menu-give-toggle{color:var(--accent-bright)!important;font-weight:700}.context-menu-give-items{display:flex;flex-direction:column;gap:2px;margin-left:8px;padding-left:8px;border-left:1px solid rgba(115,84,58,.32)}.context-menu-give-items button{color:var(--text-dim)}.turn-announce{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:announce-fade 2.2s ease-out forwards}.turn-announce-text{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 44px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#16110df5,#0c0a08f5);box-shadow:var(--shadow-lg)}.turn-announce-text:before{content:"";position:absolute;inset:-18px;border-radius:999px;opacity:.18;pointer-events:none}.my-turn .turn-announce-text:before{background:radial-gradient(circle,rgba(111,163,93,.22),transparent 55%)}.opp-turn .turn-announce-text:before{background:radial-gradient(circle,rgba(166,63,45,.22),transparent 55%)}.turn-announce-label{position:relative;z-index:1;color:var(--text-dim);font-size:13px;font-weight:500}.turn-announce-name{position:relative;z-index:1;font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.04em}.my-turn .turn-announce-name{color:var(--rune-bright);text-shadow:0 0 18px rgba(111,163,93,.18)}.opp-turn .turn-announce-name{color:#d77c68;text-shadow:0 0 18px rgba(166,63,45,.18)}@keyframes announce-fade{0%{opacity:0;transform:scale(.96)}12%,72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}.log-panel{position:fixed;right:12px;z-index:200;width:260px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#110d0ad6;opacity:.5;transition:opacity .2s}.log-panel:hover{opacity:1}.log-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.log-panel-title{color:var(--text-dim);font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.log-panel-toggle{min-width:auto;padding:2px 6px;font-size:10px;box-shadow:none}.log-panel-entries{min-height:0;flex:1;overflow-y:auto;padding:6px 10px;color:var(--text-dim);font-size:14px}.log-panel-entry{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.02);line-height:1.4;word-break:break-word}.log-panel-collapsed .log-panel-entries,.log-panel-collapsed .chat-input{display:none}.game-log{top:12px;max-height:280px}.chat-panel{bottom:12px;max-height:260px}.chat-entry strong{color:var(--accent-bright)}.chat-input{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--border);flex-shrink:0}.chat-input input{flex:1;padding:6px 10px;border-radius:var(--radius-sm);background:#0c0a08e6;font-size:12px}.chat-input button{padding:6px 10px;border-radius:var(--radius-sm);font-size:11px}.action-dialog{width:min(92vw,420px);padding:20px;border-radius:var(--radius-lg)}.action-dialog h3{margin-bottom:14px;color:var(--text-bright);font-family:var(--font-display);font-size:18px}.action-dialog-form{display:flex;flex-direction:column;gap:14px}.action-dialog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action-dialog-label{display:flex;flex-direction:column;gap:6px}.action-dialog-label span{color:var(--text-dim);font-size:12px}.action-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.action-dialog-counter-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.action-dialog-counter-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.action-dialog-counter-buttons{display:flex;gap:6px}.settings-btn,.room-code-badge,.leave-btn,.mute-btn{position:fixed;left:10px;width:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#110d0ae0;box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:11px;font-weight:700;opacity:.72}.settings-btn:hover,.room-code-badge:hover,.leave-btn:hover,.mute-btn:hover{opacity:1;color:var(--text-bright);border-color:var(--border-light)}.settings-btn{top:10px;z-index:960;padding:6px 11px;color:var(--text);letter-spacing:.04em}.room-code-badge{top:40px;z-index:950;padding:5px 10px;color:var(--accent-bright);letter-spacing:.08em;user-select:text;cursor:copy}.leave-btn{top:70px;z-index:900;padding:5px 10px}.mute-btn{top:100px;z-index:900;padding:5px 10px}.settings-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#09090bb8}.settings-modal{width:min(92vw,460px);max-height:min(86vh,720px);overflow:auto;padding:20px;border-radius:var(--radius-lg);background:radial-gradient(circle at top right,rgba(166,63,45,.08),transparent 28%),radial-gradient(circle at bottom left,rgba(111,163,93,.06),transparent 30%),linear-gradient(180deg,#19130ffa,#0e0b09fa)}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.settings-header h2{margin-bottom:3px;color:var(--text-bright);font-family:var(--font-display);font-size:20px}.settings-header p{color:var(--text-dim);font-size:13px}.settings-close-btn{width:30px;height:30px;padding:0;border-radius:999px;font-size:18px;line-height:1}.settings-section{padding:14px 0;border-top:1px solid rgba(115,84,58,.24)}.settings-section h3{margin-bottom:10px;color:var(--accent-bright);font-family:var(--font-display);font-size:13px;letter-spacing:.04em}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-row strong{color:var(--text-bright)}.settings-row p,.settings-empty{color:var(--text-dim);font-size:13px}.settings-volume{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:var(--text-dim);font-size:13px}.settings-volume input{padding:0;box-shadow:none}.settings-volume strong{min-width:40px;color:var(--text-bright);text-align:right}.settings-player-list{display:flex;flex-direction:column;gap:8px}.settings-player-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(115,84,58,.24);border-radius:var(--radius-sm);background:#0c0a087a}.settings-seat{min-width:32px;display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border:1px solid rgba(194,122,44,.22);border-radius:999px;color:var(--accent-bright);background:#c27a2c1a;font-size:11px;font-weight:700}.settings-danger-section{padding-bottom:0}.settings-danger-btn{width:100%;color:var(--danger-light);border-color:#c85b456b}.settings-danger-btn:hover{color:#ffd0c7;border-color:#e184709e}.settings-reset-btn{color:var(--accent-bright);border-color:#c27a2c6b;margin-bottom:.5rem}.settings-playmat{display:flex;gap:12px;align-items:stretch}.settings-playmat-preview{flex-shrink:0;width:120px;height:80px;border:1px solid rgba(115,84,58,.32);border-radius:var(--radius-sm);background:#0c0a0899 center/cover no-repeat}.settings-playmat-empty{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px}.settings-playmat-controls{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.settings-playmat-hint{color:var(--text-dim);font-size:12px;margin:0}.settings-playmat-buttons{display:flex;gap:8px;flex-wrap:wrap}.settings-playmat-upload{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid rgba(194,122,44,.42);border-radius:var(--radius-sm);color:var(--accent-bright);background:#c27a2c14;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-playmat-upload:hover{background:#c27a2c29;border-color:#e19c449e}.settings-playmat-upload input[type=file]{display:none}.settings-playmat-remove{color:var(--danger-light);border-color:#c85b456b}.settings-playmat-error{color:var(--danger-light);font-size:12px;margin:0}.battlefield-row.has-playmat{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:var(--radius-sm)}.battlefield-row.has-playmat:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0000002e,#00000047);border-radius:inherit}.pod-battlefield.has-playmat:before{content:"";position:absolute;inset:0;background-image:var(--playmat-url);background-size:cover;background-position:center;opacity:.8;pointer-events:none;z-index:0;will-change:transform;transform:translateZ(0);backface-visibility:hidden;contain:strict}.pod-battlefield.playmat-rotated:before{transform:rotate(180deg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:999px;background:#73543a80}::-webkit-scrollbar-thumb:hover{background:#a0764eb3}.board:before,.board:after,.board-tabletop:before,.battlefield-row:before,.battlefield-row:after,.zone:before,.field-row:before,.field-row:after,.phase-strip:before,.lobby-panel:before,.preview-card:before,.field-card-inner:before,.field-card-inner:after,.field-card-overlay,.card-lift:before,.card-lift:after{pointer-events:none}.field-row{box-shadow:inset 0 1px #fff0dc09,inset 0 -18px 32px #0000003d,inset 0 0 28px #00000038,0 1px #fff0dc06}.field-row:hover{box-shadow:inset 0 1px #fff0dc0d,inset 0 -18px 32px #00000042,inset 0 0 32px #0000003d,0 0 22px #6fa35d0f}.field-row-cards .card-lift{box-shadow:0 2px 2px #00000057,0 8px 14px #0000006b}.field-row-cards .card:hover .card-lift{box-shadow:0 5px 4px #00000052,0 18px 28px #00000080,0 0 14px #6fa35d12}.card-lift{overflow:visible}.card-lift:after{content:"";position:absolute;inset:0;z-index:60;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #ffffff29,inset 1px 0 #ffffff0d,inset 0 -2px 4px #0000006b,inset -2px 0 4px #0000003d}.zone{box-shadow:0 8px 18px #00000052,inset 0 1px #fff0dc0e,inset 0 -12px 24px #0003}.zone.stacked:hover{transform:translateY(-3px);box-shadow:0 14px 26px #0000006b,inset 0 1px #fff0dc12,inset 0 -12px 24px #0000003d}.field-card-name,.field-card-kind,.field-card-pt{box-shadow:0 1px 1px #00000052,inset 0 1px #ffffff4d,inset 0 -1px #00000024}.phase-strip{box-shadow:0 8px 20px #00000057,inset 0 1px #fff0dc14,inset 0 -2px #00000061}.board-viewport{position:absolute;inset:0;z-index:1;display:grid;place-items:center;overflow:hidden;perspective:none}.board-camera{transform:translate3d(var(--board-pan-x, 0px),var(--board-pan-y, 0px),0);transform-origin:center center;transform-style:flat;will-change:transform}.board-zoom{zoom:var(--board-raster-zoom, 1);transform:translateZ(0) scale(var(--board-live-scale, 1));transform-origin:center center;transform-style:flat}.board-tabletop{width:var(--table-w);height:var(--table-h);max-width:none;aspect-ratio:auto;position:relative;container-type:size;border-radius:13px;background:var(--surface);--table-perspective: 4000px;--table-tilt: 24deg;transform:perspective(var(--table-perspective)) rotateX(var(--table-tilt));transform-origin:center center;transform-style:flat;will-change:transform}.app-shell.flat-board .board-tabletop,.board-frame.flat-board .board-tabletop{transform:none;will-change:auto}.field-row{box-shadow:inset 0 1px #fff0dc0a,inset 0 -18px 32px #0000002e,0 8px 18px #0003}.zone{box-shadow:inset 0 1px #fff0dc0a,inset 0 -12px 24px #00000038,0 8px 18px #00000040}.card-lift{box-shadow:0 2px #fff0dc0a,0 8px 18px #0000006b,0 1px #ffffff0a inset}.card:hover .card-lift{transform:translateY(-8px);box-shadow:0 16px 28px #00000080,0 0 14px #6fa35d14}body.perf-mode:before,body.perf-mode:after{animation:none!important;opacity:0!important}body.perf-mode *,body.perf-mode *:before,body.perf-mode *:after{box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important}.freeform-field{--field-card-ratio: 1.4;--freeform-grid-w: var(--field-card-w);--freeform-grid-h: calc(var(--field-card-w) * var(--field-card-ratio));--freeform-grid-subdivisions: 2;--freeform-grid-line: rgba(92, 180, 210, .34);--freeform-grid-line-soft: rgba(92, 180, 210, .13);--freeform-grid-glow: rgba(92, 180, 210, .16)}.freeform-card-wrap{position:absolute;width:var(--freeform-grid-w);height:var(--freeform-grid-h);overflow:visible}.freeform-card-wrap .field-card-stack,.freeform-card-wrap .card{width:100%;height:100%}.freeform-card-wrap:has(.horizontal-card){width:calc(var(--field-card-w) * 1.48);height:calc(var(--freeform-grid-h) * .76)}.freeform-card-wrap .card.field-card.horizontal-card{width:100%!important;height:100%!important}.freeform-card-wrap .card.tapped{transform:none}.freeform-card-wrap .card.tapped .card-lift{transform:rotate(30deg)}.freeform-card-wrap .card.tapped:hover .card-lift{transform:rotate(30deg) translateY(-3px)}.freeform-field.freeform-snap-grid{background-image:linear-gradient(var(--freeform-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--freeform-grid-line) 1px,transparent 1px),linear-gradient(var(--freeform-grid-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--freeform-grid-line-soft) 1px,transparent 1px),radial-gradient(circle at 50% 50%,var(--freeform-grid-glow),transparent 52%);background-size:var(--freeform-grid-w) var(--freeform-grid-h),var(--freeform-grid-w) var(--freeform-grid-h),calc(var(--freeform-grid-w) / var(--freeform-grid-subdivisions)) calc(var(--freeform-grid-h) / var(--freeform-grid-subdivisions)),calc(var(--freeform-grid-w) / var(--freeform-grid-subdivisions)) calc(var(--freeform-grid-h) / var(--freeform-grid-subdivisions)),100% 100%;background-position:0 0;box-shadow:inset 0 0 0 1px #5cb4d229,inset 0 0 22px #5cb4d214}.freeform-snap-highlight{position:absolute;pointer-events:none;z-index:5;border:1.5px solid rgba(92,180,210,.7);border-radius:4px;background:#5cb4d266;box-shadow:0 0 8px #5cb4d240,inset 0 0 6px #5cb4d21a;box-sizing:border-box}.drag-card-ghost{box-sizing:border-box;overflow:hidden}.drag-card-ghost .card-img,.drag-card-ghost .card-back,.drag-card-ghost .card-placeholder,.drag-card-ghost .field-card-inner,.drag-card-ghost .field-card-art,.drag-card-ghost img{width:100%;height:100%}.drag-card-ghost.drag-card-ghost-freeform .card-img,.drag-card-ghost.drag-card-ghost-freeform .field-card-art,.drag-card-ghost.drag-card-ghost-freeform img{object-fit:cover!important;object-position:center top}.drag-card-ghost.drag-card-ghost-fixed-field .card-img,.drag-card-ghost.drag-card-ghost-fixed-field .field-card-art,.drag-card-ghost.drag-card-ghost-fixed-field img{object-fit:contain!important;object-position:center;background:#0d1015}.drag-card-ghost.drag-card-ghost-freeform:has(.horizontal-card) .card-img,.drag-card-ghost.drag-card-ghost-freeform:has(.horizontal-card) .field-card-art,.drag-card-ghost.drag-card-ghost-freeform.horizontal-card .card-img,.drag-card-ghost.drag-card-ghost-freeform.horizontal-card .field-card-art,.drag-card-ghost.drag-card-ghost-freeform.horizontal-card img,.drag-card-ghost.drag-card-ghost-fixed-field:has(.horizontal-card) .card-img,.drag-card-ghost.drag-card-ghost-fixed-field:has(.horizontal-card) .field-card-art,.drag-card-ghost.drag-card-ghost-fixed-field.horizontal-card .card-img,.drag-card-ghost.drag-card-ghost-fixed-field.horizontal-card .field-card-art,.drag-card-ghost.drag-card-ghost-fixed-field.horizontal-card img{object-fit:contain!important;object-position:center;background:#0d1015}
