:root{
  --paper:#F6F3EE; --card:#FFFFFF; --ink:#1F2328; --ink-2:#4B5259; --ink-3:#5E656C;
  --line:#E3DED2; --gold:#F26A1B; --gold-deep:#B4480E; --gold-wash:#FFEDE2;
  --night:#1F2328; --night-2:#2A3037; --night-line:#26385299; --night-ink:#EDEFF1; --night-dim:#A4AAB0;
  --up:#F26A1B; --down:#FF8E75; --flat:#9AA0A6;
  --display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background-image:linear-gradient(rgba(31,35,40,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(31,35,40,.035) 1px,transparent 1px);
  background-size:28px 28px}
a{color:inherit}
h1,h2,h3,p,ul{margin:0}
button,input{font:inherit;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:10px;z-index:20;background:var(--ink);color:#fff;padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--mono)}

/* top bar */
.top{position:sticky;top:0;z-index:10;background:rgba(246,243,238,.88);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;height:60px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap}
.brand b{font:800 19px/1 var(--display);letter-spacing:-.02em}
.brand small{font:500 11px/1 var(--mono);color:var(--ink-3);letter-spacing:.04em;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.logo{width:26px;height:26px;flex:none}
.top nav{margin-left:auto;display:flex;gap:2px}
.top nav a{text-decoration:none;font-weight:600;font-size:14.5px;color:var(--ink-2);padding:8px 10px;border-radius:9px}
.top nav a:hover{background:rgba(31,35,40,.06);color:var(--ink)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;padding:44px 0 36px}
.hero h1{font:800 clamp(38px,5.4vw,66px)/1.0 var(--display);letter-spacing:-.035em;max-width:12ch;text-wrap:balance}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--gold) 62%,var(--gold) 92%,transparent 92%)}
.hero .sub{font-size:clamp(17px,1.7vw,20px);color:var(--ink-2);margin-top:16px;max-width:30ch}
.cta{display:inline-flex;align-items:center;gap:10px;margin-top:26px;background:var(--ink);color:#fff;text-decoration:none;font-weight:650;font-size:16.5px;padding:14px 20px 14px 22px;border-radius:12px;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 20px -8px rgba(31,35,40,.55);transition:transform .15s}
.cta:hover{transform:translateY(-1px)}
.cta svg{color:var(--gold)}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.facts span{display:inline-flex;align-items:center;gap:7px}
.facts span::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--gold)}

