:root{
  --night:#0A0F1E;
  --night-2:#0D1428;
  --heat:#FF7A3D;
  --heat-deep:#E85A1F;
  --ice:#8FB8FF;
  --ice-dim:#41608F;
  --chalk:#F4F7FF;
  --smoke:#AAB9D2;
  --wood:#C98A4B;
  --disp:'Sora',sans-serif;
  --body:'Outfit',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--chalk);font-family:var(--body);font-weight:300;line-height:1.65;overflow-x:hidden}
::selection{background:var(--heat);color:var(--night)}
a{color:inherit}
h1,h2,h3{overflow-wrap:break-word}

#stage{position:fixed;inset:0;z-index:0}
body.game-page #stage{touch-action:pan-y}
@media (max-width:920px) and (orientation:landscape){body.game-page #stage{touch-action:none}}
@media (min-width:921px){body.game-page #stage{touch-action:none}}
body.game-page{overscroll-behavior-y:contain}
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.joy,.shoot-btn{touch-action:none}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%, transparent 42%, rgba(4,7,15,.72) 100%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}
.wrap{position:relative;z-index:2}
.container{max-width:1160px;margin:0 auto;padding:0 26px}

/* ---------------- nav — identical everywhere ---------------- */
nav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;background:linear-gradient(to bottom, rgba(10,15,30,.92), rgba(10,15,30,0))}
.brand{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:.14em;text-decoration:none}
.brand em{font-style:normal;color:var(--heat)}
.nav-links{display:flex;align-items:center;gap:22px;font-family:var(--mono);font-size:12px;letter-spacing:.1em}
.nav-links a{text-decoration:none;color:var(--smoke);transition:color .2s;padding:6px 0;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--heat)}
.nav-links a.active{color:var(--chalk);box-shadow:inset 0 -2px 0 var(--heat)}
.nav-phone{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-decoration:none;color:var(--night);background:var(--heat);padding:10px 15px;border-radius:99px;font-weight:500;white-space:nowrap}
.nav-phone:hover{background:var(--chalk)}

@media(max-width:1020px){
  nav{flex-wrap:wrap;padding:10px 14px 6px;row-gap:4px}
  .brand{font-size:16px}
  .nav-links{flex-basis:100%;display:flex;justify-content:space-between;gap:0;padding:4px 2px 7px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{font-size:9.8px;letter-spacing:.05em;padding:4px 0}
  .nav-links a.nav-phone{position:absolute;top:9px;right:14px;font-size:11px;padding:8px 12px;background:var(--heat);color:var(--night)}
}

/* ---------------- hero band ---------------- */
.page-hero{min-height:34vh;display:flex;align-items:flex-end;padding:128px 0 34px;position:relative}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.24em;color:var(--ice);text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--heat)}
h1{font-family:var(--disp);font-weight:800;font-size:clamp(34px,5.8vw,72px);line-height:1.06;letter-spacing:-.02em;max-width:20ch}
h1 .hot{color:var(--heat)}
h1 .cool{color:var(--ice)}
.lede{max-width:600px;margin-top:18px;color:var(--smoke);font-size:17.5px}
.lede strong{color:var(--chalk);font-weight:500}
.actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{font-family:var(--mono);font-size:13px;letter-spacing:.05em;text-decoration:none;padding:15px 26px;display:inline-flex;align-items:center;gap:10px;transition:all .2s;border-radius:99px;cursor:pointer;border:none}
.btn-hot{background:linear-gradient(115deg,var(--heat-deep),var(--heat));color:var(--night);font-weight:600}
.btn-hot:hover{filter:brightness(1.12)}
.btn-ghost{border:1px solid var(--ice-dim);color:var(--chalk);background:none}
.btn-ghost:hover{border-color:var(--ice);color:var(--ice)}

