/* Zynverse — Spec Grid brand. No build step: this file is served as-is. */
@font-face{font-family:Archivo;font-weight:800;font-display:swap;src:url(/fonts/archivo-800.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:600;font-display:swap;src:url(/fonts/archivo-600.woff2) format("woff2")}
@font-face{font-family:"Archivo Narrow";font-weight:600;font-display:swap;src:url(/fonts/archivo-narrow-600.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}

:root{
  --ink:#16191F;--ink-2:#3B414C;--muted:#5D6573;--line:#DDE1E6;--bench:#E9ECEF;--paper:#F5F6F8;--white:#fff;
  --orange:#FF5B1F;--orange-ink:#C2410C;--teal:#0F7B6C;--teal-bg:#E3F3F0;
  --radius:14px;--radius-s:9px;--shadow:0 1px 2px rgba(22,25,31,.06),0 4px 16px rgba(22,25,31,.05);
  --max:1200px;--gutter:clamp(16px,3vw,28px);
  --f-head:Archivo,"Helvetica Neue",Arial,sans-serif;--f-num:"Archivo Narrow","Arial Narrow",Arial,sans-serif;--f-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--f-body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:rgba(22,25,31,.3);text-underline-offset:3px}
a:hover{text-decoration-color:var(--orange)}
h1,h2,h3{font-family:var(--f-head);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 .4em}
h1{font-size:clamp(30px,4.6vw,48px)}h2{font-size:clamp(22px,2.6vw,30px)}h3{font-size:19px;letter-spacing:-.01em}
p{margin:0 0 1em}
.num{font-family:var(--f-num);font-weight:600;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.muted{color:var(--muted)}.small{font-size:13.5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}

/* header */
.site-head{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;align-items:center;gap:22px;height:64px}
.logo{display:flex;align-items:center;text-decoration:none}.logo img{height:30px;width:auto}
.nav{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
.nav a{color:#C9CED6;text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 11px;border-radius:8px;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:#fff;background:#262B34}
.head-search{display:flex;align-items:center;background:#262B34;border-radius:10px;padding:0 10px;min-width:0}
.head-search input{background:none;border:0;color:#fff;font:inherit;font-size:14.5px;padding:9px 6px;width:190px;min-width:0}
.head-search input::placeholder{color:#8A93A1}
@media (max-width:820px){.site-head .wrap{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;gap:10px}.head-search{order:3;flex:1 1 100%}.head-search input{width:100%}.nav{order:2;flex:1 1 100%}}

/* buttons, chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px var(--f-body);padding:11px 18px;border-radius:10px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;min-height:44px}
.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:#E94E14}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.btn-s{padding:7px 12px;min-height:36px;font-size:14px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:13.5px;text-decoration:none;color:var(--ink-2)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--bench);color:var(--ink-2)}
.badge-verified{background:var(--teal-bg);color:var(--teal)}
.badge-soon{background:#FFF1EA;color:var(--orange-ink)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}

/* layout blocks */
main{display:block;padding:28px 0 64px}
.section{margin-top:44px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.grid{display:grid;gap:16px}
.g-cats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.g-products{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.crumbs{font-size:13.5px;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.crumbs li+li:before{content:"/";margin-right:6px;color:#B4BAC4}

/* hero */
.hero{background:var(--ink);color:#fff;border-radius:22px;padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero p{color:#C9CED6;max-width:640px;font-size:17px}
.hero-search{display:flex;gap:8px;max-width:620px;margin-top:22px;background:#fff;border-radius:12px;padding:6px}
.hero-search input{flex:1;border:0;font:inherit;font-size:16px;padding:10px 12px;min-width:0;color:var(--ink);background:none}
.hero-grid{position:absolute;right:48px;top:50%;transform:translateY(-50%);width:210px;opacity:.14;pointer-events:none}
@media (max-width:1000px){.hero-grid{width:150px;right:24px}}
@media (max-width:700px){.hero-grid{display:none}}

/* category tile */
.cat-tile{display:flex;flex-direction:column;gap:6px;padding:18px;text-decoration:none;min-height:130px}
.cat-tile h3{margin:0}.cat-tile:hover{border-color:var(--ink)}

/* product card */
.p-card{display:flex;flex-direction:column;text-decoration:none;overflow:hidden}
.p-card:hover{border-color:var(--ink)}
.p-card .ph{aspect-ratio:4/3;background:var(--bench)}
.p-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.p-card .brand{font-size:13px;color:var(--muted);font-weight:600}
.p-card h3{font-size:17px;margin:0}
.keyspecs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}
.keyspecs div{background:var(--paper);border-radius:8px;padding:6px 9px}
.keyspecs dt{font-size:11.5px;color:var(--muted)}.keyspecs dd{margin:0;font:600 15px var(--f-num)}

/* honest image placeholder */
.photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8A93A1;background:var(--bench);font-size:12.5px;margin:0;width:100%;height:100%}
.photo svg{width:44px;height:auto}

/* finder */
.finder{display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:start}
.filters{padding:18px;position:sticky;top:84px}
.filters fieldset{border:0;padding:0;margin:0 0 18px}
.filters legend{font-weight:600;font-size:14px;margin-bottom:8px}
.filters label{display:flex;gap:8px;align-items:center;font-size:14px;padding:3px 0}
.range{display:flex;gap:8px}.range input{width:100%}
input:not([type]),input[type=search],input[type=text],input[type=number],input[type=email],input[type=password],input[type=url],input[type=date],input[type=datetime-local],select,textarea{font:inherit;font-size:15px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:110px}
.filter-toggle{display:none}
@media (max-width:900px){.finder{grid-template-columns:1fr}.filters{position:static;display:none}.filters.open{display:block}.filter-toggle{display:inline-flex}}
.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}

/* product page */
.p-head{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.p-head .ph{aspect-ratio:1;border-radius:var(--radius);overflow:hidden}
@media (max-width:820px){.p-head{grid-template-columns:1fr}.p-head .ph{max-width:340px}}
.spec-group{margin-top:22px}
.spec-group h2{font-size:20px;margin-bottom:10px}
.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.spec-table th,.spec-table td{text-align:left;padding:12px 16px;border-top:1px solid var(--line);vertical-align:top}
.spec-table tr:first-child th,.spec-table tr:first-child td{border-top:0}
.spec-table th{width:34%;font-weight:600;font-size:14.5px;color:var(--ink-2)}
.spec-table .val{font:600 17px var(--f-num)}
.src{display:block;font-size:12.5px;color:var(--teal);margin-top:3px}
.src a{color:var(--teal)}
.unknown{color:var(--muted);font-size:14px}
@media (max-width:560px){.spec-table th,.spec-table td{display:block;width:100%;padding:8px 14px}.spec-table td{border-top:0;padding-top:0}}

/* where to buy */
.buy{padding:18px}.buy h2{font-size:20px}
.offer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.offer:first-of-type{border-top:0}
.offer .price{font:600 19px var(--f-num)}
.offer .when{font-size:12px;color:var(--muted)}
.disclosure{font-size:12.5px;color:var(--muted);margin-top:10px}

/* compare */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.cmp{border-collapse:collapse;min-width:640px;width:100%}
.cmp th,.cmp td{padding:12px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.cmp thead th{border-top:0;position:sticky;top:0;background:#fff}
.cmp tbody th{font-weight:600;font-size:14px;color:var(--ink-2);width:200px;position:sticky;left:0;background:#fff}
.cmp td .num{font-size:17px}
.cmp .win{background:#FFF4EE}
.cmp .win .num{color:var(--orange-ink)}
.cmp .grp th{background:var(--paper);font-family:var(--f-head);font-weight:800;color:var(--ink)}
.cmp-note{font-size:13px;color:var(--muted);margin-top:10px}

/* news */
.article{max-width:740px}
.article .body{font-size:17.5px;line-height:1.7}
.article .body h2{margin-top:1.4em}
.post-card{padding:18px;text-decoration:none;display:block}

/* ads — space is reserved before the ad loads (CLS 0) */
.ad-slot{display:flex;align-items:center;justify-content:center;margin:26px auto;position:relative;width:100%;overflow:hidden;contain:layout}
.ad-slot:before{content:"Advertisement";position:absolute;top:-17px;left:0;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#9AA1AD}
.ad-slot{margin-top:34px;min-height:var(--hm,250px)}
@media (min-width:768px){.ad-slot{min-height:var(--h,280px)}}
.ad-slot.zv-filled:before{display:block}

/* consent banner */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:18px 20px;display:none}
.consent.show{display:block}
.consent .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* footer */
.site-foot{background:var(--ink);color:#C9CED6;padding:40px 0;font-size:14.5px}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.foot-grid h3{color:#fff;font-size:15px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}

/* pagination */
.pager{display:flex;gap:8px;justify-content:center;margin-top:26px}
.pager a,.pager span{padding:8px 13px;border-radius:9px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:14px}
.pager .cur{background:var(--ink);color:#fff;border-color:var(--ink)}

.empty{padding:34px;text-align:center}
.notice{background:#FFF8E6;border:1px solid #F5DFA0;border-radius:12px;padding:12px 16px;font-size:14.5px}

/* mobile fixes */
.p-head>*,.finder>*{min-width:0}
@media (max-width:600px){
  .g-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .p-card .body{padding:10px 11px 12px}
  .p-card h3{font-size:15px}
  .keyspecs{grid-template-columns:1fr 1fr!important}
  .keyspecs dd{font-size:13.5px}
  .p-head .ph{max-width:220px}
}

/* YouTube: click-to-play (no YouTube code until the visitor clicks) */
.yt{position:relative;aspect-ratio:16/9;max-width:820px;border-radius:var(--radius);overflow:hidden;background:#000;cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.92}
.yt-play{position:absolute;inset:0;margin:auto;width:84px;height:60px;border:0;background:none;cursor:pointer}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.head-search input[type=search]{background:none;border:0;color:#fff;padding:9px 6px;width:190px}
.hero-search input[type=search]{border:0;background:none}
@media (max-width:820px){.head-search input[type=search]{width:100%}}

/* Spec Arcade */
.arc-q{font:800 22px var(--f-head);letter-spacing:-.01em}
.arc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.arc-row.arc-4{grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.arc-row.arc-4{grid-template-columns:repeat(4,1fr)}}
.arc-card:hover:not(:disabled){border-color:var(--ink)}
.arc-card strong{font:800 18px var(--f-head)}
.arc-card .arc-val{font-size:22px;color:var(--orange-ink)}
.arc-card.bad{border-color:#E5484D;background:#FDECEC}
/* score, prices, opinions */
.zscore{display:flex;align-items:center;gap:14px;padding:16px}
.zscore .ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font:800 24px var(--f-head);background:conic-gradient(var(--orange) calc(var(--p)*1%),var(--bench) 0);position:relative}
.zscore .ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.zscore .ring span{position:relative;z-index:1}
.bars{display:grid;gap:6px;margin-top:8px}
.bar{display:grid;grid-template-columns:160px 1fr 38px;gap:8px;align-items:center;font-size:13.5px}
.bar i{display:block;height:10px;box-shadow:inset 0 1px 2px rgba(0,0,0,.12);border-radius:9px;background:var(--bench);position:relative;overflow:hidden}
.bar i b{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#0F7B6C,#2BB59F);border-radius:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.lp-table{width:100%;border-collapse:collapse;font-size:14.5px}.lp-table td,.lp-table th{padding:8px 10px;border-top:1px solid var(--line);text-align:left}
.op{padding:14px 0;border-top:1px solid var(--line)}.op:first-child{border-top:0}
.op .reply{margin:10px 0 0 18px;padding-left:12px;border-left:3px solid var(--orange)}
.stars{color:var(--orange);letter-spacing:2px}
.pick{padding:18px;display:flex;flex-direction:column;gap:8px}
.pick ul{margin:0;padding-left:18px}
.chk{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff;font-size:14px}
.chk-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.adv-grid select,.adv-grid input{width:100%}
.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.pick h3{margin:0;font-size:19px}.pick .pill{align-self:flex-start}
.arc-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.arc-list li{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.arc-list li span{flex:1}
.arc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;max-width:560px}
.arc-grid button{min-height:74px;border:1px solid var(--line);border-radius:10px;background:var(--bench);font:inherit;font-size:13px;padding:6px;cursor:pointer}
.arc-grid button.up{background:#fff}.arc-grid button.done{background:#e6f4f1;border-color:var(--teal)}
.arc-msg{margin:10px 0;font-weight:600}
.size-wrap{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:14px 0}
.size-ph{border:3px solid var(--ink);border-radius:18px;background:linear-gradient(160deg,#2a2f38,#16191f);color:#fff;display:flex;align-items:flex-end;justify-content:center;font-size:12px;padding:6px;box-sizing:border-box}
.size-card{border:2px dashed var(--muted);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}
@media (max-width:600px){.bar{grid-template-columns:110px 1fr 34px}.arc-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== Depth system (3D feel) — CSS only, honours prefers-reduced-motion ===== */
@property --lift{syntax:"<number>";inherits:true;initial-value:0}
:root{--shadow-3d:0 1px 1px rgba(22,25,31,.04),0 2px 4px rgba(22,25,31,.05),0 8px 16px rgba(22,25,31,.06),0 18px 36px -8px rgba(22,25,31,.12);--shadow-3d-hi:0 2px 2px rgba(22,25,31,.05),0 6px 10px rgba(22,25,31,.07),0 18px 30px rgba(22,25,31,.10),0 34px 60px -12px rgba(22,25,31,.22)}
.card{box-shadow:var(--shadow-3d)}
.tilt,.p-card,.pick{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);transition:transform .25s ease,box-shadow .25s ease;will-change:transform;position:relative}
.tilt:hover,.p-card:hover,.pick:hover{box-shadow:var(--shadow-3d-hi)}
.tilt::after,.p-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.55),transparent 45%);opacity:0;transition:opacity .25s}
.tilt:hover::after,.p-card:hover::after{opacity:1}
.eyebrow{display:inline-block;font:600 12px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:640px}

/* page hero */
.pg-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:24px;padding:clamp(24px,4vw,48px);border-radius:22px;
  background:radial-gradient(900px 400px at 85% 10%,rgba(255,91,31,.18),transparent 60%),radial-gradient(700px 380px at 0% 100%,rgba(15,123,108,.22),transparent 60%),linear-gradient(135deg,#16191F,#232833 60%,#16191F);color:#fff;box-shadow:var(--shadow-3d-hi);isolation:isolate}
.pg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;transform:perspective(600px) rotateX(55deg) scale(2.2) translateY(18%);transform-origin:center bottom;mask-image:linear-gradient(to top,#000 10%,transparent 75%)}
.pg-hero h1{color:#fff;margin:.25em 0 .3em}.pg-hero .lead{color:#C9CED6}.pg-hero .eyebrow{color:#FF8A5C}.pg-meta{color:#9AA3B0;margin:0}
@media (max-width:760px){.pg-hero{grid-template-columns:1fr}.pg-hero-art{display:none}}

/* 3D spec grid */
.g3d-stage{display:flex;justify-content:center;align-items:center;min-height:240px;perspective:1100px}
.g3d{display:grid;grid-template-columns:repeat(4,46px);gap:9px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-42deg) translateY(-6px)}
.g3d i{display:block;width:46px;height:46px;position:relative;transform-style:preserve-3d;transform:translateZ(calc((var(--z) + var(--lift)) * 1px));background:#5B6472;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);animation:g3d-rise 5.5s ease-in-out var(--d) infinite alternate}
.g3d i::before{content:"";position:absolute;left:0;top:100%;width:100%;height:calc((var(--z) + var(--lift)) * 1px);background:#262B34;transform-origin:top;transform:rotateX(-90deg);background:#434A56}
.g3d i::after{content:"";position:absolute;left:100%;top:0;width:calc((var(--z) + var(--lift)) * 1px);height:100%;background:#2E343E;transform-origin:left;transform:rotateY(90deg)}
.g3d i.hot{background:#FF5B1F;box-shadow:0 0 30px rgba(255,91,31,.6)}.g3d i.hot::before{background:#C2410C}.g3d i.hot::after{background:#9A3412}
@keyframes g3d-rise{0%{--lift:0}100%{--lift:26}}

/* stats + features + related */
.stat3d{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-26px;position:relative;z-index:2;padding:0 clamp(10px,3vw,28px)}
.stat3d>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-3d)}
.stat3d strong{display:block;font-size:clamp(26px,3.4vw,38px);line-height:1}.stat3d span{font-size:13.5px;color:var(--muted)}
.feat3d,.rel3d{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px}
.feat3d a,.rel3d a{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-3d)}
.feat3d .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(145deg,#FF7A45,#E94E14);box-shadow:0 8px 18px -6px rgba(255,91,31,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.feat3d strong,.rel3d strong{font-family:var(--f-head);font-size:18px}.feat3d span:last-child{color:var(--muted);font-size:14.5px}
@media (max-width:760px){.stat3d{grid-template-columns:repeat(2,1fr);margin-top:14px;padding:0}}

/* page body + toc */
.pg-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;margin-top:36px;align-items:start}
.pg-layout:not(:has(.pg-toc)){grid-template-columns:minmax(0,1fr)}
.pg-toc{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-3d)}
.pg-toc ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}.pg-toc a{text-decoration:none;color:var(--ink-2)}.pg-toc a:hover{color:var(--orange-ink)}
.prose{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3.4vw,40px);box-shadow:var(--shadow-3d)}
.prose h2{scroll-margin-top:90px;margin-top:1.6em;padding-top:.2em;position:relative}.prose h2:first-child{margin-top:0}
.prose h2::before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;vertical-align:middle;background:var(--orange);border-radius:2px;transform:translateY(-3px) rotate(45deg);box-shadow:3px 3px 0 rgba(255,91,31,.25)}
.prose ul,.prose ol{padding-left:22px}.prose li{margin:.3em 0}.prose strong{color:var(--ink)}
.prose table{margin:12px 0}.prose code{background:var(--bench);padding:1px 6px;border-radius:6px;font-size:.92em}
@media (max-width:900px){.pg-layout{grid-template-columns:1fr}.pg-toc{position:static}}

@media (prefers-reduced-motion:reduce){.g3d i{animation:none}.tilt,.p-card,.pick{transition:none;transform:none!important}}

.arc-q{font-family:var(--f-head);font-size:clamp(19px,2.2vw,24px);font-weight:800;margin:6px 0 4px}
.lc-form{padding:20px 22px;margin-top:22px}
.lc-verdict{border-radius:20px;padding:clamp(20px,3vw,32px);color:#fff;box-shadow:var(--shadow-3d-hi);background:linear-gradient(135deg,#16191F,#2B313C)}
.lc-verdict h2{color:#fff;margin:.3em 0 .5em}.lc-verdict ul{margin:0;padding-left:20px;color:#DDE1E6}.lc-verdict .eyebrow{color:#FFB08F}
.lc-keep{background:linear-gradient(135deg,#0B5D52,#0F7B6C)}.lc-fix{background:linear-gradient(135deg,#16191F,#0F7B6C)}
.lc-maybe{background:linear-gradient(135deg,#3B2A1F,#C2410C)}.lc-go{background:linear-gradient(135deg,#C2410C,#FF5B1F)}.lc-stop{background:linear-gradient(135deg,#7F1D1D,#B91C1C)}
.lc-support{padding:18px 22px;margin-top:16px}
.lc-meter{height:12px;border-radius:99px;background:var(--bench);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.12);margin:8px 0 12px}
.lc-meter b{display:block;height:100%;background:linear-gradient(90deg,#0F7B6C,#3FB8A6);border-radius:99px}
.lc-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:12px}
.lc-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;column-gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow-3d)}
.lc-steps li::before{content:counter(s);grid-row:span 2;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font:800 18px var(--f-head);color:#fff;background:linear-gradient(145deg,#FF7A45,#E94E14);box-shadow:0 8px 18px -6px rgba(255,91,31,.7)}
.lc-steps span{color:var(--ink-2);font-size:15px}
.lc-cta{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 22px;margin-top:18px}
.brand-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.brand-facts>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 14px;backdrop-filter:blur(6px)}
.brand-facts span{display:block;font-size:12px;color:#9AA3B0;text-transform:uppercase;letter-spacing:.08em}.brand-facts strong{color:#fff;font-size:17px}
.brand-logo3d{display:flex;justify-content:center;perspective:900px}
.brand-logo3d .tilt{background:#fff;border-radius:22px;padding:28px 34px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.2);transform:perspective(900px) rotateX(calc(var(--rx,0deg) + 8deg)) rotateY(calc(var(--ry,0deg) - 14deg))}
.brand-logo3d img{max-height:120px;width:auto;max-width:220px;object-fit:contain}
.brand-mono{font:800 72px/1 var(--f-head);color:var(--ink);width:150px;height:150px;display:grid;place-items:center}
.logo-time{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;position:relative}
.logo-time li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-3d)}
.lt-img{height:90px;display:grid;place-items:center;background:var(--paper);border-radius:10px;margin-bottom:6px}.lt-img img{max-height:70px;max-width:80%;object-fit:contain}
@media (max-width:760px){.brand-logo3d{display:none}}

.home-hero{padding:clamp(28px,5vw,56px)}.home-hero .hero-search{max-width:560px}

/* ===== Announcements ===== */
.ann{--ab:#16191F;--af:#fff;--ac:#FF8A5C;background:var(--ab);color:var(--af);font-size:14.5px}
.ann-t-info{--ab:#1F2A37;--af:#fff;--ac:#9CC9FF}.ann-t-success{--ab:#0F7B6C;--af:#fff;--ac:#fff}.ann-t-warning{--ab:#FFF1D6;--af:#5B3A00;--ac:#5B3A00}.ann-t-urgent{--ab:#B42318;--af:#fff;--ac:#fff}
.ann-in{max-width:var(--max);margin:0 auto;padding:9px var(--gutter);display:flex;align-items:center;gap:12px;min-height:40px}
.ann-txt{flex:1;min-width:0}.ann-txt a{color:var(--ac);text-decoration:underline}
.ann-btn{flex:none;font-weight:600;font-size:13.5px;color:var(--ab);background:var(--af);border-radius:8px;padding:6px 12px;text-decoration:none}
.ann-x{flex:none;width:44px;height:36px;border:0;background:transparent;color:var(--af);font-size:22px;line-height:1;cursor:pointer;opacity:.8}.ann-x:hover{opacity:1}
.ann-ticker .ann-txt{overflow:hidden;white-space:nowrap}
.ann-ticker .ann-move{display:inline-block;padding-left:100%;animation:ann-tick 22s linear infinite}
.ann-ticker:hover .ann-move{animation-play-state:paused}
@keyframes ann-tick{to{transform:translateX(-100%)}}
.ann-bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.ann-toast{position:fixed;right:16px;bottom:16px;z-index:41;max-width:380px;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-3d-hi)}
.ann-toast .ann-in{padding:12px 14px;align-items:flex-start}
dialog.ann-modal{border:0;padding:0;border-radius:18px;max-width:520px;width:calc(100% - 32px);box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden}
dialog.ann-modal::backdrop{background:rgba(22,25,31,.55)}
dialog.ann-modal .ann-in{padding:22px 22px 18px;flex-wrap:wrap;font-size:16px;align-items:flex-start}
dialog.ann-modal .ann-x{order:-1;margin-left:auto}
dialog.ann-modal .ann-txt{flex:1 1 100%}
@media (max-width:600px){
  .ann-in{flex-wrap:wrap;gap:8px}.ann-top .ann-x,.ann-bottom .ann-x{margin-left:auto}
  dialog.ann-modal{margin:auto 0 0;width:100%;max-width:none;max-height:35vh;border-radius:18px 18px 0 0}
  .ann-toast{left:12px;right:12px;bottom:12px;max-width:none}
}
@media (prefers-reduced-motion:reduce){.ann-ticker .ann-move{animation:none;padding-left:0;white-space:normal}}
.ann-paused{background:#FFF1D6;color:#5B3A00;border-radius:12px;padding:14px 16px;font-weight:600}

/* ===== Spec Arcade v2: hub, stage, 3D cards, feedback ===== */
.arc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.arc-tile{position:relative;text-align:left;font:inherit;cursor:pointer;border:0;border-radius:20px;padding:18px 18px 16px;min-height:200px;display:flex;flex-direction:column;gap:6px;color:#fff;overflow:hidden;
  background:radial-gradient(240px 160px at 85% 0%,rgba(255,255,255,.28),transparent 60%),linear-gradient(150deg,var(--gc),color-mix(in srgb,var(--gc) 55%,#16191F));box-shadow:0 14px 30px -12px color-mix(in srgb,var(--gc) 70%,transparent),var(--shadow-3d)}
.arc-tile::before{content:"";position:absolute;inset:auto -30px -40px auto;width:150px;height:150px;border-radius:30px;background:rgba(255,255,255,.08);transform:rotate(25deg)}
.arc-tile-ico{font-size:40px;line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));transform:translateZ(30px)}
.arc-tile-tag{position:absolute;top:14px;right:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.2);border-radius:99px;padding:3px 9px}
.arc-tile strong{font:800 21px/1.1 var(--f-head);margin-top:8px}
.arc-tile-d{font-size:14px;opacity:.9;flex:1}
.arc-tile-go{font-weight:700;font-size:14px;align-self:flex-start;background:#fff;color:#16191F;border-radius:10px;padding:7px 12px;box-shadow:0 6px 14px rgba(0,0,0,.25);transition:transform .2s}
.arc-tile:hover .arc-tile-go{transform:translateX(4px)}
.arc-stage{--gc:#FF5B1F}
.arc-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.arc-title{margin:0;font-size:clamp(22px,3vw,30px);flex:1;min-width:180px}
.arc-stats{display:flex;gap:8px;align-items:stretch}
.arc-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 12px;text-align:center;min-width:64px;box-shadow:var(--shadow-3d)}
.arc-stat small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.arc-stat b{font-size:22px;line-height:1.1}
.on-fire .arc-fire{background:linear-gradient(135deg,#FF7A45,#FF5B1F);color:#fff;border-color:transparent;animation:arc-glow 1.2s ease-in-out infinite alternate}.on-fire .arc-fire small{color:#FFE2D6}
.on-fire .arc-fire b::after{content:" 🔥"}
@keyframes arc-glow{to{box-shadow:0 0 0 4px rgba(255,91,31,.25),0 10px 24px rgba(255,91,31,.45)}}
.arc-sound{border:1px solid var(--line);background:#fff;border-radius:12px;width:48px;font-size:20px;cursor:pointer;box-shadow:var(--shadow-3d)}
.arc-timer{height:8px;border-radius:99px;background:var(--bench);overflow:hidden;margin:0 0 12px}
.arc-timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--gc),color-mix(in srgb,var(--gc) 60%,#fff));border-radius:99px}
.arc-timer i.low{background:#E5484D;animation:arc-blink .5s steps(2) infinite}
@keyframes arc-blink{50%{opacity:.5}}
.arc-board{padding:clamp(16px,3vw,28px);border-top:4px solid var(--gc);background:radial-gradient(600px 220px at 50% -60px,color-mix(in srgb,var(--gc) 12%,transparent),transparent 70%),#fff}
.arc-q{font:800 clamp(20px,2.6vw,28px)/1.2 var(--f-head);margin:0 0 6px;text-align:center}
.arc-q strong{color:var(--gc)}
.arc-rn{display:block;font:700 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.arc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0;perspective:1000px}
.arc-card{position:relative;font:inherit;text-align:center;cursor:pointer;border:2px solid var(--line);border-radius:18px;padding:14px 12px 16px;background:linear-gradient(180deg,#fff,#F7F8FA);
  display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:var(--shadow-3d);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .2s;transform-style:preserve-3d}
.arc-card:hover:not([disabled]){transform:translateY(-6px) rotateX(6deg);border-color:var(--gc);box-shadow:var(--shadow-3d-hi)}
.arc-card:active:not([disabled]){transform:translateY(-2px) scale(.98)}
.arc-card[disabled]{cursor:default}
.arc-ph{width:100%;height:150px;display:grid;place-items:center;margin-bottom:6px}
.arc-ph img{max-height:150px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.18));transition:transform .3s}
.arc-card:hover:not([disabled]) .arc-ph img{transform:translateY(-4px) rotate(-3deg) scale(1.04)}
.arc-sil{width:70px;height:130px;border-radius:16px;background:linear-gradient(160deg,#3B414C,#16191F);box-shadow:inset 0 0 0 3px #5B6472,0 14px 20px -8px rgba(0,0,0,.4);display:grid;place-items:center;position:relative}
.arc-sil::before{content:"";position:absolute;top:8px;width:16px;height:4px;border-radius:4px;background:#5B6472}
.arc-sil span{font:800 26px var(--f-head);color:color-mix(in srgb,var(--gc) 70%,#fff)}
.arc-brand{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.arc-name{font:800 17px/1.2 var(--f-head)}
.arc-val{display:inline-block;margin-top:8px;font:700 20px var(--f-num);color:#fff;background:var(--gc);border-radius:10px;padding:5px 12px;animation:arc-reveal .45s cubic-bezier(.2,1.4,.4,1) both}
@keyframes arc-reveal{from{transform:rotateX(90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
.arc-card.ok{border-color:#16A34A;box-shadow:0 0 0 4px rgba(22,163,74,.18),var(--shadow-3d-hi);transform:translateY(-6px)}
.arc-card.no{border-color:#E5484D;opacity:.85}
.arc-card.ok .arc-mark::after,.arc-card.no .arc-mark::after{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.25);animation:arc-reveal .35s both}
.arc-card.ok .arc-mark::after{content:"✓";background:#16A34A}.arc-card.no .arc-mark::after{content:"✕";background:#E5484D}
.shake{animation:arc-shake .45s}
@keyframes arc-shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.arc-msg{text-align:center;font-weight:700;font-size:17px;margin:6px 0 10px;padding:10px 14px;border-radius:12px}
.arc-msg.good{background:#E8F7EE;color:#0B6B3A}.arc-msg.bad{background:#FFF0EB;color:#B4380F}
.arc-next{display:flex;margin:12px auto 0;min-width:220px;font-size:17px;box-shadow:0 10px 22px -8px rgba(255,91,31,.7)}
.arc-pop{position:fixed;z-index:60;transform:translate(-50%,-50%);font:800 34px var(--f-head);pointer-events:none;animation:arc-float 1.1s ease-out forwards;text-shadow:0 4px 14px rgba(0,0,0,.25)}
.arc-pop.good{color:#16A34A}.arc-pop.bad{color:#E5484D}
@keyframes arc-float{from{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}to{opacity:0;transform:translate(-50%,-160%) scale(1)}}
.arc-confetti{position:fixed;inset:0;pointer-events:none;z-index:59}
.arc-board .keyspecs{margin:14px auto 0;grid-template-columns:repeat(3,1fr)}
.arc-board .keyspecs>div{background:color-mix(in srgb,var(--gc) 8%,#fff);border-color:color-mix(in srgb,var(--gc) 25%,var(--line))}
.arc-list li{transition:transform .2s}
.arc-grid button{transition:transform .35s,background .2s;transform-style:preserve-3d}
.arc-grid button{background:linear-gradient(150deg,var(--gc),color-mix(in srgb,var(--gc) 60%,#16191F));color:#fff;font-weight:700;border:0;box-shadow:var(--shadow-3d)}
.arc-grid button.up{background:#fff;color:var(--ink);border:2px solid var(--gc);animation:arc-flip .35s both}
.arc-grid button.done{background:#E8F7EE;color:#0B6B3A;border:2px solid #16A34A;animation:arc-flip .35s both}
@keyframes arc-flip{from{transform:rotateY(90deg)}to{transform:none}}
@media (max-width:600px){.arc-cards{grid-template-columns:1fr 1fr}.arc-ph{height:110px}.arc-ph img{max-height:110px}.arc-stats{width:100%}.arc-stat{flex:1}.arc-board .keyspecs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.arc-card,.arc-card:hover,.arc-val,.arc-pop,.shake,.arc-grid button{animation:none!important;transition:none!important;transform:none!important}}
.arc-card[disabled]{color:var(--ink);opacity:1}.arc-card.no[disabled]{opacity:.8}
.arc-card[disabled] .arc-name{color:var(--ink)}.arc-card .arc-val{color:#fff!important}
.arc-stage{scroll-margin-top:84px}
@media (max-width:760px){.arc-playing .pg-hero{display:none}}
.ph-img{width:100%;height:100%;object-fit:contain;background:#fff;padding:6%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.16));transition:transform .35s}
.p-card:hover .ph-img{transform:translateY(-4px) rotate(-2deg) scale(1.03)}
.ph-sil-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;margin:0;background:radial-gradient(220px 140px at 50% 30%,#fff,var(--bench))}
.ph-sil{--gc:#FF5B1F;width:64px;height:118px}
.ph-sil-wrap figcaption{font-size:12px;color:var(--muted)}
.post-type{display:inline-flex;gap:6px;align-items:center;font:700 12px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:5px 12px}
.post-rumour .post-type{background:#FFB02033;border-color:#FFB020}
.rumour-box{margin-top:16px;background:#FFF6E0;border:1px solid #F5C451;color:#5B3A00;border-radius:14px;padding:14px 18px}
.post-sources,.post-corr{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.post-sources ol{padding-left:20px}
.post-author{margin-top:28px;padding:16px 18px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}
.prose img{border-radius:12px}
.pg-toc ol.toc-plain{list-style:none;padding-left:0}
.prose blockquote{border-left:4px solid var(--orange);background:#FFF7F2;margin:16px 0;padding:12px 16px;border-radius:0 12px 12px 0;color:var(--ink-2)}
.prose blockquote p{margin:0}
