/* Tessera Scope. Tokens and phone chrome follow Tessera Command (core.css v0.10b). */
[hidden]{display:none !important}
:root{
  --bg:#050E0A; --panel:#0b1a13; --panel-2:#0f2219; --panel-solid:#0a1812;
  --border:rgba(143,168,184,0.26); --border-soft:rgba(143,168,184,0.12);
  --acc:#C9D6DE; --good:#36C84A;
  --tx:#E8F4F0; --tx2:#8FA8B8; --tx3:#7a93a7;
  --low:#7BC96F; --moderate:#E8C547; --elevated:#F5A623; --high:#E8743C; --critical:#D63A3A;
  --mono:'JetBrains Mono', ui-monospace, monospace; --sans:'Inter', system-ui, sans-serif;
  --bar-h:64px; --bar-gap:calc(84px + env(safe-area-inset-bottom));
  --col:480px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
body{background:radial-gradient(120% 60% at 50% -10%,#0d2a1b 0%,var(--bg) 60%) fixed var(--bg);overflow:hidden}
button{font:inherit;color:inherit}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
.muted{color:var(--tx2)} .faint{color:var(--tx3)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

#app{display:flex;flex-direction:column;height:100dvh;max-width:var(--col);margin:0 auto;position:relative}
.top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid rgba(143,168,184,.18);
  background:rgba(5,14,10,.62);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
.brand{font-size:17px;font-weight:700;display:flex;align-items:baseline;gap:8px}
.brand small{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--tx2);font-weight:500}
.mark{letter-spacing:.28em;font-size:11px;font-family:var(--mono);color:var(--tx)}
.demo-band{flex:0 0 auto;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#C9A02E;text-align:center;padding:3px 10px;border-bottom:1px solid var(--border-soft);background:rgba(201,160,46,.06)}

main{flex:1 1 auto;min-height:0;position:relative}
.scr{position:absolute;inset:0;display:flex;flex-direction:column;padding:12px 16px var(--bar-gap);overflow:hidden}
.scr.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}
.card{border-radius:18px;border:1px solid rgba(143,168,184,.22);background:linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92))}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:rgba(143,168,184,.06);color:var(--tx);font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--acc);color:#0a1218;border-color:var(--acc)}
.btn:disabled{opacity:.55;cursor:default}
.btn-row{display:flex;gap:10px}
.btn-row .btn{flex:1}

/* welcome */
.w-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px}
.w-title{font-size:34px;font-weight:700;margin:6px 0 0;letter-spacing:-.01em}
.w-for{font-size:19px;color:var(--tx);margin:0}
.w-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-soft);border-radius:16px;overflow:hidden;border:1px solid rgba(143,168,184,.18)}
.w-facts div{background:var(--panel-solid);padding:14px}
.w-facts b{display:block;font-family:var(--mono);font-size:26px;font-weight:600}
.w-facts span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx2)}
.w-how{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;color:var(--tx2);font-size:14px;line-height:1.4}
.w-how li{display:flex;gap:10px}
.w-how i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--tx3);padding-top:2px;min-width:16px}
.w-conf{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--tx2);padding:12px 14px;border-radius:14px;border:1px solid var(--border-soft);background:rgba(143,168,184,.04)}
.w-conf svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--tx2);stroke-width:1.6;margin-top:1px}
.w-done{color:var(--good)}

/* questions */
.q-top{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.q-back{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border-soft);background:none;cursor:pointer}
.q-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.q-back:disabled{opacity:.3}
.q-meta{flex:1;min-width:0}
.q-meta .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-count{font-family:var(--mono);font-size:11px;color:var(--tx3);margin-top:2px}
.prog{flex:0 0 auto;height:3px;background:rgba(143,168,184,.14);border-radius:2px;margin:10px 0 0;overflow:hidden}
.prog i{display:block;height:100%;background:var(--acc);transition:width .3s ease}
.q-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding-top:14px;overflow-y:auto}
.q-text{font-size:20px;font-weight:600;line-height:1.3;margin:0 0 6px}
.lvl{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;text-align:left;cursor:pointer;border-radius:14px;
  border:1px solid rgba(143,168,184,.2);background:linear-gradient(180deg,rgba(17,38,28,.9),rgba(8,20,14,.9));font-size:14.5px;line-height:1.3;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}
.lvl .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;border:1px solid var(--border);color:var(--tx2)}
.lvl:hover{border-color:rgba(201,214,222,.45)}
.lvl.on{border-color:var(--acc);background:rgba(201,214,222,.12)}
.lvl.on .n{background:var(--acc);color:#0a1218;border-color:var(--acc)}
.lvl:active{transform:scale(.99)}
.lvl.unsure{min-height:44px;justify-content:center;font-size:13.5px;color:var(--tx2);background:none;border-style:dashed;margin-top:2px}
.lvl.unsure.on{color:var(--tx)}
.q-why{font-size:12.5px;color:var(--tx3);line-height:1.4;margin:4px 2px 0}

/* result: one screen */
#s-result{gap:8px}
.r-hero{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 14px}
.r-hero .gauge{height:clamp(84px,14dvh,124px);width:auto;flex:none}
.r-hero .gauge .g-word{display:none}
.r-ht{display:flex;flex-direction:column;gap:2px;min-width:0}
.r-big{font-family:var(--mono);font-size:clamp(20px,3.4dvh,26px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.05}
.r-num{font-family:var(--mono);font-size:clamp(30px,6dvh,44px);font-weight:700;line-height:1}
.r-num small{font-size:.4em;color:var(--tx3);font-weight:500;margin-left:3px}
.r-poly{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px}
.r-poly svg{width:100%;height:100%;max-height:100%}
.r-top{flex:0 0 auto;display:flex;flex-direction:column;gap:6px}
.chipbtn{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border-radius:14px;cursor:pointer;text-align:left;
  border:1px solid rgba(143,168,184,.18);border-left:3px solid var(--c);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 12%,transparent),rgba(8,20,14,.9) 60%)}
.chipbtn .ct{flex:1;min-width:0;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chipbtn .cv{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--c)}
.chipbtn .cb{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c);border:1px solid currentColor;padding:1px 5px}
.chipbtn svg{width:16px;height:16px;fill:none;stroke:var(--tx3);stroke-width:1.8}
.r-empty{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center;color:var(--tx2)}
.r-partial{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--tx3);text-align:center}

/* polygon */
.poly .grid{fill:none;stroke:rgba(143,168,184,.14)}
.poly .grid.outer{stroke:rgba(143,168,184,.32)}
.poly .spoke{stroke:rgba(143,168,184,.12)}
.poly .shape{fill-opacity:.2;stroke-width:2;stroke-linejoin:round}
.poly .cmp{fill:none;stroke:#8FA8B8;stroke-width:1.4;stroke-dasharray:4 3}
.poly .dot{stroke:var(--bg);stroke-width:1.5}
.poly .ax{font-family:var(--mono);font-size:12px;fill:var(--tx2)}
.poly .axv{font-family:var(--mono);font-weight:700;font-size:12.5px}
.poly .bar-bg{fill:rgba(143,168,184,.14)}
.gauge .needle{stroke:var(--tx)} .gauge .needle-hub{fill:var(--tx)}
.gauge .g-word{font-family:var(--mono);font-size:15px;font-weight:700}
.poly-empty{color:var(--tx3);font-size:12px;text-align:center;padding:24px}

/* report */
.rp{display:flex;flex-direction:column;gap:14px;padding-bottom:12px}
.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--border-soft);padding-bottom:12px}
.rp-head h1{font-size:22px;margin:4px 0 2px}
.rp-head .meta{font-family:var(--mono);font-size:11px;color:var(--tx2);line-height:1.6;text-align:right}
.rp-sum{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;align-items:center;padding:12px}
.rp-sum .gauge{width:100%;height:auto}
.rp-sum .poly{width:100%;height:auto;max-height:220px}
.rp h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2);margin:6px 0 0;font-weight:500}
.rp-dom{display:flex;flex-direction:column;gap:0;border:1px solid rgba(143,168,184,.18);border-radius:16px;overflow:hidden}
.rp-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:11px 12px;border-bottom:1px solid var(--border-soft);background:rgba(10,24,18,.7);border-left:3px solid var(--c)}
.rp-row:last-child{border-bottom:0}
.rp-row .v{font-family:var(--mono);font-size:19px;font-weight:700;color:var(--c);line-height:1}
.rp-row .b{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c);margin-top:3px}
.rp-row .t{font-weight:600;font-size:14px}
.rp-row .f{font-size:13px;color:var(--tx2);line-height:1.4;margin-top:3px}
.rp-row .s{font-family:var(--mono);font-size:11px;color:var(--tx);margin-top:5px}
.rp-row .s::before{content:"MITMARK  ";color:var(--tx3);letter-spacing:.1em;font-size:9.5px;white-space:pre}
.rp-row .u{font-family:var(--mono);font-size:10px;color:var(--elevated);margin-top:4px}
.rp-unk{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px dashed rgba(245,166,35,.5);background:rgba(245,166,35,.06)}
.rp-unk b{font-family:var(--mono);font-size:26px;color:var(--elevated)}
.rp-unk span{font-size:13px;line-height:1.4;color:var(--tx)}
.rp-next{font-size:14px;line-height:1.5;color:var(--tx);padding:12px 14px}
.rp-next p{margin:0}
.rp-act{display:flex;flex-direction:column;gap:8px}
.rp-thanks{text-align:center;padding:18px 14px}
.rp-thanks h3{margin:0 0 6px;font-size:18px}
.rp-thanks p{margin:0;color:var(--tx2);font-size:14px;line-height:1.45}
.rp-foot{font-family:var(--mono);font-size:9.5px;color:var(--tx3);text-align:center;letter-spacing:.06em}

