:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
  --ink:#0C1222; --surface:#131B30; --raised:#1B2540; --line:#273352;
  --text:#EDF0F7; --muted:#94A1BD;
  --gold:#FFB61E; --gold-ink:#1A1300;
  --leak:#FF5D6C; --leak-soft:rgba(255,93,108,.14);
  --mint:#3DDCB4; --mint-soft:rgba(61,220,180,.14);
  --blue:#6FA8FF; --work:#2B3A63;
  --display:"Bricolage Grotesque",Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:inherit}
html{min-height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;min-height:100%;background:var(--ink);color:var(--text);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
.d{font-family:var(--display);letter-spacing:-.02em}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:12px;background:var(--gold);color:var(--gold-ink);font-weight:700;text-align:center;box-shadow:0 6px 24px rgba(255,182,30,.22);transition:transform .12s}
.btn:active{transform:scale(.98)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none;font-weight:600}
.btn-small{min-height:38px;padding:8px 14px;border-radius:10px;font-size:14px}
.btn-wide{width:100%}
.link{color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:14px}

/* start and scan */
.screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:32px 22px;max-width:560px;margin:0 auto}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em}
.brand svg{width:20px;height:20px;fill:var(--gold)}
.start h1{font-family:var(--display);font-weight:750;font-size:clamp(38px,11vw,60px);line-height:1.02;letter-spacing:-.035em;margin:44px 0 18px}
.start p.lead{color:var(--muted);font-size:17px;max-width:34ch}
.start .fine{margin-top:16px;color:var(--muted);font-size:13.5px}

.track{height:6px;border-radius:6px;background:var(--raised);overflow:hidden}
.track i{display:block;height:100%;width:0;background:var(--gold);border-radius:6px;transition:width .2s linear}
.track.mint i{background:var(--mint)}

/* app shell */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(12,18,34,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.acct{position:relative}
.acct summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:600}
.acct summary::-webkit-details-marker{display:none}
.acct summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px)}
.acct .menu{position:absolute;right:0;top:calc(100% + 8px);width:230px;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.acct .menu p{padding:8px 10px;color:var(--muted);font-size:13px}
.acct .menu button{width:100%;padding:10px;border-radius:9px;font-weight:600}
.acct .menu button:hover{background:var(--surface)}

.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;color:var(--muted);font-size:12px;font-weight:600;position:relative}
.tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tab[aria-current="page"]{color:var(--gold)}
.tab[aria-current="page"]::before{content:"";position:absolute;top:-1px;left:28%;right:28%;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}
.tab .badge{position:absolute;top:5px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--leak);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center}