/* ---------------- game hero ---------------- */
.game-hero{height:100vh;min-height:640px;position:relative;display:block}
@supports (height:100dvh){.game-hero{height:100dvh;min-height:0}}
.game-copy{position:absolute;top:110px;left:0;right:0;z-index:3;pointer-events:none}
.game-copy .eyebrow,.game-copy h1,.game-copy .rotate-hint,.game-copy .actions{transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .55s ease}
.game-copy h1,.game-copy .eyebrow,.game-copy .rotate-hint{text-shadow:0 2px 20px rgba(4,7,15,.95),0 1px 3px rgba(4,7,15,.9)}
.game-copy .container>*{pointer-events:auto}
.game-copy h1{max-width:15ch;text-shadow:0 4px 30px rgba(4,7,15,.8)}
.game-copy .lede{max-width:480px;color:#C6D2E6;text-shadow:0 2px 18px rgba(4,7,15,.95),0 1px 3px rgba(4,7,15,.9)}
.hud{position:absolute;z-index:4;font-family:var(--mono)}
.hud-score{top:104px;right:26px;text-align:right;font-size:12px;letter-spacing:.14em;color:var(--smoke);line-height:2}
.hud-score b{display:block;font-family:var(--disp);font-weight:800;font-size:40px;color:var(--chalk);letter-spacing:0;line-height:1}
.hud-score .pct{color:var(--heat)}
.shoot-btn{position:absolute;bottom:34px;right:26px;z-index:5;width:96px;height:96px;border-radius:50%;border:2px solid var(--heat);background:radial-gradient(circle at 35% 30%, #FF9A63, var(--heat-deep));color:var(--night);font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 40px rgba(255,122,61,.4);transition:transform .12s}
.shoot-btn:active{transform:scale(.92)}
.hud-hint{bottom:44px;left:26px;font-size:11.5px;letter-spacing:.12em;color:var(--smoke);text-transform:uppercase;max-width:280px;line-height:1.9}
.hud-hint b{color:var(--ice);font-weight:500}
.popup{position:absolute;z-index:6;font-family:var(--disp);font-weight:800;font-size:clamp(26px,4vw,44px);color:var(--heat);pointer-events:none;opacity:0;transform:translateY(0);text-shadow:0 4px 24px rgba(255,122,61,.5);letter-spacing:.02em}
.popup.show{animation:pop 1.1s ease forwards}
@keyframes pop{0%{opacity:0;transform:translateY(16px) scale(.8)}18%{opacity:1;transform:translateY(0) scale(1.06)}30%{transform:scale(1)}75%{opacity:1}100%{opacity:0;transform:translateY(-30px)}}
.scroll-cue{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);z-index:4;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--smoke)}
@media(max-width:760px){
  .game-copy{top:92px}
  .game-copy h1{font-size:clamp(30px,8.4vw,44px)}
  .game-copy .lede{font-size:15.5px;max-width:88%}
  .hud-score{top:auto;bottom:150px;right:22px}
  .hud-score b{font-size:30px}
  .shoot-btn{width:84px;height:84px;bottom:26px;right:22px}
  .hud-hint{bottom:30px;left:22px;max-width:52%}
  .scroll-cue{display:none}
}

/* ---------------- sections (boxless) ---------------- */
section{position:relative;padding:56px 0 14px}
.sec-eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;color:var(--ice);text-transform:uppercase;margin-bottom:14px}
h2{font-family:var(--disp);font-weight:800;font-size:clamp(27px,4.2vw,50px);line-height:1.1;letter-spacing:-.015em;margin-bottom:16px;max-width:24ch}
h3{font-family:var(--disp);font-weight:700}
.sec-sub{color:var(--smoke);max-width:640px;font-size:16px;margin-bottom:28px}
.rule{height:1px;background:linear-gradient(90deg,var(--heat),rgba(143,184,255,.25) 40%,transparent);margin:20px 0 40px;border:none}
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* flowing index rows (home + services hub) */
.flow{border-top:1px solid rgba(143,184,255,.14);padding:32px 0;display:grid;grid-template-columns:minmax(70px,160px) 1fr;gap:26px;align-items:start;text-decoration:none;position:relative;transition:padding .3s}
a.flow:hover{padding-left:16px}
.flow-num{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.4vw,58px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px #5C7DB3;transition:all .3s}
a.flow:hover .flow-num{-webkit-text-stroke:1.5px var(--heat);text-shadow:0 0 34px rgba(255,122,61,.3)}
.flow h3{font-size:clamp(19px,2.5vw,28px);margin-bottom:8px}
.flow p{color:var(--smoke);max-width:580px;font-size:14.5px}
.flow .go{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--ice);margin-top:16px;display:inline-block;transition:color .2s}
a.flow:hover .go{color:var(--heat)}
.flow .tags{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ice)}
.flow .tags span::before{content:"· ";color:var(--heat)}
@media(max-width:620px){.flow{grid-template-columns:1fr;gap:4px;padding:26px 0}.flow-num{font-size:26px}}