/* mini-app tray */
.tray{background:var(--night);border-radius:24px;padding:16px;box-shadow:0 24px 50px -24px rgba(31,35,40,.6);position:relative;overflow:hidden}
.tray::after{content:"";position:absolute;right:-100px;top:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(242,106,27,.18),transparent 65%);pointer-events:none}
.tray-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 14px;position:relative;z-index:1}
.tray-count{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--night-dim)}
.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:1}
.app{aspect-ratio:1;display:flex;flex-direction:column;padding:14px;border-radius:18px;background:var(--night-2);border:1px solid #2F353C;color:var(--night-ink);text-decoration:none;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,box-shadow .22s}
.app:hover{transform:translateY(-3px);border-color:rgba(242,106,27,.55);background:#272D34;box-shadow:0 14px 26px -14px rgba(0,0,0,.6)}
.app-top{display:flex;justify-content:space-between;align-items:flex-start}
.app-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#2F353C;color:var(--night-ink)}
.app.live .app-ic{background:var(--gold);color:var(--ink)}
.app .pill{background:rgba(255,255,255,.07);color:var(--night-dim)}
.app .pill.live{background:rgba(20,163,90,.18);color:#6FE3A4}
.app-name{margin-top:auto;font:700 16px/1.2 var(--display);letter-spacing:-.01em}
.app-tease{font-size:12.5px;line-height:1.3;color:var(--night-dim);margin-top:4px}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.js .apps .app{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.js .apps .app:nth-child(2){animation-delay:.05s}.js .apps .app:nth-child(3){animation-delay:.1s}.js .apps .app:nth-child(4){animation-delay:.15s}.js .apps .app:nth-child(5){animation-delay:.2s}.js .apps .app:nth-child(6){animation-delay:.25s}
.js .reveal .tile{opacity:0;transform:translateY(16px)}
.js .reveal.in .tile{animation:rise .55s cubic-bezier(.2,.8,.2,1) both}
.js .reveal.in .tile:nth-child(2){animation-delay:.06s}.js .reveal.in .tile:nth-child(3){animation-delay:.12s}.js .reveal.in .tile:nth-child(4){animation-delay:.18s}.js .reveal.in .tile:nth-child(5){animation-delay:.24s}

/* toolbox */
.box{padding:20px 0 0}
.box-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.box-head h2{font:800 clamp(26px,3vw,34px)/1 var(--display);letter-spacing:-.03em}
.tabs{display:flex;gap:4px;background:#ECE8DD;border:1px solid var(--line);padding:4px;border-radius:13px}
.tabs button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-weight:650;font-size:14.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap;display:inline-flex;gap:7px;align-items:center}
.tabs button span{font:600 11px/1 var(--mono);color:var(--ink-3);background:rgba(31,35,40,.07);padding:3px 6px;border-radius:6px}
.tabs button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(31,35,40,.08),0 2px 8px rgba(31,35,40,.06)}
.tabs button[aria-selected=true] span{background:var(--gold-wash);color:var(--gold-deep)}
.panel-title{font:800 22px/1 var(--display);margin:22px 0 12px}
.js .panel-title{display:none}
.js .panel .panel-sub{display:block}
.panel-sub{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:16px 0 10px}
.panel-sub:first-child{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{position:relative;display:flex;flex-direction:column;gap:14px;min-height:178px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;text-decoration:none;box-shadow:0 1px 2px rgba(31,35,40,.04);transition:transform .16s,box-shadow .16s,border-color .16s}
.tile:hover{transform:translateY(-2px);border-color:#D3CCBB;box-shadow:0 12px 28px -14px rgba(31,35,40,.28)}
.tile-top{display:flex;align-items:center;justify-content:space-between}
.num{font:600 11.5px/1 var(--mono);color:var(--ink-3);letter-spacing:.06em}
.pill{font:700 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;border-radius:6px;color:var(--ink-3);background:rgba(31,35,40,.05)}
.pill.live{color:#0B6B3A;background:#DDF5E6;display:inline-flex;gap:6px;align-items:center}
.pill.live::before{content:"";width:6px;height:6px;border-radius:50%;background:#14A35A}
.hook{font:700 21px/1.18 var(--display);letter-spacing:-.015em;text-wrap:balance}
.tile-foot{margin-top:auto;display:flex;align-items:center;gap:9px;color:var(--ink-2);font-size:14px;font-weight:600}
.tile-foot .ic{color:var(--gold-deep);flex:none}
.tile-foot .go{margin-left:auto;flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:background .16s}
.tile:hover .go{background:var(--gold)}
.tile.live{border-color:#E9CF8F;background:linear-gradient(180deg,#FFF7F0,#fff 55%)}

/* featured */
.feature{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:12px;padding:18px 20px;border-radius:var(--r);text-decoration:none;
  background:var(--gold);color:var(--ink);box-shadow:0 14px 30px -18px rgba(180,72,14,.7);transition:transform .16s}
.feature:hover{transform:translateY(-2px)}
.feature .fi{width:52px;height:52px;border-radius:14px;background:var(--ink);color:var(--gold);display:grid;place-items:center}
.feature h2{font:800 clamp(21px,2.4vw,28px)/1.05 var(--display);letter-spacing:-.025em}
.feature p{font-size:15px;margin-top:4px;color:#3B1A05}
.feature .go{width:44px;height:44px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center}
.feature .pill{background:rgba(31,35,40,.12);color:var(--ink);margin-left:8px;vertical-align:middle}

/* footer */
footer{margin-top:48px;border-top:1px solid var(--line);padding:22px 0 36px;font-size:14px;color:var(--ink-2)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px}
footer a{text-decoration-color:var(--gold);text-underline-offset:3px;text-decoration-thickness:2px}

/* inner pages */
.page{padding:28px 0 0}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:14.5px;padding:6px 0;margin-bottom:18px}
.back:hover{color:var(--ink)}
.page-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;max-width:820px}
.page-head .pi{width:58px;height:58px;border-radius:16px;background:var(--gold-wash);color:var(--gold-deep);display:grid;place-items:center;border:1px solid #F0DCA6}
.page-head .q{font:600 13px/1.3 var(--mono);letter-spacing:.02em;color:var(--gold-deep);margin-bottom:8px}
.page-head h1{font:800 clamp(30px,4.4vw,50px)/1.03 var(--display);letter-spacing:-.03em;text-wrap:balance}
.page-head .lead{font-size:clamp(17px,1.8vw,19px);color:var(--ink-2);margin-top:12px;max-width:52ch}
.soon-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:28px}
.panelcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.panelcard h2{font:700 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.checks{list-style:none;padding:0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:16px}
.checks li::before{content:"";width:22px;height:22px;border-radius:7px;background:var(--gold-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23865A00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.status{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);background:var(--gold-wash);padding:7px 10px;border-radius:8px;margin-bottom:12px}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);animation:ping 2.2s infinite}
.tries{display:grid;gap:8px}
.try{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.try:hover{border-color:var(--gold)}
.try b{display:block;font-size:15px}.try span{font-size:13.5px;color:var(--ink-2)}
.try .ic{color:var(--gold-deep);flex:none}

@keyframes ping{0%{box-shadow:0 0 0 0 rgba(242,106,27,.6)}70%{box-shadow:0 0 0 9px rgba(242,106,27,0)}100%{box-shadow:0 0 0 0 rgba(242,106,27,0)}}
.r-msg{padding:28px 8px;text-align:center;color:var(--night-dim)}
footer .credit{font-size:12.5px;color:var(--ink-3)}

/* weather */
.wx .back{margin-bottom:10px}
.wx-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.wx-head h1{font:800 clamp(28px,3.6vw,40px)/1.05 var(--display);letter-spacing:-.03em}
.loc{position:relative}
.loc-btn{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:700;font-size:15.5px;cursor:pointer;box-shadow:0 1px 2px rgba(31,35,40,.05)}
.loc-btn:hover,.loc-btn[aria-expanded=true]{border-color:var(--gold)}
.loc-btn .pin{color:var(--gold-deep)}.loc-btn .chev{color:var(--ink-3);transition:transform .2s}
.loc-btn[aria-expanded=true] .chev{transform:rotate(180deg)}
.loc-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:6;width:min(340px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 18px 40px -16px rgba(31,35,40,.35)}
.loc-pop input{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:11px 12px;font-size:16px}
.loc-pop input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,106,27,.25)}
.loc-pop ul{list-style:none;padding:0;margin-top:6px;display:grid;gap:2px;max-height:260px;overflow:auto}
.loc-pop button{width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:10px;cursor:pointer;font-size:15px}
.loc-pop button:hover,.loc-pop button:focus-visible{background:var(--gold-wash)}
.loc-pop small{color:var(--ink-3);margin-left:6px}
.loc-pop .none{padding:10px;color:var(--ink-3);font-size:14px}
.board{--lab:250px;--col:calc((100% - var(--lab)) / 7);display:grid;grid-template-columns:var(--lab) repeat(7,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-height:520px;box-shadow:0 1px 2px rgba(31,35,40,.04);transition:opacity .2s}
.board.loading{opacity:.45}
.bh{padding:12px 4px 10px;border-bottom:1px solid var(--line)}
.wd{display:grid;justify-items:center;gap:3px;text-align:center;font-variant-numeric:tabular-nums;border-left:1px solid var(--line)}
.wd.now{background:var(--gold-wash)}
.wd .d{font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.wd.now .d{color:var(--gold-deep)}
.wd svg{color:var(--ink-2);margin:4px 0 2px}
.wd .hi{font:700 17px/1 var(--mono)}
.wd .lo{font:500 13px/1 var(--mono);color:var(--ink-3)}
.wd .x{font:500 11.5px/1.2 var(--mono);color:var(--ink-3);margin-top:3px}
.wd .x.rain{color:#2E6FBF}
.lab:not(.bh){display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:3px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.board>.lab:nth-child(9),.board>.plot:nth-child(10){border-top:0}
.lab .ic{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--paper);color:var(--ink-2)}
.lab .ic.g{background:#DDF5E6;color:#0B7A43}.lab .ic.r{background:#FDE6DF;color:#B4432B}
.lab .n{font-weight:650;font-size:14px;line-height:1.2}
.lab .q{display:flex;align-items:center;gap:8px;min-width:0}
.lab .q span{font-size:12px;color:var(--ink-3);line-height:1.25}
.lab .q em{font:700 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:4px 6px;border-radius:5px;flex:none;color:var(--ink-3);background:rgba(31,35,40,.06)}
.lab .q em.g{color:#0B7A43;background:#DDF5E6}.lab .q em.r{color:#B4432B;background:#FDE6DF}
.bh.lab{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:12px 14px;border-top:0}
.lg{display:flex;align-items:center;gap:7px;font:600 11px/1 var(--mono);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}
.lg i{width:12px;height:12px;border-radius:4px;background:rgba(20,163,90,.28)}.lg i.r{background:rgba(224,104,75,.28)}
.plot{grid-column:span 7;position:relative;min-height:62px;border-top:1px solid var(--line)}
.tints{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr)}
.tints i{border-left:1px solid var(--line)}.tints i:first-child{border-left:0}
.plot svg{position:absolute;inset:0;width:100%;height:100%;color:var(--ink-2)}
.plot i.dot{}
.plot>i{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--card);border:2px solid var(--ink-2)}
.wx-err{grid-column:1/-1;align-self:center;padding:40px 0;text-align:center;color:var(--ink-2)}
.wx-err button{margin-left:8px;background:var(--ink);color:#fff;border:0;border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:600}
.shim{background:linear-gradient(90deg,#F1EEE6,#E8E3D7,#F1EEE6);background-size:200% 100%;animation:sh 1.2s infinite linear;border-color:transparent}
@keyframes sh{to{background-position:-200% 0}}
@media (max-width:900px){.board{--lab:190px}}
@media (max-width:640px){
  .wx-head{margin-bottom:12px}
  .board{grid-template-columns:repeat(7,1fr);min-height:0}
  .bh.lab{display:none}
  .wd{padding:10px 0 8px}.wd:nth-child(2){border-left:0}
  .wd .hi{font-size:14.5px}.wd .lo{font-size:12px}.wd .x{font-size:10px}
  .lab:not(.bh){grid-column:1/-1;grid-template-columns:28px 1fr auto;grid-template-rows:auto;padding:10px 12px 4px;border-top:1px solid var(--line)}
  .lab .ic{grid-row:auto;width:28px;height:28px;border-radius:8px}
  .plot{border-top:0;height:58px}
}

/* utilization */
.calc{display:grid;grid-template-columns:1fr 1.15fr;gap:14px;margin-top:26px;align-items:start}
.field{display:grid;gap:6px;margin-bottom:16px}
.field label{font-weight:650;font-size:15px}
.field small{color:var(--ink-3);font-size:13px}
.field .in{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.field .in:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,106,27,.25)}
.field .in span{padding:0 0 0 12px;color:var(--ink-3);font:500 16px var(--mono)}
.field input{flex:1;min-width:0;border:0;background:transparent;padding:12px;font:600 18px var(--mono);outline:none}
.out{background:var(--night);color:var(--night-ink);border-radius:22px;padding:20px;position:sticky;top:76px}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.meter{background:var(--night-2);border-radius:14px;padding:14px}
.meter .k{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--night-dim)}
.meter .v{font:700 clamp(30px,4vw,42px)/1 var(--mono);letter-spacing:-.03em;margin:10px 0 10px}
.bar{height:8px;border-radius:99px;background:#16191D;position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--gold);transition:width .25s}
.bar .band{position:absolute;top:-3px;bottom:-3px;border-left:2px dashed #7F868C;border-right:2px dashed #7F868C;background:rgba(255,255,255,.04)}
.meter .note{font-size:12.5px;color:var(--night-dim);margin-top:8px}
.lines{margin-top:10px;display:grid;gap:0}
.lines div{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid var(--night-line);font-size:14.5px}
.lines div:first-child{border-top:0}
.lines span{color:var(--night-dim)}
.lines b{font-family:var(--mono);font-weight:600}
.fine{font-size:12.5px;color:var(--night-dim);margin-top:12px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:22px;padding:26px 0 20px}
  .grid{grid-template-columns:1fr 1fr}
  .calc{grid-template-columns:1fr}
  .out{position:static}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .brand small,.top nav a.hide-sm{display:none}
  .top .wrap{gap:10px}
  .brand b{font-size:17px}
  .top nav a{padding:7px 6px;font-size:13.5px}
  .hero h1{font-size:40px}
  .hero .sub{margin-top:10px}
  .cta{margin-top:18px}
  .facts{margin-top:16px}
  .tray{padding:12px;border-radius:20px}
  .tray-head{padding:2px 2px 10px}
  .apps{gap:8px}
  .app{padding:10px;border-radius:15px;align-items:center;text-align:center;justify-content:center;gap:8px}
  .app-top{flex-direction:column;align-items:center}
  .app .pill{display:none}
  .app-name{margin-top:0;font-size:13px}
  .app-tease{display:none}
  .grid{grid-template-columns:1fr;gap:8px}
  .tile{min-height:0;flex-direction:row;align-items:center;gap:12px;padding:14px}
  .tile-top{order:3;flex-direction:column;align-items:flex-end;gap:8px}
  .tile-top .num{display:none}
  .tile .body{flex:1;min-width:0}
  .hook{font-size:17.5px}
  .tile-foot{margin-top:6px;font-size:13px}
  .tile-foot .go{display:none}
  .tabs{width:100%;overflow-x:auto}
  .tabs button{flex:1;justify-content:center;padding:9px 8px;font-size:14px}
  .box-head{margin-bottom:12px}
  .feature{grid-template-columns:auto 1fr;padding:16px}
  .feature .go{display:none}
  .feature .fi{width:44px;height:44px}
  .soon-grid{grid-template-columns:1fr}
  .page-head{grid-template-columns:1fr}
  .page-head .pi{width:48px;height:48px}
  .meters{grid-template-columns:1fr 1fr}
}
@media (min-width:641px){.tile .body{display:contents}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal .tile{opacity:1;transform:none}}

/* seasonal calendar */
.sboard{display:grid;grid-template-columns:250px repeat(12,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(31,35,40,.04)}
.sh{padding:12px 0 10px;text-align:center;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.sh.lab{border-left:0}
.sh.now{background:var(--gold-wash);color:var(--gold-deep)}
.slab{display:grid;grid-template-columns:34px 1fr;column-gap:10px;row-gap:3px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}
.sboard>.slab:nth-of-type(1){border-top:0}
.slab .ic{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--paper);color:var(--ink-2)}
.slab .n{font-weight:650;font-size:14px;line-height:1.2}
.slab .pkl{font:600 11.5px/1.2 var(--mono);color:var(--gold-deep)}
.splot{display:contents}
.sc{position:relative;height:96px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center}
.sboard>.slab:nth-of-type(1)+.splot .sc{border-top:0}
.sc.now{background:var(--gold-wash)}
.sc i{display:block;width:62%;max-width:34px;border-radius:7px 7px 0 0;background:#D3D7DB;margin-bottom:0;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.sc.pk i{background:var(--gold)}
.sc b{position:absolute;top:6px;left:0;right:0;text-align:center;font:600 11px/1 var(--mono);color:var(--ink-3)}
.sc.pk b{color:var(--gold-deep)}
@media (max-width:900px){.sboard{grid-template-columns:150px repeat(12,1fr)}.slab .n{font-size:13px}.slab .pkl{display:none}.slab .ic{grid-row:auto}.slab{grid-template-columns:30px 1fr}.sc b{font-size:9px}}
@media (max-width:640px){
  .sboard{grid-template-columns:repeat(12,1fr)}
  .sh.lab{display:none}.sh{font-size:8.5px;letter-spacing:0;padding:10px 0 8px}
  .slab{grid-column:1/-1;border-top:1px solid var(--line);padding:10px 12px 6px}
  .sboard>.slab:nth-of-type(1){border-top:0}
  .sc{height:70px}.sc b{display:none}.sc i{width:70%}
}
.seg{display:inline-flex;gap:4px;background:#ECE8DD;border:1px solid var(--line);padding:4px;border-radius:13px}
.seg button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-weight:650;font-size:14.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.seg button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(31,35,40,.08),0 2px 8px rgba(31,35,40,.06)}
.sboard[hidden]{display:none}
.wx-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.legend{display:flex;gap:14px}
.legend span{display:flex;align-items:center;gap:7px;font:600 11px/1 var(--mono);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}
.legend i{width:12px;height:12px;border-radius:4px;background:rgba(20,163,90,.3)}.legend i.r{background:rgba(224,104,75,.3)}
.bh.lab{padding:0;border-top:0}

/* one-chart weather board */
.board{display:block;min-height:0;padding:0;overflow:hidden}
.board.loading{opacity:.45}
.wxc-head{display:grid;grid-template-columns:96px repeat(7,1fr);border-bottom:1px solid var(--line)}
.wxc-head .wd{padding:12px 4px 10px}
.wxc-body{display:grid;grid-template-columns:96px 1fr}
.gut{position:relative}
.wxc-body .gut{display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px 14px 14px}
.gut span{font:700 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.gut .up{color:#0B7A43}.gut .dn{color:#B4432B}
.wxc-plot{position:relative;height:320px;border-left:1px solid var(--line)}
.band{position:absolute;left:0;right:0}
.band.hi{top:0;height:35%;background:linear-gradient(rgba(20,163,90,.10),rgba(20,163,90,.02))}
.band.lo{bottom:0;height:35%;background:linear-gradient(rgba(224,104,75,.02),rgba(224,104,75,.10))}
.cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr)}
.cols i{border-left:1px solid var(--line)}.cols i:first-child{border-left:0}
.wxc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ln{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9;transition:opacity .15s,stroke-width .15s}
.board.has-on .ln{opacity:.32}
.board.has-on .ln.on{opacity:1;stroke-width:4}
.dots i{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--card);border:3px solid}
.tip{position:absolute;left:12px;top:10px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 10px;box-shadow:0 8px 20px -10px rgba(31,35,40,.35);font-size:13.5px}
.tip b{font-weight:700;border-left:4px solid var(--c);padding-left:8px}
.tip em,.chip2 em{font:700 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:3px 5px;border-radius:5px;color:var(--ink-3);background:rgba(31,35,40,.06)}
.tip em.g,.chip2 em.g{color:#0B7A43;background:#DDF5E6}.tip em.r,.chip2 em.r{color:#B4432B;background:#FDE6DF}
.wxc-legend{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-top:1px solid var(--line)}
.chip2{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 10px 7px 9px;cursor:pointer;font-weight:600;font-size:13.5px;transition:background .15s,border-color .15s,opacity .15s}
.chip2 i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.chip2:hover,.chip2.on{border-color:var(--c);background:var(--card)}
.chip2.on{box-shadow:0 0 0 2px var(--c) inset}
.board.has-on .chip2:not(.on){opacity:.55}
.wx-tools .legend{display:none}
@media (max-width:640px){
  .wxc-head,.wxc-body{grid-template-columns:repeat(7,1fr)}
  .wxc-head .gut{display:none}
  .wxc-body .gut{display:none}
  .wxc-body{display:block}
  .wxc-plot{height:240px;border-left:0}
  .wxc-legend{padding:12px}
  .chip2{font-size:12.5px}
}

/* legend on the left */
.board{display:grid;grid-template-columns:250px 1fr}
.wxl{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:6px 0}
.wxl .chip2{border:0;border-radius:0;background:transparent;padding:10px 14px;width:100%;justify-content:flex-start;gap:10px;font-size:14px;text-align:left;box-shadow:none;border-left:4px solid transparent}
.wxl .chip2 span{flex:1;line-height:1.2}
.wxl .chip2:hover{background:var(--paper)}
.wxl .chip2.on{background:var(--paper);border-left-color:var(--c);box-shadow:none}
.wxl .chip2 i{width:12px;height:12px}
.wxr{min-width:0}
.wxc-head{grid-template-columns:repeat(7,1fr)}
.wxc-plot{border-left:0;height:100%;min-height:420px}
.ax{position:absolute;left:10px;font:700 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;z-index:1}
.ax.up{top:10px;color:#0B7A43}.ax.dn{bottom:10px;color:#B4432B}
.tip{left:auto;right:12px}
.wxr{display:flex;flex-direction:column}.wxr .wxc-plot{flex:1}
@media (max-width:900px){.board{grid-template-columns:200px 1fr}.wxl .chip2 em{display:none}}
@media (max-width:640px){
  .board{display:block}
  .wxl{border-right:0;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;gap:6px;padding:12px}
  .wxr{order:-1}
  .wxl .chip2{width:auto;border:1px solid var(--line);border-radius:999px;padding:7px 10px}
  .wxl .chip2.on{box-shadow:0 0 0 2px var(--c) inset}
  .wxl .chip2 em{display:inline}
  .wxc-plot{min-height:240px}
}

/* briefing card */
.tip{flex-direction:column;align-items:stretch;gap:6px;max-width:min(360px,60%);padding:10px 12px}
.tip p{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
@media (max-width:640px){.tip{position:static;max-width:none;margin:10px;box-shadow:none}}
.wxl{padding:0}
.wxl .chip2{flex:1;min-height:44px}
@media (max-width:640px){.wxl .chip2{flex:0 0 auto;min-height:0}}

/* teach AI your business */
.ta-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.ta-head h1{font:800 clamp(30px,4.4vw,48px)/1.03 var(--display);letter-spacing:-.03em}
.ta-head .lead{font-size:clamp(16px,1.7vw,18px);color:var(--ink-2);margin-top:10px;max-width:52ch}
.seg button span{font:600 11px/1 var(--mono);color:var(--ink-3);margin-left:4px}
.ta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}
.ta-stage{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px 30px 24px;min-height:460px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(31,35,40,.04),0 18px 40px -28px rgba(31,35,40,.35)}
.ta-stage.in-fwd>*{animation:taIn .38s cubic-bezier(.2,.8,.2,1) both}
.ta-stage.in-back>*{animation:taBack .38s cubic-bezier(.2,.8,.2,1) both}
.ta-stage.in-fade>*{animation:rise .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes taIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes taBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.ta-top{display:flex;justify-content:space-between;font:600 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.ta-sec{color:var(--gold-deep)}
.ta-bar{height:6px;border-radius:99px;background:#EFEBE1;margin:12px 0 26px;overflow:hidden}
.ta-bar i{display:block;height:100%;border-radius:99px;background:var(--gold);transition:width .4s cubic-bezier(.2,.8,.2,1)}
.ta-q{font:800 clamp(24px,3vw,34px)/1.12 var(--display);letter-spacing:-.02em;text-wrap:balance}
.ta-hint{color:var(--ink-3);margin-top:8px;font-size:15px}
.ta-field{margin-top:22px;display:grid;gap:12px}
.ta-in{width:100%;border:1.5px solid var(--line);background:var(--paper);border-radius:14px;padding:15px 16px;font-size:18px;line-height:1.4;font-family:inherit;resize:vertical}
.ta-in:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,106,27,.2);background:#fff}
.ta-other{font-size:16px;padding:12px 14px}
.ta-chips{display:flex;flex-wrap:wrap;gap:8px}
.ta-chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:11px 15px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s,border-color .15s,background .15s}
.ta-chip:hover{border-color:#D3CCBB;transform:translateY(-1px)}
.ta-chip i{width:16px;height:16px;border-radius:5px;border:1.5px solid #C9C2B2;display:grid;place-items:center;background:#fff}
.ta-chip.on{border-color:var(--ink);background:var(--ink);color:#fff}
.ta-chip.on i{border-color:var(--gold);background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D1B2E' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.ta-nav{margin-top:auto;padding-top:26px;display:flex;align-items:center;gap:12px}
.ta-back{background:none;border:0;color:var(--ink-2);font-weight:650;font-size:15px;cursor:pointer;padding:10px 4px}
.ta-back:disabled{opacity:.35;cursor:default}
.ta-key{margin-left:auto;font:500 12px/1 var(--mono);color:var(--ink-3)}
.ta-next,.ta-primary{background:var(--ink);color:#fff;border:0;border-radius:12px;padding:13px 22px;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 8px 18px -10px rgba(31,35,40,.6);transition:transform .12s}
.ta-next:hover,.ta-primary:hover{transform:translateY(-1px)}
.ta-primary.ok,.ta-mini.ok{background:#14A35A;color:#fff;border-color:#14A35A}
.ta-ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:12px 20px;font-weight:700;font-size:16px;cursor:pointer}
.ta-file{position:sticky;top:76px;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 1px 2px rgba(31,35,40,.04)}
.ta-file-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.ta-file-head b{font-size:15px}.ta-file-head small{display:block;font:500 11.5px/1.3 var(--mono);color:var(--ink-3)}
.ta-file-btns{display:flex;gap:6px}
.ta-mini{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-weight:650;font-size:13px;cursor:pointer;white-space:nowrap}
.ta-mini:hover{border-color:var(--gold)}
.ta-clear{color:var(--ink-3)}
.ta-doc{padding:18px 20px;max-height:calc(100vh - 230px);min-height:300px;overflow:auto;font-size:14.5px;line-height:1.5}
.ta-doc h3{font:800 20px/1.2 var(--display);letter-spacing:-.01em}
.ta-intro{color:var(--ink-2);margin:6px 0 4px;font-size:13.5px}
.ta-doc h4{font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:18px 0 6px}
.ta-doc dl{margin:0}
.ta-row{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:7px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;transition:background .2s}
.ta-row:hover{background:var(--paper)}
.ta-row dt{color:var(--ink-3);font-size:13px}
.ta-row dd{margin:0;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}
.ta-row.fresh{animation:flash 1.2s ease-out}
@keyframes flash{0%{background:var(--gold-wash)}100%{background:transparent}}
.ta-doc ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:13.5px}
.ta-empty{display:grid;gap:10px;padding:8px 0}
.ta-empty i{height:12px;border-radius:6px;background:#F1EEE6}
.ta-empty p{color:var(--ink-3);font-size:14px;margin-top:6px}
.ta-private{padding:10px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.ta-done{display:flex;flex-direction:column;gap:12px}
.ta-check{width:52px;height:52px;border-radius:16px;background:#DDF5E6;color:#0B7A43;display:grid;place-items:center;animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.ta-done h2{font:800 clamp(26px,3.2vw,36px)/1.08 var(--display);letter-spacing:-.025em}
.ta-done>p{color:var(--ink-2);font-size:16px;max-width:52ch}
.ta-actions{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 8px}
.ta-done h3{font:700 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:8px}
.ta-prompts{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ta-prompts li{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 12px 11px 14px}
.ta-prompts p{flex:1;font-size:14.5px;line-height:1.4}
.ta-deeper{display:flex;align-items:center;gap:14px;text-align:left;margin-top:8px;padding:16px 18px;border:0;border-radius:16px;background:var(--gold);color:var(--ink);cursor:pointer;box-shadow:0 14px 30px -18px rgba(180,72,14,.8);transition:transform .15s}
.ta-deeper:hover{transform:translateY(-2px)}
.ta-deeper span{flex:1}.ta-deeper b{display:block;font:800 20px/1.1 var(--display)}.ta-deeper small{font-size:14px;color:#3B1A05}
.ta-link{align-self:flex-start;background:none;border:0;padding:6px 0;color:var(--ink-2);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:900px){.ta-grid{grid-template-columns:1fr}.ta-file{position:static}.ta-doc{max-height:none}}
@media (max-width:640px){
  .ta-stage{padding:20px 18px 18px;min-height:0;border-radius:18px}
  .ta-q{font-size:24px}.ta-chip{font-size:15px;padding:10px 12px}
  .ta-key{display:none}.ta-next{margin-left:auto}
  .ta-row{grid-template-columns:1fr;gap:0}
  .ta-file-btns .ta-clear{display:none}
}
.ta-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ta-chip{justify-content:center;text-align:center;min-height:56px;padding:12px 14px;line-height:1.25}
.ta-chips[role=group] .ta-chip{justify-content:flex-start;text-align:left}
.ta-chip i{flex:none}
@media (max-width:640px){.ta-chips{grid-template-columns:1fr 1fr;gap:8px}.ta-chip{min-height:52px;font-size:14.5px}}

/* teach AI: answer styles */
.ta-nav .ta-skip{margin-left:auto;background:none;border:0;color:var(--ink-3);font-weight:650;font-size:15px;cursor:pointer;padding:10px 8px}
.ta-nav .ta-skip:hover{color:var(--ink)}
.ta-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ta-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:108px;padding:14px;border:1.5px solid var(--line);border-radius:16px;background:var(--paper);cursor:pointer;text-align:left;font-weight:650;font-size:15px;line-height:1.25;transition:transform .14s,border-color .15s,background .15s,box-shadow .15s}
.ta-tile svg{color:var(--gold-deep)}
.ta-tile:hover{transform:translateY(-2px);border-color:#D3CCBB;box-shadow:0 10px 22px -16px rgba(31,35,40,.4)}
.ta-tile.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ta-tile.on svg{color:var(--gold)}
.ta-slider{padding:8px 0 4px}
.ta-big{display:block;font:800 clamp(34px,5vw,52px)/1 var(--display);letter-spacing:-.03em;margin-bottom:22px;transition:color .2s}
.ta-mix .ta-big,.ta-slider-wrap .ta-big{font-size:clamp(26px,3.6vw,40px)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--gold) 0 var(--p,50%),#EFEBE1 var(--p,50%));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 4px 12px -2px rgba(31,35,40,.35);transition:transform .12s}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--ink)}
input[type=range]:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
.ta-ends{display:flex;justify-content:space-between;margin-top:10px;font:600 11.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.ta-stepper{display:flex;align-items:center;gap:18px}
.ta-stepper button,.ta-counter button{width:54px;height:54px;border-radius:16px;border:1.5px solid var(--line);background:var(--paper);font-size:28px;font-weight:500;cursor:pointer;display:grid;place-items:center;line-height:1}
.ta-stepper button:hover,.ta-counter button:hover{border-color:var(--ink)}
.ta-stepper .ta-big{margin:0;min-width:1.5ch;text-align:center}
.ta-unit{font-size:20px;color:var(--ink-2);font-weight:600}
.ta-counters{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.ta-counter{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);font-weight:650}
.ta-counter button{width:38px;height:38px;border-radius:11px;font-size:22px;background:#fff}
.ta-counter b{font:700 20px/1 var(--mono);min-width:2ch;text-align:center}
.ta-total{margin-top:10px;font-weight:650;color:var(--ink-2)}.ta-total b{font-family:var(--mono);color:var(--ink);margin-left:6px}
.ta-seasons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ta-season{padding:16px;border:1.5px solid var(--line);border-radius:16px;background:var(--paper);transition:background .25s,border-color .25s}
.ta-sname{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.ta-sname svg{color:var(--ink-2)}
.ta-sname b{font:800 20px/1 var(--display)}
.ta-sname output{margin-left:auto;font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:7px;background:rgba(31,35,40,.06);color:var(--ink-2)}
.ta-season input[type=range]{height:8px}
.ta-season .ta-ends{font-size:10px}
.ta-season.lv0,.ta-season.lv1{background:#F3F6FB;border-color:#DADDE0}
.ta-season.lv0 output,.ta-season.lv1 output{background:#E2E5E8;color:#2B5A99}
.ta-season.lv0 input,.ta-season.lv1 input{background:linear-gradient(90deg,#6F9BD6 0 var(--p),#E3E9F2 var(--p))}
.ta-season.lv3,.ta-season.lv4{background:#FFF3EA;border-color:#F0D9A4}
.ta-season.lv3 output,.ta-season.lv4 output{background:var(--gold-wash);color:var(--gold-deep)}
.ta-season.lv4 svg{color:var(--gold-deep)}
.ta-tags{display:flex;flex-wrap:wrap;gap:8px}
.ta-tags:empty{display:none}
.ta-tag{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 14px;font-weight:650;font-size:15px;animation:pop .3s cubic-bezier(.2,1.4,.4,1) both}
.ta-tag button{width:22px;height:22px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;cursor:pointer;font-size:15px;line-height:1}
.ta-addrow{display:flex;gap:8px}
.ta-add{background:var(--ink);color:#fff;border:0;border-radius:14px;padding:0 20px;font-weight:700;font-size:16px;cursor:pointer}
.ta-rates{display:grid;gap:8px}
.ta-rh,.ta-rr{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}
.ta-rh span{font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-left:4px}
.ta-rr input{width:100%;min-width:0;border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:12px;font-size:16px}
.ta-rr input:focus{outline:none;border-color:var(--gold);background:#fff}
.ta-rr label{position:relative;display:block}
.ta-rr label span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-family:var(--mono)}
.ta-rr label input{padding-left:24px;font-family:var(--mono)}
@media (max-width:640px){
  .ta-tiles{grid-template-columns:1fr 1fr;gap:8px}.ta-tile{min-height:92px;font-size:14px}
  .ta-seasons{grid-template-columns:1fr}
  .ta-counters{grid-template-columns:1fr}
  .ta-rh,.ta-rr{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:6px}.ta-rr input{padding:10px 8px;font-size:15px}.ta-rr label input{padding-left:18px}.ta-rr label span{left:7px}
}
/* teach AI: center the question and answer in the card */
.ta-q{text-align:center;margin:auto auto 0;max-width:24ch}
.ta-field{margin-top:26px;width:100%;max-width:680px;margin-left:auto;margin-right:auto}
.ta-stepper{justify-content:center}
.ta-slider{text-align:center}
.ta-tags{justify-content:center}
.ta-total{text-align:center}
.ta-chips{justify-content:center}
.ta-field>.ta-link{justify-self:center;align-self:center}
.ta-done{align-items:center;text-align:center;margin:auto 0}
.ta-done>p{margin:0 auto}
.ta-actions{justify-content:center}
.ta-prompts{width:100%;text-align:left}
.ta-deeper{width:100%}
.ta-done .ta-link{align-self:center}

/* teach AI: fit the card to the screen so nothing gets cut off */
.ta .back{margin-bottom:8px}
.ta-head{margin-bottom:14px;align-items:center}
.ta-head h1{font-size:clamp(26px,3vw,38px)}
.ta-head .lead{font-size:15.5px;margin-top:6px}
.ta-stage{height:clamp(460px,calc(100vh - 100px),720px);min-height:0;scroll-margin-top:76px;padding:22px 26px 18px}
.ta-mid{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;justify-content:safe center;padding:6px 2px}
.ta-q{margin:0 auto}
.ta-bar{margin:12px 0 10px}
.ta-nav{padding-top:14px}
.ta-tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.ta-tile{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-height:62px;padding:10px 14px;font-size:14.5px}
.ta-tile svg{width:24px;height:24px;flex:none}
.ta-file{max-height:clamp(460px,calc(100vh - 100px),720px);display:flex;flex-direction:column}
.ta-doc{flex:1;max-height:none;min-height:0}
.ta-done{overflow:auto;max-height:100%}
@media (max-width:900px){.ta-stage{height:auto;min-height:420px}.ta-mid{overflow:visible}.ta-file{max-height:none}}
@media (max-width:640px){.ta-tiles{grid-template-columns:1fr 1fr}.ta-tile{min-height:56px;font-size:13.5px;gap:8px;padding:8px 10px}}
.ta-done{flex:1;min-height:0;margin:0;justify-content:safe center;padding:4px 2px}

/* teach AI: no page header, intro lives in the card */
.page.ta{padding-top:16px}
.ta-stage{height:clamp(440px,calc(100vh - 110px),700px)}
.ta-file{max-height:clamp(440px,calc(100vh - 110px),700px)}
.ta-top{align-items:center;gap:10px;flex-wrap:wrap}
.ta-seg{padding:3px;border-radius:11px}
.ta-seg button{padding:6px 10px;font-size:13px;border-radius:8px}
.ta-count{font:600 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.ta-tile{min-height:54px;padding:8px 14px}
.ta-intro-slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:10px}
.ta-intro-slide h2{font:800 clamp(32px,4.4vw,52px)/1.02 var(--display);letter-spacing:-.035em}
.ta-intro-slide p{font-size:17px;color:var(--ink-2);max-width:44ch}
.ta-spark{background:var(--gold-wash);color:var(--gold-deep)}
.ta-paths{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.ta-paths div{border:1.5px solid var(--line);background:var(--paper);border-radius:14px;padding:10px 16px;text-align:left}
.ta-paths b{display:block;font-size:15px}.ta-paths span{font-size:13px;color:var(--ink-3)}
.ta-start{margin-top:8px;padding:15px 44px;font-size:17px}
@media (max-width:640px){.ta-top{flex-direction:column;align-items:stretch}.ta-seg{display:flex}.ta-seg button{flex:1}}

/* teach AI: scale with the window */
.ta .wrap{max-width:min(1560px,94vw)}
.ta-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(12px,1.2vw,22px)}
.ta-stage{height:max(440px,calc((100dvh - var(--bar)) - 104px));padding:clamp(18px,2vw,34px) clamp(18px,2.4vw,44px) clamp(16px,1.6vw,28px)}
.ta-file{max-height:max(440px,calc((100dvh - var(--bar)) - 104px))}
.ta-q{font-size:clamp(24px,1.2vw + 2.2vh,52px);max-width:22ch}
.ta-field{max-width:min(860px,100%);margin-top:clamp(18px,3vh,40px)}
.ta-in{font-size:clamp(16px,.5vw + 1vh,22px);padding:clamp(12px,1.6vh,20px) 16px}
.ta-tile,.ta-chip{font-size:clamp(14px,.35vw + .9vh,19px);min-height:clamp(52px,6.5vh,80px)}
.ta-tile svg{width:clamp(22px,2.6vh,32px);height:clamp(22px,2.6vh,32px)}
.ta-big{font-size:clamp(34px,2vw + 3vh,72px)}
.ta-doc{font-size:clamp(13.5px,.3vw + .8vh,16px)}
.ta-intro-slide{gap:clamp(10px,1.6vh,20px)}
.ta-intro-slide h2{font-size:clamp(32px,2vw + 3.4vh,68px)}
.ta-intro-slide p{font-size:clamp(16px,.4vw + 1vh,20px)}
.ta-unlock-h{font:700 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-top:6px}
.ta-unlocks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:760px;text-align:left}
.ta-unlocks li{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:clamp(14px,.3vw + .8vh,17px);font-weight:600;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.ta-unlocks li:nth-child(2){animation-delay:.05s}.ta-unlocks li:nth-child(3){animation-delay:.1s}.ta-unlocks li:nth-child(4){animation-delay:.15s}.ta-unlocks li:nth-child(5){animation-delay:.2s}.ta-unlocks li:nth-child(6){animation-delay:.25s}
.ta-unlocks svg{width:20px;height:20px;color:var(--gold-deep);flex:none}
@media (max-width:900px){.ta-grid{grid-template-columns:1fr}.ta-stage{height:auto;min-height:440px}.ta-file{max-height:none}}
@media (max-width:640px){.ta-unlocks{grid-template-columns:1fr}}

/* teach AI: contractor vs homeowner split you can feel */
.ta-mixviz{display:flex;gap:6px;height:clamp(150px,24vh,260px);margin-bottom:26px}
.mx{flex-basis:0;min-width:0;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;transition:flex-grow .3s cubic-bezier(.2,.8,.2,1),opacity .3s;opacity:calc(.35 + var(--w) / 150)}
.mx.h{background:linear-gradient(160deg,#FCE7B6,#F2C14E);color:#4A3200}
.mx.c{background:linear-gradient(160deg,#292F36,#1F2328);color:#fff}
.mx.c svg{color:var(--gold)}
.mx svg{width:calc(18px + var(--w) * .26px);height:calc(18px + var(--w) * .26px);transition:width .3s,height .3s}
.mx b{font:800 calc(16px + var(--w) * .5px)/1 var(--display);letter-spacing:-.03em;transition:font-size .3s}
.mx span{font-weight:700;font-size:14px;white-space:nowrap}
.ta-mid{overflow-x:hidden}

/* teach AI: steps, yes/no, playbook */
.ta-seg em{font-style:normal;font:700 10px/1 var(--mono);display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(31,35,40,.08);margin-right:6px;vertical-align:1px}
.ta-seg button[aria-selected=true] em{background:var(--gold);color:var(--ink)}
.ta-yesno{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin:0 auto;width:100%}
.ta-yn{flex-direction:column !important;justify-content:center !important;align-items:center !important;min-height:clamp(110px,16vh,180px) !important;font-size:clamp(18px,1vw + 1vh,26px) !important}
.ta-yn svg{width:clamp(28px,4vh,44px) !important;height:clamp(28px,4vh,44px) !important}
.ta-book{align-items:stretch !important;text-align:left !important;justify-content:flex-start !important;gap:10px !important}
.ta-book-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.ta-book-head h2{font:800 clamp(28px,1.4vw + 2vh,44px)/1.05 var(--display);letter-spacing:-.025em}
.ta-book-head p{color:var(--ink-2);font-size:15px;margin-top:6px;max-width:56ch}
.ta-book .ta-actions{margin:0}
.ta-group{font:700 11.5px/1 var(--mono) !important;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep) !important;margin:14px 0 2px !important}
.ta-plays{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.ta-play{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:6px 14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:transform .15s,box-shadow .15s,border-color .15s}
.ta-play:not(.locked):hover{transform:translateY(-2px);border-color:#D3CCBB;box-shadow:0 12px 26px -18px rgba(31,35,40,.45)}
.ta-play-ic{grid-row:1/3;width:44px;height:44px;border-radius:13px;background:var(--ink);color:var(--gold);display:grid;place-items:center}
.ta-play-ic svg{width:22px;height:22px}
.ta-play h4{font:750 16.5px/1.25 var(--display);margin:0}
.ta-play p{font-size:14px;color:var(--ink-2);margin:4px 0 0;line-height:1.4}
.ta-play-btn{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px}
.ta-play-btn svg{width:15px;height:15px}
.ta-play.locked{opacity:.55;background:transparent;border-style:dashed}
.ta-play.locked .ta-play-ic{background:#EFEBE1;color:var(--ink-3)}
.ta-step2{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding:18px 20px;border-radius:16px;background:var(--ink);color:#fff}
.ta-step2 b{display:block;font:800 19px/1.2 var(--display)}
.ta-step2 span{font-size:14px;color:#D3D7DB}
.ta-step2 .ta-primary{background:var(--gold);color:var(--ink);box-shadow:none}

/* teach AI: uniform answer grids, every box the same size */
.ta-chips,.ta-tiles{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-auto-rows:1fr;gap:10px;width:100%}
.ta-chip,.ta-tile{height:100%;min-height:clamp(56px,7vh,84px);width:100%}
.ta-chip{justify-content:flex-start;text-align:left}
.ta-chips[role=radiogroup] .ta-chip{justify-content:center;text-align:center}
.ta-tile.dim{opacity:.4}
.ta-picked{text-align:center;margin-top:12px;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.ta-picked b{color:var(--ink);font-size:14px}
@media (max-width:640px){.ta-chips,.ta-tiles{grid-template-columns:1fr 1fr}}

.ta-feeds{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:12px}
.ta-feeds em{font:700 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--gold-deep);margin-right:2px}
.ta-feeds span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;background:var(--gold-wash);color:#5C3E00;font-size:12.5px;font-weight:650}
.ta-feeds span svg{width:14px;height:14px}
.ta-feeds .more{background:transparent;color:var(--ink-3);padding-left:4px}

.ta-tile span,.ta-chip{overflow-wrap:normal;word-break:normal;hyphens:none}
.ta-tile{font-size:clamp(14px,.3vw + .8vh,17px)}

/* teach AI: service area picker */
.ta-area{display:grid;gap:16px;justify-items:center;width:100%}
.ta-city{position:relative;width:100%;max-width:520px}
.ta-sugg{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
.ta-sugg button{width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:16px;font-weight:650;cursor:pointer}
.ta-sugg button:hover{border-color:var(--gold);background:#fff}
.ta-sugg small{color:var(--ink-3);margin-left:8px;font-weight:600}
.ta-homechip{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:999px;padding:10px 10px 10px 16px;font:800 clamp(18px,1vw + 1vh,24px)/1 var(--display)}
.ta-homechip svg{color:var(--gold);width:20px;height:20px}
.ta-homechip button{width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:18px;cursor:pointer}
.ta-radius{display:inline-flex;gap:4px;background:#ECE8DD;border:1px solid var(--line);padding:4px;border-radius:12px}
.ta-radius button{border:0;background:transparent;padding:8px 14px;border-radius:9px;font:700 13px/1 var(--mono);color:var(--ink-2);cursor:pointer}
.ta-radius button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(31,35,40,.1)}
.ta-towns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:820px}
.ta-town{border:1.5px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 15px;font-size:15px;font-weight:650;cursor:pointer;animation:pop .3s cubic-bezier(.2,1.4,.4,1) both;transition:background .15s,border-color .15s}
.ta-town:hover{border-color:#C9C2B2}
.ta-town.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ta-all{margin-top:-4px}

/* teach AI: denser layouts for long answer lists, so nothing scrolls */
.ta-stage.d1 .ta-tile,.ta-stage.d1 .ta-chip{min-height:46px;padding:6px 12px;font-size:14.5px;gap:10px}
.ta-stage.d2 .ta-tile,.ta-stage.d2 .ta-chip{min-height:40px;padding:5px 10px;font-size:13.5px;gap:8px;border-radius:11px}
.ta-stage.d3 .ta-tile,.ta-stage.d3 .ta-chip{min-height:34px;padding:4px 9px;font-size:12.5px;gap:7px;border-radius:10px}
.ta-stage.d1 .ta-tile svg{width:20px;height:20px}
.ta-stage.d2 .ta-tile svg,.ta-stage.d3 .ta-tile svg{width:17px;height:17px}
.ta-stage.d1 .ta-chips,.ta-stage.d1 .ta-tiles{gap:8px}
.ta-stage.d2 .ta-chips,.ta-stage.d2 .ta-tiles,.ta-stage.d3 .ta-chips,.ta-stage.d3 .ta-tiles{gap:6px}
.ta-stage.d2 .ta-q,.ta-stage.d3 .ta-q{font-size:clamp(22px,1vw + 1.8vh,38px)}
.ta-stage.d2 .ta-field,.ta-stage.d3 .ta-field{margin-top:14px}
.ta-stage.d3 .ta-feeds{margin-top:8px}
.ta-stage.d3 .ta-other{padding:9px 12px;font-size:14px}
.ta-chip i{flex:none}
@media (max-width:640px){.ta-chips,.ta-tiles{grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}}

.ta-why{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px auto 0;max-width:62ch;text-align:center;font-size:clamp(14px,.3vw + .9vh,17px);color:var(--ink-2);line-height:1.45}
.ta-why b{font:700 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);background:var(--gold-wash);padding:5px 8px;border-radius:6px;flex:none}
.ta-stage.d3 .ta-why{font-size:13px;margin-top:8px}

/* teach AI: grouped pick lists (challenges, goals) */
.ta-groups{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:10px;width:100%;align-items:stretch}
.ta-grp{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 12px 6px;text-align:left}
.ta-grp h5{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.ta-grp h5 svg{width:18px;height:18px}
.ta-pills{display:flex;flex-wrap:wrap;gap:6px}
.ta-stage .ta-grp .ta-pill{display:inline-flex;width:auto;height:auto;min-height:0;margin:0 0 6px;padding:8px 12px;border-radius:999px;font-size:clamp(13px,.25vw + .75vh,15.5px);line-height:1.2;background:#fff;border:1.5px solid var(--line);font-weight:600;text-align:left;transition:background .15s,border-color .15s,transform .12s}
.ta-stage .ta-grp .ta-pill:hover{border-color:#C9C2B2;transform:translateY(-1px)}
.ta-stage .ta-grp .ta-pill.on{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}
.ta-stage.d2 .ta-grp .ta-pill,.ta-stage.d3 .ta-grp .ta-pill{padding:6px 10px;font-size:12.5px;margin-bottom:5px}
.ta-stage.d2 .ta-grp,.ta-stage.d3 .ta-grp{padding:10px 10px 5px}
@media (max-width:640px){.ta-groups{grid-template-columns:1fr}}

/* teach AI: single centered card while answering */
.ta-grid.solo{display:block;max-width:1180px;margin:0 auto}
.ta-topr{display:flex;align-items:center;gap:14px;margin-left:auto}
.ta-reset{background:none;border:0;padding:0;font:600 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);cursor:pointer}
.ta-reset:hover{color:var(--ink)}
/* the reveal */
.ta-stage.is-done{height:auto;max-height:none;padding-bottom:30px}
.ta-reveal{display:flex;flex-direction:column;gap:26px;text-align:left;align-items:stretch;justify-content:flex-start;overflow:visible;max-height:none}
.ta-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:center;margin-top:10px;padding:clamp(22px,3vw,40px);border-radius:24px;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,#353B43 0%,#1F2328 55%,#16191D 100%);position:relative;overflow:hidden;box-shadow:0 30px 60px -30px rgba(31,35,40,.7)}
.ta-hero::before{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(242,106,27,.28),transparent 65%)}
.ta-hero>*{position:relative}
.ta-kicker{display:inline-flex;align-items:center;gap:8px;font:700 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ta-kicker svg{width:16px;height:16px}
.ta-hero h2{font:800 clamp(34px,2vw + 3vh,64px)/1 var(--display);letter-spacing:-.035em;margin-top:14px}
.ta-place{display:flex;align-items:center;gap:6px;color:#D3D7DB;margin-top:10px;font-size:16px}
.ta-place svg{width:16px;height:16px;color:var(--gold)}
.ta-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 22px}
.ta-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 14px}
.ta-stat b{display:block;font:800 clamp(18px,1vw + 1vh,26px)/1.1 var(--display);letter-spacing:-.02em}
.ta-stat span{font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#A4AAB0;display:block;margin-top:6px}
.ta-gold{background:var(--gold) !important;color:var(--ink) !important;display:inline-flex;align-items:center;gap:8px}
.ta-gold svg{width:18px;height:18px}
.ta-ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.ta-paper{background:#fff;color:var(--ink);border-radius:16px;padding:22px 24px;max-height:430px;overflow:auto;transform:rotate(1.2deg);box-shadow:0 24px 50px -20px rgba(0,0,0,.55);font-size:13.5px;line-height:1.45}
.ta-paper h3{font:800 18px/1.2 var(--display)}
.ta-paper h4{font:700 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:14px 0 4px}
.ta-paper .ta-row{grid-template-columns:120px 1fr;padding:4px 6px;margin:0 -6px}
.ta-paper .ta-row dt{font-size:12px}
.ta-train h3,.ta-ask>h3{font:800 clamp(24px,1vw + 1.6vh,34px)/1.1 var(--display);letter-spacing:-.025em;margin:0 0 12px}
.ta-train ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ta-train li{display:flex;gap:14px;padding:18px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
.ta-train li>b{flex:none;width:40px;height:40px;border-radius:12px;background:var(--gold);color:var(--ink);display:grid;place-items:center;font:800 20px/1 var(--display)}
.ta-train h4{font:750 17px/1.2 var(--display);margin:2px 0 4px}
.ta-train p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.45}
.ta-ask .ta-group{margin-top:16px !important}
.ta-reveal>.ta-link{align-self:center}
@media (max-width:900px){.ta-hero{grid-template-columns:1fr}.ta-paper{transform:none}.ta-train ol{grid-template-columns:1fr}}

.ta-plus{border-style:dashed;color:var(--ink-2);background:transparent}
.ta-townin{border:1.5px solid var(--gold);border-radius:999px;padding:9px 15px;font-size:15px;font-weight:650;width:160px;outline:none;box-shadow:0 0 0 3px rgba(242,106,27,.2)}
/* teach AI: grouped options as same-size rounded squares, text centered vertically */
.ta-field:has(.ta-groups){max-width:min(1180px,100%)}
.ta-pills{display:flex;flex-direction:column;gap:6px}
.ta-stage .ta-grp .ta-pill{display:flex;align-items:center;justify-content:flex-start;width:100%;height:52px;margin:0;padding:0 12px;border-radius:10px;font-size:clamp(13px,.25vw + .75vh,15px);line-height:1.2;text-align:left}
.ta-stage.d1 .ta-grp .ta-pill{height:46px}
.ta-stage.d2 .ta-grp .ta-pill{height:40px;padding:0 10px;font-size:12.5px;margin:0}
.ta-stage.d3 .ta-grp .ta-pill{height:34px;padding:0 9px;font-size:12px;margin:0}
.ta-grp{padding:12px;display:flex;flex-direction:column}
.ta-grp h5{min-height:2.4em;align-items:flex-start;line-height:1.25}
.ta-stage.d2 .ta-grp,.ta-stage.d3 .ta-grp{padding:10px}

/* teach AI: ranked word cloud */
.ta-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:0 auto}
.ta-stage .ta-cl{width:auto;height:auto;min-height:0;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:14px;background:#fff;border:1.5px solid var(--line);font-size:clamp(14px,.3vw + .85vh,17px);font-weight:650;box-shadow:0 1px 0 rgba(31,35,40,.04);transition:transform .15s,border-color .15s,background .15s,opacity .15s}
.ta-cl svg{width:18px;height:18px;color:var(--gold-deep)}
.ta-cl:hover{transform:translateY(-2px);border-color:#C9C2B2}
.ta-stage .ta-cl.on{background:var(--ink);border-color:var(--ink);color:#fff;transform:scale(1.04)}
.ta-cl.on svg{color:var(--gold)}
.ta-cl.dim{opacity:.38}
.ta-rank{display:none;width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--ink);font:800 13px/24px var(--display);text-align:center;flex:none}
.ta-cl.on .ta-rank{display:inline-block;animation:pop .3s cubic-bezier(.2,1.4,.4,1) both}
.ta-stage.d2 .ta-cl,.ta-stage.d3 .ta-cl{padding:7px 11px;font-size:13px;gap:6px}
/* roster of round avatars */
.ta-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:16px 10px;max-width:960px;margin:0 auto}
.ta-stage .ta-av{display:flex;flex-direction:column;align-items:center;gap:8px;width:auto;height:auto;min-height:0;padding:6px 4px;background:transparent;border:0;box-shadow:none;text-align:center}
.ta-avc{width:clamp(56px,7.5vh,78px);height:clamp(56px,7.5vh,78px);border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px dashed #D3CCBB;color:var(--ink-3);transition:transform .2s cubic-bezier(.2,1.4,.4,1),background .2s,border-color .2s}
.ta-avc svg{width:44%;height:44%}
.ta-avl{font-size:clamp(12.5px,.25vw + .75vh,15px);font-weight:650;line-height:1.2;color:var(--ink-2)}
.ta-av:hover .ta-avc{transform:translateY(-3px)}
.ta-av.on .ta-avc{background:var(--ink);border:2px solid var(--gold);color:var(--gold);transform:scale(1.06)}
.ta-av.on .ta-avl{color:var(--ink)}
.ta-stage.d2 .ta-roster,.ta-stage.d3 .ta-roster{gap:8px 6px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
.ta-stage.d2 .ta-avc,.ta-stage.d3 .ta-avc{width:48px;height:48px}
/* on/off switches */
.ta-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:960px;margin:0 auto;text-align:left}
.ta-tgcol h5{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.ta-tgcol h5 svg{width:16px;height:16px}
.ta-stage .ta-tg{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:auto;min-height:0;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:clamp(14px,.25vw + .8vh,16px);font-weight:600;text-align:left}
.ta-sw{flex:none;width:42px;height:24px;border-radius:99px;background:#E3DED2;position:relative;transition:background .2s}
.ta-sw::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(31,35,40,.3);transition:transform .2s cubic-bezier(.2,1.4,.4,1)}
.ta-stage .ta-tg.on{background:#fff;border-color:var(--gold);color:var(--ink)}
.ta-tg.on .ta-sw{background:#14A35A}
.ta-tg.on .ta-sw::after{transform:translateX(18px)}
.ta-stage.d2 .ta-tg,.ta-stage.d3 .ta-tg{padding:8px 12px;margin-bottom:6px;font-size:13.5px}
.ta-tg .ta-sw{width:42px;height:24px;border:0;border-radius:99px;display:block}
.ta-tg.on .ta-sw{background:#14A35A}
.ta-cl .ta-rank{border:0}

/* teach AI: staff counters as same-size cards */
.ta-counters{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-auto-rows:1fr;gap:10px;width:100%}
.ta-counter{display:flex;flex-direction:column;justify-content:space-between;gap:12px;height:100%;min-height:clamp(104px,13vh,140px);padding:14px;border:1.5px solid var(--line);border-radius:16px;background:var(--paper);grid-template-columns:none}
.ta-cname{display:flex;align-items:center;gap:10px;font-weight:700;font-size:clamp(14px,.25vw + .8vh,16px);line-height:1.2;text-align:left;min-height:2.4em}
.ta-cname svg{width:22px;height:22px;flex:none;color:var(--gold-deep)}
.ta-cctl{display:flex;align-items:center;justify-content:space-between}
.ta-cctl button{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;line-height:1}
.ta-cctl button:hover{border-color:var(--ink)}
.ta-cctl b{font:800 clamp(24px,1vw + 2vh,36px)/1 var(--display)}
.ta-stage.d2 .ta-counter,.ta-stage.d3 .ta-counter{min-height:88px;padding:10px}

/* teach AI: first-page teaser of a finished profile */
.ta-intro-slide.has-teaser{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px);align-items:center;text-align:left}
.ta-intro-l{display:flex;flex-direction:column;gap:clamp(10px,1.6vh,18px);align-items:flex-start}
.ta-intro-slide:not(.has-teaser) .ta-intro-l{align-items:center;text-align:center}
.has-teaser .ta-unlocks{grid-template-columns:1fr 1fr;max-width:none}
.ta-teaser{position:relative;color:#fff;border-radius:22px;padding:clamp(18px,2vw,28px);background:radial-gradient(120% 140% at 0% 0%,#353B43 0%,#1F2328 55%,#16191D 100%);box-shadow:0 30px 60px -30px rgba(31,35,40,.7);transform:rotate(-1.2deg);overflow:hidden;animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
.ta-teaser::before{content:"";position:absolute;right:-100px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(242,106,27,.28),transparent 65%)}
.ta-teaser>*{position:relative}
.ta-teaser>h3{font:800 clamp(24px,1.2vw + 2vh,38px)/1.02 var(--display);letter-spacing:-.03em;margin-top:10px}
.ta-teaser .ta-stats{margin:14px 0}
.ta-teaser .ta-stat b{font-size:clamp(15px,.6vw + .9vh,20px)}
.ta-sample{position:absolute !important;right:16px;top:16px;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:5px 8px;border-radius:6px}
.ta-paper-mini{transform:rotate(2deg);max-height:none;padding:14px 16px;font-size:12px}
.ta-paper-mini h3{font-size:14px}
.ta-paper-mini .ta-row{grid-template-columns:90px 1fr;cursor:default}
.ta-works{margin-top:14px;font:600 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#D3D7DB}
@media (max-width:900px){.ta-intro-slide.has-teaser{grid-template-columns:1fr}.ta-teaser{transform:none}}

/* ---------- tools fill the window (no page scrolling), like Teach AI ---------- */
.page.wx,.page.tool{padding-top:14px}
.page.wx .wrap,.page.tool .wrap{max-width:min(1560px,94vw)}
.wx .back{margin-bottom:6px}
.wx-head{margin-bottom:12px}
.wx-head h1{font-size:clamp(26px,1.1vw + 2vh,46px)}
/* weather board */
#wx-board.board{height:calc((100dvh - var(--bar)) - 186px);min-height:460px;grid-template-columns:clamp(200px,17vw,300px) 1fr}
#wx-board .wxr{display:flex;flex-direction:column;min-height:0}
#wx-board .wxc-plot{height:auto;min-height:0;flex:1}
#wx-board .wd{padding:clamp(8px,1.4vh,16px) 4px}
#wx-board .wd .d{font-size:clamp(10px,.2vw + .7vh,13px)}
#wx-board .wd svg{width:clamp(20px,2.6vh,30px);height:clamp(20px,2.6vh,30px)}
#wx-board .wd .hi{font-size:clamp(15px,.4vw + 1.3vh,24px)}
#wx-board .wd .lo{font-size:clamp(12px,.3vw + .9vh,17px)}
#wx-board .wd .x{font-size:clamp(11px,.2vw + .8vh,14px)}
#wx-board .wxl .chip2{font-size:clamp(13px,.3vw + .9vh,17px);padding:0 16px}
#wx-board .tip{max-width:min(460px,45%);font-size:clamp(13px,.3vw + .9vh,16px)}
#wx-board .tip p{font-size:inherit}
/* seasonal calendar */
.sboard{height:calc((100dvh - var(--bar)) - 186px);min-height:420px;grid-template-rows:auto;grid-auto-rows:minmax(0,1fr);grid-template-columns:clamp(200px,17vw,300px) repeat(12,1fr)}
.sboard .sc{height:auto}
.sboard .sh{font-size:clamp(10px,.2vw + .7vh,13px)}
.slab .n{font-size:clamp(13px,.3vw + .9vh,17px)}
.sc b{font-size:clamp(10px,.2vw + .8vh,14px)}
.sc i{max-width:clamp(28px,3vw,56px)}
/* utilization */
.page.tool .page-head{max-width:none}
.page.tool .calc{margin-top:16px}
@media (max-width:900px){
  #wx-board.board,.sboard{height:auto;min-height:0}
  #wx-board .wxc-plot{min-height:260px}
  .sboard .sc{height:80px}
}
@media (max-width:640px){.sboard{grid-template-columns:repeat(12,1fr)}}
/* phone fixes from the mobile pass */
@media (max-width:640px){
  .ta-top{flex-direction:column;align-items:stretch;gap:8px}
  .ta-seg{display:flex;width:100%}
  .ta-seg button{flex:1;min-width:0;padding:7px 6px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ta-seg button span{display:none}
  .ta-topr{margin-left:0;justify-content:space-between}
  .has-teaser .ta-unlocks{grid-template-columns:1fr}
  .ta-intro-slide.has-teaser{gap:18px}
  #wx-board .tip{left:8px;right:8px;top:8px;max-width:none;font-size:13px;padding:8px 10px}
  #wx-board .wxc-plot{min-height:400px}
  #wx-board .ax{display:none}
  #wx-board .wxl{order:2}
}

/* weather heatmap: categories by day */
#wx-board.board.hm{display:grid;grid-template-columns:clamp(170px,16vw,290px) repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(var(--n,10),minmax(34px,1fr)) auto;gap:3px;padding:10px;background:var(--card)}
.hm .wd{border-left:0;border-radius:10px}
.hm .wd.now{background:var(--gold-wash)}
.hm-corner{}
.hm-lab{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:0 10px;border-radius:10px;font-weight:650;font-size:clamp(12.5px,.3vw + .85vh,16px);color:var(--ink-2);cursor:pointer;line-height:1.2}
.hm-lab svg{flex:none;color:var(--gold-deep);width:clamp(16px,2vh,22px);height:clamp(16px,2vh,22px)}
.hm-lab:hover{background:var(--paper)}
.hm-lab.on{background:var(--ink);color:#fff}.hm-lab.on svg{color:var(--gold)}
.hm-cell{position:relative;border-radius:8px;cursor:pointer;display:grid;place-items:center;transition:transform .12s,box-shadow .12s;outline:2px solid transparent;outline-offset:-2px}
.hm-cell:hover{transform:scale(1.04);box-shadow:0 6px 14px -8px rgba(31,35,40,.5);z-index:1}
.hm-cell.on{outline-color:var(--ink)}
.hm-cell.now{box-shadow:inset 0 0 0 2px rgba(242,106,27,.55)}
.hm-flag{display:inline-flex;align-items:center;gap:1px;padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.88);color:var(--ink)}
.hm-flag svg{width:clamp(12px,1.6vh,17px);height:clamp(12px,1.6vh,17px)}
.hm-flag.up{color:#0B6B3A}.hm-flag.down{color:#B4432B}
.hm-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 6px 2px;flex-wrap:wrap}
.hm-brief{margin:0;font-size:clamp(13.5px,.3vw + .9vh,17px);color:var(--ink-2);line-height:1.45;flex:1;min-width:260px}
.hm-brief b{color:var(--ink);margin-right:8px}
.hm-key{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.hm-key i{width:120px;height:10px;border-radius:99px;background:linear-gradient(90deg,rgba(224,104,75,.8),#fff,rgba(20,163,90,.84))}
@media (max-width:640px){
  #wx-board.board.hm{grid-template-columns:96px repeat(7,minmax(0,1fr));gap:2px;padding:6px;height:auto;grid-template-rows:auto repeat(var(--n,10),44px) auto}
  .hm-lab{padding:0 4px;font-size:11px;gap:5px}.hm-lab svg{width:14px;height:14px}
  .hm .wd{padding:6px 0}.hm .wd .lo,.hm .wd .x{display:none}
  .hm-flag{padding:2px 3px}.hm-flag svg{width:11px;height:11px}
  .hm-key{display:none}
}

/* ---------- Inspection Report Creator ---------- */
.ixp{padding:12px 0 0}
.ix-wrap{max-width:min(980px,96vw);margin:0 auto;padding:0 12px}
.ix{display:flex;flex-direction:column;height:calc((100dvh - var(--bar)) - 86px);min-height:520px;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 1px 2px rgba(31,35,40,.04),0 18px 40px -28px rgba(31,35,40,.35)}
.ix-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--ink);color:#fff}
.ix-shop{font:800 clamp(16px,1vw + 1vh,22px)/1.1 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-tools{display:flex;gap:6px}
.ix-tools button{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;padding:8px 10px;font-weight:600;font-size:13px;cursor:pointer}
.ix-tools svg{color:var(--gold)}
.ix-steps{list-style:none;margin:0;padding:10px 12px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border-bottom:1px solid var(--line);background:var(--paper)}
.ix-steps li{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;color:var(--ink-3);min-width:0}
.ix-steps b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 11px/1 var(--mono);background:#E9E4D8;color:var(--ink-3)}
.ix-steps span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-steps li.on{color:var(--ink)}.ix-steps li.on b{background:var(--gold);color:var(--ink)}
.ix-steps li.done b{background:var(--ink);color:#fff}
.ix-body{flex:1;min-height:0;overflow:auto;padding:16px 18px 24px;-webkit-overflow-scrolling:touch}
.ix-h{font:800 clamp(22px,1.2vw + 1.6vh,32px)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 12px}
.ix-g{font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin:18px 0 8px}
.ix-sub{color:var(--ink-2);margin:0 0 12px}
.ix-kinds{display:flex;flex-wrap:wrap;gap:8px}
.ix-kinds button{min-height:48px;padding:0 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);font-weight:700;font-size:15px;cursor:pointer}
.ix-kinds button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ix-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ix-type{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);font-weight:650;font-size:14.5px;text-align:left;cursor:pointer;line-height:1.2}
.ix-type svg{flex:none;color:var(--gold-deep)}
.ix-type.on{background:var(--ink);border-color:var(--ink);color:#fff}.ix-type.on svg{color:var(--gold)}
.ix-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ix-field{display:grid;gap:6px;margin-bottom:12px}
.ix-field span{font-weight:650;font-size:13.5px;color:var(--ink-2)}
.ix-field input,.ix-field textarea,.ix-hours,.ix-optrow input{width:100%;min-height:50px;border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:12px 14px;font-size:16px;font-family:inherit}
.ix-field input:focus,.ix-field textarea:focus,.ix-hours:focus,.ix-item textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(242,106,27,.2)}
.ix-sum{margin:-4px 0 12px;color:var(--ink-2)}
.ix-sum .good{color:#0B6B3A}.ix-sum .bad{color:#B4432B}
.ix-list{display:grid;gap:8px}
.ix-item{border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:10px 10px 10px 14px}
.ix-item.issue{border-color:#F2B8A8;background:#FFF8F5}
.ix-item.na{opacity:.6}
.ix-iline{display:flex;align-items:center;gap:10px}
.ix-iname{flex:1;font-weight:650;font-size:15px;line-height:1.25}
.ix-seg{display:flex;flex:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}
.ix-seg button{min-width:54px;min-height:44px;border:0;border-radius:9px;background:transparent;font-weight:700;font-size:14px;color:var(--ink-3);cursor:pointer}
.ix-seg button[data-v=ok][aria-checked=true]{background:#14A35A;color:#fff}
.ix-seg button[data-v=issue][aria-checked=true]{background:#E0684B;color:#fff}
.ix-seg button[data-v=na][aria-checked=true]{background:#9AA0A6;color:#fff}
.ix-issue{display:grid;gap:8px;margin-top:10px}
.ix-issue textarea{width:100%;border:1.5px solid #F2B8A8;border-radius:12px;padding:10px 12px;font-size:16px;font-family:inherit;background:#fff}
.ix-thumbs,.ix-photos{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.ix-th{position:relative;display:block;width:76px;height:76px;border-radius:10px;overflow:hidden;background:#eee}
.ix-th img{width:100%;height:100%;object-fit:cover;display:block}
.ix-th button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(31,35,40,.75);color:#fff;display:grid;place-items:center;cursor:pointer}
.ix-photos figure{margin:0;width:104px}.ix-photos .ix-th{width:104px;height:104px}
.ix-photos figcaption{font-size:11.5px;color:var(--ink-3);margin-top:4px;line-height:1.25}
.ix-addph{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:76px;height:76px;border-radius:10px;border:1.5px dashed #C9C2B2;color:var(--ink-2);font-size:12px;font-weight:650;cursor:pointer;background:var(--paper)}
.ix-addph.big{width:104px;height:104px}
.ix-addph input{display:none}
.ix-hours{max-width:260px;font:700 22px var(--mono)}
.ix-gauge{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:520px}
.ix-gauge button{position:relative;height:96px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden;padding-bottom:8px}
.ix-gauge i{position:absolute;left:0;right:0;bottom:0;background:rgba(31,35,40,.08)}
.ix-gauge span{position:relative;font:700 15px var(--mono)}
.ix-gauge button[aria-pressed=true]{border-color:var(--ink)}
.ix-gauge.fuel button[aria-pressed=true] i,.ix-gauge.propane button[aria-pressed=true] i{background:var(--gold)}
.ix-gauge.battery button[aria-pressed=true] i{background:#5CC98E}
.ix-sigwrap{position:relative;height:clamp(150px,26vh,240px);border:1.5px solid var(--line);border-radius:14px;background:#fff;margin:4px 0 10px;touch-action:none}
.ix-sigwrap.off{opacity:.35;pointer-events:none}
.ix-sigwrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.ix-sigline{position:absolute;left:18px;right:18px;bottom:34px;border-top:1.5px dashed #C9C2B2;padding-top:4px;font-size:12px;color:var(--ink-3);pointer-events:none}
.ix-clear{position:absolute;top:8px;right:8px;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:6px 10px;font-weight:650;font-size:13px;cursor:pointer}
.ix-check{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:15px;margin:6px 0 14px;cursor:pointer}
.ix-check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--ink)}
.ix-nav{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:#fff}
.ix-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font-weight:650;font-size:15px;color:var(--ink-2);padding:12px 6px;cursor:pointer}
.ix-back:disabled{opacity:.3}
.ix-need{flex:1;text-align:right;font-size:13px;color:#B4432B;font-weight:600}
.ix-next,.ix-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.ix-next:disabled{opacity:.35;cursor:default}
.ix-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:700;font-size:16px;cursor:pointer}
.ix-primary svg,.ix-ghost svg{color:var(--gold)}
.ix-wide{width:100%;margin-top:6px}
.ix-card{max-width:560px;margin:0 auto}
.ix-card h1,.ix-done h1{font:800 clamp(24px,1.2vw + 1.8vh,34px)/1.1 var(--display);letter-spacing:-.02em;margin:0 0 6px}
.ix-fine{font-size:12.5px;color:var(--ink-3);margin-top:16px;line-height:1.45}
.ix-done{max-width:560px;margin:0 auto;text-align:center;padding-top:12px}
.ix-badge{width:64px;height:64px;border-radius:20px;background:#DDF5E6;color:#0B6B3A;display:grid;place-items:center;margin:0 auto 12px;animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}
.ix-actions{display:grid;gap:10px;margin:16px 0}
.ix-optin{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:12px}
.ix-optin .ix-check{margin:0;font-size:14px;font-weight:550;color:var(--ink-2)}
.ix-optrow{display:flex;gap:8px;margin-top:10px}
.ix-optrow input{min-height:48px}
.ix-new{margin-top:4px}
.ix-hist{display:grid;gap:8px;margin-bottom:14px}
.ix-hrow{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 10px 10px 14px;background:var(--paper)}
.ix-hrow div{flex:1;min-width:0}.ix-hrow b{display:block}.ix-hrow span{font-size:13px;color:var(--ink-3)}
.ix-hrow button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
@media (max-width:640px){
  .ixp{padding:0}.ix-wrap{padding:0;max-width:none}
  .ix{border-radius:0;border-left:0;border-right:0;height:calc((100dvh - var(--bar)) - 61px);min-height:0}
  .ix-steps span{display:none}.ix-steps li{justify-content:center}
  .ix-tools span{display:none}
  .ix-row3{grid-template-columns:1fr}
  .ix-types{grid-template-columns:1fr 1fr}
  .ix-iline{flex-wrap:wrap}.ix-iname{flex-basis:100%}.ix-seg{width:100%}.ix-seg button{flex:1}
  .ix-body{padding:14px 14px 20px}
  .ix-need{font-size:12px}
}

/* ---------- Inspection, redesign: guided flow on the left, live report on the right ---------- */
.ixp{padding:10px 0 0}
.ix-wrap{max-width:min(1560px,96vw)}
.ix{display:grid;grid-template-columns:minmax(380px,560px) 1fr;gap:0;background:var(--paper);height:calc((100dvh - var(--bar)) - 82px)}
.ix-phone{display:flex;flex-direction:column;min-height:0;background:#fff;border-right:1px solid var(--line)}
.ix-top{padding:14px 18px}
.ix-shop{font-size:clamp(18px,1vw + 1vh,24px)}
.ix-tools button{width:46px;height:46px;justify-content:center;padding:0;border-radius:12px}
.ix-prog{padding:12px 18px 10px;border-bottom:1px solid var(--line)}
.ix-prog-t{display:flex;justify-content:space-between;align-items:baseline}
.ix-prog-t b{font:800 15px/1 var(--display)}.ix-prog-t span{font:600 11.5px/1 var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.ix-prog-b{height:6px;border-radius:99px;background:#EFEBE1;margin-top:10px;overflow:hidden}
.ix-prog-b i{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.ix-body{padding:0}
.ix-pad{padding:18px 18px 28px}
.ix-h{font-size:clamp(24px,1.2vw + 1.8vh,36px);margin-bottom:14px}
/* inspection type */
.ix-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--paper);padding:5px;border-radius:16px;border:1px solid var(--line);margin-bottom:6px}
.ix-kind.ix-kind4{grid-template-columns:1fr 1fr}
.ix-kind button,.ix-kind2 button{min-height:58px;border:0;border-radius:12px;background:transparent;font:750 17px/1 var(--display);color:var(--ink-2);cursor:pointer}
.ix-kind button[aria-checked=true]{background:var(--ink);color:#fff;box-shadow:0 6px 14px -8px rgba(31,35,40,.6)}
.ix-kind2{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.ix-kind2 button{min-height:48px;font-size:14.5px;border:1.5px solid var(--line);background:#fff}
.ix-kind2 button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ix-link{background:none;border:0;padding:8px 2px 4px;color:var(--ink-2);font-weight:650;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ix-pad>.ix-kind+.ix-link+.ix-h,.ix-pad>.ix-kind2+.ix-h{margin-top:16px}
/* recent + categories */
.ix-recent{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ix-chip{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:999px;border:1.5px solid var(--gold);background:var(--gold-wash);font-weight:700;font-size:15px;cursor:pointer}
.ix-chip svg{color:var(--gold-deep)}
.ix-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ix-cat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:clamp(120px,15vh,160px);padding:16px;border-radius:18px;border:1.5px solid var(--line);background:linear-gradient(160deg,#fff,var(--paper));text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.ix-cat:hover{transform:translateY(-2px);border-color:#D3CCBB;box-shadow:0 12px 24px -16px rgba(31,35,40,.45)}
.ix-ci{width:58px;height:58px;border-radius:16px;background:var(--ink);color:var(--gold);display:grid;place-items:center;margin-bottom:auto}
.ix-cat b{font:800 17px/1.15 var(--display)}.ix-cat small{color:var(--ink-3);font-size:13px}
.ix-crumb{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:6px 0 10px;font-weight:650;color:var(--ink-2);cursor:pointer}
.ix-rows{display:grid;gap:8px}
.ix-trow{display:flex;align-items:center;gap:14px;min-height:72px;padding:10px 14px;border-radius:16px;border:1.5px solid var(--line);background:#fff;text-align:left;cursor:pointer}
.ix-trow:hover{border-color:var(--gold)}
.ix-trow>svg{color:var(--ink-3);flex:none}
.ix-ti{width:48px;height:48px;border-radius:14px;background:var(--gold-wash);color:var(--gold-deep);display:grid;place-items:center;flex:none}
.ix-tn{flex:1;font:750 17px/1.2 var(--display)}.ix-tn small{display:block;font:500 13px/1.4 system-ui,sans-serif;color:var(--ink-3)}
/* walkaround */
.ix-angles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.ix-angle{position:relative;aspect-ratio:4/3;border-radius:16px;border:2px dashed #CFC8B7;background:var(--paper);overflow:hidden}
.ix-angle label{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer}
.ix-angle input{display:none}
.ix-angle>span{position:absolute;left:10px;bottom:8px;font:700 13px/1 var(--display);background:#fff;padding:6px 9px;border-radius:8px;box-shadow:0 2px 6px rgba(31,35,40,.12)}
.ix-angle.has{border:0}
.ix-angle img{width:100%;height:100%;object-fit:cover;display:block}
.ix-retake{position:absolute;top:8px;right:8px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(31,35,40,.75);color:#fff;display:grid;place-items:center;cursor:pointer}
.ix-art{width:70%;max-width:180px}
.ix-mach{fill:none;stroke:#B8B09C;stroke-width:3;stroke-linejoin:round}
.ix-cam circle{fill:var(--ink)}.ix-cam path{stroke:var(--gold);stroke-width:3;stroke-linecap:round}
/* checklist */
.ix-score{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:16px;margin-bottom:12px}
.ix-score b{font:800 22px/1.1 var(--display)}.ix-score span{font-size:14px;color:var(--ink-2)}
.ix-score.good{background:#DDF5E6}.ix-score.good b{color:#0B6B3A}
.ix-score.bad{background:#FDE6DF}.ix-score.bad b{color:#B4432B}
.ix-item{padding:0;border-radius:16px;overflow:hidden}
.ix-ibtn{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:10px 12px 10px 16px;border:0;background:transparent;text-align:left;font-weight:650;font-size:16px;line-height:1.25;cursor:pointer;color:var(--ink)}
.ix-ibtn>span:first-child{flex:1}
.ix-pill{display:inline-flex;align-items:center;gap:5px;flex:none;min-width:72px;justify-content:center;height:40px;padding:0 12px;border-radius:12px;font:800 14px/1 var(--display)}
.ix-pill.ok{background:#DDF5E6;color:#0B6B3A}.ix-pill.bad{background:#E0684B;color:#fff}.ix-pill.na{background:#F0EDE7;color:#7C838A}
.ix-item.issue .ix-issue{padding:0 14px 14px;margin:0}
.ix-ialt{display:flex;gap:8px;flex-wrap:wrap}
.ix-ialt button{min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:650;font-size:14px;cursor:pointer}
/* readings + dial */
.ix-meter{display:grid;justify-items:center;gap:12px;padding:16px;border-radius:20px;background:var(--paper);border:1px solid var(--line)}
.ix-dial{width:min(320px,100%);height:auto}
.ix-dial-bg{fill:var(--ink)}
.ix-dial-arc{fill:none;stroke:rgba(255,255,255,.12);stroke-width:10;stroke-linecap:round}
.ix-dial-ticks line{stroke:#fff;stroke-width:3;stroke-linecap:round}
.ix-dial text{fill:#fff;font:800 20px var(--display)}
.ix-dial-icon{fill:none;stroke:#A4AAB0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ix-needle{transform-origin:100px 104px;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.ix-needle path{fill:#E0684B}
.ix-dial.battery .ix-needle path{fill:#5CC98E}
.ix-hub{fill:#fff}
.ix-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:min(340px,100%)}
.ix-levels button{min-height:56px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:800 18px/1 var(--display);cursor:pointer}
.ix-levels button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ix-hours{max-width:none;font:800 30px var(--mono);text-align:center;min-height:68px}
.ix-more{margin:4px 0 8px}
.ix-more summary{cursor:pointer;font-weight:650;color:var(--ink-2);padding:10px 0;list-style:none}
.ix-more summary::before{content:"+ ";color:var(--gold-deep);font-weight:800}
.ix-more[open] summary::before{content:"\2212 "}
/* bottom bar */
.ix-nav{display:block;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.ix-need{margin:0 0 8px;text-align:center;font-size:13px}
.ix-navrow{display:grid;grid-template-columns:64px 1fr;gap:10px}
.ix-back{justify-content:center;min-height:64px;border:1.5px solid var(--line);border-radius:16px;padding:0}
.ix-next{min-height:64px;font-size:18px;border-radius:16px;background:var(--gold);color:var(--ink)}
.ix-next:disabled{background:#EFEBE1;color:var(--ink-3);opacity:1}
.ix-primary{min-height:64px;font-size:18px;border-radius:16px}
.ix-done{text-align:center}
.ix-actions{grid-template-columns:1fr}
/* live report on the right */
.ix-prev{min-height:0;overflow:auto;padding:clamp(18px,3vw,48px);display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(120% 80% at 100% 0%,#EFE8D6 0%,var(--paper) 60%)}
.ix-sheet{width:min(720px,100%);background:#fff;border-radius:6px;box-shadow:0 30px 60px -30px rgba(31,35,40,.45),0 2px 6px rgba(31,35,40,.06);overflow:hidden;font-size:clamp(13px,.25vw + .8vh,15px)}
.ix-sh-top{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;background:var(--ink);color:#fff;border-bottom:4px solid var(--gold)}
.ix-sh-top b{font:800 clamp(18px,1vw + 1vh,26px)/1.1 var(--display)}.ix-sh-top span{font:800 16px var(--display);color:var(--gold)}
.ix-sh-body{padding:20px 26px 26px}
.ix-sh-k{font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px}
.ix-sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:16px}
.ix-sh-grid i{display:block;font-style:normal;font-size:12px;color:var(--ink-3)}.ix-sh-grid b{display:block;font-size:16px}.ix-sh-grid span{font-size:13px;color:var(--ink-2)}
.ix-sh-sum{padding:12px 14px;border-radius:8px;font-weight:800;margin-bottom:10px}
.ix-sh-sum.good{background:#DDF5E6;color:#0B6B3A}.ix-sh-sum.bad{background:#FDE6DF;color:#B4432B}
.ix-sh-empty{padding:30px;text-align:center;color:var(--ink-3);border:1.5px dashed var(--line);border-radius:8px}
.ix-sh-iss{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.ix-sh-iss b{color:#B4432B}.ix-sh-iss span{color:var(--ink-2)}
.ix-sh-ph{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.ix-sh-ph img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}
.ix-sh-sig{margin-top:18px;height:70px;border-bottom:1.5px solid var(--ink-3);display:flex;align-items:flex-end;max-width:260px}
.ix-sh-sig img{height:66px}.ix-sh-sig span{color:var(--ink-3);font-size:12px;padding-bottom:4px}
@media (max-width:900px){
  .ix{grid-template-columns:1fr}
  .ix-prev{display:none}
  .ix-phone{border-right:0}
}
@media (max-width:640px){
  .ix{height:calc((100dvh - var(--bar)) - 61px)}
  .ix-pad{padding:16px 14px 24px}
  .ix-cats{gap:8px}.ix-cat{min-height:116px;padding:14px}
}

/* =====================================================================
   App look (Oct 2026): Outfit everywhere, cool canvas, dark sidebar,
   big rounded cards with color accents.
   ===================================================================== */
:root{
  --display:"Outfit",ui-sans-serif,system-ui,sans-serif; --mono:"Outfit",ui-sans-serif,system-ui,sans-serif;
  --paper:#F6F3EE; --card:#FFFFFF; --line:#E7E2D9; --ink:#1F2328; --ink-2:#4B5259; --ink-3:#5E656C;
  --gold:#F26A1B; --gold-deep:#B4480E; --gold-wash:#FFEDE2;
  --indigo:#4F55A6; --sage:#6FAE91; --coral:#EF6A57; --sky:#4C9BE0;
  --r:22px; --side:264px;
}
body{font-family:var(--display);background:var(--paper);background-image:none;font-size:16px;letter-spacing:-.005em}
.top{display:none}
/* shell */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:16px;padding:16px;min-height:100dvh}
.main{min-width:0;background:transparent;border-radius:0;box-shadow:none}
.side{position:sticky;top:16px;height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#1F2328;color:#fff;border-radius:30px;padding:22px 16px;overflow:auto}
.side-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;padding:4px 8px 22px}
.side-brand .logo{width:38px;height:38px}
.side-brand b{display:block;font:800 19px/1.1 var(--display)}.side-brand small{font-size:12px;color:#A4AAB0}
.side-nav{display:flex;flex-direction:column;gap:4px}
.side-g{margin:18px 10px 6px;font:600 11.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#7F868C}
.side-link{display:flex;align-items:center;gap:12px;padding:12px 12px;border-radius:14px;color:#D3D7DB;text-decoration:none;font-weight:500;font-size:15.5px;transition:background .15s,color .15s}
.side-link svg{color:#9AA0A6;flex:none}
.side-link:hover{background:rgba(255,255,255,.06);color:#fff}
.side-link.on{background:#fff;color:var(--ink);font-weight:600}.side-link.on svg{color:var(--gold-deep)}
.side-link em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;color:var(--ink);background:var(--gold);padding:4px 7px;border-radius:7px;white-space:nowrap}
.side-free{margin-top:auto;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(242,106,27,.22),rgba(242,106,27,.06));border:1px solid rgba(242,106,27,.3)}
.side-free b{display:block;font-size:16px}.side-free span{font-size:13px;color:#D3D7DB}
.tabbar{display:none}
/* page padding inside the canvas */
.page{padding:26px 0 26px}
.page .wrap,.dash-wrap{max-width:none;padding:0 clamp(18px,2.4vw,40px)}
.page.wx .wrap,.page.tool .wrap{max-width:none}
/* tool heights now that there's no top header */
#wx-board.board,.sboard{height:calc((100dvh - var(--bar)) - 176px)}
.ta-stage{height:max(440px,calc((100dvh - var(--bar)) - 84px))}.ta-file{max-height:max(440px,calc((100dvh - var(--bar)) - 84px))}
.page.ta{padding-top:18px}
.ix{height:calc((100dvh - var(--bar)) - 62px)}.ixp{padding:14px 0 0}.ix-wrap{max-width:none;padding:0 14px}
/* dashboard */
.dash{padding:28px 0 36px}
.dash-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.dash-hi{margin:0 0 4px;font-size:16px;color:var(--ink-3);font-weight:500}
.dash-top h1{font:700 clamp(30px,1.6vw + 2vh,48px)/1.05 var(--display);letter-spacing:-.025em}
.dash-tag{max-width:420px;color:var(--ink-2);font-size:15.5px;margin:0}
.hero-ai{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;padding:clamp(24px,3vw,44px);border-radius:30px;color:#fff;overflow:hidden;
  background:radial-gradient(90% 120% at 100% 0%,#5B61C4 0%,rgba(91,97,196,0) 55%),radial-gradient(70% 90% at 0% 100%,rgba(239,106,87,.55) 0%,rgba(239,106,87,0) 60%),linear-gradient(135deg,#272D34,#1F2328);
  box-shadow:0 40px 80px -40px rgba(31,35,40,.6)}
.hero-k{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:7px 12px;border-radius:99px}
.hero-ai h2{font:800 clamp(32px,2.2vw + 2.4vh,62px)/1 var(--display);letter-spacing:-.03em;margin:16px 0 14px}
.hero-ai p{font-size:clamp(15.5px,.4vw + 1vh,19px);color:#DCDFE2;max-width:58ch;line-height:1.55}
.hero-ai-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.hero-ai-cta span{color:#B7BCC1;font-size:14px}
.btn-gold{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:700;font-size:17px;padding:16px 24px;border-radius:16px;box-shadow:0 14px 28px -14px rgba(242,106,27,.8);transition:transform .15s}
.btn-gold:hover{transform:translateY(-2px)}
.hero-steps{list-style:none;padding:0;margin:26px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.hero-steps li{display:flex;align-items:center;gap:8px;font-size:14px;color:#DCDFE2;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:8px 12px 8px 8px;border-radius:99px}
.hero-steps b{width:24px;height:24px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:13px}
.hero-ai-r{display:flex;justify-content:center}
.hp-stack{position:relative;width:min(380px,100%);height:330px}
.hp-card{position:absolute;left:0;right:0;top:calc(var(--i) * 58px);display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:#fff;color:var(--ink);font-weight:600;font-size:15.5px;
  box-shadow:0 18px 30px -18px rgba(0,0,0,.6);transform:translateX(calc(var(--i) * 14px)) rotate(calc(-3deg + var(--i) * 1.4deg));animation:rise .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 70ms)}
.hp-card svg{color:var(--gold-deep);flex:none}
.hp-card:nth-child(2){background:var(--gold-wash)}.hp-card:nth-child(4){background:#EDEFF1}
.hm-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}
.hm-app{position:relative;display:flex;flex-direction:column;gap:8px;min-height:230px;padding:22px;border-radius:26px;color:#fff;text-decoration:none;overflow:hidden;transition:transform .18s,box-shadow .18s;box-shadow:0 24px 40px -28px rgba(31,35,40,.6)}
.hm-app:hover{transform:translateY(-4px)}
.hm-app.indigo{background:linear-gradient(160deg,#5B61C4,#4048A0)}.hm-app.sage{background:linear-gradient(160deg,#7DBB9E,#5C9C7F)}
.hm-app.coral{background:linear-gradient(160deg,#F57D69,#E25A47)}.hm-app.gold{background:linear-gradient(160deg,#F6C04E,#E9A21C);color:var(--ink)}
.hm-n{font-weight:600;font-size:14px;opacity:.8}
.hm-ai{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;margin:4px 0 auto}
.hm-app.gold .hm-ai{background:rgba(31,35,40,.1)}
.hm-app b{font:700 21px/1.15 var(--display)}
.hm-d{font-size:14px;line-height:1.4;opacity:.88}
.hm-go{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;margin-top:6px}
.dash-row{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.dash-card{background:#fff;border-radius:26px;padding:22px 24px;box-shadow:0 1px 2px rgba(31,35,40,.04)}
.dash-ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.dash-ch h3{font:700 20px/1.2 var(--display)}.dash-ch a{color:var(--indigo);font-weight:600;text-decoration:none;font-size:14.5px}
.dash-prompts,.dash-soon{list-style:none;padding:0;margin:0}
.dash-prompts li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line)}
.dash-prompts li:first-child{border-top:0}
.dash-prompts svg{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:var(--gold-wash);color:var(--gold-deep)}
.dash-prompts b{display:block;font-weight:600;font-size:15.5px}.dash-prompts span{font-size:14px;color:var(--ink-3)}
.dash-soon li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-weight:500}
.dash-soon li:first-child{border-top:0}
.dash-soon svg{color:var(--ink-3)}.dash-soon em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3);background:var(--paper);padding:4px 8px;border-radius:7px}
@media (max-width:1200px){.hm-apps{grid-template-columns:1fr 1fr}.hero-ai{grid-template-columns:1fr}.hero-ai-r{display:none}}
/* phones: top brand bar, bottom tab bar */
@media (max-width:900px){
  :root{--side:0px}
  .shell{display:block;padding:0}
  .main{border-radius:0;box-shadow:none;min-height:100dvh;padding-bottom:76px}
  .side{position:static;height:auto;flex-direction:row;align-items:center;border-radius:0;padding:10px 14px;overflow:visible}
  .side-brand{padding:0}.side-brand .logo{width:32px;height:32px}.side-nav,.side-free{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#1F2328;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:#A4AAB0;text-decoration:none;font-size:11px;font-weight:600}
  .tabbar a svg{color:inherit}
  .dash-row{grid-template-columns:1fr}
  .ix{height:calc((100dvh - var(--bar)) - 52px - 70px)}
  #wx-board.board,.sboard{height:auto}
}
@media (max-width:640px){.hm-apps{grid-template-columns:1fr 1fr;gap:10px}.hm-app{min-height:190px;padding:16px;border-radius:22px}.hm-app b{font-size:17px}.hm-d{display:none}.dash-top h1{font-size:30px}}

/* teach AI: ranked picker (area on the left, items on the right, top 3 slots above) */
.rk{display:grid;gap:14px;width:100%;max-width:980px;margin:0 auto;text-align:left}
.rk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rk-slot{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-radius:16px;border:2px dashed #D3D7DF;color:var(--ink-3);font-weight:500;background:transparent;text-align:left}
.rk-slot b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ECE8E1;color:var(--ink-3);font-weight:800}
.rk-slot.on{border:2px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;animation:pop .3s cubic-bezier(.2,1.4,.4,1) both}
.rk-slot.on b{background:var(--gold);color:var(--ink)}
.rk-slot.on span{flex:1;font-weight:600;line-height:1.2}
.rk-slot.on svg{width:16px;height:16px;opacity:.7;flex:none}
.rk-body{display:grid;grid-template-columns:240px 1fr;gap:12px;align-items:start}
.rk-areas{display:grid;gap:6px}
.rk-areas button{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font:600 15.5px var(--display);color:var(--ink-2);cursor:pointer;text-align:left}
.rk-areas button svg{color:var(--ink-3);flex:none}
.rk-areas button[aria-selected=true]{background:var(--gold-wash);border-color:var(--gold);color:var(--ink)}
.rk-areas button[aria-selected=true] svg{color:var(--gold-deep)}
.rk-areas em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;background:var(--ink);color:#fff;border-radius:99px;padding:2px 8px}
.rk-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ta-stage .rk-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:64px;height:auto;padding:10px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;font:600 16px/1.25 var(--display);text-align:left;transform:none}
.ta-stage .rk-opt.on{background:var(--ink);border-color:var(--ink);color:#fff;transform:none}
.rk-opt .ta-rank{width:30px;height:30px;line-height:30px;font-size:14px}
.ta-stage.d2 .rk-opt,.ta-stage.d3 .rk-opt{min-height:50px;font-size:14px}
.ta-stage.d2 .rk-slot,.ta-stage.d3 .rk-slot{min-height:46px}
@media (max-width:640px){
  .rk-slots{grid-template-columns:1fr}
  .rk-body{grid-template-columns:1fr}
  .rk-areas{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}
  .rk-areas button{flex:none;min-height:46px}
  .rk-opts{grid-template-columns:1fr}
}

.ta-tile small{display:block;font-weight:500;font-size:.82em;color:var(--ink-3);margin-top:3px;line-height:1.3}
.ta-tile.on small{color:#D3D7DB}
.ta-tiles:has(small) .ta-tile{align-items:flex-start;padding:16px;min-height:clamp(96px,12vh,130px)}
.ta-tiles:has(small) .ta-tile svg{margin-top:2px}

/* teach AI reveal: train-your-AI slides */
.tr{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px 24px}
.tr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tr-head h3{font:800 clamp(22px,1vw + 1.4vh,30px)/1.1 var(--display);margin:0}
.tr-dots{display:flex;gap:8px}
.tr-dots button{width:10px;height:10px;border-radius:99px;border:0;background:#DADDE0;cursor:pointer;padding:0;transition:width .2s,background .2s}
.tr-dots button[aria-pressed=true]{width:30px;background:var(--ink)}
.tr-slide{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;animation:taIn .4s cubic-bezier(.2,.8,.2,1) both}
.tr-l{background:linear-gradient(150deg,#EEF0FB,#FFEDE2);border-radius:22px;padding:26px;min-height:250px;display:grid;place-items:center}
.tr-n{font-weight:600;font-size:13px;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.08em}
.tr-r h4{font:800 clamp(24px,1vw + 1.8vh,34px)/1.1 var(--display);margin:8px 0 10px}
.tr-r p{font-size:16.5px;color:var(--ink-2);line-height:1.5;max-width:44ch}
.tr-nav{display:flex;gap:10px;margin-top:20px}
/* slide art */
.tr-art{position:relative;width:min(420px,100%)}
.tr-doc{background:#fff;border-radius:14px;padding:18px;box-shadow:0 20px 40px -24px rgba(31,35,40,.5);transform:rotate(-2deg)}
.tr-doc b{display:block;font-size:14px;margin-bottom:12px}
.tr-doc i,.tr-ai i{display:block;height:9px;border-radius:5px;background:#E7E9EF;margin-top:8px}
.tr-doc i.s,.tr-ai i.s{width:60%}
.tr-btn{position:absolute;right:-6px;bottom:-18px;display:flex;align-items:center;gap:8px;background:var(--gold);color:var(--ink);font-weight:700;padding:12px 16px;border-radius:14px;box-shadow:0 14px 26px -14px rgba(180,72,14,.8)}
.tr-btn svg{width:18px;height:18px}
.tr-toast{position:absolute;left:10px;top:-16px;display:flex;align-items:center;gap:6px;background:#0B6B3A;color:#fff;font-weight:600;font-size:13px;padding:7px 11px;border-radius:99px;animation:pop .5s .3s cubic-bezier(.2,1.4,.4,1) both}
.tr-toast svg{width:15px;height:15px}
.tr-win{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 44px -26px rgba(31,35,40,.55)}
.tr-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#F6F3EE;border-bottom:1px solid var(--line)}
.tr-bar span{width:9px;height:9px;border-radius:50%;background:#DADDE0}
.tr-bar em{margin-left:8px;font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.tr-msgs{display:grid;gap:10px;padding:14px}
.tr-me{justify-self:end;max-width:80%;background:var(--ink);color:#fff;padding:10px 13px;border-radius:14px 14px 4px 14px;font-size:14px;font-weight:500;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.tr-file{display:flex;gap:10px;align-items:center}
.tr-file svg{width:28px;height:28px;color:var(--gold);flex:none}
.tr-file b{display:block;font-size:13px}.tr-file span{font-size:11.5px;color:#D3D7DB}
.tr-ai{max-width:85%;background:#F6F3EE;padding:10px 13px 12px;border-radius:14px 14px 14px 4px;animation:rise .5s .25s cubic-bezier(.2,.8,.2,1) both}
.tr-ai i{background:#DDE1E8}
.tr-ans b{display:block;font-size:13.5px;margin-bottom:2px}
.tr-input{display:flex;justify-content:space-between;align-items:center;margin:0 12px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink-3);font-size:13px}
.tr-input svg{width:16px;height:16px;color:var(--ink)}
/* goals and prompts */
.gl{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px 24px}
.gl h3{font:800 clamp(22px,1vw + 1.4vh,30px)/1.1 var(--display);margin:0 0 14px}
.gl-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}
.gl-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:118px;padding:14px;border-radius:18px;border:1.5px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;transition:transform .15s,border-color .15s}
.gl-tile:hover{transform:translateY(-2px)}
.gl-tile svg{width:30px;height:30px;padding:6px;border-radius:10px;background:#fff;color:var(--gold-deep);margin-bottom:auto}
.gl-tile b{font:700 15.5px/1.2 var(--display)}.gl-tile span{font-size:12.5px;color:var(--ink-3)}
.gl-tile.on{background:var(--ink);border-color:var(--ink);color:#fff}.gl-tile.on span{color:#D3D7DB}.gl-tile.on svg{background:var(--gold);color:var(--ink)}
.gl-tile.locked{opacity:.55}
.gl-list{display:grid;gap:10px}
.gl-p{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff}
.gl-pi svg{width:44px;height:44px;padding:11px;border-radius:13px;background:var(--gold-wash);color:var(--gold-deep)}
.gl-pb h4{font:700 17px/1.25 var(--display);margin:2px 0 4px}.gl-pb p{margin:0;color:var(--ink-2);font-size:14.5px}
.gl-pa{display:grid;justify-items:end;gap:4px}
.gl-copy{min-height:46px !important;padding:0 16px !important;font-size:14.5px !important;white-space:nowrap}
.gl-pre{white-space:pre-wrap;font:500 13.5px/1.5 var(--display);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0 0;color:var(--ink-2)}
.gl-p.locked{opacity:.6}
.gl-lockmsg{color:var(--ink-3);font-size:14px;margin:4px 2px}
/* the unlock bar floats at the bottom until you scroll to it */
.ta-sticky{position:sticky;bottom:14px;z-index:5;box-shadow:0 20px 40px -18px rgba(31,35,40,.7)}
@media (max-width:1100px){.gl-tiles{grid-template-columns:repeat(3,1fr)}.tr-slide{grid-template-columns:1fr}}
@media (max-width:640px){.gl-tiles{grid-template-columns:1fr 1fr}.gl-p{grid-template-columns:auto 1fr}.gl-pa{grid-column:1/-1;justify-items:stretch}.tr,.gl{padding:16px}.tr-l{padding:18px;min-height:0}.ta-sticky{bottom:84px}}
/* keep the walkthrough the same height on every slide */
.tr-slide{height:320px}
.tr-l{height:100%;min-height:0}
.tr-r{height:100%;display:flex;flex-direction:column;justify-content:center}
.tr-nav{margin-top:auto;padding-top:20px}
@media (max-width:1100px){.tr-slide{height:auto}.tr-l{height:280px}.tr-r{height:250px}}
@media (max-width:640px){.tr-l{height:240px}.tr-r{height:260px}}

.gl-lists{display:grid}
.gl-lists>.gl-list{grid-area:1/1;visibility:hidden;align-content:start}
.gl-lists>.gl-list.on{visibility:visible}

/* ranked picker v2: area tabs across the top, no bouncy animations */
.rk-body{display:block}
.rk-hint{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink-3)}
.rk-areas{display:flex;gap:4px;background:#F0EDE7;border:1px solid var(--line);padding:4px;border-radius:16px;margin-bottom:12px}
.rk-areas button{flex:1;justify-content:center;min-height:52px;border:0;border-radius:12px;background:transparent;font-size:15px}
.rk-areas button[aria-selected=true]{background:#fff;border:0;color:var(--ink);box-shadow:0 1px 3px rgba(31,35,40,.12),0 4px 12px -6px rgba(31,35,40,.25)}
.rk-areas em{margin-left:6px}
.rk-slot.on,.ta-cl.on .ta-rank,.ta-stage .ta-cl.on,.ta-tag{animation:none !important;transform:none !important}
.ta-stage .rk-opt:hover,.ta-cl:hover{transform:none}
@media (max-width:640px){.rk-areas{display:flex;overflow-x:auto}.rk-areas button{flex:none;padding:0 14px}}

/* buttons: icon and label on one centered line */
.ta-primary,.ta-ghost,.ta-mini,.ta-next,.ta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}
.ta-primary svg,.ta-ghost svg,.ta-mini svg,.gl-copy svg{display:block;flex:none;width:18px;height:18px}
.gl-copy{padding:0 18px}
/* detailed prompts that are waiting on the Detailed Profile */
.gl-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;margin-bottom:10px;border-radius:18px;background:var(--gold-wash);border:1.5px solid #F6C3A0}
.gl-banner b{display:block;font:700 16.5px/1.25 var(--display);color:var(--ink)}
.gl-banner span{font-size:14px;color:var(--ink-2)}
.gl-p.wait{background:var(--paper);border-style:dashed}
.gl-p.wait h4{color:var(--ink-2)}
.gl-need{font-size:12.5px;font-weight:600;color:var(--ink-3);background:#fff;border:1px solid var(--line);padding:7px 11px;border-radius:99px;white-space:nowrap}
.gl-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ta-sticky{position:static;box-shadow:none}

.ta-detail{background:#fff !important;color:var(--ink) !important;box-shadow:none !important}
.ta-detail svg{color:var(--gold-deep) !important}
.ta-hero .ta-actions{flex-wrap:wrap}

/* nothing moves when the next question has a different number of options:
   content is anchored at a fixed spot instead of centered, and option areas reserve the tallest height */
.ta-mid{justify-content:flex-start !important;padding-top:clamp(8px,6vh,72px)}
.rk-opts{min-height:calc(var(--rows,1) * 72px - 8px);align-content:start}
@media (max-width:640px){.rk-opts{min-height:calc(var(--rows1,1) * 72px - 8px)}}
.ta-tiles,.ta-chips,.ta-groups,.ta-cloud,.ta-roster,.ta-toggles{align-content:start}
/* ranked cloud chips: the number badge floats on the corner so choosing a chip never changes its size or reflows the row */
.ta-cloud .ta-cl{position:relative}
.ta-cloud .ta-rank{position:absolute;top:-9px;left:-7px;width:24px;height:24px;line-height:24px;font-size:13px;box-shadow:0 0 0 2px #fff;animation:none}
.ta-cloud .ta-cl.on .ta-rank{display:block}
.ta-stage .ta-cloud .ta-cl.on{transform:none}
.ta-cloud{padding-top:8px}

/* "Not sure yet" */
.ta-unsure{display:block;margin:16px auto 0;min-height:44px;padding:0 18px;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);font:600 14.5px var(--display);cursor:pointer}
.ta-unsure:hover{border-color:#C9CED8}
.ta-unsure.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ta-slider.unsure .ta-big{color:var(--ink-3)}
.ta-slider.unsure input[type=range]{opacity:.45}
.ta-mixviz.dim{opacity:.4}
.ta-picked+.ta-unsure{margin-top:10px}

/* text always stays inside its box */
.ta-tile,.ta-chip{overflow:hidden}
.ta-tile span,.ta-chip span{min-width:0;overflow-wrap:anywhere}
.ta-cloud .ta-cl,.ta-stage .ta-tg{overflow:visible}

/* inspection checklist: OK and Issue are two clear buttons, blank means not on the report */
.ix-two{display:flex;gap:6px;flex:none}
.ix-two button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:84px;min-height:52px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);font:700 15px var(--display);cursor:pointer}
.ix-two button svg{display:block;flex:none;width:18px;height:18px}
.ix-two button[data-v=ok][aria-checked=true]{background:#14A35A;border-color:#14A35A;color:#fff}
.ix-two button[data-v=issue][aria-checked=true]{background:#E0684B;border-color:#E0684B;color:#fff}
.ix-item.blank{background:#fff}
.ix-item .ix-iline{padding:10px 10px 10px 16px;min-height:72px}
.ix-score{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.ix-score.idle{background:var(--paper)}.ix-score.idle b{color:var(--ink)}
.ix-allok{flex:none;min-height:46px;padding:0 16px;border-radius:12px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:700 14.5px var(--display);cursor:pointer;white-space:nowrap}
@media (max-width:640px){.ix-iline{flex-wrap:wrap}.ix-iname{flex-basis:100%}.ix-two{width:100%}.ix-two button{flex:1}.ix-score{flex-wrap:wrap}.ix-allok{width:100%}}

/* collapsible sidebar */
.shell{transition:grid-template-columns .22s ease}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.side-toggle{flex:none;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#D3D7DB;display:grid;place-items:center;cursor:pointer;transition:background .15s}
.side-toggle:hover{background:rgba(255,255,255,.14);color:#fff}
.side-toggle svg{transition:transform .22s}
.side-link span,.side-brand span,.side-g,.side-free{white-space:nowrap}
@media (min-width:901px){
  .side-min .shell{grid-template-columns:84px minmax(0,1fr)}
  .side-min .side{padding:22px 12px;align-items:center}
  .side-min .side-top{flex-direction:column;gap:14px}
  .side-min .side-brand{padding:0}
  .side-min .side-brand span,.side-min .side-link span,.side-min .side-free,.side-min .side-g{display:none}
  .side-min .side-nav{align-items:center;width:100%;gap:6px}
  .side-min .side-link{justify-content:center;width:52px;height:52px;padding:0}
  .side-min .side-nav::before{content:"";display:block;width:28px;height:1px;background:rgba(255,255,255,.12);margin:0 auto 8px}
  .side-min .side-toggle svg{transform:rotate(180deg)}
}
@media (max-width:900px){.side-toggle{display:none}}

/* inspection, desktop: the steps run across the full width instead of a phone column beside a preview */
.ix-stepper{display:none}
.ix-kind2:not(.open){display:none}
.ix-kindbox+.ix-h{margin-top:16px}
.ix-cols>div{min-width:0}
.ix-badge{animation:none}
.ix-needle{transition:transform .9s cubic-bezier(.45,0,.2,1)}
.ix-prev{display:none}
.ix-done .ix-actions .ix-ghost[data-new]{margin-top:6px}
/* battery gauge */
.ix-batt{display:flex;align-items:center;width:min(320px,100%)}
.ix-batt-body{position:relative;flex:1;height:128px;border-radius:22px;border:7px solid var(--ink);background:#F7F8FA;overflow:hidden}
.ix-batt-body i{position:absolute;left:0;top:0;bottom:0;background:#C9CFD9;transition:width .9s cubic-bezier(.45,0,.2,1),background-color .6s}
.ix-batt-seg{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(25% - 1.5px),rgba(31,35,40,.18) 0 calc(25% + 1.5px),transparent 0 calc(50% - 1.5px),rgba(31,35,40,.18) 0 calc(50% + 1.5px),transparent 0 calc(75% - 1.5px),rgba(31,35,40,.18) 0 calc(75% + 1.5px),transparent 0)}
.ix-batt-body b{position:absolute;inset:0;display:grid;place-items:center;font:800 34px/1 var(--display);color:var(--ink)}
.ix-batt-cap{flex:none;width:14px;height:46px;border-radius:0 8px 8px 0;background:var(--ink)}
.ix-batt.good i{background:#14A35A}
.ix-batt.mid i{background:#F26A1B}
.ix-batt.low i{background:#E0684B}
.ix-batt.low b{color:#B4432B}
.ix-meter-empty{min-height:180px;place-items:center;text-align:center;color:var(--ink-3)}
.ix-meter-empty p{margin:0;max-width:240px}
@media (min-width:901px){
  .ix-wrap{max-width:none;padding:0 clamp(12px,1.6vw,26px)}
  .ix{grid-template-columns:1fr;background:#fff}
  .ix-phone{border-right:0}
  .ix-top{padding:16px clamp(20px,2.4vw,36px)}
  .ix-prog{display:none}
  .ix-stepper{display:flex;list-style:none;margin:0;padding:12px clamp(20px,2.4vw,36px);gap:6px;border-bottom:1px solid var(--line);background:var(--paper)}
  .ix-stepper li{flex:1;min-width:0}
  .ix-stepper li>*{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 14px;border-radius:14px;border:0;background:transparent;font:650 15px/1.1 var(--display);color:var(--ink-3);text-align:left}
  .ix-stepper span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ix-stepper b{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--display);background:#E7E2D9;color:var(--ink-3)}
  .ix-stepper li.done>*{color:var(--ink)}
  .ix-stepper li.done b{background:var(--ink);color:var(--gold)}
  .ix-stepper li.done button{cursor:pointer}
  .ix-stepper li.done button:hover{background:#fff}
  .ix-stepper li.on>*{background:#fff;color:var(--ink);font-weight:750;box-shadow:0 1px 2px rgba(31,35,40,.06),0 6px 16px -10px rgba(31,35,40,.3)}
  .ix-stepper li.on b{background:var(--gold);color:var(--ink)}
  .ix-pad{padding:clamp(20px,2.4vh,32px) clamp(20px,2.4vw,36px) 32px}
  .ix-form{max-width:640px;margin:0 auto}
  /* machine */
  .ix-head{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}
  .ix-head .ix-h{margin:8px 0 0}
  .ix-kindbox{flex:none;width:min(460px,46%)}
  .ix-kind2,.ix-kind2:not(.open){display:grid}
  .ix-kindbox .ix-link{display:none}
  .ix-cats{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
  .ix-cat{min-height:clamp(150px,20vh,200px);padding:20px}
  .ix-rows{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
  /* walkaround */
  .ix-angles{grid-template-columns:repeat(4,1fr);gap:14px}
  /* checklist */
  .ix-list{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:10px;align-items:start}
  /* readings and sign-off: two columns */
  .ix-kind.ix-kind4{grid-template-columns:repeat(4,1fr);max-width:720px}
  .ix-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,56px);align-items:start}
  .ix-cols.one{grid-template-columns:minmax(0,560px)}
  .ix-meter{min-height:330px;align-content:center}
  .ix-signcols{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
  .ix-signcols .ix-sigwrap{height:clamp(220px,38vh,380px)}
  /* bottom bar: Back on the left, Next on the right */
  .ix-nav{display:flex;align-items:center;gap:16px;padding:14px clamp(20px,2.4vw,36px)}
  .ix-navrow{display:contents}
  .ix-back{order:0;width:64px;flex:none;margin-right:auto}
  .ix-need{order:1;margin:0;text-align:right}
  .ix-next{order:2;min-width:260px;padding:0 32px}
  /* report: actions on one line, the finished report below */
  .ix-done{max-width:none;text-align:left;padding-bottom:12px}
  .ix-dtop{display:flex;align-items:center;gap:18px}
  .ix-dtop .ix-badge{margin:0;flex:none}
  .ix-dtext{flex:1;min-width:0}.ix-dtext .ix-h{margin:0 0 4px}.ix-dtext .ix-sub{margin:0}
  .ix-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
  .ix-actions>*{min-height:56px;font-size:16px}
  .ix-done .ix-actions .ix-ghost[data-new]{margin-top:0}
  .ix-prev{display:flex;justify-content:center;padding:8px clamp(20px,2.4vw,36px) 40px;background:none;overflow:visible}
  .ix-sheet{width:min(860px,100%)}
}

/* sidebar: long labels wrap inside the box and the collapse button always stays in view */
.side{overflow-x:hidden}
.side-top{min-width:0}
.side-brand{flex:1;min-width:0;padding-right:4px}
.side-brand span{min-width:0}
.side-brand small{display:block;white-space:normal;line-height:1.25}
.side-link{min-width:0}
.side-link span{white-space:normal;min-width:0;line-height:1.2;overflow-wrap:anywhere}
.side-link svg{flex:none}
.side-g{white-space:nowrap}

/* switching Basic / Detailed: soft cross-fade only, nothing slides */
@keyframes taFade{from{opacity:0}to{opacity:1}}
.ta-stage.in-fade>*{animation:taFade .22s ease both}


/* prompts: 3 picked for you, then one goal at a time as a title list beside the chosen prompt */
.gl-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}
.gl-pick{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:20px;border:1.5px solid #F6C3A0;background:linear-gradient(160deg,#FFF7F0,#fff 70%)}
.gl-pick-h{display:flex;align-items:center;gap:10px;width:100%}
.gl-di svg{display:block;width:44px;height:44px;padding:11px;border-radius:13px;background:var(--gold-wash);color:var(--gold-deep)}
.gl-why{font:650 12.5px/1.3 var(--display);color:var(--gold-deep)}
.gl-pick h4{font:700 18px/1.25 var(--display);margin:4px 0 0}
.gl-pick p{margin:0 0 6px;color:var(--ink-2);font-size:14.5px;line-height:1.4;flex:1}
.gl-pick .gl-copy{margin-top:auto}
.gl-more{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.gl-more h3{margin:0}
.gl-more span{font-size:13.5px;color:var(--ink-3)}
.gl-lib{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px;height:540px}
.gl-titles{display:flex;flex-direction:column;gap:5px;min-height:0;overflow:auto}
.gl-t{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:7px 12px;border-radius:13px;border:1.5px solid transparent;background:var(--paper);text-align:left;font:600 14.5px/1.25 var(--display);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}
.gl-t svg{flex:none;width:18px;height:18px;color:var(--ink-3)}
.gl-t span{flex:1;min-width:0}
.gl-t em{flex:none;font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-3);background:#fff;border:1px solid var(--line);padding:3px 8px;border-radius:99px}
.gl-t:hover{border-color:var(--line);background:#fff}
.gl-t.on{background:var(--ink);color:#fff}
.gl-t.on svg{color:var(--gold)}
.gl-t.on em{background:rgba(255,255,255,.12);border-color:transparent;color:#D3D7DB}
.gl-t.wait:not(.on){color:var(--ink-2)}
.gl-detail{display:flex;flex-direction:column;gap:12px;min-height:0;padding:20px;border-radius:20px;border:1px solid var(--line);background:#fff}
.gl-dh{display:flex;gap:14px;align-items:flex-start}
.gl-dh h4{font:700 20px/1.2 var(--display);margin:2px 0 4px}
.gl-dh p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.4}
.gl-uses{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.4}
.gl-uses b{color:var(--ink);font-weight:650}
.gl-detail .gl-pre{flex:1;min-height:0;overflow:auto;margin:0}
.gl-da{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gl-da>span{font-size:13.5px;color:var(--ink-3)}
.gl-wait{justify-content:space-between;padding:14px 16px;border-radius:16px;background:var(--gold-wash);border:1.5px solid #F6C3A0}
.gl-wait b{display:block;font:700 15.5px/1.25 var(--display)}
.gl-wait span{font-size:13.5px;color:var(--ink-2)}
@media (max-width:1100px){.gl-top{grid-template-columns:1fr}.gl-lib{grid-template-columns:1fr;height:auto}.gl-titles{flex-direction:row;overflow-x:auto;padding-bottom:4px}.gl-t{width:auto;flex:none;max-width:260px}.gl-detail .gl-pre{max-height:320px}}

/* Weather Demand Forecast, rebuilt: the week in a sentence, the 7 days, what each day means, what to do */
.page.wf-page{padding:18px 0}
.wf-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.wf-head h1{font:800 clamp(26px,1.1vw + 1.8vh,40px)/1.05 var(--display);letter-spacing:-.03em;margin:0}
.wf{display:flex;flex-direction:column;gap:16px;height:max(640px,calc((100dvh - var(--bar)) - 120px))}
.wf.loading{opacity:.55;transition:opacity .2s}
.wf-k{display:inline-flex;align-items:center;gap:7px;font:700 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.wf-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(16px,2vw,32px);align-items:center;padding:clamp(18px,2vw,28px) clamp(20px,2.2vw,34px);border-radius:var(--r);background:radial-gradient(120% 140% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff}
.wf-hl h2{margin:10px 0 8px;font:800 clamp(24px,1.2vw + 1.6vh,40px)/1.12 var(--display);letter-spacing:-.02em}
.wf-hl p{margin:0;color:#D3D7DB;font-size:clamp(15px,.3vw + 1vh,18px);line-height:1.45}
.wf-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wf-stat{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.wf-stat span{display:block;font:650 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#A4AAB0}
.wf-stat b{display:block;margin:7px 0 3px;font:800 clamp(20px,.6vw + 1.2vh,28px)/1 var(--display)}
.wf-stat small{font-size:12.5px;color:#D3D7DB}
.wf-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:16px}
.wf-week,.wf-plan{min-height:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,1.4vw,22px)}
.wf-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wf-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px 10px;border-radius:18px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-family:var(--display);color:var(--ink);transition:border-color .15s,background .15s,box-shadow .15s}
.wf-day:hover{border-color:#CFD3D6}
.wf-day[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}
.wf-wk{font:800 15px/1 var(--display)}
.wf-md{font-size:12px;color:var(--ink-3)}
.wf-sky{color:var(--ink-2);margin:4px 0 2px}
.wf-day.bad .wf-sky{color:#3F6FB5}
.wf-t b{font:800 20px/1 var(--display)}.wf-t i{font-style:normal;font-size:14px;color:var(--ink-3);margin-left:5px}
.wf-rain{font-size:12.5px;color:var(--ink-3);font-weight:600}
.wf-rain.on{color:#2F63B0}
.wf-gust{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink-3)}
.wf-tag{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:4px;padding:6px 4px;border-radius:10px;font:700 11.5px/1.15 var(--display);text-align:center;background:var(--paper);color:var(--ink-2)}
.wf-tag svg{flex:none}
.wf-day.good .wf-tag{background:#DDF5E6;color:#0B6B3A}
.wf-day.bad .wf-tag{background:#DCE8F8;color:#24518F}
.wf-day.warn .wf-tag{background:var(--gold-wash);color:var(--gold-deep)}
.wf-detail{flex:1;min-height:0;margin-top:14px;padding:16px 18px;border-radius:18px;background:var(--paper);display:flex;flex-direction:column;gap:12px;overflow:auto}
.wf-dh h3{margin:0;font:800 20px/1.2 var(--display)}
.wf-dh p{margin:4px 0 0;color:var(--ink-2);font-size:14.5px}
.wf-eff{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wf-col{background:#fff;border-radius:14px;padding:12px 14px;border:1px solid var(--line)}
.wf-col h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font:800 14px/1 var(--display);text-transform:uppercase;letter-spacing:.06em}
.wf-col.up h4{color:#0B6B3A}.wf-col.down h4{color:#B4432B}
.wf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wf-col li{display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-items:start}
.wf-col li svg{grid-row:span 2;color:var(--ink-3);margin-top:1px}
.wf-col li b{font:700 14.5px/1.25 var(--display)}
.wf-col li span{font-size:13.5px;color:var(--ink-2);line-height:1.35}
.wf-col p{margin:0;color:var(--ink-3);font-size:14px}
.wf-plan h3{margin:0 0 12px;font:800 20px/1.2 var(--display)}
.wf-acts{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px}
.wf-act{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#fff}
.wf-ai{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--paper);color:var(--ink-2)}
.wf-act.warn .wf-ai{background:#DCE8F8;color:#24518F}
.wf-act.good .wf-ai{background:var(--gold-wash);color:var(--gold-deep)}
.wf-act h4{margin:2px 0 4px;font:800 16px/1.25 var(--display)}
.wf-act p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.4}
.wf-up{display:flex;gap:6px;align-items:flex-start;margin-top:8px !important;padding:8px 10px;border-radius:10px;background:#EEF8F2;color:#14532D !important}
.wf-up svg{flex:none;margin-top:2px;color:#0B6B3A}
.wf-up b{color:#0B6B3A}
.wf-season{margin-top:12px;padding:12px 14px;border-radius:16px;background:var(--ink);color:#fff}
.wf-season p{margin:6px 0 0;font-size:14px;line-height:1.45;color:#E3E6E9}
@media (max-width:1150px){.wf{height:auto}.wf-hero{grid-template-columns:1fr}.wf-grid{grid-template-columns:1fr}.wf-acts{overflow:visible}}
@media (max-width:760px){.wf-strip{grid-template-columns:repeat(7,minmax(92px,1fr));overflow-x:auto;padding-bottom:4px}.wf-eff{grid-template-columns:1fr}.wf-stats{grid-template-columns:1fr 1fr}}
/* This week: the weather board takes the top 60%, this month's season and the closest big projects share the rest.
   Both panels keep their height whatever the city, and their lists scroll inside. */
.wk-page .wf{height:max(430px,calc(((100dvh - var(--bar)) - 120px) * .6))}
.wk{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:16px;margin-top:16px;height:max(290px,calc(((100dvh - var(--bar)) - 120px) * .4 - 16px))}
.wk-p{min-height:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,1.3vw,20px)}
.wk-p header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.wk-p h2{margin:0;font:800 20px/1.2 var(--display)}
.wk-p header span{font-size:14px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-cols{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wk-col{min-height:0;display:flex;flex-direction:column;padding:12px;border-radius:14px;background:var(--paper)}
.wk-col h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font:800 15px/1.2 var(--display)}
.wk-col h3::before{content:"";width:10px;height:10px;border-radius:50%}
.wk-col.busy h3::before{background:rgb(214,128,10)}.wk-col.ready h3::before{background:#F2B95C}.wk-col.down h3::before{background:#A6AEB5}
.wk-col h3 span{margin-left:auto;min-width:24px;padding:3px 7px;border-radius:999px;background:#fff;font-size:12.5px;text-align:center}
.wk-do{margin:0 0 10px;font-size:13px;line-height:1.35;color:var(--ink-2)}
.wk-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.wk-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.wk-it .ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--paper);color:var(--ink-2)}
.wk-it b{display:block;font:700 14px/1.2 var(--display)}
.wk-it small{display:block;font-size:12.5px;color:var(--ink-3)}
.wk-none{margin:4px 2px;font-size:13.5px;color:var(--ink-3)}
.wk-pjs{flex:1;min-height:0;list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:6px}
.wk-pj{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;border-radius:12px;background:var(--paper);overflow:hidden}
.wk-pj div{min-width:0}
.wk-pj b{display:block;font:700 14.5px/1.25 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-pj small{display:block;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-pr{flex:none;text-align:right}
.wk-pr b{font:800 16px/1.2 var(--display)}
.wk-pr span{display:block;font-size:12.5px;color:var(--gold-deep);font-weight:650}
@media (max-width:1150px){.wk-page .wf{height:auto}.wk{grid-template-columns:1fr;height:auto}.wk-cols{grid-template-columns:1fr}.wk-list{overflow:visible}.wk-pjs{grid-template-rows:none}}


/* weather: the headline is a slim strip now, so the week and the plan get the room */
.wf-hero{display:block;padding:12px 20px;border-radius:16px}
.wf-hl{display:flex;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.wf-hl .wf-k{flex:none}
.wf-hl h2{margin:0;font:800 clamp(18px,.5vw + 1.3vh,24px)/1.2 var(--display)}
.wf-hl p{margin:0;font-size:14.5px}

/* homepage: one brand look. The four tool cards share the navy of the hero, with the gold accent */
.hm-app,.hm-app.indigo,.hm-app.sage,.hm-app.coral,.hm-app.gold{background:linear-gradient(160deg,#292F36,var(--ink));color:#fff}
.hm-app .hm-ai,.hm-app.gold .hm-ai{background:rgba(242,106,27,.16);color:var(--gold)}
.hm-app .hm-n{color:var(--gold);opacity:1}
.hm-app .hm-go{color:var(--gold)}
.dash-ch a{color:var(--gold-deep)}
.hp-card:nth-child(4){background:var(--paper)}

/* Peer Executive Group Performance Calculator */
.page.pf-page{padding:16px 0}
.pf{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:16px;height:max(640px,calc((100dvh - var(--bar)) - 64px))}
.pf-in{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.pf-brand{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pf-brand img{width:112px;height:auto;flex:none}
.pf-brand b{display:block;font:800 17px/1.15 var(--display)}
.pf-brand span{font-size:12.5px;color:var(--ink-3)}
.pf-money{display:grid;gap:10px}
.pf-f span{display:block;font:650 13.5px/1 var(--display);color:var(--ink-2);margin-bottom:6px}
.pf-dollar{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);padding:0 12px}
.pf-dollar:focus-within{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(242,106,27,.2)}
.pf-dollar i{font-style:normal;font-weight:700;color:var(--ink-3)}
.pf-dollar input{flex:1;min-width:0;border:0;background:transparent;padding:12px 8px;font:800 20px/1 var(--display);color:var(--ink);outline:none}
.pf-sl-h{display:flex;justify-content:space-between;align-items:baseline}
.pf-sl-h label{font:700 14.5px/1.2 var(--display)}
.pf-sl-h b{font:800 17px/1 var(--display);color:var(--ink)}
.pf-sl small{display:block;font-size:12px;color:var(--ink-3);line-height:1.35;margin-top:2px}
.pf-sl input[type=range]{width:100%;margin:8px 0 2px;accent-color:var(--gold);height:22px;cursor:pointer}
.pf-save{display:grid;gap:8px;margin-top:auto;padding-top:6px}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font:700 15px/1 var(--display);color:var(--ink);cursor:pointer}
.pf-btn[hidden]{display:none}
.pf-gold{background:var(--gold);border-color:var(--gold)}
.pf-out{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}
.pf-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px}
.pf-bot{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px}
.pf-card{min-height:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column}
.pf-card h2{margin:0;font:800 18px/1.2 var(--display)}
.pf-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:28px}
.pf-d{font:700 13px/1 var(--display);padding:6px 10px;border-radius:99px;white-space:nowrap}
.pf-d.up{background:#DDF5E6;color:#0B6B3A}.pf-d.dn{background:#FDE6DF;color:#B4432B}
/* pulse */
.pf-pulse{background:radial-gradient(130% 120% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff;border-color:transparent}
.pf-pulse h2{color:#fff}
.pf-gw{position:relative;width:min(240px,100%);margin:6px auto 0}
.pf-g{width:100%;height:auto;display:block}
.pf-g path{fill:none;stroke-width:14;stroke-linecap:round}
.pf-g .bg{stroke:rgba(255,255,255,.12)}
.pf-g .fg{stroke:var(--gold);transition:stroke-dasharray .5s ease}
.pf-g.g1 .fg{stroke:#E0684B}.pf-g.g2 .fg{stroke:#F26A1B}.pf-g.g3 .fg{stroke:#7FD3A4}.pf-g.g4 .fg{stroke:#3CCB7F}
.pf-sc{position:absolute;left:0;right:0;bottom:2px;text-align:center}
.pf-sc b{display:block;font:800 52px/1 var(--display)}
.pf-sc span{font:700 14px/1 var(--display)}
.pf-pulse .g1{color:#FF9A82}.pf-pulse .g2{color:var(--gold)}.pf-pulse .g3{color:#9BE3BA}.pf-pulse .g4{color:#5BE39A}
.pf-pill{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.pf-pill li{display:grid;grid-template-columns:120px 1fr 52px;align-items:center;gap:10px;font-size:13.5px;color:#D3D7DB}
.pf-pill li.weak span{color:#fff;font-weight:700}
.pf-pill i{display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.pf-pill em{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .4s ease}
.pf-pill b{text-align:right;color:#fff;font:700 14px/1 var(--display)}
.pf-pill small{color:#A4AAB0;font-weight:500}
/* earnings */
.pf-big{margin:10px 0 14px}
.pf-big b{display:block;font:800 clamp(34px,2vw + 2vh,52px)/1 var(--display);letter-spacing:-.02em}
.pf-big b.neg{color:#B4432B}
.pf-big span{display:block;margin-top:6px;color:var(--ink-2)}
.pf-split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:auto}
.pf-split div{padding:10px 12px;border-radius:12px;background:var(--paper)}
.pf-split span{display:block;font-size:12px;color:var(--ink-3)}
.pf-split b{font:800 16px/1.3 var(--display)}
.pf-ex{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--gold-wash);font-size:13.5px;color:var(--ink)}
/* levers */
.pf-lev h2,.pf-cmp h2{margin-bottom:12px}
#pf-lev,#pf-cmp{min-height:0;overflow:auto}
#pf-lev{display:flex;flex-direction:column;gap:10px}
.pf-l{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#fff}
.pf-l.cash{background:var(--paper);border-style:dashed}
.pf-li{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--gold-wash);color:var(--gold-deep)}
.pf-lh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pf-lh h3{margin:0;font:800 16px/1.25 var(--display)}
.pf-lh b{flex:none;font:800 19px/1 var(--display);color:#0B6B3A}
.pf-l.cash .pf-lh b{color:var(--ink)}
.pf-lh small{font-size:12px;font-weight:600;color:var(--ink-3)}
.pf-l p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.pf-try{margin-top:10px;min-height:36px;padding:0 14px;border-radius:10px;border:1.5px solid var(--ink);background:#fff;font:700 13.5px/1 var(--display);color:var(--ink);cursor:pointer}
.pf-try:hover{background:var(--ink);color:#fff}
.pf-none{margin:0;color:var(--ink-2)}
/* compare */
.pf-cmp-sub{margin:-4px 0 10px;font-size:12.5px;color:var(--ink-3);line-height:1.4}
.pf-row{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr) 128px;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.pf-row:first-of-type{border-top:0}
.pf-rl b{display:block;font:700 14.5px/1.2 var(--display)}
.pf-rl small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.3}
.pf-tr{position:relative;height:12px;border-radius:99px;background:#EDEFF3}
.pf-tr.lb{background:linear-gradient(90deg,#DDF5E6 0 var(--t),#FDE6DF var(--t) 100%)}
.pf-tr.hb{background:linear-gradient(90deg,#FDE6DF 0 var(--t),#DDF5E6 var(--t) 100%)}
.pf-tr .mid{position:absolute;top:0;bottom:0;border-radius:99px;background:#D0D4D7}
.pf-tr .med,.pf-tr .tgt{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink-3)}
.pf-tr .you{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 4px rgba(31,35,40,.35);background:var(--ink);transition:left .35s ease}
.pf-tr .you.g1{background:#E0684B}.pf-tr .you.g2{background:var(--gold)}.pf-tr .you.g3{background:#2FA866}.pf-tr .you.g4{background:#14A35A}
.pf-rv{text-align:right}
.pf-rv b{display:block;font:800 17px/1 var(--display)}
.pf-rv span{font:650 12.5px/1.2 var(--display)}
.pf-cmp .g1{color:#B4432B}.pf-cmp .g2{color:var(--gold-deep)}.pf-cmp .g3{color:#2F8A57}.pf-cmp .g4{color:#0B6B3A}
/* homepage: five tool cards */
.hm-apps{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1300px){.hm-apps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1250px){.pf{grid-template-columns:1fr;height:auto}.pf-in{overflow:visible}.pf-out{grid-template-rows:auto}.pf-top,.pf-bot{grid-template-columns:1fr}#pf-lev,#pf-cmp{overflow:visible}}
@media (max-width:640px){.pf-split{grid-template-columns:1fr 1fr}.pf-row{grid-template-columns:1fr auto;}.pf-tr{grid-column:1/-1;order:3}.pf-pill li{grid-template-columns:100px 1fr 46px}}

/* performance calculator, simplified inputs */
.pf-in{gap:16px}
.pf-brand{gap:12px}
.pf-margin[hidden],.pf-costs[hidden]{display:none}
.pf-costs{display:grid;gap:14px;padding:14px;border-radius:16px;background:var(--paper)}
.pf-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}
.pf-chips button{min-height:42px;border:0;border-radius:10px;background:transparent;font:700 14.5px/1 var(--display);color:var(--ink-2);cursor:pointer}
.pf-chips button[aria-checked=true]{background:var(--ink);color:#fff}
.pf-more{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;border:1.5px dashed var(--line);background:#fff;font:700 14.5px/1 var(--display);color:var(--ink-2);cursor:pointer}
.pf-more[aria-expanded=true] svg{transform:rotate(180deg)}
.pf-undo{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:99px;border:1.5px solid var(--ink);background:#fff;font:700 13px/1 var(--display);color:var(--ink);cursor:pointer}
.pf-ph{gap:8px}.pf-ph h2{margin-right:auto}
.pf-l{grid-template-columns:40px minmax(0,1fr) auto;align-items:center}
.pf-l .pf-try{margin:0;min-height:40px;padding:0 18px}

/* Rental Website SEO Checkup */
.page.so-page{padding:16px 0}
.so{height:max(620px,calc((100dvh - var(--bar)) - 64px))}
.so-start,.so-scan{display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 0%,#353B43 0%,var(--ink) 65%);border-radius:var(--r);color:#fff;padding:24px}
.so-hero{width:min(720px,100%);text-align:center;display:flex;flex-direction:column;align-items:center}
.so-mark{width:76px;height:76px;border-radius:24px;background:var(--gold);color:var(--ink);display:grid;place-items:center;margin-bottom:22px;box-shadow:0 20px 40px -18px rgba(242,106,27,.7)}
.so-hero h2{margin:0 0 26px;font:800 clamp(28px,1.6vw + 2vh,48px)/1.08 var(--display);letter-spacing:-.02em}
.so-form{display:flex;gap:10px;width:100%;padding:8px;border-radius:20px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.so-in{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--ink-3);min-width:0}
.so-in input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:600 19px/1 var(--display);color:var(--ink);padding:16px 0}
.so-go{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:56px;padding:0 24px;border:0;border-radius:14px;background:var(--gold);color:var(--ink);font:800 17px/1 var(--display);cursor:pointer;transition:transform .15s}
.so-go:hover{transform:translateX(2px)}
.so-err{min-height:1.4em;margin:14px 0 0;color:#FFB4A3;font-weight:600}
.so-what{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.so-what span{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font:600 14px/1 var(--display);color:#E3E6E9}
.so-what svg{color:var(--gold)}
/* scanning */
.so-radar{position:relative;width:110px;height:110px;display:grid;place-items:center;color:var(--gold);margin-bottom:22px}
.so-radar i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(242,106,27,.55);animation:soPing 2.4s ease-out infinite;opacity:0}
.so-radar i:nth-child(2){animation-delay:.8s}.so-radar i:nth-child(3){animation-delay:1.6s}
@keyframes soPing{from{transform:scale(.35);opacity:.9}to{transform:scale(1.25);opacity:0}}
.so-scan h2{font-size:clamp(22px,1vw + 1.6vh,34px);margin-bottom:20px;word-break:break-word}
.so-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;text-align:left;width:min(420px,100%)}
.so-steps li{display:flex;align-items:center;gap:12px;font:600 16px/1.2 var(--display);color:#7F868C;transition:color .3s}
.so-steps li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:2px solid #4A5057;color:transparent;flex:none;transition:all .3s}
.so-steps li.now{color:#fff}.so-steps li.now span{border-color:var(--gold);animation:soSpin 1s linear infinite;border-top-color:transparent}
.so-steps li.done{color:#D3D7DB}.so-steps li.done span{background:#2FBF71;border-color:#2FBF71;color:#fff;animation:none}
@keyframes soSpin{to{transform:rotate(360deg)}}
/* report */
.so-report{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}
.so-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:18px 24px;border-radius:var(--r);background:radial-gradient(130% 160% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff}
.so-score{position:relative;width:104px;height:104px}
.so-ring{width:100%;height:100%;transform:rotate(-90deg)}
.so-ring circle{fill:none;stroke-width:11;stroke-linecap:round}
.so-ring .bg{stroke:rgba(255,255,255,.12)}
.so-ring .fg{transition:stroke-dasharray .8s ease}
.so-ring.g1 .fg{stroke:#F07258}.so-ring.g2 .fg{stroke:var(--gold)}.so-ring.g3 .fg{stroke:#7FD3A4}.so-ring.g4 .fg{stroke:#3CCB7F}
.so-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.so-num b{font:800 34px/1 var(--display)}.so-num span{font-size:12px;color:#A4AAB0}
.so-k{font:700 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.so-who h2{margin:6px 0 4px;font:800 clamp(22px,1vw + 1.2vh,32px)/1.1 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-who p{margin:0;color:#D3D7DB}.so-who a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.so-counts{display:flex;gap:10px}
.so-counts span{display:grid;justify-items:center;min-width:78px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.07);font-size:12.5px;color:#D3D7DB}
.so-counts b{font:800 26px/1 var(--display);margin-bottom:3px}
.so-counts .g4 b{color:#5BE39A}.so-counts .g2 b{color:var(--gold)}.so-counts .g1 b{color:#FF9A82}
.so-acts{display:grid;gap:8px}
.so-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:700 14px/1 var(--display);cursor:pointer;white-space:nowrap}
.so-btn:hover{background:rgba(255,255,255,.14)}
.so-btn.ok{background:#2FBF71;border-color:#2FBF71}
.so-body{min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.so-col{min-height:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.so-col h3{margin:0 0 12px;font:800 19px/1.2 var(--display)}
.so-fixes{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}
.so-wins{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}
.so-wins span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:#DDF5E6;color:#0B6B3A;font:650 12.5px/1 var(--display)}
.so-f{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#fff}
.so-fn{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--ink);color:var(--gold);font:800 16px/1 var(--display)}
.so-fh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.so-fh h4{margin:0;font:800 16.5px/1.25 var(--display)}
.so-fh em{flex:none;font-style:normal;font:700 12px/1 var(--display);padding:5px 9px;border-radius:99px}
.so-fh em.fail{background:#FDE6DF;color:#B4432B}.so-fh em.warn{background:var(--gold-wash);color:var(--gold-deep)}
.so-saw{margin:6px 0 0;font-size:13.5px;color:var(--ink-3);overflow-wrap:anywhere}
.so-do{margin:6px 0 0;font-size:14.5px;color:var(--ink);line-height:1.45}
.so-copy{margin-top:10px;border-radius:12px;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.so-copy-h{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 6px 12px;font:700 12px/1 var(--display);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.so-copy-h button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#fff;font:700 12.5px/1 var(--display);color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:0}
.so-copy-h button.ok{background:#2FBF71;border-color:#2FBF71;color:#fff}
.so-copy pre{margin:0;padding:4px 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font:500 13.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);max-height:220px;overflow:auto}
.so-ok{color:var(--ink-2)}
.so-side{gap:16px;overflow:auto}
.so-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.so-ch h3{margin:0}
.so-tog{display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.so-tog button{min-height:34px;padding:0 14px;border:0;border-radius:9px;background:transparent;font:700 13.5px/1 var(--display);color:var(--ink-2);cursor:pointer}
.so-tog button[aria-selected=true]{background:var(--ink);color:#fff}
.so-g{padding:16px 18px;border-radius:16px;border:1px solid #DADCE0;background:#fff;font-family:Arial,Helvetica,sans-serif}
.so-gh{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.so-fav{width:28px;height:28px;border-radius:50%;background:#F1F3F4;display:grid;place-items:center;font:700 13px/1 Arial,sans-serif;color:#1A0DAB;flex:none}
.so-gh b{display:block;font-size:14px;font-weight:400;color:#202124}.so-gh small{display:block;font-size:12px;color:#4D5156;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.so-gh div{min-width:0}
.so-gt{display:block;font-size:20px;line-height:1.3;color:#1A0DAB;text-decoration:none}
.so-gd{margin:4px 0 0;font-size:14px;line-height:1.58;color:#4D5156}
.so-gt.none,.so-gd.none{color:#B4432B;font-style:italic}
.so-sug{display:grid;gap:0}
.so-all h3{margin-bottom:10px}
.so-grp{border-top:1px solid var(--line);padding:10px 0}
.so-grh{display:flex;align-items:center;gap:8px;color:var(--ink-2);margin-bottom:6px}
.so-grh b{font:800 15px/1 var(--display);color:var(--ink);flex:1}
.so-grh span{font:650 12.5px/1 var(--display);color:var(--ink-3)}
.so-grp ul{list-style:none;margin:0;padding:0}
.so-grp li button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:4px 6px;border:0;border-radius:10px;background:transparent;text-align:left;font:600 14px/1.25 var(--display);color:var(--ink);cursor:pointer}
.so-grp li button:hover{background:var(--paper)}
.so-grp li button>svg{margin-left:auto;color:var(--ink-3);transition:transform .2s;flex:none}
.so-grp li.open button>svg{transform:rotate(180deg)}
.so-lb{flex:1;min-width:0}
.so-st{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff}
li.pass .so-st{background:#2FBF71}li.warn .so-st{background:var(--gold);color:var(--ink)}li.fail .so-st{background:#E0684B}
.so-det{display:none;padding:0 6px 8px 38px}
.so-grp li.open .so-det{display:block}
.so-det p{margin:2px 0 0;font-size:13.5px;color:var(--ink-3);overflow-wrap:anywhere}
.so-det .so-do{color:var(--ink);font-size:13.5px}
@media (max-width:1150px){.so{height:auto;min-height:calc((100dvh - var(--bar)) - 64px)}.so-head{grid-template-columns:auto minmax(0,1fr)}.so-counts,.so-acts{grid-column:1/-1}.so-acts{grid-template-columns:1fr 1fr}.so-body{grid-template-columns:1fr}.so-fixes,.so-side{overflow:visible}}
@media (max-width:640px){.so-form{flex-direction:column}.so-go{justify-content:center}.so-counts span{min-width:0;flex:1}.so-acts{grid-template-columns:1fr}}
/* Found on Google: the website and listing halves side by side at a fixed height, so a check finishing on one side
   never moves the other; the fixes and the details fill the rest of the window. */
.fg{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;height:max(640px,calc((100dvh - var(--bar)) - 64px))}
.fg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;height:clamp(196px,24vh,236px)}
.fg-half{min-height:0;overflow:auto;display:flex;align-items:center;padding:18px 22px;border-radius:var(--r);background:radial-gradient(130% 160% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff}
.fg-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;width:100%}
.fg-who{min-width:0}
.fg-who h2{margin:6px 0 4px;font:800 clamp(20px,.8vw + 1.1vh,28px)/1.15 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fg-who p{margin:0 0 12px;color:#D3D7DB}.fg-who a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fg-start,.fg-scan{width:100%}
.fg-start>.so-k,.fg-scan>.so-k{display:block;margin-bottom:12px}
.fg .so-form{box-shadow:none}
.fg .so-in input{font-size:17px;padding:13px 0}
.fg .so-go{min-height:50px;padding:0 20px;font-size:16px}
.fg .so-err{margin:8px 0 0;font-size:14px}
.fg .so-steps{gap:6px;width:100%}
.fg .so-steps li{font-size:15px}
.fg .fg-pick{display:grid;gap:6px;padding:0;margin:0 0 8px;border:0;border-radius:0;background:none}
.fg .fg-pick button{padding:8px 12px}
.fg .gl-back{margin-top:4px}
.fg-body{min-height:0}
.fg-empty{display:grid;place-items:center;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.fg-empty .so-what span{background:var(--paper);border-color:var(--line);color:var(--ink-2)}
.fg-empty .so-what svg{color:var(--gold-deep)}
.fg-fh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.fg-fh h3{margin:0}
.fg-fh .so-btn{background:var(--paper);border-color:var(--line);color:var(--ink)}
.fg-fh .so-btn:hover{background:#fff}
.fg .so-fh h4{flex:1;min-width:0}
.so-fh em.fg-src{background:var(--paper);color:var(--ink-2)}
@media (max-width:1150px){.fg{height:auto}.fg-head{grid-template-columns:1fr;height:auto}.fg-half{min-height:196px}}

/* Build your AI business profile: use the full window width like every other app */
.ta-grid.solo{max-width:none;margin:0}

/* Before / after: the same question, answered without and with the profile */
.ba{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin-left:auto}
.ba span{display:inline-flex;align-items:center;gap:6px;font:700 11.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.ba-q{align-self:flex-end;max-width:88%;padding:12px 16px;border-radius:18px 18px 4px 18px;background:var(--gold);color:var(--ink);font:600 15px/1.4 var(--display)}
.ba-q span{display:block;color:rgba(31,35,40,.6)}
.ba-a{max-width:92%;padding:12px 16px;border-radius:18px 18px 18px 4px}
.ba-a p{margin:0;font-size:15px;line-height:1.45}
.ba-a.no{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#B7BCC1}
.ba-a.no span{color:#9AA0A6}
.ba-a.no p{text-decoration:line-through;text-decoration-color:rgba(240,114,88,.7);text-decoration-thickness:2px}
.ba-a.yes{background:#fff;color:var(--ink);box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.ba-a.yes span{color:#0B6B3A}
.hero-ai-r{display:flex;align-items:center}
/* the same card on the light AI profile intro */
.ta-intro-r .ba{margin:0 auto;padding:22px;border-radius:24px;background:radial-gradient(120% 120% at 100% 0%,#353B43 0%,var(--ink) 65%)}
.ta-gains{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:12px}
.ta-gains li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;text-align:left}
.ta-gains svg{width:40px;height:40px;padding:10px;border-radius:12px;background:var(--gold-wash);color:var(--gold-deep)}
.ta-gains b{display:block;font:800 16.5px/1.25 var(--display)}
.ta-gains span{font-size:14.5px;color:var(--ink-2);line-height:1.4}
/* sidebar: who the toolbox is set up for */
.side-biz{margin:0 2px 8px}
.side-biz a{display:block;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-decoration:none}
.side-biz a:hover{background:rgba(255,255,255,.1)}
.side-biz b{display:block;color:#fff;font:700 14.5px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-biz span{display:block;margin-top:3px;font-size:12.5px;color:#A4AAB0}
.side-biz a.new{border-style:dashed;border-color:rgba(242,106,27,.5)}
.side-biz a.new b{color:var(--gold)}
.side-min .side-biz{display:none}
/* homepage tool cards: a live line from what each tool already knows */
.hm-apps{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-app{min-height:200px}
.hm-live{display:block;min-height:1.4em;font:600 14.5px/1.35 var(--display);color:var(--gold)}
.hm-live b{color:#fff}
.hm-live.dim{color:#9AA0A6}
.hm-app .hm-d{font-size:13.5px}
@media (max-width:900px){.hm-apps{grid-template-columns:1fr 1fr}.ba{margin:0 auto}}
@media (max-width:560px){.hm-apps{grid-template-columns:1fr}}
/* the business chip is a label once it's set up, not a second link to the AI profile */
.side-biz .on{display:block;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:default}

/* ===== Homepage dashboard ===== */
.db-page{padding:16px clamp(14px,1.6vw,26px)}
.db{display:flex;flex-direction:column;gap:14px;min-height:calc((100dvh - var(--bar)) - 64px)}
.db-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 22px;border-radius:var(--r);background:radial-gradient(130% 160% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff}
.db-hi p{margin:0;font:600 14px/1 var(--display);color:#A4AAB0}
.db-hi h1{margin:6px 0 2px;font:800 clamp(24px,1vw + 1.6vh,36px)/1.1 var(--display);letter-spacing:-.02em}
.db-hi span{color:#D3D7DB;font-size:14.5px}
.db-meter{display:flex;align-items:center;gap:16px}
.db-mh{text-align:right}.db-mh b{display:block;font:800 22px/1 var(--display);color:var(--gold)}.db-mh span{font-size:12.5px;color:#A4AAB0}
.db-meter ol{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.db-meter li a,.db-meter li span{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:99px;font:700 13px/1 var(--display);text-decoration:none;white-space:nowrap}
.db-meter li a{border:1.5px dashed rgba(242,106,27,.55);color:var(--gold)}
.db-meter li a:hover{background:rgba(242,106,27,.12)}
.db-meter li.on span{background:rgba(91,227,154,.14);color:#9BE3BA}
.db-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(250px,1fr));gap:14px}
.db-ai{grid-column:span 4}.db-weather{grid-column:span 5}.db-pulse{grid-column:span 3}
.db-season{grid-column:span 8}.db-peers{grid-column:span 4}
.db-earn,.db-seo,.db-prompts{grid-column:span 4}
.db-p{position:relative;min-height:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;overflow:hidden}
.db-p>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.db-p h2{margin:0;font:800 16px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-p>header a{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink-2)}
.db-p>header a:hover{background:var(--ink);color:#fff}
.db-b{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}
.ghost .db-b{filter:grayscale(1);opacity:.32;pointer-events:none}
.db-fill{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:14px;background:var(--gold);color:var(--ink);font:800 15px/1 var(--display);text-decoration:none;white-space:nowrap;box-shadow:0 14px 30px -14px rgba(31,35,40,.5)}
.db-stat{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.db-stat b{font:800 26px/1 var(--display)}.db-stat span{font-size:13.5px;color:var(--ink-2)}
.db-muted{color:var(--ink-3)}
.db-go{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:42px;padding:0 16px;border-radius:12px;background:var(--ink);color:#fff;font:700 14.5px/1 var(--display);text-decoration:none;margin-top:auto}
.db-mini{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font:700 13.5px/1 var(--display);color:var(--gold-deep);text-decoration:none}
/* AI profile */
.db-ai .db-b{flex-direction:row;align-items:center;gap:18px}
.db-ai.pitch .db-b{flex-direction:column;align-items:stretch;gap:10px}
.db-ring{position:relative;width:120px;flex:none}
.db-ring.sm{width:104px}
.db-ring svg{width:100%;display:block;transform:rotate(-90deg)}
.db-ring circle{fill:none;stroke-width:10;stroke-linecap:round}
.db-ring .bg{stroke:#F0EDE7}.db-ring .fg{stroke:var(--gold);transition:stroke-dasharray .6s ease}
.db-ring .fg.g1{stroke:#E0684B}.db-ring .fg.g2{stroke:var(--gold)}.db-ring .fg.g3{stroke:#2FA866}.db-ring .fg.g4{stroke:#14A35A}
.db-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.db-ring b{font:800 28px/1 var(--display)}.db-ring span{font-size:12px;color:var(--ink-3)}
.db-aiw{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;height:100%}
.db-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.db-steps li{display:flex;align-items:center;gap:8px;font:700 14px/1.2 var(--display);color:var(--ink-3)}
.db-steps li.on{color:#0B6B3A}
.db-ch span{font:700 11.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.db-ch ol{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.45}
.db-ba{display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.4}
.db-ba .q{align-self:flex-end;max-width:92%;padding:8px 12px;border-radius:14px 14px 4px 14px;background:var(--gold);font-weight:600}
.db-ba .no,.db-ba .yes{max-width:94%;padding:8px 12px;border-radius:14px 14px 14px 4px}
.db-ba .no{background:var(--paper);color:var(--ink-3);text-decoration:line-through;text-decoration-color:rgba(224,104,75,.6)}
.db-ba .yes{background:#EEF8F2;color:var(--ink)}
.db-ba span{display:flex;align-items:center;gap:5px;font:700 10.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;text-decoration:none}
.db-ba .yes span{color:#0B6B3A}
/* weather */
.db-wxbox{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}
.db-wx{width:100%;flex:1;min-height:0}
.db-wx .base{stroke:var(--line);stroke-width:1.5}
.db-wx text{text-anchor:middle;font-family:var(--display)}
.db-wx .d{font-size:14px;font-weight:700;fill:var(--ink-2)}
.db-wx .t{font-size:20px;font-weight:800;fill:var(--ink)}
.db-wx .ic{color:var(--ink-3)}
.db-wx .bad .ic{color:#2a78d6}
.db-wx .rain{fill:#2a78d6}
.db-wx .tag{font-size:12.5px;font-weight:700}
.db-wx .ok .tag{fill:#0B6B3A}.db-wx .bad .tag{fill:#24518F}
.db-wx .amt{font-size:12px;fill:var(--ink-3)}
.db-wx .hit{fill:transparent}.db-wx g.wx-c:hover .hit{fill:var(--paper)}
.db-load{flex:1;border-radius:12px;background:linear-gradient(90deg,var(--paper),#E9ECF1,var(--paper));background-size:200% 100%;animation:sh 1.4s linear infinite}
/* pulse */
.db-gauge{position:relative;width:min(200px,100%);margin:0 auto}
.db-gauge svg{width:100%;display:block}
.db-gauge path{fill:none;stroke-width:13;stroke-linecap:round}
.db-gauge .bg{stroke:#F0EDE7}.db-gauge .fg{stroke:var(--gold)}
.db-gauge .fg.g1{stroke:#E0684B}.db-gauge .fg.g3{stroke:#2FA866}.db-gauge .fg.g4{stroke:#14A35A}
.db-gauge b{position:absolute;left:0;right:0;bottom:0;text-align:center;font:800 36px/1 var(--display)}
.db-pil,.db-grp{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.db-pil li,.db-grp li{display:grid;grid-template-columns:minmax(0,118px) 1fr auto;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.db-pil li{grid-template-columns:minmax(0,110px) 1fr}
.db-pil i,.db-grp i{position:relative;display:block;height:8px;border-radius:99px;background:#F0EDE7;overflow:hidden}
.db-pil em,.db-grp em{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--gold)}
.db-grp b{font:700 12.5px/1 var(--display);color:var(--ink)}
.db-pg s{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,#E7E2D9 0 4px,#F6F3EE 4px 8px);text-decoration:none}
/* seasonal */
.db-seabox{position:relative;flex:1;min-height:0}
.db-sea{width:100%;height:100%;display:block}
.db-sea .ln{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.db-sea .dot{stroke:#fff;stroke-width:2}
.db-sea .norm{stroke:#B7BCC1;stroke-dasharray:4 4;stroke-width:1.5}
.db-sea .nowband{fill:var(--gold-wash)}
.db-sea text{font-family:var(--display)}
.db-sea .ax{font-size:12px;fill:var(--ink-3);text-anchor:end}
.db-sea .mo{font-size:12.5px;fill:var(--ink-3);text-anchor:middle}
.db-sea .mo.now{fill:var(--ink);font-weight:800}
.db-sea .lab{font-size:13px;font-weight:700;fill:var(--ink)}
.db-sea .xh{stroke:var(--ink-3);stroke-width:1;opacity:0;pointer-events:none}
.db-sea .hov{fill:transparent;cursor:crosshair}
.db-tip{position:absolute;top:6px;transform:translateX(-50%);min-width:170px;padding:10px 12px;border-radius:12px;background:var(--ink);color:#fff;font-size:12.5px;pointer-events:none;box-shadow:0 12px 24px -12px rgba(0,0,0,.5);z-index:2}
.db-tip b{display:block;margin-bottom:6px;font:800 13.5px/1 var(--display)}
.db-tip div{display:flex;align-items:center;gap:6px;margin-top:4px}
.db-tip i{width:9px;height:9px;border-radius:50%;flex:none}
.db-tip em{margin-left:auto;padding-left:10px;font-style:normal;font-weight:700;color:var(--gold)}
/* peers */
.db-box{display:grid;gap:6px;margin-bottom:6px}
.db-bl{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.db-bl b{font:800 14.5px/1.2 var(--display)}.db-bl span{font:700 13px/1 var(--display);color:var(--gold-deep)}
.db-bt{position:relative;height:26px}
.db-bt i{position:absolute;display:block}
.db-bt .wh{top:12px;height:2px;background:#CDD1D4}
.db-bt .bx{top:3px;height:20px;border-radius:6px;background:#DADDE0}
.db-bt .md{top:0;height:26px;width:2px;margin-left:-1px;background:var(--ink-2)}
.db-bt .you{top:3px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 1px 4px rgba(31,35,40,.4)}
.db-bx{position:relative;height:14px}
.db-bx span{position:absolute;transform:translateX(-50%);font-size:11.5px;color:var(--ink-3)}
.db-key{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.db-key span{display:inline-flex;align-items:center;gap:6px}
.db-key i{display:inline-block;width:14px;height:10px;border-radius:3px}
.db-key .bx{background:#DADDE0}.db-key .md{width:2px;height:12px;background:var(--ink-2)}.db-key .you{width:10px;height:10px;border-radius:50%;background:var(--gold)}
/* earnings waterfall */
.db-wf{display:grid;grid-template-columns:minmax(0,104px) 1fr 64px;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.db-wt{position:relative;height:16px;border-radius:4px;background:#F5F6F8}
.db-wt i{position:absolute;top:0;bottom:0;border-radius:4px}
.db-wt .rev{background:#2a78d6}.db-wt .cost{background:#E99A86}.db-wt .end{background:#14A35A}.db-wt .neg{background:#E0684B}
.db-wf b{text-align:right;font:800 13.5px/1 var(--display);color:var(--ink)}
/* website */
.db-sr{display:flex;align-items:center;gap:16px;flex:1}
.db-sr .db-grp{flex:1;min-width:0}
.db-seo .db-grp li{grid-template-columns:minmax(0,1fr) 70px auto}
.db-seo .db-grp em{background:#2FA866}
@media (max-width:1250px){.db-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(260px,auto)}.db-ai,.db-weather,.db-pulse,.db-peers,.db-earn,.db-seo,.db-prompts{grid-column:span 3}.db-season{grid-column:span 6}}
@media (max-width:760px){.db-grid{grid-template-columns:1fr}.db-grid>*{grid-column:auto !important}.db-meter{flex-direction:column;align-items:flex-start}.db-meter ol{flex-wrap:wrap}.db-mh{text-align:left}}
/* dashboard: fixed row heights so charts size to their panel instead of stretching the rows */
.db{min-height:0}
.db-grid{flex:none;grid-template-rows:290px 320px 290px}
.db-wxbox{height:100%}
.db-wx,.db-sea{height:100%;width:100%}
@media (max-width:1250px){.db-grid{grid-template-rows:none;grid-auto-rows:300px}}
/* dashboard layout v2: the AI profile runs down the left two rows; four even panels along the bottom */
.db-grid{grid-template-rows:262px 300px 262px}
.db-ai{grid-column:1 / span 4;grid-row:1 / span 2}
.db-weather{grid-column:5 / span 5;grid-row:1}
.db-pulse{grid-column:10 / span 3;grid-row:1}
.db-season{grid-column:5 / span 8;grid-row:2}
.db-peers,.db-earn,.db-seo,.db-prompts{grid-column:span 3;grid-row:3}
.db-ba{font-size:14px;gap:8px}
.db-ai.pitch .db-b{justify-content:flex-start}
.db-ai .db-ring{width:150px}
.db-ai:not(.pitch) .db-b{flex-direction:column;align-items:stretch}
.db-ai:not(.pitch) .db-ring{margin:4px auto 8px}
@media (max-width:1250px){.db-grid{grid-template-rows:none;grid-auto-rows:300px}.db-ai,.db-weather,.db-pulse,.db-season,.db-peers,.db-earn,.db-seo,.db-prompts{grid-row:auto}.db-ai{grid-column:span 3;grid-row:span 2}.db-weather,.db-pulse,.db-peers,.db-earn,.db-seo,.db-prompts{grid-column:span 3}.db-season{grid-column:span 6}}
@media (max-width:760px){.db-ai{grid-row:auto}}
.db-gains{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}
.db-gains li{display:flex;align-items:center;gap:8px;font-size:14px}
.db-gains svg{color:#14A35A;flex:none}
.db-sub{margin:-4px 0 4px;font-size:12.5px;color:var(--ink-3)}
.db-pulse .db-gauge{width:min(150px,100%)}
.db-pulse .db-gauge b{font-size:30px}
.db-pulse .db-pil{gap:6px}
.db-pg{grid-template-columns:1fr 1fr;column-gap:16px;row-gap:8px}
.db-pg li{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:4px;font-size:12.5px}
.db-pg li span{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-pg li b{grid-column:2;grid-row:1}
.db-pg li i{grid-column:1 / -1;grid-row:2}
.db-peers .db-box{margin-bottom:2px}
.db-gains li{align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.35;display:grid;grid-template-columns:16px 1fr;column-gap:8px}
.db-gains li svg{margin-top:2px;grid-row:span 2}
.db-gains li b{color:var(--ink);font:800 14px/1.2 var(--display)}
.db-gains li{grid-template-columns:16px 1fr}
.db-gains li svg{grid-row:auto;margin-top:0}
.db-peers .db-bt{height:22px}.db-peers .db-bt .bx{height:16px}.db-peers .db-bt .md{height:22px}.db-peers .db-bt .wh{top:10px}
.db-peers .db-box{gap:4px}
.db-wx .tb{fill:url(#none);fill:#F26A1B}
.db-wx .bad .tb{fill:#7FA6DE}
.db-wx .t{font-size:15px;font-weight:800;fill:var(--ink)}
.db-wx .lo{font-size:12px;fill:var(--ink-3)}
.db-wx .d{font-size:13px}
.db-grid{grid-template-rows:252px 286px 268px}
.db-earn .db-b{gap:5px}
.db-wf{font-size:12px}.db-wt{height:12px}.db-wf b{font-size:12.5px}
.db-prompts .db-b{gap:6px}
.db-pg{row-gap:6px}
.db-wx .t{font-size:18px}.db-wx .d{font-size:15px}.db-wx .lo{font-size:14px}.db-wx .tag{font-size:14px}
.db-wx .tb{width:16px}
.db-seo .db-ring{width:92px;height:92px;align-self:center}
.db-seo .db-ring b{font-size:24px}
.db-seo .db-grp{gap:6px}
.db-seo .db-grp li{grid-template-columns:minmax(0,1fr) 54px 26px;gap:8px;font-size:12.5px}
.db-seo .db-grp li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-pulse .db-gauge{width:min(132px,100%)}
.db-pulse .db-gauge b{font-size:26px}
.db-head{padding:12px 20px}
.db-hi h1{margin:4px 0 0;font-size:clamp(22px,1vw + 1.3vh,32px)}
@media (max-width:760px){.db-grid{grid-auto-rows:auto}.db-p{min-height:250px}.db-wxbox,.db-seabox{height:auto}.db-wx{height:190px}.db-sea{height:240px}.db-ai .db-b{flex-direction:column}}
@media (max-width:1250px){.db-grid{grid-template-rows:none;grid-auto-rows:auto}.db-grid>.db-p{grid-row:auto;min-height:270px}.db-wxbox,.db-seabox{height:auto}.db-wx{height:180px}.db-sea{height:240px}}
/* grayed-out panels: just a lock; the whole panel opens the tool that fills it */
.db-lock{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3);text-decoration:none}
.db-lock svg{width:44px;height:44px;padding:11px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px -12px rgba(31,35,40,.4);transition:transform .15s}
.db-lock:hover svg{transform:scale(1.06);color:var(--ink)}
.ghost>header{position:relative;z-index:1}
/* biggest projects map */
.db-grid{grid-template-rows:252px 286px 268px 420px}
.db-projects{grid-column:1 / -1;grid-row:4}
.db-projects .db-stat{align-items:center}
.pj-key{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-size:12.5px;color:var(--ink-2)}
.pj-key span{display:inline-flex;align-items:center;gap:6px}
.pj-key i,.pj-side li>i{width:10px;height:10px;border-radius:50%;flex:none}
.pj-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px}
.pj-map{position:relative;min-height:0}
.pj-map svg{width:100%;height:100%;display:block}
.pj-map .st path{fill:#F0EDE7;stroke:#fff;stroke-width:1}
.pj-map .pj{fill-opacity:.78;stroke:#fff;stroke-width:1.5;cursor:pointer;transition:fill-opacity .15s}
.pj-map .pj:hover{fill-opacity:1;stroke:var(--ink)}
.pj-map .pj.dc{fill:#2a78d6}.pj-map .pj.chips{fill:#eb6834}.pj-map .pj.ind{fill:#1baf7a}
.pj-map .pj.open{fill-opacity:.25;stroke-width:2}
.pj-map .pj.open.dc{stroke:#2a78d6}.pj-map .pj.open.chips{stroke:#eb6834}.pj-map .pj.open.ind{stroke:#1baf7a}
.pj-map .ring{fill:rgba(242,106,27,.08);stroke:var(--gold);stroke-width:2;stroke-dasharray:5 5}
.pj-map .you{fill:var(--gold);stroke:var(--ink);stroke-width:3}
.pj-map .db-tip{top:0;left:0}
.pj-side{min-height:0;overflow:auto}
.pj-side h3{margin:0 0 8px;font:800 14.5px/1.2 var(--display)}
.pj-side ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.pj-side li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px}
.pj-side li:nth-child(odd){background:var(--paper)}
.pj-side li b{display:block;font:700 13.5px/1.25 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-side li span{font-size:12px;color:var(--ink-3)}
.pj-side li em{font-style:normal;font:800 13px/1 var(--display);white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1250px){.db-projects{grid-column:1 / -1;min-height:520px}.pj-wrap{grid-template-columns:1fr}.pj-map{height:320px}}
/* dashboard taste of the projects map */
.db-grid{grid-template-rows:252px 286px 268px 300px}
.db-projects .pj-wrap{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}
.pj-map .pj{cursor:default}
/* AI profile panel before it's started: a preview of the profile, then what it unlocks */
.pv{padding:14px 16px;border-radius:16px;background:radial-gradient(130% 140% at 100% 0%,#353B43 0%,var(--ink) 65%);color:#fff;display:grid;gap:8px}
.pv-h span{display:flex;align-items:center;gap:6px;font:700 10.5px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pv-h b{display:block;margin-top:6px;font:800 19px/1.15 var(--display)}
.pv-r{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:10px;font-size:12px;color:#A4AAB0}
.pv-r i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.08))}
.pv-can h3{margin:4px 0 8px;font:800 14px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.pv-can ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pv-can li{display:flex;align-items:center;gap:10px;font:700 14.5px/1.25 var(--display)}
.pv-can li svg{flex:none;width:30px;height:30px;padding:7px;border-radius:9px;background:var(--gold-wash);color:var(--gold-deep)}
.pv-ts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.pv-t{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.pv-t b{display:block;font:800 20px/1 var(--display)}
.pv-t span{display:block;margin-top:4px;font:700 10.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#A4AAB0}
/* dashboard: projects map half width beside the prompts; filled cards open their tool */
.db-grid{grid-template-rows:252px 286px 268px 300px}
.db-peers,.db-earn,.db-seo{grid-column:span 4;grid-row:3}
.db-prompts{grid-column:7 / span 6;grid-row:4}
.db-projects{grid-column:1 / span 6;grid-row:4}
.db-projects .pj-map{flex:1;min-height:0}
.db-p[data-href]:not(.ghost){cursor:pointer;transition:border-color .15s,box-shadow .15s}
.db-p[data-href]:not(.ghost):hover{border-color:#CFD3D6;box-shadow:0 10px 24px -18px rgba(31,35,40,.45)}
button.db-lock{border:0;background:transparent;cursor:pointer;padding:0}
/* quick fill box, right on the card */
.qf{position:absolute;inset:10px;z-index:5;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px -18px rgba(31,35,40,.45);overflow:auto}
.qf-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--paper);font-size:20px;line-height:1;color:var(--ink-2);cursor:pointer}
.qf label{display:grid;gap:6px;font:700 13px/1.2 var(--display);color:var(--ink-2)}
.qf input:not([type=range]){width:100%;min-height:42px;padding:0 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);font:700 15px/1 var(--display);color:var(--ink)}
.qf input:focus{outline:none;border-color:var(--gold);background:#fff}
.qf-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qf-sl{grid-template-columns:1fr auto;align-items:center}
.qf-sl b{color:var(--ink)}
.qf-sl input{grid-column:1 / -1;width:100%;accent-color:var(--gold)}
.qf-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qf-chips span{font:700 13px/1 var(--display);color:var(--ink-2);margin-right:4px}
.qf-chips button{min-height:34px;padding:0 12px;border-radius:9px;border:1.5px solid var(--line);background:#fff;font:700 13px/1 var(--display);color:var(--ink-2);cursor:pointer}
.qf-chips button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.qf-go{align-self:flex-start;min-height:40px;padding:0 18px;border-radius:11px;border:0;background:var(--gold);color:var(--ink);font:800 14.5px/1 var(--display);cursor:pointer}
.qf-go:disabled{opacity:.6}
.qf-msg{margin:0;min-height:1em;font-size:13px;color:#B4432B}
.qf-sugg{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.qf-sugg button{width:100%;text-align:left;padding:9px 10px;border:0;border-radius:9px;background:transparent;font:700 14px/1 var(--display);color:var(--ink);cursor:pointer}
.qf-sugg button:hover{background:var(--gold-wash)}
.qf-sugg small{margin-left:6px;color:var(--ink-3);font-weight:600}
.qf-sugg .none{padding:8px 10px;color:var(--ink-3);font-size:13px}
@media (max-width:1250px){.db-peers,.db-earn,.db-seo,.db-prompts,.db-projects{grid-row:auto;grid-column:span 3}}
/* quick fill box: only as tall as it needs, centered on the card */
.qf{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(calc(100% - 24px),400px);max-height:calc(100% - 20px);padding:18px 18px 16px}
.qf-msg:empty{display:none}
.db-wx .tb{width:auto}
.db-wx .t{font-size:17px}.db-wx .lo{font-size:14px}.db-wx .d{font-size:14px}.db-wx .tag{font-size:13px}
.db-wx .up,.db-wx .dn{text-anchor:middle;font:700 11.5px var(--display)}
.db-wx .up{fill:#0B6B3A}.db-wx .dn{fill:#B4432B}
/* 3-day outlook: weather, then what it does to rentals */
.wx3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:100%}
.wx3-d{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;border-radius:14px;background:var(--paper)}
.wx3-h{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.wx3-h span{grid-column:1 / -1;font:800 14px/1.2 var(--display)}
.wx3-h svg{color:var(--ink-2);grid-row:2}
.wx3-h b{grid-row:2;font:800 22px/1 var(--display)}
.wx3-h i{grid-column:2;grid-row:2;justify-self:end;font-style:normal;font-size:13px;color:var(--ink-3)}
.wx3-w{margin:0;font-size:12px;color:var(--ink-3)}
.wx3-d ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px}
.wx3-d li b{display:block;font:800 13px/1.2 var(--display)}
.wx3-d li span{display:block;font-size:12px;line-height:1.3;color:var(--ink-2)}
.wx3-d li.up b{color:#0B6B3A}.wx3-d li.dn b{color:#B4432B}
.pj-map .pj{stroke-width:2}

/* Performance calculator v3: money left on the table */
.pf{display:flex;flex-direction:column;gap:14px;height:auto;min-height:calc((100dvh - var(--bar)) - 64px);grid-template-columns:none}
.pv2-in{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.pv2-brand img{display:block;width:96px;height:auto}
.pv2-f span,.pv2-s span,.pv2-c>span,.pv2-costs span{display:block;font:700 12.5px/1 var(--display);color:var(--ink-2);margin-bottom:6px}
.pv2-d{display:flex;align-items:center;gap:4px;width:160px;padding:0 10px;border-radius:11px;border:1.5px solid var(--line);background:var(--paper)}
.pv2-d:focus-within{border-color:var(--gold);background:#fff}
.pv2-d i{font-style:normal;font-weight:700;color:var(--ink-3)}
.pv2-d input{flex:1;min-width:0;border:0;background:transparent;padding:10px 0;font:800 16px/1 var(--display);color:var(--ink);outline:none}
.pv2-s{width:170px}
.pv2-s b{color:var(--ink)}
.pv2-s input{width:100%;accent-color:var(--gold);margin:4px 0}
.pv2-chips{display:inline-flex;gap:3px;padding:3px;border-radius:11px;background:var(--paper);border:1px solid var(--line)}
.pv2-chips button{min-height:34px;padding:0 11px;border:0;border-radius:8px;background:transparent;font:700 13px/1 var(--display);color:var(--ink-2);cursor:pointer}
.pv2-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.pv2-costs{display:flex;gap:10px;flex-basis:100%}
.pv2-p{display:flex;align-items:center;width:110px;padding:0 10px;border-radius:11px;border:1.5px solid var(--line);background:var(--paper)}
.pv2-p input{flex:1;min-width:0;border:0;background:transparent;padding:9px 0;font:800 15px/1 var(--display);outline:none}
.pv2-p i{font-style:normal;color:var(--ink-3);font-weight:700}
.pv2-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:14px}
.pv2-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.pv2-card h2{margin:0 0 14px;font:800 17px/1.2 var(--display)}
.pv2-hero{background:radial-gradient(130% 160% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff;border-color:transparent}
.pv2-hh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pv2-k{font:700 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pv2-big{display:block;margin-top:8px;font:800 clamp(40px,2.4vw + 2vh,64px)/1 var(--display);letter-spacing:-.02em}
.pv2-hs{text-align:center;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07)}
.pv2-hs span{display:block;font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#A4AAB0}
.pv2-hs b{display:block;margin-top:4px;font:800 30px/1 var(--display)}
.pv2-hs.g1 b{color:#FF9A82}.pv2-hs.g2 b{color:var(--gold)}.pv2-hs.g3 b{color:#9BE3BA}.pv2-hs.g4 b{color:#5BE39A}
.pv2-bar{display:flex;gap:2px;height:44px;margin:22px 0 14px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.06)}
.pv2-bar .seg{height:100%;transition:width .25s ease;min-width:0}
.pv2-bar .seg.now{background:#fff;color:var(--ink);display:flex;align-items:center;padding:0 12px;white-space:nowrap;overflow:hidden}
.pv2-bar .seg.now span{font:800 13.5px/1 var(--display)}
.pv2-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:#D3D7DB}
.pv2-legend span{display:inline-flex;align-items:center;gap:7px}
.pv2-legend i{width:12px;height:12px;border-radius:4px}
.pv2-legend i.now{background:#fff}
.pv2-legend b{color:#fff}
.pv2-legend .tot{margin-left:auto;font-weight:700}.pv2-legend .tot b{color:var(--gold);font-size:16px}
.pv2-st{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:10px;margin-bottom:10px;font:700 13px/1.2 var(--display);color:var(--ink-2)}
.pv2-st>div{display:flex;gap:2px;height:30px;border-radius:8px;overflow:hidden}
.pv2-st i{display:flex;align-items:center;justify-content:center}
.pv2-st i b{font:800 11.5px/1 var(--display);color:#fff}
.pv2-key{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-3)}
.pv2-key span{display:inline-flex;align-items:center;gap:6px}.pv2-key i{width:10px;height:10px;border-radius:3px}
.pv2-leaks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.pv2-leak{border-top:5px solid var(--c);display:flex;flex-direction:column;gap:8px}
.pv2-lh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pv2-lh h3{margin:0;font:800 17px/1.2 var(--display)}
.pv2-lh b{font:800 24px/1 var(--display);color:#0B6B3A;white-space:nowrap}
.pv2-lh small{font-size:12px;color:var(--ink-3);font-weight:600}
.pv2-leak p{margin:0;font-size:13.5px;color:var(--ink-2)}
.pv2-lv{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-3)}
.pv2-lv b{color:var(--ink);font-size:15px}
.pv2-ls input{width:100%;accent-color:var(--c);margin:6px 0 2px}
.pv2-ls small{font-size:11.5px;color:var(--ink-3)}
@media (max-width:1100px){.pv2-main{grid-template-columns:1fr}}

/* AI profile questionnaire: a compact card, not full screen, with Back / Skip / Next right under the answers */
.ta-stage:not(.is-done){height:auto;min-height:0;max-height:none;max-width:1040px;margin:clamp(8px,4vh,48px) auto 0;padding:22px clamp(20px,3vw,40px) 22px}
.ta-stage:not(.is-done) .ta-mid{flex:none;overflow:visible;padding-top:clamp(8px,2vh,22px) !important}
.ta-stage:not(.is-done) .ta-nav{margin-top:0;padding-top:24px;justify-content:center;gap:10px}
.ta-stage:not(.is-done) .ta-nav .ta-back{order:1}
.ta-stage:not(.is-done) .ta-nav .ta-skip{order:2}
.ta-stage:not(.is-done) .ta-nav .ta-next{order:3;min-width:180px}
.ta-stage:not(.is-done) .ta-intro-slide{min-height:0}

/* Performance calculator v4 layout: fills the window; waterfall hero, score + dollar on the side, leak cards across */
.pf{height:max(720px,calc((100dvh - var(--bar)) - 64px));min-height:0}
.pv2-in{flex:none;display:grid;grid-template-columns:auto repeat(2,minmax(150px,1fr)) repeat(2,minmax(160px,1.1fr)) auto auto;align-items:end;gap:12px 18px}
.pv2-d{width:100%}.pv2-s{width:100%}
.pv2-costs{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,140px));gap:12px}
.pv2-main{flex:1;min-height:0;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr)}
.pv2-hero{display:flex;flex-direction:column;min-height:0}
.pv2-hh{align-items:flex-end}
.pv2-hx{display:flex;gap:22px;text-align:right}
.pv2-hx span{display:block;font:700 11.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#A4AAB0}
.pv2-hx b{display:block;margin-top:6px;font:800 26px/1 var(--display)}
.pv2-hx b.gold{color:var(--gold)}
.pv2-wfbox{flex:1;min-height:0;margin-top:14px}
.pv2-wf{width:100%;height:100%;display:block}
.pv2-wf .base{stroke:rgba(255,255,255,.18);stroke-width:1.5}
.pv2-wf .lk{stroke:rgba(255,255,255,.3);stroke-dasharray:3 4}
.pv2-wf rect[fill="#1F2328"]{fill:#fff}
.pv2-wf .v{fill:#fff;font:800 17px var(--display);text-anchor:middle}
.pv2-wf .v.big{fill:var(--gold);font-size:22px}
.wf-l{font:700 13px/1.25 Outfit,system-ui,sans-serif;color:#D3D7DB;text-align:center}
.pv2-side{display:grid;grid-template-rows:minmax(0,1.2fr) minmax(0,1fr);gap:14px;min-height:0}
.pv2-health,.pv2-dollar{min-height:0;display:flex;flex-direction:column}
.pv2-health h2,.pv2-dollar h2{margin-bottom:6px}
.pv2-gauge{position:relative;width:min(200px,70%);margin:0 auto}
.pv2-gauge svg{width:100%;display:block}
.pv2-gauge path{fill:none;stroke-width:14;stroke-linecap:round}
.pv2-gauge .bg{stroke:#F0EDE7}.pv2-gauge .fg{stroke:var(--gold)}
.pv2-gauge .fg.g1{stroke:#E0684B}.pv2-gauge .fg.g3{stroke:#2FA866}.pv2-gauge .fg.g4{stroke:#14A35A}
.pv2-gauge>div{position:absolute;left:0;right:0;bottom:0;text-align:center}
.pv2-gauge b{display:block;font:800 40px/1 var(--display)}
.pv2-gauge span{font:700 13px/1 var(--display)}
.pv2-gauge .g1{color:#B4432B}.pv2-gauge .g2{color:var(--gold-deep)}.pv2-gauge .g3{color:#2F8A57}.pv2-gauge .g4{color:#0B6B3A}
.pv2-pil{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.pv2-pil li{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.pv2-pil i{display:block;height:8px;border-radius:99px;background:#F0EDE7;overflow:hidden}
.pv2-pil em{display:block;height:100%;border-radius:99px;background:var(--gold)}
.pv2-pil b{text-align:right;font:700 12.5px/1 var(--display);color:var(--ink)}
.pv2-dollar{justify-content:center}
.pv2-st{grid-template-columns:130px 1fr}
.pv2-st>div{height:34px}
.pv2-leaks{flex:none;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pv2-leak{padding:16px 18px;gap:10px}
.pv2-lh h3{font-size:16px}
.pv2-lh b{font-size:26px}
.pv2-lv{display:flex;justify-content:space-between;align-items:flex-end}
.pv2-lv span{display:block;font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pv2-lv b{display:block;margin-top:4px;font:800 20px/1 var(--display);color:var(--ink)}
.pv2-lv .r{text-align:right}.pv2-lv .r b{color:var(--c,var(--ink))}
/* sliders: thin track filled to the value, small round handle */
.pv2-range{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;margin:0;--f:50%}
.pv2-range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--c,var(--gold)) 0 var(--f),#E7E2D9 var(--f) 100%)}
.pv2-range::-moz-range-track{height:6px;border-radius:99px;background:#E7E2D9}
.pv2-range::-moz-range-progress{height:6px;border-radius:99px;background:var(--c,var(--gold))}
.pv2-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#fff;border:3px solid var(--c,var(--gold));box-shadow:0 2px 6px rgba(31,35,40,.25)}
.pv2-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--c,var(--gold))}
@media (max-width:1250px){.pf{height:auto}.pv2-in{grid-template-columns:repeat(2,minmax(0,1fr))}.pv2-brand{grid-column:1 / -1}.pv2-main{grid-template-columns:1fr}.pv2-wfbox{height:300px;flex:none}.pv2-side{grid-template-rows:auto}}
/* note at the top of the questions when someone arrives from a dashboard card */
/* AI profile card: percent done, then what finishing gets you */
.db-ai:not(.pitch) .db-b{gap:14px}
.db-aitop{display:flex;align-items:center;gap:18px}
.db-ai .db-aitop .db-ring{width:120px;margin:0}
.db-ring b{font-size:26px}
.db-gets h3{margin:0 0 8px;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.db-gets ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.db-gets li{display:flex;align-items:center;gap:10px;font:700 14px/1.3 var(--display);color:var(--ink-2)}
.db-gets li span{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--gold-wash);color:var(--gold-deep)}
.db-gets li.on{color:var(--ink)}
.db-gets li.on span{background:#DDF5E6;color:#0B6B3A}
.db-steps li svg{flex:none}
/* demand chart fills its box */
.db-seabox{overflow:hidden}
.db-sea{width:auto;height:auto;display:block}
/* weather card: never spills out. Narrow cards drop the "why" lines and keep the two biggest calls per day */
.db-weather{container-type:inline-size}
.wx3-d{overflow:hidden}
.wx3-w{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wx3-d li b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wx3-d li:nth-child(n+3){display:none}
@container (max-width:620px){.wx3-d li span{display:none}.wx3-d ul{gap:4px}.wx3-h b{font-size:19px}}
@container (max-width:460px){.wx3-d li:nth-child(n+2){display:none}.wx3-w{display:none}}

/* Performance calculator parked: dashboard without the Health Score, peers and money panels */
.db-grid{grid-template-rows:252px 286px 300px}
.db-seo{grid-column:1 / span 3;grid-row:3}
.db-prompts{grid-column:4 / span 4;grid-row:3}
.db-projects{grid-column:8 / span 5;grid-row:3}
@media (max-width:1250px){.db-grid{grid-template-rows:none}.db-seo,.db-prompts{grid-row:auto;grid-column:span 3}.db-projects{grid-row:auto;grid-column:1 / -1}}
@media (max-width:760px){.db-grid>*{grid-column:auto !important}}

/* Google listing check (reuses the SEO checkup's .so-* layout) */
.fg-pick{display:grid;gap:10px;width:min(620px,100%)}
.fg-pick button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;text-align:left;cursor:pointer;transition:background .15s}
.fg-pick button:hover{background:rgba(255,255,255,.13)}
.fg-pick button>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(242,106,27,.16);color:var(--gold)}
.fg-pick b{display:block;font:700 17px/1.25 var(--display)}
.fg-pick small{display:block;margin-top:3px;font-size:13.5px;color:#B7BCC1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-back{margin-top:18px;border:0;background:none;color:#D3D7DB;font:600 15px/1 var(--display);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.gl .so-counts span{min-width:84px}
.gl-stars{position:relative;display:inline-block;font-size:12px;letter-spacing:1px;line-height:1;vertical-align:1px}
.gl-stars i{font-style:normal;color:#DADCE0}
.gl-stars i+i{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#F26A1B}
.gl-pack ol{list-style:none;margin:0;padding:0;border:1px solid #DADCE0;border-radius:16px;background:#fff;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.gl-pack li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:11px 14px;border-top:1px solid #EEF0F2}
.gl-pack li:first-child{border-top:0}
.gl-pack li.me{background:var(--gold-wash);box-shadow:inset 3px 0 0 var(--gold)}
.gl-pack li.gap{display:block;padding:4px 14px;text-align:center;color:#70757A;font-size:12.5px;background:#F8F9FA}
.gl-n{width:22px;height:22px;border-radius:50%;background:#EA4335;color:#fff;display:grid;place-items:center;font:700 11.5px/1 Arial,sans-serif;margin-top:1px}
.gl-pack li.me .gl-n{background:var(--ink)}
.gl-pack b{display:block;font-size:15px;font-weight:400;color:#202124;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-pack b em{font-style:normal;font:700 11px/1 var(--display);margin-left:6px;padding:3px 7px;border-radius:99px;background:var(--ink);color:#fff;vertical-align:2px}
.gl-r{margin-top:3px;font-size:13px;color:#70757A}
.gl-pack small{display:block;margin-top:2px;font-size:12.5px;color:#70757A;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-vs h3{margin:0 0 10px}
.gl-tw{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.gl-vs table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13.5px}
.gl-vs th,.gl-vs td{padding:9px 8px;text-align:center;border-top:1px solid var(--line)}
.gl-vs thead th{border-top:0;font:700 12px/1.2 var(--display);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-vs thead th.me{color:var(--ink)}
.gl-vs tbody th{text-align:left;font:650 13px/1 var(--display);color:var(--ink-2);width:24%}
.gl-vs td{font:700 14px/1 var(--display);color:var(--ink-2)}
.gl-vs td:nth-child(2){background:var(--gold-wash);color:var(--ink)}
.gl-vs td.hi{color:#0B6B3A}
.gl-vs td .y{color:#1E9E5A}.gl-vs td .n{color:#C2462E}
.gl-vs td span{display:inline-grid;place-items:center}
.gl-vs thead th small{display:block;margin-top:3px;font:500 11px/1.2 var(--display);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-vs td.hi:nth-child(2){color:#0B6B3A}

/* ===== Landing page ===== */
.lp{padding:16px clamp(14px,1.6vw,26px) 40px;display:flex;flex-direction:column;gap:clamp(28px,4vw,64px)}
.lp h2{margin:0 0 18px;font:800 clamp(26px,1.2vw + 1.4vh,40px)/1.1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.lp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);min-height:calc((100dvh - var(--bar)) - 64px);padding:clamp(28px,4vw,72px);border-radius:var(--r);background:radial-gradient(120% 120% at 100% 0%,#353B43 0%,var(--ink) 60%);color:#fff}
.lp-k{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px;border-radius:99px;background:rgba(242,106,27,.14);color:var(--gold);font:700 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.lp-hero h1{margin:0;font:800 clamp(40px,2.6vw + 2.4vh,84px)/1.02 var(--display);letter-spacing:-.03em}
.lp-sub{margin:20px 0 0;max-width:34ch;font:500 clamp(18px,.6vw + 1vh,24px)/1.4 var(--display);color:#D3D7DB}
.lp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px}
.lp-go{display:inline-flex;align-items:center;gap:10px;min-height:58px;padding:0 26px;border-radius:16px;background:var(--gold);color:var(--ink);font:800 18px/1 var(--display);text-decoration:none;transition:transform .15s}
.lp-go:hover{transform:translateX(3px)}
.lp-alt{display:inline-flex;align-items:center;min-height:58px;padding:0 22px;border-radius:16px;border:1px solid rgba(255,255,255,.22);color:#fff;font:700 17px/1 var(--display);text-decoration:none}
.lp-alt:hover{background:rgba(255,255,255,.08)}
.lp-chat{position:relative;height:clamp(440px,58vh,560px);display:flex;flex-direction:column;gap:14px;padding:22px 22px 52px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.lp-msg{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
.lp-msg.in{opacity:1;transform:none}
.lp-msg span{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;font:700 11.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.lp-msg p{margin:0;padding:13px 17px;font-size:16px;line-height:1.45}
.lp-msg.q{align-self:flex-end;max-width:86%;text-align:right}
.lp-msg.q span{color:#A4AAB0}
.lp-msg.q p{border-radius:18px 18px 4px 18px;background:var(--gold);color:var(--ink);font:600 16px/1.4 var(--display);text-align:left}
.lp-msg.no{max-width:90%}.lp-msg.no span{color:#9AA0A6}
.lp-msg.no p{border-radius:18px 18px 18px 4px;background:rgba(255,255,255,.07);color:#A4AAB0}
.lp-msg.yes{max-width:94%}.lp-msg.yes span{color:#5BE39A}
.lp-msg.yes p{min-height:4.4em;border-radius:18px 18px 18px 4px;background:#fff;color:var(--ink);box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.lp-dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:8px}
.lp-dots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.lp-dots button.on{width:26px;background:var(--gold)}
.lp-how{position:relative;height:300vh}
.lp-pin{position:sticky;top:16px;height:calc((100dvh - var(--bar)) - 32px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(24px,3vw,56px);border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.lp-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lp-steps li{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;border:1px solid transparent;color:var(--ink-3);cursor:pointer;transition:background .35s,border-color .35s,color .35s}
.lp-steps li em{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--paper);font:800 19px/1 var(--display);font-style:normal;color:var(--ink-3);transition:background .35s,color .35s}
.lp-steps li b{display:block;font:800 clamp(19px,.5vw + 1vh,24px)/1.2 var(--display)}
.lp-steps li span{display:block;margin-top:5px;font-size:15.5px;line-height:1.4}
.lp-steps li.on{background:var(--paper);border-color:var(--line);color:var(--ink)}
.lp-steps li.on em{background:var(--ink);color:var(--gold)}
.lp-steps li.past em{background:#DDF5E6;color:#0B6B3A}
.lp-stage{position:relative;height:min(520px,70vh);border-radius:24px;background:var(--ink);overflow:hidden}
.lp-f{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(20px,3vw,44px);opacity:0;transform:scale(.98);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.lp-f.on{opacity:1;transform:none}
.lp-q,.lp-doc{width:min(460px,100%);padding:24px;border-radius:20px;background:#fff;color:var(--ink)}
.lp-qbar{height:6px;border-radius:99px;background:var(--paper);overflow:hidden;margin-bottom:20px}
.lp-qbar i{display:block;height:100%;width:8%;border-radius:99px;background:var(--gold);transition:width 1.4s ease .2s}
.lp-f.on .lp-qbar i{width:42%}
.lp-q b{display:block;font:800 22px/1.2 var(--display);margin-bottom:16px}
.lp-opts{display:flex;flex-wrap:wrap;gap:8px}
.lp-opts span{padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);font:650 14.5px/1 var(--display);color:var(--ink-2);transition:background .3s,border-color .3s,color .3s}
.lp-f.on .lp-opts span.on{background:var(--ink);border-color:var(--ink);color:#fff}
.lp-f.on .lp-opts span.on:nth-child(1){transition-delay:.5s}.lp-f.on .lp-opts span.on:nth-child(2){transition-delay:.9s}.lp-f.on .lp-opts span.on:nth-child(4){transition-delay:1.3s}
.lp-next{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:12px 18px;border-radius:12px;background:var(--gold);font:800 15px/1 var(--display)}
.lp-doc-h{display:flex;align-items:center;gap:6px;font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.lp-doc>b{display:block;margin:10px 0 14px;font:800 24px/1.15 var(--display)}
.lp-doc ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lp-doc li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:10px 12px;border-radius:12px;background:var(--paper);font-size:14.5px;opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s}
.lp-doc li span{font:700 12.5px/1.4 var(--display);color:var(--ink-3)}
.lp-f.on .lp-doc li{opacity:1;transform:none}
.lp-f.on .lp-doc li:nth-child(2){transition-delay:.15s}.lp-f.on .lp-doc li:nth-child(3){transition-delay:.3s}.lp-f.on .lp-doc li:nth-child(4){transition-delay:.45s}
.lp-ais{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px}
.lp-ais em{font-style:normal;font:700 13px/1 var(--display);color:var(--ink-3);margin-right:4px}
.lp-ais span{padding:7px 11px;border-radius:99px;background:var(--ink);color:#fff;font:700 13px/1 var(--display)}
.lp-runs{width:min(480px,100%);display:grid;gap:10px}
.lp-run{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:#fff;color:var(--ink);opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}
.lp-run svg{color:var(--gold-deep)}
.lp-run b{font:750 16px/1.2 var(--display)}
.lp-run span{padding:7px 11px;border-radius:10px;background:var(--paper);font:700 12.5px/1 var(--display);color:var(--ink-2)}
.lp-f.on .lp-run{opacity:1;transform:none}
.lp-f.on .lp-run:nth-child(2){transition-delay:.12s}.lp-f.on .lp-run:nth-child(3){transition-delay:.24s}.lp-f.on .lp-run:nth-child(4){transition-delay:.36s}
.lp-prompts{overflow:hidden}
.lp-band{display:grid;gap:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lp-row{display:flex;gap:12px;width:max-content;animation:lpSlide 90s linear infinite}
.lp-row.rev{animation-direction:reverse;animation-duration:110s}
.lp-band:hover .lp-row{animation-play-state:paused}
@keyframes lpSlide{to{transform:translateX(-50%)}}
.lp-chip{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font:700 15px/1 var(--display);color:var(--ink);white-space:nowrap}
.lp-chip svg{color:var(--gold-deep)}
.lp-tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lp-tool{position:relative;display:block;padding:22px 22px 24px;border-radius:20px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.lp-tool:hover{border-color:#C3C7CB;transform:translateY(-2px)}
.lp-tool .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:var(--gold)}
.lp-tool b{display:block;margin-top:16px;font:800 19px/1.2 var(--display)}
.lp-tool p{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--ink-2);padding-right:24px}
.lp-tool i{position:absolute;top:22px;right:22px;color:var(--ink-3)}
.lp-tool,.lp-prompts h2,.lp-tools h2,.lp-end{opacity:0;transform:translateY(14px);transition-property:opacity,transform,border-color;transition-duration:.6s,.6s,.2s;transition-timing-function:ease}
.lp-tool.in,.lp-prompts h2.in,.lp-tools h2.in,.lp-end.in{opacity:1;transform:none}
.lp-tool.in:hover{transform:translateY(-2px)}
.lp-end{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:clamp(28px,3vw,52px);border-radius:var(--r);background:var(--ink)}
.lp-end h2{margin:0;color:#fff}
@media (max-width:999px){.lp-hero{grid-template-columns:1fr;min-height:0}.lp-how{height:auto}.lp-pin{position:static;height:auto;grid-template-columns:1fr}.lp-stage{height:auto;display:grid;gap:12px;background:none}.lp-f{position:static;opacity:1;transform:none;border-radius:20px;background:var(--ink)}.lp-tgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.lp-tgrid{grid-template-columns:1fr}.lp-chat{height:auto;min-height:520px}.lp-hero h1{font-size:40px}}
@media (prefers-reduced-motion:reduce){.lp-row{animation:none}.lp-msg,.lp-f,.lp-tool,.lp-run,.lp-doc li{transition:none}}
/* Sidebar business: an initials badge with the name, part of the sidebar rather than a box */
.side-biz{margin:0 0 10px;padding:0 6px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.side-biz .on{display:flex;align-items:center;gap:11px;padding:0;background:none;border:0;border-radius:0}
.side-biz .on>i{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(242,106,27,.16);color:var(--gold);font:800 13.5px/1 var(--display);font-style:normal;letter-spacing:.02em}
.side-biz .on>div{min-width:0}
.side-biz .on b{font:700 14.5px/1.2 var(--display);color:#fff}
.side-biz .on span{margin-top:2px;font-size:12.5px;color:#9AA0A6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-min .side-biz{display:block;padding:0 0 12px;border-bottom:0}
.side-min .side-biz .on{justify-content:center}
.side-min .side-biz .on>div,.side-min .side-biz a{display:none}
/* Landing, round 2: next section peeks under the hero, a scroll cue, profile details marked in the chat */
.lp-hero{position:relative;min-height:calc((100dvh - var(--bar)) - 170px);padding-bottom:clamp(64px,6vw,96px)}
.lp-more{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.18);color:#E3E6E9;font:700 14.5px/1 var(--display);text-decoration:none;white-space:nowrap}
.lp-more:hover{background:rgba(255,255,255,.08)}
.lp-more svg{animation:lpNudge 2.4s ease-in-out infinite}
@keyframes lpNudge{0%,100%{transform:none}50%{transform:translateY(4px)}}
.lp-msg.yes mark{background:transparent;color:inherit;border-radius:4px;padding:0 2px;margin:0 -2px;transition:background .6s ease,box-shadow .6s ease}
.lp-chat.lit .lp-msg.yes mark{background:rgba(242,106,27,.32);box-shadow:inset 0 -2px 0 var(--gold)}
.lp-guess{width:min(480px,100%);padding:24px;border-radius:20px;background:#fff;color:var(--ink)}
.lp-gk{display:block;font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.lp-guess p{margin:0;font-size:17px;line-height:1.6;color:var(--ink-2)}
.lp-guess mark{background:#FDE6DF;color:#B4432B;border-radius:6px;padding:1px 5px;font-weight:700;transition:background .4s,box-shadow .4s}
.lp-f.on .lp-guess mark{animation:lpFlag .9s ease both}
.lp-f.on .lp-guess mark:nth-of-type(2){animation-delay:.25s}.lp-f.on .lp-guess mark:nth-of-type(3){animation-delay:.5s}.lp-f.on .lp-guess mark:nth-of-type(4){animation-delay:.75s}
@keyframes lpFlag{0%{box-shadow:0 0 0 0 rgba(240,114,88,.6)}100%{box-shadow:0 0 0 8px rgba(240,114,88,0)}}
.lp-gq{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--paper);font:650 14px/1.35 var(--display);color:var(--ink-2)}
.lp-end>div{display:grid;gap:14px}
.lp-how3{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.lp-how3 li{display:inline-flex;align-items:center;gap:9px;color:#D3D7DB;font:650 15.5px/1 var(--display)}
.lp-how3 em{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(242,106,27,.16);color:var(--gold);font:800 13px/1 var(--display);font-style:normal}
@media (max-width:999px){.lp-hero{min-height:0}.lp-more{display:none}}
@media (prefers-reduced-motion:reduce){.lp-more svg,.lp-f.on .lp-guess mark{animation:none}}
/* Landing, round 3: open hero on the page (no giant card), compact chat window sized to its longest example */
.lp-hero{min-height:0;padding:clamp(28px,4vh,56px) clamp(8px,2vw,40px) 8px;background:none;color:var(--ink);border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.lp-hero h1{color:var(--ink)}
.lp-k{background:var(--gold-wash);color:var(--gold-deep)}
.lp-sub{color:var(--ink-2)}
.lp-alt{border-color:var(--line);color:var(--ink);background:var(--card)}
.lp-alt:hover{background:#fff;border-color:#C3C7CB}
.lp-works{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:clamp(8px,2vh,24px) 0 0;font:650 14px/1 var(--display);color:var(--ink-3)}
.lp-works span{margin-right:4px}
.lp-works b{padding:8px 13px;border-radius:99px;background:var(--card);border:1px solid var(--line);color:var(--ink-2);font:700 13.5px/1 var(--display)}
.lp-chat{height:auto;padding:20px 20px 46px;border-radius:24px;background:var(--ink);border:0;box-shadow:0 40px 80px -40px rgba(31,35,40,.55)}
.lp-exs{display:grid}
.lp-ex{grid-area:1 / 1;display:flex;flex-direction:column;gap:12px;visibility:hidden}
.lp-ex.on{visibility:visible}
.lp-msg.yes p{min-height:0}
.lp-ex .w{opacity:0;transition:opacity .15s}
.lp-ex .w.s{opacity:1}
.lp-ex mark{background:transparent;color:inherit;border-radius:4px;padding:0 2px;margin:0 -2px;transition:background .6s ease,box-shadow .6s ease}
.lp-ex.lit mark{background:rgba(242,106,27,.32);box-shadow:inset 0 -2px 0 var(--gold)}
.lp-dots{bottom:16px}
.lp-more{display:none}
@media (max-width:999px){.lp-chat{height:auto;min-height:0}}

/* Home at /: the pitch and the returning visitor's home share the address; the <head> script picks one before
   paint. Without that pick (no JavaScript) the pitch shows. */
.is-home .lp{display:none}
html:not(.is-home) .db-page{display:none}
.side-pitch{margin-top:auto;padding:12px;color:#A4AAB0;font-size:14px;text-decoration:none}
.side-pitch:hover{color:#fff}
.side-min .side-pitch{display:none}
/* four panels, one per room, filling the window */
.db.home{height:max(600px,calc((100dvh - var(--bar)) - 32px))}
.db .db-grid.four{flex:1;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(250px,1fr))}
.db-grid.four>.db-p{grid-column:auto;grid-row:auto;min-height:0}
.db-busy{margin:10px 0 0;font-size:14px;color:var(--ink-2)}
.db-busy b{margin-right:8px;color:var(--ink);font-family:var(--display)}
.db-two{display:flex;gap:28px;align-items:center}
.db-two .db-ring.sm{width:96px}
.db-fix{margin:14px 0 0;font:700 16px/1.3 var(--display);color:var(--ink)}
.db-fix span{display:block;margin-bottom:4px;font:600 12.5px/1 var(--display);color:var(--ink-3)}
.db-inspect .db-b{justify-content:space-between}
@media (max-width:900px){.db.home{height:auto}.db .db-grid.four{grid-template-columns:1fr;grid-template-rows:none}}
/* front door: business name in, Google's matches open under the input over the page, so nothing below moves */
.lp-door{position:relative;display:flex;gap:8px;flex:1 1 380px;max-width:560px;padding:6px;border-radius:18px;background:#fff;border:1.5px solid var(--line);box-shadow:0 16px 36px -24px rgba(31,35,40,.45)}
.lp-door input{flex:1;min-width:0;border:0;outline:none;background:transparent;padding:0 14px;font:600 18px/1 var(--display);color:var(--ink)}
.lp-door .lp-go{min-height:52px;border:0;cursor:pointer}
.lp-found{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 48px -24px rgba(31,35,40,.5)}
.lp-found:empty{display:none}
.lp-found button{display:block;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer;font-family:var(--display)}
.lp-found button:hover{background:var(--paper)}
.lp-found b{display:block;font:700 16px/1.25 var(--display);color:var(--ink)}
.lp-found small{display:block;margin-top:2px;font-size:13.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-msg{margin:6px 12px;font-size:14.5px;color:var(--ink-2)}
.lp-nl{display:block;padding:10px 12px;border-radius:12px;font:700 14.5px/1.2 var(--display);color:var(--gold-deep);text-decoration:none}
.lp-nl:hover{background:var(--gold-wash)}
/* home: the AI profile and this week, side by side */
.db .db-grid.two{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-rows:minmax(0,1fr)}
.db-grid.two>.db-p{grid-column:auto;grid-row:auto;min-height:0}
@media (max-width:900px){.db .db-grid.two{grid-template-columns:1fr;grid-template-rows:none}}
/* AI profile results: "When they look you up" (found-app.js) */
.lu{margin-top:8px}
.lu-h{margin:0 0 14px;font:800 clamp(22px,1vw + 1.4vh,30px)/1.1 var(--display)}
.lu .fg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;height:auto;min-height:196px}
.lu .fg-body:not(:empty){margin-top:16px;padding:18px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.fg-fixes{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.fg-one{width:100%;justify-content:center}
@media (max-width:900px){.lu .fg-head{grid-template-columns:1fr}}

/* Top bar (replaces the sidebar). --bar is the room it takes above the page, so every tool that sizes itself to the
   window subtracts it and still fits without scrolling. Phones keep their own small top row and bottom tab bar. */
:root{--bar:66px}
@media (min-width:901px){
  .shell{display:block;padding:10px 16px 16px}
  .side{position:sticky;top:10px;z-index:40;height:56px;flex-direction:row;align-items:center;gap:6px;margin-bottom:10px;padding:0 8px 0 14px;border-radius:18px;overflow:visible}
  .side-brand{flex:none;padding:0;margin-right:22px}
  .side-brand .logo{width:32px;height:32px}
  .side-brand b{font-size:18px}
  .side-nav{flex-direction:row;align-items:center;gap:4px}
  .side-link{padding:9px 16px;border-radius:12px;font-size:15.5px;white-space:nowrap}
  .side-pitch{margin:0 0 0 auto;padding:9px 12px;white-space:nowrap}
  .side-biz{flex:none;margin:0 0 0 6px;padding:0;border:0;max-width:260px}
  .side-biz .on{padding:6px 10px 6px 6px}
  .side-biz a.new{padding:9px 14px}
}
@media (max-width:900px){:root{--bar:0px}.side-pitch{display:none}.tabbar{grid-template-columns:repeat(3,1fr)}}
/* walkthrough for people who've never used AI: step one is picking a free AI */
.tr-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center;padding:18px}
.tr-ai-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;border-radius:14px;background:#fff;border:1.5px solid var(--line);color:var(--ink);font:800 17px/1 var(--display);text-decoration:none}
.tr-ai-link:hover{border-color:var(--ink)}
.tr-ai-link svg{width:18px;height:18px;color:var(--gold-deep)}
/* No scrollbars inside cards: lists are capped in the scripts, long text fades out (Copy still copies all of it),
   and the profile document on the results screen shows at full length. */
.wf-detail,.wf-acts,.wk-list,.gl-titles{overflow:hidden}
.ta-paper{max-height:none;overflow:visible}
.gl-detail .gl-pre,.so-copy pre{overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.so-copy pre{max-height:150px}
.lu .fg-half{overflow:visible}
/* biggest challenges: every option visible at once, one column per area, no tabs */
.rk{max-width:none}
.rk-all{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:12px;align-items:start}
.rk-grp{display:grid;gap:6px}
.rk-grp h5{display:flex;align-items:center;gap:8px;margin:0 0 2px;font:800 14px/1.2 var(--display);color:var(--ink-2)}
.rk-grp h5 svg{width:18px;height:18px;color:var(--gold-deep)}
.rk-grp .rk-opt{min-height:54px;padding:8px 10px;font-size:14.5px;line-height:1.2;text-align:left}
@media (max-width:1100px){.rk-all{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rk-all{grid-template-columns:1fr}.rk-slots{grid-template-columns:1fr}}
/* the results screen's profile card is a short preview: sized to its content, never scrolling */
.ta-paper{max-height:none;overflow:visible}
.ta-paper .ta-row dd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ta-more{margin:10px 0 0;font-size:12.5px;color:var(--ink-3)}
/* a way back to the finished profile from any question after the basics */
.ta-back-profile{margin-right:auto;min-height:38px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1 var(--display);cursor:pointer}
.ta-back-profile:hover{border-color:var(--ink)}
/* answers aren't grayed out before they're touched; team counters are small cards, four across (two on phones) */
.ta-counters{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.ta-counter{min-height:clamp(84px,10vh,104px);padding:10px 12px;gap:8px}
.ta-counter .ta-cname{font-size:clamp(13px,.2vw + .7vh,15px);min-height:2.2em}
.ta-cctl button{width:34px;height:34px;font-size:20px}
.ta-cctl b{font-size:clamp(20px,.7vw + 1.4vh,28px)}
@media (max-width:640px){.ta-counters{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
/* the natural break in the interview: the prompts they can run now */
.ta-ready{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px;width:100%;max-width:560px}
.ta-ready li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#EEF8F2;border:1px solid #BFE6CD;font:700 16px/1.25 var(--display);color:var(--ink);text-align:left}
.ta-ready li svg{flex:none;width:22px;height:22px;color:#0B6B3A}
.ta-ready-acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}
.ta-ready-note{margin:6px 0 0;font-size:14px;color:var(--ink-3)}
/* Back, Skip and Next float at the bottom of the window: when a question is tall enough to scroll, they stay in
   reach instead of waiting at the bottom of the card. */
.ta-stage:not(.is-done) .ta-nav{position:sticky;bottom:14px;z-index:6;margin:10px auto 0;padding:10px 14px;width:max-content;max-width:100%;border-radius:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px -10px rgba(31,35,40,.35),0 0 0 1px var(--line)}
@media (max-width:900px){.ta-stage:not(.is-done) .ta-nav{bottom:calc(76px + env(safe-area-inset-bottom))}}
/* results: pick a goal, then its prompts as cards (no prompt text on screen, nothing locked) */
.gl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px}
.gl-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:700 15px/1 var(--display);color:var(--ink-2);cursor:pointer}
.gl-chip svg{width:18px;height:18px;color:var(--gold-deep);flex:none}
.gl-chip:hover{border-color:var(--ink)}
.gl-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.gl-chip.on svg{color:var(--gold)}
.gl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start;min-height:calc(var(--rows,3) * 190px + (var(--rows,3) - 1) * 12px)}
.gl-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff}
.gl-card h4{margin:6px 0 0;font:800 17px/1.25 var(--display)}
.gl-card p{margin:0;font-size:14.5px;line-height:1.4;color:var(--ink-2);flex:1}
.gl-ca{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px}
.gl-add{border:0;background:none;padding:0;font:650 13.5px/1.2 var(--display);color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gl-add:hover{color:var(--ink)}
@media (max-width:1000px){.gl-cards{grid-template-columns:1fr 1fr;min-height:0}}
@media (max-width:640px){.gl-cards{grid-template-columns:1fr}}
/* someone new to AI: four links to open one, beside Copy profile */
.ta-ai-open{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:10px}
.ta-ai-link{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.28);color:#fff;font:700 14px/1 var(--display);text-decoration:none}
.ta-ai-link:hover{background:rgba(255,255,255,.12)}
/* home: a full page, not an empty one. Prompts to try now on the left; weather, season and projects on the right. */
.db.home{height:auto;min-height:0}
.db .db-grid.two{grid-template-rows:auto;align-items:start}
.db-grid.two>.db-p{height:auto;min-height:0}
.db-grid.two .db-b{gap:14px}
.hx-prog{display:flex;align-items:center;gap:12px;font:650 14px/1 var(--display);color:var(--ink-2)}
.hx-bar{flex:1;height:10px;border-radius:99px;background:#E9ECF2;overflow:hidden}
.hx-bar i{display:block;height:100%;border-radius:99px;background:var(--gold)}
.hx-more{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hx-h{margin:4px 0 8px;font:800 16px/1.2 var(--display);color:var(--ink)}
.hx-cards{display:grid;gap:10px}
.hx-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff}
.hx-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--gold-wash);color:var(--gold-deep)}
.hx-card b{display:block;font:800 16px/1.25 var(--display)}
.hx-card span:not(.hx-ic){display:block;margin-top:2px;font-size:13.5px;line-height:1.35;color:var(--ink-3)}
.hx-copy{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:0;border-radius:12px;background:var(--ink);color:#fff;font:700 14px/1 var(--display);cursor:pointer;white-space:nowrap}
.hx-copy.ok{background:#2FBF71}
.hx-sec{padding-top:6px}
.hx-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;margin:0 0 6px;font-size:14.5px;line-height:1.35}
.hx-row b{font:700 14px/1.35 var(--display);color:var(--ink)}
.hx-row span{color:var(--ink-2)}
.hx-projs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hx-proj{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;background:var(--paper)}
.hx-proj div{min-width:0}
.hx-proj b{display:block;font:700 14.5px/1.25 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-proj span{display:block;font-size:12.5px;color:var(--ink-3)}
.hx-pr{flex:none;text-align:right}
.hx-pr b{font:800 15px/1.2 var(--display)}
.hx-pr span{color:var(--gold-deep);font-weight:650}
.db-week .wx3{align-items:start}
@media (max-width:640px){.hx-card{grid-template-columns:auto minmax(0,1fr)}.hx-copy{grid-column:1 / -1;justify-content:center}.hx-row{grid-template-columns:1fr;gap:2px}}
/* home is one panel now; the three prompt cards run three across when there's room */
.db .db-grid.one{display:block}
.db-grid.one>.db-p{max-width:none;height:auto;min-height:0}
.db-grid.one .hx-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.db-grid.one .hx-card{grid-template-columns:auto minmax(0,1fr);align-items:start}
.db-grid.one .hx-copy{grid-column:1 / -1;justify-content:center}
@media (max-width:900px){.db-grid.one .hx-cards{grid-template-columns:1fr}}
@media (min-width:901px){.tabbar{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.tabbar{grid-template-columns:repeat(2,1fr)}}
/* how to use your profile: three steps right under it */
.hw{margin:20px 0 6px}
.hw h3{margin:0 0 12px;font:800 clamp(20px,.8vw + 1.2vh,26px)/1.15 var(--display)}
.hw-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hw-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:#fff}
.hw-step>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font:800 16px/1 var(--display)}
.hw-step h4{margin:2px 0 4px;font:800 17px/1.25 var(--display)}
.hw-step p{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.hw-ai{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.hw-link{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:700 13.5px/1 var(--display);text-decoration:none}
.hw-link:hover{border-color:var(--ink)}
@media (max-width:900px){.hw-steps{grid-template-columns:1fr}}

/* Home for returning visitors: the profile card on the left, prompts by goal on the right. */
.db-grid.one.hx-two{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;align-items:start}
.hx-two .hx-cards{grid-template-columns:1fr}
.hx-two .hx-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.hx-two .hx-copy{grid-column:auto;justify-content:center}
.hx-profile h2{font-size:20px}
.hx-dl{margin:0;display:grid;gap:10px}
.hx-dl div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.hx-dl dt{font:700 13px/1.2 var(--display);color:var(--ink-3)}
.hx-dl dd{margin:0;font-size:15px;line-height:1.35;color:var(--ink)}
.hx-none{margin:0;color:var(--ink-2)}
.hx-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.hx-acts a.hx-copy{text-decoration:none}
.hx-chips{display:flex;flex-wrap:wrap;gap:8px}
.hx-chip{min-height:38px;padding:0 14px;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1 var(--display);cursor:pointer}
.hx-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
@media (max-width:900px){.db-grid.one.hx-two{grid-template-columns:1fr}.hx-two .hx-card{grid-template-columns:auto minmax(0,1fr)}.hx-two .hx-copy{grid-column:1 / -1}}


/* Accessibility pass: text no smaller than 12px, darker secondary text, and a visible focus ring on the front door. */
.ta-top,.ta-done h3,.ta-ends,.ta-sname output,.ta-season .ta-ends,.ta-rh span,.ta-count,.ta-group,.ta-why b,.ta-grp h5,.ta-reset,.ta-kicker,.ta-stat span,.ta-paper h4,.ta-tgcol h5,.ta-feeds em,.ta-doc h4,.ta-file-head small,.ta-works,.gl-t em,.gl-n,.lp-msg span,.side-link em,.brand small{font-size:12px!important}
.lp-door:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.hx-chip{min-height:44px}
.hx-two .db-p>header a{width:44px;height:44px}

/* Back, Skip and Next live at the bottom right of the question box. */
.ta-stage:not(.is-done) .ta-nav{width:auto;margin:10px 0 0;justify-content:flex-end;border-radius:14px;box-shadow:none;background:rgba(255,255,255,.94)}
.ta-stage:not(.is-done) .ta-nav .ta-skip{margin-left:0}
.ta-stage:not(.is-done) .ta-nav .ta-next{min-width:140px}

/* A prompt that still needs answers: grayed, with the way to get it ready. */
.hx-card.hx-wait{background:var(--paper)}
.hx-card.hx-wait .hx-ic,.hx-card.hx-wait>div{filter:grayscale(1);opacity:.55}
.hx-need{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1.2 var(--display);text-align:center;text-decoration:none}
.hx-need:hover{border-color:var(--ink)}
.hx-card .hx-need{grid-column:1 / -1}

/* Why it works: three steps side by side, no pinning or scroll stepping. */
.lp-how{height:auto;padding:clamp(24px,3vw,48px) 0}
.lp-how>h2{margin:0 0 18px}
.lp-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lp-step{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.lp-sh{display:flex;gap:14px;align-items:flex-start}
.lp-sh em{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--gold);font:800 18px/1 var(--display);font-style:normal}
.lp-sh b{display:block;font:800 19px/1.2 var(--display)}
.lp-sh span{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:var(--ink-2)}
.lp-step .lp-f{position:static;flex:1;opacity:1;transform:none;pointer-events:auto;border-radius:18px;background:var(--ink);padding:18px;align-items:start}
.lp-step .lp-doc,.lp-step .lp-runs,.lp-step .lp-guess{width:100%}
.lp-step .lp-doc{padding:18px}
.lp-step .lp-doc li{grid-template-columns:82px 1fr}
.lp-step .lp-run{grid-template-columns:auto 1fr;padding:12px 14px}
.lp-step .lp-run span{display:none}
@media (max-width:999px){.lp-three{grid-template-columns:1fr}}

/* Tighter pitch page: less air between the hero and Why it works. */
.lp{gap:clamp(8px,1.2vw,18px)}
.lp-hero{padding-bottom:0}
.lp-works{margin-top:clamp(4px,1vh,12px)}
.lp-how{height:auto;padding:0 0 clamp(12px,1.6vw,24px)}
.lp-how>h2{margin:0 0 12px}

/* "Works with" row: the same space above (hero) and below (Why it works). */
.lp{gap:22px}
.lp-hero{row-gap:22px}
.lp-works{margin:0}

/* Why it works: every picture fills its dark frame the way the middle one does. */
.lp-step .lp-f{display:flex;align-items:stretch}
.lp-step .lp-guess,.lp-step .lp-doc,.lp-step .lp-runs{flex:1}
.lp-step .lp-guess{display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.lp-step .lp-guess p{font-size:17px}
.lp-step .lp-runs{grid-auto-rows:1fr}
.lp-step .lp-run{padding:12px 14px}

/* Library prompts that still need answers: grayed, with the way to get them ready. No lock. */
.gl-card.gl-wait{background:var(--paper)}
.gl-card.gl-wait>.gl-di,.gl-card.gl-wait>h4,.gl-card.gl-wait>p{filter:grayscale(1);opacity:.55}
.gl-ans{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1.2 var(--display);cursor:pointer}
.gl-ans:hover{border-color:var(--ink)}
.lp-found button.on{background:var(--paper)}