main{padding:22px 16px 120px;max-width:760px;margin:0 auto}
main:focus{outline:none}
.sec{margin-top:34px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.sec-head h2{font-family:var(--display);font-size:20px;font-weight:650;letter-spacing:-.02em}
.page-title{font-family:var(--display);font-weight:720;font-size:30px;letter-spacing:-.03em;line-height:1.1}
.page-sub{color:var(--muted);margin-top:6px;max-width:52ch}

/* overview */
.context{color:var(--muted);font-size:14px;font-weight:500}
.hero h1{font-family:var(--display);font-weight:740;font-size:clamp(30px,8.4vw,48px);line-height:1.05;letter-spacing:-.035em;margin:8px 0 22px;max-width:17ch}
.bar{display:flex;gap:2px;height:46px;clip-path:inset(0 0 0 0 round 10px);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.bar.pre{clip-path:inset(0 100% 0 0 round 10px)}
.bar span{min-width:5px;transition:background .5s}
.bar .work{background:var(--work);display:flex;align-items:center;padding:0 12px;font-size:13px;font-weight:600;color:#C9D4EE;white-space:nowrap;overflow:hidden}
.bar .lk{background:var(--leak)}
.bar .rc{background:var(--mint)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;color:var(--muted);font-size:13px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:22px}
.stat{background:var(--surface);padding:14px 16px}
.stat.full{grid-column:1/-1}
.stat b{display:block;font-family:var(--display);font-size:26px;font-weight:720;letter-spacing:-.03em;line-height:1.15}
.stat small{color:var(--muted);font-size:13px}
.stat .track{margin-top:10px}
.next{margin-top:22px;padding:18px;border-radius:18px;background:linear-gradient(150deg,#22305A 0%,#182242 60%);border:1px solid #34467A}
.next .k{color:var(--gold);font-weight:700;font-size:14px}
.next h3{font-family:var(--display);font-size:22px;font-weight:680;letter-spacing:-.02em;line-height:1.15;margin:6px 0 6px}
.next p{color:#C3CCE2;margin-bottom:16px}
.quiet{margin-top:34px;padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:14px}
.quiet strong{color:var(--text)}

/* rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;width:100%;padding:14px 2px;border-bottom:1px solid var(--line)}
.row:hover .row-title{color:#fff}
.sev{width:10px;height:10px;border-radius:50%}
.sev-high{background:var(--leak)} .sev-med{background:var(--gold)} .sev-low{background:var(--blue)}
.row-title{display:block;font-weight:600;line-height:1.3}
.row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.row-amt{font-family:var(--display);font-weight:700;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}
.row-amt.none{font-family:var(--body);font-weight:500;font-size:13px;color:var(--muted)}
.row.is-fixed .row-title{color:var(--muted);text-decoration:line-through}
.row.is-fixed .sev{background:var(--mint)}
.row.is-fixed .row-amt{color:var(--mint);font-family:var(--body);font-size:13.5px;font-weight:700}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--raised);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}
.pill-ai{background:rgba(255,182,30,.13);color:var(--gold)}
.pill-team{background:rgba(111,168,255,.14);color:var(--blue)}
.pill-guide{background:var(--mint-soft);color:var(--mint)}
.sevp-high{background:var(--leak-soft);color:var(--leak)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:16px 0 12px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--text);color:var(--ink);border-color:var(--text)}

/* areas */
.area{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.area .track{grid-column:1/-1}
.area span:last-of-type{color:var(--muted);font-size:14px}

/* plan */
.week{margin-top:26px}
.week-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.week-head h2{font-family:var(--display);font-size:19px;font-weight:660;letter-spacing:-.02em}
.week-head h2 small{display:block;font-family:var(--body);font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}
.week-head .gain{color:var(--mint);font-weight:700;font-size:14px;white-space:nowrap}
.task{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.task input{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;border:2px solid #45547C;border-radius:8px;cursor:pointer;display:grid;place-items:center}
.task input:checked{background:var(--mint);border-color:var(--mint)}
.task input:checked::after{content:"";width:6px;height:11px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg) translateY(-1px)}
.task button{font-weight:600;line-height:1.3;padding:4px 0}
.task.done button{color:var(--muted);text-decoration:line-through}

/* studio */
.empty{padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.empty .btn{margin-top:14px}
.svc{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.svc b{font-weight:650}
.svc p{grid-column:1;color:var(--muted);font-size:14px}
.svc .act{grid-row:1/3;grid-column:2}
.ok{color:var(--mint);font-weight:700;font-size:14px}

/* sheet */
.scrim{position:fixed;inset:0;z-index:20;background:rgba(4,7,16,.66);opacity:0;transition:opacity .22s}
.scrim.on{opacity:1}
.sheet{position:fixed;z-index:21;left:0;right:0;bottom:0;top:max(5vh,calc(env(safe-area-inset-top,0px) + 12px));display:flex;flex-direction:column;background:var(--surface);border-radius:22px 22px 0 0;border-top:1px solid var(--line);transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.sheet.on{transform:none}
.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 6px 20px}
.sheet-head .pillrow{display:flex;flex-wrap:wrap;gap:6px}
.x{width:40px;height:40px;border-radius:50%;background:var(--raised);display:grid;place-items:center;font-size:22px;line-height:1;flex:none}
.sheet-body{flex:1;overflow-y:auto;padding:6px 20px 24px;-webkit-overflow-scrolling:touch}
.sheet-body h2{font-family:var(--display);font-size:27px;font-weight:720;letter-spacing:-.03em;line-height:1.1}
.amt-line{margin-top:10px;font-weight:600;color:var(--leak)}
.amt-line.none{color:var(--muted)}
.amt-line.fixed{color:var(--mint)}
.sheet-body h3{font-family:var(--display);font-size:16px;font-weight:650;margin:24px 0 8px}
.sheet-body p{color:#C9D1E4;max-width:60ch}
.ev li{position:relative;padding:6px 0 6px 18px;color:#C9D1E4}
.ev li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--leak)}
.steps{counter-reset:s;display:grid;gap:10px}
.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;color:#DCE2F0}
.steps li::before{content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--mint-soft);color:var(--mint);font-weight:700;font-size:13px;display:grid;place-items:center}
.incl li{padding:5px 0 5px 18px;position:relative;color:#C9D1E4}
.incl li::before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:2px;background:var(--blue)}
.fixbox{margin-top:12px}
.out{border:1px solid #3A4A78;border-radius:14px;background:var(--ink);overflow:hidden;animation:pop .35s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.out-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--line);font-weight:650}
.out-body{padding:12px 14px}
.kw{display:flex;flex-wrap:wrap;gap:6px}
.kw span{padding:4px 10px;border-radius:8px;background:var(--raised);font-size:14px}
.copy li{padding:10px 0;border-bottom:1px solid var(--line);color:#DCE2F0;overflow-wrap:anywhere}
.copy li:last-child{border-bottom:0}
.frames{display:flex;gap:18px;align-items:flex-end}
.frames figure{margin:0;text-align:center;color:var(--muted);font-size:13px}
.fr{display:grid;place-items:center;padding:10px;margin-bottom:8px;border-radius:10px;background:linear-gradient(160deg,#2F7D8C,#1D3F6B);color:#fff;font-family:var(--display);font-weight:700;font-size:13px;line-height:1.15;text-align:center}
.fr.sq{width:96px;height:96px}
.fr.tall{width:90px;height:160px}
.note{margin-top:10px;padding:0 14px 12px;color:var(--muted)!important;font-size:13px}
.apply{margin-top:12px}
.writing{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;color:var(--gold);font-weight:600}
.writing i{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,182,30,.25);border-top-color:var(--gold);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);display:grid;gap:10px}
.foot-done{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--mint);font-weight:700}

.toast{position:fixed;z-index:30;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);max-width:calc(100% - 32px);padding:11px 16px;border-radius:12px;background:var(--text);color:var(--ink);font-weight:650;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- diagnosis screen ---------- */
.scan{justify-content:flex-start;align-items:center;text-align:center;padding-top:26px}
.scan-acct{color:var(--muted);font-size:14px;font-weight:600}
.scan h1{font-family:var(--display);font-size:22px;font-weight:680;letter-spacing:-.02em;line-height:1.2;min-height:54px;margin-top:4px}
.lens{position:relative;width:min(78vw,38vh,300px);aspect-ratio:1;margin:6px auto 0}
.lens svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lens-glow{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(255,182,30,.26),transparent 62%);opacity:calc(.2 + var(--p,0) * .8);transition:opacity .4s}
.sweep{position:absolute;inset:26%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 235deg,rgba(255,182,30,.42) 360deg);animation:spin 2.2s linear infinite;transition:opacity .5s}
.lens-mid{position:absolute;inset:0;display:grid;place-content:center}
.lens-mid b{display:block;font-family:var(--display);font-weight:760;font-size:clamp(44px,15vw,60px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.lens-mid span{color:var(--muted);font-size:13.5px;font-weight:600}
.sg{fill:none;stroke:var(--raised);stroke-width:11;opacity:1;transition:stroke .25s,opacity .5s var(--d)}
.lens.pre .sg{opacity:0}
.sg.act{stroke:var(--gold);filter:drop-shadow(0 0 6px rgba(255,182,30,.85))}
.sg.pass{stroke:#2FBE9B}
.sg.fail{stroke:var(--leak);filter:drop-shadow(0 0 6px rgba(255,93,108,.9))}
.ping{fill:none;stroke:var(--leak);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:pingk .75s ease-out forwards}
@keyframes pingk{to{transform:scale(6);opacity:0}}
.lens.tally .sg{animation:wave .8s ease-in-out both;animation-delay:var(--d)}
@keyframes wave{50%{stroke-width:16}}
.lens.done{animation:lenspop .6s cubic-bezier(.2,1.4,.4,1)}
@keyframes lenspop{40%{transform:scale(1.07)}}
.lens.done .sweep{opacity:0}
.lens.done .lens-glow{background:radial-gradient(circle,rgba(255,93,108,.32),transparent 62%)}
.lens.done .lens-mid b{color:var(--leak)}
.lens.done .sg.fail{animation:throb 1.4s ease-in-out infinite}
@keyframes throb{50%{opacity:.5}}
.scan-status{margin-top:12px;min-height:96px}
.scan-status .now{min-height:44px;margin:0;display:grid;place-items:center;font-weight:650;line-height:1.3;color:var(--gold)}
.scan-status .now.bad{color:var(--leak)}
.spot{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:6px 14px;border-radius:999px;background:var(--raised);color:var(--muted);font-weight:700;font-size:14px;transition:background .3s,color .3s}
.spot svg{width:13px;height:13px;fill:currentColor}
.spot.hot{background:var(--leak-soft);color:#FFB3BA}
.spot.bump{animation:bump .35s}
@keyframes bump{40%{transform:scale(1.14)}}
.scan-done{width:100%;margin-top:12px;animation:pop .5s both}
.sd-amt{font-family:var(--display);font-weight:780;font-size:clamp(46px,14vw,64px);letter-spacing:-.04em;line-height:1;color:var(--leak);font-variant-numeric:tabular-nums}
.scan-done p{color:var(--muted);margin:6px 0 16px}
.fun{width:100%;margin-top:20px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-align:left}
.fun-k{display:inline-block;padding:2px 9px;border-radius:999px;background:rgba(111,168,255,.14);color:var(--blue);font-size:12px;font-weight:700}
.fun-q{margin-top:8px;font-weight:600;line-height:1.4;animation:stagein .35s both}
.fun-a{margin-top:8px;color:var(--gold);font-weight:700;animation:pop .35s both}
.fun-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;min-height:38px}

/* ---------- fix journey ---------- */
.jr-top{display:flex;align-items:center;gap:12px;padding:14px 14px 8px 18px}
.jr-steps{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.jr-steps button{display:block;width:100%;padding:4px 0;color:var(--muted);font-size:12.5px;font-weight:700}
.jr-steps i{display:block;height:4px;border-radius:2px;background:var(--raised);margin-bottom:6px;transition:background .3s}
.jr-steps .on button{color:var(--text)}
.jr-steps .on i{background:var(--gold)}
.jr-steps .done i{background:var(--mint)}
.stage{animation:stagein .32s both}
@keyframes stagein{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.stage .pillrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.why{margin-top:14px;color:#B8C2DA!important;font-size:14.5px}
.est{margin-top:12px;color:var(--muted)!important;font-size:13px}
.hint{color:var(--muted)!important;font-size:14px}
.b4{display:inline}.af{display:none}
.after .b4{display:none}.after .af{display:inline}

.scene{position:relative;margin-top:16px;padding:16px;border-radius:16px;background:var(--ink);border:1px solid var(--line);overflow:hidden}
.sc-cap{color:var(--muted);font-size:13px}
.co{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin-top:14px}
.co div{position:relative;padding:12px 10px;border-radius:14px;background:var(--raised);animation:pop .45s both;animation-delay:calc(.4s + var(--i)*.28s)}
.co div::before{content:"";position:absolute;top:-7px;left:18px;border:7px solid transparent;border-top:0;border-bottom-color:var(--raised)}
.co b{display:block;font-family:var(--display);font-size:22px;font-weight:740;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.co span{display:block;margin-top:4px;font-size:12.5px;line-height:1.3;color:var(--muted)}
.ba-label{margin:16px 0 -2px;text-align:center;font-family:var(--display);font-size:clamp(38px,11vw,54px);font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase;color:var(--leak);text-shadow:0 0 28px rgba(255,93,108,.55),0 0 2px rgba(255,93,108,.6)}
.ba-label.is-after{color:var(--mint);text-shadow:0 0 28px rgba(61,220,180,.5),0 0 2px rgba(61,220,180,.6)}
.ba-label.swap{animation:baswap .45s cubic-bezier(.2,1.3,.4,1)}
@keyframes baswap{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:none}}
.foot-after{background:var(--mint);color:var(--ink);box-shadow:0 6px 24px rgba(61,220,180,.25)}
.foot-before{color:var(--leak);border-color:rgba(255,93,108,.5)}
#fixarea{margin-top:16px}

/* search terms */
.tms{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tm{display:inline-flex;gap:8px;align-items:center;padding:7px 11px;border-radius:10px;border:1px solid var(--line);font-size:14px;font-weight:600;transition:all .5s;transition-delay:calc(var(--i,0)*90ms)}
.tm.bad{border-color:var(--leak);background:var(--leak-soft)}
.tm.bad b{color:var(--leak);font-variant-numeric:tabular-nums}
.intro .tm.bad{animation:flag .5s both;animation-delay:calc(.15s + var(--i)*.13s)}
@keyframes flag{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.06)}100%{transform:none;opacity:1}}
.after .tm.bad{opacity:.4;text-decoration:line-through;background:transparent;border-color:var(--line);border-style:dashed}
.after .tm.bad b{color:var(--muted)}
.after .tm.good{border-color:var(--mint);color:var(--mint);background:var(--mint-soft)}

/* quality scores */
.sr{padding:9px 0;border-bottom:1px solid var(--line)}
.sr:last-child{border-bottom:0;padding-bottom:0}.sr:first-child{padding-top:0}
.sr-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:14px;margin-bottom:7px}
.sv{font-family:var(--display);font-weight:740;font-size:18px;color:var(--leak);transition:color .4s}
.sv small{font-size:12px;color:var(--muted);font-weight:600}
.after .sv{color:var(--mint)}
.sm{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.sm i{height:10px;border-radius:3px;background:var(--raised);transition:background .3s;transition-delay:calc(var(--k)*45ms)}
.sm i.b{background:var(--leak)}
.after .sm i{background:var(--raised)}
.after .sm i.a{background:var(--mint)}

/* search ad */
.gad{background:#fff;color:#141A2B;border-radius:12px;padding:12px}
.gs{font-size:11px;font-weight:700}.gu{font-size:11px;color:#5A6480}
.gh{font-size:16px;color:#1A56C4;font-weight:600;margin:3px 0 6px}
.gl{height:6px;border-radius:3px;background:#DADFEA;margin-top:5px}.gl.short{width:65%}
.rev{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s,opacity .6s .15s}
.after .rev{max-height:230px;opacity:1}
.sl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.sl span{padding:6px 8px;border-radius:7px;border:1px solid #C5CCDC;color:#1A56C4;font-size:11.5px;font-weight:600}
.cl{margin-top:8px;font-size:11.5px;color:#5A6480}
.callb{margin-top:8px;padding:8px;border-radius:8px;background:#1A56C4;color:#fff;text-align:center;font-weight:700;font-size:12.5px}
.gmiss{margin-top:10px;padding:8px;border-radius:8px;border:1.5px dashed #F08A94;color:#C22B3C;font-size:12px;font-weight:700;text-align:center}
.after .gmiss{display:none}
.vr{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px 12px;margin-top:8px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:14px;transition:all .5s}
.vr:first-child{margin-top:0}
.vr>b{width:28px;height:28px;border-radius:8px;background:var(--raised);display:grid;place-items:center;font-family:var(--display);color:var(--text)}
.vr.slot{border-style:dashed;border-color:var(--leak);color:var(--leak);background:transparent}
.vt{font-size:12.5px;color:var(--muted);font-weight:700}
.after .vr{border-style:solid;border-color:rgba(61,220,180,.5);color:var(--text);background:var(--surface)}
.after .vt{color:var(--mint)}

/* campaign bars */
.br{padding:9px 0}
.br:first-child{padding-top:0}.br:last-child{padding-bottom:0}
.bn{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-weight:650;font-size:14px;margin-bottom:7px}
.bl{font-size:12.5px;font-weight:600;color:var(--muted);text-align:right}
.br.bad .bl{color:var(--leak)}
.after .br.bad .bl{color:var(--muted)}
.after .br.good .bl{color:var(--mint)}
.bt{height:14px;border-radius:7px;background:var(--raised);overflow:hidden}
.bt i{display:block;height:100%;width:var(--b);border-radius:7px;transition:width .9s cubic-bezier(.2,.7,.2,1),background .6s}
.intro .bt i{animation:growx .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes growx{from{width:0}}
.after .bt i{width:var(--a)}
.br.bad .bt i{background:var(--leak)}
.br.good .bt i{background:var(--gold)}
.after .br.good .bt i{background:var(--mint)}

/* dots */
.dg{display:grid;grid-template-columns:repeat(20,1fr);gap:4px;margin-top:12px}
.dg i{aspect-ratio:1;border-radius:50%;background:var(--blue);transition:all .5s;transition-delay:calc(var(--i)*22ms)}
.intro .dg i{animation:dotin .4s both;animation-delay:calc(var(--i)*22ms)}
@keyframes dotin{from{transform:scale(0)}}
.dg i.bad{background:var(--leak)}
.after .dg.gone i.bad{opacity:.16;transform:scale(.55)}
.after .dg.good i.bad{background:var(--mint)}
.dl{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:13.5px;font-weight:600}
.dk i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}
.dk.bad i{background:var(--leak);transition:opacity .4s,background .4s}.dk.rest i{background:var(--blue)}
.after .gone+.dl .dk.bad{color:var(--muted)}
.after .gone+.dl .dk.bad i{opacity:.3}
.after .good+.dl .dk.bad i{background:var(--mint)}

/* phone */
.sc-phone{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.ph{position:relative;width:138px;height:262px;border-radius:24px;background:#05080F;border:2px solid #3A4772;padding:8px}
.ph-notch{position:absolute;top:12px;left:50%;width:36px;height:5px;border-radius:3px;background:#05080F;transform:translateX(-50%);z-index:3}
.ph-scr{position:relative;width:100%;height:100%;border-radius:16px;background:#F3F5FA;overflow:hidden;color:#141A2B}
.ph-side .big{font-family:var(--display);font-weight:760;font-size:42px;letter-spacing:-.04em;line-height:1;color:var(--leak);transition:color .4s}
.after .ph-side .big{color:var(--mint)}
.ph-side .lab{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.3}
.pnote{position:relative;margin-top:14px;padding:8px 10px;border-radius:10px;background:var(--leak-soft);color:#FFB3BA;font-size:13px;font-weight:600;line-height:1.3;transition:background .4s,color .4s}
.pnote::before{content:"";position:absolute;left:-7px;top:12px;border:7px solid transparent;border-left:0;border-right-color:var(--leak-soft)}
.after .pnote{background:var(--mint-soft);color:#9BEBD6}
.after .pnote::before{border-right-color:var(--mint-soft)}
.intro .pnote{animation:pop .45s .5s both}
.scr{position:absolute;inset:0;padding:22px 9px 9px;display:flex;flex-direction:column;gap:6px;transition:opacity .5s,transform .5s}
.scr-a{opacity:0;transform:translateY(8px)}
.after .scr-b{opacity:0}
.after .scr-a{opacity:1;transform:none}
.w-nav{height:10px;border-radius:3px;background:#D5DAE6;flex:none}
.w-hero{padding:14px 6px;border-radius:6px;background:#DDE2EE;font-size:9.5px;font-weight:700;text-align:center;color:#5A6480}
.w-l{height:6px;border-radius:3px;background:#DADFEA;flex:none}.w-l.short{width:60%}
.w-blk{flex:1;min-height:16px;border-radius:6px;background:#E4E8F1}
.w-img{height:58px;border-radius:6px;background:linear-gradient(135deg,#2F7D8C,#1D3F6B);flex:none}
.w-tag{align-self:flex-start;padding:2px 6px;border-radius:4px;background:#FFE1E4;color:#C22B3C;font-size:8.5px;font-weight:700}
.w-h{font-family:var(--display);font-weight:750;font-size:13px;line-height:1.1;color:#141A2B;margin-bottom:2px}
.w-f{height:22px;flex:none;border-radius:5px;border:1px solid #C5CCDC;background:#fff;display:flex;align-items:center;padding:0 6px;font-size:8.5px;color:#7B86A0}
.w-f.sm{height:18px}
.w-f.bad{border-color:#F08A94;background:#FFF0F1;color:#C22B3C;font-weight:700}
.w-btn{padding:7px 4px;border-radius:6px;background:#FFB61E;color:#1A1300;font-size:9px;font-weight:800;text-align:center}
.w-call{padding:6px 4px;border-radius:6px;border:1px solid #1D3F6B;color:#1D3F6B;font-size:9px;font-weight:700;text-align:center}
.spin{width:22px;height:22px;margin:22px auto 6px;border-radius:50%;border:3px solid #D5DAE6;border-top-color:#7B86A0;animation:spin .9s linear infinite;flex:none}
.lbar{height:5px;border-radius:3px;background:#DADFEA;overflow:hidden;margin-bottom:8px;flex:none}
.lbar i{display:block;height:100%;width:60%;background:#C22B3C;animation:slow 3.4s linear infinite}
@keyframes slow{from{width:0}to{width:92%}}
.feed{padding:22px 8px 8px;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.fc{background:#fff;border-radius:8px;padding:5px;box-shadow:0 1px 3px rgba(20,26,43,.14)}
.fci{position:relative;height:42px;border-radius:5px;background:linear-gradient(135deg,#2F7D8C,#1D3F6B);overflow:hidden;transition:filter .6s}
.fci::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .6s}
.fc:nth-child(2) .fci::after{background:linear-gradient(135deg,#E0884A,#B8405E)}
.fc:nth-child(3) .fci::after{background:linear-gradient(135deg,#6B5BD6,#2E2A7A)}
.after .fci::after{opacity:1}
.feed.stale .fci{filter:grayscale(.85) brightness(.85)}
.after .feed.stale .fci{filter:none}
.fcb{position:absolute;right:4px;top:4px;z-index:1;padding:1px 5px;border-radius:4px;background:#C22B3C;color:#fff;font-size:8px;font-weight:700}
.fct{margin-top:4px;font-size:9.5px;font-weight:700;color:#141A2B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.story{height:100%;display:flex;flex-direction:column;background:#0B0F1C}
.hatch{flex:1 1 0;min-height:0;display:grid;place-items:center;overflow:hidden;font-size:9px;font-weight:700;color:#FF8D98;background:repeating-linear-gradient(45deg,rgba(255,93,108,.2) 0 6px,transparent 6px 12px);transition:flex-grow .7s,opacity .4s}
.crea{flex:0 0 56%;display:grid;place-items:center;padding:10px;text-align:center;background:linear-gradient(160deg,#2F7D8C,#1D3F6B);color:#fff;font-family:var(--display);font-weight:750;font-size:14px;line-height:1.1;transition:flex-basis .7s cubic-bezier(.2,.7,.2,1)}
.after .hatch{flex-grow:0;opacity:0}
.after .crea{flex-basis:100%}

/* fix area */
.steps li{transition:color .3s;color:var(--muted)}
.steps li::before{background:var(--raised);color:var(--muted);transition:background .3s,color .3s}
.steps li.done{color:#DCE2F0}
.steps li.done::before{background:var(--mint);color:var(--ink);content:"\2713"}
.incl2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.incl2 li{padding:8px 12px;border-radius:10px;background:rgba(111,168,255,.12);color:#BBD3FF;font-size:13.5px;font-weight:600}
.outd{border:1px solid #3A4A78;border-radius:14px;background:var(--ink);overflow:hidden;animation:pop .35s ease-out}
.outd summary{padding:12px 14px;font-weight:700;cursor:pointer;color:var(--gold)}
.outd .out{border:0;border-top:1px solid var(--line);border-radius:0;animation:none}

/* impact */
.impact{display:grid;gap:12px;margin-top:16px}
.impact>*{padding:16px;border-radius:16px;background:var(--ink);border:1px solid var(--line);opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.impact.go>*{opacity:1;transform:none}
.impact.go>*:nth-child(2){transition-delay:.18s}
.impact.go>*:nth-child(3){transition-delay:.36s}
.impact.go>*:nth-child(4){transition-delay:.54s}
.mv{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:750;font-size:40px;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.mf{color:var(--muted);font-size:26px;text-decoration:line-through;text-decoration-color:var(--leak);text-decoration-thickness:2px}
.mto{color:var(--mint)}
.arr{width:24px;height:24px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ml{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.35}
.gv{font-family:var(--display);font-weight:760;font-size:46px;letter-spacing:-.04em;line-height:1;color:var(--mint)}
.gain .bar{height:22px;margin-top:14px}
.gain .bar .lk{opacity:.45}
.gain .bar .me{background:var(--leak);transition:background .6s 1s}
.impact.go .bar .me{background:var(--mint)}
.gy{display:inline-block;margin-top:12px;padding:5px 12px;border-radius:999px;background:rgba(255,182,30,.13);color:var(--gold);font-weight:700;font-size:14px}
.ringrow{display:flex;align-items:center;gap:16px}
.ringw{position:relative;width:84px;height:84px;flex:none}
.ring{width:84px;height:84px;transform:rotate(-90deg)}
.rt{fill:none;stroke:var(--raised);stroke-width:8}
.rv{fill:none;stroke:var(--mint);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.2s .5s cubic-bezier(.2,.7,.2,1)}
.rn{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:26px;font-weight:750}
.rplus{font-family:var(--display);font-size:26px;font-weight:740;letter-spacing:-.02em;color:var(--mint);line-height:1.1}

.sheet-foot{position:relative}
.foot-2{display:grid;grid-template-columns:auto 1fr;gap:10px}
.btn[disabled]{opacity:.6;cursor:default}
.burst{position:absolute;left:50%;top:10px;pointer-events:none}
.burst i{position:absolute;width:8px;height:8px;border-radius:50%;animation:fly .85s ease-out forwards}
@keyframes fly{from{transform:rotate(var(--r)) translateY(0);opacity:1}to{transform:rotate(var(--r)) translateY(calc(var(--d) * -1));opacity:0}}

/* ---------- entry, verify, credits, guide ---------- */
.fld{display:block;margin-top:14px;text-align:left}
.fld span{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--muted)}
.fld input{width:100%;height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:16px}
.fld input::placeholder{color:#5F6C8C}
.fld input:focus{outline:2px solid var(--gold);outline-offset:1px}
.fld input.code{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.5em;text-align:center}
.err{margin-top:10px;color:var(--leak);font-weight:600;font-size:14px}
#startBox{margin-top:26px}
#startBox .btn{margin-top:16px}
.fine{margin-top:14px;color:var(--muted);font-size:13.5px}
.verify h1{font-family:var(--display);font-size:30px;font-weight:720;letter-spacing:-.03em;line-height:1.1;margin-top:6px}
.verify .scan-acct{text-align:left}
.verify .lead{color:var(--muted);font-size:16px}
.verify .btn{margin-top:18px}
.teaser{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.teaser div{padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.teaser b{display:block;font-family:var(--display);font-size:28px;font-weight:750;letter-spacing:-.03em;line-height:1.1;color:var(--leak)}
.teaser span{font-size:13px;color:var(--muted)}
.top-right{display:flex;align-items:center;gap:8px}
.coin{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,182,30,.13);color:var(--gold);font-weight:700;font-size:13.5px}
.ic-coin{width:15px;height:15px;vertical-align:-2px;flex:none}
.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;vertical-align:-3px;flex:none}
.acct summary span{display:block;max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row.is-fixed .row-title{color:var(--text);text-decoration:none}
.stat b .to{color:var(--mint)}
.stat b .ar{margin:0 6px;color:var(--muted);font-weight:500}
.lockc{position:relative;border:1px solid #3A4A78;border-radius:14px;background:var(--ink);overflow:hidden}
.blurp{padding:16px;display:grid;gap:9px;filter:blur(5px);opacity:.75}
.blurp i{display:block;height:10px;border-radius:5px;background:#3A4B7A}
.blurp i:nth-child(2){width:82%}.blurp i:nth-child(3){width:64%}.blurp i:nth-child(4){width:74%}
.lockc-over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px;text-align:center;background:rgba(12,18,34,.5)}
.lockc-over .ic{width:22px;height:22px;color:var(--gold);margin-bottom:2px}
.lockc-over b{font-weight:700}
.lockc-over span{font-size:13px;color:var(--muted)}
.steps.plain li{color:#DCE2F0}
.steps.plain li::before{background:var(--mint-soft);color:var(--mint)}
.cmp{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.cmp-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}
.cmp-row span{font-size:14px;color:#C9D1E4;line-height:1.3}
.cmp-row b{font-family:var(--display);font-size:19px;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cmp-row b.was{color:var(--muted)}
.cmp-row b.now{color:var(--mint)}
.cmp-head{border-top:0;background:var(--raised)}
.cmp-head span{font-size:12.5px;font-weight:700;color:var(--muted)}
.unlock{margin-top:18px;padding:18px;border-radius:18px;background:linear-gradient(150deg,#3D300C 0%,#1E2440 70%);border:1px solid #6B5416}
.unlock h3{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.unlock p{color:#D8CFAE;margin:6px 0 14px}
.unlock .bal{margin-top:12px;text-align:center;font-size:13.5px;color:var(--gold);font-weight:600}
.unlock.done{background:linear-gradient(150deg,#0F3A33 0%,#1E2440 70%);border-color:#1F6B5C}
.unlock.done p{color:#B6E6DA}
.chap{padding:14px 0;border-bottom:1px solid var(--line)}
.chap-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.chap-head .t{font-weight:650;line-height:1.3}
.chap-lock{margin-top:10px;border:1px dashed #3A4A78;border-radius:12px;overflow:hidden}
.blurp.two{padding:12px 14px 4px}
.chap-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 10px 14px;font-size:13.5px;color:var(--muted)}
.chap-open{margin-top:10px}
.how{padding:14px;border-top:1px solid var(--line)}
.how .out{border:0;animation:none;background:transparent}
.how .out-head{padding:0 0 10px;border:0}
.how .out-body{padding:0}
.how .note{padding:0}
.quiet .ic{color:var(--gold);margin-right:4px}
.cr-bal{flex:1;display:flex;align-items:center;gap:8px;color:var(--gold);font-weight:700}
.cr-bal .ic-coin{width:20px;height:20px}
.cr-bal b{font-family:var(--display);font-size:22px;letter-spacing:-.02em}
.cr-uses{margin-top:14px;border-top:1px solid var(--line)}
.cr-uses div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);color:#C9D1E4}
.cr-uses b{color:var(--gold);white-space:nowrap}
.pack{display:grid;grid-template-columns:1fr auto;gap:2px 12px;width:100%;margin-top:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--ink)}
.pack b{font-family:var(--display);font-size:20px;font-weight:720;letter-spacing:-.02em}
.pack small{color:var(--muted);font-size:13px}
.pack .pr{grid-row:1/3;grid-column:2;align-self:center;font-weight:700}
.pack.best{border-color:var(--gold);background:rgba(255,182,30,.08)}
.pack.best small{color:var(--gold)}

/* ---------- landing: channel tiles and popup ---------- */
.start{justify-content:flex-start}
.start h1{font-size:clamp(32px,9vw,48px);margin:28px 0 12px}
#startBox{margin-top:6px}
.grp{font-family:var(--display);font-size:15px;font-weight:650;color:var(--muted);margin:22px 0 10px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{position:relative;display:grid;gap:3px;align-content:start;padding:14px;min-height:118px;border-radius:16px;background:var(--surface);border:1px solid var(--line);transition:border-color .2s,background .2s,transform .12s}
.tile:hover{border-color:#3D4E7C}
.tile:active{transform:scale(.98)}
.tile.wide{grid-column:1/-1;min-height:0}
.tile-ic{width:38px;height:38px;border-radius:11px;background:var(--raised);display:grid;place-items:center;color:var(--gold);margin-bottom:8px;flex:none}
.tile-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tile-name{font-weight:700;font-size:16px}
.tile-sub{font-size:13px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.tile-mark{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:2px solid #45547C;display:grid;place-items:center}
.tile.on{border-color:var(--mint);background:rgba(61,220,180,.07)}
.tile.on .tile-sub{color:var(--mint);font-weight:600}
.tile.on .tile-mark{background:var(--mint);border-color:var(--mint)}
.tile.on .tile-mark::after{content:"";width:5px;height:10px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg) translateY(-1px)}
.startbar{position:sticky;bottom:0;margin:14px -22px 0;padding:18px 22px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(12,18,34,0),var(--ink) 30%)}
.startbar .btn{margin-top:0}
.startbar .err{margin:0 0 10px;text-align:center}
.startbar .fine{margin-top:10px;text-align:center}
.btn-idle{background:var(--raised);color:var(--muted);box-shadow:none}
.pick-head{flex:1;display:flex;align-items:center;gap:10px;font-weight:700}
.pick-head .tile-ic{margin:0}
.sheet.pop{top:12vh;bottom:auto;left:50%;right:auto;width:min(460px,calc(100% - 28px));border-radius:22px;border:1px solid var(--line);transform:translate(-50%,18px);opacity:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s}
.sheet.pop.on{transform:translate(-50%,0);opacity:1}
.sheet.pop .sheet-body{flex:none;padding-bottom:8px}
.sheet.pop .sheet-foot{border-top:0;border-radius:0 0 22px 22px;padding-bottom:16px}

/* ---------- real website results ---------- */
.scorewrap{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:12px 0 22px}
.scorering{position:relative;width:118px;height:118px}
.scorering svg{width:100%;height:100%;transform:rotate(-90deg)}
.scorering .rt,.scorering .rv{stroke-width:10}
.scorering.mid .rv{stroke:var(--gold)}
.scorering.low .rv{stroke:var(--leak)}
.scorering b{position:absolute;left:0;right:0;top:30px;text-align:center;font-family:var(--display);font-size:40px;font-weight:760;letter-spacing:-.03em;line-height:1}
.scorering span{position:absolute;left:0;right:0;top:74px;text-align:center;font-size:11.5px;color:var(--muted)}
.hero .scorewrap h1{margin:0;max-width:20ch;font-size:clamp(23px,6vw,34px);line-height:1.12}
.row-amt.found{font-family:var(--body);font-size:13.5px;font-weight:700;max-width:118px;white-space:normal;text-align:right;line-height:1.25}
.row-amt.found.fail{color:var(--leak)}
.row-amt.found.warn{color:var(--gold)}
.amt-line.warn{color:var(--gold)}
.what{margin-top:14px;font-weight:600;color:var(--text)!important}
.passed{margin-top:22px}
.passed ul{padding:0 14px 8px}
.passed li{position:relative;padding:8px 0 8px 24px;color:#C9D1E4;border-top:1px solid var(--line)}
.passed li::before{content:"";position:absolute;left:5px;top:13px;width:5px;height:9px;border-right:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:rotate(45deg)}
.mv.words{font-size:26px;flex-wrap:wrap;row-gap:6px}
.mv.words .mf{font-size:20px}
.sd-amt.good{color:var(--mint)}
.sd-amt.mid{color:var(--gold)}
.lens.done.clean .lens-mid b{color:var(--mint)}
.lens.done.clean .lens-glow{background:radial-gradient(circle,rgba(61,220,180,.3),transparent 62%)}
.sg{stroke-width:10}
.sweep{inset:28.5%}
.sg.warnd{stroke:var(--gold)}
.sg.skipd{stroke:#3A4B7A;opacity:.45}
.lens.waiting .sg:not(.pass):not(.fail):not(.warnd):not(.skipd){animation:waitp 1.3s ease-in-out infinite;animation-delay:var(--d)}
@keyframes waitp{50%{stroke:rgba(255,182,30,.6)}}
.tile.soon{opacity:.62}
.tile-soon{position:absolute;top:12px;right:12px;padding:2px 9px;border-radius:999px;background:var(--raised);color:var(--muted);font-size:12px;font-weight:700}
.bw{border-radius:12px;background:#F3F5FA;overflow:hidden;color:#141A2B}
.bw-bar{display:flex;gap:8px;align-items:center;padding:10px;background:#E1E6F0}
.bw-badge{flex:none;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:700;background:#FFE1E4;color:#C22B3C;transition:background .4s,color .4s}
.after .bw-badge{background:#D6F5EC;color:#0E7A61}
.bw-url{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bw-page{display:grid;gap:8px;grid-template-rows:auto auto 1fr;height:96px;padding:14px}
.crw-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.crw-row:first-child{padding-top:0}
.crw-row:last-child{border-bottom:0;padding-bottom:0}
.crw-ic{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--leak-soft);color:var(--leak);font-size:15px;font-weight:700;line-height:1;transition:background .4s,color .4s}
.crw-ic::before{content:"\00d7"}
.after .crw-ic{background:var(--mint-soft);color:var(--mint)}
.after .crw-ic::before{content:"\2713";font-size:12px}
.crw-l{font-size:14px;color:#C9D1E4;overflow-wrap:anywhere}
.crw-v{max-width:150px;font-size:14px;text-align:right;color:var(--leak);transition:color .4s}
.after .crw-v{color:var(--mint)}
.gh{overflow-wrap:anywhere}
.gh.flagged{color:#C22B3C}
.after .gh.flagged{color:#1A56C4}
.shr{display:flex;justify-content:flex-end}
.shr-bub{width:100%;max-width:260px;padding:8px;border-radius:14px 14px 4px 14px;background:#1F5A4D}
.shr-card{margin-bottom:8px;border-radius:9px;overflow:hidden;background:#17463C}
.shr-img{height:86px;background:linear-gradient(135deg,#2F7D8C,#1D3F6B)}
.shr-t{padding:8px 10px 0;font-weight:700;font-size:13.5px;color:#fff}
.shr-h{padding:2px 10px 9px;font-size:12px;color:#A9D6CB}
.shr-link{font-size:13.5px;color:#9FE8FF;text-decoration:underline;overflow-wrap:anywhere}
.ph-side .big.word{font-size:27px;letter-spacing:-.02em}
.w-slot{flex:none;padding:8px 4px;border-radius:6px;border:1.5px dashed #F08A94;background:#FFF0F1;color:#C22B3C;font-size:8.5px;font-weight:700;text-align:center}
.mini{display:grid;gap:5px;width:161%;transform:scale(.62);transform-origin:top left}
.mini-nav{height:8px;border-radius:2px;background:#C9D0DE}
.mini-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mini-cols i{height:34px;border-radius:3px;background:#D5DAE6}
.mini-l{height:4px;border-radius:2px;background:#D5DAE6}

/* overview: two containers on wide screens, one column in reading order otherwise */
main[data-view="overview"]{display:flex;flex-direction:column}
main[data-view="overview"] .ov-col{display:contents}
main[data-view="overview"] .hero{order:1}
main[data-view="overview"] .next{order:2}
main[data-view="overview"] .ov-leaks{order:3}
main[data-view="overview"] .partial{order:4}
main[data-view="overview"] .ov-areas{order:5}
main[data-view="overview"] .ov-note{order:6}

.partial{margin-top:26px;padding:18px;border-radius:18px;background:rgba(255,182,30,.07);border:1px solid rgba(255,182,30,.35)}
.partial .k{color:var(--gold);font-weight:700;font-size:14px}
.partial h3{font-family:var(--display);font-size:20px;font-weight:680;letter-spacing:-.02em;line-height:1.2;margin:6px 0 8px}
.partial p{color:#C9D1E4}
.allow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.allow div{padding:9px 13px;border-radius:12px;background:var(--ink);border:1px solid var(--line)}
.allow span{display:block;font-size:12px;color:var(--muted)}
.allow b{font-family:var(--display);font-size:16px;letter-spacing:-.01em}

.about{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.about .fld{margin-top:0}
.about select{width:100%;height:48px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:15px}
.about select:focus{outline:2px solid var(--gold);outline-offset:1px}
.ldr{margin-top:16px;padding:14px 16px;border-radius:14px;background:rgba(111,168,255,.08);border:1px solid rgba(111,168,255,.3)}
.ldr.opportunity{background:var(--mint-soft);border-color:rgba(61,220,180,.35)}
.ldr.optional{background:var(--raised);border-color:var(--line)}
.ldr-k{display:block;font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--blue)}
.ldr.opportunity .ldr-k{color:var(--mint)}
.ldr.optional .ldr-k{color:var(--muted)}
.ldr p{margin-top:6px;color:var(--text)!important;font-weight:600;line-height:1.4}
.ldr-s{display:block;margin-top:6px;font-size:12.5px;color:var(--muted)}

@media (min-width:900px){
  .tabs{top:calc(56px + env(safe-area-inset-top,0px));right:auto;width:216px;display:flex;flex-direction:column;gap:4px;padding:18px 12px;border-top:0;border-right:1px solid var(--line)}
  .tab{flex-direction:row;gap:12px;padding:11px 14px;border-radius:10px;font-size:15px}
  .tab[aria-current="page"]{background:var(--raised)}
  .tab[aria-current="page"]::before{display:none}
  .tab .badge{position:static;margin-left:auto}
  main{margin-left:216px;max-width:none;padding:34px 44px 60px}
  main>*{max-width:820px}
  .stats{grid-template-columns:2fr 1fr 1fr}
  .stat.full{grid-column:auto}
  .sheet{left:auto;top:0;width:540px;border-radius:22px 0 0 22px;border-top:0;border-left:1px solid var(--line);transform:translateX(100%)}
  .toast{bottom:28px}
}
.how3{display:none;gap:14px;margin-top:30px;counter-reset:h}
.how3 li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;color:#C9D1E4;counter-increment:h}
.how3 li::before{content:counter(h);width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:14px;color:var(--gold)}
.lens-mid{text-align:center}

/* ---------- desktop layouts ---------- */
@media (min-width:960px){
  /* landing: pitch on the left, choices on the right */
  .screen.start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-rows:auto auto auto auto auto 1fr;column-gap:72px;align-content:start;max-width:1200px;padding:40px 48px 56px}
  .start>.brand{grid-column:1/-1;margin-bottom:64px;font-size:22px}
  .start h1{grid-column:1;font-size:clamp(46px,4.8vw,68px);margin:0 0 20px}
  .start p.lead{grid-column:1;font-size:19px;max-width:30ch}
  .how3{display:grid;grid-column:1}
  #startBox{display:contents}
  .pickgrid{grid-column:2;grid-row:2 / span 5}
  .pickgrid .grp:first-child{margin-top:0}
  .tiles{gap:14px}
  .tiles.org{grid-template-columns:repeat(3,1fr)}
  .tile,.tile.wide{grid-column:auto;min-height:140px;padding:18px}
  .tile-name{font-size:17px}
  .startbar{grid-column:1;position:static;margin:34px 0 0;padding:0;background:none}
  .startbar .btn{max-width:380px}
  .startbar .fine,.startbar .err{text-align:left}
  .start .empty,.start #startBox>.fine{grid-column:1}

  /* diagnosis: rings on the left, story on the right */
  .screen.scan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:72px;align-content:center;justify-items:start;max-width:1120px;padding:48px;text-align:left}
  .scan>*{grid-column:2}
  .scan .lens{grid-column:1;grid-row:1 / span 6;width:min(100%,62vh,460px);margin:0;justify-self:center;align-self:center}
  .scan h1{font-size:34px;min-height:0;margin:6px 0 20px}
  .lens-mid b{font-size:84px}
  .lens-mid span{font-size:16px}
  .scan-status{margin-top:0}
  .scan-status .now{place-items:center start;font-size:17px}
  .scan-done{margin-top:0}
  .sd-amt{font-size:76px}
  .scan-done .btn{max-width:380px}
  .fun{margin-top:28px;max-width:480px}

  /* verification: a centred card */
  .screen.verify{max-width:none;align-items:center;justify-content:center}
  #verifyBox{width:100%;max-width:540px;padding:40px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.35)}
  #verifyBox .fld input,#verifyBox .teaser div{background:var(--ink)}
}
@media (min-width:1180px){
  /* results overview: two columns */
  main[data-view="overview"]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:40px;align-items:start;max-width:1280px}
  main[data-view="overview"]>*{max-width:none}
  main[data-view="overview"] .ov-col{display:block}
  main[data-view="overview"] .ov-col>*{order:0}
  main[data-view="overview"] .ov-side>.next{margin-top:0}
  main[data-view="overview"] .ov-side>.ov-leaks{margin-top:26px}
  main[data-view="overview"] .hero h1{max-width:none;font-size:52px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}