/* ==========================================================================
   PenguinSkins: Station Penguin design system
   Polar day for the catalog, polar night for the stage, emperor orange to buy.
   ========================================================================== */

:root {
	--snow: #eef3f7;
	--paper: #ffffff;
	--paper-2: #f6f9fb;
	--line: #d6e0e8;
	--line-2: #b9c8d5;
	--ink: #0a1622;
	--ink-2: #3a4d60;
	--ink-3: #6d8093;
	--night: #06101b;
	--night-2: #0b1a2a;
	--night-3: #132840;
	--night-line: #1f3753;
	--frost: #cfe6f3;
	--frost-2: #8fb3c9;
	--orange: #ff6a13;
	--orange-2: #e65800;
	--yolk: #ffc23d;
	--glacier: #19b3de;
	--glacier-2: #0d8fb5;
	--aurora: #38f0a2;
	--danger: #e5484d;

	--f-disp: "Big Shoulders", "Arial Narrow", Impact, sans-serif;
	--f-stencil: "Big Shoulders Stencil", "Big Shoulders", Impact, sans-serif;
	--f-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--f-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

	--wrap: 1440px;
	--gut: 24px;
	--chip: 12px;
	--hdr: 64px;
	--ease: cubic-bezier(.2, .7, .1, 1);
	--ease-io: cubic-bezier(.65, 0, .35, 1);
	--shadow: 0 1px 0 rgba(10, 22, 34, .04), 0 12px 32px -12px rgba(10, 22, 34, .18);
	--cut: polygon(0 0, calc(100% - var(--chip)) 0, 100% var(--chip), 100% 100%, 0 100%);
	--cut-sm: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
	color-scheme: light;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 120px; }
