@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#eee2c9;background:#100d0c;font-synthesis:none;--gold:#c9a568;--muted:#a89880;--line:#b78c4d55;--serif:"Cormorant Garamond",Georgia,serif;--panel:#121211ed}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(#0b090a55,#0b090a99),url(./tabletop-D28e2bZl.jpg) center/cover fixed}button,select,input{font:inherit}button,select{color:inherit}button{cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f1d096;outline-offset:4px}[hidden]{display:none!important}a{color:#e2c58a}button{border:0}button,summary,a{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid #ad824a;background:linear-gradient(#161411ee,#080909ee);box-shadow:0 2px #221a14,0 7px 24px #0005}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#d7b27a;font:600 28px var(--serif);letter-spacing:2px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #aa8148;outline:1px solid #aa814844;outline-offset:3px;font:30px Georgia,serif;background:#191612;transform:rotate(-4deg)}.brand small{font-size:13px;letter-spacing:1.3px;border-left:1px solid #aa814866;padding-left:17px;margin-left:12px}.header-actions{display:flex;gap:22px;align-items:center}.text-button{font:600 17px var(--serif);background:none;color:#e6d2ae}.text-button span{font:9px DM Sans,sans-serif;display:inline-grid;place-items:center;border:1px solid #a5855055;width:20px;height:20px;margin-left:6px;color:#ba9b6d}.text-button:hover{color:#fff2d2}.primary{padding:10px 24px;border:1px solid #cbac71;box-shadow:inset 0 0 0 3px #0f090988;background:linear-gradient(#53231f,#280f10);color:#f0d9b0;font:600 17px var(--serif);border-radius:2px}.primary:hover{background:linear-gradient(#71332a,#3e1717)}main{max-width:1740px;margin:auto;padding:14px 20px 12px}.game-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.arena,.workbench{min-width:0}.opponent-rack{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;padding:0 2px 10px}.player-line{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:54px;height:58px;border:1px solid #bc995e;outline:1px solid #bc995e44;outline-offset:3px;object-fit:cover;background:#201b14;flex-shrink:0}.human-avatar{display:grid;place-items:center;font:38px Georgia,serif;color:#e1cda1;background:radial-gradient(#594222,#1c1510)}.player-line strong{font:600 22px/1.05 var(--serif);white-space:nowrap}.player-line>div>span{display:block;font-size:8px;letter-spacing:1px;color:#ad9673;margin-top:6px}.player-line>div>.side-chip{font-size:8px;color:#d3b77d}.captures{font-size:18px;letter-spacing:-3px;color:#c8aa76;max-width:80px;overflow:hidden}.opponent .captures{display:none}#cpu-hand-panel{min-width:0;width:53%;position:relative;z-index:5}.rack-label{display:flex;justify-content:space-between;gap:8px;color:#c2a575;font-size:7px;letter-spacing:1.2px;margin:0 0 5px}.rack-label span{letter-spacing:0;color:#aa9a83}#cpu-hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cpu-card{min-width:0;position:relative;background:#101110;border:1px solid var(--tier-color);border-radius:3px;box-shadow:0 3px 8px #0006}.cpu-card summary{cursor:pointer;list-style:none;min-width:0;display:flex;align-items:center;gap:5px;padding:4px}.cpu-card summary::-webkit-details-marker{display:none}.cpu-art{height:41px;width:34px;object-fit:cover;border:1px solid #aa8c4944}.cpu-card strong{font:600 12px/1.05 var(--serif);display:block}.cpu-rating{font-size:6px;color:var(--tier-color);display:block;margin-top:4px}.cpu-card p{position:absolute;top:calc(100% + 5px);right:0;width:220px;margin:0;padding:14px;background:#171813;border:1px solid var(--tier-color);font-size:11px;line-height:1.7;box-shadow:0 10px 25px #000a;z-index:8}.cpu-card:first-child p{right:auto;left:0}.cpu-card[open]{box-shadow:0 0 0 1px #f1ddb0}.board-shell{position:relative;height:clamp(380px,calc(100dvh - 240px),760px);border:1px solid #c6a36a;background:radial-gradient(#3c3427aa,#151410ee);box-shadow:inset 0 0 0 5px #18140e,inset 0 0 0 6px #8d6b3c,0 0 0 4px #342315,0 0 0 5px #94703f,0 14px 30px #0008;margin:6px 6px 12px;isolation:isolate}.board-corner{position:absolute;width:24px;height:24px;border-top:2px solid #d3ad6d;border-left:2px solid #d3ad6d;z-index:2;pointer-events:none}.board-corner:after{content:"✥";position:absolute;top:-9px;left:-8px;font-style:normal;font-size:19px;color:#d6b377;text-shadow:1px 1px #32200c}.top-left{top:0;left:0}.top-right{top:0;right:0;transform:rotate(90deg)}.bottom-right{bottom:0;right:0;transform:rotate(180deg)}.bottom-left{bottom:0;left:0;transform:rotate(270deg)}#board-view{height:100%;width:100%;touch-action:manipulation}#board-view canvas{display:block;width:100%;height:100%}.thinking-overlay{position:absolute;top:13px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:10px 16px;white-space:nowrap;background:#10130ff2;border:1px solid #c0a16d;color:#dfd7bb;box-shadow:0 5px 15px #0007;font-size:11px}.arena-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:4px 3px}.arena-footer .avatar{width:39px;height:42px;font-size:29px}.arena-footer .player-line{flex:1;gap:10px}.arena-footer .player-line strong{font-size:21px}.turn-chip{margin-left:auto;white-space:nowrap;border:1px solid #bd9656;background:linear-gradient(#40301b,#211b12);box-shadow:inset 0 0 0 2px #0006;padding:8px 10px;color:#f2d591;font:600 12px var(--serif);letter-spacing:.4px}.board-toolbar{display:flex;gap:6px;align-items:center}.tool-button{border:1px solid #9c7c4955;background:#100f0ee0;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;color:#d3bb90;font-size:18px}.tool-button span{font:600 14px var(--serif)}.tool-button:hover:not(:disabled){background:#382719}.view-switch{display:flex;border:1px solid #9c7c4955;padding:3px;background:#100f0ee0}.view-switch button{padding:6px 8px;background:transparent;color:#ad9874;font:13px var(--serif)}.view-switch button[aria-pressed=true]{color:#ffdf9e;background:#543a20}.board-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.6px;color:#b09b7a;padding:8px 3px 0}.workbench{display:flex;flex-direction:column;gap:10px}.status-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;padding:5px 2px 8px;border-bottom:1px solid #b48f5344}.eyebrow{font-size:8px;font-weight:600;letter-spacing:1.6px;color:#c6a774;display:flex;align-items:center;gap:7px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9adbb2;box-shadow:0 0 9px #8ae4a877}.status-card h2{font:600 23px/1.1 var(--serif);margin:5px 0;color:#f0dfbf}.status-card p{font-size:10px;line-height:1.5;color:#bcae96;margin:0;max-width:380px}.difficulty-row{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.difficulty-row label{font-size:8px;color:#b9a281;letter-spacing:.6px}select{background:#151613;border:1px solid #aa874c66;border-radius:2px;padding:7px;color:#e0cdab;font-size:11px}.hand-panel{border:1px solid #b893555c;background:linear-gradient(135deg,#131510eb,#0c100eed);padding:12px 13px;border-radius:3px;position:relative;box-shadow:inset 0 0 0 3px #57402722,0 8px 24px #0004}.hand-panel:before,.hand-panel:after{content:"✥";position:absolute;top:-9px;font-size:20px;color:#c5a46a;text-shadow:1px 1px #000}.hand-panel:before{left:-7px}.hand-panel:after{right:-7px}.hand-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 3px 12px}.hand-heading h2{font:600 27px/1 var(--serif);margin:0;color:#f1dcaf}.hand-heading>span{font-size:8px;color:#a99a7e;text-align:right;line-height:1.6;max-width:100px}.hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:3px 2px 4px;align-items:stretch}.spell-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:6px;border:2px solid var(--tier-color,#bd9f68);border-radius:8px;background:linear-gradient(140deg,var(--card-tint,#203128),#090f0c 60%);color:#f1ead8;text-align:left;box-shadow:inset 0 0 0 2px #05060699,0 5px 12px #0007}.spell-card:before{content:"";position:absolute;inset:3px;border:1px solid var(--tier-color);border-radius:5px;opacity:.3;pointer-events:none}.spell-card:hover:not(:disabled){box-shadow:0 0 0 1px var(--tier-color),0 0 15px var(--tier-shadow)}.spell-card.chosen:after{content:"SELECTED";position:absolute;left:50%;top:-11px;transform:translate(-50%);padding:3px 8px;background:#c5edc9;color:#14351b;border-radius:2px;font-size:7px;font-weight:700;letter-spacing:.7px;z-index:2}.card-top{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:1px 2px 6px;min-height:25px;font-size:7px;color:#cab88e}.card-art{display:block;width:100%;height:clamp(95px,13vh,155px);object-fit:cover;border:1px solid var(--tier-color);border-radius:3px}.card-sigil{display:none}.spell-card strong{font:700 clamp(17px,1.5vw,23px)/1 var(--serif);min-height:37px;display:flex;align-items:center;justify-content:center;text-align:center;margin:4px 0 0;padding:5px 0;color:#f8efdc;border-bottom:1px solid #f0d4a329;background:#090d0a66}.card-text{display:block;flex:1;color:#d8d4c4;font-size:10px;line-height:1.5;text-align:center;padding:8px 4px 6px;background:linear-gradient(#11191399,#0b0f0e66);min-height:72px}.card-rating{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:6px 2px 1px;margin:0;border-top:1px solid #dfc89826}.card-mechanic{font-size:7px;color:#a89d85}.card-bottom{display:none}.hand-key{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:8px;line-height:1.5;color:#ab9c82;margin:9px 3px 10px}.hand-key button{background:none;color:#dbc193;border-bottom:1px solid #9a793f;font-size:9px;padding:2px 0;white-space:nowrap}.spell-workspace{padding:11px 12px;border:1px solid #b490555f;background:linear-gradient(115deg,#20251b88,#0b1010c9);box-shadow:inset 0 0 0 3px #63503219;border-radius:2px}.spell-preview{display:flex;gap:11px;min-height:78px;align-items:center}.preview-portrait{width:62px;height:72px;flex-shrink:0;display:grid;place-items:center;border:1px solid #b4985d77;background:#191e15;color:#bfa66b}.preview-portrait img{display:block;width:100%;height:100%;object-fit:cover}.preview-portrait>span{font-size:35px}.preview-copy{min-width:0;flex:1}.preview-copy h3{font:600 22px/1.05 var(--serif);margin:0 0 6px;color:#e9d7b2}.preview-copy #selected-card-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.preview-copy #card-instruction{font-size:11px;line-height:1.5;color:#c5c7b6;margin:6px 0 0}.hand-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.hand-controls button{border:1px solid #a9956c;padding:10px 5px;box-shadow:inset 0 0 0 3px #08090866;border-radius:3px;color:#f0e0bd;font:600 16px/1.1 var(--serif);background:linear-gradient(#243523,#142116);min-height:40px}.hand-controls #normal-mode{background:linear-gradient(#4c2720,#281411);font-size:13px}.hand-controls button[aria-pressed=true]{border-color:#a9dda4;box-shadow:inset 0 0 0 2px #070e0677,0 0 9px #75d09c22}.hand-controls #normal-mode[aria-pressed=true]{border-color:#eeae86}.hand-controls button:hover:not(:disabled){filter:brightness(1.18)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar section{border:1px solid #b18e5255;padding:10px 12px;background:#101411eb;border-radius:2px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px solid #b18e522e;padding-bottom:7px}.section-heading h3{font:600 19px/1 var(--serif);margin:0;color:#e4cca1;white-space:nowrap}.section-heading>span{font-size:7px;color:#a28c66;letter-spacing:.5px}.effects-panel p{font-size:11px;line-height:1.6;margin:10px 0;color:#d1c7ac}.effects-panel .rules-reminder{font-size:9px;color:#8e9583;margin:0}.journal{max-height:94px;overflow:auto;scrollbar-width:thin;scrollbar-color:#857046 #12160f}.turn-entry{font-size:10px;line-height:1.7;border-bottom:1px solid #b9975022;padding:6px 0;color:#c8c4b0}.empty-journal{font:italic 14px/1.5 var(--serif);color:#a5a18b;margin:16px 0;text-align:center}.table-note{font-size:8px;color:#aa9578;text-align:center;letter-spacing:.5px;padding:0 0 2px}.flat-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));position:absolute;width:min(91%,calc(100% - 24px));aspect-ratio:1;max-height:91%;top:50%;left:50%;transform:translate(-50%,-50%);border:5px solid #3c3022;outline:1px solid #b18b51;box-shadow:0 8px 18px #0008}.flat-square{min-width:0;min-height:0;padding:0;display:grid;place-items:center;position:relative;background:#d2c09e;color:#fff2d7;text-shadow:0 1px 2px #000,1px 0 #000,-1px 0 #000;font:clamp(22px,3.1vw,47px) Georgia,serif}.flat-square.dark{background:#706653}.flat-square.black-piece{color:#25231e;text-shadow:0 1px #decdac}.flat-square.last{background:#a8a477}.flat-square.selected{box-shadow:inset 0 0 0 4px #ffe3a1}.flat-square.legal:after{content:"";position:absolute;width:23%;height:23%;border-radius:50%;background:#244a3788;border:2px solid #b9ebba;pointer-events:none}.flat-square.power-move:after{background:#ad7dde55;border-color:#dfbdff}.flat-square.shielded{box-shadow:inset 0 0 0 4px #82d3ff}.flat-square.frozen{box-shadow:inset 0 0 0 4px #c4b7f4}.flat-piece{display:grid;place-items:center;width:100%;height:100%;pointer-events:none}.square-label{position:absolute;left:3px;bottom:2px;font:7px DM Sans,sans-serif;color:#3a3426;text-shadow:none;pointer-events:none}#board-view[data-animating],#flat-board[data-animating]{cursor:wait}.save-notice{font-size:11px;line-height:1.6;padding:12px;border:1px solid #b29464;background:#32251a}[data-card=saddle]{--card-accent:#9fbb68;--card-tint:#354c2a}[data-card=comet]{--card-accent:#d39ae8;--card-tint:#512b60}[data-card=rift]{--card-accent:#a77ce3;--card-tint:#352749}[data-card=vault]{--card-accent:#c1a566;--card-tint:#4c4b32}[data-card=prism]{--card-accent:#b8d4df;--card-tint:#465269}[data-card=tower]{--card-accent:#e5c67a;--card-tint:#69604a}[data-card=crown]{--card-accent:#dfac64;--card-tint:#702f36}[data-card=blink]{--card-accent:#c297e4;--card-tint:#513057}[data-card=retreat]{--card-accent:#9fb79e;--card-tint:#3c5548}[data-card=flank]{--card-accent:#69c5ba;--card-tint:#6e4938}[data-card=charge]{--card-accent:#e1a15d;--card-tint:#71362c}[data-card=lunge]{--card-accent:#c77578;--card-tint:#4b3340}[data-card=step]{--card-accent:#d4a0bf;--card-tint:#593854}[data-card=relay]{--card-accent:#bfa272;--card-tint:#4e4834}[data-card=recall]{--card-accent:#d5a263;--card-tint:#714c2e}[data-card=ward]{--card-accent:#7ba8d9;--card-tint:#2b4d74}[data-card=frost]{--card-accent:#b0d6e7;--card-tint:#42687e}[data-card=pierce]{--card-accent:#a2b68a;--card-tint:#334839}dialog{max-width:550px;width:calc(100% - 32px);max-height:88vh;overflow:auto;border:1px solid #bd985b;padding:32px;border-radius:6px;background:linear-gradient(135deg,#342630,#191722);color:#eee0c6;box-shadow:inset 0 0 0 5px #211924,0 30px 100px #000a;scrollbar-width:thin;scrollbar-color:#8e6a42 #201923}dialog::backdrop{background:#080610cf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}dialog h2{font-size:39px}dialog p{font-size:12px;line-height:1.8;color:#cabcaa}dialog h3{font:600 23px var(--serif);margin:24px 0 9px}.close-dialog{position:absolute;right:12px;top:9px;background:none;color:#c4ad87;font-size:27px;z-index:2}.mode-option{display:flex;align-items:center;gap:14px;border:1px solid #b8945d66;padding:18px;margin:12px 0;cursor:pointer;border-radius:3px}.mode-option:has(:checked){background:#94704333;border-color:#d4b273}.mode-option input{accent-color:#d8b772}.mode-option strong{font:600 20px var(--serif)}.mode-option small{display:block;font-size:11px;line-height:1.6;color:#c1af98;margin-top:5px}.form-label{display:block;margin:24px 0 10px;font-size:12px}#side{width:100%}.dialog-note{font-size:10px!important}.wide{width:100%}.guide-steps{padding-left:22px}.guide-steps li{font-size:12px;line-height:1.8;margin:13px 0;color:#c9b9a0}.guide-steps strong{color:#f1dbb1}.save-notice{padding:14px;border:1px solid #b99b69;background:#352439;color:#ead2b5;font-size:12px;line-height:1.6}.card-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.library-card{position:relative;min-width:0;border:1px solid var(--card-accent,#b8955a);background:linear-gradient(135deg,var(--card-tint,#493426),#18161e);border-radius:9px;padding:9px;box-shadow:inset 0 0 0 3px #12101a88,0 7px 15px #0004}.library-art{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border:1px solid var(--card-accent);border-radius:4px}.library-card>span{position:absolute;top:17px;right:17px;width:28px;height:28px;display:grid;place-items:center;background:#171323dc;border:1px solid var(--card-accent);border-radius:50%;color:#f9e3b9;font-size:19px}.library-card small{display:block;margin:12px 7px 0;font-size:8px;letter-spacing:1px;color:#d6c6a9}.library-card h3{font:700 26px/1.05 var(--serif);margin:6px 7px 12px;color:#fff0d0}.library-card p{margin:0;padding:13px;background:linear-gradient(130deg,#e9dcc0,#cbbb9c);border-radius:2px;color:#362f30;font-size:12px;line-height:1.65;min-height:104px}#promotion-options{display:flex;gap:10px}#promotion-options button{background:#493444;border:1px solid #b99863;padding:15px;flex:1;font-size:11px}#promotion-options span{display:block;font-size:30px}[data-tier="1"]{--tier-color:#c6cbd3;--tier-shadow:#b5bdcc24}[data-tier="2"]{--tier-color:#75b9ff;--tier-shadow:#3d9dff44}[data-tier="3"]{--tier-color:#f5cb60;--tier-shadow:#ffc84555}.spell-card,.library-card,.cpu-card{border-color:var(--tier-color,var(--card-accent));border-width:2px}.spell-card,.library-card{box-shadow:inset 0 0 0 2px #0a0912aa,0 5px 17px #0007,0 0 12px var(--tier-shadow)}.spell-card[data-tier="3"],.library-card[data-tier="3"]{background:linear-gradient(120deg,#89622955,transparent 40%,#eed68518 65%,transparent),linear-gradient(135deg,var(--card-tint),#18161e)}.spell-card.chosen{outline:3px solid #fff4d4;outline-offset:3px;border-color:var(--tier-color);box-shadow:0 0 24px #fff0c333}.spell-card.chosen:after{z-index:2}.card-top{align-items:center;padding:2px 2px 7px;min-height:30px;letter-spacing:.6px}.family-badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border:1px solid currentColor;padding:4px 7px;border-radius:3px;font:700 9px/1.2 DM Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase}.family-badge[data-family=offense]{color:#ffc1ae;background:#682c2ee6}.family-badge[data-family=defense]{color:#bddfff;background:#26496ee6}.family-badge[data-family=mobility]{color:#d2edb0;background:#355135e6}.family-badge[data-family=tactics]{color:#e5c6ff;background:#533c70e6}.family-badge>span{font-size:12px}.card-rating{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 5px 2px}.tier-badge{display:inline-flex;align-items:center;gap:6px;font:600 10px/1.4 DM Sans,sans-serif;color:var(--tier-color);white-space:nowrap}.tier-badge>span{letter-spacing:1px;font-size:12px}.card-mechanic{font-size:9px;color:#d6c2a2}.card-sigil{top:46px}.library-family{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 2px 9px}.library-family small{margin:0}.library-card>span{top:52px}.library-rating{padding:0 7px 12px}.library-card h3{margin-top:13px;margin-bottom:8px}.hand-key{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#c9bca4;font-size:10px;margin:0 2px 14px}.hand-key button{background:none;border-bottom:1px solid #b99562;padding:3px 0;color:#e9d3a6;font-size:11px;white-space:nowrap}.cpu-card-title{min-width:0}.cpu-card-title strong{display:block}.cpu-rating{display:block;font-size:8px;line-height:1.5;color:var(--tier-color);margin-top:5px}.cpu-card p .family-badge{margin:0 0 7px}.cpu-card p .tier-badge{display:flex;margin-bottom:8px}.card-legend{border:1px solid #c9a56b50;background:#18151e77;border-radius:4px;padding:14px 17px;margin:20px 0}.card-legend summary{cursor:pointer;color:#eddbba;font-size:13px;font-weight:600}.family-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:17px}.family-key>div>span:last-child{display:block;font-size:11px;line-height:1.6;color:#c4b7a5;margin-top:7px}.tier-key{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid #c9a56b30;padding-top:14px;margin-top:16px}.tier-key b{font-size:11px;font-weight:500;color:#d4c2a3}.card-legend p{font-size:11px;line-height:1.7;margin-bottom:0}.library-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.library-filters label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.5px;color:#d4c2a3}.library-filters select{min-width:150px}.library-filters button{padding:9px 14px;background:#4c3845;border:1px solid #b9956266;color:#ead7b7;border-radius:3px;font-size:12px}.library-filters>span{margin-left:auto;font-size:11px;color:#c9b699;padding-bottom:10px}#library-empty{padding:25px;border:1px dashed #b9956266;text-align:center}@media(max-width:800px){.family-key{grid-template-columns:repeat(2,minmax(0,1fr))}.tier-key{gap:13px}.tier-key b{width:100%}.card-rating{gap:4px;flex-wrap:wrap}.hand-key{font-size:9px}.cpu-rating{font-size:7px}}@media(max-width:480px){.hand-key{align-items:start;line-height:1.6}.hand-key>span{max-width:210px}.library-filters{gap:10px}.library-filters label{flex:1;min-width:0}.library-filters select{width:100%;min-width:0;font-size:11px}.family-badge{font-size:9px}.card-top{min-height:32px}.tier-badge{font-size:11px}.card-rating{margin-top:12px}.card-legend{padding:13px}.cpu-rating{font-size:7px;letter-spacing:0}.cpu-card strong{font-size:11px}.cpu-card summary{gap:4px}.cpu-art{width:29px}.cpu-card p .tier-badge{font-size:10px}}@media(max-width:480px){.library-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.library-filters>span{padding:0;align-self:center}.library-filters select{font-size:12px}.library-filters button{justify-self:start}}dialog{background:linear-gradient(130deg,#232219,#101410);box-shadow:inset 0 0 0 4px #77603c22,0 30px 90px #000c;border-color:#b7955b}dialog::backdrop{background:#080908d9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog h2{font:600 37px var(--serif);margin:12px 0}.close-dialog{position:sticky;float:right;top:0;right:auto;margin:-16px -8px 0 0;background:#151710ee;width:31px;height:31px;line-height:25px;border:1px solid #92774755;border-radius:3px}.mode-option{border-color:#b0904e66}.mode-option:has(:checked){background:#6e894e22;border-color:#b8c596}.mode-option strong{font-size:23px}.library-dialog{max-width:1100px}.library-card{background:linear-gradient(140deg,var(--card-tint),#0a110b 65%)}.library-card p{background:#0a110bcc;color:#ddd8c4;line-height:1.7;border-top:1px solid #9f8c5c55}.library-card h3{font-size:26px}.library-rating{padding-bottom:11px}.card-legend{background:#11170eee}.library-filters select{background:#111710}.library-filters button{background:#303925;color:#e3d4ac}.library-card>span{top:53px}.library-art{aspect-ratio:1.5}.card-library{gap:18px}.library-card small{color:#bcb295}.tier-key{gap:18px}.spell-card{box-shadow:inset 0 0 0 2px #05060699,0 5px 12px #0007;border-radius:8px}.spell-card[data-tier="3"]{background:linear-gradient(130deg,#9d722a35,transparent 45%),linear-gradient(135deg,var(--card-tint),#11120c)}.spell-card.chosen{outline:2px solid #bbf5c8;outline-offset:3px;box-shadow:0 0 21px #9dfcc24d}.spell-card.chosen:after{background:#c5edc9;color:#14351b}.card-top{min-height:25px;padding:1px 2px 6px}.family-badge{font-size:7px;padding:3px 5px;gap:3px;letter-spacing:.25px}.family-badge>span{font-size:10px}.tier-badge{font-size:8px;gap:3px}.tier-badge>span{font-size:10px;letter-spacing:.1px}.card-rating{margin:0;padding:6px 2px 1px;gap:4px;flex-wrap:wrap}.card-mechanic{font-size:7px}.hand-key{font-size:8px;margin:9px 3px 10px}.hand-key button{font-size:9px}.cpu-art{width:34px}.cpu-card summary{gap:5px}.cpu-card strong{font-size:12px}.cpu-rating{font-size:6px}.cpu-card p .family-badge{font-size:9px}.cpu-card p .tier-badge{font-size:10px}.preview-copy .family-badge{font-size:8px}.preview-copy .tier-badge,.card-legend .family-badge,.library-card .family-badge{font-size:9px}.card-legend .tier-badge,.library-card .tier-badge{font-size:10px}.family-key>div>span:last-child{font-size:11px}.card-key{color:#c7b88d}body[data-mode=classic] .workbench{padding-top:15px}body[data-mode=classic] .status-card{min-height:150px}body[data-mode=classic] .opponent-rack{justify-content:flex-start}@media(min-width:1100px)and (max-height:800px){main{padding-top:10px}.workbench{gap:8px}.status-card{min-height:60px}.status-card h2{font-size:21px}.hand-panel{padding:10px}.hand-heading{margin-bottom:9px}.hand-heading h2{font-size:25px}.card-art{height:100px}.spell-card strong{min-height:32px;font-size:18px}.card-text{font-size:10px;padding:6px 3px;min-height:75px}.hand-key{margin:7px 3px}.spell-workspace{padding:9px}.spell-preview{min-height:70px}.preview-portrait{height:62px;width:49px}.preview-copy h3{font-size:20px}.preview-copy #card-instruction{font-size:10px;line-height:1.4}.hand-controls{margin-top:9px}.hand-controls button{padding:8px 4px;min-height:36px}.sidebar section{padding:9px 11px}.section-heading h3{font-size:17px}.journal{max-height:70px}.effects-panel p{font-size:10px;margin:8px 0}.table-note{display:none}.board-shell{height:calc(100dvh - 222px);min-height:365px}.opponent-rack{min-height:76px}.arena-footer{min-height:53px}.board-caption{padding-top:4px}}@media(max-width:1199px){.brand small{display:none}.header-actions{gap:18px}.game-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}main{padding-inline:16px}.player-line strong{font-size:19px}.opponent .avatar{width:43px;height:52px}.opponent-rack{gap:9px}#cpu-hand-panel{width:55%}.cpu-card summary{flex-direction:column;gap:3px;padding:3px}.cpu-art{width:100%;height:30px;object-position:50% 35%}.cpu-card-title{width:100%;text-align:center}.cpu-card strong{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cpu-rating{font-size:6px;margin-top:2px}.rack-label{font-size:6px}.rack-label>span{display:none}.arena-footer{flex-wrap:wrap}.arena-footer .player-line{min-width:170px}.turn-chip{font-size:10px;padding:7px}.board-toolbar{gap:4px}.tool-button{padding:7px}.tool-button span{font-size:12px}.view-switch button{padding:5px 6px}.hand{gap:8px}.hand-panel{padding-inline:10px}.card-art{height:105px}.card-text{font-size:10px}.spell-card strong{font-size:18px}.hand-controls #normal-mode{font-size:12px}.preview-copy h3{font-size:20px}}@media(max-width:999px){.game-layout{grid-template-columns:1fr;max-width:800px;margin:auto;gap:16px}.board-shell{height:auto;aspect-ratio:1.12;margin:8px 6px 10px}.opponent-rack{min-height:85px}#cpu-hand-panel{width:60%}.cpu-card summary{flex-direction:row}.cpu-art{width:45px;height:46px}.cpu-card-title{text-align:left}.cpu-card strong{font-size:15px;white-space:normal}.cpu-rating,.rack-label{font-size:8px}.rack-label>span{display:inline}.player-line strong{font-size:23px}.opponent .avatar{width:55px;height:60px}.arena-footer{flex-wrap:nowrap;min-height:63px}.turn-chip{font-size:12px}.board-toolbar{gap:7px}.tool-button{padding:8px 12px}.tool-button span{font-size:15px}.workbench{gap:12px}.status-card{padding:12px 3px}.hand-panel{padding:17px}.hand-heading h2{font-size:31px}.hand{gap:14px}.card-art{height:150px}.spell-card strong{font-size:24px;min-height:40px}.card-text{font-size:12px;line-height:1.6;padding:10px 7px;min-height:105px}.card-top .family-badge{font-size:9px}.tier-badge{font-size:10px}.card-rating{padding-top:9px}.card-mechanic{font-size:9px}.hand-key{font-size:10px;margin-block:14px}.hand-key button{font-size:11px}.spell-workspace{padding:16px}.preview-copy h3{font-size:25px}.preview-copy #card-instruction{font-size:12px}.preview-portrait{width:70px;height:85px}.hand-controls button{font-size:19px;min-height:45px}.hand-controls #normal-mode{font-size:15px}.sidebar section{padding:16px}.section-heading h3{font-size:23px}.journal{max-height:140px}.effects-panel p{font-size:12px}.table-note{padding:10px}.flat-square{font-size:6vw}.flat-board{width:90%;max-height:90%}}@media(max-width:600px){.header{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 16px;gap:12px}.brand{font-size:25px}.brand-mark{width:30px;height:30px;font-size:26px}.header-actions{width:100%;justify-content:space-between;gap:15px}.text-button{font-size:16px}.primary{padding:8px 18px;font-size:16px}main{padding:10px 12px}.opponent-rack{align-items:start;flex-direction:column;gap:12px;padding-bottom:12px}.opponent .avatar{width:41px;height:44px}.opponent.player-line{width:100%}.player-line strong{font-size:21px}.player-line>div>span{font-size:7px;margin-top:4px}.opponent .side-chip{position:absolute;right:18px;margin-top:-18px}#cpu-hand-panel{width:100%}.rack-label{font-size:7px}.cpu-card summary{padding:4px}.cpu-art{width:35px;height:41px}.cpu-card strong{font-size:13px}.cpu-rating{font-size:6px}.cpu-card p{width:180px}.cpu-card:nth-child(2) p{right:auto;left:50%;transform:translate(-50%)}.board-shell{aspect-ratio:1;height:auto;min-height:0;margin-inline:3px}.board-corner{height:18px;width:18px}.arena-footer{flex-wrap:wrap;gap:10px;padding-top:7px}.arena-footer .player-line{width:100%;flex:auto}.arena-footer .avatar{width:32px;height:36px;font-size:25px}.arena-footer .player-line strong{font-size:21px}.turn-chip{font-size:12px;padding:7px 13px}.board-toolbar{width:100%;gap:8px}.tool-button{flex:1;padding:9px}.view-switch{margin-left:auto}.view-switch button{padding:7px 15px}.board-caption{font-size:7px}.status-card{gap:10px}.status-card h2{font-size:23px}.status-card p{font-size:10px}.difficulty-row select{font-size:10px;padding:7px 4px}.hand-panel{padding:13px 10px}.hand-heading h2{font-size:28px}.hand-heading>span{font-size:8px}.hand{gap:10px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 12px;scrollbar-width:thin;scrollbar-color:#af955a #172015}.spell-card{flex:0 0 220px;scroll-snap-align:center;padding:8px}.spell-card strong{font-size:24px}.card-art{height:140px}.card-text{min-height:98px;font-size:12px}.card-rating{padding-top:8px}.card-top{padding-bottom:8px}.card-top .family-badge{font-size:9px}.hand-key{font-size:9px;margin:10px 2px}.hand-key>span{max-width:215px}.hand-key button{font-size:10px}.spell-workspace{padding:12px}.preview-portrait{width:48px;height:65px}.spell-preview{gap:9px;align-items:start}.preview-copy h3{font-size:23px}.preview-copy #card-instruction{font-size:11px}.preview-copy #selected-card-meta{gap:5px}.preview-copy .tier-badge{font-size:8px}.hand-controls{gap:7px}.hand-controls button{font-size:16px;padding:9px 5px}.hand-controls #normal-mode{font-size:12px}.sidebar{gap:10px}.sidebar section{padding:12px}.section-heading{align-items:start;flex-wrap:wrap;gap:7px}.section-heading h3{font-size:22px}.section-heading>span{font-size:7px}.effects-panel p{font-size:11px}.effects-panel .rules-reminder{font-size:9px}.journal{max-height:140px}.empty-journal{font-size:14px}.flat-square{font-size:8vw}.square-label{font-size:6px}.flat-board{width:90%;max-height:90%;border-width:3px}.thinking-overlay{font-size:10px;padding:9px 11px}dialog{padding:25px 18px}dialog h2{font-size:32px}.card-library{grid-template-columns:1fr;gap:18px}.library-card h3{font-size:28px}.library-card p{min-height:0}.library-card .family-badge{font-size:9px}.library-card .tier-badge{font-size:11px}.family-key{grid-template-columns:1fr 1fr}.tier-key{gap:12px}.tier-key>b{width:100%}.library-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.library-filters select{min-width:0;width:100%;font-size:12px}.library-filters>span{padding:0;align-self:center}.library-filters button{justify-self:start}.card-legend{padding:12px}.card-legend .family-badge{font-size:9px}.card-legend .tier-badge{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}button{transition:none}}@media(min-width:1000px){.card-text{font-size:11px;line-height:1.45;min-height:62px;padding:7px 4px}.card-top .family-badge{font-size:8px}.preview-copy #card-instruction{font-size:11px;line-height:1.45}.card-rating{min-height:22px}.tier-badge{font-size:8px}}@media(min-width:1000px)and (max-height:800px){.status-card{min-height:59px;padding-bottom:6px}.hand-heading{margin-bottom:7px}.card-art{height:86px}.card-text{min-height:58px;font-size:10px;line-height:1.5}.spell-card strong{min-height:29px;font-size:18px}.hand-key{margin:6px 3px}.spell-workspace{padding:8px}.spell-preview{min-height:64px}.preview-copy h3{font-size:20px;margin-bottom:4px}.preview-copy #card-instruction{font-size:10px;line-height:1.4;margin-top:4px}.hand-controls{margin-top:7px}.hand-controls button{min-height:35px;padding-block:7px}.sidebar section{padding:8px 10px}.journal{max-height:63px}.effects-panel .rules-reminder{font-size:8px}.section-heading{padding-bottom:6px}.empty-journal{margin:12px 0}}@media(min-width:601px)and (max-width:900px){.card-library{grid-template-columns:repeat(2,minmax(0,1fr))}}.hand-controls{grid-template-columns:1fr}.hand-controls:has(button[hidden]){display:none}.spell-card.chosen:after{content:"POWER ACTIVE"}.game-fx{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden;contain:strict}.game-fx *{pointer-events:none!important}.game-fx .card-burn{position:fixed;min-width:0;max-width:none;opacity:1!important;transform-origin:center;box-shadow:0 0 24px #f98d3333;overflow:hidden}.card-burn:after{display:none!important}.fx-burn-edge{position:absolute;height:7px;background:linear-gradient(0deg,#ff7825,#ffdf89 50%,#fff1c900);box-shadow:0 3px 20px #fa692d,0 -4px 10px #ffbc52;border-radius:50%;filter:blur(1px)}.fx-ember,.fx-spark,.fx-crystal{position:absolute;display:block;width:5px;height:5px;border-radius:50%;background:var(--fx-color);box-shadow:0 0 9px currentColor;color:var(--fx-color)}.fx-ember{background:#ffd080;color:#ff822f;width:4px;height:7px}.fx-crystal{width:8px;height:14px;border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#d8faff}.fx-ring{position:absolute;width:70px;height:70px;border:2px solid var(--fx-color);border-radius:50%;box-shadow:0 0 18px var(--fx-color),inset 0 0 10px var(--fx-color)}.fx-impact{border-width:4px;width:42px;height:42px;color:#ffd39a}.fx-trail{position:absolute;width:17px;height:17px;border-radius:50%;background:#fffbe7;box-shadow:0 0 15px 7px var(--fx-color);filter:blur(2px)}.fx-beam{height:4px;border-radius:2px;transform-origin:left center}.fx-shield,.fx-frost{position:absolute;display:grid;place-items:center;width:90px;height:100px;color:var(--fx-color);font:64px Georgia,serif;text-shadow:0 0 12px var(--fx-color);border-radius:50%;background:radial-gradient(ellipse,#9ddfff33,transparent 65%)}.fx-shield{border:2px solid #a6e5ff;box-shadow:inset 0 0 22px #90dfff66,0 0 20px #90dfff77}.fx-frost{background:radial-gradient(ellipse,#b5eeff55,transparent 70%)}.flat-square.frozen{box-shadow:inset 0 0 18px #acf0ff99,inset 0 0 0 3px #b5eeff}.flat-square.shielded{box-shadow:inset 0 0 18px #8acfff66,inset 0 0 0 3px #8acfff}.piece-status{position:absolute;z-index:8;bottom:12px;left:12px;right:12px;max-width:370px;margin:auto;padding:13px 35px 13px 15px;border:1px solid #a8d6e7;background:#101b24f5;color:#e6f2f6;box-shadow:0 5px 20px #0008;border-radius:5px;pointer-events:none;text-align:left}.piece-status h3{font:600 20px var(--serif);margin:0 0 8px;color:#f3dfb9}.piece-status strong{font-size:12px;color:#b5eeff}.piece-status p{font-size:12px;line-height:1.4;margin:5px 0}.piece-status .status-expiry{font-size:11px;color:#c8bba2;border-top:1px solid #bad2dd33;padding-top:7px}.piece-status button{position:absolute;right:4px;top:4px;width:30px;height:30px;font-size:22px;background:transparent;color:#e6f2f6;pointer-events:auto}.veil-example{margin-top:10px;padding:9px;border:1px solid #d6b87155;background:#090f13;color:#eee2ca;border-radius:3px}.veil-diagram{display:flex;justify-content:space-around;align-items:center;text-align:center;gap:5px}.veil-diagram span{font:30px Georgia,serif}.veil-diagram small{display:block;font:10px/1.4 DM Sans,sans-serif;color:#d2c5ad}.veil-diagram b{font-size:21px;color:#dbaf67}.veil-example p,.library-card .veil-example p{font-size:11px;line-height:1.4;min-height:0;background:none;color:#d9cbb3;padding:0;margin:7px 0 0}.board-shell:has(.piece-status:not([hidden])) .thinking-overlay{top:12px;bottom:auto}.check-banner{position:absolute;z-index:9;top:12px;left:16px;right:16px;display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 14px;border:1px solid #ff9285;background:linear-gradient(100deg,#641c19f5,#2e1416f5);box-shadow:0 3px 22px #f34f3a55;color:#fff0dd;border-radius:3px;pointer-events:none}.check-banner strong{font:700 28px/1 var(--serif);letter-spacing:2px;color:#ffb2a3}.check-banner span{font-size:12px;line-height:1.4;max-width:280px}.check-marker{position:absolute;z-index:6;width:64px;height:64px;border:3px solid #ff8373;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #ff3c2d,inset 0 0 15px #ff3c2d77;pointer-events:none;animation:king-danger 1.8s ease-in-out infinite}.check-marker:after{content:"!";position:absolute;right:-5px;top:-10px;width:24px;height:24px;border-radius:50%;background:#c52f29;border:1px solid #ffd8c4;color:#fff;font:700 18px/22px sans-serif;text-align:center}.king-in-check{background:#a12b25!important}.king-in-check .flat-piece{color:#fff3d7!important;text-shadow:0 0 9px #ff715b}.board-shell:has(.check-banner:not([hidden])){box-shadow:0 0 0 2px #e95f4c66,0 0 30px #ff432b33}.board-shell:has(.check-banner:not([hidden])) .thinking-overlay{top:auto;bottom:12px}body[data-check=true] .status-card{border-color:#eb7564}body[data-check=true] #status-title{color:#ffb19f}body[data-check=true] .turn-chip{background:#5a211b;color:#ffd8cb;border-color:#e98f76}.fx-callout{position:absolute;max-width:250px;white-space:nowrap;padding:7px 12px;border:1px solid var(--fx-color);border-radius:3px;background:#101512ed;color:#fff2d7;font:600 12px DM Sans,sans-serif;box-shadow:0 0 16px #0009;text-shadow:0 0 8px var(--fx-color);letter-spacing:.5px}.fx-shock{position:absolute;width:65px;height:65px;border:5px solid #ffe4b5;border-radius:50%;background:radial-gradient(circle,#fff6d366,transparent 65%);box-shadow:0 0 25px #ffc96b99}.fx-step{width:36px;height:36px;border-width:1px;box-shadow:0 0 8px #ffe0ad66}.fx-impact{border-width:5px;box-shadow:0 0 24px #ffd39a,inset 0 0 15px #ffd39a}@keyframes king-danger{50%{box-shadow:0 0 24px #ff3c2d,inset 0 0 22px #ff3c2d77;border-color:#ffd4ac}}@media(max-width:600px){.check-banner{left:9px;right:9px;top:9px;gap:8px;padding:8px}.check-banner strong{font-size:23px}.check-banner span{font-size:10px}.check-marker{width:42px;height:42px;border-width:2px}}@media(prefers-reduced-motion:reduce){.check-marker{animation:none}}#rewind-count{display:inline-grid;place-items:center;min-width:17px;height:17px;border:1px solid #afcaca66;border-radius:50%;font:700 10px sans-serif;color:#b4e9ec}.fx-time-ring{position:absolute;width:180px;height:180px;border:4px dashed #b4e9ec;border-radius:50%;box-shadow:0 0 45px #9ce9ed99,inset 0 0 35px #9ce9ed77}.fx-time-label{font-size:13px;letter-spacing:1px}.board-shell:has(.check-banner:not([hidden])):has(.piece-status:not([hidden])) .thinking-overlay{top:70px;bottom:auto}.status-card p,.preview-copy #card-instruction{font-size:13px;line-height:1.55}.card-text{font-size:12px;line-height:1.5;min-height:82px}.card-top .family-badge,.tier-badge,.card-mechanic{font-size:9px}.hand-heading>span,.hand-key,.hand-key button,.difficulty-row label,.rack-label{font-size:10px}.cpu-rating{font-size:9px}.cpu-card p{font-size:13px;line-height:1.55;width:240px}.spell-workspace{border:0;border-top:1px solid #b4905544;box-shadow:none;background:#ffffff03}.sidebar section{border:0;border-top:1px solid #b18e5244;box-shadow:none}.hand-panel{box-shadow:0 10px 28px #0003;border-color:#b8935533}.hand-panel:before,.hand-panel:after{display:none}.effects-panel p{font-size:12px}.effects-panel .rules-reminder{font-size:11px}.cpu-recap{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-left:3px solid #c9a568;background:#121613e8;line-height:1.4}.cpu-recap strong{font:600 18px var(--serif);color:#f0d6a3}.cpu-recap span{font-size:12px;color:#cccbbd}.cpu-recap[data-family=offense]{border-color:#ec9678}.cpu-recap[data-family=mobility]{border-color:#95ddb1}.cpu-recap[data-family=defense]{border-color:#8fcff1}.cpu-recap[data-family=tactics]{border-color:#c5a2e8}.fx-family-sigil{position:absolute;width:100px;height:100px;display:grid;place-items:center;font:90px/1 Georgia;color:var(--fx-color);text-shadow:0 0 18px var(--fx-color)}.game-fx[data-family=offense] .fx-spark{width:3px;height:15px;border-radius:0}.game-fx[data-family=defense] .fx-ring{border-style:double;border-width:6px}.game-fx[data-family=mobility] .fx-ring{border-style:dashed;box-shadow:none}.game-fx[data-family=tactics] .fx-ring{border-radius:12px;box-shadow:0 0 14px var(--fx-color)}@media(min-width:1000px)and (max-height:800px){.card-text{font-size:11px;min-height:72px}.preview-copy #card-instruction{font-size:12px}.card-art{height:80px}.hand-heading h2{font-size:25px}.cpu-recap{padding:7px 10px}.cpu-recap strong{font-size:16px}.cpu-recap span{font-size:11px}.board-shell{height:calc(100dvh - 278px);min-height:340px}.board-caption{display:none}.hand-key{font-size:9px}.sidebar section{padding:8px}.effects-panel .rules-reminder{font-size:10px}}@media(max-width:600px){body[data-mode=cards]{padding-bottom:220px}body[data-card-selected=true][data-mode=cards]{padding-bottom:360px}.header{min-height:0;padding:8px 12px;gap:8px}.brand{font-size:20px}.brand-mark{width:24px;height:24px;font-size:20px}.header-actions{gap:12px}.header-actions button{font-size:14px;min-height:32px}.primary{padding:5px 12px}main{padding:8px 10px}.opponent-rack{gap:6px;min-height:0;padding-bottom:4px}.opponent .avatar{width:28px;height:30px}.opponent .player-line strong,.player-line strong{font-size:18px}.opponent #cpu-caption,.opponent .side-chip{display:none}.rack-label{font-size:9px;margin-bottom:3px}.cpu-art{width:25px;height:30px}.cpu-card strong{font-size:12px}.cpu-rating{font-size:8px}.cpu-card summary{min-height:44px}.cpu-card p{width:200px;font-size:12px}.board-shell{width:min(calc(100% - 6px),max(240px,calc(100svh - 405px)));height:auto;aspect-ratio:1;min-height:0;margin:8px auto 6px}.arena-footer{gap:5px;min-height:0;padding:4px 0}.arena-footer .player-line{min-width:0}.arena-footer .avatar,.arena-footer .player-line>div,.arena-footer .captures{display:none}.arena-footer .player-line{width:auto;flex:0}.turn-chip{margin:0;padding:6px;font-size:10px}.board-toolbar{width:auto;flex:1;gap:4px}.tool-button{padding:6px 4px;min-height:36px;font-size:14px}.tool-button span{font-size:12px}.view-switch button{padding:6px}.board-caption{display:none}.cpu-recap{padding:6px 9px;margin-top:5px}.cpu-recap strong{font-size:16px}.cpu-recap span{font-size:11px}.workbench{gap:10px}.status-card{padding:6px 2px;min-height:0}.status-card h2{font-size:21px}.status-card p{font-size:12px}.sidebar{grid-template-columns:1fr 1fr}.section-heading h3{font-size:19px}#hand-panel{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:8px 10px max(8px,env(safe-area-inset-bottom));border:0;border-top:1px solid #a98a55;background:#101510fa;border-radius:12px 12px 0 0;box-shadow:0 -8px 28px #0008;display:flex;flex-direction:column}.hand-heading{margin:0 2px 6px}.hand-heading h2{font-size:20px}.hand-heading>span{font-size:10px;max-width:none}.hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:9px;padding:4px 2px}#hand .spell-card,.game-fx .card-burn.spell-card{padding:4px;min-width:0;flex:auto;border-width:1px;border-radius:5px}#hand .card-art,.game-fx .card-burn .card-art{height:45px}#hand .spell-card strong,.game-fx .card-burn strong{font-size:15px;min-height:32px;line-height:1.05;padding:3px 0;margin:0;border:0}#hand .card-text,#hand .card-mechanic,#hand .card-top>span:last-child,.game-fx .card-burn .card-text{display:none}#hand .card-top{min-height:18px;padding:0 0 3px}#hand .family-badge{font-size:8px;padding:2px;letter-spacing:0}#hand .family-badge>span{font-size:9px}#hand .card-rating{padding:3px 0 0;min-height:16px}#hand .tier-badge{font-size:8px;gap:2px}#hand .tier-badge>span{font-size:9px}#hand .spell-card.chosen:after{font-size:6px;top:-8px;padding:2px 5px}.hand-key{margin:4px 2px 0;font-size:9px}.hand-key button{font-size:10px;min-height:24px}#hand-panel .spell-workspace{order:-1;display:none;padding:0 0 8px;margin-bottom:7px;border-top:0;border-bottom:1px solid #b4905544;max-height:150px;overflow:auto;overscroll-behavior:contain}#hand-panel .spell-workspace.has-selection{display:block}.spell-preview{min-height:0;gap:8px}.preview-portrait{width:40px;height:53px}.preview-copy h3{font-size:20px;margin-bottom:3px}.preview-copy #card-instruction{font-size:12px;line-height:1.4;margin-top:4px}.preview-copy #selected-card-meta{display:none}.hand-controls{margin-top:5px}.hand-controls #normal-mode{min-height:32px;padding:6px;font-size:12px}#selected-card-example .veil-diagram{gap:5px}.flat-square{font-size:clamp(20px,7vw,32px)}body[data-mode=classic] .board-shell{width:calc(100% - 6px)}}@media(max-width:600px){.opponent.player-line{display:none}body[data-mode=cards][data-card-selected=true] .board-shell{width:min(calc(100% - 6px),max(180px,calc(100svh - 520px)))}#hand-panel .spell-workspace{max-height:110px}body[data-mode=classic] .opponent.player-line{display:flex}}@media(max-width:600px){.arena-footer .player-line{flex:0 0 auto}body[data-mode=cards][data-card-selected=true] .board-shell{width:min(calc(100% - 6px),max(160px,calc(100svh - 550px)))}#hand-panel .spell-workspace.has-selection{display:flex;flex-direction:column;max-height:120px}#hand-panel .spell-detail{overflow:auto;min-height:0;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}#hand-panel .hand-controls{flex-shrink:0}.spell-card.chosen:after{white-space:nowrap}}@media(max-width:600px)and (max-height:740px){#hand .card-art{height:30px}#hand .spell-card strong{font-size:14px;min-height:28px}.hand-heading h2{font-size:18px}.hand-key{margin-top:1px}}.cpu-preview{margin:8px 3px 12px;padding:10px 12px;background:#211a2de8;border:1px solid #b797db;border-radius:5px;color:#eadcfb}.cpu-preview>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.cpu-preview strong{font:600 20px var(--serif)}.cpu-preview button{flex-shrink:0;padding:7px 9px;background:#392b47;border:1px solid #9679b4;border-radius:3px;color:#f3e6ff;font-size:12px}.cpu-preview p{font-size:12px;line-height:1.45;margin:7px 0 0}.cpu-preview summary{cursor:pointer;font-size:11px;margin-top:6px;color:#cfb8e6}.cpu-preview details[open]{max-height:150px;overflow:auto}.cpu-preview #cpu-preview-note{color:#c0adc9;font-size:11px}.cpu-card[open]{outline:2px solid #c79cff;outline-offset:2px}.flat-square.preview-origin{box-shadow:inset 0 0 0 4px #c79cff}.flat-square.preview-destination:after{content:"";position:absolute;inset:30%;border:3px solid #b685ef;border-radius:50%;background:#c79cff44;pointer-events:none}body[data-cpu-preview=true] #hand .spell-card.chosen{outline-color:#a6a69b;box-shadow:none}body[data-cpu-preview=true] #hand .spell-card.chosen:after{content:"PAUSED";background:#bdbbb5}@media(max-width:600px){.cpu-preview{padding:8px;margin:6px 0}.cpu-preview strong{font-size:18px}.cpu-preview p{font-size:11px}.cpu-preview button{font-size:11px;padding:7px}.cpu-preview details[open]{max-height:100px}body[data-cpu-preview=true] .board-shell{width:min(calc(100% - 6px),max(160px,calc(100svh - 540px)))}body[data-cpu-preview=true][data-card-selected=true] .board-shell{width:min(calc(100% - 6px),max(160px,calc(100svh - 650px)))}}.controller-hint{padding:7px 14px;background:#18302a;color:#d6f5df;font-size:12px;line-height:1.5;border-bottom:1px solid #8bb99c}.controller-cursor{position:fixed;z-index:110;width:48px;height:48px;transform:translate(-50%,-50%);border:3px solid #fff6b1;border-radius:7px;box-shadow:0 0 0 2px #16251f,0 0 16px #fff6b166;color:#fff6b1;font:700 10px sans-serif;text-shadow:0 1px 3px black;pointer-events:none;padding:3px}.controller-focus{outline:3px solid #fff6b1!important;outline-offset:3px!important}.header-actions{gap:14px}@media(max-width:600px){.header-actions{gap:8px}.controller-hint{font-size:10px;padding:5px 10px}.controller-cursor{width:30px;height:30px;border-width:2px}.header-actions button{font-size:13px}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
