/* Layout: shelf grid on a cool off-white floor; yellow is reserved for price tags, green for actions, red only for sale/discount */
:root{
--bg:#F4F4EF; --surface:#FFFFFF; --ink:#15171A; --muted:#5F625C; --line:#DCDDD5;
--tag:#FFDD2D; --tag-ink:#15171A; --sale:#D4351C; --sale-ink:#FFFFFF; --aisle:#0B5D4B; --aisle-ink:#FFFFFF;
--good:#1E7F4F; --warn:#B26A00; --bad:#C2321D;
--shadow:rgba(21,23,26,.08); --sign:#15171A; --sign-ink:#F4F4EF;
--code-bg:#15171A; --code-fg:#E8EAE3; --code-muted:#8E938A; --code-str:#FFDD2D; --code-line:#2B2F2B;
--font-display:"Archivo",ui-sans-serif,system-ui,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
--font-body:"IBM Plex Sans",ui-sans-serif,system-ui,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--maxw:1200px;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--bg:#121412; --surface:#1A1D1A; --ink:#EDEEE8; --muted:#A0A39A; --line:#2B2F2B;
--tag:#FFD60A; --tag-ink:#15171A; --sale:#FF6A4D; --sale-ink:#15171A; --aisle:#3FBF95; --aisle-ink:#0D1A15;
--good:#4CC38A; --warn:#E3A23B; --bad:#FF6A4D;
--shadow:rgba(0,0,0,.45); --sign:#EDEEE8; --sign-ink:#121412;
--code-bg:#0B0D0B; --code-fg:#E8EAE3; --code-muted:#8E938A; --code-str:#FFD60A; --code-line:#2B2F2B;
color-scheme:dark;
}
}
:root[data-theme="dark"]{
--bg:#121412; --surface:#1A1D1A; --ink:#EDEEE8; --muted:#A0A39A; --line:#2B2F2B;
--tag:#FFD60A; --tag-ink:#15171A; --sale:#FF6A4D; --sale-ink:#15171A; --aisle:#3FBF95; --aisle-ink:#0D1A15;
--good:#4CC38A; --warn:#E3A23B; --bad:#FF6A4D;
--shadow:rgba(0,0,0,.45); --sign:#EDEEE8; --sign-ink:#121412;
--code-bg:#0B0D0B; --code-fg:#E8EAE3; --code-muted:#8E938A; --code-str:#FFD60A; --code-line:#2B2F2B;
color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.sign{font-family:var(--font-display);font-stretch:125%;font-weight:800;letter-spacing:-.01em;line-height:1.05;text-wrap:balance;margin:0}
h1.sign{font-size:clamp(2.1rem,5.2vw,4rem)}
h2.sign{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-family:var(--font-display);font-stretch:112%;font-weight:700;font-size:1.15rem;line-height:1.25;margin:0;text-wrap:balance}
p{margin:0}
.eyebrow{font:500 12px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lede{color:var(--muted);max-width:62ch}
.sec{padding-block:72px;border-top:1px solid var(--line)}
.sec-head{display:grid;gap:12px;margin-bottom:32px}
:focus-visible{outline:2px solid var(--aisle);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--font-body);padding:12px 18px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.btn-primary{background:var(--aisle);color:var(--aisle-ink);border-color:var(--aisle)}
.btn-primary:hover{filter:brightness(1.08);border-color:var(--aisle)}
.btn-sm{padding:7px 10px;font-size:13px}
.copy{white-space:nowrap;flex:none;font:500 12px/1 var(--font-mono);padding:6px 8px;border-radius:4px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
.copy:hover{color:var(--ink);border-color:var(--ink)}
/* top bar */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);font-stretch:118%;font-weight:800;font-size:19px;letter-spacing:-.01em}
.brand svg{flex:none}
.nav{display:flex;gap:4px;margin-right:auto}
.nav a{white-space:nowrap;font-size:14px;font-weight:500;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--ink);background:var(--bg)}
.top-actions{display:flex;align-items:center;gap:10px}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.lang button{font:600 12px/1 var(--font-mono);padding:8px 10px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.top-console{font-size:14px;font-weight:500;text-decoration:none;color:var(--muted);padding:8px 6px}
.top-console:hover{color:var(--ink)}
@media (max-width:900px){
.nav{order:3;width:100%;margin:0 0 0 -10px;overflow-x:auto;padding-bottom:6px}
.brand{margin-right:auto}
.topbar .wrap{gap:10px;padding-top:8px}
}
@media (max-width:480px){.top-console{display:none}.lang button[aria-pressed="true"]{display:none}.brand{font-size:17px}.top-actions .btn{padding:9px 12px;font-size:14px}}
/* hero */
.hero{padding-block:64px 56px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.hero-copy{display:grid;gap:22px;min-width:0}
.hero-sub{font-size:1.1rem;color:var(--muted);max-width:56ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hls{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);padding-top:20px}
.hls li{display:grid;gap:4px;align-content:start;min-width:0}
.hls strong{font-weight:600;font-size:15px}
.hls span{font-size:14px;color:var(--muted)}
.hls svg{color:var(--aisle)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hls{grid-template-columns:1fr}}
.tag-stage{display:grid;justify-items:center;gap:18px;padding:12px 0}
.bigtag{position:relative;width:min(calc(100% - 24px),400px);transform:rotate(-3deg);filter:drop-shadow(0 10px 18px var(--shadow))}
.bigtag-body{background:var(--tag);color:var(--tag-ink);clip-path:polygon(44px 0,100% 0,100% 100%,44px 100%,0 50%);padding:26px 28px 24px 64px;display:grid;gap:6px}
.bigtag-hole{position:absolute;left:20px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--bg);box-shadow:inset 0 1px 2px var(--shadow)}
.bigtag-label{padding-right:48px;font:600 11px/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.bigtag-price{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-stretch:100%;font-weight:900;font-size:clamp(3.2rem,9vw,4.6rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bigtag-price small{font:600 16px/1 var(--font-mono);letter-spacing:0}
.bigtag-list{font:500 14px/1.3 var(--font-mono)}
.bigtag-list s{opacity:.75}
.bigtag-clip{font-size:13px;border-top:1px dashed currentColor;padding-top:8px;margin-top:4px}
.sticker{position:absolute;right:-10px;top:-22px;width:78px;height:78px;border-radius:50%;background:var(--sale);color:var(--sale-ink);display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:22px;transform:rotate(14deg);box-shadow:0 0 0 4px var(--bg)}
.bigtag-code{width:min(100%,400px);display:grid;gap:6px;justify-items:start}
.barcode{height:30px;width:100%;color:var(--ink)}
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.facts ul{list-style:none;margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:8px 28px;font:500 13px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.facts li::before{content:"■ ";color:var(--tag);-webkit-text-stroke:.5px var(--ink)}
/* shelf */
.aisle{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding-block:28px;border-top:1px dashed var(--line)}
.aisle:first-of-type{border-top:0;padding-top:0}
.aisle-sign{background:var(--sign);color:var(--sign-ink);border-radius:4px;padding:16px 18px;align-self:start;display:grid;gap:6px;position:sticky;top:84px}
.aisle-sign .k{font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.aisle-sign .v{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:44px;line-height:1}
.aisle-sign p{font-size:13px;line-height:1.45;opacity:.85}
.labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
@media (max-width:900px){.aisle{grid-template-columns:1fr}.aisle-sign{position:static;grid-template-columns:auto 1fr;align-items:center;column-gap:16px}.aisle-sign .k{grid-column:1}.aisle-sign .v{grid-column:1;grid-row:2}.aisle-sign p{grid-column:2;grid-row:1/3}}
.label{background:var(--surface);border:1px solid var(--line);border-radius:4px;display:grid;grid-template-rows:auto auto 1fr auto;cursor:pointer;transition:border-color .15s,transform .15s;min-width:0}
.label:hover{border-color:var(--ink);transform:translateY(-2px)}
.label.is-active{border-color:var(--aisle);box-shadow:0 0 0 1px var(--aisle)}
.label-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 10px}
.chip{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;border:1px solid var(--line);border-radius:3px;color:var(--muted);white-space:nowrap}
.label-id{padding:0 16px 12px;display:grid;gap:6px}
.label-id .barcode{height:22px}
.label-id .row{display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:0}
.label-id code{font:500 12px/1.3 var(--font-mono);color:var(--muted);overflow-wrap:anywhere;min-width:0}
.specs{margin:0;padding:12px 16px 14px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;align-content:start}
.specs dt{color:var(--muted)}
.specs dd{margin:0;font-weight:500;min-width:0}
.label-price{background:var(--tag);color:var(--tag-ink);display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:12px 16px;border-radius:0 0 3px 3px}
.label-price .k{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.label-price .p{font-family:var(--font-display);font-weight:900;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.label-price .u{font:500 12px/1 var(--font-mono)}
.label-price s{font:500 12px/1 var(--font-mono);opacity:.7;margin-left:auto}
/* pricing */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.mchip{font:500 14px/1 var(--font-body);padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}
.mchip:hover{border-color:var(--ink)}
.mchip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.msum{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:end;margin-bottom:16px}
.msum p{color:var(--muted);max-width:70ch}
.msum .mono{font-size:12.5px;color:var(--muted)}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:4px}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{font:600 11.5px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:15px}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right}
.pill{display:inline-block;background:var(--tag);color:var(--tag-ink);font:600 15px/1 var(--font-mono);padding:6px 8px;border-radius:3px}
.strike{font-family:var(--font-mono);color:var(--sale);text-decoration:line-through}
.save{font-family:var(--font-mono);color:var(--good);font-weight:600}
.res{font-family:var(--font-mono);font-weight:600}
.modecell{color:var(--muted)}
.tok{margin-top:28px;display:grid;gap:10px}
.notes{margin-top:28px;display:grid;gap:10px}
.notes ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted);max-width:80ch}
/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:start}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
@media (max-width:520px){.form{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:13.5px;font-weight:600}
.field .hint{font-size:12.5px;color:var(--muted)}
select,input[type="number"],input[type="text"]{width:100%;font:500 15px/1.2 var(--font-body);padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
select:focus,input:focus{outline:2px solid var(--aisle);outline-offset:1px;border-color:var(--aisle)}
input[disabled]{opacity:.5}
.receipt-wrap{filter:drop-shadow(0 1px 0 var(--line)) drop-shadow(0 10px 16px var(--shadow))}
.receipt{background:var(--surface);padding:28px 26px 34px;font:400 13.5px/1.6 var(--font-mono);font-variant-numeric:tabular-nums;
-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x,linear-gradient(#000 0 0) top/100% 52% no-repeat;
mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x,linear-gradient(#000 0 0) top/100% 52% no-repeat}
.receipt .rhead{text-align:center;display:grid;gap:2px;margin-bottom:14px}
.receipt .rhead b{font-family:var(--font-display);font-stretch:118%;font-weight:800;font-size:18px}
.receipt .rhead span{color:var(--muted);font-size:12px}
.rline{display:flex;justify-content:space-between;gap:16px}
.rline span:first-child{color:var(--muted)}
.rline span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}
.rsep{border:0;border-top:1px dashed var(--line);margin:12px 0}
.rtotal{font-weight:600;font-size:15px;color:var(--ink)}
.rtotal span:first-child{color:var(--ink)}
.rbig{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px}
.rbig b{font-family:var(--font-display);font-weight:900;font-size:34px;letter-spacing:-.02em}
.rsaved{margin-top:10px;background:var(--tag);color:var(--tag-ink);padding:8px 10px;border-radius:3px;font-weight:600}
.rfoot{margin-top:14px;color:var(--muted);font-size:12px;text-align:center}
.receipt .barcode{margin-top:14px;height:34px}
/* api */
.steps{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px;display:grid;gap:6px;align-content:start}
.steps li::before{content:"Step " counter(s);font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--aisle)}
:root[lang="zh"] .steps li::before{content:"第 " counter(s) " 步"}
.steps p{color:var(--muted);font-size:14.5px}
.steps a{color:var(--aisle);font-weight:600}
.apibar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-bottom:12px}
.baseurl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.baseurl code{font:500 14px/1.3 var(--font-mono);background:var(--surface);border:1px solid var(--line);padding:7px 10px;border-radius:4px;overflow-wrap:anywhere}
.codebox{background:var(--code-bg);color:var(--code-fg);border-radius:6px;overflow:hidden}
.codetabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--code-line);padding:6px 8px 0;flex-wrap:wrap}
.codetabs button.tab{font:500 13px/1 var(--font-mono);padding:10px 12px;border:0;background:transparent;color:var(--code-muted);cursor:pointer;border-bottom:2px solid transparent}
.codetabs button.tab[aria-selected="true"]{color:var(--code-fg);border-bottom-color:var(--code-str)}
.codetabs .copy{margin-left:auto;margin-bottom:6px;background:transparent;color:var(--code-muted);border-color:var(--code-line)}
.codetabs .copy:hover{color:var(--code-fg);border-color:var(--code-fg)}
pre.code{margin:0;padding:18px 20px;overflow-x:auto;font:400 13.5px/1.65 var(--font-mono);tab-size:2}
pre.code .c{color:var(--code-muted)}
pre.code .s{color:var(--code-str)}
.alt{margin-top:12px;font-size:14px;color:var(--muted)}
.alt code{font-family:var(--font-mono);font-size:13px;color:var(--ink)}
/* compare */
.cmp td:first-child{font-weight:600}
.yes{color:var(--good);font-weight:600}
.no{color:var(--muted)}
/* top-up */
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.pack{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:16px;display:grid;gap:8px;align-content:start}
.pack .k{font:600 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pack .amt{font-family:var(--font-display);font-weight:900;font-size:34px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pack .approx{font-size:13px;color:var(--muted);min-height:2.6em}
.pack .btn{width:100%}
.custom .in{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.custom .in span{padding-left:12px;font:600 15px var(--font-mono);color:var(--muted)}
.custom .in input{border:0;padding-left:6px}
.custom .err{font-size:12.5px;color:var(--bad);min-height:1.2em}
.pay{margin-top:40px;display:grid;gap:16px}
.paygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.paygrid{grid-template-columns:1fr}}
.paycard{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px;display:grid;gap:8px;align-content:start}
.paycard .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.status{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.status.ok{color:var(--good)}
.status.soon{color:var(--warn)}
.status.man{color:var(--muted)}
.paycard p{font-size:14px;color:var(--muted)}
.contacts{display:flex;flex-wrap:wrap;gap:12px}
.contact{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:10px 12px;min-width:0}
.contact .k{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact .v{font:500 14px var(--font-mono);user-select:all;overflow-wrap:anywhere}
/* faq */
.faq{max-width:840px;display:grid}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 2px;font-weight:600;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 20px/1 var(--font-mono);color:var(--muted)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 2px 20px;color:var(--muted);max-width:70ch}
/* footer */
footer{border-top:1px solid var(--line);background:var(--surface)}
footer .wrap{padding-block:36px;display:grid;gap:16px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.foot-links a{color:var(--muted);text-decoration:none}
.foot-links a:hover{color:var(--ink)}
.disclaimer{font-size:13px;color:var(--muted);max-width:90ch}
/* promo */
.promo-strip{background:var(--sale);color:var(--sale-ink)}
.promo-strip .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;padding-block:8px;min-height:40px}
.promo-strip p{font:500 13.5px/1.45 var(--font-body);flex:1 1 320px;min-width:0}
.promo-strip p b{font-family:var(--font-mono);font-weight:600}
.promo-strip a{font-weight:600;font-size:13.5px;white-space:nowrap}
.promo-x{margin-left:auto;background:transparent;border:0;color:inherit;font:400 22px/1 var(--font-mono);cursor:pointer;padding:2px 6px;border-radius:4px}
.promo-x:hover{background:var(--sale-ink);color:var(--sale)}
.rewards{padding-block:56px}
.endcap{border:2px solid var(--ink);border-radius:4px;background:var(--surface);overflow:hidden}
.endcap-band{background:var(--sale);color:var(--sale-ink);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:10px 22px;font:600 12px/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.endcap-body{padding:28px 24px 24px;display:grid;gap:26px}
@media (max-width:520px){.endcap-body{padding:22px 16px 18px}.endcap-band{padding:10px 16px}}
.rw-head{display:grid;gap:10px}
.rw-head .lede b{color:var(--ink);font-weight:600}
.prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.prizes{grid-template-columns:1fr}.prize .dev{height:88px}}
.prize{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:16px;display:grid;gap:14px;align-content:start;min-width:0}
.prize .tier{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.prize .dev{height:120px;display:grid;place-items:center}
.prize .dev svg{height:100%;width:auto;max-width:100%}
.dev .body{fill:var(--surface);stroke:var(--ink);stroke-width:2.2}
.dev .screen{fill:var(--bg);stroke:var(--line);stroke-width:1}
.dev .ink{fill:var(--ink)}
.dev .seam{stroke:var(--ink);stroke-width:1.4;stroke-dasharray:3 3}
.ptag{position:relative;background:var(--tag);color:var(--tag-ink);clip-path:polygon(24px 0,100% 0,100% 100%,24px 100%,0 50%);padding:12px 16px 14px 40px;display:grid;gap:4px}
.ptag::before{content:"";position:absolute;left:12px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--bg)}
.ptag .k{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.ptag .v{font-family:var(--font-display);font-weight:900;font-size:clamp(1.8rem,3.2vw,2.3rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ptag .g{font-weight:600;font-size:15.5px}
.prize .line{font-size:13.5px;color:var(--muted)}
.rw-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
details.sales{min-width:0}
details.sales summary{list-style:none}
details.sales summary::-webkit-details-marker{display:none}
details.sales[open] summary{border-color:var(--ink)}
details.sales .contacts{margin-top:12px}
details.terms{border-top:1px solid var(--line);padding-top:4px}
details.terms summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-weight:600}
details.terms summary::-webkit-details-marker{display:none}
details.terms summary::after{content:"+";font:500 18px/1 var(--font-mono);color:var(--muted)}
details.terms[open] summary::after{content:"−"}
details.terms ol{margin:0;padding:0 0 8px 20px;display:grid;gap:8px;color:var(--muted);font-size:14px;max-width:90ch}
.rw-tm{font-size:12.5px;color:var(--muted)}
.promo-callout{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;border:1px dashed var(--sale);border-radius:4px;padding:12px 16px;margin-bottom:16px;background:var(--surface)}
.promo-callout .k{font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--sale)}
.promo-callout p{flex:1 1 300px;min-width:0;font-size:14.5px}
.promo-callout a{font-weight:600;color:var(--aisle);white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}