/* Preserved auxiliary screens, card catalog, drag/zoom and combat effects. */
.overlay{position:fixed;inset:0;z-index:50;background:#030a14c7;display:flex;align-items:center;justify-content:center;padding:15px;backdrop-filter:blur(7px)}
.overlay.hidden{display:none}
.modal{background:linear-gradient(160deg,#22334a,#142234 85%);border:1px solid #7791a8;border-radius:18px;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 22px 70px #000a,inset 0 1px #e0edfd20}
.modal-kicker{font-size:10px;font-weight:900;color:#e7c88a;letter-spacing:2px;margin-bottom:8px}
.modal h2{font-size:22px;margin:0 0 12px}
.modal p{font-size:13px;line-height:1.75;color:#c5d2df}
.modal-note{font-size:12px;color:#99b0c3;line-height:1.7}
.modal-options{display:flex;flex-direction:column;gap:8px;margin-top:19px}
.modal-option{padding:12px 13px;width:100%;border-radius:10px;border:1px solid #415973;color:#ecf4fe;background:#1b2e43;text-align:left;font-size:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;line-height:1.6}
.modal-option:hover:not(:disabled){background:#2b465e;border-color:#80b5c5}
.modal-option.primary-choice{background:#5d4b2e;border-color:#c4a36b}
.modal-option .choice-meta{font-size:11px;color:#b9c9da}
.modal-cards{display:flex;flex-wrap:wrap;gap:7px}
.rules-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}
.rule-box{padding:10px;border-radius:8px;border:1px solid #344a62;background:#0d1f31}
.rule-box strong{display:block;font-size:11px;color:#e1c58e}
.rule-box span{font-size:11px;color:#b4c7db;line-height:1.6}
.toast{position:fixed;top:80px;right:25px;background:#244051;border:1px solid #6cb9c0;border-radius:9px;z-index:80;font-size:12px;padding:12px 17px;box-shadow:0 10px 35px #0008;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .22s,transform .22s;max-width:300px;line-height:1.5}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:770px){.modal{padding:17px}}
.trait-list{display:flex;align-items:center;gap:4px;flex-wrap:wrap;position:relative;z-index:3}
.trait-badge{position:relative;width:25px;height:25px;border:1px solid currentColor;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;box-shadow:inset 0 0 12px #ffffff0b,0 1px 6px #0006;color:var(--trait-silver);background:linear-gradient(140deg,#5361747a,#202a3a);vertical-align:middle}
.trait-badge svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:none}
.trait-badge.tier-main{color:var(--trait-gold);background:linear-gradient(145deg,#6c4b19aa,#28251c);border-color:#e2ad53}
.trait-badge.tier-sub{color:var(--trait-silver);background:linear-gradient(145deg,#6d7d9080,#1a293a);border-color:#aab7c8}
.trait-badge.tier-unique{color:var(--trait-orange);background:linear-gradient(145deg,#7a391c99,#312329);border-color:#ec9250}
.trait-badge.tier-special{border:1px solid transparent;color:#fff;background:linear-gradient(#233043,#233043) padding-box,linear-gradient(130deg,#ff748c,#ffd573,#95efbf,#80c7ff,#d28aff) border-box;box-shadow:0 0 12px #c294d147}
.trait-badge.tier-event{color:var(--trait-purple);background:linear-gradient(145deg,#5c3b80,#2a2140);border-color:#b796ee}
.trait-badge.tier-other{color:var(--trait-neutral);background:linear-gradient(145deg,#244c4a,#172b31);border-color:#69ae9f}
.trait-badge.small{width:20px;height:20px;flex-basis:20px;border-radius:5px}
.trait-badge.small svg{width:13px;height:13px}
.trait-badge.large{width:39px;height:39px;flex-basis:39px;border-radius:10px}
.trait-badge.large svg{width:27px;height:27px}
.trait-badge[data-action="trait-info"]{cursor:pointer}
.trait-badge[data-action="trait-info"]:focus-visible{outline:2px solid #fff;outline-offset:2px}
.trait-legend{display:grid;gap:10px;margin:10px 0 16px}
.trait-legend-row{display:flex;align-items:flex-start;gap:11px;padding:9px;border-radius:9px;background:#102034;border:1px solid #324358}
.trait-legend-row strong{font-size:12px;color:#e9f2fc;display:block;margin-bottom:3px}
.trait-legend-row p{font-size:11px;line-height:1.6;color:#a5b7cf;margin:0}
.trait-legend-icons{display:flex;flex-wrap:wrap;gap:4px;min-width:39px;max-width:112px}
.trait-inspector-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.trait-inspector-item{display:flex;align-items:center;gap:7px;padding:7px 9px;background:#102034;border:1px solid #40516a;border-radius:8px;font-size:11px;color:#d8e6f6}
.trait-inspector-item small{font-size:9px;color:#aabbd0;display:block;line-height:1.4}
.trait-help{font-size:11px;color:#b8c4d8;line-height:1.7;border-top:1px solid #324358;padding-top:8px}
.trait-key-note{color:#d6c18f;font-size:11px;margin:8px 0}
@media(max-width:620px){.trait-badge{width:23px;height:23px;flex-basis:23px}
.trait-badge svg{width:16px;height:16px}}
.combat-rules-hint{margin-top:17px;padding:9px 10px;border-radius:8px;border:1px solid #7a6750;background:#292824;color:#f0d8ae;font-size:11px;line-height:1.65}
.combat-breakdown{display:flex;align-items:stretch;gap:7px;margin:12px 0;padding:8px 0}
.combat-breakdown>div{min-width:0;flex:1;padding:10px;border:1px solid #5e728f;background:#19283d;border-radius:9px;text-align:center;font-size:11px}
.combat-breakdown>div>b{display:block;font-size:27px;color:#f2d59d}
.combat-breakdown>div>small{display:block;font-size:10px;color:#bfcee1;line-height:1.55;margin-top:7px;word-break:break-word}
.combat-breakdown>span{align-self:center;color:#e4ba6d;font-size:20px}
.combat-result{background:#2b3345;padding:9px;border-radius:8px;border:1px solid #64728d;color:#f3d7a6}
@media(max-width:620px){.combat-breakdown>div{padding:8px 5px}
.combat-breakdown>div>small{font-size:9px}}
.deck-browser{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0}
.deck-overview{border:1px solid #52657d;border-radius:12px;padding:10px 12px;background:#122236}
.deck-overview h3{color:#f1d496;margin:0 0 4px;font-size:16px}
.deck-overview p{margin:3px 0 8px;font-size:11px}
.deck-overview summary{cursor:pointer;padding:9px 10px;border-radius:8px;background:#29435d;color:#eaf7ff;font-weight:800;list-style-position:inside}
.deck-overview details[open] summary{border-radius:8px 8px 0 0}
.deck-list-table{border-collapse:collapse;width:100%;font-size:11px;margin:9px 0}
.deck-list-table th,.deck-list-table td{border-bottom:1px solid #3b4d63;text-align:left;padding:7px 4px;vertical-align:top;color:#d6e6f4}
.deck-list-table th{color:#dcbf86}
.deck-list-table td:first-child{color:#94b3ce;white-space:nowrap}
.deck-list-table td:nth-child(3){white-space:nowrap;text-align:center}
.deck-list-table td:nth-child(4){white-space:nowrap;text-align:center}
.deck-list-table .kind-row td{font-weight:900;color:#f0d18f;padding-top:13px}
.deck-list-table small{color:#a5b8c9;display:block;font-size:10px;line-height:1.6}
.deck-selection-note{padding:9px;border:1px solid #936f42;border-radius:8px;background:#322e28;color:#f3dab1;font-size:11px;line-height:1.65}
@media(max-width:770px){.modal{max-height:90dvh}}
.ability-list{display:grid;gap:7px;margin:10px 0}
.ability-item{padding:9px 11px;border-radius:9px;border:1px solid #47617a;background:#1b2d42;text-align:left}
.ability-item strong{display:block;color:#f7d28b}
.ability-item small{display:block;color:#c3d7e7;line-height:1.6;margin-top:3px}
.deck-skill-items{display:grid;gap:3px;margin-top:5px}
.deck-skill-items div{font-size:10px;line-height:1.55;background:#24384c;padding:5px 7px;border-radius:5px}
.deck-skill-items b{color:#f0d5a1}
.catalog-name{border:0;background:none;padding:5px 0;color:#f4d9a4;font:inherit;font-weight:850;text-align:left;text-decoration:underline;text-decoration-color:#cdab7199;text-underline-offset:4px;cursor:pointer;white-space:normal;min-width:60px}
.catalog-name:hover,.catalog-name:focus-visible{color:#fff1c5;text-decoration-color:#ffebba}
.catalog-hint{color:#86daca;background:#13373c;border:1px solid #41696d;border-radius:8px;padding:8px 11px;font-size:12px;line-height:1.6}
.catalog-tag{color:#b6c7d6;font-size:10px;font-weight:650;display:block;margin-top:3px}
.card-inspector-top{display:flex;align-items:center;gap:16px;padding:14px;margin:8px 0 12px;background:linear-gradient(115deg,#2e465a,#18293b);border:1px solid #57718b;border-radius:14px}
.card-inspector-icon{font-family:Georgia,serif;min-width:80px;width:80px;height:107px;border:1px solid #ae895d;border-radius:9px;background:linear-gradient(140deg,#425369,#192b43);display:grid;place-items:center;font-size:46px}
.card-inspector-title{font-size:21px;font-weight:850;line-height:1.35;color:#fff3d8;margin-bottom:4px}
.card-inspector-id{font-size:11px;color:#a7c0d5}
.card-inspector-stats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 5px}
.card-inspector-stat{padding:6px 9px;border-radius:7px;border:1px solid #677e92;background:#1b3245;color:#e1eef8;font-weight:800;font-size:12px}
.card-inspector-stat strong{color:#f9d993}
.card-inspector-section{font-size:13px;letter-spacing:.5px;color:#f1ce92;margin:18px 0 6px;border-bottom:1px solid #50677b;padding-bottom:6px}
.card-inspector-body .ability-list{margin:6px 0}
.card-inspector-body .ability-item{margin-bottom:7px}
.catalog-back{border:1px solid #d3b37a;background:#2a3d50;color:#ffe4b4;border-radius:9px;padding:11px 14px;width:100%;margin-top:16px;font-weight:850;cursor:pointer}
.catalog-back:hover{background:#35506a}
.deck-list-table td:nth-child(2){min-width:175px}
.inspector-desc{color:#cfdeeb;font-size:12px;line-height:1.7}
.catalog-count{background:#173b50;color:#c5e3e8;border-radius:8px;padding:8px;font-size:12px;margin-top:8px}
@media (max-width:600px){.card-inspector-top{gap:9px;padding:9px}
.card-inspector-icon{min-width:56px;width:56px;height:78px;font-size:32px}
.card-inspector-title{font-size:16px}
.catalog-name{font-size:12px}
.card-inspector-stats{gap:5px}
.card-inspector-stat{font-size:11px}
.modal{padding:16px}
.deck-list-table{font-size:10px}}
.card-ref{display:inline;color:#f2cf8c;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer;font-weight:800;border-radius:3px}
.card-ref:focus-visible,.card-ref:hover{color:#fff2ba;outline:1px solid #f2cf8c}
.modal-option .card-ref{position:relative;z-index:2;padding:3px 1px}
.modal-option .card-ref:hover{background:#31516a}
.room-ref{background:transparent;border:0;color:#e8d19e;font-weight:800;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}
.keyword-badges{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.kw-icon{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:50%;border:1px solid #df666e;background:#6a2937;color:#fff;font-weight:900;font-size:16px;vertical-align:middle;margin:0 3px;cursor:pointer}
.kw-icon:focus-visible,.kw-icon:hover{outline:2px solid #ffba73}
.kw-icon.kw-guard{background:#6b2636}
.kw-icon.kw-rush{background:#612c33}
.kw-icon.kw-phantom{background:#5b284a}
.kw-icon.kw-place{background:#266744;border-color:#70d6a1}
.kw-icon.kw-sacrifice{background:#285f91;border-color:#74bdf1}
.kw-icon.kw-sleep{background:#a05a22;border-color:#f6ae5f}
.kw-icon.small{min-width:19px;height:19px;font-size:13px}
.keyword-info{display:grid;gap:9px;margin:7px 0 13px}
.keyword-info-row{border:1px solid #587184;background:#1a3043;border-radius:11px;padding:10px}
.keyword-info-row strong{display:flex;align-items:center;gap:5px;color:#f1d498}
.keyword-info-row p{font-size:12px;line-height:1.6;color:#c9d6e6;margin:7px 0 0}
.inspector-close{cursor:pointer}
.modal-inspect-tip{font-size:12px;color:#b5d5df}
.keyword-icon-strip{display:flex;align-items:center;min-height:25px;gap:6px;margin:10px 0}
.deck-list-table td .keyword-badges{vertical-align:middle;margin-left:6px}
.card-inspector-body .keyword-icon-strip:empty{display:none}
.deckbuilder-screen{position:fixed;inset:0;z-index:90;background:#050b15ec;display:flex;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(9px)}
.deckbuilder-screen.hidden{display:none}
.deckbuilder-shell{width:min(1420px,100%);height:min(94dvh,1040px);min-height:400px;background:#111c2b;border:1px solid #66849f;border-radius:17px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 28px 100px #000d}
.builder-head{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:18px 22px;background:#1c2b3f;border-bottom:1px solid #344d65}
.builder-head h2{margin:0;font-size:21px;color:#ffdfa0}
.builder-head p{margin:4px 0 0;color:#a5b7c8;font-size:11px}
.builder-head-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.builder-total{padding:7px 12px;border-radius:10px;background:#0d1928;border:1px solid #3a5369;font-weight:850;color:#dfedf8}
.builder-total.complete{border-color:#81cfae;color:#a5f5d0}
.builder-total.invalid{border-color:#dc9284;color:#ffc0b0}
.builder-progress{height:5px;background:#0a1725}
.builder-progress>div{height:100%;max-width:100%;background:linear-gradient(90deg,#54aaba,#eac17a);transition:width .14s}
.builder-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #324357;background:#132236}
.builder-controls input,.builder-controls select{font:inherit;color:#f2f6ff;background:#0a1726;border:1px solid #53677c;border-radius:8px;padding:9px 10px;min-height:38px}
.builder-controls input{flex:1;min-width:145px}
.builder-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.85fr)}
.builder-pool,.builder-deck{min-height:0;overflow:auto;padding:14px 16px}
.builder-pool{border-right:1px solid #314558}
.builder-deck{background:#0e1927}
.builder-panel-title{color:#a8d0dc;font-size:13px;letter-spacing:1px;font-weight:850;margin:4px 0 12px}
.builder-cardrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #2f465e;background:#192a3d;border-radius:10px;padding:10px;margin-bottom:7px}
.builder-cardtitle{display:block;padding:0;border:0;background:none;color:#f8d9a0;font-weight:800;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.builder-meta{font-size:11px;color:#b4c4d5;margin-top:4px}
.builder-qty{display:flex;align-items:center;gap:7px}
.builder-qty strong{min-width:18px;text-align:center}
.builder-qty button{min-width:32px;min-height:34px;border-radius:7px;border:1px solid #58728c;color:#e6f1ff;background:#253b54;font-weight:900}
.builder-qty .plus{border-color:#a88a52;color:#ffdfa0}
.builder-qty button:disabled{opacity:.28}
.builder-footer{border-top:1px solid #344d65;background:#17283c;padding:12px 18px;display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;align-items:center}
.builder-info{font-size:12px;color:#c1d1df}
.builder-info.error{color:#ffc3af}
.builder-foot-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.builder-empty{font-size:12px;color:#96adc2;padding:22px;border:1px dashed #3e5368;border-radius:10px;text-align:center}
.builder-inspector{margin:10px 0;padding:12px;background:#23364e;border:1px solid #63839d;border-radius:10px;max-height:48vh;overflow-y:auto}
.builder-inspector .inspector-card{max-width:100%}
.builder-inspector-close{width:100%;border:1px solid #779db3;background:#112b3c;color:#d1eaf7;padding:9px;border-radius:8px;margin-top:9px}
.builder-note{font-size:11px;color:#a3b8c9;line-height:1.6}
.builder-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.builder-summary span{font-size:10px;padding:5px 8px;background:#1a3244;border:1px solid #375168;border-radius:8px}
@media(max-width:880px){.builder-workspace{grid-template-columns:minmax(0,1fr) minmax(250px,.75fr)}
.builder-cardrow{padding:8px}
.builder-controls{padding:8px}}
@media(max-width:630px){.deckbuilder-screen{padding:5px}
.deckbuilder-shell{height:98dvh;border-radius:11px}
.builder-head{padding:10px 12px}
.builder-head h2{font-size:16px}
.builder-workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(120px,.48fr)}
.builder-pool{border-right:0;border-bottom:1px solid #3f5971;padding:9px}
.builder-deck{padding:9px}
.builder-controls{gap:5px}
.builder-controls input{min-width:125px}
.builder-footer{padding:8px}
.builder-cardrow{grid-template-columns:1fr auto}
.builder-head-right .btn,.builder-foot-actions .btn{padding:8px 10px;font-size:11px}}
.art-asset{display:grid;place-items:center;width:100%;height:100%;min-height:inherit;overflow:hidden;position:relative}
.art-asset img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.card-inspector-icon .art-asset{width:100%;height:100%;border-radius:8px}
.card-inspector-icon{overflow:hidden}
.art-mini{width:40px;height:50px;display:inline-grid;vertical-align:middle;margin-right:7px;border-radius:5px;background:#0d1b2c;overflow:hidden;flex-shrink:0}
.art-mini .art-asset{min-height:50px;font-size:18px;color:#aeceeb}
.builder-cardtitle{display:inline-block}
.deck-list-table .art-mini{width:32px;height:42px}
.deck-list-table .art-mini .art-asset{min-height:42px}
.art-overlay{position:fixed;inset:0;background:rgba(3,9,18,.91);z-index:12000;display:flex;align-items:center;justify-content:center;padding:12px;backdrop-filter:blur(5px)}
.art-overlay.hidden{display:none}
.art-shell{width:min(920px,100%);max-height:min(92dvh,900px);min-height:200px;border:1px solid #6689a3;border-radius:17px;background:#15283c;box-shadow:0 24px 110px #000b;color:#e7eef8;display:flex;flex-direction:column;overflow:hidden}
.art-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #ffffff26;gap:10px}
.art-head h2{font-size:19px;margin:0}
.art-head p{margin:4px 0 0;font-size:11px;color:#b5c5d4}
.art-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;align-items:center;background:#1c3147}
.art-actions select,.art-actions input{background:#0d1a29;color:#f7f8ff;border:1px solid #60768c;border-radius:6px;padding:9px 10px;min-width:135px;max-width:100%}
.art-actions button{border:1px solid #517b92;border-radius:7px;padding:9px 12px;background:#284961;color:#f8fafc;font-weight:800;cursor:pointer}
.art-actions button.primary{background:#b88c44;color:#14151b}
.art-actions button:disabled{opacity:.4}
.art-status{font-size:12px;padding:9px 20px;background:#0c1929;color:#b5d4e3;line-height:1.5}
.art-gallery-list{overflow:auto;min-height:120px;display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:10px;padding:15px 20px}
.art-gallery-item{border:1px solid #40576d;border-radius:9px;background:#112236;padding:9px;display:flex;flex-direction:column;gap:5px}
.art-gallery-visual{height:120px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#0a1727;font-size:40px}
.art-gallery-visual .art-asset{min-height:120px}
.art-gallery-item b{font-size:12px;color:#ffdfa2}
.art-gallery-item small{font-size:11px;color:#b4cada;line-height:1.4}
.art-gallery-item button{font-size:11px;color:#caeafa;background:#243f56;border:1px solid #4e6d86;border-radius:6px;padding:6px 7px;cursor:pointer}
.art-gallery-item button.danger{color:#ffb9aa}
.art-gallery-controls{display:flex;gap:6px;margin-top:auto}
.art-footer{border-top:1px solid #ffffff22;padding:12px 20px;color:#b8c8d5;font-size:11px;line-height:1.6}
.art-access-form{display:flex;align-items:stretch;flex-direction:column;gap:13px;padding:24px;width:min(430px,100%);margin:12px auto 24px;text-align:left}
.art-access-symbol{width:64px;height:64px;display:grid;place-items:center;align-self:center;border:2px solid #bda273;border-radius:19px;color:#f6d49a;font-size:39px;background:#293d53}
.art-access-form h3{font-size:21px;color:#ffe1a6;text-align:center;margin:0}
.art-access-form p{font-size:13px;color:#bbcadb;line-height:1.6;text-align:center;margin:0 0 8px}
.art-access-form label{font-size:13px;font-weight:850;color:#e5edf8}
.art-access-form input{width:100%;min-height:49px;background:#101f31;border:1px solid #7994ac;border-radius:10px;color:#f6f9ff;font-size:18px;padding:12px 15px;outline:none}
.art-access-form input:focus{border-color:#e8c080;box-shadow:0 0 0 3px #bda27333}
.art-access-submit{min-height:47px;border:1px solid #edcc8d;border-radius:10px;background:#bd9557;color:#111824;font-weight:900;font-size:15px;cursor:pointer}
.art-access-form small{text-align:center;color:#9fb6cb;font-size:11px;line-height:1.5}
.art-access-error{padding:9px 12px;border:1px solid #db7d76;border-radius:8px;background:#4a2224;color:#ffdfd7;font-size:12px}
.art-access-error[hidden]{display:none}
@media(max-width:680px){.art-head{padding:12px}
.art-actions{padding:10px}
.art-gallery-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:7px}
.art-gallery-item{padding:6px}
.art-head h2{font-size:16px}
.art-actions button{font-size:11px}}
.bd-shell{position:fixed;inset:0;z-index:15000;display:flex;align-items:stretch;justify-content:center;overflow:auto;background:radial-gradient(ellipse at 50% -6%,#25364e 0,#0a1524 42%,#050b15 100%);color:#f4f0e9;isolation:isolate}
.bd-shell.hidden{display:none}
.bd-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 5%,#e5ba6830 5.08%,transparent 5.18%,transparent 94.8%,#e5ba682b 94.88%,transparent 95%),radial-gradient(circle at 15% 10%,#34506b47,transparent 28%),radial-gradient(circle at 86% 82%,#3f2c3645,transparent 35%);opacity:.9}
.bd-page{position:relative;width:min(1100px,100%);padding:42px 24px 38px;margin:auto;min-height:100dvh;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}
.bd-logo{font-family:Georgia,'Times New Roman',serif;font-size:clamp(56px,10vw,118px);font-weight:900;line-height:.95;letter-spacing:.07em;color:#f2deab;text-shadow:0 3px 0 #584535,0 8px 35px #000c;white-space:nowrap;text-align:center}
.bd-logo span{display:block;font-size:clamp(19px,3vw,35px);letter-spacing:.62em;font-family:system-ui,sans-serif;font-weight:500;color:#d6e0ec;margin:19px 0 5px;padding-left:.6em}
.bd-version{border:1px solid #a99469;padding:6px 17px;color:#edd2a3;font-weight:750;font-size:11px;letter-spacing:.25em;margin:13px auto 30px;text-align:center}
.bd-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border-bottom:1px solid #b9955688;margin:0 0 24px;padding-bottom:16px;flex-wrap:wrap}
.bd-section-heading h1{font-size:clamp(27px,4vw,42px);color:#ecd5a2;margin:0;letter-spacing:.05em}
.bd-section-heading p{margin:6px 0 0;color:#acc2d8;font-size:12px}
.bd-stack{width:min(470px,100%);display:flex;flex-direction:column;gap:15px;margin:38px auto 0}
.bd-btn{min-height:63px;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border:1px solid #a5916f;border-radius:9px;color:#f4e5c4;background:linear-gradient(135deg,#21384d,#101f31);box-shadow:0 7px 18px #0007;font-size:clamp(18px,2.5vw,23px);font-family:inherit;font-weight:800;cursor:pointer;transition:background .15s,transform .1s}
.bd-btn:hover,.bd-btn:focus-visible{background:#2b4d69;border-color:#ebc787;transform:translateY(-1px);outline:none}
.bd-btn:active{transform:translateY(1px)}
.bd-btn.primary{background:linear-gradient(120deg,#d7ad6c,#b78343);color:#172131;border-color:#ffdfa5}
.bd-btn.primary:hover{background:#edc989}
.bd-btn.secondary{background:#1a2b3d;color:#d7e1e9}
.bd-btn.small{min-height:42px;padding:8px 12px;font-size:13px;width:auto;box-shadow:none;border-radius:8px}
.bd-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}
.bd-note{color:#a9bacb;text-align:center;font-size:12px;line-height:1.65;margin:20px auto 0;max-width:670px}
.bd-home-link{position:relative;align-self:flex-start;margin-bottom:20px;color:#dfc28f;border:1px solid #6d7d88;background:#162c40;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:13px;font-weight:750}
.bd-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}
.bd-panel{width:100%;padding:19px;border:1px solid #556a7e;border-radius:14px;background:linear-gradient(145deg,#1a2b3e,#101c2b);box-shadow:0 8px 25px #0006;box-sizing:border-box}
.bd-panel h2{font-size:19px;margin:0 0 14px;color:#eecb91}
.bd-label{display:block;color:#c2d2e1;font-size:12px;margin:5px 0 9px}
.bd-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bd-difficulty{border:1px solid #586f84;border-radius:10px;padding:17px 12px;background:#172e43;color:#ebf2f8;cursor:pointer;font-weight:800;font-size:18px;min-height:70px;text-align:left}
.bd-difficulty small{display:block;font-size:10px;font-weight:500;color:#a1b7ca;margin-top:5px;line-height:1.5}
.bd-difficulty.selected{border:2px solid #eeca8b;color:#fce0a5;background:#34465a;box-shadow:inset 0 0 0 1px #edc785}
.bd-select{background:#0b1a2b;color:#faf6ed;padding:12px;width:100%;border-radius:8px;border:1px solid #7594a9;font:inherit;min-height:48px}
.bd-picker{max-width:800px;width:100%}
.bd-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bd-deck-item{background:#172c40;border:1px solid #4c657b;border-radius:12px;padding:14px;min-width:0}
.bd-deck-item.selected{border:2px solid #e4bd82;background:#273d50}
.bd-deck-item b{font-size:15px;color:#edd4a7}
.bd-deck-item small{display:block;color:#b2c7d7;font-size:11px;margin:6px 0 10px}
.bd-inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.bd-deck-list{width:100%;max-height:50dvh;overflow-y:auto;background:#0a192a;border:1px solid #5b758c;border-radius:10px;padding:10px}
.bd-list-card{display:flex;align-items:center;gap:11px;border-bottom:1px solid #2e475a;padding:7px 4px}
.bd-list-card:last-child{border:0}
.bd-list-card button{background:none;border:none;text-align:left;color:#f1d9a3;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.bd-list-card small{display:block;color:#b8c9d7;margin-top:3px;font-size:11px}
.bd-list-card .art-mini{flex-shrink:0}
.bd-details{max-width:760px;width:100%;overflow:auto;background:#182a3f;border:1px solid #6889a0;border-radius:12px;padding:15px;max-height:65dvh}
.bd-manager-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.bd-manager-item{border:1px solid #566e84;border-radius:13px;background:#192c40;padding:16px;min-height:160px}
.bd-manager-item h3{color:#f2d8a1;margin:0 0 7px}
.bd-manager-item p{font-size:12px;color:#bcd0dd;line-height:1.6}
.bd-manager-item.ready{border-color:#85bb9b}
.bd-add-slot{border:2px dashed #8aabbd;background:#132538;color:#e4d2b2;min-height:160px;font-weight:900;font-size:21px;border-radius:14px;cursor:pointer}
.bd-add-slot:hover{border-color:#ebc787;background:#233b54}
.bd-text{background:#0f2032;color:#f4f6fa;border:1px solid #63819a;border-radius:8px;padding:10px 13px;width:100%;font:inherit}
.bd-full{width:100%}
.bd-status{color:#b8cfdf;font-size:12px;line-height:1.7;margin:8px 0 15px}
.bd-crumb{font-size:12px;letter-spacing:.15em;color:#c3a97c;margin-bottom:9px}
.bd-illustration{font-family:Georgia,serif;font-size:60px;color:#b9935c;text-align:center;margin-top:8px;text-shadow:0 6px 28px #000c}
.bd-debug{color:#aebfd0;font-size:12px;line-height:1.6}
.bd-muted{color:#a4baca}
@media(max-width:750px){.bd-page{padding:24px 16px;min-height:100dvh}
.bd-cards{grid-template-columns:1fr}
.bd-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bd-logo{font-size:clamp(42px,10vw,75px)}
.bd-logo span{letter-spacing:.4em}
.bd-section-heading{margin-bottom:14px}}
@media(max-width:480px){.bd-page{padding:19px 11px}
.bd-manager-grid,.bd-picker-grid{grid-template-columns:1fr}
.bd-logo{font-size:clamp(35px,10vw,65px)}
.bd-choice-grid{grid-template-columns:1fr 1fr}
.bd-difficulty{padding:10px;font-size:16px;min-height:67px}
.bd-btn{min-height:55px;font-size:17px}
.bd-stack{margin-top:24px}
.bd-version{margin-bottom:15px}}
.bd-audio-settings{display:grid;gap:14px;max-width:650px;width:100%}
.bd-audio-panel{text-align:left!important;max-width:none!important}
.bd-audio-head{display:flex;justify-content:space-between;align-items:flex-start;gap:13px}
.bd-audio-head h2{margin:0 0 7px;font-size:19px}
.bd-audio-head p{margin:0 0 18px;color:#a8bcd0;font-size:12px;line-height:1.65}
.bd-audio-head button{flex-shrink:0;min-width:87px}
.bd-audio-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e4d0aa;font-weight:700;margin:0 0 9px}
.bd-audio-label output{font-variant-numeric:tabular-nums}
.bd-audio-range{width:100%;height:32px;accent-color:#e1bb77;touch-action:pan-x;cursor:pointer}
.bd-audio-range:disabled{opacity:.35;cursor:default}
.bd-test-audio{margin-top:14px}
@media(max-width:480px){.bd-audio-head h2{font-size:16px}
.bd-audio-head p{font-size:11px}
.bd-audio-head button{min-width:69px}}
.bd-preview-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.bd-preview-actions .bd-btn{flex:1;min-width:170px}
@media(max-width:520px){.bd-preview-actions .bd-btn{min-width:125px}}
.drop-list-subtitle{font-size:11px;color:#94afc5;margin:0 0 12px}
.drop-list-scroll{display:flex;flex-direction:column;gap:7px;max-height:53vh;overflow-y:auto;padding-right:4px}
.drop-list-row{display:flex;gap:10px;align-items:center;background:#14273a;border:1px solid #3a536b;border-radius:10px;padding:9px 11px;min-height:57px}
.drop-list-index{color:#d3ac66;font-size:12px;font-weight:900;min-width:24px}
.drop-list-icon{font-size:20px;min-width:26px;text-align:center}
.drop-list-desc{flex:1;min-width:0}
.drop-list-desc .card-ref{font-size:13px;font-weight:800}
.drop-list-desc small{display:block;color:#9fb6c9;margin-top:3px;font-size:10px}
.drop-list-note{font-size:11px;color:#b4c5d5;line-height:1.6;margin-top:10px}
.drop-empty{background:#172b40;border:1px dashed #435c6e;padding:22px 12px;text-align:center;border-radius:10px;color:#adc0d0}
@media(max-width:600px){.drop-list-scroll{max-height:53vh}}
.rv2-aim-layer{position:fixed;inset:0;z-index:115;pointer-events:none;display:none}
.rv2-aim-layer.active{display:block}
.rv2-aim-layer svg{width:100%;height:100%;overflow:visible}
.rv2-aim-layer path{stroke:#b9f5ee;stroke-width:5;fill:none;stroke-linecap:round;filter:drop-shadow(0 0 9px #5eeadf)}
.rv2-aim-layer path.valid{stroke:#ffd389;filter:drop-shadow(0 0 12px #ffe092)}
.rv2-aim-layer circle{fill:#e5fbf7;filter:drop-shadow(0 0 7px #66f3e7)}
.rv2-drag-info{position:fixed;z-index:116;pointer-events:none;max-width:min(345px,85vw);padding:9px 13px;transform:translate(-50%,-120%);background:#122438ed;border:1px solid #8cc7d5;color:#eaf7ff;border-radius:10px;font-size:11px;line-height:1.4;box-shadow:0 7px 26px #001423ee;display:none}
.rv2-drag-info.active{display:block}.rv2-drag-info b{color:#f1d5a0}
.rv2-zoom{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;background:#030914db;backdrop-filter:blur(10px);padding:16px}
.rv2-zoom.active{display:flex}
.rv2-zoom-panel{width:min(780px,96vw);max-height:min(88vh,780px);overflow:auto;position:relative;background:radial-gradient(ellipse at 20% 0%,#345064,#1a2c3f 48%,#0b1728);border:2px solid #cba768;border-radius:21px;box-shadow:0 20px 80px #000d,0 0 42px #edc57426;padding:22px}
.rv2-zoom-close{position:absolute;right:15px;top:13px;width:37px;height:37px;border:1px solid #b2bbca;border-radius:50%;background:#1d3045;color:#e8f0fc;font-size:21px;cursor:pointer;z-index:2}
.rv2-zoom-kicker{font-size:11px;letter-spacing:3px;color:#e9ce8e;font-weight:850}
.rv2-zoom-grid{display:grid;grid-template-columns:minmax(185px,270px) minmax(0,1fr);gap:22px;margin-top:13px}
.rv2-zoom-illustration{height:min(48vh,380px);border:5px ridge #997e4e;border-radius:13px;overflow:hidden;background:radial-gradient(circle,#446b77 0%,#182838 75%);display:grid;place-items:center;box-shadow:inset 0 0 38px #0009,0 12px 26px #0008;font-size:115px}
.rv2-zoom-illustration .art-asset{height:100%;width:100%;display:grid;place-items:center}
.rv2-zoom-illustration .art-asset img{width:100%;height:100%;object-fit:cover}
.rv2-zoom-info h2{font-size:25px;line-height:1.35;color:#f6dda5;margin:0 0 8px;padding-right:27px}
.rv2-zoom-meta{font-size:12px;color:#b9d6e4;margin:9px 0}
.rv2-zoom-info .ability-list{max-height:36vh;overflow-y:auto}
.rv2-zoom-info .ability-item{padding:9px 11px}
.rv2-zoom-tip{font-size:11px;color:#9bb7c2;margin-top:12px}
.rv2-preview{padding:12px;border:1px solid #d2b783;border-radius:12px;background:linear-gradient(150deg,#152b3b,#0f192b);margin:12px 0;color:#cfe7f2;font-size:12px;line-height:1.65}
.rv2-preview b{color:#f5d594}
.rv2-preview-stats{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:17px;font-weight:850;color:#f2dfae;padding:6px 0}
.rv2-preview-note{font-size:11px;color:#a3c7d2}
@media(max-width:720px){.rv2-zoom-panel{padding:15px}.rv2-zoom-grid{grid-template-columns:minmax(0,1fr)}.rv2-zoom-illustration{height:min(33vh,250px);max-width:250px;margin:auto;width:100%}.rv2-zoom-info h2{font-size:19px}.rv2-zoom-info .ability-list{max-height:26vh}.rv-hand-zone .card{width:137px;min-height:200px}.rv2-control-hint{font-size:9px}.rv2-control-hint .rv2-pill{display:none}}

.rv2-quick-targets{position:fixed;z-index:119;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(14px);width:max-content;max-width:calc(100vw - 24px);padding:9px;display:flex;gap:8px;overflow-x:auto;opacity:0;pointer-events:none;background:linear-gradient(140deg,#13283df5,#18283cf5);border:1px solid #95c9d0;border-radius:13px;box-shadow:0 10px 32px #000d;transition:opacity .16s,transform .16s}
.rv2-quick-targets.active{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.rv2-quick-targets .rv2-target-chip{flex:0 0 auto;min-width:90px;padding:9px 10px;border-radius:9px;border:1px solid #638e9b;background:#172d43;color:#d5eaf1;font-size:11px;display:flex;flex-direction:column;gap:4px;align-items:center;line-height:1.25;user-select:none;-webkit-user-select:none;touch-action:none;white-space:nowrap}
.rv2-quick-targets .rv2-target-chip b{color:#f1d29a;font-size:11px}
.rv2-quick-targets .rv2-target-chip.rv2-targeted{background:#57462e;border-color:#f6d994;box-shadow:0 0 16px #f6cf76b6}
@media(max-width:600px){.rv2-quick-targets{bottom:calc(105px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 12px);padding:6px;gap:5px}.rv2-quick-targets .rv2-target-chip{min-width:75px;padding:8px 7px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.rv-hand-zone .card,.rv-battlefield .unit{transition:none!important}}

/* REVAMP 06: room drop target remains reachable if Room card is scrolled out of view */
.rv2-room-drop{position:fixed;left:50%;top:max(70px,11vh);z-index:117;pointer-events:none;opacity:0;transform:translate(-50%,-12px) scale(.94);transition:opacity .17s,transform .17s;border:2px solid #bbdce477;border-radius:16px;background:linear-gradient(135deg,#274158f5,#112637f2);color:#e6f5ff;padding:10px 22px;min-width:183px;text-align:center;box-shadow:0 10px 38px #000b,inset 0 0 13px #77def529}
.rv2-room-drop.active{opacity:1;transform:translate(-50%,0) scale(1)}
.rv2-room-drop span{display:block;font:20px Georgia,serif;color:#e8c682}
.rv2-room-drop strong{display:block;letter-spacing:2.4px;font-size:13px}
.rv2-room-drop small{display:block;font-size:9px;color:#b8d6e3;margin-top:2px}
.rv2-room-drop.rv2-targeted{background:linear-gradient(140deg,#74572de8,#323a46ee);border-color:#ffdd94;box-shadow:0 0 0 3px #e5c06f7a,0 0 40px #e0bc6c8c}
@media(max-width:600px){.rv2-room-drop{top:68px;min-width:155px;padding:7px 15px}.rv2-room-drop small{font-size:8px}}

#rv3FxLayer{position:fixed;inset:0;z-index:140;pointer-events:none;overflow:hidden}
.rv3-particle{position:fixed;left:var(--px);top:var(--py);width:var(--size);height:var(--size);border-radius:50%;background:var(--color);box-shadow:0 0 7px 2px var(--color),0 0 22px var(--color);transform:translate(-50%,-50%);animation:rv3-sparks var(--life) cubic-bezier(.1,.5,.35,1) both}
.rv3-magic-seal{position:fixed;left:var(--px);top:var(--py);width:var(--diam);height:var(--diam);border:3px solid var(--color);border-radius:50%;transform:translate(-50%,-50%) scale(.12);box-shadow:0 0 26px var(--color),inset 0 0 28px var(--color);animation:rv3-seal 690ms ease-out both}
.rv3-magic-seal::before,.rv3-magic-seal::after{content:"";position:absolute;inset:13%;border:1px dashed var(--color);border-radius:50%}
.rv3-magic-seal::after{inset:30%;border-style:solid}
.rv3-beam{position:fixed;left:var(--px);top:var(--py);width:var(--length);height:6px;transform-origin:0 50%;transform:rotate(var(--angle)) scaleX(0);border-radius:12px;background:linear-gradient(90deg,transparent,var(--color),#fffce4,var(--color));box-shadow:0 0 13px var(--color),0 0 28px var(--color);animation:rv3-projectile 580ms cubic-bezier(.17,.74,.23,.99) both}
.rv3-battle-word{position:fixed;left:var(--px);top:var(--py);font-size:13px;font-weight:950;letter-spacing:2px;color:var(--color);text-shadow:0 0 10px #000,0 0 24px var(--color);white-space:nowrap;animation:rv3-word 980ms ease-out both}
.rv3-flash{position:fixed;inset:0;background:var(--color);opacity:0;animation:rv3-flash 470ms ease-out both}
.rv3-victory{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#1b3041b9,transparent 70%);animation:rv3-victory 1150ms ease-out both;font:bold clamp(24px,5vw,58px) Georgia,serif;color:#fae7bd;letter-spacing:4px;text-shadow:0 0 22px #ffe79a99,0 3px 14px #000a}
.rv3-scene-change{animation:rv3-scene-wake 1.25s ease-in-out}
@keyframes rv3-floor-pulse{from{opacity:.83}to{opacity:1}}
@keyframes rv3-sigil-turn{from{transform:translate(-50%,-53%) rotate(0)}to{transform:translate(-50%,-53%) rotate(360deg)}}
@keyframes rv3-firefly{0%,100%{opacity:.12;transform:translate(0,0) scale(.6)}50%{opacity:.65;transform:translate(10px,-17px) scale(1.1)}}
@keyframes rv3-ready-glow{0%,100%{box-shadow:0 0 7px #64ffc0}50%{box-shadow:0 0 16px #64ffc0,0 0 9px #e4fffa}}
@keyframes rv3-mana-shimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.2)}}
@keyframes rv3-sparks{0%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1)}}
@keyframes rv3-seal{0%{opacity:0;transform:translate(-50%,-50%) scale(.12) rotate(-20deg)}24%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) scale(1.34) rotate(60deg)}}
@keyframes rv3-projectile{0%{opacity:.05;transform:rotate(var(--angle)) scaleX(0)}35%{opacity:1}75%{opacity:.94;transform:rotate(var(--angle)) scaleX(1)}100%{opacity:0;transform:rotate(var(--angle)) scaleX(1)}}
@keyframes rv3-word{0%{opacity:0;transform:translate(-50%,-5px) scale(.7)}20%{opacity:1;transform:translate(-50%,-25px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-68px) scale(.94)}}
@keyframes rv3-flash{0%{opacity:0}22%{opacity:.13}100%{opacity:0}}
@keyframes rv3-victory{0%{opacity:0;transform:scale(.9)}30%{opacity:1;transform:scale(1.01)}100%{opacity:0;transform:scale(1.08)}}
@keyframes rv3-scene-wake{0%{filter:brightness(.66) saturate(.45)}45%{filter:brightness(1.35) saturate(1.3)}100%{filter:brightness(1) saturate(1)}}
/* quality profiles and accessibility */