.visual-deck-builder{margin-bottom:1.5rem;padding:1rem;border:1px solid #5a4935;border-radius:12px;background:radial-gradient(circle at top left,rgba(199,139,44,.16),transparent 32%),#1e1916}.db-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.db-header h2,.db-section h3{margin:0 0 .35rem}.db-hint{margin:0;max-width:62rem;color:#d7c8b8;line-height:1.4}.db-status{max-width:24rem;border-radius:10px;padding:.6rem .75rem;font-size:.82rem;line-height:1.35;border:1px solid #7a5c2c;background:#20160c}.db-status.ok{border-color:#4f8d43;background:#10220f}.db-status.warn{border-color:#a97620;background:#271b0f}.db-shell{display:grid;grid-template-columns:minmax(13rem,.75fr) minmax(28rem,2.2fr) minmax(17rem,1fr);gap:1rem;min-width:0}.db-panel,.db-card-browser{border:1px solid #3d3530;border-radius:10px;background:#100d0bc2;padding:.85rem;min-width:0}.db-field,.db-filter-group{display:block;margin-bottom:.9rem}.db-field span,.db-label{display:block;margin-bottom:.35rem;font-size:.78rem;color:#d8c4a0;text-transform:uppercase;letter-spacing:.04em}.db-field input,.db-field select,.db-deck textarea{width:100%;box-sizing:border-box;border:1px solid #4a4038;border-radius:8px;background:#120f0d;color:inherit;padding:.55rem .65rem;font:inherit}.db-deck textarea{margin-top:.65rem;min-height:10rem;white-space:pre}.db-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.db-chip-row button,.db-card-actions button,.db-entry button,.db-primary,.db-secondary{border:1px solid #6b5a45;border-radius:8px;background:#312820;color:inherit;cursor:pointer;font:inherit;padding:.42rem .62rem}.db-chip-row button.active,.db-card-actions button:hover,.db-entry button:hover,.db-primary:hover,.db-secondary:hover{border-color:#e8b923;background:#47321a}.type-row button{text-transform:capitalize}.db-quick-row button{min-width:4.2rem}.db-filter-status{display:flex;justify-content:space-between;gap:.5rem;margin:.2rem 0 .65rem;color:#d8c4a0;font-size:.78rem}.db-coverage-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.db-coverage-panel div,.db-detail-coverage{border:1px solid #66513a;border-radius:10px;background:#0a08078f;padding:.65rem}.db-coverage-panel strong,.db-coverage-panel span,.db-detail-coverage strong,.db-detail-coverage span{display:block}.db-coverage-panel strong,.db-detail-coverage strong{color:#f1d48b;font-size:.78rem;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.db-coverage-panel span,.db-detail-coverage span{color:#eadcc9;font-size:.8rem;line-height:1.35}.db-script-badge{display:inline-flex;width:fit-content;margin:.3rem 0 .1rem;border:1px solid #66513a;border-radius:999px;padding:.16rem .44rem;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.db-script-badge.implemented{border-color:#4f8d43;background:#10220f;color:#b7ebb0}.db-script-badge.partial{border-color:#a97620;background:#271b0f;color:#ffd899}.db-script-badge.not-implemented{border-color:#5e6878;background:#121922;color:#c9d4e2}.db-browser-topline{margin-bottom:.75rem;color:#d7c8b8;font-size:.88rem}.db-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;max-height:47rem;overflow:auto;padding-right:.25rem}.db-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.7rem;border:1px solid #45382c;border-radius:10px;background:linear-gradient(180deg,#241d18,#17120f);padding:.55rem;min-width:0}.db-card-img{width:76px;min-height:106px;object-fit:cover;border-radius:5px;background:#0e0b09}.db-card-body{min-width:0}.db-card-title{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.db-card-title strong,.db-entry span{overflow-wrap:anywhere}.db-card-title span,.db-card-type,.db-card-meta,.db-empty{color:#cdbda9;font-size:.78rem}.db-card p{margin:.4rem 0;color:#e5ded4;font-size:.78rem;line-height:1.3;max-height:4.2rem;overflow:auto}.db-card-meta,.db-card-actions,.db-entry,.db-stats{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.db-card-meta span,.db-stats span{border-radius:999px;background:#2d251e;padding:.18rem .42rem}.db-pips{display:inline-flex;gap:.2rem;flex-wrap:wrap}.db-pip{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;color:#111;font-size:.72rem;font-weight:800}.db-pip-W{background:#f4ecd0}.db-pip-U{background:#8fc8ff}.db-pip-B{background:#aaa0a0}.db-pip-R{background:#e69251}.db-pip-G{background:#7ac36a}.db-pip-C{background:#d2c7b5}.db-section{padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid #3d3530}.db-entry{justify-content:space-between;padding:.38rem 0;border-bottom:1px dashed rgba(255,255,255,.09)}.db-curve{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem;align-items:end;min-height:5.2rem}.db-curve div{display:grid;justify-items:center;gap:.2rem;font-size:.7rem;color:#cdbda9}.db-curve i{display:block;width:100%;max-width:1.5rem;border-radius:.35rem .35rem 0 0;background:linear-gradient(180deg,#e8b923,#8d5520)}.db-type-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.7rem;color:#d8c4a0;font-size:.76rem;text-transform:capitalize}.db-primary{width:100%;background:#593c16;border-color:#e8b923}@media(max-width:980px){.db-header{flex-direction:column}.db-coverage-panel,.db-shell{grid-template-columns:1fr}.db-card-grid{max-height:none}}@media(max-width:520px){.visual-deck-builder{padding:.75rem;margin-left:-.25rem;margin-right:-.25rem}.db-panel,.db-card-browser{padding:.65rem}.db-card-grid{grid-template-columns:minmax(0,1fr);padding-right:0}.db-card{grid-template-columns:56px minmax(0,1fr);width:100%;box-sizing:border-box}.db-card-img{width:56px;min-height:78px}.db-card-title{flex-direction:column;gap:.15rem}.db-card-actions{flex-direction:column;align-items:stretch}.db-card-actions button{width:100%}}.db-sticky-summary{display:none;gap:.35rem;align-items:center;flex-wrap:wrap;border:1px solid #7a5c2c;border-radius:999px;background:#140d08f0;box-shadow:0 8px 28px #00000052;padding:.45rem .65rem;margin:0 0 .85rem;font-size:.78rem;z-index:2}.db-sticky-summary span{color:#eadcc9}.db-sticky-summary strong,.db-sticky-summary span{border-radius:999px;background:#ffffff0f;padding:.12rem .38rem}.db-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:end center;background:#0000009e;padding:1rem}.db-detail-sheet{width:min(56rem,100%);max-height:min(86vh,48rem);overflow:auto;position:relative;display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);gap:1rem;border:1px solid #a97620;border-radius:18px;background:linear-gradient(180deg,#2b2119,#120e0b);box-shadow:0 24px 70px #00000094;padding:1rem}.db-detail-close{position:absolute;top:.55rem;right:.65rem;width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid #7a5c2c;background:#17100c;color:#fff;font-size:1.4rem;line-height:1}.db-detail-img{width:100%;max-width:18rem;border-radius:12px;background:#0e0b09}.db-detail-copy{min-width:0;padding-right:2.3rem}.db-detail-copy p{line-height:1.45;color:#f1e8dc;white-space:pre-wrap}.db-detail-title strong{font-size:1.25rem}.db-detail-actions{grid-column:1 / -1;position:sticky;bottom:-1rem;display:flex;gap:.55rem;padding:.75rem 0 0;background:linear-gradient(180deg,#120e0b00,#120e0b 30%)}.db-detail-actions button{flex:1;min-height:2.85rem;border:1px solid #e8b923;border-radius:11px;background:#4d3315;color:inherit;font:inherit;font-weight:700}@media(max-width:520px){.db-sticky-summary{display:flex;position:sticky;top:.35rem}.db-browser-topline{font-size:.76rem}.db-card p{display:none}.db-card-meta{font-size:.72rem}.db-detail-backdrop{align-items:end;padding:.35rem}.db-detail-sheet{grid-template-columns:92px minmax(0,1fr);gap:.75rem;max-height:92vh;border-radius:16px 16px 8px 8px;padding:.75rem}.db-detail-img{max-width:92px}.db-detail-copy{padding-right:2rem}.db-detail-copy p{max-height:none;overflow:visible;font-size:.84rem}.db-detail-title{flex-direction:column;gap:.1rem}.db-detail-title strong{font-size:1rem}.db-detail-actions{flex-direction:column}}@media(max-width:980px){.db-shell{grid-template-columns:1fr 1.5fr}}@media(max-width:520px){.db-shell{grid-template-columns:1fr;gap:.75rem}.db-card-grid{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));max-height:55vh;gap:.5rem}.db-card{grid-template-columns:48px minmax(0,1fr);padding:.35rem;gap:.4rem}.db-card-img{width:48px;min-height:68px}.db-card p{display:none}.db-card-actions button,.db-entry button{padding:.25rem .4rem;font-size:.75rem;min-height:36px}}@media(max-width:400px){.db-shell{gap:.4rem}.db-card-grid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:.35rem}.db-card{grid-template-columns:42px 1fr;padding:.25rem;gap:.3rem}.db-card-img{width:42px;min-height:58px}.db-card-body{font-size:.7rem}}@media(orientation:landscape)and (max-height:500px){.db-shell{grid-template-columns:1fr}.db-card-grid{max-height:40vh}}.db-card,.db-entry,.db-card-actions button,.db-chip-row button{touch-action:manipulation;min-height:44px}.db-card-grid,.db-chip-row.set-row{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.db-card.dragging{opacity:.5;transform:scale(.98)}[data-drop-zone]{transition:background-color .1s ease,border-color .1s ease}[data-drop-zone].drop-active,[data-drop-zone]:hover{background:#a976201f;border-color:#a97620}.drag-ghost{font-size:.8rem;color:#e8e6e3;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:400px){.db-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.3rem!important}.db-card{grid-template-columns:38px 1fr!important;padding:.2rem!important;font-size:.65rem!important}.db-card-img{width:38px!important;min-height:52px!important}.db-card p,.db-card-meta{display:none!important}.visual-deck-builder,.db-panel,.db-card-browser{padding:.4rem!important}}@media(max-width:420px){.visual-deck-builder{padding:.3rem!important}.db-shell,.db-panel,.db-card-browser{padding:.3rem!important;border-radius:6px}.db-card-grid{grid-template-columns:repeat(2,1fr)!important;gap:.25rem!important;max-height:50vh!important}.db-card{grid-template-columns:36px 1fr!important;padding:.2rem!important;gap:.2rem!important}.db-card-img{width:36px!important;min-height:50px!important;border-radius:3px}.db-card-title strong{font-size:.7rem!important}.db-card-actions button{padding:.45rem .35rem!important;font-size:.65rem!important;min-height:44px!important}.db-card p,.db-card-meta,.db-script-badge{display:none!important}}.visual-deck-builder{border-color:#ffffff1a;border-radius:28px;background:radial-gradient(circle at 12% 6%,rgba(243,199,90,.18),transparent 25rem),radial-gradient(circle at 90% 8%,rgba(113,112,255,.18),transparent 26rem),linear-gradient(180deg,#ffffff0f,#ffffff05),#08090a;box-shadow:0 26px 72px #00000061,inset 0 1px #ffffff14}.db-header h2{font-size:clamp(1.8rem,3vw,3.2rem);line-height:.95;letter-spacing:-.08em}.db-hint{color:var(--text-soft, #d0d6e0)}.db-coverage-panel div,.db-panel,.db-card-browser,.db-detail-sheet,.db-section,.db-sticky-summary{border-color:#ffffff17!important;background:#07080cb8!important;-webkit-backdrop-filter:blur(14px) saturate(135%);backdrop-filter:blur(14px) saturate(135%);box-shadow:inset 0 1px #ffffff0e,0 18px 44px #00000038}.db-shell{grid-template-columns:minmax(16rem,.78fr) minmax(32rem,2.5fr) minmax(19rem,1fr)}.db-field input,.db-field select,.db-deck textarea{border-color:#ffffff1c;background:#00000057;color:var(--text-main, #f7f8f8)}.db-field input:focus,.db-field select:focus,.db-deck textarea:focus{outline:none;border-color:#7170ffa6;box-shadow:0 0 0 3px #7170ff29}.db-chip-row button,.db-card-actions button,.db-entry button,.db-primary,.db-secondary{border-color:#ffffff1c;background:#ffffff0b;color:#f7f8f8;font-weight:680}.db-chip-row button.active,.db-chip-row button:hover,.db-card-actions button:hover,.db-primary:hover,.db-secondary:hover{border-color:#53ffc070;background:linear-gradient(135deg,#7170ff52,#53ffc024)}.db-card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}.db-card{grid-template-columns:92px minmax(0,1fr);border-color:#ffffff1a;background:linear-gradient(160deg,#ffffff13,#ffffff06);box-shadow:0 16px 38px #00000042,inset 0 1px #ffffff12;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.db-card:hover{transform:translateY(-5px) scale(1.01);border-color:#f3c75a6b;box-shadow:0 28px 56px #0000005c,0 0 28px #f3c75a1a}.db-card-img{width:92px;min-height:128px;border-radius:9px;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 36px #00000073}.db-card-title strong{color:#fff;letter-spacing:-.025em}.db-script-badge.implemented{color:#b9ffe8;box-shadow:0 0 18px #53ffc029}.db-script-badge.partial{color:#ffe4aa}.db-script-badge.not-implemented{color:#ccd5e6}.db-detail-backdrop{-webkit-backdrop-filter:blur(20px) saturate(130%);backdrop-filter:blur(20px) saturate(130%);background:#000000b8}.db-detail-sheet{border-radius:28px}.db-detail-img{border-radius:16px;box-shadow:0 24px 72px #00000085}@media(max-width:1120px){.db-shell{grid-template-columns:1fr}.db-card-grid{max-height:70vh}}.mode-select{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1px solid #3d3530;border-radius:8px;background:#221c18}.mode-select h2{margin:0 0 .35rem;font-size:1.1rem}.mode-select .hint{margin:0 0 1rem;font-size:.85rem;opacity:.75}.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem}.format-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .65rem;border:1px solid #4a4038;border-radius:6px;background:#2a221c;color:inherit;cursor:pointer;text-align:left;font:inherit}.format-option:hover{border-color:#c9a227}.format-option[aria-pressed=true]{border-color:#e8b923;box-shadow:0 0 0 1px #e8b923 inset;background:#332a22}.format-option .label{font-weight:600;font-size:.95rem}.format-option .meta{font-size:.72rem;opacity:.7}.format-summary{margin:.85rem 0 0;font-size:.82rem;opacity:.85}:root{color-scheme:dark;--bg-void: #050508;--text-main: #f7f8f8;--text-soft: #d0d6e0;--accent-violet: #7170ff;--accent-mint: #53ffc0;--accent-gold: #f3c75a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg-void);color:var(--text-main)}.app{width:100vw;height:100vh;overflow:hidden;position:relative}.top-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#06070ad1;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{font-weight:800;font-size:.9rem;background:linear-gradient(135deg,#7170ff4d,#53ffc026);padding:.35rem .7rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.nav-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.4rem .8rem;color:var(--text-main);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.nav-btn:hover{background:#7170ff33;border-color:#7170ff80}.ai-toggle{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-soft);cursor:pointer}.ai-toggle input{accent-color:var(--accent-violet)}.nav-select{background:#0006;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.3rem .5rem;color:var(--text-main);font-size:.78rem}.game-3d-container{position:absolute;right:0;bottom:0;left:0;top:0}.game-3d-container canvas{display:block;width:100%!important;height:100%!important}.deck-builder-overlay{position:absolute;right:0;bottom:0;left:0;top:48px;overflow-y:auto;padding:1rem;background:var(--bg-void)}.fallback-3d{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-void);color:#ff6b8a;gap:1rem}.fallback-3d pre{max-width:80%;font-size:.8rem;color:var(--text-soft)}.fallback-3d button{padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--text-main);cursor:pointer}.loading-3d{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-void);color:var(--text-soft);gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(113,112,255,.2);border-top-color:var(--accent-violet);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{font-family:system-ui,sans-serif;line-height:1.5;color:#e8e6e3;background:#1a1614}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}
