/* Deck tools keep the approved palette, without the garden environment. */
.deck-shell{background:radial-gradient(ellipse at 15% 10%,#fffdf7 0,transparent 65%),linear-gradient(135deg,#f1f2f0,#dce5ef 65%,#e8dce1);--line:#acb5c2;--line-soft:#c6ccd5;--muted:#6b7787}
.deck-shell .topbar{background:#faf8f3e8;border-color:#bac2cc;box-shadow:0 3px 14px #334c6c0b}
.deck-shell .topbar:after{display:none}.deck-shell .profile-button{border-color:#bcc5cf}.deck-shell .toast{border-color:#b1bfce;background:#fffffff5}
.db-button{border:1px solid #b8c3d0;background:linear-gradient(#fffefb,#eeefed);color:#344d68;border-radius:4px;padding:12px 25px;font:16px var(--display);min-height:43px;transition:background .15s,box-shadow .15s}
.db-button:hover:not(:disabled){background:#fff;box-shadow:0 3px 10px #38577722}.db-button.primary{background:linear-gradient(#3974a7,#24537f);color:#fff;border-color:#53799e;box-shadow:inset 0 0 0 2px #ffffff22}.db-button.danger{background:linear-gradient(#b25468,#90364d);color:#fff;border-color:#c08291}.db-button[aria-pressed=true]{background:#d8e6f4;border-color:#5c83aa;color:#214a75;box-shadow:inset 0 -2px #4a79a5}
.db-back{border:0;background:none!important;box-shadow:none!important;padding:0;min-height:26px;font:14px var(--ui);color:#5d7490}
.db-room{height:820px;padding:36px 112px 22px;display:flex;flex-direction:column}.db-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;min-height:104px}.db-title h1{font:38px var(--display);color:#304b6c;margin:7px 0}.db-title p{font:14px var(--ui);color:#778493;margin:0}.db-title-actions,.db-mode-tabs{display:flex;gap:10px}.db-mode-tabs .db-button{padding:12px 24px}
.db-gallery-wrap{position:relative;flex:1;min-height:0}.db-saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,1fr);gap:25px 28px;height:100%;padding:3px}
.db-slot{position:relative;min-width:0;overflow:hidden;border:1px solid #a9b6c7;border-radius:5px;background:linear-gradient(135deg,#fffdf8b0,#d3deeb80);padding:0;box-shadow:0 4px 12px #3a506c12,inset 0 0 0 3px #ffffff88;transition:box-shadow .18s,border-color .18s,transform .18s}.db-saved:hover{transform:translateY(-3px);box-shadow:0 9px 20px #37577730;border-color:#4b759d}.db-saved[data-draggable=true]{cursor:grab}.db-saved[data-draggable=true]:active{cursor:grabbing}.db-empty{border-style:dashed;background:#ffffff19;box-shadow:none}.db-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#f9fbfca6}.db-new>span{font:36px var(--ui);color:#6c8aac}.db-new>b{font-size:23px;color:#44678b;font-weight:400}.db-new>small,.db-empty>small{font:12px var(--ui);color:#8190a0}.db-empty>span{display:block;font:35px var(--ui);color:#8098b1;margin:0 0 8px}.db-banner-art{position:absolute;inset:0;overflow:hidden;background:#c9d7e5}.db-banner-art .art-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.db-faction-badge{position:absolute;top:10px;left:12px;background:var(--deck-accent);color:#fff;padding:6px 7px 9px;border:1px solid #e4e6e9;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);filter:drop-shadow(0 2px 2px #0006)}.db-faction-badge .glyph{width:26px;height:28px}.db-active-badge{position:absolute;top:11px;right:11px;background:#f6f9f5e8;border:1px solid #fff9;color:#345b7c;border-radius:3px;padding:4px 9px;font:11px var(--ui)}.db-deck-label{position:absolute;bottom:0;left:0;right:0;text-align:left;background:linear-gradient(transparent,#182a43ed 35%);padding:22px 16px 12px;color:#fff}.db-deck-label b{font:21px var(--display);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-deck-label small{display:block;font:11px var(--ui);color:#d2deec;margin-top:4px}.db-slot.delete-selected{border:3px solid #c33451;box-shadow:0 0 20px #c52d4d80}.db-delete-check{position:absolute;top:9px;right:10px;width:30px;height:30px;border-radius:50%;background:#c23350;color:white;border:2px solid #fff;font:21px var(--ui);text-align:center}.db-slot.swap-selected{outline:3px solid #2e82b9;outline-offset:3px;box-shadow:0 0 22px #438bc467}
.db-page-arrow{position:absolute;top:43%;width:55px;height:70px;min-height:0;padding:0;border:0;background:none;color:#5a7e9f;font:65px/1 var(--display);z-index:2;animation:db-float 2s ease-in-out infinite}.db-prev{left:-74px;--arrow-direction:-1}.db-next{right:-74px;--arrow-direction:1}.db-page-arrow:hover:not(:disabled){background:none;box-shadow:none;color:#265788}@keyframes db-float{50%{transform:translateX(calc(6px * var(--arrow-direction)))}}
.db-gallery-footer{display:flex;justify-content:space-between;align-items:center;font:12px var(--ui);color:#6d7c8e;margin-top:24px;height:35px}.db-page-dots{display:flex;gap:8px}.db-page-dots button{font:12px var(--ui);min-height:29px;min-width:33px;padding:5px 9px;background:#ffffff66;border-color:transparent}.db-page-dots [aria-current=page]{background:#3c6894;color:#fff;border-color:#6387ad}.db-gallery-hint{height:52px;padding-top:20px;text-align:center;font:12px var(--ui);color:#85909d}.db-mode-actions{height:62px;padding-top:14px;display:flex;gap:15px;justify-content:center}.db-mode-actions .db-button{min-width:170px}.db-locked{opacity:.32;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.db-locked>span{font-size:30px}.db-locked>small{font:12px var(--ui)}.db-page-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:470px;background:#f8f9f8f7;border:1px solid #bac7d4;box-shadow:0 15px 70px #273d6222;border-radius:8px;text-align:center;padding:28px 35px}.db-page-lock>span{font-size:37px;color:#718cab}.db-page-lock h2{font:28px var(--display);color:#3c5e81;margin:12px 0}.db-page-lock p{font:15px var(--ui);color:#6b7f92}.db-page-lock small{display:block;font:12px/1.6 var(--ui);color:#8190a0;margin-top:15px}
.db-editor{height:820px;padding:24px 32px 25px;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:73px minmax(0,1fr);gap:16px 23px}.db-editor-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #bac6d4;padding:0 0 15px}.db-editor-heading h1{font:27px var(--display);color:#2f5279;margin:6px 0 0}.db-editor-heading h1 span{font:14px var(--ui);color:#8a97a6;margin-left:13px;border-left:1px solid #bbc8d6;padding-left:15px}.db-editor-heading>div:last-child{display:flex;gap:10px;padding-top:8px}.db-editor-heading .db-button{min-width:125px}.db-editor-heading .db-back{min-width:0}
.db-catalog{display:flex;flex-direction:column;min-height:0;min-width:0}.db-editor-tools{flex:none;height:102px}.db-search{display:flex;gap:8px;height:42px;margin-bottom:11px}.db-search input{flex:1;min-width:0;border:1px solid #b9c5d2;border-radius:4px;background:#fdfdfbba;color:#344d68;padding:10px 15px;font:14px var(--ui)}.db-search .db-button{padding:8px 19px;min-height:0}.db-filter-row{display:flex;gap:10px;align-items:center}.db-type-tabs{display:flex;gap:3px;flex:1}.db-filter-row .db-button{font:13px var(--ui);min-height:34px;padding:8px 20px;background:#ffffff6b}.db-filter-row .db-button[aria-pressed=true]{background:#d2e1f0}.db-filter-row>span{font:12px var(--ui);color:#7d8d9f;white-space:nowrap;min-width:66px;text-align:right}
.db-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:19px 15px;align-content:start;overflow:auto;min-height:0;padding:4px 12px 20px 4px;scrollbar-width:thin;scrollbar-color:#9bafc6 #e2e8ef}.db-library-card{position:relative;min-width:0}.db-card-controls{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 0 3px}.db-card-controls .db-button{border:0;background:none;min-height:0;padding:0 3px;font:23px/1 var(--ui);color:#4c7096}.db-rarity{font:9px var(--ui);letter-spacing:.09em;text-transform:uppercase;color:#7b8b9d}.db-rarity.rare{color:#4d81ad}.db-rarity.epic{color:#8767a1}.db-rarity.mythic{color:#aa657a}.db-card-add{display:block;width:100%;padding:0;border:0;background:none;border-radius:5px}.db-card-add:disabled{opacity:1;cursor:default}.db-card-add .playing-card{width:100%!important;transform:none!important;pointer-events:none}.db-card-add .card-title{font-size:10px}.db-card-add .card-text{height:26px}.db-quantities{height:32px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;color:#355b82}.db-quantities .db-button{border:1px solid #b4c2d1;background:#fcfcfa;min-height:25px;width:27px;height:25px;padding:0;font:21px/1 var(--ui)}.db-quantities>span{font:17px var(--display);min-width:35px;text-align:center}.db-quantities small{font:11px var(--ui);color:#8a99a8}.db-no-results{grid-column:1/-1;text-align:center;padding:100px 20px;color:#4a6a8d}.db-no-results h2{font:27px var(--display)}.db-no-results p{font:15px var(--ui);color:#7d8c9c}
.db-composition{display:flex;flex-direction:column;min-height:0;border-left:1px solid #bbc8d6;padding-left:22px}.db-name-label{display:flex;flex-direction:column;gap:7px;font:11px var(--ui);color:#7c8b9d;flex:none}.db-name-label input{width:100%;border:1px solid #bec9d6;border-radius:4px;background:#fffcf8a6;padding:11px 12px;color:#345679;font:19px var(--display)}.db-leader-slot{display:flex;align-items:center;text-align:left;border:0;background:none;gap:16px;padding:17px 0 15px;flex:none;width:100%;color:#355776}.db-leader-slot>.playing-card{width:75px!important;transform:none!important;pointer-events:none}.db-leader-slot .card-text{height:16px}.db-leader-slot .card-title{font-size:6px}.db-leader-slot>span{flex:1;min-width:0}.db-leader-slot small{font:10px var(--ui);letter-spacing:.13em;color:#8592a1}.db-leader-slot b{display:block;font:19px/1.3 var(--display);margin:7px 0}.db-leader-slot em{font:12px var(--ui);color:#748daa;font-style:normal}.db-deck-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #bbc8d6;padding-top:12px;flex:none}.db-deck-total>span{font:14px var(--display);color:#4a6482}.db-deck-total>b{font:30px var(--display);color:#355e8c}.db-deck-total small{font:15px var(--display);color:#8294a9}.db-totals{display:flex;justify-content:space-around;flex:none;padding:12px 0 15px;border-bottom:1px solid #bbc8d6;color:#7a8a9c}.db-totals>span{font:11px var(--ui);text-align:center}.db-totals b{display:block;font:23px var(--display);color:#4c7098;margin-bottom:3px}.db-deck-rows{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;padding-right:5px}.db-deck-row{display:flex;align-items:center;border-bottom:1px solid #c6d1df88;padding:10px 0;min-height:50px;gap:6px}.db-deck-row>.db-button{background:none;border:0;box-shadow:none;flex:1;min-width:0;padding:0;text-align:left;min-height:0}.db-deck-row b{display:block;font:13px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-deck-row small{display:block;font:9px var(--ui);text-transform:uppercase;color:#8b98a7;margin-top:4px}.db-deck-row>div{display:flex;align-items:center;gap:5px}.db-deck-row>div .db-button{padding:0;width:23px;height:24px;min-height:0;font:18px var(--ui);background:#ffffff77}.db-deck-row strong{font:15px var(--display);min-width:12px;text-align:center;color:#496e95}.db-empty-deck{font:14px/1.7 var(--ui);color:#8595a7;text-align:center;margin-top:30px}.db-composition-footer{border-top:1px solid #bbc8d6;flex:none;padding-top:13px;display:flex;align-items:center;gap:10px;justify-content:space-between}.db-composition-footer>small{font:10px/1.7 var(--ui);color:#8592a2}.db-use{font-size:12px;padding:7px 10px;min-height:34px}
.db-modal-backdrop{position:absolute;inset:0;z-index:65;background:#23354f69;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:35px}.db-modal{width:560px;max-height:750px;overflow:auto;border:1px solid #acbbcc;border-radius:8px;box-shadow:0 25px 100px #21304d55,inset 0 0 0 4px #fff9;background:linear-gradient(135deg,#fffdf8,#edf1f6);padding:32px 38px;text-align:center;color:#395676}.db-modal.wide{width:860px}.db-modal h2{font:33px var(--display);color:#365477;margin:0 0 22px;border-bottom:1px solid #c3cdd9;padding-bottom:20px}.db-modal p{font:15px/1.65 var(--ui);color:#708196}.db-dialog-actions{display:flex;justify-content:center;gap:13px;margin-top:25px}.db-dialog-actions>.db-button{min-width:160px}.db-factions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:23px 0}.db-factions>.db-button{background:#ffffff99;padding:20px 12px;border-color:#bdc9d7;display:flex;align-items:center;flex-direction:column;gap:8px}.db-factions .glyph{color:var(--deck-accent);width:42px;height:43px;margin-bottom:4px}.db-factions b{font:24px var(--display);color:#3d5c7e}.db-factions small{font:11px var(--ui);color:#8c99a8}.db-leader-preview{display:flex;gap:32px;align-items:center;text-align:left;padding:0 30px}.db-leader-preview>.playing-card{width:160px!important;flex-shrink:0;transform:none!important}.db-leader-preview>div:not(.playing-card){flex:1}.db-leader-preview small,.db-card-details small{font:12px var(--ui);text-transform:capitalize;letter-spacing:.04em;color:#7f93a9}.db-leader-preview h3,.db-card-details h3{font:29px var(--display);margin:10px 0 17px;color:#37597f}.db-leader-note{font:12px/1.7 var(--ui);display:block;color:#8c9aab;border-top:1px solid #ccd5df;padding-top:15px}.db-leader-options{display:flex;justify-content:center;gap:15px;overflow:auto;padding:20px 6px 6px}.db-leader-options>.db-button{width:125px;min-width:125px;padding:6px;background:#ffffff55;display:flex;flex-direction:column;align-items:center;gap:7px}.db-leader-options .playing-card{width:85px!important;transform:none!important;pointer-events:none}.db-leader-options .card-text{height:18px}.db-leader-options .card-title{font-size:7px}.db-leader-options small{font:10px var(--ui)}.db-leader-options .unowned .playing-card{filter:grayscale(1);opacity:.45}.db-leader-options [aria-pressed=true]{outline:2px solid #6d9bc2;outline-offset:3px}.db-card-details{display:flex;gap:35px;text-align:left;align-items:center;margin:0 5px 27px}.db-card-details>.playing-card{width:215px!important;flex-shrink:0;transform:none!important}.db-card-details>div:not(.playing-card){flex:1;min-width:0}.db-card-details .db-quantities{justify-content:flex-start;margin:22px 0 0}.db-keyword{border-top:1px solid #c6d1de;padding-top:13px}.db-keyword b{font:19px var(--display)}.db-keyword p{font-size:13px}.db-filter-form{text-align:left}.db-filter-form>label{display:flex;flex-direction:column;margin:18px 0;gap:8px;font:14px var(--ui)}.db-filter-form select,.db-filter-form input{border:1px solid #b4c2d3;border-radius:4px;background:#fffdf9;color:#405f82;padding:10px 12px;font:16px var(--ui);width:100%}.db-filter-form fieldset{display:flex;gap:15px;align-items:center;border:1px solid #c4d0df;border-radius:4px;padding:16px;margin:25px 0 15px}.db-filter-form legend{font:14px var(--ui);padding:0 5px}.db-filter-form fieldset label{display:flex;flex-direction:column;gap:9px;font:12px var(--ui);flex:1;min-width:0}.db-filter-form>p{font-size:12px}.db-deletion-list{text-align:left;max-height:180px;overflow:auto;padding-left:25px;font:17px/1.8 var(--display);color:#566c87}.db-cloud-actions{display:flex;flex-direction:column;gap:13px;margin:25px 10px 0}

.db-slot[data-draggable=true],button.db-empty[data-slot]{touch-action:none}.db-slot.pointer-dragging{opacity:.55;transform:rotate(-1deg);cursor:grabbing}.db-slot.pointer-drop-target{outline:3px solid #4c92bf;outline-offset:3px;background:#d3e6f5}

/* The top half of the illustration fits on the right, fading into the black row. */
.db-deck-row{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;height:68px;min-height:68px;padding:7px 10px;margin:5px 0;border:1px solid #647a9380;border-radius:3px;background:#090e15;box-shadow:0 1px 3px #1b31471f}
.db-row-art{position:absolute;inset:0 0 0 50%;z-index:-1;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.db-row-art .art-image{position:relative;inset:auto;display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 100%)}

.db-deck-row>.db-button{width:69%;min-height:0;display:block;align-self:start;color:#f7f7f4;text-shadow:0 1px 3px #000;background:none!important;box-shadow:none!important}.db-deck-row>.db-button:hover b{color:#d2e7fb}.db-deck-row b{font:13px/1.1 var(--display)}.db-deck-row small{font:8px/1.1 var(--ui);color:#c1cbd8;margin-top:3px}
.db-deck-row>div{justify-self:start;align-self:end;gap:6px;position:relative}.db-deck-row>div .db-button{width:21px;height:21px;min-height:21px;background:#dce3eddf;color:#233b55;border-color:#c7d4e0cc;font-size:16px;line-height:1}.db-deck-row>div .db-button:disabled{opacity:.38}.db-deck-row strong{color:#fff;font:15px var(--display);text-shadow:0 1px 2px #000;min-width:14px}
.db-faction-badge{color:var(--deck-ink,#fff9e9)}
.db-factions .db-button>.glyph{color:var(--deck-ink,#fff9e9);background:var(--deck-accent);border:1px solid #8c99a866;border-radius:50%;padding:9px;width:58px;height:58px}

.db-starter-options{display:flex;gap:20px;margin:20px 0}.db-starter-options article{flex:1;display:flex;align-items:center;gap:18px;border:1px solid #bdc6cf;border-radius:8px;padding:18px}.db-starter-options .playing-card.inspect-card{width:116px;flex-shrink:0}.db-starter-options h3{margin:0 0 9px;font-size:22px}.db-starter-options p{font-size:14px}
