:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-pill:999px;--control-height:40px;--page-width:1120px;--page-gutter:var(--space-5);--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--bg:#f4f5f8;--surface:#fff;--surface-2:#f0f1f5;--text:#171923;--muted:#646a7e;--border:#e1e3ea;--border-strong:#cdd0da;--accent:#3657d6;--accent-hover:#2b48b8;--accent-soft:#e7ecfc;--on-accent:#fff;--success:#16794a;--success-soft:#e3f4ea;--warning:#9a6200;--warning-soft:#fbf0d9;--danger:#c0352b;--danger-soft:#fbe6e4;--focus:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--shadow:0 1px 2px #10121b0f, 0 4px 16px #10121b0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1117;--surface:#181b25;--surface-2:#1f2330;--text:#e9eaf1;--muted:#9195a8;--border:#272b3a;--border-strong:#353a4d;--accent:#7c97ff;--accent-hover:#95acff;--accent-soft:#232c4d;--on-accent:#0f1117;--success:#5fd39a;--success-soft:#16301f;--warning:#f2c063;--warning-soft:#33290f;--danger:#ff8b7f;--danger-soft:#3a1c1a;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1117;--surface:#181b25;--surface-2:#1f2330;--text:#e9eaf1;--muted:#9195a8;--border:#272b3a;--border-strong:#353a4d;--accent:#7c97ff;--accent-hover:#95acff;--accent-soft:#232c4d;--on-accent:#0f1117;--success:#5fd39a;--success-soft:#16301f;--warning:#f2c063;--warning-soft:#33290f;--danger:#ff8b7f;--danger-soft:#3a1c1a;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=640px){:root{--page-gutter:var(--space-4)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:var(--text-md) / 1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700;line-height:1.25}h2{font-size:var(--text-lg);font-weight:650;line-height:1.3}h3{font-size:var(--text-md);font-weight:650}a{color:var(--accent)}code,.mono{font-family:var(--font-mono);font-size:.92em}.muted{color:var(--muted)}h1+p,h2+p,h3+p{margin-top:var(--space-1)}.error{color:var(--danger)}:focus-visible{box-shadow:var(--focus);outline:none}.app{flex-direction:column;min-height:100vh;display:flex}.page{width:100%;max-width:var(--page-width);padding:var(--space-6) var(--page-gutter) var(--space-7);flex:1;margin:0 auto}.page>section{gap:var(--space-5);display:grid}:where(.page>section>*,.panel,.panel>*,.columns>*){min-width:0}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-head .subtitle{color:var(--muted);margin-top:var(--space-1)}.page-head .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-4);display:grid}.stack-sm{gap:var(--space-2);display:grid}.cluster{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.columns{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.topbar{z-index:10;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:var(--page-width);padding:0 var(--page-gutter);align-items:center;gap:var(--space-5);height:60px;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-2);letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px}.brand small{color:var(--muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.nav{gap:var(--space-1);scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;font-weight:550;text-decoration:none}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a.active{color:var(--text);background:var(--accent-soft)}@media (width<=640px){.topbar-inner{height:auto;padding-top:var(--space-3);padding-bottom:var(--space-2);row-gap:var(--space-2);flex-wrap:wrap}.topbar-inner .logout{margin-left:auto}.nav{margin:0 calc(-1 * var(--space-3));flex-basis:100%;order:3}}button,.button{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font:600 var(--text-md) / 1 var(--font);white-space:nowrap;cursor:pointer;border:1px solid #0000;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--surface-2)}button.ghost{color:var(--muted);background:0 0}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.danger{background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, #000)}button.danger-ghost{color:var(--danger);background:0 0}button.danger-ghost:hover:not(:disabled){background:var(--danger-soft)}button.small,.button.small{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}button.icon{width:32px;height:32px;padding:0}button.link{height:auto;color:var(--accent);background:0 0;padding:0;font-weight:550}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.block{width:100%}input,select,textarea{font:var(--text-md) / 1.4 var(--font);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}input,select{height:var(--control-height);padding:0 var(--space-3)}textarea{padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}input[type=number]{width:80px}.field{gap:var(--space-2);font-size:var(--text-sm);font-weight:600;display:grid}.field .hint{color:var(--muted);font-weight:400}.check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;font-weight:600;display:inline-flex}.check input[type=checkbox]{width:auto;height:auto;accent-color:var(--accent);box-shadow:none;margin:0}.check .hint{color:var(--muted);font-weight:400}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;display:grid}.inline-form{gap:var(--space-3);flex-wrap:wrap;display:flex}.inline-form>input,.inline-form>select{flex:200px;width:auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5);gap:var(--space-4);align-content:start;display:grid}.panel.flush{gap:0;padding:0;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.panel.flush>.panel-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.panel-head p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1)}@media (width<=640px){.panel{padding:var(--space-4)}.panel.flush>.panel-head{padding:var(--space-3) var(--space-4)}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-md)}th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);font-weight:650}th,td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}td.num,th.num{text-align:right}td .secondary-text{overflow-wrap:anywhere;color:var(--muted);font-size:var(--text-sm);display:block}@media (width<=640px){th,td{padding:var(--space-3) var(--space-4)}}.badge{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;background:var(--surface-2);color:var(--muted);font-weight:650;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.success,.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-size:var(--text-sm);font-weight:550}.chip:hover:not(:disabled){background:var(--surface-2)}.chip.active,.chip.active:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.notice{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;display:flex}.notice>p{flex:240px}.notice.info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.notice.success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.notice.warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.notice.error{color:var(--text);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.copy-field{gap:var(--space-2);width:100%;display:flex}.copy-field input{font-family:var(--font-mono);font-size:var(--text-sm)}.empty-state{justify-items:center;gap:var(--space-3);text-align:center;padding:var(--space-7) var(--space-5);color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);display:grid}.empty-state h2{color:var(--text)}.issues{padding-left:var(--space-5);gap:var(--space-1);color:var(--danger);margin:0;display:grid}.list{margin:0;padding:0;list-style:none;display:grid}.list li{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.list li:last-child{border-bottom:0}.panel.flush .list li{padding:var(--space-2) var(--space-5)}.list a{font-weight:600;text-decoration:none}.list a:hover{text-decoration:underline}.stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);gap:var(--space-1);display:grid}.stat .label{font-size:var(--text-sm);color:var(--muted)}.stat .value{letter-spacing:-.02em;font-size:28px;font-weight:750}.legal{max-width:var(--page-width);padding:var(--space-5) var(--page-gutter);font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--border);margin:0 auto}.auth{align-content:center;place-items:center;gap:var(--space-5);min-height:100vh;padding:var(--space-6) var(--page-gutter);display:grid}.auth-card{gap:var(--space-5);width:min(400px,100%);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:grid}.auth-card header{justify-items:center;gap:var(--space-2);text-align:center;display:grid}.auth-card header .brand-mark{width:44px;height:44px}.auth-card header p{color:var(--muted)}.auth-card form{gap:var(--space-4);display:grid}.auth .legal{text-align:center;border-top:0;max-width:560px;padding:0}.panel-pad{padding:var(--space-4) var(--space-5)}select.compact{width:auto;height:32px;font-size:var(--text-sm)}.stepper{align-items:center;gap:var(--space-2);display:inline-flex}.stepper .count{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-weight:650}.facts{gap:var(--space-2) var(--space-4);grid-template-columns:auto 1fr;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}label.button{position:relative}label.button.disabled{opacity:.45;pointer-events:none}@media (width<=640px){.hide-sm{display:none}}.scan-layout{gap:var(--space-5);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=860px){.scan-layout{grid-template-columns:1fr}}.scan-qr{gap:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.scan-qr svg{border-radius:var(--radius);background:#fff;flex:none}.scan-qr .stack-sm{flex:220px;min-width:0}.scan-qr .mono{overflow-wrap:anywhere}.scanner{--scrim:#0000008c;z-index:100;color:#fff;background:#000;position:fixed;inset:0;overflow:hidden}.scanner>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner button.round,.scanner label.round{border-radius:var(--radius-pill);background:var(--scrim);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;place-items:center;width:48px;height:48px;padding:0;display:grid}.scanner .pill{height:48px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--scrim);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;font-weight:700}.scanner-top{inset:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) auto;z-index:1;justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.scanner-tools{justify-items:end;gap:var(--space-3);grid-template-columns:auto auto;display:grid}.scanner-tools>:not(.pill){grid-column:2}.scanner-tools>.pill+*{grid-row:1}.scan-frame{--frame:var(--accent);aspect-ratio:63/88;width:min(88vw,44.3864vh);position:absolute;top:54%;left:50%;translate:-50% -50%}.scan-frame.found{--frame:var(--success)}.scan-frame .corner{border:4px solid var(--frame);width:32%;height:22%;transition:border-color .2s;position:absolute}.corner.tl{border-top-left-radius:var(--radius-lg);border-width:4px 0 0 4px;top:0;left:0}.corner.tr{border-top-right-radius:var(--radius-lg);border-width:4px 4px 0 0;top:0;right:0}.corner.bl{border-bottom-left-radius:var(--radius-lg);border-width:0 0 4px 4px;bottom:0;left:0}.corner.br{border-bottom-right-radius:var(--radius-lg);border-width:0 4px 4px 0;bottom:0;right:0}.scan-status{max-width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.scan-messages{inset:auto 0 calc(100% + var(--space-3));justify-items:center;gap:var(--space-2);display:grid;position:absolute}.scan-preview{border-radius:var(--radius-sm);max-width:100%;height:36px}.scan-preview[hidden]{display:none}.scan-status.found{background:var(--success)}.code-band{inset:auto var(--space-1) 3%;border-radius:var(--radius-sm);border:1px dashed #ffffffb3;height:9%;position:absolute}.scan-read{max-width:100%;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--scrim);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scanner-retry{inset:auto var(--space-4) 30%;display:grid;position:absolute}.scanner-bottom{inset:auto var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));gap:var(--space-2);display:grid;position:absolute}.last-card{align-items:center;gap:var(--space-3);width:100%;height:auto;min-height:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;border:0;display:flex}.scanner-bottom .last-card{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.last-card-text{gap:var(--space-1);flex:1;min-width:0;display:grid}.last-card-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.last-card-text .badge{margin-left:var(--space-2)}.qty{border-radius:var(--radius);background:var(--accent-soft);place-items:center;min-width:40px;height:40px;font-weight:700;display:grid}.thumb{aspect-ratio:63/88;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2);flex:none;width:44px}.thumb.large{width:80px}.thumb.blank{font-size:var(--text-xs);color:var(--muted);place-items:center;display:grid}.scanned>li{border:0;padding:0}.sheet-backdrop{z-index:2;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.sheet-dismiss{background:var(--scrim);border:0;border-radius:0;flex:1}.sheet{gap:var(--space-3);max-height:75vh;padding:var(--space-4) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);color:var(--text);display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.choice-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.choice{justify-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);display:grid}.choice .thumb{width:100%}.edit-sheet{z-index:3;background:var(--bg);color:var(--text);flex-direction:column;display:flex;position:absolute;inset:0}.edit-head{align-items:center;gap:var(--space-3);padding:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) var(--space-3);display:flex}.edit-head h1{font-size:var(--text-xl);text-transform:uppercase;margin:0;font-style:italic}.scanner .edit-head button.round.light{background:var(--surface-2);color:var(--text);-webkit-backdrop-filter:none;backdrop-filter:none}.edit-body{align-content:start;gap:var(--space-4);padding:0 var(--space-4) var(--space-4);flex:1;display:grid;overflow-y:auto}.edit-card{align-items:flex-start;gap:var(--space-3);display:flex}.edit-card strong{white-space:normal}.stepper{border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;display:flex}.stepper button{padding:var(--space-3) var(--space-4);color:var(--text)}.edit-foot{gap:var(--space-3);padding:var(--space-4) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.edit-foot button{text-transform:uppercase;height:52px}.filters{gap:var(--space-3);display:grid}.filters input[type=search]{max-width:400px}.chip[class*=domain-]:before{content:"";background:var(--d1);width:8px;height:8px;margin-right:var(--space-2);border-radius:50%;display:inline-block}.domain-neutral{--d1:#8a8fa3}.domain-fury{--d1:#d9483b}.domain-calm{--d1:#3f9e6e}.domain-mind{--d1:#3b7fd9}.domain-body{--d1:#e08a2e}.domain-chaos{--d1:#8b4fd1}.domain-order{--d1:#d4b13a}.second-fury{--d2:#d9483b}.second-calm{--d2:#3f9e6e}.second-mind{--d2:#3b7fd9}.second-body{--d2:#e08a2e}.second-chaos{--d2:#8b4fd1}.second-order{--d2:#d4b13a}.card-text{font-style:italic}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}@media (width<=640px){.card-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.card-tile{aspect-ratio:63/88;border-radius:var(--radius);background:linear-gradient(160deg, var(--d1), var(--d2,var(--d1)));width:100%;box-shadow:var(--shadow);align-self:start;margin:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.card-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0000004d}.card-tile img{object-fit:cover;width:100%;height:100%;display:block}.card-face{color:#f1f1f5;padding:var(--space-2);background:#171922;border-radius:7px;grid-template-rows:auto minmax(0,1.4fr) auto auto minmax(0,1fr) auto;gap:2px;font-size:11px;line-height:1.3;display:grid;position:absolute;inset:5px}.card-top{gap:var(--space-1);min-height:22px;display:flex}.card-top .cost,.card-top .power,.card-bottom .might{border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.card-top .cost,.card-bottom .might{color:#171922;background:#f1f1f5}.card-top .power{background:var(--d1);color:#fff}.card-art{margin:var(--space-1) 0;background:linear-gradient(160deg, color-mix(in srgb, var(--d1) 55%, #000), color-mix(in srgb, var(--d2,var(--d1)) 35%, #000));color:#ffffff40;border-radius:5px;place-items:center;font-size:34px;font-weight:800;display:grid}.card-name{font-size:12px;font-weight:700}.card-type{color:#a9acbd;font-size:10px}.card-face .card-text{color:#d8d9e2;margin:0;overflow:hidden}.card-bottom{color:#8f92a5;justify-content:space-between;align-items:center;font-size:10px;display:flex}.card-tile .quantity{top:var(--space-2);right:var(--space-2);color:#fff;border-radius:var(--radius-pill);padding:1px var(--space-2);background:#000000bf;font-size:12px;font-weight:700;position:absolute}.card-tile .foil-badge{top:34px;right:var(--space-2);color:#171922;border-radius:var(--radius-pill);background:linear-gradient(90deg,#ffd86b,#ff8ad8,#7ad7ff);padding:0 7px;font-size:10px;font-weight:700;position:absolute}.card-tile .example-badge{top:calc(var(--space-6) + 2px);right:var(--space-2);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-pill);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:700;position:absolute}.card-tile.example{outline:2px dashed var(--accent);outline-offset:2px}.card-tile.foil:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 30%,#ffffff38 45%,#0000 60%);position:absolute;inset:0}.page:has(.game-page){max-width:none}.game-page{display:block}.table-stage{border-radius:var(--radius-lg);width:100%;position:relative;overflow:hidden}.table{--felt:#2b5a50;--felt-deep:#1a3d37;--wood:#6b4c2f;--wood-deep:#3b2a1d;--brass:#c9a45c;--mine:#4fc3d9;--theirs:#e07a5f;--landing:#4fd1a5;--ink:#f2efe6;--ink-muted:#f2efe68c;transform-origin:50% 0;width:1280px;height:800px;color:var(--ink);-webkit-user-select:none;user-select:none;background:radial-gradient(70% 60% at 50% 55%,#1e3a36,#0f1d1c 60%,#090f10);margin-left:-640px;position:absolute;top:0;left:50%;overflow:hidden}.table-label{left:var(--space-3);top:var(--space-1);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);position:absolute}.gcard{--cw:72px;width:var(--cw);height:calc(var(--cw) * 1.4);border-radius:calc(var(--cw) * .06);box-shadow:0 0 0 1.5px var(--d1,#555), 0 4px 10px #00000073;color:#f4f1e8;touch-action:none;background:#171922;flex:none;transition:transform .18s,box-shadow .18s,opacity .18s;position:relative;overflow:hidden}.gcard img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.gcard.is-source{cursor:grab;box-shadow:0 0 0 1.5px var(--d1,#555), 0 0 0 3px #4fc3d973, 0 4px 10px #00000073}.gcard.is-selected{box-shadow:0 0 0 2px var(--mine), 0 0 18px #4fc3d9b3}.gcard.is-target{outline:2px dashed var(--landing);outline-offset:3px;cursor:pointer}.gcard.is-target.is-hover{outline-style:solid}.gcard.exhausted{opacity:.8;transform:rotate(90deg)scale(.78)}.gcard.is-lifted{opacity:.25}.gcard-face{background:linear-gradient(160deg, var(--d1,#555), color-mix(in srgb, var(--d1,#555) 30%, #0d1016));position:absolute;inset:0}.gcard-art{font-size:calc(var(--cw) * .45);color:#ffffff4d;place-items:center;font-weight:700;display:grid;position:absolute;inset:0 0 34%}.gcard-plate{height:34%;padding:calc(var(--cw) * .05) calc(var(--cw) * .06);border-top:2px solid var(--d1,#555);background:linear-gradient(#1b212d,#0f131a);align-content:start;gap:1px;display:grid;position:absolute;inset:auto 0 0}.gcard-name{font-size:calc(var(--cw) * .105);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;line-height:1.1;display:-webkit-box;overflow:hidden}.gcard-type{font-size:calc(var(--cw) * .08);text-transform:uppercase;letter-spacing:.04em;color:#a9b0bd}.gcard-cost{top:calc(var(--cw) * .05);left:calc(var(--cw) * .05);min-width:calc(var(--cw) * .22);height:calc(var(--cw) * .22);border:1.5px solid var(--d1,#555);font-weight:700;font-size:calc(var(--cw) * .14);background:#0d1016;border-radius:999px;grid-auto-flow:column;place-items:center;padding:0 2px;display:grid;position:absolute}.gcard-cost em{font-size:.7em;font-style:normal}.gcard-might{right:calc(var(--cw) * .05);bottom:calc(34% - var(--cw) * .12);min-width:calc(var(--cw) * .24);height:calc(var(--cw) * .24);background:var(--d1,#555);color:#0d1016;font-weight:700;font-size:calc(var(--cw) * .16);border-radius:4px;place-items:center;display:grid;position:absolute}.gcard-damage{top:calc(var(--cw) * .05);right:calc(var(--cw) * .05);background:var(--danger);color:#fff;font-weight:700;font-size:max(11px, calc(var(--cw) * .15));border-radius:3px;padding:0 4px;position:absolute}.gcard-adjust{height:22px;min-height:0;padding:0 var(--space-2);font-size:var(--text-xs);background:var(--danger);color:#fff;border:0;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.gcard.back{background:repeating-linear-gradient(45deg,#1c2536 0 6px,#18202f 6px 12px);box-shadow:0 0 0 1.5px #3a4660,0 3px 8px #00000080}.gcard.back:after{content:"";border:1.5px solid var(--brass);opacity:.65;border-radius:3px;position:absolute;inset:20% 24%;transform:rotate(45deg)}.gcard-ghost{z-index:1000;pointer-events:none;transform-origin:0 0;box-shadow:0 0 0 1.5px var(--d1,#555), 0 18px 40px #0009;transition:none;position:fixed;top:0;left:0}.gcard-ghost.is-returning{transition:transform .2s}.table-perspective{perspective:1500px;perspective-origin:50% 20%;height:560px;position:absolute;top:46px;left:150px;right:150px}.table-mat{gap:var(--space-3);padding:var(--space-5) var(--space-5);transform-origin:50% 100%;background:radial-gradient(ellipse at 50% 50%, var(--felt), var(--felt-deep) 70%);box-shadow:inset 0 0 0 10px var(--wood-deep), inset 0 0 0 12px var(--wood), inset 0 0 60px #0000008c, 0 30px 60px #0009;border-radius:26px;grid-template-rows:1fr 1.5fr 1fr;display:grid;position:absolute;inset:0;transform:rotateX(26deg)}.table-mat.is-landing{box-shadow:inset 0 0 0 10px var(--wood-deep), inset 0 0 0 12px var(--landing), inset 0 0 60px #0000008c, 0 30px 60px #0009}.table-row{gap:var(--space-3);grid-template-columns:1fr auto;align-items:center;min-height:0;display:grid}.table-base{justify-content:center;align-items:center;gap:var(--space-3);height:100%;padding:var(--space-5) var(--space-3) var(--space-2);border-radius:var(--radius-lg);background:#0000001f;border:1px solid #ffffff14;transition:background-color .15s;display:flex;position:relative}:where(.table-base,.table-battlefield-side)>.gcard+.gcard{margin-left:var(--squeeze,0px)}:where(.table-base,.table-battlefield-side)>.gcard:hover{z-index:2}.table-piles{gap:var(--space-3);align-items:center;display:flex}.table-pile{justify-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ink-muted);display:grid}.table-pile-empty{border:1px dashed #ffffff26;border-radius:4px;width:54px;height:76px}.table-battlefields{gap:var(--space-5);min-height:0;display:grid}.table-battlefield{border-radius:var(--radius-lg);background:#00000026;grid-template-rows:1fr auto 1fr;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff12}.table-battlefield.mine{box-shadow:inset 0 0 0 2px #4fc3d999}.table-battlefield.theirs{box-shadow:inset 0 0 0 2px #e07a5f99}.table-battlefield.contested{box-shadow:inset 0 0 0 2px var(--brass), 0 0 24px #c9a45c59}.table-battlefield-side{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2);min-height:0;transition:background-color .15s;display:flex}.table-battlefield-band{justify-content:center;align-items:center;gap:var(--space-3);height:54px;display:flex;position:relative;overflow:hidden}.table-battlefield-art{opacity:.55;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--d1) 60%, transparent), transparent) center / cover;position:absolute;inset:0}.table-battlefield-band strong{font-size:var(--text-lg);text-shadow:0 2px 6px #000;position:relative}.table-flag{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;background:#00000073;position:relative}.mine .table-flag{color:var(--mine)}.theirs .table-flag{color:var(--theirs)}.table .is-landing{outline:2px dashed var(--landing);outline-offset:-2px;cursor:pointer}.table .is-landing.is-hover,.table [data-target].is-hover{background-color:#4fd1a529;outline-style:solid}.table-hud{gap:var(--space-2);z-index:5;display:grid;position:absolute}.table-hud.top-left{left:var(--space-5);top:var(--space-5)}.table-hud.bottom-left{left:var(--space-5);bottom:var(--space-5)}.table-hud.top-right{right:var(--space-5);top:var(--space-5);width:230px}.table-hud.bottom-right{right:var(--space-6);justify-items:end;bottom:150px}.table-who{align-items:center;gap:var(--space-3);display:flex}.table-who strong{font-size:var(--text-lg);display:block}.table-who small{font-size:var(--text-xs);letter-spacing:.06em;color:var(--ink-muted)}.table-gems{gap:var(--space-1);display:flex}.table-gems i{clip-path:polygon(50% 0,100% 35%,50% 100%,0 35%);background:#ffffff1f;width:13px;height:18px}.table-gems.me i.on{background:var(--mine)}.table-gems.them i.on{background:var(--theirs)}.table-runes{gap:var(--space-1);flex-wrap:wrap;max-width:180px;display:flex}.table-rune{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--d1) 70%, white), var(--d1) 55%, color-mix(in srgb, var(--d1) 50%, black));width:24px;height:24px;min-height:0;box-shadow:0 0 0 1.5px #00000080, 0 0 10px color-mix(in srgb, var(--d1) 60%, transparent);border:0;border-radius:50%;padding:0;transition:transform .2s,filter .2s}.table-rune:disabled{cursor:default;opacity:1}.table-rune.is-source{cursor:pointer;box-shadow:0 0 0 2px var(--mine), 0 0 12px color-mix(in srgb, var(--d1) 70%, transparent)}.table-rune.exhausted{filter:grayscale(.85)brightness(.55);transform:rotate(90deg)scale(.9)}.table-energy{text-align:center;background:radial-gradient(circle at 40% 35%,#8fe9ff,#1f7f9c 55%,#0d3442);border-radius:50%;place-content:center;width:70px;height:70px;line-height:1;display:grid;box-shadow:0 0 24px #4fc3d973}.table-energy strong{font-size:28px}.table-energy .table-energy-more{letter-spacing:.04em;text-transform:none;margin-top:2px}.table-energy small{letter-spacing:.12em;text-transform:uppercase;color:#d8f6ff;font-size:10px}.table-power{gap:var(--space-1);display:grid}.table-power span{background:var(--d1);color:#0d1016;min-width:22px;height:22px;font-weight:700;font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid}.table-status{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);border:1px solid #ffffff14;border-left:3px solid var(--brass);font-size:var(--text-sm);background:#060c0cb3;display:grid}.table-status p{color:#f2efe6d9;margin:0}.table-chain{padding-left:var(--space-4);gap:var(--space-1);margin:0;display:grid}.table-chain li.mine{color:var(--mine)}.table-chain em{color:var(--ink-muted)}.table-status .table-error{color:#ffb4a8}.table-main{border:2px solid var(--brass);width:118px;height:118px;color:var(--brass);font-size:var(--text-lg);white-space:normal;background:radial-gradient(circle at 50% 35%,#3a3120,#1c170f);border-radius:50%;line-height:1.15;box-shadow:0 0 0 6px #c9a45c1f,0 10px 30px #00000080}.table-main:hover:not(:disabled){background:radial-gradient(circle at 50% 35%,#4a3e26,#241d12)}.table-main:disabled{color:#6c6150;box-shadow:none;background:#1c170f;border-color:#4a4232}.table-extra{color:var(--ink);border:1px solid var(--brass);background:#060c0ccc}.table-opponent-hand{position:absolute;top:-50px;left:50%}.table-opponent-hand .gcard{transform-origin:50% 0;position:absolute}.table-hand{z-index:6;position:absolute;bottom:0;left:50%}.table-hand .gcard{z-index:var(--z);transform:var(--fan);transform-origin:50% 120%;position:absolute;bottom:-40px}.table-hand .gcard:hover,.table-hand .gcard.is-selected{z-index:20;transform:translateY(-90px)scale(1.18)}.table-preview{left:var(--space-4);z-index:30;gap:var(--space-2);pointer-events:none;max-width:210px;display:grid;position:absolute;top:170px}.table-preview p{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#060c0cd9;margin:0}.table-overlay{z-index:40;background:#05080ab8;place-items:center;display:grid;position:absolute;inset:0}.table-mulligan,.table-end{justify-items:center;gap:var(--space-4);text-align:center;display:grid}.table-mulligan>strong,.table-end>strong{color:var(--brass);font-size:40px}.table-mulligan p{color:#f2efe6cc;margin:0}.table-mulligan-hand{justify-content:center;gap:var(--space-3);flex-wrap:wrap;max-width:1000px;display:flex}.table-mulligan-card{background:0 0;border:0;height:auto;min-height:0;padding:0}.table-mulligan-card:hover:not(:disabled) .gcard{transform:translateY(-6px)}.table-mulligan-card[aria-pressed=true]:not(:disabled) .gcard{box-shadow:0 0 0 3px var(--danger), 0 10px 24px #00000080;transform:translateY(-12px)}@media (prefers-reduced-motion:reduce){.gcard,.table-rune,.gcard-ghost.is-returning{transition:none}}.demo-banner{margin-bottom:var(--space-5)}