body {
	margin: 0;
	background: var(--snow);
	color: var(--ink);
	font: 400 15px/1.5 var(--f-body);
	font-variation-settings: "wdth" 100;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
table { border-collapse: collapse; width: 100%; }
kbd {
	display: inline-grid; place-items: center; min-width: 1.6em; height: 1.6em; padding: 0 .35em;
	font: 500 11px/1 var(--f-mono); border: 1px solid currentColor; border-bottom-width: 2px; opacity: .8;
}
::selection { background: var(--orange); color: #fff; }
:focus-visible { outline: 2px solid var(--glacier); outline-offset: 2px; }
.sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; left: 8px; top: -60px; z-index: 999; background: var(--orange); color: #fff; padding: 10px 14px; font-weight: 700; }
.skip:focus { top: 8px; }
.sprite { display: none; }
[hidden] { display: none !important; }
.ic { width: 18px; height: 18px; flex: none; }
.mono { font-family: var(--f-mono); font-feature-settings: "zero" 1; }
.stencil { font-family: var(--f-stencil); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dim { color: var(--ink-3); }
.st { font-style: normal; color: var(--orange); font-weight: 700; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gut); }

/* ---------- buttons ---------- */
.btn {
	--b: var(--ink); --c: #fff; --bd: var(--ink);
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 42px; padding: 0 18px;
	background: var(--b); color: var(--c); border: 1px solid var(--bd);
	font: 700 13px/1 var(--f-body); font-variation-settings: "wdth" 112; letter-spacing: .04em; text-transform: uppercase;
	clip-path: var(--cut-sm);
	transition: background .2s, color .2s, border-color .2s, transform .2s var(--ease);
	white-space: nowrap; cursor: pointer;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn .ic { width: 16px; height: 16px; }
.btn--orange { --b: var(--orange); --bd: var(--orange); }
.btn--orange:hover { --b: var(--orange-2); --bd: var(--orange-2); }
.btn--ink:hover { --b: var(--night-3); }
.btn--ice { --b: transparent; --c: var(--ink); --bd: var(--ink); }
.btn--ice:hover { --b: var(--ink); --c: #fff; }
.btn--glass { --b: rgba(255, 255, 255, .08); --c: #fff; --bd: rgba(207, 230, 243, .35); backdrop-filter: blur(8px); }
.btn--glass:hover { --b: rgba(255, 255, 255, .18); --bd: #fff; }
.btn--line { --b: transparent; --c: currentColor; --bd: currentColor; }
.btn--sm { height: 34px; padding: 0 12px; font-size: 12px; }
.btn--lg { height: 52px; padding: 0 24px; font-size: 14px; }
.btn--block { width: 100%; }
.btn.loading { opacity: .7; pointer-events: none; }
.btn.added::after, .card__buy.added::after { content: "✓"; margin-left: 2px; }

.chip {
	display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px;
	font: 600 11px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .02em;
	border: 1px solid var(--line-2); color: var(--ink-2); background: var(--paper);
}
.chip--orange { background: var(--orange); color: #fff; border-color: var(--orange); }
.chip--ice { background: #e3f5fc; color: var(--glacier-2); border-color: #b5e2f2; }
.chip--ok { background: #e2fbef; color: #0b7a4b; border-color: #a7ecca; }
.chip--wait { background: #fff4e0; color: #9a5b00; border-color: #fbd7a0; }
.chip--off { background: var(--paper-2); color: var(--ink-3); }
.chip--go { background: #e3f5fc; color: var(--glacier-2); border-color: #b5e2f2; }

.tag {
	display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 5px;
	font: 600 10px/1 var(--f-mono); color: var(--ink-2); background: var(--paper-2); border: 1px solid var(--line);
}
.tag--st { color: #fff; background: var(--orange); border-color: var(--orange); }
.tag--cold { color: var(--glacier-2); background: #e3f5fc; border-color: #b5e2f2; }
.tag--cold .ic { width: 12px; height: 12px; }

.rar { display: inline-flex; align-items: center; gap: 6px; font: 600 11px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
:root { --flake: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1.8v20.4M3.2 6.9l17.6 10.2M3.2 17.1l17.6-10.2M8.8 3.6 12 6.2l3.2-2.6M8.8 20.4l3.2-2.6 3.2 2.6M3.4 10.4l3.9-.9-1.2-3.8M20.6 10.4l-3.9-.9 1.2-3.8M3.4 13.6l3.9.9-1.2 3.8M20.6 13.6l-3.9.9 1.2 3.8'/%3E%3C/svg%3E"); }
/* Rarity marker: a snowflake in the rarity colour (was a diamond). */
.rar i { width: 11px; height: 11px; background: var(--rc, var(--ink-3)); -webkit-mask: var(--flake) center / contain no-repeat; mask: var(--flake) center / contain no-repeat; }

/* ---------- price ---------- */
.price { font: 800 26px/1 var(--f-disp); font-variant-numeric: tabular-nums; letter-spacing: .01em; color: var(--ink); white-space: nowrap; }
.price sup { font-size: .55em; vertical-align: .62em; margin-left: 1px; color: var(--ink-3); font-weight: 700; }
.price .eur { font-size: .7em; margin-right: 2px; vertical-align: .2em; }

/* ---------- strip + header ---------- */
.strip { background: var(--night); color: var(--frost-2); font-size: 12px; border-bottom: 1px solid var(--night-line); }
.strip__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 34px; }
.strip__l, .strip__r { display: flex; align-items: center; gap: 14px; white-space: nowrap; overflow: hidden; }
.strip__l .ic { width: 13px; height: 13px; color: var(--yolk); margin-right: -6px; }
.strip__sep { width: 4px; height: 4px; background: var(--night-line); transform: rotate(45deg); }
.strip__r a:hover { color: #fff; }
.strip__code { display: inline-flex; align-items: center; gap: 6px; color: var(--frost); }
.strip__code b { color: var(--yolk); font-weight: 600; letter-spacing: .04em; }
.strip__code .ic { width: 13px; height: 13px; opacity: .7; }

.hdr { position: sticky; top: 0; z-index: 50; background: rgba(11, 26, 42, .96); color: #fff; backdrop-filter: blur(14px) saturate(1.2); }
.hdr__in { display: flex; align-items: center; gap: 20px; height: var(--hdr); }
.hdr__logo { flex: none; display: block; position: relative; }
.hdr__lockup { height: 44px; width: auto; }
.hdr__mark { display: none; width: 40px; height: 40px; }
.hdr__search { min-width: 0;
	flex: 1; max-width: 520px; display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 12px;
	background: var(--night); border: 1px solid var(--night-line); color: var(--frost-2); font-size: 14px; text-align: left;
	transition: border-color .2s, background .2s;
}
.hdr__search:hover { border-color: var(--glacier); background: #071423; }
.hdr__search span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdr__search kbd { color: var(--frost-2); }
.hdr__nav { display: flex; gap: 22px; margin-left: auto; font: 600 14px/1 var(--f-body); font-variation-settings: "wdth" 108; }
.hdr__nav a { color: var(--frost); padding: 8px 0; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.hdr__nav a:hover { color: #fff; border-color: var(--orange); }
.hdr__act { display: flex; align-items: center; gap: 6px; }
.hdr__ico { display: grid; place-items: center; width: 40px; height: 40px; color: var(--frost); border: 1px solid transparent; transition: color .2s, border-color .2s; }
.hdr__ico:hover { color: #fff; border-color: var(--night-line); }
.hdr__ico[aria-pressed="true"] { color: var(--glacier); border-color: var(--glacier); }
.hdr__ico .ic { width: 20px; height: 20px; }
.sled {
	position: relative; display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px 0 12px; margin-left: 4px;
	background: var(--orange); color: #fff; clip-path: var(--cut-sm); transition: background .2s;
}
.sled:hover { background: var(--orange-2); }
.sled .ic { width: 20px; height: 20px; }
.sled__txt { display: grid; line-height: 1.05; }
.sled__l { font: 700 10px/1 var(--f-body); text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.sled__total { font: 600 13px/1.2 var(--f-mono); }
.sled__count {
	display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px;
	background: var(--night); color: #fff; font: 600 11px/1 var(--f-mono);
}
.sled__count[data-count="0"] { background: rgba(6, 16, 27, .35); }
.sled.is-bump { animation: bump .5s var(--ease); }
@keyframes bump { 30% { transform: scale(1.08) rotate(-2deg); } 60% { transform: scale(.97); } }

/* rail + mega */
.rail { background: var(--night); border-top: 1px solid var(--night-line); position: relative; }
.rail__in { display: flex; align-items: stretch; gap: 0; height: 42px; overflow-x: auto; scrollbar-width: none; }
.rail__in::-webkit-scrollbar { display: none; }
.rail__a {
	display: flex; align-items: center; gap: 8px; height: 100%; padding: 0 14px;
	font: 600 13px/1 var(--f-body); font-variation-settings: "wdth" 110; letter-spacing: .02em; color: var(--frost);
	border-bottom: 2px solid transparent; white-space: nowrap; transition: color .15s, border-color .15s, background .15s;
}
.rail__a:hover, .mega:hover > .rail__a, .mega:focus-within > .rail__a { color: #fff; border-color: var(--orange); background: var(--night-2); }
.rail__a .ic { width: 15px; height: 15px; color: var(--glacier); }
.rail__a--cold { color: #9fe3f7; }
.rail__key { min-width: 18px; height: 18px; font-size: 10px; color: var(--frost-2); border-color: var(--night-line); opacity: 1; }
.rail__sep { width: 1px; margin: 10px 8px; background: var(--night-line); flex: none; }
.mega { display: flex; }
.mega__panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
	background: var(--paper); color: var(--ink); border-top: 2px solid var(--orange); box-shadow: 0 30px 60px -20px rgba(6, 16, 27, .45);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s var(--ease), visibility 0s .18s;
}
.mega:hover .mega__panel, .mega:focus-within .mega__panel { opacity: 1; visibility: visible; transform: none; transition-delay: .08s, .08s, 0s; }
.mega__in { display: grid; grid-template-columns: 260px minmax(0, 1fr) 200px; gap: 28px; padding-block: 24px; position: relative; overflow: hidden; }
.mega__lead { display: grid; align-content: start; gap: 10px; }
.mega__k { color: var(--orange); font-size: 13px; }
.mega__t { font: 900 40px/0.9 var(--f-disp); text-transform: uppercase; }
.mega__m { color: var(--ink-3); font-size: 12px; }
.mega__q { display: grid; gap: 2px; margin: 4px 0 8px; }
.mega__q a { display: block; padding: 6px 0; font-size: 14px; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.mega__q a:hover { color: var(--orange); }
.mega__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.mega__agent { position: absolute; right: 0; bottom: -10px; height: 250px; width: auto; object-fit: contain; pointer-events: none; }
.mini { display: grid; gap: 3px; padding: 10px 14px 12px; border-right: 1px solid var(--line); height: 100%; transition: background .15s; }
.mini:hover { background: var(--paper-2); }
.mini__img { display: grid; place-items: center; height: 96px; background: radial-gradient(ellipse at 50% 60%, #fff 0%, #e8f0f6 75%); border-bottom: 2px solid var(--rc); margin-bottom: 6px; }
.mini__img img { max-height: 84px; width: auto; object-fit: contain; }
.mini__w { font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.mini__w .st { font-size: 10px; }
.mini__n { font-weight: 700; font-size: 14px; line-height: 1.2; }
.mini__p { font-size: 13px; color: var(--ink); }
.mini__p em { font-style: normal; color: var(--ink-3); }

/* ---------- section header ---------- */
.sec { padding-block: 56px 0; }
.sh { display: flex; align-items: flex-end; gap: 16px; padding-bottom: 14px; margin-bottom: 0; border-bottom: 2px solid var(--ink); flex-wrap: wrap; }
.sh__code {
	align-self: center; display: inline-grid; place-items: center; min-width: 54px; height: 40px; padding: 0 10px;
	background: var(--ink); color: #fff; font-size: 16px; clip-path: var(--cut-sm);
}
.sh__l { display: grid; gap: 2px; }
.sh__k { font: 700 11px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--orange); }
.sh__t { font: 900 44px/.88 var(--f-disp); text-transform: uppercase; letter-spacing: .005em; }
.sh__m { color: var(--ink-3); font-size: 12px; padding-bottom: 4px; }
.sh__r { margin-left: auto; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.sh__a { display: inline-flex; align-items: center; gap: 6px; font: 700 13px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; padding-bottom: 4px; }
.sh__a .ic { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.sh__a:hover { color: var(--orange); }
.sh__a:hover .ic { transform: translateX(4px); }

.seg { display: inline-flex; border: 1px solid var(--ink); }
.seg button { height: 32px; padding: 0 14px; font: 600 12px/1 var(--f-body); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); transition: background .15s, color .15s; }
.seg button + button { border-left: 1px solid var(--ink); }
.seg button.is-on { background: var(--ink); color: #fff; }
.seg button:not(.is-on):hover { background: var(--paper); color: var(--ink); }
.seg--night { border-color: var(--night-line); }
.seg--night button { color: var(--frost); }
.seg--night button + button { border-color: var(--night-line); }
.seg--night button.is-on { background: var(--orange); color: #fff; }
.seg--night button:not(.is-on):hover { background: var(--night-3); color: #fff; }

/* ---------- grids & cards ---------- */
.grid { --cols: 4; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); border-left: 1px solid var(--line); }
.grid--3 { --cols: 3; }
.grid--5 { --cols: 5; }
.grid--6 { --cols: 6; }
.grid > * { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.card { position: relative; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); min-width: 0; transition: background .2s; }
.card__link { position: absolute; inset: 0; z-index: 1; }
.card:hover { background: #fbfdfe; z-index: 2; box-shadow: 0 0 0 1px var(--ink); }
.card__top { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 10px 12px 0; }
.card__rar { display: inline-flex; align-items: center; gap: 6px; font: 600 10px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; overflow: hidden; }
.card__rar i { flex: none; width: 10px; height: 10px; background: var(--rc); -webkit-mask: var(--flake) center / contain no-repeat; mask: var(--flake) center / contain no-repeat; transition: transform .6s var(--ease); }
.card:hover .card__rar i { transform: rotate(60deg); }
.card__tags { display: flex; gap: 3px; }
.card__media { position: relative; margin: 8px 12px 0; aspect-ratio: 4 / 3; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 62%, #fff 0%, #ecf2f7 70%, #e3ebf2 100%); overflow: hidden; }
.card__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--rc); }
.card.is-cold .card__media { background: radial-gradient(ellipse at 50% 62%, #fff 0%, #e3f4fb 70%, #d4ecf7 100%); }
.card__img { width: 88%; height: 88%; object-fit: contain; transition: transform .45s var(--ease); filter: drop-shadow(0 10px 12px rgba(10, 22, 34, .16)); }
.card:hover .card__img { transform: translateY(-4px) scale(1.06) rotate(-2deg); }
.card__off { position: absolute; left: 0; top: 0; padding: 4px 7px; background: var(--orange); color: #fff; font: 700 11px/1 var(--f-mono); }
.card__qty { position: absolute; right: 6px; top: 6px; font-size: 10px; color: var(--ink-3); }
.card__body { display: grid; gap: 4px; padding: 10px 12px 0; }
.card__w { font: 600 11px/1.2 var(--f-body); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__n { font: 700 16px/1.15 var(--f-body); font-variation-settings: "wdth" 96; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__n em { font-style: normal; color: var(--glacier-2); font-weight: 600; }
.card__meta { display: flex; gap: 10px; font-size: 11px; color: var(--ink-3); }
.card__meta span { display: inline-flex; align-items: center; gap: 3px; }
.card__meta .ic { width: 11px; height: 11px; }
.card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 10px 12px 12px; margin-top: auto; }
.card__price { display: grid; gap: 2px; min-width: 0; }
.card__price .price { font-size: 24px; }
.card__price s { font-size: 11px; color: var(--ink-3); }
.card__buy {
	position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 11px;
	border: 1px solid var(--ink); color: var(--ink); font: 700 11px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase;
	clip-path: var(--cut-sm); transition: background .15s, color .15s, border-color .15s;
}
.card__buy .ic { width: 16px; height: 16px; }
.card__buy:hover, .card:hover .card__buy { background: var(--orange); border-color: var(--orange); color: #fff; }
.card__buy.is-off { color: var(--ink-3); border-color: var(--line-2); }
.card__buy.loading { opacity: .6; }
.card__buy + .added_to_cart, .row__act .added_to_cart, .hero__buy .added_to_cart, .kit .added_to_cart { display: none !important; }
.card.is-sold { opacity: .6; }

/* ice core */
.core { position: relative; height: 12px; margin: 4px 0 2px; }
.core__bar { position: absolute; left: 0; right: 0; top: 4px; height: 4px; display: grid; grid-template-columns: 7fr 8fr 23fr 7fr 55fr; gap: 1px; }
.core__bar i:nth-child(1) { background: #c9f0ff; }
.core__bar i:nth-child(2) { background: #94dbf3; }
.core__bar i:nth-child(3) { background: #5cb6d6; }
.core__bar i:nth-child(4) { background: #3a7fa3; }
.core__bar i:nth-child(5) { background: #1b3a55; }
.core__rng { position: absolute; top: 2px; height: 8px; left: var(--a); right: calc(100% - var(--b)); border: 1px solid rgba(10, 22, 34, .25); }
.core__pin { position: absolute; top: -1px; left: var(--f); width: 2px; height: 14px; margin-left: -1px; background: var(--ink); }
.core__pin::before { content: ""; position: absolute; left: -3px; top: -3px; border: 4px solid transparent; border-top-color: var(--orange); border-bottom: 0; }
.core--lg { height: 54px; margin: 0; }
.core--lg .core__bar { top: 14px; height: 10px; }
.core--lg .core__rng { top: 10px; height: 18px; border-color: rgba(10, 22, 34, .35); }
.core--lg .core__pin { top: 6px; height: 26px; }
.core--lg .core__pin::before { left: -4px; top: -6px; border-width: 6px; border-bottom: 0; }
.core__lbl { position: absolute; left: 0; right: 0; top: 30px; display: grid; grid-template-columns: 7fr 8fr 23fr 7fr 55fr; font: 600 11px/1.1 var(--f-mono); color: var(--ink-3); }
.core__lbl b { display: grid; font-weight: 600; white-space: nowrap; }
.core__lbl em { font: 400 10px/1.2 var(--f-body); font-style: italic; opacity: .8; }
.core__lbl b:nth-child(1) em, .core__lbl b:nth-child(2) em, .core__lbl b:nth-child(4) em { display: none; }
.core__lbl b.on { color: var(--ink); }

/* table */
.tbl-wrap { overflow-x: auto; background: var(--paper); border: 1px solid var(--line); border-top: 0; }
.tbl { font-size: 14px; }
.tbl th { text-align: left; font: 600 10px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); padding: 12px 14px; background: var(--paper-2); border-bottom: 1px solid var(--line); white-space: nowrap; }
.tbl td { padding: 8px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; white-space: nowrap; }
.tbl tr:last-child td { border-bottom: 0; }
.row { transition: background .15s; }
.row:hover { background: #f3f8fb; }
.row__item a { display: flex; align-items: center; gap: 12px; }
.row__img { display: grid; place-items: center; width: 72px; height: 50px; background: radial-gradient(ellipse at 50% 60%, #fff, #e8f0f6); border-bottom: 2px solid var(--rc); flex: none; }
.row__img img { max-height: 44px; width: auto; }
.row__name { display: grid; line-height: 1.2; }
.row__name small { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); }
.row__name b { font-size: 15px; }
.row__item a:hover b { color: var(--orange); }
.row__rar .rar { color: var(--ink-2); font-size: 10px; }
.row__wear, .row__seed, .row__was { font-size: 13px; color: var(--ink-2); }
.row__was s { color: var(--ink-3); }
.row__price b { font-size: 15px; }
.row__act { text-align: right; }

/* ---------- hero ---------- */
.hero { position: relative; background: var(--night); color: #fff; overflow: hidden; isolation: isolate; }
.hero__slides { position: relative; height: clamp(560px, 74vh, 740px); }
.hero__slide { position: absolute; inset: 0; visibility: hidden; }
.hero__slide.is-on, .hero__slide.is-out { visibility: visible; }
.hero__slide.is-on { z-index: 2; }
.hero__slide.is-out { z-index: 1; }
.hero__art { position: absolute; inset: 0; }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.hero__slide.is-on .hero__img { animation: kenburns 12s linear both; }
@keyframes kenburns { from { transform: scale(1.06); } to { transform: scale(1); } }
.hero__art::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(90deg, rgba(6, 16, 27, .94) 0%, rgba(6, 16, 27, .78) 30%, rgba(6, 16, 27, .2) 55%, rgba(6, 16, 27, 0) 70%),
		linear-gradient(0deg, rgba(6, 16, 27, .9) 0%, rgba(6, 16, 27, 0) 34%);
}
.hero__slide.is-in { animation: icewipe 1.05s var(--ease-io) both; }
@keyframes icewipe {
	from { clip-path: polygon(0 0, 0% 0, -3% 8%, 1% 15%, -4% 24%, 0% 33%, -2% 41%, 1% 50%, -3% 58%, 0% 67%, -4% 76%, 1% 84%, -2% 92%, 0% 100%, 0 100%); }
	to { clip-path: polygon(0 0, 110% 0, 106% 8%, 110% 15%, 105% 24%, 109% 33%, 106% 41%, 110% 50%, 105% 58%, 109% 67%, 105% 76%, 110% 84%, 106% 92%, 109% 100%, 0 100%); }
}
.hero__wipe { position: absolute; top: 0; bottom: 0; left: 0; width: 120px; z-index: 3; pointer-events: none; opacity: 0;
	background: linear-gradient(90deg, rgba(207, 230, 243, 0), rgba(207, 230, 243, .55) 60%, rgba(255, 255, 255, .9) 78%, rgba(207, 230, 243, 0));
	filter: blur(6px); mix-blend-mode: screen; }
.hero.is-wiping .hero__wipe { animation: wipeband 1.05s var(--ease-io) both; }
@keyframes wipeband { 0% { opacity: 0; transform: translateX(-140px); } 10% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; transform: translateX(calc(100vw + 40px)); } }
.hero__in { position: relative; height: 100%; display: flex; align-items: center; padding-bottom: 96px; }
.hero__copy { width: min(560px, 100%); display: grid; gap: 14px; }
.hero__k { display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--yolk); }
.hero__k .stencil { color: var(--night); background: var(--yolk); padding: 4px 7px; letter-spacing: .06em; font-size: 13px; }
.hero__t { font: 900 clamp(48px, 6.4vw, 92px)/.84 var(--f-disp); text-transform: uppercase; letter-spacing: -.005em; text-wrap: balance; }
.hero__slide.is-on .hero__t { animation: rise .8s .25s var(--ease) both; }
.hero__slide.is-on .hero__item, .hero__slide.is-on .hero__spec, .hero__slide.is-on .core, .hero__slide.is-on .hero__buy { animation: rise .7s .4s var(--ease) both; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
.hero__item { font: 600 16px/1.3 var(--f-body); color: var(--frost); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hero__item .rar { color: #fff; }
.hero__spec { display: flex; gap: 0; border: 1px solid rgba(207, 230, 243, .25); width: max-content; max-width: 100%; background: rgba(6, 16, 27, .35); backdrop-filter: blur(6px); }
.hero__spec div { padding: 8px 14px; border-right: 1px solid rgba(207, 230, 243, .2); }
.hero__spec div:last-child { border-right: 0; }
.hero__spec dt { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--frost-2); }
.hero__spec dd { font-size: 14px; color: #fff; }
.hero .core { max-width: 420px; }
.hero .core__pin { background: #fff; }
.hero .core__rng { border-color: rgba(255, 255, 255, .5); }
.hero__buy { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.hero__price { display: grid; margin-right: 10px; }
.hero__price .price { color: #fff; font-size: 48px; }
.hero__price .price sup { color: var(--frost-2); }
.hero__price s { color: var(--frost-2); font-size: 13px; }
.hero__rail { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; background: linear-gradient(0deg, rgba(6, 16, 27, .92), rgba(6, 16, 27, .6)); border-top: 1px solid rgba(207, 230, 243, .14); backdrop-filter: blur(8px); }
.hero__tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hero__tab { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 12px 12px 14px; text-align: left; color: var(--frost-2); border-right: 1px solid rgba(207, 230, 243, .1); transition: background .2s, color .2s; }
.hero__tab:first-child { border-left: 1px solid rgba(207, 230, 243, .1); }
.hero__tab img { grid-row: span 2; width: 52px; height: 40px; object-fit: contain; }
.hero__tab span { display: grid; line-height: 1.15; min-width: 0; }
.hero__tab small { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero__tab b { font-size: 13px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero__tab em { font-style: normal; font-size: 12px; }
.hero__tab:hover, .hero__tab.is-on { background: rgba(255, 255, 255, .06); color: var(--frost); }
.hero__prog { position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--orange); }
.hero__tab.is-on .hero__prog { animation: prog var(--dur, 7s) linear both; }
.hero.is-paused .hero__tab.is-on .hero__prog { animation-play-state: paused; }
@keyframes prog { to { width: 100%; } }

/* ---------- station board ---------- */
.board { background: var(--night-2); color: #fff; border-bottom: 1px solid var(--night-line); }
.board__in { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.board__k { display: grid; align-content: center; gap: 6px; font-size: 20px; color: var(--yolk); padding-right: 16px; border-right: 1px solid var(--night-line); line-height: .95; }
.board__k .mono { font-size: 10px; color: var(--frost-2); letter-spacing: 0; text-transform: none; font-weight: 400; }
.board__cells { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); }
.cell { display: grid; gap: 4px; align-content: start; padding: 16px 14px; border-right: 1px solid var(--night-line); min-width: 0; transition: background .2s; }
a.cell:hover { background: var(--night-3); }
.cell small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--frost-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cell b { font: 800 30px/1 var(--f-disp); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cell b sup { font-size: .55em; vertical-align: .6em; color: var(--frost-2); }
.cell b .eur { font-size: .7em; }
.cell span { font-size: 11px; color: var(--frost-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cell--orange b { color: var(--orange); }
.cell--ice b { color: #7fdcf6; }

/* ---------- shelves ---------- */
.shelves { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.shelf { position: relative; display: grid; gap: 4px; padding: 12px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; transition: background .2s; }
.shelf::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.shelf:hover { background: #fbfdfe; }
.shelf:hover::before { transform: none; }
.shelf__k { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--ink-3); }
.shelf__k kbd { min-width: 18px; height: 18px; font-size: 10px; }
.shelf img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; transition: transform .4s var(--ease); }
.shelf:hover img { transform: scale(1.06) rotate(-3deg); }
.shelf__n { font: 900 26px/.9 var(--f-disp); text-transform: uppercase; }
.shelf__m { font-size: 11px; color: var(--ink-3); }

/* ---------- feature (tile + grid) ---------- */
.feat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.feat--rev { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.feat__panels { min-width: 0; }
.feat__tile {
	position: relative; display: flex; align-items: flex-end; min-height: 420px; overflow: hidden; color: #fff;
	background: var(--night-2) var(--art) center / cover no-repeat; isolation: isolate;
}
.feat__tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .92) 10%, rgba(6, 16, 27, .2) 60%, rgba(6, 16, 27, .1)); }
.feat__agent { position: absolute; right: -6%; bottom: 0; height: min(78%, 470px); width: auto; max-width: none; z-index: -1; object-fit: contain; object-position: bottom; transition: transform .6s var(--ease); filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .5)); }
.feat__tile:hover .feat__agent { transform: translateY(-8px) scale(1.02); }
.feat__txt { position: relative; display: grid; gap: 8px; padding: 22px; max-width: 70%; }
.feat__txt small { color: var(--yolk); font-size: 13px; }
.feat__txt b { font: 900 30px/.92 var(--f-disp); text-transform: uppercase; }
.feat__txt em { font-style: normal; font-size: 12px; color: var(--frost); }
.feat .grid { border-left: 0; }
.feat--rev .grid { border-left: 1px solid var(--line); }

/* ---------- bands ---------- */
.band { position: relative; margin-top: 64px; padding-block: 56px; isolation: isolate; }
.band--snow { background: #e7f0f6 var(--art) center / cover; }
.band--snow::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(238, 243, 247, .55), rgba(238, 243, 247, .82)); }
.band--snow::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 24px; z-index: -1; background: linear-gradient(var(--snow), rgba(238, 243, 247, 0)); }
.band .sh { border-color: var(--ink); }
.band .sh__code { background: var(--glacier-2); font-family: var(--f-body); font-size: 20px; }

/* ---------- coupon + notes ---------- */
.notes { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--ink); padding: 0; margin-top: 56px; }
.coupon, .note { position: relative; isolation: isolate; color: #fff; padding: 26px; min-height: 260px; background: var(--night-2) var(--art) center / cover; overflow: hidden; }
.note + .note, .coupon + .note { border-left: 1px solid var(--ink); }
.coupon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 260px); gap: 24px; align-items: center; }
.coupon::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 22, 34, .55), rgba(10, 22, 34, .15)); }
.coupon__k { font-size: 15px; color: var(--yolk); }
.coupon__v { font: 900 104px/.8 var(--f-disp); letter-spacing: -.02em; text-shadow: 0 4px 30px rgba(255, 106, 19, .45); }
.coupon__d { max-width: 300px; color: var(--frost); font-size: 14px; margin-top: 10px; }
.coupon__r { display: grid; gap: 10px; justify-items: stretch; }
.coupon__r .btn--ink { background: var(--night); }
.scratch { position: relative; height: 92px; background: #fff; display: grid; place-items: center; clip-path: var(--cut); user-select: none; }
.scratch__code { font-size: 26px; font-weight: 600; color: var(--ink); letter-spacing: .08em; }
.scratch__frost { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.scratch__hint { position: absolute; inset: auto 0 8px; display: flex; justify-content: center; align-items: center; gap: 6px; font: 600 11px/1 var(--f-body); text-transform: uppercase; letter-spacing: .1em; color: var(--ink-2); pointer-events: none; transition: opacity .3s; }
.scratch__hint .ic { width: 14px; height: 14px; }
.scratch.is-clear .scratch__hint { opacity: 0; }
.shard { position: fixed; z-index: 90; width: 14px; height: 14px; background: linear-gradient(135deg, #fff, #bfe8f7); clip-path: polygon(50% 0, 100% 60%, 30% 100%, 0 40%); pointer-events: none; }
.coupon.is-cracked .scratch { animation: crack .5s var(--ease); }
@keyframes crack { 20% { transform: translateX(-3px) rotate(-.6deg); } 40% { transform: translateX(3px) rotate(.6deg); } 60% { transform: translateX(-2px); } }
.note { display: grid; align-content: space-between; gap: 18px; }
.note::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(6, 16, 27, .55); transition: background .3s; }
.note:hover::before { background: rgba(6, 16, 27, .4); }
.note__k { font-size: 18px; color: var(--yolk); }
.note__steps { display: grid; gap: 10px; counter-reset: s; }
.note__steps li { display: flex; gap: 12px; align-items: center; font-size: 15px; font-weight: 600; }
.note__steps b { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border: 1px solid var(--frost); font: 600 13px/1 var(--f-mono); }
.note__a { display: inline-flex; align-items: center; gap: 6px; font: 700 12px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; }
.note__a .ic { width: 16px; height: 16px; transition: transform .2s; }
.note:hover .note__a .ic { transform: translateX(4px); }
.tiers { display: grid; gap: 0; border: 1px solid rgba(207, 230, 243, .3); }
.tiers li { display: flex; justify-content: space-between; padding: 8px 12px; border-bottom: 1px solid rgba(207, 230, 243, .2); font-weight: 600; }
.tiers li:last-child { border-bottom: 0; color: var(--yolk); }
.tiers span { font-family: var(--f-mono); font-weight: 500; }

/* ---------- breaker ---------- */
.breaker { position: relative; margin-top: 64px; min-height: 440px; display: flex; align-items: center; color: #fff; background: var(--night) var(--art) 70% 50% / cover no-repeat; isolation: isolate; overflow: hidden; }
.breaker::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .9) 0%, rgba(6, 16, 27, .5) 40%, rgba(6, 16, 27, 0) 65%); }
.breaker__in { display: grid; gap: 14px; justify-items: start; }
.breaker__k { color: var(--glacier); font-size: 16px; }
.breaker__t { font: 900 clamp(40px, 5vw, 72px)/.86 var(--f-disp); text-transform: uppercase; max-width: 620px; }
.breaker__item { color: var(--frost); }
.breaker__buy { display: flex; align-items: center; gap: 18px; }
.breaker .price { color: #fff; font-size: 44px; }
.breaker .price sup { color: var(--frost-2); }

/* ---------- price thaw + peek ---------- */
.thaw__box { position: relative; padding-top: 136px; }
.peek { position: absolute; right: 120px; top: 0; width: 210px; height: 136px; overflow: hidden; pointer-events: none; }
.peek__hole { position: absolute; left: 10px; right: 10px; bottom: -14px; height: 30px; border-radius: 50%; background: radial-gradient(ellipse at 50% 40%, #031a2c 0%, #0a3a5a 55%, #9ad6ee 72%, #fff 80%); box-shadow: 0 0 0 3px #fff; z-index: 2; }
.peek__agent { position: absolute; left: 50%; bottom: 0; width: 170px; height: auto; transform: translate(-50%, 105%); transition: transform .45s var(--ease); z-index: 1; }
.peek.is-up .peek__agent { transform: translate(-50%, 34%); }
.peek.is-hit .peek__agent { transform: translate(-50%, 110%) rotate(12deg); transition-duration: .25s; }
.peek__ball { position: absolute; left: 0; top: 64px; z-index: 3; display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px; border: 1px dashed var(--ink-2); font: 700 12px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); background: var(--paper); transition: border-color .2s, color .2s; }
.peek__ball::before { content: ""; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #cfe6f3 60%, #8fb3c9); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.peek__ball:hover { border-color: var(--orange); color: var(--orange); }
.ball { position: fixed; z-index: 95; width: 22px; height: 22px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 35% 35%, #fff, #e3f2fa 55%, #9fc3d8); box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }
.splat { position: fixed; z-index: 95; width: 70px; height: 70px; margin: -35px 0 0 -35px; pointer-events: none; background: radial-gradient(circle, #fff 0 22%, rgba(255, 255, 255, .9) 23% 34%, transparent 35%), conic-gradient(from 10deg, #fff 0 4%, transparent 4% 12%, #fff 12% 15%, transparent 15% 30%, #fff 30% 33%, transparent 33% 47%, #fff 47% 52%, transparent 52% 66%, #fff 66% 69%, transparent 69% 84%, #fff 84% 88%, transparent 88%); border-radius: 50%; animation: splat .7s var(--ease) forwards; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25)); }
@keyframes splat { from { transform: scale(.3); opacity: 1; } 70% { opacity: 1; } to { transform: scale(1.1); opacity: 0; } }
.hitmark { position: fixed; z-index: 96; width: 26px; height: 26px; margin: -13px 0 0 -13px; pointer-events: none; animation: hit .5s ease-out forwards; }
.hitmark::before, .hitmark::after { content: ""; position: absolute; left: 50%; top: 0; width: 2px; height: 100%; background: #fff; box-shadow: 0 0 0 1px var(--ink); transform: rotate(45deg); }
.hitmark::after { transform: rotate(-45deg); }
@keyframes hit { from { transform: scale(1.4); opacity: 1; } to { transform: scale(.9); opacity: 0; } }

/* ---------- kits ---------- */
.kits { margin-top: 72px; padding-top: 48px; background: var(--night); color: #fff; }
.kits .sh { border-color: var(--frost); }
.kits .sh__code { background: var(--orange); }
.kits .sh__m { color: var(--frost-2); }
.kit__stage { position: relative; margin-top: 0; background: var(--night) var(--art) center / cover no-repeat; isolation: isolate; }
.kit__stage::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .65), rgba(6, 16, 27, .05) 35%, rgba(6, 16, 27, .05) 65%, rgba(6, 16, 27, .65)), linear-gradient(0deg, rgba(6, 16, 27, .85), rgba(6, 16, 27, 0) 40%); }
.kit__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr); gap: 0; min-height: 640px; align-items: stretch; padding-block: 32px; }
.kit__side { display: grid; grid-template-rows: 1fr 1fr; gap: 16px; align-content: center; }
.kit__side .card { border: 1px solid var(--line); max-width: 300px; width: 100%; justify-self: center; background: rgba(255, 255, 255, .96); }
.kit__mid { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; min-height: 560px; }
.kit__agent { position: absolute; left: 50%; bottom: 150px; transform: translateX(-50%); height: 78%; width: auto; max-width: none; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .55)); pointer-events: none; }
.kit__info { position: relative; display: grid; gap: 8px; justify-items: center; text-align: center; padding: 18px 20px; background: rgba(6, 16, 27, .78); border: 1px solid var(--night-line); backdrop-filter: blur(10px); width: min(420px, 100%); }
.kit__who { font-size: 11px; color: var(--frost-2); }
.kit__n { font: 900 38px/.9 var(--f-disp); text-transform: uppercase; }
.kit__l { color: var(--frost); font-size: 14px; }
.kit__total { display: flex; align-items: baseline; gap: 10px; }
.kit__total .mono { font-size: 11px; color: var(--frost-2); text-transform: uppercase; }
.kit__total .price { color: #fff; font-size: 36px; }
.kit__total .price sup { color: var(--frost-2); }

/* ---------- promo banner ---------- */
.promo { position: relative; display: flex; align-items: center; min-height: 300px; margin-top: 0; background: var(--night) var(--art) 60% 50% / cover no-repeat; color: #fff; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--line); }
.promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .9), rgba(6, 16, 27, .2) 55%, rgba(6, 16, 27, 0)); transition: opacity .3s; }
.promo__txt { display: grid; gap: 8px; padding: 32px; max-width: 460px; }
.promo__txt small { color: var(--glacier); font-size: 14px; }
.promo__txt b { font: 900 44px/.9 var(--f-disp); text-transform: uppercase; }
.promo__txt em { font-style: normal; color: var(--frost); }
.promo .price { color: #fff; font-size: 38px; }
.promo .price sup { color: var(--frost-2); }
.promo + .grid { border-top: 0; }

/* ---------- collections ---------- */
.cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.colx { display: grid; gap: 4px; padding: 14px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s; }
.colx:hover { background: #fbfdfe; }
.colx__imgs { display: flex; height: 96px; align-items: center; justify-content: center; margin-bottom: 6px; background: radial-gradient(ellipse at 50% 60%, #fff, #e9f0f5); }
.colx__imgs img { width: 34%; height: auto; object-fit: contain; margin-inline: -4%; transition: transform .4s var(--ease); }
.colx__imgs img:nth-child(2) { transform: translateY(-8px) scale(1.12); z-index: 1; }
.colx:hover .colx__imgs img:nth-child(1) { transform: translateX(-8px) rotate(-6deg); }
.colx:hover .colx__imgs img:nth-child(3) { transform: translateX(8px) rotate(6deg); }
.colx__n { font-weight: 700; font-size: 15px; }
.colx__m { font-size: 11px; color: var(--ink-3); }

/* ---------- policy ---------- */
.policy { margin-top: 64px; background: var(--paper); border-block: 1px solid var(--line); }
.policy__in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.policy__in > div { display: grid; grid-template-columns: 28px 1fr; column-gap: 12px; padding: 22px 18px; border-right: 1px solid var(--line); }
.policy__in > div:first-child { border-left: 1px solid var(--line); }
.policy .ic { grid-row: span 2; width: 26px; height: 26px; color: var(--glacier-2); }
.policy b { font-size: 15px; }
.policy span { font-size: 13px; color: var(--ink-3); }

/* ---------- posts ---------- */
.posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.post { display: grid; grid-template-rows: auto 1fr; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.post__img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--night-2); }
.post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.post:hover .post__img img { transform: scale(1.04); }
.post__b { display: grid; gap: 8px; align-content: start; padding: 16px; }
.post__m { font-size: 11px; color: var(--ink-3); }
.post__t { font: 800 24px/1 var(--f-disp); text-transform: uppercase; }
.post:hover .post__t { color: var(--orange); }
.post__e { font-size: 14px; color: var(--ink-2); }

/* ---------- footer ---------- */
.ftr { position: relative; margin-top: 110px; padding-top: 70px; background: var(--night) var(--art) center top / cover; color: var(--frost); isolation: isolate; }
.ftr::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6, 16, 27, .55), rgba(6, 16, 27, .95) 60%); }
.ftr__icicles { position: absolute; left: 0; right: 0; top: -2px; height: 96px; z-index: 2; display: flex; overflow: hidden; pointer-events: none; }
.icicle { flex: none; height: 100%; background-image: var(--icicles); background-size: auto 100%; background-repeat: repeat-x; pointer-events: auto; cursor: pointer; transform-origin: top center; }
.icicle.is-fall { animation: fall 1s cubic-bezier(.5, 0, .9, .4) forwards; }
.icicle.is-grow { animation: grow 2.4s var(--ease) both; }
@keyframes fall { to { transform: translateY(260px) rotate(var(--r, 8deg)); opacity: 0; } }
@keyframes grow { from { transform: scaleY(0); } }
.ftr__top { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding-block: 40px 36px; }
.ftr__brand { display: grid; gap: 16px; align-content: start; }
.ftr__brand > img { width: 240px; }
.ftr__brand > p { max-width: 460px; font-size: 14px; color: var(--frost-2); }
.signal { display: grid; gap: 8px; max-width: 460px; }
.signal label { font-size: 12px; color: var(--frost); }
.signal__row { display: flex; }
.signal input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; background: rgba(6, 16, 27, .7); border: 1px solid var(--night-line); color: #fff; }
.signal input:focus { border-color: var(--glacier); outline: 0; }
.signal .btn { height: 44px; }
.signal__msg { font-size: 13px; }
.signal__msg.ok { color: var(--aurora); }
.signal__msg.err { color: #ff9b9b; }
.ftr__col { display: grid; align-content: start; gap: 2px; }
.ftr__h { font: 900 22px/1 var(--f-disp); text-transform: uppercase; color: #fff; margin-bottom: 10px; }
.ftr__col a, .ftr__egg { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: 14px; color: var(--frost-2); border-bottom: 1px solid rgba(31, 55, 83, .6); text-align: left; transition: color .15s, padding .2s; }
.ftr__col a:hover, .ftr__egg:hover { color: #fff; padding-left: 4px; }
.ftr__col a .mono { font-size: 11px; color: var(--frost-2); opacity: .55; }
.ftr__egg kbd { font-size: 10px; }
.ftr__pay { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-block: 18px; border-top: 1px solid var(--night-line); font-size: 12px; }
.ftr__pay b { padding: 6px 10px; border: 1px solid var(--night-line); color: var(--frost); font-weight: 700; font-size: 11px; letter-spacing: .04em; }
.ftr__hint { margin-left: auto; color: var(--frost-2); font-size: 11px; }
.ftr__hint kbd { color: var(--yolk); }
.ftr__legal { display: flex; justify-content: space-between; gap: 24px; padding-block: 18px 28px; border-top: 1px solid var(--night-line); font-size: 12px; color: var(--frost-2); }
.ftr__legal p:first-child { max-width: 760px; }

/* ---------- minibar ---------- */
.minibar { position: fixed; left: 50%; bottom: 18px; z-index: 45; display: flex; align-items: center; gap: 18px; padding: 8px 8px 8px 12px; background: var(--night); color: #fff; border: 1px solid var(--night-line); box-shadow: 0 20px 40px -10px rgba(6, 16, 27, .6); transform: translate(-50%, 140%); transition: transform .45s var(--ease); clip-path: var(--cut); }
.minibar.is-on { transform: translate(-50%, 0); }
.minibar__in { display: flex; align-items: center; gap: 12px; }
.minibar__thumbs { display: flex; }
.minibar__thumbs img { width: 42px; height: 32px; object-fit: contain; background: var(--night-3); border: 1px solid var(--night-line); margin-left: -8px; }
.minibar__thumbs img:first-child { margin-left: 0; }
.minibar__txt { display: grid; line-height: 1.2; }
.minibar__txt b { font-size: 13px; }
.minibar__txt .sled__total { color: var(--yolk); }
.minibar__go { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; background: var(--orange); font: 700 12px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; }
.minibar__go .ic { width: 15px; height: 15px; }

/* ---------- palette ---------- */
.pal { padding: 0; border: 0; background: transparent; width: min(680px, calc(100vw - 32px)); max-height: 80vh; margin: 10vh auto auto; color: var(--ink); overflow: visible; }
.pal::backdrop { background: rgba(6, 16, 27, .6); backdrop-filter: blur(4px); }
.pal__box { background: var(--paper); border: 1px solid var(--ink); box-shadow: 0 40px 80px -20px rgba(6, 16, 27, .6); clip-path: var(--cut); }
.pal__in { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--line); }
.pal__in .ic { width: 20px; height: 20px; color: var(--ink-3); }
.pal__in input { flex: 1; height: 58px; border: 0; outline: 0; font-size: 18px; background: transparent; }
.pal__in kbd { color: var(--ink-3); }
.pal__res { max-height: 56vh; overflow-y: auto; }
.pal__g { padding: 10px 16px 4px; font: 600 10px/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.pal__it { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 8px 16px; border-left: 3px solid transparent; }
.pal__it img { width: 56px; height: 40px; object-fit: contain; background: radial-gradient(ellipse, #fff, #eaf1f6); }
.pal__it b { display: block; font-size: 14px; }
.pal__it small { font-size: 11px; color: var(--ink-3); }
.pal__it span.mono { font-size: 14px; font-weight: 600; }
.pal__it.is-on { background: #f0f7fb; border-left-color: var(--orange); }
.pal__it--page { grid-template-columns: 24px 1fr; }
.pal__it--page .ic { color: var(--glacier-2); }
.pal__empty { padding: 30px 16px; text-align: center; color: var(--ink-3); }
.pal__foot { display: flex; gap: 16px; padding: 10px 16px; border-top: 1px solid var(--line); font-size: 11px; color: var(--ink-3); flex-wrap: wrap; }

/* ---------- console ---------- */
.console { position: fixed; left: 0; right: 0; top: 0; z-index: 120; height: 46vh; display: grid; grid-template-rows: auto 1fr auto; background: rgba(6, 16, 27, .94); color: #bfefff; border-bottom: 2px solid var(--glacier); backdrop-filter: blur(6px); font-size: 13px; animation: drop .25s var(--ease); }
@keyframes drop { from { transform: translateY(-100%); } }
.console__bar { display: flex; justify-content: space-between; padding: 6px 14px; background: var(--night-3); color: var(--frost-2); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.console__bar button { font-size: 18px; line-height: 1; color: var(--frost); }
.console__log { overflow-y: auto; padding: 10px 14px; display: grid; align-content: start; gap: 2px; }
.console__log b { color: var(--yolk); font-weight: 600; }
.console__log .err { color: #ff9b9b; }
.console__log .ok { color: var(--aurora); }
.console__in { display: flex; align-items: center; gap: 8px; padding: 8px 14px 12px; border-top: 1px solid var(--night-line); }
.console__in input { flex: 1; background: transparent; border: 0; outline: 0; color: #fff; font: inherit; }

/* ---------- bomb ---------- */
.bomb { position: fixed; inset: 0; z-index: 130; display: grid; place-items: center; background: rgba(6, 16, 27, .7); backdrop-filter: blur(3px); }
.bomb[hidden] { display: none; }
.bomb__box { width: min(420px, calc(100vw - 32px)); display: grid; gap: 12px; justify-items: center; padding: 28px; background: var(--night-2); border: 1px solid var(--danger); color: #fff; text-align: center; clip-path: var(--cut); box-shadow: 0 0 80px rgba(229, 72, 77, .35); }
.bomb__k { color: var(--danger); font-size: 22px; }
.bomb__t { font-size: 64px; font-weight: 600; color: #ff8a8d; text-shadow: 0 0 20px rgba(229, 72, 77, .6); }
.bomb.is-beep .bomb__t { color: #fff; }
.bomb__bar { width: 100%; height: 8px; background: var(--night-3); }
.bomb__bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--glacier), #fff); }
.bomb__h { color: var(--frost); font-size: 14px; }
.bomb__hold { --b: transparent; --c: #fff; --bd: var(--glacier); }

/* ---------- frost overlay + snow ---------- */
.frost { position: fixed; inset: 0; z-index: 110; pointer-events: none; opacity: 0; background: var(--art) center / cover; mix-blend-mode: screen;
	-webkit-mask: radial-gradient(ellipse at center, transparent 30%, #000 75%); mask: radial-gradient(ellipse at center, transparent 30%, #000 75%);
	transition: opacity 1.6s ease; }
.frost.is-on { opacity: .9; }
.frost.is-full { -webkit-mask: none; mask: none; opacity: .85; }
.snow { position: fixed; inset: 0; z-index: 70; pointer-events: none; width: 100vw; height: 100vh; }
body.is-frozen main, body.is-frozen .hdr { filter: saturate(.4) brightness(1.05) hue-rotate(-8deg); pointer-events: none; }
.freeze-timer { position: fixed; left: 50%; top: 40%; z-index: 115; transform: translate(-50%, -50%); font: 900 120px/1 var(--f-disp); color: #fff; text-shadow: 0 0 30px var(--glacier); pointer-events: none; }
body.is-floaty .card { animation: floaty 3s ease-in-out infinite alternate; }
body.is-floaty .card:nth-child(2n) { animation-delay: -1.5s; }
@keyframes floaty { to { transform: translateY(-14px) rotate(.6deg); } }
.slider-peng { position: fixed; top: calc(var(--hdr) - 40px); left: -220px; z-index: 80; width: 200px; pointer-events: none; animation: slide 2.6s linear forwards; }
@keyframes slide { to { transform: translateX(calc(100vw + 260px)); } }
.rank { position: fixed; left: 50%; top: 30%; z-index: 120; transform: translate(-50%, -50%); padding: 22px 30px; background: var(--night); color: #fff; border: 2px solid var(--yolk); text-align: center; animation: pop .5s var(--ease) both; clip-path: var(--cut); }
.rank small { display: block; font-size: 11px; color: var(--frost-2); text-transform: uppercase; letter-spacing: .14em; }
.rank b { font: 900 42px/1 var(--f-disp); text-transform: uppercase; color: var(--yolk); }
@keyframes pop { from { transform: translate(-50%, -40%) scale(.8); opacity: 0; } }

/* ---------- toasts ---------- */
.toasts { position: fixed; left: 18px; bottom: 18px; z-index: 140; display: grid; gap: 8px; width: min(380px, calc(100vw - 36px)); }
.toast { display: grid; grid-template-columns: 22px 1fr auto; gap: 10px; align-items: start; padding: 12px 14px; background: var(--night); color: #fff; border-left: 3px solid var(--glacier); box-shadow: 0 16px 30px -10px rgba(6, 16, 27, .5); font-size: 14px; animation: tin .35s var(--ease) both; }
.toast.is-out { animation: tout .3s ease forwards; }
.toast .ic { width: 20px; height: 20px; color: var(--glacier); }
.toast b { color: var(--yolk); font-family: var(--f-mono); }
.toast--ok { border-color: var(--aurora); }
.toast--ok .ic { color: var(--aurora); }
.toast--warn { border-color: var(--orange); }
.toast--warn .ic { color: var(--orange); }
.toast button { color: var(--frost-2); font-size: 18px; line-height: 1; }
@keyframes tin { from { opacity: 0; transform: translateY(12px); } }
@keyframes tout { to { opacity: 0; transform: translateX(-20px); } }

/* ---------- reveal ---------- */


/* ==========================================================================
   Market (archive)
   ========================================================================== */
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 11px; color: var(--ink-3); padding-block: 16px; }
.crumbs a:hover { color: var(--orange); }
.crumbs b { color: var(--ink); font-weight: 500; }
.catx { position: relative; color: #fff; background: var(--night-2) var(--art) center / cover no-repeat; isolation: isolate; overflow: hidden; }
.catx::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .92) 0%, rgba(6, 16, 27, .7) 40%, rgba(6, 16, 27, .15) 75%); }
.catx__in { position: relative; min-height: 300px; display: grid; align-content: start; padding-bottom: 36px; }
.catx .crumbs { color: var(--frost-2); }
.catx .crumbs b { color: #fff; }
.catx__copy { display: grid; gap: 10px; max-width: 620px; position: relative; z-index: 1; }
.catx__k { display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--yolk); }
.catx__k .stencil { background: var(--yolk); color: var(--night); padding: 4px 8px; font-size: 14px; letter-spacing: .04em; }
.catx__t { font: 900 clamp(48px, 7vw, 96px)/.84 var(--f-disp); text-transform: uppercase; }
.catx__d { color: var(--frost); max-width: 520px; }
.catx__m { font-size: 12px; color: var(--frost-2); }
.catx__m b { color: #fff; font-size: 14px; }
.catx__agent { position: absolute; right: var(--gut); bottom: 0; height: 290px; width: auto; max-width: 46%; object-fit: contain; object-position: bottom right; filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .5)); }

.cattabs { background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: calc(var(--hdr) + 42px); z-index: 30; }
.cattabs__in { display: flex; overflow-x: auto; scrollbar-width: none; }
.cattabs__in::-webkit-scrollbar { display: none; }
.cattabs a { display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 16px; font-weight: 600; font-size: 14px; white-space: nowrap; border-bottom: 2px solid transparent; color: var(--ink-2); }
.cattabs a kbd { min-width: 18px; height: 18px; font-size: 10px; color: var(--ink-3); }
.cattabs a .mono { font-size: 11px; color: var(--ink-3); }
.cattabs a:hover { color: var(--ink); background: var(--paper-2); }
.cattabs a.is-on { color: var(--ink); border-color: var(--orange); }

.shop__in { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 28px; padding-top: 24px; align-items: start; }
.filters { position: sticky; top: calc(var(--hdr) + 42px + 60px); max-height: calc(100vh - 190px); overflow-y: auto; scrollbar-width: thin; background: var(--paper); border: 1px solid var(--line); }
.filters__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 2px solid var(--ink); font: 900 22px/1 var(--f-disp); text-transform: uppercase; }
.filters__x { display: none; }
.fset { border: 0; margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--line); display: grid; gap: 6px; min-width: 0; }
.fset legend { float: left; width: 100%; padding: 0 0 6px; font: 700 10px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.tog, .chk { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; padding: 3px 0; }
.tog input, .chk input { appearance: none; width: 18px; height: 18px; border: 1px solid var(--line-2); background: var(--paper); flex: none; display: grid; place-items: center; margin: 0; cursor: pointer; }
.tog input:checked, .chk input:checked { background: var(--ink); border-color: var(--ink); }
.tog input:checked::after, .chk input:checked::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.tog span, .chk span { display: inline-flex; align-items: center; gap: 8px; flex: 1; }
.tog .ic { width: 15px; height: 15px; color: var(--glacier-2); }
.chk em { font-style: normal; font-size: 11px; color: var(--ink-3); }
.chk .dot { width: 10px; height: 10px; background: var(--rc); -webkit-mask: var(--flake) center / contain no-repeat; mask: var(--flake) center / contain no-repeat; }
.presets { display: flex; flex-wrap: wrap; gap: 4px; }
.presets button { height: 28px; padding: 0 8px; font: 600 11px/1 var(--f-mono); border: 1px solid var(--line-2); color: var(--ink-2); background: var(--paper); transition: background .15s, color .15s, border-color .15s; }
.presets button:hover { border-color: var(--ink); color: var(--ink); }
.presets--core button { flex: 1; }
.presets--core button:nth-child(1) { background: #e6f8ff; }
.presets--core button:nth-child(2) { background: #cdeffa; }
.presets--core button:nth-child(3) { background: #a5dbee; }
.presets--core button:nth-child(4) { background: #6fa9c6; color: #fff; }
.presets--core button:nth-child(5) { background: #1b3a55; color: #fff; }
.range { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.range input { width: 100%; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--line-2); background: var(--paper-2); font: 500 13px/1 var(--f-mono); }
.range input:focus { outline: 0; border-color: var(--glacier); background: #fff; }
.range span { color: var(--ink-3); }
.filters__go { display: grid; gap: 8px; padding: 14px 16px; position: sticky; bottom: 0; background: var(--paper); border-top: 1px solid var(--line); }
.filters__reset { text-align: center; font-size: 12px; color: var(--ink-3); text-decoration: underline; }

.toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.toolbar__f { display: none; }
.toolbar__count, .toolbar__count p { font-size: 12px; color: var(--ink-3); margin: 0; }
.toolbar__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px 0 10px; background: var(--ink); color: #fff; font: 600 12px/1 var(--f-body); }
.fchip .ic { width: 12px; height: 12px; opacity: .7; }
.fchip:hover { background: var(--orange); }
.fchip--clear { background: transparent; color: var(--ink-2); border: 1px solid var(--line-2); }
.toolbar__r { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select, select.orderby {
	height: 36px; padding: 0 34px 0 12px; border: 1px solid var(--ink); background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a1622' stroke-width='2'/%3E%3C/svg%3E") right 12px center no-repeat;
	appearance: none; font: 600 13px/1 var(--f-body); cursor: pointer;
}
.viewtog { display: flex; border: 1px solid var(--ink); }
.viewtog button { display: grid; place-items: center; width: 36px; height: 34px; color: var(--ink-3); }
.viewtog button + button { border-left: 1px solid var(--ink); }
.viewtog button.is-on { background: var(--ink); color: #fff; }
.view-table { display: none; }
body[data-view="table"] .view-grid { display: none; }
body[data-view="table"] .view-table { display: block; }
.results .grid { border-top: 0; }
.woocommerce-pagination { margin-top: 24px; }
.woocommerce-pagination ul { display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--line-2); background: var(--paper); font: 600 13px/1 var(--f-mono); }
.woocommerce-pagination span.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-pagination a:hover { border-color: var(--ink); }
.empty { display: grid; justify-items: center; gap: 10px; text-align: center; padding: 48px 16px 64px; background: var(--paper); border: 1px solid var(--line); border-top: 0; }
.empty__img { height: 200px; width: auto; }
.empty__t { font: 900 40px/.9 var(--f-disp); text-transform: uppercase; }
.empty__d { color: var(--ink-3); max-width: 420px; }

/* ==========================================================================
   Product page
   ========================================================================== */
.pdp__main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--line); background: var(--paper); align-items: start; }
.stage { position: sticky; top: calc(var(--hdr) + 42px + 16px); display: grid; place-items: center; min-height: 560px; background: var(--night) var(--art) center / cover no-repeat; color: #fff; overflow: hidden; isolation: isolate; user-select: none; }
.stage::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 45%, rgba(25, 179, 222, .18), transparent 60%); }
.stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--rc); }
.stage__code { position: absolute; left: 18px; top: 16px; font-size: 11px; color: var(--frost-2); letter-spacing: .06em; }
.stage__cold { position: absolute; right: 18px; top: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; font: 700 11px/1 var(--f-body); text-transform: uppercase; letter-spacing: .08em; color: #bff0ff; border: 1px solid rgba(127, 220, 246, .5); background: rgba(6, 16, 27, .4); }
.stage__cold .ic { width: 13px; height: 13px; }
.stage__img { width: min(86%, 640px); height: auto; margin-top: -40px; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .55)); transition: transform .3s var(--ease); animation: hover-float 6s ease-in-out infinite alternate; }
@keyframes hover-float { to { transform: translateY(-10px); } }
.stage.is-inspect { cursor: grab; }
.stage.is-inspect .stage__img { animation: none; }
.stage__foot { position: absolute; left: 18px; right: 18px; bottom: 16px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--frost-2); }
.stage__foot kbd { color: var(--frost); }
.info { padding: 24px 28px 28px; border-left: 1px solid var(--line); display: grid; gap: 18px; align-content: start; }
.info__type { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.info__t { display: grid; gap: 2px; }
.info__w { font: 700 14px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.info__n { font: 900 clamp(44px, 4.4vw, 68px)/.86 var(--f-disp); text-transform: uppercase; }
.info__phase { justify-self: start; margin-top: 6px; padding: 4px 8px; background: var(--ink); color: #fff; font-size: 12px; }
.info__lede { font-size: 16px; color: var(--ink-2); font-style: italic; }
.corebox { padding: 14px 16px 12px; background: var(--paper-2); border: 1px solid var(--line); }
.corebox__row { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-2); margin-bottom: 4px; }
.corebox__row b.mono { color: var(--ink); font-size: 16px; }
.specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.specs > div { padding: 10px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.specs dt { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.specs dd { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.specs dd a { color: var(--glacier-2); }
.buybox { display: grid; gap: 12px; padding: 18px; border: 2px solid var(--ink); clip-path: var(--cut); }
.buybox__p { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.buybox__p .price { font-size: 52px; }
.buybox__was { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-3); }
.buybox form.cart { display: flex; gap: 8px; margin: 0; }
.buybox .quantity { display: none; }
.buybox .single_add_to_cart_button {
	flex: 1; height: 56px; border: 0; background: var(--orange); color: #fff; font: 800 15px/1 var(--f-body); font-variation-settings: "wdth" 115; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; clip-path: var(--cut-sm); transition: background .2s;
}
.buybox .single_add_to_cart_button:hover { background: var(--orange-2); }
.buybox .stock { margin: 0; font-size: 13px; color: var(--ink-3); }
.buybox .out-of-stock { color: var(--danger); font-weight: 700; }
.buybox__note { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--ink-3); }
.buybox__note .ic { width: 14px; height: 14px; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.steps li { display: grid; gap: 6px; padding: 12px; border-right: 1px solid var(--line); font-size: 13px; color: var(--ink-2); }
.steps li:last-child { border-right: 0; }
.steps b { color: var(--orange); font-size: 12px; }
.steps strong { display: block; color: var(--ink); font-size: 14px; }
.about-item { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 0; margin-top: 24px; border: 1px solid var(--line); background: var(--paper); }
.about-item__txt { padding: 28px; display: grid; gap: 12px; align-content: start; }
.prose { font-size: 16px; line-height: 1.7; color: var(--ink-2); }
.prose p + p { margin-top: 12px; }
.about-item__agent { position: relative; min-height: 280px; color: #fff; background: var(--night) var(--art) center / cover; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; }
.about-item__agent::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .95), rgba(6, 16, 27, .2) 60%); }
.about-item__img { position: absolute; right: 0; bottom: 0; height: 92%; width: auto; z-index: -1; }
.about-item__agent p { display: grid; gap: 4px; padding: 20px; max-width: 60%; }
.about-item__agent small { color: var(--yolk); font-size: 13px; }
.about-item__agent b { font: 900 26px/.95 var(--f-disp); text-transform: uppercase; }
.about-item__agent span { font-size: 13px; color: var(--frost); }

/* ==========================================================================
   Content pages
   ========================================================================== */
.pagehero { position: relative; color: #fff; background: var(--night-2) var(--art) center / cover no-repeat; isolation: isolate; overflow: hidden; }
.pagehero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .92), rgba(6, 16, 27, .55) 45%, rgba(6, 16, 27, .1)); }
.pagehero__in { min-height: 340px; display: grid; align-content: end; gap: 12px; padding-block: 40px 44px; position: relative; }
.pagehero__k { display: flex; gap: 10px; align-items: center; font: 700 12px/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--yolk); }
.pagehero__k .stencil { background: var(--yolk); color: var(--night); padding: 4px 8px; font-size: 14px; letter-spacing: .04em; }
.pagehero__t { font: 900 clamp(48px, 7vw, 104px)/.84 var(--f-disp); text-transform: uppercase; max-width: 900px; }
.pagehero__d { max-width: 560px; color: var(--frost); font-size: 17px; }
.pagehero__agent { position: absolute; right: var(--gut); bottom: 0; height: 320px; width: auto; max-width: 42%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .5)); }
.page-main { padding-top: 40px; }
.content { max-width: 780px; }
.content h2 { font: 900 36px/.95 var(--f-disp); text-transform: uppercase; margin: 36px 0 12px; }
.content h3 { font: 800 22px/1.1 var(--f-body); margin: 26px 0 8px; }
.content p, .content li { font-size: 16px; line-height: 1.75; color: var(--ink-2); }
.content p + p { margin-top: 14px; }
.content ul, .content ol { padding-left: 22px; margin: 12px 0; list-style: square; }
.content ol { list-style: decimal; }
.content a { color: var(--glacier-2); text-decoration: underline; text-underline-offset: 3px; }
.content strong { color: var(--ink); }
.content blockquote { margin: 20px 0; padding: 16px 20px; border-left: 3px solid var(--orange); background: var(--paper); }
.content table { margin: 18px 0; background: var(--paper); border: 1px solid var(--line); }
.content th, .content td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; font-size: 14px; }
.content img { margin: 20px 0; }
.twocol { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.side { position: sticky; top: calc(var(--hdr) + 60px); display: grid; gap: 0; border: 1px solid var(--line); background: var(--paper); }
.side__b { padding: 18px; border-bottom: 1px solid var(--line); display: grid; gap: 8px; }
.side__b:last-child { border-bottom: 0; }
.side__k { font: 700 10px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.side__b b { font: 900 26px/1 var(--f-disp); text-transform: uppercase; }
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); margin-top: 32px; }
.kpi { padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); display: grid; gap: 4px; }
.kpi small { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); }
.kpi b { font: 800 34px/1 var(--f-disp); }
.kpi b sup { font-size: .55em; vertical-align: .6em; color: var(--ink-3); }
.kpi span { font-size: 12px; color: var(--ink-3); }

/* FAQ */
.faq-search { display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 16px; border: 2px solid var(--ink); background: var(--paper); margin-bottom: 24px; }
.faq-search .ic { color: var(--ink-3); }
.faq-search input { flex: 1; border: 0; outline: 0; font-size: 17px; background: transparent; }
.faq-g { margin-bottom: 28px; }
.faq-g h2 { font: 900 30px/1 var(--f-disp); text-transform: uppercase; padding-bottom: 10px; border-bottom: 2px solid var(--ink); }
.qa { border-bottom: 1px solid var(--line); background: var(--paper); }
.qa summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 16px 18px; font-weight: 700; font-size: 16px; cursor: pointer; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; font: 400 24px/1 var(--f-mono); color: var(--orange); transition: transform .2s; }
.qa[open] summary::after { transform: rotate(45deg); }
.qa p { padding: 0 18px 18px; color: var(--ink-2); line-height: 1.7; max-width: 760px; }

/* contacts */
.chans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); margin-bottom: 32px; }
.chan { display: grid; gap: 6px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); transition: background .2s; }
.chan:hover { background: #f3f8fb; }
.chan .ic { width: 26px; height: 26px; color: var(--glacier-2); }
.chan b { font: 900 24px/1 var(--f-disp); text-transform: uppercase; }
.chan span { font-size: 14px; color: var(--ink-2); }
.chan em { font-style: normal; font: 500 12px/1 var(--f-mono); color: var(--ink-3); }
.form { display: grid; gap: 14px; padding: 24px; background: var(--paper); border: 1px solid var(--line); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: grid; gap: 6px; }
.field label { font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.field input, .field select, .field textarea, .woocommerce-Input, .input-text {
	width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line-2); background: var(--paper-2); font-size: 15px; border-radius: 0; transition: border-color .15s, background .15s;
}
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .woocommerce-Input:focus, .input-text:focus { outline: 0; border-color: var(--glacier); background: #fff; }
.hp { position: absolute; left: -9999px; }
.notice { padding: 12px 16px; border-left: 3px solid var(--aurora); background: #e9fbf2; font-size: 14px; }
.notice--err { border-color: var(--danger); background: #fdecec; }

/* club & lore */
.ladder { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.rung { position: relative; display: grid; gap: 10px; align-content: start; padding: 22px 20px 24px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }
.rung__n { font: 900 40px/.9 var(--f-disp); text-transform: uppercase; }
.rung__lvl { font: 600 11px/1 var(--f-mono); color: var(--ink-3); }
.rung__off { font: 900 64px/.8 var(--f-disp); color: var(--orange); }
.rung__need { font-size: 13px; color: var(--ink-2); }
.rung ul { display: grid; gap: 6px; font-size: 14px; color: var(--ink-2); }
.rung li::before { content: "❄ "; color: var(--glacier); }
.rung:last-child { background: var(--night); color: #fff; }
.rung:last-child .rung__need, .rung:last-child ul { color: var(--frost); }
.rung:last-child .rung__off { color: var(--yolk); }
.agents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--night-line); border-top: 1px solid var(--night-line); }
.agentc { position: relative; display: grid; grid-template-rows: 340px auto; background: var(--night-2); color: #fff; border-right: 1px solid var(--night-line); border-bottom: 1px solid var(--night-line); overflow: hidden; isolation: isolate; }
.agentc__art { position: relative; background: var(--art) center / cover; overflow: hidden; }
.agentc__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--night-2), rgba(11, 26, 42, 0) 50%); }
.agentc__art img { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 96%; width: auto; max-width: none; transition: transform .6s var(--ease); z-index: 1; }
.agentc:hover .agentc__art img { transform: translateX(-50%) scale(1.04); }
.agentc__b { display: grid; gap: 6px; padding: 18px 20px 22px; position: relative; z-index: 2; }
.agentc__side { justify-self: start; padding: 3px 8px; font: 700 11px/1 var(--f-mono); }
.agentc__side--ct { background: #3b6ea8; }
.agentc__side--t { background: #b8862e; }
.agentc__n { font: 900 28px/.95 var(--f-disp); text-transform: uppercase; }
.agentc__team { font: 500 12px/1 var(--f-mono); color: var(--frost-2); }
.agentc__role { color: var(--yolk); font-weight: 700; font-size: 13px; }
.agentc__bio { color: var(--frost); font-size: 14px; line-height: 1.6; }
.night-sec { background: var(--night); color: #fff; padding-block: 56px 64px; margin-top: 56px; }
.night-sec .sh { border-color: var(--frost); }
.night-sec .sh__code { background: var(--orange); }
.disclaimer { margin-top: 20px; font-size: 13px; color: var(--frost-2); max-width: 760px; }

/* blog single */
.single-hero { position: relative; min-height: 420px; display: flex; align-items: flex-end; color: #fff; background: var(--night) var(--art) center / cover; isolation: isolate; }
.single-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .95), rgba(6, 16, 27, .2)); }
.single-hero__in { padding-block: 40px; display: grid; gap: 12px; }
.single-hero h1 { font: 900 clamp(40px, 5.6vw, 80px)/.88 var(--f-disp); text-transform: uppercase; max-width: 960px; }
.single-hero p { color: var(--frost-2); font-size: 12px; }

/* 404 */
.lost { position: relative; min-height: calc(100vh - 140px); display: flex; align-items: center; color: #fff; background: var(--night) var(--art) center / cover; isolation: isolate; overflow: hidden; }
.lost::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .9), rgba(6, 16, 27, .3) 60%, rgba(6, 16, 27, .1)); }
.lost__in { display: grid; gap: 14px; justify-items: start; }
.lost__code { font: 900 clamp(120px, 18vw, 240px)/.8 var(--f-stencil); color: transparent; -webkit-text-stroke: 2px var(--frost); letter-spacing: .02em; }
.lost__t { font: 900 clamp(40px, 5vw, 72px)/.88 var(--f-disp); text-transform: uppercase; }
.lost__d { max-width: 460px; color: var(--frost); }
.lost__acts { display: flex; gap: 10px; flex-wrap: wrap; }
.lost__peng { position: absolute; right: 12%; bottom: 14%; height: 260px; width: auto; animation: drift 6s ease-in-out infinite alternate; }
@keyframes drift { from { transform: translateX(-14px) rotate(-2deg); } to { transform: translateX(14px) rotate(2deg); } }
.is-night .ftr { margin-top: 0; }

/* ==========================================================================
   Base camp (My Account)
   ========================================================================== */
.page-body { padding-top: 32px; }
.acct-hero { position: relative; color: #fff; background: var(--night-2) var(--art) center / cover no-repeat; isolation: isolate; }
.acct-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 16, 27, .94), rgba(6, 16, 27, .6) 55%, rgba(6, 16, 27, .35)); }
.acct-hero__in { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; padding-block: 48px 36px; flex-wrap: wrap; }
.acct-hero__id { display: flex; gap: 20px; align-items: flex-end; }
.acct-hero__ava { display: grid; place-items: center; width: 96px; height: 96px; flex: none; background: var(--orange); color: #fff; font: 900 56px/1 var(--f-disp); clip-path: var(--cut); box-shadow: inset 0 -6px 0 rgba(0, 0, 0, .15); }
.acct-hero__who { display: grid; gap: 6px; }
.acct-k { font-size: 11px; color: var(--frost-2); letter-spacing: .04em; }
.acct-k b { color: var(--yolk); }
.acct-hero__hi { color: var(--frost); font-size: 15px; }
.acct-h { font: 900 30px/.95 var(--f-disp); text-transform: uppercase; }
.acct-h--md { font-size: 44px; }
.acct-h--lg { font-size: clamp(44px, 5.4vw, 76px); line-height: .86; }
.acct-h em { font-style: normal; color: var(--yolk); }
.tier { display: grid; gap: 8px; width: min(400px, 100%); padding: 16px 18px; background: rgba(6, 16, 27, .72); border: 1px solid var(--night-line); backdrop-filter: blur(10px); clip-path: var(--cut); transition: border-color .2s; }
.tier:hover { border-color: var(--yolk); }
.tier__k { font-size: 11px; color: var(--frost-2); letter-spacing: .08em; }
.tier__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.tier__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--night-line); }
.tier__grid > span { display: grid; gap: 2px; padding: 10px 10px 0 0; }
.tier__grid > span + span { padding-left: 12px; border-left: 1px solid var(--night-line); }
.tier__grid small { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--frost-2); }
.tier__grid b { font: 800 28px/1 var(--f-disp); color: #fff; white-space: nowrap; }
.tier__grid b sup { font-size: .55em; vertical-align: .6em; color: var(--frost-2); }
.tier__grid b .eur { font-size: .7em; }
.tier__grid b.ok { color: var(--aurora); }
.tier__grid b.warn { color: var(--orange); }
.tier__cash { font-size: 13px; color: #fff; }
.tier__bar { height: 6px; background: var(--night-3); position: relative; overflow: hidden; }
.tier__bar i { position: absolute; inset: 0; transform-origin: left; transform: scaleX(var(--prog, 0)); background: linear-gradient(90deg, var(--glacier), var(--yolk)); }
.tier__next { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; color: var(--frost-2); }

.ma { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; }
.ma__nav { position: sticky; top: calc(var(--hdr) + 58px); background: var(--paper); border: 1px solid var(--line); }
.ma__nav ul { display: grid; }
.ma__nav li a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); font-weight: 600; font-size: 15px; color: var(--ink-2); border-left: 3px solid transparent; transition: background .15s, color .15s; }
.ma__nav li a:hover { background: var(--paper-2); color: var(--ink); }
.ma__nav li.is-active a { background: var(--paper-2); color: var(--ink); border-left-color: var(--orange); }
.ma__nav li a span { flex: 1; }
.ma__nav li a small { min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 6px; background: var(--ink); color: #fff; font-size: 11px; }
.ma__nav li a small.is-warn { background: var(--orange); }
.ma__nav .ic { color: var(--ink-3); }
.ma__nav li.is-active .ic { color: var(--orange); }
.ma__shop { display: flex; align-items: center; gap: 10px; padding: 14px 16px; font: 700 12px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; background: var(--night); color: #fff; }
.ma__shop:hover { background: var(--orange); }
.ma__main { min-width: 0; display: grid; gap: 22px; align-content: start; }
.acct-alert { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 18px; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--aurora); }
.acct-alert.is-warn { border-left-color: var(--orange); background: #fff8f3; }
.acct-alert .ic { width: 26px; height: 26px; color: var(--aurora); }
.acct-alert.is-warn .ic { color: var(--orange); }
.acct-alert p { display: grid; gap: 2px; }
.acct-alert p span { font-size: 13px; color: var(--ink-3); }
.acct-alert > a:not(.btn) { font-weight: 700; font-size: 13px; color: var(--glacier-2); }
.acct-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.acct-stat { display: grid; gap: 4px; padding: 16px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .15s; }
a.acct-stat:hover { background: #f3f8fb; }
.acct-stat > span { font-size: 10px; letter-spacing: .1em; color: var(--ink-3); }
.acct-stat b { font: 800 34px/1 var(--f-disp); }
.acct-stat b sup { font-size: .55em; vertical-align: .6em; color: var(--ink-3); }
.acct-stat small { font-size: 12px; color: var(--ink-3); }
.acct-stat.is-red { background: var(--night); color: #fff; }
.acct-stat.is-red b { color: var(--yolk); }
.acct-stat.is-red small, .acct-stat.is-red > span { color: var(--frost-2); }
.acct-sec { display: grid; gap: 0; }
.acct-sec__h { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 10px; border-bottom: 2px solid var(--ink); }
.acct-sec__h h2 { font: 900 30px/1 var(--f-disp); text-transform: uppercase; }
.acct-sec__h a { font: 700 12px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; }
.acct-sec__h a:hover { color: var(--orange); }
.acct-empty { display: grid; gap: 10px; justify-items: start; padding: 28px; background: var(--paper); border: 1px solid var(--line); border-top: 0; }
.acct-empty--big { border-top: 1px solid var(--line); padding: 40px; }
.acct-empty p:not(.acct-h) { color: var(--ink-3); max-width: 480px; }
.ctas { display: flex; gap: 8px; flex-wrap: wrap; }
.acct-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.acct-quick a { display: grid; gap: 4px; padding: 16px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .15s; min-width: 0; }
.acct-quick a:hover { background: #f3f8fb; }
.acct-quick .ic { color: var(--glacier-2); width: 22px; height: 22px; margin-bottom: 4px; }
.acct-quick small { font-size: 12px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; }

.olist { display: grid; background: var(--paper); border: 1px solid var(--line); border-top: 0; }
.olist--full { border-top: 1px solid var(--line); }
.orow { position: relative; display: grid; grid-template-columns: 110px 120px minmax(0, 1fr) auto auto auto; gap: 16px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); transition: background .15s; }
.orow:last-child { border-bottom: 0; }
.orow:hover { background: #f6fafc; }
.orow__link { position: absolute; inset: 0; }
.orow__id { display: grid; font-size: 14px; font-weight: 600; }
.orow__id small { font-size: 11px; color: var(--ink-3); font-weight: 400; }
.orow__thumbs { display: flex; }
.orow__thumbs img { width: 46px; height: 36px; object-fit: contain; background: radial-gradient(ellipse, #fff, #e8f0f6); border: 1px solid var(--line); margin-left: -10px; }
.orow__thumbs img:first-child { margin-left: 0; }
.orow__name { display: grid; min-width: 0; }
.orow__name b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orow__name small { font-size: 11px; color: var(--ink-3); }
.orow__total { font-weight: 600; }
.orow__act { position: relative; z-index: 1; display: flex; gap: 6px; }
.state { display: inline-flex; align-items: center; gap: 8px; padding: 5px 10px; font: 600 11px/1 var(--f-body); letter-spacing: .04em; text-transform: uppercase; border: 1px solid var(--line-2); white-space: nowrap; }
.state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.state.is-ok { color: #0b7a4b; background: #e2fbef; border-color: #a7ecca; }
.state.is-go { color: var(--glacier-2); background: #e3f5fc; border-color: #b5e2f2; }
.state.is-go i { animation: pulse 1.4s ease-in-out infinite; }
.state.is-wait { color: #9a5b00; background: #fff4e0; border-color: #fbd7a0; }
.state.is-off { color: var(--ink-3); background: var(--paper-2); }
.state--lg { font-size: 13px; padding: 8px 12px; }
@keyframes pulse { 50% { opacity: .3; } }

.inv-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.inv-bar__tabs { display: inline-flex; border: 1px solid var(--ink); }
.inv-bar__tabs button { height: 34px; padding: 0 12px; font: 600 12px/1 var(--f-body); text-transform: uppercase; letter-spacing: .04em; }
.inv-bar__tabs button + button { border-left: 1px solid var(--ink); }
.inv-bar__tabs button.is-on { background: var(--ink); color: #fff; }
.inv-bar__tabs small { opacity: .7; }
.inv-bar__sum { font-size: 12px; color: var(--ink-3); }
.inv-bar__sum b { color: var(--ink); font-size: 15px; }
.inv { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.inv--row { border-top: 0; }
.inv__card { display: grid; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.inv__top { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 10px 12px 0; }
.inv__rar { font-size: 10px; color: var(--ink-3); text-transform: uppercase; }
.inv__top .state { font-size: 9px; padding: 3px 6px; }
.inv__media { margin: 8px 12px 0; aspect-ratio: 4 / 3; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 60%, #fff, #e6eef4); border-bottom: 2px solid var(--rc); }
.inv__media img { width: 86%; height: 86%; object-fit: contain; }
.inv__body { display: grid; gap: 2px; padding: 10px 12px; }
.inv__w { font-size: 11px; color: var(--ink-3); text-transform: uppercase; }
.inv__n { font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv__n em { font-style: normal; color: var(--glacier-2); }
.inv__meta { display: flex; gap: 8px; font-size: 11px; color: var(--ink-3); }
.inv__foot { display: flex; justify-content: space-between; padding: 10px 12px; border-top: 1px solid var(--line); font-size: 12px; }
.inv__foot a { color: var(--glacier-2); }

.vo { display: grid; gap: 22px; }
.vo__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.vo__head .acct-k { color: var(--ink-3); margin-bottom: 8px; }
.vo__head .acct-k b { color: var(--ink); }
.vo__total { display: grid; text-align: right; }
.vo__total span { font-size: 10px; color: var(--ink-3); letter-spacing: .1em; }
.vo__total b { font: 800 44px/1 var(--f-disp); }
.vo__total b sup { font-size: .55em; vertical-align: .6em; color: var(--ink-3); }
.track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: relative; background: var(--paper); border: 1px solid var(--line); }
.track li { position: relative; display: grid; gap: 8px; justify-items: start; padding: 16px; border-right: 1px solid var(--line); color: var(--ink-3); font-weight: 600; font-size: 14px; }
.track li:last-child { border-right: 0; }
.track li::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--line); }
.track i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-2); font-style: normal; font-size: 13px; }
.track li.is-done { color: var(--ink); }
.track li.is-done::after { background: var(--aurora); }
.track li.is-done i { background: var(--ink); color: #fff; border-color: var(--ink); }
.track li.is-now { color: var(--ink); }
.track li.is-now::after { background: linear-gradient(90deg, var(--glacier) 40%, var(--line) 40%); animation: trackpulse 2s ease-in-out infinite; }
.track li.is-now i { border-color: var(--glacier); color: var(--glacier-2); }
@keyframes trackpulse { 50% { opacity: .5; } }
.vo__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.vo__items { background: var(--paper); border: 1px solid var(--line); }
.vo__items h2, .vo__notes h2 { font: 900 24px/1 var(--f-disp); text-transform: uppercase; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.vo__item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.vo__item img { width: 96px; height: 72px; object-fit: contain; background: radial-gradient(ellipse, #fff, #e6eef4); border-bottom: 2px solid var(--rc); }
.vo__item a { font-weight: 700; }
.vo__item a:hover { color: var(--orange); }
.vo__item p { font-size: 11px; color: var(--ink-3); }
.vo__sum { display: grid; padding: 8px 16px 14px; }
.vo__sum div { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; color: var(--ink-2); }
.vo__sum .is-total { border-top: 2px solid var(--ink); margin-top: 6px; padding-top: 10px; color: var(--ink); font-weight: 700; font-size: 16px; }
.vo__side { display: grid; gap: 12px; }
.vo__box { display: grid; gap: 6px; padding: 16px; background: var(--paper); border: 1px solid var(--line); }
.vo__box h3 { font: 900 20px/1 var(--f-disp); text-transform: uppercase; }
.vo__url { font-size: 11px; word-break: break-all; padding: 8px; background: var(--paper-2); border: 1px solid var(--line); }
.small { font-size: 12px; }
.vo__help { font-weight: 700; font-size: 13px; color: var(--glacier-2); }
.vo__notes { background: var(--paper); border: 1px solid var(--line); }
.vo__notes li { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.vo__notes time { font-size: 12px; color: var(--ink-3); }

.turl { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.turl__form { display: grid; gap: 14px; padding: 22px; background: var(--paper); border: 1px solid var(--line); }
.turl__status { display: flex; gap: 10px; align-items: center; padding: 12px 14px; font-size: 14px; font-weight: 600; border-left: 3px solid; }
.turl__status.is-ok { background: #e9fbf2; border-color: var(--aurora); color: #0b7a4b; }
.turl__status.is-warn { background: #fff8f3; border-color: var(--orange); color: #9a4200; }
.field > span { font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.field input.is-ok { border-color: var(--aurora); background: #f3fdf8; }
.field input.is-bad { border-color: var(--danger); background: #fff6f6; }
.trade__state { font-size: 12px; color: var(--ink-3); min-height: 1.2em; }
.trade__state.ok { color: #0b7a4b; }
.trade__state.bad { color: var(--danger); }
.turl__how { display: grid; background: var(--night); color: var(--frost); }
.turl__how li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--night-line); font-size: 14px; }
.turl__how b { color: var(--yolk); }
.turl__how li.is-warn b { color: var(--orange); }

/* auth */
.page-account.is-guest .page-body { padding-top: 0; max-width: none; padding-inline: 0; }
.auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - 140px); }
.auth__side { position: relative; display: flex; align-items: flex-end; padding: 48px; color: #fff; background: var(--night) var(--auth, none) center / cover; isolation: isolate; overflow: hidden; }
.auth__side::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .95) 20%, rgba(6, 16, 27, .2) 70%); }
.auth__agent { position: absolute; right: -6%; top: 4%; height: 58%; width: auto; z-index: -1; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5)); }
.auth__pitch { display: grid; gap: 14px; max-width: 520px; }
.auth__pitch .acct-k b { color: var(--yolk); }
.auth__perks { display: grid; gap: 0; border: 1px solid var(--night-line); background: rgba(6, 16, 27, .6); backdrop-filter: blur(8px); }
.auth__perks li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--night-line); font-size: 14px; color: var(--frost); }
.auth__perks li:last-child { border-bottom: 0; }
.auth__perks b { color: var(--yolk); }
.auth__safe { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--frost-2); }
.auth__safe .ic { width: 14px; height: 14px; color: var(--aurora); }
.auth__main { display: grid; align-content: center; gap: 18px; padding: 48px clamp(24px, 6vw, 96px); background: var(--paper); }
.auth__tabs { display: inline-flex; border: 1px solid var(--ink); justify-self: start; }
.auth__tab { height: 40px; padding: 0 18px; font: 700 13px/1 var(--f-body); text-transform: uppercase; letter-spacing: .04em; }
.auth__tab + .auth__tab { border-left: 1px solid var(--ink); }
.auth__tab.is-on { background: var(--ink); color: #fff; }
.auth__form { display: grid; gap: 14px; max-width: 460px; }
.auth__form .acct-h { color: var(--ink); }
.auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; }
.check { display: inline-flex; gap: 8px; align-items: center; cursor: pointer; }
.auth__lost { color: var(--glacier-2); text-decoration: underline; }
.auth__submit { height: 52px; }
.woocommerce-privacy-policy-text p { font-size: 12px; color: var(--ink-3); }

/* edit account + generic woo forms */
.woocommerce-EditAccountForm, .woocommerce-ResetPassword, .lost_reset_password { display: grid; gap: 14px; padding: 22px; background: var(--paper); border: 1px solid var(--line); max-width: 760px; }
.woocommerce-form-row, .form-row { display: grid; gap: 6px; margin: 0; }
.woocommerce-form-row label, .form-row label { font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.woocommerce-EditAccountForm fieldset { border: 1px solid var(--line); padding: 16px; margin: 0; display: grid; gap: 12px; }
.woocommerce-EditAccountForm legend { font: 900 20px/1 var(--f-disp); text-transform: uppercase; padding: 0 6px; }
.woocommerce-EditAccountForm em, .woocommerce-form-row em { font-size: 12px; color: var(--ink-3); }
.woocommerce-Button, .woocommerce-button, button.button, .button {
	display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border: 0; background: var(--ink); color: #fff;
	font: 700 13px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; clip-path: var(--cut-sm); justify-self: start;
}
.woocommerce-Button:hover, button.button:hover, .button:hover { background: var(--orange); }
.password-input { position: relative; display: block; }
.show-password-input { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; opacity: .5; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	list-style: none; margin: 0 0 16px; padding: 14px 16px; border-left: 4px solid var(--glacier); background: var(--paper); border-top: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}
.woocommerce-message { border-left-color: var(--aurora); }
.woocommerce-error { border-left-color: var(--danger); display: grid; }
.woocommerce-message .button, .woocommerce-info .button { height: 34px; margin-left: auto; order: 2; }

/* ==========================================================================
   Sled (cart) + checkout: WooCommerce blocks restyled
   ========================================================================== */
.wc-page .page-body { padding-top: 28px; }
.pagehero--compact .pagehero__in { min-height: 220px; padding-block: 28px 30px; }
.steps-bar { display: flex; gap: 0; margin-top: 6px; }
.steps-bar span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; font: 700 12px/1 var(--f-body); text-transform: uppercase; letter-spacing: .06em; color: var(--frost-2); border: 1px solid rgba(207, 230, 243, .25); background: rgba(6, 16, 27, .45); }
.steps-bar span + span { border-left: 0; }
.steps-bar span b { font: 600 11px/1 var(--f-mono); }
.steps-bar span.is-on { color: #fff; background: var(--orange); border-color: var(--orange); }
.steps-bar span.is-done { color: var(--aurora); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--f-body); color: var(--ink); }
.wc-block-cart, .wc-block-checkout { gap: 28px; }
.wc-block-components-sidebar-layout { margin: 0 !important; }
.wc-block-components-main, .wc-block-components-sidebar { padding: 0 !important; }
.wc-block-cart .wc-block-components-main { background: var(--paper); border: 1px solid var(--line); }
.wc-block-cart-items { border: 0 !important; margin: 0 !important; }
.wc-block-cart-items th { font: 600 10px/1 var(--f-body) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); padding: 14px 16px !important; background: var(--paper-2); border-bottom: 1px solid var(--line) !important; }
.wc-block-cart-items td { padding: 16px !important; border-top: 1px solid var(--line) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { background: radial-gradient(ellipse, #fff, #e6eef4); padding: 6px; border-bottom: 2px solid var(--orange); }
.wc-block-components-product-name { font: 700 16px/1.2 var(--f-body) !important; color: var(--ink) !important; text-decoration: none !important; }
.wc-block-components-product-name:hover { color: var(--orange) !important; }
.wc-block-components-product-price, .wc-block-components-formatted-money-amount { font-family: var(--f-mono) !important; font-weight: 600; }
.wc-block-cart-item__remove-link { color: var(--ink-3) !important; font-size: 12px !important; text-decoration: underline !important; }
.wc-block-components-quantity-selector { display: none !important; }
.wc-block-components-product-metadata { font-size: 13px; color: var(--ink-3); }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.wc-block-cart__sidebar, .wc-block-checkout__sidebar { background: var(--paper); border: 1px solid var(--line); padding: 18px !important; align-self: start; position: sticky; top: calc(var(--hdr) + 16px); }
.wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-title { font: 900 26px/1 var(--f-disp) !important; text-transform: uppercase !important; letter-spacing: 0 !important; color: var(--ink) !important; }
.wc-block-components-totals-item__label { font-size: 14px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 800 26px/1 var(--f-disp) !important; text-transform: uppercase; }
.wc-block-components-totals-fees .wc-block-components-totals-item__value, .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: #0b7a4b; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	min-height: 54px !important; border-radius: 0 !important; background: var(--orange) !important; color: #fff !important; border: 0 !important;
	font: 800 14px/1 var(--f-body) !important; text-transform: uppercase; letter-spacing: .08em; clip-path: var(--cut-sm); box-shadow: none !important; transition: background .2s;
}
.wc-block-components-button:not(.is-link):hover { background: var(--orange-2) !important; }
.wc-block-components-button.is-link { color: var(--glacier-2) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-blocks-components-select__select, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-totals-coupon__input input {
	border-radius: 0 !important; border: 1px solid var(--line-2) !important; background: var(--paper-2) !important; font-family: var(--f-body) !important; color: var(--ink) !important; box-shadow: none !important;
}
.wc-block-components-text-input input:focus, .wc-blocks-components-select__select:focus { border-color: var(--glacier) !important; background: #fff !important; }
.wc-block-components-text-input.is-active label, .wc-block-components-text-input label { font-family: var(--f-body) !important; color: var(--ink-3) !important; }
.wc-blocks-components-select__container, .wc-block-components-combobox .wc-block-components-combobox-control { border-radius: 0 !important; }
.wc-block-components-checkout-step { border: 1px solid var(--line); background: var(--paper); padding: 20px 20px 22px !important; margin: 0 0 16px !important; }
.wc-block-components-checkout-step__container::after, .wc-block-components-checkout-step::after { display: none !important; }
.wc-block-components-checkout-step__heading { margin: 0 0 12px !important; }
.wc-block-components-checkout-step__title { font: 900 24px/1 var(--f-disp) !important; text-transform: uppercase; }
.wc-block-components-checkout-step__description { font-size: 13px; color: var(--ink-3); }
.wc-block-checkout__form .wc-block-components-checkout-step__heading-content { font-size: 12px; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; box-shadow: none !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--ink) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--orange) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--orange) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-radius: 0 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ink) !important; border-color: var(--ink) !important; }
.wc-block-components-checkbox__mark { fill: #fff !important; }
.wc-block-checkout__terms { font-size: 13px; color: var(--ink-3); }
.wc-block-components-order-summary-item__quantity { display: none !important; }
.wc-block-components-order-summary-item__individual-prices { display: none; }
.wc-block-components-panel__button { font-weight: 700 !important; }
.wc-block-components-totals-coupon-link { color: var(--glacier-2) !important; font-weight: 700; }
.wc-block-components-validation-error p { color: var(--danger) !important; }
.wc-block-components-address-card { border-radius: 0 !important; }
.ps-trade-hint, .ps-trade-hint-live { display: block; margin: 6px 0 0; font-size: 12px; color: var(--ink-3); }
.ps-trade-hint a { color: var(--glacier-2); text-decoration: underline; }
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.sled-empty { display: grid; justify-items: center; gap: 12px; padding: 32px 16px 56px; text-align: center; }
.sled-empty__img { height: 220px; width: auto; margin-bottom: 4px; animation: ps-sledin 1.2s var(--ease) backwards; }
@keyframes ps-sledin { from { transform: translateX(-120px) rotate(-6deg); opacity: 0; } }
.sled-empty__t { font: 900 52px/.9 var(--f-disp); text-transform: uppercase; }
.sled-empty__d { color: var(--ink-3); max-width: 460px; margin: 0 auto; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator, .wc-block-cart__empty-cart__title { display: none; }
.wp-block-woocommerce-empty-cart-block h2 { font: 900 32px/1 var(--f-disp); text-transform: uppercase; margin: 40px 0 16px; }
.wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; margin: 0 !important; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.wc-block-grid__product { max-width: none !important; flex: none !important; margin: 0 !important; padding: 14px !important; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line) !important; text-align: left; }
.wc-block-grid__product-title { font: 700 15px/1.2 var(--f-body) !important; color: var(--ink); }
.wc-block-grid__product-price { font-family: var(--f-mono); font-weight: 600; }
.wc-block-grid__product-add-to-cart .wp-block-button__link { border-radius: 0 !important; background: var(--ink) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .06em; padding: 10px 14px !important; }
.wc-block-grid__product-image img { background: radial-gradient(ellipse, #fff, #e6eef4); }
.wc-block-order-confirmation-status, .woocommerce-order { background: var(--paper); border: 1px solid var(--line); padding: 22px; }
.wc-block-order-confirmation-status h1 { font: 900 44px/.9 var(--f-disp) !important; text-transform: uppercase; }
.wc-block-order-confirmation-summary-list { border-radius: 0 !important; }
.wc-block-order-confirmation-totals table, .wc-block-order-confirmation-downloads table { border-radius: 0 !important; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {
	.hdr__nav { display: none; }
	.board__cells { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.board__cells .cell { border-bottom: 1px solid var(--night-line); }
	.shelves { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.grid--5 { --cols: 4; }
	.grid--5 > :nth-child(n+9):nth-child(-n+10) { display: none; }
	.mega__in { grid-template-columns: 230px minmax(0, 1fr); }
	.mega__agent { display: none; }
	.hero__tab em { display: none; }
}
@media (max-width: 1080px) {
	:root { --gut: 20px; }
	.feat, .feat--rev { grid-template-columns: minmax(0, 1fr); }
	.feat__tile { min-height: 320px; order: -1; }
	.feat .grid, .feat--rev .grid { border-left: 1px solid var(--line); }
	.notes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.coupon { grid-column: 1 / -1; }
	.coupon + .note { border-left: 0; border-top: 1px solid var(--ink); }
	.note + .note { border-top: 1px solid var(--ink); }
	.kit__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 0; gap: 16px; }
	.kit__mid { grid-column: 1 / -1; order: -1; min-height: 520px; }
	.kit__side { grid-template-rows: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.kit__side .card { max-width: none; }
	.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.policy__in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.policy__in > div { border-bottom: 1px solid var(--line); }
	.ftr__top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ftr__brand { grid-column: 1 / -1; }
	.shop__in { grid-template-columns: minmax(0, 1fr); }
	.filters { position: fixed; inset: 0 auto 0 0; z-index: 150; width: min(360px, 90vw); max-height: none; transform: translateX(-105%); transition: transform .35s var(--ease); box-shadow: 0 0 0 100vmax rgba(6, 16, 27, 0); }
	body.filters-open .filters { transform: none; box-shadow: 0 0 0 100vmax rgba(6, 16, 27, .55); }
	.filters__x { display: grid; place-items: center; width: 34px; height: 34px; }
	.toolbar__f { display: inline-flex; }
	.pdp__main { grid-template-columns: minmax(0, 1fr); }
	.stage { position: relative; top: 0; min-height: 420px; }
	.info { border-left: 0; border-top: 1px solid var(--line); }
	.about-item { grid-template-columns: minmax(0, 1fr); }
	.twocol { grid-template-columns: minmax(0, 1fr); }
	.side { position: static; }
	.agents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ma { grid-template-columns: minmax(0, 1fr); }
	.ma__nav { position: static; }
	.ma__nav ul { display: flex; overflow-x: auto; scrollbar-width: none; }
	.ma__nav li a { border-bottom: 0; border-left: 0; border-bottom: 3px solid transparent; white-space: nowrap; }
	.ma__nav li.is-active a { border-left: 0; border-bottom-color: var(--orange); }
	.ma__shop { display: none; }
	.vo__grid, .turl { grid-template-columns: minmax(0, 1fr); }
	.auth { grid-template-columns: minmax(0, 1fr); }
	.auth__side { min-height: 420px; }
	.inv { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wc-block-cart__sidebar, .wc-block-checkout__sidebar { position: static; }
}
@media (max-width: 900px) {
	.hero__tabs { grid-template-columns: repeat(6, minmax(120px, 1fr)); overflow-x: auto; scrollbar-width: none; }
	.hero__tabs::-webkit-scrollbar { display: none; }
	.hero__art::after { background: linear-gradient(0deg, rgba(6, 16, 27, .96) 30%, rgba(6, 16, 27, .5) 60%, rgba(6, 16, 27, .15)); }
	.hero__img { object-position: 72% 50%; }
	.hero__in { align-items: flex-end; padding-bottom: 92px; }
	.grid, .grid--4 { --cols: 3; }
	.grid--5 { --cols: 3; }
	.grid--5 > :nth-child(n+7):nth-child(-n+8) { display: none; }
	.thaw__box { padding-top: 100px; }
	.peek { right: 16px; }
	.acct-stats, .acct-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.orow { grid-template-columns: 90px minmax(0, 1fr) auto; }
	.orow__thumbs { display: none; }
	.orow .state { grid-column: 2; justify-self: start; }
	.orow__total { grid-column: 3; grid-row: 1; }
	.orow__act { grid-column: 1 / -1; }
	.track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.chans { grid-template-columns: minmax(0, 1fr); }
	.kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catx__agent { opacity: .45; max-width: 60%; }
	.pagehero__agent { opacity: .5; }
	.specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	:root { --gut: 16px; --hdr: 58px; }
	body { font-size: 14px; }
	.strip__l { display: none; }
	.strip__in { justify-content: center; }
	.strip__r a { display: none; }
	.hdr__in { gap: 8px; }
	.hdr__lockup { display: none; }
	.hdr__mark { display: block; width: 38px; height: 38px; }
	.hdr__search { height: 38px; padding: 0 10px; }
	.hdr__search span { font-size: 13px; }
	.hdr__search kbd { display: none; }
	.hdr__ico { width: 36px; height: 36px; }
	.hdr__ico[data-snow-toggle] { display: none; }
	.sled { padding: 0 8px; gap: 6px; }
	.sled__txt { display: none; }
	.rail__in { height: 40px; }
	.rail__a { padding: 0 11px; font-size: 12px; }
	.rail__key { display: none; }
	.mega__panel { display: none; }
	.cattabs { top: calc(var(--hdr) + 40px); }
	.sec { padding-top: 40px; }
	.sh { gap: 10px; }
	.sh__t { font-size: 34px; }
	.sh__code { min-width: 44px; height: 34px; font-size: 13px; }
	.sh__m { display: none; }
	.sh__r { margin-left: 0; width: 100%; justify-content: space-between; }
	.seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.seg button { padding: 0 10px; white-space: nowrap; font-size: 11px; }
	.hero__slides { height: 640px; }
	.hero__t { font-size: 46px; }
	.hero__copy { gap: 10px; }
	.hero__item { font-size: 14px; }
	.hero__spec div { padding: 6px 10px; }
	.hero__spec dd { font-size: 12px; }
	.hero__price .price { font-size: 38px; }
	.hero__buy .btn--lg { height: 46px; padding: 0 16px; font-size: 12px; }
	.hero__tab { grid-template-columns: 40px minmax(0, 1fr); padding: 10px; }
	.hero__tab img { width: 40px; height: 30px; }
	.board__in { grid-template-columns: minmax(0, 1fr); }
	.board__k { flex-direction: row; display: flex; justify-content: space-between; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--night-line); font-size: 16px; }
	.board__cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cell { padding: 12px 10px; }
	.cell b { font-size: 24px; }
	.shelves { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 42%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-top: 1px solid var(--line); }
	.shelves::-webkit-scrollbar { display: none; }
	.shelf { scroll-snap-align: start; }
	.shelf__n { font-size: 22px; }
	.grid, .grid--3, .grid--4, .grid--5, .grid--6 { --cols: 2; }
	.grid--5 > :nth-child(n+7):nth-child(-n+8) { display: flex; }
	.card__top { padding: 8px 8px 0; }
	.card__rar { font-size: 9px; }
	.card__media { margin: 6px 8px 0; }
	.card__body { padding: 8px 8px 0; }
	.card__n { font-size: 14px; }
	.card__meta { gap: 6px; font-size: 10px; }
	.card__foot { padding: 8px; flex-wrap: wrap; }
	.card__price .price { font-size: 20px; }
	.card__buy { width: 100%; justify-content: center; height: 32px; }
	.feat__txt { max-width: 100%; }
	.feat__txt b { font-size: 24px; }
	.feat__agent { height: 92%; right: -16%; opacity: .9; }
	.band { padding-block: 40px; margin-top: 40px; }
	.notes { grid-template-columns: minmax(0, 1fr); }
	.note + .note { border-left: 0; }
	.coupon { grid-template-columns: minmax(0, 1fr); padding: 20px; }
	.coupon__v { font-size: 80px; }
	.breaker { min-height: 420px; align-items: flex-end; background-position: 64% 50%; }
	.breaker::before { background: linear-gradient(0deg, rgba(6, 16, 27, .95) 30%, rgba(6, 16, 27, .2) 70%); }
	.breaker__in { padding-bottom: 28px; }
	.breaker .price { font-size: 34px; }
	.thaw__box { padding-top: 96px; }
	.peek { width: 150px; height: 96px; right: 0; }
	.peek__agent { width: 120px; }
	.peek__ball { top: 40px; padding: 0 12px; font-size: 11px; }
	.tbl th:nth-child(2), .tbl td:nth-child(2), .tbl th:nth-child(3), .tbl td:nth-child(3), .tbl th:nth-child(4), .tbl td:nth-child(4), .tbl th:nth-child(5), .tbl td:nth-child(5) { display: none; }
	.row__item a { gap: 8px; }
	.row__name b { white-space: normal; }
	.row__price em { display: none; }
	.tbl td { padding: 8px 10px; }
	.row__img { width: 56px; height: 40px; }
	.row__name b { font-size: 13px; }
	.row__act .btn { padding: 0 10px; }
	.row__act .btn .ic { display: none; }
	.kits { padding-top: 36px; margin-top: 48px; }
	.kit__in { grid-template-columns: minmax(0, 1fr); padding-block: 20px; }
	.kit__mid { min-height: 520px; }
	.kit__agent { height: 64%; bottom: 210px; }
	.kit__side { gap: 0; border-left: 1px solid var(--line); }
	.kit__side .card { border-left: 0; }
	.kit__n { font-size: 30px; }
	.promo { min-height: 280px; align-items: flex-end; background-position: 70% 50%; }
	.promo::before { background: linear-gradient(0deg, rgba(6, 16, 27, .92) 35%, rgba(6, 16, 27, .1)); }
	.promo__txt { padding: 20px; }
	.promo__txt b { font-size: 32px; }
	.cols { grid-template-columns: minmax(0, 1fr); }
	.policy__in { grid-template-columns: minmax(0, 1fr); }
	.policy__in > div { border-left: 1px solid var(--line); }
	.posts { grid-template-columns: minmax(0, 1fr); }
	.ftr { margin-top: 80px; }
	.ftr__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 20px; }
	.ftr__col:last-child { grid-column: 1 / -1; }
	.ftr__legal { flex-direction: column; gap: 8px; }
	.ftr__hint { margin-left: 0; }
	.minibar { left: 16px; right: 16px; transform: translateY(140%); justify-content: space-between; }
	.minibar.is-on { transform: none; }
	.minibar__thumbs { display: none; }
	.catx__in { min-height: 260px; }
	.catx__t { font-size: 52px; }
	.catx__agent { height: 200px; right: 0; opacity: .35; }
	.toolbar__count { display: none; }
	.toolbar__r { margin-left: auto; }
	.woocommerce-ordering select { max-width: 160px; }
	.stage { min-height: 320px; }
	.stage__code { display: none; }
	.stage__cold { left: 14px; right: auto; }
	.info { padding: 18px 16px 20px; }
	.info__n { font-size: 44px; }
	.buybox__p .price { font-size: 42px; }
	.steps { grid-template-columns: minmax(0, 1fr); }
	.steps li { border-right: 0; border-bottom: 1px solid var(--line); }
	.about-item__txt { padding: 18px; }
	.pagehero__in { min-height: 280px; }
	.pagehero__t { font-size: 48px; }
	.pagehero__agent { height: 200px; right: 0; opacity: .3; }
	.agents { grid-template-columns: minmax(0, 1fr); }
	.ladder { grid-template-columns: minmax(0, 1fr); }
	.form__row { grid-template-columns: minmax(0, 1fr); }
	.kpis { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.acct-hero__in { padding-block: 28px; }
	.acct-hero__ava { width: 64px; height: 64px; font-size: 38px; }
	.acct-hero__id { gap: 14px; }
	.acct-alert { grid-template-columns: 24px minmax(0, 1fr); }
	.acct-alert > a, .acct-alert > .btn { grid-column: 1 / -1; justify-self: start; }
	.acct-stat b { font-size: 28px; }
	.inv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vo__item { grid-template-columns: 64px minmax(0, 1fr); }
	.vo__item img { width: 64px; height: 48px; }
	.vo__item > b { grid-column: 2; }
	.vo__total b { font-size: 34px; }
	.auth__side { padding: 24px 16px; min-height: 380px; }
	.auth__agent { height: 56%; }
	.auth__main { padding: 28px 16px 40px; order: -1; }
	.auth__agent { right: -14%; opacity: .85; }
	.lost__peng { height: 150px; right: 6%; bottom: 6%; opacity: .8; }
	.sled-empty__t { font-size: 40px; }
	.wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.steps-bar span { padding: 7px 8px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	[data-reveal] { opacity: 1; transform: none; }
}
.wc-block-cart-item__image { width: 132px !important; }
.wc-block-cart-item__image img { width: 120px !important; height: 90px !important; object-fit: contain; }
.wc-block-components-product-details { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0 !important; font: 500 12px/1.4 var(--f-mono); color: var(--ink-3); }
.wc-block-components-product-details li { margin: 0 !important; }
.wc-block-components-product-details__name { color: var(--ink-3); }
.wc-block-components-product-details__value { color: var(--ink); }
.wc-block-cart-item__prices .wc-block-components-product-price { font-size: 13px; color: var(--ink-3); }
.wc-block-components-sale-badge { border-radius: 0 !important; background: var(--orange) !important; color: #fff !important; border: 0 !important; font-family: var(--f-mono) !important; }
.ty { display: grid; gap: 20px; background: transparent !important; border: 0 !important; padding: 0 !important; }
.ty__head { position: relative; display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--aurora); overflow: hidden; }
.ty__head.is-failed { grid-template-columns: 1fr; border-top-color: var(--danger); }
.ty__peng { width: 120px; height: auto; }
.ty__copy { display: grid; gap: 6px; }
.ty__copy .acct-k { color: var(--ink-3); }
.ty__copy .acct-k b { color: var(--ink); }
.ty__lede { color: var(--ink-2); max-width: 560px; }
.ty__total { display: grid; gap: 6px; justify-items: end; }
.ty__total > span.mono { font-size: 10px; color: var(--ink-3); letter-spacing: .1em; }
.ty__total b { font: 800 44px/1 var(--f-disp); }
.ty__total b sup { font-size: .55em; vertical-align: .6em; color: var(--ink-3); }
.ty .vo__box p:empty { display: none; }
@media (max-width: 680px) { .ty__head { grid-template-columns: 1fr; } .ty__peng { width: 90px; } .ty__total { justify-items: start; } }
.wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; }
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description { font-size: 12px; }

/* ==========================================================================
   v2: living station (hero shatter, ticker, lab, builder, motion system)
   ========================================================================== */

/* ---------- section heads: draw-in ---------- */
.sh { position: relative; }
.sh__t { overflow: hidden; padding-bottom: .04em; }
.sh__tx { display: inline-block; }
.sh__line { position: absolute; left: 0; bottom: -2px; height: 2px; width: 100%; background: var(--orange); transform-origin: left; transform: scaleX(0); pointer-events: none; }
.js [data-head] .sh__tx { transform: translateY(105%); transition: transform .8s var(--ease); }
.js [data-head] .sh__code { transform: perspective(300px) rotateX(-90deg); transform-origin: top; transition: transform .6s .1s var(--ease); }
.js [data-head].is-in .sh__tx, .js [data-head].is-in .sh__code { transform: none; }
.js [data-head].is-in .sh__line { animation: drawline 1.4s .15s var(--ease) forwards; }
@keyframes drawline { 0% { transform: scaleX(0); } 55% { transform: scaleX(1); } 100% { transform: scaleX(.08); } }

/* ---------- thaw reveal for cards ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(18px); filter: blur(6px) saturate(.4) brightness(1.15); transition: opacity .7s var(--ease), transform .7s var(--ease), filter 1.1s var(--ease); transition-delay: var(--rd, 0s); }
.js [data-reveal].is-in { opacity: 1; transform: none; filter: none; }
.card__media::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(160deg, rgba(255, 255, 255, .95), rgba(220, 240, 250, .85)); opacity: 0; transition: opacity 1.2s var(--ease); transition-delay: calc(var(--rd, 0s) + .15s); }
.js .card[data-reveal]:not(.is-in) .card__media::before { opacity: 1; }
/* glint sweep */
.card__media .glint, .shelf .glint { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.card__media { isolation: isolate; }
.card__media > .card__glint { position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: 3; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent); transform: skewX(-18deg); opacity: 0; }
.card:hover .card__glint { animation: glint .9s var(--ease); }
@keyframes glint { 0% { left: -60%; opacity: 0; } 15% { opacity: 1; } 100% { left: 130%; opacity: 0; } }
.shelf img { animation: bob 4.5s ease-in-out infinite alternate; animation-delay: calc(var(--n, 0) * -.7s); }
@keyframes bob { from { translate: 0 0; } to { translate: 0 -6px; } }

/* ---------- scroll progress ---------- */
.scrollbar { position: fixed; left: 0; top: 0; z-index: 60; height: 2px; width: 100%; background: linear-gradient(90deg, var(--glacier), var(--orange)); transform-origin: left; transform: scaleX(var(--sp, 0)); pointer-events: none; }

/* ---------- hero v2 ---------- */
.hero__slide.is-in { animation: none; }
.hero__aurora { position: absolute; inset: 0 0 35% 0; z-index: 2; pointer-events: none; mix-blend-mode: screen; opacity: .55;
	background: radial-gradient(60% 40% at 30% 20%, rgba(56, 240, 162, .35), transparent 70%), radial-gradient(50% 35% at 70% 10%, rgba(25, 179, 222, .35), transparent 70%), radial-gradient(40% 30% at 55% 30%, rgba(160, 110, 255, .18), transparent 70%);
	background-size: 160% 100%; animation: aurora 18s ease-in-out infinite alternate; -webkit-mask: linear-gradient(#000, transparent); mask: linear-gradient(#000, transparent); }
@keyframes aurora { 0% { background-position: 0% 0%; transform: skewX(0deg); } 50% { background-position: 60% 10%; transform: skewX(-4deg); } 100% { background-position: 100% 0%; transform: skewX(3deg); } }
.hero__snow { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }
.hero__shards { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.shard-p { position: absolute; inset: 0; background-size: cover; background-position: 70% 50%; will-change: transform, opacity; }
.shard-p::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 30%); mix-blend-mode: screen; }
.hero__crack { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 6; pointer-events: none; }
.hero__crack path { fill: none; stroke: rgba(235, 248, 255, .95); stroke-width: 2; filter: drop-shadow(0 0 4px rgba(25, 179, 222, .9)); }
.hero__copy, .hero__hud { position: relative; z-index: 4; }
.hero__in { z-index: 4; }
.hero__t .w { display: inline-block; white-space: nowrap; }
.hero__t .ch { display: inline-block; }
.js .hero__slide.is-on .hero__t .ch { animation: chin .8s var(--ease) both; animation-delay: calc(.15s + var(--i) * 28ms); }
@keyframes chin { from { opacity: 0; transform: translateY(.5em) rotate(6deg); filter: blur(8px); color: #bfefff; } 60% { color: #fff; } }
.hero__slide.is-on .hero__t { animation: none; }
.hero__spec .is-float dd { color: #bff0ff; min-width: 9ch; }
.scan { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--aurora); margin-left: 4px; vertical-align: middle; box-shadow: 0 0 8px var(--aurora); animation: pulse 1.2s ease-in-out infinite; }
.js .hero__slide.is-on .core__pin { animation: pinin 1.2s .45s var(--ease) both; }
@keyframes pinin { from { left: 0; } }
.hero__hud { position: absolute; right: var(--gut); top: 28px; z-index: 6; display: grid; justify-items: end; gap: 10px; color: #fff; }
.hero__count { display: flex; align-items: baseline; gap: 6px; font-size: 18px; color: var(--frost-2); }
.hero__count b { font-size: 54px; line-height: .8; color: #fff; font-weight: 900; min-width: 2ch; text-align: right; }
.hero__nav { display: flex; gap: 6px; }
.hero__btn { position: relative; display: grid; place-items: center; width: 48px; height: 48px; color: #fff; background: rgba(6, 16, 27, .45); border: 1px solid rgba(207, 230, 243, .3); backdrop-filter: blur(6px); transition: background .2s, border-color .2s; }
.hero__btn:hover { background: var(--orange); border-color: var(--orange); }
.hero__btn:first-child .ic { transform: rotate(180deg); }
.hero__ring { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); transform: rotate(-90deg); }
.hero__ring circle { fill: none; stroke: var(--orange); stroke-width: 2; stroke-dasharray: 138.2; stroke-dashoffset: 138.2; }
.hero.is-ticking .hero__ring circle { animation: ring var(--dur, 7s) linear forwards; }
.hero.is-paused .hero__ring circle { animation-play-state: paused; }
@keyframes ring { to { stroke-dashoffset: 0; } }
.hero__next { font-size: 11px; color: var(--frost-2); text-transform: uppercase; letter-spacing: .08em; }
.hero__next b { color: #fff; font-weight: 600; }
.hero__tab img { transition: transform .5s var(--ease); }
.hero__tab.is-on img { transform: translateY(-4px) rotate(-8deg) scale(1.12); filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }

/* ---------- ticker ---------- */
.ticker { display: flex; align-items: stretch; height: 46px; background: var(--night); border-bottom: 1px solid var(--night-line); color: var(--frost); overflow: hidden; }
.ticker__k { flex: none; display: flex; align-items: center; gap: 8px; padding: 0 16px 0 var(--gut); font-size: 13px; color: var(--yolk); background: var(--night); border-right: 1px solid var(--night-line); position: relative; z-index: 2; box-shadow: 12px 0 18px var(--night); }
.ticker__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--aurora); box-shadow: 0 0 10px var(--aurora); animation: pulse 1.4s ease-in-out infinite; }
.ticker__vp { flex: 1; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.ticker__run { display: flex; width: max-content; animation: tick 70s linear infinite; }
.ticker:hover .ticker__run { animation-play-state: paused; }
@keyframes tick { to { transform: translateX(-50%); } }
.ticker__list { display: flex; }
.ticker__list a { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px; border-right: 1px solid var(--night-line); font-size: 13px; white-space: nowrap; transition: background .2s; }
.ticker__list a:hover { background: var(--night-3); }
.ticker__list img { width: 44px; height: 33px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5)); }
.ticker__n { color: #fff; font-weight: 600; position: relative; padding-left: 12px; }
.ticker__n::before { content: ""; position: absolute; left: 0; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; background: var(--rc); -webkit-mask: var(--flake) center / contain no-repeat; mask: var(--flake) center / contain no-repeat; }
.ticker__w { font-size: 11px; color: var(--frost-2); }
.ticker__list b { color: var(--yolk); font-weight: 600; }
.ticker__list em { font-style: normal; font-size: 11px; color: #fff; background: var(--orange); padding: 2px 5px; }

/* ---------- station secrets tile ---------- */
.secrets { display: grid; gap: 0; border: 1px solid rgba(207, 230, 243, .3); background: rgba(6, 16, 27, .35); }
.secrets li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid rgba(207, 230, 243, .2); font-size: 13px; color: var(--frost); }
.secrets li:last-child { border-bottom: 0; }
.secrets kbd { color: var(--yolk); opacity: 1; font-size: 12px; }
.note--secrets .note__a { font-weight: 600; text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--frost); }

/* ---------- waddler + band snow ---------- */
.band { overflow: hidden; }
.band__snow { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.band > .wrap { position: relative; z-index: 1; }
.waddler { position: absolute; bottom: 6px; left: -140px; z-index: 2; width: 92px; height: auto; pointer-events: auto; cursor: pointer; animation: waddle-x 22s linear infinite; }
.waddler.is-bonk { animation-play-state: paused; filter: brightness(1.3); }
@keyframes waddle-x { 0%, 62% { transform: translateX(0) rotate(0deg); } 63% { transform: translateX(0) rotate(-6deg); } 64.5% { transform: translateX(2vw) rotate(6deg); } 66% { transform: translateX(4vw) rotate(-6deg); } 67.5% { transform: translateX(6vw) rotate(6deg); } 69% { transform: translateX(8vw) rotate(-6deg); } 70.5% { transform: translateX(10vw) rotate(6deg); } 72% { transform: translateX(12vw) rotate(-6deg); } 73.5% { transform: translateX(14vw) rotate(6deg); } 75% { transform: translateX(16vw) rotate(-6deg); } 76.5% { transform: translateX(18vw) rotate(6deg); } 78% { transform: translateX(20vw) rotate(-6deg); } 79.5% { transform: translateX(22vw) rotate(6deg); } 81% { transform: translateX(24vw) rotate(-6deg); } 82.5% { transform: translateX(26vw) rotate(6deg); } 84% { transform: translateX(28vw) rotate(-6deg); } 85.5% { transform: translateX(30vw) rotate(6deg); } 87% { transform: translateX(32vw) rotate(-6deg); } 88.5% { transform: translateX(34vw) rotate(6deg); } 90% { transform: translateX(36vw) rotate(-6deg); } 100% { transform: translateX(calc(100vw + 280px)) rotate(0deg); } }

/* ---------- breaker life ---------- */
.breaker { background-position: 70% calc(50% + var(--py, 0px)); }
.breaker__glint { position: absolute; top: 0; bottom: 0; left: -30%; width: 18%; z-index: 0; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(200, 240, 255, .25), transparent); transform: skewX(-16deg); animation: bglint 7s ease-in-out infinite; mix-blend-mode: screen; }
@keyframes bglint { 0%, 60% { left: -30%; } 100% { left: 130%; } }
.breaker__in { position: relative; z-index: 1; }

/* ---------- icicle drips ---------- */
.drip { position: absolute; z-index: 3; width: 3px; height: 7px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: linear-gradient(#e9f8ff, #8fd7f0); pointer-events: none; animation: drip 1.2s cubic-bezier(.55, 0, .9, .45) forwards; }
@keyframes drip { 0% { transform: translateY(0) scaleY(.4); opacity: 0; } 15% { opacity: 1; transform: translateY(0) scaleY(1); } 100% { transform: translateY(170px) scaleY(1.4); opacity: 0; } }

/* ---------- Ice Core Lab ---------- */
.lab { position: relative; margin-top: 72px; padding: 52px 0 56px; background: var(--night) radial-gradient(80% 60% at 50% 0%, rgba(25, 179, 222, .14), transparent 70%); color: #fff; overflow: hidden; }
.lab .sh { border-color: var(--frost); }
.lab .sh__code { background: var(--glacier-2); }
.lab .sh__m { color: var(--frost-2); }
.lab__box { position: relative; padding-top: 128px; }
.lab .peek { right: 40px; height: 128px; }
.lab .peek__hole { box-shadow: 0 0 0 3px #cfeaf7; }
.lab .peek__ball { top: 54px; background: transparent; color: var(--frost); border-color: var(--night-line); }
.lab .peek__ball:hover { color: var(--orange); border-color: var(--orange); }
.lab__vp { overflow-x: auto; scrollbar-width: thin; border: 1px solid var(--night-line); background: linear-gradient(180deg, rgba(19, 40, 64, .6), rgba(6, 16, 27, .9)); }
.lab__core { position: relative; height: 500px; min-width: 980px; }
.lab__bands { position: absolute; inset: 0; display: grid; grid-template-columns: var(--cols, repeat(5, minmax(0, 1fr))); transition: grid-template-columns .9s var(--ease); }
.lab__band { position: relative; display: grid; align-content: start; gap: 2px; padding: 12px 14px; border-right: 1px dashed rgba(207, 230, 243, .14); }
.lab__band:last-child { border-right: 0; }
.lab__band b { font-size: 22px; color: #fff; }
.lab__band span { font-size: 11px; color: var(--frost-2); font-style: italic; white-space: nowrap; }
.lab__band { min-width: 0; overflow: hidden; }
.lab__band em { position: absolute; right: 12px; top: 12px; font-style: normal; font-size: 12px; color: var(--frost-2); }
.lab__rod { position: absolute; left: 0; right: 0; top: 50%; height: 18px; margin-top: -9px; display: grid; grid-template-columns: var(--cols, repeat(5, minmax(0, 1fr))); transition: grid-template-columns .9s var(--ease); box-shadow: 0 0 30px rgba(127, 220, 246, .25); }
.lab__rod i:nth-child(1) { background: linear-gradient(180deg, #f2fcff, #bff0ff); }
.lab__rod i:nth-child(2) { background: linear-gradient(180deg, #d7f4ff, #94dbf3); }
.lab__rod i:nth-child(3) { background: linear-gradient(180deg, #9fdcf0, #5cb6d6); }
.lab__rod i:nth-child(4) { background: linear-gradient(180deg, #5fa2c2, #3a7fa3); }
.lab__rod i:nth-child(5) { background: linear-gradient(180deg, #2a5575, #1b3a55); }
.lab__rod::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(255, 255, 255, .25) 22px 23px); mix-blend-mode: overlay; }
.lab__pins { position: absolute; inset: 0; }
.pin { position: absolute; left: 0; top: 50%; width: 46px; height: 34px; margin: -17px 0 0 -23px; padding: 0; display: grid; place-items: center; background: rgba(11, 26, 42, .9); border: 1px solid var(--night-line); border-bottom: 2px solid var(--rc); cursor: pointer;
	transform: translate(var(--x, 0px), var(--y, 0px)); transition: transform .9s var(--ease), opacity .5s, border-color .2s, background .2s; }
.pin img { width: 40px; height: 30px; object-fit: contain; pointer-events: none; }
.pin::before { content: ""; position: absolute; left: 50%; width: 1px; background: rgba(207, 230, 243, .35); height: var(--stem, 0px); }
.pin.is-up::before { top: 100%; }
.pin.is-down::before { bottom: 100%; }
.pin:hover, .pin:focus-visible { z-index: 5; background: var(--night-3); border-color: var(--yolk); transform: translate(var(--x, 0px), var(--y, 0px)) scale(1.5); }
.pin.is-out { opacity: 0; pointer-events: none; transform: translate(var(--x, 0px), calc(var(--y, 0px) - 40px)) scale(.6); }
.pin.is-cold { box-shadow: 0 0 0 1px rgba(127, 220, 246, .35); }
.js .lab:not(.is-in) .pin { opacity: 0; transform: translate(var(--x, 0px), -260px); }
.lab__tip { position: absolute; z-index: 20; width: 260px; padding: 12px; background: var(--paper); color: var(--ink); border: 1px solid var(--ink); box-shadow: 0 20px 40px -10px rgba(0, 0, 0, .6); pointer-events: auto; clip-path: var(--cut); display: grid; gap: 6px; }
.lab__tip img { width: 100%; height: 120px; object-fit: contain; background: radial-gradient(ellipse at 50% 60%, #fff, #e6eef4); border-bottom: 2px solid var(--rc); }
.lab__tip small { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.lab__tip b { font-size: 15px; line-height: 1.2; }
.lab__tip .mono { font-size: 12px; color: var(--ink-2); }
.lab__tip .row2 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lab__tip .price { font-size: 26px; }
.lab__read { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 12px 0 0; font-size: 12px; color: var(--frost-2); }
.lab__read b { color: #fff; font-weight: 600; }
.lab__hint { margin-left: auto; }

/* ---------- Loadout builder ---------- */
.build { margin-top: 72px; padding: 48px 0 56px; background: var(--night); color: #fff; }
.build .sh { border-color: var(--frost); }
.build .sh__code { background: var(--orange); }
.build .sh__m { color: var(--frost-2); }
.build__in { display: grid; grid-template-columns: 84px minmax(0, 1fr) minmax(0, 460px); gap: 0; border: 1px solid var(--night-line); min-height: 620px; }
.build__agents { display: grid; align-content: start; border-right: 1px solid var(--night-line); background: var(--night-2); }
.build__ag { position: relative; display: grid; justify-items: center; gap: 2px; padding: 8px 0; border-bottom: 1px solid var(--night-line); transition: background .2s; }
.build__ag:hover { background: var(--night-3); }
.build__ag.is-on { background: var(--night-3); box-shadow: inset 3px 0 0 var(--orange); }
.build__face { width: 60px; height: 60px; background-size: 230% auto; background-position: 46% 9%; background-repeat: no-repeat; border: 1px solid var(--night-line); background-color: var(--night); filter: grayscale(.6); transition: filter .3s; background-image: var(--face); }
.build__ag.is-on .build__face, .build__ag:hover .build__face { filter: none; }
.build__ag small { font-size: 10px; color: var(--frost-2); }
.build__stage { position: relative; overflow: hidden; isolation: isolate; min-height: 520px; }
.build__bg { position: absolute; inset: -20px; z-index: -2; background: var(--night-2) var(--bg, none) center / cover no-repeat; transition: opacity .6s; animation: kenburns2 24s ease-in-out infinite alternate; }
@keyframes kenburns2 { from { transform: scale(1.04) translateX(-10px); } to { transform: scale(1.1) translateX(10px); } }
.build__stage::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .9), rgba(6, 16, 27, 0) 45%), linear-gradient(90deg, rgba(6, 16, 27, .5), transparent 30%, transparent 70%, rgba(6, 16, 27, .5)); }
.build__agent { position: absolute; left: 50%; bottom: 0; height: 88%; width: auto; max-width: none; transform: translateX(-50%); filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .55)); animation: breathe 5s ease-in-out infinite; transform-origin: bottom center; }
@keyframes breathe { 50% { transform: translateX(-50%) scale(1.012) translateY(-3px); } }
.build__agent.is-swap { animation: agentin .7s var(--ease) both; }
@keyframes agentin { from { opacity: 0; transform: translateX(-30%) scale(.96); filter: blur(10px) brightness(1.6); } }
.build__who { position: absolute; left: 20px; bottom: 18px; display: grid; gap: 2px; z-index: 2; max-width: 60%; }
.build__who .mono { font-size: 11px; color: var(--frost-2); }
.build__name { font: 900 34px/.9 var(--f-disp); text-transform: uppercase; }
.build__role { color: var(--yolk); font-size: 13px; font-weight: 600; }
.build__snow { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.build__menu { display: grid; grid-template-rows: 1fr auto; border-left: 1px solid var(--night-line); background: var(--night-2); }
.build__slots { display: grid; }
.slot { position: relative; display: grid; grid-template-columns: 30px 108px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px 10px 14px; border-bottom: 1px solid var(--night-line); cursor: pointer; transition: background .2s; overflow: hidden; }
.slot:hover, .slot.is-active { background: var(--night-3); }
.slot.is-active { box-shadow: inset 3px 0 0 var(--orange); }
.slot.is-empty .slot__img img { opacity: .15; }
.slot__key { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--night-line); font: 600 12px/1 var(--f-mono); color: var(--frost-2); }
.slot.is-active .slot__key { background: var(--orange); border-color: var(--orange); color: #fff; }
.slot__img { position: relative; height: 70px; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 60%, rgba(127, 220, 246, .14), transparent 70%); border-bottom: 2px solid var(--rc, var(--night-line)); overflow: hidden; }
.slot__img img { max-width: 100%; max-height: 64px; object-fit: contain; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }
.slot__img img.is-in { animation: slotin .45s var(--ease) both; }
.slot__img img.is-in-l { animation: slotinl .45s var(--ease) both; }
@keyframes slotin { from { opacity: 0; transform: translateX(40px) rotate(-6deg); filter: blur(6px); } }
@keyframes slotinl { from { opacity: 0; transform: translateX(-40px) rotate(6deg); filter: blur(6px); } }
.slot__txt { display: grid; gap: 1px; min-width: 0; }
.slot__lbl { font: 700 10px/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--frost-2); }
.slot__n { font-weight: 700; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slot__m { font-size: 11px; color: var(--frost-2); }
.slot__p { font: 600 14px/1 var(--f-mono); color: var(--yolk); }
.slot__ctl { display: grid; justify-items: end; gap: 6px; }
.slot__arrows { display: flex; gap: 4px; }
.slot__arrows button, .slot__x { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--night-line); color: var(--frost); font-size: 14px; transition: background .15s, border-color .15s; }
.slot__arrows button:hover, .slot__x:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
.slot__x { position: absolute; right: 6px; top: 6px; width: 20px; height: 20px; font-size: 12px; opacity: 0; }
.slot:hover .slot__x { opacity: 1; }
.slot__pos { font: 500 10px/1 var(--f-mono); color: var(--frost-2); }
.build__foot { display: grid; gap: 12px; padding: 16px; border-top: 1px solid var(--night-line); background: var(--night); }
.build__total { display: flex; justify-content: space-between; align-items: baseline; }
.build__total .mono { font-size: 11px; color: var(--frost-2); text-transform: uppercase; }
.build__total .price { color: #fff; font-size: 44px; }
.build__total .price sup { color: var(--frost-2); }
.build__acts { display: grid; grid-template-columns: 56px 1fr; gap: 8px; }
.build__dice { --b: transparent; --c: #fff; --bd: var(--night-line); font-size: 22px; padding: 0; }
.build__dice:hover { --b: var(--night-3); }
.build__dice.is-roll { animation: roll .6s var(--ease); }
@keyframes roll { 50% { transform: rotate(200deg) scale(1.1); } 100% { transform: rotate(360deg); } }

/* ---------- v2 responsive ---------- */
@media (max-width: 1080px) {
	.build__in { grid-template-columns: minmax(0, 1fr); }
	.build__agents { grid-auto-flow: column; grid-auto-columns: minmax(64px, 1fr); border-right: 0; border-bottom: 1px solid var(--night-line); overflow-x: auto; }
	.build__ag { border-bottom: 0; border-right: 1px solid var(--night-line); }
	.build__ag.is-on { box-shadow: inset 0 -3px 0 var(--orange); }
	.build__stage { min-height: 420px; }
	.build__menu { border-left: 0; border-top: 1px solid var(--night-line); }
	.hero__hud { top: 18px; }
	.hero__count b { font-size: 40px; }
	.hero__next { display: none; }
}
@media (max-width: 680px) {
	.ticker { height: 40px; }
	.ticker__k { font-size: 11px; padding: 0 10px 0 16px; }
	.ticker__list a { height: 40px; padding: 0 12px; font-size: 12px; }
	.ticker__list img { width: 34px; height: 26px; }
	.ticker__w { display: none; }
	.hero__hud { top: 12px; right: 16px; grid-auto-flow: column; align-items: center; gap: 8px; }
	.hero__count { font-size: 13px; }
	.hero__count b { font-size: 28px; }
	.hero__btn { width: 38px; height: 38px; }
	.lab { margin-top: 48px; padding: 36px 0 40px; }
	.lab__box { padding-top: 104px; }
	.lab .peek { right: 0; height: 104px; width: 150px; }
	.lab .peek__agent { width: 120px; }
	.lab .peek.is-up .peek__agent { transform: translate(-50%, 28%); }
	.lab .peek__ball { top: 40px; }
	.lab__core { height: 460px; min-width: 900px; }
	.lab__hint { display: none; }
	.build { margin-top: 48px; padding: 36px 0 40px; }
	.build__stage { min-height: 360px; }
	.build__name { font-size: 26px; }
	.slot { grid-template-columns: 26px 78px minmax(0, 1fr) auto; gap: 8px; padding: 8px 10px; }
	.slot__img { height: 56px; }
	.slot__img img { max-height: 50px; }
	.build__total .price { font-size: 34px; }
	.waddler { width: 64px; }
}
@media (prefers-reduced-motion: reduce) {
	.ticker__run, .hero__aurora, .waddler, .build__bg, .build__agent, .breaker__glint, .shelf img { animation: none !important; }
	.js [data-reveal], .js [data-head] .sh__tx, .js [data-head] .sh__code { transform: none !important; filter: none !important; opacity: 1 !important; }
}

/* ==========================================================================
   Product page v2: inspect scene
   ========================================================================== */
.pdx { background: var(--snow); }
.insp { position: relative; color: #fff; background: var(--night); overflow: hidden; isolation: isolate; padding-bottom: 28px; }
.insp__bg { position: absolute; inset: -30px; z-index: -3; background: var(--night) var(--art) center / cover no-repeat; filter: blur(3px) brightness(.55) saturate(1.1); transform: scale(1.06); animation: kenburns2 30s ease-in-out infinite alternate; }
.insp::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(55% 60% at 50% 48%, rgba(25, 179, 222, .22), transparent 70%), linear-gradient(0deg, var(--night) 0%, rgba(6, 16, 27, .2) 40%, rgba(6, 16, 27, .55) 100%); }
.insp .hero__aurora { z-index: -1; opacity: .4; }
.insp__snow { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.insp__word { position: absolute; left: 0; top: 50%; z-index: -1; display: flex; gap: 6vw; white-space: nowrap; transform: translateY(-62%); font: 900 clamp(120px, 17vw, 300px)/.8 var(--f-disp); text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px rgba(207, 230, 243, .14); animation: wordrun 60s linear infinite; pointer-events: none; }
@keyframes wordrun { to { transform: translate(-50%, -62%); } }
.insp__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 380px); gap: 28px; align-items: center; min-height: calc(100vh - 210px); max-height: 860px; padding-top: 8px; }
.insp .crumbs { color: var(--frost-2); padding-top: 0; }
.insp .crumbs b { color: #fff; }
.insp__l { display: grid; gap: 14px; align-content: center; }
.insp__type { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--frost); }
.insp__type .rar { color: #fff; }
.insp__cold { display: inline-flex; align-items: center; gap: 6px; color: #9fe3f7; }
.insp__cold .ic { width: 13px; height: 13px; }
.insp__t { display: grid; gap: 4px; }
.insp__t small { font: 700 14px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--frost-2); }
.insp__n { font: 900 clamp(52px, 5.6vw, 96px)/.84 var(--f-disp); text-transform: uppercase; text-wrap: balance; }
.insp__n .w { display: inline-block; white-space: nowrap; }
.insp__n .ch { display: inline-block; }
.js .insp__n .ch { animation: chin .8s var(--ease) both; animation-delay: calc(.2s + var(--i) * 30ms); }
.insp__phase { justify-self: start; padding: 5px 10px; background: var(--rc); color: #fff; font-size: 12px; font-weight: 600; }
.insp__lede { color: var(--frost); font-size: 16px; font-style: italic; max-width: 420px; }
.hud { display: grid; border-top: 1px solid rgba(207, 230, 243, .2); }
.hud__row { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid rgba(207, 230, 243, .14); font-size: 14px; }
.hud__row dt { color: var(--frost-2); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; align-self: center; }
.hud__row dd { text-align: right; color: #fff; }
.hud__row dd em { font-style: italic; color: var(--frost-2); font-size: 12px; }
.hud__row dd a { color: #9fe3f7; }
.hud__row--float dd { font-size: 18px; color: #bff0ff; }
.js .hud__row { opacity: 0; transform: translateX(-14px); animation: hudin .6s var(--ease) forwards; }
.js .hud__row:nth-child(1) { animation-delay: .5s; } .js .hud__row:nth-child(2) { animation-delay: .58s; } .js .hud__row:nth-child(3) { animation-delay: .66s; } .js .hud__row:nth-child(4) { animation-delay: .74s; } .js .hud__row:nth-child(5) { animation-delay: .82s; }
@keyframes hudin { to { opacity: 1; transform: none; } }
.insp__c { position: relative; display: grid; place-items: center; min-height: 520px; user-select: none; }
.insp__ring { position: absolute; width: min(92%, 560px); height: auto; aspect-ratio: 1; animation: spin 40s linear infinite; opacity: .6; }
.insp__ring circle { fill: none; stroke: rgba(127, 220, 246, .35); stroke-width: .6; }
.insp__ring circle:first-child { stroke-dasharray: 2 6; }
.insp__ring circle:last-child { stroke-dasharray: 60 30 8 30; stroke: rgba(127, 220, 246, .25); }
@keyframes spin { to { transform: rotate(360deg); } }
.insp__ret { position: absolute; inset: 12% 8%; pointer-events: none; }
.insp__ret i { position: absolute; width: 26px; height: 26px; border: 2px solid var(--rc); opacity: .9; }
.insp__ret i:nth-child(1) { left: 0; top: 0; border-right: 0; border-bottom: 0; }
.insp__ret i:nth-child(2) { right: 0; top: 0; border-left: 0; border-bottom: 0; }
.insp__ret i:nth-child(3) { left: 0; bottom: 0; border-right: 0; border-top: 0; }
.insp__ret i:nth-child(4) { right: 0; bottom: 0; border-left: 0; border-top: 0; }
.js .insp__ret i { animation: retin .9s .2s var(--ease) both; }
@keyframes retin { from { opacity: 0; transform: scale(1.8); } }
.insp__img { position: relative; z-index: 2; width: min(100%, 680px); height: auto; filter: drop-shadow(0 40px 40px rgba(0, 0, 0, .6)) drop-shadow(0 0 30px rgba(25, 179, 222, .25)); animation: hover-float 6s ease-in-out infinite alternate; transition: transform .3s var(--ease); cursor: grab; }
.js .insp__img { animation: skinin 1.1s var(--ease) both, hover-float 6s 1.1s ease-in-out infinite alternate; }
@keyframes skinin { from { opacity: 0; transform: translateY(40px) rotate(-8deg) scale(.9); filter: blur(10px); } }
.insp__floor { position: absolute; left: 50%; bottom: 14%; width: 70%; height: 40px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(127, 220, 246, .35), transparent 70%); filter: blur(6px); z-index: 1; animation: floorpulse 6s ease-in-out infinite alternate; }
@keyframes floorpulse { to { opacity: .55; transform: translateX(-50%) scaleX(.85); } }
.insp__tools { position: absolute; left: 50%; bottom: 4%; transform: translateX(-50%); z-index: 3; }
.insp__tools kbd { margin-left: 4px; }
.insp__c.is-inspect .insp__img { animation: none; }
.insp__c.is-inspect .insp__ring { animation-duration: 8s; opacity: 1; }
.insp__r { align-self: center; }
.buy2 { display: grid; gap: 12px; padding: 22px; background: rgba(246, 249, 251, .97); color: var(--ink); border: 1px solid #fff; clip-path: var(--cut); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); }
.js .buy2 { animation: buyin .9s .35s var(--ease) both; }
@keyframes buyin { from { opacity: 0; transform: translateX(30px); } }
.buy2 .woocommerce-message, .buy2 .woocommerce-error { margin: 0; font-size: 13px; }
.buy2__k { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.buy2__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--aurora); box-shadow: 0 0 0 4px rgba(56, 240, 162, .2); animation: pulse 1.6s ease-in-out infinite; }
.buy2__dot.is-off { background: var(--danger); box-shadow: none; animation: none; }
.buy2__price .price { font-size: 60px; }
.buy2__was { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-3); flex-wrap: wrap; }
.buy2 form.cart { display: flex; margin: 0; }
.buy2 .quantity { display: none; }
.buy2 .stock { display: none; }
.buy2 .single_add_to_cart_button { flex: 1; height: 58px; border: 0; background: var(--orange); color: #fff; font: 800 15px/1 var(--f-body); font-variation-settings: "wdth" 115; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; clip-path: var(--cut-sm); transition: background .2s, transform .2s; position: relative; overflow: hidden; }
.buy2 .single_add_to_cart_button::after { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-18deg); animation: btnglint 3.6s ease-in-out infinite; }
@keyframes btnglint { 0%, 55% { left: -40%; } 100% { left: 130%; } }
.buy2 .single_add_to_cart_button:hover { background: var(--orange-2); transform: translateY(-1px); }
.buy2__code { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px; border: 1px dashed var(--line-2); font-size: 12px; color: var(--ink-2); }
.buy2__code b { color: var(--orange); }
.buy2__code .ic { width: 13px; height: 13px; }
.buy2__code:hover { border-color: var(--orange); }
.buy2__trust { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-2); }
.buy2__trust li { display: flex; align-items: center; gap: 8px; }
.buy2__trust .ic { width: 15px; height: 15px; color: var(--glacier-2); }
.insp__core { position: relative; z-index: 1; }
.corex { padding: 16px 20px 10px; background: rgba(6, 16, 27, .55); border: 1px solid var(--night-line); backdrop-filter: blur(10px); }
.corex__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 6px; }
.corex__k { color: var(--yolk); font-size: 15px; }
.corex__pct { color: var(--frost); font-size: 14px; }
.corex__pct b { color: var(--aurora); font: 800 24px/1 var(--f-disp); }
.corex .core--lg .core__lbl { color: var(--frost-2); }
.corex .core--lg .core__lbl b.on { color: #fff; }
.corex .core__pin { background: #fff; }
.corex .core__rng { border-color: rgba(255, 255, 255, .45); }
.js .corex .core__pin { animation: pinin 1.6s .6s var(--ease) both; }

.buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 46; background: rgba(6, 16, 27, .96); color: #fff; border-top: 1px solid var(--night-line); backdrop-filter: blur(10px); transform: translateY(110%); transition: transform .45s var(--ease); }
.buybar.is-on { transform: none; }
.buybar__in { display: flex; align-items: center; gap: 16px; height: 72px; }
.buybar img { width: 64px; height: 48px; object-fit: contain; }
.buybar__n { display: grid; line-height: 1.15; min-width: 0; }
.buybar__n small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--frost-2); }
.buybar__n b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buybar__m { font-size: 12px; color: var(--frost-2); }
.buybar .price { margin-left: auto; color: #fff; font-size: 30px; }
.buybar .price sup { color: var(--frost-2); }
body.has-buybar .minibar { display: none; }

.pdx__body { padding-top: 48px; display: grid; gap: 28px; }
.report { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); border: 1px solid var(--line); background: var(--paper); }
.report__txt { padding: 28px 32px; display: grid; gap: 12px; align-content: start; }
.report__t { font: 900 40px/.92 var(--f-disp); text-transform: uppercase; }
.report__agent { position: relative; min-height: 320px; display: flex; align-items: flex-end; color: #fff; background: var(--night) var(--art) center / cover; isolation: isolate; overflow: hidden; }
.report__agent::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 16, 27, .95), rgba(6, 16, 27, .15) 60%); }
.report__img { position: absolute; right: -4%; bottom: 0; height: 94%; width: auto; z-index: -1; transition: transform .8s var(--ease); }
.report__agent:hover .report__img { transform: translateY(-6px) scale(1.03); }
.report__agent p { display: grid; gap: 4px; padding: 22px; max-width: 62%; }
.report__agent small { color: var(--yolk); font-size: 13px; }
.report__agent b { font: 900 28px/.95 var(--f-disp); text-transform: uppercase; }
.report__agent span { color: var(--frost); font-size: 13px; }
.macro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.macro__f { position: relative; margin: 0; aspect-ratio: 16 / 10; background-color: var(--night-2); background-size: 260% auto; background-position: var(--bgp); background-repeat: no-repeat; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; transition: background-size 1.2s var(--ease); }
.macro__f::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(25, 179, 222, .12), rgba(6, 16, 27, .5)); pointer-events: none; }
.macro__f:hover { background-size: 330% auto; }
.macro__f figcaption { position: absolute; left: 12px; bottom: 10px; font-size: 11px; color: var(--frost); padding: 4px 8px; background: rgba(6, 16, 27, .7); }
.fmap { padding: 22px 24px 30px; background: var(--paper); border: 1px solid var(--line); }
.fmap__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 26px; }
.fmap__head .mono { font-size: 11px; color: var(--ink-3); }
.fmap__track { position: relative; height: 34px; background: linear-gradient(90deg, #c9f0ff, #5cb6d6 45%, #1b3a55); }
.fmap__dot { position: absolute; top: 50%; left: var(--x); width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--c); border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); transition: transform .2s; }
.fmap__dot:hover { transform: scale(1.6); z-index: 2; }
.js .fmap .fmap__dot { opacity: 0; transform: translateY(-20px); transition: opacity .5s, transform .6s var(--ease); transition-delay: var(--d); }
.js .fmap.is-in .fmap__dot { opacity: 1; transform: none; }
.fmap__dot.is-me { width: 20px; height: 20px; margin: -10px 0 0 -10px; background: var(--orange); border-width: 3px; z-index: 3; box-shadow: 0 0 0 6px rgba(255, 106, 19, .25); animation: pulse 1.6s ease-in-out infinite; }
.fmap__dot.is-me span { position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%); white-space: nowrap; font-size: 11px; color: #fff; background: var(--ink); padding: 4px 8px; }
.deliver { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); background: var(--paper); counter-reset: d; position: relative; }
.deliver::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: linear-gradient(90deg, var(--glacier), var(--orange)); transform-origin: left; transform: scaleX(0); transition: transform 1.4s var(--ease); }
.deliver.is-in::before { transform: none; }
.deliver li { display: grid; gap: 6px; padding: 22px 22px 24px; border-right: 1px solid var(--line); }
.deliver li:last-child { border-right: 0; }
.deliver b { color: var(--orange); font-size: 13px; }
.deliver strong { font: 900 24px/1 var(--f-disp); text-transform: uppercase; }
.deliver span { font-size: 14px; color: var(--ink-2); }

@media (max-width: 1180px) {
	.insp__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); max-height: none; }
	.insp__c { grid-column: 1 / -1; grid-row: 1; min-height: 420px; }
	.insp__word { font-size: 160px; }
}
@media (max-width: 800px) {
	.insp__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; min-height: 0; }
	.insp__c { min-height: 300px; }
	.insp__r { order: 2; }
	.insp__l { order: 3; }
	.insp__n { font-size: 48px; }
	.buy2__price .price { font-size: 46px; }
	.report { grid-template-columns: minmax(0, 1fr); }
	.macro { grid-template-columns: minmax(0, 1fr); }
	.macro__f { aspect-ratio: 16 / 8; }
	.deliver { grid-template-columns: minmax(0, 1fr); }
	.deliver li { border-right: 0; border-bottom: 1px solid var(--line); }
	.buybar__m { display: none; }
	.buybar__in { gap: 10px; height: 64px; }
	.buybar .price { font-size: 22px; }
	.buybar .btn { padding: 0 12px; }
	.buybar .btn .ic { display: none; }
	.report__txt { padding: 20px; }
}
@media (max-width: 480px) {
	.buybar__n { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.insp__word, .insp__ring, .insp__bg, .insp__floor { animation: none !important; }
	.js .hud__row { opacity: 1; transform: none; animation: none; }
}

/* ==========================================================================
   Market v2: live header, quick chips, spotlight, sliders, load more, quick look
   ========================================================================== */
.catx__in { padding-bottom: 28px; }
.js .catx__agent { animation: agentslide 1s .1s var(--ease) both; }
@keyframes agentslide { from { opacity: 0; transform: translateX(60px); filter: blur(8px); } }
.js .catx__t { animation: rise .8s .1s var(--ease) both; }
.catx__snow { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.catx__in, .catx__stats { position: relative; z-index: 1; }
.catx__stats { background: rgba(6, 16, 27, .72); border-top: 1px solid rgba(207, 230, 243, .14); backdrop-filter: blur(8px); }
.catx__stats-in { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.catx__stats-in > div { display: grid; gap: 2px; padding: 12px 16px; border-right: 1px solid rgba(207, 230, 243, .12); }
.catx__stats-in > div:first-child { padding-left: 0; }
.catx__stats-in > div:last-child { border-right: 0; }
.catx__stats-in small { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--frost-2); }
.catx__stats-in b { font-size: 20px; font-weight: 600; color: #fff; }
.qchips { display: flex; gap: 6px; flex-wrap: wrap; padding-top: 16px; }
.qchip { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 6px 0 12px; background: var(--paper); border: 1px solid var(--line-2); font: 600 13px/1 var(--f-body); color: var(--ink-2); transition: background .2s, color .2s, border-color .2s, transform .2s var(--ease); }
.qchip span { display: grid; place-items: center; min-width: 24px; height: 22px; padding: 0 5px; background: var(--paper-2); border: 1px solid var(--line); font-size: 11px; color: var(--ink-3); transition: inherit; }
.qchip:hover { border-color: var(--ink); color: var(--ink); transform: translateY(-2px); }
.qchip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.qchip.is-on span { background: var(--orange); border-color: var(--orange); color: #fff; }
.qchip.is-zero { opacity: .45; pointer-events: none; }
.shop__in { padding-top: 16px; }

/* dual range */
.dual { position: relative; height: 26px; margin: 6px 0 2px; }
.dual::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 4px; background: var(--line); }
.dual--core::before { background: linear-gradient(90deg, #c9f0ff 0 7%, #94dbf3 7% 15%, #5cb6d6 15% 38%, #3a7fa3 38% 45%, #1b3a55 45%); }
.dual__fill { position: absolute; top: 11px; height: 4px; left: var(--a, 0%); right: calc(100% - var(--b, 100%)); background: var(--orange); }
.dual--core .dual__fill { background: transparent; box-shadow: 0 0 0 2px var(--orange); }
.dual input[type=range] { position: absolute; inset: 0; width: 100%; margin: 0; appearance: none; background: none; pointer-events: none; }
.dual input[type=range]::-webkit-slider-thumb { appearance: none; width: 16px; height: 22px; background: var(--ink); border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); pointer-events: auto; cursor: grab; clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%); }
.dual input[type=range]::-moz-range-thumb { width: 16px; height: 22px; background: var(--ink); border: 2px solid #fff; border-radius: 0; pointer-events: auto; cursor: grab; }
.dual input[type=range]:active::-webkit-slider-thumb { background: var(--orange); cursor: grabbing; }
.dual input[type=range]:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--glacier); }

/* spotlight */
.spot { padding: 16px 0 18px; border-bottom: 1px solid var(--line); }
.spot__k { font-size: 14px; color: var(--glacier-2); margin-bottom: 10px; }
.spot__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.spot__c { position: relative; display: grid; grid-template-columns: 44% minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px; background: linear-gradient(135deg, var(--night-2), var(--night-3)); color: #fff; overflow: hidden; clip-path: var(--cut); transition: transform .3s var(--ease); }
.spot__c::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--rc); }
.spot__c:hover { transform: translateY(-3px); }
.spot__rank { position: absolute; left: 10px; top: 8px; font-size: 13px; color: var(--yolk); z-index: 1; }
.spot__img { display: grid; place-items: center; aspect-ratio: 4 / 3; background: radial-gradient(ellipse at 50% 60%, rgba(127, 220, 246, .22), transparent 70%); }
.spot__img img { width: 100%; height: auto; filter: drop-shadow(0 10px 12px rgba(0, 0, 0, .5)); transition: transform .5s var(--ease); }
.spot__c:hover .spot__img img { transform: rotate(-6deg) scale(1.08); }
.spot__b { display: grid; gap: 4px; min-width: 0; }
.spot__b small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--frost-2); }
.spot__b b { font-size: 15px; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.spot__b .core__pin { background: #fff; }
.spot__m { font-size: 11px; color: #bff0ff; }
.spot__c .price { color: #fff; font-size: 24px; }
.spot__c .price sup { color: var(--frost-2); }
body[data-view="table"] .spot { display: none; }

/* views */
body[data-view="dense"] .view-grid .grid { --cols: 5; }
body[data-view="dense"] .view-grid .card__body { padding-top: 6px; }
body[data-view="dense"] .view-grid .card__n { font-size: 14px; }
body[data-view="dense"] .view-grid .card__price .price { font-size: 20px; }
body[data-view="dense"] .view-grid .card__buy span { display: none; }
body[data-view="dense"] .view-grid .card__meta span:nth-child(2) { display: none; }

/* load more */
.more { display: grid; justify-items: center; gap: 10px; padding: 28px 0 8px; }
.more__bar { width: min(320px, 100%); height: 3px; background: var(--line); }
.more__bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--glacier), var(--orange)); transition: width .6s var(--ease); }
.more__txt { font-size: 12px; color: var(--ink-3); }
.more__btn { min-width: 240px; }
.pager { display: grid; justify-items: center; gap: 12px; padding: 28px 0 8px; }
.pager__txt { font-size: 12px; color: var(--ink-3); }
.pager .woocommerce-pagination { margin: 0; }
.pager .woocommerce-pagination ul { gap: 6px; }
.pager .woocommerce-pagination a, .pager .woocommerce-pagination span { min-width: 44px; height: 44px; clip-path: var(--cut-sm); transition: background .15s, color .15s, border-color .15s; }
.pager .woocommerce-pagination a:hover { background: var(--ink); color: #fff; }
.pager .woocommerce-pagination .prev, .pager .woocommerce-pagination .next { font-family: var(--f-body); font-size: 16px; }
.pager .woocommerce-pagination span.dots { border: 0; background: none; min-width: 20px; }
.results.is-loading { position: relative; }
.results.is-loading::after { content: ""; position: absolute; inset: 0; z-index: 5; background: linear-gradient(100deg, rgba(238, 243, 247, .2) 30%, rgba(255, 255, 255, .85) 50%, rgba(238, 243, 247, .2) 70%); background-size: 300% 100%; animation: frostload 1.1s linear infinite; pointer-events: none; }
@keyframes frostload { from { background-position: 100% 0; } to { background-position: -100% 0; } }
::view-transition-old(results), ::view-transition-new(results) { animation-duration: .35s; }

/* quick look on cards */
.card__qv { position: absolute; right: 8px; bottom: 10px; z-index: 4; display: grid; place-items: center; width: 34px; height: 34px; background: var(--ink); color: #fff; opacity: 0; transform: translateY(6px); transition: opacity .2s, transform .25s var(--ease), background .2s; }
.card__qv .ic { width: 16px; height: 16px; }
.card:hover .card__qv, .card__qv:focus-visible { opacity: 1; transform: none; }
.card__qv:hover { background: var(--orange); }
@media (hover: none) { .card__qv { opacity: 1; transform: none; width: 30px; height: 30px; } }
.qv { padding: 0; border: 0; background: transparent; width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow: visible; }
.qv::backdrop { background: rgba(6, 16, 27, .65); backdrop-filter: blur(4px); }
.qv[open] .qv__box { animation: qvin .45s var(--ease) both; }
@keyframes qvin { from { opacity: 0; transform: translateY(24px) scale(.97); } }
.qv__box { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: var(--paper); border: 1px solid var(--ink); clip-path: var(--cut); max-height: calc(100vh - 40px); overflow: auto; }
.qv__x { position: absolute; right: 10px; top: 10px; z-index: 3; display: grid; place-items: center; width: 36px; height: 36px; background: var(--paper); border: 1px solid var(--line-2); }
.qv__x:hover { background: var(--ink); color: #fff; }
.qv__stage { position: relative; display: grid; place-items: center; min-height: 380px; background: var(--night) radial-gradient(ellipse at 50% 55%, rgba(25, 179, 222, .28), transparent 65%); overflow: hidden; }
.qv__stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--rc, var(--orange)); }
.qv__stage img { width: 86%; height: auto; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .6)); animation: hover-float 5s ease-in-out infinite alternate; }
.qv[open] .qv__stage img { animation: skinin .8s var(--ease) both, hover-float 5s .8s ease-in-out infinite alternate; }
.qv__ret { position: absolute; inset: 10% 8%; pointer-events: none; }
.qv__ret i { position: absolute; width: 22px; height: 22px; border: 2px solid var(--rc, var(--orange)); }
.qv__ret i:nth-child(1) { left: 0; top: 0; border-right: 0; border-bottom: 0; } .qv__ret i:nth-child(2) { right: 0; top: 0; border-left: 0; border-bottom: 0; } .qv__ret i:nth-child(3) { left: 0; bottom: 0; border-right: 0; border-top: 0; } .qv__ret i:nth-child(4) { right: 0; bottom: 0; border-left: 0; border-top: 0; }
.qv__info { display: grid; gap: 12px; align-content: start; padding: 26px 24px 24px; }
.qv__info .rar { color: var(--ink-3); font-size: 11px; }
.qv__w { font: 700 13px/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.qv__n { font: 900 46px/.88 var(--f-disp); text-transform: uppercase; }
.qv__line { font-style: italic; color: var(--ink-2); }
.qv__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.qv__specs div { padding: 8px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.qv__specs dt { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); }
.qv__specs dd { font-size: 14px; font-weight: 600; }
.qv__buy { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 4px; }
.qv__buy .price { font-size: 42px; margin-right: auto; }
.qv__buy s { font-size: 13px; color: var(--ink-3); display: block; }
@media (max-width: 760px) {
	.qv__box { grid-template-columns: minmax(0, 1fr); }
	.qv__stage { min-height: 240px; }
	.qv__n { font-size: 36px; }
	.spot__row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.spot__c { scroll-snap-align: start; }
	.catx__stats-in { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.catx__stats-in > div:nth-child(n+4) { display: none; }
	.catx__stats-in > div { padding: 10px 10px; }
	.catx__stats-in b { font-size: 16px; }
	body[data-view="dense"] .view-grid .grid { --cols: 3; }
}
.build__in > * { min-width: 0; }
@media (max-width: 420px) {
	.slot { grid-template-columns: 22px 64px minmax(0, 1fr) auto; gap: 6px; padding: 8px; }
	.slot__key { width: 22px; height: 22px; font-size: 11px; }
	.slot__arrows button { width: 26px; height: 26px; }
	.slot__pos { display: none; }
	.slot__n { font-size: 13px; }
}
.build__menu, .build__slots { grid-template-columns: minmax(0, 1fr); }
.slot { min-width: 0; }
.band--snow { padding-bottom: 128px; }
.band--snow .waddler { bottom: 14px; }
.band--snow::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 64px; z-index: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .55)); top: auto; }
@media (max-width: 680px) { .band--snow { padding-bottom: 96px; } }

/* ==========================================================================
   Ice everywhere: ice tags (section codes), ice buttons, ice keycaps, snow caps
   ========================================================================== */
:root { --ice-a: #f7fdff; --ice-b: #d5f0fb; --ice-c: #a6dbef; --ice-d: #72c3e2; --ice-ink: #0b2a3d;
	--icicles: polygon(0 0, 100% 0, 98% 30%, 95% 0, 91% 85%, 87% 0, 83% 40%, 79% 0, 73% 100%, 68% 0, 63% 35%, 59% 0, 53% 70%, 48% 0, 43% 45%, 39% 0, 33% 95%, 28% 0, 23% 30%, 19% 0, 13% 65%, 9% 0, 5% 40%, 2% 0); }
.sh__code, .hero__k .stencil, .catx__k .stencil, .pagehero__k .stencil, .ice-tag {
	position: relative; overflow: visible; clip-path: none; isolation: isolate;
	color: var(--ice-ink) !important; background: linear-gradient(172deg, var(--ice-a) 0%, var(--ice-b) 45%, var(--ice-c) 100%) !important;
	border: 1px solid rgba(255, 255, 255, .95); border-radius: 4px 4px 3px 3px;
	box-shadow: inset 0 1px 0 #fff, inset 0 -4px 8px rgba(25, 140, 190, .3), inset 3px 0 0 rgba(255, 255, 255, .55), 0 8px 16px -8px rgba(25, 179, 222, .7);
	text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
}
.sh__code::before, .hero__k .stencil::before, .catx__k .stencil::before, .pagehero__k .stencil::before, .ice-tag::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .95) 48%, transparent 60%), radial-gradient(circle at 18% 30%, rgba(255, 255, 255, .9) 0 1px, transparent 2px), radial-gradient(circle at 72% 64%, rgba(255, 255, 255, .8) 0 1px, transparent 2px);
	background-size: 260% 100%, 100% 100%, 100% 100%; background-position: 130% 0, 0 0, 0 0; animation: iceshine 6s ease-in-out infinite;
}
.sh__code::after, .hero__k .stencil::after, .catx__k .stencil::after, .pagehero__k .stencil::after, .ice-tag::after {
	content: ""; position: absolute; left: 5px; right: 5px; top: calc(100% - 1px); height: 11px; pointer-events: none;
	background: linear-gradient(180deg, var(--ice-c), rgba(166, 219, 239, .2)); clip-path: var(--icicles); transform-origin: top; animation: icicle 5s ease-in-out infinite alternate;
}
@keyframes iceshine { 0%, 62% { background-position: 130% 0, 0 0, 0 0; } 100% { background-position: -40% 0, 0 0, 0 0; } }
@keyframes icicle { from { transform: scaleY(.85); } to { transform: scaleY(1.12); } }
.sh__code { font-size: 15px; min-width: 58px; height: 42px; }
.band .sh__code { font-family: var(--f-body); font-size: 20px; }
.hero__k .stencil, .catx__k .stencil, .pagehero__k .stencil { padding: 5px 9px; }
[data-head]:hover .sh__code { animation: icewobble .5s var(--ease); }
@keyframes icewobble { 30% { transform: rotate(-4deg) translateY(-2px); } 60% { transform: rotate(3deg); } }

/* ice keycaps */
kbd { color: var(--ice-ink) !important; opacity: 1; border: 1px solid #fff; border-bottom-width: 1px; border-radius: 3px; background: linear-gradient(180deg, var(--ice-a), var(--ice-c)); box-shadow: inset 0 1px 0 #fff, 0 2px 0 var(--ice-d), 0 3px 6px -2px rgba(25, 179, 222, .6); text-shadow: 0 1px 0 #fff; }
.rail__key { color: var(--ice-ink) !important; }

/* ice buttons */
.btn--ice, .btn--glass {
	clip-path: none; overflow: visible; border-radius: 4px; isolation: isolate;
	--b: linear-gradient(172deg, var(--ice-a), var(--ice-b) 50%, var(--ice-c)); --c: var(--ice-ink); --bd: rgba(255, 255, 255, .95);
	background: var(--b); box-shadow: inset 0 1px 0 #fff, inset 0 -4px 8px rgba(25, 140, 190, .28), 0 10px 18px -10px rgba(25, 179, 222, .8); text-shadow: 0 1px 0 rgba(255, 255, 255, .7);
}
.btn--glass { --b: linear-gradient(172deg, rgba(247, 253, 255, .28), rgba(166, 219, 239, .16)); --c: #fff; --bd: rgba(207, 240, 255, .55); backdrop-filter: blur(8px) saturate(1.3); text-shadow: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), inset 0 -6px 12px rgba(25, 179, 222, .18), 0 10px 20px -12px rgba(0, 0, 0, .6); }
.btn--ice::before, .btn--glass::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .9) 48%, transparent 60%); background-size: 260% 100%; background-position: 130% 0; transition: background-position .8s var(--ease); pointer-events: none; }
.btn--ice:hover::before, .btn--glass:hover::before { background-position: -40% 0; }
.btn--ice::after, .btn--glass::after { content: ""; position: absolute; left: 8px; right: 8px; top: calc(100% - 1px); height: 9px; background: linear-gradient(180deg, var(--ice-c), rgba(166, 219, 239, .15)); clip-path: var(--icicles); transform-origin: top; transition: transform .4s var(--ease); pointer-events: none; }
.btn--glass::after { background: linear-gradient(180deg, rgba(207, 240, 255, .6), rgba(207, 240, 255, .05)); }
.btn--ice:hover, .btn--glass:hover { --b: linear-gradient(172deg, #fff, var(--ice-b) 40%, var(--ice-d)); --c: var(--ice-ink); transform: translateY(-2px); }
.btn--ice:hover::after, .btn--glass:hover::after { transform: scaleY(1.4); }
.btn--ice { position: relative; }
.btn--glass { position: relative; }

/* snow caps on the big orange buttons */
.btn--orange { position: relative; }
.btn--orange::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 7px; pointer-events: none; background: linear-gradient(180deg, #fff 0 55%, rgba(255, 255, 255, .0)); clip-path: polygon(0 0, 100% 0, 100% 40%, 96% 75%, 92% 45%, 86% 90%, 80% 50%, 73% 80%, 66% 40%, 58% 85%, 50% 45%, 42% 75%, 35% 40%, 27% 90%, 20% 50%, 13% 80%, 6% 45%, 0 70%); opacity: .92; }
.btn--sm.btn--orange::before { height: 5px; }
.single_add_to_cart_button { position: relative; }

/* ice segmented tabs (active = ice block) */
.seg--night button.is-on { background: linear-gradient(172deg, var(--ice-a), var(--ice-b) 50%, var(--ice-c)); color: var(--ice-ink); box-shadow: inset 0 1px 0 #fff, inset 0 -3px 6px rgba(25, 140, 190, .3); text-shadow: 0 1px 0 #fff; }
.qchip.is-on { background: linear-gradient(172deg, var(--ice-a), var(--ice-b) 50%, var(--ice-c)); color: var(--ice-ink); border-color: #fff; box-shadow: inset 0 1px 0 #fff, 0 6px 12px -6px rgba(25, 179, 222, .7); }
.qchip.is-on span { background: var(--ice-ink); border-color: var(--ice-ink); color: #fff; }

/* ==========================================================================
   Ice pillars (categories)
   ========================================================================== */
.pillars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; padding-top: 18px; }
.pillar { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 2 / 3.1; overflow: hidden; isolation: isolate; color: #fff; background: var(--night-2); border-radius: 6px 6px 4px 4px; box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 18px 30px -18px rgba(6, 16, 27, .7); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.pillar::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(6, 16, 27, .95) 0%, rgba(6, 16, 27, .4) 34%, rgba(6, 16, 27, 0) 55%); pointer-events: none; }
.pillar__art { position: absolute; inset: 0; z-index: 0; background: var(--night-2) var(--art) center 30% / cover no-repeat; transform: scale(1.04); transition: transform 1.2s var(--ease), filter .8s; filter: saturate(.85) brightness(.92); }
.pillar__frost { position: absolute; inset: 0; z-index: 2; background: var(--art) center / cover; opacity: .9; mix-blend-mode: screen; pointer-events: none;
	-webkit-mask: radial-gradient(ellipse 70% 55% at 50% 42%, transparent 0 30%, #000 85%); mask: radial-gradient(ellipse 70% 55% at 50% 42%, transparent 0 30%, #000 85%); transition: opacity .9s var(--ease), -webkit-mask-size .9s var(--ease), mask-size .9s var(--ease); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.pillar__shine { position: absolute; top: -20%; bottom: -20%; left: -60%; width: 40%; z-index: 3; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-16deg); pointer-events: none; animation: pshine 7s ease-in-out infinite; animation-delay: calc(var(--n) * .6s); }
@keyframes pshine { 0%, 70% { left: -60%; } 100% { left: 140%; } }
.pillar__key { position: absolute; left: 10px; top: 10px; z-index: 4; display: flex; align-items: center; gap: 6px; font-size: 11px; color: #e6f7ff; text-shadow: 0 1px 4px rgba(0, 0, 0, .7); }
.pillar__b { position: relative; z-index: 4; display: grid; gap: 2px; padding: 12px 12px 14px; }
.pillar__n { font: 900 30px/.9 var(--f-disp); text-transform: uppercase; text-shadow: 0 2px 12px rgba(0, 0, 0, .6); }
.pillar__m { font-size: 11px; color: var(--frost); }
.pillar__go { display: inline-flex; align-items: center; gap: 6px; height: 0; overflow: hidden; opacity: 0; font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--yolk); transition: height .35s var(--ease), opacity .35s, margin .35s; }
.pillar__go .ic { width: 14px; height: 14px; }
.pillar:hover, .pillar:focus-visible { transform: translateY(-6px); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 26px 40px -18px rgba(25, 179, 222, .55); }
.pillar:hover .pillar__art { transform: scale(1.12); filter: saturate(1.1) brightness(1.05); }
.pillar:hover .pillar__frost { opacity: 0; -webkit-mask-size: 260% 260%; mask-size: 260% 260%; }
.pillar:hover .pillar__go { height: 18px; opacity: 1; margin-top: 6px; }
.pillar:active { transform: translateY(-2px) scale(.98); }
@media (max-width: 1280px) { .pillar__n { font-size: 24px; } }
@media (max-width: 1080px) { .pillars { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 30%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; } .pillars::-webkit-scrollbar { display: none; } .pillar { scroll-snap-align: start; } }
@media (max-width: 680px) { .pillars { grid-auto-columns: 46%; gap: 8px; } .pillar__frost { opacity: .6; } }
@media (hover: none) { .pillar__go { height: 18px; opacity: 1; margin-top: 6px; } .pillar__frost { opacity: .35; } }

/* ==========================================================================
   Ice core drill (replaces the peeker)
   ========================================================================== */
.lab .peek, .lab .peek__ball { display: none; }
.drill { position: absolute; left: 0; right: 0; top: 0; height: 128px; pointer-events: none; }
.drill__rail { position: absolute; left: 0; right: 0; bottom: 6px; height: 4px; background: repeating-linear-gradient(90deg, var(--night-line) 0 18px, transparent 18px 24px); }
.drill__rig { position: absolute; left: 0; bottom: 8px; width: 112px; transform: translateX(var(--rx, 60px)); transition: transform 1s var(--ease-io); }
.drill__img { width: 112px; height: auto; display: block; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .5)); transform-origin: 50% 100%; }
.drill__rig.is-moving .drill__img { animation: rigroll .25s ease-in-out infinite alternate; }
@keyframes rigroll { from { transform: rotate(-1.2deg) translateY(0); } to { transform: rotate(1.2deg) translateY(-1px); } }
.drill__rig.is-drilling .drill__img { animation: rigshake .06s linear infinite; }
@keyframes rigshake { 0% { transform: translate(0, 0); } 25% { transform: translate(1px, -1px); } 50% { transform: translate(-1px, 1px); } 75% { transform: translate(1px, 1px); } }
.drill__beam { position: absolute; left: 78%; top: 100%; width: 4px; height: var(--bh, 0px); margin-left: -2px; background: linear-gradient(180deg, #e9f8ff, var(--glacier)); box-shadow: 0 0 14px 3px rgba(25, 179, 222, .7); transform-origin: top; transform: scaleY(0); transition: transform .35s var(--ease); border-radius: 2px; }
.drill__rig.is-drilling .drill__beam { transform: scaleY(1); }
.drill__btn { position: absolute; left: 0; top: 52px; z-index: 3; }
.pin.is-sample { z-index: 6; border-color: var(--yolk); background: var(--night-3); transform: translate(var(--x, 0px), var(--y, 0px)) scale(1.6); box-shadow: 0 0 0 4px rgba(255, 194, 61, .35), 0 0 30px rgba(255, 194, 61, .5); }
.lab__tip .lab__sample { font: 800 11px/1 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--orange); }

/* ==========================================================================
   Arctic wildlife
   ========================================================================== */
.critter { position: absolute; z-index: 4; padding: 0; background: none; border: 0; cursor: pointer; }
.critter img { display: block; width: 100%; height: auto; transform-origin: 50% 100%; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .35)); }
.critter--bear { right: 6px; bottom: 34px; width: 96px; }
.critter--bear img { animation: breathe2 3.6s ease-in-out infinite; }
@keyframes breathe2 { 50% { transform: scale(1.03, .98); } }
.critter--seal { right: 6%; top: -38px; width: 150px; z-index: 5; }
.critter--seal img { animation: sealbreath 4.2s ease-in-out infinite; }
@keyframes sealbreath { 50% { transform: scale(1.02, .96); } }
.critter.is-poke img { animation: poke .7s var(--ease) !important; }
@keyframes poke { 20% { transform: translateY(-14px) rotate(-6deg); } 45% { transform: translateY(0) rotate(4deg) scale(1.05, .92); } 70% { transform: rotate(-2deg); } }
.critter--owl { position: absolute; left: 50%; bottom: calc(100% - 8px); width: 62px; transform: translateX(-50%); z-index: 6; }
.critter--owl img { animation: owlidle 6s ease-in-out infinite; }
@keyframes owlidle { 0%, 40%, 100% { transform: rotate(0); } 48% { transform: rotate(-7deg); } 56% { transform: rotate(5deg); } 64% { transform: rotate(0); } }
.critter--owl.is-poke img { animation: owlspin .9s var(--ease) !important; }
@keyframes owlspin { 50% { transform: rotateY(180deg) translateY(-6px); } 100% { transform: rotateY(360deg); } }
.feather { position: absolute; z-index: 7; width: 8px; height: 14px; border-radius: 50% 50% 50% 50% / 70% 70% 30% 30%; background: #fff; box-shadow: 0 0 0 1px rgba(10, 22, 34, .08); pointer-events: none; }
.board { position: relative; overflow: hidden; }
.fox { position: absolute; left: -180px; bottom: 2px; z-index: 3; width: 120px; pointer-events: none; animation: foxrun 21s linear infinite; animation-delay: 4s; }
.fox img { display: block; width: 100%; height: auto; animation: foxbound .32s ease-in-out infinite alternate; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .5)); }
@keyframes foxrun { 0%, 86% { transform: translateX(0); } 100% { transform: translateX(calc(100vw + 360px)); } }
@keyframes foxbound { from { transform: translateY(0) rotate(2deg); } to { transform: translateY(-8px) rotate(-3deg); } }
.parade { position: absolute; left: -260px; bottom: 12px; z-index: 2; width: 190px; pointer-events: none; animation: paradex 36s linear infinite; animation-delay: -12s; }
.parade img { display: block; width: 100%; height: auto; animation: paradebob .45s ease-in-out infinite alternate; }
@keyframes paradex { 0%, 30% { transform: translateX(0); } 75%, 100% { transform: translateX(calc(100vw + 460px)); } }
@keyframes paradebob { from { transform: translateY(0); } to { transform: translateY(-3px); } }
.waddler.is-hit { filter: brightness(1.4) drop-shadow(0 0 10px #fff); }
@media (max-width: 680px) {
	.critter--bear { width: 72px; bottom: 40px; }
	.critter--seal { width: 110px; top: -28px; right: 4%; }
	.fox { width: 90px; }
	.parade { width: 140px; }
	.drill__rig, .drill__img { width: 84px; }
	.drill__btn { top: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.fox, .parade, .pillar__shine, .critter img, .fox img, .parade img, .sh__code::after, .sh__code::before { animation: none !important; }
	.fox, .parade { display: none; }
}

/* ==========================================================================
   Shelves v3: floating ice-floe dioramas (chosen concept D)
   ========================================================================== */
.floes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; padding-top: 18px; }
.floe { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 2 / 3; overflow: hidden; isolation: isolate; color: var(--ink); border-radius: 8px 8px 5px 5px;
	background: radial-gradient(90% 55% at 50% 38%, #ffffff 0%, rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, #cfeaf7 0%, #eaf7fd 55%, #f7fcff 100%);
	border: 1px solid #fff; box-shadow: inset 0 1px 0 #fff, 0 18px 30px -20px rgba(25, 120, 170, .55); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.floe::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 38%; z-index: 0; background: linear-gradient(180deg, rgba(247, 252, 255, 0), #f7fcff 55%); pointer-events: none; }
.floe__key { position: absolute; left: 10px; top: 10px; z-index: 4; display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--ink-2); }
.floe__snow { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .8;
	background-image: radial-gradient(2px 2px at 20% 30%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 70% 20%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 40% 70%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 85% 60%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 55% 45%, #fff 50%, transparent 51%);
	background-size: 120px 160px; animation: floesnow 9s linear infinite; filter: drop-shadow(0 0 1px rgba(25, 120, 170, .4)); }
@keyframes floesnow { to { background-position: 30px 160px, -20px 160px, 10px 160px, -30px 160px, 20px 160px; } }
.floe__stage { position: absolute; left: 0; right: 0; top: 13%; height: 60%; z-index: 2; display: flex; justify-content: center; align-items: center; }
.floe__img { position: relative; z-index: 2; width: 108%; height: 100%; max-width: none; object-fit: contain; filter: drop-shadow(0 22px 16px rgba(25, 110, 160, .28)); animation: floebob 4.6s ease-in-out infinite alternate; animation-delay: calc(var(--n) * -.65s); transition: transform .6s var(--ease), filter .6s; }
@keyframes floebob { from { translate: 0 0; rotate: -1deg; } to { translate: 0 -12px; rotate: 1.2deg; } }
.floe__shadow { position: absolute; left: 22%; right: 22%; bottom: 2%; height: 16px; z-index: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(25, 110, 160, .28), transparent); animation: floeshadow 4.6s ease-in-out infinite alternate; animation-delay: calc(var(--n) * -.65s); }
@keyframes floeshadow { from { transform: scaleX(1); opacity: .9; } to { transform: scaleX(.8); opacity: .55; } }
.floe__b { position: relative; z-index: 3; display: grid; gap: 2px; padding: 12px 12px 14px; }
.floe__n { font: 900 30px/.9 var(--f-disp); text-transform: uppercase; }
.floe__m { font-size: 11px; color: var(--ink-3); }
.floe__go { display: inline-flex; align-items: center; gap: 6px; height: 0; overflow: hidden; opacity: 0; font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--orange); transition: height .35s var(--ease), opacity .35s, margin .35s; }
.floe__go .ic { width: 14px; height: 14px; }
.floe:hover, .floe:focus-visible { transform: translateY(-6px); box-shadow: inset 0 1px 0 #fff, 0 28px 40px -20px rgba(25, 140, 200, .7); }
.floe:hover .floe__img { transform: translateY(-10px) scale(1.08); filter: drop-shadow(0 34px 22px rgba(25, 110, 160, .3)) saturate(1.1); }
.floe:hover .floe__go { height: 18px; opacity: 1; margin-top: 6px; }
.floe:active { transform: translateY(-2px) scale(.98); }
@media (max-width: 1280px) { .floe__n { font-size: 24px; } }
@media (max-width: 1080px) { .floes { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 30%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; } .floes::-webkit-scrollbar { display: none; } .floe { scroll-snap-align: start; } }
@media (max-width: 680px) { .floes { grid-auto-columns: 46%; gap: 8px; } }
@media (hover: none) { .floe__go { height: 18px; opacity: 1; margin-top: 6px; } }
@media (prefers-reduced-motion: reduce) { .floe__img, .floe__shadow, .floe__snow { animation: none !important; } }

/* ==========================================================================
   Legal & consent: consent checkboxes, socials, Steam sign-in, policy pages,
   How it works route, cookie banner ("galley biscuit")
   ========================================================================== */

/* ---------- consent checkbox ---------- */
.consent { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-size: 13px; line-height: 1.45; color: var(--ink-2); cursor: pointer; }
.consent input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; cursor: pointer; }
.consent__box { display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid var(--ink-3); background: var(--paper); transition: background .15s, border-color .15s, transform .15s; }
.consent__box .ic { width: 14px; height: 14px; color: #fff; opacity: 0; transform: scale(.4); transition: opacity .15s, transform .2s var(--ease); }
.consent input:checked + .consent__box { background: var(--ink); border-color: var(--ink); }
.consent input:checked + .consent__box .ic { opacity: 1; transform: none; }
.consent input:focus-visible + .consent__box { outline: 2px solid var(--glacier); outline-offset: 2px; }
.consent__t a { color: var(--glacier-2); text-decoration: underline; text-underline-offset: 2px; }
.consent--night { color: var(--frost-2); font-size: 12px; }
.consent--night .consent__box { background: rgba(6, 16, 27, .7); border-color: var(--night-line); }
.consent--night input:checked + .consent__box { background: var(--orange); border-color: var(--orange); }
.consent--night .consent__t a { color: var(--frost); }
.auth__form .consent { margin-top: 2px; }

/* ---------- socials ---------- */
.socials { display: flex; flex-wrap: wrap; gap: 6px; }
.socials a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); clip-path: var(--cut-sm); transition: background .15s, color .15s, transform .2s var(--ease); }
.socials a:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.socials .ic { width: 18px; height: 18px; }
.socials--night { margin-top: 18px; }
.socials--night a { background: rgba(6, 16, 27, .6); border-color: var(--night-line); color: var(--frost); }
.socials--night a:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
.ftr__payimg { height: 28px; width: auto; max-width: min(520px, 100%); object-fit: contain; object-position: left; }
.company p { font-size: 13px; line-height: 1.5; }
.company a { color: var(--glacier-2); }

/* ---------- Sign in with Steam ---------- */
.steam-login { display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 18px; background: linear-gradient(135deg, #1b2838, #2a475e); color: #fff; font: 700 13px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; border: 1px solid #3d6c8d; clip-path: var(--cut-sm); transition: filter .15s, transform .2s var(--ease); }
.steam-login:hover { filter: brightness(1.15); transform: translateY(-1px); }
.steam-login .ic { width: 22px; height: 22px; color: #c7d5e0; }
.steam-login--plugin { display: block; height: auto; padding: 0; background: none; border: 0; clip-path: none; }
.auth__or { display: flex; align-items: center; gap: 10px; color: var(--ink-3); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.auth__or::before, .auth__or::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* ---------- policy pages ---------- */
.legal-docs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 28px; border: 1px solid var(--line); background: var(--paper); }
.legal-docs a { flex: 1 1 auto; padding: 14px 16px; font: 700 12px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; text-align: center; color: var(--ink-2); border-right: 1px solid var(--line); transition: background .15s, color .15s; }
.legal-docs a:last-child { border-right: 0; }
.legal-docs a:hover { background: var(--paper-2); color: var(--ink); }
.legal-docs a.is-on { background: var(--ink); color: #fff; box-shadow: inset 0 -3px 0 var(--orange); }
.legal { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: start; }
.legal__side { position: sticky; top: calc(var(--hdr) + 60px); display: grid; border: 1px solid var(--line); background: var(--paper); max-height: calc(100vh - var(--hdr) - 80px); overflow: auto; }
.legal__toc, .legal__co { padding: 18px; display: grid; gap: 10px; }
.legal__toc { border-bottom: 1px solid var(--line); }
.legal__toc ol { display: grid; gap: 2px; counter-reset: toc; }
.legal__toc li { counter-increment: toc; }
.legal__toc a { display: grid; grid-template-columns: 26px 1fr; padding: 5px 0; font-size: 13px; line-height: 1.35; color: var(--ink-2); transition: color .15s; }
.legal__toc a::before { content: counter(toc, decimal-leading-zero); font: 500 11px/1.6 var(--f-mono); color: var(--ink-3); }
.legal__toc a:hover, .legal__toc a.is-on { color: var(--ink); }
.legal__toc a.is-on::before { color: var(--orange); }
.legal__co p { font-size: 13px; line-height: 1.5; color: var(--ink-2); }
.legal__co a { color: var(--glacier-2); }
.legal__co .btn { justify-self: start; margin-top: 4px; }
.legal__doc { max-width: 820px; }
.legal__doc h2 { font-size: 30px; scroll-margin-top: calc(var(--hdr) + 70px); padding-top: 18px; border-top: 1px solid var(--line); }
.legal__doc h2:first-of-type { border-top: 0; padding-top: 0; }
.legal__doc h3 { font-size: 17px; text-transform: uppercase; letter-spacing: .04em; }
.legal__doc p, .legal__doc li { font-size: 15px; }
.legal__doc .legal-lead { font-size: 17px; color: var(--ink); padding: 18px 20px; background: var(--paper); border-left: 3px solid var(--glacier); }
.legal__doc .legal-summary { list-style: none; padding: 18px 20px; background: var(--night); border-left: 3px solid var(--orange); display: grid; gap: 8px; }
.legal__doc .legal-summary li { color: var(--frost); padding-left: 22px; position: relative; }
.legal__doc .legal-summary li::before { content: "❄"; position: absolute; left: 0; color: var(--yolk); font-size: 12px; top: .3em; }
.legal__doc .legal-summary strong { color: #fff; }
.legal__doc .wp-block-table { margin: 18px 0; overflow-x: auto; }
.legal__doc table { margin: 0; min-width: 520px; }
.legal__doc th { font: 700 11px/1.2 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); background: var(--paper-2); }
.legal__doc td:first-child { font-weight: 600; color: var(--ink); }
@media print {
	.hdr, .rail, .ftr, .minibar, .ck, .toasts, .legal-docs, .legal__side, .pagehero::before, .critter, .snow, .frost { display: none !important; }
	.pagehero { background: none !important; color: #000; }
	.pagehero__in { min-height: 0; padding: 0 0 16px; }
	.pagehero__k, .pagehero__d { color: #000; }
	.legal { display: block; }
	.legal__doc { max-width: none; }
	.legal__doc .legal-summary { background: none; border: 1px solid #000; }
	.legal__doc .legal-summary li, .legal__doc .legal-summary strong { color: #000; }
}

/* ---------- How it works: the route ---------- */
.route { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: none; }
.route::before { content: ""; position: absolute; left: 32px; right: 32px; top: 31px; height: 2px; background: repeating-linear-gradient(90deg, var(--frost-2) 0 10px, transparent 10px 18px); opacity: .5; }
.route::after { content: ""; position: absolute; top: 26px; left: 32px; width: 12px; height: 12px; background: var(--orange); transform: rotate(45deg); box-shadow: 0 0 18px var(--orange); animation: ps-route 6s var(--ease-io) infinite; }
@keyframes ps-route { 0% { left: 32px; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: calc(100% - 44px); opacity: 0; } }
.route__step { position: relative; display: grid; gap: 10px; align-content: start; padding: 0 22px 0 0; }
.route__ic { position: relative; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; background: var(--night-2); border: 1px solid var(--night-line); color: var(--glacier); clip-path: var(--cut); }
.route__ic .ic { width: 28px; height: 28px; }
.route__n { color: var(--orange); font-size: 12px; margin-top: 8px; }
.route__t { font: 900 30px/.95 var(--f-disp); text-transform: uppercase; }
.route__d { color: var(--frost); font-size: 14px; line-height: 1.6; max-width: 300px; }
.route__m { font-size: 11px; color: var(--frost-2); text-transform: uppercase; letter-spacing: .08em; }
.prep { display: grid; border: 1px solid var(--line); background: var(--paper); }
.prep li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 18px; border-bottom: 1px solid var(--line); }
.prep li:last-child { border-bottom: 0; }
.prep .ic { width: 26px; height: 26px; color: var(--glacier-2); }
.prep b { font: 800 17px/1.2 var(--f-body); }
.prep p { color: var(--ink-2); font-size: 14px; margin-top: 4px; }
.safe-list { display: grid; gap: 6px; padding-left: 18px; list-style: square; font-size: 14px; color: var(--ink-2); }
@media (max-width: 1080px) {
	.legal { grid-template-columns: 1fr; gap: 24px; }
	.legal__side { position: static; max-height: none; grid-template-columns: 1fr 1fr; }
	.legal__toc { border-bottom: 0; border-right: 1px solid var(--line); }
	.route { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
	.route::before, .route::after { display: none; }
}
@media (max-width: 680px) {
	.legal-docs a { flex: 1 1 50%; border-bottom: 1px solid var(--line); }
	.legal__side { grid-template-columns: 1fr; }
	.legal__toc { border-right: 0; border-bottom: 1px solid var(--line); }
	.legal__doc h2 { font-size: 26px; }
	.route { grid-template-columns: 1fr; }
}

/* ---------- cookie banner: the galley biscuit ---------- */
.ck { position: fixed; left: 18px; bottom: 18px; z-index: 130; width: min(430px, calc(100vw - 36px)); pointer-events: none; }
.ck__wrap { position: relative; padding-top: 46px; transform: translateY(calc(100% + 80px)) rotate(-2deg); opacity: 0; transition: transform .6s var(--ease), opacity .35s; }
.ck__card { position: relative; display: grid; gap: 12px; padding: 22px 22px 18px 22px; background: linear-gradient(160deg, rgba(19, 40, 64, .97), rgba(6, 16, 27, .98)); color: #fff; border: 1px solid var(--night-line); box-shadow: 0 30px 60px -20px rgba(6, 16, 27, .75), inset 0 1px 0 rgba(207, 230, 243, .12); clip-path: var(--cut); pointer-events: auto; }
.ck__card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: repeating-linear-gradient(90deg, var(--orange) 0 14px, var(--yolk) 14px 28px); opacity: .9; }
.ck__card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 60% at 100% 0, rgba(25, 179, 222, .14), transparent 60%); }
.ck.is-in .ck__wrap { transform: none; opacity: 1; }
.ck.is-out .ck__wrap { transform: translateY(calc(100% + 80px)) rotate(2deg); opacity: 0; transition-duration: .45s; }
.ck__cookie { position: absolute; z-index: 2; top: 0; right: 14px; pointer-events: auto; width: 112px; height: 112px; border-radius: 50%; filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .45)); animation: ps-ck-bob 3.2s ease-in-out infinite alternate; transition: transform .25s var(--ease); }
.ck__cookie:hover { transform: rotate(-12deg) scale(1.05); }
.ck__cookie:active { transform: scale(.94); }
.ck__cookie img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s var(--ease), opacity .3s; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
@keyframes ps-ck-bob { from { translate: 0 0; rotate: -4deg; } to { translate: 0 -6px; rotate: 5deg; } }
/* Bites: each adds a scalloped notch on the right edge. */
.ck__cookie[data-bites="1"] img { -webkit-mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%); -webkit-mask-composite: source-in; mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%); mask-composite: intersect; }
.ck__cookie[data-bites="2"] img { -webkit-mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%), radial-gradient(circle at 100% 50%, transparent 19%, #000 19.6%), radial-gradient(circle at 94% 64%, transparent 13%, #000 13.6%); -webkit-mask-composite: source-in; mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%), radial-gradient(circle at 100% 50%, transparent 19%, #000 19.6%), radial-gradient(circle at 94% 64%, transparent 13%, #000 13.6%); mask-composite: intersect; }
.ck__cookie[data-bites="3"] img { -webkit-mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%), radial-gradient(circle at 100% 50%, transparent 19%, #000 19.6%), radial-gradient(circle at 94% 64%, transparent 13%, #000 13.6%), radial-gradient(circle at 82% 92%, transparent 18%, #000 18.6%), radial-gradient(circle at 64% 100%, transparent 13%, #000 13.6%); -webkit-mask-composite: source-in; mask-image: radial-gradient(circle at 96% 22%, transparent 17%, #000 17.6%), radial-gradient(circle at 84% 8%, transparent 12%, #000 12.6%), radial-gradient(circle at 100% 50%, transparent 19%, #000 19.6%), radial-gradient(circle at 94% 64%, transparent 13%, #000 13.6%), radial-gradient(circle at 82% 92%, transparent 18%, #000 18.6%), radial-gradient(circle at 64% 100%, transparent 13%, #000 13.6%); mask-composite: intersect; }
.ck__cookie[data-bites="4"] img { transform: scale(.2) rotate(140deg); opacity: 0; }
.ck__frost { position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .85), rgba(207, 230, 243, .55) 40%, rgba(143, 179, 201, .25) 70%, transparent 72%); mix-blend-mode: screen; opacity: 0; transform: scale(.6); transition: opacity .45s, transform .5s var(--ease); pointer-events: none; }
.ck.is-frozen .ck__frost { opacity: 1; transform: none; }
.ck.is-frozen .ck__cookie { animation: ps-ck-shiver .08s linear 6; }
.ck.is-frozen .ck__card { box-shadow: 0 30px 60px -20px rgba(6, 16, 27, .75), inset 0 0 0 1px rgba(207, 230, 243, .5), inset 0 0 40px rgba(143, 179, 201, .25); }
.ck.is-eaten .ck__cookie { animation: ps-ck-munch .16s ease-in-out 4; }
@keyframes ps-ck-shiver { 50% { translate: 2px 0; } }
@keyframes ps-ck-munch { 50% { scale: 1.06 .94; } }
.ck__head { display: grid; gap: 6px; padding-right: 112px; }
.ck__code { font-size: 10px; color: var(--yolk); letter-spacing: .14em; text-transform: uppercase; }
.ck__t { font: 900 34px/.9 var(--f-disp); text-transform: uppercase; }
.ck__d { position: relative; z-index: 1; font-size: 13px; line-height: 1.55; color: var(--frost); }
.ck__d a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.ck__prefs { position: relative; z-index: 1; display: grid; border: 1px solid var(--night-line); background: rgba(6, 16, 27, .55); }
.ck__row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 11px 12px; border-bottom: 1px solid var(--night-line); cursor: pointer; }
.ck__row:last-child { border-bottom: 0; }
.ck__row b { display: block; font-size: 13px; }
.ck__row span { display: block; font-size: 12px; color: var(--frost-2); line-height: 1.4; margin-top: 2px; }
.ck__lock { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--aurora); }
.ck__lock .ic { width: 13px; height: 13px; }
.ck__sw { appearance: none; -webkit-appearance: none; position: relative; width: 44px; height: 24px; margin: 0; background: var(--night-3); border: 1px solid var(--night-line); cursor: pointer; transition: background .2s, border-color .2s; }
.ck__sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; background: var(--frost-2); transform: rotate(45deg) scale(.8); transition: left .25s var(--ease), background .2s, transform .25s var(--ease); }
.ck__sw:checked { background: var(--orange); border-color: var(--orange); }
.ck__sw:checked::after { left: 23px; background: #fff; transform: rotate(0) scale(1); }
.ck__sw:focus-visible { outline: 2px solid var(--glacier); outline-offset: 2px; }
.ck__act { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: center; }
.ck__act .btn { height: 42px; padding: 0 12px; }
.ck__more { grid-column: 1 / -1; justify-self: center; font: 600 12px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--frost-2); text-decoration: underline; text-underline-offset: 3px; padding: 4px; }
.ck__more:hover { color: #fff; }
[data-ck-save] { grid-column: 1 / -1; }
.shard.crumb { width: 7px; height: 7px; background: linear-gradient(135deg, #e0a35f, #9a5a24); clip-path: polygon(30% 0, 100% 25%, 80% 100%, 0 70%); }
.ck-open .toasts { bottom: auto; top: calc(var(--hdr) + 56px); }
@media (max-width: 680px) {
	.ck { left: 10px; right: 10px; bottom: 10px; width: auto; }
	.ck__card { padding: 18px 16px 14px; }
	.ck__wrap { padding-top: 34px; }
	.ck__cookie { width: 88px; height: 88px; top: 0; right: 10px; }
	.ck__head { padding-right: 86px; }
	.ck__t { font-size: 28px; }
	.ck-open .minibar { transform: translate(-50%, 140%); }
}
@media (prefers-reduced-motion: reduce) {
	.ck__wrap, .ck__cookie img, .ck__frost { transition: none; }
	.ck__cookie, .route::after { animation: none !important; }
}

/* ---------- checkout consent ---------- */
.wc-block-checkout__terms { margin-top: 8px !important; padding: 0 !important; }
.wc-block-checkout__terms .wc-block-components-checkbox__label { font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.wc-block-checkout__terms a, .wc-block-checkout__additional-fields a { color: var(--glacier-2); text-decoration: underline; text-underline-offset: 2px; }
.wc-block-checkout__additional-fields .wc-block-components-checkbox__label { font-size: 14px; line-height: 1.5; color: var(--ink-2); }

/* Listing whose picture has not arrived yet (imports add pictures later) */
.card__noimg { width: 42%; aspect-ratio: 1; background: url(../img/brand/mark.webp) center / contain no-repeat; opacity: .16; filter: grayscale(1); }