/* glass bottom bar (Command) */
.m-bar{position:fixed;left:50%;transform:translateX(-50%);width:calc(min(var(--col),100vw) - 24px);bottom:calc(10px + env(safe-area-inset-bottom));z-index:25;display:flex;justify-content:space-around;align-items:center;height:var(--bar-h);padding:0 6px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03)),rgba(8,20,14,.84);
  -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12)}
.m-bar button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;background:none;border:0;color:rgba(232,244,240,.66);font-size:10.5px;letter-spacing:.02em;padding:6px 0;border-radius:16px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.m-bar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.m-bar button.on{color:var(--acc);background:rgba(201,214,222,.12)}
.m-bar button:disabled{opacity:.35;cursor:default}

/* sheet */
.veil{position:fixed;inset:0;z-index:35;background:rgba(3,8,6,.5)}
.sheet{position:fixed;left:50%;bottom:0;width:min(var(--col),100vw);transform:translate(-50%,105%);max-height:86dvh;z-index:40;display:flex;flex-direction:column;
  border-top:1px solid var(--border);border-radius:20px 20px 0 0;background:rgba(6,18,12,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom)}
.sheet.open{transform:translate(-50%,0)}
.sh-head{position:relative;display:flex;justify-content:space-between;align-items:center;padding:18px 16px 10px;border-bottom:1px solid var(--border-soft)}
.sh-head::before{content:"";position:absolute;left:50%;top:6px;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:rgba(255,255,255,.25)}
.sh-x{width:44px;height:44px;background:none;border:0;color:var(--tx2);font-size:26px;cursor:pointer;line-height:1;margin:-10px -10px -10px 0}
.sh-body{padding:12px 16px 20px;overflow-y:auto;line-height:1.5}
.ar{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 4px;background:none;border:0;border-bottom:1px solid var(--border-soft);text-align:left;cursor:pointer}
.ar:last-child{border-bottom:0}
.ar .st{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);font-family:var(--mono);font-size:11px;color:var(--tx2)}
.ar.done .st{background:rgba(54,200,74,.14);border-color:var(--good);color:var(--good)}
.ar.part .st{border-color:var(--acc);color:var(--acc)}
.ar .at{flex:1;min-width:0}
.ar .at b{display:block;font-size:15px;font-weight:600}
.ar .at span{font-family:var(--mono);font-size:10.5px;color:var(--tx3)}
.ar .av{font-family:var(--mono);font-size:14px;font-weight:700}
.dd-sum{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.dd-sum b{font-family:var(--mono);font-size:34px;line-height:1}
.dd-sum .cb{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;padding:2px 6px}
.dd-f{font-size:14.5px;color:var(--tx);margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--c);background:rgba(143,168,184,.05);border-radius:0 10px 10px 0}
.dd-s{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:12px;margin-bottom:14px}
.dd-s span:first-child{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--tx3);padding-top:2px}
.dd-q{padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px}
.dd-q:last-child{border-bottom:0}
.dd-q .qq{color:var(--tx2)}
.dd-q .qa{display:flex;gap:8px;align-items:baseline;margin-top:3px;font-weight:500}
.dd-q .qa i{font-style:normal;font-family:var(--mono);font-size:11px;min-width:18px}
.dd-edit{margin-top:14px}

/* states */
.calm{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:center;padding:24px}
.calm h2{margin:0;font-size:20px}
.calm p{margin:0;color:var(--tx2);line-height:1.5}
.save-dot{position:fixed;top:calc(12px + env(safe-area-inset-top));right:50%;transform:translateX(calc(min(var(--col),100vw)/2 - 92px));font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--tx3);z-index:30;pointer-events:none;opacity:0;transition:opacity .3s}
.save-dot.on{opacity:1}

