:root{--bg:#f6efe3;--panel:#fffaf0;--ink:#1f1a17;--accent:#8b2f1d;--line:#d6c3a5;--card-width:124px;--card-height:172px;--card-hover-width:260px;--card-hover-height:364px;--thumb-card-width:24px;--thumb-card-height:34px}*{box-sizing:border-box}body{margin:0;font-family:"Noto Serif SC",Songti SC,Microsoft YaHei,serif;color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(183,129,74,.16),transparent 40%),radial-gradient(circle at 80% 0,rgba(139,47,29,.12),transparent 35%),linear-gradient(135deg,#f8f2e8,#ece2d1);min-height:100vh}.deck-list-main{min-width:0}.deck-id-hint{margin:4px 0 0;font-size:.78rem;overflow-wrap:anywhere}.deck-invalid-note{display:inline-block;margin-left:8px;color:#9d2f24;font-size:.78rem;font-weight:600}.page{min-height:100vh;display:grid;place-items:center;padding:24px}.page-wide{align-items:start}.panel{width:min(760px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 12px 30px rgba(68,40,15,.12)}.board-shell{width:min(1900px,100%)}h1{margin:0 0 8px;color:var(--accent)}h2{margin:0;font-size:1rem}.item{display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding:12px 0}.player-name-tag{margin-left:8px;font-size:.86rem;font-weight:600;color:#6b5841}.hint{margin-top:12px;color:#5f4a34}.action-row,.hero-actions,.hero-row,.subpanel-head{display:flex;gap:12px}.mulligan-hint{margin:10px 0 0;font-size:.84rem;color:#6b5841}.lane-button-group{display:flex;flex-direction:column;gap:8px}.hero-row,.subpanel-head{justify-content:space-between;align-items:center}.hero-row{margin-bottom:18px}.hero-actions{align-items:center}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,450px);grid-gap:16px;gap:16px;align-items:stretch;min-height:calc(100vh - 170px)}.battle-center,.battle-right{display:grid;grid-gap:16px;gap:16px;align-content:start}.battle-center .subpanel,.battle-right .subpanel{margin-top:0}.battle-right{grid-template-rows:auto 1fr}.battle-right .subpanel:first-child{height:auto;display:block}.battle-right .subpanel:last-child{display:block}.board-grid,.players-grid{display:grid;grid-gap:16px;gap:16px}.zone-grid{margin-top:16px}.players-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;align-items:stretch}.player-with-deck{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:stretch;height:100%}.player-with-deck>.subpanel{height:100%;margin-top:0}.board-grid{grid-template-columns:1fr;margin-top:16px}.support-prepared-row{grid-template-columns:minmax(0,1fr) 350px;align-items:stretch}.player-bridge-zone,.support-prepared-row{display:grid;grid-gap:16px;gap:16px}.support-prepared-row .subpanel{margin-top:0}.subpanel{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,251,242,.86);margin-top:16px}.subpanel-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(139,47,29,.18)}.hand-grid,.lanes-grid,.log-list,.stats-grid{display:grid;grid-gap:12px;gap:12px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.deck-panel{margin-top:0;padding:10px;display:grid;justify-items:center;align-content:start;grid-gap:8px;gap:8px}.deck-panel .subpanel-head{width:100%;justify-content:center}.deck-panel-cardback{width:100%;max-width:124px;height:calc(var(--card-height) - 10px);border-radius:8px;border:1px solid #d3b996;object-fit:cover}.deck-panel-count{margin:0;font-size:.84rem;color:#6b5841}.deck-panel-clickable .deck-panel-cardback{cursor:pointer}.deck-panel-open{padding:0;border:none;background:none;cursor:pointer;width:100%;display:flex;justify-content:center;transition:transform .12s ease}.deck-panel-open:hover{transform:translateY(-2px)}.deck-panel-interactive{position:relative;width:100%;display:flex;justify-content:center}.deck-panel-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:6px;z-index:60;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #c9a978;border-radius:8px;background:rgba(255,250,241,.98);box-shadow:0 8px 20px rgba(43,26,12,.28);white-space:nowrap}.deck-panel-menu button{padding:5px 12px;font-size:.82rem;font-weight:600;color:#000;border:1px solid #c9a978;border-radius:6px;background:#f6ead2;cursor:pointer}.deck-panel-menu button:hover:not(:disabled){background:#ecd9b0}.deck-panel-menu button:disabled{opacity:.5;cursor:not-allowed}.sandbox-controls{display:flex;flex-direction:column;gap:4px}.sandbox-stat-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.72rem;color:#4a3b28}.sandbox-stat-row button{min-width:22px;padding:1px 6px;font-size:.75rem;font-weight:700;line-height:1.2;color:#000;border:1px solid #c9a978;border-radius:4px;background:#f6ead2;cursor:pointer}.sandbox-stat-bar{flex-direction:column;margin-top:4px;font-size:.72rem;color:#4a3b28}.sandbox-stat-bar,.sandbox-stat-line{display:flex;align-items:center;justify-content:center;gap:3px}.sandbox-stat-label{font-weight:700;color:#3a2f1e}.sandbox-stat-bar button{min-width:20px;padding:0 5px;font-size:.8rem;font-weight:700;line-height:1.3;color:#000;border:1px solid #c9a978;border-radius:4px;background:#f6ead2;cursor:pointer}.sandbox-stat-bar button:hover:not(:disabled){background:#ecd9b0}.modal-card-actions{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.modal-card-actions button{padding:3px 7px;font-size:.72rem;font-weight:600;color:#000;border:1px solid #c9a978;border-radius:4px;background:#f6ead2;cursor:pointer}.modal-card-actions button:hover:not(:disabled),.sandbox-stat-row button:hover:not(:disabled){background:#ecd9b0}.sandbox-reveal-btn{padding:2px 8px;font-size:.75rem;border:1px solid #8b5cf6;border-radius:4px;background:#ede9fe;color:#5b21b6;cursor:pointer}.sandbox-reveal-btn:hover:not(:disabled){background:#ddd6fe}.sandbox-terrain-swap{margin-top:4px;padding:2px 6px;font-size:.7rem;border:1px solid #7c9c6b;border-radius:4px;background:#eef5e8;color:#3f5a2f;cursor:pointer}.sandbox-terrain-swap:hover:not(:disabled){background:#dceccf}.sandbox-player-adjust{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px dashed #d3b996}.facedown-badge{padding:1px 6px;font-size:.7rem;color:#fff;background:rgba(139,92,246,.9);border-radius:4px}.city-fortify-badge,.facedown-badge{position:absolute;top:4px;left:4px;z-index:12;font-weight:700;pointer-events:none}.city-fortify-badge{display:inline-flex;align-items:center;padding:2px 6px;color:#7c4a03;background:#fff1b8;border:1px solid #e2bd54;border-radius:4px;font-size:.72rem}.inhibited-badge,.suppressed-badge{position:absolute;top:4px;z-index:12;padding:1px 5px;font-size:.68rem;font-weight:700;color:#fff;border-radius:4px;pointer-events:none}.suppressed-badge{left:4px;background:rgba(185,28,28,.92)}.inhibited-badge{left:38px;background:rgba(37,99,235,.92)}.deck-search-modal{max-width:1920px;width:min(98vw,1920px);max-height:none}.deck-search-list{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr));grid-gap:8px!important;gap:8px!important;flex:0 0 auto;overflow:visible;align-content:start}.deck-search-list .card-chip{width:100%}.deck-search-list .card-artwork{max-width:none}.deck-search-list .card-artwork-image{width:100%;height:auto;aspect-ratio:var(--card-width) /var(--card-height)}.deck-search-hint{font-size:.78rem;color:#8a765b;white-space:nowrap}.modal-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:10px 12px;border:1px solid #c9a978;border-radius:8px;background:rgba(246,234,210,.95)}.modal-action-bar-label{font-size:.82rem;font-weight:700;color:#3a2f1e;margin-right:4px}.modal-action-bar button{padding:5px 12px;font-size:.82rem;font-weight:600;color:#000;border:1px solid #c9a978;border-radius:6px;background:#fff;cursor:pointer}.modal-action-bar button:hover:not(:disabled){background:#ecd9b0}.modal-action-bar button:disabled{opacity:.5;cursor:not-allowed}.modal-card-popover{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;flex-wrap:wrap;align-content:center;justify-content:center;gap:4px;padding:6px;border-radius:8px;background:rgba(30,20,10,.82);overflow-y:auto}.modal-card-popover button{padding:3px 6px;font-size:.7rem;font-weight:600;color:#000;border:1px solid #c9a978;border-radius:4px;background:#f6ead2;cursor:pointer}.modal-card-popover button:hover:not(:disabled){background:#ecd9b0}.deck-search-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.deck-search-toolbar input{flex:1 1;min-width:160px;padding:6px 10px}.deck-search-toolbar button,.deck-search-toolbar input{border:1px solid #c9a978;border-radius:6px;font-size:.85rem}.deck-search-toolbar button{padding:6px 12px;background:#f6ead2;cursor:pointer}.deck-search-toolbar button:hover:not(:disabled){background:#ecd9b0}.deck-card-position{position:absolute;top:4px;right:4px;z-index:12;padding:1px 5px;font-size:.68rem;font-weight:700;color:#fff;background:rgba(107,88,65,.85);border-radius:4px;pointer-events:none}.status-effect{margin-top:12px;padding:10px 12px;background:linear-gradient(135deg,#fff8dc,#ffefd5);border:2px solid #d4a574;border-radius:8px;font-size:14px;font-weight:600;color:#8b2f1d;text-align:center}.demo-card,.lane-card,.line-action-card,.log-entry,.stats-grid div{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72)}.stats-grid div{padding:12px}.demo-card p,.empty-slot,.line-action-card p,.log-entry strong,.pill,.stats-grid span,.subpanel-head span{color:#6b5841}.demo-card p,.line-action-card p,.log-detail,.log-message,.stats-grid span{font-size:.9rem}.demo-card,.lane-card,.line-action-card,.log-entry{padding:12px}.demo-card{position:relative;overflow:visible;z-index:1}.demo-card.card-selected{z-index:24;transform:translateY(-2px)}.demo-card:focus-within,.demo-card:hover,.lane-action-card:focus-within,.lane-action-card:hover,.line-action-card:focus-within,.line-action-card:hover{z-index:90}.card-selected{border-color:inherit;box-shadow:none}.card-select-btn{justify-self:start;padding:4px 10px}.card-actions-expanded{position:absolute;top:calc(100% + 6px);left:0;margin-top:0;z-index:30;min-width:max-content;max-width:min(560px,calc(100vw - 48px));padding:8px;border:1px solid #d6c3a5;border-radius:10px;background:rgba(255,250,241,.98);box-shadow:0 12px 24px rgba(63,40,20,.2)}.card-actions-expanded .lane-button-group{display:grid;grid-gap:5px;gap:5px}.card-actions-expanded button{padding:5px 8px;font-size:.78rem;line-height:1.15}.card-actions-expanded span{font-size:.76rem}.demo-card header,.lane-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.lane-header-meta{display:inline-flex;align-items:center;gap:8px}.lane-occupancy{border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:700;line-height:1.2}.lane-occupancy-p1{color:#1e4f8a;background:#dcecff;border:1px solid #a9c9ef}.lane-occupancy-p2{color:#8a3b22;background:#ffe3d8;border:1px solid #efb49f}.prepared-counter-panel{border:1px solid var(--line);border-radius:12px;background:rgba(255,251,242,.86);padding:10px}.lane-card,.log-entry{border-color:var(--line);background:rgba(255,251,242,.86)}.prepared-counter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.prepared-counter-head span{color:#6b5841;font-size:.88rem}.prepared-counter-list{display:flex;flex-wrap:wrap;gap:8px}.prepared-counter-list .card-chip{position:relative}.prepared-counter-card{border:1px solid #e4d4bc;border-radius:8px;background:#fff;padding:0}.prepared-counter-image{width:var(--card-width);height:var(--card-height);border-radius:8px;border:1px solid #d3b996;object-fit:cover;display:block}.deck-builder-shell{width:min(1500px,100%)}.lane-terrain-center{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 10px}.lane-terrain-center span{color:#6b5841;font-size:.88rem}.deck-builder-field{display:grid;grid-gap:6px;gap:6px;font-size:.9rem;color:#5f4a34}.subpanel-head-terrain{display:flex;align-items:center;gap:6px}.lane-terrain-artwork{position:relative;z-index:1}.lane-terrain-artwork:focus-within,.lane-terrain-artwork:hover{z-index:95}.lane-terrain-image-button{all:unset;display:block;cursor:pointer;border-radius:4px}.lane-terrain-image{width:var(--thumb-card-height);height:var(--thumb-card-width);border-radius:4px;border:1px solid #d3b996;object-fit:cover;display:block}.card-hover-popover.terrain-hover-popover{width:-moz-fit-content;width:fit-content;display:block;padding:8px}.card-hover-popover.terrain-hover-popover .card-hover-image{display:block;width:var(--card-hover-height);height:var(--card-hover-width)}.lane-terrain-artwork:focus-within .terrain-hover-popover,.lane-terrain-artwork:hover .terrain-hover-popover{opacity:1;transform:translateY(0)}.hand-grid{grid-template-columns:repeat(9,minmax(130px,1fr));margin-top:12px;gap:8px}.hand-grid .demo-card{padding:0;border:none;background:transparent}.lanes-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.card-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:8px;padding-bottom:4px}.zone-mini-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;height:100%;align-items:stretch}.subpanel-mini-zone{margin-top:0;padding:10px;height:100%;position:relative}.subpanel-mini-zone:focus-within,.subpanel-mini-zone:hover{z-index:200}.subpanel-mini-zone .subpanel-head{min-height:42px}.subpanel-mini-zone .subpanel-head h2{font-size:.86rem}.zone-preview-button{all:unset;display:grid;grid-gap:6px;gap:6px;justify-items:start;cursor:pointer}.zone-preview-slot{width:var(--card-width);min-height:var(--card-height)}.zone-preview-card{width:-moz-fit-content;width:fit-content;transform-origin:top left}.zone-preview-empty{width:var(--card-width);height:var(--card-height);border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;color:#6b5841;background:rgba(255,255,255,.45)}.zone-preview-hint{font-size:.8rem;color:#6b5841}.discard-modal-backdrop{position:fixed;inset:0;background:rgba(21,14,9,.45);display:grid;place-items:center;z-index:220;padding:18px}.discard-modal{width:min(1020px,calc(100vw - 36px));max-height:none;overflow:visible;border:1px solid #ccb08a;border-radius:14px;background:rgba(255,250,241,.98);box-shadow:0 16px 36px rgba(43,26,12,.32);padding:14px;display:flex;flex-direction:column}.discard-modal-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;flex:0 0 auto;overflow:visible;align-content:flex-start;position:relative;z-index:1}.discard-modal .card-artwork:focus-within,.discard-modal .card-artwork:hover{z-index:520}.discard-modal .card-hover-popover{z-index:510}.discard-modal-actions{margin-top:12px;display:flex;justify-content:flex-end}.stats-summary-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));grid-gap:8px;gap:8px}.stats-summary-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:rgba(255,255,255,.72);display:grid;grid-gap:4px;gap:4px}.stats-summary-grid span{color:#6b5841;font-size:.8rem}.stats-summary-grid strong{font-size:1.05rem;color:var(--ink)}.stats-table-wrap{margin-top:12px;max-height:min(52vh,520px);overflow:auto;border:1px solid #d8c2a2;border-radius:10px;background:rgba(255,255,255,.7)}.stats-table{width:100%;border-collapse:collapse;min-width:700px}.stats-table td,.stats-table th{border-bottom:1px solid #e3d3bb;padding:8px 10px;text-align:left;white-space:nowrap}.stats-table th{position:-webkit-sticky;position:sticky;top:0;background:#f7ecda;color:#5b442f;z-index:1}.card-chip{padding:0;border:none;background:transparent;display:block}.card-chip span,.card-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-action-card{display:grid;grid-gap:10px;gap:10px;margin-top:12px;justify-items:start;width:162px;flex:0 0 162px}.lane-action-card,.line-action-card{position:relative;overflow:visible;z-index:1}.lane-action-card.card-selected,.line-action-card.card-selected{z-index:20}.line-action-card.compact{margin-top:0}.line-action-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;margin-top:10px;overflow-x:auto;padding-bottom:4px}.support-line-container{display:grid;grid-template-columns:repeat(6,var(--card-width));grid-gap:10px;gap:10px;margin-top:10px;justify-content:center;align-items:start}.support-line-container .card-chip{padding:0!important;border:none!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}.support-line-container .line-action-card{margin-top:0;width:var(--card-width);flex:0 0 var(--card-width);padding:0;border:none;background:transparent;border-radius:0;box-shadow:none;justify-items:stretch}.support-cards-group{display:contents}.city-slot-display{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:start;position:relative;width:var(--card-width);gap:4px;padding:0;background:transparent;border:none;border-radius:0}.city-image{width:100%;height:var(--card-height);border-radius:6px;object-fit:cover;cursor:pointer}.city-selected .city-image{box-shadow:0 0 0 2px rgba(166,71,45,.55)}.city-hp{font-size:.84rem;color:var(--accent);font-weight:700}.city-name{font-size:14px;color:#8b2f1d;font-weight:600}.lane-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-bottom:4px}.card-artwork{position:relative;width:100%;max-width:var(--card-width);border-radius:10px;z-index:1}.card-artwork:focus-within,.card-artwork:hover{z-index:95}.card-artwork-btn{all:unset;cursor:pointer;display:block;border-radius:10px}.card-artwork-image{width:var(--card-width);height:var(--card-height);border-radius:10px;object-fit:cover;border:1px solid #d3b996;background:linear-gradient(180deg,#f2e1c4,#e8d3b4);box-shadow:0 8px 16px rgba(63,40,20,.18);display:block}.card-artwork-btn:focus-visible .card-artwork-image,.card-artwork-btn:hover .card-artwork-image,.card-artwork.card-selected .card-artwork-image{border-color:#7f2718;box-shadow:0 0 0 2px rgba(166,71,45,.45),0 12px 24px rgba(139,47,29,.32)}.card-hover-popover{position:absolute;left:calc(100% + 10px);top:0;width:560px;padding:10px;border-radius:12px;border:1px solid #ceb38d;background:rgba(255,250,241,.97);box-shadow:0 12px 26px rgba(55,33,16,.25);display:grid;grid-template-columns:var(--card-hover-width) 1fr;grid-gap:10px;gap:10px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:80}.card-artwork:focus-within .card-hover-popover,.card-artwork:hover .card-hover-popover{opacity:1;transform:translateY(0)}.card-artwork.card-selected .card-hover-popover{opacity:0;transform:translateY(6px)}.card-hover-image{width:var(--card-hover-width);height:var(--card-hover-height);border-radius:8px;border:1px solid #d3b996;object-fit:cover;background:linear-gradient(180deg,#f2e1c4,#e8d3b4)}.card-hover-text{display:grid;grid-gap:4px;gap:4px;align-content:start}.card-hover-text strong{color:#3f2a1c}.card-hover-text p{margin:0;font-size:.82rem;line-height:1.3;color:#5f4a34}.log-list{max-height:320px;overflow:auto;margin-top:12px}.battle-right .log-list{max-height:120vh;overflow-y:auto}.battle-layout{--card-width:90px;--card-height:124px;gap:8px;min-height:0}.battle-layout .battle-center,.battle-layout .battle-right{gap:8px}.battle-layout .subpanel{padding:10px}.battle-layout .players-grid{gap:8px;margin-bottom:8px}.battle-layout .player-with-deck{grid-template-columns:106px minmax(0,1fr);gap:8px}.battle-layout .deck-panel-cardback{max-width:var(--card-width);height:calc(var(--card-height) - 6px)}.battle-layout .stats-grid{gap:6px;margin-top:8px}.battle-layout .stats-grid div{padding:6px 8px}.battle-layout .hand-grid{grid-template-columns:repeat(9,minmax(94px,1fr));margin-top:8px;gap:4px}.battle-layout .support-line-container{gap:6px;margin-top:6px;grid-template-columns:repeat(6,var(--card-width))}.battle-layout .line-action-card{width:var(--card-width);flex:0 0 var(--card-width);gap:6px;margin-top:6px}.battle-layout .support-line-container .line-action-card{margin-top:0}.battle-layout .lane-actions{gap:4px;margin-top:6px}.battle-layout .card-list{gap:4px;margin-top:4px}.battle-layout .board-grid,.battle-layout .zone-grid{margin-top:8px}.battle-layout .player-bridge-zone,.battle-layout .support-prepared-row{gap:8px}.battle-layout .lanes-grid{margin-top:8px}.battle-layout .lane-terrain-center{margin:4px 0 6px}.log-entry pre{white-space:normal}.log-entry{display:grid;grid-gap:6px;gap:6px}.log-entry-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-entry-time{margin-left:auto;font-size:.8rem;color:rgba(84,64,44,.75)}.log-detail,.log-message{margin:0;color:#4f3e2d}.log-detail{font-size:.82rem;color:rgba(84,64,44,.82)}.pill,button{border-radius:999px}.pill{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--line);background:#fff}.pill-win{color:#fff7ef;background:linear-gradient(180deg,#2f6a42,#1f4f30);border-color:#25563a}.btn-link,button{border:1px solid #a24b2f;background:linear-gradient(180deg,#a6472d,#81311f);color:#fff7ef;padding:8px 12px;cursor:pointer;font:inherit}.btn-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}.empty-slot,.error-banner{border:1px dashed var(--line);border-radius:12px;padding:14px;text-align:center;background:rgba(255,255,255,.5)}.error-banner{color:#8b2f1d;background:#fff1ec;border-style:solid;margin-bottom:16px}.error-banner-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.error-banner-row button{padding:4px 10px}.error-history-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px;max-height:240px;overflow:auto}.error-entry{border:1px solid #e9b6a7;border-radius:10px;background:#fff4f0;padding:10px}.error-entry strong{color:#8b2f1d}.error-entry p{margin:6px 0 0;color:#6b5841}.auth-panel{width:min(520px,100%)}.auth-brand{text-align:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.auth-brand-title{margin:0;font-size:2.2rem;letter-spacing:.12em;color:var(--ink)}.auth-brand-sub{margin:6px 0 0;font-size:.95rem;letter-spacing:.18em;color:#8a6d3b}.auth-form{margin-top:14px;display:grid;grid-gap:12px;gap:12px}.auth-form label,.lobby-form label{display:grid;grid-gap:6px;gap:6px;font-size:.9rem;color:#5f4a34}.auth-form input,.auth-form select,.lobby-form input,.lobby-form select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fffdf7;color:var(--ink)}.lobby-shell{width:min(1500px,100%)}.lobby-grid{grid-template-columns:320px minmax(0,1fr);align-items:start}.lobby-grid,.lobby-main-column{display:grid;grid-gap:14px;gap:14px}.player-admin-shell{width:min(1700px,100%)}.player-admin-grid{display:grid;grid-template-columns:460px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:stretch}.player-list-panel{min-height:0;height:100%;display:flex;flex-direction:column}.player-list-scroll{margin-top:10px;display:grid;grid-gap:8px;gap:8px;align-content:start;grid-auto-rows:max-content;flex:1 1;min-height:0;max-height:none;overflow-y:auto;padding-right:2px}.player-row{border:1px dashed var(--line);border-radius:10px;background:rgba(255,255,255,.62);color:#5b2818;padding:10px;display:grid;grid-gap:10px;gap:10px}.player-row-head{justify-content:space-between}.player-row-head,.player-row-title{display:flex;align-items:center;gap:10px}.player-role-tag{font-size:.8rem;color:#6b5841}.player-row-meta{display:flex;gap:16px;flex-wrap:wrap}.player-row-meta span{font-size:.76rem;color:#6b5841}button.player-row,button.player-row span,button.player-row strong{color:#5b2818}.row-pick-button{text-align:left;border:0;background:transparent;color:#5b2818;padding:0}.row-pick-button:hover{text-decoration:underline}.card-admin-editor-section{border-style:solid;border-color:#d4b38d;background:linear-gradient(180deg,rgba(255,246,233,.92),rgba(255,255,255,.92)),repeating-linear-gradient(135deg,rgba(166,71,45,.04),rgba(166,71,45,.04) 8px,transparent 0,transparent 16px);box-shadow:0 6px 18px rgba(99,57,24,.08)}.card-admin-editor-section strong{color:#74341f;letter-spacing:.02em}.card-admin-thumb-artwork{width:var(--thumb-card-width);max-width:var(--thumb-card-width)}.card-admin-thumb-image{width:var(--thumb-card-width);height:var(--thumb-card-height);border-radius:4px;box-shadow:0 4px 10px rgba(63,40,20,.18)}.card-admin-current-image{width:224px;height:312px;max-width:100%;border-radius:8px;border:1px solid #d3b996;object-fit:cover;background:linear-gradient(180deg,#f2e1c4,#e8d3b4);box-shadow:0 10px 22px rgba(63,40,20,.2)}.player-row-active{border-color:#c08d54;box-shadow:inset 0 0 0 1px rgba(139,47,29,.2)}.selected-player-summary{margin-top:10px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.selected-player-summary span{font-size:.84rem;color:#5f4a34}.stats-range-buttons{display:flex;gap:6px}.stats-range-buttons button{padding:4px 10px;border:1px solid var(--line);border-radius:7px;background:#fff8ef;color:#5f4a34;font-size:.8rem}.stats-range-buttons button.active{border-color:#8b2f1d;color:#fff;background:#8b2f1d}.daily-chart-wrap{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.daily-chart-row{display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.daily-chart-day{font-size:.82rem;color:#5f4a34}.daily-chart-bars{display:grid;grid-gap:6px;gap:6px}.daily-bar{min-width:56px;border-radius:7px;padding:4px 8px;color:#fff;font-size:.8rem;font-weight:600;white-space:nowrap}.daily-bar-register{background:linear-gradient(90deg,#5b8f53,#86b772)}.daily-bar-game{background:linear-gradient(90deg,#8b2f1d,#bc5b45)}.lobby-form{margin-top:10px;display:grid;grid-gap:10px;gap:10px}.lobby-form fieldset{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;grid-gap:8px;gap:8px}.lobby-form fieldset legend{padding:0 6px;font-size:.9rem;color:#5f4a34}.lobby-form fieldset label{display:flex;align-items:center;gap:8px}.lobby-form fieldset input[type=radio]{width:auto;margin:0;padding:0;border-radius:50%}.lobby-game-list{margin-top:10px;display:grid;grid-gap:10px;gap:10px;max-height:520px;overflow-y:auto;padding-right:4px}.lobby-game-item{border:1px dashed var(--line);border-radius:10px;background:rgba(255,255,255,.62);padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.online-user-list{margin-top:8px;display:grid;grid-gap:2px;gap:2px}.online-user-row{display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:4px 0;border-bottom:1px dashed rgba(214,195,165,.9);font-size:.88rem}.online-user-row:last-child{border-bottom:0}.online-user-name{font-weight:600;color:#4f3824}.online-user-meta{color:#6b5841;font-size:.8rem;white-space:nowrap}.online-user-role{font-size:.74rem;line-height:1;padding:3px 6px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.online-user-role-admin{color:#7a2f1d;border-color:rgba(139,47,29,.35);background:rgba(255,235,214,.95)}.chat-fab-root{position:fixed;right:20px;bottom:20px;z-index:2200;display:grid;justify-items:end;grid-gap:10px;gap:10px}.chat-fab-trigger{border:1px solid rgba(139,47,29,.45);background:linear-gradient(135deg,#fff8ef,#f8e7cf);color:#6a2618;font-weight:700;padding:10px 14px;min-width:86px;gap:8px;box-shadow:0 8px 22px rgba(68,40,15,.22)}.chat-fab-count,.chat-fab-trigger{border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.chat-fab-count{min-width:20px;height:20px;padding:0 6px;background:#8b2f1d;color:#fff;font-size:.72rem}.chat-fab-window{width:min(420px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:rgba(255,251,242,.98);box-shadow:0 16px 34px rgba(68,40,15,.28);padding:12px;display:grid;grid-gap:10px;gap:10px}.chat-fab-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.chat-fab-head h2{margin:0;font-size:1rem}.chat-fab-head p{margin:4px 0 0;font-size:.82rem;color:#6b5841}.chat-fab-close{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.8);color:var(--ink);padding:4px 10px;font-size:.8rem}.chat-channel-tabs{display:flex;gap:8px}.chat-tab{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);color:var(--ink);padding:6px 12px;font-size:.86rem;cursor:pointer}.chat-tab.active{border-color:var(--accent);color:var(--accent);font-weight:600}.chat-messages{padding:4px 2px;max-height:280px;overflow-y:auto;display:grid;grid-gap:0;gap:0}.chat-message-item{padding:6px 2px;display:flex;align-items:baseline;gap:8px;font-size:.86rem}.chat-message-item:last-child{border-bottom:0}.chat-date-separator{margin:8px 0 4px;font-size:.76rem;color:#7a6450;font-weight:600;text-align:center}.chat-message-text{flex:1 1;white-space:pre-wrap;word-break:break-word;color:#3c2a1b}.chat-message-time{color:#7a6450;font-size:.78rem;white-space:nowrap}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.chat-input-row input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fffdf7;color:var(--ink)}.pill{text-decoration:none;color:var(--ink)}.deck-editor-shell,.deck-list-shell{width:min(1800px,100%)}.deck-table{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.deck-table-head,.deck-table-row{display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(4,minmax(110px,1fr)) minmax(200px,1.2fr);grid-gap:10px;gap:10px;align-items:center}.deck-table-head{font-size:.84rem;color:#6b5841;border-bottom:1px solid #d9c6aa;padding-bottom:8px}.deck-table-row{border:1px solid #e6d7c1;border-radius:10px;padding:10px;background:rgba(255,255,255,.65)}.deck-row-actions{display:flex;gap:8px;justify-content:flex-end}.preset-import-backdrop{position:fixed;inset:0;background:rgba(21,14,9,.45);display:grid;place-items:center;overflow:auto;z-index:1900;padding:16px}.preset-import-modal{width:min(1080px,100%);overflow:visible;border:1px solid var(--line);border-radius:14px;background:rgba(255,250,241,.98);box-shadow:0 16px 34px rgba(68,40,15,.28);padding:14px;display:grid;grid-gap:12px;gap:12px}.preset-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.preset-import-item{border:1px solid #e6d7c1;border-radius:10px;background:rgba(255,255,255,.7);padding:10px;display:grid;grid-gap:8px;gap:8px;overflow:visible}.preset-import-images{display:grid;grid-template-columns:repeat(2,112px);grid-gap:8px;gap:8px;justify-content:center;align-items:start}.preset-import-description-wrap,.preset-import-image-wrap{position:relative;outline:none}.preset-import-thumb{width:100%;height:156px;object-fit:cover;border-radius:8px;border:1px solid #d3b996;display:block}.preset-import-image-preview{position:absolute;left:calc(100% + 10px);top:50%;width:280px;padding:8px;border:1px solid #ceb38d;border-radius:10px;background:rgba(255,250,241,.98);box-shadow:0 12px 26px rgba(55,33,16,.25);opacity:0;transform:translateY(-50%) translateX(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2600}.preset-import-image-wrap:focus .preset-import-image-preview,.preset-import-image-wrap:focus-within .preset-import-image-preview,.preset-import-image-wrap:hover .preset-import-image-preview{opacity:1;transform:translateY(-50%) translateX(0)}.preset-import-preview-image{width:100%;height:392px;object-fit:cover;border-radius:8px;border:1px solid #d3b996;display:block}.preset-import-description{border:1px solid #e4d4bc;border-radius:8px;background:rgba(255,250,241,.82);color:#5a4834;font-size:.86rem;line-height:1.45;padding:10px;width:112px;height:156px;overflow:hidden;white-space:pre-line;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical}.preset-import-description-preview{position:absolute;left:calc(100% + 10px);top:0;width:340px;overflow:visible;white-space:pre-wrap;padding:10px;border:1px solid #ceb38d;border-radius:10px;background:rgba(255,250,241,.98);box-shadow:0 12px 26px rgba(55,33,16,.25);opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2600}.preset-import-description-wrap:focus .preset-import-description-preview,.preset-import-description-wrap:focus-within .preset-import-description-preview,.preset-import-description-wrap:hover .preset-import-description-preview{opacity:1;transform:translateX(0)}.btn-danger{background:#8b2f1d;color:#fff;border-color:#752413}.deck-editor-config{display:grid;grid-template-columns:repeat(4,max-content);grid-gap:8px;gap:8px;align-items:end;justify-content:start}.deck-editor-config label{display:grid;grid-gap:6px;gap:6px;color:#5f4a34;font-size:.9rem}.deck-editor-select-compact{width:132px;max-width:100%}.deck-editor-name-input{width:220px;max-width:100%}.deck-editor-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-gap:14px;gap:14px;margin-top:16px;align-items:stretch}.deck-editor-pool,.deck-editor-selected{display:flex;flex-direction:column;min-height:0;height:clamp(620px,84vh,1040px)}.deck-editor-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.deck-editor-card-list,.deck-editor-selected-list{margin-top:10px;display:grid;grid-gap:8px;gap:8px;max-height:62vh;overflow-y:auto}.deck-editor-card-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.deck-editor-card-list,.deck-editor-selected-list{flex:1 1;min-height:0;max-height:none;align-content:start;overflow-y:auto}.deck-editor-selected-list{grid-template-columns:1fr}.deck-curve-panel{margin-top:0;border:1px solid #e4d4bc;border-radius:10px;background:rgba(255,255,255,.74);padding:10px;display:grid;grid-gap:8px;gap:8px}.deck-editor-selected-curve{margin-top:0;margin-bottom:10px}.deck-curve-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.deck-curve-head strong{color:#4f3824}.deck-curve-head span{color:#6b5841;font-size:.8rem}.deck-curve-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(22px,1fr));grid-gap:6px;gap:6px;align-items:end}.deck-curve-bar-item{display:grid;justify-items:center;grid-gap:2px;gap:2px}.deck-curve-bar-track{width:100%;height:72px;border-radius:6px;border:1px solid #dcc8ab;background:linear-gradient(180deg,#fff8ea,#f4e6d2);display:flex;align-items:flex-end;overflow:hidden}.deck-curve-bar-fill{width:100%;background:linear-gradient(180deg,#bf5f3f,#8b2f1d)}.deck-curve-bar-cost{font-size:.72rem;color:#5f4a34}.deck-curve-bar-count{font-size:.72rem;color:#8b2f1d;font-weight:600}.deck-editor-card-row,.deck-editor-selected-row{display:grid;align-items:center;grid-gap:10px;gap:10px;border:1px solid #e4d4bc;border-radius:10px;padding:8px;background:#fff}.deck-editor-card-row{justify-items:center;align-content:start;text-align:center;position:relative;overflow:visible;z-index:1}.deck-editor-card-row:focus-within,.deck-editor-card-row:hover{z-index:120}.deck-editor-card-row .card-hover-text,.deck-editor-card-row .card-hover-text p,.deck-editor-card-row .card-hover-text strong{text-align:left}.deck-editor-floating-popover{position:fixed;opacity:1!important;transform:none!important;pointer-events:none;z-index:4000}.deck-editor-selected-row{grid-template-columns:minmax(0,1fr) auto;text-align:left;position:relative;overflow:visible;z-index:1}.deck-editor-selected-row:focus-within,.deck-editor-selected-row:hover{z-index:120}.deck-editor-selected-row .card-hover-text,.deck-editor-selected-row .card-hover-text p,.deck-editor-selected-row .card-hover-text strong{text-align:left}.deck-editor-selected-main{display:grid;grid-template-columns:30px minmax(110px,1.3fr) minmax(52px,.8fr) minmax(52px,.7fr) minmax(52px,.7fr);grid-gap:8px;gap:8px;align-items:center}.deck-editor-selected-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:0 8px 8px;border-bottom:1px dashed #d9c6aa}.deck-editor-selected-head{font-size:.78rem;color:#6b5841;font-weight:600;white-space:nowrap}.deck-editor-selected-head-actions{min-width:92px;text-align:center}.deck-editor-selected-main span{font-size:.82rem;color:#5d4b37;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-editor-selected-thumb{width:var(--thumb-card-width);height:var(--thumb-card-height);border-radius:4px;border:1px solid #d3b996;object-fit:cover}.deck-editor-card-image{width:112px;height:156px;border-radius:8px;border:1px solid #d3b996;object-fit:cover}.deck-editor-card-meta{display:grid;grid-gap:2px;gap:2px;font-size:.8rem;color:#5d4b37}.deck-editor-card-meta strong{font-size:.86rem}.deck-editor-pool-card-actions{display:flex;align-items:center;justify-content:center;gap:10px}.deck-editor-pool-card-actions button{min-width:28px}.deck-editor-pool-card-actions-group{display:flex;flex-direction:column;align-items:center;gap:6px}.deck-editor-pool-action-label{min-width:30px;font-size:.78rem;font-weight:700;color:#6b4f2a}.deck-editor-reserve-head{margin-top:16px;border-top:1px dashed #c9a978;padding-top:12px}.deck-editor-reserve-list{flex:0 0 auto;max-height:116px}.deck-editor-card-actions{display:flex;align-items:center;gap:8px}.deck-editor-card-actions button{min-width:28px}@media (max-width:980px){.deck-table-head{display:none}.deck-editor-config,.deck-table-row,.preset-import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-editor-select-compact{width:100%}.deck-editor-grid{grid-template-columns:1fr}.deck-editor-pool,.deck-editor-selected{height:clamp(520px,74vh,900px)}.deck-editor-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-editor-card-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.deck-editor-selected-row{grid-template-columns:1fr;gap:8px}.deck-editor-selected-header{grid-template-columns:1fr;gap:6px}.deck-editor-selected-head-actions{text-align:left}.deck-editor-selected-main{grid-template-columns:30px minmax(90px,1fr) repeat(3,minmax(46px,.6fr))}.battle-layout{min-height:0}.battle-layout,.board-grid,.lanes-grid,.player-with-deck,.players-grid,.stats-grid{grid-template-columns:1fr}.hero-row,.subpanel-head{flex-direction:column;align-items:flex-start}.lobby-grid,.player-admin-grid{grid-template-columns:1fr}.player-list-panel{min-height:0}.player-row-head{align-items:flex-start;flex-direction:column}.lobby-main-column{gap:12px}.chat-fab-root{right:12px;bottom:12px;gap:8px}.chat-fab-window{width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 96px)}.chat-messages{max-height:min(320px,calc(100vh - 290px))}.line-action-card{width:150px;flex:0 0 150px}.support-prepared-row{grid-template-columns:1fr}.prepared-counter-panel{width:100%}.card-artwork,.card-artwork-image{width:116px}.card-artwork-image{height:162px}.card-hover-popover{left:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 48px));grid-template-columns:92px 1fr}.card-hover-image{width:92px;height:128px}.card-hover-popover.terrain-hover-popover .card-hover-image{width:128px;height:92px}.lane-terrain-image{width:var(--thumb-card-width);height:var(--thumb-card-height)}.deck-editor-config,.deck-editor-filters,.deck-table-row{grid-template-columns:1fr}.deck-editor-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.preset-import-grid{grid-template-columns:1fr}.preset-import-description-preview{right:0;left:auto;width:min(340px,calc(100vw - 56px))}.preset-import-image-preview{right:0;left:auto;width:min(300px,calc(100vw - 56px))}.preset-import-preview-image{height:360px}}.draggable{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.draggable img{-webkit-user-drag:none}.draggable:active,body.dragging{cursor:-webkit-grabbing;cursor:grabbing}body.dragging .card-hover-popover,body.dragging .terrain-hover-popover{display:none!important}.drag-source-dim{opacity:.45}.drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:translate(-50%,-50%) rotate(-4deg);width:96px;opacity:.85;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}.drag-ghost img{width:100%;border-radius:8px}.drop-target-active{position:relative;outline:2px dashed #2f855a;outline-offset:2px;background-color:rgba(72,187,120,.12)}.drop-slot-line{position:absolute;top:4px;bottom:4px;width:4px;margin-left:-2px;border-radius:2px;background:#2f855a;pointer-events:none}.city-slot-wrap,.lane-card,.support-line-container{position:relative}.city-slot-wrap{min-height:var(--card-height);width:var(--card-width)}.support-city-drop-zone{position:absolute;top:0;bottom:0;width:112px;z-index:3;pointer-events:none}.support-city-drop-zone-left{right:100%}.support-city-drop-zone-right{left:100%}body.dragging .support-city-drop-zone{pointer-events:auto;outline:none}body.dragging .support-city-drop-zone.drop-target-active{background:transparent;outline:none}body.dragging .support-city-drop-zone.drop-target-active:after{position:absolute;top:8px;bottom:8px;width:3px;border-radius:2px;background:#2f855a;content:"";pointer-events:none}body.dragging .support-city-drop-zone-left.drop-target-active:after{right:-2px}body.dragging .support-city-drop-zone-right.drop-target-active:after{left:-2px}.hand-drag-hint{font-size:.78rem;color:#6b5841}.drop-confirm-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:10001}.drop-confirm-dialog{background:#fff8ea;border:1px solid #dcc8ab;border-radius:12px;padding:20px 24px;min-width:280px;max-width:420px;box-shadow:0 16px 40px rgba(0,0,0,.35)}.drop-confirm-dialog h3{margin:0 0 14px;font-size:1rem}.drop-confirm-options{display:grid;grid-gap:8px;gap:8px}.drop-confirm-cancel{margin-top:14px}.sandbox-status-controls{flex-wrap:wrap}.spectator-board{display:grid;grid-gap:16px;gap:16px}.spectator-frontlines,.spectator-player-panel{margin-top:0}.spectator-card-row,.spectator-player-stats{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.spectator-player-stats{padding:8px 0;border-top:1px dashed #d3b996;border-bottom:1px dashed #d3b996;color:#6b5841;font-size:.82rem}.spectator-player-stats button{padding:3px 7px;font-size:.74rem}.spectator-admin-hand{margin-top:10px}.spectator-admin-hand .hand-grid{margin-top:8px}.spectator-support-line{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.spectator-player-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:flex-start}.spectator-zone-previews{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px;margin-top:10px}.spectator-mini-zone{min-width:0}.spectator-mini-zone-prepared{width:min(320px,42vw)}.spectator-mini-zone .subpanel-head{margin-bottom:8px}.spectator-mini-zone .zone-preview-button{justify-items:start}.spectator-zone-previews .spectator-card-popover{left:auto;right:calc(100% + 10px)}.spectator-prepared-list{display:flex;flex-wrap:wrap;gap:6px}.spectator-prepared-list .spectator-card-artwork{width:56px;flex-basis:56px}.spectator-prepared-list .spectator-card-artwork>img{width:56px;height:78px}.spectator-prepared-list-wide .spectator-card-artwork{width:var(--card-width);flex-basis:var(--card-width)}.spectator-prepared-list-wide .spectator-card-artwork>img{width:var(--card-width);height:var(--card-height)}.spectator-lanes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.spectator-lane{min-height:146px;padding:10px;border:1px solid #dcc8ab;border-radius:8px;background:#fffaf1}.spectator-lane header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#5f4a34;font-size:.8rem}.spectator-terrain{display:inline-flex;align-items:center;gap:4px}.spectator-terrain img{width:24px;height:24px;object-fit:cover;border:1px solid #d3b996;border-radius:4px}.spectator-card-artwork,.spectator-city-artwork{position:relative;cursor:default;align-self:flex-start}.spectator-card-artwork,.spectator-card-stack,.spectator-city-artwork{width:var(--card-width);flex:0 0 var(--card-width)}.spectator-inline-stats{margin-top:4px;display:block;font-size:.72rem;color:#5f4a34;border:1px solid #d7c0a0;border-radius:4px;background:#fff6e9;padding:2px 6px;line-height:1.2;white-space:nowrap}.spectator-card-artwork>img,.spectator-city-artwork>img{width:var(--card-width);height:var(--card-height);object-fit:cover;border:1px solid #d3b996;border-radius:8px;box-shadow:0 6px 12px rgba(63,40,20,.15);display:block}.spectator-card-hidden>img{border-color:#2e3948}.spectator-city-artwork>span{display:block;margin-top:4px;color:var(--accent);font-size:.82rem;font-weight:700;text-align:center}.spectator-card-popover{position:absolute;top:0;left:calc(100% + 10px);z-index:100;width:560px;padding:10px;border:1px solid #ceb38d;border-radius:12px;background:rgba(255,250,241,.97);box-shadow:0 12px 26px rgba(55,33,16,.25);display:grid;grid-template-columns:var(--card-hover-width) 1fr;grid-gap:10px;gap:10px;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}.spectator-card-artwork:hover{z-index:101}.spectator-card-artwork:hover .spectator-card-popover{opacity:1;transform:translateY(0)}.spectator-page .hand-grid>.spectator-card-artwork:nth-child(9n - 1) .spectator-card-popover,.spectator-page .hand-grid>.spectator-card-artwork:nth-child(9n - 2) .spectator-card-popover,.spectator-page .hand-grid>.spectator-card-artwork:nth-child(9n) .spectator-card-popover{left:auto;right:calc(100% + 10px)}.spectator-page .spectator-support-line .spectator-card-popover{left:calc(100% + 10px);right:auto}.spectator-page .spectator-lanes-grid .lane-terrain-artwork .terrain-hover-popover{left:auto;right:calc(100% + 10px)}.spectator-page .spectator-lanes-grid .spectator-lane:first-child .lane-terrain-artwork .terrain-hover-popover{left:calc(100% + 10px);right:auto}.spectator-page .spectator-frontlines .subpanel-head-terrain .lane-terrain-artwork .terrain-hover-popover{left:auto;right:calc(100% + 10px)}.spectator-card-popover img{width:var(--card-hover-width);height:var(--card-hover-height);object-fit:cover;border-radius:6px}.spectator-card-popover p{margin:4px 0;color:#5f4a34;font-size:.78rem}.spectator-zone-card-list .spectator-card-popover{z-index:510}.spectator-status{position:absolute;top:4px;z-index:4;width:-moz-fit-content;width:fit-content;padding:1px 4px;border-radius:3px;font-size:.68rem;font-style:normal;color:#fff}.spectator-status-suppressed{left:4px;background:#b91c1c}.spectator-status-inhibited{left:35px;background:#2563eb}.spectator-status-fortify{right:4px;color:#7c4a03;background:#fff1b8;border:1px solid #e2bd54}.spectator-zone-card-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;flex:0 0 auto;overflow:visible;align-content:flex-start;position:relative;z-index:1;padding:4px}@media (max-width:860px){.spectator-lanes-grid,.spectator-player-body{grid-template-columns:1fr}.spectator-zone-previews{flex-wrap:wrap}.spectator-zone-previews .spectator-card-popover{left:calc(100% + 10px);right:auto}}