@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3-latin.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
:root{--background:#101112;--panel:#141517;--foreground:#f2f2ef;--muted:#c5c8ca;--line:#ffffff1f;--line-strong:#ffffff3d;--crimson:#a12640;--badge:#c8203a;--focus:#ed8a9e;--gutter:clamp(16px,5vw,64px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:#4a4b4d #101112}
body{margin:0;background:var(--background);color:var(--foreground);font-family:'Source Sans 3','Segoe UI',Arial,sans-serif;font-size:1.0625rem;line-height:1.5}
body.cart-locked{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}
main:focus{outline:none}
::selection{background:var(--crimson);color:#fff}
.skip{position:fixed;z-index:200;top:10px;left:10px;padding:10px 20px;background:#fff;color:#111;transform:translateY(-150%)}.skip:focus{transform:none}

/* Header */
.bar{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;gap:32px;padding:0 var(--gutter);background:#101112f2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar-logo img{width:52px;height:auto}
.bar-nav{margin-left:auto;display:flex;gap:32px}
.bar-nav a{font-weight:600;padding:10px 0;color:#d9dbdc;position:relative}
.bar-nav a:hover{color:#fff}
.bar-nav a[aria-current=page]{color:#fff}
.bar-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--crimson)}
.bar-actions{display:flex;align-items:center;gap:16px}
.cart-button{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;cursor:pointer;font-weight:600;transition:border-color .2s,background .2s}
.cart-button:hover{border-color:#fff;background:#ffffff0d}
.cart-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.cart-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--badge);color:#fff;font-size:.75rem;display:inline-grid;place-items:center}
.cart-count[hidden]{display:none}
.cart-count.bump{animation:bump .35s var(--ease)}
.menu-button{display:none}
.mobile-nav[hidden]{display:none}
.mobile-nav{position:sticky;top:72px;z-index:49;background:#101112;padding:8px var(--gutter) 16px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.mobile-nav a{padding:12px 0;font-size:1.375rem}

/* Intro */
main{padding:0 var(--gutter)}
.intro{text-align:center;padding:64px 0 48px}
.intro-logo{width:min(420px,78vw);margin:0 auto;mix-blend-mode:lighten}
.intro h1{margin-top:18px;font-size:clamp(1.75rem,2.8vw,2.25rem);font-weight:600;line-height:1.15}
.intro p{margin-top:6px;color:var(--muted)}
.store-status{text-align:center;color:var(--muted);padding:24px 0 64px}
.store-status[hidden]{display:none}
.store-status a{text-decoration:underline;text-underline-offset:4px}
.store-note{max-width:1180px;margin:56px auto 0;padding:24px 0 72px;border-top:1px solid var(--line);color:#9fa3a6;font-size:.9375rem;text-align:center}

/* Product image + thumbnails */
.media{position:relative;background:radial-gradient(70% 60% at 50% 46%,#3a3b40 0%,#26272b 45%,#161719 100%);overflow:hidden}
.media>img{width:100%;height:100%;object-fit:contain;padding:6% 6% 84px;filter:drop-shadow(0 18px 28px #0009);transition:opacity .25s}
.media>img.is-swapping{opacity:.35}
.thumbs{position:absolute;left:14px;bottom:14px;display:flex;gap:8px}
.thumbs[hidden]{display:none}
.thumbs button{width:56px;height:56px;padding:4px;border:1px solid var(--line-strong);border-radius:4px;background:#101112b3;cursor:pointer;transition:border-color .15s}
.thumbs button:hover{border-color:#ffffff99}
.thumbs button[aria-pressed=true]{border-color:#f2f2ef;box-shadow:inset 0 0 0 1px #f2f2ef}
.thumbs img{width:100%;height:100%;object-fit:contain}

/* Featured */
.featured{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:2px solid var(--crimson);border-radius:6px;overflow:hidden;background:var(--panel)}
.featured .media{min-height:560px;border-right:1px solid var(--line)}
.featured .media>img{position:absolute;inset:0;padding:6% 6% 90px}
.featured-body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center}
.featured h2{font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:600;line-height:1.15}
.copy{margin-top:16px;color:#c8cbcd;font-size:1rem}
.copy p+p,.copy p+ul,.copy ul+p,.copy ul+ul{margin-top:10px}
.copy strong{color:#fff;font-weight:600}
.copy ul{margin:8px 0 0;padding-left:18px}
.copy li+li{margin-top:3px}
.copy li p{margin:0}
.facts{list-style:none;margin:20px 0 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}
.facts li{padding:5px 12px;border-radius:999px;background:#ffffff0f;border:1px solid var(--line);font-size:.875rem;color:#e3e5e6}
.featured .price{margin-top:22px;font-size:1.625rem}

/* Grid */
.grid{max-width:1180px;margin:28px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;justify-content:center}
.grid:empty{display:none}
.grid.count-1{grid-template-columns:minmax(0,380px)}
.grid.count-2{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),380px))}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel)}
.card .media{aspect-ratio:1/1}
.card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.card h3{font-size:1.1875rem;font-weight:600;line-height:1.3}
.card .price{font-size:1.1875rem}
.points{list-style:none;margin:14px 0 0;padding:0;color:#b9bdc0;font-size:.9375rem}
.points li{position:relative;padding-left:16px}
.points li+li{margin-top:3px}
.points li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--crimson)}
.card .buy{margin-top:auto;padding-top:20px}

/* Price */
.price{font-weight:600;white-space:nowrap}
.price s{color:#8e9295;font-weight:400;margin-right:8px;font-size:.85em}

/* Options + buy */
.option{border:0;margin:20px 0 0;padding:0;min-width:0}
.option-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.option legend{float:left;padding:0;font-size:.9375rem;font-weight:600;color:#e3e5e6}
.option legend b{color:var(--muted);font-weight:400;margin-left:6px}
.guide-link{border:0;background:none;padding:0;color:#a9acae;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.guide-link:hover{color:#fff}
.chips{clear:both;display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips span{display:grid;place-items:center;height:40px;border:1px solid var(--line-strong);border-radius:4px;font-size:.875rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}
.chips label:hover span{border-color:#fff}
.chips input:checked+span{background:#f2f2ef;color:#111;border-color:#f2f2ef}
.chips input:disabled+span{color:#5d6064;border-style:dashed;text-decoration:line-through;cursor:not-allowed}
.swatches{clear:both;display:flex;flex-wrap:wrap;gap:12px;padding:4px 0 0 4px}
.swatches label{position:relative;cursor:pointer}
.swatches input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.swatches span{display:block;width:30px;height:30px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #ffffff47;outline:1px solid transparent;outline-offset:3px;transition:outline-color .15s}
.swatches label:hover span{outline-color:#ffffff73}
.swatches input:checked+span{outline-color:#f2f2ef}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;border:1px solid #f2f2ef;border-radius:4px;background:#f2f2ef;color:#111;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.primary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.primary:hover{background:transparent;color:#fff}
.primary:disabled{opacity:.45;cursor:not-allowed}
.primary:disabled:hover{background:#f2f2ef;color:#111}
.buy .primary{margin-top:18px}
.buy-error{margin-top:10px;color:#f0a3b1;font-size:.875rem}
.buy-error:empty{display:none}
.more{margin-top:20px;border-top:1px solid var(--line)}
.more details{border-bottom:1px solid var(--line)}
.more summary{display:flex;justify-content:space-between;align-items:center;padding:12px 0;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:600;color:#c8cbcd}
.more summary::-webkit-details-marker{display:none}
.more summary:after{content:"+";font-size:1.125rem;font-weight:400;color:#9fa3a6}
.more details[open] summary:after{content:"\2212"}
.more summary:hover{color:#fff}
.more .copy{margin:0 0 16px;font-size:.9375rem}

/* Cart drawer */
.cart-backdrop{position:fixed;inset:0;z-index:90;background:#000a;opacity:0;transition:opacity .25s}
.cart-backdrop.is-open{opacity:1}
.cart-backdrop[hidden],.cart[hidden]{display:none}
.cart{position:fixed;z-index:100;top:0;right:0;bottom:0;width:min(440px,100%);display:flex;flex-direction:column;background:#121315;border-left:1px solid var(--line);transform:translateX(100%);transition:transform .3s var(--ease)}
.cart.is-open{transform:none}
.cart-head,.guide-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.cart-head h2,.guide-head h2{font-size:1.25rem;font-weight:600}
.cart-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:none;cursor:pointer}
.cart-close:hover{border-color:var(--line-strong)}
.cart-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.cart-items{flex:1;overflow-y:auto;padding:6px 22px}
.cart-empty{padding:48px 0;text-align:center;color:var(--muted)}
.cart-empty button{margin-top:18px;border:0;background:none;color:#fff;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.line{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.line img{width:76px;height:76px;object-fit:contain;background:#26272b;border-radius:4px}
.line h3{font-size:1rem;font-weight:600;line-height:1.3}
.line-variant{color:#9fa3a6;font-size:.875rem}
.line .price{font-size:1rem;text-align:right}
.line-controls{display:flex;align-items:center;gap:14px;margin-top:10px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:4px}
.stepper button{width:32px;height:32px;border:0;background:none;cursor:pointer;font-size:1.1rem;line-height:1}
.stepper button:hover{background:#ffffff12}
.stepper button:disabled{opacity:.35;cursor:not-allowed}
.stepper output{min-width:28px;text-align:center;font-size:.9375rem}
.remove{border:0;background:none;padding:0;color:#9fa3a6;font-size:.8125rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.remove:hover{color:#fff}
.cart.is-busy .cart-items{opacity:.6;pointer-events:none}
.cart-foot{padding:18px 22px 22px;border-top:1px solid var(--line);background:#101112}
.cart-foot[hidden]{display:none}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.125rem}
.cart-total strong{font-weight:600}
.cart-small{margin-top:4px;color:#9fa3a6;font-size:.8125rem}
.cart-foot .primary{margin-top:16px}
.cart-secure{text-align:center;margin-top:10px}

/* Size guide */
.guide{width:min(640px,calc(100% - 32px));max-height:min(80vh,720px);padding:0;border:1px solid var(--line);background:#121315;color:var(--foreground)}
.guide::backdrop{background:#000b}
.guide-body{padding:18px 22px 24px;overflow:auto;color:#c8cbcd;font-size:.9375rem}
.guide-body table{width:100%;border-collapse:collapse;margin-top:10px}
.guide-body th,.guide-body td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.guide-body th{color:#fff;font-weight:600}

/* Footer */
.footer{background:#0b0c0d;border-top:1px solid var(--line);padding:56px var(--gutter) 28px}
.footer-content,.footer-bottom{max-width:1450px;margin:auto;display:flex;justify-content:space-between;gap:40px}
.footer-heading h2{font-size:1.75rem;font-weight:600}
.discord-links{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center}
.discord-links>a{font-size:1.125rem;font-weight:600;padding:8px 0;text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:6px}
.discord-links>a:hover{text-decoration-color:#fff}
.footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:.9375rem;color:#c5c8ca;align-items:center}
.footer-bottom>a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}

@keyframes bump{40%{transform:scale(1.25)}}

@media(max-width:900px){
  .featured{grid-template-columns:1fr}
  .featured .media{min-height:0;border-right:0;border-bottom:1px solid var(--line);aspect-ratio:1/1}
}
@media(max-width:700px){
  .bar{height:64px;gap:16px}
  .bar-logo img{width:44px}
  .bar-nav{display:none}
  .bar-actions{margin-left:auto}
  .mobile-nav{top:64px}
  .cart-button{height:40px;padding:0 13px}
  .menu-button{display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 0 10px 6px;font-weight:600;cursor:pointer}
  .menu-button span{width:22px;height:10px;border-top:1px solid;border-bottom:1px solid}
  .menu-button[aria-expanded=true] span{height:0;transform:rotate(-45deg)}
  .menu-button[aria-expanded=true] span:after{content:"";display:block;border-top:1px solid;transform:rotate(90deg)}
  .intro{padding:44px 0 32px}
  .featured-body{padding:24px 20px 26px}
  .card-body{padding:20px 18px 22px}
  .footer-content{display:block}
  .discord-links{flex-direction:column;align-items:stretch;gap:0;margin-top:16px}
  .discord-links>a{border-top:1px solid var(--line);padding:14px 0;text-decoration:none}
  .footer-bottom{flex-wrap:wrap;gap:12px}
}
@media(max-width:380px){
  .cart-label{display:none}
  .chips{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}