/* work rows */
.proof{border-top:1px solid rgba(143,184,255,.14);padding:30px 0;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;text-decoration:none;position:relative}
.proof::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 130px at 10% 50%, rgba(255,122,61,.09), transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}
.proof:hover::after{opacity:1}
.proof-kind{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ice);text-transform:uppercase;display:block;margin-bottom:10px}
.proof-name{font-family:var(--disp);font-weight:800;font-size:clamp(25px,4.2vw,48px);line-height:1.05;transition:transform .3s;display:block;letter-spacing:-.01em}
.proof:hover .proof-name{transform:translateX(12px)}
.proof-meta{font-size:14.5px;color:var(--smoke);margin-top:9px;display:block;max-width:640px}
.proof-arrow{font-family:var(--mono);font-size:22px;color:var(--ice);transition:all .3s}
.proof:hover .proof-arrow{color:var(--heat);transform:translateX(8px)}

/* process rail */
.rail{position:relative;padding-left:32px;max-width:800px}
.rail::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:rgba(143,184,255,.16)}
.stage{position:relative;padding:0 0 36px}
.stage::before{content:"";position:absolute;left:-30px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--night);border:2px solid var(--ice)}
.stage:hover::before{border-color:var(--heat);box-shadow:0 0 16px rgba(255,122,61,.55)}
.stage-tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;color:var(--heat);margin-bottom:9px}
.stage h3{font-size:clamp(21px,2.8vw,30px);margin-bottom:9px}
.stage p{color:var(--smoke);max-width:620px;font-size:15.5px}

/* split editorial */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;padding:14px 0 26px}
.split p{color:var(--smoke);font-size:16px;margin-bottom:14px}
.split p strong{color:var(--chalk);font-weight:500}
.split ul{list-style:none}
.split li{padding:13px 0;border-bottom:1px solid rgba(143,184,255,.12);font-size:15px;display:flex;gap:14px}
.split li::before{content:"→";color:var(--heat);font-family:var(--mono)}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:26px}}

/* ---------------- tools ---------------- */
.tool{border-top:1px solid rgba(143,184,255,.14);padding:42px 0}
.tool h3{font-size:clamp(23px,3.2vw,34px);margin-bottom:10px}
.tool>p{color:var(--smoke);max-width:600px;margin-bottom:30px;font-size:15.5px}
.field{margin:0 0 26px;max-width:520px}
.field label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:rgba(244,247,255,.88);text-transform:uppercase;margin-bottom:10px}
.field select,.field input,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--ice-dim);color:var(--chalk);font-family:var(--body);font-size:17px;padding:10px 2px;outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none}
.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--heat)}
.field select option{background:var(--night-2);color:var(--chalk)}
.choices{display:flex;gap:12px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--smoke);border:1px solid var(--ice-dim);border-radius:99px;padding:10px 18px;cursor:pointer;transition:all .2s;user-select:none}
.chip.on{color:var(--night);background:var(--heat);border-color:var(--heat);font-weight:500}
.result{margin-top:34px;padding-top:26px;border-top:1px solid rgba(143,184,255,.2)}
.result .big{font-family:var(--disp);font-weight:800;font-size:clamp(30px,5vw,52px);color:var(--heat);letter-spacing:-.01em}
.result .note{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--smoke);margin-top:10px;text-transform:uppercase}