@media (min-width:681px){
  #app{border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}
}
@media (max-height:700px){
  .q-text{font-size:18px}
  .lvl{min-height:46px;padding:8px 12px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important}
}
@media (prefers-reduced-transparency:reduce){
  .m-bar,.top,.sheet{background:#081510;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ===== print: clean A4 report ===== */
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  :root{--tx:#111a16;--tx2:#44525c;--tx3:#6b7780;--border-soft:#d9dfe3;--bg:#fff}
  html,body{height:auto;overflow:visible;background:#fff !important;color:#111a16;font-size:11pt}
  body *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .top,.demo-band,.m-bar,.sheet,.veil,.save-dot,.rp-act,.no-print{display:none !important}
  #app{display:block;height:auto;max-width:none;border:0}
  main{display:block}
  .scr{display:none !important}
  #s-report{display:block !important;position:static;padding:0;overflow:visible}
  .card{background:#fff !important;border-color:#d9dfe3 !important}
  .rp{gap:10px}
  .rp-head{border-color:#c9d0d5}
  .rp-head .meta{color:#44525c}
  .rp-sum{grid-template-columns:.8fr 1.2fr;break-inside:avoid}
  .rp-sum .poly{max-height:250px}
  .rp-dom{border-color:#d9dfe3}
  .rp-row{background:#fff !important;break-inside:avoid;border-bottom-color:#e3e8eb}
  .rp-row .s{color:#111a16}
  .rp-unk{background:#fff8ec !important;break-inside:avoid}
  .rp-unk span{color:#111a16}
  .rp-next{break-inside:avoid;color:#111a16}
  .poly .grid{stroke:#d3dadf}.poly .grid.outer{stroke:#a9b4bb}.poly .spoke{stroke:#e1e6e9}
  .poly .ax{fill:#44525c}.poly .dot{stroke:#fff}
  .poly .bar-bg{fill:#e6eaed}
  .gauge .needle{stroke:#111a16}.gauge .needle-hub{fill:#111a16}
  .rp-foot{color:#6b7780}
}
.sheet:not(.open){visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
@media screen and (max-width:520px){
  .rp-sum{grid-template-columns:1fr;gap:4px}
  .rp-sum .gauge{max-width:220px;margin:0 auto;display:block}
  .rp-sum .poly{max-height:300px}
}

/* ===== v1.1 set-up flow ===== */
.for-band{flex:0 0 auto;font-size:12.5px;color:var(--tx);text-align:center;padding:6px 12px;border-bottom:1px solid var(--border-soft);background:rgba(201,214,222,.07);letter-spacing:.01em}
.for-band b{font-weight:600}
.scr.su{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.su-wrap{display:flex;flex-direction:column;gap:12px;padding-bottom:8px;animation:suin .22s ease}
@keyframes suin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.su-top{display:flex;align-items:center;gap:12px;min-height:44px}
.su-steps{flex:1;display:flex;gap:6px}
.su-steps i{flex:1;height:3px;border-radius:2px;background:rgba(143,168,184,.16)}
.su-steps i.on{background:var(--acc)}
.su-org{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:2px 0 0}
.su-h{font-size:24px;font-weight:650;line-height:1.2;margin:0}
.su-p{margin:0;color:var(--tx2);font-size:14.5px;line-height:1.5}
.su-lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2);margin-top:8px}
.su-or{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--tx3);text-align:center;margin:4px 0 -4px}
.su-list,.su-cont{display:flex;flex-direction:column;border:1px solid rgba(143,168,184,.2);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92))}
.su-cont{border-color:rgba(201,214,222,.45)}
.calm .su-cont{margin-top:10px;text-align:left}
.su-row{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;background:none;border:0;border-bottom:1px solid var(--border-soft);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.su-row:last-child{border-bottom:0}
.su-row:hover{background:rgba(143,168,184,.05)}
.su-row:active{background:rgba(201,214,222,.1)}
.su-row svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--tx3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.su-rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.su-rt b{font-size:16px;font-weight:600;line-height:1.25}
.su-rt span{font-size:12.5px;color:var(--tx3);line-height:1.35}
.su-alt b{font-weight:500;color:var(--tx2)}
.su-alt.on{background:rgba(201,214,222,.08)}
.su-go b{color:var(--acc)}
.su-none{margin:0;padding:14px;color:var(--tx3);font-size:13.5px}
.su-search{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:#020805}
.su-search svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--tx3);stroke-width:1.8;stroke-linecap:round}
.su-search input{flex:1;min-width:0;height:48px;background:none;border:0;color:var(--tx);font:16px var(--sans);outline:none}
.su-form{display:flex;flex-direction:column;gap:12px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld>span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.fld em{font-style:normal;color:var(--tx3);letter-spacing:.08em;margin-left:6px;text-transform:none}
.fld input{min-height:52px;padding:12px 14px;background:#020805;border:1px solid var(--border);border-radius:14px;color:var(--tx);font:16px var(--sans);width:100%}
.fld input:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px rgba(201,214,222,.12)}
.su-err{margin:0;min-height:1.2em;color:var(--high);font-size:13.5px}
.su-opts{display:flex;flex-direction:column;gap:10px}
.su-opt{display:flex;align-items:flex-start;gap:14px;width:100%;min-height:72px;padding:14px 16px;text-align:left;cursor:pointer;border-radius:16px;border:1px solid rgba(143,168,184,.22);background:linear-gradient(180deg,rgba(17,38,28,.9),rgba(8,20,14,.9));-webkit-tap-highlight-color:transparent}
.su-opt.on{border-color:var(--acc);background:rgba(201,214,222,.1)}
.su-dot{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);margin-top:1px;display:grid;place-items:center}
.su-opt.on .su-dot{border-color:var(--acc)}
.su-opt.on .su-dot::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--acc)}
.su-opt .su-rt span{font-size:13.5px;color:var(--tx2)}
.su-tog{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:12px 16px;text-align:left;cursor:pointer;border-radius:16px;border:1px solid var(--border-soft);background:none;-webkit-tap-highlight-color:transparent}
.su-tog .su-rt b{font-size:15px;font-weight:500}
.sw{flex:none;width:50px;height:30px;border-radius:15px;background:rgba(143,168,184,.25);position:relative;transition:background .2s}
.sw i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#E8F4F0;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.su-tog.on .sw{background:var(--good)}
.su-tog.on .sw i{transform:translateX(20px)}
.su-create{min-height:54px;font-size:16px;margin-top:2px}
.su-fine{margin:0;text-align:center;font-size:12px;color:var(--tx3)}
@media print{.for-band{display:none !important}}

/* ---------- v2 ---------- */
.meter{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0;margin:10px 0 0}
.su-top .meter{margin:0}
.mt-n{font-size:11px;color:var(--tx2);white-space:nowrap}
.mt-b{flex:1;height:4px;border-radius:2px;background:rgba(143,168,184,.16);overflow:hidden}
.mt-b i{display:block;height:100%;background:var(--acc);transition:width .3s ease}
.mt-p{font-size:11px;color:var(--tx3);min-width:34px;text-align:right}
.w-wrap .meter{flex:0 0 auto;margin:0}
.q-help{margin:-4px 2px 2px;font-size:12.5px;color:var(--tx3)}
.lvl.chk .bx{flex:none;width:22px;height:22px;border-radius:5px;border:1px solid var(--border);display:grid;place-items:center}
.lvl.chk.on .bx{background:var(--acc);border-color:var(--acc)}
.lvl.chk.on .bx::after{content:"";width:10px;height:5px;border-left:2px solid #0a1218;border-bottom:2px solid #0a1218;transform:rotate(-45deg) translate(1px,-1px)}
.lvl.chk.none{border-style:dashed}
.q-cont{flex:none;margin-top:4px}
.q-cont:disabled{opacity:.4}
.ax.tap{cursor:pointer}
.ax.tap:hover{fill:var(--tx)}
.dv{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}
.dv li{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border-left:2px solid var(--c);background:rgba(143,168,184,.05);border-radius:0 8px 8px 0}
.dv-r{flex:none;font-size:10.5px;color:var(--c);min-width:20px;padding-top:2px}
.dv-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.dv-t b{font-weight:500;font-size:13.5px;line-height:1.35}
.dv-t span{font-size:11.5px;color:var(--tx3);line-height:1.35}
.dv-none{font-size:12.5px;color:var(--tx3);margin:4px 0}
.cs-box{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cs-box p{margin:0;font-size:14px;line-height:1.5;color:var(--tx)}
.cs-tog .cs-chk{flex:none;width:24px;height:24px;border-radius:6px;border:1px solid var(--border);display:grid;place-items:center;order:-1}
.cs-tog.on .cs-chk{background:var(--acc);border-color:var(--acc)}
.cs-tog.on .cs-chk::after{content:"";width:11px;height:5px;border-left:2px solid #0a1218;border-bottom:2px solid #0a1218;transform:rotate(-45deg) translate(1px,-1px)}
.su-create:disabled{opacity:.4}
@media print{.dv li{background:none}}

/* ---------- v2b accounts ---------- */
.top-r{display:flex;align-items:center;gap:14px}
.top-out{min-height:44px;margin:-10px 0;padding:0 2px;background:none;border:0;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);cursor:pointer}
.top-out:hover,.top-out:focus-visible{color:var(--tx)}
.save-dot{transform:translateX(calc(min(var(--col),100vw)/2 - 182px))}
.note-band{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.4;color:var(--tx);padding:6px 6px 6px 14px;border-bottom:1px solid var(--border-soft);background:rgba(232,197,71,.07)}
.note-band span{flex:1}
.note-band button{flex:none;width:36px;height:36px;background:none;border:0;color:var(--tx2);font-size:20px;cursor:pointer}
.pw{position:relative;display:block}
.pw input{padding-right:84px}
.pw-eye{position:absolute;top:4px;right:4px;bottom:4px;display:flex;align-items:center;gap:6px;padding:0 12px;background:none;border:0;border-left:1px solid var(--border-soft);color:var(--tx2);cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.pw-eye svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.pw-eye[aria-pressed=true]{color:var(--tx)}
.fld>.pw-hint{font-family:var(--sans);font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--tx3)}
.au-em{color:var(--tx);font-weight:600;word-break:break-all}
.au{gap:14px}
.au-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-left:2px solid var(--moderate)}
.au-note b{font-weight:600;font-size:14.5px}
.au-note span{font-size:13.5px;color:var(--tx2);line-height:1.45}
.au-link{align-self:center;min-height:44px;padding:0 10px;background:none;border:0;color:var(--acc);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.au-link.in{display:inline;min-height:0;padding:0;font-size:inherit}
.au-in{margin-top:12px}
.au-pr{display:flex;align-items:center;gap:8px;margin-top:4px}
.au-pr i{flex:1;max-width:120px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--acc) var(--p),rgba(143,168,184,.18) var(--p))}
.au-pr em{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--tx3)}
.idle{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(3,8,6,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.idle-card{width:min(400px,100%);padding:20px 18px;display:flex;flex-direction:column;gap:12px}
.idle-card p{margin:0 0 4px;line-height:1.5;color:var(--tx2)}
.idle-card p b{color:var(--tx);font-size:16px}
@media print{.note-band,.idle,.top-out{display:none !important}}

/* v2e: what you can do */
.cd{margin:8px 0 4px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;display:flex;flex-direction:column;gap:10px}
.cd-h{font-size:9.5px;letter-spacing:.14em;color:var(--tx3)}
.cd-s b{font-size:13.5px;font-weight:600}
.cd-s p{margin:3px 0 0;font-size:12.5px;line-height:1.45;color:var(--tx2)}
.cd-m{margin-top:6px;padding-left:10px;border-left:2px solid var(--acc)}
.cd-m .mono{font-size:9.5px;letter-spacing:.1em;color:var(--acc)}
.cd-p{font-size:9.5px;letter-spacing:.06em;color:var(--tx3);white-space:nowrap}
@media print{.cd{break-inside:avoid}.cd-m .mono{color:#111a16}}

/* v2f: MITMARK view as client (sits under the header, stays in view: the app column does not scroll) */
.view-band{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 14px;border-bottom:1px solid #E8C547;background:rgba(40,34,8,.96);font-size:12.5px;color:var(--tx)}
.view-band b{font-weight:600}
.view-band button{flex:none;min-height:36px;padding:0 14px;border-radius:9px;border:1px solid #E8C547;background:none;color:#E8C547;font:600 13px var(--sans);cursor:pointer}
@media print{.view-band{display:none !important}}

/* ===== v3: Command-style overview ===== */
#s-result{gap:0;padding-left:12px;padding-right:12px}
.g-home{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}
.g-hero{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;color:var(--tx);padding:10px 14px;border-radius:18px;border:1px solid rgba(143,168,184,.25);border-top:2px solid var(--c);background:linear-gradient(160deg,rgba(20,44,32,.95),rgba(8,20,14,.95));font:inherit}
.g-hero-g{flex:none}
.g-hero-g svg{height:clamp(58px,9.5dvh,96px);width:auto;display:block}
.g-hero-t{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.g-sub{font-size:9.5px;letter-spacing:.12em;color:var(--tx2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.g-big{font-size:clamp(19px,3.2dvh,24px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.g-big b{font-size:1.25em;margin-left:4px}
.g-delta{font-size:9.5px;letter-spacing:.06em;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-meter{display:flex;flex-direction:column;gap:4px;margin-top:2px}
.g-meter .mt-b{flex:none;width:100%}
.g-meter .mono{font-size:10px;color:var(--tx2)}
.g-ticker{display:flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;color:var(--tx);padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(232,116,60,.07);font:inherit;min-height:44px}
.g-ticker.g-quiet{cursor:default;background:rgba(143,168,184,.05)}
.g-tk-c{flex:none}
.g-pill{display:inline-block;font-size:9px;letter-spacing:.1em;color:var(--c);border:1px solid var(--c);padding:2px 5px}
.g-tk-t{flex:1;min-width:0;font-size:12.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.g-tk-n{flex:none;font-size:9.5px;color:var(--tx3)}
.g-ticker.g-in .g-tk-t{animation:g-fade .45s ease}
@keyframes g-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.g-ticker.g-in .g-tk-t{animation:none}}
.g-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.g-tile{aspect-ratio:1/1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;padding:7px 4px 6px;cursor:pointer;color:var(--tx);font:inherit;
  border-radius:14px;border:1px solid rgba(143,168,184,.18);border-top:2px solid var(--c);background:linear-gradient(180deg,rgba(17,38,28,.95),rgba(8,20,14,.95));overflow:hidden;-webkit-tap-highlight-color:transparent}
.g-tile:active{transform:scale(.97)}
.g-tile.wide{aspect-ratio:auto}
.g-l{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-v{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}
.g-v svg.gauge{width:88%;height:auto;max-height:100%}
.g-n{display:flex;align-items:baseline;gap:4px;line-height:1}
.g-n b{font-family:var(--mono);font-size:15px;font-weight:700}
.g-s{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.g-open{font-size:10px;letter-spacing:.12em;color:var(--tx3)}
.g-ring{height:100%;max-height:52px;width:auto}
.g-ring-t{font-family:var(--mono);font-size:10px;font-weight:700;fill:var(--tx)}
.g-comp.wide .g-v{flex:1}
.g-ico{height:24px;width:24px;fill:none;stroke:var(--tx3);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.g-locked{opacity:.5;border-top-color:rgba(255,255,255,.12);background:rgba(10,22,16,.7)}
.g-locked .g-l{color:var(--tx3)}
.g-lk{white-space:normal;text-align:center;font-size:7px;line-height:1.25;color:var(--tx3);letter-spacing:.06em}
.g-foot{font-size:9.5px;letter-spacing:.1em;color:var(--tx3);text-align:center;margin:2px 0 0}
.lk-s{text-align:center;display:flex;flex-direction:column;gap:8px;padding:6px 4px 12px}
.lk-i .g-ico{width:34px;height:34px}
.lk-h{margin:4px 0 0;font-weight:600;font-size:16px}
.lk-p{margin:0;color:var(--tx2);font-size:14px;line-height:1.5}
.lk-f{margin:6px 0 0;font-size:12.5px;color:var(--tx3)}
.m-group{background:rgba(15,34,25,.85);border:1px solid rgba(143,168,184,.18);border-radius:16px;overflow:hidden}
.m-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:52px;background:none;border:0;border-bottom:1px solid rgba(143,168,184,.1);color:var(--tx);font:15px var(--sans);padding:0 14px;cursor:pointer;text-align:left}
.m-row:last-child{border-bottom:0}
.m-row span{color:var(--tx3);font-size:18px}
.m-danger{color:#E8743C}
.m-foot{font-size:9.5px;letter-spacing:.1em;color:var(--tx3);text-align:center;margin:12px 0 4px}
.cd .lad{list-style:none;margin:6px 0 0;padding:0;border:1px solid var(--border-soft);border-radius:10px;overflow:hidden}
.cd .lad li{display:flex;flex-direction:column;gap:2px;padding:7px 10px;font-size:12.5px;line-height:1.4;color:var(--tx2);border-bottom:1px solid var(--border-soft)}
.cd .lad li:last-child{border-bottom:0}
.cd .lad .mono{font-size:9px;letter-spacing:.08em;color:var(--tx3)}
.cd .lad .l2{background:rgba(201,214,222,.04)}.cd .lad .l3{background:rgba(201,214,222,.08)}.cd .lad .l3 .mono{color:var(--acc)}
@media print{.cd .lad li{background:none}.cd .lad .l3 .mono{color:#111a16}}

/* ===== v3.1: arresting overview ===== */
.g-vis{width:100%;height:100%;max-height:100%;display:block;overflow:visible}
.g-unscored .g-vis{opacity:.35}
.g-hero{position:relative;overflow:hidden}
.g-hero-g{position:relative}
.g-hero-g::before{content:"";position:absolute;inset:-30% -20%;background:radial-gradient(closest-side,var(--c),transparent);opacity:.22;filter:blur(8px);pointer-events:none}
.g-hero-g svg{position:relative}
.g-big b{font-size:1.5em}
.g-hero .needle{transform-box:view-box;transform-origin:100px 100px;animation:g-needle 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes g-needle{from{transform:rotate(calc(var(--a) * -1.8deg))}to{transform:none}}
.g-tile{animation:g-in .45s ease both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes g-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.g-tile.g-locked{animation-name:g-in-l}
@keyframes g-in-l{from{opacity:0}to{opacity:.78}}
.g-hot{grid-column:span 2;aspect-ratio:auto;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:8px;padding:8px 10px;text-align:left;
  border-color:color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 0 22px -4px color-mix(in srgb,var(--c) 70%,transparent),inset 0 0 18px -8px var(--c);
  background:radial-gradient(120% 100% at 0% 0%,color-mix(in srgb,var(--c) 22%,transparent),transparent 60%),linear-gradient(180deg,rgba(17,38,28,.95),rgba(8,20,14,.95))}
.g-hot-v{flex:0 0 42%;display:flex;align-items:center}
.g-hot-t{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
.g-hot .g-l{white-space:normal;line-height:1.3;color:var(--tx)}
.g-hot .g-n b{font-size:22px}
.g-hot-d{font-size:10.5px;line-height:1.3;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.g-sweep{transform-box:view-box;transform-origin:40px 24px;animation:g-rot 4s linear infinite}
@keyframes g-rot{to{transform:rotate(360deg)}}
.g-blip{animation:g-ping 4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes g-ping{0%,100%{opacity:.55}50%{opacity:1}}
.g-ring-on{animation:g-glow 2.8s ease-in-out infinite;animation-delay:var(--d)}
@keyframes g-glow{0%,100%{opacity:.6}50%{opacity:1}}
.g-coin{animation:g-drop .5s ease both;animation-delay:calc(.25s + var(--d))}
@keyframes g-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.g-line{stroke-dasharray:200;stroke-dashoffset:200;animation:g-draw 1.2s ease .2s forwards}
@keyframes g-draw{to{stroke-dashoffset:0}}
.g-fill{transform-box:fill-box;transform-origin:50% 100%;animation:g-rise .9s ease .2s both}
@keyframes g-rise{from{transform:scaleY(0)}to{transform:none}}
.g-locked{opacity:.78;background:linear-gradient(180deg,rgba(14,30,22,.85),rgba(8,18,13,.85))}
.g-locked .g-v{position:relative}
.g-tease{filter:blur(1.6px) grayscale(.75);opacity:.5}
.g-lock-o{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.g-lock-o .g-ico{width:20px;height:20px;stroke:var(--tx);padding:4px;border-radius:50%;background:rgba(5,14,10,.7);box-sizing:content-box}
.g-locked .g-lk{color:var(--acc);font-size:7.5px;letter-spacing:.1em}
@media (prefers-reduced-motion:reduce){
  .g-hero .needle,.g-tile,.g-sweep,.g-blip,.g-ring-on,.g-coin,.g-line,.g-fill{animation:none !important}
  .g-line{stroke-dashoffset:0}
}

/* ===== v3.2: dense even mosaic, triage copy, older Safari ===== */
#s-result{padding:8px 8px calc(var(--bar-h) + 18px + env(safe-area-inset-bottom))}
.g-home{gap:8px;padding-bottom:0}
.g-grid{gap:8px;grid-auto-flow:row dense;grid-auto-rows:var(--row,86px)}
.g-tile,.g-tile.wide,.g-hot{aspect-ratio:auto;height:auto;min-height:0}
.g-hot{border-color:var(--cg);box-shadow:0 0 22px -4px var(--cg),inset 0 0 18px -8px var(--c);
  background:radial-gradient(120% 100% at 0% 0%,var(--cs),transparent 60%),linear-gradient(180deg,rgba(17,38,28,.95),rgba(8,20,14,.95))}
.g-ind{font-size:9px;letter-spacing:.14em;color:var(--tx2)}
.g-tri{margin:0;font-size:11px;line-height:1.4;color:var(--tx2);text-align:center;padding:0 4px}
.g-tk-p{color:var(--tx2);font-weight:500}
.g-foot{margin:0;padding:2px 0 0}
.g-illus{position:absolute;left:0;right:0;bottom:-1px;text-align:center;font-size:7px;letter-spacing:.12em;color:var(--tx2)}
.rp-tri{border:1px solid #E8C547;background:rgba(232,197,71,.08);border-radius:14px;padding:12px 14px}
.rp-tri b{display:block;font-size:14px;margin-bottom:4px;color:#E8C547}
.rp-tri p{margin:0;font-size:13.5px;line-height:1.5;color:var(--tx)}
.rp-sub{margin:-6px 0 2px;font-size:12.5px;color:var(--tx2)}
.cd-conf{color:var(--tx);font-weight:600}
@media print{.rp-tri{border-color:#b08d00;background:#fff8e1 !important}.rp-tri b{color:#5a4600}.rp-tri p{color:#111a16}}

/* v3.2 accessibility fixes */
.dv-r{color:var(--tx);font-weight:700}
.g-locked{opacity:1}
@keyframes g-in-l{from{opacity:0}to{opacity:1}}
.g-locked .g-l{color:var(--tx2)}
.g-pill{background:var(--c);color:var(--pt,#0a1218);border-color:var(--c);font-weight:700}
#note-x{min-width:44px;min-height:44px}
.view-band button{min-height:44px}
.save-dot{color:var(--tx2)}
.g-hot .g-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.g-hot-d{-webkit-line-clamp:2}
.g-hot-t{gap:2px}
.g-illus{top:0;bottom:auto}
.g-lk{white-space:nowrap}
@media (max-width:379px){
  .g-tile{padding:5px 3px 4px}
  .g-l{font-size:7.5px}
  .g-n b{font-size:13px}
  .g-s{font-size:7px;letter-spacing:.04em}
  .g-locked .g-lk{font-size:6.5px;letter-spacing:.04em}
  .g-illus{font-size:6px;letter-spacing:.06em}
  .g-hot .g-n b{font-size:18px}
  .g-hot-d{font-size:9.5px}
  .g-hot-v{flex-basis:36%}
}
.g-hot-d b{color:var(--tx);font-weight:600}

/* v3.2: three across (Sunray), larger and more legible tiles */
.g-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-tile{padding:8px 6px 7px}
.g-l{font-size:10px;letter-spacing:.08em}
.g-n b{font-size:20px}
.g-s{font-size:9px}
.g-locked .g-lk{font-size:8.5px;letter-spacing:.08em}
.g-illus{font-size:7.5px}
.g-hot .g-n b{font-size:26px}
.g-hot-d{font-size:11.5px;-webkit-line-clamp:3}
.g-hot .g-l{font-size:10px}
.g-ring{max-height:72px}
.g-lock-o .g-ico{width:22px;height:22px}
@media (max-width:379px){
  .g-tile{padding:6px 4px 5px}
  .g-l{font-size:9px}
  .g-n b{font-size:17px}
  .g-s{font-size:8px;letter-spacing:.06em}
  .g-locked .g-lk{font-size:7.5px}
  .g-illus{font-size:7px}
  .g-hot .g-n b{font-size:22px}
  .g-hot-d{font-size:10.5px}
}
.g-hot-d{-webkit-line-clamp:2}
.g-hot-t{overflow:hidden}
@media (min-width:420px){.g-hot-d{-webkit-line-clamp:3}}

/* ===== v3.4: soft hue glow replaces solid coloured tile tops; critical breathes ===== */
.g-tile,.g-hero{border-top-width:1px;border-top-color:rgba(143,168,184,.18)}
.sev-low{--gl:rgba(123,201,111,.30);--gi:rgba(123,201,111,.10)}
.sev-moderate{--gl:rgba(232,197,71,.36);--gi:rgba(232,197,71,.12)}
.sev-elevated{--gl:rgba(245,166,35,.44);--gi:rgba(245,166,35,.14)}
.sev-high{--gl:rgba(232,116,60,.55);--gi:rgba(232,116,60,.18)}
.sev-critical{--gl:rgba(214,58,58,.70);--gi:rgba(214,58,58,.24)}
.g-tile[class*="sev-"],.g-hero[class*="sev-"],.c-alert[class*="sev-"]{border-color:var(--gl);border-top-color:var(--gl);
  box-shadow:0 0 16px -6px var(--gl),inset 0 0 22px -8px var(--gi);
  background:radial-gradient(120% 90% at 50% 0%,var(--gi),transparent 70%),linear-gradient(180deg,rgba(17,38,28,.95),rgba(8,20,14,.95))}
.g-tile.g-hot[class*="sev-"]{box-shadow:0 0 24px -4px var(--gl),inset 0 0 22px -6px var(--gi)}
.sev-critical{animation:g-breathe 3s ease-in-out infinite}
.g-tile.sev-critical{animation:g-in .45s ease both,g-breathe 3s ease-in-out .5s infinite;animation-delay:calc(var(--i,0) * 45ms),.5s}
@keyframes g-breathe{0%,100%{box-shadow:0 0 12px -6px var(--gl),inset 0 0 18px -10px var(--gi)}50%{box-shadow:0 0 26px -2px var(--gl),inset 0 0 26px -6px var(--gl)}}
@media (prefers-reduced-motion:reduce){.sev-critical,.g-tile.sev-critical{animation:none !important}}

/* ---------- v2.3 respondent polish (5 Nov 2026) ---------- */
::selection{background:rgba(201,214,222,.28);color:var(--tx)}
input,textarea{caret-color:var(--acc)}
.q-back{border-color:transparent;background:rgba(143,168,184,.06);border-radius:50%}
.q-back:hover{background:rgba(143,168,184,.12)}
.q-back:disabled{opacity:.25}
.q-count{font-size:11px;color:var(--tx2)}
.q-body{gap:10px;padding-top:18px}
.q-body.enter>*{animation:qin .26s cubic-bezier(.16,1,.3,1) both}
.q-intro{margin:0 2px 2px;font-size:13.5px;line-height:1.5;color:var(--tx2);max-width:44ch}
.q-text{font-size:22px;line-height:1.28;letter-spacing:-.01em;margin:0 0 8px;text-wrap:balance}
.lvl{gap:14px;min-height:56px;padding:12px 16px;font-size:15px}
.lvl .rd{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);display:grid;place-items:center;transition:border-color .15s}
.lvl.on{border-color:var(--acc);background:rgba(201,214,222,.14);box-shadow:0 0 0 1px var(--acc) inset}
.lvl.on .rd{border-color:var(--acc)}
.lvl.on .rd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--acc);animation:rdin .18s cubic-bezier(.16,1,.3,1)}
.lvl.unsure{min-height:48px;margin-top:4px}
.lvl:disabled{cursor:default}
.lvl:disabled:not(.on){opacity:.55}
@keyframes qin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes rdin{from{transform:scale(.3)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.q-body.enter>*{animation:none}.lvl.on .rd::after{animation:none}}
@media (max-width:360px){.q-text{font-size:20px}.lvl{min-height:50px;padding:10px 14px;font-size:14px}}
@media (max-height:700px){.q-body{padding-top:12px}.q-text{font-size:19px}.lvl{min-height:46px;padding:8px 12px;font-size:13.5px}}

/* ---------- v2.4 area-led question screen ---------- */
.q-top{gap:12px}
.qt{flex:1;display:flex;gap:4px;min-width:0}
.qt-seg{flex:1;height:4px;border-radius:2px;background:rgba(143,168,184,.16);overflow:hidden}
.qt-seg i{display:block;height:100%;background:rgba(201,214,222,.55);transition:width .35s cubic-bezier(.16,1,.3,1)}
.qt-seg.cur{background:rgba(143,168,184,.26)}
.qt-seg.cur i{background:var(--acc)}
.qt-seg.done i{background:var(--acc)}
.qt-n{font-size:11px;color:var(--tx3);white-space:nowrap;font-variant-numeric:tabular-nums}
.qt-n b{color:var(--tx);font-weight:600}

.qh{flex:0 0 auto;display:grid;grid-template-columns:92px 1fr;align-items:center;column-gap:16px;margin:14px -16px 0;padding:14px 16px;
  border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);
  background:radial-gradient(90% 140% at 0% 50%,rgba(201,214,222,.07),transparent 60%),rgba(10,24,18,.55)}
.qh-art{height:56px}
.qh-vis{filter:drop-shadow(0 0 6px rgba(201,214,222,.18))}
.qh-k{font-size:10.5px;letter-spacing:.18em;color:var(--tx2)}
.qh-k span{color:var(--tx3)}
.qh-n{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:3px 0 4px}
.qh-f{font-size:10.5px;letter-spacing:.14em;color:var(--tx3)}
.qh-why{grid-column:1/-1;margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--tx2);max-width:46ch}
/* first question of an area: the area arrives at full size */
.qh.first{grid-template-columns:1fr;row-gap:0;padding:20px 16px 18px}
.qh.first .qh-art{height:96px;max-width:200px;margin:0 0 14px}
.qh.first .qh-n{font-size:40px;letter-spacing:-.03em}
.qh.enter .qh-art{animation:qh-art .5s cubic-bezier(.16,1,.3,1) both}
.qh.enter .qh-t{animation:qin .4s cubic-bezier(.16,1,.3,1) .05s both}
.qh.enter .qh-why{animation:qin .4s cubic-bezier(.16,1,.3,1) .12s both}
.qh:not(.enter) .g-coin,.qh:not(.enter) .g-line{animation:none;stroke-dashoffset:0}
@keyframes qh-art{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.q-body{padding-top:20px}
.q-text{font-size:24px;line-height:1.24;letter-spacing:-.015em;font-weight:650}
@media (prefers-reduced-motion:reduce){.qh.enter .qh-art,.qh.enter .qh-t,.qh.enter .qh-why{animation:none}}
@media (max-height:700px){.qh{padding:10px 16px}.qh.first{padding:14px 16px}.qh.first .qh-art{height:64px}.qh.first .qh-n{font-size:30px}.q-text{font-size:20px}}
/* v2.4 tune: keep the first answers above the fold, give the art more presence */
.qh{grid-template-columns:76px 1fr}
.qh-art{height:60px}
.qh.first{grid-template-columns:128px 1fr;row-gap:0;padding:18px 16px 16px}
.qh.first .qh-art{height:84px;max-width:none;margin:0}
.qh.first .qh-n{font-size:36px}
.qt-seg.done i{background:var(--good)}

/* ---------- v2.5 gamified question screen: area buttons, area colour, level-up ---------- */
#s-q{--ac:#36C84A;--ac-soft:color-mix(in srgb,var(--ac) 16%,transparent);--ac-line:color-mix(in srgb,var(--ac) 55%,transparent)}
.qt-pc{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;row-gap:5px;min-width:0}
.qt-pc b{font-size:15px;font-weight:700;color:var(--tx)}
.qt-pc span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx3)}
.qt-pc i{grid-column:1/-1;height:5px;border-radius:3px;background:rgba(143,168,184,.14);overflow:hidden}
.qt-pc em{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#36C84A,#3987e5 40%,#E0A11B 70%,#d55181);background-size:calc(100vw - 40px) 100%;transition:width .5s cubic-bezier(.16,1,.3,1)}

.qa{flex:0 0 auto;display:flex;gap:4px;margin:14px -6px 0}
.qa-b{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 0 4px;background:none;border:0;border-radius:14px;cursor:pointer;color:var(--tx3);-webkit-tap-highlight-color:transparent;transition:background .2s,color .2s}
.qa-i{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(143,168,184,.06);transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,box-shadow .2s}
.qa-r{position:absolute;inset:0;width:44px;height:44px}
.qa-r0{fill:none;stroke:rgba(143,168,184,.16);stroke-width:2.5}
.qa-r1{fill:none;stroke:var(--ac);stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray .5s cubic-bezier(.16,1,.3,1)}
.qa-g{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;position:relative}
.qa-l{font-size:10.5px;font-weight:600;letter-spacing:.01em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa-b.part{color:var(--tx2)}
.qa-b.part .qa-g{color:var(--ac)}
.qa-b.done{color:var(--tx2)}
.qa-b.done .qa-i{background:color-mix(in srgb,var(--ac) 20%,transparent)}
.qa-b.done .qa-g{color:var(--ac)}
.qa-tick{position:absolute;right:-3px;top:-3px;width:17px;height:17px;border-radius:50%;background:var(--ac);display:grid;place-items:center;box-shadow:0 0 0 2px var(--bg)}
.qa-tick svg{width:11px;height:11px;fill:none;stroke:#06110b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qa-b.cur{color:var(--tx);background:color-mix(in srgb,var(--ac) 10%,transparent)}
.qa-b.cur .qa-i{transform:scale(1.1);background:color-mix(in srgb,var(--ac) 22%,transparent);box-shadow:0 0 18px -2px color-mix(in srgb,var(--ac) 60%,transparent)}
.qa-b.cur .qa-g{color:var(--ac)}
.qa-b:hover:not(.cur) .qa-i{background:rgba(143,168,184,.12)}
.qa-b.bump .qa-i{animation:qa-bump .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes qa-bump{0%{transform:scale(1.1)}40%{transform:scale(1.28)}100%{transform:scale(1.1)}}
.qa.many .qa-i{width:38px;height:38px}.qa.many .qa-r{width:38px;height:38px}.qa.many .qa-g{width:17px;height:17px}

.qh{margin-top:10px;border-color:var(--ac-line) transparent var(--border-soft);
  background:radial-gradient(80% 160% at 0% 0%,color-mix(in srgb,var(--ac) 18%,transparent),transparent 65%),rgba(10,24,18,.55)}
.qh-vis{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ac) 45%,transparent))}
.qh-k{color:var(--ac)}
.qh-pips{display:flex;gap:4px;margin-top:8px}
.qh-pips i{width:14px;height:4px;border-radius:2px;background:rgba(143,168,184,.18);transition:background .3s}
.qh-pips i.on{background:var(--ac)}
.qh-pips i.cur{box-shadow:0 0 0 1px var(--ac)}
.qh.first .qh-n{color:var(--tx);text-shadow:0 0 28px color-mix(in srgb,var(--ac) 45%,transparent)}

#s-q .lvl.on{border-color:var(--ac);background:var(--ac-soft);box-shadow:0 0 0 1px var(--ac) inset,0 6px 22px -10px var(--ac)}
#s-q .lvl.on .rd{border-color:var(--ac)}
#s-q .lvl.on .rd::after{background:var(--ac)}
#s-q .lvl.chk.on .bx{background:var(--ac);border-color:var(--ac)}
#s-q .lvl:hover:not(:disabled){border-color:var(--ac-line)}
#s-q .lvl.on:not(.chk){animation:lvl-hit .34s cubic-bezier(.16,1,.3,1)}
@keyframes lvl-hit{0%{transform:scale(.985)}50%{transform:scale(1.012)}100%{transform:none}}
#s-q .btn.primary{background:var(--ac);border-color:var(--ac);color:#06110b}

/* level-up */
.lv{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:8px 8px 24px;animation:qin .45s cubic-bezier(.16,1,.3,1) both}
.lv-art{position:relative;width:220px;height:132px;margin-bottom:8px}
.lv-art::before,.lv-art::after{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid var(--ac);opacity:0;animation:lv-burst 1.4s cubic-bezier(.16,1,.3,1) .1s}
.lv-art::after{animation-delay:.35s}
@keyframes lv-burst{0%{opacity:.7;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
.lv-art .g-vis{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--ac) 60%,transparent));animation:qh-art .6s cubic-bezier(.34,1.56,.64,1) both}
.lv-k{font-size:11px;letter-spacing:.2em;color:var(--ac)}
.lv-h{margin:0;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.1}
.lv-p{margin:0;color:var(--tx2);font-size:15px}
.lv-row{display:flex;gap:10px;margin:14px 0 18px}
.lv-c{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--tx3);background:rgba(143,168,184,.07);border:1.5px solid rgba(143,168,184,.16)}
.lv-c .qa-g{width:18px;height:18px}
.lv-c.done{color:var(--ac);border-color:var(--ac);background:color-mix(in srgb,var(--ac) 16%,transparent)}
.lv-c.now{animation:qa-bump .6s cubic-bezier(.34,1.56,.64,1) .5s both;box-shadow:0 0 16px -2px var(--ac)}
.lv-go{max-width:320px}
.lv .btn.primary{background:var(--ac);border-color:var(--ac);color:#06110b}
@media (prefers-reduced-motion:reduce){.qa-b.bump .qa-i,.lv,.lv-art::before,.lv-art::after,.lv-art .g-vis,.lv-c.now,#s-q .lvl.on{animation:none}}
@media (max-height:700px){.qa{margin-top:8px}.qa-i,.qa-r{width:38px;height:38px}.qh.first .qh-art{height:60px}}
.qh-n.long{font-size:22px}
.qh.first .qh-n.long{font-size:28px;letter-spacing:-.02em}
.qa.many{margin-top:12px}
.lv-row.many{gap:6px}.lv-row.many .lv-c{width:32px;height:32px}.lv-row.many .qa-g{width:15px;height:15px}

/* ---------- v2.6 living area icons. Every icon idles; the current area runs at full strength. ---------- */
.qa-g *,.lv-c .qa-g *{transform-box:fill-box;transform-origin:center}
.qa-g .ai-cone,.qa-g .ai-blip,.qa-g .ai-room,.qa-g .ai-glint{fill:currentColor}
.qa-g .ai-cone{opacity:.28}
/* radar: sweeping arm, blip lights as it passes */
.ai-sweep{transform-box:view-box !important;transform-origin:12px 12px !important;animation:ai-rot 3.2s linear infinite}
.ai-blip{animation:ai-blip 3.2s ease-out infinite}
@keyframes ai-rot{to{transform:rotate(360deg)}}
@keyframes ai-blip{0%,55%{opacity:.15}62%{opacity:1}100%{opacity:.15}}
/* home: ripple out from the house, door light */
.ai-ripple{opacity:0;animation:ai-ripple 2.8s cubic-bezier(.16,1,.3,1) infinite}
@keyframes ai-ripple{0%{opacity:.7;transform:scale(.5)}100%{opacity:0;transform:scale(1.25)}}
/* coins: top coin drops onto the stack, glint */
.ai-c2{animation:ai-drop 2.6s cubic-bezier(.34,1.56,.64,1) infinite}
.ai-glint{animation:ai-glint 2.6s ease-in-out infinite}
@keyframes ai-drop{0%,20%{transform:translateY(-3px);opacity:.4}45%,100%{transform:none;opacity:1}}
@keyframes ai-glint{0%,40%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.3)}75%,100%{opacity:0}}
/* network: nodes ping in turn */
.ai-n{animation:ai-ping 2.4s ease-in-out infinite}.ai-n2{animation-delay:.8s}.ai-n3{animation-delay:1.6s}
.ai-link{stroke-dasharray:2 2;animation:ai-flow 1.2s linear infinite}
@keyframes ai-ping{0%,100%{transform:scale(1)}15%{transform:scale(1.7)}30%{transform:scale(1)}}
@keyframes ai-flow{to{stroke-dashoffset:-8}}
/* reputation: trend line draws, arrow tip nudges */
.ai-trend{stroke-dasharray:20;animation:ai-draw 3s cubic-bezier(.16,1,.3,1) infinite}
.ai-tip{animation:ai-nudge 3s cubic-bezier(.16,1,.3,1) infinite}
@keyframes ai-draw{0%{stroke-dashoffset:20}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-20}}
@keyframes ai-nudge{0%,40%{opacity:0;transform:translate(-2px,2px)}55%,85%{opacity:1;transform:none}100%{opacity:0}}
/* shield: tick draws, shine passes */
.ai-check{stroke-dasharray:10;animation:ai-tick 3s cubic-bezier(.16,1,.3,1) infinite}
.ai-shine{opacity:.5;animation:ai-shine 3s ease-in-out infinite}
@keyframes ai-tick{0%,15%{stroke-dashoffset:10}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:10}}
@keyframes ai-shine{0%,100%{transform:translateX(0);opacity:0}30%{opacity:.8}60%{transform:translateX(5px);opacity:0}}
/* people: heads bob out of step */
.ai-h1{animation:ai-bob 2.4s ease-in-out infinite}.ai-h2{animation:ai-bob 2.4s ease-in-out .5s infinite}
@keyframes ai-bob{0%,100%{transform:none}50%{transform:translateY(-1.4px)}}
/* key person: halo breathes */
.ai-halo{stroke-dasharray:3 2.5;animation:ai-halo 6s linear infinite}
@keyframes ai-halo{to{transform:rotate(360deg)}}
/* offices: rooms light in turn */
.ai-room{opacity:.15;animation:ai-room 2.8s ease-in-out infinite}.ai-r2{animation-delay:1.4s}
@keyframes ai-room{0%,100%{opacity:.12}35%{opacity:.75}}
/* payments: flows slide past each other */
.ai-a1{animation:ai-slide 2.2s cubic-bezier(.65,0,.35,1) infinite}.ai-a2{animation:ai-slide 2.2s cubic-bezier(.65,0,.35,1) infinite reverse}
@keyframes ai-slide{0%,100%{transform:translateX(-1.5px)}50%{transform:translateX(1.5px)}}
/* international: globe turns */
.ai-spin{animation:ai-globe 3.6s linear infinite}
@keyframes ai-globe{0%{transform:scaleX(1)}25%{transform:scaleX(.1)}50%{transform:scaleX(1)}75%{transform:scaleX(.1)}100%{transform:scaleX(1)}}
/* other areas move a touch dimmer than the current one */
.qa-b:not(.cur) .qa-g{opacity:.8}
@media (prefers-reduced-motion:reduce){.qa-g *,.lv-c .qa-g *{animation:none !important}.ai-ripple,.ai-glint{opacity:0}.ai-trend,.ai-check{stroke-dashoffset:0}}
/* v2.6 tune: icons larger and carrying their area colour even before the area starts */
.qa-g{width:23px;height:23px}
.qa-b .qa-g{color:color-mix(in srgb,var(--ac) 62%,#8FA8B8)}
.qa-b:not(.cur) .qa-g{opacity:.9}
.qa-b.cur .qa-g,.qa-b.done .qa-g,.qa-b.part .qa-g{color:var(--ac)}
.qa-g .ai-cone{opacity:.4}
.qa.many .qa-g{width:19px;height:19px}
.lv-c .qa-g{color:inherit}

/* ---------- v2.7 accounts: gate, company account, user accounts and seats ---------- */
.gt{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.gt-b{--ac:#36C84A;display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:14px 16px;text-align:left;cursor:pointer;border-radius:18px;
  border:1px solid color-mix(in srgb,var(--ac) 40%,transparent);color:var(--tx);-webkit-tap-highlight-color:transparent;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--ac) 16%,transparent),transparent 60%),linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92));
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s}
.gt-b:hover{border-color:var(--ac);box-shadow:0 8px 28px -14px var(--ac)}
.gt-b:active{transform:scale(.985)}
.gt-b>svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--tx3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gt-i{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ac) 20%,transparent);box-shadow:0 0 18px -4px var(--ac)}
.gt-i svg{width:24px;height:24px;fill:none;stroke:var(--ac);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gt-b .su-rt b{font-size:17px}
.gt-b .su-rt span{font-size:13px;color:var(--tx2)}

.co .su-org{margin-top:4px}
.seat{display:flex;flex-direction:column;gap:12px;padding:16px;margin-top:6px;
  background:radial-gradient(120% 160% at 0% 0%,rgba(57,135,229,.14),transparent 60%),linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92))}
.seat-p{display:flex;flex-wrap:wrap;gap:6px}
.seat-p i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(143,168,184,.08);border:1px dashed rgba(143,168,184,.3);animation:seat-in .4s cubic-bezier(.34,1.56,.64,1) both;animation-delay:var(--d)}
.seat-p i svg{width:16px;height:16px;fill:none;stroke:var(--tx3);stroke-width:1.7;stroke-linecap:round}
.seat-p i.on{background:rgba(57,135,229,.22);border:1px solid #3987e5;box-shadow:0 0 12px -3px #3987e5}
.seat-p i.on svg{stroke:#8fc0ff}
@keyframes seat-in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
.seat-t{display:flex;align-items:baseline;gap:8px}
.seat-t b{font-size:22px;font-weight:700;color:var(--tx)}
.seat-t span{font-size:13px;color:var(--tx2)}
.co-u{gap:14px}
.co-av{--p:0;flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--tx);
  background:radial-gradient(circle,#0b1a13 60%,transparent 61%),conic-gradient(#36C84A calc(var(--p) * 1%),rgba(143,168,184,.18) 0)}
.co-add:disabled{opacity:.55;cursor:not-allowed}
.co-add:not(:disabled) b{color:var(--acc)}
.co-add:not(:disabled) svg{stroke:#36C84A}
.co-done{align-items:flex-start}
.cd-art{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(57,135,229,.2);border:1.5px solid #3987e5;box-shadow:0 0 26px -4px #3987e5;animation:qa-bump .6s cubic-bezier(.34,1.56,.64,1) both;margin-bottom:6px}
.cd-art svg{width:30px;height:30px;fill:none;stroke:#8fc0ff;stroke-width:1.7;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){.seat-p i,.cd-art{animation:none}}
/* console: seats chip on the client strip */
.ch-seat{cursor:pointer;border-color:rgba(57,135,229,.5) !important;color:#8fc0ff !important;background:rgba(57,135,229,.1) !important}

/* v4.5 question navigation: back and skip section */
.q-nav{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.q-nb{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border-soft);background:rgba(143,168,184,.05);color:var(--tx2);font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.q-nb svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.q-nb:hover:not(:disabled){color:var(--tx);border-color:var(--ac-line,var(--border))}
.q-nb:disabled{opacity:.35;cursor:default}
.q-nb.skip{margin-left:auto}
/* v4.6: Back and Skip sit at the top, under the area band */
#s-q .q-nav{flex:0 0 auto;margin:10px 0 0}
#s-q .q-nb{min-height:40px;font-size:13.5px}
#s-q .q-body{padding-top:14px}

/* ---------- v4.6 dashboard: personal and enterprise, issues by area, places and online ---------- */
.dx-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dx-g{--c:var(--tx3);display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 12px;border-radius:16px;cursor:pointer;color:var(--tx);text-align:center;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92));-webkit-tap-highlight-color:transparent}
.dx-k{font-size:10.5px;letter-spacing:.2em;color:var(--tx2)}
.dx-gg{width:100%;max-width:150px}
.dx-gg .gauge{width:100%;height:auto;display:block}
.dx-gg .needle{stroke:var(--tx)}.dx-gg .needle-hub{fill:var(--tx)}
.dx-b{font-size:14px;font-weight:700;letter-spacing:.06em;margin-top:2px}
.dx-b b{font-size:22px;margin-left:4px}
.dx-s{font-size:11.5px;color:var(--tx2)}
.dx-wait .dx-gg,.dx-none .dx-gg{opacity:.35}
.dx-none{border-style:dashed;border-color:rgba(143,168,184,.35)}
.dx-none .dx-b{color:var(--tx2);font-size:12px}
.dx-iss{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}
.dx-h{font-size:10.5px;letter-spacing:.2em;color:var(--tx2);margin:2px 2px 2px}
.dx-i{--c:var(--tx3);display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border-radius:12px;cursor:pointer;text-align:left;color:var(--tx);
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 12%,transparent),rgba(9,22,16,.9) 55%);-webkit-tap-highlight-color:transparent}
.dx-i .g-pill{flex:none;margin-top:1px;min-width:74px;text-align:center}
.dx-open{--c:rgba(143,168,184,.25) !important;--pt:var(--tx2) !important;border:1px dashed rgba(143,168,184,.45)}
.dx-it{display:flex;flex-direction:column;gap:2px;min-width:0}
.dx-it b{font-size:13px;font-weight:700}
.dx-it span{font-size:13px;color:var(--tx2);line-height:1.35}
.dx-maps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dx-card{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;cursor:pointer;color:var(--tx);text-align:left;border:1px solid rgba(54,200,74,.28);
  background:radial-gradient(100% 80% at 50% 45%,rgba(54,200,74,.08),transparent 70%),linear-gradient(180deg,rgba(9,22,16,.95),rgba(4,12,8,.95));-webkit-tap-highlight-color:transparent}
.dx-globe{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden}
.dx-globe canvas{display:block}
.dx-globe.big{border-radius:16px;aspect-ratio:1;max-height:62vh;background:#020805}
.dx-load{font-size:10px;letter-spacing:.16em;color:var(--tx3)}
.dx-radar{display:block;width:100%;aspect-ratio:1}
.dx-cap{font-size:11.5px;color:var(--tx2);line-height:1.3}
.rd{width:100%;height:100%;display:block;overflow:visible}
.rd-l{font-family:var(--mono);font-size:3.2px;letter-spacing:.12em;fill:rgba(143,200,150,.55)}
.rd-t{font-family:var(--sans);font-size:3.6px;font-weight:600;fill:#E8F4F0}
.rd-big .rd-t{font-size:3px}
.rd-sw{transform-box:view-box;transform-origin:50px 50px;animation:g-rot 4s linear infinite}
.rd-p{transform-box:fill-box;transform-origin:center;opacity:0;animation:rd-ping 4s ease-out infinite;animation-delay:var(--d)}
@keyframes rd-ping{0%{opacity:.9;transform:scale(1)}30%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
.dx-sh{display:flex;flex-direction:column;gap:10px}
.dx-sh .rd{max-width:340px;margin:0 auto}
.dx-chips{display:flex;flex-wrap:wrap;gap:6px}
.dx-chip{--c:#7BC96F;font-size:12.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--tx)}
@media (prefers-reduced-motion:reduce){.rd-sw,.rd-p{animation:none}}

/* ---------- v4.7: header My account, report back, scores with Act now, profile ---------- */
.top-r{gap:12px}
@media (max-width:430px){.top-r.signed .mark{display:none}}
#top-acc{color:var(--tx2)}
.rp-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:40px;padding:0 14px 0 10px;margin:0 0 10px;border-radius:12px;border:1px solid var(--border);background:rgba(143,168,184,.07);color:var(--tx);font-size:14px;font-weight:600;cursor:pointer}
.rp-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media print{.rp-back{display:none !important}}
.dx-i{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 10px 10px 8px;cursor:default}
.dx-sc{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;padding:4px 2px;background:none;border:0;border-right:1px solid color-mix(in srgb,var(--c) 35%,transparent);cursor:pointer;color:inherit}
.dx-sc b{font-size:24px;font-weight:700;line-height:1}
.dx-sc span{font-size:10px;color:var(--tx3);letter-spacing:.06em}
.dx-it{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}
.dx-act{flex:none;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--tx);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 0 14px -6px var(--c)}
.dx-act:hover{background:color-mix(in srgb,var(--c) 34%,transparent)}
.dx-ans{border-style:dashed;box-shadow:none;color:var(--tx2)}
.pf{display:flex;flex-direction:column;gap:12px}
.pf-acc{display:flex;flex-direction:column;gap:4px;padding:14px}
.pf-acc .mono{font-size:10px;letter-spacing:.16em;color:var(--tx3)}
.pf-acc b{font-size:15px;word-break:break-all}
.pf-ab{display:flex;gap:8px;margin-top:8px}.pf-ab .btn{flex:1;min-height:42px;font-size:14px}
.pf-p{margin:0;font-size:13.5px;color:var(--tx2);line-height:1.45}
.pf-s{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--border-soft);background:rgba(143,168,184,.03);margin-top:10px}
.pf-h{display:flex;flex-direction:column;gap:2px}.pf-h b{font-size:15px}.pf-h span{font-size:12.5px;color:var(--tx3)}
.pf-r{display:flex;gap:6px;align-items:center}
.pf-r input,.pf-sel{min-height:44px;padding:0 10px;background:#020805;border:1px solid var(--border);border-radius:10px;color:var(--tx);font:15px var(--sans);min-width:0}
.pf-r input{flex:1}
.pf-sel{flex:0 0 118px;font-size:13.5px}
.pf-r input:focus,.pf-sel:focus{border-color:var(--acc);outline:none}
.pf-x{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-soft);background:none;color:var(--tx3);font-size:18px;cursor:pointer}
.pf-add{align-self:flex-start;min-height:38px;padding:0 12px;border-radius:10px;border:1px dashed rgba(54,200,74,.5);background:rgba(54,200,74,.06);color:#7fe08c;font-size:13.5px;font-weight:600;cursor:pointer}
#pf-f .btn.primary{margin-top:12px;width:100%}

/* ---------- v4.8 company page: company assessment card, scores per user; scrollable area buttons for 10 areas ---------- */
.co-ent{--c:#3987e5;display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:14px;margin-top:6px;border-color:color-mix(in srgb,var(--c) 55%,transparent);
  background:radial-gradient(110% 120% at 0% 0%,color-mix(in srgb,var(--c) 18%,transparent),transparent 65%),linear-gradient(180deg,rgba(15,34,25,.92),rgba(9,22,16,.92))}
.co-ent-g .gauge{width:100%;height:auto;display:block}.co-ent-g .needle{stroke:var(--tx)}.co-ent-g .needle-hub{fill:var(--tx)}
.co-ent-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.co-ent-t .mono{font-size:10px;letter-spacing:.18em;color:var(--tx2)}
.co-ent-t b{font-size:26px;font-weight:700;line-height:1.1}.co-ent-t b small{font-size:13px;color:var(--tx3);font-weight:500;margin-left:2px}
.co-ent-t>span{font-size:12.5px;color:var(--tx2);line-height:1.35}
.co-ent-go{margin-top:8px;min-height:42px;font-size:14px;background:var(--c) !important;border-color:var(--c) !important;color:#06110b !important}
.co-u{border-left:3px solid var(--c,transparent)}
.co-sc{display:flex;align-items:baseline;gap:1px;flex:none;margin-left:6px}
.co-sc b{font-size:20px;font-weight:700;color:var(--c)}
.co-sc span{font-size:10px;color:var(--tx3)}
.qa.many{overflow-x:auto;scrollbar-width:none;justify-content:flex-start;scroll-snap-type:x proximity;padding-bottom:2px}
.qa.many::-webkit-scrollbar{display:none}
.qa.many .qa-b{flex:0 0 46px;scroll-snap-align:center}

/* ---------- v4.9 single sign-in with Monitor and Watchman showcase ---------- */
.au-sub{margin-top:-4px}
.au-pr{display:flex;flex-direction:column;gap:8px}
.au-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.sc{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.sc-c{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;border:1px solid rgba(54,200,74,.28);
  background:radial-gradient(100% 70% at 50% 60%,rgba(54,200,74,.07),transparent 70%),linear-gradient(180deg,rgba(9,22,16,.96),rgba(3,10,7,.96))}
.sc-h{display:flex;justify-content:space-between;align-items:center}
.sc-h>.mono{font-size:10.5px;letter-spacing:.18em;color:var(--tx2)}
.sc-tag{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.16em;color:var(--tx3)}
.sc-tag i{width:6px;height:6px;border-radius:50%;background:#36C84A;box-shadow:0 0 8px #36C84A;animation:sc-live 1.6s ease-in-out infinite}
@keyframes sc-live{0%,100%{opacity:1}50%{opacity:.25}}
.sc-s{font-size:10px;color:var(--tx3);margin-top:-4px}
.sc-al{--c:#E0A11B;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:6px 8px;padding:8px 10px;border-left:2px solid var(--c);border-radius:4px;background:color-mix(in srgb,var(--c) 10%,transparent)}
.sc-al>b{font-size:24px;font-weight:700;color:var(--c);line-height:1}
.sc-u{font-size:11px;color:var(--tx3);align-self:end}
.sc-t{display:flex;flex-direction:column;gap:1px;min-width:0}.sc-t b{font-size:13px;line-height:1.25}.sc-t span{font-size:11px;color:var(--tx3)}
.sc-a{font-size:12px;font-weight:700;color:var(--tx);white-space:nowrap}
.sc-in{animation:sc-in .5s cubic-bezier(.16,1,.3,1)}
@keyframes sc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sc-globe{width:100%;height:190px;display:grid;place-items:center}
.sc-leg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10px;letter-spacing:.06em;color:var(--tx2)}
.sc-leg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}
.sc-radar{width:100%;max-width:240px;margin:0 auto;aspect-ratio:1}
.sc-ch{display:flex;flex-wrap:wrap;gap:6px}
.sc-ch span{font-size:11px;padding:4px 8px;border-radius:6px;border:1px solid var(--border-soft);color:var(--tx2);background:rgba(143,168,184,.05)}
@media (prefers-reduced-motion:reduce){.sc-tag i,.sc-in{animation:none}}
