/* Fidget Labs: homepage frame + shared materials */
:root{
  --brass:#c79a46; --brass-hi:#fff0b8; --brass-lo:#6e4a14;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --sans:Copperplate,"Copperplate Gothic Light","Palatino Linotype",Palatino,Georgia,serif;
  --brush:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.012 .85' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/></svg>");
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.55 .012' numOctaves='3' seed='8'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .04  0 0 0 0 0  0 0 0 .9 -.15'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/></svg>");
  --tarn:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='4' seed='4'/><feColorMatrix values='0 0 0 0 .22  0 0 0 0 .1  0 0 0 0 .03  2.0 0 0 0 -.85'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box}
html,body{margin:0;background:#080605}
body{min-height:100vh;color:#e6d4a4;font-family:var(--sans);padding:18px 12px 40px;overflow-x:hidden;
  background:radial-gradient(1200px 700px at 50% -10%,#3d2515 0%,#1a0f08 55%,#0a0605 100%);-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 500px at 50% 0,rgba(255,214,150,.09),transparent 70%),radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.6))}
.rack{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}
.cheek{position:relative;background:var(--grain),repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(255,200,140,.05) 0 3px,transparent 3px 13px),linear-gradient(90deg,#4d280f,#8d5629 30%,#6f3f1d 62%,#3f200c);
  box-shadow:inset 0 0 0 1px rgba(255,200,140,.12),inset -3px 0 0 #c87040,inset -5px 0 0 #2a1408,inset 3px 0 6px rgba(255,210,160,.18),inset -9px 0 12px rgba(0,0,0,.5)}
.cheek.l{border-radius:14px 0 0 14px}.cheek.r{border-radius:0 14px 14px 0;transform:scaleX(-1)}
.cheek::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,.22),rgba(255,255,255,0) 22%,rgba(255,255,255,0) 70%,rgba(255,255,255,.07))}
.main{background:#0b0908;padding:12px;box-shadow:inset 0 0 30px #000;min-width:0}
.nameplate{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-radius:7px;margin-bottom:10px;color:#e9c778;
  background:var(--tarn),var(--brush),linear-gradient(180deg,#2e1b0e,#150b05);
  box-shadow:inset 0 0 0 2px var(--brass),inset 0 0 0 3px #000,inset 0 0 0 5px rgba(255,220,150,.1),0 4px 10px rgba(0,0,0,.65)}
.nameplate h1{margin:0;font-size:clamp(18px,3.4vw,30px);letter-spacing:.42em;font-weight:700;display:flex;align-items:center;text-shadow:0 -1px 0 #000,0 0 14px rgba(255,190,90,.4)}
.pilot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:16px;background:radial-gradient(circle at 35% 30%,#d6ffe9,#22d884 50%,#04502c);box-shadow:0 0 0 2px #000,0 0 0 3px var(--brass),0 0 12px 3px rgba(40,230,140,.7);animation:breathe 3s ease-in-out infinite}
@keyframes breathe{50%{opacity:.55}}
.nameplate p{margin:0;font:600 10px/1.6 var(--mono);letter-spacing:.2em;color:#c9a55c;text-align:right}
.pipe{position:relative;height:15px;margin:0 -12px 12px;border-radius:3px;background:linear-gradient(180deg,#f4aa78 0,#cf7a45 28%,#8a4220 72%,#4f2412 100%);box-shadow:0 3px 5px rgba(0,0,0,.65),inset 0 0 0 1px rgba(0,0,0,.35)}
.pipe::before,.pipe::after{content:"";position:absolute;top:-4px;bottom:-4px;width:16px;border-radius:2px;background:linear-gradient(90deg,var(--brass-hi),#a87a2a 55%,var(--brass-lo));box-shadow:0 2px 3px rgba(0,0,0,.65)}
.pipe::before{left:16%}.pipe::after{right:16%}
.wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.wall{grid-template-columns:repeat(2,minmax(0,1fr))}.nameplate p{display:none}}
@media (max-width:560px){.wall{grid-template-columns:1fr}.rack{grid-template-columns:10px minmax(0,1fr) 10px}.main{padding:8px}}

/* cards */
.card{position:relative;display:block;text-decoration:none;color:inherit;border-radius:10px;padding:10px 10px 0;overflow:hidden;
  background:var(--brush),linear-gradient(180deg,#2a2a2d,#161617);
  box-shadow:0 0 0 1px #000,0 6px 14px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.14);
  transition:transform .18s cubic-bezier(.3,1.4,.5,1),box-shadow .18s}
.card:hover,.card:focus-visible{transform:translateY(-5px);outline:none;box-shadow:0 0 0 1px #000,0 0 0 2px var(--brass),0 14px 26px rgba(0,0,0,.7),0 0 26px rgba(199,154,70,.28),inset 0 1px 0 rgba(255,255,255,.2)}
.card:active{transform:translateY(1px);transition-duration:.05s}
.pv{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#050505;box-shadow:inset 0 0 0 1px rgba(0,0,0,.8),inset 0 0 22px rgba(0,0,0,.7)}
.pv canvas{position:absolute;inset:0;width:100%;height:100%}
.pv::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.07),transparent 40%)}
.badge{position:absolute;top:16px;left:16px;font:700 10px var(--mono);letter-spacing:.14em;padding:4px 7px;border-radius:4px;background:rgba(0,0,0,.6);color:#e9c778;box-shadow:inset 0 0 0 1px #6e4a14;z-index:2}
.tag{position:absolute;top:16px;right:16px;font:600 9px var(--mono);letter-spacing:.14em;padding:4px 7px;border-radius:4px;background:rgba(0,0,0,.6);color:#8fe0b9;z-index:2}
.cap{padding:11px 6px 13px;display:flex;flex-direction:column;gap:5px}
.cap h3{margin:0;font-weight:700;font-size:15px;letter-spacing:.3em;color:#ecd9a2;text-shadow:0 -1px 0 #000,0 1px 0 rgba(255,255,255,.1)}
.cap p{margin:0;font:600 10px/1.45 var(--mono);letter-spacing:.06em;color:#9c9484}
.screw{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brass-hi),#c8973a 45%,var(--brass-lo));box-shadow:0 1px 2px rgba(0,0,0,.75);z-index:3}
.screw::before{content:"";position:absolute;left:50%;top:50%;width:70%;height:1.5px;margin:-.75px 0 0 -35%;background:#3a2508}
.screw.a{bottom:9px;left:9px}.screw.b{bottom:9px;right:9px}
.card.off{cursor:default}
.card.off .pv::before{content:"POWERING UP";position:absolute;inset:0;display:grid;place-items:center;z-index:2;font:700 11px var(--mono);letter-spacing:.3em;color:#ffb21a;background:rgba(0,0,0,.55);text-shadow:0 0 10px rgba(255,170,0,.7);animation:breathe 2s ease-in-out infinite}
footer:not(.foot){position:relative;z-index:1;margin-top:20px;text-align:center;font:10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#6d6350}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- full-site chrome: thin header, lead, content, footer ---- */
html{scroll-behavior:smooth;scroll-padding-top:52px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#e9c778;color:#150b05;font:700 12px var(--mono);padding:10px 14px;border-radius:6px;text-decoration:none;transition:top .15s}
.skip:focus{top:10px}
:focus-visible{outline:2px solid #ffd37a;outline-offset:3px}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;height:38px;margin:-18px -12px 16px;padding:0 max(14px,calc((100% - 1180px)/2 + 14px));
  background:var(--brush),linear-gradient(180deg,#2a1a0d,#120a05);box-shadow:0 1px 0 var(--brass),0 4px 10px rgba(0,0,0,.6)}
.top .brand{display:flex;align-items:center;gap:10px;color:#e9c778;text-decoration:none;font:700 12px var(--sans);letter-spacing:.34em;white-space:nowrap}
.top .pilot{width:9px;height:9px;margin:0;box-shadow:0 0 0 1px #000,0 0 0 2px var(--brass),0 0 8px 2px rgba(40,230,140,.6)}
.top nav{display:flex;align-items:center;gap:4px}
.top nav a,.top nav button{font:700 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#d9c48f;text-decoration:none;background:none;border:0;padding:8px 10px;border-radius:5px;cursor:pointer}
.top nav a:hover,.top nav button:hover{color:#fff;background:rgba(199,154,70,.18)}
.top nav button{margin-left:6px;color:#150b05;background:linear-gradient(180deg,#f2d388,#c79a46);box-shadow:inset 0 1px 0 #fff8}
.top nav button:hover{color:#150b05;background:linear-gradient(180deg,#ffe3a0,#d9a94f)}
@media (max-width:560px){.top nav a{display:none}.top nav a[href="#faq"]{display:none}.top .brand{letter-spacing:.22em}}
.lead{margin:2px 6px 16px;font:600 clamp(12px,1.5vw,14px)/1.7 var(--mono);color:#c8bda4;text-align:center;max-width:820px;margin-inline:auto}
.silk{margin:0 0 10px 4px;font:700 10px var(--sans);letter-spacing:.4em;text-transform:uppercase;color:#a89868}
.silk::after{content:"";display:inline-block;width:60px;height:1px;background:currentColor;vertical-align:middle;margin-left:12px;opacity:.5}
ul.wall{list-style:none;margin:0;padding:0}
ul.wall>li{display:flex;min-width:0}ul.wall>li>.card{flex:1;min-width:0}
.seo{margin-top:26px;padding:26px clamp(16px,4vw,38px) 30px;border-radius:10px;color:#d9d0b8;
  background:var(--brush),linear-gradient(180deg,#241609,#130b05);box-shadow:inset 0 0 0 2px var(--brass),inset 0 0 0 3px #000,inset 0 0 0 5px rgba(255,220,150,.08),0 6px 14px rgba(0,0,0,.6)}
.seo h2{margin:28px 0 10px;font:700 clamp(15px,2vw,20px) var(--sans);letter-spacing:.14em;color:#ecd9a2;text-shadow:0 -1px 0 #000}
.seo h2:first-child{margin-top:0}
.seo h3{margin:0 0 6px;font:700 14px var(--sans);letter-spacing:.14em;color:#e9c778}
.seo h3 a{color:inherit;text-decoration:none}.seo h3 a:hover{text-decoration:underline}
.seo p,.seo li{font:400 15px/1.75 Georgia,"Times New Roman",serif;color:#d9d0b8;max-width:78ch}
.seo p{margin:0 0 12px}.seo ul{margin:0 0 6px;padding-left:20px}.seo li{margin:0 0 6px}
.seo a{color:#8fe0b9}
.toylist{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 22px;margin-bottom:6px}
.toyp{padding:14px 16px;border-radius:8px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(199,154,70,.25)}
.toyp p{font-size:14px;line-height:1.65;margin-bottom:8px}.toyp .go{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.faq details{margin:0 0 8px;border-radius:8px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(199,154,70,.25)}
.faq summary{cursor:pointer;list-style:none;padding:13px 16px;font:700 13px var(--sans);letter-spacing:.08em;color:#ecd9a2;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:700 16px var(--mono);color:var(--brass)}
.faq details[open] summary::after{content:"–"}.faq details p{padding:0 16px;margin:0 0 14px;font-size:14px}
footer.foot{position:relative;z-index:1;margin:26px -12px -40px;padding:28px max(16px,calc((100% - 1180px)/2 + 16px)) 26px;color:#b9ad90;text-align:left;
  background:var(--grain),repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 1px,transparent 1px 7px),linear-gradient(180deg,#3d200c,#1d0f06);box-shadow:inset 0 2px 0 var(--brass),inset 0 4px 0 #000,0 -10px 24px rgba(0,0,0,.5)}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:24px 32px}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr}}@media (max-width:520px){.fcols{grid-template-columns:1fr}}
.foot b{display:flex;align-items:center;font:700 14px var(--sans);letter-spacing:.34em;color:#e9c778;margin-bottom:10px}
.foot .pilot{width:10px;height:10px;margin:0 12px 0 0}
.foot h2{margin:0 0 10px;font:700 10px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:#a89868}
.foot p{margin:0;font:400 13px/1.7 Georgia,serif;color:#b9ad90;max-width:38ch}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.foot a{color:#d9c48f;text-decoration:none;font:600 12px var(--mono);letter-spacing:.06em}.foot a:hover{color:#fff;text-decoration:underline}
.foot .copy{margin-top:26px;padding-top:16px;border-top:1px solid rgba(199,154,70,.25);font:600 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#7f735a;max-width:none}