/* ---------------- plans (boxless columns) ---------------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px}
.plan{padding:36px 34px 44px;border-left:1px solid rgba(143,184,255,.16)}
.plan:first-child{border-left:none;padding-left:0}
.plan-name{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--ice);text-transform:uppercase}
.plan-price{font-family:var(--disp);font-weight:800;font-size:clamp(34px,4.6vw,54px);margin:14px 0 4px;letter-spacing:-.02em}
.plan-price small{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--smoke);letter-spacing:.05em}
.plan-for{font-size:14px;color:var(--smoke);margin-bottom:22px}
.plan ul{list-style:none}
.plan li{padding:11px 0;border-bottom:1px solid rgba(143,184,255,.1);font-size:14.5px;display:flex;gap:12px}
.plan li::before{content:"→";color:var(--heat);font-family:var(--mono)}
.plan .btn{margin-top:26px}
.plan.feat .plan-name{color:var(--heat)}
@media(max-width:880px){.plans{grid-template-columns:1fr}.plan{border-left:none;padding-left:0;border-top:1px solid rgba(143,184,255,.16);padding-top:34px}.plan:first-child{border-top:none}}

/* ---------------- contact form ---------------- */
form .btn{margin-top:8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 46px;max-width:880px}
.form-grid .field.wide{grid-column:1/-1}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.big-phone{font-family:var(--disp);font-weight:800;font-size:clamp(28px,6.4vw,64px);color:var(--heat);text-decoration:none;display:inline-block;line-height:1.15;letter-spacing:-.01em}
.big-phone:hover{color:var(--chalk)}
.contact-note{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--smoke);margin-top:18px;text-transform:uppercase}

/* CTA band */
.cta-band{margin:52px 0 0;border-top:1px solid rgba(143,184,255,.16);padding:48px 0 60px}
.cta-band h2{max-width:none}

/* areas inline */
.areas-inline{font-size:15.5px;color:var(--smoke);line-height:2.2;max-width:840px}
.areas-inline a{color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(143,184,255,.3);transition:all .2s;white-space:nowrap}
.areas-inline a:hover{color:var(--heat);border-color:var(--heat)}

/* ---------------- footer — identical everywhere ---------------- */
footer{border-top:1px solid rgba(143,184,255,.2);position:relative;z-index:2;background:rgba(10,15,30,.78)}
.foot{max-width:1160px;margin:0 auto;padding:36px 26px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot-brand{font-family:var(--disp);font-weight:800;font-size:16px;letter-spacing:.14em}
.foot-brand em{font-style:normal;color:var(--heat)}
.foot-nav{display:flex;gap:20px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;flex-wrap:wrap}
.foot-nav a{text-decoration:none;color:var(--smoke)}
.foot-nav a:hover{color:var(--heat)}
.foot-areas{width:100%;font-size:13px;color:var(--smoke);line-height:2}
.foot-areas a{color:#7E9AC8;text-decoration:none}
.foot-areas a:hover{color:var(--heat)}
.foot-meta{font-family:var(--mono);font-size:11px;color:var(--smoke);letter-spacing:.06em;width:100%}
.foot-meta a{color:var(--ice);text-decoration:none}

/* ---------------- joystick ---------------- */
.joy{position:absolute;bottom:30px;left:26px;z-index:5;width:112px;height:112px;border-radius:50%;border:1.5px solid rgba(143,184,255,.4);background:radial-gradient(circle,rgba(16,26,50,.5),rgba(10,15,30,.25));touch-action:none;user-select:none;-webkit-user-select:none}
.joy-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#B7D2FF,var(--ice-dim));box-shadow:0 4px 18px rgba(143,184,255,.35);pointer-events:none}
.joy-label{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--smoke);white-space:nowrap}
@media(max-width:760px){.joy{bottom:24px;left:20px;width:100px;height:100px}}

/* checkbox chips (contact form) */
.chk{cursor:pointer}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk span{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--smoke);border:1px solid var(--ice-dim);border-radius:99px;padding:10px 18px;transition:all .2s}
.chk input:checked+span{color:var(--night);background:var(--heat);border-color:var(--heat);font-weight:500}

