@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url('/static/assets/fonts/manrope/manrope-latin-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Syne";font-style:normal;font-weight:500 800;font-display:swap;src:url('/static/assets/fonts/syne/syne-latin-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:dark;
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bg:#090a0f;--bg-soft:#0e1017;--surface:#12151e;--surface-2:#171b26;--surface-3:#1d2230;
  --line:#282e3d;--line-strong:#394258;--text:#f4f6fb;--muted:#929caf;--muted-2:#697386;
  --primary:#8b7dff;--primary-2:#6e61e8;--cyan:#58d7d0;--green:#62d394;--warning:#f1bf69;--danger:#f07984;
  --shadow:0 24px 70px rgba(0,0,0,.38);--radius:16px;--radius-sm:11px;
  /* Fantasy-HUD materials: brushed metal and obsidian frames the energy
     colors above sit on. Never used as decoration on their own — always as
     the physical "object" a colored accent is inscribed into. */
  --obsidian:#07080d;--obsidian-2:#0d1017;--graphite:#171a22;
  --bronze:#a6805a;--bronze-dim:#5b4630;--silver:#9aa2b4;--silver-dim:#454d5f;

  /* ==========================================================================
     Fantasy design system — explicit, reusable tokens. METAL + OSSIDIANA for
     physical structure, ENERGY colors only for state/meaning. Everything in
     sections marked "fantasy-*" below is built from these, never one-off
     hex values, so the whole app shares one material language. */
  --fantasy-bg:radial-gradient(120% 90% at 50% -10%,#12172a 0%,#0a0d18 45%,#05060c 100%);
  --fantasy-panel:linear-gradient(165deg,#141a2c 0%,#0d1220 60%,#090c16 100%);
  --fantasy-panel-deep:linear-gradient(180deg,#0a0e1a,#050710);
  --fantasy-gold:#e8c77a;--fantasy-gold-pale:#d9c9a3;
  --fantasy-bronze:#b08a55;--fantasy-bronze-dim:#5e4527;
  --fantasy-silver:#aab4c8;--fantasy-silver-dim:#3c4356;
  --fantasy-arcane:#9b83ff;--fantasy-mana:#5be0d6;
  --fantasy-danger:#e2555f;--fantasy-success:#5fcf8f;--fantasy-warning:#e3ae5a;
  --fantasy-serif:Georgia,"Iowan Old Style","Palatino Linotype",ui-serif,serif;
}

/* v0.11.12 — resilient AJAX quantities and the shared mobile card gallery. */
.mtg-card.pending-removal,.compact-card-row.pending-removal,.deck-image-card.pending-removal{opacity:.58;filter:saturate(.6);pointer-events:none;transform:scale(.985);transition:opacity .22s,filter .22s,transform .22s}
.mtg-card.pending-removal .collection-card-actions,.pending-removal .quantity-control{pointer-events:auto}
.mtg-card.removing,.compact-card-row.removing,.deck-image-card.removing{animation:ajaxCardRemove .32s cubic-bezier(.4,0,.8,.2) forwards;overflow:hidden}
.qty-unsynced{outline:2px solid color-mix(in srgb,var(--warning) 72%,transparent);outline-offset:2px}
.quantity-pop{display:inline-block;animation:quantityPop .22s cubic-bezier(.2,.8,.2,1)}
.collection-grid[aria-busy="true"]:not(:has(.collection-loading)),.library-grid[aria-busy="true"]{opacity:.72;transition:opacity .18s}
@keyframes ajaxCardRemove{to{opacity:0;transform:translateY(-10px) scale(.96);max-height:0;margin:0;padding:0;border-width:0}}
@keyframes quantityPop{50%{transform:scale(1.32);color:var(--primary)}}

@media(max-width:780px){
  /* Quick add remains clear, but quantity and CTA share one useful row. */
  .collection-browser .collection-quick-add{grid-template-columns:82px minmax(0,1fr)!important;gap:9px!important;padding:0 0 16px!important}
  .collection-browser .collection-quick-add .collection-quick-search{grid-column:1/-1!important;width:100%!important}
  .collection-browser .collection-quick-add>#collectionQuickQty{grid-column:1!important;width:82px!important;min-height:48px}
  .collection-browser .collection-quick-add>#collectionQuickButton{grid-column:2!important;width:100%!important;min-height:48px}
  /* Search gets a complete first row; filters become readable two-up pairs. */
  .collection-browser .collection-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:0 0 14px!important}
  .collection-browser .collection-filter-panel>*{grid-column:auto!important;width:100%!important;height:46px!important;min-width:0!important;font-size:12px}
  .collection-browser .collection-filter-panel>.collection-search-wide{grid-column:1/-1!important;height:52px!important}
  .collection-browser .collection-filter-panel>.collection-search-wide input{font-size:14px;min-width:0}
  .collection-browser .collection-filter-panel>#collectionSort{grid-column:1!important}
  .collection-browser .collection-filter-panel>#collectionDirection{grid-column:2!important}
  .collection-browser .collection-selection-bar{grid-template-columns:1fr auto!important;align-items:center!important;gap:9px!important}
  .collection-browser .collection-selection-bar>span{grid-column:1/-1;width:auto!important}
  .collection-browser .collection-selection-bar .collection-select-all{width:auto!important;font-size:11px}
  .collection-browser .collection-selection-bar .button{width:auto!important;min-height:42px;padding-inline:12px}

  .mobile-card-sheet[open]{z-index:520!important}
  .mobile-card-sheet .mobile-sheet-card{top:max(6px,env(safe-area-inset-top))!important;bottom:0!important;max-height:none!important;height:calc(var(--app-viewport-height,100dvh) - max(6px,env(safe-area-inset-top)))!important;border-radius:20px 20px 0 0!important;overflow:auto!important;padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  .mobile-sheet-handle{position:sticky!important;z-index:24;top:0;width:100%!important;height:18px!important;margin:0!important;border:0!important;border-radius:0!important;background:color-mix(in srgb,var(--surface) 96%,transparent)!important;font-size:0}
  .mobile-sheet-handle:before{top:7px!important;width:42px!important;height:4px!important}
  .mobile-gallery-head{position:sticky;z-index:23;top:18px;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center!important;padding:8px 12px 10px!important;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px)}
  .mobile-gallery-head>div{min-width:0}.mobile-gallery-head h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.mobile-gallery-back{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:800}.mobile-gallery-back:first-letter{font-size:18px}.mobile-gallery-counter{padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
  #deckCardSheetContent{display:grid;gap:10px;padding:12px 0 4px}
  .mobile-gallery-stage{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;min-height:clamp(280px,43dvh,430px);padding:0 10px;touch-action:pan-y;overflow:hidden}
  .mobile-gallery-stage>img{display:block;width:auto;max-width:100%;height:min(43dvh,430px);margin:auto;aspect-ratio:488/680;object-fit:contain;border-radius:11px;box-shadow:0 18px 42px rgba(0,0,0,.42);animation:galleryCardIn .24s cubic-bezier(.2,.8,.2,1)}
  .mobile-gallery-stage.slide-from-left>img{animation-name:galleryCardFromLeft}.mobile-gallery-stage.slide-from-right>img{animation-name:galleryCardFromRight}
  .mobile-gallery-nav{width:42px;height:54px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:30px;touch-action:manipulation}.mobile-gallery-nav:disabled{opacity:.24}
  .mobile-gallery-rail{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px max(16px,calc(50% - 36px)) 7px}.mobile-gallery-rail::-webkit-scrollbar{display:none}
  .mobile-gallery-thumb{flex:0 0 54px;width:54px;height:76px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);opacity:.56;scroll-snap-align:center;transition:opacity .18s,transform .18s,border-color .18s}.mobile-gallery-thumb.active{opacity:1;transform:translateY(-2px) scale(1.06);border-color:var(--primary);box-shadow:0 5px 16px rgba(0,0,0,.3)}.mobile-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
  .mobile-gallery-info{display:grid;gap:10px;margin:0 12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--bg-soft)}.mobile-gallery-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mobile-gallery-title>div{min-width:0}.mobile-gallery-title h3{margin:4px 0 2px;font-size:17px;overflow-wrap:anywhere}.mobile-gallery-title p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.gallery-owned{flex:none;color:var(--muted);font-size:10px}.gallery-quantity{width:100%;max-width:none}.gallery-quantity button:disabled{opacity:.35}
  .mobile-gallery-info .mobile-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"version version" "details remove"!important;margin-top:0}.mobile-gallery-info .library-gallery-actions{grid-template-areas:"add add" "details version"!important}.library-gallery-actions>[data-gallery-add]{grid-area:add}.mobile-gallery-info .button{min-width:0;min-height:44px;padding:7px 8px;font-size:10px;white-space:normal}
  .mobile-card-expanded{margin:0 12px;padding-inline:0!important}.mobile-card-sheet.details-open .mobile-card-expanded{max-height:1000px;padding:3px 0 16px!important}.mobile-full-details{width:100%}
  @keyframes galleryCardIn{from{opacity:.35;transform:scale(.965)}to{opacity:1;transform:none}}@keyframes galleryCardFromLeft{from{opacity:.2;transform:translateX(-34px) rotate(-2deg)}to{opacity:1;transform:none}}@keyframes galleryCardFromRight{from{opacity:.2;transform:translateX(34px) rotate(2deg)}to{opacity:1;transform:none}}
}

/* v0.22.1 — token aids are real interactive previews, not cramped metadata. */
.deck-token-list article.deck-token-row{grid-template-columns:58px minmax(0,1fr) auto;min-width:0;min-height:86px;gap:11px;padding:9px;overflow:hidden;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.deck-token-list article.deck-token-row:hover,.deck-token-list article.deck-token-row:focus-visible{border-color:var(--fantasy-gold);background:linear-gradient(145deg,rgba(202,159,80,.08),var(--surface));outline:0;transform:translateY(-1px)}
.deck-token-list .deck-token-image{display:block;width:58px!important;height:78px!important;min-width:58px;padding:0!important;overflow:hidden;border:1px solid var(--fantasy-bronze-dim);border-radius:7px;background:var(--graphite)}
.deck-token-list .deck-token-image img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.deck-token-copy{min-width:0}.deck-token-list .deck-token-copy b{font-size:11px;line-height:1.25;overflow-wrap:anywhere}.deck-token-list .deck-token-copy small{margin-top:5px;font-size:8px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.deck-token-list article.deck-token-row>strong{align-self:center;font-size:9px}
.token-preview-card{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:22px;align-items:center}.token-preview-image{padding:0;overflow:hidden;border:1px solid var(--fantasy-bronze-dim);border-radius:13px;background:#070807;cursor:zoom-in}.token-preview-image img{display:block;width:100%;height:auto}.token-preview-copy h3{margin:8px 0;font-size:25px}.token-preview-copy p{color:var(--text-secondary);line-height:1.55}.token-preview-copy>small{display:block;margin-top:14px;color:var(--muted);line-height:1.5}.token-preview-placeholder{display:grid;place-items:center;min-height:280px;color:var(--fantasy-gold);background:var(--graphite)}
@media(max-width:780px){.deck-token-list article.deck-token-row{grid-template-columns:68px minmax(0,1fr) auto;min-height:104px;padding:10px}.deck-token-list .deck-token-image{width:68px!important;height:92px!important;min-width:68px}.deck-token-list .deck-token-copy b{font-size:13px}.deck-token-list .deck-token-copy small{font-size:10px}.deck-token-list article.deck-token-row>strong{font-size:10px}.token-preview-card{grid-template-columns:1fr;gap:14px}.token-preview-image{width:min(100%,300px);margin-inline:auto}.token-preview-copy h3{font-size:20px}}

/* v0.22.1 — una vera landing di accesso, separata dall'app autenticata. */
.auth-landing[hidden],.auth-form[hidden]{display:none!important}
.auth-landing{position:fixed;z-index:100000;inset:0;overflow:auto;background:radial-gradient(circle at 14% 18%,rgba(174,96,45,.18),transparent 34%),radial-gradient(circle at 88% 78%,rgba(61,129,146,.12),transparent 32%),linear-gradient(145deg,#080a09,#11130f 52%,#070908);color:var(--text);overscroll-behavior:contain}
.auth-landing:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.38;background-image:url('/static/assets/icaros/arcane-atlas-v1.jpg');background-position:center;background-size:cover;mix-blend-mode:soft-light}
.auth-landing-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(620px,1.12fr) minmax(430px,.62fr) minmax(280px,.46fr);align-items:stretch;width:100%;min-height:100%;margin:auto}
.auth-landing-brand{position:relative;display:grid;align-items:center;min-width:0;padding:clamp(42px,5vw,88px) clamp(44px,5.5vw,112px);overflow:hidden}
.auth-brand-copy{position:relative;z-index:2;min-width:0}.auth-brand-copy:before{content:"";position:absolute;z-index:-1;inset:-18% -20% -18% -28%;background:radial-gradient(ellipse,rgba(9,11,9,.88) 15%,rgba(9,11,9,.54) 52%,transparent 76%);pointer-events:none}
.auth-brand-mark{display:grid;place-items:center;width:84px;height:84px;margin-bottom:28px;border:1px solid #a87343;border-radius:50%;color:#e6c783;background:radial-gradient(circle,#2b2116,#090b09 68%);box-shadow:0 0 0 7px rgba(205,151,75,.045),0 22px 60px rgba(0,0,0,.38)}.auth-brand-mark .icon{width:45px;height:45px}
.auth-landing-brand h1{max-width:780px;margin:14px 0 20px;font-size:clamp(42px,4.4vw,72px);line-height:.96;letter-spacing:-.05em;text-wrap:balance}.auth-brand-copy>p{max-width:680px;margin:0;color:#b7b4aa;font-size:clamp(16px,1.25vw,20px);line-height:1.55}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:46px;border-block:1px solid rgba(218,181,109,.15)}.auth-feature-grid article{display:grid;gap:7px;padding:20px 22px 20px 0}.auth-feature-grid article+article{padding-left:22px;border-left:1px solid rgba(218,181,109,.15)}.auth-feature-grid b{font-size:13px}.auth-feature-grid span{color:#85877f;font-size:11px;line-height:1.45}
.auth-landing-brand .login-mana-thread{margin-top:34px}
.auth-commander-showcase{position:relative;isolation:isolate;align-self:stretch;min-width:0;min-height:100dvh;overflow:hidden;border-left:1px solid rgba(218,181,109,.2);background:#080b0a}
.commander-backdrop-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(205,151,75,.08),transparent 58%),#080b0a}
.commander-backdrop-image{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;opacity:0;filter:saturate(.88) contrast(1.09) brightness(.62);transform:scale(1.1) translate3d(-1.5%,0,0);transition:opacity 1.9s ease,transform 7.8s cubic-bezier(.18,.7,.24,1);will-change:opacity,transform}.commander-backdrop-image:nth-child(2){transform:scale(1.1) translate3d(1.5%,0,0)}.commander-backdrop-image.is-active{opacity:.9;transform:scale(1.015) translate3d(0,0,0)}
.commander-backdrop-aura{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,7,6,.88),rgba(4,7,6,.22) 32%,transparent 64%),linear-gradient(180deg,rgba(4,6,5,.7),transparent 22%,transparent 65%,rgba(4,6,5,.92)),radial-gradient(circle at 72% 42%,transparent 18%,rgba(4,7,6,.25) 72%)}
.commander-backdrop-runes{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:.16;background-image:url('/static/assets/icaros/arcane-atlas-v1.jpg');background-position:72% center;background-size:auto 100%;mix-blend-mode:screen;filter:sepia(.7) hue-rotate(345deg)}
.commander-showcase-skeleton{position:absolute;inset:0}.commander-showcase-skeleton i{display:block;width:100%;height:100%;background:linear-gradient(115deg,rgba(218,181,109,.025),rgba(218,181,109,.1),rgba(218,181,109,.025));animation:landingCommanderShimmer 1.8s ease-in-out infinite alternate}.auth-commander-showcase.is-ready .commander-showcase-skeleton{display:none}.auth-commander-showcase.is-unavailable{background:radial-gradient(circle at 50% 45%,rgba(205,151,75,.08),transparent 55%),#080b0a}
@keyframes landingCommanderShimmer{to{opacity:.32}}
.auth-landing-access{position:relative;z-index:2;display:flex;align-items:center;padding:clamp(30px,4vw,76px);border-left:1px solid rgba(218,181,109,.19);background:linear-gradient(90deg,rgba(6,8,7,.55),rgba(6,8,7,.9))}.auth-form{display:grid;gap:18px;width:100%;max-width:520px;margin:auto}.auth-form header{display:grid;gap:7px;margin-bottom:4px}.auth-form header h2{margin:0;font-size:32px}.auth-form header p{margin:0;color:var(--muted);line-height:1.5}.auth-form .social-auth-grid{display:grid;grid-template-columns:1fr;gap:10px}.auth-form .social-auth{justify-content:center;min-height:54px;text-decoration:none}.social-auth-symbol{display:grid;place-items:center;width:25px;font-size:18px;font-weight:900}.auth-form .auth-divider{margin:0}.auth-form .auth-divider span{padding-inline:12px;background:#0b0d0b}.auth-fields{display:grid;gap:13px}.auth-register-fields{grid-template-columns:1fr 1fr}.auth-register-fields label:nth-child(3),.auth-register-fields label:nth-child(5){grid-column:1/-1}.auth-form input{min-height:52px}.auth-form .login-remember{margin:0;padding:12px 14px}.auth-submit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);align-items:center;gap:12px}.auth-submit-row .button{min-height:52px}.auth-form .connection-state{min-width:0}
.auth-form .social-auth.is-disabled{opacity:.48;filter:saturate(.35)}
body.auth-required{overflow:hidden!important}
@media(max-width:1280px) and (min-width:1101px){.auth-landing-shell{grid-template-columns:minmax(480px,1fr) minmax(390px,.7fr) minmax(230px,.42fr)}.auth-landing-brand{padding-inline:42px}.auth-landing-brand h1{font-size:clamp(42px,5vw,62px)}.auth-feature-grid article{padding-inline-end:12px}.auth-feature-grid article+article{padding-left:12px}}
@media(max-width:1100px) and (min-width:901px){.auth-landing-shell{grid-template-columns:minmax(0,1fr) minmax(390px,.72fr)}.auth-commander-showcase{display:none}.auth-landing-brand{padding-inline:38px}.auth-feature-grid{grid-template-columns:1fr}.auth-feature-grid article{padding:12px 0}.auth-feature-grid article+article{padding-left:0;border-top:1px solid rgba(218,181,109,.12);border-left:0}.auth-landing-brand h1{font-size:43px}}
@media(max-width:900px){.auth-landing-shell{grid-template-columns:1fr}.auth-commander-showcase{order:-1;display:block;min-height:0;height:230px;border-left:0;border-bottom:1px solid rgba(218,181,109,.19)}.commander-backdrop-aura{background:linear-gradient(180deg,rgba(4,6,5,.18),transparent 35%,rgba(4,6,5,.92)),linear-gradient(90deg,rgba(4,7,6,.5),transparent 45%,rgba(4,7,6,.35))}.commander-backdrop-runes{background-size:cover}.auth-landing-brand{justify-content:flex-start;max-width:none;padding:30px 28px 28px;border-bottom:1px solid rgba(218,181,109,.17)}.auth-brand-mark{width:62px;height:62px;margin-bottom:18px}.auth-brand-mark .icon{width:34px;height:34px}.auth-landing-brand h1{font-size:clamp(34px,9.5vw,54px)}.auth-feature-grid{margin-top:28px}.auth-landing-access{padding:30px 28px 50px;border-left:0;background:rgba(6,8,7,.72)}}
@media(max-width:560px){.auth-commander-showcase{height:168px}.commander-backdrop-image{inset:-8%;width:116%;height:116%;object-position:center 30%}.auth-landing-brand{padding:25px 20px 24px}.auth-brand-copy:before{inset:-8% -12%}.auth-brand-mark{width:52px;height:52px;margin-bottom:14px}.auth-brand-mark .icon{width:30px;height:30px}.auth-landing-brand h1{margin-block:10px 14px;font-size:35px;line-height:1.02}.auth-brand-copy>p{font-size:15px}.auth-feature-grid{grid-template-columns:1fr;gap:0}.auth-feature-grid article{padding:13px 0}.auth-feature-grid article+article{padding-left:0;border-top:1px solid rgba(218,181,109,.12);border-left:0}.auth-landing-brand .login-mana-thread{margin-top:22px}.auth-landing-access{padding:28px 20px calc(42px + env(safe-area-inset-bottom))}.auth-form{gap:14px}.auth-form header h2{font-size:26px}.auth-register-fields{grid-template-columns:1fr}.auth-register-fields label:nth-child(3),.auth-register-fields label:nth-child(5){grid-column:auto}.auth-submit-row{grid-template-columns:1fr}.auth-submit-row .connection-state{order:2}.auth-form .social-auth{min-height:50px}.auth-form input{min-height:50px}}
@media(prefers-reduced-motion:reduce){.commander-backdrop-image{transition:none!important}.commander-showcase-skeleton i{animation:none}}

/* v0.22.8 — landing artwork as an atmospheric hero, not a flat thumbnail.
   The dedicated Scryfall art crop remains the source; layered color, haze and
   a restrained parallax sweep make it read cleanly even on very wide screens. */
.commander-backdrop-stage{isolation:isolate}
.commander-backdrop-stage:before{content:"";position:absolute;z-index:1;inset:-16%;pointer-events:none;background:radial-gradient(ellipse at 72% 43%,rgba(231,178,87,.24),transparent 28%),radial-gradient(ellipse at 34% 72%,rgba(84,181,196,.16),transparent 32%),conic-gradient(from 214deg at 68% 44%,transparent 0deg,rgba(208,120,65,.11) 68deg,transparent 132deg,rgba(99,166,182,.1) 218deg,transparent 286deg);filter:blur(26px);mix-blend-mode:screen;opacity:.72;animation:landingArcaneAura 13s ease-in-out infinite alternate}
.commander-backdrop-image{z-index:0;filter:saturate(1.08) contrast(1.14) brightness(.67);image-rendering:auto}
.commander-backdrop-stage:after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 35%,rgba(255,229,160,.09) 48%,transparent 60%),radial-gradient(ellipse at 66% 45%,transparent 22%,rgba(2,5,5,.4) 78%);background-size:190% 100%,100% 100%;mix-blend-mode:screen;opacity:.72;animation:landingArtSweep 11s cubic-bezier(.3,.05,.7,.95) infinite}
@keyframes landingArcaneAura{0%{transform:translate3d(-2%,1%,0) scale(.98);opacity:.5}100%{transform:translate3d(3%,-2%,0) scale(1.06);opacity:.88}}
@keyframes landingArtSweep{0%,18%{background-position:160% 0,0 0;opacity:0}42%,64%{opacity:.72}82%,100%{background-position:-35% 0,0 0;opacity:0}}
@media(max-width:900px){.commander-backdrop-stage:before{filter:blur(20px);opacity:.58}.commander-backdrop-stage:after{animation-duration:8s;opacity:.55}}
@media(prefers-reduced-motion:reduce){.commander-backdrop-stage:before,.commander-backdrop-stage:after{animation:none!important}.commander-backdrop-stage:after{opacity:.3;background-position:50% 0,0 0}}

/* v0.23.0 — standalone high-resolution artwork, staged as a cinematic
   background slideshow beyond the access-form divider. */
.commander-backdrop-stream,.commander-backdrop-slide{position:absolute;inset:0}
.commander-backdrop-stream{z-index:0;overflow:hidden;background:#070a09}
.commander-backdrop-slide{margin:0;overflow:hidden;opacity:0;transition:opacity 1.65s cubic-bezier(.4,0,.2,1);will-change:opacity}
.commander-backdrop-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(4,7,6,.55),transparent 42%),linear-gradient(180deg,rgba(4,7,6,.16),transparent 38%,rgba(3,5,4,.66));pointer-events:none}
.commander-backdrop-stream .commander-backdrop-image{position:absolute;inset:-5%;display:block;width:110%;height:110%;object-fit:cover;object-position:var(--art-focus,50% 42%);opacity:1;filter:saturate(1.12) contrast(1.12) brightness(.7);transform:scale(1.08) translate3d(-1.4%,.7%,0);transition:transform 8.4s cubic-bezier(.18,.7,.24,1),filter 1.4s ease;will-change:transform}
.commander-backdrop-slide:nth-child(even) .commander-backdrop-image{transform:scale(1.08) translate3d(1.4%,-.6%,0)}
.commander-backdrop-slide.is-active{z-index:1;opacity:1}
.commander-backdrop-slide.is-active .commander-backdrop-image{filter:saturate(1.2) contrast(1.14) brightness(.74);transform:scale(1.015) translate3d(0,0,0)}
.auth-commander-showcase.is-ready{box-shadow:inset 1px 0 rgba(228,190,112,.12),-24px 0 80px rgba(0,0,0,.22)}
@media(max-width:900px){.commander-backdrop-stream .commander-backdrop-image{inset:-4%;width:108%;height:108%;object-position:var(--art-focus,50% 38%);filter:saturate(1.08) contrast(1.1) brightness(.67)}.commander-backdrop-slide:after{background:linear-gradient(180deg,rgba(4,7,6,.08),transparent 38%,rgba(3,5,4,.76)),linear-gradient(90deg,rgba(4,7,6,.32),transparent 50%,rgba(4,7,6,.18))}}
@media(prefers-reduced-motion:reduce){.commander-backdrop-slide{transition:none!important}.commander-backdrop-stream .commander-backdrop-image{transition:none!important;transform:scale(1.02)!important}}

/* v0.22 — illustrated token aids and interactive commander reel. */
.deck-token-list article{grid-template-columns:42px minmax(0,1fr) auto}
.deck-token-glyph{width:42px;height:42px}
.deck-token-image{width:42px;height:56px;padding:0;overflow:hidden;border:1px solid var(--fantasy-bronze-dim);border-radius:6px;background:var(--graphite)}
.deck-token-image img{display:block;width:100%;height:100%;object-fit:cover}
button.commander-roulette-card{padding:0;border:0;background:transparent;font:inherit;cursor:pointer}
.premium-locked{position:relative;filter:saturate(.55);opacity:.72}
.commander-roulette:not(.is-spinning) button.commander-roulette-card:hover{opacity:1;filter:saturate(1) brightness(1);transform:translateY(-3px) scale(.98)}
.commander-roulette.is-spinning button.commander-roulette-card{pointer-events:none}
.card-purchase-links{display:flex;flex-direction:column;gap:10px;margin:14px 0;padding:12px;border:1px solid rgba(202,159,80,.28);border-radius:11px;background:linear-gradient(110deg,rgba(202,159,80,.09),rgba(0,0,0,.12))}
.card-purchase-links>span{display:grid;min-width:0}.card-purchase-links>span small{color:var(--muted);font-size:8px}
.marketplace-link-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.marketplace-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 11px;font-size:9px}.marketplace-link>span{display:grid;gap:1px;text-align:left;min-width:0}.marketplace-inline-offer{display:block;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:8px;font-weight:700;color:var(--muted);white-space:nowrap}.marketplace-link.has-live-offer{border-color:rgba(61,220,151,.48);background:rgba(61,220,151,.08)}.marketplace-link.has-live-offer .marketplace-inline-offer{color:#77e8b7}
.marketplace-logo{display:inline-grid;place-items:center;width:22px;height:22px;padding:3px;border-radius:6px;background:#fff;flex:none;box-sizing:border-box}
.marketplace-logo img{width:100%;height:100%;object-fit:contain;display:block}
.marketplace-best-price{color:var(--muted);font-size:9px;line-height:1.4}
.marketplace-best-price em{font-style:normal;color:var(--muted-2)}
.marketplace-best-price.muted{opacity:.75}
@media(max-width:520px){.marketplace-link-row{grid-template-columns:1fr}.marketplace-link{width:100%;justify-content:center}}
.swap-purchase-cta{grid-column:2/3;margin:-5px 10px 10px;position:relative;z-index:2}.swap-purchase-cta .card-purchase-links.is-compact{margin:0;padding:8px;gap:6px}.swap-purchase-cta .card-purchase-links.is-compact>span{display:none}.swap-purchase-cta .marketplace-link{width:100%;justify-content:center}
@media(max-width:720px){.swap-purchase-cta{grid-column:1/-1;margin:0 8px 10px}}
.profile-identity-card{grid-column:1/-1}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.profile-form-grid .profile-bio{grid-column:1/-1}.social-auth-grid{display:grid;grid-template-columns:1fr;gap:8px}.social-auth{justify-content:center!important}.social-auth.google{background:#f4f4f4;color:#181818}.social-auth.is-disabled{opacity:.42;filter:grayscale(1)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.onboarding-card{width:min(540px,calc(100vw - 24px))}
@media(max-width:620px){.profile-form-grid,.social-auth-grid{grid-template-columns:1fr}.profile-form-grid .profile-bio{grid-column:auto}}

/* v0.18.0 — collection commander roulette. */
.commander-picker-view .page-header{align-items:flex-start}.commander-picker-surface{display:grid;gap:22px;max-width:1100px;margin-inline:auto;padding:clamp(18px,4vw,34px);overflow:hidden}.commander-picker-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.commander-picker-head h2{margin:5px 0 0;font-family:var(--display-font,inherit);font-size:clamp(22px,3vw,34px)}.commander-roulette{position:relative;min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(132,105,236,.2),transparent 55%),var(--bg-soft);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.commander-roulette-track{display:flex;align-items:stretch;gap:12px;width:max-content;height:100%;padding:22px 0;will-change:transform}.commander-roulette-card{display:grid;grid-template-rows:150px auto;gap:8px;width:132px;flex:none;color:var(--text);text-align:center}.commander-roulette-art{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-2);box-shadow:0 8px 22px rgba(0,0,0,.3)}.commander-roulette-art img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transform:scale(1.2)}.commander-roulette-art img.uses-card-fallback{object-position:center 42%;transform:scale(1.36)}.commander-roulette-card b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.commander-roulette-placeholder{display:grid;place-items:center;height:100%;color:var(--fantasy-gold);font-size:45px}.commander-roulette-pointer{position:absolute;z-index:2;top:0;bottom:0;left:50%;width:3px;background:linear-gradient(180deg,transparent,var(--fantasy-gold) 15%,var(--fantasy-gold) 85%,transparent);box-shadow:0 0 18px rgba(222,185,102,.8);pointer-events:none}.commander-roulette-pointer:before{content:"";position:absolute;top:4px;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top:0;border-bottom:12px solid var(--fantasy-gold)}.commander-picker-result{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:18px;padding:15px;border:1px solid var(--fantasy-bronze-dim);border-radius:16px;background:linear-gradient(120deg,rgba(222,185,102,.12),rgba(132,105,236,.08))}.commander-picker-result img{width:110px;height:150px;object-fit:cover;object-position:center 56%;border-radius:10px;transform:scale(1.1)}.commander-picker-result img.uses-card-fallback{object-position:center 42%;transform:scale(1.28)}.commander-picker-result h2{margin:4px 0;font-family:var(--display-font,inherit);font-size:clamp(20px,3vw,30px)}.commander-picker-result p,.commander-picker-result small{display:block;margin:0;color:var(--text-secondary);line-height:1.45}.commander-picker-actions{justify-content:center}.commander-picker-actions .button{min-width:190px}
@media(max-width:780px){.commander-picker-view .page-header{gap:12px}.commander-picker-view .page-header .button{flex:none}.commander-picker-head{display:grid;gap:5px}.commander-roulette{min-height:190px;margin-inline:-6px;border-radius:16px}.commander-roulette-card{grid-template-rows:124px auto;width:112px}.commander-roulette-track{gap:9px;padding:18px 0}.commander-picker-result{grid-template-columns:76px minmax(0,1fr);gap:12px}.commander-picker-result img{width:76px;height:105px}.commander-picker-actions{display:grid;grid-template-columns:1fr}.commander-picker-actions .button{width:100%}.commander-picker-surface{padding:16px}.commander-picker-head h2{font-size:23px}.commander-result-card{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:12px}.commander-result-art img{aspect-ratio:63/88}.commander-fit-stats{grid-template-columns:repeat(2,1fr)}.commander-fit-pill{width:58px;height:58px}.commander-fit-pill b{font-size:15px}}
@media(prefers-reduced-motion:reduce){.commander-roulette-track{transition-duration:.1s!important}}

/* v0.11.24 — native password-manager fields and a compact persistent-login choice. */
.login-remember{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:var(--bg-soft);cursor:pointer}
.login-remember input{width:20px;height:20px;min-width:20px;margin:1px 0 0;accent-color:var(--primary)}
.login-remember span{display:grid;gap:3px;min-width:0}.login-remember b{color:var(--text);font-size:.96rem}.login-remember small,.login-password-hint{color:var(--muted);font-size:.78rem;line-height:1.4}
.login-password-hint{margin:-2px 2px 0!important}
#loginDialog .modal-card>.button[type="submit"]{width:100%}
@media(max-width:520px){#loginDialog .modal-card{gap:14px}.login-remember{padding:12px}.login-password-hint{font-size:.74rem}}

@media(max-width:390px){.mobile-gallery-back span{display:none}.mobile-gallery-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;padding-inline:7px}.mobile-gallery-nav{width:36px}.collection-browser .collection-filter-panel>*{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mtg-card.removing,.compact-card-row.removing,.deck-image-card.removing,.quantity-pop,.mobile-gallery-stage>img{animation:none!important}}

/* Analysis tag provenance and visual goal candidates. */
.tag-origin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tag-origin-group{padding:10px}.tag-origin-group h3{margin:0 0 7px;font-size:11px}.goal-candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.goal-candidate-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.goal-candidate-card>img,.goal-candidate-card>.swap-image-fallback{width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:0}.goal-candidate-card>div{padding:8px}.goal-candidate-card h3{margin:0 0 6px;font-size:11px}.goal-candidate-card p{display:grid;gap:2px;margin:4px 0;font-size:9px;color:var(--muted)}.goal-candidate-card small{display:block;margin-top:4px;color:var(--muted-2)}
@media(max-width:720px){.tag-origin-grid{grid-template-columns:1fr}.goal-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--fantasy-bg);color:var(--text);position:relative}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 2px,transparent 2px 4px);mix-blend-mode:overlay;opacity:.5}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 110%,rgba(0,0,0,.55),transparent 55%)}
.appbar,.app-shell{position:relative;z-index:1}
button,input,select,textarea{font:inherit}button{color:inherit}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.mobile-only{display:none!important}
/* Countless elements set their own `display` (grid/flex/inline-flex/...) via
   a plain class selector, which silently outranks the UA stylesheet's
   [hidden]{display:none} - so class="button" hidden, class="empty-state"
   hidden, etc. rendered fully visible instead of disappearing (found live:
   the Community empty-state box, then two share-link CTAs shown together).
   !important here is deliberate and should never need overriding: nothing
   in this app sets `hidden` on an element it actually wants to keep visible. */
[hidden]{display:none!important}

/* ==========================================================================
   Fantasy frame — the one reusable "this is a physical object" component.
   Corner brackets are drawn with 8 tiny linear-gradient segments (an L per
   corner), not decoration nobody notices: real, visible angular terminals,
   metal on the outside, obsidian panel underneath, a soft bevel on top.
   `.fantasy-frame-major` is the same idea in brighter gold for the handful
   of "this is the most important thing on the page" surfaces.
   ========================================================================== */
.fantasy-frame{position:relative;isolation:isolate;border-radius:12px;border:1px solid var(--fantasy-bronze-dim);background:var(--fantasy-panel);box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05),0 16px 34px rgba(0,0,0,.4)}
.fantasy-frame:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.85;
  background-image:linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze));
  background-repeat:no-repeat;
  background-size:12px 2px,2px 12px,12px 2px,2px 12px,12px 2px,2px 12px,12px 2px,2px 12px;
  background-position:top 8px left 8px,top 8px left 8px,top 8px right 8px,top 8px right 8px,bottom 8px left 8px,bottom 8px left 8px,bottom 8px right 8px,bottom 8px right 8px;
}
.fantasy-frame-major{border-color:var(--fantasy-bronze);box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(155,131,255,.16),0 26px 56px rgba(0,0,0,.5)}
.fantasy-frame-major:before{opacity:1;filter:drop-shadow(0 0 4px rgba(232,199,122,.5));
  background-image:linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold));
  background-size:20px 2.5px,2.5px 20px,20px 2.5px,2.5px 20px,20px 2.5px,2.5px 20px,20px 2.5px,2.5px 20px;
  background-position:top 9px left 9px,top 9px left 9px,top 9px right 9px,top 9px right 9px,bottom 9px left 9px,bottom 9px left 9px,bottom 9px right 9px,bottom 9px right 9px;
}
/* Ornamental separator: a thin metal line with a small diamond terminal at
   each end, used under plaque titles instead of a plain border-bottom. */
.ornament-rule{position:relative;height:1px;margin:8px 0;background:linear-gradient(90deg,transparent,var(--fantasy-bronze) 12%,var(--fantasy-bronze) 88%,transparent)}
.ornament-rule:before,.ornament-rule:after{content:"";position:absolute;top:50%;width:5px;height:5px;transform:translate(-50%,-50%) rotate(45deg);background:var(--fantasy-gold)}
.ornament-rule:before{left:12%}.ornament-rule:after{left:88%}

.appbar{height:68px;display:grid;grid-template-columns:230px minmax(280px,720px) 1fr;align-items:center;gap:24px;padding:0 22px;position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(13,16,26,.94),rgba(7,9,15,.94));border-bottom:1px solid var(--fantasy-bronze-dim);box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 8px 24px rgba(0,0,0,.35);backdrop-filter:blur(20px)}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--primary),#b782ff);box-shadow:0 8px 28px rgba(139,125,255,.3);font-weight:900;color:white}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:.02em}.brand span{font-size:11px;color:var(--muted);margin-top:1px}.appbar-actions{justify-self:end;display:flex;align-items:center;gap:9px}.health-pill{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);font-size:12px;color:var(--muted);white-space:nowrap}.health-dot{width:7px;height:7px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px rgba(241,191,105,.1)}.health-pill.ready .health-dot{background:var(--green);box-shadow:0 0 0 4px rgba(98,211,148,.1)}
.command-search{height:42px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:0 11px;transition:border .15s,box-shadow .15s}.command-search:focus-within{border-color:rgba(139,125,255,.75);box-shadow:0 0 0 4px rgba(139,125,255,.1)}.command-search input{border:0;background:transparent;padding:0;width:100%;min-width:0}.command-search kbd{font-size:11px;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--bg)}

.app-shell{display:grid;grid-template-columns:214px minmax(0,1fr);width:100%;min-height:calc(100vh - 68px)}
.sidebar{position:sticky;top:68px;height:calc(100vh - 68px);border-right:1px solid var(--fantasy-bronze-dim);padding:17px 11px;background:var(--fantasy-panel-deep);display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset -1px 0 0 rgba(255,255,255,.03),4px 0 24px rgba(0,0,0,.3)}
.sidebar nav{display:grid;gap:6px}
.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;color:#9aa3b8;padding:8px 10px;border-radius:10px;text-align:left;cursor:pointer;font-weight:650;font-size:13px;transition:.18s}
.nav-item:hover{background:rgba(255,255,255,.03);color:#e6e9f2}
.nav-item:hover .nav-sigil{box-shadow:inset 0 0 0 1px var(--fantasy-silver),0 0 10px rgba(154,164,200,.25)}
.nav-sigil{position:relative;flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.06),transparent 60%),var(--obsidian);box-shadow:inset 0 0 0 1px var(--fantasy-bronze-dim),inset 0 2px 5px rgba(0,0,0,.5);transition:box-shadow .18s}
.nav-sigil .icon{width:16px;height:16px}
.nav-item.active{border-color:var(--fantasy-bronze);background:linear-gradient(90deg,rgba(155,131,255,.16),rgba(155,131,255,.04) 70%);color:#e3ddff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 14px rgba(0,0,0,.25)}
.nav-item.active .nav-sigil{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.1),transparent 60%),var(--obsidian);box-shadow:inset 0 0 0 1px var(--fantasy-arcane),0 0 12px rgba(155,131,255,.55)}
.nav-item.active:before{content:"";position:absolute;left:-11px;top:50%;width:3px;height:60%;transform:translateY(-50%);background:linear-gradient(180deg,transparent,var(--fantasy-gold),transparent);box-shadow:0 0 8px rgba(232,199,122,.6)}
.sidebar-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:14px;border-top:1px solid var(--fantasy-bronze-dim)}
.mini-stat{text-align:center;padding:7px 2px;border-radius:9px;background:var(--obsidian);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.mini-stat b,.mini-stat span{display:block}.mini-stat b{font-size:13px;color:var(--fantasy-gold-pale)}.mini-stat span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.version{grid-column:1/-1;text-align:center;font-size:10px;color:var(--muted-2);padding-top:4px}

.main-content{min-width:0;width:100%;padding:24px;overflow-x:hidden}.view{display:none;min-width:0;animation:fadeIn .18s ease}.view.active{display:block}@keyframes fadeIn{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}.page-header h1{font-size:28px;line-height:1.1;margin:3px 0 7px;letter-spacing:-.035em}.page-header p{margin:0;color:var(--muted);font-size:13px}.eyebrow{position:relative;display:inline-flex;align-items:center;gap:7px;color:var(--fantasy-gold-pale);font:800 10px/1 var(--fantasy-serif);text-transform:uppercase;letter-spacing:.17em;margin-bottom:6px;text-shadow:0 1px 0 rgba(0,0,0,.6)}.header-actions,.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.builder-header{align-items:center}.deck-identity{flex:1;min-width:280px}.deck-title-row{display:flex;align-items:center;gap:10px}.deck-name{font-size:25px;font-weight:800;letter-spacing:-.035em;background:transparent;border:0;padding:0;min-width:220px;max-width:520px}.deck-name:focus{box-shadow:none}.save-state{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:4px 7px}.save-state.saved{color:var(--green);border-color:rgba(98,211,148,.35)}.deck-meta-row{display:grid;grid-template-columns:minmax(210px,320px) minmax(180px,280px);gap:8px;margin-top:9px}

.button,.icon-button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;text-decoration:none;transition:transform .12s,background .12s,border .12s,opacity .12s}.button{min-height:38px;padding:0 13px;border-radius:10px;font-size:12px}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button:active,.icon-button:active{transform:none}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.primary{background:linear-gradient(160deg,#7a6bec 0%,#5645c4 55%,#3d3096 100%);color:#fff;border:1px solid var(--fantasy-silver);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -12px 18px rgba(0,0,0,.28),0 8px 22px rgba(90,70,210,.34)}
.button.secondary{background:linear-gradient(160deg,#242b3c,#12161f);color:#e7ebf5;border:1px solid var(--fantasy-silver-dim);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -8px 14px rgba(0,0,0,.35)}
.button.ghost{background:linear-gradient(160deg,rgba(24,28,40,.92),rgba(10,12,18,.92));border:1px solid var(--fantasy-bronze-dim);color:#d6dbe5}
.button.ghost:hover{border-color:var(--fantasy-silver-dim);background:linear-gradient(160deg,rgba(34,39,54,.92),rgba(14,17,25,.92))}
.button.danger{background:linear-gradient(160deg,#66293a,#391722);color:#ffc4cb;border:1px solid var(--fantasy-bronze-dim);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -8px 14px rgba(0,0,0,.35)}.button.ghost-danger{margin-right:auto}.button.full{width:100%;margin-top:12px}.button.icon-only{width:39px;padding:0}.icon-button{width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--text);padding:9px 11px;outline:none;transition:border .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#626c7d}input:focus,select:focus,textarea:focus{border-color:rgba(139,125,255,.72);box-shadow:0 0 0 3px rgba(139,125,255,.1)}select{cursor:pointer}textarea{resize:vertical}.field-label{display:grid;gap:7px;font-size:12px;font-weight:700}.field-hint{font-size:10px;font-weight:400;color:var(--muted);margin-top:-3px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);padding:0 9px}.search-field:focus-within{border-color:rgba(139,125,255,.72);box-shadow:0 0 0 3px rgba(139,125,255,.1)}.search-field input{border:0;background:transparent;box-shadow:none;padding-left:0}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.filter-stack{display:grid;gap:8px;margin-bottom:12px}.toggle{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px}.toggle>span{width:34px;height:19px;border-radius:99px;background:#242a37;border:1px solid var(--line);position:relative;transition:.15s}.toggle>span:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#8790a0;top:2px;left:2px;transition:.15s}.toggle input:checked+span{background:rgba(139,125,255,.3);border-color:var(--primary)}.toggle input:checked+span:after{left:17px;background:#c3bdff}.danger-toggle input:checked+span{background:rgba(240,121,132,.28);border-color:var(--danger)}

.deck-kpis{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px;margin-bottom:13px}.deck-kpis>div{display:flex;align-items:baseline;gap:5px;padding:11px 13px;background:linear-gradient(145deg,rgba(23,27,38,.88),rgba(14,16,23,.88));border:1px solid var(--line);border-radius:12px}.deck-kpis span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-right:auto}.deck-kpis b{font-size:17px}.deck-kpis small{font-size:10px;color:var(--muted)}
.builder-workspace{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(500px,1.45fr) minmax(275px,.78fr);gap:12px;height:calc(100vh - 244px);min-height:570px}.workspace-panel,.surface,.saved-deck-card,.database-card{position:relative;isolation:isolate;background:var(--fantasy-panel);border:1px solid var(--fantasy-bronze-dim);border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04),0 10px 30px rgba(0,0,0,.28)}
.workspace-panel:before,.surface:before,.saved-deck-card:before,.database-card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.55;
  background-image:linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze)),linear-gradient(var(--fantasy-bronze),var(--fantasy-bronze));
  background-repeat:no-repeat;background-size:10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px;
  background-position:top 7px left 7px,top 7px left 7px,top 7px right 7px,top 7px right 7px,bottom 7px left 7px,bottom 7px left 7px,bottom 7px right 7px,bottom 7px right 7px;
}.workspace-panel{padding:14px;min-width:0;overflow:auto}.panel-header,.surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-header h2,.surface-header h2{font-size:16px;margin:0;letter-spacing:-.02em}.surface-header p{font-size:12px;color:var(--muted);margin:4px 0 0}.result-count{font-size:10px;color:var(--muted);padding:5px 8px;background:var(--bg-soft);border-radius:99px}.library-panel{scrollbar-gutter:stable}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px}.mtg-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;position:relative;transition:transform .18s,border .18s,box-shadow .18s}.mtg-card:hover{transform:translateY(-3px);border-color:#59637b;box-shadow:0 14px 28px rgba(0,0,0,.25)}.mtg-card img,.card-placeholder{display:block;width:100%;aspect-ratio:488/680;object-fit:cover;background:#1b1e28}.card-placeholder{display:grid;place-items:center;color:var(--muted-2);font-size:11px}.mtg-card-info{padding:8px}.mtg-card-name{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtg-card-meta{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.owned-badge,.card-price{position:absolute;top:6px;border-radius:99px;padding:3px 6px;font-size:9px;font-weight:800;backdrop-filter:blur(10px)}.owned-badge{right:6px;background:rgba(10,11,16,.86);border:1px solid rgba(255,255,255,.18)}.card-price{left:6px;background:rgba(10,11,16,.78);color:#dfe3ec}.tag-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.tag,.chip{border:1px solid #353d50;background:#222735;color:#bac2d1;border-radius:999px;padding:3px 6px;font-size:9px}
.deck-panel{display:flex;flex-direction:column;overflow:hidden;padding-bottom:10px}.deck-panel-header{flex:none}.segmented{display:flex;background:var(--bg-soft);border:1px solid var(--line);padding:3px;border-radius:9px}.segment{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:750;padding:6px 9px;border-radius:6px;cursor:pointer}.segment.active{background:var(--surface-3);color:white;box-shadow:0 2px 8px rgba(0,0,0,.2)}.quick-add{display:grid;grid-template-columns:20px 1fr 58px 39px;align-items:center;gap:7px;position:relative;margin-bottom:10px}.quick-add>input:nth-of-type(1){grid-column:2}.quick-add .suggestions{left:26px;right:104px;top:43px}.deck-view{display:none!important;min-height:0;overflow:auto;flex:1;padding-right:3px}.deck-view.active{display:block!important}.raw-editor-wrap{position:relative}.raw-editor-wrap textarea{height:calc(100% - 42px);min-height:410px;resize:none;font:12px/1.55 "SFMono-Regular",Consolas,monospace}.raw-tools{height:38px;display:flex;align-items:center;justify-content:space-between}.deck-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid var(--line);font-size:10px;flex:none}.deck-panel-footer label{display:flex;align-items:center;gap:7px;color:var(--muted)}.deck-panel-footer select{width:auto;padding:6px 26px 6px 8px;font-size:10px}.deck-group{margin-bottom:15px}.deck-group-header{display:flex;align-items:center;gap:8px;margin-bottom:7px;position:sticky;top:0;background:rgba(18,21,30,.96);z-index:5;padding:4px 0}.deck-group-header h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0;color:#b7bfce}.deck-group-header span{font-size:9px;color:var(--muted);background:var(--bg-soft);padding:3px 6px;border-radius:99px}.compact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.compact-card-row{display:grid;grid-template-columns:34px minmax(0,1fr) 86px;align-items:center;gap:8px;padding:6px;background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;cursor:pointer}.compact-card-row:hover{border-color:var(--line-strong)}.compact-card-row img{width:34px;height:47px;object-fit:cover;border-radius:4px}.compact-card-text{min-width:0}.compact-card-text b,.compact-card-text small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-card-text b{font-size:10px}.compact-card-text small{font-size:8px;color:var(--muted);margin-top:2px}.quantity-control{display:grid;grid-template-columns:26px 1fr 26px;align-items:center;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.quantity-control button{height:26px;border:0;background:transparent;cursor:pointer;font-weight:900;color:#b9c1d0}.quantity-control button:hover{background:var(--surface-3);color:white}.quantity-control span{font-size:10px}.deck-image-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.deck-image-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;overflow:hidden;position:relative;cursor:pointer}.deck-image-card img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover}.deck-image-card .quantity-control{margin:6px}.deck-image-card-name{padding:0 7px 7px;display:block;font-size:9px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inspector-panel{scrollbar-gutter:stable}.empty-state{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);padding:28px}.empty-state.large{min-height:460px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty-state h2,.empty-state h3{color:#dbe0e9;margin:12px 0 5px}.empty-state p{margin:0;max-width:340px}.empty-orbit{width:64px;height:64px;border:1px solid #434c61;border-radius:50%;position:relative}.empty-orbit:before,.empty-orbit:after{content:"";position:absolute;border-radius:50%;background:var(--primary)}.empty-orbit:before{width:8px;height:8px;top:4px;left:10px}.empty-orbit:after{width:5px;height:5px;bottom:7px;right:8px;background:var(--cyan)}.inspector-art{width:min(100%,310px);display:block;margin:0 auto 13px;border-radius:14px;box-shadow:var(--shadow)}.inspector-title{margin:0;font-size:20px;letter-spacing:-.03em}.oracle-text{white-space:pre-line;line-height:1.48;color:#ced4df;font-size:12px}.card-facts{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.fact{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:4px 7px}.inventory-editor{margin-top:14px;padding:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px}.inventory-editor h3{font-size:12px;margin:0 0 9px}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inventory-editor label{font-size:9px;color:var(--muted)}.inventory-editor label input{margin-top:4px}.printing-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:17px 0 8px}.printing-heading>div{min-width:0}.printing-heading h3{font-size:12px;margin:0}.printing-heading select{flex:none}.printing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.printing{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg-soft)}.printing img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover}.printing small{display:block;padding:4px;text-align:center;font-size:9.5px;line-height:1.35;color:var(--muted)}

.collection-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:13px}.surface{padding:17px}.dropzone{display:grid;place-items:center;text-align:center;gap:6px;min-height:180px;border:1px dashed #465069;border-radius:13px;background:linear-gradient(145deg,rgba(139,125,255,.06),transparent);padding:18px;color:var(--muted)}.dropzone.dragover{border-color:var(--primary);background:rgba(139,125,255,.1)}.dropzone>.icon{width:27px;height:27px;color:#a69dff}.dropzone b{color:#e3e6ed}.dropzone span{font-size:11px}.divider{display:flex;align-items:center;gap:9px;color:var(--muted-2);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin:13px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.import-surface textarea{height:230px;font:11px/1.5 "SFMono-Regular",Consolas,monospace;margin-bottom:10px}.import-result{font-size:11px;color:var(--muted);margin-top:12px}.collection-filters{grid-template-columns:minmax(180px,280px) 180px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}.chip{cursor:pointer}.chip.active{background:rgba(139,125,255,.22);color:#d1cdff;border-color:rgba(139,125,255,.48)}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
.saved-deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}.saved-deck-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--surface),var(--bg-soft));transition:.15s}.saved-deck-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.saved-deck-body{min-width:0;flex:1;display:flex;flex-direction:column}.saved-deck-card h3{margin:0 0 3px;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-deck-meta{font-size:11px;color:var(--muted);margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-deck-stats{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;color:var(--muted-2);margin:0 0 9px}.saved-deck-stats span{padding:3px 8px;border-radius:99px;background:var(--surface-3)}.saved-deck-art{flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center}.saved-deck-art img{width:100%;height:100%;object-fit:cover}.saved-deck-art-fallback{display:grid;place-items:center;color:var(--muted)}.saved-deck-art-fallback .icon{width:24px;height:24px}.saved-deck-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.saved-deck-actions .button:first-child{flex:1}

.analysis-header{align-items:center}.analysis-controls{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.analysis-controls label{display:grid;gap:4px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.analysis-controls input{width:120px;text-transform:none}.analysis-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.metric-card{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.metric-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.metric-card b{display:block;font-size:23px;margin-top:3px}.analysis-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(500px,1.25fr);gap:12px;margin-top:12px}.analysis-surface{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.analysis-surface h2{font-size:15px;margin:0 0 12px}.ai-disclosure{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(241,191,105,.25);background:rgba(241,191,105,.07);border-radius:11px;color:#e4c88d;font-size:11px;margin-bottom:12px}.ai-disclosure span{width:7px;height:7px;border-radius:50%;background:var(--warning)}.curve{display:flex;align-items:end;height:180px;gap:7px;padding-top:15px}.curve-column{flex:1;text-align:center;color:var(--muted);font-size:9px}.curve-bar-wrap{height:135px;display:flex;align-items:end}.curve-bar{width:100%;min-height:2px;background:linear-gradient(var(--primary),#5d54c7);border-radius:6px 6px 2px 2px}.issue-list{display:grid;gap:7px}.issue{display:grid;grid-template-columns:8px 1fr;gap:9px;padding:9px;background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;font-size:10px}.issue-dot{width:7px;height:7px;border-radius:50%;margin-top:3px;background:var(--warning)}.issue.high .issue-dot{background:var(--danger)}.issue.low .issue-dot{background:var(--cyan)}.suggestion-list{display:grid;gap:9px}.upgrade-card{display:grid;grid-template-columns:minmax(170px,1fr) 28px minmax(190px,1.15fr) auto;align-items:center;gap:10px;padding:10px;background:var(--bg-soft);border:1px solid var(--line);border-radius:13px;transition:.15s}.upgrade-card:hover{border-color:var(--line-strong)}.upgrade-side{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;align-items:center;min-width:0}.upgrade-side img{width:52px;border-radius:6px}.upgrade-side b,.upgrade-side small{display:block}.upgrade-side b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upgrade-side small{font-size:9px;color:var(--muted);margin-top:3px}.upgrade-arrow{color:var(--muted);text-align:center}.upgrade-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.upgrade-actions .button{min-height:32px;padding:0 9px;font-size:10px}.upgrade-card.applied{border-color:rgba(98,211,148,.4);background:rgba(98,211,148,.06)}.owned-label{color:var(--green)!important}.impact-label{color:#aaa2ff!important}

.database-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.database-card{position:relative;padding:19px;background:linear-gradient(145deg,var(--surface),var(--bg-soft));border:1px solid var(--line);border-radius:var(--radius)}.database-card.featured{border-color:rgba(139,125,255,.5);box-shadow:inset 0 0 40px rgba(139,125,255,.05)}.database-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--line);border-radius:11px;color:#aaa2ff}.database-card h2{margin:13px 0 6px;font-size:17px}.database-card p{font-size:11px;line-height:1.5;color:var(--muted);min-height:50px}.recommended{position:absolute;top:17px;right:17px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#c8c3ff;background:rgba(139,125,255,.16);padding:4px 7px;border-radius:99px}.database-progress{margin-top:12px}.progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.progress-head b,.progress-head span{display:block}.progress-head b{font-size:12px}.progress-head div>span{font-size:10px;color:var(--muted);margin-top:3px}.progress-head>span{font-size:12px;color:#afa8ff}.progress-track{height:8px;border-radius:99px;background:var(--bg);overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--cyan));border-radius:99px;transition:width .25s}.database-sync-history{margin-top:12px}#dbSyncSummary{margin:0 0 10px;font-size:11px;color:var(--muted)}#dbSyncList{display:grid;gap:6px;list-style:none;margin:0;padding:0}#dbSyncList li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:10px}#dbSyncList li span:first-child{color:var(--text);font-weight:650;text-transform:capitalize}#dbSyncList li span:last-child{color:var(--muted);text-align:right}#dbSyncList li[data-sync-state="error"]{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}#dbSyncList li[data-sync-state="error"] span:last-child{color:#ff98a3}#dbSyncList li[data-sync-state="running"]{border-color:color-mix(in srgb,var(--warning) 45%,var(--line))}#dbSyncList li.empty{justify-content:center;color:var(--muted)}

.autocomplete-wrap{position:relative}.suggestions{display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:80;background:rgba(20,23,32,.98);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);max-height:370px;overflow:auto;padding:5px}.suggestions.open{display:block}.suggestion{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px;border-radius:8px;cursor:pointer}.suggestion:hover,.suggestion.active{background:var(--surface-3)}.suggestion img{width:36px;height:50px;object-fit:cover;border-radius:4px}.suggestion b,.suggestion small{display:block}.suggestion b{font-size:10px}.suggestion small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion>span{font-size:9px;color:var(--muted)}.editor-suggestions{top:auto;bottom:43px;left:0;right:0}
.toast-region{position:fixed;inset:auto 18px 18px auto;margin:0;padding:0;border:0;background:transparent;z-index:120;gap:8px;width:min(380px,calc(100vw - 36px));height:fit-content;max-height:calc(100dvh - 36px);overflow:visible}.toast-region[open]{display:grid;align-content:end}.toast-region::backdrop{background:rgba(0,0,0,.12)}.toast{display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:center;padding:11px 12px;background:#191d27;border:1px solid var(--line-strong);border-radius:11px;box-shadow:var(--shadow);animation:toastIn .2s ease}.toast:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan)}.toast.error:before{background:var(--danger)}.toast.success:before{background:var(--green)}.toast button{border:0;background:transparent;color:var(--muted);cursor:pointer}.toast small{display:block;color:var(--muted);margin-top:2px}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.modal{border:0;padding:0;background:transparent;color:var(--text);width:min(500px,calc(100vw - 30px))}.modal::backdrop{background:rgba(3,4,8,.75);backdrop-filter:blur(5px)}.modal-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modal-header h2{margin:2px 0 0;font-size:19px}.modal-card>p{font-size:12px;line-height:1.5;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.connection-state{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin-top:10px;flex-shrink:0;white-space:nowrap}.connection-state span{width:7px;height:7px;border-radius:50%;background:var(--warning)}.connection-state.ok{color:var(--green)}.connection-state.ok span{background:var(--green)}.connection-state.error{color:var(--danger)}.connection-state.error span{background:var(--danger)}.small-modal{width:min(420px,calc(100vw - 30px))}.muted{color:var(--muted)}

@media(max-width:1350px){.builder-workspace{grid-template-columns:270px minmax(470px,1fr)}.inspector-panel{display:none}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-card-grid{grid-template-columns:1fr}}
@media(max-width:1050px){.appbar{grid-template-columns:180px minmax(240px,1fr) auto}.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:15px 9px}.nav-item{justify-content:center}.nav-item span:not(.nav-sigil){display:none}.sidebar-footer{grid-template-columns:1fr}.mini-stat:nth-child(n+2){display:none}.version{grid-column:auto}.builder-workspace{grid-template-columns:minmax(240px,.75fr) minmax(430px,1.25fr)}.collection-workspace{grid-template-columns:320px 1fr}.analysis-summary{grid-template-columns:repeat(3,1fr)}.analysis-grid{grid-template-columns:1fr}.database-options{grid-template-columns:1fr}.database-card p{min-height:0}}
@media(max-width:780px){.mobile-only{display:flex!important}.appbar{height:auto;min-height:62px;grid-template-columns:auto 1fr auto;padding:9px 11px;gap:9px}.brand{display:none}.command-search{grid-column:1/-1;grid-row:2}.app-shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;width:230px;height:100vh;z-index:100;transform:translateX(-105%);transition:.2s;box-shadow:var(--shadow);padding-top:76px}.sidebar.open{transform:none}.nav-item{justify-content:flex-start}.nav-item span:not(.nav-sigil){display:block}.main-content{padding:13px}.page-header,.builder-header{display:block}.header-actions{margin-top:13px}.deck-meta-row{grid-template-columns:1fr}.deck-kpis{grid-template-columns:repeat(2,1fr)}.builder-workspace{display:block;height:auto}.workspace-panel{margin-bottom:10px;max-height:none}.library-panel{max-height:700px}.deck-panel{min-height:650px}.inspector-panel{display:block}.collection-workspace{display:block}.surface{margin-bottom:11px}.collection-filters{grid-template-columns:1fr}.analysis-controls{margin-top:12px}.analysis-controls label{flex:1}.analysis-controls input{width:100%}.analysis-summary{grid-template-columns:repeat(2,1fr)}.upgrade-card{grid-template-columns:1fr}.upgrade-arrow{transform:rotate(90deg)}.upgrade-actions{justify-content:flex-start}.appbar-actions .health-pill{display:none}.compact-card-grid{grid-template-columns:1fr}.card-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.main-content{padding:9px}.page-header h1{font-size:24px}.deck-name{font-size:21px}.header-actions .button{flex:1}.deck-kpis{gap:6px}.deck-kpis>div{padding:9px}.card-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.8 readability and printing-selection layer */
body{font-size:14px}
.nav-item{font-size:14px}.page-header p{font-size:14px;line-height:1.5}.button{font-size:13px;min-height:40px}
input,select,textarea{font-size:13px;padding:10px 12px}.field-label{font-size:13px}.toggle{font-size:13px}
.panel-header h2,.surface-header h2{font-size:17px}.surface-header p{font-size:13px}.result-count{font-size:11px}
.mtg-card-name{font-size:12.5px}.mtg-card-meta{font-size:10.5px;line-height:1.35}.tag{font-size:9.5px}
.inspector-title{font-size:22px}.oracle-text{font-size:13.5px;line-height:1.58}.fact{font-size:10.5px;padding:5px 8px}
.inventory-editor h3,.printing-heading h3{font-size:14px}.inventory-editor label{font-size:11px}
.analysis-controls label{font-size:10.5px}.metric-card span{font-size:10px}.issue{font-size:11.5px}.upgrade-side b{font-size:12.5px}.upgrade-side small{font-size:10.5px}
.ai-disclosure{font-size:12px;line-height:1.45}.suggestion b{font-size:11.5px}.suggestion small{font-size:9.5px}
.builder-workspace{grid-template-columns:minmax(285px,.86fr) minmax(520px,1.45fr) minmax(310px,.84fr)}

.printing{cursor:pointer;position:relative;transition:border-color .16s,transform .16s,box-shadow .16s}
.printing:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 12px 25px rgba(0,0,0,.24)}
.printing.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,125,255,.15)}
.printing.selected:before{content:"Preferita";position:absolute;top:6px;left:6px;z-index:2;background:var(--primary);color:white;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}
.printing-info{padding:7px}.printing-info small{padding:0;text-align:left}.printing-price{display:block;color:#d9d4ff!important;margin-top:3px}.printing-owned{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:6px}
.printing-owned button{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);cursor:pointer;color:var(--text);font-weight:900}
.printing-owned b{min-width:24px;text-align:center;font-size:12px}.printing-actions{display:flex;flex-direction:column;gap:5px;padding:0 7px 7px}.printing-actions .button{min-height:31px;font-size:10px;padding:0 8px;width:100%;white-space:normal;line-height:1.25}
.printing-summary{font-size:11px;color:var(--muted);margin:-2px 0 10px}.printing-summary b{color:var(--text)}
.price-warning{padding:9px 10px;border:1px solid rgba(241,191,105,.25);background:rgba(241,191,105,.07);border-radius:10px;color:#e4c88d;font-size:11px;line-height:1.45;margin:10px 0}
.ai-review{margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(139,125,255,.08);border:1px solid rgba(139,125,255,.18);font-size:10px;line-height:1.4;color:#c8c3ff}
.ai-review.reject{background:rgba(240,121,132,.08);border-color:rgba(240,121,132,.22);color:#ffadb5}.ai-review.approve{background:rgba(98,211,148,.08);border-color:rgba(98,211,148,.22);color:#9ee9bd}
.ai-control select:disabled{opacity:.55;cursor:not-allowed}

body.ui-compact{font-size:13px}body.ui-compact .nav-item{font-size:13px}body.ui-compact .button{font-size:12px;min-height:38px}body.ui-compact input,body.ui-compact select,body.ui-compact textarea{font-size:12px}
body.ui-large{font-size:15px}body.ui-large .nav-item{font-size:15px}body.ui-large .page-header p{font-size:15px}body.ui-large .button{font-size:14px;min-height:43px}body.ui-large input,body.ui-large select,body.ui-large textarea{font-size:14px;padding:11px 13px}body.ui-large .mtg-card-name{font-size:13.5px}body.ui-large .mtg-card-meta{font-size:11.5px}body.ui-large .oracle-text{font-size:14.5px}body.ui-large .inspector-title{font-size:24px}

@media(max-width:1350px){.builder-workspace{grid-template-columns:290px minmax(490px,1fr)} }
@media(max-width:780px){body{font-size:14px}.analysis-controls .ai-control{min-width:150px}}
.settings-divider{border:0;border-top:1px solid var(--line);margin:1.25rem 0}.settings-ai{display:grid;gap:.75rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.check-row{display:flex;align-items:center;gap:.6rem}.check-row input{width:auto}#loginDialog::backdrop{background:rgba(6,8,18,.9);backdrop-filter:blur(10px)}#loginDialog .modal-card{max-width:430px}.modal[data-lock="true"]{pointer-events:auto}@media(max-width:650px){.settings-grid{grid-template-columns:1fr}}

/* v0.9.2 */
:root[data-theme="light"]{color-scheme:light;--bg:#f5f6fa;--bg-soft:#eef1f6;--surface:#fff;--surface-2:#f7f8fb;--surface-3:#eceff5;--line:#d9deea;--line-strong:#bcc5d6;--text:#161a24;--muted:#626d80;--muted-2:#8791a2;--shadow:0 20px 55px rgba(33,42,62,.14);--fantasy-bg:var(--bg);--fantasy-panel:linear-gradient(165deg,#fff,#f1f0f7 100%);--fantasy-panel-deep:linear-gradient(180deg,#eceef5,#e2e5ee);--obsidian:#eef0f5;--obsidian-2:#e6e9f0;--graphite:#dfe2ea;--fantasy-gold-pale:#7a5a1e}:root[data-theme="light"] .appbar{background:rgba(255,255,255,.88)}:root[data-theme="system"]{color-scheme:dark}@media(prefers-color-scheme:light){:root[data-theme="system"]{color-scheme:light;--bg:#f5f6fa;--bg-soft:#eef1f6;--surface:#fff;--surface-2:#f7f8fb;--surface-3:#eceff5;--line:#d9deea;--line-strong:#bcc5d6;--text:#161a24;--muted:#626d80;--muted-2:#8791a2;--fantasy-bg:var(--bg);--fantasy-panel:linear-gradient(165deg,#fff,#f1f0f7 100%);--fantasy-panel-deep:linear-gradient(180deg,#eceef5,#e2e5ee);--obsidian:#eef0f5;--obsidian-2:#e6e9f0;--graphite:#dfe2ea;--fantasy-gold-pale:#7a5a1e}}
.settings-modal{width:min(620px,calc(100vw - 28px))}.settings-modal .modal-card{padding:22px}.settings-intro{margin:5px 0 0!important}.settings-section{display:grid;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.settings-section:first-of-type{margin-top:15px}.settings-section h3{margin:0;font-size:15px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.provider-hint{padding:10px 12px;border:1px solid rgba(139,125,255,.22);background:rgba(139,125,255,.07);border-radius:10px;color:var(--muted);font-size:11px;line-height:1.45}.settings-footer{display:flex;justify-content:flex-end}.settings-footer .button{min-width:190px}.settings-grid{gap:12px}.collection-quick-add{display:grid;grid-template-columns:minmax(220px,1fr) 90px auto;gap:8px;padding:0 17px 14px}.collection-card-actions{display:grid;grid-template-columns:30px 1fr 30px 30px;align-items:center;gap:5px;margin-top:9px}.collection-card-actions button{height:30px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;cursor:pointer;font-weight:800}.collection-card-actions b{text-align:center}.collection-card-actions .remove{color:var(--danger)}@media(max-width:650px){.collection-quick-add{grid-template-columns:1fr 75px}.collection-quick-add .button{grid-column:1/-1}.section-heading{display:block}.settings-modal .modal-card{padding:17px}}

/* v0.10.1 — resilient AI response handling */
.analyzer-view{max-width:100%;margin:0 auto}.analysis-header{align-items:flex-end}.analysis-header>div:first-child{max-width:760px}.analysis-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.analysis-flow span{display:flex;align-items:center;gap:7px;padding:7px 12px 7px 7px;border:1px solid var(--line);background:linear-gradient(180deg,var(--graphite),var(--obsidian-2));border-radius:999px;color:var(--muted);font-size:11px;font-weight:700}.analysis-flow span b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),transparent 60%),var(--obsidian);box-shadow:inset 0 0 0 1px var(--silver-dim),inset 0 2px 4px rgba(0,0,0,.5);color:var(--text);font-size:10px}.analysis-flow span.active{border-color:rgba(139,125,255,.42);color:#c7c0ff;background:linear-gradient(180deg,rgba(139,125,255,.14),rgba(139,125,255,.04))}.analysis-flow span.active b{box-shadow:inset 0 0 0 1px var(--primary),0 0 10px rgba(139,125,255,.55);color:#fff}.analysis-flow i{font-style:normal;display:inline-block;width:20px;height:2px;font-size:0;color:transparent;background:linear-gradient(90deg,rgba(139,125,255,.12),rgba(139,125,255,.55),rgba(139,125,255,.12))}
.analysis-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:15px 16px;margin-bottom:14px}.analysis-controls{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(125px,1fr) 90px 125px 125px minmax(135px,1fr);gap:9px;flex:1}.analysis-controls label{display:grid;gap:5px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750}.analysis-controls input,.analysis-controls select{height:39px;text-transform:none}.analyze-cta{min-width:155px;height:39px}.analysis-plan-hint{flex-basis:100%;margin:10px 0 0;font-size:11px}.analysis-empty{min-height:470px}.analysis-loading{min-height:460px;display:grid;place-items:center}.analysis-loader{display:flex;align-items:center;gap:26px;max-width:720px;padding:42px}.analysis-loader h2{margin:3px 0 8px}.analysis-loader p{margin:0;color:var(--muted);line-height:1.55}.loader-orbit{width:70px;height:70px;border-radius:50%;border:1px solid rgba(139,125,255,.25);position:relative;box-shadow:0 0 50px rgba(139,125,255,.16)}.loader-orbit:before,.loader-orbit:after{content:"";position:absolute;border-radius:50%;inset:9px;border:2px solid transparent;border-top-color:var(--primary);animation:spin 1.1s linear infinite}.loader-orbit:after{inset:23px;border-top-color:var(--cyan);animation-direction:reverse;animation-duration:.75s}@keyframes spin{to{transform:rotate(360deg)}}
.analysis-results{display:grid;gap:13px}.ai-decision-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid rgba(139,125,255,.3);background:linear-gradient(105deg,rgba(139,125,255,.11),rgba(88,215,208,.045));border-radius:15px}.ai-decision-banner.diagnostic{border-color:rgba(241,191,105,.28);background:rgba(241,191,105,.055)}.ai-decision-banner b{font-size:13px}.ai-decision-banner p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.ai-pulse{width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 7px rgba(139,125,255,.1)}.diagnostic .ai-pulse{background:var(--warning);box-shadow:0 0 0 7px rgba(241,191,105,.09)}.catalog-coverage{text-align:right;min-width:150px}.catalog-coverage strong,.catalog-coverage span,.catalog-coverage small{display:block}.catalog-coverage strong{font-size:24px}.catalog-coverage span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.catalog-coverage small{font-size:9px;color:var(--muted-2);margin-top:3px}
.analysis-scoreboard{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) repeat(2,minmax(125px,1fr));gap:9px}.analysis-score,.analysis-stat{min-height:108px;padding:12px 13px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.analysis-score{display:flex;align-items:center;gap:10px}.analysis-score>span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;line-height:1.35}.score-ring{--score:0;flex:none;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;position:relative;--ring-fill:conic-gradient(var(--primary) calc(var(--score)*1%),var(--surface-3) 0)}.score-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}.score-ring b{position:relative;font-size:13px}.analysis-score.good .score-ring{background:conic-gradient(var(--green) calc(var(--score)*1%),var(--surface-3) 0)}.analysis-score.watch .score-ring{background:conic-gradient(var(--warning) calc(var(--score)*1%),var(--surface-3) 0)}.analysis-score.low .score-ring{background:conic-gradient(var(--danger) calc(var(--score)*1%),var(--surface-3) 0)}.analysis-stat{display:flex;flex-direction:column;justify-content:center}.analysis-stat span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.analysis-stat b{font-size:24px;margin:4px 0 2px}.analysis-stat small{font-size:10px;color:var(--muted)}
.analysis-tabs{display:flex;gap:3px;padding:5px;background:linear-gradient(180deg,var(--obsidian-2),var(--obsidian));border:1px solid var(--line);border-radius:13px;width:max-content;max-width:100%;overflow:auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),inset 0 -2px 4px rgba(0,0,0,.5)}.analysis-tabs button{position:relative;border:0;background:transparent;color:var(--muted);font-weight:750;font-size:12px;padding:9px 13px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.analysis-tabs button:hover{color:var(--text)}.analysis-tabs button.active{background:linear-gradient(180deg,var(--surface-3),var(--graphite));color:var(--text)}.analysis-tabs button.active:after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--cyan));box-shadow:0 0 8px rgba(139,125,255,.55)}.analysis-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:99px;background:rgba(139,125,255,.14);color:#c7c0ff;font-size:9px}.analysis-panel{display:none}.analysis-panel.active{display:block}.analysis-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:12px}.analysis-surface{padding:17px;background:linear-gradient(165deg,var(--surface),var(--graphite) 130%);border:1px solid var(--line);border-radius:15px;min-width:0}.analysis-surface h2{font-size:16px;margin:2px 0 0}.surface-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.surface-title .eyebrow{margin:0}.role-surface{grid-row:span 1}.analysis-curve-tabs{flex:none}.advanced-curve{height:205px}.advanced-curve .curve-bar-wrap{height:148px}.advanced-curve .curve-column span{display:block;margin-top:2px}.analysis-bars{display:grid;gap:10px}.analysis-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.analysis-bar-row b{font-size:11px}.analysis-bar-row span{font-size:10px;color:var(--muted)}.analysis-bar-track,.role-meter,.source-track{height:8px;border-radius:99px;background:var(--obsidian-2);overflow:hidden;box-shadow:inset 0 0 0 1px var(--fantasy-bronze-dim),inset 0 2px 4px rgba(0,0,0,.6)}.analysis-bar-track i,.role-meter i,.source-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--cyan));box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.role-health-list{display:grid;gap:10px}.role-health{display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,1.4fr) 60px 42px;align-items:center;gap:12px}.role-health b,.role-health span{display:block}.role-health b{font-size:11px}.role-health span{font-size:9px;color:var(--muted);margin-top:2px}.role-health strong{font-size:10px;text-align:right}.role-health.ok .role-meter i{background:var(--green)}.role-health.low .role-meter i{background:var(--danger)}.role-health.critical .role-meter i{background:var(--danger);box-shadow:0 0 14px rgba(240,121,132,.6)}.role-health.high .role-meter i{background:var(--warning)}
.role-health-tag{padding:3px 8px;border-radius:99px;text-align:center;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-3);color:var(--muted)}
.role-health.ok .role-health-tag{color:#9ee8bd;background:rgba(98,211,148,.12)}
.role-health.low .role-health-tag{color:#f3ce86;background:rgba(241,191,105,.13)}
.role-health.critical .role-health-tag{color:#ffb0b8;background:rgba(240,121,132,.15);box-shadow:0 0 8px rgba(240,121,132,.3)}
.role-health.high .role-health-tag{color:#c7c0ff;background:rgba(139,125,255,.14)}.issue{grid-template-columns:8px 1fr}.issue b,.issue span{display:block}.issue b{font-size:9px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.analysis-ok{padding:12px;border:1px solid rgba(98,211,148,.25);background:rgba(98,211,148,.06);border-radius:10px;color:#a8e9c2;font-size:12px}.screening-footnote{padding:9px 12px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}
.manabase-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:12px}.manabase-hero{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:22px;align-items:center;background:linear-gradient(120deg,rgba(139,125,255,.1),var(--surface) 48%)}.manabase-hero h2{font-size:44px;letter-spacing:-.05em;margin:2px 0}.manabase-hero p{color:var(--muted);font-size:12px;line-height:1.5;max-width:620px}.manabase-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.manabase-facts span{padding:11px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:10px}.manabase-facts b{display:block;color:var(--text);font-size:18px;margin-bottom:2px}.color-source-list{display:grid;gap:11px}.color-source{display:grid;grid-template-columns:34px minmax(0,1fr) 42px;align-items:center;gap:10px}.mana-symbol{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--line);font-weight:900}.color-source b,.color-source small{display:block}.color-source b{font-size:11px}.color-source small{font-size:9px;color:var(--muted);margin:2px 0 5px}.color-source strong{text-align:right;font-size:11px}.color-source.ok .source-track i{background:var(--green)}.color-source.watch .source-track i{background:var(--warning)}.color-source.low .source-track i{background:var(--danger)}.land-split{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.land-split>div{padding:18px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px}.land-split b,.land-split span{display:block}.land-split b{font-size:28px}.land-split span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.swipe-workspace{max-width:1220px;margin:0 auto}.swipe-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.swipe-head h2{margin:3px 0 0}.swipe-progress{width:min(320px,40vw);height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden}.swipe-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--cyan));border-radius:inherit}.swipe-card{display:grid;grid-template-columns:minmax(240px,1fr) 160px minmax(240px,1fr);gap:14px;padding:16px;background:linear-gradient(145deg,var(--surface),rgba(18,21,30,.82));border:1px solid var(--line);border-radius:19px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.swap-card-side{border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:15px;padding:12px;text-align:left;cursor:pointer;min-width:0;transition:.18s}.swap-card-side:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 15px 32px rgba(0,0,0,.22)}.swap-card-side.remove:hover{border-color:rgba(240,121,132,.45)}.swap-card-side.add:hover{border-color:rgba(98,211,148,.45)}.swap-card-side img{display:block;width:min(100%,245px);aspect-ratio:488/680;object-fit:cover;border-radius:10px;margin:0 auto 11px}.swap-card-side h3{font-size:16px;margin:4px 0}.swap-card-side p{color:var(--muted);font-size:11px;line-height:1.48;margin:7px 0}.swap-card-side small{color:var(--muted-2);font-size:10px}.swap-kicker{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.swap-kicker .icon{width:12px;height:12px}.remove .swap-kicker{background:rgba(226,85,95,.14);color:#ffabaf;box-shadow:inset 0 0 0 1px rgba(226,85,95,.3)}.add .swap-kicker{background:rgba(91,224,214,.12);color:#a6f0e8;box-shadow:inset 0 0 0 1px rgba(91,224,214,.3)}.swap-verdict{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.necessity-ring{--necessity:0;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;align-content:center;--ring-fill:conic-gradient(var(--primary) calc(var(--necessity)*1%),var(--surface-3) 0);position:relative;margin-bottom:12px}.necessity-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.necessity-ring strong,.necessity-ring span{position:relative}.necessity-ring strong{font-size:32px;line-height:1}.necessity-ring span{font-size:10px;color:var(--muted)}.swap-verdict>b{font-size:12px}.swap-verdict>small{font-size:10px;color:var(--muted);margin-top:4px}.impact-pill{margin-top:10px;padding:5px 8px;border-radius:99px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-3);color:var(--muted)}.impact-pill.high{color:#ffb0b8;background:rgba(240,121,132,.11)}.impact-pill.medium{color:#f3ce86;background:rgba(241,191,105,.1)}.impact-pill.low,.impact-pill.optional{color:#9ee8bd;background:rgba(98,211,148,.09)}.swap-reason{grid-column:1/-1;padding:13px 14px;border:1px solid rgba(139,125,255,.2);background:rgba(139,125,255,.055);border-radius:12px}.swap-reason b{font-size:11px}.swap-reason p{font-size:12px;line-height:1.5;color:#d1d5df;margin:5px 0 0}.swap-reason details{margin-top:8px}.swap-reason summary{cursor:pointer;color:var(--muted);font-size:10px}.swap-reason ul{margin:7px 0 0;padding-left:18px;color:var(--muted);font-size:10px}.swipe-action{border:1px solid var(--line);background:var(--bg-soft);cursor:pointer;text-align:left;transition:.15s}.swipe-action.reject>span{color:var(--danger)}.swipe-action.reject:hover{border-color:rgba(240,121,132,.45)}.swipe-action.later>span{color:var(--warning)}.swipe-action.accept>span{color:var(--green)}.swipe-action.accept:hover{border-color:rgba(98,211,148,.45)}.swipe-queue{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:12px}.swipe-queue button{width:43px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft);cursor:pointer;color:var(--muted);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 6px;font-size:9px}.swipe-queue button.active{border-color:var(--primary);background:rgba(139,125,255,.1);color:var(--text)}.swipe-queue button.accepted{border-color:rgba(98,211,148,.35)}.swipe-queue button.rejected{opacity:.48}.swipe-queue button.ignored{opacity:.65}.swipe-finished{padding:60px 24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px}.swipe-finished h2{margin:4px 0 8px}.swipe-finished p{color:var(--muted);margin:0 auto 18px;max-width:580px;line-height:1.5}.swipe-empty{min-height:360px}

@media(max-width:1280px){.analysis-toolbar{align-items:stretch;flex-direction:column}.analysis-controls{grid-template-columns:repeat(3,1fr)}.analyze-cta{align-self:flex-end}.analysis-scoreboard{grid-template-columns:repeat(3,1fr)}.swipe-card{grid-template-columns:minmax(210px,1fr) 140px minmax(210px,1fr)}}
@media(max-width:980px){.analysis-header{align-items:flex-start}.analysis-flow{display:none}.analysis-dashboard-grid,.manabase-layout{grid-template-columns:1fr}.manabase-hero{grid-template-columns:1fr}.analysis-scoreboard{grid-template-columns:repeat(2,1fr)}.swipe-card{grid-template-columns:1fr 130px 1fr}.swap-card-side img{max-width:200px}}
@media(max-width:720px){.analysis-controls{grid-template-columns:1fr 1fr}.analyze-cta{width:100%}.ai-decision-banner{grid-template-columns:auto 1fr}.catalog-coverage{grid-column:1/-1;text-align:left;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 8px}.catalog-coverage small{grid-column:1/-1}.analysis-scoreboard{grid-template-columns:1fr 1fr}.analysis-score{min-height:92px}.analysis-dashboard-grid{display:block}.analysis-surface{margin-bottom:10px}.manabase-facts{grid-template-columns:repeat(2,1fr)}.swipe-head{display:block}.swipe-progress{width:100%;margin-top:10px}.swipe-card{grid-template-columns:1fr}.swap-verdict{grid-row:2}.swap-card-side.add{grid-row:3}.swap-reason{grid-column:1}.swap-card-side img{max-width:230px}.analysis-tabs{width:100%}.analysis-tabs button{flex:1}.role-health{grid-template-columns:1fr 60px 42px}.role-meter{grid-column:1/-1;grid-row:2}.role-health-tag{grid-column:2;grid-row:1}.role-health strong{grid-column:3;grid-row:1}.analysis-loader{display:block;text-align:center}.loader-orbit{margin:0 auto 22px}}
@media(max-width:460px){.analysis-controls{grid-template-columns:1fr}.analysis-scoreboard{grid-template-columns:1fr 1fr}.analysis-score{display:block;text-align:center}.score-ring{margin:0 auto 8px}.analysis-stat{min-height:92px}.manabase-facts{grid-template-columns:1fr 1fr}.swap-card-side{padding:9px}.swipe-card{padding:10px}.analysis-toolbar{padding:12px}}

.ai-decision-banner.error{border-color:rgba(220,70,70,.45);background:linear-gradient(135deg,rgba(100,24,30,.28),rgba(20,22,30,.92))}
.ai-decision-banner.inconclusive,.search-inconclusive{border-color:rgba(241,191,105,.42);background:linear-gradient(135deg,rgba(116,75,22,.2),rgba(20,22,30,.94))}
.ai-error-state details{margin:14px auto;max-width:760px;text-align:left}.ai-error-state code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-radius:10px;background:rgba(0,0,0,.22)}

/* v0.10.3 — adjustable proposal threshold and per-deck analysis archive */
.analysis-toolbar{display:block;padding:16px;margin-bottom:16px}
.analysis-controls{
  display:grid;
  grid-template-columns:minmax(230px,1.35fr) minmax(170px,.9fr) 136px 136px minmax(180px,1fr) minmax(168px,.75fr);
  grid-template-areas:"source depth maxprice budget ai action";
  align-items:end;
  gap:12px;
  width:100%;
}
.analysis-control{display:grid;gap:6px;min-width:0;margin:0}
.analysis-control>span{min-height:12px;font-size:9px;line-height:1.2;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:800;white-space:nowrap}
.analysis-control input,.analysis-control select{width:100%;height:42px;min-width:0;text-transform:none}
.control-source{grid-area:source}.control-depth{grid-area:depth}.control-max-price{grid-area:maxprice}.control-budget{grid-area:budget}.control-ai{grid-area:ai}.control-action{grid-area:action}
.control-action .analyze-cta{width:100%;min-width:0;height:42px;white-space:nowrap}
.analysis-control input[type="number"]{-moz-appearance:textfield;appearance:textfield;padding-right:12px}
.analysis-control input[type="number"]::-webkit-inner-spin-button,.analysis-control input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.verdict-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.07em;text-transform:uppercase;margin-bottom:11px;border:1px solid var(--line)}
.verdict-pill.upgrade{color:#9ee8bd;background:rgba(98,211,148,.1);border-color:rgba(98,211,148,.28)}
.verdict-pill.conditional{color:#f3ce86;background:rgba(241,191,105,.1);border-color:rgba(241,191,105,.28)}
.verdict-pill.lateral{color:var(--muted);background:var(--surface-3)}
.swap-verdict>em{max-width:145px;margin-top:8px;color:var(--muted);font-size:9px;line-height:1.35;font-style:normal}
.swap-reason{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:12px}
.swap-reason-main{grid-column:1/-1}
.swap-evidence,.swap-counterargument{padding:11px 12px;border-radius:10px;background:rgba(0,0,0,.12);border:1px solid var(--line)}
.swap-evidence b,.swap-counterargument b{display:block;margin-bottom:5px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.swap-evidence ul{margin:0;padding-left:17px;color:#cfd4df;font-size:10px;line-height:1.5}
.swap-counterargument p{margin:0;color:#d9c7a3;font-size:10px;line-height:1.5}
.swap-reason details{grid-column:1/-1}

.feedback-reasons{grid-column:1/-1;padding:14px;border-radius:14px;border:1px solid rgba(240,121,132,.28);background:linear-gradient(145deg,rgba(240,121,132,.07),var(--bg-soft));display:grid;gap:11px}
.feedback-reasons>div:first-child b,.feedback-reasons>div:first-child small{display:block}
.feedback-reasons>div:first-child b{font-size:12px}.feedback-reasons>div:first-child small{margin-top:3px;color:var(--muted);font-size:10px}
.feedback-reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.feedback-reason-grid button{min-height:62px;padding:10px 11px;text-align:left;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:.15s}
.feedback-reason-grid button:hover{transform:translateY(-2px);border-color:rgba(240,121,132,.45);background:rgba(240,121,132,.055)}
.feedback-reason-grid b,.feedback-reason-grid span{display:block}.feedback-reason-grid b{font-size:10px}.feedback-reason-grid span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}
.feedback-cancel{justify-self:end;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:3px 5px}
.analysis-feedback-card{width:min(680px,calc(100vw - 24px));max-height:min(760px,calc(var(--app-viewport-height,100dvh) - 24px));overflow:auto}
.analysis-feedback-card .feedback-reasons{border:0;background:transparent;padding:0}
.analysis-feedback-modal::backdrop{background:rgba(1,3,9,.82);backdrop-filter:blur(8px)}

@media(max-width:1500px){
  .analysis-controls{grid-template-columns:minmax(220px,1.4fr) minmax(170px,1fr) minmax(145px,.85fr);grid-template-areas:"source depth maxprice" "budget ai action"}
}
@media(max-width:900px){
  .analysis-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"source source" "depth depth" "maxprice budget" "ai ai" "action action"}
  .control-action>span{display:none}.control-action .analyze-cta{margin-top:2px}
  .swap-reason{grid-template-columns:1fr}
  .swap-reason-main,.swap-evidence,.swap-counterargument,.swap-reason details{grid-column:1}
  .feedback-reason-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .analysis-controls{grid-template-columns:1fr;grid-template-areas:"source" "depth" "maxprice" "budget" "ai" "action"}
  .feedback-reason-grid{grid-template-columns:1fr}
}


/* v0.10.3 — threshold control and latest analysis archive */
.analysis-controls{
  /* The threshold column must fit .threshold-input's own minimum content
     width (80px range + 43px output + 8px gap + 20px padding ≈ 151px) or the
     range input and its percentage output overflow into the next column and
     visually overlap the "Nessun limite" placeholder next to it. */
  grid-template-columns:minmax(210px,1.15fr) minmax(150px,.78fr) minmax(160px,.85fr) minmax(115px,.55fr) minmax(115px,.55fr) minmax(165px,.9fr) minmax(155px,.68fr);
  grid-template-areas:"source depth threshold maxprice budget ai action";
}
.control-threshold{grid-area:threshold}
.threshold-input{height:42px;display:grid;grid-template-columns:minmax(80px,1fr) 43px;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}
.threshold-input input[type="range"]{height:auto;padding:0;accent-color:var(--primary);cursor:pointer}
.threshold-input output{font-size:11px;font-weight:800;text-align:right;color:#c9c3ff;font-variant-numeric:tabular-nums}
.analysis-archive{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;border:1px solid rgba(98,211,148,.24);background:rgba(98,211,148,.07);color:#9ee8bd;font-size:9px;font-weight:750}
.analysis-archive.stale{border-color:rgba(241,191,105,.28);background:rgba(241,191,105,.08);color:#f3ce86}
.deck-analysis-stamp{display:inline-flex;width:max-content;margin:2px 0 10px;padding:4px 7px;border-radius:999px;background:rgba(139,125,255,.09);border:1px solid rgba(139,125,255,.2);color:#bcb5ff;font-size:9px;font-weight:700}
@media(max-width:1600px){
  .analysis-controls{grid-template-columns:minmax(210px,1.3fr) minmax(155px,.9fr) minmax(170px,1fr);grid-template-areas:"source depth threshold" "maxprice budget action" "ai ai ai"}
}
@media(max-width:900px){
  .analysis-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"source source" "depth depth" "threshold threshold" "maxprice budget" "ai ai" "action action"}
}
@media(max-width:520px){
  .analysis-controls{grid-template-columns:1fr;grid-template-areas:"source" "depth" "threshold" "maxprice" "budget" "ai" "action"}
}

/* v0.10.4 — explicit analysis launch, resilient partial output and refined actions */
.analysis-ready{min-height:360px}
.analysis-ready-card{width:min(100%,680px);padding:30px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(139,125,255,.07),var(--surface));box-shadow:0 20px 60px rgba(0,0,0,.18)}
.analysis-ready-card h2{margin:5px 0 10px;font-size:22px}.analysis-ready-card p{max-width:600px;margin:0 auto;color:var(--muted);line-height:1.55}
.analysis-ready-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.analysis-ready-actions>span{font-size:10px;color:var(--muted)}
.analysis-history-button{min-height:40px}
.analysis-partial-note{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;border-radius:12px;border:1px solid rgba(241,191,105,.32);background:rgba(241,191,105,.075);color:#f3ce86}
.analysis-partial-note b{font-size:11px;white-space:nowrap}.analysis-partial-note span{font-size:10px;color:#d8c49b;line-height:1.4}
.analysis-partial-note>div:first-child{display:grid;gap:3px}.section-status{display:flex;gap:5px;flex-wrap:wrap;margin-left:auto}.section-status span{padding:4px 7px;border:1px solid currentColor;border-radius:99px}.section-status .complete{color:var(--green)}.section-status .missing,.section-status .incomplete{color:var(--warning)}
.analysis-recovery-detail{display:inline-block;margin-left:8px}.analysis-recovery-detail summary{cursor:pointer;color:var(--muted-2)}.analysis-recovery-detail p{margin:5px 0 0}
.ai-advice-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.advice-section{padding:14px}.advice-swaps{grid-column:1/-1}.advice-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.advice-title>span{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;background:rgba(139,125,255,.12);color:#c7c0ff;font-weight:900}.advice-title small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.advice-title h2{margin:1px 0 0}.advice-list,.expected-results{display:grid;gap:7px}.advice-card{padding:10px 11px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px}.advice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.advice-card-head b{font-size:11px;line-height:1.4}.advice-card p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.advice-priority{flex:none;padding:4px 7px;border-radius:99px;font-size:8px;font-weight:850;text-transform:uppercase}.advice-priority.high{color:#ffb0b8;background:rgba(240,121,132,.11)}.advice-priority.medium{color:#f3ce86;background:rgba(241,191,105,.1)}.advice-priority.low{color:#9ee8bd;background:rgba(98,211,148,.09)}.tag-row.compact{margin-top:7px}.tag-row.compact .tag{padding:3px 6px;font-size:8px}.compact-empty{margin:0}.threshold-note{margin:0 0 10px;padding:8px 10px;border-left:2px solid var(--warning);background:rgba(241,191,105,.055);color:var(--muted);font-size:10px}.expected-results p{display:grid;gap:3px;margin:0;padding:9px 10px;background:var(--bg-soft);border-radius:9px}.expected-results b{font-size:10px}.expected-results span{font-size:10px;color:var(--muted);line-height:1.4}.advice-swaps .swipe-empty{min-height:180px;padding:30px 20px}.advice-swaps .swipe-workspace{margin-top:2px}
.strategy-layout,.tag-coherence-grid,.evolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strategic-wide,.evolution-order{grid-column:1/-1}.strategy-identity{background:linear-gradient(135deg,rgba(139,125,255,.1),var(--surface))}.strategy-identity-facts{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.strategy-identity-facts span{display:grid;padding:9px 12px;background:var(--bg-soft);border-radius:9px;font-size:9px;color:var(--muted)}.strategy-identity-facts b{font-size:13px;color:var(--text)}.strategy-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.strategy-plan h2{font-size:17px;line-height:1.35;margin:6px 0 0}.strategy-plan p{margin:9px 0 0;font-size:11px;color:var(--muted)}.strategy-plan.secondary p{color:var(--text);font-size:12px;margin:2px 0 0}
.strategy-priority-list{display:grid;gap:8px;margin-top:10px}.strategy-priority{padding:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;border-left:3px solid var(--primary)}.strategy-priority:nth-child(2){border-left-color:var(--warning)}.strategy-priority:nth-child(3){border-left-color:var(--muted-2)}.strategy-priority-rank{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.strategy-priority h3{margin:4px 0 8px;font-size:13px}.strategy-priority p{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.45}.strategy-priority p b{color:var(--text);margin-right:4px}.strategy-priority small{display:block;margin-top:6px;color:var(--text);font-size:10px}.analysis-more>summary{cursor:pointer;font-weight:800}.analysis-more>ul{margin-bottom:0}
.strategy-review ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:11px;line-height:1.6}
.strategy-profile-detail{margin-top:10px}.strategy-profile-detail summary{cursor:pointer;color:var(--muted-2);font-size:11px}.strategy-profile-detail .functional-profile{margin-top:8px}
.functional-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.functional-profile article,.weakness-list article,.evolution-phase article{padding:10px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px}.functional-profile article>div{display:flex;justify-content:space-between}.functional-profile strong{font-size:20px}.functional-profile p,.weakness-list p,.evolution-phase p{margin:5px 0 0;color:var(--muted);font-size:10px}.weakness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tag-analysis{display:grid;gap:12px}.tag-support>span{text-transform:uppercase;font-size:9px;color:var(--muted)}.tag-support.strong{border-color:rgba(98,211,148,.35)}.tag-support.weak,.tag-support.contradictory{border-color:rgba(241,191,105,.35)}.evolution-phase article+article{margin-top:8px}.swap-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.swap-detail-grid p{display:grid;gap:3px;padding:8px;background:var(--surface-3);border-radius:8px;margin:0}.swap-detail-grid b{font-size:9px;text-transform:uppercase;color:var(--muted)}
.ai-error-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}

.saved-deck-actions.modern{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px}
.deck-action{min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:#dce1eb;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800;cursor:pointer;transition:.15s}
.deck-action:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--surface-3)}
.deck-action .icon{width:15px;height:15px}.deck-action.analyze{border-color:rgba(139,125,255,.46);background:linear-gradient(145deg,rgba(139,125,255,.24),rgba(110,97,232,.15));color:#d6d1ff}.deck-action.analyze:hover{background:linear-gradient(145deg,rgba(139,125,255,.34),rgba(110,97,232,.22))}
.deck-action.subtle{color:var(--muted)}.deck-action.danger{border-color:rgba(240,121,132,.24);background:rgba(240,121,132,.07);color:#f5a0a8}.deck-action.danger:hover{border-color:rgba(240,121,132,.42);background:rgba(240,121,132,.12)}

.card-action-dock{display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px;align-items:stretch;margin-top:16px;padding:10px;border:1px solid rgba(139,125,255,.28);border-radius:14px;background:linear-gradient(145deg,rgba(139,125,255,.09),rgba(14,16,23,.94))}
.replace-trigger{margin-top:10px}.replace-trigger.top{margin:2px 0 14px}.replace-trigger.mobile{margin:12px 0 4px}.replace-trigger button{width:100%;justify-content:flex-start;min-height:50px;padding:0 16px}.replace-trigger button>span,.replace-refine-button>span{display:grid;text-align:left;line-height:1.3}.replace-trigger button b,.replace-refine-button b{font-size:12px}.replace-trigger button small,.replace-refine-button small{margin-top:3px;font-size:9px;font-weight:600;color:var(--muted);white-space:normal}.replace-results{margin-top:10px;display:flex;flex-direction:column;gap:8px}.replace-source-toggle{display:flex;gap:6px}.replace-suggestion{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft)}.replace-suggestion-art{padding:0;border:none;background:none;cursor:pointer;border-radius:8px;overflow:hidden}.replace-suggestion-art img{display:block;width:56px;aspect-ratio:488/680;object-fit:cover}.replace-suggestion-copy{min-width:0}.replace-suggestion-copy h4{margin:0;font-size:12px}.replace-suggestion-copy p{margin:3px 0;font-size:11px;color:#ced4df;line-height:1.4}.replace-suggestion-copy small{color:var(--muted);font-size:9.5px}.replace-refine-button{width:100%;justify-content:flex-start}.replace-ai-note{display:flex;align-items:center;gap:6px;margin:0;font-size:10.5px;color:var(--muted)}.replace-ai-note .icon{width:13px;height:13px}
#mobileReplaceResults .replace-suggestion{grid-template-columns:76px minmax(0,1fr);grid-template-areas:"art copy" "art actions";align-items:start;gap:2px 10px;padding:7px}#mobileReplaceResults .replace-suggestion-art{grid-area:art;align-self:center}#mobileReplaceResults .replace-suggestion-art img{width:76px}#mobileReplaceResults .replace-suggestion-copy{grid-area:copy}#mobileReplaceResults .replace-suggestion-copy h4{font-size:11.5px}#mobileReplaceResults .replace-suggestion-copy p{font-size:10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#mobileReplaceResults .replace-suggestion-copy small{font-size:9px}#mobileReplaceResults .replace-suggestion [data-replace-add]{grid-area:actions;justify-self:start;margin-top:4px;padding:6px 12px;font-size:10px;min-height:32px;height:32px;border-radius:8px;gap:5px}#mobileReplaceResults .replace-suggestion [data-replace-add] .icon{width:12px;height:12px}
.inspect-add-button{min-height:50px;border-radius:11px;justify-content:flex-start;padding:0 18px}.inspect-add-button>span{display:grid;text-align:left;line-height:1.15}.inspect-add-button b{font-size:12px}.inspect-add-button small{margin-top:4px;font-size:9px;font-weight:600;color:rgba(255,255,255,.72)}
.quantity-stepper{height:44px;display:grid;grid-template-columns:38px minmax(42px,1fr) 38px;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft);overflow:hidden}
.quantity-stepper.compact{height:50px;grid-template-columns:36px minmax(36px,1fr) 36px}
.quantity-stepper button{height:100%;border:0;background:transparent;color:var(--muted);font-size:18px;font-weight:500;cursor:pointer;transition:.12s}.quantity-stepper button:hover{background:var(--surface-3);color:var(--text)}
.quantity-stepper input{height:100%;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:transparent;text-align:center;padding:0;box-shadow:none;font-weight:850;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inventory-editor.refined{margin-top:14px;padding:15px;border-radius:14px;background:linear-gradient(145deg,var(--bg-soft),rgba(18,21,30,.94))}
.inventory-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.inventory-title .eyebrow{margin:0 0 2px}.inventory-title h3{margin:0;font-size:14px}.inventory-total{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;white-space:nowrap}
.inventory-grid{gap:10px}.inventory-grid label{display:grid;gap:6px}.inventory-grid label>span{font-size:10px;font-weight:750;color:var(--muted)}
.inventory-tags{margin-top:12px}.inventory-actions{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(150px,1fr);gap:8px;margin-top:12px}.inventory-actions .button{min-height:42px;margin:0}.inventory-save{box-shadow:0 7px 22px rgba(110,97,232,.18)}.inventory-clear{color:var(--muted)}
.printing-owned button{transition:.12s}.printing-owned button:hover{border-color:var(--primary);color:white;background:rgba(139,125,255,.14)}

@media(max-width:720px){
  .analysis-partial-note{align-items:flex-start;flex-direction:column}.section-status{margin-left:0}.strategy-layout,.tag-coherence-grid,.evolution-grid,.functional-profile,.weakness-list,.swap-detail-grid,.ai-advice-layout{grid-template-columns:1fr}.strategic-wide,.evolution-order,.advice-swaps{grid-column:auto}.saved-deck-actions.modern{grid-template-columns:1fr 1fr}.card-action-dock{grid-template-columns:104px minmax(0,1fr)}
}
@media(max-width:430px){
  .saved-deck-actions.modern{grid-template-columns:1fr}.card-action-dock{grid-template-columns:1fr}.quantity-stepper.compact{height:42px}.inventory-title{display:block}.inventory-total{display:inline-flex;margin-top:8px}.inventory-actions{grid-template-columns:1fr}
}

/* v0.10.4 — compact decision dock */
.swipe-action:hover{transform:translateY(-1px);background:var(--surface-2)}
.swipe-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.swipe-action-icon .icon{width:19px;height:19px;stroke-width:2.4}
.swipe-action.reject{border-color:rgba(240,121,132,.22)}
.swipe-action.reject:hover{background:rgba(240,121,132,.075)}
.swipe-action.reject .swipe-action-icon{background:rgba(240,121,132,.13);color:var(--danger)}
.swipe-action.later{border-color:rgba(241,191,105,.2)}
.swipe-action.later:hover{border-color:rgba(241,191,105,.42);background:rgba(241,191,105,.065)}
.swipe-action.later .swipe-action-icon{background:rgba(241,191,105,.12);color:var(--warning)}
.swipe-action.accept{border-color:rgba(98,211,148,.28);background:rgba(98,211,148,.035)}
.swipe-action.accept:hover{background:rgba(98,211,148,.085)}
.swipe-action.accept .swipe-action-icon{background:rgba(98,211,148,.13);color:var(--green)}
@media(max-width:560px){
  .swipe-action-icon .icon{width:16px;height:16px}
}

/* v0.11.0 — multi-user workspace, collection control room and card preview */
.role-hidden{display:none!important}.user-badge{max-width:150px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-validation{margin:10px 0 12px;padding:12px 14px;border:1px solid rgba(240,121,132,.35);border-radius:13px;background:rgba(240,121,132,.07);color:#f5a0a8}.deck-validation>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.deck-validation>div span{color:var(--muted);font-size:10px}.deck-validation ul{margin:10px 0 0;padding-left:18px;display:grid;gap:7px}.deck-validation li{font-size:10px}.deck-validation code{color:var(--text)}.deck-validation li span{display:block;margin-top:4px;color:var(--muted)}.deck-validation button{margin:2px 3px 0 0;padding:3px 7px;border:1px solid rgba(139,125,255,.32);border-radius:999px;background:rgba(139,125,255,.09);color:#c9c3ff;cursor:pointer;font-size:9px}
.forge-game-plan{margin:16px 0;padding:18px;border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:18px;background:linear-gradient(135deg,rgba(200,145,70,.09),rgba(91,178,187,.045))}.forge-game-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.forge-game-plan-grid>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(6,8,8,.45)}.forge-game-plan-grid span,.forge-game-plan-grid small,.forge-game-plan>p{color:var(--muted)}.forge-game-plan-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.forge-game-plan-grid b{font-size:15px}.forge-game-plan-grid small{font-size:11px;line-height:1.5}.forge-game-plan>p{margin:12px 0 0;font-size:11px}.forge-game-plan>p b{color:var(--text)}@media(max-width:640px){.forge-game-plan{padding:14px}.forge-game-plan-grid{grid-template-columns:1fr}}
.forge-quality-warning{display:grid;gap:8px;margin:14px 0;padding:14px 16px;border:1px solid rgba(224,176,91,.38);border-radius:14px;background:rgba(224,176,91,.075)}.forge-quality-warning>b{display:flex;align-items:center;gap:8px;color:var(--gold)}.forge-quality-warning>span,.forge-quality-warning li{color:var(--muted);font-size:11px;line-height:1.5}.forge-quality-warning ul{margin:0;padding-left:18px}.forge-preview-head.has-warnings{border-color:rgba(224,176,91,.42)}
.collection-filter-panel{display:grid;grid-template-columns:minmax(260px,2fr) minmax(135px,.8fr) repeat(2,minmax(125px,.68fr)) repeat(2,minmax(110px,.55fr)) minmax(145px,.7fr) minmax(110px,.55fr);gap:8px;padding:0 17px 10px}.collection-filter-panel>*{min-width:0;height:40px}.collection-search-wide{height:40px}.collection-selection-bar{display:flex;align-items:center;gap:14px;min-height:42px;padding:8px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(139,125,255,.025)}.collection-selection-bar>span{font-size:10px;color:var(--muted);margin-right:auto}.collection-select-all{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.collection-select-all input{width:auto}.collection-selection-bar .button{min-height:33px;padding:0 12px;font-size:10px}
.mtg-card{position:relative}.card-select{position:absolute;top:7px;left:7px;z-index:5;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(8,10,16,.86);border:1px solid rgba(255,255,255,.18);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25)}.card-select input{position:absolute;opacity:0;pointer-events:none}.card-select span{width:14px;height:14px;border:1px solid var(--line-strong);border-radius:4px}.card-select input:checked+span{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--surface)}.mtg-card.selected-for-delete{border-color:rgba(240,121,132,.65);box-shadow:0 0 0 2px rgba(240,121,132,.16)}
.card-modal{width:min(880px,calc(100vw - 24px))}.card-modal .modal-card{max-width:none}.card-preview-layout{display:grid;grid-template-columns:minmax(220px,330px) minmax(260px,1fr);gap:24px;align-items:start}.card-preview-layout>img,.card-preview-layout>.flip-card{width:100%;border-radius:16px;box-shadow:0 20px 46px rgba(0,0,0,.32)}.card-preview-layout>.flip-card{aspect-ratio:488/680}.card-preview-layout h3{margin:15px 0 8px;font-size:15px}.card-preview-layout .oracle-text{white-space:pre-line}.card-printing-spec{margin-top:18px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.card-preview-analysis{min-width:0}.card-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.card-analysis-grid>div{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft)}.card-analysis-grid dt{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.card-analysis-grid dd{margin:3px 0 0;font-size:12px}.card-analysis-chips{display:flex;flex-wrap:wrap;gap:6px}.card-analysis-chips span{padding:5px 8px;border:1px solid rgba(126,156,255,.28);border-radius:99px;background:rgba(126,156,255,.1);font-size:10px;color:#d9e1ff}.card-analysis-warning{display:grid;gap:5px;margin-top:15px;padding:10px 12px;border:1px solid rgba(255,174,74,.35);border-radius:10px;background:rgba(255,174,74,.09);color:#ffd39a;font-size:11px}
.admin-grid{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(320px,.75fr);gap:14px}.admin-activity{grid-column:1/-1}.admin-user-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(280px,1.6fr) auto;align-items:center;gap:12px;padding:12px;border-top:1px solid var(--line)}.admin-user-row:first-child{border-top:0}.admin-user-row>div:first-child{display:grid;gap:3px}.admin-user-row span,.admin-user-row small{color:var(--muted);font-size:9px}.admin-user-stats{display:flex;gap:7px;flex-wrap:wrap}.admin-user-stats span{padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft)}.knowledge-status{padding:16px;display:grid;gap:8px}.knowledge-status>span{font-size:9px;color:var(--muted);word-break:break-all}.knowledge-status ul{list-style:none;margin:4px 0;padding:0;display:grid;gap:6px}.knowledge-status li{font-size:10px;color:var(--muted)}.knowledge-status li.ok:before{content:'✓';color:var(--green);margin-right:7px}.knowledge-status li.missing:before{content:'×';color:var(--danger);margin-right:7px}.admin-activity-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 16px 16px}.admin-activity-columns h3{font-size:12px}.admin-activity-columns article{display:grid;gap:3px;padding:9px 0;border-top:1px solid var(--line)}.admin-activity-columns article b{font-size:10px}.admin-activity-columns article span,.admin-activity-columns article small{font-size:9px;color:var(--muted)}
.swap-strategic,.swap-expected{margin-top:10px;padding-top:10px;border-top:1px solid rgba(139,125,255,.15)}.swap-strategic b,.swap-expected b{color:#c7c0ff}
@media(max-width:1300px){.collection-filter-panel{grid-template-columns:minmax(230px,1.6fr) repeat(3,minmax(120px,1fr));}.collection-filter-panel>*:nth-child(n+5){grid-row:2}.admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.collection-filter-panel{grid-template-columns:1fr 1fr}.collection-search-wide{grid-column:1/-1}.collection-selection-bar{align-items:flex-start;flex-wrap:wrap}.collection-selection-bar>span{width:100%;margin:0}.card-preview-layout{grid-template-columns:1fr}.card-preview-layout>img,.card-preview-layout>.flip-card{max-width:320px;margin:auto}.admin-user-row{grid-template-columns:1fr auto}.admin-user-stats{grid-column:1/-1}.admin-activity-columns{grid-template-columns:1fr}}
@media(max-width:500px){.collection-filter-panel{grid-template-columns:1fr}.collection-search-wide{grid-column:auto}.user-badge{display:none}}


/* v0.11.1 — responsive rhythm, explicit deck name, exact collection printings */
:root{
  --space-xs:clamp(6px,.45vw,8px);
  --space-sm:clamp(9px,.7vw,12px);
  --space-md:clamp(13px,1vw,18px);
  --space-lg:clamp(18px,1.45vw,26px);
  --space-xl:clamp(24px,2vw,36px);
  --control-height:clamp(40px,2.8vw,48px);
  --page-title:clamp(25px,1.8vw,34px);
}
.main-content{padding:clamp(14px,1.55vw,28px)}
.page-header{gap:var(--space-lg);margin-bottom:var(--space-lg)}
.page-header h1{font-size:var(--page-title)}
.workspace-panel{padding:clamp(15px,1vw,18px)}
.surface:not(.analysis-toolbar){padding-top:15px}
.panel-header,.surface-header{margin-bottom:var(--space-md)}
.builder-workspace{gap:clamp(10px,.85vw,16px)}
.button{min-height:clamp(38px,2.6vw,44px);padding-inline:clamp(12px,.85vw,16px)}
input,select,textarea{min-height:var(--control-height);padding:clamp(9px,.65vw,12px) clamp(11px,.8vw,14px)}

.deck-identity{min-width:min(100%,430px)}
.deck-title-row{display:flex;align-items:flex-end;gap:12px;min-width:0}
.deck-name-field{display:grid;gap:6px;width:min(100%,560px);min-width:260px}
.deck-name-field>span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.deck-name{
  width:100%;max-width:none;min-width:0;
  min-height:48px;padding:10px 13px;
  border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(145deg,rgba(18,21,30,.94),rgba(11,13,19,.94));
  font-size:clamp(17px,1.3vw,23px);font-weight:820;letter-spacing:-.025em;
}
.deck-name:hover{border-color:var(--line-strong)}
.deck-name:focus{border-color:rgba(139,125,255,.75);box-shadow:0 0 0 4px rgba(139,125,255,.1)}
.save-state{margin-bottom:6px;flex:none}
.deck-meta-row{grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr);max-width:900px;gap:var(--space-sm);margin-top:var(--space-sm)}

.deck-kpis{gap:clamp(7px,.7vw,12px);margin-bottom:clamp(11px,.9vw,16px)}
.deck-kpi{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(58px,4.2vw,72px)!important;
  padding:clamp(11px,.85vw,15px) clamp(13px,1vw,18px)!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;
  border-radius:10px!important;background:var(--fantasy-panel)!important;
  border:1px solid var(--fantasy-bronze-dim);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04);
}
.deck-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--primary);opacity:.9;box-shadow:0 0 8px var(--primary)}
.deck-kpi:after{content:"";position:absolute;width:90px;height:90px;right:-42px;top:-45px;border-radius:50%;background:rgba(139,125,255,.08);z-index:-1}
.deck-kpi.kpi-lands:before{background:var(--green)}.deck-kpi.kpi-lands:after{background:rgba(98,211,148,.08)}
.deck-kpi.kpi-mana:before{background:var(--cyan)}.deck-kpi.kpi-mana:after{background:rgba(88,215,208,.08)}
.deck-kpi.kpi-commander:before{background:var(--warning)}.deck-kpi.kpi-commander:after{background:rgba(241,191,105,.08)}
.deck-kpi.kpi-missing:before{background:var(--danger)}.deck-kpi.kpi-missing:after{background:rgba(224,96,105,.08)}
.deck-kpi>span{margin:0!important;font-size:clamp(9px,.65vw,11px)!important}
.deck-kpi>div{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;min-width:0}
.deck-kpi b{font-size:clamp(17px,1.25vw,22px)!important;white-space:nowrap}
.deck-kpi small{font-size:clamp(8px,.6vw,10px)!important;white-space:nowrap}

.collection-quick-add{
  display:grid;grid-template-columns:minmax(260px,1fr) minmax(82px,100px) auto;
  align-items:start;gap:var(--space-sm);padding:0 17px 12px;
}
.collection-quick-search{display:grid;gap:7px;min-width:0}
.collection-printing-selection{
  min-height:46px;padding:6px 8px;display:grid;grid-template-columns:30px minmax(0,1fr) 26px;
  align-items:center;gap:9px;border:1px solid rgba(139,125,255,.34);border-radius:10px;
  background:rgba(139,125,255,.07)
}
.collection-printing-selection[hidden]{display:none}
.collection-printing-selection img{width:30px;height:42px;object-fit:cover;border-radius:4px}
.collection-printing-selection b,.collection-printing-selection small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collection-printing-selection b{font-size:11px}.collection-printing-selection small{margin-top:3px;color:var(--muted);font-size:9px}
.collection-printing-selection button{width:26px;height:26px;border:0;border-radius:8px;background:var(--surface-3);color:var(--muted);cursor:pointer}
.printing-suggestions{max-height:430px}
.printing-suggestion{
  width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;
  padding:7px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer
}
.printing-suggestion:hover{background:var(--surface-3)}
.printing-suggestion img,.printing-suggestion-placeholder{width:38px;height:53px;object-fit:cover;border-radius:5px;background:var(--surface-3)}
.printing-suggestion b,.printing-suggestion small{display:block}
.printing-suggestion b{font-size:10.5px}.printing-suggestion small{margin-top:4px;font-size:8.5px;color:var(--muted)}
.suggestion-empty{padding:14px;color:var(--muted);font-size:10px;text-align:center}
.collection-printing-line{
  margin-top:5px;padding:4px 6px;border-radius:7px;background:rgba(139,125,255,.08);
  color:#bdb7ff;font-size:8.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.collection-error .button{margin-top:12px}

.settings-modal{width:min(760px,calc(100vw - 28px))}
.settings-modal .modal-card{padding:clamp(20px,2vw,34px);border-radius:clamp(18px,1.6vw,26px)}
.settings-modal .modal-header{margin-bottom:var(--space-lg)}
.settings-modal .modal-header h2{font-size:clamp(23px,2vw,34px)}
.settings-modal .settings-grid{gap:var(--space-md)}
.settings-modal .field-label{gap:8px;font-size:clamp(12px,.9vw,15px)}
.settings-modal .check-row{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft)}
.settings-modal .settings-footer{margin-top:var(--space-lg);display:flex;justify-content:flex-end}
.settings-modal .settings-footer .button{min-width:min(100%,230px)}

.admin-grid{gap:clamp(12px,1vw,18px)}
.admin-user-row{gap:clamp(10px,1vw,16px);padding:clamp(11px,.9vw,15px)}
.admin-activity-columns{gap:clamp(12px,1.1vw,20px);padding:0 clamp(14px,1vw,20px) clamp(14px,1vw,20px)}

@media(min-width:1800px){
  .builder-workspace{grid-template-columns:minmax(330px,.86fr) minmax(700px,1.5fr) minmax(360px,.84fr)}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}
  .settings-modal{width:min(860px,calc(100vw - 48px))}
}
@media(max-width:1180px){
  .deck-title-row{align-items:stretch;flex-direction:column}
  .save-state{align-self:flex-start;margin:0}
  .deck-name-field{width:100%}
  .deck-meta-row{grid-template-columns:1fr 1fr}
  .collection-quick-add{grid-template-columns:minmax(220px,1fr) 90px auto}
}
@media(max-width:900px){
  .builder-header{display:grid!important;gap:var(--space-md)}
  .header-actions{margin-top:0}
  .deck-meta-row{grid-template-columns:1fr}
  .collection-quick-add{grid-template-columns:minmax(0,1fr) 86px}
  .collection-quick-add .button{grid-column:1/-1;width:100%}
  .settings-modal .settings-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .main-content{padding:12px}
  .deck-kpis{grid-template-columns:1fr 1fr}
  .deck-kpi{min-height:62px!important}
  .collection-quick-add{grid-template-columns:1fr}
  .collection-quick-add>input,.collection-quick-add .button{width:100%;grid-column:auto}
  .settings-modal{width:calc(100vw - 16px)}
  .settings-modal .modal-card{padding:18px}
  .settings-modal .settings-footer .button{width:100%;min-width:0}
}
@media(max-width:430px){
  .deck-kpis{grid-template-columns:1fr}
  .deck-kpi{grid-template-columns:1fr auto}
  .deck-name{font-size:18px}
}


/* v0.11.2 — SQLite-safe collection sorting and collection workspace rhythm */
.collection-browser .surface-header{margin-bottom:clamp(16px,1.25vw,22px)}
.collection-browser .collection-quick-add{gap:clamp(10px,.8vw,14px);padding-bottom:clamp(16px,1.2vw,22px)}
.collection-browser .collection-filter-panel{gap:clamp(10px,.8vw,14px);padding-bottom:clamp(16px,1.2vw,22px)}
.collection-browser .collection-selection-bar{margin:0 0 clamp(12px,1vw,18px);padding-block:clamp(10px,.75vw,14px)}
.collection-browser #tagChips{margin:0 17px clamp(12px,1vw,18px)}
.collection-browser #collectionGrid{padding:0 17px 17px;gap:clamp(10px,.8vw,14px)}
.collection-grid>.empty-state{grid-column:1/-1;width:100%;min-height:clamp(280px,34vh,430px);justify-self:stretch;align-self:stretch;gap:10px;border:1px dashed var(--line-strong);border-radius:16px;background:linear-gradient(145deg,rgba(139,125,255,.035),rgba(18,21,30,.5));padding:clamp(28px,3vw,48px)}
.collection-grid>.empty-state h3{margin:0;font-size:clamp(18px,1.35vw,24px)}
.collection-grid>.empty-state p{margin:0 auto;max-width:520px;line-height:1.55;text-align:center;overflow-wrap:anywhere}
.collection-grid>.collection-error .button{margin-top:6px;justify-self:center}
@media(max-width:1300px){
  .collection-browser .collection-quick-add{grid-template-columns:minmax(220px,1fr) 92px auto}
}
@media(max-width:760px){
  .collection-browser .collection-quick-add{grid-template-columns:1fr 90px}
  .collection-browser .collection-quick-add>.button{grid-column:1/-1;width:100%}
  .collection-browser #tagChips,.collection-browser #collectionGrid{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
}

/* Interactive AI advice flow */
.advice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.advice-summary span{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);font-size:9px}.advice-summary b{color:var(--text);font-size:16px}.swipe-navigation{display:flex;align-items:center;gap:10px}.swipe-navigation>button{border:1px solid var(--line);border-radius:9px;background:var(--bg-soft);color:var(--muted);padding:7px 10px;cursor:pointer}.swipe-navigation>button:disabled{opacity:.35;cursor:default}.feedback-note{display:grid;gap:5px}.feedback-note span{font-size:10px;color:var(--muted)}.feedback-note textarea{resize:vertical;min-height:52px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.swap-details-toggle{margin-top:9px}.goal-card{grid-template-columns:1fr}.goal-card-main{max-width:720px;margin:auto;text-align:center;padding:22px}.goal-card-main h2{margin:7px 0}.goal-card-main p{color:var(--muted);line-height:1.55}.goal-candidates{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:14px}.goal-candidates b{width:100%;font-size:10px;color:var(--muted)}.goal-candidates span{padding:5px 8px;border-radius:99px;background:var(--surface-3);font-size:10px}.final-decision-list{display:grid;gap:6px;max-width:700px;margin:16px auto}.final-decision-list span{display:grid;grid-template-columns:28px 1fr;text-align:left;padding:8px;border-radius:8px;background:var(--bg-soft);color:var(--muted)}.final-decision-list .accepted{border-left:3px solid var(--green)}.final-decision-list .rejected{border-left:3px solid var(--danger)}.final-decision-list .ignored{border-left:3px solid var(--warning)}
@media(max-width:720px){.advice-summary{grid-template-columns:1fr 1fr}.swipe-navigation{align-items:stretch;flex-direction:column}}

/* Shared compact design tokens: deliberately layout-neutral outside Analysis. */
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
  --content-max:1600px;--control-height:38px;--text-secondary:#a8b1c1;
  --card-padding:16px;--table-row-height:42px;
}
.page-header p,.surface-header p,.muted{color:var(--text-secondary);line-height:1.5}
.button,.icon-button{min-height:var(--control-height)}
.button:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.surface,.workspace-panel,.saved-deck-card,.database-card{border-color:rgba(57,66,88,.72)}

/* Analysis decision queue */
.analyzer-view .analysis-toolbar{margin-bottom:12px}
.analyzer-view .ai-decision-banner{margin-bottom:10px}
.analysis-scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.analysis-score{min-height:96px;padding:12px}
.analysis-secondary-stats{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;color:var(--text-secondary);font-size:11px}
.analysis-secondary-stats b{color:var(--text)}
.analysis-tabs{margin-top:6px}
.analysis-panel[data-analysis-panel="suggestions"]{padding-top:10px}
.advice-summary{margin-bottom:10px}.advice-summary span{font-size:11px;color:var(--text-secondary)}
.swipe-head{align-items:center;margin-bottom:10px}.swipe-head .eyebrow{font-size:14px;text-transform:none;letter-spacing:0;color:var(--text)}
.swipe-head h2{font-size:13px;color:var(--text-secondary)}
.swipe-card{grid-template-columns:minmax(230px,1fr) 150px minmax(230px,1fr);gap:12px;padding:14px}
.swap-card-side{display:flex;flex-direction:column;align-items:stretch;padding:11px}
.swap-card-side img,.swap-image-fallback{width:min(100%,270px);aspect-ratio:488/680;margin:0 auto 10px;border-radius:11px}
.swap-image-fallback{display:grid;place-items:center;align-content:center;gap:7px;padding:16px;text-align:center;background:linear-gradient(145deg,var(--surface-3),var(--bg-soft));border:1px dashed var(--line-strong);color:var(--text-secondary)}
.swap-image-fallback b{font-size:14px;color:var(--text)}.swap-image-fallback small{font-size:11px}
.swap-card-side h3{font-size:17px;white-space:normal}.swap-card-side p{font-size:13px;color:#d7dce6;line-height:1.5}.swap-card-side p b{display:block;margin-bottom:4px;color:var(--text)}
.swap-kicker{font-size:11px;text-transform:none;letter-spacing:0}
.advice-priority,.impact-pill{text-transform:none;letter-spacing:0;font-size:11px;font-weight:800}
.swap-reason{padding:13px 14px}.swap-reason-main b{font-size:12px}.swap-reason-main p{font-size:15px;line-height:1.55;color:var(--text)}
.swap-essential{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.swap-essential p{margin:0;padding:10px;background:rgba(8,10,16,.35);border-radius:9px;font-size:12px}.swap-essential b,.swap-detail-grid b,.goal-essential b{display:block;margin-bottom:4px;color:#c9c3ff}
.swap-advanced{margin-top:12px;padding-top:12px;border-top:1px solid rgba(139,125,255,.18)}
.swap-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.swap-detail-grid>p,.goal-detail-grid p{margin:0;padding:9px;background:var(--bg-soft);border-radius:8px;font-size:11px;color:var(--text-secondary)}
.metric-impact{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.metric-impact span{padding:8px;background:var(--bg-soft);border-radius:8px;font-size:10px;color:var(--text-secondary)}.metric-impact b{display:block;color:var(--text);margin-bottom:3px}
.swap-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.swap-score-grid>span{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:3px;padding:10px 12px;border:1px solid rgba(139,125,255,.2);border-radius:10px;background:linear-gradient(135deg,rgba(139,125,255,.08),rgba(8,10,16,.3))}.swap-score-grid b{color:var(--muted);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.swap-score-grid strong{font-size:20px}.swap-score-grid small{color:var(--muted);font-size:8px}.swap-role-profile,.swap-dependencies{display:grid;align-content:start;gap:5px;padding:9px;background:var(--bg-soft);border-radius:8px;color:var(--text-secondary);font-size:10px}.swap-role-profile>span{display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px}.swap-role-profile>span>b{margin:0;color:var(--fantasy-gold-pale);font-size:8px}.swap-dependencies>span{display:inline-flex;width:max-content;max-width:100%;padding:4px 7px;border:1px solid var(--line);border-radius:999px}.swap-structural{margin-top:9px;padding:10px;border-left:3px solid var(--fantasy-gold);border-radius:8px;background:rgba(222,183,103,.06)}.swap-structural.critical{border-left-color:var(--danger);background:rgba(239,90,104,.07)}.swap-structural p,.swap-expected p,.swap-expected small{display:block;margin:4px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.45}
.swipe-action.details{border-color:rgba(88,215,208,.25)}.swipe-action.details .swipe-action-icon{background:rgba(88,215,208,.1);color:var(--cyan)}
.goal-card{grid-template-columns:minmax(90px,auto) minmax(0,1fr)}.goal-card-main{max-width:none;margin:0;text-align:left;padding:16px 16px 8px 0}.goal-type{display:block;color:var(--text-secondary);font-size:12px;margin-top:6px;font-weight:800}.goal-type.review{color:var(--cyan)}.goal-type.conditional{color:var(--warning)}.goal-type.insufficient{color:var(--muted)}.goal-card-main h2{font-size:24px}.goal-essential{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.goal-essential p{margin:0;padding:10px;background:var(--bg-soft);border-radius:9px;color:#d7dce6;font-size:12px;line-height:1.5}.goal-candidates{justify-content:flex-start}.goal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
@media(max-width:980px){.swipe-card{grid-template-columns:1fr 120px 1fr}.metric-impact{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-card{grid-template-columns:minmax(76px,auto) 1fr}}
@media(max-width:720px){.analysis-scoreboard{grid-template-columns:1fr 1fr}.analysis-secondary-stats{display:grid}.swipe-card{grid-template-columns:1fr}.swap-verdict{grid-row:2}.swap-card-side.add{grid-row:3}.swap-essential,.goal-essential,.swap-detail-grid,.goal-detail-grid{grid-template-columns:1fr}.swap-score-grid{grid-template-columns:1fr}.goal-card{grid-template-columns:1fr}.advice-visual{margin-top:8px}.goal-card-main{padding:8px 14px}.swipe-navigation{flex-direction:row}.swap-card-side img,.swap-image-fallback{max-width:260px}}
@media(max-width:460px){.metric-impact{grid-template-columns:1fr}.swipe-head .eyebrow{font-size:16px}}

/* Shared CSV/TXT import preview. */
.import-modal{width:min(780px,calc(100vw - 24px))}.import-preview-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.import-preview-summary dl div{padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft)}.import-preview-summary dt{font-size:9px;color:var(--muted);text-transform:uppercase}.import-preview-summary dd{margin:3px 0 0;font-weight:800}.import-preview-summary details{max-height:190px;overflow:auto}.import-warning{color:var(--warning)}.import-commander{padding:10px;border-left:3px solid var(--primary);background:rgba(139,125,255,.07)}.import-preview-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:15px}.import-preview-actions label{margin-right:auto;min-width:220px}@media(max-width:620px){.import-preview-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.import-preview-actions>*{flex:1}.import-preview-actions label{flex-basis:100%}}

/* Builder hierarchy and compact saved-deck actions. */
.builder-more,.deck-more{position:relative}.builder-more>summary,.deck-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;height:100%;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:#dce1eb;font-size:10px;font-weight:800;white-space:nowrap;transition:.15s}.builder-more>summary:hover,.deck-more>summary:hover{border-color:var(--line-strong);background:var(--surface-3)}.builder-more[open]>summary,.deck-more[open]>summary{border-color:var(--primary);color:var(--text)}.builder-more>summary .icon,.deck-more>summary .icon{width:14px;height:14px}.builder-more>summary::-webkit-details-marker,.deck-more>summary::-webkit-details-marker{display:none}.builder-more>div,.deck-more>div{position:absolute;right:0;top:calc(100% + 5px);z-index:20;width:max-content;min-width:170px;max-width:min(230px,calc(100vw - 24px));padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);display:grid;gap:4px}.builder-more:not([open])>div,.deck-more:not([open])>div{display:none}.builder-more>div .button,.deck-more button{width:100%;min-height:34px;border:0;border-radius:7px;background:transparent;text-align:left;padding:7px;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:7px;font-size:11px}.deck-more button:hover,.builder-more>div .button:hover{background:var(--surface-3)}.deck-more button.danger{color:var(--danger)}.deck-more .icon{width:14px;height:14px;flex:none}.saved-deck-actions.modern{grid-template-columns:minmax(0,1fr) auto}.saved-deck-actions .primary{font-size:12px;background:var(--primary);color:white}.save-state[data-save-status="saving"]{color:var(--warning)}.save-state[data-save-status="error"]{color:var(--danger)}

/* Personal profile stays visually separate from administration. */
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-card{display:grid;align-content:start;gap:12px}.profile-card:last-child{grid-column:1/-1}.profile-card .button{justify-self:start}.profile-plan-card .surface-header{align-items:flex-start}.profile-plan-card .surface-header>strong{font-family:var(--font-display);font-size:clamp(18px,2vw,25px);color:var(--gold);white-space:nowrap}.profile-plan-meter{display:grid;gap:8px}.profile-plan-meter>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-plan-meter progress{width:100%;height:9px;accent-color:var(--gold)}.profile-plan-meter small{color:var(--muted);line-height:1.45}@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-card:last-child{grid-column:auto}}

/* Low-risk global consistency: final semantic tokens and scoped consumers. */
:root{--ui-gap-xs:6px;--ui-gap-sm:10px;--ui-gap-md:14px;--ui-gap-lg:20px;--ui-content-max:min(92vw,1900px);--ui-control-height:40px;--ui-radius-sm:10px;--ui-radius-md:14px;--ui-focus:0 0 0 3px rgba(139,125,255,.22);--ui-secondary:#aab3c3;--ui-table-row:42px}
.main-content{max-width:var(--ui-content-max);margin-inline:auto}.page-header{margin-bottom:var(--ui-gap-lg)}.page-header>div:first-child{max-width:760px}.page-header p,.surface-header p,.profile-card p,.database-card p{color:var(--ui-secondary);line-height:1.5}.surface-header h2,.panel-header h2{line-height:1.25}.surface,.workspace-panel,.saved-deck-card,.database-card{border-radius:var(--ui-radius-md)}
.profile-card,.admin-grid>.surface,.database-progress{padding:var(--ui-gap-md)}.saved-deck-card{padding:var(--ui-gap-md)}.saved-deck-card p{margin-bottom:var(--ui-gap-sm)}.database-card{padding:var(--ui-gap-lg)}.admin-user-row{min-height:var(--ui-table-row)}
.button,input,select,textarea{min-height:var(--ui-control-height)}.button:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:var(--ui-focus)}
.empty-state{gap:var(--ui-gap-xs)}.empty-state h2,.empty-state h3{margin:var(--ui-gap-sm) 0 2px}.modal-card{border-radius:var(--ui-radius-md)}.modal-header{gap:var(--ui-gap-md)}.collection-filter-panel{gap:var(--ui-gap-sm)}.collection-selection-bar{min-height:var(--ui-table-row)}
@media(max-width:760px){.main-content{padding:var(--ui-gap-md)}.page-header{gap:var(--ui-gap-md)}.profile-card,.admin-grid>.surface,.database-card{padding:var(--ui-gap-md)}.header-actions{width:100%}.header-actions>.button{flex:1}.database-options{grid-template-columns:1fr}}

/* v0.12 — HUD fantasy Analisi: decisione prioritaria, gauge, glow, coda Tinder rifinita. */
:root{
  --glow-primary:0 0 0 1px rgba(139,125,255,.35),0 0 26px rgba(139,125,255,.16);
  --glow-success:0 0 0 1px rgba(98,211,148,.32),0 0 22px rgba(98,211,148,.14);
  --glow-warning:0 0 0 1px rgba(241,191,105,.32),0 0 22px rgba(241,191,105,.14);
  --glow-danger:0 0 0 1px rgba(240,121,132,.32),0 0 22px rgba(240,121,132,.14);
  --glow-cyan:0 0 0 1px rgba(88,215,208,.32),0 0 22px rgba(88,215,208,.14);
}

/* Priority decision hero: the single answer to "cosa devo fare adesso". */
.priority-decision{position:relative;margin-bottom:14px;padding:20px 24px;border-radius:16px;border:1px solid var(--fantasy-gold);background:linear-gradient(135deg,rgba(155,131,255,.16),var(--fantasy-panel-deep) 60%);box-shadow:inset 0 0 0 1px rgba(232,199,122,.25),var(--glow-primary),0 24px 60px rgba(0,0,0,.4);overflow:hidden}
.priority-decision:after{content:"";position:absolute;inset:0;background:radial-gradient(460px 220px at 12% 0%,rgba(139,125,255,.22),transparent 70%);pointer-events:none}
.priority-decision.goal{border-color:rgba(88,215,208,.35);box-shadow:var(--glow-cyan),0 24px 60px rgba(0,0,0,.35)}
.priority-decision.goal:after{background:radial-gradient(460px 220px at 12% 0%,rgba(88,215,208,.2),transparent 70%)}
.priority-decision-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.priority-decision .eyebrow{position:relative;color:#c7c0ff}
.priority-decision.goal .eyebrow{color:#a6ece7}
.priority-kind-badge{padding:6px 14px;border-radius:3px;font:850 9px/1 var(--fantasy-serif);text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(160deg,var(--fantasy-gold),var(--fantasy-bronze));color:#2c2205;box-shadow:0 3px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.45)}
.priority-decision h2{position:relative;margin:9px 0 15px;font-size:clamp(17px,2.1vw,25px);line-height:1.28;letter-spacing:-.02em}
.priority-decision-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.priority-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.priority-decision-grid p{position:relative;margin:0;padding:12px 13px 11px;background:var(--obsidian-2);border:1px solid var(--fantasy-bronze-dim);border-radius:8px;font-size:11px;line-height:1.5;color:#d7dce6;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),inset 0 2px 6px rgba(0,0,0,.4)}
.priority-decision-grid p:before{content:"";position:absolute;top:0;left:10px;width:16px;height:2px;background:linear-gradient(90deg,transparent,var(--fantasy-bronze),transparent)}
.priority-decision-grid p b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}
.priority-gauge{--value:0;flex:none;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;align-content:center;--ring-fill:conic-gradient(var(--cyan) calc(var(--value)*1%),var(--surface-3) 0);position:relative;filter:drop-shadow(0 0 14px rgba(88,215,208,.35))}
.priority-gauge:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}
.priority-gauge strong,.priority-gauge span{position:relative}
.priority-gauge strong{font-size:21px;line-height:1}
.priority-gauge span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.priority-decision.empty{text-align:center;background:var(--surface);border-color:var(--line)}
.priority-decision.empty:after{display:none}
@media(max-width:720px){.priority-decision-body{grid-template-columns:1fr;justify-items:stretch}.priority-decision-grid{grid-template-columns:1fr}.priority-gauge{justify-self:center}}

/* Explicit "no verified swap" banner ahead of a goal-only queue. */
.no-swap-banner{margin-bottom:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(241,191,105,.3);background:rgba(241,191,105,.07);display:flex;flex-direction:column;gap:3px}
.no-swap-banner b{color:#f3ce86;font-size:12px}
.no-swap-banner span{color:var(--muted);font-size:11px;line-height:1.5}

/* HUD panel treatment: subtle gradient edge on analysis surfaces. */
.analysis-surface{position:relative}
.analysis-surface:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(139,125,255,.55),rgba(88,215,208,.18) 45%,transparent 75%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.85}
.analysis-surface>*{position:relative}

/* Tinder queue: verdict-colored necessity gauge and glowing swap frame. */
.necessity-ring{filter:drop-shadow(0 0 16px rgba(139,125,255,.25))}
.verdict-pill.upgrade + .necessity-ring{--ring-fill:conic-gradient(var(--green) calc(var(--necessity)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 16px rgba(98,211,148,.3))}
.verdict-pill.conditional + .necessity-ring{--ring-fill:conic-gradient(var(--warning) calc(var(--necessity)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 16px rgba(241,191,105,.3))}
.verdict-pill.lateral + .necessity-ring{--ring-fill:conic-gradient(var(--muted-2) calc(var(--necessity)*1%),var(--surface-3) 0);filter:drop-shadow(none)}
.swipe-progress i{box-shadow:0 0 10px rgba(88,215,208,.5)}
.swipe-action.accept:hover{box-shadow:var(--glow-success)}.swipe-action.reject:hover{box-shadow:var(--glow-danger)}.swipe-action.later:hover{box-shadow:var(--glow-warning)}

/* Compact, honest fallback when a candidate/swap image is missing: never
   pretend to be a full card frame, just show what is actually known. */
.swap-image-fallback{aspect-ratio:auto;min-height:96px;padding:12px;gap:5px}
.goal-candidate-card.compact{background:var(--surface-3)}
.goal-candidate-card.compact>.swap-image-fallback{aspect-ratio:auto;min-height:64px;padding:8px}
.goal-candidate-card.compact>.swap-image-fallback b{font-size:11px}
.goal-candidate-card.compact>.swap-image-fallback small{font-size:9px}
.candidate-reason{color:var(--muted)}

/* Struttura: HUD instrument-panel bars, curve glow, alert-chip issues. */
.curve-bar{box-shadow:0 0 14px rgba(139,125,255,.35)}
.analysis-curve-tabs .segment.active{box-shadow:0 0 12px rgba(139,125,255,.25)}
.role-health.ok .role-meter i{box-shadow:0 0 10px rgba(98,211,148,.5)}
.role-health.low .role-meter i{box-shadow:0 0 10px rgba(240,121,132,.5)}
.role-health.high .role-meter i{box-shadow:0 0 10px rgba(241,191,105,.5)}
.analysis-bar-track i{box-shadow:0 0 8px rgba(88,215,208,.35)}
.issue-list{gap:8px}
.issue{grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:10px 13px;border-radius:99px;border:1px solid rgba(241,191,105,.28);background:linear-gradient(90deg,rgba(241,191,105,.09),transparent 65%)}
.issue.high{border-color:rgba(240,121,132,.32);background:linear-gradient(90deg,rgba(240,121,132,.11),transparent 65%)}
.issue.low{border-color:rgba(88,215,208,.28);background:linear-gradient(90deg,rgba(88,215,208,.09),transparent 65%)}
.issue-dot{box-shadow:0 0 9px var(--warning)}
.issue.high .issue-dot{box-shadow:0 0 9px var(--danger)}
.issue.low .issue-dot{box-shadow:0 0 9px var(--cyan)}

/* Manabase: mana-control-panel gauge and glowing supply bars. */
.manabase-hero h2{text-shadow:0 0 26px rgba(139,125,255,.35)}
.color-source.ok .source-track i{box-shadow:0 0 10px rgba(98,211,148,.45)}
.color-source.watch .source-track i{box-shadow:0 0 10px rgba(241,191,105,.45)}
.color-source.low .source-track i{box-shadow:0 0 10px rgba(240,121,132,.45)}
.land-split>div{position:relative;overflow:hidden}
.land-split>div:first-child:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(88,215,208,.16),transparent);width:calc(var(--part,0)*1%)}
.land-split b,.land-split span{position:relative}

/* Strategia: severity chips replace a bare "Rischio" heading. */
.weakness-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.severity-chip{flex:none;padding:3px 8px;border-radius:99px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-3);color:var(--muted)}
.weakness-list article.severity-alta{border-color:rgba(240,121,132,.32)}.weakness-list article.severity-alta .severity-chip{color:#ffb0b8;background:rgba(240,121,132,.14);box-shadow:0 0 10px rgba(240,121,132,.25)}
.weakness-list article.severity-media{border-color:rgba(241,191,105,.3)}.weakness-list article.severity-media .severity-chip{color:#f3ce86;background:rgba(241,191,105,.13)}
.weakness-list article.severity-bassa .severity-chip{color:#9ee8bd;background:rgba(98,211,148,.11)}

/* Coerenza tag: status pill with glow instead of a bare word. */
.tag-support>span{display:inline-flex;padding:4px 9px;border-radius:99px;background:var(--surface-3);letter-spacing:.07em}
.tag-support.strong>span{color:#9ee8bd;background:rgba(98,211,148,.13);box-shadow:0 0 10px rgba(98,211,148,.22)}
.tag-support.medium>span{color:#c7c0ff;background:rgba(139,125,255,.14)}
.tag-support.weak>span{color:#f3ce86;background:rgba(241,191,105,.13);box-shadow:0 0 10px rgba(241,191,105,.2)}
.tag-support.contradictory>span{color:#ffb0b8;background:rgba(240,121,132,.14);box-shadow:0 0 10px rgba(240,121,132,.22)}
.tag-origin-group .tag{box-shadow:0 0 0 1px rgba(139,125,255,.16) inset}

/* Premium touch across primary tools: saved-deck cards and primary CTAs get
   a soft glow on hover, consistent with the Analisi HUD language. */
.saved-deck-card:hover{box-shadow:var(--glow-primary)}
.button.primary:hover,.deck-action.primary:hover{box-shadow:var(--glow-primary)}
.mtg-card:hover{box-shadow:var(--glow-primary),0 14px 28px rgba(0,0,0,.25)}

/* Quantity controls: a save that failed keeps the locally desired value
   (never reverts what the user clicked) but marks the tile so it's clear
   the server hasn't confirmed it yet; cleared on the next successful save. */
.mtg-card.qty-unsynced{box-shadow:0 0 0 2px rgba(241,191,105,.55)}
.printing.qty-unsynced{box-shadow:0 0 0 2px rgba(241,191,105,.55)}

/* ==========================================================================
   v0.13 — HUD visual refit: legible decision buttons, glare-free gauges,
   a dominant "Come vince il mazzo" block and a stronger fantasy-HUD identity
   across Analisi. #swipeWorkspace is the single authoritative geometry for
   the decision dock; the older layered `.swipe-card .swipe-actions` patches
   that used to fight it (v0.10.4 dock, v0.11.0 "final action dock", and the
   later 3-/4-column queue overrides) were dead weight and have been removed
   rather than left stacked underneath — audited property-by-property so the
   rendered result is unchanged (see git history for the trace). What
   remains under `.swipe-action.reject/.later/.accept/.details` are the
   still-load-bearing per-type colors, not layout.
   ========================================================================== */

/* --- Decision dock: never truncates a label. Icon and text are separate
   grid cells, the label always wraps instead of being clipped, and only the
   sub-label may ever be dropped for space (never the title). --- */
#swipeWorkspace .swipe-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-column:1/-1!important;
  width:100%!important;
  max-width:960px!important;
  margin:14px auto 0!important;
  gap:10px!important;
  padding:11px!important;
  border-radius:17px!important;
  border:1px solid rgba(139,125,255,.26)!important;
  background:linear-gradient(150deg,rgba(139,125,255,.1),rgba(8,10,16,.88))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
#swipeWorkspace .swipe-action{
  width:100%!important;
  height:auto!important;
  min-height:70px!important;
  padding:11px 13px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:10px!important;
  overflow:visible!important;
  border-radius:12px!important;
}
#swipeWorkspace .swipe-action-icon{width:34px!important;height:34px!important;min-width:34px!important;grid-row:auto!important;border-radius:10px!important;display:grid!important;place-items:center!important}
#swipeWorkspace .swipe-action-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important;min-width:0!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#swipeWorkspace .swipe-action-copy>*{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#swipeWorkspace .swipe-action-copy b{
  font-size:13.5px!important;font-weight:850!important;line-height:1.22!important;letter-spacing:0!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
#swipeWorkspace .swipe-action-copy small{
  display:block!important;
  font-size:9.5px!important;line-height:1.3!important;color:var(--muted)!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
@media(max-width:1180px){
  #swipeWorkspace .swipe-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:640px!important}
}
@media(max-width:480px){
  #swipeWorkspace .swipe-actions{grid-template-columns:1fr!important;max-width:420px!important}
}

/* --- Gauges: number only, no "/100", read as a sealed instrument dial —
   fine tick marks cut into the ring, an engraved inner seal instead of a
   flat disc, glow only on the active arc. Tone glow matches the same
   green/amber/red/cyan language everywhere a ring appears. --- */
/* Medallion gauge: a bronze rim (border) around a tick-marked energy arc,
   an obsidian face in the center — an object you'd find on a belt, not a
   SaaS progress ring. */
.score-ring,.necessity-ring,.priority-gauge{
  border:3px solid var(--fantasy-bronze);
  box-shadow:0 0 0 1px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.07),0 8px 18px rgba(0,0,0,.4);
  background:
    repeating-conic-gradient(rgba(6,7,11,.55) 0deg 1.4deg,transparent 1.4deg 9deg),
    var(--ring-fill);
}
.score-ring:before,.necessity-ring:before,.priority-gauge:before{
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.06),transparent 60%),var(--obsidian-2);
  box-shadow:inset 0 2px 6px rgba(0,0,0,.65),inset 0 -1px 0 rgba(255,255,255,.05),0 0 0 1px var(--fantasy-bronze-dim);
}
.score-ring{width:86px;height:86px}
.score-ring:before{inset:7px}
.score-ring b{font-size:27px;font-weight:860;letter-spacing:-.02em}
.analysis-score{gap:15px}
.analysis-score.good .score-ring{--ring-fill:conic-gradient(var(--green) calc(var(--score)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 15px rgba(98,211,148,.4))}
.analysis-score.watch .score-ring{--ring-fill:conic-gradient(var(--warning) calc(var(--score)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 15px rgba(241,191,105,.4))}
.analysis-score.low .score-ring{--ring-fill:conic-gradient(var(--danger) calc(var(--score)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 15px rgba(240,121,132,.4))}
.necessity-ring{align-content:center}
.priority-gauge-block{display:flex;flex-direction:column;align-items:center;gap:9px;flex:none}
.priority-evidence-label{display:flex;flex-direction:column;gap:5px;max-width:190px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.priority-evidence-label b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}
.priority-evidence-label span{font-size:12px;line-height:1.4;color:var(--muted)}
.priority-gauge{width:88px;height:88px}
.priority-gauge-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:750}

/* --- Manabase hero: a real radial gauge instead of plain "score/100" text. --- */
.manabase-hero-gauge{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.manabase-hero-gauge .analysis-score{flex-direction:column;background:transparent;border:0;padding:0;min-height:0;box-shadow:none;gap:10px}
.manabase-hero-gauge .analysis-score:before{display:none}
.manabase-hero-gauge .score-ring{width:132px;height:132px}
.manabase-hero-gauge .score-ring:before{inset:10px}
.manabase-hero-gauge .score-ring b{font-size:38px}
.manabase-hero-gauge .analysis-score>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c7c0ff}
.manabase-hero-gauge p{margin:0;max-width:280px;color:var(--muted);font-size:12px;line-height:1.55}

/* --- Section headers: an HUD tick instead of plain text, an eyebrow marker
   for the fantasy-instrument feel instead of flat admin-panel labels. --- */
.surface-header,.panel-header{position:relative;padding-bottom:11px;margin-bottom:16px;border-bottom:1px solid rgba(139,125,255,.16)}
.surface-header:after,.panel-header:after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:2px;background:linear-gradient(90deg,var(--primary),transparent);box-shadow:0 0 10px rgba(139,125,255,.5)}
.analysis-surface .surface-title{position:relative;padding-bottom:11px;border-bottom:1px solid rgba(88,215,208,.16)}
.analysis-surface .surface-title:after{content:"";position:absolute;left:0;bottom:-1px;width:38px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 10px rgba(88,215,208,.45)}
.eyebrow:before{content:"";width:5px;height:5px;flex:none;background:var(--fantasy-gold);transform:rotate(45deg);box-shadow:0 0 4px rgba(232,199,122,.6)}
.eyebrow:after{content:"";flex:1;min-width:14px;height:1px;background:linear-gradient(90deg,var(--fantasy-bronze),transparent)}

/* --- Panel corner accents: an angular fantasy-HUD cut, not a rounded admin
   card. Kept off the generic `.surface` so dense grids (collection,
   library) stay calm. --- */
.priority-decision:before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold)),linear-gradient(var(--fantasy-gold),var(--fantasy-gold));
  background-repeat:no-repeat;
  background-size:22px 3px,3px 22px,22px 3px,3px 22px,22px 3px,3px 22px,22px 3px,3px 22px;
  background-position:top 10px left 10px,top 10px left 10px,top 10px right 10px,top 10px right 10px,bottom 10px left 10px,bottom 10px left 10px,bottom 10px right 10px,bottom 10px right 10px;
  filter:drop-shadow(0 0 4px rgba(232,199,122,.55));
}
.manabase-hero{position:relative}

/* ==========================================================================
   advice-decision-card — the ONE Tinder component every advice type renders
   inside (swap / goal / review / conditional / insufficient). Same outer
   frame, same position, same perceived height, same dock, same stack —
   only the inner content and the type accent (top banner + corner metal +
   sigil ink) change. Applied together with the pre-existing `.swipe-card`
   class so its shared geometry (grid, padding, shadow) still applies; this
   layer adds the fantasy frame and the per-type identity on top of it.
   ========================================================================== */
.advice-decision-card{
  position:relative;isolation:isolate;
  background:
    radial-gradient(130% 160% at 12% -12%,rgba(255,255,255,.035),transparent 55%),
    linear-gradient(155deg,var(--graphite),var(--obsidian-2) 55%,var(--obsidian));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    inset 0 0 0 3px rgba(6,7,11,.6),
    0 26px 60px rgba(0,0,0,.42);
  animation:adviceCardIn .32s cubic-bezier(.16,1,.3,1) both;
}
@keyframes adviceCardIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.advice-decision-card:before{content:"";position:absolute;top:0;left:16px;right:16px;height:3px;border-radius:0 0 4px 4px;background:var(--advice-accent-grad,linear-gradient(90deg,var(--primary),var(--cyan)));box-shadow:0 0 16px var(--advice-accent-glow,rgba(139,125,255,.4));pointer-events:none}
.advice-decision-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background-image:linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze))),linear-gradient(var(--advice-accent-metal,var(--fantasy-bronze)),var(--advice-accent-metal,var(--fantasy-bronze)));
  background-repeat:no-repeat;
  background-size:18px 3px,3px 18px,18px 3px,3px 18px,18px 3px,3px 18px,18px 3px,3px 18px;
  background-position:top 10px left 10px,top 10px left 10px,top 10px right 10px,top 10px right 10px,bottom 10px left 10px,bottom 10px left 10px,bottom 10px right 10px,bottom 10px right 10px;
  filter:drop-shadow(0 0 3px var(--advice-accent-glow,rgba(139,125,255,.4)));
}
.advice-decision-card.type-swap{border-color:rgba(139,125,255,.3);--advice-accent-grad:linear-gradient(90deg,var(--danger),var(--primary) 50%,var(--green));--advice-accent-glow:rgba(139,125,255,.4);--advice-accent-metal:var(--silver)}
.advice-decision-card.type-goal{border-color:rgba(88,215,208,.34);--advice-accent-grad:linear-gradient(90deg,var(--cyan),var(--primary));--advice-accent-glow:rgba(88,215,208,.4);--advice-accent-metal:var(--bronze)}
.advice-decision-card.type-review{border-color:rgba(241,191,105,.34);--advice-accent-grad:linear-gradient(90deg,var(--warning),var(--bronze) 65%);--advice-accent-glow:rgba(241,191,105,.4);--advice-accent-metal:var(--bronze)}
.advice-decision-card.type-conditional{border-color:rgba(216,180,92,.34);--advice-accent-grad:linear-gradient(90deg,#d8b45c,var(--warning));--advice-accent-glow:rgba(216,180,92,.4);--advice-accent-metal:var(--bronze)}
.advice-decision-card.type-insufficient{border-color:rgba(138,146,164,.28);--advice-accent-grad:linear-gradient(90deg,var(--muted-2),var(--silver));--advice-accent-glow:rgba(138,146,164,.28);--advice-accent-metal:var(--silver-dim)}
.type-insufficient .advice-visual-sigil{width:56px;height:56px;box-shadow:inset 0 0 0 1px var(--advice-accent-metal,var(--silver-dim)),inset 0 0 12px rgba(0,0,0,.5),0 0 16px var(--advice-accent-glow,rgba(138,146,164,.25))}
.type-insufficient .advice-visual-sigil .icon{width:22px;height:22px}
.condition-placard{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;padding:4px 10px;border-radius:6px;font:800 10px/1 var(--fantasy-serif);text-transform:uppercase;letter-spacing:.12em;color:#3a2c0c;background:linear-gradient(160deg,var(--fantasy-gold),var(--fantasy-bronze));box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.4)}

/* The sigil/portrait centerpiece: real card art for a review flag when it
   resolves, an abstract engraved sigil for every other type — never a
   blank rectangle. */
.advice-visual{display:grid;place-items:center;margin-top:18px}
.advice-visual-sigil{width:74px;height:74px;margin:0 auto;border-radius:20px;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.08),transparent 60%),var(--obsidian-2);box-shadow:inset 0 0 0 1px var(--advice-accent-metal,var(--silver)),inset 0 0 16px rgba(0,0,0,.5),0 0 24px var(--advice-accent-glow,rgba(139,125,255,.25));color:#c7c0ff}
.type-goal .advice-visual-sigil{color:#a6ece7}
.type-review .advice-visual-sigil{color:#f3ce86}
.type-conditional .advice-visual-sigil{color:#e0c274}
.type-insufficient .advice-visual-sigil{color:#aab3c3}
.advice-visual-sigil .icon{width:30px;height:30px;stroke-width:1.7}
.advice-visual-image{width:min(100%,188px);margin:0 auto}
.advice-visual-image img,.advice-visual-image .swap-image-fallback{width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:13px;box-shadow:0 0 0 1px var(--advice-accent-metal,var(--bronze)),0 16px 32px rgba(0,0,0,.45)}

/* Deck-of-decisions metaphor: two thin ghost cards behind the current one. */
.advice-stack{position:relative}
.advice-stack>.advice-decision-card{position:relative;z-index:3}
.advice-stack{padding:0 34px 26px 0}
.advice-stack-ghost{position:absolute;inset:0;border-radius:19px;border:1px solid var(--fantasy-bronze);background:linear-gradient(155deg,var(--graphite),var(--obsidian));box-shadow:0 16px 34px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);transform:translate(calc(var(--depth) * 17px),calc(var(--depth) * 13px)) scale(calc(1 - var(--depth) * .025));opacity:calc(.92 - var(--depth) * .16);z-index:calc(2 - var(--depth));pointer-events:none}
.advice-stack-ghost:before{content:"";position:absolute;top:0;left:16px;right:16px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,var(--fantasy-bronze),transparent)}

/* Deck Forge is a special workflow: metal, seals and meters carry the theme;
   corner brackets remain reserved for the active Tinder/priority cards. */
.forge-cta{border:1px solid var(--fantasy-gold);background:linear-gradient(145deg,#7b5527,#b68743);color:#fff7df;box-shadow:0 0 18px rgba(232,199,122,.16)}
.forge-modal .modal-card{width:min(1120px,94vw);max-height:92vh;overflow:auto;background:var(--fantasy-panel-deep);border-color:var(--fantasy-bronze)}
.forge-steps{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:4px 0 18px}.forge-steps span{padding:7px 4px;border-bottom:2px solid var(--fantasy-bronze-dim);color:var(--muted);font-size:9px;text-align:center;text-transform:uppercase}.forge-steps .active{color:var(--fantasy-gold);border-color:var(--fantasy-gold)}
.forge-form{display:grid;gap:16px}.forge-options{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.forge-options fieldset{display:grid;gap:8px;border:1px solid var(--fantasy-bronze-dim);border-radius:10px;padding:12px}.forge-options legend{color:var(--fantasy-gold-pale);font:700 11px var(--fantasy-serif)}
.forge-card-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:180px;overflow:auto}.forge-card-state{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:6px;padding:6px 8px;background:var(--obsidian-2);font-size:10px}.forge-card-state span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forge-progress{display:flex;gap:6px;flex-wrap:wrap}.forge-progress span{padding:7px 10px;border-radius:99px;background:var(--surface-2);color:var(--muted)}.forge-progress .active{color:var(--fantasy-gold);box-shadow:0 0 14px rgba(232,199,122,.2)}
.forge-blueprint{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.forge-blueprint>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px;border:1px solid var(--fantasy-bronze-dim);border-radius:8px;background:var(--obsidian-2);text-transform:uppercase;font-size:9px}.forge-blueprint meter{grid-column:1/-1;width:100%;accent-color:var(--fantasy-mana)}
.forge-preview-head,.forge-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.forge-preview-head{padding:14px;border-left:3px solid var(--green);background:rgba(98,211,148,.06)}.forge-preview-head.invalid{border-color:var(--danger);background:rgba(240,121,132,.06)}.forge-summary{display:grid;grid-template-columns:repeat(5,1fr)}.forge-summary span{display:grid;padding:10px;background:var(--surface-2);color:var(--muted);font-size:9px}.forge-summary b{font-size:18px;color:var(--text)}
.forge-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-height:330px;overflow:auto}.forge-list label{display:flex;align-items:center;background:var(--obsidian-2)}.forge-list label>span{display:flex;flex:1;justify-content:space-between;padding:6px 8px;font-size:9px}.forge-regenerate{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:12px}.forge-impossible{color:var(--danger)}.candidate-primary{position:absolute;z-index:2;padding:4px 7px;background:var(--fantasy-gold);color:#251b08;font-size:8px;font-weight:900}.goal-candidate-card{position:relative}.goal-candidate-card.recommended{border-color:var(--fantasy-gold)}
@media(max-width:780px){.forge-steps{grid-template-columns:repeat(4,1fr)}.forge-options,.forge-card-states,.forge-blueprint,.forge-list{grid-template-columns:1fr}.forge-summary{grid-template-columns:repeat(2,1fr)}}

.swipe-head .eyebrow{font-size:16px;font-weight:850;color:#d6d1ff;text-shadow:0 0 12px rgba(139,125,255,.22)}
.swipe-progress{height:9px}
.swipe-queue button{transition:.15s}
.swipe-queue button:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.swipe-queue button.active{box-shadow:0 0 14px rgba(139,125,255,.3)}
.swipe-queue button.accepted{box-shadow:0 0 10px rgba(98,211,148,.25)}
.swipe-queue button.type-goal{border-color:rgba(88,215,208,.3)}
.swipe-queue button.type-review{border-color:rgba(241,191,105,.3)}
.swipe-queue button.type-conditional{border-color:rgba(216,180,92,.3)}
.swipe-queue button.type-insufficient{border-color:rgba(138,146,164,.28)}

/* --- Mana pips: real WUBRG identity instead of a flat grey circle, with an
   engraved-rune bevel matching the gauge/sigil language. --- */
.mana-symbol{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.1),transparent 60%),var(--obsidian-2);box-shadow:inset 0 0 0 1px var(--silver-dim),inset 0 2px 4px rgba(0,0,0,.5);color:var(--text)}
.mana-symbol.mana-w{color:#1a1710;box-shadow:inset 0 0 0 1px #e8d9a8,inset 0 2px 4px rgba(0,0,0,.25);background:radial-gradient(circle at 32% 28%,#fbf6e6,#e4d6a4 70%)}
.mana-symbol.mana-u{color:#dff1ff;box-shadow:inset 0 0 0 1px #6fa8d8,inset 0 2px 4px rgba(0,0,0,.35);background:radial-gradient(circle at 32% 28%,#3f7fc4,#1c3f66 70%)}
.mana-symbol.mana-b{color:#d8d3e0;box-shadow:inset 0 0 0 1px #4a4456,inset 0 2px 4px rgba(0,0,0,.5);background:radial-gradient(circle at 32% 28%,#332c40,#0e0c14 70%)}
.mana-symbol.mana-r{color:#ffe6da;box-shadow:inset 0 0 0 1px #d97a4c,inset 0 2px 4px rgba(0,0,0,.35);background:radial-gradient(circle at 32% 28%,#c85a34,#6b2814 70%)}
.mana-symbol.mana-g{color:#e4f5df;box-shadow:inset 0 0 0 1px #5f9a52,inset 0 2px 4px rgba(0,0,0,.35);background:radial-gradient(circle at 32% 28%,#3f7a3a,#1c3a1a 70%)}

/* --- Primary call to action: a concentrated light instead of a flat purple
   button — the "start the ritual" affordance. --- */
.analyze-cta{box-shadow:0 0 0 1px rgba(139,125,255,.4),0 12px 28px rgba(139,125,255,.24),inset 0 1px 0 rgba(255,255,255,.12)}

/* --- Strategia: "Come vince il mazzo" is the dominant block — full width,
   brighter frame, bigger type — everything else stays secondary. --- */
.strategy-plan:not(.secondary){grid-column:1/-1;padding:24px 26px;background:linear-gradient(135deg,rgba(139,125,255,.15),var(--surface) 58%);border-color:rgba(139,125,255,.42);box-shadow:var(--glow-primary)}
.strategy-plan:not(.secondary) h2{font-size:clamp(20px,2.1vw,28px);line-height:1.3}
.strategy-review ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:9px 0 0;padding:0}
.strategy-review li{padding:6px 11px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;font-size:11px;color:#d7dce6}

/* --- Coerenza tag: a colored rail per provenance group instead of four
   visually identical boxes. --- */
.tag-origin-group{border-left:3px solid var(--line-strong)}
.tag-origin-group[data-tag-origin="declared"]{border-left-color:var(--primary)}
.tag-origin-group[data-tag-origin="deck"]{border-left-color:var(--cyan)}
.tag-origin-group[data-tag-origin="commander"]{border-left-color:var(--warning)}
.tag-origin-group[data-tag-origin="inferred"]{border-left-color:var(--muted-2)}

/* --- Struttura: mana-crystal columns, not bar-chart rectangles. A bronze
   pedestal at the base, a faceted energy core with a bright highlight
   streak, extra brightness + glow on the tallest (peak) column. --- */
.curve-bar-wrap{position:relative;padding-bottom:4px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:100% 33.34%;background-position:top}
.curve-bar{position:relative;clip-path:polygon(50% 0%,100% 12%,100% 100%,0% 100%,0% 12%);background:linear-gradient(180deg,#eafffb 0%,var(--cyan) 14%,var(--primary) 62%,var(--primary-2) 100%);box-shadow:inset 2px 0 0 rgba(255,255,255,.3),inset -3px 0 6px rgba(0,0,0,.3),0 0 10px rgba(139,125,255,.3);transition:box-shadow .15s,filter .15s;transform-origin:bottom}
.curve-bar:after{content:"";position:absolute;left:-2px;right:-2px;bottom:-4px;height:4px;background:linear-gradient(90deg,var(--fantasy-bronze-dim),var(--fantasy-bronze),var(--fantasy-bronze-dim));border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.4)}
.curve-column{transition:transform .15s}
.curve-column:hover .curve-bar{box-shadow:inset 2px 0 0 rgba(255,255,255,.4),inset -3px 0 6px rgba(0,0,0,.3),0 0 22px rgba(139,125,255,.55);filter:brightness(1.12)}
.curve-column.peak .curve-bar{box-shadow:inset 2px 0 0 rgba(255,255,255,.45),inset -3px 0 6px rgba(0,0,0,.25),0 0 26px rgba(139,125,255,.65);filter:brightness(1.2)}
.curve-column.peak b{color:var(--fantasy-gold-pale)}
.analysis-bar-row{padding:6px 8px;margin:-6px -8px;border-radius:9px;transition:background .15s}
.analysis-bar-row:hover{background:rgba(139,125,255,.07)}

/* --- Active tabs/nav get the same HUD glow language instead of a flat
   highlight, without touching inactive items. --- */
.analysis-tabs button.active{box-shadow:inset 0 0 0 1px rgba(139,125,255,.26),0 4px 16px rgba(0,0,0,.28),0 0 14px rgba(139,125,255,.2)}
.nav-item.active{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 14px rgba(0,0,0,.25),0 0 16px rgba(155,131,255,.14)}
.segment.active{box-shadow:0 2px 10px rgba(0,0,0,.22),0 0 10px rgba(139,125,255,.2)}

/* --- Accessibility: focus never disappears (safety net beyond the scoped
   rules above), and motion respects the OS-level reduced-motion setting. --- */
button:focus-visible,a:focus-visible,[role="tab"]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

@media(max-width:900px){
  .manabase-hero-gauge .score-ring{width:104px;height:104px}
  .manabase-hero-gauge .score-ring b{font-size:30px}
}
@media(max-width:720px){
  .score-ring{width:72px;height:72px}
  .score-ring b{font-size:22px}
  .priority-gauge{width:76px;height:76px}
}


/* ==========================================================================
   v0.11.3 — Mobile-first Builder, account menu, strict 1→1 Tinder, theme pass
   ========================================================================== */
/* Deck Forge — responsive, fast and explicit. The dialog itself owns the
   width (not only its child card), so it can never overflow a 500px generic
   modal shell. Native radios are visually replaced by compact selectable
   cards while remaining keyboard/screen-reader accessible. */
.forge-modal{width:min(1180px,calc(100% - 28px));max-width:none;margin:auto}.forge-modal::backdrop{background:rgba(2,4,10,.86);backdrop-filter:blur(8px)}
.forge-modal .modal-card{width:100%;max-width:none;max-height:min(92vh,980px);overflow:auto;background:linear-gradient(165deg,#101625 0%,#080c16 64%,#05070d 100%);border:1px solid var(--fantasy-bronze);box-shadow:0 32px 90px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.04)}
.forge-shell{padding:clamp(16px,2vw,26px)}.forge-header{padding-bottom:14px;border-bottom:1px solid rgba(232,199,122,.22)}.forge-header p{max-width:760px;margin:5px 0 0;color:var(--muted);line-height:1.45}
.forge-stagebar{display:grid;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;gap:8px;margin:14px 0 20px}.forge-stagebar>i{height:1px;background:linear-gradient(90deg,var(--fantasy-bronze-dim),rgba(232,199,122,.35))}.forge-stagebar>span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.forge-stagebar b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--fantasy-bronze-dim);background:var(--obsidian);color:var(--muted);font:800 10px/1 var(--fantasy-serif)}.forge-stagebar em{font-style:normal;white-space:nowrap}.forge-stagebar .active{color:var(--fantasy-gold)}.forge-stagebar .active b{border-color:var(--fantasy-gold);color:#241907;background:radial-gradient(circle,#f6de9b,var(--fantasy-bronze));box-shadow:0 0 16px rgba(232,199,122,.28)}.forge-stagebar .complete b{border-color:rgba(95,207,143,.65);color:#bff2d2;background:rgba(95,207,143,.1)}
.forge-form{display:grid;gap:16px;min-width:0}.forge-commander-panel{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid rgba(155,131,255,.24);border-radius:14px;background:linear-gradient(135deg,rgba(155,131,255,.08),rgba(255,255,255,.015))}.forge-seal{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--fantasy-bronze);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),transparent 55%),var(--obsidian);box-shadow:inset 0 0 0 4px rgba(176,138,85,.08),0 0 18px rgba(155,131,255,.16);color:var(--fantasy-gold)}.forge-seal .icon{width:26px;height:26px}.forge-commander-field small{font-size:9px;font-weight:500;color:var(--muted)}
.forge-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.forge-choice-group{display:grid;gap:8px;min-width:0;margin:0;padding:12px;border:1px solid var(--fantasy-bronze-dim);border-radius:13px;background:rgba(7,10,17,.62)}.forge-choice-group legend{padding:0 7px;color:var(--fantasy-gold-pale);font:700 12px var(--fantasy-serif)}.forge-choice{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(20,24,35,.78);cursor:pointer;transition:.15s}.forge-choice:hover{border-color:var(--fantasy-bronze);background:rgba(176,138,85,.07)}.forge-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;pointer-events:none}.forge-choice-mark{width:18px;height:18px;border-radius:50%;border:2px solid var(--silver-dim);background:var(--obsidian);box-shadow:inset 0 0 0 3px var(--obsidian)}.forge-choice input:checked+.forge-choice-mark{border-color:var(--fantasy-mana);background:var(--fantasy-mana);box-shadow:inset 0 0 0 4px var(--obsidian),0 0 12px rgba(91,224,214,.35)}.forge-choice:has(input:checked){border-color:rgba(91,224,214,.45);background:linear-gradient(135deg,rgba(91,224,214,.08),rgba(155,131,255,.04))}.forge-choice b,.forge-choice small{display:block}.forge-choice b{font-size:12px}.forge-choice small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
.forge-allocation-choice{margin-top:3px;border-style:dashed}.forge-allocation-choice .forge-choice-mark{display:grid;place-items:center;border-radius:5px;box-shadow:none}.forge-allocation-choice input:checked+.forge-choice-mark{box-shadow:0 0 12px rgba(91,224,214,.35)}.forge-allocation-choice input:checked+.forge-choice-mark:after{content:"✓";color:#07110f;font-size:12px;font-weight:950}.forge-allocation-choice.is-disabled{opacity:.42;cursor:not-allowed}.forge-availability{border-color:rgba(91,224,214,.3);color:#b9f2ed}
.forge-pool-warning{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(232,199,122,.3);border-radius:9px;background:rgba(176,134,66,.08);color:var(--muted);font-size:9px;line-height:1.4}.forge-pool-warning b{flex:0 0 auto;color:var(--fantasy-gold-pale);font-size:10px}.forge-pool-warning span{min-width:0;overflow-wrap:anywhere}
.forge-preferences,.forge-existing,.forge-deck-details{border:1px solid var(--line);border-radius:12px;background:rgba(11,14,23,.72);overflow:hidden}.forge-preferences>summary,.forge-existing>summary,.forge-deck-details>summary{padding:11px 13px;cursor:pointer;color:#dfe4ee;font-weight:750;font-size:11px}.forge-preferences[open]>summary,.forge-existing[open]>summary,.forge-deck-details[open]>summary{border-bottom:1px solid var(--line)}.forge-preferences .settings-grid{padding:12px}.forge-existing .forge-card-states{padding:10px}.forge-card-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:210px;overflow:auto}.forge-card-state{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:var(--obsidian-2);font-size:10px;cursor:pointer}.forge-card-state span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forge-card-state input,.forge-lock-all input{width:18px;height:18px;accent-color:var(--accent)}.forge-lock-all{display:flex;align-items:center;gap:9px;margin:10px 10px 0;padding:9px 11px;border-radius:9px;background:var(--surface-2);font-size:10px;font-weight:800;cursor:pointer}.forge-bracket{display:inline-flex;margin:6px 7px 0 0;padding:4px 8px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:999px;color:var(--accent-2);font-size:9px;font-weight:900;letter-spacing:.04em}.forge-preferences .field-label small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.35}
.forge-form-error{margin:0;padding:10px 12px;border:1px solid rgba(226,85,95,.45);border-radius:9px;background:rgba(226,85,95,.08);color:#ffc0c5;font-size:11px}.forge-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.forge-cta{border:1px solid var(--fantasy-gold);background:linear-gradient(145deg,#795026,#b78642);color:#fff8e7;box-shadow:0 10px 26px rgba(176,134,66,.2),inset 0 1px 0 rgba(255,255,255,.18)}.forge-cta:hover{filter:brightness(1.08);box-shadow:0 12px 30px rgba(176,134,66,.28)}.forge-cta:disabled{opacity:.55;cursor:wait}
.forge-progress-modal{width:min(900px,calc(100% - 28px))}.forge-progress-shell{display:grid;gap:18px;max-height:min(88vh,720px)!important;overscroll-behavior:contain;touch-action:pan-y}.forge-progress-header{margin:0!important}.forge-progress-header p{color:var(--fantasy-gold-pale);font-weight:800}.forge-progress{padding:18px;border:1px solid var(--fantasy-bronze-dim);border-radius:13px;background:rgba(7,10,17,.72);touch-action:pan-y}.forge-progress-track{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.forge-progress-track span{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid transparent;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:9px;transition:border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}.forge-progress-track span b{min-width:0;overflow-wrap:anywhere}.forge-progress-track i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);font-style:normal}.forge-progress-track .active{color:var(--fantasy-gold);border-color:rgba(232,199,122,.34);box-shadow:0 0 18px rgba(232,199,122,.1);transform:translateY(-2px);animation:forge-phase-pulse 1.8s ease-in-out infinite}.forge-progress-track .active i{border-color:var(--fantasy-gold)}.forge-progress-track .complete{color:#a8e7bf}.forge-progress-track .complete i{border-color:rgba(95,207,143,.5);background:rgba(95,207,143,.08)}.forge-progress>p{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.forge-progress-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.forge-progress-actions p{margin:0;color:var(--muted);font-size:10px}.forge-progress-actions .button{min-width:132px;min-height:44px}.forge-progress-modal[open] .forge-progress-shell{animation:forge-progress-dialog-in .2s cubic-bezier(.2,.75,.25,1)}
.forge-progress>p strong{color:var(--fantasy-gold-pale)}
@keyframes forge-progress-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes forge-phase-pulse{0%,100%{box-shadow:0 0 14px rgba(232,199,122,.08)}50%{box-shadow:0 0 24px rgba(232,199,122,.2)}}
.forge-preview{display:grid;gap:13px}.forge-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(95,207,143,.35);border-radius:12px;background:rgba(95,207,143,.055)}.forge-preview-head.invalid{border-color:rgba(226,85,95,.4);background:rgba(226,85,95,.055)}.forge-preview-commander{display:flex;align-items:center;gap:13px;min-width:0}.forge-preview-commander img,.forge-commander-fallback{width:62px;height:86px;object-fit:cover;border-radius:7px;border:1px solid var(--fantasy-bronze);background:var(--obsidian);box-shadow:0 10px 24px rgba(0,0,0,.35)}.forge-commander-fallback{display:grid;place-items:center;height:62px;border-radius:50%}.forge-preview-head h2{margin:4px 0;font-size:18px}.forge-preview-head p{margin:0;color:var(--muted);font-size:10px}.forge-budget{text-align:right;white-space:nowrap}.forge-budget small,.forge-budget b{display:block}.forge-budget small{font-size:8px;text-transform:uppercase;color:var(--muted)}.forge-budget b{font-size:16px;color:var(--fantasy-gold-pale)}
.forge-section-title{margin-bottom:8px}.forge-section-title h3{margin:3px 0 0}.forge-blueprint{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.forge-blueprint>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--obsidian-2);font-size:9px}.forge-blueprint>div>span{text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.forge-blueprint>div.missing b{color:var(--fantasy-warning)}.forge-blueprint>div.ready b{color:var(--fantasy-success)}.forge-meter{grid-column:1/-1;height:5px;border-radius:99px;background:#171b27;overflow:hidden}.forge-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--fantasy-arcane),var(--fantasy-mana));box-shadow:0 0 8px rgba(91,224,214,.28)}
.forge-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.forge-summary span{display:grid;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:9px}.forge-summary b{font-size:18px;color:var(--text)}
.forge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:360px;overflow:auto;padding:10px}.forge-list-card{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--obsidian-2);overflow:hidden}.forge-list-card>label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:8px}.forge-list-card input{width:auto;min-height:0;margin-top:3px}.forge-list-card label span{min-width:0}.forge-list-card label b,.forge-list-card label small{display:block}.forge-list-card label b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forge-list-card label small{margin-top:2px;color:var(--muted);font-size:8px}.forge-score{border-top:1px solid var(--line)}.forge-score summary{padding:6px 8px;color:var(--fantasy-gold-pale);font-size:8px;cursor:pointer}.forge-score>div{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 8px 8px}.forge-score span{display:grid;padding:4px;border-radius:5px;background:var(--surface-2);font-size:7px;color:var(--muted)}.forge-score b{color:var(--text);font-size:8px}.forge-score>p{margin:0;padding:0 8px 8px;color:var(--muted);font-size:8px;line-height:1.45}.forge-score span.forge-ai-score{border-color:rgba(91,224,214,.25);color:#b9f2ed}.forge-ai-state{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 7px;border-radius:99px;font-size:8px;font-weight:800;letter-spacing:.03em}.forge-ai-state .icon{width:11px;height:11px}.forge-ai-state.used{color:#b9f2ed;background:rgba(91,224,214,.08);border:1px solid rgba(91,224,214,.25)}.forge-ai-state.fallback{color:var(--muted);background:var(--surface-2);border:1px solid var(--line)}.forge-deck-details>.button{margin:0 10px 10px}.forge-regenerate{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.forge-regenerate>b{margin-right:5px;font-size:10px}.forge-regenerate .button{min-height:32px;padding:0 9px;font-size:9px}.forge-impossible{margin:0;padding:10px 12px;border:1px solid rgba(226,85,95,.35);border-radius:9px;background:rgba(226,85,95,.06);color:#ffb8be;font-size:10px}.forge-preview-actions{margin-top:2px}
.candidate-primary{position:absolute;z-index:2;padding:4px 7px;background:var(--fantasy-gold);color:#251b08;font-size:8px;font-weight:900}.goal-candidate-card{position:relative}.goal-candidate-card.recommended{border-color:var(--fantasy-gold)}
@media(max-width:900px){.forge-modal{width:min(760px,calc(100% - 18px))}.forge-choice-grid{grid-template-columns:1fr}.forge-card-states,.forge-blueprint{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-progress-track{grid-template-columns:repeat(3,1fr)}.forge-list{grid-template-columns:1fr}.forge-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.forge-modal{width:calc(100% - 10px)}.forge-shell{padding:13px}.forge-stagebar{grid-template-columns:repeat(4,1fr);gap:5px}.forge-stagebar>i{display:none}.forge-stagebar>span{display:grid;justify-items:center;text-align:center;gap:4px}.forge-stagebar em{white-space:normal;font-size:8px}.forge-commander-panel{grid-template-columns:44px minmax(0,1fr)}.forge-seal{width:42px;height:42px}.forge-card-states,.forge-blueprint,.forge-summary{grid-template-columns:1fr}.forge-progress-track{grid-template-columns:1fr 1fr}.forge-progress-actions{align-items:stretch;flex-direction:column}.forge-progress-actions .button{width:100%}.forge-preview-head{align-items:flex-start}.forge-preview-commander img{width:48px;height:67px}.forge-budget{display:none}.forge-form-actions,.forge-preview-actions{display:grid;grid-template-columns:1fr}.forge-form-actions .button,.forge-preview-actions .button{width:100%}}

/* Ornament is a hierarchy signal, not a generic panel decoration. */
.fantasy-frame:before{display:none}
.fantasy-frame-major:before{display:block}

/* Account menu: compact floating account control inspired by the supplied
   reference, adapted to Icaro's fantasy materials and all three theme modes. */
.account-wrap{position:relative}
.account-trigger{min-height:40px;display:flex;align-items:center;gap:8px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:.16s}
.account-trigger:hover,.account-trigger[aria-expanded="true"]{border-color:var(--fantasy-bronze);background:var(--surface-2)}
.account-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--fantasy-bronze),var(--fantasy-gold));color:#211608;font:800 12px/1 var(--fantasy-serif);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.account-avatar.large{width:38px;height:38px;font-size:15px}.user-badge{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750}.account-chevron{color:var(--muted);font-size:13px}
.account-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:180;width:min(360px,calc(100vw - 18px));padding:10px;border:1px solid var(--line-strong);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.045);backdrop-filter:blur(22px);overflow:hidden}
.account-menu[hidden]{display:none!important}.account-menu-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 8px 10px}.account-menu-identity span:last-child{min-width:0}.account-menu-identity b,.account-menu-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-identity b{font-size:13px}.account-menu-identity small{margin-top:2px;color:var(--muted);font-size:11px}
.account-theme-row{width:max-content;display:grid;grid-template-columns:repeat(3,48px);gap:2px;padding:3px;margin:0 8px 10px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line)}.account-theme-row button{height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;transition:.14s}.account-theme-row button:hover{color:var(--text);background:var(--surface-2)}.account-theme-row button.active{color:var(--text);background:var(--surface-3);box-shadow:0 2px 9px rgba(0,0,0,.25),inset 0 0 0 1px var(--line-strong)}
.account-menu-separator{height:1px;margin:5px 2px;background:var(--line)}.account-menu-item{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 8px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.account-menu-item:hover{background:var(--surface-2)}.account-menu-item>.icon,.logout-symbol{width:24px;height:24px;display:grid;place-items:center;color:var(--muted)}.account-menu-item span:nth-child(2){min-width:0}.account-menu-item b,.account-menu-item small{display:block}.account-menu-item b{font-size:12px}.account-menu-item small{margin-top:2px;color:var(--muted);font-size:9px}.account-menu-item>strong{color:var(--muted);font-size:20px;font-weight:400}.account-menu-item.danger b,.account-menu-item.danger .logout-symbol{color:var(--danger)}

/* Smart library controls shared by desktop and the mobile drawer. */
.library-source-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}.library-source-toggle button{min-height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.library-source-toggle button.active{color:var(--fantasy-gold-pale);background:linear-gradient(180deg,rgba(176,138,85,.16),rgba(176,138,85,.07));box-shadow:inset 0 0 0 1px rgba(232,199,122,.22)}
.library-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.filter-clear{border:0;background:transparent;color:var(--muted);font-size:9px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.filter-clear:hover{color:var(--text)}.panel-head-actions{display:flex;align-items:center;gap:7px}
.mtg-card[draggable="true"]{cursor:grab}.mtg-card.dragging{opacity:.48;transform:scale(.98)}.deck-panel{transition:border-color .14s,box-shadow .14s}.deck-panel.drop-ready{border-color:var(--fantasy-mana)!important;box-shadow:inset 0 0 0 2px rgba(91,224,214,.14),0 0 28px rgba(91,224,214,.15)}
.desktop-drop-hint{white-space:nowrap}

/* Strict Tinder zone: one verified remove card against one verified add card.
   The stack stays centered; only the active decision carries ornament. */
.analysis-panel[data-analysis-panel="suggestions"]{padding:10px 0 0;overflow:visible}.swipe-workspace{width:min(100%,1120px);max-width:1120px;margin-inline:auto;padding-inline:12px}.advice-stack{padding:0 14px 24px}.advice-stack-ghost{inset:7px 14px -7px;transform:translateY(calc(var(--depth) * 10px)) scale(calc(1 - var(--depth) * .018));border-color:color-mix(in srgb,var(--fantasy-bronze) 58%,var(--line));opacity:calc(.55 - var(--depth) * .12)}
.advice-decision-card{border:1px solid var(--fantasy-bronze-dim);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 26px 60px rgba(0,0,0,.42)}.advice-decision-card.type-swap{border-color:color-mix(in srgb,var(--fantasy-bronze) 72%,var(--line))}.advice-decision-card:after{opacity:.82}
.swap-problem{margin-top:10px;padding:10px 12px;border-left:2px solid var(--fantasy-warning);background:rgba(227,174,90,.055);border-radius:8px}.swap-problem b{font-size:10px;color:var(--fantasy-gold-pale)}.swap-problem p{margin:4px 0 0!important;font-size:11px!important;color:var(--muted)!important}
.swap-tradeoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.swap-tradeoff-grid section{padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft)}.swap-tradeoff-grid span{display:block;margin-bottom:3px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.swap-tradeoff-grid b{font-size:11px}.swap-tradeoff-grid p{margin:4px 0 0!important;font-size:10px!important;line-height:1.45!important;color:var(--muted)!important}.swap-benefit{border-color:rgba(95,207,143,.25)!important}.swap-benefit span{color:var(--fantasy-success)}.swap-malus{border-color:rgba(226,85,95,.24)!important}.swap-malus span{color:var(--fantasy-danger)}
.swap-verdict em{margin-top:8px;max-width:145px;color:var(--muted);font-size:9px;font-style:normal;line-height:1.35}.verdict-pill{margin-bottom:9px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--fantasy-gold-pale)}

/* Mobile Builder is a dedicated interaction model: the deck remains primary;
   cards/filters live in a bottom drawer and a card tap opens large touch-safe controls. */
.mobile-builder-toolbar{position:sticky;top:62px;z-index:34;align-items:center;gap:7px;margin:-3px 0 9px;padding:7px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(16px)}.mobile-builder-toolbar .button{flex:1}.mobile-builder-toolbar>span{flex:none;padding:0 5px;font-weight:800}
.mobile-card-sheet{border:0;padding:0;background:transparent;color:var(--text)}.mobile-card-sheet::backdrop{background:rgba(2,4,10,.78);backdrop-filter:blur(5px)}.mobile-sheet-card{background:var(--fantasy-panel);border:1px solid var(--fantasy-bronze-dim);box-shadow:0 -24px 70px rgba(0,0,0,.55)}.mobile-sheet-handle{width:44px;height:4px;margin:8px auto 3px;border-radius:99px;background:var(--line-strong)}.mobile-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line)}.mobile-sheet-head h2{margin:3px 0 0;font-size:17px}.mobile-card-manager{display:grid;grid-template-columns:96px minmax(0,1fr);gap:13px;padding:15px}.mobile-card-manager>img{width:96px;aspect-ratio:488/680;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.mobile-card-manager-info>p{margin:0 0 13px;color:var(--muted);font-size:11px;line-height:1.4}.mobile-deck-qty{display:grid;grid-template-columns:54px minmax(58px,1fr) 54px;align-items:center;max-width:230px;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;background:var(--bg-soft)}.mobile-deck-qty button{height:54px;border:0;background:var(--surface-2);color:var(--text);font-size:27px;font-weight:800;touch-action:manipulation}.mobile-deck-qty button:active{background:var(--surface-3)}.mobile-deck-qty strong{text-align:center;font-size:20px}.mobile-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}

@media(min-width:781px){.mobile-card-sheet{display:none}.library-panel-head .mobile-only{display:none!important}}
@media(max-width:780px){
  body.mobile-library-open{overflow:hidden}.main-content{padding:10px}.builder-header{margin-bottom:10px}.builder-header .deck-identity{min-width:0}.builder-header .header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.builder-header .header-actions>.button,.builder-header .header-actions>.builder-more{width:100%}.builder-more>summary{width:100%}.deck-meta-row{gap:7px}.deck-kpis{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.deck-kpis::-webkit-scrollbar{display:none}.deck-kpi{min-width:135px;flex:0 0 135px}
  .builder-workspace{display:block;height:auto;min-height:0}.deck-panel{min-height:calc(100vh - 300px);margin:0;overflow:visible;padding:10px}.deck-panel-header{align-items:center}.deck-panel-header .segmented{max-width:100%;overflow-x:auto}.quick-add{grid-template-columns:20px minmax(0,1fr) 48px 42px}.quick-add .suggestions{left:0;right:0}.deck-view{max-height:none;overflow:visible;padding-right:0}.inspector-panel{display:none!important}.deck-panel-footer{flex-wrap:wrap}.desktop-drop-hint{display:none}
  .library-panel{position:fixed;z-index:150;left:7px;right:7px;bottom:7px;top:auto;width:auto;max-height:min(84dvh,760px);margin:0;padding:13px;overflow:auto;border-color:var(--fantasy-bronze);border-radius:18px;transform:translateY(calc(100% + 22px));visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s;background:var(--fantasy-panel-deep);box-shadow:0 -28px 80px rgba(0,0,0,.58)}.library-panel.mobile-open{transform:none;visibility:visible}.library-panel-head{position:sticky;top:-13px;z-index:4;margin:-13px -13px 10px;padding:13px;background:color-mix(in srgb,var(--obsidian-2) 96%,transparent);backdrop-filter:blur(18px)}.library-source-toggle{position:sticky;top:57px;z-index:3}.filter-stack{display:grid;gap:7px}.filter-row{grid-template-columns:1fr 1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-grid .mtg-card-info{padding:7px}.library-grid .mtg-card-name{font-size:10px}.library-grid .mtg-card-meta{font-size:8px}.library-grid .owned-badge,.library-grid .card-price{font-size:8px}.library-panel #loadMoreCards{min-height:48px;margin-top:9px}
  .compact-card-grid{grid-template-columns:1fr;gap:6px}.compact-card-row{grid-template-columns:40px minmax(0,1fr) 108px;min-height:58px;padding:5px 6px}.compact-card-row img{width:40px;height:55px}.compact-card-text b{font-size:11px}.compact-card-text small{font-size:8px}.quantity-control{grid-template-columns:36px 1fr 36px;min-height:38px}.quantity-control button{height:38px;min-width:36px;font-size:18px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.quantity-control span{font-size:12px;font-weight:800}.builder-workspace .deck-group-header{top:60px;padding:7px 0;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(10px)}
  .deck-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-image-card .quantity-control{margin:5px}.mobile-card-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0}.mobile-card-sheet[open]{display:block}.mobile-sheet-card{position:absolute;left:0;right:0;bottom:0;border-radius:22px 22px 0 0;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .account-trigger{padding-right:5px}.account-trigger .user-badge,.account-trigger .account-chevron{display:none}.account-menu{position:fixed;top:66px;right:7px;width:min(360px,calc(100vw - 14px));max-height:calc(100dvh - 76px);overflow:auto}
}

/* Smartphone Tinder: keep both compared cards visible together. The verdict,
   tradeoff and decision dock move below, avoiding the old "only first change" feel. */
@media(max-width:720px){
  .analysis-panel[data-analysis-panel="suggestions"]{margin-inline:-4px}.swipe-workspace{padding-inline:0}.swipe-head{padding-inline:4px}.advice-stack{padding:0 0 14px}.advice-stack-ghost{display:none}.swipe-card.advice-decision-card.type-swap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;padding:8px;border-radius:14px}.swap-card-side{padding:7px;border-radius:10px}.swap-card-side.remove{grid-column:1;grid-row:1}.swap-card-side.add{grid-column:2;grid-row:1}.swap-card-side img,.swap-image-fallback{width:100%;max-width:none;margin-bottom:7px;border-radius:7px}.swap-kicker{font-size:8px;padding:3px 6px;margin-bottom:6px}.swap-card-side h3{font-size:11px;line-height:1.2;margin:3px 0}.swap-card-side p{font-size:9px;line-height:1.35;margin:5px 0}.swap-card-side p b{font-size:8px;margin-bottom:2px}.swap-card-side small{font-size:8px;line-height:1.25}.swap-verdict{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;justify-content:center;gap:7px;padding:7px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.swap-verdict .necessity-ring{width:58px;height:58px;margin:0;grid-column:1;grid-row:1/3}.necessity-ring:before{inset:6px}.necessity-ring strong{font-size:19px}.swap-verdict>b{grid-column:2/4;grid-row:1;font-size:10px}.swap-verdict>small{grid-column:2/4;grid-row:2;margin:0;font-size:8px}.swap-verdict .verdict-pill{grid-column:4;grid-row:1;margin:0}.swap-verdict .impact-pill{grid-column:4;grid-row:2;margin:0;font-size:8px}.swap-verdict em{display:none}.swap-reason{grid-column:1/-1;grid-row:3;padding:9px}.swap-reason-main p{font-size:11px!important}.swap-problem{padding:8px}.swap-tradeoff-grid{grid-template-columns:1fr 1fr;gap:6px}.swap-tradeoff-grid section{padding:7px}.swap-tradeoff-grid b{font-size:9px}.swap-tradeoff-grid p{font-size:8px!important}.swap-advanced{margin-top:8px;padding-top:8px}.swap-detail-grid{grid-template-columns:1fr}.metric-impact{grid-template-columns:1fr 1fr}.swipe-actions{grid-column:1/-1;grid-row:4;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;position:sticky;bottom:max(7px,env(safe-area-inset-bottom));z-index:8;width:100%!important;max-width:none!important;padding:7px!important;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.34)}.swipe-action{min-height:48px;padding:7px!important}.swipe-action-copy b{font-size:10px}.swipe-action-copy small{font-size:7px}.swipe-queue{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:1px 4px 7px;scroll-snap-type:x proximity}.swipe-queue button{flex:0 0 42px;scroll-snap-align:center}.advice-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.advice-summary span{min-width:0}.priority-decision{padding:14px}.priority-decision-body{grid-template-columns:1fr}.priority-gauge-block{justify-self:start;flex-direction:row}.priority-decision-grid{grid-template-columns:1fr}.analysis-toolbar{border-radius:12px}.analysis-tabs{overflow-x:auto;justify-content:flex-start}.analysis-tabs button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:430px){.swap-card-side p{display:block}.mobile-card-manager{grid-template-columns:76px minmax(0,1fr)}.mobile-card-manager>img{width:76px}.account-theme-row{grid-template-columns:repeat(3,44px)}}

/* Complete light/system-light theme: all secondary labels and fantasy surfaces
   retain contrast instead of carrying dark-theme hard-coded ink. */
:root[data-theme="light"]{--fantasy-gold:#8a631d;--fantasy-bronze:#8b6a3e;--fantasy-bronze-dim:#c3ad8c;--fantasy-silver:#596477;--fantasy-silver-dim:#b6becb;--fantasy-arcane:#6656d8;--fantasy-mana:#087d79;--fantasy-danger:#b42d3d;--fantasy-success:#157848;--fantasy-warning:#9b6412}
:root[data-theme="light"] body:before{opacity:.12}:root[data-theme="light"] body:after{opacity:.08}:root[data-theme="light"] .sidebar{background:linear-gradient(180deg,#f4f2ed,#ebe8e1)}:root[data-theme="light"] .nav-item{color:#526076}:root[data-theme="light"] .nav-item:hover{color:#171c26;background:rgba(84,67,39,.06)}:root[data-theme="light"] .appbar{background:rgba(255,255,255,.92)}
:root[data-theme="light"] :is(.swap-card-side p,.swap-reason p,.goal-essential p,.strategy-review li,.builder-more>summary,.forge-preferences>summary,.forge-existing>summary,.forge-deck-details>summary,.analysis-flow span.active,.manabase-hero-gauge .analysis-score>span){color:var(--text)!important}
:root[data-theme="light"] :is(.remove .swap-kicker,.impact-pill.high){color:#a32634}:root[data-theme="light"] :is(.add .swap-kicker,.analysis-ok,.impact-pill.low,.impact-pill.optional){color:#126b42}:root[data-theme="light"] :is(.impact-pill.medium,.role-health.low .role-health-tag){color:#85540c}:root[data-theme="light"] :is(.role-health.high .role-health-tag,.advice-title>span){color:#594bc4}
:root[data-theme="light"] :is(.advice-decision-card,.account-menu,.forge-modal .modal-card){background:linear-gradient(155deg,#fff,#f4f3ef 70%,#ece9e2)}:root[data-theme="light"] :is(.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress){background:#f7f5f0}:root[data-theme="light"] .forge-choice{background:#fff}:root[data-theme="light"] .forge-choice:hover{background:#f7f1e5}:root[data-theme="light"] .forge-form-error{color:#8e2330}:root[data-theme="light"] .card-price,:root[data-theme="light"] .owned-badge{background:rgba(255,255,255,.9);color:#171c26}

@media(prefers-color-scheme:light){
  :root[data-theme="system"]{--fantasy-gold:#8a631d;--fantasy-bronze:#8b6a3e;--fantasy-bronze-dim:#c3ad8c;--fantasy-silver:#596477;--fantasy-silver-dim:#b6becb;--fantasy-arcane:#6656d8;--fantasy-mana:#087d79;--fantasy-danger:#b42d3d;--fantasy-success:#157848;--fantasy-warning:#9b6412}
  :root[data-theme="system"] body:before{opacity:.12}:root[data-theme="system"] body:after{opacity:.08}:root[data-theme="system"] .sidebar{background:linear-gradient(180deg,#f4f2ed,#ebe8e1)}:root[data-theme="system"] .nav-item{color:#526076}:root[data-theme="system"] .nav-item:hover{color:#171c26;background:rgba(84,67,39,.06)}:root[data-theme="system"] .appbar{background:rgba(255,255,255,.92)}
  :root[data-theme="system"] :is(.swap-card-side p,.swap-reason p,.goal-essential p,.strategy-review li,.builder-more>summary,.forge-preferences>summary,.forge-existing>summary,.forge-deck-details>summary,.analysis-flow span.active,.manabase-hero-gauge .analysis-score>span){color:var(--text)!important}
  :root[data-theme="system"] :is(.remove .swap-kicker,.impact-pill.high){color:#a32634}:root[data-theme="system"] :is(.add .swap-kicker,.analysis-ok,.impact-pill.low,.impact-pill.optional){color:#126b42}:root[data-theme="system"] :is(.impact-pill.medium,.role-health.low .role-health-tag){color:#85540c}:root[data-theme="system"] :is(.role-health.high .role-health-tag,.advice-title>span){color:#594bc4}
  :root[data-theme="system"] :is(.advice-decision-card,.account-menu,.forge-modal .modal-card){background:linear-gradient(155deg,#fff,#f4f3ef 70%,#ece9e2)}:root[data-theme="system"] :is(.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress){background:#f7f5f0}:root[data-theme="system"] .forge-choice{background:#fff}:root[data-theme="system"] .forge-choice:hover{background:#f7f1e5}:root[data-theme="system"] .forge-form-error{color:#8e2330}:root[data-theme="system"] .card-price,:root[data-theme="system"] .owned-badge{background:rgba(255,255,255,.9);color:#171c26}
}

/* v0.11.13 — immersive mobile card viewer and overflow-free phone layout. */
@media(max-width:780px){
  html,body{width:100%;max-width:100%;overflow-x:clip!important}
  :is(.app-shell,.appbar,.main-content,.view,.surface,.workspace-panel,.page-header,.builder-header,.surface-header,.panel-header,.builder-workspace,.deck-panel,.analysis-panel,.analysis-surface,.collection-browser,.admin-grid,.database-options,.support-workspace,.support-panel,.support-thread-items,.support-thread-item){min-width:0!important;max-width:100%!important}
  :is(.page-header,.builder-header,.surface-header,.panel-header)>*{min-width:0;max-width:100%}
  :is(.main-content,.view,.builder-workspace,.deck-panel,.collection-browser,.analysis-panel,.admin-grid,.database-options,.support-workspace,.support-panel){overflow-x:clip!important}
  img,video,canvas{max-width:100%}

  /* Phone layouts wrap instead of creating nested horizontal scrollers. */
  #deckImagePreview .deck-image-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;padding-bottom:0!important;scroll-snap-type:none!important}
  .deck-panel-header .segmented{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible!important}.deck-panel-header .segment{min-width:0;padding-inline:5px}
  .analysis-tabs,.swipe-queue{overflow:visible!important;flex-wrap:wrap!important;scroll-snap-type:none!important}
  .forge-stagebar{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible!important;gap:3px}.forge-stagebar>span{min-width:0!important}.forge-stagebar>i{display:none}.forge-stagebar em{overflow-wrap:anywhere}

  .mobile-card-sheet[open]{display:block!important;position:fixed!important;z-index:1520!important;inset:0!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important}
  .mobile-card-sheet::backdrop{background:rgba(2,4,9,.48)!important;backdrop-filter:blur(1.5px) brightness(.68) saturate(.78)!important;-webkit-backdrop-filter:blur(1.5px) brightness(.68) saturate(.78)!important}
  .mobile-card-sheet .mobile-gallery-viewer{position:fixed!important;inset:var(--app-viewport-top,0px) 0 auto 0!important;width:100%!important;height:var(--app-viewport-height,100dvh)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;overflow:hidden!important;pointer-events:none}
  .mobile-gallery-head{position:absolute!important;z-index:30!important;top:max(8px,env(safe-area-inset-top))!important;left:10px;right:10px;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;backdrop-filter:none!important;pointer-events:auto}
  .mobile-gallery-head>div{text-align:center;min-width:0}.mobile-gallery-head .eyebrow{margin:0;font-family:inherit;font-size:9px;letter-spacing:.09em;text-shadow:0 1px 4px #000}.mobile-gallery-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mobile-gallery-back{display:grid!important;place-items:center;width:44px;height:44px;min-height:44px!important;padding:0!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:50%!important;background:rgba(8,10,16,.62)!important;color:#fff!important;box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:23px!important;line-height:1;backdrop-filter:blur(12px)}.mobile-gallery-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mobile-gallery-counter{padding:7px 10px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;background:rgba(8,10,16,.62)!important;color:#e9ebf2!important;box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:10px!important;font-weight:850;backdrop-filter:blur(12px)}
  #deckCardSheetContent{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;pointer-events:none}

  .mobile-gallery-stage{--gallery-drag-x:0px;position:absolute!important;z-index:5;top:calc(max(8px,env(safe-area-inset-top)) + 48px);left:0;right:0;bottom:clamp(188px,24dvh,210px);display:block!important;min-height:0!important;padding:0!important;overflow:visible!important;touch-action:pan-y;pointer-events:auto;user-select:none;-webkit-user-select:none}
  .mobile-gallery-card{position:absolute;top:50%;left:50%;width:min(84vw,400px);max-height:min(59dvh,540px);margin:0;padding:0;border:0;background:transparent;filter:brightness(.64) saturate(.78);opacity:.34;transform-origin:center;transition:transform .22s cubic-bezier(.22,.78,.2,1),opacity .22s,filter .22s;will-change:transform,opacity;cursor:pointer;pointer-events:auto}
  .mobile-gallery-card img,.mobile-gallery-card .card-placeholder{display:block;width:100%;max-height:min(59dvh,540px);aspect-ratio:488/680;object-fit:contain;border-radius:clamp(10px,3vw,16px);background:transparent;box-shadow:0 20px 48px rgba(0,0,0,.5);-webkit-user-drag:none}
  .mobile-gallery-card.current{z-index:4;opacity:1;filter:none;transform:translate3d(calc(-50% + var(--gallery-drag-x)),-50%,0)}
  .mobile-gallery-card.previous{z-index:2;transform:translate3d(calc(-146% + var(--gallery-drag-x)),-50%,0) scale(.84) rotate(-1.5deg)}
  .mobile-gallery-card.next{z-index:2;transform:translate3d(calc(46% + var(--gallery-drag-x)),-50%,0) scale(.84) rotate(1.5deg)}
  .mobile-gallery-stage.is-dragging .mobile-gallery-card,.mobile-gallery-stage.gallery-reset .mobile-gallery-card{transition:none!important}
  .mobile-gallery-stage.advance-next .mobile-gallery-card.current{transform:translate3d(-154%,-50%,0) scale(.84) rotate(-2deg);opacity:.2;filter:brightness(.6)}.mobile-gallery-stage.advance-next .mobile-gallery-card.next{z-index:5;transform:translate3d(-50%,-50%,0);opacity:1;filter:none}
  .mobile-gallery-stage.advance-previous .mobile-gallery-card.current{transform:translate3d(54%,-50%,0) scale(.84) rotate(2deg);opacity:.2;filter:brightness(.6)}.mobile-gallery-stage.advance-previous .mobile-gallery-card.previous{z-index:5;transform:translate3d(-50%,-50%,0);opacity:1;filter:none}
  .mobile-gallery-stage.snap-back .mobile-gallery-card{transition-duration:.18s}
  .mobile-gallery-swipe-hint{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:rgba(4,6,12,.38);color:rgba(255,255,255,.62);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;backdrop-filter:blur(8px)}

  .mobile-gallery-sheet{--sheet-drag-y:0px;position:absolute;z-index:20;left:0;right:0;bottom:0;height:clamp(188px,24dvh,210px);max-width:100%;border:1px solid color-mix(in srgb,var(--line-strong) 75%,transparent);border-bottom:0;border-radius:24px 24px 0 0;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 -18px 52px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.045);backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);overflow:hidden;transform:translateY(var(--sheet-drag-y));transition:height .32s cubic-bezier(.22,.78,.2,1),transform .2s ease;pointer-events:auto}
  .mobile-card-sheet.details-open .mobile-gallery-sheet{height:min(66dvh,660px)}.mobile-gallery-sheet.is-dragging{transition:none}
  .mobile-gallery-sheet .mobile-sheet-handle{position:relative!important;top:auto!important;display:block!important;width:100%!important;height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--muted)!important;cursor:ns-resize;touch-action:none}
  .mobile-gallery-sheet .mobile-sheet-handle:before{content:""!important;position:absolute!important;top:7px!important;left:50%!important;width:42px!important;height:4px!important;transform:translateX(-50%)!important;border-radius:99px!important;background:var(--line-strong)!important}
  .mobile-gallery-sheet .mobile-sheet-handle:focus-visible{outline:0!important}.mobile-gallery-sheet .mobile-sheet-handle:focus-visible:before{background:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
  .mobile-gallery-sheet .mobile-sheet-handle small{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
  .mobile-gallery-sheet-body{height:calc(100% - 32px);min-width:0;padding:0 16px max(10px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-card-sheet.details-open .mobile-gallery-sheet-body{overflow-y:auto}
  .mobile-gallery-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.mobile-gallery-title>div{min-width:0}.mobile-gallery-title h3{margin:0;font-size:18px;line-height:1.2;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-gallery-title p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-gallery-title .mobile-card-mana{flex:none;margin-top:1px}.mobile-gallery-title .mana-symbol{width:18px;height:18px}
  .mobile-gallery-type{margin:6px 0 9px;color:var(--text-secondary);font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-gallery-compact-controls{display:grid;grid-template-columns:minmax(108px,.9fr) minmax(150px,1.25fr);align-items:stretch;gap:8px;min-width:0}.mobile-gallery-quantity{display:grid;grid-template-columns:38px minmax(34px,1fr) 38px;align-items:center;min-width:0;height:50px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);overflow:hidden}.mobile-gallery-quantity button{height:100%;border:0;background:transparent;color:var(--text);font-size:19px;font-weight:800;touch-action:manipulation}.mobile-gallery-quantity button:active{background:var(--surface-3)}.mobile-gallery-quantity button:disabled{opacity:.28}.mobile-gallery-quantity strong{text-align:center;font-size:15px;font-variant-numeric:tabular-nums}
  .mobile-gallery-action-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0}.mobile-gallery-tool,.mobile-gallery-add{display:grid;place-items:center;align-content:center;gap:2px;min-width:0;height:50px;padding:3px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--text);touch-action:manipulation}.mobile-gallery-tool .icon,.mobile-gallery-add .icon{width:17px;height:17px}.mobile-gallery-tool span,.mobile-gallery-add span{max-width:100%;font-size:6.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-gallery-tool:active,.mobile-gallery-add:active{transform:scale(.96);background:var(--surface-3)}.mobile-gallery-tool.danger{color:var(--fantasy-danger)}.mobile-gallery-tool:disabled{opacity:.28}.mobile-gallery-add{grid-template-columns:auto auto;align-content:center;background:linear-gradient(180deg,var(--primary),var(--primary-2));border-color:color-mix(in srgb,var(--primary) 70%,white);color:#fff}.mobile-gallery-add.added{background:linear-gradient(180deg,var(--fantasy-success),color-mix(in srgb,var(--fantasy-success) 68%,black))}
  .mobile-gallery-sync{display:block;margin-top:5px;color:var(--muted);font-size:7.5px;text-align:center}.mobile-gallery-sync[data-status="saving"]{color:var(--fantasy-warning)}.mobile-gallery-sync[data-status="saved"]{color:var(--fantasy-success)}.mobile-gallery-sync[data-status="error"]{color:var(--fantasy-danger)}
  .mobile-gallery-sheet .mobile-card-expanded{display:grid!important;gap:11px!important;max-height:0!important;margin:0!important;padding:0!important;opacity:0!important;overflow:hidden!important;transform:translateY(8px);transition:max-height .3s cubic-bezier(.22,.78,.2,1),opacity .2s,transform .3s,padding .3s!important}.mobile-card-sheet.details-open .mobile-gallery-sheet .mobile-card-expanded{max-height:none!important;margin-top:13px!important;padding:13px 0 max(16px,env(safe-area-inset-bottom))!important;opacity:1!important;overflow:visible!important;transform:none!important;border-top:1px solid var(--line)}
  .mobile-gallery-sheet .mobile-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-gallery-sheet .mobile-card-facts span{min-width:0;padding:9px}.mobile-gallery-sheet .mobile-card-facts b{display:flex;align-items:center;min-height:20px;white-space:normal;overflow:visible}.mobile-gallery-sheet .mobile-card-facts .card-color-symbols .mana-symbol{width:18px;height:18px}
  .mobile-gallery-secondary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mobile-gallery-secondary-facts span{display:grid;gap:3px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.mobile-gallery-secondary-facts small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.mobile-gallery-secondary-facts b{font-size:10px;overflow-wrap:anywhere}.mobile-gallery-collapse{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:10px;font-weight:800}
}
@media(max-width:390px){
  .mobile-gallery-card{width:min(80vw,320px)}.mobile-gallery-sheet-body{padding-inline:12px}.mobile-gallery-compact-controls{grid-template-columns:minmax(102px,.85fr) minmax(142px,1.15fr);gap:6px}.mobile-gallery-action-dock{gap:4px}.mobile-gallery-tool span,.mobile-gallery-add span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){.mobile-gallery-card,.mobile-gallery-sheet{transition:none!important}}
.account-menu{background:var(--surface)}
@supports (background:color-mix(in srgb,black,white)){.account-menu{background:color-mix(in srgb,var(--surface) 96%,transparent)}.mobile-builder-toolbar,.swipe-actions{background:color-mix(in srgb,var(--surface) 94%,transparent)}}
.swap-tradeoff-grid section>small{display:block;margin-top:2px;color:var(--muted);font-size:8px}

/* ==========================================================================
   v0.11.4 — mobile delight + art-deco interaction pass
   ========================================================================== */
:root{
  --deco-metal:color-mix(in srgb,var(--fantasy-gold) 76%,var(--fantasy-bronze));
  --deco-metal-dim:color-mix(in srgb,var(--fantasy-bronze) 58%,transparent);
  --motion-fast:170ms;
  --motion-med:280ms;
  --motion-ease:cubic-bezier(.22,.82,.2,1);
}

/* A stepped Art-Deco corner language replaces the old plain L brackets. */
.priority-decision:before,
.advice-decision-card:after{
  background-image:
    linear-gradient(var(--deco-metal),var(--deco-metal)),linear-gradient(var(--deco-metal),var(--deco-metal)),
    linear-gradient(var(--deco-metal),var(--deco-metal)),linear-gradient(var(--deco-metal),var(--deco-metal)),
    linear-gradient(var(--deco-metal),var(--deco-metal)),linear-gradient(var(--deco-metal),var(--deco-metal)),
    linear-gradient(var(--deco-metal),var(--deco-metal)),linear-gradient(var(--deco-metal),var(--deco-metal)),
    linear-gradient(45deg,transparent 42%,var(--deco-metal) 43% 57%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--deco-metal) 43% 57%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--deco-metal) 43% 57%,transparent 58%),
    linear-gradient(45deg,transparent 42%,var(--deco-metal) 43% 57%,transparent 58%);
  background-repeat:no-repeat;
  background-size:
    29px 2px,2px 29px,29px 2px,2px 29px,29px 2px,2px 29px,29px 2px,2px 29px,
    11px 11px,11px 11px,11px 11px,11px 11px;
  background-position:
    top 11px left 11px,top 11px left 11px,top 11px right 11px,top 11px right 11px,
    bottom 11px left 11px,bottom 11px left 11px,bottom 11px right 11px,bottom 11px right 11px,
    top 5px left 37px,top 5px right 37px,bottom 5px left 37px,bottom 5px right 37px;
  filter:drop-shadow(0 0 3px rgba(232,199,122,.34));
}
.advice-decision-card:after{--deco-metal:var(--advice-accent-metal,var(--fantasy-bronze))}

/* Decorative separators: ornament is information hierarchy, not wallpaper. */
.builder-header .eyebrow,.mobile-sheet-head .eyebrow,.import-surface .surface-header h2{position:relative}
.builder-header .eyebrow:after,.mobile-sheet-head .eyebrow:after{min-width:34px;background:linear-gradient(90deg,var(--fantasy-bronze),transparent)}
.import-surface{position:relative;overflow:hidden}
.import-surface:before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--fantasy-bronze),var(--fantasy-gold),var(--fantasy-bronze),transparent);opacity:.75;pointer-events:none}
.import-surface:after{content:"◆";position:absolute;top:-7px;left:50%;transform:translateX(-50%);padding:0 8px;background:var(--surface);color:var(--fantasy-gold);font-size:9px;pointer-events:none}

/* Import CTA spacing — no glued buttons or accidental hierarchy. */
.import-surface .button-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:15px;align-items:stretch}
.import-surface .button-row .button{width:100%;min-height:44px;margin:0}
.import-surface .button-row .button:disabled{filter:saturate(.55);opacity:.42}

/* Deck images: use normal-resolution Scryfall art without stretching it. */
.deck-image-card img,.compact-card-row img,.mobile-card-manager>img{image-rendering:auto;object-position:center;transform:translateZ(0)}
.deck-image-card img{transition:transform var(--motion-med) var(--motion-ease),filter var(--motion-med) var(--motion-ease)}
@media(hover:hover){.deck-image-card:hover img{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}}

/* Desktop drag & drop: the deck visibly reacts before and after a drop. */
.deck-panel{position:relative;transition:border-color var(--motion-fast),box-shadow var(--motion-med),transform var(--motion-med)}
.deck-panel.drop-ready{border-color:var(--fantasy-gold)!important;box-shadow:0 0 0 1px rgba(232,199,122,.2),0 0 34px rgba(232,199,122,.16),inset 0 0 45px rgba(139,125,255,.045)}
.deck-panel.drop-ready:after{content:"Rilascia per aggiungere al mazzo";position:absolute;z-index:25;left:50%;top:72px;transform:translate(-50%,-8px);padding:9px 16px;border:1px solid var(--fantasy-gold);border-radius:999px;background:color-mix(in srgb,var(--obsidian) 92%,transparent);color:var(--fantasy-gold-pale);font:850 10px/1 var(--fantasy-serif);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 34px rgba(0,0,0,.38),0 0 22px rgba(232,199,122,.16);animation:dropCueIn .18s var(--motion-ease) both;pointer-events:none}
.deck-panel.drop-success{animation:deckDropSuccess .52s var(--motion-ease)}
body.deck-drag-active .library-panel .mtg-card:not(.dragging){opacity:.72;transition:opacity .16s}
.mtg-card.dragging{opacity:.38;transform:scale(.98);filter:saturate(.8)}
.deck-drag-ghost{position:fixed;z-index:9999;left:-1000px;top:-1000px;width:112px;padding:6px;border:1px solid var(--fantasy-gold);border-radius:12px;background:var(--obsidian);box-shadow:0 22px 60px rgba(0,0,0,.55),0 0 24px rgba(232,199,122,.2);pointer-events:none;overflow:hidden}.deck-drag-ghost img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:8px}.deck-drag-ghost b,.deck-drag-ghost span{display:block;padding-inline:4px}.deck-drag-ghost b{margin-top:6px;font-size:10px}.deck-drag-ghost span{margin-top:2px;color:var(--muted);font-size:8px}.deck-drag-ghost.ready{transform:rotate(-3deg)}
.deck-drop-flight{position:fixed;z-index:9998;width:76px;pointer-events:none;filter:drop-shadow(0 14px 28px rgba(0,0,0,.5))}.deck-drop-flight img{display:block;width:76px;aspect-ratio:488/680;object-fit:cover;border:1px solid var(--fantasy-gold);border-radius:8px}.deck-drop-flight span{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--fantasy-gold);color:var(--fantasy-gold);font-weight:900}
@keyframes dropCueIn{from{opacity:0;transform:translate(-50%,-16px) scale(.96)}to{opacity:1;transform:translate(-50%,-8px) scale(1)}}
@keyframes deckDropSuccess{0%{transform:none}38%{transform:scale(1.006);box-shadow:0 0 0 2px rgba(95,207,143,.22),0 0 38px rgba(95,207,143,.18)}100%{transform:none}}

/* Tinder navigation: a central, glanceable counter and direct next/prev. */
.swipe-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(220px,.55fr);align-items:center;gap:14px}
.swipe-head-copy{min-width:0}.swipe-head-copy h2{margin-bottom:0}
/* .swipe-counter is fully redefined below, in the un-gated rule near
   .swipe-controller — this old circular-badge version is superseded and
   kept out to avoid two conflicting definitions of the same element. */
.swipe-navigation{display:grid;grid-template-columns:38px minmax(90px,1fr) 38px;align-items:center;gap:8px}.swipe-navigation>button{width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);cursor:pointer;font-size:16px;transition:.16s}.swipe-navigation>button:hover:not(:disabled){border-color:var(--fantasy-bronze);transform:translateY(-1px)}.swipe-navigation>button:disabled{opacity:.25;cursor:default}
.advice-decision-card.swipe-out-left{animation:swipeOutLeft .17s ease-in both}.advice-decision-card.swipe-out-right{animation:swipeOutRight .17s ease-in both}
@keyframes swipeOutLeft{to{opacity:0;transform:translateX(-34px) rotate(-1.5deg) scale(.985)}}@keyframes swipeOutRight{to{opacity:0;transform:translateX(34px) rotate(1.5deg) scale(.985)}}

/* Mobile card sheet can be pulled/tapped into a second information stage. */
.mobile-sheet-card{transition:max-height var(--motion-med) var(--motion-ease),transform var(--motion-med) var(--motion-ease);overflow:auto;overscroll-behavior:contain}
.mobile-sheet-handle{cursor:ns-resize;touch-action:none;position:relative}.mobile-sheet-handle:after{content:"";position:absolute;inset:-12px -34px}
.mobile-card-expanded{display:grid;gap:11px;max-height:0;opacity:0;overflow:hidden;padding:0 15px;transform:translateY(8px);transition:max-height .32s var(--motion-ease),opacity .22s,transform .32s var(--motion-ease),padding .32s}
.mobile-card-sheet.details-open .mobile-card-expanded{max-height:65vh;opacity:1;transform:none;padding:2px 15px 18px}
.mobile-card-sheet.details-open .mobile-sheet-card{max-height:88dvh}
.mobile-card-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mobile-card-facts span{display:grid;gap:3px;padding:9px 7px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);min-width:0}.mobile-card-facts small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.mobile-card-facts b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-oracle{padding:11px 12px;border:1px solid var(--fantasy-bronze-dim);border-radius:10px;background:var(--bg-soft)}.mobile-oracle>b{font:800 10px/1 var(--fantasy-serif);color:var(--fantasy-gold-pale);text-transform:uppercase;letter-spacing:.08em}.mobile-oracle p{margin:7px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.55;white-space:pre-line}.mobile-card-tags{display:flex;gap:5px;flex-wrap:wrap}.mobile-card-tags span{padding:5px 7px;border:1px solid rgba(139,125,255,.24);border-radius:999px;background:rgba(139,125,255,.07);font-size:8px;color:#cbc6ff}.mobile-full-details{width:100%}.mobile-deck-qty button.tap-pulse{animation:tapPulse .18s ease-out}@keyframes tapPulse{50%{background:rgba(139,125,255,.28);transform:scale(.96)}}

/* Account theme menu remains readable in every theme. */
.account-theme-row button{font-family:system-ui,-apple-system,sans-serif;font-weight:700}
.account-menu-item b{color:var(--text)}.account-menu-item small{color:var(--text-secondary)}
:root[data-theme="light"] .account-menu,:root[data-theme="light"] .account-trigger{color:#171c26;border-color:#c9c2b4}:root[data-theme="light"] .account-theme-row{background:#ebe8e1;border-color:#d1cabd}:root[data-theme="light"] .account-theme-row button{color:#596273}:root[data-theme="light"] .account-theme-row button.active{background:#fff;color:#171c26;box-shadow:0 2px 8px rgba(41,33,20,.12)}:root[data-theme="light"] .account-menu-item:hover{background:#eeeae2}:root[data-theme="light"] .account-menu-item small{color:#657083}
@media(prefers-color-scheme:light){:root[data-theme="system"] .account-menu,:root[data-theme="system"] .account-trigger{color:#171c26;border-color:#c9c2b4}:root[data-theme="system"] .account-theme-row{background:#ebe8e1;border-color:#d1cabd}:root[data-theme="system"] .account-theme-row button{color:#596273}:root[data-theme="system"] .account-theme-row button.active{background:#fff;color:#171c26}:root[data-theme="system"] .account-menu-item:hover{background:#eeeae2}:root[data-theme="system"] .account-menu-item small{color:#657083}}

@media(max-width:780px){
  /* Mobile top chrome: search is a real full-width command bar. */
  .appbar{padding:10px 12px 12px;row-gap:10px}.command-search{grid-column:1/-1!important;width:100%;height:48px;border-radius:15px;padding-inline:13px}.command-search input{font-size:15px}.command-search .icon{width:21px;height:21px}.command-search kbd{min-width:32px;text-align:center}
  .builder-header .header-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"save forge" "analyze import" "new more";gap:9px;margin-top:13px;width:100%}
  .builder-header .header-actions>#saveDeckBtn{grid-area:save}.builder-header .header-actions>#openDeckForge{grid-area:forge}.builder-header .header-actions>#analyzeBtn{grid-area:analyze}.builder-header .header-actions>#deckCsvBtn{grid-area:import}.builder-header .header-actions>#newDeckBtn{grid-area:new}.builder-header .header-actions>.builder-more{grid-area:more}
  .builder-header .header-actions>.button,.builder-header .header-actions>.builder-more,.builder-header .header-actions>.builder-more>summary{width:100%;min-height:54px}.builder-header .header-actions>#saveDeckBtn,.builder-header .header-actions>#openDeckForge{font-size:14px;box-shadow:0 9px 24px rgba(0,0,0,.24)}.builder-header .header-actions>#analyzeBtn,.builder-header .header-actions>#deckCsvBtn{min-height:48px}.builder-header .header-actions>#newDeckBtn,.builder-header .header-actions>.builder-more>summary{min-height:44px}
  /* KPIs become a stable 2x2 grid instead of a clipped horizontal carousel. */
  .deck-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;padding:0!important}.deck-kpi{min-width:0!important;min-height:74px!important;flex:auto!important;display:grid!important;grid-template-columns:1fr!important;align-content:center!important;gap:5px!important;padding:10px 12px!important}.deck-kpi>span{font-size:8px!important}.deck-kpi>div{justify-content:flex-start!important}.deck-kpi b{font-size:22px!important}.deck-kpi small{font-size:8px!important;overflow:hidden;text-overflow:ellipsis}
  .mobile-builder-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;width:100%;top:116px;padding:8px;gap:8px}.mobile-builder-toolbar .button{width:100%;min-height:48px}.mobile-builder-toolbar>span{min-width:64px;text-align:center}
  .mobile-sheet-card{max-height:58dvh}.mobile-sheet-head{padding:13px 16px}.mobile-card-manager{grid-template-columns:102px minmax(0,1fr);padding:15px 16px}.mobile-card-manager>img{width:102px}.mobile-deck-qty{max-width:none;width:100%;grid-template-columns:58px minmax(58px,1fr) 58px}.mobile-deck-qty button{height:58px}.mobile-sheet-actions{grid-template-columns:1fr 1fr;gap:9px}.mobile-sheet-actions .button{min-height:48px}
  .priority-gauge-block{justify-self:center!important;flex-direction:column!important;margin-top:3px}.priority-gauge{width:92px;height:92px}
}

@media(max-width:720px){
  .swipe-head-copy h2{font-size:12px;line-height:1.35}.swipe-head .eyebrow{font-size:10px}
  .swipe-progress{height:7px}
  .advice-stack{touch-action:pan-y}.swipe-card.advice-decision-card.type-swap{padding:9px}.swap-card-side img,.swap-image-fallback{aspect-ratio:488/680;object-fit:cover}
  .import-surface .button-row{grid-template-columns:1fr}.import-surface .button-row .button{min-height:50px}
}

@media(max-width:430px){
  .builder-header .header-actions{gap:7px}.builder-header .header-actions>.button,.builder-header .header-actions>.builder-more,.builder-header .header-actions>.builder-more>summary{font-size:12px}
  .deck-kpi{min-height:70px!important}.deck-kpi b{font-size:20px!important}.deck-kpi small{max-width:92px}
  .mobile-card-manager{grid-template-columns:88px minmax(0,1fr)}.mobile-card-manager>img{width:88px}.mobile-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .swap-tradeoff-grid{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  .advice-decision-card,.deck-image-card img,.mobile-sheet-card,.mobile-card-expanded,.deck-panel,.deck-drop-flight{animation:none!important;transition:none!important}.deck-panel.drop-ready:after{animation:none!important}
}

/* ==========================================================================
   v0.11.5 — genuine mobile refit + Art-Deco rebrand + paper-light drag
   ========================================================================== */
:root{
  --deco-cut:14px;
  --deco-line:color-mix(in srgb,var(--fantasy-gold) 74%,var(--fantasy-bronze));
  --deco-line-soft:color-mix(in srgb,var(--fantasy-bronze) 62%,transparent);
  --deco-glow:rgba(232,199,122,.15);
}

/* Header is still available everywhere, but no longer consumes the screen
   forever. It glides away while reading and returns as soon as the user
   scrolls upward. */
.appbar{transition:transform .26s cubic-bezier(.22,.82,.2,1),box-shadow .22s,background .22s;will-change:transform}
body.header-hidden .appbar{transform:translateY(calc(-100% - 4px));box-shadow:none}
#mobileNavButton .icon{width:24px;height:24px;stroke-width:2.25}
#mobileNavButton{color:var(--fantasy-gold-pale);background:linear-gradient(145deg,rgba(27,31,44,.96),rgba(9,11,18,.98));border-color:var(--deco-line-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 5px 16px rgba(0,0,0,.28)}
#mobileNavButton[aria-expanded="true"]{border-color:var(--fantasy-gold);box-shadow:0 0 18px var(--deco-glow),inset 0 0 0 1px rgba(232,199,122,.16)}

/* Rebrand: diagonal Art-Deco corner strokes, central diamonds and restrained
   metalwork replace the old right-angle L brackets. No content clipping. */
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card){
  position:relative;
  border-color:color-mix(in srgb,var(--fantasy-bronze) 54%,var(--line));
  background-image:
    linear-gradient(135deg,transparent 45%,var(--deco-line) 47% 53%,transparent 55%),
    linear-gradient(-135deg,transparent 45%,var(--deco-line) 47% 53%,transparent 55%),
    linear-gradient(45deg,transparent 45%,var(--deco-line-soft) 47% 53%,transparent 55%),
    linear-gradient(-45deg,transparent 45%,var(--deco-line-soft) 47% 53%,transparent 55%),
    var(--fantasy-panel);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:26px 26px,26px 26px,22px 22px,22px 22px,100% 100%;
  background-position:top 7px left 7px,top 7px right 7px,bottom 7px left 7px,bottom 7px right 7px,0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 42px rgba(0,0,0,.26);
}
:is(.priority-decision,.advice-decision-card):before,
.advice-decision-card:after{background-image:none!important;filter:none!important}
.priority-decision,.advice-decision-card{border-width:1px;border-color:var(--fantasy-bronze);box-shadow:0 0 0 1px rgba(232,199,122,.08),0 22px 52px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.04)}

/* Symmetric deco rule instead of a one-sided cyber line. */
.surface-header,.panel-header{padding-bottom:15px;border-bottom:0}
.surface-header:after,.panel-header:after{
  left:50%;bottom:0;width:min(300px,72%);height:7px;transform:translateX(-50%);
  background:
    linear-gradient(90deg,transparent,var(--deco-line-soft) 14%,var(--deco-line) 48%,transparent 48% 52%,var(--deco-line) 52%,var(--deco-line-soft) 86%,transparent) center/100% 1px no-repeat,
    linear-gradient(45deg,var(--deco-line) 49%,transparent 50%) center/7px 7px no-repeat,
    linear-gradient(-45deg,var(--deco-line) 49%,transparent 50%) center/7px 7px no-repeat;
  box-shadow:none;
}
.eyebrow:before{width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--fantasy-gold);background:rgba(232,199,122,.1);box-shadow:0 0 10px var(--deco-glow)}

/* Important controls receive subtle clipped corners instead of rounded SaaS
   pills. Inputs stay conventional for readability. */
.button:not(.icon-only),.segment,.library-source-toggle button,.filter-clear{
  border-radius:2px;
  clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);
}
.button.primary,.button.forge-cta{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 24px rgba(81,64,185,.22)}
.button.forge-cta{background:linear-gradient(155deg,#8a602b,#bd8b45 58%,#75501f);border-color:#e6c982}

/* High-DPI card rendering: normal Scryfall size can be selected by srcset on
   Retina/high-DPR screens, while lazy loading remains enabled. */
.mtg-card img,.deck-image-card img,.mobile-card-manager>img{image-rendering:auto;-webkit-font-smoothing:antialiased;backface-visibility:hidden}
.library-grid .mtg-card img{filter:saturate(1.015) contrast(1.01)}

/* Paper-light desktop drag. The card is visually detached from the grid and
   follows the pointer directly with a tiny velocity-based bend/tilt. */
.paper-drag-ghost{position:fixed;z-index:10000;left:0;top:0;width:clamp(112px,9vw,154px);pointer-events:none;transform-origin:50% 72%;will-change:transform,filter,opacity;filter:drop-shadow(0 22px 26px rgba(0,0,0,.44)) drop-shadow(0 0 12px rgba(232,199,122,.12));opacity:.985}
.paper-drag-ghost:after{content:"";position:absolute;inset:1px;border:1px solid rgba(232,199,122,.56);clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px);pointer-events:none}
.paper-drag-ghost img{display:block;width:100%;aspect-ratio:488/680;object-fit:cover;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.paper-drag-ghost .paper-drag-label{position:absolute;left:8px;right:8px;bottom:8px;padding:6px 7px;background:linear-gradient(180deg,transparent,rgba(3,5,10,.9) 34%);color:#fff;font-size:9px;font-weight:800;text-shadow:0 1px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-dragging{cursor:grabbing!important;user-select:none}
body.paper-dragging .library-panel .mtg-card:not(.paper-origin){opacity:.78}
.mtg-card.paper-origin{opacity:.22;transform:scale(.975);transition:opacity .12s,transform .12s}
.deck-panel.paper-drop-ready{border-color:var(--fantasy-gold)!important;box-shadow:0 0 0 1px rgba(232,199,122,.22),0 0 44px rgba(232,199,122,.16),inset 0 0 70px rgba(91,224,214,.045)}
.deck-panel.paper-drop-ready .deck-panel-header:after{filter:drop-shadow(0 0 6px rgba(232,199,122,.45))}
.paper-drop-ripple{position:absolute;z-index:30;width:14px;height:14px;border:1px solid var(--fantasy-gold);border-radius:50%;pointer-events:none;animation:paperDropRipple .58s ease-out forwards}
@keyframes paperDropRipple{to{width:120px;height:120px;margin:-53px;opacity:0;border-color:rgba(95,207,143,.25)}}

/* Mobile is a dedicated layout, not a scaled desktop. */
@media(max-width:780px){
  .appbar{position:sticky;top:0;z-index:80;padding:8px 14px 10px;gap:10px;background:linear-gradient(180deg,rgba(7,9,15,.97),rgba(7,9,15,.91));backdrop-filter:blur(15px)}
  .command-search{height:50px;border-radius:14px;padding-inline:14px}.command-search input{font-size:16px}.command-search kbd{display:none}
  .main-content{padding:18px 16px 44px;max-width:none;margin:0}
  .page-header{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}.page-header>div:first-child{max-width:none}.page-header h1{font-size:clamp(25px,7vw,31px);line-height:1.08}.page-header p{font-size:13px;line-height:1.55}
  .page-header .header-actions{display:grid!important;grid-template-columns:1fr!important;width:min(80%,420px);margin:0 auto;gap:10px}.page-header .header-actions>.button,.page-header .header-actions>a.button{width:100%;min-height:50px;margin:0}

  /* Builder identity occupies the real viewport width. */
  .builder-header{display:grid!important;gap:16px}.builder-header .deck-identity{width:100%;min-width:0}.deck-title-row{display:grid;grid-template-columns:1fr;gap:9px;width:100%}.deck-name-field,.deck-name-field input,.deck-name{display:block;width:100%!important;min-width:0!important;max-width:none!important}.deck-name-field{padding:0}.deck-name{font-size:clamp(24px,7vw,31px);min-height:62px;padding:10px 14px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:var(--bg-soft)!important}.save-state{justify-self:start}.deck-meta-row{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:10px}.deck-meta-row>*,.commander-field,.commander-field>input,#deckTags{width:100%;min-width:0;min-height:52px;font-size:15px}
  .builder-header .header-actions{width:min(80%,430px);margin-inline:auto;grid-template-columns:1fr!important;grid-template-areas:none!important;gap:9px}.builder-header .header-actions>.button,.builder-header .header-actions>.builder-more{width:100%;min-height:50px;grid-area:auto!important}

  /* No cropped KPI conveyor: all metrics are visible in a stable 2×2 grid. */
  .deck-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;padding:0!important}.deck-kpi{min-width:0!important;width:auto!important;min-height:96px!important;flex:none!important;padding:14px!important}.deck-kpi>span{font-size:9px}.deck-kpi b{font-size:clamp(25px,7vw,34px)!important}.deck-kpi small{font-size:9px!important;line-height:1.25}
  .mobile-builder-toolbar{width:min(80%,430px);margin:14px auto 18px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mobile-builder-toolbar>.button{width:100%;min-height:50px}.mobile-builder-toolbar>.muted{grid-column:1/-1;text-align:center;padding-top:2px}
  .deck-panel{padding:14px!important}.deck-panel-header{display:grid;grid-template-columns:1fr;gap:12px}.deck-panel-header .segmented{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.deck-panel-header .segment{min-height:42px}

  /* Collection: breathing room, full-width controls and cards sized for touch. */
  .collection-workspace{display:grid!important;grid-template-columns:1fr!important;gap:16px}.surface{padding:16px!important;margin:0 0 16px!important}.collection-browser{overflow:visible}.collection-browser .surface-header,.admin-grid .surface-header{display:grid;grid-template-columns:1fr;gap:12px}.collection-browser .surface-header>.button,.admin-grid .surface-header>.button{width:min(80%,360px);justify-self:center;min-height:48px}.collection-quick-add{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:0 0 18px!important}.collection-quick-add>*{width:100%!important;grid-column:auto!important;min-height:48px}.collection-filter-panel{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:0 0 16px!important}.collection-filter-panel>*{height:48px!important;grid-column:auto!important}.collection-selection-bar{display:grid!important;grid-template-columns:1fr;gap:10px;padding:13px 0!important;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collection-selection-bar>*{width:100%;margin:0!important}.collection-selection-bar .button{min-height:46px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0!important}.collection-grid .mtg-card-info{padding:9px}.collection-grid .mtg-card-name{font-size:11px}.collection-card-actions{grid-template-columns:40px 1fr 40px 40px;gap:5px}.collection-card-actions button{height:40px;font-size:18px}

  /* Administration: one readable column, no compressed desktop tables. */
  .admin-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px}.admin-grid>.surface{grid-column:auto!important}.admin-user-row{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;padding:15px 0!important}.admin-user-stats{grid-column:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-user-stats span{padding:8px 9px;text-align:center}.admin-user-row>.button{width:min(80%,320px);min-height:46px;justify-self:center}.admin-activity-columns{grid-template-columns:1fr!important;padding:0!important;gap:18px!important}.knowledge-status{padding:0!important}.settings-grid{grid-template-columns:1fr!important}

  /* Generic page surfaces/dialogs are allowed to breathe on narrow screens. */
  .surface-header,.panel-header{gap:12px}.surface-header h2,.panel-header h2{font-size:18px}.surface-header p{font-size:12px;line-height:1.55}.modal{padding:6px}.modal-card{width:calc(100vw - 12px)!important;max-width:none!important;max-height:94dvh!important;padding:18px!important}.modal-header{align-items:flex-start}.button-row{gap:10px}

  /* Mobile card management clearly advertises the second stage. */
  .mobile-sheet-card{max-height:72dvh}.mobile-sheet-head{padding:16px}.mobile-sheet-handle{height:26px}.mobile-sheet-handle:before{content:"Scorri per dettagli";position:absolute;left:50%;top:13px;transform:translate(-50%,7px);font-size:8px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;opacity:.8}.mobile-card-manager{padding:17px;gap:15px}.mobile-card-manager>img{width:96px!important}.mobile-sheet-actions{grid-template-columns:1fr;gap:9px}.mobile-sheet-actions .button{min-height:48px}.mobile-deck-qty{max-width:none;width:100%}
}

@media(max-width:430px){
  .main-content{padding-inline:13px}.page-header .header-actions,.builder-header .header-actions,.mobile-builder-toolbar{width:84%}.deck-kpis{grid-template-columns:1fr 1fr!important}.deck-kpi{min-height:90px!important;padding:12px!important}.collection-grid{gap:9px!important}.collection-card-actions{grid-template-columns:36px 1fr 36px 36px}.collection-card-actions button{height:36px}.mobile-card-manager{grid-template-columns:88px minmax(0,1fr)!important}.mobile-card-manager>img{width:88px!important}
}

/* Light mode keeps the same metal hierarchy without losing text contrast. */
:root[data-theme="light"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card){background-color:#fff;background-image:linear-gradient(135deg,transparent 45%,rgba(138,99,29,.72) 47% 53%,transparent 55%),linear-gradient(-135deg,transparent 45%,rgba(138,99,29,.72) 47% 53%,transparent 55%),linear-gradient(45deg,transparent 45%,rgba(139,106,62,.45) 47% 53%,transparent 55%),linear-gradient(-45deg,transparent 45%,rgba(139,106,62,.45) 47% 53%,transparent 55%),linear-gradient(160deg,#fff,#f6f4ef)}
@media(prefers-color-scheme:light){:root[data-theme="system"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card){background-color:#fff;background-image:linear-gradient(135deg,transparent 45%,rgba(138,99,29,.72) 47% 53%,transparent 55%),linear-gradient(-135deg,transparent 45%,rgba(138,99,29,.72) 47% 53%,transparent 55%),linear-gradient(45deg,transparent 45%,rgba(139,106,62,.45) 47% 53%,transparent 55%),linear-gradient(-45deg,transparent 45%,rgba(139,106,62,.45) 47% 53%,transparent 55%),linear-gradient(160deg,#fff,#f6f4ef)}}

/* v0.11.5 final hierarchy polish */
@media(max-width:780px){
  .builder-header .header-actions>#saveDeckBtn{order:1}
  .builder-header .header-actions>#openDeckForge{order:2}
  .builder-header .header-actions>#analyzeBtn{order:3}
  .builder-header .header-actions>#deckCsvBtn{order:4}
  .builder-header .header-actions>#newDeckBtn{order:5}
  .builder-header .header-actions>.builder-more{order:6}
  .builder-header .header-actions>.builder-more>summary{width:100%;min-height:50px}
  .builder-header .header-actions>.builder-more>div{left:0;right:0;min-width:0;width:100%}
  .analysis-panel[data-analysis-panel="suggestions"]{margin-inline:0!important}
  .swipe-workspace{width:100%;max-width:none;margin:0 auto}
  .advice-stack{width:100%;margin-inline:auto}
  .advice-decision-card{width:100%;max-width:100%;margin-inline:auto}
}
@media(min-width:781px){
  .analysis-panel[data-analysis-panel="suggestions"]{max-width:1500px;margin-inline:auto}
  .swipe-workspace{max-width:1320px;margin-inline:auto}
  .advice-decision-card{max-width:1180px;margin-inline:auto}
}

/* Keep camera-first overrides last: legacy scanner compatibility rules above
   must never turn the phone experience back into a framed dialog. */
@media(max-width:780px){
dialog.scanner-modal[open]{position:fixed!important;inset:0!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#000!important;overflow:hidden!important}
dialog.scanner-modal .scanner-shell{position:absolute!important;inset:0!important;display:block!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-height:none!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
dialog.scanner-modal .scanner-layout,dialog.scanner-modal .scanner-camera-panel,dialog.scanner-modal .scanner-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
dialog.scanner-modal .scanner-viewport video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
dialog.scanner-modal .scanner-topbar{position:absolute!important;z-index:30!important;inset:0 0 auto!important;display:block!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;pointer-events:none!important}
dialog.scanner-modal #closeCollectionScanner{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;left:12px!important;width:46px!important;height:46px!important;background:rgba(17,18,22,.72)!important;backdrop-filter:blur(16px);pointer-events:auto!important}
dialog.scanner-modal .scanner-topbar>div:not(.scanner-hud-rail){display:none!important}dialog.scanner-modal .scanner-hud-rail{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;right:12px!important;display:flex!important;flex-direction:column!important;gap:1px!important;width:52px!important;padding:5px!important;border-radius:26px!important;background:rgba(18,18,22,.68)!important;backdrop-filter:blur(18px);pointer-events:auto!important}
dialog.scanner-modal .scanner-archive-button,dialog.scanner-modal .scanner-rail-action{width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;justify-content:center!important}dialog.scanner-modal .scanner-archive-button span{display:none!important}
dialog.scanner-modal .scanner-frame{inset:50% auto auto 50%!important;width:min(70vw,390px)!important;max-height:72dvh!important;transform:translate(-50%,-50%)!important;opacity:.28!important}dialog.scanner-modal .scanner-frame:after{box-shadow:none!important}
dialog.scanner-modal .scanner-controls{position:absolute!important;z-index:14!important;right:0!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:0!important;display:grid!important;grid-template-columns:52px 64px 52px!important;justify-content:center!important;gap:24px!important;margin:0!important}dialog.scanner-modal .scanner-camera-toggle{width:52px!important;min-height:52px!important;border-radius:50%!important;background:rgba(20,21,27,.72)!important}dialog.scanner-modal .scanner-camera-toggle span{display:none!important}
dialog.scanner-modal .scanner-camera-options{position:absolute!important;z-index:28!important;top:calc(157px + env(safe-area-inset-top))!important;right:12px!important;width:min(260px,calc(100vw - 24px))!important;padding:12px!important;border-radius:17px!important;background:rgba(17,18,23,.88)!important;color:#fff!important;backdrop-filter:blur(18px)}dialog.scanner-modal .scanner-camera-options[hidden]{display:none!important}
dialog.scanner-modal .scanner-message{position:absolute!important;z-index:13!important;right:72px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;left:72px!important;min-height:0!important;margin:0!important;padding:6px 9px!important;border:0!important;border-radius:999px!important;background:rgba(12,13,18,.65)!important;color:rgba(255,255,255,.78)!important;font-size:8px!important;text-align:center!important}
dialog.scanner-modal .scanner-latest{position:absolute!important;z-index:18!important;right:48px!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;left:48px!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:7px!important;border-radius:21px!important;background:rgba(16,16,19,.74)!important;backdrop-filter:blur(20px)!important}dialog.scanner-modal .scanner-latest[hidden]{display:none!important}
dialog.scanner-modal .scanner-results-panel.scanner-archive{position:absolute!important;z-index:40!important;inset:12dvh 0 0!important;display:grid!important;width:100%!important;height:88dvh!important;padding:18px 12px calc(12px + env(safe-area-inset-bottom))!important;border-radius:26px 26px 0 0!important;background:#0a0b0f!important;transform:translateY(105%)!important;transition:transform .28s cubic-bezier(.22,.8,.22,1)!important}dialog.scanner-modal .scanner-results-panel.scanner-archive.is-open{transform:translateY(0)!important}
dialog.scanner-modal.camera-active .scanner-frame{display:none!important}
dialog.scanner-modal.camera-active .scanner-controls{opacity:0!important;pointer-events:none!important;transform:translateY(18px)!important;transition:opacity .2s ease,transform .2s ease!important}
dialog.scanner-modal.camera-active .scanner-message{right:calc(50% - 74px)!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;left:calc(50% - 74px)!important;opacity:.68!important}
dialog.scanner-modal.camera-active .scanner-latest{bottom:calc(18px + env(safe-area-inset-bottom))!important}
dialog.scanner-modal.camera-active .scanner-camera-panel:has(.scanner-latest:not([hidden])) .scanner-message{opacity:0!important}
}

/* v0.15.2 — bracket evidence page and ManaBox-inspired camera-first scanner. */
.bracket-analysis-page{display:grid;gap:14px}.bracket-hero{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:22px;padding:24px;border:1px solid color-mix(in srgb,var(--cyan) 45%,var(--line));border-radius:20px;background:radial-gradient(circle at 7% 50%,rgba(88,215,208,.16),transparent 32%),linear-gradient(145deg,var(--surface),var(--bg-soft));box-shadow:0 18px 42px rgba(0,0,0,.25)}.bracket-hero h2{margin:5px 0 7px;font-size:clamp(20px,3vw,32px)}.bracket-hero p{margin:0;color:var(--text-secondary);line-height:1.55}.bracket-level{display:grid;place-items:center;align-content:center;aspect-ratio:1;border:1px solid var(--fantasy-bronze);border-radius:50%;background:radial-gradient(circle,var(--obsidian) 52%,rgba(202,159,80,.3) 54%,var(--graphite) 68%);box-shadow:0 0 28px rgba(88,215,208,.18)}.bracket-level small,.bracket-level b{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.bracket-level strong{font-size:58px;line-height:.95}.bracket-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.bracket-evidence span,.bracket-card-tags span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:8px}.bracket-combo-section{display:grid;gap:9px}.bracket-infinite-count{padding:6px 9px;border-radius:999px;background:rgba(240,86,103,.12);color:#ff8b98;font-size:9px;font-weight:800}.bracket-combo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft)}.bracket-combo.infinite{border-color:rgba(240,86,103,.42)}.bracket-combo span,.bracket-combo small{color:var(--muted);font-size:8px}.bracket-combo h3{margin:2px 0;font-size:14px}.bracket-combo strong{align-self:center;color:var(--cyan);font-size:10px}.bracket-combo.infinite strong{color:#ff8b98}.bracket-combo p,.bracket-combo small{grid-column:1/-1;margin:2px 0;line-height:1.45}.bracket-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bracket-direction{display:grid;align-content:start;gap:8px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.bracket-direction header{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:3px}.bracket-direction header span{grid-column:1/-1;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.bracket-direction header strong{font-size:20px}.bracket-direction header small{color:var(--cyan)}.bracket-direction.down header small{color:var(--fantasy-gold-pale)}.bracket-direction article{padding:11px;border-radius:12px;background:var(--bg-soft)}.bracket-direction article b{font-size:11px}.bracket-direction article p{margin:4px 0;color:var(--text-secondary);font-size:9px;line-height:1.45}.bracket-card-tags{display:flex;flex-wrap:wrap;gap:4px}.bracket-disclaimer{margin:0;color:var(--muted);font-size:9px;text-align:center}

.commander-result-list{display:flex;flex-direction:column;gap:14px}.commander-result-card{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.commander-result-art{display:block;width:100%;padding:0;border:0;background:none;border-radius:11px;overflow:hidden;cursor:pointer}.commander-result-art img{display:block;width:100%;aspect-ratio:63/88;object-fit:cover;border-radius:11px}.commander-result-art span{display:grid;place-items:center;aspect-ratio:63/88;background:var(--surface-3);color:var(--muted);font-size:28px}.commander-result-body{display:flex;flex-direction:column;gap:10px;min-width:0}.commander-result-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.commander-result-title h3{margin:2px 0 0;font-size:20px}.commander-result-title p{margin:2px 0 0;color:var(--muted);font-size:12px}.commander-fit-pill{--fit:0;flex-shrink:0;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--primary) calc(var(--fit)*1%),var(--surface-3) 0);filter:drop-shadow(0 0 14px rgba(139,125,255,.28));position:relative}.commander-fit-pill:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}.commander-fit-pill b,.commander-fit-pill small{position:relative;display:block;text-align:center}.commander-fit-pill b{font-size:19px;line-height:1.1}.commander-fit-pill small{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.commander-overall-track{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.commander-overall-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--cyan))}.commander-result-text{margin:0;color:var(--text);font-size:12px;line-height:1.5;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.commander-fit-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.commander-fit-stat{display:flex;flex-direction:column;gap:5px}.commander-fit-stat span{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.commander-fit-stat span b{color:var(--text);font-weight:700;text-transform:none;letter-spacing:0}.commander-fit-stat span strong{color:var(--text);font-weight:800}.commander-fit-stat i{display:block;height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.commander-fit-stat i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--cyan));text-decoration:none}.commander-result-reasons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.commander-result-reasons span{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px;color:var(--muted)}.commander-result-reasons span.owned{color:#9ee8bd;background:rgba(98,211,148,.1);border-color:rgba(98,211,148,.28)}.commander-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}

.scanner-hud-rail{display:flex!important;flex-direction:column;gap:4px!important}.scanner-rail-action{display:grid;place-items:center;width:42px;height:42px;border:0;background:transparent;color:#fff;font-size:25px}.scanner-rail-action svg{width:20px;height:20px}.scanner-rail-action:disabled{opacity:.32}.scanner-rail-action.active{color:var(--fantasy-gold)}.scanner-latest-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px}.scanner-latest-options{display:grid;grid-template-columns:repeat(4,1fr);width:100%;min-height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:8px}.scanner-latest-options>*{display:grid;place-items:center}.scanner-latest-options strong{color:var(--fantasy-gold);font-size:10px}
@media(max-width:780px){
  .bracket-hero{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px}.bracket-level strong{font-size:38px}.bracket-direction-grid{grid-template-columns:1fr}.bracket-combo{grid-template-columns:1fr}.bracket-combo strong{justify-self:start}
  dialog.scanner-modal[open]{position:fixed!important;inset:0!important;display:block!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#000!important;overflow:hidden!important}
  dialog.scanner-modal .scanner-shell{position:absolute!important;inset:0!important;display:block!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-height:none!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
  dialog.scanner-modal .scanner-layout,dialog.scanner-modal .scanner-camera-panel,dialog.scanner-modal .scanner-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
  dialog.scanner-modal .scanner-viewport video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
  dialog.scanner-modal .scanner-topbar{position:absolute!important;z-index:30!important;inset:0 0 auto!important;display:block!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;pointer-events:none!important}
  dialog.scanner-modal #closeCollectionScanner{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;left:12px!important;width:46px!important;height:46px!important;border-color:rgba(255,255,255,.25)!important;background:rgba(17,18,22,.72)!important;backdrop-filter:blur(16px);pointer-events:auto!important}
  dialog.scanner-modal .scanner-topbar>div:not(.scanner-hud-rail){display:none!important}
  dialog.scanner-modal .scanner-hud-rail{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;right:12px!important;display:flex!important;flex-direction:column!important;gap:1px!important;width:52px!important;padding:5px!important;border-radius:26px!important;background:rgba(18,18,22,.68)!important;backdrop-filter:blur(18px);pointer-events:auto!important}
  dialog.scanner-modal .scanner-archive-button,dialog.scanner-modal .scanner-rail-action{width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;justify-content:center!important}
  dialog.scanner-modal .scanner-archive-button span{display:none!important}
  dialog.scanner-modal .scanner-frame{inset:50% auto auto 50%!important;width:min(70vw,390px)!important;max-height:72dvh!important;transform:translate(-50%,-50%)!important;opacity:.32!important}
  dialog.scanner-modal .scanner-frame:after{border-color:rgba(255,255,255,.38)!important;box-shadow:none!important}
  dialog.scanner-modal .scanner-idle{z-index:1!important;background:#07090f!important}
  dialog.scanner-modal .scanner-busy{z-index:12!important;inset:auto 76px calc(92px + env(safe-area-inset-bottom)) 76px!important;display:flex!important;align-items:center!important;padding:9px 12px!important;border:0!important;border-radius:999px!important;background:rgba(12,13,18,.72)!important}
  dialog.scanner-modal .scanner-busy[hidden]{display:none!important}
  dialog.scanner-modal .scanner-controls{position:absolute!important;z-index:14!important;right:0!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:0!important;display:grid!important;grid-template-columns:52px 64px 52px!important;justify-content:center!important;gap:24px!important;margin:0!important}
  dialog.scanner-modal .scanner-camera-toggle{width:52px!important;min-height:52px!important;border-radius:50%!important;background:rgba(20,21,27,.72)!important;backdrop-filter:blur(15px)}
  dialog.scanner-modal .scanner-camera-toggle span{display:none!important}
  dialog.scanner-modal .scanner-shutter{width:64px!important;height:64px!important;background:rgba(8,8,10,.4)!important}
  dialog.scanner-modal .scanner-camera-options{position:absolute!important;z-index:28!important;top:calc(157px + env(safe-area-inset-top))!important;right:12px!important;display:grid!important;width:min(260px,calc(100vw - 24px))!important;padding:12px!important;border-radius:17px!important;background:rgba(17,18,23,.88)!important;color:#fff!important;backdrop-filter:blur(18px)}
  dialog.scanner-modal .scanner-camera-options[hidden]{display:none!important}
  dialog.scanner-modal .scanner-message{position:absolute!important;z-index:13!important;right:72px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;left:72px!important;min-height:0!important;margin:0!important;padding:6px 9px!important;border:0!important;border-radius:999px!important;background:rgba(12,13,18,.65)!important;color:rgba(255,255,255,.78)!important;font-size:8px!important;text-align:center!important;backdrop-filter:blur(12px)}
  dialog.scanner-modal .scanner-latest{position:absolute!important;z-index:18!important;right:48px!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;left:48px!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:7px!important;border:0!important;border-radius:21px!important;background:rgba(16,16,19,.72)!important;backdrop-filter:blur(20px)!important;transition:opacity .2s,transform .2s!important}
  dialog.scanner-modal .scanner-latest[hidden]{display:none!important}.scanner-latest.is-leaving{opacity:0!important;transform:translateY(8px)!important}
  dialog.scanner-modal .scanner-latest-main{grid-template-columns:50px minmax(0,1fr) 20px!important}.scanner-latest-main img{width:50px!important}.scanner-latest-main b{font-size:12px!important}.scanner-latest-main em{color:#fff!important;font-size:10px!important}.scanner-latest-main>i{font-size:25px;font-style:normal}.scanner-latest-delete{height:48px!important}
  dialog.scanner-modal .scanner-results-panel.scanner-archive{position:absolute!important;z-index:40!important;inset:12dvh 0 0!important;display:grid!important;width:100%!important;height:88dvh!important;padding:18px 12px calc(12px + env(safe-area-inset-bottom))!important;border-radius:26px 26px 0 0!important;background:#0a0b0f!important;transform:translateY(105%)!important;transition:transform .28s cubic-bezier(.22,.8,.22,1)!important}
  dialog.scanner-modal .scanner-results-panel.scanner-archive.is-open{transform:translateY(0)!important}
}

/* v0.15.2 — phone scanner is a camera, not a modal containing a camera. */
@media(max-width:780px){
  dialog.scanner-modal[open]{
    position:fixed!important;inset:0!important;margin:0!important;padding:0!important;
    width:100vw!important;height:var(--app-viewport-height,100dvh)!important;
    max-width:none!important;max-height:none!important;overflow:hidden!important;
    border:0!important;border-radius:0!important;background:#000!important;
  }
  dialog.scanner-modal::backdrop{background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  dialog.scanner-modal>.scanner-shell{
    position:relative!important;display:block!important;margin:0!important;padding:0!important;
    width:100vw!important;height:var(--app-viewport-height,100dvh)!important;
    max-width:none!important;max-height:none!important;overflow:hidden!important;
    border:0!important;border-radius:0!important;background:#000!important;background-image:none!important;
    box-shadow:none!important;
  }
  dialog.scanner-modal>.scanner-shell:before,dialog.scanner-modal>.scanner-shell:after{display:none!important}
  dialog.scanner-modal .scanner-topbar{
    position:absolute!important;z-index:30!important;top:0!important;left:0!important;right:0!important;
    min-height:calc(72px + env(safe-area-inset-top))!important;padding:calc(10px + env(safe-area-inset-top)) 16px 12px!important;
    border:0!important;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.24) 72%,transparent)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none;
  }
  dialog.scanner-modal .scanner-topbar>*{pointer-events:auto}
  dialog.scanner-modal .scanner-topbar>div span{font-size:8px!important;color:#e7cc91!important}
  dialog.scanner-modal .scanner-topbar>div b{font-size:11px!important;color:#fff!important}
  dialog.scanner-modal .scanner-round-action,dialog.scanner-modal .scanner-archive-button{
    width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;
    justify-content:center!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;
    background:rgba(9,11,17,.68)!important;color:#fff!important;box-shadow:0 8px 25px rgba(0,0,0,.25)!important;
    backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
  }
  dialog.scanner-modal .scanner-archive-button span{display:none!important}
  dialog.scanner-modal .scanner-layout,dialog.scanner-modal .scanner-camera-panel,dialog.scanner-modal .scanner-viewport{
    position:absolute!important;inset:0!important;display:block!important;margin:0!important;padding:0!important;
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
    overflow:hidden!important;border:0!important;border-radius:0!important;background:#000!important;
  }
  dialog.scanner-modal .scanner-viewport video{
    display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    object-fit:cover!important;background:#000!important;
  }
  dialog.scanner-modal .scanner-frame{
    position:absolute!important;z-index:4!important;left:50%!important;top:49%!important;right:auto!important;bottom:auto!important;
    width:min(76vw,390px)!important;height:auto!important;max-height:72dvh!important;aspect-ratio:488/680!important;
    transform:translate(-50%,-50%)!important;filter:drop-shadow(0 12px 28px rgba(0,0,0,.24));
  }
  dialog.scanner-modal .scanner-frame:after{
    border:0!important;border-radius:24px!important;
    box-shadow:0 0 0 1px rgba(238,210,150,.38),0 0 0 100vmax rgba(0,0,0,.10)!important;
  }
  dialog.scanner-modal .scanner-frame i{width:38px!important;height:38px!important;border-color:rgba(255,255,255,.9)!important;border-width:0!important;filter:drop-shadow(0 2px 7px #000)!important}
  dialog.scanner-modal .scanner-frame i:nth-child(1){border-top:3px solid!important;border-left:3px solid!important}
  dialog.scanner-modal .scanner-frame i:nth-child(2){border-top:3px solid!important;border-right:3px solid!important}
  dialog.scanner-modal .scanner-frame i:nth-child(3){border-bottom:3px solid!important;border-left:3px solid!important}
  dialog.scanner-modal .scanner-frame i:nth-child(4){border-right:3px solid!important;border-bottom:3px solid!important}
  dialog.scanner-modal .scanner-controls{position:absolute!important;z-index:22!important;inset:0!important;display:block!important;margin:0!important;pointer-events:none!important}
  dialog.scanner-modal .scanner-controls>*{position:absolute!important;pointer-events:auto!important}
  dialog.scanner-modal .scanner-camera-toggle{
    right:16px!important;width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;
    border:1px solid rgba(255,255,255,.2)!important;border-radius:50%!important;background:rgba(8,10,15,.65)!important;
    color:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.24)!important;backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important;
  }
  dialog.scanner-modal .scanner-camera-toggle svg{width:21px!important;height:21px!important}
  dialog.scanner-modal .scanner-camera-toggle span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  dialog.scanner-modal #scannerStart{top:calc(76px + env(safe-area-inset-top))!important}
  dialog.scanner-modal #scannerFileButton{top:calc(138px + env(safe-area-inset-top))!important}
  dialog.scanner-modal .scanner-shutter{
    left:50%!important;bottom:calc(20px + env(safe-area-inset-bottom))!important;width:68px!important;height:68px!important;
    border:3px solid rgba(237,210,151,.9)!important;background:rgba(8,10,14,.36)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.38)!important;transform:translateX(-50%)!important;
  }
  dialog.scanner-modal .scanner-shutter span{background:linear-gradient(145deg,#f0d897,#ba9550)!important;box-shadow:inset 0 0 0 2px rgba(0,0,0,.22)!important}
  dialog.scanner-modal .scanner-camera-options{
    position:absolute!important;z-index:23!important;top:calc(200px + env(safe-area-inset-top))!important;right:16px!important;
    display:grid!important;place-items:center!important;width:50px!important;height:50px!important;margin:0!important;padding:0!important;
    border:1px solid rgba(255,255,255,.2)!important;border-radius:50%!important;background:rgba(8,10,15,.65)!important;
    color:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.24)!important;backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important;
  }
  dialog.scanner-modal .scanner-camera-options label{display:grid!important;place-items:center!important;width:100%!important;height:100%!important}
  dialog.scanner-modal .scanner-camera-options input{width:22px!important;height:22px!important;margin:0!important;accent-color:#e3c477!important}
  dialog.scanner-modal .scanner-camera-options span,dialog.scanner-modal .scanner-camera-options small{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  dialog.scanner-modal .scanner-message{
    position:absolute!important;z-index:18!important;left:50%!important;right:auto!important;bottom:calc(96px + env(safe-area-inset-bottom))!important;
    width:max-content!important;max-width:calc(100vw - 32px)!important;min-height:0!important;margin:0!important;padding:7px 12px!important;
    border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;background:rgba(5,7,11,.66)!important;
    color:rgba(255,255,255,.82)!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    transform:translateX(-50%)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;transition:opacity .18s!important;
  }
  dialog.scanner-modal .scanner-camera-panel:has(.scanner-latest:not([hidden])) .scanner-message{opacity:0!important}
  dialog.scanner-modal .scanner-latest{
    z-index:24!important;left:16px!important;right:16px!important;bottom:calc(102px + env(safe-area-inset-bottom))!important;
    padding:7px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:19px!important;
    background:rgba(7,9,13,.72)!important;box-shadow:0 15px 38px rgba(0,0,0,.36)!important;
    backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
    transition:opacity .2s ease,transform .2s ease!important;
  }
  dialog.scanner-modal .scanner-latest.is-leaving{opacity:0!important;transform:translateY(12px)!important}
  dialog.scanner-modal .scanner-latest-main{grid-template-columns:42px minmax(0,1fr) auto!important}
  dialog.scanner-modal .scanner-latest-main img{width:42px!important}
  dialog.scanner-modal .scanner-latest-delete{width:42px!important;height:42px!important}
  dialog.scanner-modal .scanner-idle{z-index:3!important;padding:110px 28px 130px!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at center,rgba(24,28,42,.72),rgba(3,5,9,.98))!important}
  dialog.scanner-modal .scanner-busy{z-index:25!important;inset:auto 16px calc(102px + env(safe-area-inset-bottom))!important;border-radius:999px!important}
  dialog.scanner-modal .scanner-results-panel.scanner-archive{
    z-index:40!important;inset:0!important;padding:calc(18px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))!important;
    border:0!important;border-radius:26px 26px 0 0!important;background:rgba(7,9,14,.97)!important;
    backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
  }
}
.nav-sigil{border-radius:2px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.07),transparent 58%),var(--obsidian)}
.nav-sigil .icon{width:15px;height:15px}

/* v0.11.6 corrective pass: supplied ornaments live on the border; the old
   generated corner marks and cut-button geometry are deliberately removed. */
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card){
  background-image:var(--fantasy-panel)!important;
  background-position:0 0!important;
  background-size:100% 100%!important;
}
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card):before,
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card):after{background-image:none}
:is(.collection-browser,.import-surface,.deck-panel,.analysis-surface,.profile-card,.database-card):before{
  content:""!important;display:block!important;position:absolute;inset:-8px!important;z-index:0!important;pointer-events:none;
  background-image:url('/static/ornaments/corner-tl.svg'),url('/static/ornaments/corner-br.svg')!important;
  background-repeat:no-repeat!important;background-position:left top,right bottom!important;background-size:56px 56px,62px 62px!important;
  opacity:.42!important;filter:saturate(.7) sepia(.25) drop-shadow(0 0 4px rgba(232,199,122,.12))!important;
}
:is(.collection-browser,.import-surface,.deck-panel,.analysis-surface,.profile-card,.database-card)>*{position:relative;z-index:1}
.surface-header:after,.panel-header:after{
  background:url('/static/ornaments/divider.svg') center/contain no-repeat!important;
  width:min(360px,76%)!important;height:22px!important;opacity:.48;filter:saturate(.7) sepia(.25);
}
.button:not(.icon-only),.segment,.library-source-toggle button,.filter-clear{
  clip-path:none!important;border-radius:10px!important;
}
.button{transition:transform .16s cubic-bezier(.22,.8,.2,1),border-color .16s,background .16s,box-shadow .16s,filter .16s}
.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(1px) scale(.985)}
.button.primary{background:linear-gradient(180deg,#7869dd,#6254c2);border-color:#9186e8;color:#fff;box-shadow:0 8px 20px rgba(79,66,174,.22),inset 0 1px 0 rgba(255,255,255,.2)}
.button.secondary{background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-color:var(--line-strong);color:var(--text)}
.button.danger{background:linear-gradient(180deg,rgba(142,48,61,.96),rgba(102,31,43,.96));border-color:rgba(236,116,128,.55);color:#fff}

#accountMenuBackdrop{position:fixed;inset:0;z-index:498;border:0;background:rgba(3,5,10,.38);backdrop-filter:blur(2px);cursor:default}
#accountMenuBackdrop[hidden]{display:none}.account-menu{position:fixed!important;right:auto!important;z-index:499!important;max-height:calc(100dvh - 20px);overflow:auto}

.collection-grid[aria-busy="true"]{min-height:260px}.collection-spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:collectionSpin .7s linear infinite}@keyframes collectionSpin{to{transform:rotate(1turn)}}

.mobile-sheet-handle{display:block;position:relative;width:100%;height:30px;border:0;background:transparent;color:transparent;cursor:ns-resize}
.mobile-sheet-handle:before{content:""!important;position:absolute!important;left:50%!important;top:10px!important;width:48px!important;height:5px!important;transform:translateX(-50%)!important;border-radius:99px!important;background:var(--line-strong)!important;opacity:1!important}
.mobile-sheet-handle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mobile-sheet-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important}.mobile-sheet-actions .button{width:100%;min-width:0}

@media(max-width:780px){
  .page-header .header-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.page-header .header-actions>:last-child:nth-child(odd){grid-column:1/-1}
  .builder-header .header-actions{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.builder-header .header-actions>.button,.builder-header .header-actions>.builder-more{min-width:0}.builder-header .header-actions>.builder-more>summary{min-width:0}
  .builder-header .header-actions>#saveDeckBtn,.builder-header .header-actions>#openDeckForge{min-height:54px}.builder-header .header-actions>#newDeckBtn,.builder-header .header-actions>.builder-more{min-height:44px}
  .mobile-builder-toolbar{width:100%!important}.mobile-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mobile-sheet-handle:before{top:10px!important;transform:translateX(-50%)!important}
}
:root[data-theme="light"] #accountMenuBackdrop{background:rgba(38,32,23,.18)}
@media(prefers-reduced-motion:reduce){.collection-spinner{animation:none}.button{transition:none}}

/* v0.11.7 — performance and screenshot-driven layout corrections. */
.surface-header:after,.panel-header:after{display:none!important;content:none!important}
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.analysis-surface):before{
  content:""!important;display:block!important;position:absolute!important;inset:-7px!important;z-index:0!important;pointer-events:none!important;
  background-image:url('/static/ornaments/corner-tl.svg'),url('/static/ornaments/corner-br.svg')!important;
  background-repeat:no-repeat!important;background-position:left top,right bottom!important;background-size:50px 50px,56px 56px!important;
  opacity:.38!important;filter:saturate(.7) sepia(.2) drop-shadow(0 0 3px rgba(232,199,122,.1))!important;
}
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.analysis-surface){isolation:isolate;overflow:visible}
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.analysis-surface)>*{position:relative;z-index:1}
.database-card>.recommended{position:absolute!important;top:18px!important;right:18px!important;left:auto!important;z-index:3!important}
.database-card{display:flex;flex-direction:column;align-items:flex-start;min-height:0}.database-card>p{width:100%;min-height:0}.database-card>.button{margin-top:auto}

.saved-deck-card:has(.deck-more[open]){z-index:300!important;isolation:isolate}.deck-more[open]{z-index:310}.deck-more>div{z-index:320!important;box-shadow:0 24px 70px rgba(0,0,0,.62)}
.saved-deck-grid{isolation:isolate}.saved-deck-card{contain:layout style}

.mtg-card{content-visibility:auto;contain-intrinsic-size:220px 330px}
.collection-load-more{width:min(360px,100%);margin:18px auto 0}.collection-load-more[hidden]{display:none}

@media(max-width:780px){
  .builder-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;gap:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
  .builder-workspace>.library-panel{position:fixed!important;left:7px!important;right:7px!important;top:auto!important;bottom:7px!important;margin:0!important}
  .builder-workspace>.deck-panel{grid-column:1;margin:0!important;min-height:0!important;transform:none!important}
  #deckImagePreview .deck-image-grid{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(148px,42vw);overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding:0 0 8px!important}
  #deckImagePreview .deck-image-card{scroll-snap-align:start}.compact-card-row{content-visibility:auto;contain-intrinsic-size:auto 68px}
  .account-menu{top:max(10px,env(safe-area-inset-top))!important;left:10px!important;right:10px!important;width:auto!important;max-height:calc(100dvh - 20px)!important;z-index:1001!important}
  #accountMenuBackdrop{z-index:1000}.saved-deck-card:has(.deck-more[open]){z-index:400!important}
  .deck-more>div{min-width:min(250px,calc(100vw - 32px));max-height:min(60dvh,420px);overflow:auto}
  .database-options{align-items:start}.database-card{width:100%;min-height:0;padding:18px!important}.database-card>.button{margin-top:14px}
}

/* v0.11.8 — navigation stacking, reliable paper drag and 3-up printings. */
.library-panel .mtg-card{cursor:grab;user-select:none;-webkit-user-drag:none}.library-panel .mtg-card:active{cursor:grabbing}.library-panel .mtg-card img{-webkit-user-drag:none;user-select:none}
.printing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start}.printing{min-width:0}.printing-info,.printing-actions{min-width:0}
@media(max-width:780px){
  .app-shell{position:static!important;z-index:auto!important}
  .sidebar{z-index:200!important}
  .appbar{z-index:80!important}
}
@media(max-width:430px){.printing-grid{gap:6px}.printing-info{padding:6px}.printing-actions{padding:0 5px 5px}.printing-actions .button{font-size:9px;padding-inline:5px}}

/* v0.11.9 — contained mobile details, compact printings, smooth drag and MTG mana language. */
.mana-symbol{overflow:hidden;padding:0;flex:none}.mana-symbol img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.mana-cost,.card-color-symbols{display:inline-flex;align-items:center;gap:3px;vertical-align:middle}.mana-cost .mana-symbol,.card-color-symbols .mana-symbol{width:20px;height:20px;border:0;box-shadow:0 1px 5px rgba(0,0,0,.28)}.mana-fact{display:inline-flex;align-items:center;padding-block:3px}.card-analysis-grid dd .card-color-symbols{margin-top:2px}.color-source .mana-symbol{width:34px;height:34px;border:0;box-shadow:0 4px 12px rgba(0,0,0,.32)}

.mobile-card-sheet,.mobile-sheet-card,#deckCardSheetContent,.mobile-card-manager,.mobile-card-manager-info,.mobile-card-expanded,.mobile-oracle{box-sizing:border-box;max-width:100%;min-width:0}
.mobile-card-manager-info>p{display:grid;gap:5px;max-width:100%;overflow-wrap:anywhere}.mobile-card-mana{display:block}.mobile-card-mana .mana-symbol{width:19px;height:19px}
.mobile-oracle{width:100%;overflow:hidden}.mobile-oracle p{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.mobile-card-tags span{max-width:100%;overflow-wrap:anywhere}
.mobile-sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"version version" "details remove"!important}.mobile-sheet-actions .version{grid-area:version}.mobile-sheet-actions .details{grid-area:details}.mobile-sheet-actions .remove{grid-area:remove}

.card-dialog-version-picker{max-height:calc(90dvh - 110px);overflow:auto;overscroll-behavior:contain;padding-right:3px}.card-dialog-version-picker .printing-heading{position:sticky;z-index:4;top:0;margin-top:0;padding:4px 0 9px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px)}.version-picker-help{margin:0 0 11px;color:var(--muted);font-size:10px;line-height:1.45}.compact-printing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

.analysis-panel[data-analysis-panel="suggestions"]{padding-top:28px}.swipe-workspace{margin-top:16px}.swipe-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 80%,transparent)}.swipe-head-copy h2{margin:3px 0 0}.swipe-controller{width:190px;display:grid;grid-template-columns:42px minmax(70px,1fr) 42px;align-items:center;gap:7px}.swipe-controller>button{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:17px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.swipe-controller>button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--fantasy-bronze);background:var(--surface-3)}.swipe-controller>button:disabled{opacity:.28;cursor:default}.swipe-counter{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid var(--fantasy-bronze-dim);border-radius:11px;background:var(--obsidian-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);line-height:1;white-space:nowrap;overflow:hidden}.swipe-counter strong{font-size:16px;font-weight:800;color:var(--text)}.swipe-counter span{color:var(--muted);font-size:11px}.swipe-controller .swipe-progress{grid-column:1/-1;width:100%;height:4px;margin-top:1px}

@media(max-width:780px){
  .printing-grid,.compact-printing-grid{gap:5px!important}.printing{border-radius:7px}.printing.selected{box-shadow:0 0 0 2px rgba(139,125,255,.14)}.printing.selected:before{top:4px;left:4px;padding:3px 5px;font-size:6.5px}.printing-info{padding:5px!important}.printing-info small{font-size:7.5px;line-height:1.22;overflow-wrap:anywhere}.printing-price{margin-top:2px}.printing-owned{gap:2px;margin-top:4px}.printing-owned button{width:25px;height:25px;border-radius:7px;padding:0;font-size:13px}.printing-owned b{min-width:18px;font-size:9px}.printing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:0 5px 5px!important}.printing-actions .button{min-height:28px!important;padding:2px 3px!important;font-size:7.5px!important;line-height:1.1;border-radius:7px;overflow-wrap:anywhere}.printing-heading select{min-width:0;max-width:100%;font-size:11px}
  .analysis-panel[data-analysis-panel="suggestions"]{padding-top:18px}.swipe-workspace{margin-top:10px}.swipe-head{grid-template-columns:1fr;gap:10px;padding:11px;margin-bottom:12px}.swipe-controller{width:100%;grid-template-columns:42px minmax(70px,1fr) 42px}.swipe-head-copy .eyebrow{font-size:11px}.swipe-head-copy h2{font-size:12px}
}
@media(max-width:390px){.printing-info small{font-size:7px}.printing-owned button{width:23px;height:24px}.printing-actions .button{font-size:7px!important}}

/* v0.11.10 — every smartphone popup is bounded by the visual viewport. */
.modal,.modal-card,.modal-card *{box-sizing:border-box}
.modal-card>*{max-width:100%;min-width:0}
.modal-header>div{min-width:0}
.modal-header :is(h2,p),.modal-card :is(p,li,dd,label,small){overflow-wrap:anywhere}
.modal-card :is(input,select,textarea,img,video){max-width:100%;min-width:0}

@media(max-width:780px){
  body.dialog-open{overflow:hidden;overscroll-behavior:none}
  .modal{
    width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px)!important;
    max-width:none!important;
    max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    margin:auto!important;padding:0!important;overflow:visible!important;
  }
  .modal>.modal-card{
    width:100%!important;max-width:100%!important;
    max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    padding:16px!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .modal>.modal-card>.modal-header{
    position:sticky;top:-16px;z-index:25;margin:-16px -16px 14px;padding:16px 16px 12px;
    background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  }
  .modal-header .icon-button{flex:none;min-width:44px;min-height:44px}
  .modal-actions,.settings-footer,.forge-form-actions,.forge-preview-actions{gap:8px}
  .modal-actions .button,.settings-footer .button,.forge-form-actions .button,.forge-preview-actions .button{min-height:46px}

  .settings-section,.settings-grid,.field-label,.section-heading{min-width:0}
  .settings-section :is(input,select,textarea),#userForm :is(input,select,textarea){width:100%}
  .settings-modal .settings-footer{display:grid;grid-template-columns:1fr}
  .settings-modal .settings-footer .button{width:100%;min-width:0}

  .card-preview-layout{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .card-preview-layout>img,.card-preview-layout>.flip-card{width:min(280px,100%);justify-self:center}
  .card-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card-dialog-version-picker{max-height:none!important;overflow:visible!important;padding-right:0!important}
  .card-dialog-version-picker .printing-heading{top:-1px}

  .import-preview-summary,.import-preview-summary dl,.import-preview-summary details{min-width:0;max-width:100%}
  .import-preview-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .import-preview-actions label{grid-column:1/-1;width:100%;min-width:0;margin:0}
  .import-preview-actions>*:not(label){width:100%;min-width:0}

  .forge-modal .modal-card{width:100%!important;max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;overflow-x:hidden!important}
  .forge-shell,.forge-form,.forge-preview,.forge-choice-grid,.forge-choice-group,.forge-commander-panel,.forge-preview-head,.forge-preview-commander{min-width:0;max-width:100%}
  .forge-stagebar{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:3px}
  .forge-stagebar::-webkit-scrollbar{display:none}
  .forge-stagebar>span{min-width:54px}
  .forge-card-states,.forge-blueprint,.forge-list{max-height:none}

  #confirmDialog .modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #confirmDialog .modal-actions .button{width:100%;min-width:0}

  .mobile-card-sheet{box-sizing:border-box;max-width:100vw;overflow:hidden}
  .mobile-sheet-card{
    width:100%;max-width:100%;
    max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - 8px)!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .mobile-card-sheet.details-open .mobile-sheet-card{max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - 8px)!important}

  .account-menu{
    top:max(8px,env(safe-area-inset-top))!important;
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;width:auto!important;
    max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .account-menu-item,.account-menu-identity{min-width:0}.account-menu-item span{min-width:0}.account-menu-item small{overflow-wrap:anywhere}
  .builder-more>div,.deck-more>div{
    max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px)!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .toast-region{
    top:auto;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));width:auto;height:fit-content;
    max-height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);
    overflow-y:auto;overscroll-behavior:contain;
  }
  .toast{grid-template-columns:7px minmax(0,1fr) 36px;min-width:0;overflow-wrap:anywhere}
  .toast button{width:36px;height:36px;font-size:20px}
}

@media(max-width:430px){
  .modal>.modal-card{padding:14px!important}
  .modal>.modal-card>.modal-header{top:-14px;margin:-14px -14px 12px;padding:14px 14px 11px}
  .card-analysis-grid{grid-template-columns:minmax(0,1fr)!important}
  .import-preview-summary dl,.import-preview-actions{grid-template-columns:minmax(0,1fr)!important}
  .import-preview-actions>*{grid-column:1!important}
  #confirmDialog .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v0.11.11 — Day is warm stone and vellum, never pure white. */
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#cec8bc;--bg-soft:#c4bdae;--surface:#ddd6c8;--surface-2:#d2cabd;--surface-3:#c5bcad;
  --line:#aaa08e;--line-strong:#827562;--text:#20242c;--muted:#515a68;--muted-2:#6b7380;
  --text-secondary:#46515f;--ui-secondary:#4e5865;
  --primary:#6655c3;--primary-2:#51439f;--cyan:#147b77;--green:#23714e;--warning:#8e611c;--danger:#a13d4b;
  --shadow:0 20px 52px rgba(55,46,34,.18);
  --fantasy-bg:radial-gradient(115% 90% at 50% -12%,#e2ddd2 0%,#d3cdc1 46%,#c7c0b4 100%);
  --fantasy-panel:linear-gradient(165deg,#e2dccf 0%,#d8d1c4 58%,#cec6b8 100%);
  --fantasy-panel-deep:linear-gradient(180deg,#c9c1b3,#bcb3a4);
  --obsidian:#c8c0b2;--obsidian-2:#beb5a6;--graphite:#b4aa9a;
  --bronze:#76572f;--bronze-dim:#a49378;--silver:#4f5969;--silver-dim:#929aa6;
  --fantasy-gold:#735116;--fantasy-gold-pale:#60491e;--fantasy-bronze:#795b34;--fantasy-bronze-dim:#a6957b;
  --fantasy-silver:#505a69;--fantasy-silver-dim:#929aa5;--fantasy-arcane:#5d4bb7;--fantasy-mana:#146f6c;
  --fantasy-danger:#963744;--fantasy-success:#216b49;--fantasy-warning:#865b19;
}
:root[data-theme="light"] body:before{opacity:.2;background:repeating-linear-gradient(115deg,rgba(77,64,45,.025) 0 2px,transparent 2px 5px)}
:root[data-theme="light"] body:after{opacity:.14;background:radial-gradient(120% 90% at 50% 110%,rgba(69,57,40,.35),transparent 58%)}
:root[data-theme="light"] .appbar{background:linear-gradient(180deg,rgba(218,212,201,.97),rgba(201,194,181,.95));border-bottom-color:var(--line-strong);box-shadow:inset 0 1px rgba(255,255,255,.28),0 8px 24px rgba(65,53,37,.13)}
:root[data-theme="light"] .sidebar{background:linear-gradient(180deg,#c9c1b3,#bcb3a4);box-shadow:inset -1px 0 rgba(255,255,255,.18),4px 0 20px rgba(61,50,35,.12)}
:root[data-theme="light"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface,.metric-card,.analysis-score,.analysis-stat,.mobile-sheet-card){
  background-color:var(--surface)!important;background-image:var(--fantasy-panel)!important;border-color:var(--line-strong)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.22),0 12px 30px rgba(63,51,35,.13);
}
:root[data-theme="light"] :is(input,select,textarea,.search-field,.command-search,.segmented,.compact-card-row,.deck-image-card,.printing,.issue,.upgrade-card,.inventory-editor,.card-analysis-grid>div,.mobile-oracle,.mobile-card-facts span,.advice-card,.expected-results p,.swap-detail-grid>p,.goal-detail-grid p,.metric-impact span){background-color:var(--bg-soft);color:var(--text);border-color:var(--line)}
:root[data-theme="light"] :is(input,textarea)::placeholder{color:#717783}
:root[data-theme="light"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action){background:linear-gradient(180deg,#d0c8bb,#beb5a6);border-color:var(--line-strong);color:var(--text);box-shadow:inset 0 1px rgba(255,255,255,.22),0 4px 10px rgba(65,52,35,.08)}
:root[data-theme="light"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action):hover{background:linear-gradient(180deg,#d8d1c4,#c6bdaf);color:var(--text)}
:root[data-theme="light"] :is(.nav-item,.builder-more>summary,.deck-more>summary,.deck-action,.quantity-control button,.segment.active,.empty-state h2,.empty-state h3,.oracle-text,.dropzone b,.deck-group-header h3){color:var(--text)}
:root[data-theme="light"] .nav-item:hover{background:rgba(76,61,39,.08);color:var(--text)}
:root[data-theme="light"] .nav-item.active{border-color:var(--fantasy-bronze);background:linear-gradient(90deg,rgba(102,85,195,.17),rgba(102,85,195,.045) 74%);color:#443680;box-shadow:inset 0 1px rgba(255,255,255,.2),0 4px 12px rgba(66,53,36,.1)}
:root[data-theme="light"] :is(.nav-sigil,.mini-stat){background:var(--obsidian);box-shadow:inset 0 0 0 1px var(--fantasy-bronze-dim),inset 0 2px 5px rgba(75,61,41,.16)}
:root[data-theme="light"] .deck-kpis>div{background:linear-gradient(145deg,#d7d0c3,#c7beaf);border-color:var(--line)}
:root[data-theme="light"] .deck-name{background:var(--bg-soft);border-color:var(--line);color:var(--text)}
:root[data-theme="light"] .deck-group-header{background:color-mix(in srgb,var(--surface) 94%,transparent)}
:root[data-theme="light"] :is(.segment.active,.quantity-control button:hover,.printing-owned button:hover){background:var(--surface-3);color:var(--text)}
:root[data-theme="light"] :is(.tag,.chip){background:#c3baab;border-color:#9e927f;color:#46505c}
:root[data-theme="light"] :is(.chip.active,.mobile-card-tags span,.card-analysis-chips span){background:rgba(102,85,195,.13);border-color:rgba(82,66,164,.38);color:#493b91}
:root[data-theme="light"] :is(.suggestions,.toast){background:#d6cfc2;border-color:var(--line-strong);color:var(--text);box-shadow:0 18px 42px rgba(54,44,31,.2)}
:root[data-theme="light"] :is(.collection-grid>.empty-state,.card-action-dock,.inventory-editor.refined,.swipe-card){background:linear-gradient(145deg,var(--surface-2),var(--bg-soft));border-color:var(--line-strong)}
:root[data-theme="light"] .ai-decision-banner.error{background:linear-gradient(135deg,rgba(161,61,75,.12),var(--surface-2));border-color:rgba(161,61,75,.38)}
:root[data-theme="light"] :is(.owned-badge,.card-price){background:rgba(43,40,35,.82);border-color:rgba(255,255,255,.18);color:#f2eee5}
:root[data-theme="light"] :is(.printing-price,.database-icon,.recommended,.progress-head>span,.impact-label,.advice-title>span,.priority-decision .eyebrow){color:#4d3e98!important}
:root[data-theme="light"] :is(.swap-card-side p,.swap-reason p,.goal-essential p,.strategy-review li,.priority-decision-grid p){color:var(--text-secondary)!important}
:root[data-theme="light"] :is(.swap-essential p,.priority-decision-grid p,.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress,.forge-choice,.forge-card-state,.forge-list-card){background:var(--surface-2);border-color:var(--line)}
:root[data-theme="light"] :is(.forge-choice:hover,.account-menu-item:hover){background:#c9c0b2}
:root[data-theme="light"] :is(.forge-preferences>summary,.forge-existing>summary,.forge-deck-details>summary){color:var(--text)!important}
:root[data-theme="light"] :is(.ai-disclosure,.price-warning,.analysis-partial-note){color:#704c16;background:rgba(142,97,28,.09);border-color:rgba(142,97,28,.28)}
:root[data-theme="light"] :is(.forge-form-error,.deck-validation,.ai-review.reject){color:#8e2f3c}
:root[data-theme="light"] .card-analysis-warning{color:#704c16;background:rgba(142,97,28,.09);border-color:rgba(142,97,28,.28)}
:root[data-theme="light"] :is(.ai-review.approve,.analysis-ok,.owned-label){color:#1b6845!important}
:root[data-theme="light"] .toggle>span{background:#afa696;border-color:var(--line-strong)}
:root[data-theme="light"] .toggle>span:after{background:#5d6571}
:root[data-theme="light"] .forge-meter{background:#aaa08f}
:root[data-theme="light"] #mobileNavButton{color:var(--text);background:linear-gradient(145deg,#d1c9bc,#bbb2a3);border-color:var(--line-strong);box-shadow:inset 0 1px rgba(255,255,255,.2),0 5px 14px rgba(58,47,33,.12)}
:root[data-theme="light"] .account-theme-row{background:#bfb6a7;border-color:var(--line-strong)}
:root[data-theme="light"] .account-theme-row button{color:var(--muted)}
:root[data-theme="light"] .account-theme-row button.active{background:#ddd6c8;color:var(--text);box-shadow:0 2px 8px rgba(54,44,31,.15)}

@media(prefers-color-scheme:light){
  :root[data-theme="system"]{
    color-scheme:light;
    --bg:#cec8bc;--bg-soft:#c4bdae;--surface:#ddd6c8;--surface-2:#d2cabd;--surface-3:#c5bcad;
    --line:#aaa08e;--line-strong:#827562;--text:#20242c;--muted:#515a68;--muted-2:#6b7380;
    --text-secondary:#46515f;--ui-secondary:#4e5865;
    --primary:#6655c3;--primary-2:#51439f;--cyan:#147b77;--green:#23714e;--warning:#8e611c;--danger:#a13d4b;
    --shadow:0 20px 52px rgba(55,46,34,.18);
    --fantasy-bg:radial-gradient(115% 90% at 50% -12%,#e2ddd2 0%,#d3cdc1 46%,#c7c0b4 100%);
    --fantasy-panel:linear-gradient(165deg,#e2dccf 0%,#d8d1c4 58%,#cec6b8 100%);
    --fantasy-panel-deep:linear-gradient(180deg,#c9c1b3,#bcb3a4);
    --obsidian:#c8c0b2;--obsidian-2:#beb5a6;--graphite:#b4aa9a;
    --bronze:#76572f;--bronze-dim:#a49378;--silver:#4f5969;--silver-dim:#929aa6;
    --fantasy-gold:#735116;--fantasy-gold-pale:#60491e;--fantasy-bronze:#795b34;--fantasy-bronze-dim:#a6957b;
    --fantasy-silver:#505a69;--fantasy-silver-dim:#929aa5;--fantasy-arcane:#5d4bb7;--fantasy-mana:#146f6c;
    --fantasy-danger:#963744;--fantasy-success:#216b49;--fantasy-warning:#865b19;
  }
  :root[data-theme="system"] body:before{opacity:.2;background:repeating-linear-gradient(115deg,rgba(77,64,45,.025) 0 2px,transparent 2px 5px)}
  :root[data-theme="system"] body:after{opacity:.14;background:radial-gradient(120% 90% at 50% 110%,rgba(69,57,40,.35),transparent 58%)}
  :root[data-theme="system"] .appbar{background:linear-gradient(180deg,rgba(218,212,201,.97),rgba(201,194,181,.95));border-bottom-color:var(--line-strong);box-shadow:inset 0 1px rgba(255,255,255,.28),0 8px 24px rgba(65,53,37,.13)}
  :root[data-theme="system"] .sidebar{background:linear-gradient(180deg,#c9c1b3,#bcb3a4);box-shadow:inset -1px 0 rgba(255,255,255,.18),4px 0 20px rgba(61,50,35,.12)}
  :root[data-theme="system"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface,.metric-card,.analysis-score,.analysis-stat,.mobile-sheet-card){background-color:var(--surface)!important;background-image:var(--fantasy-panel)!important;border-color:var(--line-strong)!important;box-shadow:inset 0 1px rgba(255,255,255,.22),0 12px 30px rgba(63,51,35,.13)}
  :root[data-theme="system"] :is(input,select,textarea,.search-field,.command-search,.segmented,.compact-card-row,.deck-image-card,.printing,.issue,.upgrade-card,.inventory-editor,.card-analysis-grid>div,.mobile-oracle,.mobile-card-facts span,.advice-card,.expected-results p,.swap-detail-grid>p,.goal-detail-grid p,.metric-impact span){background-color:var(--bg-soft);color:var(--text);border-color:var(--line)}
  :root[data-theme="system"] :is(input,textarea)::placeholder{color:#717783}
  :root[data-theme="system"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action){background:linear-gradient(180deg,#d0c8bb,#beb5a6);border-color:var(--line-strong);color:var(--text);box-shadow:inset 0 1px rgba(255,255,255,.22),0 4px 10px rgba(65,52,35,.08)}
  :root[data-theme="system"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action):hover{background:linear-gradient(180deg,#d8d1c4,#c6bdaf);color:var(--text)}
  :root[data-theme="system"] :is(.nav-item,.builder-more>summary,.deck-more>summary,.deck-action,.quantity-control button,.segment.active,.empty-state h2,.empty-state h3,.oracle-text,.dropzone b,.deck-group-header h3){color:var(--text)}
  :root[data-theme="system"] .nav-item:hover{background:rgba(76,61,39,.08);color:var(--text)}
  :root[data-theme="system"] .nav-item.active{border-color:var(--fantasy-bronze);background:linear-gradient(90deg,rgba(102,85,195,.17),rgba(102,85,195,.045) 74%);color:#443680;box-shadow:inset 0 1px rgba(255,255,255,.2),0 4px 12px rgba(66,53,36,.1)}
  :root[data-theme="system"] :is(.nav-sigil,.mini-stat){background:var(--obsidian);box-shadow:inset 0 0 0 1px var(--fantasy-bronze-dim),inset 0 2px 5px rgba(75,61,41,.16)}
  :root[data-theme="system"] .deck-kpis>div{background:linear-gradient(145deg,#d7d0c3,#c7beaf);border-color:var(--line)}
  :root[data-theme="system"] .deck-name{background:var(--bg-soft);border-color:var(--line);color:var(--text)}
  :root[data-theme="system"] .deck-group-header{background:color-mix(in srgb,var(--surface) 94%,transparent)}
  :root[data-theme="system"] :is(.segment.active,.quantity-control button:hover,.printing-owned button:hover){background:var(--surface-3);color:var(--text)}
  :root[data-theme="system"] :is(.tag,.chip){background:#c3baab;border-color:#9e927f;color:#46505c}
  :root[data-theme="system"] :is(.chip.active,.mobile-card-tags span,.card-analysis-chips span){background:rgba(102,85,195,.13);border-color:rgba(82,66,164,.38);color:#493b91}
  :root[data-theme="system"] :is(.suggestions,.toast){background:#d6cfc2;border-color:var(--line-strong);color:var(--text);box-shadow:0 18px 42px rgba(54,44,31,.2)}
  :root[data-theme="system"] :is(.collection-grid>.empty-state,.card-action-dock,.inventory-editor.refined,.swipe-card){background:linear-gradient(145deg,var(--surface-2),var(--bg-soft));border-color:var(--line-strong)}
  :root[data-theme="system"] .ai-decision-banner.error{background:linear-gradient(135deg,rgba(161,61,75,.12),var(--surface-2));border-color:rgba(161,61,75,.38)}
  :root[data-theme="system"] :is(.owned-badge,.card-price){background:rgba(43,40,35,.82);border-color:rgba(255,255,255,.18);color:#f2eee5}
  :root[data-theme="system"] :is(.printing-price,.database-icon,.recommended,.progress-head>span,.impact-label,.advice-title>span,.priority-decision .eyebrow){color:#4d3e98!important}
  :root[data-theme="system"] :is(.swap-card-side p,.swap-reason p,.goal-essential p,.strategy-review li,.priority-decision-grid p){color:var(--text-secondary)!important}
  :root[data-theme="system"] :is(.swap-essential p,.priority-decision-grid p,.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress,.forge-choice,.forge-card-state,.forge-list-card){background:var(--surface-2);border-color:var(--line)}
  :root[data-theme="system"] :is(.forge-choice:hover,.account-menu-item:hover){background:#c9c0b2}
  :root[data-theme="system"] :is(.forge-preferences>summary,.forge-existing>summary,.forge-deck-details>summary){color:var(--text)!important}
  :root[data-theme="system"] :is(.ai-disclosure,.price-warning,.analysis-partial-note){color:#704c16;background:rgba(142,97,28,.09);border-color:rgba(142,97,28,.28)}
  :root[data-theme="system"] :is(.forge-form-error,.deck-validation,.ai-review.reject){color:#8e2f3c}
  :root[data-theme="system"] .card-analysis-warning{color:#704c16;background:rgba(142,97,28,.09);border-color:rgba(142,97,28,.28)}
  :root[data-theme="system"] :is(.ai-review.approve,.analysis-ok,.owned-label){color:#1b6845!important}
  :root[data-theme="system"] .toggle>span{background:#afa696;border-color:var(--line-strong)}
  :root[data-theme="system"] .toggle>span:after{background:#5d6571}
  :root[data-theme="system"] .forge-meter{background:#aaa08f}
  :root[data-theme="system"] #mobileNavButton{color:var(--text);background:linear-gradient(145deg,#d1c9bc,#bbb2a3);border-color:var(--line-strong);box-shadow:inset 0 1px rgba(255,255,255,.2),0 5px 14px rgba(58,47,33,.12)}
  :root[data-theme="system"] .account-theme-row{background:#bfb6a7;border-color:var(--line-strong)}
  :root[data-theme="system"] .account-theme-row button{color:var(--muted)}
  :root[data-theme="system"] .account-theme-row button.active{background:#ddd6c8;color:var(--text);box-shadow:0 2px 8px rgba(54,44,31,.15)}
}

/* Keep the phone overflow contract last so older compatibility rules cannot
   turn grids back into nested horizontal carousels. */
@media(max-width:780px){
  html,body{max-width:100%;overflow-x:clip!important}
  :is(.app-shell,.main-content,.view,.builder-workspace,.deck-panel,.collection-browser,.analysis-panel,.admin-grid,.database-options){min-width:0!important;max-width:100%!important;overflow-x:clip!important}
  #deckImagePreview .deck-image-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;scroll-snap-type:none!important}
  .deck-panel-header .segmented{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;overflow:visible!important}
  .analysis-tabs,.swipe-queue{overflow:visible!important;flex-wrap:wrap!important;scroll-snap-type:none!important}
  .forge-stagebar{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important}.forge-stagebar>i{display:none!important}.forge-stagebar>span{min-width:0!important}
  #deckCardSheet.mobile-card-sheet .mobile-gallery-viewer{max-height:none!important;overflow:hidden!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important}
  #deckCardSheet.mobile-card-sheet .mobile-gallery-sheet-body{overflow:hidden!important}#deckCardSheet.mobile-card-sheet.details-open .mobile-gallery-sheet-body{overflow-y:auto!important;overflow-x:hidden!important}
}

/* v0.11.14 — locked gallery gestures and compact sticky mobile actions. */
@media(max-width:780px){
  html.mobile-gallery-open,body.mobile-gallery-open{overflow:hidden!important;overscroll-behavior:none!important}
  .mobile-gallery-stage,.mobile-gallery-card{touch-action:none!important;overscroll-behavior:none!important}

  .mobile-builder-toolbar{
    position:sticky!important;top:calc(var(--mobile-appbar-height,116px) + 6px)!important;z-index:79!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
    width:100%!important;max-width:none!important;margin:6px 0 10px!important;padding:5px!important;gap:5px!important;
    border-radius:13px!important;transition:top .22s cubic-bezier(.22,.78,.2,1),box-shadow .18s!important;
  }
  body.header-hidden .mobile-builder-toolbar{top:max(6px,env(safe-area-inset-top))!important}
  .mobile-builder-toolbar>.button{
    width:100%!important;min-width:0!important;min-height:40px!important;height:40px!important;
    padding:0 10px!important;border-radius:10px!important;font-size:11px!important;gap:6px!important;
  }
  .mobile-builder-toolbar>.button .icon{width:17px!important;height:17px!important}
  .mobile-builder-toolbar>.muted{
    grid-column:auto!important;display:grid;place-items:center;min-width:58px!important;height:40px;
    padding:0 9px!important;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);
    color:var(--text-secondary);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;
  }

  #confirmDialog{
    width:min(360px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 30px))!important;
    max-width:360px!important;
  }
  #confirmDialog>.modal-card{width:100%!important;padding:16px!important;border-radius:16px!important;overflow:hidden!important}
  #confirmDialog>.modal-card>.modal-header{position:static!important;margin:-16px -16px 12px!important;padding:16px 16px 12px!important}
  #confirmDialog .modal-header h2{font-size:18px!important;line-height:1.2}
  #confirmDialog #confirmMessage{margin:0;font-size:11px!important;line-height:1.5}
  #confirmDialog .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:14px!important}
  #confirmDialog .modal-actions .button{min-width:0!important;min-height:44px!important;height:44px;padding:0 11px!important;font-size:12px!important;white-space:nowrap}

  .modal>.modal-card>.modal-header:has(>.icon-button){position:sticky!important;width:calc(100% + 32px)!important;max-width:none!important;padding-right:64px!important}
  .modal>.modal-card>.modal-header>.icon-button{
    position:absolute!important;z-index:2;top:9px!important;right:9px!important;
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;
  }
}
@media(max-width:430px){
  .modal>.modal-card>.modal-header:has(>.icon-button){width:calc(100% + 28px)!important}
}

/* v0.11.15 — compact, collision-free mobile collection controls. */
@media(max-width:780px){
  .collection-browser{padding:14px!important}
  .collection-browser .surface-header{margin-bottom:12px!important}
  .collection-browser .surface-header h2{font-size:22px!important;line-height:1.1}
  .collection-browser .surface-header p{font-size:11px!important;line-height:1.5}

  .collection-browser .collection-quick-add{
    display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:8px!important;
    margin:0 0 10px!important;padding:11px!important;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft)
  }
  .collection-control-label{
    grid-column:1/-1!important;grid-row:auto!important;display:flex!important;align-items:baseline;justify-content:space-between;
    gap:8px;width:auto!important;min-height:0!important;height:auto!important;margin:0!important
  }
  .collection-control-label span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--fantasy-gold-pale)}
  .collection-control-label small{font-size:8px;color:var(--muted)}
  .collection-browser .collection-quick-search{grid-column:1/-1!important;grid-row:auto!important;min-width:0!important}
  .collection-browser .collection-quick-search input{height:44px!important;padding:0 12px!important;font-size:12px!important}
  .collection-browser .collection-quick-add>#collectionQuickQty{
    grid-column:1!important;grid-row:auto!important;width:72px!important;height:44px!important;padding:0 8px!important;text-align:center;font-size:12px!important
  }
  .collection-browser .collection-quick-add>#collectionQuickButton{
    grid-column:2!important;grid-row:auto!important;width:100%!important;min-width:0!important;min-height:44px!important;height:44px!important;
    padding:0 12px!important;font-size:12px!important
  }

  .collection-browser .collection-filter-panel{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
    margin:0!important;padding:11px!important;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft)
  }
  .collection-browser .collection-filter-panel>*{
    grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;height:42px!important;
    margin:0!important;padding-inline:10px!important;font-size:11px!important
  }
  .collection-browser .collection-filter-panel>.collection-control-label{grid-column:1/-1!important;height:auto!important;padding:0!important}
  .collection-browser .collection-filter-panel>.collection-search-wide{grid-column:1/-1!important;height:44px!important;padding-inline:11px!important}
  .collection-browser .collection-search-wide .icon{width:18px;height:18px;flex:none}
  .collection-browser .collection-search-wide input{height:auto!important;padding:0!important;font-size:12px!important}
  .collection-browser #collectionColor{grid-column:1/-1!important}
  .collection-browser #collectionPriceMin{grid-column:1!important}
  .collection-browser #collectionPriceMax{grid-column:2!important}
  .collection-browser #collectionSort{grid-column:1!important}
  .collection-browser #collectionDirection{grid-column:2!important}

  #collectionQuickQty,#collectionPriceMin,#collectionPriceMax{-moz-appearance:textfield;appearance:textfield}
  #collectionQuickQty::-webkit-inner-spin-button,#collectionQuickQty::-webkit-outer-spin-button,
  #collectionPriceMin::-webkit-inner-spin-button,#collectionPriceMin::-webkit-outer-spin-button,
  #collectionPriceMax::-webkit-inner-spin-button,#collectionPriceMax::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

  .collection-browser .collection-selection-bar{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;
    margin:10px 0!important;padding:10px 0!important;background:transparent!important
  }
  .collection-browser .collection-selection-bar>span{
    grid-column:1/-1!important;width:auto!important;margin:0!important;font-size:9px!important;color:var(--muted)
  }
  .collection-browser .collection-select-all{width:auto!important;min-width:0!important;gap:7px!important;font-size:10px!important;line-height:1.25}
  .collection-browser .collection-select-all input{width:22px!important;height:22px!important;flex:none}
  .collection-browser .collection-selection-bar .button{
    width:auto!important;min-width:0!important;min-height:40px!important;height:40px!important;padding:0 10px!important;font-size:9px!important;white-space:nowrap
  }
  .collection-browser #tagChips{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:10px 0 12px!important;overflow:visible!important}
}
@media(max-width:360px){
  .collection-browser .collection-selection-bar{grid-template-columns:1fr!important}
  .collection-browser .collection-selection-bar .button{width:100%!important}
}

/* v0.11.17 — guided commander choice, bulk selection and physical card corners. */
.forge-commander-panel{position:relative;z-index:7;overflow:visible}
.forge-commander-autocomplete{display:block;position:relative;width:100%}
.forge-commander-autocomplete .suggestions{z-index:140;max-height:min(360px,52vh)}
.forge-commander-autocomplete .suggestion{grid-template-columns:42px minmax(0,1fr) auto;min-height:58px}
.forge-commander-autocomplete .suggestion img{width:42px;height:58px;border-radius:5px}

.deck-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft)}
.deck-bulk-bar[hidden]{display:none!important}
.deck-select-all{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:10px;cursor:pointer}
.deck-select-all input{width:20px;height:20px;min-height:0;flex:none}
.deck-bulk-bar .button{min-height:34px;padding:0 10px;font-size:9px}.deck-bulk-bar .button .icon{width:14px;height:14px}
.compact-card-row:has(>.deck-card-select){grid-template-columns:28px 34px minmax(0,1fr) 86px}
.compact-card-row>.deck-card-select{position:relative;inset:auto;width:26px;height:26px;box-shadow:none}
.deck-image-card>.deck-card-select{left:auto;right:7px}
.compact-card-row.selected-for-delete,.deck-image-card.selected-for-delete{border-color:rgba(240,121,132,.68);box-shadow:0 0 0 2px rgba(240,121,132,.16)}

.mtg-card,.deck-image-card,.printing{border-radius:14px}
.compact-card-row{border-radius:11px}
:is(.mtg-card,.deck-image-card,.printing,.card-preview-layout,.forge-preview-commander,.mobile-gallery-card,.mobile-card-manager)>img,
.inspector-art{
  border-radius:4.8% / 3.45%!important;
  clip-path:inset(1px round 4.8% / 3.45%);
}
.compact-card-row>img{border-radius:6px;clip-path:inset(.5px round 6px)}

/* Double-faced card flip: any preview that receives a back_image_uri
   (transform, modal DFC, battle, reversible) renders as a .flip-card
   instead of a bare <img>, so this is additive - a single-faced card's
   markup and layout are completely unchanged. */
.flip-card{position:relative;width:100%;aspect-ratio:488/680;border-radius:4.8% / 3.45%;perspective:1400px}
.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.22,.9,.24,1)}
.flip-card.flipped .flip-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-face.flip-back{transform:rotateY(180deg)}
.flip-face>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4.8% / 3.45%!important;clip-path:inset(1px round 4.8% / 3.45%)}
.flip-toggle{position:absolute;top:7px;right:7px;z-index:3;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(9,11,16,.64);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4);transition:transform .18s ease,background .18s ease}
.flip-toggle .icon{width:16px;height:16px}
.flip-toggle:hover{background:rgba(9,11,16,.86);transform:scale(1.07)}
.flip-toggle:focus-visible{outline:2px solid var(--fantasy-gold);outline-offset:3px;background:rgba(9,11,16,.9)}
.flip-toggle:active{transform:scale(.93)}
.flip-card.flipped .flip-toggle{transform:scaleX(-1)}
.flip-card.flipped .flip-toggle:hover{transform:scaleX(-1) scale(1.07)}
.flip-card.flipped .flip-toggle:active{transform:scaleX(-1) scale(.93)}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}}
.inspector-art-flip{width:min(100%,310px);aspect-ratio:488/680;display:block;margin:0 auto 13px;box-shadow:var(--shadow)}
.goal-candidate-card>.flip-card{border-radius:0}
.replace-suggestion-art>.flip-card{width:56px;margin:0}
.advice-visual-image>.flip-card{width:100%;box-shadow:0 0 0 1px var(--advice-accent-metal,var(--bronze)),0 16px 32px rgba(0,0,0,.45)}
.swap-card-side>.flip-card{width:min(100%,270px);margin:0 auto 10px}

@media(max-width:780px){
  .flip-toggle{top:8px;right:8px;width:42px;height:42px}
  .flip-toggle .icon{width:20px;height:20px}
  #mobileReplaceResults .replace-suggestion-art>.flip-card{width:76px}
  .swap-card-side>.flip-card{max-width:260px}
  .forge-commander-autocomplete .suggestions{position:absolute!important;max-height:min(300px,42dvh)!important;overflow-y:auto!important}
  .deck-bulk-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;position:sticky;top:0;z-index:6;margin-bottom:8px;padding:6px 7px}
  .deck-bulk-bar .button{min-height:38px;white-space:nowrap}
}
@media(max-width:390px){
  .deck-bulk-bar{grid-template-columns:1fr}
  .deck-bulk-bar .button{width:100%}
}

/* v0.11.18 — explicit Forge result, truly separated popups and clipped gallery art. */
.forge-power-field{position:relative}.forge-power-field output{float:right;min-width:30px;margin-left:8px;padding:3px 8px;border:1px solid var(--fantasy-bronze-dim);border-radius:999px;background:var(--bg-soft);color:var(--fantasy-gold-pale);font-weight:850;text-align:center;font-variant-numeric:tabular-nums}.forge-power-field input[type="range"]{width:100%;margin-top:8px}
.mana-symbol{position:relative}.mana-symbol-glyph{position:absolute;inset:0;z-index:0;display:grid;place-items:center;color:currentColor;font-size:.56em;font-weight:950}.mana-symbol>img{position:relative;z-index:1}.mana-symbol.asset-missing>img{display:none}
.forge-result-modal .forge-result-shell{display:grid;gap:16px}.forge-result-header{margin-bottom:0!important}.forge-result-header h2{font-size:clamp(21px,2.4vw,32px)}.forge-result-header p{max-width:720px}.forge-result-error{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:clamp(18px,3vw,34px);border:1px solid color-mix(in srgb,var(--danger) 52%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--danger) 8%,var(--surface-2))}.forge-result-error-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--danger) 65%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--danger) 12%,var(--bg-soft));color:var(--danger)}.forge-result-error-icon .icon{width:27px;height:27px}.forge-result-error h3{margin:4px 0 7px;font-size:20px}.forge-result-error p{max-width:760px;margin:0;color:var(--muted);line-height:1.55}.forge-result-error .modal-actions{grid-column:1/-1;width:100%}

dialog.modal::backdrop{background:rgba(1,2,6,.9)!important;backdrop-filter:blur(9px) brightness(.42) saturate(.72)!important;-webkit-backdrop-filter:blur(9px) brightness(.42) saturate(.72)!important}
dialog.mobile-card-sheet::backdrop{background:rgba(1,2,6,.7)!important;backdrop-filter:blur(3px) brightness(.48) saturate(.72)!important;-webkit-backdrop-filter:blur(3px) brightness(.48) saturate(.72)!important}
html.dialog-open,body.dialog-open,html.mobile-library-open,body.mobile-library-open{overflow-y:hidden!important;overscroll-behavior:none!important}
.modal>.modal-card{--modal-pad:20px;position:relative;isolation:isolate;background-color:var(--surface);border-color:var(--line-strong);box-shadow:0 34px 100px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.045)}
.forge-modal>.forge-shell{--modal-pad:clamp(16px,2vw,26px)}
.modal>.modal-card>.modal-header:has(>.icon-button){position:sticky!important;z-index:60!important;top:calc(0px - var(--modal-pad))!important;width:calc(100% + var(--modal-pad) + var(--modal-pad))!important;max-width:none!important;box-sizing:border-box!important;margin:calc(0px - var(--modal-pad)) calc(0px - var(--modal-pad)) 16px!important;padding:var(--modal-pad) calc(var(--modal-pad) + 54px) 14px var(--modal-pad)!important;background:color-mix(in srgb,var(--surface) 98%,var(--bg))!important;border-bottom:1px solid var(--line-strong)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.modal>.modal-card>.modal-header>.icon-button{position:absolute!important;z-index:2!important;top:10px!important;right:10px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important}

.mobile-library-backdrop{position:fixed;z-index:149;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:rgba(1,2,6,.76);backdrop-filter:blur(5px) brightness(.52) saturate(.72);-webkit-backdrop-filter:blur(5px) brightness(.52) saturate(.72)}.mobile-library-backdrop[hidden]{display:none!important}

#deckCardSheet .mobile-gallery-card{overflow:hidden!important;border-radius:4.8% / 3.45%!important;contain:paint;-webkit-mask-image:-webkit-radial-gradient(white,black)}
#deckCardSheet .mobile-gallery-card>img{display:block;border-radius:inherit!important;clip-path:none!important}

@media(max-width:780px){
  .modal>.modal-card{--modal-pad:16px}
  .library-panel{background:var(--surface)!important;box-shadow:0 -34px 100px rgba(0,0,0,.78)!important}
  .library-panel-head{position:sticky!important;top:-13px!important;z-index:12!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;width:calc(100% + 26px)!important;max-width:none!important;box-sizing:border-box!important;margin:-13px -13px 12px!important;padding:15px 68px 13px 15px!important;background:var(--surface)!important;border-bottom:1px solid var(--line-strong)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .library-panel-head .panel-head-actions{position:absolute!important;top:9px!important;right:9px!important;margin:0!important}.library-panel-head #closeMobileLibrary{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important}
  .forge-result-error{grid-template-columns:1fr;gap:11px}.forge-result-error-icon{width:48px;height:48px;border-radius:14px}.forge-result-error .modal-actions{grid-column:1}.forge-result-error .modal-actions .button{width:100%}
}
@media(max-width:430px){.modal>.modal-card{--modal-pad:14px}}
@media(max-width:480px){
  #swipeWorkspace .swipe-actions{position:static!important;bottom:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:none!important;margin:8px auto 0!important;gap:4px!important;padding:5px!important;border-radius:13px!important;box-shadow:0 10px 24px rgba(0,0,0,.24)!important}
  #swipeWorkspace .swipe-action{min-height:54px!important;padding:5px 2px!important;grid-template-columns:1fr!important;grid-template-rows:25px auto!important;justify-items:center!important;gap:2px!important;border-radius:9px!important;text-align:center!important}
  #swipeWorkspace .swipe-action-icon{width:25px!important;height:25px!important;min-width:25px!important;border-radius:7px!important}.swipe-action-icon .icon{width:14px!important;height:14px!important}
  #swipeWorkspace .swipe-action-copy{align-items:center!important;text-align:center!important}
  #swipeWorkspace .swipe-action-copy b{font-size:8px!important;line-height:1.1!important;white-space:nowrap!important;text-align:center!important}
  #swipeWorkspace .swipe-action-copy small{display:none!important}
}

/* v0.11.20 — clean physical card crop and a playful, low-glare Day palette. */
#deckCardSheet .mobile-gallery-card{
  overflow:hidden!important;
  border-radius:5.2% / 3.75%!important;
  background:#07080d!important;
  clip-path:inset(0 round 5.2% / 3.75%)!important;
  -webkit-clip-path:inset(0 round 5.2% / 3.75%)!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
  transform-style:preserve-3d;
}
#deckCardSheet .mobile-gallery-card>img{
  width:100%!important;
  max-width:none!important;
  border-radius:5.2% / 3.75%!important;
  clip-path:inset(.65% round 5.2% / 3.75%)!important;
  -webkit-clip-path:inset(.65% round 5.2% / 3.75%)!important;
  transform:translateZ(0) scale(1.014);
  transform-origin:center;
}

:root[data-theme="light"]{
  color-scheme:light;
  --bg:#e6dccb;--bg-soft:#f1e5d2;--surface:#f6ead5;--surface-2:#e9def2;--surface-3:#d9cbea;
  --line:#c5aa86;--line-strong:#9d7956;--text:#2d263b;--muted:#655b70;--muted-2:#796f84;
  --text-secondary:#51475f;--ui-secondary:#5f566b;
  --primary:#7356d4;--primary-2:#5940b7;--cyan:#168582;--green:#298256;--warning:#a86a18;--danger:#bd4059;
  --shadow:0 20px 52px rgba(77,52,86,.18);
  --fantasy-bg:radial-gradient(42% 46% at 7% 2%,rgba(244,157,132,.42),transparent 72%),radial-gradient(44% 46% at 95% 4%,rgba(151,127,227,.38),transparent 74%),radial-gradient(54% 46% at 50% 105%,rgba(75,175,151,.26),transparent 72%),linear-gradient(150deg,#ead9c5 0%,#e2d7e9 52%,#d7e5d9 100%);
  --fantasy-panel:linear-gradient(145deg,#f7ead4 0%,#efe0e8 56%,#e5dcf2 100%);
  --fantasy-panel-deep:linear-gradient(165deg,#ddd0ea,#c9bbe2);
  --obsidian:#e2d5e9;--obsidian-2:#d5c6e3;--graphite:#c9bad8;
  --bronze:#8b5b31;--bronze-dim:#bea07a;--silver:#655d78;--silver-dim:#aaa0b7;
  --fantasy-gold:#9b641d;--fantasy-gold-pale:#79511e;--fantasy-bronze:#a26a38;--fantasy-bronze-dim:#c6a47d;
  --fantasy-silver:#625a76;--fantasy-silver-dim:#aaa0b7;--fantasy-arcane:#704fd1;--fantasy-mana:#16837f;
  --fantasy-danger:#b83e55;--fantasy-success:#287d53;--fantasy-warning:#a46818;
  --day-peach:#f1c5ad;--day-lavender:#d8c9ef;--day-mint:#c8e2d2;--day-gold:#e8c87f;
}
:root[data-theme="light"] body:before{opacity:.34;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34) 0 2px,transparent 3px),radial-gradient(circle at 84% 12%,rgba(112,79,209,.12) 0 2px,transparent 3px);background-size:34px 34px,46px 46px}
:root[data-theme="light"] body:after{opacity:.22;background:radial-gradient(90% 60% at 50% 110%,rgba(40,125,83,.22),transparent 66%)}
:root[data-theme="light"] .appbar{background:linear-gradient(100deg,rgba(246,226,203,.97),rgba(229,213,242,.97) 58%,rgba(209,231,218,.97));border-bottom-color:#b88a5a;box-shadow:inset 0 1px rgba(255,255,255,.38),0 8px 24px rgba(77,52,86,.14)}
:root[data-theme="light"] .sidebar{background:linear-gradient(180deg,#ded0ef 0%,#d2c2e7 54%,#c4dcce 100%);box-shadow:inset -1px 0 rgba(255,255,255,.32),5px 0 24px rgba(71,49,83,.14)}
:root[data-theme="light"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface,.metric-card,.analysis-score,.analysis-stat,.mobile-sheet-card){background-color:var(--surface)!important;background-image:var(--fantasy-panel)!important;border-color:var(--line-strong)!important;box-shadow:inset 0 1px rgba(255,255,255,.38),0 12px 30px rgba(76,53,84,.14)}
:root[data-theme="light"] :is(input,select,textarea,.search-field,.command-search,.segmented,.compact-card-row,.deck-image-card,.printing,.issue,.upgrade-card,.inventory-editor,.card-analysis-grid>div,.mobile-oracle,.mobile-card-facts span,.advice-card,.expected-results p,.swap-detail-grid>p,.goal-detail-grid p,.metric-impact span){background-color:var(--bg-soft);color:var(--text);border-color:var(--line)}
:root[data-theme="light"] :is(input,textarea)::placeholder{color:#786f82}
:root[data-theme="light"] .button.primary{background:linear-gradient(145deg,#8669e7,#6b4dcc 58%,#5238ad);border-color:#bdaef0;box-shadow:inset 0 1px rgba(255,255,255,.34),0 8px 18px rgba(91,61,181,.25)}
:root[data-theme="light"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action){background:linear-gradient(145deg,var(--day-peach),#e7d2df 52%,var(--day-lavender));border-color:#b58d72;color:var(--text);box-shadow:inset 0 1px rgba(255,255,255,.38),0 4px 12px rgba(82,57,88,.1)}
:root[data-theme="light"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action):hover{background:linear-gradient(145deg,#f5ceb8,#ead8e5 52%,#dfd1f3);color:var(--text)}
:root[data-theme="light"] .button.danger{background:linear-gradient(145deg,#e78191,#bd4059);border-color:#9e3448;color:#fff8f4;box-shadow:inset 0 1px rgba(255,255,255,.28),0 7px 16px rgba(164,45,67,.18)}
:root[data-theme="light"] .nav-item:hover{background:rgba(115,86,212,.1);color:var(--text)}
:root[data-theme="light"] .nav-item.active{border-color:#9b78d2;background:linear-gradient(90deg,rgba(115,86,212,.25),rgba(242,170,138,.17) 72%,transparent);color:#493392;box-shadow:inset 0 1px rgba(255,255,255,.35),0 5px 14px rgba(76,52,111,.12)}
:root[data-theme="light"] :is(.nav-sigil,.mini-stat){background:linear-gradient(145deg,#efe1f5,#d8caea);box-shadow:inset 0 0 0 1px #ad8fc1,inset 0 1px rgba(255,255,255,.38)}
:root[data-theme="light"] .deck-kpis>div{background:linear-gradient(145deg,#f2cbb8,#e6d4e8 52%,#d0e2d7);border-color:#bd9677}
:root[data-theme="light"] :is(.tag,.chip){background:#ddcfee;border-color:#aa8bc5;color:#4d4161}
:root[data-theme="light"] :is(.chip.active,.mobile-card-tags span,.card-analysis-chips span){background:#c9e2d2;border-color:#6da989;color:#245e44}
:root[data-theme="light"] :is(.suggestions,.toast){background:linear-gradient(145deg,#f6e7d4,#e4d7ee);border-color:#a37c5e;color:var(--text);box-shadow:0 18px 42px rgba(76,52,85,.2)}
:root[data-theme="light"] :is(.collection-grid>.empty-state,.card-action-dock,.inventory-editor.refined,.swipe-card){background:linear-gradient(145deg,#f4e4cf,#e3d7ef 58%,#d3e6da);border-color:#b68f6d}
:root[data-theme="light"] :is(.swap-essential p,.priority-decision-grid p,.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress,.forge-choice,.forge-card-state,.forge-list-card){background:linear-gradient(145deg,#f4e4d3,#e7dbef);border-color:var(--line)}
:root[data-theme="light"] :is(.owned-badge,.card-price){background:rgba(70,51,99,.9);border-color:rgba(255,255,255,.22);color:#fff8ef}
:root[data-theme="light"] :is(.segment.active,.quantity-control button:hover,.printing-owned button:hover){background:var(--day-lavender);color:var(--text)}
:root[data-theme="light"] .toggle>span{background:#cfbfdf;border-color:#9a79bc}:root[data-theme="light"] .toggle>span:after{background:#67517c}:root[data-theme="light"] .toggle input:checked+span{background:#b9dbc8;border-color:#4f9972}:root[data-theme="light"] .toggle input:checked+span:after{background:#27734d}
:root[data-theme="light"] :is(.forge-choice:hover,.account-menu-item:hover){background:#e1d0ee}
:root[data-theme="light"] #mobileNavButton{color:#573c7b;background:linear-gradient(145deg,#efd0ba,#d7c6ec);border-color:#a77e61;box-shadow:inset 0 1px rgba(255,255,255,.36),0 5px 14px rgba(78,53,87,.14)}
:root[data-theme="light"] .account-theme-row{background:#d8cae7;border-color:#aa8aba}:root[data-theme="light"] .account-theme-row button{color:#61566d}:root[data-theme="light"] .account-theme-row button.active{background:#f1dfcd;color:#382c4b;box-shadow:0 3px 10px rgba(76,52,85,.16)}
:root[data-theme="light"] .mobile-gallery-sheet{background:color-mix(in srgb,#f3e5d6 94%,transparent);border-color:#a77e61}

@media(prefers-color-scheme:light){
  :root[data-theme="system"]{
    color-scheme:light;
    --bg:#e6dccb;--bg-soft:#f1e5d2;--surface:#f6ead5;--surface-2:#e9def2;--surface-3:#d9cbea;
    --line:#c5aa86;--line-strong:#9d7956;--text:#2d263b;--muted:#655b70;--muted-2:#796f84;
    --text-secondary:#51475f;--ui-secondary:#5f566b;
    --primary:#7356d4;--primary-2:#5940b7;--cyan:#168582;--green:#298256;--warning:#a86a18;--danger:#bd4059;
    --shadow:0 20px 52px rgba(77,52,86,.18);
    --fantasy-bg:radial-gradient(42% 46% at 7% 2%,rgba(244,157,132,.42),transparent 72%),radial-gradient(44% 46% at 95% 4%,rgba(151,127,227,.38),transparent 74%),radial-gradient(54% 46% at 50% 105%,rgba(75,175,151,.26),transparent 72%),linear-gradient(150deg,#ead9c5 0%,#e2d7e9 52%,#d7e5d9 100%);
    --fantasy-panel:linear-gradient(145deg,#f7ead4 0%,#efe0e8 56%,#e5dcf2 100%);
    --fantasy-panel-deep:linear-gradient(165deg,#ddd0ea,#c9bbe2);
    --obsidian:#e2d5e9;--obsidian-2:#d5c6e3;--graphite:#c9bad8;
    --bronze:#8b5b31;--bronze-dim:#bea07a;--silver:#655d78;--silver-dim:#aaa0b7;
    --fantasy-gold:#9b641d;--fantasy-gold-pale:#79511e;--fantasy-bronze:#a26a38;--fantasy-bronze-dim:#c6a47d;
    --fantasy-silver:#625a76;--fantasy-silver-dim:#aaa0b7;--fantasy-arcane:#704fd1;--fantasy-mana:#16837f;
    --fantasy-danger:#b83e55;--fantasy-success:#287d53;--fantasy-warning:#a46818;
    --day-peach:#f1c5ad;--day-lavender:#d8c9ef;--day-mint:#c8e2d2;--day-gold:#e8c87f;
  }
  :root[data-theme="system"] body:before{opacity:.34;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34) 0 2px,transparent 3px),radial-gradient(circle at 84% 12%,rgba(112,79,209,.12) 0 2px,transparent 3px);background-size:34px 34px,46px 46px}
  :root[data-theme="system"] body:after{opacity:.22;background:radial-gradient(90% 60% at 50% 110%,rgba(40,125,83,.22),transparent 66%)}
  :root[data-theme="system"] .appbar{background:linear-gradient(100deg,rgba(246,226,203,.97),rgba(229,213,242,.97) 58%,rgba(209,231,218,.97));border-bottom-color:#b88a5a;box-shadow:inset 0 1px rgba(255,255,255,.38),0 8px 24px rgba(77,52,86,.14)}
  :root[data-theme="system"] .sidebar{background:linear-gradient(180deg,#ded0ef 0%,#d2c2e7 54%,#c4dcce 100%);box-shadow:inset -1px 0 rgba(255,255,255,.32),5px 0 24px rgba(71,49,83,.14)}
  :root[data-theme="system"] :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface,.metric-card,.analysis-score,.analysis-stat,.mobile-sheet-card){background-color:var(--surface)!important;background-image:var(--fantasy-panel)!important;border-color:var(--line-strong)!important;box-shadow:inset 0 1px rgba(255,255,255,.38),0 12px 30px rgba(76,53,84,.14)}
  :root[data-theme="system"] :is(input,select,textarea,.search-field,.command-search,.segmented,.compact-card-row,.deck-image-card,.printing,.issue,.upgrade-card,.inventory-editor,.card-analysis-grid>div,.mobile-oracle,.mobile-card-facts span,.advice-card,.expected-results p,.swap-detail-grid>p,.goal-detail-grid p,.metric-impact span){background-color:var(--bg-soft);color:var(--text);border-color:var(--line)}
  :root[data-theme="system"] .button.primary{background:linear-gradient(145deg,#8669e7,#6b4dcc 58%,#5238ad);border-color:#bdaef0;box-shadow:inset 0 1px rgba(255,255,255,.34),0 8px 18px rgba(91,61,181,.25)}
  :root[data-theme="system"] :is(.button.secondary,.button.ghost,.builder-more>summary,.deck-more>summary,.deck-action){background:linear-gradient(145deg,var(--day-peach),#e7d2df 52%,var(--day-lavender));border-color:#b58d72;color:var(--text)}
  :root[data-theme="system"] .button.danger{background:linear-gradient(145deg,#e78191,#bd4059);border-color:#9e3448;color:#fff8f4}
  :root[data-theme="system"] .nav-item:hover{background:rgba(115,86,212,.1);color:var(--text)}
  :root[data-theme="system"] .nav-item.active{border-color:#9b78d2;background:linear-gradient(90deg,rgba(115,86,212,.25),rgba(242,170,138,.17) 72%,transparent);color:#493392}
  :root[data-theme="system"] :is(.nav-sigil,.mini-stat){background:linear-gradient(145deg,#efe1f5,#d8caea);box-shadow:inset 0 0 0 1px #ad8fc1,inset 0 1px rgba(255,255,255,.38)}
  :root[data-theme="system"] .deck-kpis>div{background:linear-gradient(145deg,#f2cbb8,#e6d4e8 52%,#d0e2d7);border-color:#bd9677}
  :root[data-theme="system"] :is(.tag,.chip){background:#ddcfee;border-color:#aa8bc5;color:#4d4161}
  :root[data-theme="system"] :is(.chip.active,.mobile-card-tags span,.card-analysis-chips span){background:#c9e2d2;border-color:#6da989;color:#245e44}
  :root[data-theme="system"] :is(.suggestions,.toast){background:linear-gradient(145deg,#f6e7d4,#e4d7ee);border-color:#a37c5e;color:var(--text)}
  :root[data-theme="system"] :is(.collection-grid>.empty-state,.card-action-dock,.inventory-editor.refined,.swipe-card){background:linear-gradient(145deg,#f4e4cf,#e3d7ef 58%,#d3e6da);border-color:#b68f6d}
  :root[data-theme="system"] :is(.swap-essential p,.priority-decision-grid p,.forge-choice-group,.forge-preferences,.forge-existing,.forge-deck-details,.forge-progress,.forge-choice,.forge-card-state,.forge-list-card){background:linear-gradient(145deg,#f4e4d3,#e7dbef);border-color:var(--line)}
  :root[data-theme="system"] :is(.owned-badge,.card-price){background:rgba(70,51,99,.9);border-color:rgba(255,255,255,.22);color:#fff8ef}
  :root[data-theme="system"] :is(.segment.active,.quantity-control button:hover,.printing-owned button:hover){background:var(--day-lavender);color:var(--text)}
  :root[data-theme="system"] .toggle>span{background:#cfbfdf;border-color:#9a79bc}:root[data-theme="system"] .toggle>span:after{background:#67517c}:root[data-theme="system"] .toggle input:checked+span{background:#b9dbc8;border-color:#4f9972}:root[data-theme="system"] .toggle input:checked+span:after{background:#27734d}
  :root[data-theme="system"] :is(.forge-choice:hover,.account-menu-item:hover){background:#e1d0ee}
  :root[data-theme="system"] #mobileNavButton{color:#573c7b;background:linear-gradient(145deg,#efd0ba,#d7c6ec);border-color:#a77e61}
  :root[data-theme="system"] .account-theme-row{background:#d8cae7;border-color:#aa8aba}:root[data-theme="system"] .account-theme-row button{color:#61566d}:root[data-theme="system"] .account-theme-row button.active{background:#f1dfcd;color:#382c4b}
  :root[data-theme="system"] .mobile-gallery-sheet{background:color-mix(in srgb,#f3e5d6 94%,transparent);border-color:#a77e61}
}

/* v0.11.21 — the artwork itself is cut; there is no rounded backing plate. */
#deckCardSheet .mobile-gallery-card{
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  -webkit-mask-image:none!important;
  contain:layout style!important;
}
#deckCardSheet .mobile-gallery-card>img{
  border-radius:5.2% / 3.75%!important;
  clip-path:inset(.85% round 5.2% / 3.75%)!important;
  -webkit-clip-path:inset(.85% round 5.2% / 3.75%)!important;
  transform:none!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.48));
}

/* v0.11.22 — stable Safari layers, direct card cut and semantic mana pins. */
#deckCardSheet .mobile-gallery-card{will-change:transform!important}
#deckCardSheet .mobile-gallery-card>img{
  opacity:1!important;
  visibility:visible!important;
  border-radius:18px!important;
  clip-path:inset(0 round 18px)!important;
  -webkit-clip-path:inset(0 round 18px)!important;
  filter:none!important;
}
#deckCardSheet .mobile-gallery-stage:not(.advance-next):not(.advance-previous) [data-gallery-slot="current"]{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
#deckCardSheet .mobile-gallery-stage.advance-next [data-gallery-slot="current"],
#deckCardSheet .mobile-gallery-stage.advance-previous [data-gallery-slot="current"]{opacity:.2!important;filter:brightness(.6)!important}
#deckCardSheet .mobile-gallery-stage.advance-next [data-gallery-slot="next"],
#deckCardSheet .mobile-gallery-stage.advance-previous [data-gallery-slot="previous"]{opacity:1!important;filter:none!important}
.mana-symbol.mana-c{color:#27232c;background:radial-gradient(circle at 32% 28%,#ddd8d4,#aaa3a0 72%);box-shadow:inset 0 0 0 1px #918986,inset 0 2px 4px rgba(255,255,255,.2)}

/* v0.11.23 — keep Safari's dialog backdrop out of the gallery compositor. */
@media(max-width:780px){
dialog#deckCardSheet::backdrop{
  background:rgba(2,4,9,.76)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#deckCardSheet.mobile-card-sheet{isolation:isolate!important}
#deckCardSheet.mobile-card-sheet .mobile-gallery-viewer{
  position:absolute!important;
  isolation:isolate!important;
  transform:none!important;
}
#deckCardSheet .mobile-gallery-stage{z-index:10!important}
#deckCardSheet .mobile-gallery-sheet{z-index:30!important}
#deckCardSheet .mobile-gallery-head{z-index:40!important}
#deckCardSheet .mobile-gallery-card{
  opacity:.34!important;
  filter:none!important;
  transition:transform .22s cubic-bezier(.22,.78,.2,1),opacity .22s!important;
}
#deckCardSheet .mobile-gallery-stage:not(.advance-next):not(.advance-previous) [data-gallery-slot="current"]{opacity:1!important;filter:none!important}
#deckCardSheet .mobile-gallery-card>img{
  border-radius:20px!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  -webkit-mask-image:none!important;
}
}

/* v0.11.25 — one physical mobile carousel motion and a real image crop. */
@media(max-width:780px){
#deckCardSheet .mobile-gallery-card{
  overflow:hidden!important;
  border-radius:22px!important;
  background:transparent!important;
  contain:layout style!important;
  transition:transform .28s cubic-bezier(.2,.82,.22,1),opacity .2s ease!important;
}
#deckCardSheet .mobile-gallery-stage.is-dragging .mobile-gallery-card,
#deckCardSheet .mobile-gallery-stage.gallery-reset .mobile-gallery-card{transition:none!important}
#deckCardSheet .mobile-gallery-card>img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  border-radius:inherit!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  -webkit-mask-image:none!important;
}
}
@media(max-width:780px) and (prefers-reduced-motion:reduce){#deckCardSheet .mobile-gallery-card{transition:none!important}}

/* v0.11.26 — clip scan pixels on an inner, non-moving layer. */
@media(max-width:780px){
#deckCardSheet .mobile-gallery-image-clip{
  display:block!important;
  width:100%!important;
  aspect-ratio:488/680!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:transparent!important;
  clip-path:inset(0 round 22px)!important;
  -webkit-clip-path:inset(0 round 22px)!important;
  line-height:0!important;
}
#deckCardSheet .mobile-gallery-image-clip>img{
  display:block!important;
  width:calc(100% + 4px)!important;
  height:calc(100% + 4px)!important;
  max-width:none!important;
  max-height:none!important;
  margin:-2px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  border-radius:0!important;
}
#deckCardSheet .mobile-gallery-swipe-hint{
  z-index:16!important;
  bottom:10px!important;
  padding:5px 10px!important;
  background:rgba(5,7,13,.82)!important;
  color:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.32)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none!important;
}
}

/* v0.11.27 — size the whole card from the available height, never crop it. */
@media(max-width:780px){
#deckCardSheet .mobile-gallery-card{
  width:auto!important;
  height:min(540px,59dvh,117.05vw,calc(var(--app-viewport-height,100dvh) - max(8px,env(safe-area-inset-top)) - 48px - clamp(188px,24dvh,210px) - 20px))!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:488/680!important;
}
#deckCardSheet .mobile-gallery-image-clip{
  width:100%!important;
  height:100%!important;
  aspect-ratio:488/680!important;
}
#deckCardSheet .mobile-gallery-image-clip>img{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  aspect-ratio:488/680!important;
  object-fit:contain!important;
}
}

/* v0.11.27 — real mana pins in Safari; no textual glyph can cover the artwork. */
.mana-symbol[data-mana-symbol]{
  display:inline-grid!important;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background-color:transparent!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  color:transparent!important;
}

/* v0.12.0 — Icaro Play: local-first table companion, event-ready for future sync. */
.play-view{--play-gap:10px}.play-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:6px 2px}.play-hero h1{margin:5px 0 3px;font-size:clamp(30px,4vw,52px);letter-spacing:-.045em}.play-hero p{max-width:680px;margin:0;color:var(--muted);line-height:1.55}.play-local-badge{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 8px;min-width:170px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.play-local-badge>span{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 15px color-mix(in srgb,var(--green) 65%,transparent)}.play-local-badge b{font-size:11px}.play-local-badge small{color:var(--muted);font-size:9px}
.play-setup{max-width:1050px;margin-inline:auto;padding:22px}.play-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.play-setup-head h2{margin:5px 0 4px;font-size:26px}.play-setup-head p{max-width:650px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.play-basics{display:grid;grid-template-columns:1fr 160px 220px;gap:10px;margin-bottom:14px}.play-basics>label,.play-count-control{display:grid;gap:7px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.play-basics select,.play-basics input{width:100%;height:48px}.play-count-control>div{display:grid;grid-template-columns:48px 1fr 48px;height:48px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg-soft)}.play-count-control button{border:0;background:var(--surface-2);font-size:22px;font-weight:900}.play-count-control output{display:grid;place-items:center;color:var(--text);font-size:18px;font-weight:900}.play-setup-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.play-setup-player{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(150px,.8fr);gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft)}.play-player-color{width:42px;height:42px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.play-player-color::-webkit-color-swatch-wrapper{padding:0}.play-player-color::-webkit-color-swatch{border:0;border-radius:8px}.play-setup-player input[type="text"],.play-setup-player select{height:42px;min-width:0}.play-setup-actions{display:flex;align-items:center;gap:14px;margin-top:18px}.play-setup-actions .button{min-width:220px}.play-setup-actions small{max-width:520px;color:var(--muted);line-height:1.45}
body.play-arena-live .appbar,body.play-arena-live .sidebar{display:none!important}body.play-arena-live .app-shell{display:block}body.play-arena-live .main-content{padding:0!important;max-width:none}body.play-arena-live #view-play{min-height:100dvh;padding:0;background:#05070c}body.play-arena-live{overflow:hidden;overscroll-behavior:none}.play-arena{position:relative;min-height:100dvh;height:var(--app-viewport-height,100dvh);padding:58px 10px 10px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#161a28 0,#080a11 52%,#030408 100%)}.play-arena-bar{position:absolute;z-index:12;top:max(8px,env(safe-area-inset-top));left:10px;right:10px;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:8px;color:#fff}.play-arena-bar>div{text-align:center}.play-arena-bar span,.play-arena-bar b{display:block}.play-arena-bar span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#b7bfd0}.play-arena-bar b{margin-top:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-round-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(7,9,15,.72);color:#fff;font-size:20px;backdrop-filter:blur(12px)}.play-round-button:disabled{opacity:.3}.play-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--play-gap);height:calc(100% - max(0px,env(safe-area-inset-bottom)));padding-bottom:0}.play-board[data-player-count="1"]{grid-template-columns:1fr}.play-board[data-player-count="1"] .play-tile{max-width:760px;width:100%;margin:auto}.play-board[data-player-count="5"],.play-board[data-player-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.play-board[data-player-count="7"],.play-board[data-player-count="8"],.play-board[data-player-count="9"],.play-board[data-player-count="10"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.play-tile{--tile:#5362e8;--tile-rgb:83,98,232;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(42px,.4fr) minmax(0,1fr) minmax(42px,.4fr);grid-template-rows:auto 1fr auto;min-width:0;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--tile) 70%,white);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--tile) 83%,#111 17%),color-mix(in srgb,var(--tile) 58%,#05070d 42%));box-shadow:inset 0 1px rgba(255,255,255,.2),0 12px 35px rgba(0,0,0,.28);color:#fff;touch-action:manipulation;transition:filter .18s,transform .18s}.play-tile:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 34%,rgba(0,0,0,.18)),var(--play-art,none) center/cover;opacity:.32;mix-blend-mode:luminosity}.play-tile.is-active{box-shadow:inset 0 0 0 2px rgba(255,255,255,.7),0 0 28px color-mix(in srgb,var(--tile) 52%,transparent),0 16px 42px rgba(0,0,0,.38)}.play-tile.is-eliminated{filter:grayscale(.85) brightness(.48)}.play-tile-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 0}.play-tile-head button{min-width:0;padding:0;border:0;background:none;color:#fff;text-align:left}.play-tile-head b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,2vw,20px);text-shadow:0 2px 7px rgba(0,0,0,.6)}.play-tile-head small{display:block;margin-top:1px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.7);font-size:8px}.play-turn-dot{width:10px;height:10px;border:2px solid rgba(255,255,255,.7);border-radius:50%}.is-active .play-turn-dot{background:#fff;box-shadow:0 0 13px #fff}.play-life-hit{display:grid;place-items:center;min-width:0;border:0;background:transparent;color:rgba(255,255,255,.68);font-size:clamp(28px,4.5vw,58px);font-weight:700;touch-action:manipulation;user-select:none;-webkit-user-select:none}.play-life-hit:active{background:rgba(0,0,0,.11)}.play-life-value{display:grid;place-items:center;align-content:center;min-width:0;border:0;background:transparent;color:#fff;text-shadow:0 4px 15px rgba(0,0,0,.4)}.play-life-value strong{font-size:clamp(54px,11vw,132px);line-height:.85;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.play-life-value span{margin-top:8px;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:.7}.play-tile-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 10px 9px}.play-counter-strip{display:flex;align-items:center;gap:5px;min-width:0}.play-counter-chip{padding:5px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,7,12,.28);color:#fff;font-size:8px;font-weight:800;backdrop-filter:blur(8px)}.play-counter-chip.is-zero{opacity:.5}.play-player-more{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(5,7,12,.3);font-weight:900}.play-value-pop{animation:playValuePop .2s cubic-bezier(.2,.8,.2,1)}@keyframes playValuePop{50%{transform:scale(1.13)}}
.play-hub{position:absolute;z-index:10;left:50%;top:50%;display:grid;place-items:center;align-content:center;width:88px;height:88px;padding:8px;border:2px solid rgba(255,255,255,.72);border-radius:30%;background:radial-gradient(circle at 35% 25%,#aa99ff,#4f43c8 65%,#181342);color:#fff;box-shadow:0 0 0 7px rgba(5,7,12,.5),0 16px 38px rgba(0,0,0,.52),0 0 32px rgba(139,125,255,.42);transform:translate(-50%,-50%);touch-action:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s}.play-hub.is-pulling{transition:none;box-shadow:0 0 0 9px rgba(5,7,12,.56),0 22px 50px rgba(0,0,0,.62),0 0 46px rgba(88,215,208,.5)}.play-hub-glyph .icon{width:24px;height:24px}.play-hub b{font-size:9px}.play-hub small{font-size:6px;opacity:.75}
.play-dialog-card{width:min(720px,calc(100vw - 24px))}.play-dialog-section{display:grid;gap:12px}.play-player-summary{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px}.play-exact-life{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;height:58px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.play-exact-life button{border:0;background:var(--surface-2);font-size:24px}.play-exact-life input{width:100%;border:0!important;text-align:center;font-size:22px;font-weight:900}.play-player-edit{display:grid;grid-template-columns:1fr 1fr;gap:8px}.play-counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.play-counter-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 40px 42px;align-items:center;min-height:48px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft)}.play-counter-row>span{padding-left:12px;font-size:10px;font-weight:800}.play-counter-row button{height:100%;border:0;background:var(--surface-2);font-size:20px}.play-counter-row output{text-align:center;font-weight:900}.play-commander-grid{display:grid;gap:7px}.play-commander-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 48px 42px;align-items:center;min-height:50px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.play-commander-row span{display:grid;padding-left:12px}.play-commander-row small{color:var(--muted)}.play-commander-row button{height:100%;border:0;background:var(--surface-2);font-size:20px}.play-commander-row output{text-align:center;font-weight:900}.play-danger-row{display:flex;justify-content:space-between;gap:8px;padding-top:6px}.play-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.play-tool-card{display:grid;justify-items:start;gap:4px;min-height:82px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);text-align:left}.play-tool-card b{font-size:13px}.play-tool-card small{color:var(--muted);font-size:9px}.play-roll-result{grid-column:1/-1;display:grid;place-items:center;min-height:70px;border:1px dashed var(--line-strong);border-radius:14px;font-size:30px;font-weight:900}.play-history{display:grid;gap:6px;max-height:230px;overflow:auto}.play-history-row{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:9px;background:var(--bg-soft);font-size:9px}.play-history-row span{color:var(--muted)}
.play-lens-card{width:min(820px,calc(100vw - 20px))}.play-lens-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.play-lens-choice button{display:grid;justify-items:start;gap:6px;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);text-align:left}.play-lens-choice svg{width:28px;height:28px}.play-lens-choice b{font-size:18px}.play-lens-choice small{color:var(--muted);line-height:1.45}.play-lens-choice button:first-child{border-color:color-mix(in srgb,var(--cyan) 52%,var(--line))}.play-lens-choice button:last-child{border-color:color-mix(in srgb,var(--primary) 52%,var(--line))}.play-lens-workspace{display:grid;gap:10px}.play-lens-modebar{display:flex;align-items:center;gap:8px}.play-lens-back{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2)}.play-lens-modebar>div{min-width:0}.play-lens-modebar b,.play-lens-modebar small{display:block}.play-lens-modebar small{color:var(--muted);font-size:9px}.play-lens-deck-select{width:100%}.play-lens-card-search{position:relative}.play-lens-card-search input{width:100%}.play-lens-selected{display:flex;gap:6px;overflow-x:auto}.play-lens-card-chip{display:flex;align-items:center;gap:6px;flex:none;padding:5px 8px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px}.play-lens-card-chip img{width:24px;height:33px;border-radius:4px;object-fit:cover}.play-lens-card-chip button{border:0;background:none}.play-lens-question{display:grid;gap:8px}.play-lens-question textarea{width:100%;min-height:92px;resize:vertical}.play-lens-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.play-lens-quick button{flex:none;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);font-size:8px}.play-lens-answer{display:grid;gap:10px;padding:15px;border:1px solid color-mix(in srgb,var(--cyan) 45%,var(--line));border-radius:15px;background:var(--bg-soft)}.play-lens-answer h3{margin:0;font-size:15px}.play-lens-answer p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.55;white-space:pre-wrap}.play-rule-sources{display:grid;gap:6px}.play-rule-source{padding:8px 9px;border-left:2px solid var(--fantasy-gold);background:var(--surface-2);font-size:9px;line-height:1.45}.play-rule-source b{color:var(--fantasy-gold-pale)}.play-lens-error{color:var(--warning);font-size:9px}

@media(max-width:780px){
  .play-hero{align-items:flex-start;margin-bottom:12px}.play-hero h1{font-size:31px}.play-hero p{font-size:11px}.play-local-badge{min-width:0;padding:8px}.play-local-badge b{font-size:9px}.play-setup{padding:15px}.play-setup-head{display:grid;gap:10px}.play-setup-head h2{font-size:22px}.play-basics{grid-template-columns:minmax(0,1fr) 100px}.play-count-control{grid-column:1/-1}.play-count-control>div{grid-template-columns:52px 1fr 52px}.play-setup-players{grid-template-columns:1fr}.play-setup-player{grid-template-columns:42px minmax(0,1fr);padding:8px}.play-setup-player select{grid-column:1/-1}.play-setup-actions{display:grid}.play-setup-actions .button{width:100%;min-width:0}.play-setup-actions small{text-align:center;font-size:8px}
  .play-arena{padding:57px 6px max(6px,env(safe-area-inset-bottom))}.play-board{gap:6px}.play-board[data-player-count="5"],.play-board[data-player-count="6"],.play-board[data-player-count="7"],.play-board[data-player-count="8"],.play-board[data-player-count="9"],.play-board[data-player-count="10"]{grid-template-columns:repeat(2,minmax(0,1fr))}.play-tile{border-radius:18px;grid-template-columns:36px minmax(0,1fr) 36px}.play-tile-head{padding:7px 8px 0}.play-tile-head b{font-size:clamp(10px,3.3vw,15px)}.play-life-value strong{font-size:clamp(43px,18vw,88px)}.play-life-hit{font-size:30px}.play-tile-foot{padding:0 7px 6px}.play-counter-chip{padding:4px 6px;font-size:7px}.play-player-more{width:27px;height:27px}.play-board[data-player-count="7"] .play-life-value strong,.play-board[data-player-count="8"] .play-life-value strong,.play-board[data-player-count="9"] .play-life-value strong,.play-board[data-player-count="10"] .play-life-value strong{font-size:clamp(34px,12vw,58px)}.play-board[data-player-count="7"] .play-tile-head small,.play-board[data-player-count="8"] .play-tile-head small,.play-board[data-player-count="9"] .play-tile-head small,.play-board[data-player-count="10"] .play-tile-head small{display:none}.play-hub{width:74px;height:74px;border-radius:28%;box-shadow:0 0 0 5px rgba(5,7,12,.58),0 14px 32px rgba(0,0,0,.58),0 0 25px rgba(139,125,255,.38)}.play-hub small{display:none}
  .play-player-summary,.play-player-edit{grid-template-columns:1fr}.play-counter-grid{grid-template-columns:1fr 1fr}.play-lens-choice{grid-template-columns:1fr}.play-lens-choice button{min-height:110px}.play-dialog-card,.play-lens-card{max-height:calc(var(--app-viewport-height,100dvh) - 12px)!important}.play-danger-row{display:grid;grid-template-columns:1fr 1fr}.play-danger-row .button{width:100%;padding-inline:8px}.play-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){.play-counter-grid{grid-template-columns:1fr}.play-life-value strong{font-size:56px}.play-hub{width:68px;height:68px}.play-hub b{font-size:8px}}
:root[data-theme="light"] .play-arena,:root[data-theme="system"] .play-arena{color-scheme:dark}.play-modal::backdrop,.play-lens-modal::backdrop{background:rgba(1,3,8,.84);backdrop-filter:blur(8px)}
@media(prefers-reduced-motion:reduce){.play-value-pop{animation:none}.play-hub,.play-tile{transition:none}}
body.play-arena-live .play-hero{display:none!important}

/* v0.13.0 — gesture table: the score itself is the primary control. */
html:has(body.play-arena-live),body.play-arena-live{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none;touch-action:none}
body.play-arena-live .play-arena{overflow:hidden;touch-action:none}
body.play-arena-live .play-board{overflow:hidden;overscroll-behavior:none;touch-action:none}
.play-tile{display:block;position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.play-tile-rotator{position:absolute;inset:0;overflow:hidden;transform:translate3d(var(--gesture-x,0),var(--gesture-y,0),0);transform-origin:center;transition:transform .22s cubic-bezier(.22,.82,.24,1)}
.play-tile.is-gesturing .play-tile-rotator{transition:none}
.play-life-pane,.play-commander-pane,.play-tile-drawer{position:absolute;inset:0;min-width:0;min-height:0}
.play-life-pane{z-index:2;display:grid;grid-template-columns:minmax(38px,.75fr) minmax(0,1.6fr) minmax(38px,.75fr);align-items:stretch;transition:opacity .2s,transform .24s cubic-bezier(.22,.82,.24,1)}
.play-life-hit{position:relative;z-index:4;min-height:44px;color:rgba(255,255,255,.68);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.play-life-hit:active{background:rgba(255,255,255,.11)}
.play-life-value{pointer-events:none}
.play-life-value strong{font-size:clamp(58px,12vw,148px)}
.play-gesture-rail{position:absolute;z-index:5;top:50%;display:grid;gap:1px;place-items:center;padding:7px 5px;border:1px solid rgba(255,255,255,.2);background:rgba(5,7,12,.3);backdrop-filter:blur(8px);transform:translateY(-50%);font-size:7px;letter-spacing:.08em}
.play-gesture-rail b{font-size:10px}.play-gesture-rail.left{left:0;border-left:0;border-radius:0 10px 10px 0}.play-gesture-rail.right{right:0;border-right:0;border-radius:10px 0 0 10px}
.play-tile-status{position:absolute;z-index:4;left:50%;bottom:8px;display:flex;gap:7px;transform:translateX(-50%);white-space:nowrap}
.play-tile-status button{padding:4px 7px;border:0;border-radius:999px;background:rgba(5,7,12,.34);color:rgba(255,255,255,.82);font-size:7px;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(8px)}
.play-commander-pane{z-index:3;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:12px;background:linear-gradient(150deg,rgba(7,9,16,.75),color-mix(in srgb,var(--tile) 65%,#090b13));opacity:0;pointer-events:none;transform:translateX(104%);transition:opacity .18s,transform .26s cubic-bezier(.22,.82,.24,1)}
.play-tile.is-commander .play-life-pane{opacity:0;pointer-events:none;transform:translateX(-18%)}.play-tile.is-commander .play-commander-pane{opacity:1;pointer-events:auto;transform:none}
.play-commander-source{grid-column:1/-1;display:grid;justify-items:center;min-width:0;text-align:center}.play-commander-source span{font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.play-commander-source b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,2.2vw,22px)}.play-commander-source small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;opacity:.7}
.play-commander-pane>button:not(.play-pane-back){width:46px;height:58%;min-height:48px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(5,7,12,.34);color:#fff;font-size:30px}.play-commander-pane>strong{font-size:clamp(54px,10vw,118px);font-variant-numeric:tabular-nums}.play-commander-nav{grid-column:1/-1;display:flex;gap:12px;align-items:center;font-size:8px;opacity:.72}.play-pane-back{position:absolute;right:8px;bottom:7px;padding:5px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,7,12,.42);color:#fff;font-size:7px}
.play-tile-drawer{z-index:9;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--tile) 24%,#0d1019),#080a11);box-shadow:0 -18px 40px rgba(0,0,0,.32);transform:translateY(104%);transition:transform .3s cubic-bezier(.2,.85,.22,1);pointer-events:none}
.play-tile.drawer-open .play-tile-drawer{transform:none;pointer-events:auto}.play-tile.drawer-open .play-life-pane,.play-tile.drawer-open .play-commander-pane{opacity:.12;pointer-events:none}
.play-drawer-handle{display:grid;justify-items:center;gap:3px;padding-bottom:4px}.play-drawer-handle i{width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.36)}.play-drawer-handle span{font-size:6px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.62}
.play-tile-drawer header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 5px 7px}.play-tile-drawer header>div{min-width:0}.play-tile-drawer header b,.play-tile-drawer header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-tile-drawer header b{font-size:clamp(12px,2vw,18px)}.play-tile-drawer header small{font-size:7px;opacity:.65}.play-tile-drawer header button{flex:none;width:30px;height:30px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:#fff}
.play-counter-carousel{display:flex;gap:7px;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-x}.play-counter-carousel::-webkit-scrollbar{display:none}
.play-drawer-counter{display:grid;grid-template-rows:auto auto 1fr;justify-items:center;align-content:center;gap:4px;flex:0 0 clamp(116px,42%,180px);min-height:0;padding:9px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07);scroll-snap-align:center}.play-drawer-counter>span{font-size:20px}.play-drawer-counter>b{text-align:center;font-size:9px}.play-drawer-counter>div{align-self:end;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;width:100%;height:38px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:11px}.play-drawer-counter button{height:100%;border:0;background:rgba(4,6,12,.36);color:#fff;font-weight:900}.play-drawer-counter output{text-align:center;font-size:15px;font-weight:900}.play-drawer-counter.is-on{border-color:#76efbd;background:rgba(39,190,128,.18)}.play-drawer-counter>button{align-self:end;width:100%;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(5,7,12,.36)}
.play-outcome{position:absolute;z-index:7;inset:0;display:grid;place-items:center;align-content:center;gap:4px;padding:12px;background:rgba(5,7,12,.72);pointer-events:none;text-align:center;backdrop-filter:grayscale(.45) blur(2px)}.play-outcome strong{font-size:clamp(24px,5vw,62px);line-height:.9;letter-spacing:-.04em}.play-outcome span{font-size:8px;font-weight:700;opacity:.76}.play-outcome.win{background:linear-gradient(145deg,rgba(10,71,48,.72),rgba(5,7,12,.65))}.play-outcome.win strong{color:#80f3bd;text-shadow:0 0 22px rgba(68,232,162,.46)}.play-outcome.lose strong{color:#ff8290}.play-tile.is-eliminated{filter:none}.play-tile.is-eliminated:before{filter:grayscale(.8) brightness(.55)}.play-tile.is-commander .play-outcome{display:none}.play-tile.is-commander-target .play-commander-pane{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(145deg,#3c3945,#27262e)}.play-tile.is-commander-target .play-commander-total{align-self:center;font-size:clamp(46px,9vw,104px);opacity:.9}
.play-card-picker-modal .play-lens-card{width:min(940px,calc(100vw - 20px))}.play-picker-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:240px}.play-picker-toolbar{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;background:var(--surface)}.play-picker-toolbar label{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.play-picker-toolbar input{width:100%}.play-picker-toolbar>span{flex:none;color:var(--muted);font-size:9px}.play-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.play-picker-card{position:relative;min-width:0}.play-picker-card>input{position:absolute;z-index:2;top:7px;right:7px;width:20px;height:20px;accent-color:var(--primary)}.play-picker-card>span{display:grid;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--bg-soft)}.play-picker-card img,.play-picker-card i{width:100%;aspect-ratio:488/680;object-fit:cover}.play-picker-card b,.play-picker-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:8px}.play-picker-card b{padding-top:7px;font-size:9px}.play-picker-card small{padding-block:3px 8px;color:var(--muted);font-size:7px}.play-picker-card.is-selected>span{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 34%,transparent)}.play-picker-actions{position:sticky;z-index:3;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding-top:10px;background:var(--surface)}
.play-lens-context-action{display:flex;align-items:center;gap:10px;width:100%;padding:13px;border:1px solid color-mix(in srgb,var(--primary) 50%,var(--line));border-radius:15px;background:var(--surface-2);text-align:left}.play-lens-context-action svg{width:26px;height:26px;color:var(--primary)}.play-lens-context-action span{display:grid;flex:1;min-width:0}.play-lens-context-action small{color:var(--muted);font-size:8px}.play-lens-context-action i{font-size:24px}.play-lens-suggestion-title{display:flex;align-items:end;justify-content:space-between;gap:8px}.play-lens-suggestion-title b{font-size:10px}.play-lens-suggestion-title span{color:var(--muted);font-size:7px}.play-lens-card-search .suggestions button{display:flex;align-items:center;gap:8px}.play-lens-card-search .suggestions img{width:34px;height:47px;border-radius:5px;object-fit:cover}.play-lens-card-search .suggestions button>span{display:grid;text-align:left}.play-lens-card-search .suggestions small{color:var(--muted)}
@media(max-width:780px){
  .play-board[data-player-count="2"]{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
  .play-tile.is-away .play-tile-rotator{transform:rotate(180deg) translate3d(var(--gesture-x,0),var(--gesture-y,0),0)}
  .play-life-value strong{font-size:clamp(48px,19vw,96px)}.play-tile-status{bottom:6px}.play-gesture-rail{padding:6px 3px}
  .play-board[data-player-count="7"] .play-life-value strong,.play-board[data-player-count="8"] .play-life-value strong,.play-board[data-player-count="9"] .play-life-value strong,.play-board[data-player-count="10"] .play-life-value strong{font-size:clamp(30px,12vw,54px)}
  .play-board[data-player-count="7"] .play-tile-status,.play-board[data-player-count="8"] .play-tile-status,.play-board[data-player-count="9"] .play-tile-status,.play-board[data-player-count="10"] .play-tile-status{display:none}
  .play-board[data-player-count="7"] .play-gesture-rail,.play-board[data-player-count="8"] .play-gesture-rail,.play-board[data-player-count="9"] .play-gesture-rail,.play-board[data-player-count="10"] .play-gesture-rail{transform:translateY(-50%) scale(.82)}
  .play-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.play-picker-toolbar{align-items:stretch;flex-direction:column}.play-picker-toolbar>span{align-self:flex-end}.play-picker-actions{display:grid;grid-template-columns:1fr 1.35fr}.play-picker-actions .button{width:100%;padding-inline:8px}
}
@media(max-width:380px){.play-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-drawer-counter{flex-basis:48%}}

/* v0.13.1 — minimal table geometry, persistent counters and critical-life feedback. */
.play-tile{container-type:size}
.play-tile.drawer-open{z-index:11}
.play-life-pane{display:block}
.play-score-core,.play-commander-core{position:absolute;inset:0;display:grid;grid-template-columns:minmax(42px,.72fr) minmax(0,1.7fr) minmax(42px,.72fr);align-items:stretch;transform-origin:center}
.play-commander-pane{display:block;padding:0}
.play-commander-core{align-items:center;justify-items:center;padding:9px}
.play-commander-core>button:not(.play-commander-return){width:clamp(44px,23%,68px);height:54%;min-height:44px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(4,6,12,.3);color:#fff;font-size:clamp(28px,7cqw,54px);font-weight:700}
.play-commander-core>strong{font-size:clamp(54px,22cqw,124px);line-height:.86;font-variant-numeric:tabular-nums}
.play-tile.is-commander-target .play-commander-pane{display:block;background:linear-gradient(145deg,color-mix(in srgb,var(--tile) 35%,#12151d),#080a10)}
.play-tile.is-commander-target .play-commander-core{display:grid;grid-template-columns:1fr}
.play-commander-return{display:flex!important;align-items:center;justify-content:center;gap:10px;width:min(86%,260px)!important;height:62px!important;min-height:0!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:18px!important;background:rgba(4,6,12,.48)!important;color:#fff!important;font-size:15px!important}
.play-commander-return>span{font-size:24px}.play-commander-return>b{font-size:12px;letter-spacing:.03em}
.play-tile-status{bottom:7px;gap:5px}
.play-tile-status button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid rgba(255,255,255,.13);background:rgba(5,7,12,.24);font-size:13px;line-height:1}
.play-tile.is-critical:after{content:"";position:absolute;z-index:3;inset:0;border:3px solid #ff1538;border-radius:inherit;background:radial-gradient(ellipse at center,transparent 42%,rgba(255,20,52,.15) 72%,rgba(255,8,39,.76) 100%);box-shadow:inset 0 0 30px rgba(255,9,40,.72),0 0 20px rgba(255,16,48,.38);pointer-events:none;animation:playCriticalPulse 1.15s ease-in-out infinite}
.play-tile.is-critical.is-commander:after,.play-tile.is-critical.drawer-open:after{opacity:0;animation:none}
@keyframes playCriticalPulse{0%,100%{filter:saturate(.92);box-shadow:inset 0 0 22px rgba(255,9,40,.6),0 0 12px rgba(255,16,48,.28)}50%{filter:saturate(1.35);box-shadow:inset 0 0 48px rgba(255,9,40,.9),0 0 26px rgba(255,16,48,.58)}}
.play-tile-drawer{grid-template-rows:auto auto minmax(0,1fr)}
.play-tile-drawer header{padding-bottom:3px}
.play-tile-drawer header button{width:38px;height:38px;border-radius:13px}
.play-tile-drawer header button svg{width:23px;height:23px;stroke-width:1.8}
.play-counter-carousel{align-items:center;padding:4px 3px 8px}
.play-drawer-counter{flex:0 0 clamp(96px,31%,124px);height:min(116px,88%);min-height:96px;grid-template-rows:34px minmax(18px,auto) 32px;align-content:center;gap:2px;padding:7px;border-radius:14px}
.play-drawer-counter>span{display:grid;place-items:center;font-size:29px;line-height:1}
.play-drawer-counter>b{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.08;font-size:7px}
.play-drawer-counter>div{height:31px;grid-template-columns:30px 1fr 30px;border-radius:9px}
.play-drawer-counter>button{height:31px;border-radius:9px;font-size:8px}
.play-drawer-counter output{font-size:13px}
.play-counter-row{grid-template-columns:minmax(145px,1fr) 46px 50px 46px;min-height:54px}
.play-counter-row>span{min-width:0;padding:8px 10px;overflow:visible;white-space:normal;line-height:1.18;font-size:10px}

@media(max-width:780px){
  .play-board[data-player-count="3"] .play-tile:first-child,.play-board[data-player-count="5"] .play-tile:first-child,.play-board[data-player-count="7"] .play-tile:last-child,.play-board[data-player-count="8"] .play-tile:first-child,.play-board[data-player-count="8"] .play-tile:last-child,.play-board[data-player-count="9"] .play-tile:last-child{grid-column:1/-1}
  .play-tile.orientation-left .play-score-core,.play-tile.orientation-left .play-commander-core,.play-tile.orientation-right .play-score-core,.play-tile.orientation-right .play-commander-core{inset:auto;left:50%;top:50%;width:100cqh;height:100cqw}
  .play-tile.orientation-left .play-score-core,.play-tile.orientation-left .play-commander-core{transform:translate(-50%,-50%) rotate(90deg)}
  .play-tile.orientation-right .play-score-core,.play-tile.orientation-right .play-commander-core{transform:translate(-50%,-50%) rotate(-90deg)}
  .play-life-value strong{font-size:clamp(46px,21cqw,98px)}
  .play-tile.orientation-left .play-life-value strong,.play-tile.orientation-right .play-life-value strong{font-size:clamp(42px,21cqh,82px)}
  .play-board[data-player-count="7"] .play-tile-status,.play-board[data-player-count="8"] .play-tile-status,.play-board[data-player-count="9"] .play-tile-status,.play-board[data-player-count="10"] .play-tile-status{display:flex}
  .play-player-summary,.play-player-edit,.play-counter-grid{grid-template-columns:1fr}
  .play-counter-row{grid-template-columns:minmax(132px,1fr) 48px 52px 48px;min-height:58px}
  .play-counter-row>span{font-size:12px;font-weight:850}
  .play-dialog-card .play-commander-row{grid-template-columns:minmax(0,1fr) 44px 48px 44px}
}
@media(max-width:380px){.play-drawer-counter{flex-basis:35%}.play-counter-row{grid-template-columns:minmax(118px,1fr) 44px 48px 44px}}
@media(prefers-reduced-motion:reduce){.play-tile.is-critical:after{animation:none}}
.mana-symbol[data-mana-symbol="W"]{background-image:url('/static/assets/mana/W.webp')!important}
.mana-symbol[data-mana-symbol="U"]{background-image:url('/static/assets/mana/U.svg')!important}
.mana-symbol[data-mana-symbol="B"]{background-image:url('/static/assets/mana/B.svg')!important}
.mana-symbol[data-mana-symbol="R"]{background-image:url('/static/assets/mana/R.webp')!important}
.mana-symbol[data-mana-symbol="G"]{background-image:url('/static/assets/mana/G.svg')!important}
.mana-symbol[data-mana-symbol="C"]{background-image:url('/static/assets/mana/C.svg')!important}
@media(max-width:780px){
  #deckCardSheet .mobile-card-facts .card-color-symbols{gap:5px}
  #deckCardSheet .mobile-card-facts .card-color-symbols .mana-symbol{width:24px!important;height:24px!important;box-shadow:0 2px 7px rgba(0,0,0,.3)}
  #deckCardSheet .mobile-card-facts>span>b.card-color-symbols{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0!important;white-space:normal!important;overflow:visible!important;line-height:1!important}
}

/* Mobile card gallery: the current card has the same explicit front/back
   control as every other preview. It lives inside the swipe slot so the
   horizontal deck gesture and the flip tap remain independent. */
@media(max-width:780px){
  #deckCardSheet .mobile-gallery-flip{position:relative!important;display:block!important;width:100%!important;height:100%!important;perspective:1200px!important;clip-path:none!important;-webkit-clip-path:none!important}
  #deckCardSheet .mobile-gallery-flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.22,.9,.24,1)}
  #deckCardSheet .mobile-gallery-flip.is-flipped .mobile-gallery-flip-inner{transform:rotateY(180deg)}
  #deckCardSheet .mobile-gallery-flip-face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
  #deckCardSheet .mobile-gallery-flip-face.mobile-gallery-flip-back{transform:rotateY(180deg)}
  #deckCardSheet .mobile-gallery-flip-face>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;aspect-ratio:488/680!important;object-fit:contain!important;border-radius:inherit!important;box-shadow:0 20px 48px rgba(0,0,0,.5)!important}
  #deckCardSheet .mobile-gallery-flip-toggle{position:absolute;z-index:18;top:10px;right:10px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(5,7,13,.76);color:#fff;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .18s ease,background .18s ease}
  #deckCardSheet .mobile-gallery-flip-toggle .icon{width:21px;height:21px}
  #deckCardSheet .mobile-gallery-flip-toggle:active{transform:scale(.92)}
  #deckCardSheet .mobile-gallery-flip-toggle:focus-visible{outline:2px solid var(--fantasy-gold);outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){#deckCardSheet .mobile-gallery-flip-inner{transition:none!important}}

/* v0.22.7 — high-resolution card faces and a more tactile flip.
   The light sweep is deliberately contained inside the card so it reads as
   a physical foil glint rather than a generic page animation. */
.flip-card{isolation:isolate;transform:translateZ(0)}
.flip-card:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:linear-gradient(108deg,transparent 28%,rgba(255,239,190,.42) 47%,rgba(255,255,255,.16) 52%,transparent 72%);transform:translateX(-125%);mix-blend-mode:screen}
.flip-card.flipped:after{animation:cardFaceSheen .78s cubic-bezier(.2,.75,.25,1) both}
.flip-inner{transition:transform .72s cubic-bezier(.16,1,.3,1)}
#deckCardSheet .mobile-gallery-flip{isolation:isolate;transform:translateZ(0);filter:drop-shadow(0 18px 34px rgba(0,0,0,.52));will-change:filter}
#deckCardSheet .mobile-gallery-flip-inner{transition:transform .72s cubic-bezier(.16,1,.3,1);will-change:transform}
#deckCardSheet .mobile-gallery-flip.is-flipped .mobile-gallery-flip-inner{transform:rotateY(180deg) scale(1.012)}
#deckCardSheet .mobile-gallery-flip:after{content:"";position:absolute;z-index:12;inset:0;pointer-events:none;border:1px solid rgba(255,230,159,.3);border-radius:inherit;opacity:0;background:linear-gradient(108deg,transparent 24%,rgba(255,239,190,.5) 47%,rgba(255,255,255,.18) 53%,transparent 76%);transform:translateX(-125%);mix-blend-mode:screen}
#deckCardSheet .mobile-gallery-flip.is-flipped:after{animation:cardFaceSheen .86s cubic-bezier(.2,.75,.25,1) both}
#deckCardSheet .mobile-gallery-flip-toggle{transition:transform .28s cubic-bezier(.2,.9,.2,1),background .2s ease,box-shadow .2s ease}
#deckCardSheet .mobile-gallery-flip-toggle:hover{background:rgba(28,21,12,.9);box-shadow:0 0 0 1px rgba(255,228,151,.26),0 8px 24px rgba(0,0,0,.5)}
#deckCardSheet .mobile-gallery-flip.is-flipped .mobile-gallery-flip-toggle{transform:rotate(180deg) scale(1.04);background:rgba(74,44,17,.86);box-shadow:0 0 0 1px rgba(255,220,137,.42),0 0 24px rgba(226,164,60,.28)}
@keyframes cardFaceSheen{0%{opacity:0;transform:translateX(-125%)}18%{opacity:.9}100%{opacity:0;transform:translateX(125%)}}
@media(prefers-reduced-motion:reduce){.flip-inner,.flip-card:after,#deckCardSheet .mobile-gallery-flip-inner,#deckCardSheet .mobile-gallery-flip:after{animation:none!important;transition:none!important}.flip-card.flipped:after,#deckCardSheet .mobile-gallery-flip.is-flipped:after{opacity:0}}

/* v0.14.1 — mobile-first scanner, quick preview, archive drawer and desktop handoff. */
.scanner-handoff-card{max-width:560px}.scanner-handoff-body{display:grid;justify-items:center;gap:14px;padding:22px;text-align:center}.scanner-handoff-body p{max-width:430px;margin:0;color:var(--text-secondary);line-height:1.5}.scanner-handoff-body label{display:grid;width:100%;gap:6px;color:var(--muted);font-size:9px;text-align:left}.scanner-handoff-body input{width:100%;font-size:10px}.scanner-handoff-body>small{color:var(--muted)}.scanner-handoff-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
/* .handoff-qr: real QR codes need a light background with a real quiet
   zone to scan reliably from a phone camera, so this stays white even in
   the app's dark theme - unlike the .is-loading placeholder state (shown
   before the QR has fetched, or if it fails), which matches the app's own
   gold/dark icon-box look instead of a jarring white flash. */
.handoff-qr{display:grid;place-items:center;width:168px;height:168px;padding:10px;border-radius:16px;background:#fff;border:1px solid color-mix(in srgb,var(--fantasy-gold) 55%,var(--line));box-shadow:0 10px 26px rgba(0,0,0,.28)}
.handoff-qr svg{display:block;width:100%;height:100%}
.handoff-qr.is-loading{width:76px;height:76px;padding:0;background:color-mix(in srgb,var(--fantasy-gold) 11%,var(--surface-2));color:var(--fantasy-gold)}
.handoff-qr.is-loading svg{width:34px;height:34px}
.scanner-launch-mobile{display:none}@media(max-width:780px) and (pointer:coarse){.scanner-launch-mobile{display:inline}.scanner-launch-desktop{display:none}}
.scanner-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);height:min(760px,calc(var(--app-viewport-height,100dvh) - 20px));background:#07090e}.scanner-topbar{position:relative;z-index:12;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(7,9,14,.92);backdrop-filter:blur(18px)}.scanner-topbar>div{display:grid;justify-items:center;gap:2px}.scanner-topbar>div span{color:var(--fantasy-gold-pale);font-family:var(--font-display);font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.scanner-topbar>div b{font-size:11px}.scanner-round-action{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(15,17,24,.82);color:#fff;font-size:21px;font-weight:700}.scanner-archive-button{position:relative;display:flex;align-items:center;gap:6px;min-height:42px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(15,17,24,.82);color:#fff;font-size:9px;font-weight:750}.scanner-archive-button svg{width:18px;height:18px}.scanner-archive-button b{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #07090e;border-radius:999px;background:var(--fantasy-gold);color:#181006;font-size:8px}
.scanner-layout{position:relative;display:block;min-height:0;overflow:hidden}.scanner-camera-panel{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;gap:8px;padding:14px;border:0;background:#030407}.scanner-viewport{min-height:0;height:100%;border-color:rgba(255,255,255,.1);border-radius:22px;background:#000}.scanner-viewport video{width:100%;height:100%;max-height:none;object-fit:cover}.scanner-frame{width:min(46%,360px);height:auto;aspect-ratio:488/680;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.scanner-frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(233,202,137,.62);border-radius:24px;box-shadow:0 0 0 100vmax rgba(0,0,0,.18)}.scanner-controls{display:grid;grid-template-columns:64px 70px 64px;justify-content:center;gap:22px;margin:0}.scanner-camera-toggle{display:grid;place-items:center;gap:3px;min-height:58px;padding:5px;border:0;border-radius:18px;background:rgba(20,22,29,.9);color:#fff;font-size:8px}.scanner-camera-toggle svg{width:20px;height:20px}.scanner-shutter{width:64px;height:64px;border-width:3px;box-shadow:0 6px 24px rgba(0,0,0,.4)}.scanner-camera-options{display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.65);font-size:8px}.scanner-camera-options label{display:flex;align-items:center;gap:5px;font-weight:750}.scanner-camera-options small{font-size:8px}.scanner-message{min-height:29px;padding:6px 10px;border-color:transparent;background:rgba(12,14,20,.82);text-align:center}.scanner-latest{position:absolute;z-index:5;left:14px;right:14px;bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(7,8,12,.88);box-shadow:0 12px 30px rgba(0,0,0,.42);backdrop-filter:blur(16px)}.scanner-latest[hidden]{display:none}.scanner-latest-main{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:left}.scanner-latest-main img{width:44px;aspect-ratio:488/680;border-radius:7px;object-fit:cover}.scanner-latest-main span{display:grid;min-width:0}.scanner-latest-main small{color:var(--fantasy-gold);font-size:7px;font-weight:800;text-transform:uppercase}.scanner-latest-main b,.scanner-latest-main em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scanner-latest-main b{font-size:10px}.scanner-latest-main em{color:var(--muted);font-size:8px;font-style:normal}.scanner-latest-delete{display:grid;place-items:center;width:44px;height:44px;align-self:center;border:1px solid rgba(255,100,115,.25);border-radius:14px;background:rgba(104,23,36,.24);color:#ff7180}.scanner-latest-delete svg{width:19px;height:19px}
.scanner-archive{position:absolute;z-index:10;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:16px;background:rgba(8,10,16,.98);transform:translateX(105%);transition:transform .28s cubic-bezier(.22,.8,.22,1);pointer-events:none}.scanner-archive.is-open{transform:translateX(0);pointer-events:auto}.scanner-results-head>div:last-child{display:flex;align-items:center;gap:9px}.scanner-results-head .scanner-round-action{width:38px;height:38px}.scanner-queue{min-height:0}.scanner-footer{margin:0 -16px -16px;padding:12px 16px 14px;background:#0c0e15}.scanner-result.needs-review{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));background:color-mix(in srgb,var(--warning) 5%,var(--surface-2))}.scanner-result-copy>div:first-child small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.25}.scanner-remove svg{width:16px;height:16px}
body.scanner-handoff-mode{min-height:100dvh;background:#020306}body.scanner-handoff-mode>.appbar,body.scanner-handoff-mode>.app-shell{visibility:hidden;pointer-events:none}body.scanner-handoff-mode #collectionScannerDialog{display:block}
@media(max-width:780px){
  .scanner-modal{height:var(--app-viewport-height,100dvh)}.scanner-shell{height:var(--app-viewport-height,100dvh)!important;grid-template-rows:auto minmax(0,1fr)}.scanner-topbar{min-height:calc(62px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));border:0;background:linear-gradient(#030408 55%,transparent)}.scanner-topbar>div b{font-size:10px}.scanner-archive-button span{display:none}.scanner-archive-button{width:42px;padding:0;justify-content:center;border-radius:50%}.scanner-camera-panel{grid-template-rows:minmax(0,1fr) 66px 22px 31px;padding:0 12px calc(8px + env(safe-area-inset-bottom))}.scanner-viewport{border:0;border-radius:0;margin:0 -12px}.scanner-frame{width:min(78vw,calc((var(--app-viewport-height,100dvh) - 260px)*.717));max-height:calc(var(--app-viewport-height,100dvh) - 250px)}.scanner-frame:after{border-radius:20px}.scanner-idle{padding-top:80px}.scanner-controls{gap:clamp(20px,8vw,42px)}.scanner-camera-options small{display:none}.scanner-message{margin-inline:8px}.scanner-latest{bottom:10px}.scanner-archive{padding:calc(12px + env(safe-area-inset-top)) 12px 12px;transform:translateY(104%);border-radius:26px 26px 0 0;transition:transform .3s cubic-bezier(.22,.8,.22,1)}.scanner-archive.is-open{transform:translateY(0)}.scanner-results-head{padding-top:2px}.scanner-queue{overflow-y:auto;overscroll-behavior:contain;padding-bottom:4px}.scanner-result{grid-template-columns:60px minmax(0,1fr) 34px;padding:7px;border-radius:14px}.scanner-result>img,.scanner-result-placeholder{width:60px;border-radius:8px}.scanner-footer{position:relative;bottom:auto;margin:0 -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(0,0,0,.3)}.scanner-footer .button{min-height:46px}.scanner-manual input{height:46px}.scanner-handoff-actions{grid-template-columns:1fr}.scanner-handoff-modal{width:calc(100vw - 24px)!important}
}

/* v0.14 — contextual Game Lens and photographic collection scanner. */
.play-lens-topics{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.play-lens-topics span{flex:none;padding:4px 7px;border:1px solid color-mix(in srgb,var(--cyan) 34%,var(--line));border-radius:999px;color:var(--cyan);font-size:7px;text-transform:uppercase;letter-spacing:.08em}.play-rule-source{display:grid;gap:3px}.play-rule-source span{color:var(--text-secondary)}.play-rule-link{display:inline-flex;margin-top:8px;color:var(--cyan);font-size:9px;font-weight:750}
.scanner-modal{width:min(1180px,calc(100vw - 24px));max-width:none;padding:0}.scanner-modal::backdrop{background:rgba(1,3,8,.9);backdrop-filter:blur(10px)}.scanner-shell{width:100%;max-height:calc(var(--app-viewport-height,100dvh) - 20px);padding:0;overflow:hidden}.scanner-header{padding:18px 20px;border-bottom:1px solid var(--line)}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);min-height:0;overflow:hidden}.scanner-camera-panel,.scanner-results-panel{min-width:0;padding:16px}.scanner-camera-panel{border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,#05070d)}.scanner-viewport{position:relative;display:grid;place-items:center;min-height:390px;overflow:hidden;border:1px solid color-mix(in srgb,var(--fantasy-gold) 52%,var(--line));border-radius:22px;background:#05070a}.scanner-viewport video{width:100%;height:100%;max-height:56vh;object-fit:cover}.scanner-idle,.scanner-busy{position:absolute;z-index:3;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:28px;background:radial-gradient(circle at center,rgba(29,33,51,.82),rgba(4,6,11,.96));text-align:center}.scanner-idle[hidden],.scanner-busy[hidden]{display:none}.scanner-idle svg{width:42px;height:42px;color:var(--fantasy-gold)}.scanner-idle span{max-width:380px;color:var(--muted);line-height:1.45}.scanner-busy{inset:auto 16px 16px;grid-template-columns:auto 1fr;justify-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,10,17,.9);backdrop-filter:blur(8px)}.scanner-frame{position:absolute;z-index:2;inset:8%;pointer-events:none}.scanner-frame i{position:absolute;width:42px;height:42px;border-color:#fff;border-style:solid;filter:drop-shadow(0 2px 6px #000)}.scanner-frame i:nth-child(1){top:0;left:0;border-width:3px 0 0 3px;border-radius:12px 0 0}.scanner-frame i:nth-child(2){top:0;right:0;border-width:3px 3px 0 0;border-radius:0 12px 0 0}.scanner-frame i:nth-child(3){bottom:0;left:0;border-width:0 0 3px 3px;border-radius:0 0 0 12px}.scanner-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 12px}.scanner-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:12px}.scanner-controls .button{width:100%}.scanner-shutter{display:grid;place-items:center;width:58px;height:58px;padding:5px;border:2px solid var(--fantasy-gold);border-radius:50%;background:transparent}.scanner-shutter span{width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,var(--fantasy-gold-pale),var(--fantasy-gold))}.scanner-shutter:disabled{opacity:.35}.scanner-auto-toggle{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;margin-top:12px}.scanner-auto-toggle input{grid-row:1/3}.scanner-auto-toggle b,.scanner-auto-toggle small{display:block}.scanner-auto-toggle small,.scanner-privacy{color:var(--muted);font-size:9px}.scanner-privacy{margin:9px 0 0}.scanner-results-panel{display:flex;flex-direction:column;gap:11px;overflow:hidden}.scanner-results-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.scanner-results-head h3{margin:2px 0 0}.scanner-results-head>span{color:var(--muted);font-size:10px}.scanner-manual{position:relative;display:flex;align-items:center;gap:8px}.scanner-manual>svg{position:absolute;z-index:2;left:12px;width:19px}.scanner-manual>input{width:100%;padding-left:40px}.scanner-manual .suggestions button{display:flex;align-items:center;gap:8px}.scanner-manual .suggestions img{width:32px;height:44px;border-radius:5px;object-fit:cover}.scanner-manual .suggestions span{display:grid;text-align:left}.scanner-message{padding:9px 11px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:9px}.scanner-message[data-tone="success"]{border-color:color-mix(in srgb,#62e4a8 45%,var(--line));color:#7debb8}.scanner-message[data-tone="error"]{border-color:color-mix(in srgb,var(--danger) 50%,var(--line));color:#ff98a3}.scanner-queue{display:grid;gap:8px;min-height:180px;overflow-y:auto;padding-right:3px}.scanner-empty{display:grid;place-content:center;justify-items:center;gap:6px;min-height:190px;color:var(--muted);text-align:center}.scanner-empty svg{width:30px;height:30px}.scanner-result{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:10px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.scanner-result>img,.scanner-result-placeholder{width:78px;aspect-ratio:488/680;border-radius:10px;object-fit:cover}.scanner-result-placeholder{display:grid;place-items:center;background:var(--bg);font-size:32px}.scanner-result-copy{display:grid;align-content:start;gap:8px;min-width:0}.scanner-result-copy>div:first-child{display:grid}.scanner-result-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scanner-confidence{color:var(--warning);font-size:8px}.scanner-confidence.exact{color:#6de7af}.scanner-result-copy label{display:grid;gap:3px;color:var(--muted);font-size:8px}.scanner-result-copy select{width:100%;height:36px;padding:5px 28px 5px 8px;font-size:9px}.scanner-result-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.scanner-stepper{display:grid!important;grid-template-columns:34px 38px 34px;align-items:center;height:34px;overflow:hidden;border:1px solid var(--line);border-radius:10px}.scanner-stepper button{height:100%;border:0;background:var(--bg);font-weight:850}.scanner-stepper strong{text-align:center}.scanner-foil{display:flex!important;grid-template-columns:auto auto!important;align-items:center;gap:5px}.scanner-remove{width:30px;height:30px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:18px}.scanner-fix{padding:8px;border:1px solid var(--warning);border-radius:10px;background:transparent;color:var(--warning);font-size:9px}.scanner-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;border-top:1px solid var(--line);background:var(--surface)}.scanner-footer>div{display:grid}.scanner-footer small{color:var(--muted);font-size:9px}
@media(max-width:780px){.collection-scan-launch{order:-1;width:100%}.scanner-modal{width:100vw!important;max-width:none!important;padding:0!important}.scanner-shell{width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-height:none!important;border:0!important;border-radius:0!important}.scanner-header{padding:calc(10px + env(safe-area-inset-top)) 13px 10px}.scanner-header p{display:none}.scanner-layout{display:block;overflow-y:auto;overscroll-behavior:contain}.scanner-camera-panel,.scanner-results-panel{padding:12px;border:0}.scanner-viewport{min-height:42dvh;border-radius:18px}.scanner-viewport video{max-height:48dvh}.scanner-controls{grid-template-columns:1fr 54px 1fr;gap:8px}.scanner-shutter{width:54px;height:54px}.scanner-auto-toggle{margin-top:9px}.scanner-results-panel{overflow:visible}.scanner-queue{overflow:visible}.scanner-result{grid-template-columns:66px minmax(0,1fr) 28px}.scanner-result>img,.scanner-result-placeholder{width:66px}.scanner-footer{position:sticky;z-index:5;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px rgba(0,0,0,.28)}.scanner-footer small{display:none}.scanner-footer .button{padding-inline:12px}.scanner-privacy{margin-bottom:0}}
@media(max-width:380px){.scanner-result{grid-template-columns:56px minmax(0,1fr) 26px}.scanner-result>img,.scanner-result-placeholder{width:56px}.scanner-stepper{grid-template-columns:30px 34px 30px}.scanner-footer>div{font-size:9px}}

/* Final scanner cascade: keep the v0.14.1 camera-first structure above legacy rules. */
.scanner-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:min(760px,calc(var(--app-viewport-height,100dvh) - 20px));max-height:calc(var(--app-viewport-height,100dvh) - 20px);background:#07090e}.scanner-layout{position:relative;display:block;min-height:0;overflow:hidden}.scanner-camera-panel{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;gap:8px;padding:14px;border:0}.scanner-viewport{min-height:0;height:100%}.scanner-viewport video{height:100%;max-height:none}.scanner-frame{width:min(46%,360px);height:auto;aspect-ratio:488/680;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.scanner-controls{grid-template-columns:64px 70px 64px;justify-content:center;gap:22px;margin:0}.scanner-shutter{width:64px;height:64px}.scanner-archive{position:absolute;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;padding:16px}.scanner-archive.is-open{pointer-events:auto}.scanner-footer{position:relative;bottom:auto;margin:0 -16px -16px;padding:12px 16px 14px}
.scanner-confirm{min-height:32px;border:1px solid color-mix(in srgb,var(--warning) 55%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning);font-size:8px;font-weight:800}
.scanner-latest-price{display:grid;justify-items:end;gap:2px;color:var(--text);font-size:9px;white-space:nowrap}.scanner-latest-price i{color:var(--muted);font-size:17px;font-style:normal}.scanner-latest.is-valuable{border-color:rgba(225,190,105,.58);box-shadow:0 12px 34px rgba(198,148,43,.2)}.scanner-latest.is-premium{border-color:rgba(255,211,112,.85);background:linear-gradient(110deg,rgba(39,28,7,.94),rgba(7,8,12,.92));box-shadow:0 0 0 1px rgba(255,221,139,.16),0 12px 38px rgba(225,165,42,.3)}.scanner-latest.is-premium .scanner-latest-price{color:#ffe09a}
@media(max-width:780px){.scanner-layout{overflow:hidden}.scanner-camera-panel{padding:0 12px calc(8px + env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) 66px 22px 31px}.scanner-viewport{min-height:0;border:0;border-radius:0;margin:0 -12px}.scanner-viewport video{max-height:none}.scanner-frame{width:min(78vw,calc((var(--app-viewport-height,100dvh) - 260px)*.717));inset:50% auto auto 50%}.scanner-controls{grid-template-columns:64px 70px 64px;gap:clamp(20px,8vw,42px);margin:0}.scanner-shutter{width:64px;height:64px}.scanner-results-panel.scanner-archive{position:absolute;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;padding:calc(12px + env(safe-area-inset-top)) 12px 12px}.scanner-archive .scanner-queue{overflow-y:auto}.scanner-archive .scanner-result{grid-template-columns:60px minmax(0,1fr) 34px;padding:7px}.scanner-archive .scanner-result>img,.scanner-archive .scanner-result-placeholder{width:60px}.scanner-archive .scanner-footer{position:relative;bottom:auto;margin:0 -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}}

/* v0.15.0 — desktop Builder columns keep independent scroll containers.
   The ornament cascade intentionally exposes panel overflow globally, so the
   workspace must restore the original containment only on desktop. */
@media(min-width:781px){
  .builder-workspace{min-height:0;overflow:hidden}
  .builder-workspace>.workspace-panel{height:100%;min-height:0;overscroll-behavior-y:auto;scrollbar-gutter:stable}
  .builder-workspace>.library-panel,.builder-workspace>.inspector-panel{overflow-x:hidden!important;overflow-y:auto!important}
  .builder-workspace>.deck-panel{overflow:hidden!important}
  .builder-workspace>.deck-panel>.deck-view{min-height:0;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto;scrollbar-gutter:stable}
}

/* v0.15.2 final scanner authority — intentionally last in the cascade. */
@media(max-width:780px){
dialog.scanner-modal[open],dialog.scanner-modal .scanner-shell{position:fixed!important;inset:0!important;display:block!important;width:100vw!important;height:var(--app-viewport-height,100dvh)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
dialog.scanner-modal .scanner-layout,dialog.scanner-modal .scanner-camera-panel,dialog.scanner-modal .scanner-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
dialog.scanner-modal .scanner-viewport video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
dialog.scanner-modal .scanner-topbar{position:absolute!important;z-index:30!important;inset:0 0 auto!important;display:block!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;pointer-events:none!important}
dialog.scanner-modal #closeCollectionScanner{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;left:12px!important;width:46px!important;height:46px!important;background:rgba(17,18,22,.72)!important;backdrop-filter:blur(16px);pointer-events:auto!important}
dialog.scanner-modal .scanner-topbar>div:not(.scanner-hud-rail){display:none!important}dialog.scanner-modal .scanner-hud-rail{position:absolute!important;top:calc(10px + env(safe-area-inset-top))!important;right:12px!important;display:flex!important;flex-direction:column!important;gap:1px!important;width:52px!important;padding:5px!important;border-radius:26px!important;background:rgba(18,18,22,.68)!important;backdrop-filter:blur(18px);pointer-events:auto!important}
dialog.scanner-modal .scanner-archive-button,dialog.scanner-modal .scanner-rail-action{width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;justify-content:center!important}dialog.scanner-modal .scanner-archive-button span{display:none!important}
dialog.scanner-modal .scanner-frame{inset:50% auto auto 50%!important;width:min(70vw,390px)!important;max-height:72dvh!important;transform:translate(-50%,-50%)!important;opacity:.28!important}dialog.scanner-modal .scanner-frame:after{box-shadow:none!important}
dialog.scanner-modal .scanner-controls{position:absolute!important;z-index:14!important;right:0!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:0!important;display:grid!important;grid-template-columns:52px 64px 52px!important;justify-content:center!important;gap:24px!important;margin:0!important}dialog.scanner-modal .scanner-camera-toggle{width:52px!important;min-height:52px!important;border-radius:50%!important;background:rgba(20,21,27,.72)!important}dialog.scanner-modal .scanner-camera-toggle span{display:none!important}
dialog.scanner-modal .scanner-camera-options{position:absolute!important;z-index:28!important;top:calc(157px + env(safe-area-inset-top))!important;right:12px!important;width:min(260px,calc(100vw - 24px))!important;padding:12px!important;border-radius:17px!important;background:rgba(17,18,23,.88)!important;color:#fff!important;backdrop-filter:blur(18px)}dialog.scanner-modal .scanner-camera-options[hidden]{display:none!important}
dialog.scanner-modal .scanner-message{position:absolute!important;z-index:13!important;right:72px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;left:72px!important;min-height:0!important;margin:0!important;padding:6px 9px!important;border:0!important;border-radius:999px!important;background:rgba(12,13,18,.65)!important;color:rgba(255,255,255,.78)!important;font-size:8px!important;text-align:center!important}
dialog.scanner-modal .scanner-latest{position:absolute!important;z-index:18!important;right:48px!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;left:48px!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:7px!important;border-radius:21px!important;background:rgba(16,16,19,.74)!important;backdrop-filter:blur(20px)!important}dialog.scanner-modal .scanner-latest[hidden]{display:none!important}
dialog.scanner-modal .scanner-results-panel.scanner-archive{position:absolute!important;z-index:40!important;inset:12dvh 0 0!important;display:grid!important;width:100%!important;height:88dvh!important;padding:18px 12px calc(12px + env(safe-area-inset-bottom))!important;border-radius:26px 26px 0 0!important;background:#0a0b0f!important;transform:translateY(105%)!important;transition:transform .28s cubic-bezier(.22,.8,.22,1)!important}dialog.scanner-modal .scanner-results-panel.scanner-archive.is-open{transform:translateY(0)!important}
}

/* v0.15.3 — scanner detection HUD, complete device settings and learned print preferences. */
.scanner-camera-options{display:grid;gap:12px}.scanner-camera-options[hidden]{display:none!important}.scanner-camera-options>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12)}.scanner-camera-options>header>div{display:grid;gap:1px}.scanner-camera-options>header small{color:var(--fantasy-gold);font-size:8px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.scanner-camera-options>header b{font-size:18px}.scanner-camera-options>header button{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:20px}.scanner-setting-field{display:grid!important;gap:6px!important;color:rgba(255,255,255,.78);font-size:9px;font-weight:800}.scanner-setting-field>span{display:flex;justify-content:space-between;gap:8px}.scanner-setting-field>span small{color:rgba(255,255,255,.45);font-size:7px;font-weight:650}.scanner-setting-field select,.scanner-setting-field input{width:100%;height:44px;padding:8px 38px 8px 12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#0d0f15;color:#fff;font-size:10px}.scanner-setting-toggle{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:48px;margin:0!important;padding:8px 0!important;color:#fff!important;text-align:left!important}.scanner-setting-toggle input{width:20px!important;height:20px!important;margin:0!important;accent-color:var(--fantasy-gold)}.scanner-setting-toggle>span{position:static!important;display:grid!important;width:auto!important;height:auto!important;gap:2px!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}.scanner-setting-toggle b{font-size:10px}.scanner-setting-toggle small{position:static!important;display:block!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important;color:rgba(255,255,255,.52)!important;font-size:8px!important;line-height:1.35!important;white-space:normal!important}.scanner-tips{padding:10px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.scanner-tips summary{color:var(--fantasy-gold-pale);font-size:9px;font-weight:800;cursor:pointer}.scanner-tips p{margin:8px 0 0;color:rgba(255,255,255,.58);font-size:8px;line-height:1.45}.scanner-tutorial{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;background:transparent;color:var(--fantasy-gold);font-size:9px;font-weight:850}.scanner-tutorial svg{width:17px;height:17px}.scanner-rail-action svg{display:block!important;width:22px!important;height:22px!important;stroke:currentColor!important}.scanner-rail-action:disabled{opacity:.52!important}.scanner-busy{display:none!important}
@keyframes scanner-border-scan{0%,100%{filter:drop-shadow(0 0 4px rgba(72,225,236,.25));opacity:.65}50%{filter:drop-shadow(0 0 13px rgba(72,225,236,.9));opacity:1}}
@media(max-width:780px){
  dialog.scanner-modal .scanner-camera-panel:has(.scanner-camera-options:not([hidden])):after{content:"";position:fixed!important;z-index:54!important;inset:0!important;background:rgba(0,0,0,.66)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
  dialog.scanner-modal.camera-active .scanner-frame{display:block!important;opacity:1!important}
  dialog.scanner-modal .scanner-frame{z-index:8!important;overflow:visible!important;opacity:.58!important}
  dialog.scanner-modal .scanner-frame:after{inset:-2px!important;border:2px solid rgba(70,218,232,.86)!important;border-radius:23px!important;background:transparent!important;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 22px rgba(70,218,232,.16)!important;transition:border-color .18s ease,box-shadow .18s ease!important}
  dialog.scanner-modal .scanner-frame i{z-index:2!important;width:46px!important;height:46px!important;border-color:#52e4ed!important;filter:drop-shadow(0 1px 5px rgba(0,0,0,.75))!important}
  dialog.scanner-modal .scanner-viewport.is-detecting .scanner-frame{animation:scanner-border-scan .72s ease-in-out infinite!important}
  dialog.scanner-modal .scanner-viewport.is-detected .scanner-frame:after{border-color:#56e3a2!important;box-shadow:0 0 0 2px rgba(86,227,162,.2),0 0 26px rgba(86,227,162,.58)!important}
  dialog.scanner-modal .scanner-viewport.is-detected .scanner-frame i{border-color:#56e3a2!important}
  dialog.scanner-modal .scanner-viewport.is-missed .scanner-frame:after{border-color:#ff7885!important;box-shadow:0 0 20px rgba(255,83,103,.45)!important}
  dialog.scanner-modal .scanner-camera-options{position:fixed!important;z-index:55!important;top:50%!important;right:auto!important;left:50%!important;display:grid!important;place-items:stretch!important;align-content:start!important;width:min(390px,calc(100vw - 32px))!important;height:auto!important;max-height:min(76dvh,650px)!important;padding:17px 18px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:25px!important;background:rgba(10,11,15,.96)!important;box-shadow:0 26px 70px rgba(0,0,0,.68)!important;transform:translate(-50%,-50%)!important;backdrop-filter:blur(24px)!important}
  dialog.scanner-modal .scanner-camera-options[hidden]{display:none!important}
  dialog.scanner-modal .scanner-camera-options header,dialog.scanner-modal .scanner-camera-options label,dialog.scanner-modal .scanner-camera-options details,dialog.scanner-modal .scanner-camera-options button{position:relative!important;z-index:2!important}
  dialog.scanner-modal .scanner-camera-options .scanner-setting-field>span{position:static!important;display:flex!important;width:auto!important;height:auto!important;justify-content:space-between!important;overflow:visible!important;clip:auto!important;clip-path:none!important}
  dialog.scanner-modal .scanner-camera-options .scanner-setting-field>span small{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important}
  dialog.scanner-modal .scanner-camera-options label.scanner-setting-field{place-items:stretch!important;width:100%!important;height:auto!important}
  dialog.scanner-modal .scanner-camera-options .scanner-setting-field input,dialog.scanner-modal .scanner-camera-options .scanner-setting-field select{width:100%!important;height:44px!important;margin:0!important}
  dialog.scanner-modal .scanner-camera-options label.scanner-setting-toggle{place-items:initial!important;width:100%!important;height:auto!important}
  dialog.scanner-modal .scanner-camera-options .scanner-setting-toggle>span{position:static!important;display:grid!important;width:auto!important;height:auto!important;gap:2px!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}
  dialog.scanner-modal .scanner-camera-options .scanner-setting-toggle>span small{position:static!important;display:block!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}
  dialog.scanner-modal .scanner-message{right:auto!important;left:50%!important;width:min(420px,calc(100vw - 144px))!important;transform:translateX(-50%)!important}
  dialog.scanner-modal .scanner-message[hidden]{display:none!important}
  dialog.scanner-modal.camera-active .scanner-message{right:auto!important;left:50%!important;width:min(420px,calc(100vw - 144px))!important;transform:translateX(-50%)!important}
  dialog.scanner-modal .scanner-controls{justify-items:center!important}
  dialog.scanner-modal .scanner-latest{right:auto!important;left:50%!important;width:min(620px,calc(100vw - 80px))!important;transform:translateX(-50%)!important}
  dialog.scanner-modal .scanner-latest.is-leaving{opacity:0!important;transform:translate(-50%,10px)!important;transition:opacity .2s ease,transform .2s ease!important}
  dialog.scanner-modal .scanner-idle{display:grid!important;place-content:center!important;width:min(84vw,360px)!important;margin:auto!important;padding:28px 18px!important;text-align:center!important}
  dialog.scanner-modal .scanner-idle p{max-width:100%!important;margin-inline:auto!important;white-space:normal!important;line-height:1.35!important}
}

/* v0.15.6 — canvas-backed outline remains composited in full-screen Safari. */
.scanner-card-overlay{position:absolute!important;z-index:23!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;pointer-events:none!important;opacity:0;transition:opacity .1s ease}
.scanner-card-outline{position:absolute!important;z-index:22!important;inset:0!important;display:block;width:100%!important;height:100%!important;overflow:visible;pointer-events:none;opacity:0;transition:opacity .12s ease}.scanner-card-outline[hidden]{display:none!important}.scanner-viewport.has-card .scanner-card-outline{display:block!important;opacity:1!important}.scanner-card-outline-glow,.scanner-card-outline-path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.scanner-card-outline-glow{stroke:rgba(66,225,235,.38);stroke-width:11;filter:blur(6px)}.scanner-card-outline-path{stroke:#48e1ec;stroke-width:4;filter:drop-shadow(0 2px 4px rgba(0,0,0,.82));transition:stroke .16s ease}.scanner-viewport.is-detecting .scanner-card-outline-path{stroke:var(--fantasy-gold);animation:scanner-outline-pulse .72s ease-in-out infinite}.scanner-viewport.is-detected .scanner-card-outline-path{stroke:#56e3a2}.scanner-viewport.is-missed .scanner-card-outline-path{stroke:#ff7885}.scanner-idle[hidden],dialog.scanner-modal .scanner-idle[hidden],dialog.scanner-modal.camera-active .scanner-idle{display:none!important}.scanner-modal.camera-active .scanner-viewport:after{content:none!important;display:none!important;box-shadow:none!important}.scanner-modal.camera-active .scanner-frame{display:none!important}
@keyframes scanner-outline-pulse{0%,100%{opacity:.72}50%{opacity:1}}
@media(max-width:780px){dialog.scanner-modal .scanner-card-outline{display:block!important}dialog.scanner-modal .scanner-card-outline[hidden]{display:none!important}dialog.scanner-modal .scanner-idle[hidden],dialog.scanner-modal.camera-active .scanner-idle{display:none!important}dialog.scanner-modal.camera-active :is(.scanner-layout,.scanner-camera-panel,.scanner-viewport){background:transparent!important}dialog.scanner-modal.camera-active .scanner-viewport video{opacity:1!important;filter:none!important}dialog.scanner-modal.camera-active .scanner-viewport:before,dialog.scanner-modal.camera-active .scanner-camera-panel:before,dialog.scanner-modal.camera-active .scanner-camera-panel:after{content:none!important;display:none!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}}

/* v0.16.21 — actionable bracket paths and unambiguous printing selection. */
.bracket-direction{width:100%;color:inherit;text-align:left;cursor:pointer}.bracket-direction:hover{border-color:var(--cyan);transform:translateY(-1px)}.bracket-direction>em{margin-top:4px;color:var(--cyan);font-size:9px;font-style:normal;font-weight:850}.bracket-direction.down>em{color:var(--fantasy-gold-pale)}.bracket-gc-section{display:grid;gap:9px}.bracket-gc-section h3,.bracket-subtitle h3{margin:5px 0 0;font-size:12px}.bracket-gc-section .surface-title a{color:var(--cyan);font-size:9px}.bracket-mini-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px}.bracket-mini-cards button{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft);color:var(--text);text-align:left}.bracket-mini-cards img{width:44px;aspect-ratio:488/680;object-fit:cover;border-radius:5px}.bracket-mini-cards span{display:grid;min-width:0}.bracket-mini-cards b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.bracket-mini-cards small{color:var(--muted);font-size:8px}.bracket-subtitle{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.bracket-combo.suggested{border-style:dashed}.bracket-plan-modal{width:min(760px,calc(100vw - 20px))}.bracket-plan-modal .modal-card{max-width:none}.bracket-plan-list{display:grid;gap:9px}.bracket-plan-list article{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft)}.bracket-plan-list article>button{padding:0;border:0;background:none}.bracket-plan-list img{display:block;width:74px;aspect-ratio:488/680;object-fit:cover;border-radius:8px}.bracket-plan-list span{color:var(--cyan);font-size:8px;font-weight:850;text-transform:uppercase}.bracket-plan-list h3{margin:3px 0;font-size:14px}.bracket-plan-list p{margin:0;color:var(--text-secondary);font-size:10px;line-height:1.45}
.printing-image-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.printing-image-button img{width:100%}.printing-zoom-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;background:rgba(2,3,7,.94);overflow:auto}.printing-zoom-dialog[open]{display:grid;place-items:center}.printing-zoom-dialog::backdrop{background:rgba(0,0,0,.84)}.printing-zoom-content{width:min(88vw,560px)}.printing-zoom-content>img,.printing-zoom-flip{width:100%;height:auto;max-width:none;border-radius:18px;box-shadow:0 26px 80px #000;touch-action:pinch-zoom}.printing-zoom-flip{aspect-ratio:488/680}.printing-zoom-dialog>button{position:fixed;z-index:5;top:calc(12px + env(safe-area-inset-top));right:14px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(15,16,22,.82);color:#fff;font-size:24px}
@media(max-width:780px){.sidebar{z-index:100}.bracket-mini-cards{grid-template-columns:1fr 1fr}.bracket-plan-list article{grid-template-columns:62px minmax(0,1fr)}.bracket-plan-list img{width:62px}.printing-zoom-content{width:min(92vw,620px)}}
.mobile-nav-backdrop{display:none}
@media(max-width:780px){.mobile-nav-backdrop:not([hidden]){position:fixed;z-index:99;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(2,3,8,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.sidebar{z-index:100}}
.bracket-direction-trigger{width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.bracket-direction-cta{padding:5px 0;border:0;background:none;color:var(--cyan);font-size:9px;font-weight:850;text-align:left;cursor:pointer}.bracket-direction.down .bracket-direction-cta{color:var(--fantasy-gold-pale)}

/* v0.16.24 — readable UI type, contained desktop dialogs and full-width swap details. */
body{font-size:14px}
:is(button,input,select,textarea,label,summary,p,li,dd,dt,small){font-size:13px!important;line-height:1.45}
:is(.eyebrow,.fact,.result-count,.verdict-pill,.impact-pill,.swap-kicker,.role-health-tag,.candidate-primary){font-size:12px!important;line-height:1.3}
.swap-advanced{grid-column:1/-1;width:100%;min-width:0}.swap-detail-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.swap-detail-grid>.metric-impact{grid-column:1/-1}
.feedback-other{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.feedback-other[hidden]{display:none}.feedback-reason-grid button.selected{border-color:var(--danger);background:rgba(240,121,132,.1)}.feedback-note textarea{min-height:88px}
@media(min-width:781px){dialog.modal{max-width:calc(100vw - 48px)}.analysis-feedback-modal{width:min(720px,calc(100vw - 48px))}.analysis-feedback-card{width:100%;max-width:720px}.card-modal{width:min(880px,calc(100vw - 48px))}.bracket-plan-modal{width:min(760px,calc(100vw - 48px))}}
@media(max-width:780px){body{font-size:14px}.swap-detail-grid{grid-template-columns:1fr}.feedback-other{grid-template-columns:1fr}.feedback-other .button{width:100%}}
.saved-deck-card[data-library-layout="commander-build"]{padding:15px;transform:none!important}.saved-deck-card[data-library-layout="commander-build"] .saved-deck-actions{margin-top:8px}
@media(max-width:780px){.saved-deck-card[data-library-layout="commander-build"]{width:100%}}

/* v0.16.25 — a commander card keeps its place in the side-by-side grid and
   flips in situ to reveal that commander's builds. */
.commander-deck-group{aspect-ratio:488/680;perspective:1400px}.commander-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.72,.2,1)}.commander-deck-group.is-flipped .commander-flip{transform:rotateY(180deg)}.commander-front,.commander-card-back{position:absolute!important;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.commander-front{aspect-ratio:auto}.commander-card-back{z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:18px;overflow:hidden;border:1px solid var(--fantasy-bronze-dim);border-radius:clamp(16px,2vw,24px);background:linear-gradient(155deg,var(--surface),var(--bg-soft));box-shadow:0 18px 44px rgba(0,0,0,.34);transform:rotateY(180deg)}.commander-card-back>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.commander-card-back>header>span{display:grid;min-width:0;gap:2px}.commander-card-back>header small{color:var(--fantasy-gold);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.commander-card-back>header strong{overflow:hidden;font-family:var(--display-font,inherit);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.commander-card-back>header>button{flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:22px!important;cursor:pointer}.commander-build-list{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.commander-build-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.commander-build-open{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.commander-build-open>span{display:grid;min-width:0;gap:2px}.commander-build-open strong,.commander-build-open small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commander-build-open small{color:var(--muted)}.commander-build-open>b{color:var(--cyan);font-size:11px}.commander-build-item>.deck-more>summary{width:36px;padding:0}.commander-build-item>.deck-more>div{top:0}.commander-back-to-art{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-weight:800;cursor:pointer}.commander-back-to-art .icon{width:15px;height:15px;transform:rotate(90deg)}
@media(max-width:780px){.commander-deck-group,.commander-deck-group:has(.commander-builds:not([hidden])){grid-column:auto}.commander-deck-group:has(.commander-builds:not([hidden])) .commander-card-face{width:100%;margin:0}.commander-card-back{gap:7px;padding:10px}.commander-card-back>header{padding-bottom:7px}.commander-card-back>header strong{font-size:13px}.commander-card-back>header>button{width:30px;height:30px}.commander-build-item{grid-template-columns:minmax(0,1fr)}.commander-build-item>.deck-more{display:none}.commander-build-open{padding:5px}.commander-build-open>b{display:none}.commander-back-to-art{min-height:34px}}

/* v0.16.27 — pure artwork first; a cropped card render is only a resilient
   fallback. Horizontal touch gestures never steal vertical page scrolling. */
.commander-card-face>img.uses-card-fallback{object-position:center 28%;transform:scale(1.38)}.commander-card-face:hover>img.uses-card-fallback,.commander-card-face[aria-expanded="true"]>img.uses-card-fallback{transform:scale(1.41)}
@media(max-width:780px){.commander-deck-group{touch-action:pan-y;-webkit-tap-highlight-color:transparent}.commander-card-face,.commander-card-back{user-select:none;-webkit-user-select:none}.commander-build-list{touch-action:pan-y}.commander-card-info em:after{content:" · scorri";color:rgba(255,255,255,.58);font-weight:650}.commander-flip{transition-duration:.42s}}

/* Mobile commander library: one generous artwork per row, horizontal drag
   preview and a top-layer action sheet that cannot be clipped by the 3D card. */
.commander-deck-group.is-dragging .commander-flip{transition:none!important}.deck-actions-sheet-list{display:grid;gap:7px}.deck-actions-sheet-list>button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-weight:800;text-align:left;cursor:pointer}.deck-actions-sheet-list>button.danger{color:var(--danger)}.deck-actions-sheet-list .icon{width:17px;height:17px}
@media(max-width:780px){.commander-library-grid{grid-template-columns:minmax(0,1fr);gap:16px}.commander-deck-group{width:min(100%,460px);justify-self:center}.commander-card-info strong{font-size:clamp(19px,5.5vw,24px)}.commander-build-item{grid-template-columns:minmax(0,1fr) auto}.commander-build-item>.deck-more{display:block}.commander-build-item>.deck-more>summary{width:44px;min-height:44px}.commander-card-back>header>button{width:44px;height:44px}.commander-back-to-art{min-height:44px}dialog.deck-actions-sheet{inset:auto 0 0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}dialog.deck-actions-sheet[open]{display:block!important;animation:deck-sheet-in .22s cubic-bezier(.2,.75,.25,1)}dialog.deck-actions-sheet .modal-card{width:100%;max-width:none;padding:18px 14px calc(16px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overscroll-behavior:contain}dialog.deck-actions-sheet::backdrop{background:rgba(2,3,8,.64);backdrop-filter:blur(4px)}}
@keyframes deck-sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Commander-first deck library. The 488:680 ratio follows a physical Magic
   card, while the restrained overlay leaves the illustration dominant. */
.deck-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 16px}.deck-library-search{flex:1 1 260px;max-width:340px;min-width:0}.deck-library-switch{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,1fr);padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.deck-library-switch:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 74%,var(--fantasy-arcane)));box-shadow:0 5px 18px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.16);transform:translateX(0);transition:transform .26s cubic-bezier(.2,.75,.25,1)}.deck-library-switch[data-active-view="decks"]:before{transform:translateX(100%)}.deck-library-switch button{position:relative;z-index:1;min-height:38px;padding:7px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer;transition:color .2s ease}.deck-library-switch button:hover{color:var(--text)}.deck-library-switch button.active{background:transparent;color:#fff;box-shadow:none}
.deck-library-switch:before{z-index:0}
.commander-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:18px}.commander-deck-group{min-width:0}.commander-card-face{position:relative;display:block;width:100%;aspect-ratio:488/680;padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:clamp(16px,2vw,24px);background:var(--surface-2);color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 44px rgba(0,0,0,.34);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.commander-card-face:hover{transform:translateY(-5px) rotate(.25deg);border-color:var(--fantasy-gold);box-shadow:0 26px 58px rgba(0,0,0,.46),0 0 0 1px rgba(222,185,102,.18)}.commander-card-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.75,.25,1)}.commander-card-face:hover>img,.commander-card-face[aria-expanded="true"]>img{transform:scale(1.035)}.commander-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,6,10,.18) 60%,rgba(5,6,10,.94) 100%)}.commander-card-info{position:absolute;right:0;bottom:0;left:0;display:grid;gap:4px;padding:clamp(17px,6%,26px)}.commander-card-info small{color:var(--fantasy-gold-pale);font-weight:900;letter-spacing:.13em;text-transform:uppercase}.commander-card-info strong{font-family:var(--display-font,inherit);font-size:clamp(19px,2.1vw,27px);line-height:1.08;text-shadow:0 2px 14px #000}.commander-card-info>span{color:rgba(255,255,255,.72)}.commander-card-info em{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);color:#fff;font-style:normal;font-weight:800}.commander-card-info em .icon{width:17px;height:17px;transition:transform .22s}.commander-card-face[aria-expanded="true"] .commander-card-info em .icon{transform:rotate(180deg)}.commander-card-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(177,132,61,.28),transparent 32%),linear-gradient(155deg,var(--surface-3),var(--bg));color:var(--fantasy-gold)}.commander-card-fallback .icon{width:64px;height:64px}.commander-builds{display:grid;gap:8px;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);animation:commander-builds-in .22s ease-out}.commander-builds[hidden]{display:none}.commander-build-row{padding:12px;transform:none!important}.commander-build-row .saved-deck-actions{margin-top:8px}@keyframes commander-builds-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:780px){.deck-library-toolbar{align-items:stretch;flex-direction:column}.deck-library-switch{width:100%}.deck-library-search{max-width:none;flex:none}.commander-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.commander-card-face{border-radius:14px}.commander-card-info{padding:12px}.commander-card-info strong{font-size:15px}.commander-card-info em{font-size:10px!important}.commander-deck-group:has(.commander-builds:not([hidden])){grid-column:1/-1}.commander-deck-group:has(.commander-builds:not([hidden])) .commander-card-face{width:min(100%,280px);margin-inline:auto}.commander-builds{grid-template-columns:1fr}.commander-build-row{width:100%}}

/* v0.17.1 — final mobile cascade: one commander per row remains authoritative
   after the legacy commander-library rules above. */
@media(max-width:780px){.commander-library-grid{grid-template-columns:minmax(0,1fr);gap:16px}.commander-deck-group{width:min(100%,460px);justify-self:center}.commander-card-info{padding:clamp(16px,5vw,22px)}.commander-card-info strong{font-size:clamp(19px,5.5vw,24px)}.commander-card-info em{font-size:13px!important}.commander-build-item{grid-template-columns:minmax(0,1fr) auto}.commander-build-item>.deck-more{display:block}.commander-build-item>.deck-more>summary{width:44px;min-height:44px}.commander-card-back>header>button{width:44px;height:44px}.commander-back-to-art{min-height:44px}}

/* v0.17.2 — compact mobile commander cards, clean artwork crop and clearer
   account permissions on narrow screens. */
.commander-card-face>img.commander-card-art{object-position:center 56%;transform:scale(1.18)}.commander-card-face:hover>img.commander-card-art,.commander-card-face[aria-expanded="true"]>img.commander-card-art{transform:scale(1.21)}.commander-card-face>img.commander-card-art.uses-card-fallback{object-position:center 50%;transform:scale(1.4)}
.settings-modal .check-row{justify-content:flex-start!important;align-items:center;gap:12px;white-space:nowrap}.settings-modal .check-row input{flex:0 0 22px;width:22px;height:22px;margin:0}.settings-modal .check-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:780px){
  .commander-deck-group{height:clamp(250px,62vw,360px);aspect-ratio:auto!important}
  .commander-card-face{height:100%;aspect-ratio:auto;border-radius:18px}
  .commander-card-back{height:100%;border-radius:18px}
  .user-permissions{gap:8px!important}.user-permissions .check-row{min-height:48px;padding:10px 12px}
  #loginDialog[open],#userDialog[open]{margin:max(10px,env(safe-area-inset-top)) auto auto!important}
  #loginDialog .modal-card,#userDialog .modal-card{max-height:calc(var(--app-viewport-height,100dvh) - max(20px,env(safe-area-inset-top)) - 12px)!important}
  #loginDialog .modal-card{gap:12px!important;padding:16px!important}
  #loginDialog .modal-card>p{margin:0 0 1px!important}
  #loginDialog .field-label{gap:5px}
}

/* ========================================================================
   v0.19.0 — ICARO ARCANE ATLAS
   A cartographic Commander workbench: charred vellum, etched copper and
   five-colour energy replace the familiar purple SaaS-dashboard language.
   ======================================================================== */
:root{
  --primary:#bd673b;--primary-2:#7f3d25;
  --cyan:#67b9c2;--green:#6ca66f;--warning:#d6a85e;--danger:#c25a61;
  --bg:#080908;--bg-soft:#0d0f0e;--surface:#121413;--surface-2:#171a18;--surface-3:#20231f;
  --line:#34342e;--line-strong:#5c5548;--text:#f2eee4;--muted:#a39e91;--muted-2:#746f65;
  --fantasy-panel:linear-gradient(152deg,rgba(25,27,24,.98),rgba(13,15,14,.99) 72%);
  --fantasy-panel-deep:linear-gradient(180deg,#101210,#080908);
  --fantasy-bronze:#aa784c;--fantasy-bronze-dim:#58412c;--fantasy-gold:#dec17d;
  --fantasy-gold-pale:#d8c69e;--fantasy-arcane:#9b83bd;--fantasy-mana:#67b9c2;
  --icaros-bone:#e8e0cf;--icaros-copper:#bd673b;--icaros-ink:#090b0a;
  --icaros-w:#ded6bf;--icaros-u:#4f91ba;--icaros-b:#6f5b79;--icaros-r:#b85a39;--icaros-g:#5f8b59;
  --display-font:"Syne","Manrope",ui-sans-serif,system-ui,sans-serif;
  --ui-focus:0 0 0 3px rgba(189,103,59,.2);
}
html{background:#080908}
body{
  background-color:var(--bg);
  background-image:linear-gradient(rgba(5,7,6,.72),rgba(5,7,6,.88)),url('/static/assets/icaros/arcane-atlas-v1.jpg');
  background-position:center top,center top;background-size:auto,1050px auto;background-attachment:fixed;
}
body:before{opacity:.3;background-image:linear-gradient(90deg,rgba(222,193,125,.025) 1px,transparent 1px),linear-gradient(rgba(222,193,125,.018) 1px,transparent 1px);background-size:48px 48px;mix-blend-mode:screen}
body:after{opacity:.8;background:radial-gradient(circle at 48% -12%,rgba(79,145,186,.09),transparent 34%),radial-gradient(circle at 92% 72%,rgba(184,90,57,.08),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 30% 75%,rgba(0,0,0,.2))}

/* Icaro's winged seal and the five-colour thread make the product identity
   visible before any card appears. */
.appbar{height:72px;grid-template-columns:250px minmax(280px,700px) 1fr;background:linear-gradient(180deg,rgba(16,18,16,.97),rgba(8,10,9,.95));border-bottom-color:#5f472f;box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 32px rgba(0,0,0,.46)}
.appbar:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:linear-gradient(90deg,var(--icaros-w) 0 20%,var(--icaros-u) 20% 40%,var(--icaros-b) 40% 60%,var(--icaros-r) 60% 80%,var(--icaros-g) 80%);opacity:.68;box-shadow:0 0 10px rgba(222,193,125,.16)}
.brand{gap:12px;min-width:0}.brand-mark{position:relative;width:43px;height:43px;border:1px solid #b68757;border-radius:50%;background:radial-gradient(circle,rgba(189,103,59,.3),rgba(11,13,12,.98) 67%);color:var(--fantasy-gold);box-shadow:inset 0 0 0 4px rgba(0,0,0,.42),0 0 0 1px rgba(222,193,125,.14),0 7px 22px rgba(0,0,0,.42)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:50%;width:12px;height:1px;background:linear-gradient(90deg,transparent,var(--fantasy-bronze))}.brand-mark:before{right:100%}.brand-mark:after{left:100%;transform:scaleX(-1)}
.brand-mark .icon{width:29px;height:29px;stroke-width:1.3}.brand-copy{display:grid!important;grid-template-columns:auto 50px;align-items:center;gap:0 9px;min-width:0}.brand-copy strong{font:700 19px/1 var(--display-font);letter-spacing:.16em;text-transform:uppercase}.brand-copy>span:not(.brand-spectrum){grid-column:1/-1;margin-top:4px;color:#9d9687;font-size:8px!important;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.brand-spectrum{grid-column:2;grid-row:1;display:grid!important;grid-template-columns:repeat(5,5px);gap:3px}.brand-spectrum i{display:block;width:5px;height:5px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 6px currentColor}.brand-spectrum i:nth-child(1){background:var(--icaros-w);color:var(--icaros-w)}.brand-spectrum i:nth-child(2){background:var(--icaros-u);color:var(--icaros-u)}.brand-spectrum i:nth-child(3){background:var(--icaros-b);color:var(--icaros-b)}.brand-spectrum i:nth-child(4){background:var(--icaros-r);color:var(--icaros-r)}.brand-spectrum i:nth-child(5){background:var(--icaros-g);color:var(--icaros-g)}
.command-search{border-color:#49463e;border-radius:2px 13px 2px 13px;background:rgba(8,10,9,.76);box-shadow:inset 0 1px 8px rgba(0,0,0,.34)}.command-search:focus-within{border-color:var(--fantasy-bronze);box-shadow:0 0 0 1px rgba(222,193,125,.12),0 0 24px rgba(79,145,186,.09)}.command-search kbd{border-color:#514a3e;border-radius:3px;background:#11130f;color:#b7ad99}.health-pill{border-color:#48463e;border-radius:3px 11px 3px 11px;background:rgba(12,14,13,.8)}

/* Navigation behaves like an indexed grimoire. Every section owns a mana
   colour, while the copper rail keeps the system recognisably Icaro. */
.sidebar{top:72px;height:calc(100vh - 72px);width:auto;padding:19px 12px;background:linear-gradient(90deg,rgba(7,9,8,.99),rgba(14,16,14,.98));border-right-color:#4e3b2a;box-shadow:inset -1px 0 rgba(222,193,125,.035),8px 0 30px rgba(0,0,0,.35)}
.sidebar nav:before{content:"INDICE DELL'ATELIER";display:block;margin:1px 10px 12px;color:#756c5b;font:700 8px/1 var(--display-font);letter-spacing:.2em}
.nav-item{--nav-mana:var(--fantasy-gold);min-height:47px;gap:11px;padding:7px 9px;border-radius:2px 12px 2px 12px;color:#a9a394;font-family:"Manrope",ui-sans-serif,system-ui,sans-serif;font-weight:700;letter-spacing:.01em}
.nav-item:nth-child(1){--nav-mana:var(--icaros-u)}.nav-item:nth-child(2){--nav-mana:var(--icaros-r)}.nav-item:nth-child(3){--nav-mana:var(--icaros-g)}.nav-item:nth-child(4){--nav-mana:var(--icaros-w)}.nav-item:nth-child(5){--nav-mana:var(--icaros-b)}
.nav-sigil{border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.035),rgba(6,8,7,.95));color:#888274;box-shadow:inset 0 0 0 1px #403b33,inset 0 2px 6px #000}
.nav-item:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--nav-mana) 8%,transparent),transparent);color:var(--icaros-bone)}
.nav-item.active{border-color:color-mix(in srgb,var(--nav-mana) 48%,#4c4438);background:linear-gradient(90deg,color-mix(in srgb,var(--nav-mana) 16%,transparent),rgba(255,255,255,.012) 72%,transparent);color:#f0e9da;box-shadow:inset 0 1px rgba(255,255,255,.025),0 5px 18px rgba(0,0,0,.25)}
.nav-item.active .nav-sigil{color:var(--nav-mana);box-shadow:inset 0 0 0 1px var(--nav-mana),0 0 14px color-mix(in srgb,var(--nav-mana) 38%,transparent)}
.nav-item.active:before{left:-12px;width:2px;background:linear-gradient(180deg,transparent,var(--nav-mana),transparent);box-shadow:0 0 9px var(--nav-mana)}
.sidebar-footer:before{content:"FORGIA · ANALIZZA · GIOCA";grid-column:1/-1;margin-bottom:2px;color:#6e675a;font:700 7px/1 var(--display-font);letter-spacing:.16em;text-align:center}.mini-stat{border-radius:2px 9px 2px 9px;background:#0b0d0c;box-shadow:inset 0 0 0 1px #322f29}.mini-stat b{font-family:var(--display-font);color:#d9c79e}

/* Page titles read like folios in an arcane field atlas rather than generic
   dashboard headings. */
.main-content{padding:30px clamp(22px,2.6vw,46px) 50px}.view{animation:icarosFolioIn .34s cubic-bezier(.2,.75,.22,1)}
@keyframes icarosFolioIn{from{opacity:0;transform:translateY(9px);filter:saturate(.7)}to{opacity:1;transform:none;filter:none}}
.page-header{position:relative;min-height:96px;padding:6px 92px 22px 3px;border-bottom:1px solid rgba(170,120,76,.34)}
.page-header:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:linear-gradient(90deg,var(--icaros-w),var(--icaros-u),var(--icaros-b),var(--icaros-r),var(--icaros-g),transparent 82%);opacity:.48}
.view>.page-header:before{position:absolute;right:5px;bottom:10px;color:rgba(222,193,125,.1);font:700 62px/.8 var(--display-font);letter-spacing:-.08em}
#view-builder>.page-header:before{content:"I"}#view-play>.page-header:before{content:"II"}#view-collection>.page-header:before{content:"III"}#view-commander-picker>.page-header:before{content:"IV"}#view-decks>.page-header:before{content:"V"}#view-analyzer>.page-header:before{content:"VI"}#view-profile>.page-header:before{content:"VII"}#view-admin>.page-header:before{content:"VIII"}#view-database>.page-header:before{content:"IX"}
.page-header h1,.modal-header h2{font-family:var(--display-font);font-weight:700;letter-spacing:-.018em}.page-header h1{font-size:clamp(31px,3vw,43px);line-height:1}.page-header p{max-width:700px;color:#aaa396}.eyebrow{color:#d2bc8d;font-family:var(--display-font);letter-spacing:.19em}.eyebrow:before{border-radius:50%;transform:none;background:radial-gradient(circle,var(--icaros-copper) 0 31%,transparent 35%),conic-gradient(var(--icaros-w) 0 20%,var(--icaros-u) 0 40%,var(--icaros-b) 0 60%,var(--icaros-r) 0 80%,var(--icaros-g) 0);border:1px solid #a27c51;box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 12px rgba(189,103,59,.17)}
.deck-name{font-family:var(--display-font);font-weight:700;color:var(--icaros-bone)}

/* Tactile atlas panels: leaner corners, ruled headings and no glossy purple. */
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface){border-color:#4e4639;background-color:#131513;background-image:linear-gradient(120deg,rgba(222,193,125,.026),transparent 24%),linear-gradient(152deg,rgba(25,27,24,.985),rgba(12,14,13,.995) 72%);border-radius:3px 17px 3px 17px;box-shadow:inset 0 1px rgba(255,255,255,.025),inset 0 0 32px rgba(0,0,0,.12),0 16px 42px rgba(0,0,0,.3)}
:is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.analysis-surface):before{border-top-color:var(--fantasy-bronze)!important;border-left-color:var(--fantasy-bronze)!important;opacity:.7}
.surface-header,.panel-header{align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(170,120,76,.22)}.surface-header:after,.panel-header:after{display:none!important;content:none!important;background:none!important}
.surface-header h2,.panel-header h2,.analysis-surface h2{font-family:var(--display-font);font-weight:700;letter-spacing:.01em}

/* Controls use engraved copper, bone and ink instead of the default neon
   violet kit shared by many generated admin interfaces. */
.button{border-radius:2px!important;font-family:"Manrope",ui-sans-serif,system-ui,sans-serif;font-weight:750;letter-spacing:.005em}.button.primary{background:linear-gradient(160deg,#a95532,#71351f 58%,#4c2418);border-color:#d19a66;color:#fff8ec;box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -10px 18px rgba(0,0,0,.28),0 8px 22px rgba(84,40,24,.34)}.button.primary:hover{background:linear-gradient(160deg,#bd673b,#824027 58%,#592a1c);border-color:#e0b174}.button.secondary{background:linear-gradient(160deg,#292a25,#151714);border-color:#625846;color:#ede7d9}.button.ghost{background:rgba(12,14,13,.68);border-color:#584a38;color:#d7d0c1}.button.forge-cta{background:linear-gradient(145deg,#8c5b28,#b57d3e 54%,#65401d);border-color:#e0be79;color:#fff8e6}.icon-button{border-color:#514a3e;border-radius:2px 11px 2px 11px;background:#111310;color:#ddd5c5}
input,select,textarea,.search-field{border-color:#403e37;border-radius:2px 10px 2px 10px;background:rgba(8,10,9,.74);color:#eee9de}input:focus,select:focus,textarea:focus,.search-field:focus-within{border-color:#a3744b;box-shadow:0 0 0 2px rgba(189,103,59,.12),0 0 18px rgba(79,145,186,.055)}input::placeholder,textarea::placeholder{color:#6e6b63}
.segmented{border-radius:2px 12px 2px 12px;background:#0b0d0c;border-color:#3e3b33}.segment.active{background:linear-gradient(160deg,#40372d,#211f1a);color:#f0e8d8;box-shadow:inset 0 -2px var(--icaros-copper)}
.deck-kpis>div{position:relative;overflow:hidden;border-color:#443f35;border-radius:2px 12px 2px 12px;background:linear-gradient(145deg,rgba(26,28,25,.94),rgba(11,13,12,.96))}.deck-kpis>div:after{content:"";position:absolute;right:-13px;bottom:-22px;width:52px;height:52px;border:1px solid currentColor;border-radius:50%;opacity:.08}.deck-kpis span{font-family:var(--display-font);letter-spacing:.13em}.deck-kpis b{font-family:var(--display-font);color:#f0e8d8}
.deck-kpi.kpi-cards{color:var(--icaros-u)}.deck-kpi.kpi-lands{color:var(--icaros-g)}.deck-kpi.kpi-mana{color:var(--icaros-b)}.deck-kpi.kpi-commander{color:var(--icaros-r)}
.deck-kpi.kpi-cards.over-limit{color:var(--danger)}.deck-kpi.kpi-cards.over-limit small{color:var(--danger);opacity:.85}
.tag,.chip{border-color:#49443a;border-radius:2px 8px 2px 8px;background:#1b1d19;color:#bdb5a6}.chip.active{border-color:#9a6843;background:rgba(189,103,59,.13);color:#e4d0aa}
.mtg-card,.deck-image-card,.printing{border-color:#4c4539;border-radius:4px 12px 4px 12px;box-shadow:0 9px 24px rgba(0,0,0,.28)}.mtg-card:hover{border-color:#9a7049;box-shadow:0 0 0 1px rgba(222,193,125,.12),0 16px 32px rgba(0,0,0,.38)}
.commander-card-face,.commander-card-back{border-radius:4px 18px 4px 18px}.commander-card-face{border-color:#64513a}.commander-card-face:hover{border-color:#d0aa67;transform:translateY(-4px)}.commander-card-info strong,.commander-card-back>header strong{font-family:var(--display-font)}
.deck-library-switch{border-radius:3px 14px 3px 14px;border-color:#51493b;background:#0d0f0e}.deck-library-switch:before{border-radius:2px 10px 2px 10px;background:linear-gradient(145deg,#9f5634,#63301f)}
.commander-roulette{border-radius:3px 18px 3px 18px;border-color:#5a4936;background:radial-gradient(circle at 50% 0,rgba(189,103,59,.12),transparent 55%),linear-gradient(rgba(8,10,9,.84),rgba(8,10,9,.94)),url('/static/assets/icaros/arcane-atlas-v1.jpg') center/760px auto}.commander-roulette-pointer{background:linear-gradient(180deg,transparent,var(--icaros-copper) 13%,var(--fantasy-gold) 50%,var(--icaros-copper) 87%,transparent);box-shadow:0 0 18px rgba(189,103,59,.65)}

#loginDialog .modal-card{position:relative;overflow:hidden;border-color:#735538;background-image:linear-gradient(135deg,rgba(18,20,18,.93),rgba(7,9,8,.98)),url('/static/assets/icaros/arcane-atlas-v1.jpg');background-position:center;background-size:auto,720px auto;box-shadow:inset 0 0 0 1px rgba(222,193,125,.06),0 35px 100px rgba(0,0,0,.66)}
#loginDialog .modal-card:after{content:"";position:absolute;right:-75px;bottom:-75px;width:210px;height:210px;border:1px solid rgba(222,193,125,.09);border-radius:50%;box-shadow:inset 0 0 0 28px rgba(222,193,125,.018),inset 0 0 0 56px rgba(79,145,186,.018);pointer-events:none}
.login-identity{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px}.login-crest{display:grid;place-items:center;width:64px;height:64px;border:1px solid #a7794c;border-radius:50%;background:radial-gradient(circle,rgba(189,103,59,.28),rgba(8,10,9,.96) 68%);color:var(--fantasy-gold);box-shadow:inset 0 0 0 6px rgba(0,0,0,.4),0 0 22px rgba(189,103,59,.16)}.login-crest .icon{width:43px;height:43px;stroke-width:1.2}.login-identity h2{margin-top:5px;font-size:clamp(25px,4vw,34px);line-height:1}.login-mana-thread{display:flex!important;gap:5px;margin-top:10px}.login-mana-thread i{width:19px;height:2px}.login-mana-thread i:nth-child(1){background:var(--icaros-w)}.login-mana-thread i:nth-child(2){background:var(--icaros-u)}.login-mana-thread i:nth-child(3){background:var(--icaros-b)}.login-mana-thread i:nth-child(4){background:var(--icaros-r)}.login-mana-thread i:nth-child(5){background:var(--icaros-g)}

:root[data-theme="light"] body{background:#d8d0c2;background-image:linear-gradient(rgba(232,227,216,.91),rgba(221,214,201,.95)),url('/static/assets/icaros/arcane-atlas-v1.jpg');background-size:auto,980px auto}:root[data-theme="light"] .appbar{background:linear-gradient(180deg,rgba(225,219,207,.98),rgba(203,195,181,.97))}:root[data-theme="light"] .brand-mark{background:radial-gradient(circle,#d8c6a8,#a99a83);color:#5b3824}:root[data-theme="light"] .brand-copy strong{color:#2d2923}:root[data-theme="light"] .page-header:after{opacity:.7}
@media(prefers-color-scheme:light){:root[data-theme="system"] body{background:#d8d0c2;background-image:linear-gradient(rgba(232,227,216,.91),rgba(221,214,201,.95)),url('/static/assets/icaros/arcane-atlas-v1.jpg');background-size:auto,980px auto}:root[data-theme="system"] .brand-mark{background:radial-gradient(circle,#d8c6a8,#a99a83);color:#5b3824}:root[data-theme="system"] .brand-copy strong{color:#2d2923}}

@media(max-width:780px){
  body{background-size:auto,720px auto;background-attachment:scroll}
  .appbar{min-height:68px;grid-template-columns:auto minmax(0,1fr) auto;padding:9px 12px 10px}.appbar:after{height:2px}
  .brand{display:flex!important;justify-self:start;gap:8px}.brand-mark{width:36px;height:36px}.brand-mark .icon{width:24px;height:24px}.brand-mark:before,.brand-mark:after,.brand-copy>span:not(.brand-spectrum),.brand-spectrum{display:none!important}.brand-copy{display:block!important}.brand-copy strong{font-size:15px;letter-spacing:.12em}
  .command-search{grid-column:1/-1;grid-row:2;border-radius:2px 12px 2px 12px}.sidebar{top:0;height:100dvh;padding-top:82px}
  .main-content{padding:20px 14px 48px}.page-header{min-height:0;padding:4px 50px 18px 1px}.page-header h1{font-size:clamp(27px,8vw,35px)}.view>.page-header:before{right:3px;bottom:12px;font-size:43px}
  .page-header .header-actions{width:100%;margin-inline:0}.builder-header .header-actions{width:100%}.mobile-builder-toolbar{width:100%}
  :is(.surface,.workspace-panel,.saved-deck-card,.database-card,.profile-card,.account-menu,.modal-card,.priority-decision,.advice-decision-card,.analysis-surface){border-radius:3px 14px 3px 14px}
  .commander-card-face,.commander-card-back{border-radius:3px 15px 3px 15px}.commander-roulette{border-radius:3px 15px 3px 15px}
  .login-identity{grid-template-columns:50px minmax(0,1fr);gap:12px}.login-crest{width:50px;height:50px}.login-crest .icon{width:34px;height:34px}.login-identity h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.view{animation:none}}

/* v0.19.1 — clean dividers, Syne/Manrope typography and heavier flat deck
   covers. The flat library deliberately tops out at five decks per row. */
body,button,input,select,textarea{font-family:"Manrope",ui-sans-serif,system-ui,sans-serif}
h1,h2,h3,.brand-copy strong,.commander-card-info strong,.commander-card-back>header strong{font-family:"Syne","Manrope",ui-sans-serif,system-ui,sans-serif}
.surface-header:after,.panel-header:after{display:none!important;content:none!important;background:none!important;filter:none!important}
.surface-header,.panel-header{border-bottom-color:rgba(170,120,76,.18)}
.saved-deck-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;isolation:isolate}
.saved-deck-card[data-library-layout="deck"]{display:grid;grid-template-rows:clamp(138px,8.6vw,172px) minmax(0,1fr);gap:0;min-width:0;height:100%;padding:0;transform:none!important}
.saved-deck-card[data-library-layout="deck"]:hover{transform:translateY(-3px)!important}
.saved-deck-card[data-library-layout="deck"] .saved-deck-art{position:relative;width:100%;height:100%;border:0;border-bottom:1px solid #554936;border-radius:3px 16px 0 0;background:#0b0d0c;overflow:hidden}
.saved-deck-card[data-library-layout="deck"] .saved-deck-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,7,6,.42));pointer-events:none}
.saved-deck-card[data-library-layout="deck"] .saved-deck-art img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.08);transition:transform .45s cubic-bezier(.2,.75,.25,1)}
.saved-deck-card[data-library-layout="deck"]:hover .saved-deck-art img{transform:scale(1.13)}
.saved-deck-card[data-library-layout="deck"] .saved-deck-art img.uses-card-fallback{object-position:center 31%;transform:scale(1.38)}
.saved-deck-card[data-library-layout="deck"] .saved-deck-art-fallback{height:100%;background:radial-gradient(circle at 50% 45%,rgba(189,103,59,.15),transparent 42%)}
.saved-deck-card[data-library-layout="deck"] .saved-deck-body{min-height:216px;padding:15px}
.saved-deck-card[data-library-layout="deck"] .eyebrow{margin-bottom:8px;font-family:"Manrope",ui-sans-serif,system-ui,sans-serif;font-size:9px!important;letter-spacing:.13em}.saved-deck-card[data-library-layout="deck"] .eyebrow:before{width:6px;height:6px}
.saved-deck-card[data-library-layout="deck"] h3{display:-webkit-box;min-height:43px;margin:0 0 4px;overflow:hidden;font-size:17px;line-height:1.22;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
.saved-deck-card[data-library-layout="deck"] .saved-deck-meta{font-size:11px!important}.saved-deck-card[data-library-layout="deck"] .saved-deck-stats{margin-top:4px}.saved-deck-card[data-library-layout="deck"] .saved-deck-stats span{border-radius:2px 7px 2px 7px}
.saved-deck-card[data-library-layout="deck"] .saved-deck-actions{margin-top:auto;padding-top:14px}.saved-deck-card[data-library-layout="deck"] .deck-action{min-height:43px}
@media(min-width:1680px){.saved-deck-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1279px) and (min-width:921px){.saved-deck-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px) and (min-width:781px){.saved-deck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.saved-deck-grid{grid-template-columns:minmax(0,1fr);gap:15px}.saved-deck-card[data-library-layout="deck"]{grid-template-rows:clamp(150px,42vw,210px) minmax(0,1fr)}.saved-deck-card[data-library-layout="deck"] .saved-deck-body{min-height:0}.saved-deck-card[data-library-layout="deck"] h3{min-height:0}}

/* ========================================================================
   v0.20.0 — command centre, mobile grimoire and kinetic commander draw
   Syne is reserved for true titles. Operational labels stay in Manrope.
   ======================================================================== */
.eyebrow,
.sidebar nav:before,
.sidebar-footer:before{
  font-family:"Manrope",ui-sans-serif,system-ui,sans-serif!important;
  font-weight:800;
}
.eyebrow{letter-spacing:.16em}

/* The old decorative search field is now a real cross-app command centre. */
.command-search>.command-results{
  right:auto;left:50%;
  width:min(700px,calc(100vw - 44px));
  transform:translateX(-50%);
  max-height:min(610px,calc(100dvh - 92px));
  padding:8px;
  overflow-y:auto;
  border-color:#65513b;
  border-radius:3px 16px 3px 16px;
  background:linear-gradient(155deg,rgba(23,25,22,.99),rgba(7,9,8,.995));
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 26px 70px rgba(0,0,0,.58);
}
.command-results.open,.command-palette-results.open{display:grid;gap:3px}
.command-result-group{
  display:block;
  padding:12px 10px 5px;
  color:#918674;
  font:800 9px/1 "Manrope",ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.command-result{
  --command-mana:var(--icaros-copper);
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:58px;
  padding:7px 10px 7px 8px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:2px 11px 2px 11px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  touch-action:pan-y;
  transition:background .16s,border-color .16s,transform .16s;
}
.command-result:nth-of-type(5n+1){--command-mana:var(--icaros-w)}
.command-result:nth-of-type(5n+2){--command-mana:var(--icaros-u)}
.command-result:nth-of-type(5n+3){--command-mana:var(--icaros-b)}
.command-result:nth-of-type(5n+4){--command-mana:var(--icaros-r)}
.command-result:nth-of-type(5n){--command-mana:var(--icaros-g)}
.command-result:before{
  content:"";
  position:absolute;
  top:18%;bottom:18%;left:0;
  width:2px;
  background:var(--command-mana);
  opacity:0;
  box-shadow:0 0 10px var(--command-mana);
  transition:opacity .16s;
}
.command-result:hover,.command-result.active{
  border-color:color-mix(in srgb,var(--command-mana) 48%,#4d463a);
  background:linear-gradient(90deg,color-mix(in srgb,var(--command-mana) 12%,transparent),rgba(255,255,255,.018));
  transform:translateX(2px);
}
.command-result:hover:before,.command-result.active:before{opacity:1}
.command-result>img,.command-result-icon{
  width:46px;height:48px;
  border:1px solid #51493d;
  border-radius:2px 9px 2px 9px;
  background:#0b0d0c;
  object-fit:cover;
}
.command-result>img{object-position:center 42%}
.command-result-icon{display:grid;place-items:center;color:var(--command-mana)}
.command-result-icon .icon{width:21px;height:21px}
.command-result>span:not(.command-result-icon){display:grid;min-width:0;gap:3px}
.command-result b,.command-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.command-result b{font-size:13px;line-height:1.2}
.command-result small{color:var(--muted);font-size:10px}
.command-result em{color:#8f8779;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.command-no-results{display:grid;gap:5px;padding:32px 18px;color:var(--muted);text-align:center}
.command-no-results b{color:var(--text)}

dialog.command-palette-modal{
  width:min(760px,calc(100vw - 28px));
  max-width:none;
  margin:clamp(64px,12vh,130px) auto auto;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  color:var(--text);
}
dialog.command-palette-modal::backdrop{
  background:rgba(3,5,4,.82);
  backdrop-filter:blur(12px) saturate(.72);
  -webkit-backdrop-filter:blur(12px) saturate(.72);
}
.command-palette-card{
  position:relative;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  max-height:min(720px,calc(100dvh - 90px));
  overflow:hidden;
  border:1px solid #7a5a3b;
  border-radius:4px 22px 4px 22px;
  background:linear-gradient(145deg,rgba(25,27,24,.995),rgba(7,9,8,.995) 72%),url('/static/assets/icaros/arcane-atlas-v1.jpg') center/780px auto;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 38px 110px rgba(0,0,0,.72),0 0 0 1px rgba(222,193,125,.06);
}
.command-palette-card:before{
  content:"";
  position:absolute;z-index:2;
  top:0;right:0;left:0;height:2px;
  background:linear-gradient(90deg,var(--icaros-w),var(--icaros-u),var(--icaros-b),var(--icaros-r),var(--icaros-g));
  opacity:.8;
}
.command-palette-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 15px}
.command-palette-head h2{margin:2px 0 0;font-size:clamp(23px,4vw,32px)}
.command-palette-input{
  display:flex;align-items:center;gap:12px;
  margin:0 16px 9px;padding:0 14px;
  border:1px solid #6a5740;border-radius:3px 14px 3px 14px;
  background:rgba(5,7,6,.88);
  box-shadow:inset 0 1px 10px rgba(0,0,0,.4),0 0 0 1px rgba(222,193,125,.035);
}
.command-palette-input>.icon{width:22px;height:22px;color:var(--fantasy-gold)}
.command-palette-input input{height:58px;min-height:58px;padding:0;border:0;background:transparent;box-shadow:none!important;font-size:16px}
.command-palette-results{display:grid;align-content:start;gap:3px;min-height:190px;max-height:52vh;padding:0 8px 10px;overflow-y:auto;overscroll-behavior:contain}
.command-palette-foot{display:flex;gap:18px;padding:11px 18px;border-top:1px solid rgba(170,120,76,.22);color:#807a70;font-size:9px}

/* A slot-like arcane draw: the chosen card stops in the centre, never at the
   edge of the reel, and the unused future draws remain visible around it. */
.commander-roulette{
  min-height:252px;
  isolation:isolate;
  border-width:1px;
  box-shadow:inset 0 0 0 1px rgba(222,193,125,.035),inset 0 0 70px rgba(0,0,0,.7),0 18px 44px rgba(0,0,0,.28);
}
.commander-roulette:before{
  content:"";
  position:absolute;z-index:3;
  top:11px;bottom:11px;left:50%;width:174px;
  transform:translateX(-50%);
  border-right:1px solid rgba(222,193,125,.46);
  border-left:1px solid rgba(222,193,125,.46);
  background:linear-gradient(90deg,transparent,rgba(222,193,125,.035) 24% 76%,transparent);
  box-shadow:inset 10px 0 18px -18px var(--fantasy-gold),inset -10px 0 18px -18px var(--fantasy-gold);
  pointer-events:none;
}
.commander-roulette:after{
  content:"";
  position:absolute;z-index:3;inset:0;
  background:linear-gradient(90deg,rgba(2,3,2,.92),transparent 17% 83%,rgba(2,3,2,.92)),linear-gradient(180deg,rgba(0,0,0,.36),transparent 18% 80%,rgba(0,0,0,.45));
  box-shadow:inset 0 13px 18px rgba(0,0,0,.34),inset 0 -13px 18px rgba(0,0,0,.38);
  pointer-events:none;
}
.commander-roulette-track{gap:13px;min-height:252px;padding:34px 0 23px;will-change:transform}
.commander-roulette-card{
  position:relative;
  z-index:1;
  grid-template-rows:168px auto;
  gap:9px;
  width:148px;
  opacity:.82;
  transform:scale(.96);
  filter:saturate(.82) brightness(.86);
  transition:opacity .34s,filter .34s,transform .42s cubic-bezier(.18,.8,.2,1);
}
.commander-roulette-art{border-radius:3px 13px 3px 13px;box-shadow:0 12px 26px rgba(0,0,0,.45)}
.commander-roulette-card b{font-size:11px;text-shadow:0 2px 8px #000}
.commander-roulette-pointer{z-index:6;width:2px;opacity:.88}
.commander-roulette-pointer:before{top:7px;border-right-width:10px;border-bottom-width:14px;border-left-width:10px}
.commander-roulette-pointer:after{content:"";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);border:10px solid transparent;border-top:14px solid var(--fantasy-gold);border-bottom:0}
.commander-roulette-mana{
  position:absolute;z-index:7;top:8px;left:50%;
  display:flex;gap:7px;
  transform:translateX(-50%);
  pointer-events:none;
}
.commander-roulette-mana i{width:6px;height:6px;border:1px solid rgba(255,255,255,.23);border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;opacity:.34}
.commander-roulette-mana i:nth-child(1){color:var(--icaros-w)}.commander-roulette-mana i:nth-child(2){color:var(--icaros-u)}.commander-roulette-mana i:nth-child(3){color:var(--icaros-b)}.commander-roulette-mana i:nth-child(4){color:var(--icaros-r)}.commander-roulette-mana i:nth-child(5){color:var(--icaros-g)}
.commander-roulette.is-spinning{border-color:#a66c43;box-shadow:inset 0 0 0 1px rgba(222,193,125,.08),inset 0 0 80px rgba(0,0,0,.68),0 0 34px rgba(189,103,59,.16),0 18px 44px rgba(0,0,0,.32)}
.commander-roulette.is-spinning .commander-roulette-card{opacity:.92;filter:saturate(1.08) brightness(.92)}
.commander-roulette.has-result .commander-roulette-card:not(.is-winner){opacity:.42;filter:saturate(.5) brightness(.62);transform:scale(.92)}
.commander-roulette-card.is-winner{z-index:5;opacity:1;filter:none;transform:scale(1.08)}
.commander-roulette-card.is-winner .commander-roulette-art{border-color:var(--fantasy-gold);box-shadow:0 0 0 1px rgba(222,193,125,.28),0 0 30px rgba(189,103,59,.42),0 18px 36px rgba(0,0,0,.58)}
.commander-roulette-card.is-winner b{overflow:visible;color:#fff4dc;text-overflow:clip;white-space:normal}
.commander-picker-result:not([hidden]){animation:pickerResultReveal .48s cubic-bezier(.16,.82,.2,1) both;cursor:pointer}
.commander-picker-result:focus-visible{outline:2px solid var(--fantasy-gold);outline-offset:3px}
#spinCommanderButton .icon{transition:transform .25s}
#spinCommanderButton:not(:disabled):hover .icon{transform:rotate(-8deg) translateY(-1px)}

/* Motion is directional and tied to state changes instead of ambient noise. */
@media(prefers-reduced-motion:no-preference){
  dialog.command-palette-modal[open]{animation:commandBackdropIn .18s ease-out}
  dialog.command-palette-modal[open] .command-palette-card{animation:commandPaletteIn .3s cubic-bezier(.16,.82,.2,1) both}
  .command-search>.command-results.open{animation:commandDropdownIn .22s cubic-bezier(.16,.82,.2,1) both}
  .view.active>.page-header{animation:folioHeadingIn .38s cubic-bezier(.16,.82,.2,1) both}
  .view.active>:nth-child(2){animation:folioSurfaceIn .42s .05s cubic-bezier(.16,.82,.2,1) both}
  .view.active>:nth-child(3){animation:folioSurfaceIn .42s .1s cubic-bezier(.16,.82,.2,1) both}
  .view.active>:nth-child(4){animation:folioSurfaceIn .42s .15s cubic-bezier(.16,.82,.2,1) both}
  .saved-deck-grid>.saved-deck-card,.commander-library-grid>.commander-deck-group{animation:deckDealIn .42s cubic-bezier(.16,.82,.2,1) both}
  .saved-deck-grid>:nth-child(2),.commander-library-grid>:nth-child(2){animation-delay:.035s}.saved-deck-grid>:nth-child(3),.commander-library-grid>:nth-child(3){animation-delay:.07s}.saved-deck-grid>:nth-child(4),.commander-library-grid>:nth-child(4){animation-delay:.105s}.saved-deck-grid>:nth-child(5),.commander-library-grid>:nth-child(5){animation-delay:.14s}.saved-deck-grid>:nth-child(6),.commander-library-grid>:nth-child(6){animation-delay:.175s}.saved-deck-grid>:nth-child(7),.commander-library-grid>:nth-child(7){animation-delay:.21s}.saved-deck-grid>:nth-child(8),.commander-library-grid>:nth-child(8){animation-delay:.245s}
  .nav-item.active .nav-sigil{animation:activeSigilBreath 2.8s ease-in-out infinite}
  .button.primary{position:relative;isolation:isolate;overflow:hidden}
  .button.primary:after{content:"";position:absolute;z-index:-1;top:-80%;bottom:-80%;left:-42%;width:24%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(255,244,214,.26),transparent);opacity:0}
  .button.primary:hover:after{animation:buttonGlint .68s ease-out}
  .commander-roulette.is-spinning:after{animation:rouletteVignette 1s ease-in-out infinite alternate}
  .commander-roulette.is-spinning .commander-roulette-art{animation:rouletteCardFlicker .24s steps(2,end) infinite alternate}
  .commander-roulette.is-spinning .commander-roulette-mana i{animation:manaJackpot .46s ease-in-out infinite alternate}
  .commander-roulette.is-spinning .commander-roulette-mana i:nth-child(2){animation-delay:.08s}.commander-roulette.is-spinning .commander-roulette-mana i:nth-child(3){animation-delay:.16s}.commander-roulette.is-spinning .commander-roulette-mana i:nth-child(4){animation-delay:.24s}.commander-roulette.is-spinning .commander-roulette-mana i:nth-child(5){animation-delay:.32s}
  .commander-roulette.has-result .commander-roulette-mana i{animation:manaWin .72s ease-out both}.commander-roulette.has-result .commander-roulette-mana i:nth-child(2){animation-delay:.06s}.commander-roulette.has-result .commander-roulette-mana i:nth-child(3){animation-delay:.12s}.commander-roulette.has-result .commander-roulette-mana i:nth-child(4){animation-delay:.18s}.commander-roulette.has-result .commander-roulette-mana i:nth-child(5){animation-delay:.24s}
  .commander-roulette-card.is-winner{animation:rouletteWinner .7s cubic-bezier(.18,.9,.2,1.15) both}
  #spinCommanderButton:disabled .icon{animation:rouletteCrown .72s linear infinite}
}
@keyframes commandBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes commandPaletteIn{from{opacity:0;transform:translateY(-18px) scale(.975)}to{opacity:1;transform:none}}
@keyframes commandDropdownIn{from{opacity:0;clip-path:inset(0 0 18% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes folioHeadingIn{from{opacity:0;transform:translateY(-8px);filter:saturate(.55)}to{opacity:1;transform:none;filter:none}}
@keyframes folioSurfaceIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes deckDealIn{from{opacity:0;clip-path:inset(0 0 14% 0);filter:saturate(.45)}to{opacity:1;clip-path:inset(0);filter:none}}
@keyframes activeSigilBreath{50%{box-shadow:inset 0 0 0 1px var(--nav-mana),0 0 20px color-mix(in srgb,var(--nav-mana) 52%,transparent)}}
@keyframes buttonGlint{0%{left:-42%;opacity:0}20%{opacity:1}100%{left:122%;opacity:0}}
@keyframes rouletteVignette{from{opacity:.78}to{opacity:1}}
@keyframes rouletteCardFlicker{from{filter:saturate(.9) brightness(.82)}to{filter:saturate(1.18) brightness(1.03)}}
@keyframes manaJackpot{from{opacity:.25;transform:scale(.75)}to{opacity:1;transform:scale(1.3)}}
@keyframes manaWin{0%{opacity:.25;transform:scale(.7)}45%{opacity:1;transform:scale(1.8)}100%{opacity:.75;transform:scale(1)}}
@keyframes rouletteWinner{0%{opacity:.65;transform:scale(.94)}48%{transform:scale(1.14)}100%{opacity:1;transform:scale(1.08)}}
@keyframes rouletteCrown{to{transform:rotate(360deg)}}
@keyframes pickerResultReveal{from{opacity:0;transform:translateY(12px);clip-path:inset(0 0 35% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}

/* Persistent thumb navigation turns the mobile app into an app, not a
   compressed desktop sidebar. */
@media(max-width:780px){
  .appbar{height:62px;min-height:62px;grid-template-columns:minmax(0,1fr) auto;padding:8px 11px;gap:10px}
  #mobileNavButton,.command-search{display:none!important}
  .brand{display:flex!important;min-width:0}.brand-mark{width:38px;height:38px}.brand-copy strong{font-size:16px}
  .appbar-actions{grid-column:2;justify-self:end;gap:7px}.appbar-actions .health-pill{display:none}
  #openMobileGlobalSearch{display:grid!important;place-items:center;width:42px;height:42px;color:var(--fantasy-gold)}
  .account-trigger{min-width:42px;min-height:42px;padding-inline:5px}.account-chevron,.user-badge{display:none!important}
  .app-shell{min-height:calc(100dvh - 62px)}
  .main-content{padding:15px 13px calc(92px + env(safe-area-inset-bottom))}
  .page-header,.builder-header{display:flex;min-height:0;flex-direction:column;align-items:stretch;gap:12px;padding:2px 0 14px;border-bottom:0}
  .page-header:after,.view>.page-header:before{display:none!important}
  .page-header h1{font-size:clamp(27px,8.5vw,35px);line-height:1.04}
  .page-header p{font-size:12px;line-height:1.55}
  .page-header>.button,.page-header>.header-actions{width:100%}
  .page-header>.button{min-height:46px}
  .deck-identity{min-width:0}.deck-title-row{align-items:flex-start;flex-wrap:wrap}.deck-name-field,.deck-name{min-width:0;max-width:none}
  .surface,.workspace-panel{scroll-margin-bottom:92px}
  .sidebar{top:0;bottom:0;width:min(84vw,330px);height:100dvh;padding:86px 14px calc(92px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;transform:translateX(-108%);transition:transform .38s cubic-bezier(.16,.82,.2,1);box-shadow:22px 0 70px rgba(0,0,0,.58)}
  .sidebar.open{transform:translateX(0)}
  .sidebar nav{gap:7px}.nav-item{min-height:50px;padding-inline:11px}
  .mobile-nav-backdrop:not([hidden]){animation:mobileVeilIn .22s ease-out both}
  .mobile-tabbar.mobile-only{
    position:fixed;z-index:90;right:8px;bottom:8px;left:8px;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:64px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    border:1px solid #5d4b37;border-radius:5px 19px 5px 19px;
    background:linear-gradient(180deg,rgba(24,26,23,.96),rgba(7,9,8,.985));
    box-shadow:inset 0 1px rgba(255,255,255,.045),0 18px 52px rgba(0,0,0,.58);
    backdrop-filter:blur(18px) saturate(.82);-webkit-backdrop-filter:blur(18px) saturate(.82);
    transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s;
  }
  .mobile-tabbar:before{content:"";position:absolute;top:0;right:12px;left:12px;height:1px;background:linear-gradient(90deg,var(--icaros-w),var(--icaros-u),var(--icaros-b),var(--icaros-r),var(--icaros-g));opacity:.66}
  .mobile-tabbar button{--tab-mana:var(--fantasy-gold);position:relative;display:grid;place-items:center;align-content:center;gap:3px;min-width:0;min-height:50px;padding:3px;border:0;border-radius:2px 10px 2px 10px;background:transparent;color:#77766f;touch-action:manipulation;transition:color .2s,background .2s,transform .2s}
  .mobile-tabbar button:nth-child(1){--tab-mana:var(--icaros-u)}.mobile-tabbar button:nth-child(2){--tab-mana:var(--icaros-w)}.mobile-tabbar button:nth-child(3){--tab-mana:var(--icaros-g)}.mobile-tabbar button:nth-child(4){--tab-mana:var(--icaros-b)}.mobile-tabbar button:nth-child(5){--tab-mana:var(--icaros-r)}
  .mobile-tabbar button:before{content:"";position:absolute;top:1px;left:50%;width:22px;height:2px;transform:translateX(-50%) scaleX(0);border-radius:99px;background:var(--tab-mana);box-shadow:0 0 10px var(--tab-mana);transition:transform .25s cubic-bezier(.16,.82,.2,1)}
  .mobile-tabbar button .icon{width:21px;height:21px;transition:transform .25s cubic-bezier(.16,.82,.2,1)}
  .mobile-tabbar button span{overflow:hidden;max-width:100%;font-size:8px;font-weight:800;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}
  .mobile-tabbar button.active,.mobile-tabbar button.menu-open{background:color-mix(in srgb,var(--tab-mana) 9%,transparent);color:var(--tab-mana)}
  .mobile-tabbar button.active:before,.mobile-tabbar button.menu-open:before{transform:translateX(-50%) scaleX(1)}
  .mobile-tabbar button.active .icon,.mobile-tabbar button.menu-open .icon{transform:translateY(-2px) scale(1.08)}
  body:has(dialog[open]) .mobile-tabbar,body[data-active-view="play"] .mobile-tabbar{transform:translateY(calc(130% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  .toast-region{bottom:calc(82px + env(safe-area-inset-bottom))}

  dialog.command-palette-modal{width:100vw;height:100dvh;max-height:none;margin:0;padding:0}
  .command-palette-card{width:100%;height:100%;max-height:none;border:0;border-radius:0;background:linear-gradient(160deg,rgba(20,23,20,.995),rgba(6,8,7,.998) 66%),url('/static/assets/icaros/arcane-atlas-v1.jpg') center/700px auto}
  .command-palette-head{padding:calc(15px + env(safe-area-inset-top)) 14px 12px}.command-palette-head h2{font-size:25px}.command-palette-head .eyebrow{font-size:9px!important}
  .command-palette-input{margin:0 10px 7px;padding-inline:12px}.command-palette-input input{height:54px;min-height:54px;font-size:16px}
  .command-palette-results{max-height:none;padding:0 6px calc(18px + env(safe-area-inset-bottom))}
  .command-palette-foot{display:none}
  .command-result{grid-template-columns:44px minmax(0,1fr) auto;min-height:62px;padding:8px}.command-result>img,.command-result-icon{width:44px;height:48px}.command-result em{font-size:8px}

  .commander-picker-surface{gap:17px;padding:14px;margin-inline:0}
  .commander-picker-head{align-items:start}.commander-picker-head h2{font-size:clamp(22px,7vw,28px);line-height:1.08}.commander-picker-head>.muted{font-size:11px}
  .commander-roulette{min-height:218px;margin-inline:-4px}
  .commander-roulette:before{top:9px;bottom:9px;width:144px}
  .commander-roulette-track{gap:10px;min-height:218px;padding:31px 0 20px}
  .commander-roulette-card{grid-template-rows:140px auto;width:124px}
  .commander-roulette-card b{font-size:10px}
  .commander-picker-result{grid-template-columns:88px minmax(0,1fr);padding:11px}.commander-picker-result img{width:88px;height:122px}.commander-picker-result h2{font-size:21px}.commander-picker-result p,.commander-picker-result small{font-size:10px}
  .commander-picker-actions{gap:8px}.commander-picker-actions .button{min-height:48px}
}
@keyframes mobileVeilIn{from{opacity:0}to{opacity:1}}

@media(max-width:390px){
  .mobile-tabbar.mobile-only{right:5px;bottom:5px;left:5px;padding-inline:3px}.mobile-tabbar button span{font-size:7.5px}
  .command-result{grid-template-columns:40px minmax(0,1fr)}.command-result>img,.command-result-icon{width:40px;height:45px}.command-result em{display:none}
  .commander-roulette-card{grid-template-rows:132px auto;width:116px}.commander-roulette:before{width:134px}
}

:root[data-theme="light"] .command-search>.command-results,
:root[data-theme="light"] .command-palette-card,
:root[data-theme="light"] .mobile-tabbar.mobile-only{
  background:linear-gradient(155deg,rgba(231,225,213,.99),rgba(199,191,176,.995));
  border-color:#8d7558;
  color:var(--text);
  box-shadow:inset 0 1px rgba(255,255,255,.42),0 24px 64px rgba(68,53,34,.24);
}
:root[data-theme="light"] .command-result:hover,:root[data-theme="light"] .command-result.active{background:color-mix(in srgb,var(--command-mana) 12%,rgba(255,255,255,.4))}
:root[data-theme="light"] .command-result-icon{background:#c9c0b2}
@media(prefers-color-scheme:light){
  :root[data-theme="system"] .command-search>.command-results,
  :root[data-theme="system"] .command-palette-card,
  :root[data-theme="system"] .mobile-tabbar.mobile-only{background:linear-gradient(155deg,rgba(231,225,213,.99),rgba(199,191,176,.995));border-color:#8d7558;color:var(--text);box-shadow:inset 0 1px rgba(255,255,255,.42),0 24px 64px rgba(68,53,34,.24)}
  :root[data-theme="system"] .command-result-icon{background:#c9c0b2}
}

@media(prefers-reduced-motion:reduce){
  .command-palette-card,.command-result,.mobile-tabbar,.mobile-tabbar button,.mobile-tabbar button .icon,.sidebar,.commander-roulette-card,.commander-roulette-art,.commander-roulette-mana i,.commander-picker-result{animation:none!important;transition:none!important}
}

/* v0.20.1 — aligned deck actions and a single dark Icaro identity. */
.settings-grid-single{grid-template-columns:minmax(220px,440px)}
.saved-deck-card[data-library-layout="deck"]{align-items:stretch}
.saved-deck-card[data-library-layout="deck"] .saved-deck-body{height:100%}
.saved-deck-card[data-library-layout="deck"] .saved-deck-actions{flex:none;min-height:43px}

/* v0.20.2 — mobile starts from the task, secondary setup stays one tap away.
   Action menus are portaled to the viewport so cards and surfaces cannot
   paint over them, regardless of their local stacking context. */
.floating-dropdown-panel{
  position:fixed!important;z-index:1400!important;display:grid;gap:4px;
  width:max-content;min-width:180px;max-width:min(260px,calc(100vw - 20px));
  padding:6px;border:1px solid var(--line-strong);border-radius:3px 12px 3px 12px;
  background:linear-gradient(155deg,rgba(25,27,24,.995),rgba(9,11,10,.998));
  box-shadow:0 26px 76px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.04);
  overscroll-behavior:contain;
}
.floating-dropdown-panel :is(button,.button){display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:2px 8px 2px 8px;background:transparent;color:var(--text);font-size:11px!important;font-weight:780;text-align:left;text-decoration:none;cursor:pointer}
.floating-dropdown-panel :is(button,.button):hover{background:var(--surface-3)}
.floating-dropdown-panel .danger{color:var(--danger)!important}.floating-dropdown-panel .icon{width:15px;height:15px;flex:none}
:is(.surface,.workspace-panel,.page-header):has(.suggestions.open){position:relative;z-index:430!important;overflow:visible!important}
.autocomplete-wrap:has(.suggestions.open),.quick-add:has(.suggestions.open){z-index:440!important}

@media(max-width:780px){
  /* My Decks intentionally keeps its previous complete mobile card. */
  .saved-deck-card[data-library-layout="deck"]{grid-template-rows:clamp(150px,42vw,210px) minmax(0,1fr)}
  .saved-deck-card[data-library-layout="deck"] .saved-deck-body{min-height:0;height:100%}
  .saved-deck-card[data-library-layout="deck"] h3{min-height:0}

  .floating-dropdown-panel{min-width:min(270px,calc(100vw - 24px));max-width:calc(100vw - 20px);padding:7px;border-radius:4px 15px 4px 15px}
  .floating-dropdown-panel :is(button,.button){min-height:46px;font-size:12px!important}

  /* Builder: commander and deck list first; stats and tags remain available. */
  .mobile-context-toggle,.analysis-options-toggle,.collection-mobile-tools>button,.mobile-collapse-toggle,.collection-selection-mode{
    align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #4d473c;border-radius:2px 10px 2px 10px;background:linear-gradient(155deg,#171a17,#0d0f0e);color:#d9d1c1;font-weight:800;text-align:left;touch-action:manipulation;
  }
  .mobile-context-toggle .icon,.analysis-options-toggle .icon,.collection-mobile-tools .icon,.mobile-collapse-toggle .icon{width:16px;height:16px;flex:none}
  .mobile-toggle-chevron{margin-left:auto;transition:transform .22s cubic-bezier(.2,.75,.25,1)}
  [aria-expanded="true"]>.mobile-toggle-chevron,.mobile-expanded .mobile-collapse-toggle>.icon{transform:rotate(180deg)}
  #view-builder:not(.mobile-builder-insights-open) #deckTags,#view-builder:not(.mobile-builder-insights-open)>.deck-kpis{display:none!important}
  #view-builder.mobile-builder-insights-open>.deck-kpis{animation:mobileSectionReveal .22s ease-out}
  #mobileDeckInsightsToggle{display:flex!important;width:100%;grid-column:1/-1}
  .builder-header #deckCsvBtn,.builder-header #newDeckBtn{display:none!important}
  .builder-mobile-menu-action{display:flex!important}

  /* Collection: owned cards lead; occasional tools open compactly on demand. */
  .collection-workspace{display:flex!important;flex-direction:column;gap:12px!important}
  .collection-browser{order:1;margin:0!important}.import-surface{order:2}
  .collection-desktop-secondary{display:none!important}
  .collection-header-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:0!important}
  .collection-header-actions>#openCollectionScanner,.collection-header-actions>#openCommanderPicker{order:0;width:100%!important;min-height:50px}
  .collection-header-more{display:block!important;grid-column:1/-1;min-height:44px}
  .collection-header-more>summary{width:100%;min-height:44px}
  .collection-mobile-tools{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 11px}
  .collection-mobile-tools>button{display:grid;grid-template-columns:16px minmax(0,1fr);justify-items:start;min-width:0;min-height:46px;padding:7px 8px}
  .collection-mobile-tools>button>span{overflow:hidden;width:100%;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.collection-mobile-tools .mobile-toggle-chevron{display:none}
  .collection-mobile-tools>button.active{border-color:var(--icaros-g);background:color-mix(in srgb,var(--icaros-g) 13%,#101210);color:#b8d6b4}
  .collection-mobile-tool-panel:not(.is-open){display:none!important}
  .collection-mobile-tool-panel.is-open{animation:mobileSectionReveal .22s ease-out}
  .collection-browser .collection-quick-add.is-open,.collection-browser .collection-filter-panel.is-open{margin:0 0 11px!important;padding:11px!important;border:1px solid #3e3b34!important;border-radius:2px 12px 2px 12px;background:rgba(8,10,9,.58)}
  .collection-browser:not(.mobile-filters-open) #tagChips{display:none!important}
  .collection-browser .collection-selection-bar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:46px;padding:7px 0!important}
  .collection-browser .collection-selection-bar>span{grid-column:1!important;width:auto!important;margin:0!important}
  .collection-selection-mode{display:inline-flex!important;grid-column:2!important;width:auto!important;min-height:38px;padding-inline:11px}
  .collection-browser:not(.mobile-selection-mode) .collection-select-all,.collection-browser:not(.mobile-selection-mode) #collectionDeleteSelected,.collection-browser:not(.mobile-selection-mode) .card-select{display:none!important}
  .collection-browser.mobile-selection-mode .collection-select-all{display:flex!important;grid-column:1!important;width:auto!important}
  .collection-browser.mobile-selection-mode #collectionDeleteSelected{display:inline-flex!important;grid-column:2!important;width:auto!important;min-height:42px}

  /* Import is a task sheet, not a permanent wall before the collection. */
  .import-surface:not(.mobile-expanded){display:none!important}
  .import-surface.mobile-expanded{position:fixed!important;z-index:1150!important;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:15px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;border-color:#6b5942!important;border-radius:4px 18px 4px 18px!important;background:linear-gradient(155deg,rgba(22,24,21,.998),rgba(7,9,8,.999))!important;box-shadow:0 32px 100px rgba(0,0,0,.82)!important}
  body.mobile-import-open{overflow:hidden!important}body.mobile-import-open .mobile-tabbar{transform:translateY(calc(130% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  .import-surface.mobile-expanded>.surface-header{position:sticky!important;z-index:4;top:-15px;margin:-15px -15px 14px!important;padding:15px;border-bottom:1px solid #403b32;background:rgba(13,15,13,.97);backdrop-filter:blur(18px)}

  /* Shared compact sections for Profile, Admin and database history. */
  [data-mobile-collapse]>.surface-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;margin-bottom:0!important}
  [data-mobile-collapse]>.surface-header>div{grid-column:1;grid-row:1;min-width:0}
  [data-mobile-collapse]>.surface-header>.mobile-collapse-toggle{display:inline-flex!important;grid-column:2;grid-row:1;min-width:72px;justify-content:center}
  [data-mobile-collapse]>.surface-header>.mobile-collapse-toggle .mobile-collapse-action{font-size:9px}
  [data-mobile-collapse]:not(.mobile-expanded)>.surface-header>.button:not(.mobile-collapse-toggle){display:none!important}
  [data-mobile-collapse]:not(.mobile-expanded)>:not(.surface-header){display:none!important}
  [data-mobile-collapse].mobile-expanded>.surface-header>.button:not(.mobile-collapse-toggle){grid-column:1/-1;width:100%;margin-top:4px}
  [data-mobile-collapse].mobile-expanded>:not(.surface-header){animation:mobileSectionReveal .22s ease-out}
  .profile-grid,.admin-grid{gap:10px!important}.profile-card[data-mobile-collapse],.admin-grid>[data-mobile-collapse],.database-sync-history[data-mobile-collapse]{padding:13px!important;margin:0!important}

  /* Analysis exposes source + start first; tuning remains complete on tap. */
  .analysis-controls{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"source" "options" "action"!important;gap:9px!important;margin-top:0!important}
  .analysis-options-toggle{display:flex!important;grid-area:options;width:100%}
  .analysis-toolbar:not(.mobile-analysis-options-open) .analysis-control:not(.control-source):not(.control-action){display:none!important}
  .analysis-toolbar.mobile-analysis-options-open .analysis-controls{grid-template-areas:"source" "options" "depth" "threshold" "maxprice" "budget" "ai" "action"!important}
  .analysis-toolbar.mobile-analysis-options-open .analysis-control:not(.role-hidden){display:grid!important;animation:mobileSectionReveal .2s ease-out}
  .analysis-toolbar.mobile-analysis-options-open .analysis-options-toggle .mobile-toggle-chevron{transform:rotate(180deg)}
}
@keyframes mobileSectionReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mobile-toggle-chevron{transition:none!important}.collection-mobile-tool-panel.is-open,[data-mobile-collapse].mobile-expanded>:not(.surface-header),#view-builder.mobile-builder-insights-open>.deck-kpis{animation:none!important}}

/* v0.20.3 — compact mobile tools and a roulette that looks ready before the draw. */
.commander-picker-result[hidden],.commander-picker-actions>[hidden]{display:none!important}
.commander-picker-actions{
  display:grid;grid-template-columns:minmax(220px,340px);justify-content:center;
  width:100%;max-width:760px;margin-inline:auto;
}
.commander-picker-actions.has-selection{grid-template-columns:repeat(2,minmax(210px,1fr))}
.commander-roulette-idle{
  position:absolute;z-index:5;inset:0;display:grid;grid-template-rows:minmax(145px,1fr) auto;
  place-items:center;align-content:center;gap:7px;padding:27px 18px 20px;text-align:center;
  transition:opacity .2s ease,visibility .2s ease;
}
.commander-roulette-idle>div:last-child{display:grid;gap:3px;max-width:420px}
.commander-roulette-idle b{color:#f2e6cb;font:850 12px/1.2 var(--fantasy-serif);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 3px 12px #000}
.commander-roulette-idle small{color:#958d7f;font-size:9px;line-height:1.4}
.commander-idle-deck{position:relative;width:min(390px,78vw);height:145px}
.commander-idle-deck>i{
  --idle-card-accent:var(--fantasy-gold);position:absolute;top:3px;left:50%;display:grid;place-items:center;
  width:92px;height:130px;border:1px solid color-mix(in srgb,var(--idle-card-accent) 62%,#4b4236);
  border-radius:3px 13px 3px 13px;background:
    radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--idle-card-accent) 14%,transparent),transparent 34%),
    linear-gradient(135deg,transparent 47%,rgba(222,193,125,.16) 48% 52%,transparent 53%),
    linear-gradient(155deg,#171914,#080a09 70%);
  box-shadow:inset 0 0 0 4px #090b09,inset 0 0 0 5px color-mix(in srgb,var(--idle-card-accent) 25%,transparent),0 15px 30px rgba(0,0,0,.48);
  color:var(--idle-card-accent);transform-origin:50% 112%;
}
.commander-idle-deck>i:before{content:"";position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--idle-card-accent) 28%,transparent);border-radius:2px 9px 2px 9px}
.commander-idle-deck>i:nth-child(1){--idle-card-accent:var(--icaros-w);transform:translateX(-174%) translateY(16px) rotate(-13deg);opacity:.52}
.commander-idle-deck>i:nth-child(2){--idle-card-accent:var(--icaros-u);transform:translateX(-112%) translateY(5px) rotate(-6deg);opacity:.72}
.commander-idle-deck>i:nth-child(3){--idle-card-accent:var(--fantasy-gold);z-index:2;transform:translateX(-50%) translateY(-3px);box-shadow:inset 0 0 0 4px #090b09,inset 0 0 0 5px rgba(222,193,125,.32),0 0 28px rgba(189,103,59,.24),0 18px 34px rgba(0,0,0,.56)}
.commander-idle-deck>i:nth-child(4){--idle-card-accent:var(--icaros-r);transform:translateX(12%) translateY(5px) rotate(6deg);opacity:.72}
.commander-idle-deck>i:nth-child(5){--idle-card-accent:var(--icaros-g);transform:translateX(74%) translateY(16px) rotate(13deg);opacity:.52}
.commander-idle-deck .icon{position:relative;z-index:2;width:39px;height:39px;filter:drop-shadow(0 0 10px rgba(222,193,125,.46))}
.commander-roulette:is(.is-spinning,.has-result) .commander-roulette-idle{opacity:0;visibility:hidden}
.commander-roulette:not(.is-spinning):not(.has-result) .commander-roulette-track{visibility:hidden}
.commander-roulette:not(.is-spinning):not(.has-result):before{opacity:0}
.commander-roulette .commander-roulette-pointer{opacity:0}
.commander-roulette:is(.is-spinning,.has-result) .commander-roulette-pointer{opacity:.88}

@media(prefers-reduced-motion:no-preference){
  .commander-idle-deck>i{animation:rouletteIdleDeal .55s cubic-bezier(.16,.82,.2,1) both}
  .commander-idle-deck>i:nth-child(1){animation-delay:.12s}.commander-idle-deck>i:nth-child(2){animation-delay:.08s}.commander-idle-deck>i:nth-child(4){animation-delay:.08s}.commander-idle-deck>i:nth-child(5){animation-delay:.12s}
  .commander-idle-deck .icon{animation:rouletteIdleSeal 2.4s ease-in-out .6s infinite}
}
@keyframes rouletteIdleDeal{from{opacity:0;translate:0 18px;scale:.86}}
@keyframes rouletteIdleSeal{50%{transform:scale(1.08) rotate(3deg);filter:drop-shadow(0 0 17px rgba(222,193,125,.72))}}

@media(max-width:780px){
  /* Header actions stay touchable without taking over the first viewport. */
  .builder-header .header-actions{gap:6px!important;margin-top:8px!important}
  .builder-header .header-actions>.button,.builder-header .header-actions>.builder-more,.builder-header .header-actions>.builder-more>summary{min-height:47px!important;font-size:11px!important}
  .builder-header .header-actions>#saveDeckBtn,.builder-header .header-actions>#openDeckForge{min-height:49px!important;font-size:11px!important;box-shadow:0 7px 18px rgba(0,0,0,.22)}
  .builder-header .header-actions .icon{width:17px;height:17px}
  .floating-dropdown-panel{width:min(238px,calc(100vw - 20px));min-width:0;gap:2px;padding:6px}
  .floating-dropdown-panel :is(button,.button){justify-content:flex-start!important;min-height:43px;padding:7px 9px;font-size:11px!important}

  .page-header .collection-header-actions{display:flex!important;align-items:stretch;flex-wrap:nowrap;gap:6px!important}
  .collection-header-actions>#openCollectionScanner,.collection-header-actions>#openCommanderPicker{flex:1 1 0;width:auto!important;min-width:0;min-height:46px!important;padding:7px 8px!important;font-size:9.5px!important;line-height:1.15;white-space:normal}
  .collection-header-actions .icon{width:17px;height:17px}
  .collection-header-more{flex:0 0 44px;grid-column:auto!important;width:44px!important;min-height:44px!important}
  .collection-header-more>summary{width:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important}
  .collection-header-more>summary>span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  .collection-mobile-tools{gap:6px!important;margin-bottom:9px!important}
  .collection-mobile-tools>button{display:flex!important;flex-direction:column;justify-content:center;justify-items:center;gap:2px!important;min-height:42px!important;padding:5px 4px!important;text-align:center}
  .collection-mobile-tools>button>span{width:auto!important;font-size:9.5px!important;line-height:1.1}

  /* Import opens as a content-sized bottom sheet with one internal scroller. */
  .import-surface.mobile-expanded{
    top:auto!important;right:8px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;left:8px!important;
    height:auto!important;max-height:min(76dvh,650px)!important;padding:12px!important;
    border-radius:4px 18px 4px 18px!important;
    box-shadow:0 0 0 100vmax rgba(0,0,0,.6),0 24px 74px rgba(0,0,0,.86)!important;
  }
  .import-surface.mobile-expanded>.surface-header{top:-12px;margin:-12px -12px 10px!important;padding:12px!important}
  .import-surface.mobile-expanded>.surface-header h2{font-size:16px}.import-surface.mobile-expanded>.surface-header p{font-size:10px;line-height:1.35}
  .import-surface.mobile-expanded .dropzone{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"icon title button" "icon hint button";place-items:center start;column-gap:9px;row-gap:2px;min-height:82px;padding:10px;text-align:left}
  .import-surface.mobile-expanded .dropzone>.icon{grid-area:icon;width:25px;height:25px}.import-surface.mobile-expanded .dropzone>b{grid-area:title;font-size:11px}.import-surface.mobile-expanded .dropzone>span{grid-area:hint;font-size:8px;line-height:1.35}.import-surface.mobile-expanded .dropzone>.button{grid-area:button;min-height:40px;padding:7px 9px;font-size:9px}
  .import-surface.mobile-expanded .divider{margin:9px 0}.import-surface.mobile-expanded textarea{height:112px;min-height:112px;margin-bottom:8px;font-size:10px}
  .import-surface.mobile-expanded .toggle{font-size:9px;line-height:1.3}.import-surface.mobile-expanded .button-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:10px}
  .import-surface.mobile-expanded .button-row .button{min-height:44px!important;padding:7px!important;font-size:9px;line-height:1.2;white-space:normal}
  .import-surface.mobile-expanded .import-result{margin-top:7px;font-size:9px}

  /* "Carte" opens the archive; "Aggiungi" targets the deck quick-add field. */
  .library-panel .library-source-toggle{position:relative!important;top:auto!important;z-index:1!important}
  .library-panel .filter-stack{position:relative;z-index:1}
  .deck-panel .quick-add.mobile-quick-add-focus{border-color:var(--fantasy-gold)!important;box-shadow:0 0 0 2px rgba(232,199,122,.18),0 0 24px rgba(189,103,59,.2)!important}

  .commander-picker-actions,.commander-picker-actions.has-selection{grid-template-columns:1fr;gap:7px}
  .commander-picker-actions .button{min-width:0!important;min-height:46px!important}
  .commander-roulette-idle{grid-template-rows:minmax(126px,1fr) auto;padding:22px 10px 16px}
  .commander-idle-deck{width:min(330px,84vw);height:126px}.commander-idle-deck>i{width:77px;height:109px}.commander-idle-deck .icon{width:33px;height:33px}
  .commander-roulette-idle b{font-size:10px}.commander-roulette-idle small{max-width:290px;font-size:8px}
}
@media(max-width:350px){
  .collection-header-actions>#openCollectionScanner,.collection-header-actions>#openCommanderPicker{font-size:8.5px!important}
  .collection-header-more,.collection-header-more>summary{width:40px!important;min-width:40px!important;flex-basis:40px}
  .import-surface.mobile-expanded .dropzone{grid-template-columns:25px minmax(0,1fr);grid-template-areas:"icon title" "icon hint" "button button"}
  .import-surface.mobile-expanded .dropzone>.button{width:100%;margin-top:5px}
}
.analysis-elapsed{display:block;margin-top:10px;color:var(--fantasy-gold);font-size:10px;font-weight:750;letter-spacing:.05em;font-variant-numeric:tabular-nums}
@media(max-width:560px){.forge-pool-warning{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){.commander-roulette-idle,.commander-idle-deck>i,.commander-idle-deck .icon,.import-surface.mobile-expanded,.deck-panel .quick-add{animation:none!important;transition:none!important}}

/* v0.20.9 — the Builder card search is a real viewport drawer on phones.
   It is portaled to body by app.js, so no workspace animation or stacking
   context can place the search field over the source switch or deck tools. */
.library-filter-details{display:grid;gap:7px}
@media(max-width:780px){
  body>.mobile-library-backdrop{
    z-index:1599!important;
    background:rgba(1,2,5,.82)!important;
    backdrop-filter:blur(7px) brightness(.46) saturate(.68)!important;
    -webkit-backdrop-filter:blur(7px) brightness(.46) saturate(.68)!important;
  }
  body>.library-panel{
    position:fixed!important;z-index:1600!important;
    top:calc(var(--app-viewport-top,0px) + 7px)!important;right:auto!important;bottom:auto!important;
    left:calc(var(--app-viewport-left,0px) + 7px)!important;
    display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
    width:calc(var(--app-viewport-width,100vw) - 14px)!important;
    height:calc(var(--app-viewport-height,100dvh) - 14px)!important;
    min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:12px!important;overflow:hidden!important;overscroll-behavior:contain!important;
    border:1px solid #755d42!important;border-radius:5px 20px 5px 20px!important;
    background:linear-gradient(160deg,rgba(22,24,21,.998),rgba(7,9,8,.999))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.045),0 30px 100px rgba(0,0,0,.88)!important;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translate3d(0,calc(100% + 18px),0)!important;
    transition:transform .28s cubic-bezier(.18,.84,.22,1),opacity .2s ease,visibility .28s!important;
  }
  body>.library-panel.mobile-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)!important}
  body.mobile-library-open .mobile-tabbar{transform:translateY(calc(135% + env(safe-area-inset-bottom)))!important;opacity:0!important;pointer-events:none!important}

  body>.library-panel .library-panel-head{
    position:relative!important;top:auto!important;z-index:3!important;align-self:start!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;
    width:auto!important;max-width:none!important;margin:-12px -12px 9px!important;padding:14px 70px 11px 14px!important;
    border-bottom:1px solid #403b32!important;background:rgba(13,15,13,.99)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  body>.library-panel .library-panel-head h2{font-size:20px!important}
  body>.library-panel .library-panel-head .panel-head-actions{position:absolute!important;top:9px!important;right:9px!important}
  body>.library-panel #closeMobileLibrary{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  body>.library-panel .library-source-toggle{position:relative!important;top:auto!important;z-index:2!important;margin:0 0 8px!important}
  body>.library-panel .library-source-toggle button{min-height:40px!important;font-size:11px!important}
  body>.library-panel .filter-stack{position:relative!important;z-index:2!important;align-self:start!important;gap:7px!important;min-width:0!important;margin:0 0 9px!important}
  body>.library-panel .search-field{min-width:0!important;min-height:50px!important;padding-inline:12px!important;border-color:#66523e!important;background:#090b0a!important}
  body>.library-panel .search-field>.icon{width:20px!important;height:20px!important;flex:none!important}
  body>.library-panel #librarySearch{min-width:0!important;min-height:48px!important;padding:9px 0!important;font-size:16px!important;line-height:1.25!important}
  body>.library-panel .mobile-library-filter-toggle{
    display:grid!important;grid-template-columns:auto auto 1fr auto!important;align-items:center!important;gap:8px!important;
    width:100%!important;min-height:42px!important;padding:7px 10px!important;border:1px solid #454137!important;
    border-radius:2px 10px 2px 10px!important;background:linear-gradient(155deg,#171a17,#0d0f0e)!important;color:#d9d1c1!important;text-align:left!important;
  }
  body>.library-panel .mobile-library-filter-toggle>.icon{width:16px!important;height:16px!important}
  body>.library-panel .mobile-library-filter-toggle>span{font-size:11px!important;font-weight:850!important}
  body>.library-panel .mobile-library-filter-toggle>small{justify-self:end;color:#858175;font-size:9px!important}
  body>.library-panel .mobile-library-filter-toggle.has-active-filters{border-color:#8b6847!important;color:#f0dfbd!important}
  body>.library-panel .library-filter-details{display:none!important;min-height:0!important}
  body>.library-panel .library-filter-details.is-open{
    position:absolute!important;z-index:20!important;top:calc(100% + 5px)!important;right:0!important;left:0!important;
    display:grid!important;gap:7px!important;max-height:150px!important;padding:8px!important;overflow-y:auto!important;
    border:1px solid #3e3b34!important;border-radius:2px 11px 2px 11px!important;background:rgba(7,9,8,.995)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.72)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
    animation:mobileSectionReveal .18s ease-out;
  }
  body>.library-panel .library-filter-details select{min-width:0!important;height:43px!important;font-size:12px!important}
  body>.library-panel #libraryGrid{
    align-content:start!important;grid-auto-rows:max-content!important;min-width:0!important;min-height:0!important;height:auto!important;
    padding:2px 2px 10px!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;scrollbar-gutter:stable!important;-webkit-overflow-scrolling:touch;
  }
  body>.library-panel #loadMoreCards{align-self:end!important;min-height:44px!important;margin:7px 0 0!important}

  /* Sixteen CSS pixels prevent Safari from zooming the page around either
     Builder search input when the software keyboard opens. */
  .deck-panel .quick-add #quickAdd{font-size:16px!important;line-height:1.25!important}
}
@media(max-width:380px){
  body>.library-panel{top:calc(var(--app-viewport-top,0px) + 4px)!important;left:calc(var(--app-viewport-left,0px) + 4px)!important;width:calc(var(--app-viewport-width,100vw) - 8px)!important;height:calc(var(--app-viewport-height,100dvh) - 8px)!important;padding:10px!important}
  body>.library-panel .library-panel-head{margin:-10px -10px 8px!important;padding:12px 66px 9px 12px!important}
  body>.library-panel .library-source-toggle button{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){body>.library-panel,body>.library-panel .library-filter-details{animation:none!important;transition:none!important}}

/* v0.21 — deck utilities, persisted AI profiles and preliminary forge readout. */
.deck-tokens{flex:none;margin-top:9px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft)}
.deck-tokens>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;list-style:none}.deck-tokens>summary::-webkit-details-marker{display:none}.deck-tokens>summary>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:850}.deck-tokens>summary>small{color:var(--fantasy-gold-pale);font-size:8px}.deck-token-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 9px 9px}.deck-token-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.deck-token-glyph{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--fantasy-gold);background:rgba(202,159,80,.1)}.deck-token-list b,.deck-token-list small{display:block}.deck-token-list b{font-size:9px}.deck-token-list small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.deck-token-list strong{color:var(--fantasy-gold-pale);font-size:8px;white-space:nowrap}
.export-deck-modal{width:min(720px,calc(100vw - 24px))}.export-deck-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.export-deck-options .button{justify-content:flex-start;min-width:0;min-height:88px;padding:14px}.export-deck-options .button>.icon{flex:0 0 24px;width:24px;height:24px}.export-deck-options .button>span{display:grid;min-width:0;gap:2px;text-align:left}.export-deck-options .button b{font-size:12px}.export-deck-options small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.35;text-overflow:ellipsis}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45}.ai-advanced-settings{border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}.ai-advanced-settings>summary{padding:10px 12px;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.ai-advanced-settings>.settings-grid{padding:0 12px 12px}
.deck-owned-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:4px;padding:2px 6px;border:1px solid currentColor;border-radius:999px;font-size:7px!important;font-weight:850;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}.deck-owned-status.owned{color:#73d9a6;background:rgba(46,151,102,.11)}.deck-owned-status.missing{color:#e99a87;background:rgba(190,79,62,.1)}.deck-owned-status.neutral{color:var(--fantasy-gold-pale);background:rgba(202,159,80,.08)}.deck-image-card>.deck-owned-status{position:absolute;z-index:4;top:7px;left:7px;margin:0;background:rgba(10,11,15,.86);box-shadow:0 4px 14px rgba(0,0,0,.42);backdrop-filter:blur(10px)}.mobile-gallery-title .deck-owned-status{margin-top:6px}
@media(max-width:560px){.export-deck-options{grid-template-columns:1fr}.export-deck-options .button{min-height:66px}.export-deck-modal{width:calc(100vw - 16px)}}
.forge-preliminary-analysis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:14px;border:1px solid rgba(91,224,214,.24);border-radius:12px;background:linear-gradient(145deg,rgba(91,224,214,.06),rgba(202,159,80,.04))}.forge-preliminary-analysis h3{margin:4px 0;font-size:14px}.forge-preliminary-analysis p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.forge-preliminary-facts{display:flex;gap:6px}.forge-preliminary-facts span{display:grid;min-width:70px;padding:7px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:7px;text-align:center}.forge-preliminary-facts b{color:var(--text);font-size:14px}.forge-preliminary-analysis ul{grid-column:1/-1;display:grid;gap:4px;margin:0;padding-left:18px;color:var(--text-secondary);font-size:8px}.forge-preliminary-ok{grid-column:1/-1;color:var(--green)!important}
@media(max-width:780px){
  .bracket-hero{grid-template-columns:1fr!important;gap:16px!important;padding:16px!important;background:radial-gradient(circle at 50% 0,rgba(88,215,208,.13),transparent 38%),linear-gradient(145deg,var(--surface),var(--bg-soft))!important}
  .bracket-level{grid-template-columns:auto auto minmax(0,1fr);justify-items:start;align-items:center;gap:9px;width:100%;min-height:78px;aspect-ratio:auto;padding:10px 14px;border-radius:14px;background:linear-gradient(120deg,rgba(202,159,80,.13),rgba(88,215,208,.07),var(--graphite))}
  .bracket-level small{grid-column:1/-1}.bracket-level strong{font-size:36px!important}.bracket-level b{font-size:10px}.bracket-hero>div:last-child{min-width:0;width:100%}.bracket-hero h2{font-size:24px;line-height:1.1}.bracket-hero p{font-size:13px;line-height:1.55}.bracket-evidence{display:grid;grid-template-columns:1fr;gap:6px}.bracket-evidence span{width:100%;font-size:9px;line-height:1.35}
  .chart-surface .surface-title{display:grid;grid-template-columns:1fr;gap:12px}.chart-surface .analysis-curve-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;overflow:hidden}.chart-surface .analysis-curve-tabs .segment{min-width:0;padding:9px 4px;font-size:9px;white-space:nowrap}
  .deck-token-list{grid-template-columns:1fr}.export-deck-options{grid-template-columns:1fr}.export-deck-options .button{min-height:58px}.forge-preliminary-analysis{grid-template-columns:1fr}.forge-preliminary-facts{display:grid;grid-template-columns:repeat(3,1fr)}.forge-preliminary-analysis ul,.forge-preliminary-ok{grid-column:1}
}

/* v0.37.1 — Wishlist scope and rebuilt Builder inspector. */
.wishlist-modal{width:min(500px,calc(100vw - 24px))}.wishlist-scope-grid{display:grid;gap:9px;margin-top:16px}.wishlist-scope{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--bg-soft);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.wishlist-scope:hover{transform:translateY(-1px);border-color:var(--line-strong)}.wishlist-scope.selected{border-color:var(--fantasy-gold);background:linear-gradient(135deg,rgba(202,159,80,.15),rgba(88,215,208,.045))}.wishlist-scope>input{position:absolute;width:1px;height:1px;opacity:0}.wishlist-scope>span{display:grid;gap:4px;min-width:0}.wishlist-scope b{font-size:13px}.wishlist-scope small{color:var(--muted);font-size:9px;line-height:1.4}.wishlist-scope small strong{color:var(--text);font-size:12px}.wishlist-scope>em{padding:4px 7px;border-radius:999px;background:rgba(202,159,80,.14);color:var(--fantasy-gold-pale);font-size:7px;font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.wishlist-actions{display:grid;gap:7px;margin-top:14px}.wishlist-actions>.button{width:100%;min-height:50px}.wishlist-actions>small{color:var(--muted);font-size:8px;text-align:center}

@media(min-width:1366px){
  .inspector-panel{padding:12px!important;overflow-x:hidden}.inspector-panel>.panel-header{margin:0 2px 11px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .inspector-panel #inspector{display:block;min-width:0;padding:0;text-align:left;color:var(--text)}.inspector-panel #inspector.empty-state{display:grid;place-items:center;align-content:center;text-align:center;height:100%}
  .inspector-card-shell{display:grid;gap:10px;min-width:0}
  .inspector-hero{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(155deg,rgba(202,159,80,.07),rgba(8,10,10,.35))}
  .inspector-visual{display:grid;place-items:center;min-width:0}.inspector-panel .inspector-art-flip,.inspector-panel .inspector-art{width:min(100%,210px);margin:0 auto;border-radius:11px}.inspector-panel .inspector-art{box-shadow:0 14px 30px rgba(0,0,0,.36)}
  .inspector-identity{display:grid;justify-items:start;min-width:0}.inspector-identity>.eyebrow{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-panel .inspector-title{max-width:100%;margin:4px 0 0;overflow-wrap:anywhere;font-size:18px;line-height:1.12}.inspector-panel .card-facts{margin:8px 0 2px}.inspector-panel .deck-owned-status{margin-top:6px}
  .inspector-deck-action{display:grid;gap:9px;padding:12px;border:1px solid rgba(202,159,80,.3);border-radius:13px;background:rgba(202,159,80,.055)}.inspector-deck-action>div:first-child{display:grid;gap:2px}.inspector-deck-action>div:first-child>b{font-size:12px}.inspector-panel .card-action-dock{grid-template-columns:106px minmax(0,1fr);gap:7px;min-width:0;margin:0;padding:0;border:0;background:none}.inspector-panel .quantity-stepper.compact{grid-template-columns:31px minmax(32px,1fr) 31px}.inspector-panel .inspect-add-button{min-width:0;padding:0 11px}.inspector-panel .inspect-add-button small{font-size:7px}
  .inspector-panel .replace-trigger.top{margin:0}.inspector-panel .replace-trigger button{min-height:45px;padding:0 12px}
  .inspector-disclosure{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:rgba(8,10,10,.28)}.inspector-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:10px 12px;cursor:pointer;list-style:none}.inspector-disclosure>summary::-webkit-details-marker{display:none}.inspector-disclosure>summary>span{display:flex;align-items:center;gap:8px;min-width:0}.inspector-disclosure>summary .icon{width:16px;height:16px;color:var(--fantasy-gold)}.inspector-disclosure>summary b{font-size:10px}.inspector-disclosure>summary small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px;white-space:nowrap}.inspector-disclosure>summary small:after{content:'⌄';color:var(--fantasy-gold);font-size:12px;transition:transform .15s}.inspector-disclosure[open]>summary small:after{transform:rotate(180deg)}.inspector-disclosure[open]>summary{border-bottom:1px solid var(--line);background:rgba(202,159,80,.045)}.inspector-disclosure-body{display:grid;gap:10px;padding:11px}.inspector-panel .oracle-text{margin:0;padding:0;border:0;background:none;font-size:10px;line-height:1.48}.inspector-panel .card-purchase-links,.inspector-panel .inventory-editor{margin:0}.inspector-panel .inventory-editor.refined{padding:0;border:0;background:none}.inspector-panel :is(.inventory-grid,.inventory-actions){grid-template-columns:1fr}.inspector-panel .printing-heading{display:grid;margin:0}.inspector-panel .printing-heading select{width:100%}.inspector-panel .printing-summary{margin:0}.inspector-panel .printing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-panel .printing-info{padding:5px}.inspector-panel .price-warning{margin:0}
}

@media(max-width:520px){.wishlist-scope{grid-template-columns:1fr}.wishlist-scope>em{justify-self:start}.wishlist-modal .modal-card{padding:14px!important}}

/* v0.40.2 — Progressive Commander discovery and analysis meters live in
   main.py/app.js/studio-overrides; retain the complete responsive baseline
   below as the release-level layout contract. */
/* v0.37.2 — Builder inspector ordered by the actual deck workflow. */
@media(min-width:1366px){
  .inspector-card-shell{gap:7px}
  .inspector-hero{gap:9px;padding:10px}
  .inspector-panel .inspector-art-flip,.inspector-panel .inspector-art{width:min(100%,190px)}
  .inspector-panel .card-facts{margin:6px 0 1px}
  .inspector-deck-action{gap:7px;padding:9px 10px}
  .inspector-panel .card-action-dock{grid-template-columns:92px minmax(0,1fr)}
  .inspector-panel .quantity-stepper.compact{height:42px;grid-template-columns:29px minmax(30px,1fr) 29px}
  .inspector-panel .inspect-add-button{min-height:42px;padding:0 9px;gap:6px;white-space:nowrap}
  .inspector-panel .inspect-add-button b{min-width:0;overflow:hidden;font-size:9px;text-overflow:ellipsis}
  .inspector-disclosure>summary{min-height:42px;padding:8px 10px}
  .inspector-disclosure>summary>span{gap:7px}
  .inspector-disclosure-body{gap:8px;padding:9px}
  .inspector-panel .inventory-grid{grid-template-columns:1fr!important;gap:7px}
  .inspector-panel .inventory-grid>label{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px}
  .inspector-panel .inventory-grid .quantity-stepper{height:38px}
  .inspector-panel .inventory-tags{margin-top:8px}
  .inspector-panel .inventory-actions{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:7px;margin-top:8px}
  .inspector-panel .inventory-actions .button{min-height:38px}
  .inspector-panel .card-purchase-links{gap:8px;padding:9px}
  .inspector-panel .marketplace-link{min-height:35px;padding:6px 8px}
}

/* v0.36.6 — Marketplace, inspector, support and container polish. */
.marketplace-link-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
.marketplace-link{box-sizing:border-box;width:100%;min-width:0;justify-content:flex-start;overflow:hidden}
.marketplace-link>span,.marketplace-link>span>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.collection-filter-panel>*,#collectionDirection{box-sizing:border-box;min-width:0;max-width:100%}
/* v0.36.5 — Guest workspace plus mobile support containment.
   Keep the full desktop information architecture, but give every grid item a
   real shrinking track before the phone-specific experience takes over. */
@media(min-width:781px) and (max-width:1365px){
  .main-content,.view,.page-header,.page-header>*,.collection-workspace,.collection-workspace>*,.collection-browser{min-width:0}

  .builder-header{
    display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;
  }
  /* Stacking deck-identity above header-actions (instead of the wide-desktop
     side-by-side row) adds a real extra row of height that the base
     `.builder-workspace{height:calc(100vh - 244px)}` budget never accounted
     for. Combined with `.builder-workspace{min-height:0}` (needed elsewhere
     so the three columns can shrink enough for their own overflow:auto to
     engage), the workspace collapsed to well under its intended usable size
     on laptop-width screens - and #deckCompactView specifically down to a
     ~25px sliver, making the middle column's own scrolling effectively
     unusable and pushing virtually everything onto the page-level scroll
     instead. Restoring a real floor here is what the original min-height:570px
     was already meant to guarantee before that later reset undid it. */
  .builder-workspace{min-height:570px}
  .builder-header .deck-identity{width:100%;max-width:none;min-width:0}
  .builder-header .header-actions{
    display:grid;grid-template-columns:repeat(6,minmax(0,max-content));
    justify-content:start;align-items:stretch;width:100%;max-width:100%;gap:7px;
  }
  .builder-header .header-actions .button{
    min-width:0;max-width:100%;padding-inline:11px;font-size:10px;line-height:1.15;white-space:nowrap;
  }

  .collection-workspace{
    grid-template-columns:minmax(230px,280px) minmax(0,1fr);align-items:start;
  }
  .collection-browser .collection-filter-panel{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .collection-browser .collection-filter-panel>*{grid-row:auto}
  .collection-browser .collection-search-wide{grid-column:1/-1}
  .collection-filter-panel>*{max-width:100%}
  .collection-browser .collection-quick-add{
    grid-template-columns:minmax(0,1fr) 80px auto;
  }
  .collection-browser .collection-quick-add>*{min-width:0;max-width:100%}

  .commander-card-info{min-width:0;padding:clamp(14px,5%,20px)}
  .commander-card-info strong{font-size:clamp(17px,2vw,23px);overflow-wrap:anywhere}
  .commander-card-info em{min-width:0;gap:8px}
  .saved-deck-card[data-library-layout="deck"] .saved-deck-body{min-width:0;padding-inline:15px}
  .saved-deck-card[data-library-layout="deck"] .saved-deck-actions{grid-template-columns:minmax(0,1fr) auto;min-width:0}
  .saved-deck-card[data-library-layout="deck"] .deck-action{min-width:0;padding-inline:9px;white-space:nowrap}
}

@media(min-width:781px) and (max-width:1100px){
  .page-header{flex-wrap:wrap;gap:14px}
  .page-header>.header-actions{width:100%;max-width:100%;margin-top:0}

  .deck-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .builder-header .header-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .builder-header .header-actions .button{justify-content:center;min-height:42px;white-space:normal;text-align:center}
  .deck-kpi{min-width:0}
  .deck-kpi>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .collection-workspace{grid-template-columns:minmax(220px,250px) minmax(0,1fr)}
  .import-surface{padding-inline:13px}
  .import-surface .dropzone{min-height:138px;padding:12px}
  .import-surface textarea{height:170px}
  .import-surface .button-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .import-surface .button-row .button{width:100%;min-width:0;white-space:normal}

  .collection-browser .collection-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collection-browser .collection-quick-add{grid-template-columns:minmax(0,1fr) 74px}
  .collection-browser .collection-quick-add>.button{grid-column:1/-1;width:100%}
  .collection-selection-bar{align-items:center;flex-wrap:wrap;gap:8px 10px}
  .collection-selection-bar>span{flex:1 1 100%;width:100%;margin:0}
  .collection-selection-bar .button{min-width:0;white-space:nowrap}
}

@media(min-width:1366px) and (max-width:1919px){
  .collection-workspace{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}
  .collection-workspace>*,.collection-browser{min-width:0}
  .collection-browser .collection-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .collection-browser .collection-filter-panel>*{grid-row:auto;max-width:100%}
  .collection-browser .collection-search-wide{grid-column:1/-1}
  .collection-browser .collection-quick-add{grid-template-columns:minmax(0,1fr) 90px auto}
  .collection-browser .collection-quick-add>*{min-width:0;max-width:100%}
}

/* Community: publish a deck, browse/search everyone else's. */
.community-toolbar{display:grid;gap:10px;margin-bottom:16px}
.community-filter-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center}
.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;margin-bottom:14px}
.community-deck-card{cursor:pointer}
.community-color-filter{display:flex;gap:7px}
.color-pip{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--bg-soft);color:var(--muted);font:800 12px/1 var(--display-font,inherit);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}
.color-pip:hover{border-color:var(--line-strong)}
.color-pip[data-community-color="W"]{--pip:var(--icaros-w)}.color-pip[data-community-color="U"]{--pip:var(--icaros-u)}.color-pip[data-community-color="B"]{--pip:var(--icaros-b)}.color-pip[data-community-color="R"]{--pip:var(--icaros-r)}.color-pip[data-community-color="G"]{--pip:var(--icaros-g)}
.color-pip.active{background:var(--pip);border-color:var(--pip);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--pip) 35%,transparent);transform:translateY(-1px)}
.community-deck-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.community-deck-modal{width:min(880px,calc(100vw - 24px))}
.community-deck-actions{display:flex;align-items:center;gap:10px;margin:12px 0;flex-wrap:wrap}
.readonly-deck-tabs{margin-left:auto}
.community-deck-list{display:grid;gap:14px;max-height:60vh;overflow-y:auto;padding-right:4px}
.community-deck-list .compact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.community-deck-list .compact-card-row{grid-template-columns:34px minmax(0,1fr)}
.community-deck-list .compact-card-row .deck-owned-status{margin-top:4px}
.community-deck-list.card-grid{display:grid;grid-template-columns:1fr}
.community-deck-list .deck-image-card.readonly{cursor:pointer}
.readonly-card-preview-modal{width:min(760px,calc(100vw - 24px))}
.readonly-card-preview-card{position:relative;display:flex;align-items:center;gap:18px;padding:20px}
#closeReadonlyCardPreview{position:absolute;top:12px;right:12px;z-index:6}
.readonly-card-preview-body{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start;flex:1;min-width:0}
.readonly-card-preview-art{width:min(100%,300px);border-radius:4.8% / 3.45%;box-shadow:0 20px 48px rgba(0,0,0,.5)}
.readonly-card-preview-info{flex:1;min-width:220px}
.readonly-card-preview-info h3{margin:0 0 6px}
.readonly-card-preview-info .oracle-text{white-space:pre-wrap;color:var(--muted);font-size:13px;line-height:1.5}
.readonly-card-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(5,7,13,.76);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px)}
.readonly-card-nav:hover{background:var(--surface-3)}
.readonly-card-nav.prev{left:-14px}
.readonly-card-nav.next{right:-14px}
.readonly-card-preview-counter{position:absolute;bottom:10px;right:16px;font-size:11px;color:var(--muted)}
@media(max-width:560px){.readonly-card-preview-card{padding:16px}.readonly-card-nav{width:38px;height:38px;font-size:18px}.readonly-card-nav.prev{left:-8px}.readonly-card-nav.next{right:-8px}}
.readonly-deck-text-pane #copyCommunityDeckText,.readonly-deck-text-pane #copySharedDeckText{margin-bottom:10px}
.readonly-deck-text{margin:0;max-height:60vh;overflow:auto;padding:16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;font:12px/1.65 "SFMono-Regular",Consolas,monospace;white-space:pre-wrap;word-break:break-word;color:var(--text)}
#communityDeckReportBtn.active{color:var(--fantasy-gold,#caa350);border-color:var(--fantasy-gold,#caa350)}
#communityDeckModerateBtn{margin-left:auto}
.builder-more .is-disabled{opacity:.55}
.community-like-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--bg-soft);color:var(--muted);border-radius:99px;padding:6px 12px;font-size:11px;font-weight:750;cursor:pointer}
.community-like-button:hover{border-color:var(--line-strong);color:var(--text)}
.community-like-button .icon{width:15px;height:15px}
.community-like-button.active{color:#ff6b81;border-color:rgba(255,107,129,.5);background:rgba(255,107,129,.1)}
.community-like-button.active .icon{fill:#ff6b81}
.saved-deck-body>.community-like-button{margin-top:8px;align-self:flex-start}
@media(max-width:560px){.community-deck-list .compact-card-grid{grid-template-columns:1fr}.community-filter-row{grid-template-columns:1fr}.readonly-deck-tabs{margin-left:0;width:100%}.readonly-deck-tabs .segment{flex:1}}

/* Unlisted no-login deck sharing: a dedicated landing bypassing the whole
   authenticated shell, same pattern as body.scanner-handoff-mode. The
   element already carries the native hidden attribute by default (see the
   global [hidden] rule above); only the shown state needs its own rule. */
body.shared-deck-mode{min-height:100dvh;background:var(--bg)}
/* display:none (not visibility:hidden) - the app-shell/appbar are full-page
   elements in normal flow; merely hiding them visually still reserves their
   layout space, pushing #sharedDeckLanding hundreds of px below the fold. */
body.shared-deck-mode>.appbar,body.shared-deck-mode>.app-shell,body.shared-deck-mode #loginDialog,body.shared-deck-mode .mobile-tabbar{display:none!important}
body.shared-deck-mode #sharedDeckLanding{display:block!important}
.shared-deck-landing-shell{width:min(720px,calc(100vw - 32px));margin:0 auto;padding:clamp(28px,5vw,56px) 0}
.shared-deck-landing-shell header{margin-bottom:14px}
.shared-deck-landing-shell h1{margin:6px 0}
.shared-deck-landing-actions{display:flex;align-items:center;gap:10px;margin:14px 0 18px;flex-wrap:wrap}
@media(max-width:560px){
  .shared-deck-landing-shell{padding:16px 0}
  .shared-deck-landing-shell header{margin-bottom:8px}
  .shared-deck-landing-shell h1{font-size:24px}
  .shared-deck-landing-actions{margin:10px 0 12px}
  .community-deck-actions{margin:8px 0}
}

/* Help hints - a blue "?" next to essential, non-obvious controls. Hover
   for 3s (mouseenter timer) or click/tap/focus (immediate, since hover
   doesn't exist on touch and shouldn't gate keyboard users) opens a small
   floating panel with an explanation and a way to report a problem. */
/* v0.30.0 — the "?" sat right on top of the preceding word (5px gap on a
   17px circle reads as glued-on rather than a separate control, and read
   worse still inside large h1/h2 headings where it also looked too low
   relative to the cap-height). More breathing room + a slight lift fixes
   both without needing per-heading-size overrides. */
.help-hint{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin:0 4px 0 10px;padding:0;border:1.5px solid #4a9eff;border-radius:50%;background:rgba(74,158,255,.12);color:#4a9eff;font-size:11px;font-weight:800;line-height:1;cursor:help;vertical-align:middle;position:relative;top:-.08em;flex:none}
.help-hint:hover,.help-hint:focus-visible{background:rgba(74,158,255,.24);outline:none}
.help-panel{position:fixed;z-index:900;width:min(280px,calc(100vw - 24px));padding:15px;background:var(--surface);border:1px solid #4a9eff;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.4);font-size:12px}
.help-panel h4{margin:0 0 6px;font-size:12px;color:#4a9eff}
.help-panel p{margin:0 0 10px;color:var(--text);line-height:1.5}
.help-panel-report{border:0;background:transparent;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
.help-panel-report:hover{color:var(--text)}
.nav-badge{margin-left:auto;padding:2px 7px;border-radius:99px;background:var(--danger);color:#fff;font-size:9px;font-weight:800}

/* Support: a ticket log, not a live chat. User-facing contact dialog and
   staff inbox share the same entry markup (.support-thread > .support-
   bubble), but entries are full-width, always left-aligned and labelled
   with who posted them - no alternating chat-bubble sides/tails, which
   read as instant messaging rather than an asynchronous ticket. */
.support-thread{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;margin-bottom:12px;padding-right:2px}
.support-bubble{padding:9px 12px;border-radius:8px;font-size:12px;line-height:1.55;background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--line-strong)}
.support-bubble b{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}
.support-bubble span{white-space:pre-wrap}
.support-bubble.is-ai{border-left-color:#4a9eff;background:rgba(74,158,255,.07)}
.support-bubble.is-ai b{color:#4a9eff}
.support-bubble.is-staff{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--bg-soft))}
.support-bubble.is-staff b{color:var(--primary)}
.support-bubble small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.support-empty-note{color:var(--muted);font-size:12px;margin:0 0 12px}
.support-operator-note{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.support-triage-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.support-triage-actions p{grid-column:1/-1;margin:0;color:var(--text);font-size:12px;font-weight:800;text-align:center}
.support-workspace{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:14px;align-items:start}
.support-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;min-height:0;min-width:0}
.support-thread-items{display:flex;flex-direction:column;gap:7px;max-height:70vh;overflow-y:auto;min-width:0}
.support-thread-item{display:block;width:100%;min-width:0;text-align:left;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);cursor:pointer;box-sizing:border-box}
.support-thread-item:hover{border-color:var(--line-strong)}
.support-thread-item.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-soft))}
.support-thread-item b{display:block;font-size:12px}
.support-thread-item span{display:block;font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-thread-item small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.support-thread-item.awaiting b:after{content:"●";color:var(--danger);margin-left:6px;font-size:8px}
.support-conversation-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.support-conversation-body{display:flex;flex-direction:column;min-height:0}
.support-conversation-thread,.support-thread{flex:1;min-height:200px}
.support-reply-row{display:flex;gap:8px;align-items:flex-end}
.support-reply-row textarea{flex:1;resize:vertical}
@media(max-width:780px){.support-workspace{grid-template-columns:1fr}.support-thread-items{max-height:42vh}.support-thread{max-height:45vh}.support-conversation-head{flex-wrap:wrap}.support-reply-row{flex-direction:column;align-items:stretch}.support-reply-row textarea{font-size:16px;min-height:64px}.support-reply-row .button{width:100%;min-height:46px}.support-triage-actions{grid-template-columns:1fr}.support-triage-actions p{grid-column:1}}

/* Mobile "Altro" drawer: its own information hierarchy.
   Navigation scrolls independently while identity and archive totals remain
   stable; staff tools collapse so moderators do not get a wall of links. */
.sidebar-section,.sidebar-section-items{display:grid;gap:6px}
.sidebar-section-toggle{display:none}
@media(max-width:780px){
  .sidebar{
    width:min(89vw,360px);height:100dvh;
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
    overflow:hidden;justify-content:flex-start;gap:10px;
    background:linear-gradient(155deg,rgba(23,25,22,.995),rgba(6,8,7,.998) 72%);
  }
  .mobile-sidebar-head{
    position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;gap:10px;flex:none;min-height:58px;padding:7px 7px 11px;
    border-bottom:1px solid #544631;
  }
  .mobile-sidebar-head:after{content:"";position:absolute;right:8px;bottom:-1px;left:8px;height:1px;background:linear-gradient(90deg,var(--icaros-w),var(--icaros-u),var(--icaros-b),var(--icaros-r),var(--icaros-g));opacity:.58}
  .mobile-sidebar-head .account-avatar{width:42px;height:42px;font-size:13px}
  .mobile-sidebar-identity{display:grid;min-width:0;gap:3px}
  .mobile-sidebar-identity b{overflow:hidden;color:var(--text);font:750 13px/1.2 "Manrope",ui-sans-serif,sans-serif;text-overflow:ellipsis;white-space:nowrap}
  .mobile-sidebar-identity small{color:var(--fantasy-gold-pale);font:800 8px/1 "Manrope",ui-sans-serif,sans-serif;letter-spacing:.14em;text-transform:uppercase}
  #mobileSidebarClose{width:40px;height:40px;background:#0b0d0c;border-color:#4f4638;font-size:20px}
  .sidebar nav{display:flex;flex:1;flex-direction:column;min-height:0;gap:12px;padding:2px 3px 8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .sidebar-section{gap:6px}
  .sidebar-section-label{padding:5px 9px 2px;color:#887e6e;font:800 8px/1 "Manrope",ui-sans-serif,sans-serif;letter-spacing:.16em;text-transform:uppercase}
  .sidebar .nav-item{min-height:48px;padding:7px 9px;border-radius:3px 11px 3px 11px}
  .sidebar .nav-item.active:before{left:-3px}
  .sidebar-staff-section{margin-top:3px;padding-top:10px;border-top:1px solid rgba(111,91,65,.45)}
  .sidebar-section-toggle{
    position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
    align-items:center;width:100%;min-height:58px;padding:10px 11px;border:1px solid #4d4538;border-radius:3px 12px 3px 12px;
    background:linear-gradient(145deg,rgba(31,33,29,.96),rgba(12,14,12,.96));color:var(--text);text-align:left;cursor:pointer;
  }
  .sidebar-section-toggle>span{display:flex;align-items:center;gap:9px;min-width:0}.sidebar-section-toggle>span .icon{color:var(--fantasy-gold)}
  .sidebar-section-toggle b{font-size:12px}.sidebar-section-toggle small{grid-column:1;color:var(--muted);font-size:9px;margin:4px 0 0 27px}
  .sidebar-section-toggle>.sidebar-section-chevron{grid-column:2;grid-row:1/-1;transition:transform .2s ease}
  .sidebar-staff-section:not(.is-open) .sidebar-section-items{display:none}
  .sidebar-staff-section.is-open .sidebar-section-items{display:grid;margin-top:4px;animation:mobileSectionReveal .2s ease-out}
  .sidebar-staff-section.is-open .sidebar-section-chevron{transform:rotate(180deg)}
  .sidebar-footer{
    position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;gap:5px;margin-top:0;padding:12px 3px 2px;
    border-top:1px solid #544631;background:linear-gradient(180deg,rgba(15,17,15,.82),rgba(8,10,8,.96));
  }
  .sidebar-footer:before{content:"Archivio Icaro";grid-column:1/-1;margin:0 0 3px;color:#887e6e;font:800 8px/1 "Manrope",ui-sans-serif,sans-serif;letter-spacing:.15em;text-align:left;text-transform:uppercase}
  .sidebar-footer .mini-stat:nth-child(n+2){display:block}
  .sidebar-footer .mini-stat{padding:6px 2px;background:#0a0c0a}
  .sidebar-footer .mini-stat b{font-size:11px}.sidebar-footer .mini-stat span{font-size:7px}
  .sidebar-footer .version{position:absolute;right:5px;top:10px;padding:0;font-size:8px}
}

/* First-run collection path and explicit Analyzer context. */
.onboarding-card{width:min(620px,calc(100vw - 24px))}
.onboarding-paths{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:3px}
.onboarding-path{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:3px 13px 3px 13px;background:linear-gradient(145deg,var(--surface-2),var(--bg-soft));color:var(--text);text-align:left;cursor:pointer}
.onboarding-path:hover{border-color:var(--fantasy-bronze);transform:translateY(-1px)}
.onboarding-path.recommended{border-color:#8d633d;background:linear-gradient(145deg,rgba(151,75,40,.28),rgba(17,18,16,.96))}
.onboarding-path-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #5d4b37;border-radius:3px 11px 3px 11px;color:var(--fantasy-gold)}
.onboarding-path>span:nth-child(2){display:grid;min-width:0;gap:3px}.onboarding-path small,.onboarding-path em{color:var(--muted);font-size:8px;font-style:normal}.onboarding-path small{color:var(--fantasy-gold-pale);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.onboarding-path b{font-size:12px}.onboarding-path>strong{color:var(--fantasy-gold);font-size:18px}
.analysis-deck-context{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:13px;padding:10px 11px;border:1px solid #4d4538;border-radius:3px 12px 3px 12px;background:linear-gradient(145deg,rgba(28,31,27,.95),rgba(10,12,10,.96))}
.analysis-deck-context-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #574b3b;border-radius:3px 10px 3px 10px;color:var(--fantasy-gold)}
.analysis-deck-context>span:nth-child(2){display:grid;min-width:0;gap:2px}.analysis-deck-context small{color:#8f8678;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.analysis-deck-context b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.analysis-deck-context em{overflow:hidden;color:var(--muted);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.analysis-deck-context[data-state="ready"]{border-color:rgba(95,207,143,.36)}.analysis-deck-context[data-state="ready"] .analysis-deck-context-icon{color:var(--fantasy-success)}.analysis-deck-context[data-state="draft"]{border-color:rgba(227,174,90,.38)}
.analysis-empty-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}
@media(max-width:780px){
  .onboarding-card{max-height:calc(var(--app-viewport-height,100dvh) - 20px);overflow-y:auto}.onboarding-paths{grid-template-columns:1fr}.onboarding-path{min-height:70px}
  .analysis-deck-context{grid-template-columns:auto minmax(0,1fr);margin-bottom:10px}.analysis-deck-context .button{grid-column:1/-1;width:100%;min-height:42px}.analysis-deck-context em{white-space:normal;line-height:1.35}
}
