/* Finishing details shared by catalog, account, and mobile views. */
[hidden]{display:none!important}
:focus-visible{outline:2px solid #c084fc;outline-offset:4px}
#app:focus{outline:none}
.skip-link{position:fixed;top:12px;left:16px;z-index:200;padding:12px 18px;border-radius:10px;background:#7c3aed;color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.noscript-notice{position:relative;z-index:3;margin:0;padding:16px;background:#211330;color:#f5f3ff;text-align:center}
body.modal-open{overflow:hidden}
.page,.product-grid>*{min-width:0}
.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-card{display:flex;flex-direction:column;will-change:auto}
.product-card.is-tilting{will-change:transform}
.product-card .description{line-height:1.65}
.catalog-page .product-card .description{font-size:13px;min-height:64px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.product-card .product-footer{margin-top:auto;gap:12px}
.product-card .availability-note{line-height:1.55;overflow-wrap:anywhere}
.catalog-page .availability-note,.product-insights span{font-size:11px}
.product-insights b,.art-index{font-size:11px}
.product-insights span{color:#b6adc5;letter-spacing:0}
.plan-picker{font-size:12px}
.mini-button,.filter,.category-chip,.menu-toggle{min-height:44px}
.menu-toggle{min-width:44px;justify-content:center}
.catalog-page .filter{min-height:44px}
.product-card:focus-within{border-color:rgba(192,132,252,.8);box-shadow:0 0 30px rgba(124,58,237,.22)}
.product-plan-list{margin-top:22px}
.product-plan-list h3{margin:0 0 12px;font-size:14px}
.plan-table{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:rgba(8,7,13,.4)}
.plan-table-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,.65fr) minmax(0,1.2fr);gap:12px;padding:13px 16px;font-size:13px;align-items:center}
.plan-table-row>*{min-width:0;overflow-wrap:anywhere}
.plan-table-row+ .plan-table-row{border-top:1px solid var(--line)}
.plan-table-row span:nth-child(2){font-variant-numeric:tabular-nums;color:#ead7ff}
.plan-table-head{background:rgba(124,58,237,.1);font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.plan-table-head span:nth-child(2){color:var(--muted)}
.modal-backdrop{overscroll-behavior:contain;padding:24px}
.modal{overscroll-behavior:contain;max-height:calc(100dvh - 48px)}
.modal-close{min-width:44px;min-height:44px;z-index:2}
.modal .product-footer{flex-wrap:wrap}
.modal .product-footer .button{max-width:100%}
.inline-faq{scroll-margin-top:100px}
.faq-intro-note{font-size:12px;color:#c3a2ea}
.faq-list summary{min-height:44px;gap:18px;line-height:1.5}
.faq-list summary>span{flex-shrink:0;transition:transform .2s;color:#c084fc}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details[open]{background:linear-gradient(90deg,rgba(124,58,237,.065),transparent)}
.faq-list details p{max-width:65ch;line-height:1.75}
.discord-brand,.discord-wide .discord-brand{margin-bottom:24px}
.discord-card-body .discord-join{position:static;margin-top:24px;display:flex;justify-content:space-between}
.discord-unavailable{margin:22px 0 0;color:var(--muted);font-size:13px}
.discord-channel-strip{flex-wrap:wrap;white-space:normal;row-gap:8px}
.discord-stats{flex-wrap:wrap;gap:22px}
.discord-stats strong{overflow-wrap:anywhere}
.discord-channel-strip .channel-live{color:#c8b5e5}
.account-head{gap:18px;flex-wrap:wrap}
.account-head h3{overflow-wrap:anywhere}
.history-row{align-items:flex-start;gap:20px}
.history-row>div{min-width:0}
.history-row strong,.history-row small{overflow-wrap:anywhere}
.history-row small{display:block;line-height:1.6;margin-top:5px}
.history-row>span{white-space:nowrap;text-align:right}
.account-note{font-size:13px;line-height:1.65;color:var(--muted);margin-top:24px}
.checkout-pending{color:#d4b6ff}
.form-message{line-height:1.6}
.cart-item{gap:16px}
.cart-item>div:not(.small-art){min-width:0}
.cart-item strong{overflow-wrap:anywhere}
.empty-note{gap:14px;flex-wrap:wrap;line-height:1.65}
.hero-shell .eyebrow{display:flex;align-items:center;gap:10px}
.signal-card .catalog-eyebrow-mark{flex:none}
@media(min-width:761px){.summary-box{align-self:start;position:sticky;top:102px}}
@media(max-width:1000px){.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .site-header{height:76px;padding-inline:20px;position:sticky}
  .menu-toggle{display:flex;flex-direction:column;gap:5px}
  .site-nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);padding:12px;border:1px solid rgba(168,85,247,.3);border-radius:14px;background:#100d18;box-shadow:0 20px 55px #0009;flex-direction:column;align-items:stretch;gap:4px}
  .site-nav.open{display:flex}
  .site-nav a{min-height:46px;display:flex;align-items:center;padding:12px 16px}
  .site-nav .nav-cart{justify-content:space-between}
  .account-grid{grid-template-columns:1fr}
  .history-row{gap:12px}
  .form-actions{align-items:stretch;flex-direction:column;gap:18px}
  .form-actions .button{justify-content:center}
  .modal-backdrop{padding:12px}
  .modal{max-height:calc(100dvh - 24px)}
}
@media(max-width:640px){
  .highlight-grid{grid-template-columns:1fr}
  .signal-card strong{font-size:12px}
  .plan-table-row{gap:8px;padding:12px;font-size:12px;grid-template-columns:minmax(0,1fr) 65px minmax(0,1.1fr)}
  .plan-table-head{font-size:10px}
  .product-card .product-footer{flex-wrap:wrap}
  .product-card .mini-button{margin-left:auto}
  .catalog-disclaimer{font-size:12px}
  .catalog-page .filter{font-size:11px}
}
@media(hover:none){.product-card:hover,.review-card:hover,.feature-strip article:hover{transform:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation:none!important;transition:none!important}
  html.js-ready [data-reveal],html.js-ready [data-reveal-group]>*{opacity:1;transform:none;filter:none}
  .product-card,.product-card:hover{transform:none!important}
}

.delivery-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px;max-width:100%}
.delivery-form label{display:grid;gap:8px;flex:1 1 180px;min-width:0;color:var(--muted);font-size:12px}
.delivery-form input{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#120f1b;color:var(--text);font:inherit}
.delivery-form input:focus{outline:2px solid var(--bright);outline-offset:2px}
.history-row>div{min-width:0}.history-row code{overflow-wrap:anywhere;user-select:all;color:var(--bright)}
.delivery-form .form-message{flex-basis:100%}