/* article prose */
.prose{max-width:760px}
.prose p{color:var(--smoke);font-size:16px;margin-bottom:18px}
.prose p strong{color:var(--chalk);font-weight:500}
.prose h3{font-size:clamp(20px,2.6vw,27px);margin:34px 0 12px;color:var(--chalk)}
.prose a{color:var(--ice)}
.prose a:hover{color:var(--heat)}
.byline{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--smoke);text-transform:uppercase;margin-bottom:26px}

/* rotate hint + landscape gating */
.rotate-hint{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--heat);margin-top:12px}
@media (max-width:920px) and (orientation:portrait){
  .rotate-hint{display:block}
  .joy,.shoot-btn{display:none}
  .hud-score{display:none}
}
@media (max-width:920px) and (orientation:landscape){
  .game-copy .eyebrow,.game-copy h1,.game-copy .rotate-hint{transform:translateX(-130%);opacity:0}
  .game-copy .actions{transform:translateX(130%);opacity:0;pointer-events:none}
  .game-copy .lede{display:none}
  .hud-score{top:auto;bottom:24px;right:130px;font-size:10px;text-shadow:0 1px 8px rgba(4,7,15,.95),0 0 2px rgba(4,7,15,.9)}
  .hud-score b{font-size:22px}
  .shoot-btn{width:86px;height:86px;bottom:18px;right:16px;font-size:14px}
  .joy{width:96px;height:96px;bottom:16px;left:16px}
  .scroll-cue{display:none}
}
/* shipped ticker */
.shipped-band{padding:0;margin-top:8px}
.shipped-line{border-top:1px solid rgba(143,184,255,.14);border-bottom:1px solid rgba(143,184,255,.14);padding:12px 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--smoke);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shipped-tag{color:var(--heat)}

/* hard horizontal-scroll guard */
html,body{overflow-x:hidden;max-width:100%}
img,svg,canvas,video{max-width:100%}
.areas-inline{overflow-wrap:anywhere}
/* nav ES toggle */
.nav-es{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ice)!important;border:1px solid rgba(143,184,255,.35);border-radius:999px;padding:4px 10px!important}
.nav-es:hover{color:var(--chalk)!important;border-color:var(--heat)}
/* stack index */
.stack-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--smoke);background:none;border:1px solid rgba(143,184,255,.25);border-radius:999px;padding:7px 14px;cursor:pointer}
.chip:hover{color:var(--chalk);border-color:var(--ice)}
.chip-on{color:var(--night);background:var(--heat);border-color:var(--heat)}
.stack-cat{font-size:clamp(17px,2.2vw,22px);margin:34px 0 4px;color:var(--chalk)}
.stack-item{display:flex;gap:18px;align-items:baseline;padding:11px 0;border-bottom:1px solid rgba(143,184,255,.10)}
.stack-tool{font-weight:700;color:var(--chalk);min-width:180px;flex:0 0 auto}
.stack-note{color:var(--smoke);font-size:15px}
@media (max-width:640px){.stack-item{flex-direction:column;gap:2px}.stack-tool{min-width:0}}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .scroll-cue,.shipped-line{animation:none!important}
  *{scroll-behavior:auto!important}
}

.bill-toggle{display:flex;gap:10px;margin:0 0 26px}
.plan-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--smoke);margin:-6px 0 14px}
.plan-price small{font-size:.45em;color:var(--smoke)}

.stack-tool a{color:var(--chalk);text-decoration:none;border-bottom:1px solid rgba(143,184,255,.35)}
.stack-tool a:hover{color:var(--heat);border-color:var(--heat)}

/* contrast floor + one-line-nav */
::placeholder{color:rgba(244,247,255,.5)}
.foot-areas{color:#93A3BD}
input,select,textarea{color:var(--chalk)}
.scroll-cue,.joy-label{color:#B9C6DB}

/* hud-shadow: legible over the court */
.hud,.hud-score,.popup{text-shadow:0 1px 8px rgba(4,7,15,.9)}
