.hv-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:1000px){.hv-grid{grid-template-columns:1fr}}
.hv-main{padding:26px;min-height:520px;overflow:hidden}.hv-progress{position:absolute;top:0;inset-inline:0;height:3px;background:#0d2a44}.hv-progress span{display:block;height:100%;background:var(--holo);box-shadow:0 0 14px #4fb4ff;transition:width .5s}
#stage{text-align:center;position:relative}#stage h3{font-size:22px;margin:6px 0 10px}#stage p{color:#b4cbd7;font-size:13px;line-height:2;max-width:640px;margin:8px auto}
#stage canvas{max-width:100%;border-radius:14px;box-shadow:0 0 0 1px #ffffff22,0 20px 50px #0008}
.ans{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.ans .btn{min-width:56px}.ans select{background:#041222;border:1px solid var(--line);border-radius:11px;padding:10px;color:#fff}
#cb,.pw-cardbar{height:54px;margin:12px auto;border-radius:9px;background:linear-gradient(110deg,#0aa6d4,#2f5fff);box-shadow:0 0 24px #1d8fff55;max-width:100%}
#stage input[type=range]{accent-color:#4fb4ff}
.rt{width:100%;border-collapse:collapse;margin:14px 0;font-size:12px}.rt th,.rt td{border-bottom:1px solid #1c3b52;padding:9px;text-align:start}.rt td{font-family:Manrope,Cairo}
.nt{text-align:start;line-height:2;font-size:12.5px;color:#cfe6ef;max-width:680px;margin:14px auto}
.hv-pick{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}@media(max-width:700px){.hv-pick{grid-template-columns:1fr}}
.hv-mode{all:unset;cursor:pointer;position:relative;overflow:hidden;text-align:start;padding:24px;border-radius:20px;border:1px solid #1f4a72;background:linear-gradient(150deg,#0b2444,#061222);transition:.3s;min-height:210px;display:flex;flex-direction:column;gap:8px}
.hv-mode:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 0 40px #4fb4ff33}.hv-mode.primary{border-color:#2f7fae;background:radial-gradient(circle at 90% 10%,#1a5fa088,transparent 60%),linear-gradient(150deg,#0c2c52,#061222)}
.hv-mode small{font:800 9px Manrope;letter-spacing:1.6px;color:var(--cyan)}.hv-mode b{font-size:20px}.hv-mode p{font-size:12px!important;color:#9fbccb!important;margin:0!important;line-height:1.9!important}.hv-mode i{margin-top:auto;font-style:normal;font-size:11px;color:#7fa6bb}
.hv-orb{position:absolute;inset-inline-end:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,#02070f 0 16%,#1a6cff 17%,#4fb4ff 34%,transparent 36%),repeating-conic-gradient(#4fb4ff55 0 1.2deg,transparent 1.2deg 5deg);opacity:.5;animation:spin 30s linear infinite}.hv-orb.b{filter:hue-rotate(60deg)}
.hv-req{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.hv-req div{font-size:11px;color:#9ab2c1;padding:12px;border:1px solid var(--line);border-radius:12px;background:#071a2d;display:flex;gap:8px;align-items:center}.hv-req b{color:var(--cyan);font-size:15px}@media(max-width:700px){.hv-req{grid-template-columns:1fr 1fr}}
.hv-main.running .hv-req{display:none}
.hv-side{display:grid;gap:14px}.hv-cam{padding:16px}.hv-cam-v{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:radial-gradient(circle,#0b2a48,#020810);border:1px solid #1f4a72}
.hv-cam-v video,.hv-cam-v canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hv-cam-v video{transform:scaleX(-1);opacity:0;transition:opacity .4s;filter:saturate(.6) contrast(1.1)}
.hv-cam.on video{opacity:.85}.hv-cam-off{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#2f6f95;font-size:40px}.hv-cam-off small{font-size:11px;color:#6f93a8}.hv-cam.on .hv-cam-off{display:none}
.hv-dist{margin:12px 0 4px}.hv-dist small{font:800 9px Manrope;letter-spacing:1.4px;color:#6f93a8}.hv-dist div{display:flex;align-items:baseline;gap:6px}.hv-dist b{font-size:40px;line-height:1.1;background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent}.hv-dist i{font-style:normal;color:#7fa6bb}.hv-dist svg{width:100%;height:32px;display:block}
#cam-s{min-height:18px}#cam-s .ok{color:var(--green)}#cam-s .w,.small .w{color:var(--amber)}.hv-priv{margin-top:10px}
.hv-sen{padding:16px}#sen-log{max-height:300px;overflow:auto;display:grid;gap:4px}.sl{font:500 10.5px/1.7 Manrope,Cairo;color:#8fb6c9;padding:5px 8px;border-radius:8px;background:#071a2d;text-align:start}.sl.w{color:#f5d99b;background:#2a200c}.sl.ok{color:#a8dcf5}
.pw-kick{font:800 9.5px Manrope;letter-spacing:1.6px;color:var(--cyan)}
.pw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:start;margin-top:12px}@media(max-width:900px){.pw-grid{grid-template-columns:1fr}}
.pw-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#071a2d}.pw-card b{font-size:13px}.pw-card .ok{color:var(--green)}.pw-card select,.pw-card input[type=number]{width:100%}
.pw-hud{display:flex;align-items:center;gap:14px;justify-content:center;margin:6px auto 12px;max-width:420px}.pw-hud>div:first-child{display:flex;align-items:baseline;gap:6px}.pw-hud small{font-size:10px;color:#7fa6bb}.pw-hud b{font-size:30px;color:#fff;text-shadow:0 0 18px #4fb4ff}.pw-hud i{font-style:normal;color:#7fa6bb;font-size:11px}
.pw-meter{flex:1;height:6px;border-radius:6px;background:#0d2a44;overflow:hidden}.pw-meter span{display:block;height:100%;width:0;background:var(--holo);transition:width .2s}
.pw-cv{margin:8px auto;max-width:620px}.pw-flash{position:absolute;inset:0;display:grid;place-items:center;font:800 34px Manrope;color:#a8dcf5;background:#020a14cc;border-radius:14px;animation:fl .7s}@keyframes fl{from{opacity:0}}
.pw-duo{display:grid;grid-template-columns:1fr 1fr;max-width:460px;margin:14px auto;border-radius:14px;overflow:hidden;box-shadow:0 20px 50px #0008}.pw-duo div{padding:34px 10px;display:grid;place-items:center}.pw-duo span{font:700 22px Arial;color:#000;letter-spacing:6px}
.pw-near{max-width:520px;margin:10px auto;padding:22px;background:#f4f7f8;color:#000;border-radius:14px}.pw-near p{color:#000!important;font-family:Georgia,'Times New Roman',serif;margin:0!important;line-height:1.5!important}
.pw-eye{display:flex;gap:30px;justify-content:center;margin:10px 0}.pw-eye span{width:70px;height:40px;border-radius:50%;border:2px solid #4fb4ff;position:relative;box-shadow:0 0 20px #4fb4ff55}.pw-eye span::after{content:'';position:absolute;inset:8px 22px;border-radius:50%;background:radial-gradient(circle,#02070f 30%,#4fb4ff 32%)}
.pw-eye.R span:last-child,.pw-eye.L span:first-child{background:#0b2238;border-color:#2a4b66;box-shadow:none}.pw-eye.R span:last-child::after,.pw-eye.L span:first-child::after{display:none}
html[dir=rtl] .pw-eye{flex-direction:row-reverse}
.pw-rx{margin-top:12px;padding:16px}.pw-rx .dt td.n{font-size:18px}.pw-conf{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;margin-top:12px;font-size:11px;color:#9ab2c1}.pw-conf .scan-bar{grid-column:1/-1}.pw-conf b{grid-column:3;grid-row:1}
.pw-g{margin:8px 0}.pw-g-bar{position:relative;height:8px;border-radius:8px;background:linear-gradient(90deg,#ff6b81,#f5b45a 25%,#74c7ee 50%,#74c7ee 66%,#f5b45a 83%,#ff6b81);direction:ltr}.pw-g-bar span{position:absolute;top:-5px;width:4px;height:18px;border-radius:3px;background:#fff;box-shadow:0 0 12px #fff;translate:-50% 0}
.pw-g-s{display:flex;justify-content:space-between;font-size:9px;color:#6f93a8;margin-top:4px;direction:ltr}.pw-g-s i{font-style:normal}
.inp.bad{border-color:var(--red)}
@media print{.sidebar,.hv-side,.notice,.ans,.oc-stars{display:none!important}.app-main{margin:0!important}body{background:#fff;color:#000}.holo{background:#fff!important;border-color:#ccc!important;box-shadow:none!important}}
#stage>canvas{display:block;margin:14px auto}#stage>small{display:block;color:#7fa6bb;font-size:11px;margin-top:6px}

/* ===== smart exam ===== */
#stage.in{animation:exin .35s ease}@keyframes exin{from{opacity:0;transform:translateY(8px)}}
.ex-steps{margin:-6px 0 18px}.ex-steps:empty{display:none}.ex-dots{display:flex;align-items:center;gap:0;direction:inherit}.ex-dots i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 10px Manrope;font-style:normal;border:1px solid #2a5577;color:#6f93a8;background:#061527}.ex-dots i.on{border-color:var(--cyan);color:#fff;background:#0f3a5c;box-shadow:0 0 16px #58d9e966}.ex-dots i.done{border-color:#2f7d66;background:#0f3b30;color:#9cf0cf}.ex-dots b{flex:1;height:2px;background:#163450;min-width:6px}
.ex-now{margin-top:10px;font-size:12px;color:#b9d3df}.ex-now span{color:var(--cyan);margin-inline-end:6px}.ex-now em{font-style:normal;color:#fff}
.ex-hero{padding:10px 0}.ex-orb{position:relative;width:130px;height:130px;margin:6px auto 14px}.ex-orb i{position:absolute;inset:0;border-radius:50%;border:1px solid #58d9e9;animation:spin 6s linear infinite;border-style:dashed}.ex-orb i:nth-child(2){inset:18px;border-style:solid;animation-duration:9s;animation-direction:reverse;border-color:#367cf0}.ex-orb i:nth-child(3){inset:42px;background:radial-gradient(circle,#02070f 30%,#2f6bff 32%,#58d9e9 70%);border:0;box-shadow:0 0 40px #2fa8ff}
.ex-start{font-size:16px;padding:16px 30px;margin:14px 0 4px}
.ex-q{text-align:start;margin:14px 0}.ex-qt{display:block;font-size:12.5px;margin-bottom:8px}.ex-qt.r{color:#ffb3c0}
.ex-chips{display:flex;flex-wrap:wrap;gap:7px}.ex-chip{border:1px solid var(--line);background:#071a2d;color:#cfe6ef;border-radius:30px;padding:8px 13px;font-size:12px;cursor:pointer;transition:.15s}.ex-chip.on{border-color:var(--cyan);background:#0f3a5c;color:#fff}.ex-chip.red.on{border-color:var(--red);background:#3a1220;color:#ffd0d8}
.ex-f{text-align:start;margin-top:8px}.ex-f select,.ex-f input{width:100%}
.ex-tip{margin:14px auto;max-width:560px;padding:10px 14px;border-radius:12px;border:1px solid #2a5577;background:#071a2d;font-size:12px;color:#b9d3df}
.ex-cam{position:relative;width:min(380px,100%);aspect-ratio:4/3;margin:10px auto;border-radius:20px;overflow:hidden;border:1px solid #2a6a8c;background:radial-gradient(circle,#0b2a48,#020810);box-shadow:0 0 40px #2fa8ff22}.ex-cam video,.ex-cam canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ex-cam video{transform:scaleX(-1);opacity:.85}
.ex-cam.ok{border-color:var(--green);box-shadow:0 0 40px #62d8ba55}.ex-cam-st{position:absolute;inset-inline:10px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:8px 12px;border-radius:12px;background:#02070fcc;backdrop-filter:blur(6px)}
.ex-spin{width:14px;height:14px;border-radius:50%;border:2px solid #58d9e955;border-top-color:var(--cyan);animation:spin .8s linear infinite;flex:none}.ex-cam.ok .ex-spin{display:none}
.ex-ring{position:absolute;inset-inline:0;bottom:0;height:4px;background:#0d2a44}.ex-ring span{display:block;height:100%;width:0;background:var(--holo);transition:width .15s}
.ex-arrows{display:grid;grid-template-columns:auto;justify-items:center;gap:8px}.ex-arrows>div{display:flex;gap:70px}.ex-arrows .btn{min-width:64px;min-height:54px;font-size:20px}.ex-arrows .ex-nv{font-size:12px;min-height:40px;margin-top:4px}
.ex-num{display:grid;grid-template-columns:repeat(5,1fr);max-width:360px;margin-inline:auto}.ex-num .btn{min-height:48px;font-size:18px}.ex-num .btn:last-child{grid-column:span 5;font-size:12px}
.ex-urgent{text-align:center}.ex-urgent>b{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:#3a1220;border:2px solid var(--red);color:var(--red);font-size:28px}.ex-urgent .row{justify-content:center;margin-top:14px}
/* AI phase */
.ai-box{padding:20px 0}.ai-core{position:relative;width:120px;height:120px;margin:0 auto 16px}.ai-core i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:#58d9e9;animation:spin 1.2s linear infinite}.ai-core i:nth-child(2){inset:14px;border-top-color:#9b6bff;animation-duration:1.8s;animation-direction:reverse}.ai-core i:nth-child(3){inset:28px;border-top-color:#62d8ba;animation-duration:.9s}.ai-core b{position:absolute;inset:0;display:grid;place-items:center;font:800 22px Manrope;background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent}
.ai-lines{display:grid;gap:6px;max-width:420px;margin:12px auto;text-align:start}.ai-lines div{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:#071a2d;font-size:12px;color:#5f8295;opacity:.4;transition:.25s}.ai-lines div.on{opacity:1;color:#cfe6ef}.ai-lines i{width:14px;height:14px;border-radius:50%;border:2px solid #58d9e955;border-top-color:var(--cyan);animation:spin .7s linear infinite;visibility:hidden}.ai-lines div.on i{visibility:visible}.ai-lines div.ok i{animation:none;border:0;visibility:visible}.ai-lines div.ok i::before{content:'✓';color:var(--green);font-style:normal;font-size:13px}
/* report */
.tri{display:flex;gap:16px;align-items:flex-start;text-align:start;margin:12px 0;padding:18px;border-radius:20px;border:1px solid;box-shadow:0 20px 50px #0006}.tri-ic{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font:800 20px Manrope;color:#02070f}
.tri small{font-size:11px;opacity:.85}.tri b{display:block;font-size:19px;margin:2px 0 4px;line-height:1.5}.tri p{margin:0!important;font-size:12.5px!important;max-width:none!important}.tri-when{display:inline-block;margin-top:8px;font-size:11px;padding:4px 10px;border-radius:30px;background:#0008}
.tri-g{border-color:#2f7d66;background:linear-gradient(120deg,#0f3b30,#071a2d)}.tri-g .tri-ic{background:#62d8ba;box-shadow:0 0 24px #62d8ba}
.tri-y{border-color:#8a7a2e;background:linear-gradient(120deg,#3a3410,#071a2d)}.tri-y .tri-ic{background:#f5d35a;box-shadow:0 0 24px #f5d35a}
.tri-o{border-color:#a8622e;background:linear-gradient(120deg,#40220e,#071a2d)}.tri-o .tri-ic{background:#f59a4a;box-shadow:0 0 24px #f59a4a}
.tri-r{border-color:#a82e45;background:linear-gradient(120deg,#45101e,#071a2d)}.tri-r .tri-ic{background:#ff6b81;box-shadow:0 0 24px #ff6b81}
.ai-sum{text-align:start;padding:16px}.ai-sum p{max-width:none!important;margin:6px 0!important}
.tbl{overflow-x:auto;margin-top:14px}.dt.rep td.n{font-size:15px}.dt.rep .bad{color:#ffb3a0}
.rep-k{margin-top:12px}.rep-h{text-align:start;margin:18px 0 6px;font-size:14px;color:#8fe9ff}
.why{list-style:none;padding:0;margin:0;display:grid;gap:6px;text-align:start}.why li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#071a2d;font-size:12.5px;line-height:1.8}.why i{flex:none;width:10px;height:10px;border-radius:50%;margin-top:7px}.why .lg i{background:#62d8ba}.why .ly i{background:#f5d35a}.why .lo i{background:#f59a4a}.why .lr i{background:#ff6b81}
details.small{text-align:start;margin-top:10px}
.tri-pill{display:inline-block;margin:6px 0 10px;padding:5px 12px;border-radius:30px;font-size:11px;border:1px solid #2e6b8a;background:#071a2d}.tri-pill.t0{border-color:#2f7d66}.tri-pill.t1{border-color:#8a7a2e}.tri-pill.t2{border-color:#a8622e}.tri-pill.t3{border-color:#a82e45}
@media(max-width:700px){.hv-main{padding:18px 14px;min-height:0}.hv-side{order:2}.hv-cam-v{aspect-ratio:16/9}#stage h3{font-size:19px}#stage p{font-size:12.5px}.ex-arrows>div{gap:60px}.tri{padding:14px;gap:12px}.tri b{font-size:16px}.tri-ic{width:42px;height:42px;font-size:16px}.ex-dots i{width:22px;height:22px;font-size:9px}.dt th,.dt td{padding:7px 5px}}
.kpi strong,.tri b,.why li{unicode-bidi:plaintext}.kpi strong{direction:ltr}
.ex-arrows,.ex-num,.pw-hud{direction:ltr}#stage{scroll-margin-top:72px}
.why li::first-letter{text-transform:uppercase}
@media(max-width:700px){.g3.rep-k{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}.rep-k .kpi{padding:10px 8px!important}.rep-k .kpi strong{font-size:18px!important}.dt.rep{font-size:11px}.dt.rep td.n{font-size:13px}}
.nt li::first-letter{text-transform:uppercase}
.ex-prec{text-align:start;margin:14px 0;padding:14px;border-radius:14px;border:1px solid #2f7d66;background:linear-gradient(120deg,#0f3b30aa,#071a2d)}.ex-prec b{font-size:13px}.ex-prec select{width:100%;margin-top:6px}
.ex-glasses{font-size:54px;margin:6px 0}
.ex-card{margin:14px auto;border-radius:10px;background:linear-gradient(135deg,#0aa6d4,#2f5fff);box-shadow:0 0 0 2px #fff6,0 0 30px #1d8fff66;display:grid;place-items:center;max-width:100%}.ex-card span{font:700 13px Manrope;color:#fff;background:#0006;padding:3px 8px;border-radius:6px}
.ex-calrow{display:flex;gap:8px;align-items:center;max-width:520px;margin:0 auto}.ex-calrow input{flex:1;accent-color:#58d9e9}.ex-calrow .btn{min-width:44px;font-size:18px}.ex-confirm{justify-content:center;margin:10px 0}
.ex-calrow,.ex-card span,#cv{direction:ltr}

.ex-ruler{position:relative;height:46px;margin:22px 0 8px;border-top:2px solid #fff;direction:ltr;max-width:none}
.ex-ruler i{position:absolute;top:0;width:1px;background:#fff;transform:translateX(-.5px)}
.ex-ruler b{position:absolute;top:26px;font:700 11px Manrope,sans-serif;color:var(--muted,#9ab);transform:translateX(-50%)}
.ex-rans{flex-wrap:wrap;gap:8px}.ex-rfix{margin-top:10px;padding:12px;border-radius:10px;background:#ffffff0a;border:1px solid #ffffff1a}
.ex-rfix input{max-width:140px;direction:ltr}#rv{direction:ltr}

.ex-target{text-align:center;font-weight:700;padding:8px 12px;border-radius:10px;background:#ffffff0d;border:1px solid #ffffff1f;direction:ltr}.ex-target.ok{color:#3ddc97;border-color:#3ddc9766}
.ex-typed{text-align:center;font-size:24px;letter-spacing:.3em;margin:8px 0;direction:ltr}
.ex-kb{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:420px;margin:6px auto 10px;direction:ltr}.ex-kb .btn{padding:12px 0;font:800 18px Arial,sans-serif;justify-content:center}

.ex-agep{margin:12px 0;padding:12px 14px;border-radius:12px;background:#1d8fff14;border:1px solid #1d8fff40}.ex-agep:empty{display:none}.ex-agep b{display:block;margin-bottom:4px}.ex-agep p{margin:3px 0}
.ex-read{display:flex;flex-direction:column;gap:4px;margin:10px 0;background:#f4f7f8;border-radius:10px;padding:10px}
.ex-rl{all:unset;cursor:pointer;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1.25;padding:4px 6px;border-radius:6px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ex-rl:hover,.ex-rl:focus{background:#1d8fff22}.ex-rl small{font:600 10px Manrope,sans-serif;color:#6b7a85;flex:none}
.small.warn{color:#ffb547}.small.ok{color:#3ddc97}
body.ex-big #stage{font-size:1.12em}body.ex-big #stage .btn{font-size:1.05em;padding-top:14px;padding-bottom:14px}body.ex-big #stage h3{font-size:1.5em}
