:root{color:#e9edf5;font-synthesis:none;--panel:#111722;--panel-2:#171f2c;--line:#2b3545;--ink-muted:#96a2b5;--green:#a7f432;--cyan:#39d9c8;--orange:#ff8655;background:#080b12;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -20%,#1a2a36 0,#0000 35%),#080b12;min-width:320px;min-height:100vh;margin:0}button,select,input,textarea{font:inherit}button{color:inherit;cursor:pointer;background:#182130;border:1px solid #354155;border-radius:7px;padding:.72rem 1rem;transition:all .16s}button:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:#091006;background:var(--green);border-color:var(--green);font-weight:800}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-nav{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#080b12e0;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0}.top-nav button{color:var(--ink-muted);background:0 0;border:0;padding:.55rem .7rem}.top-nav button.active{color:#fff;border-bottom:2px solid var(--green);border-radius:0}.top-nav .brand{color:#fff;align-items:center;gap:.7rem;font-size:1rem;display:flex}.brand span{color:#091006;background:var(--green);border-radius:6px;place-items:center;width:34px;height:34px;font-family:DM Mono;font-weight:500;display:grid}main{flex:1;width:min(1500px,100% - 2rem);margin:0 auto;padding:3.5rem 0}.eyebrow{letter-spacing:.14em;color:var(--green);margin:0 0 .7rem;font:500 .75rem ui-monospace,monospace}h1,h2,h3,h4,p{margin-top:0}.home{place-items:center;display:grid}.hero{width:min(980px,100%);padding:8vh 0 5rem}.hero h1{letter-spacing:-.07em;max-width:900px;margin-bottom:1.4rem;font-size:clamp(3.4rem,8vw,7.8rem);line-height:.9}.hero>p:not(.eyebrow){max-width:650px;color:var(--ink-muted);font-size:1.15rem;line-height:1.7}.hero-actions,.setting-actions{flex-wrap:wrap;gap:.7rem;display:flex}.accuracy-banner{border:1px solid var(--green);background:#a7f43210;flex-wrap:wrap;gap:.7rem 1.2rem;margin:1.6rem 0;padding:1rem 1.2rem;display:flex}.accuracy-banner strong{color:var(--green)}.accuracy-banner span{color:var(--ink-muted)}.feature-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;width:min(1200px,100%);display:grid}.home-workflows{grid-template-columns:repeat(5,1fr)}.feature-grid button{text-align:left;background:#0e141e;border:0;border-radius:0;flex-direction:column;gap:.8rem;min-height:200px;display:flex}.feature-grid span{color:var(--green);font:.75rem DM Mono}.feature-grid strong{font-size:1.25rem}.feature-grid small{color:var(--ink-muted);line-height:1.5}.page-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem;display:flex}.page-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem)}.page-heading>p{color:var(--ink-muted);max-width:580px;line-height:1.6}.settings-grid{grid-template-columns:repeat(6,minmax(140px,1fr));align-items:end;gap:1rem;margin-bottom:1.5rem;display:grid}label{color:var(--ink-muted);gap:.45rem;font-size:.78rem;font-weight:700;display:grid}select,input{color:#fff;border:1px solid var(--line);background:#101722;border-radius:6px;width:100%;padding:.72rem}.builder-page{width:min(1800px,100% - 2rem)}.builder-layout{grid-template-columns:minmax(0,1.55fr) minmax(430px,.85fr);align-items:start;gap:1rem;display:grid}.catalogue-panel,.current-deck-panel{border:1px solid var(--line);background:#0f141ee6}.catalogue-panel{min-width:0;padding:1rem}.current-deck-panel{max-height:calc(100vh - 105px);padding:1rem;position:sticky;top:88px;overflow-y:auto}.panel-title,.deck-editor-heading,.card-details-head,.detail-attack{justify-content:space-between;align-items:start;gap:1rem;display:flex}.panel-title h2,.deck-editor-heading h2{margin-bottom:.25rem}.panel-title small{color:var(--ink-muted)}.filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:.65rem;margin:1rem 0;display:grid}.filter-grid label{min-width:0}.catalogue-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-height:900px;padding-right:.2rem;display:grid;overflow-y:auto}.catalogue-card{border:1px solid var(--line);cursor:pointer;background:#101722;border-top:3px solid #506078;border-radius:7px;flex-direction:column;align-items:start;gap:.45rem;min-height:210px;padding:.85rem;display:flex}.catalogue-card:hover{border-color:var(--green)}.catalogue-card h3{margin:.15rem 0 0;font-size:1rem}.catalogue-card p,.catalogue-card small{color:var(--ink-muted);margin:0;line-height:1.35}.catalogue-card>button{width:100%;margin-top:auto}.support-badge{text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:.22rem .42rem;font:.6rem ui-monospace,monospace;display:inline-block}.support-badge.complete{color:#081006;background:var(--green)}.support-badge.generated{color:#071412;background:var(--cyan)}.support-badge.partial{color:#151006;background:#f4c95d}.support-badge.unsupported{color:#fff;background:#a94343}.result-limit{color:var(--ink-muted);text-align:center;padding:.8rem}.deck-editor-heading{align-items:end;margin-bottom:.8rem}.deck-editor-heading label{flex:1}.favourite.active{color:#111;background:#f4c95d;border-color:#f4c95d}.deck-counts{background:var(--line);grid-template-columns:1.4fr repeat(3,1fr);gap:1px;margin:1rem 0;display:grid}.deck-counts>*{background:#0b1018;padding:.75rem}.deck-counts strong{font-size:1.8rem}.deck-counts small{color:var(--ink-muted);margin-left:.25rem;font-size:.7rem}.deck-counts span{color:var(--ink-muted);font-size:.68rem;display:grid}.deck-counts b{color:#fff;font-size:1.05rem}.deck-toolbar{grid-template-columns:auto auto auto 1fr 1fr;gap:.4rem;margin-bottom:1rem;display:grid}.deck-section{margin-top:1rem}.deck-section h3{border-bottom:1px solid var(--line);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;padding-bottom:.4rem;font:.7rem ui-monospace,monospace}.deck-row{border-bottom:1px solid #222c3a;grid-template-columns:minmax(120px,1fr) auto 115px auto;align-items:center;gap:.45rem;padding:.5rem 0;display:grid}.deck-card-name{text-align:left;background:0 0;border:0;padding:0}.deck-card-name small{color:var(--ink-muted);margin-top:.15rem;display:block}.quantity{grid-template-columns:32px 45px 32px;display:grid}.quantity button,.quantity input{text-align:center;border-radius:0;padding:.42rem .2rem}.quantity input{appearance:textfield}.remove,.danger{color:#ff9d8f;border-color:#763c3c}.validation-panel{border:1px solid var(--line);background:#0b1018;margin-top:1rem;padding:.85rem}.validation-panel h3{margin-bottom:.6rem}.validation-panel p{margin:.35rem 0;font-size:.72rem;line-height:1.4}.validation-panel .error{color:#ff9d8f}.validation-panel .warning{color:#f4c95d;background:0 0;border:0;padding:0}.validation-panel .valid{color:var(--green)}.validation-panel small{color:var(--ink-muted)}.builder-actions,.tile-actions{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.notice{color:var(--green);border:1px solid #517328;margin-top:.8rem;padding:.7rem}.details-scrim{z-index:50;background:#000a;justify-content:end;display:flex;position:fixed;inset:0}.details-scrim>div{width:min(620px,100%);height:100%}.card-details{border-left:1px solid var(--line);background:#101722;height:100%;padding:1.5rem;overflow-y:auto;box-shadow:-20px 0 50px #0008}.card-details section{border:1px solid var(--line);background:#0b1018;margin:1rem 0;padding:1rem}.card-details p{color:#c1cad8;line-height:1.55}.detail-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.detail-meta span{border:1px solid var(--line);color:var(--ink-muted);padding:.3rem .5rem;font-size:.7rem}.limitation{font-size:.8rem;color:#f4c95d!important}.tile-actions{margin-top:1rem}.deck-tile details{color:var(--ink-muted);margin-top:1rem}.deck-tile details small{color:var(--ink-muted)}.planned-decks{border:1px solid var(--line);color:var(--ink-muted);margin-top:1.5rem;padding:1rem}.planned-decks div{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.planned-decks span{background:#101722;padding:.4rem .6rem;font-size:.75rem}.launch-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.opponent-checks{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.opponent-checks label,.presets label{align-items:center;gap:.45rem;display:flex}.opponent-checks input,.presets input{width:auto}.development-gate,.error-callout{color:#f4c95d;background:#f4c95d0b;border:1px solid #f4c95d;margin-top:1rem;padding:1rem}.error-callout{color:#ffad9f;border-color:#ff806f}.diagnostic-stats{background:var(--line);grid-template-columns:repeat(5,1fr);gap:1px;margin-bottom:1rem;display:grid}.diagnostic-stats article{background:#101722;padding:1.2rem}.diagnostic-stats strong{font-size:2rem;display:block}.diagnostic-stats span{color:var(--ink-muted);text-transform:uppercase;font-size:.7rem}.loading{place-content:center;min-height:80vh;display:grid}.loading h1{font-size:clamp(2.5rem,6vw,6rem)}.checks{flex-direction:column;gap:.6rem;display:flex}.checks label{align-items:center;gap:.5rem;display:flex}.checks input{width:auto;accent-color:var(--green)}.setting-actions{grid-column:1/-1}.game-layout{grid-template-columns:minmax(0,1fr) 340px;gap:1rem;display:grid}.board-panel,.actions-panel,.lab-panel,.report,.rules-columns section,.replay-box{border:1px solid var(--line);background:#0f141ee0}.zone-summary{color:var(--ink-muted);gap:1rem;font:.72rem DM Mono;display:flex}.zone-summary b{color:#fff}.field-row{grid-template-columns:190px 1fr;align-items:start;gap:1rem;display:grid}.field-row h4,.player-field h4{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;margin:.8rem 0 .45rem;font-size:.72rem}.card-row{gap:.45rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.card{background:linear-gradient(145deg,#202b3b,#111722);border:1px solid #3a475a;border-radius:8px;width:178px;min-width:178px;min-height:180px;padding:.75rem;font-size:.76rem;box-shadow:0 10px 24px #0005}.card.compact{width:132px;min-width:132px;min-height:105px}.card.empty{color:var(--ink-muted);border-style:dashed;place-items:center;display:grid}.card-pokemon{border-top:3px solid var(--orange)}.card-trainer{border-top:3px solid var(--cyan)}.card-energy{border-top:3px solid var(--green)}.card-heading{flex-direction:column;gap:.25rem;display:flex}.card-heading strong{font-size:.88rem}.card-heading span,.card-meta{color:var(--ink-muted);font:.6rem DM Mono}.card-meta{gap:.4rem;margin:.5rem 0;display:flex}.damage{color:#ffd1bd;margin:.5rem 0}.attack{border-top:1px solid #394457;justify-content:space-between;padding:.5rem 0;display:flex}.hand .card{background:linear-gradient(145deg,#263449,#151d29)}.hidden-hand{justify-content:flex-end;height:30px;padding-right:1rem;display:flex}.hidden-hand span{background:#222d3d;border:1px solid #46536a;border-radius:3px;width:20px;margin-left:-7px}.turn-strip{background:var(--green);color:#101708;flex-wrap:wrap;gap:1.4rem;padding:.65rem 1rem;font:.7rem DM Mono;display:flex}.actions-panel{max-height:910px;padding:1rem;overflow:auto}.actions-panel h3{text-transform:uppercase;letter-spacing:.08em;margin:.5rem 0 1rem;font-size:.85rem}.effect-choice-status{border:1px solid var(--cyan);background:#39d9c80d;gap:.35rem;margin-bottom:.8rem;padding:.8rem;display:grid}.effect-choice-status span,.effect-choice-status small{color:var(--ink-muted)}.coin-result{background:#f4c95d0d;border-left:3px solid #f4c95d;margin-bottom:.8rem;padding:.65rem}.action{text-align:left;width:100%;margin-bottom:.45rem;font-size:.8rem}.action-attack{border-color:var(--orange)}.action-end-turn{border-color:var(--green)}.action-log{margin:0;padding:0;list-style:none}.action-log li{border-top:1px solid var(--line);color:var(--ink-muted);grid-template-columns:35px 1fr;gap:.4rem;padding:.45rem 0;font-size:.72rem;display:grid}.action-log span{color:var(--green);font-family:DM Mono}.result{color:#101708;background:var(--green);justify-content:space-between;margin-bottom:1rem;padding:1rem;display:flex}.lab-panel,.report{margin-bottom:1rem;padding:1.5rem}.import-layout{grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);gap:1rem;display:grid}.import-editor,.import-report{border:1px solid var(--line);background:#0f141ee0;padding:1.25rem}.import-editor textarea{resize:vertical;color:#e8eef8;border:1px solid var(--line);background:#080c12;border-radius:6px;min-height:520px;padding:1rem;font:.8rem/1.65 ui-monospace,monospace}.import-editor label+label{margin-top:1rem}.import-actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.import-summary{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:1rem;display:grid}.import-summary article{background:#0e141e;border-top:3px solid #758197;gap:.35rem;min-height:110px;padding:.85rem;display:grid}.import-summary article.ready{border-top-color:var(--green)}.import-summary article.blocked{border-top-color:#ff806f}.import-summary article.warning-state{border-top-color:#f4c95d}.import-summary b{color:var(--ink-muted);text-transform:uppercase;font:.65rem ui-monospace,monospace}.import-summary strong{font-size:1.2rem}.import-summary span{color:var(--ink-muted);font-size:.68rem;line-height:1.4}.ambiguity-card,.report-section,.recognised-lines{border:1px solid var(--line);background:#101722;margin-top:.8rem;padding:.9rem}.ambiguity-card{border-left:3px solid #f4c95d;gap:.5rem;display:grid}.ambiguity-card>span{color:var(--ink-muted);font-size:.72rem}.recognised-lines h3,.report-section h3{margin-bottom:.7rem}.recognised-lines>div{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:.5rem;padding:.45rem 0;font-size:.76rem;display:grid}.recognised-lines code{color:var(--cyan)}.recognised-lines label{grid-column:1/-1;grid-template-columns:70px 1fr;align-items:center}.report-section p{color:var(--ink-muted);margin:.35rem 0;font-size:.76rem;line-height:1.45}.report-section .error{color:#ff9d8f}.report-section .warning-text{color:#f4c95d}.report-section .valid{color:var(--green)}.validation-state{justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;font:.72rem ui-monospace,monospace;display:flex}.validation-state.blocked{color:#ffad9f;background:#ff806f12;border:1px solid #ff806f}.validation-state.ready{border:1px solid var(--green);color:var(--green);background:#a7f43212}.report-counts{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:1rem;display:grid}.report-counts span{color:var(--ink-muted);background:#0e141e;padding:.8rem}.report-counts b{color:#fff;font-size:1.2rem;display:block}.resolution,.issue,.warning{border:1px solid var(--line);background:#101722;gap:.35rem;margin-top:.6rem;padding:.8rem;font-size:.78rem;display:grid}.resolution>span,.resolution div>span,.issue span,.warning span{color:var(--ink-muted)}.resolution.resolved{border-left:3px solid var(--green)}.resolution.ambiguous{border-left:3px solid #f4c95d}.resolution.unknown,.issue{border-left:3px solid #ff806f}.warning{border-left:3px solid #f4c95d}.resolution button{text-align:left;width:100%;margin-top:.4rem;display:block}.dashboard-filter{width:min(400px,100%);margin-bottom:1rem}.support-table-wrap{border:1px solid var(--line);overflow-x:auto}.support-table{border-collapse:collapse;background:#0e141e;width:100%;font-size:.78rem}.support-table th,.support-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:110px;padding:1rem}.support-table th{color:var(--ink-muted);text-transform:uppercase;font:.68rem ui-monospace,monospace}.support-table td:first-child{min-width:180px}.support-table code,.support-table small{color:var(--ink-muted);margin-top:.35rem;font-size:.68rem;display:block}.pill{text-transform:uppercase;border-radius:4px;padding:.25rem .45rem;font:.62rem ui-monospace,monospace;display:inline-block}.pill.complete{color:#111;background:var(--green)}.pill.partial{color:#111;background:#f4c95d}.pill.unsupported{color:#fff;background:#a94343}.empty-state{border:1px dashed var(--line);color:var(--ink-muted);padding:2rem}.deck-tile dl{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.deck-tile dl div{background:#080c12;padding:.6rem}.deck-tile dt{color:var(--ink-muted);font-size:.65rem}.deck-tile dd{margin:.25rem 0 0;font-weight:700}.blocked-mode{align-content:center;max-width:900px;min-height:70vh;display:grid}.blocked-mode h1{letter-spacing:-.06em;font-size:clamp(3rem,7vw,6.5rem);line-height:.95}.blocked-mode>p:not(.eyebrow){max-width:740px;color:var(--ink-muted);font-size:1.1rem;line-height:1.7}.presets{color:var(--ink-muted);align-items:center;gap:.5rem;margin:1rem 0;display:flex}.presets button.selected{color:#101708;background:var(--green);border-color:var(--green)}.progress{border:1px solid var(--line);background:#080c12;height:40px;margin-top:1.2rem;position:relative;overflow:hidden}.progress div{background:linear-gradient(90deg, #6ca91c, var(--green));height:100%;transition:width .1s}.progress span{color:#fff;text-shadow:0 1px 3px #000;place-items:center;font:.75rem DM Mono;display:grid;position:absolute;inset:0}.metric-grid{background:var(--line);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.metric{background:#101722;flex-direction:column;justify-content:space-between;min-height:100px;padding:1rem;display:flex}.metric span{color:var(--ink-muted);font-size:.7rem}.metric strong{font-size:1.3rem}.disclosure{color:var(--ink-muted);font-size:.78rem}.deck-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.deck-tile{border:1px solid var(--line);background:#101722;min-height:250px;padding:1.4rem}.deck-tile.available{border-top:3px solid var(--green)}.deck-tile.unavailable{opacity:.72;border-top:3px solid #536074}.deck-tile .status{color:var(--green);font:.65rem DM Mono}.deck-tile h2{margin:1rem 0 .4rem}.deck-tile code{color:var(--cyan);font-size:.7rem}.deck-tile p{color:var(--ink-muted);line-height:1.5}.deck-tile small{color:#f5cf7a;margin-top:.4rem;display:block}.deck-tile small.error{color:#ff806f}.rules-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.rules-columns section,.replay-box{padding:1.5rem}.rules-columns li{color:var(--ink-muted);margin:.8rem 0;line-height:1.5}.replay-box{margin-top:1rem}footer{border-top:1px solid var(--line);color:var(--ink-muted);justify-content:space-between;padding:1.5rem clamp(1rem,4vw,4rem);font:.68rem DM Mono;display:flex}@media (width<=1250px){.builder-layout{grid-template-columns:1fr}.current-deck-panel{max-height:none;position:static}.catalogue-results{grid-template-columns:repeat(2,minmax(0,1fr))}.home-workflows{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.feature-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:repeat(3,1fr)}.game-layout,.import-layout{grid-template-columns:1fr}.actions-panel{max-height:none}.metric-grid{grid-template-columns:repeat(4,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.top-nav{align-items:start;height:auto;padding:.7rem}.top-nav>div{flex-wrap:wrap;justify-content:end;display:flex}.top-nav .brand b{display:none}main{padding-top:2rem}.page-heading{display:block}.feature-grid,.settings-grid,.deck-grid,.rules-columns,.catalogue-results,.launch-grid,.import-summary{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.deck-row{grid-template-columns:1fr auto}.deck-row .quantity{grid-column:1}.field-row{grid-template-columns:1fr}.metric-grid,.diagnostic-stats{grid-template-columns:1fr 1fr}.hero{padding-top:2rem}.hero h1{font-size:3.4rem}footer{gap:.5rem;display:grid}}.card-image-button{width:100%;box-shadow:none;background:0 0;border:0;padding:0;display:block}.card-image{aspect-ratio:733/1024;background:#121b27;border-radius:.55rem;width:100%;display:grid;position:relative;overflow:hidden}.card-image img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.card-image--thumbnail{width:64px;min-width:64px}.card-image--small{width:min(245px,100%);margin-inline:auto}.card-image--large{width:min(520px,100%);margin-inline:auto}.card-image-fallback{height:100%;color:var(--ink);border:1px solid var(--line);text-align:center;place-content:center;gap:.35rem;padding:.55rem;display:grid}.card-image-fallback small{color:var(--ink-muted);font:.6rem ui-monospace,monospace}.catalogue-hybrid-tile{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:.6rem;display:grid}.catalogue-image-tile{align-content:start;gap:.45rem;display:grid}.catalogue-image-tile>button{font-size:.72rem}.catalogue-results--image{grid-template-columns:repeat(4,minmax(135px,1fr))}.deck-row{grid-template-columns:64px minmax(120px,1fr) auto 115px auto}.deck-row-thumbnail{width:48px;min-width:48px}.deck-preview-images{gap:.35rem;min-height:88px;margin:.55rem 0;display:flex}.deck-preview-images .card-image{width:60px;min-width:60px}.card-details-dialog{width:min(1180px,100%)}.card-details-content{grid-template-columns:minmax(300px,.8fr) minmax(360px,1fr);align-items:start;gap:1rem;display:grid}.card-details-content--zoomed{grid-template-columns:1fr}.card-details-content--zoomed .card-image--large{width:min(780px,100%)}.details-navigation{flex-wrap:wrap;justify-content:end;gap:.35rem;display:flex}.battle-card-image{width:min(180px,100%);margin-inline:auto}.battle-card-bench .battle-card-image,.battle-card-hand .battle-card-image{width:100%;min-width:0}.battle-card-hand:has(.battle-card-image){width:125px;min-width:125px}.game-display-pref{border:0;flex-wrap:wrap;gap:.25rem;margin:.45rem 0 .8rem;padding:0;display:flex}.game-display-pref button{padding:.35rem .5rem;font-size:.62rem}@media (width<=900px){.card-details-content,.catalogue-hybrid-tile{grid-template-columns:1fr}.catalogue-hybrid-tile .card-image--thumbnail{width:min(210px,100%);margin-inline:auto}.catalogue-results--image{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (width<=720px){.deck-row{grid-template-columns:52px 1fr auto}.deck-row .quantity{grid-column:2}}.architect-page{gap:1rem;display:grid}.architect-selector{gap:.8rem;display:grid}.architect-presets{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.architect-presets button{padding:.35rem .55rem;font-size:.72rem}.architect-search-results{gap:.65rem;max-height:520px;display:grid;overflow:auto}.architect-search-results>article{background:#0d141e;border:1px solid #273244;padding:.7rem}.architect-search-results header{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.architect-search-results h3{margin:0}.architect-printings{gap:.55rem;padding-top:.65rem;display:flex;overflow-x:auto}.architect-printings>div{align-content:start;gap:.3rem;min-width:112px;display:grid}.architect-printings .card-image{width:82px}.architect-printings .support-badge{white-space:normal;line-height:1.2}.architect-workbench{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:1rem;display:grid}.architect-workbench .panel{background:#0d141e;border:1px solid #273244;padding:1rem}.architect-favourite{border-bottom:1px solid #273244;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem 0;display:grid}.architect-favourite .card-image{width:52px}.architect-favourite>div{gap:.3rem;display:grid}.architect-controls{align-content:start;gap:.65rem;display:grid}.architect-controls fieldset{border:0;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;display:flex}.architect-controls legend{color:#91a1b8;text-transform:uppercase;width:100%;font-size:.72rem}.architect-controls .selected{color:#9cff27;border-color:#9cff27}.architect-blockers,.architect-backlog{background:#211216;border:1px solid #68393f;padding:1rem}.architect-candidates{gap:.8rem;display:grid}.architect-candidate{background:#0c131c;border:1px solid #2c3a4e;padding:1rem}.architect-candidate>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.architect-candidate>header h3{margin:.2rem 0}.architect-candidate>header>strong{color:#9cff27;font-size:2rem}.candidate-score-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.4rem;margin:.7rem 0;display:grid}.candidate-score-grid span{background:#121d29;padding:.45rem;display:grid}.candidate-score-grid small{text-transform:capitalize;color:#8fa1b8}.candidate-simulation{background:#111d1b;border-left:3px solid #9cff27;gap:.25rem;padding:.65rem;display:grid}.candidate-actions{flex-wrap:wrap;gap:.4rem;display:flex}.warning-callout{color:#ffd16a;border-left:3px solid #ffd16a;padding-left:.6rem}@media (width<=860px){.architect-workbench{grid-template-columns:1fr}.architect-favourite{grid-template-columns:52px 1fr}.architect-favourite>button{grid-column:2;justify-self:start}}.catalogue-controls{flex-wrap:wrap;justify-content:end;gap:.5rem;display:flex}.catalogue-controls fieldset{border:1px solid var(--line);border-radius:6px;padding:0;display:flex}.catalogue-controls fieldset button{border:0;border-radius:0}.catalogue-controls fieldset button.selected{color:#101708;background:var(--green)}.catalogue-results{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-height:1100px}.printed-card{min-width:0;color:var(--card-ink);border:1px solid color-mix(in srgb, var(--card-accent) 52%, #374150);border-top:5px solid var(--card-accent);background:linear-gradient(145deg, var(--card-surface-raised), var(--card-surface));border-radius:12px;position:relative;overflow:hidden;box-shadow:0 12px 26px #0005}.printed-card[role=button]{cursor:pointer}.printed-card[role=button]:hover{border-color:var(--card-accent);transform:translateY(-1px)}.printed-card[role=button]:focus-visible{outline:3px solid var(--card-accent);outline-offset:3px}.printed-card--full{flex-direction:column;min-height:390px;display:flex}.printed-card--compact{flex-direction:column;width:100%;min-height:150px;display:flex}.printed-card-header{border-bottom:1px solid color-mix(in srgb, var(--card-accent) 30%, transparent);background:linear-gradient(110deg, color-mix(in srgb, var(--card-accent) 17%, transparent), transparent 70%);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1rem .85rem;display:flex}.printed-card-header h3{color:var(--card-ink);margin:.18rem 0 0;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.12}.printed-kicker{color:var(--card-accent);letter-spacing:.08em;text-transform:uppercase;font:700 .65rem/1.3 ui-monospace,monospace;display:block}.pokemon-vitals{white-space:nowrap;justify-items:end;gap:.35rem;display:grid}.pokemon-vitals>strong{color:var(--card-ink);font-size:1rem}.type-badge-row{flex-wrap:wrap;justify-content:end;gap:.3rem;display:flex}.type-badge{min-height:24px;color:var(--card-ink);border:1px solid var(--card-accent);background:var(--card-surface-raised);border-radius:999px;align-items:center;padding:.2rem .48rem;font:700 .62rem ui-monospace,monospace;display:inline-flex}.evolution-line{color:color-mix(in srgb, var(--card-ink) 78%, transparent);background:#0002;margin:0;padding:.48rem 1rem;font-size:.72rem}.printed-card-body{flex-direction:column;flex:1;gap:.65rem;padding:.85rem 1rem 1rem;display:flex}.printed-effect{border:1px solid color-mix(in srgb, var(--card-accent) 30%, transparent);border-left:4px solid var(--card-accent);background:#0002;margin:0;padding:.72rem}.printed-effect h4{color:var(--card-ink);margin:0;font-size:.92rem}.printed-effect p,.trainer-rules p,.energy-rules p,.printed-rule{color:color-mix(in srgb, var(--card-ink) 86%, transparent);margin:.45rem 0 0;line-height:1.55}.effect-label{color:var(--card-accent);text-transform:uppercase;margin-bottom:.2rem;font:700 .6rem ui-monospace,monospace;display:block}.attack-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.attack-heading>strong{color:var(--card-ink);font-size:1rem}.energy-cost{flex-wrap:wrap;align-items:center;gap:.2rem;min-height:25px;display:inline-flex}.energy-cost-empty{color:color-mix(in srgb, var(--card-ink) 72%, transparent);font:.68rem ui-monospace,monospace}.energy-symbol{box-sizing:border-box;width:25px;height:25px;color:var(--card-ink);border:2px solid var(--card-accent);background:var(--card-surface-raised);border-radius:50%;flex:0 0 25px;place-items:center;font:800 .55rem/1 ui-monospace,monospace;display:inline-grid;box-shadow:inset 0 0 0 2px #0003}.combat-metadata{border:1px solid color-mix(in srgb, var(--card-accent) 28%, transparent);background:color-mix(in srgb, var(--card-accent) 28%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:.15rem;display:grid}.combat-metadata>div{background:var(--card-surface);align-content:start;gap:.4rem;min-height:68px;padding:.65rem;display:grid}.combat-metadata span:first-child{color:color-mix(in srgb, var(--card-ink) 65%, transparent);text-transform:uppercase;font:.58rem ui-monospace,monospace}.combat-metadata b{align-items:center;gap:.25rem;font-size:.73rem;display:flex}.printed-rule{border-left:3px solid var(--card-accent);background:color-mix(in srgb, var(--card-accent) 9%, transparent);padding:.65rem .75rem}.printed-rule.rule-box{border:1px solid var(--card-accent);font-weight:700}.trainer-rules,.energy-rules{border:1px solid color-mix(in srgb, var(--card-accent) 32%, transparent);background:#0002;padding:.8rem}.trainer-rules p:first-child,.energy-rules p:first-child{margin-top:0}.ace-spec{color:#fff;letter-spacing:.08em;background:#9b2540;border:1px solid #ff7991;border-radius:4px;padding:.35rem .55rem;font:.65rem ui-monospace,monospace}.energy-identity{color:var(--card-accent);align-items:center;gap:.3rem;font:700 .7rem ui-monospace,monospace;display:flex}.flavor-text{color:color-mix(in srgb, var(--card-ink) 67%, transparent);margin:.2rem 0;font-style:italic;line-height:1.5}.metadata-empty,.compact-summary{color:color-mix(in srgb, var(--card-ink) 70%, transparent);margin:0;line-height:1.45}.card-support{justify-items:start;gap:.5rem;margin-top:auto;padding-top:.35rem;display:grid}.support-badge{text-transform:none;letter-spacing:0}.support-limitations{color:#f9dfa0;background:#f4c95d0b;border:1px solid #f4c95d66;width:100%;padding:.65rem;font-size:.7rem;line-height:1.45}.support-limitations strong{margin-bottom:.3rem;display:block}.support-limitations ul{margin:0;padding-left:1.1rem}.support-limitations li+li{margin-top:.25rem}.card-set-footer{border-top:1px solid color-mix(in srgb, var(--card-accent) 28%, transparent);color:color-mix(in srgb, var(--card-ink) 68%, transparent);background:#0003;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .75rem;margin:.2rem -1rem -1rem;padding:.75rem 1rem;font:.58rem/1.4 ui-monospace,monospace;display:grid}.card-set-footer .set-identity{color:var(--card-ink);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.card-set-footer b{overflow-wrap:anywhere}.compact-footer{border-top:1px solid color-mix(in srgb, var(--card-accent) 25%, transparent);color:color-mix(in srgb, var(--card-ink) 65%, transparent);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding:.55rem .8rem;font:.58rem ui-monospace,monospace;display:flex}.printed-card--compact .printed-card-header{padding:.72rem .8rem .6rem}.printed-card--compact .printed-card-header h3{font-size:.92rem}.printed-card--compact .printed-card-body{gap:.4rem;padding:.6rem .8rem}.printed-card--compact .printed-effect{padding:.45rem}.printed-card--compact .printed-effect p,.printed-card--compact .evolution-line{display:none}.printed-card--compact .energy-symbol{flex-basis:21px;width:21px;height:21px;font-size:.48rem}.printed-card-add{border-color:var(--card-accent);width:calc(100% - 2rem);margin:0 1rem 1rem}.catalogue-results--compact .printed-card-add{width:calc(100% - 1.6rem);margin:0 .8rem .8rem}.card-details-dialog{background:#0b1018;width:min(720px,100%);height:100%;padding:1rem;overflow-y:auto;box-shadow:-20px 0 50px #0008}.card-details-dialog-head{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1018ee;justify-content:space-between;align-items:center;gap:1rem;margin:-1rem -1rem 1rem;padding:1rem;display:flex;position:sticky;top:-1rem}.card-details-dialog-head span{color:var(--ink-muted);text-transform:uppercase;font:.62rem ui-monospace,monospace}.card-details-dialog-head h2{margin:.1rem 0 0}.dialog-add{width:100%;margin-top:1rem;position:sticky;bottom:.5rem;box-shadow:0 8px 25px #000}.deck-card-title{align-items:center;gap:.4rem;display:flex}.deck-card-title .type-badge{min-height:20px;padding:.12rem .36rem;font-size:.55rem}.runtime-overlay{border:1px solid var(--card-accent);background:var(--card-accent);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 1rem 1rem;display:grid}.runtime-overlay>div{background:#101722;gap:.25rem;padding:.55rem;display:grid}.runtime-overlay span{color:var(--ink-muted);text-transform:uppercase;font:.55rem ui-monospace,monospace}.runtime-overlay b{color:#fff;font-size:.7rem}.attached-energy-state>span:last-child{flex-wrap:wrap;gap:.2rem;display:flex}.game-card.printed-card--full{width:min(340px,100%)}.game-card.printed-card--compact{width:180px;min-width:180px}.field-row{grid-template-columns:minmax(280px,360px) 1fr}.discard-inspector{color:var(--ink-muted);margin-top:.75rem}.discard-inspector summary{cursor:pointer;text-transform:uppercase;padding:.45rem 0;font:.65rem ui-monospace,monospace}@media (width<=900px){.catalogue-results,.field-row{grid-template-columns:1fr}.game-card.printed-card--full{width:100%}}@media (width<=560px){.combat-metadata,.card-set-footer,.card-set-footer .set-identity{grid-template-columns:1fr}.printed-card-header{gap:.5rem;padding:.8rem}.printed-card-body{padding:.75rem .8rem .8rem}.card-set-footer{margin:.2rem -.8rem -.8rem;padding:.7rem .8rem}.attack-heading{grid-template-columns:auto minmax(0,1fr)}.attack-heading>strong{grid-column:2}.runtime-overlay{grid-template-columns:1fr}}.app-shell.game-active{height:100dvh;min-height:100dvh;overflow:hidden}.game-active .top-nav{height:48px;min-height:48px;padding:0 .8rem;position:static}.game-active .top-nav .brand span{width:28px;height:28px}.game-active .top-nav button{padding:.35rem .55rem;font-size:.72rem}.play-page-active{flex-direction:column;gap:.45rem;width:100%;max-width:none;height:calc(100dvh - 48px);min-height:0;margin:0;padding:.45rem;display:flex;overflow:hidden}.game-toolbar{border:1px solid var(--line);background:#0f141eee;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .45rem;display:flex;overflow-x:auto}.game-toolbar>span{border-left:1px solid var(--line);white-space:nowrap;gap:.05rem;min-width:90px;padding:0 .45rem;display:grid}.game-toolbar small{color:var(--ink-muted);text-transform:uppercase;font:.55rem ui-monospace,monospace}.game-toolbar b{font-size:.68rem}.game-toolbar>button{color:#ffb4a8;border-color:#763c3c;padding:.48rem .7rem}.play-page-active .game-layout{flex:1;min-height:0}.game-layout{grid-template-columns:minmax(0,1fr) clamp(300px,19vw,360px);gap:.45rem}.board-panel{overscroll-behavior:contain;min-width:0;overflow-y:auto}.player-field{padding:.5rem .65rem}.player-field.opponent{background:#0b1018}.player-field.player{background:#101722}.zone-summary{gap:.7rem;font-size:.62rem}.field-row{grid-template-columns:250px minmax(0,1fr);gap:.65rem}.field-row h4,.player-field h4{margin:.38rem 0 .28rem;font-size:.61rem}.card-row{gap:.35rem;padding-bottom:.25rem}.bench-row{align-items:stretch}.hand-zone{min-width:0}.hand{min-height:78px}.hidden-hand{height:20px;padding-right:.3rem}.hidden-hand span{width:17px}.turn-strip{z-index:4;gap:1rem;padding:.42rem .65rem;font-size:.61rem;position:sticky;top:0}.battle-card{color:#eef3fb;text-align:left;background:linear-gradient(145deg,#1b2635,#101720);border:1px solid #3c4a60;border-top:3px solid #6c7e98;border-radius:7px;align-content:start;gap:.38rem;min-width:0;min-height:0;padding:.6rem;display:grid;transform:none;box-shadow:0 7px 18px #0004}button.battle-card:hover{background:linear-gradient(145deg,#233247,#121b27);transform:none}.battle-card-active{width:240px;max-width:100%}.battle-card-bench{width:145px;min-width:145px}.battle-card-hand{border-top-color:var(--cyan);width:145px;min-width:145px;min-height:70px;position:relative}.battle-card-hand.battle-card-energy{border-top-color:var(--green)}.battle-card-empty{width:240px;min-height:110px;color:var(--ink-muted);border-style:dashed;place-content:center}.battle-card-heading{justify-content:space-between;align-items:start;gap:.45rem;min-width:0;display:flex}.battle-card-heading>span:first-child{gap:.08rem;min-width:0;display:grid}.battle-card-heading strong{overflow-wrap:anywhere;font-size:.86rem}.battle-card-heading small,.battle-card>small{color:var(--ink-muted);font:.56rem/1.3 ui-monospace,monospace}.battle-card-types{flex-wrap:wrap;justify-content:end;gap:.18rem;display:flex}.battle-card .type-badge{min-height:18px;padding:.1rem .28rem;font-size:.48rem}.battle-hp{background:#070b11aa;align-items:baseline;gap:.22rem;padding:.35rem .45rem;font:.65rem ui-monospace,monospace;display:flex}.battle-hp b{color:var(--green);font-size:1.05rem}.battle-hp em{color:#ff9e8c;margin-left:auto;font-size:.57rem;font-style:normal}.battle-abilities{flex-wrap:wrap;gap:.25rem;display:flex}.battle-abilities>span{background:#7d3f7918;border:1px solid #7d3f79;align-items:center;gap:.25rem;padding:.24rem .35rem;display:flex}.battle-abilities small{color:#eea9e7;text-transform:uppercase;font-size:.48rem}.battle-abilities b{font-size:.62rem}.battle-attacks{border-top:1px solid #334157;display:grid}.battle-attacks>span{border-bottom:1px solid #253144;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.3rem;min-width:0;padding:.32rem 0;display:grid}.battle-attacks b{overflow-wrap:anywhere;font-size:.67rem}.battle-attacks strong{font-size:.7rem}.battle-attack-cost,.battle-energy{flex-wrap:wrap;align-items:center;gap:.12rem;display:flex}.battle-card .energy-symbol{flex-basis:17px;width:17px;height:17px;font-size:.4rem}.battle-status-grid{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.battle-status-grid>span{background:#0b111a;align-content:start;gap:.18rem;min-width:0;padding:.3rem;display:grid}.battle-status-grid small{color:var(--ink-muted);text-transform:uppercase;font:.47rem ui-monospace,monospace}.battle-status-grid b{overflow-wrap:anywhere;font-size:.56rem}.battle-card-footer{color:var(--ink-muted);justify-content:space-between;gap:.45rem;font:.5rem/1.3 ui-monospace,monospace;display:flex}.battle-card-footer>span:last-child{white-space:nowrap;align-items:center;gap:.12rem;display:flex}.bench-hp{color:var(--ink-muted);font:.57rem ui-monospace,monospace}.bench-hp b{color:var(--green);font-size:.78rem}.bench-damage{color:#ff9e8c;font-size:.57rem}.bench-indicators{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.bench-indicators>span{align-items:center;gap:.1rem;display:flex}.bench-indicators b{color:#f4c95d;text-transform:capitalize;border:1px solid #66572d;padding:.14rem .24rem;font-size:.48rem}.hand-quantity{z-index:1;color:#0a1006;background:var(--green);border-radius:10px;padding:.18rem .3rem;font:800 .58rem ui-monospace,monospace;position:absolute;top:.3rem;right:.3rem}.battle-card-hand:has(.hand-quantity) .battle-card-heading{padding-right:1.6rem}.discard-inspector{margin-top:.35rem}.discard-inspector summary{padding:.25rem 0;font-size:.57rem}.discard-row{padding-top:.3rem}.actions-panel{flex-direction:column;min-height:0;max-height:none;padding:0;display:flex;overflow:hidden}.actions-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:.7rem;overflow-y:auto}.actions-scroll>h2{text-transform:uppercase;letter-spacing:.09em;margin-bottom:.65rem;font-size:.82rem}.action-group{margin-bottom:.75rem}.actions-panel .action-group h3{border-bottom:1px solid var(--line);color:var(--ink-muted);margin:0 0 .35rem;padding-bottom:.25rem;font-size:.61rem}.action{margin-bottom:.3rem;padding:.55rem .65rem;font-size:.72rem}.sticky-turn-control{border-top:1px solid var(--line);background:#0e141ef5;padding:.55rem .7rem .25rem;position:sticky;bottom:0}.sticky-turn-control .action{text-align:center;margin:0}.action-log-details{border-top:1px solid var(--line);color:var(--ink-muted);margin-top:.6rem}.action-log-details summary{cursor:pointer;text-transform:uppercase;padding:.7rem 0;font:.62rem ui-monospace,monospace}.action-log{max-height:220px;overflow-y:auto}.computer-status{color:var(--ink-muted);font-size:.75rem}.pending-quantity-choices{gap:.35rem;margin:-.3rem 0 .75rem;display:grid}.pending-quantity-row{border:1px solid var(--line);background:#0a1018;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem;display:flex}.pending-quantity-row>span:first-child{gap:.15rem;display:grid}.pending-quantity-row b{font-size:.67rem}.pending-quantity-row small{color:var(--ink-muted);font-size:.56rem}.pending-stepper{text-align:center;grid-template-columns:28px 24px 28px;align-items:center;display:grid}.pending-stepper button{padding:.25rem}.deck-ready-status{color:var(--green);background:#a7f4320a;border:1px solid #52742d;margin:0 0 1rem;padding:.7rem .8rem}.deck-eligibility-panel{background:#f4c95d0a;border:1px solid #8b702c;gap:.65rem;margin-bottom:1rem;padding:.85rem;display:grid}.deck-eligibility-panel>div:first-child{gap:.2rem;display:grid}.deck-eligibility-panel span,.deck-eligibility-panel p,.deck-eligibility-panel li{color:#d9cda9;font-size:.74rem}.deck-eligibility-panel p,.deck-eligibility-panel ul{margin:0}.unsupported-preview{flex-wrap:wrap;gap:.3rem;display:flex}.unsupported-preview span{background:#0b1018;padding:.28rem .38rem}.eligibility-actions{flex-wrap:wrap;gap:.4rem;display:flex}.opponent-checks .unavailable{opacity:.55}@media (width<=1100px){.game-active .top-nav>div{display:flex;overflow-x:auto}.play-page-active .game-layout{grid-template-columns:1fr;display:grid;overflow-y:auto}.play-page-active .board-panel{overflow:visible}.play-page-active .actions-panel{min-height:300px;max-height:44dvh}.field-row{grid-template-columns:250px minmax(0,1fr)}}@media (width<=720px){.game-active .top-nav{flex-wrap:nowrap;align-items:center;height:44px;min-height:44px;padding:.25rem;overflow:hidden}.game-active .top-nav .brand b{display:none}.game-active .top-nav>div{flex-wrap:nowrap;justify-content:start}.game-active .top-nav button{white-space:nowrap;padding:.3rem .42rem}.play-page-active{height:calc(100dvh - 44px);padding:.3rem}.game-toolbar{min-height:40px}.game-toolbar>span{min-width:76px}.field-row{grid-template-columns:1fr}.battle-card-active{width:100%}.player-field{padding:.45rem}.battle-status-grid{grid-template-columns:1fr 1fr}.actions-scroll{padding:.55rem}}
