:root{
  --accent:#007d82; --ink:#0f1f22; --mute:#5a6b6e; --bg:#f3f6f5; --card:#fff; --line:#dde5e4;
  --ok:#1b7f4b; --okbg:#e6f4ec; --adv:#b0620c; --advbg:#fdf1e2; --bad:#b3261e; --badbg:#fbe9e7;
  --r:18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;user-select:none}
button{font:inherit;cursor:pointer;border:0}
h1,h2,h3{margin:0;letter-spacing:-.01em}
.eyebrow{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:20px;color:var(--mute);margin:12px 0 0}
.hint{color:var(--mute);font-size:15px;margin-top:16px}

.bar{display:flex;justify-content:space-between;align-items:center;padding:14px 32px;background:var(--card);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}
.brand b{display:block;font-size:19px}
.brand small{color:var(--mute);font-size:13px}
.mark{width:34px;height:34px;border-radius:10px;background:var(--accent);box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--accent) 70%,#fff)}
.lock{font-size:14px;color:var(--mute);background:var(--bg);border:1px solid var(--line);padding:6px 12px;border-radius:99px}

main{flex:1;display:flex;min-height:0}
.screen{display:none;flex:1;padding:32px;overflow:auto}
.screen.active{display:flex;flex-direction:column;animation:in .25s ease}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.hero{margin:auto;max-width:980px;width:100%;text-align:center;padding:12px 0}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;font-weight:800}
.choose{display:flex;gap:20px;justify-content:center;margin:36px 0 34px;flex-wrap:wrap}
.os{width:280px;padding:26px 20px;border-radius:24px;background:var(--card);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s,border-color .15s,box-shadow .15s}
.os:not(:disabled):hover,.os:not(:disabled):active{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 30px -18px var(--accent)}
.os b{font-size:24px}
.os small{color:var(--mute);font-size:14px}
.os-ico{font-size:40px}
.os.disabled{opacity:.5;cursor:not-allowed}
.trust{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.trust li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:14px;color:var(--mute)}
.trust b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.trust b::before{content:"✓ ";color:var(--accent)}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:34px 38px;margin:auto;width:100%}
.panel.narrow{max-width:820px}
.center{text-align:center}
.panel h2{font-size:32px;font-weight:800}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:22px 0}
.cols h3{font-size:15px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.yes{color:var(--ok)} .no{color:var(--bad)}
.ticks,.crosses{list-style:none;margin:0;padding:0}
.ticks li,.crosses li{padding:7px 0 7px 28px;position:relative;border-bottom:1px solid var(--line);font-size:16px}
.ticks li::before{content:"✓";position:absolute;left:4px;color:var(--ok);font-weight:800}
.crosses li::before{content:"✕";position:absolute;left:4px;color:var(--bad);font-weight:800}
.consent{display:flex;gap:14px;align-items:center;background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:16px 18px;font-size:18px;font-weight:600;cursor:pointer}
.consent input,.deep input{width:26px;height:26px;accent-color:var(--accent);flex-shrink:0}
.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}
.actions.left{justify-content:flex-start}
.actions.center{justify-content:center}
.primary{background:var(--accent);color:#fff;padding:16px 30px;border-radius:14px;font-weight:700;font-size:18px}
.primary:disabled{background:#b8c6c5;cursor:not-allowed}
.primary.big{width:100%;padding:20px;font-size:21px;margin-top:8px}
.ghost{background:transparent;border:2px solid var(--line);color:var(--ink);padding:14px 26px;border-radius:14px;font-weight:600}

.setup{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;margin:auto;max-width:1180px;width:100%;align-items:stretch}
.steps-guide{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 34px}
.steps-guide h2{font-size:30px;font-weight:800;margin-bottom:16px}
.guide{margin:0;padding:0;list-style:none;counter-reset:s}
.guide li{counter-increment:s;position:relative;padding:14px 0 14px 60px;border-bottom:1px solid var(--line)}
.guide li:last-child{border-bottom:0}
.guide li::before{content:counter(s);position:absolute;left:0;top:12px;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-weight:800;font-size:20px;display:grid;place-items:center}
.guide b{display:block;font-size:19px}
.guide span{display:block;color:var(--mute);font-size:16px;margin-top:2px}
.guide em{font-style:normal;font-weight:700;color:var(--ink)}
.status-card{background:var(--ink);color:#e8f1f0;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:6px}
.status-card h3{font-size:26px;color:#fff;margin-top:14px}
.status-card p{color:#aebfbd;margin:4px 0 14px;min-height:48px}
.pulse{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:40px;position:relative}
.pulse::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid currentColor;opacity:.35;animation:ring 1.8s ease-out infinite}
@keyframes ring{from{transform:scale(.85);opacity:.5}to{transform:scale(1.25);opacity:0}}
.pulse.wait{background:#24393c;color:#7fb7b8}.pulse.wait::before{content:"🔌"}
.pulse.tap{background:#4a3a14;color:#f2b84b}.pulse.tap::before{content:"👆"}
.pulse.ok{background:#1b4d34;color:#5fd497}.pulse.ok::before{content:"✓";color:#5fd497;font-weight:800}
.pulse.ok::after{animation:none;opacity:.5}
.deep{display:flex;gap:12px;align-items:center;text-align:left;background:#1b2f32;border-radius:12px;padding:12px 14px;font-size:14px;color:#aebfbd;width:100%}
.deep b{display:block;color:#fff;font-size:16px}

.meter{height:14px;background:var(--bg);border-radius:99px;overflow:hidden;margin:26px 0 8px;border:1px solid var(--line)}
.meter span{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;transition:width .5s ease}
.pct{font-size:40px;font-weight:800;margin:4px 0 10px;color:var(--accent)}
.checklist{list-style:none;padding:0;margin:0 auto;max-width:420px;text-align:left}
.checklist li{padding:9px 0 9px 36px;position:relative;color:#9aa8a9;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";position:absolute;left:4px;top:12px;width:18px;height:18px;border-radius:50%;border:2px solid #c8d3d2}
.checklist li.now{color:var(--ink);font-weight:700}
.checklist li.now::before{border-color:var(--accent);border-top-color:transparent;animation:spin .8s linear infinite}
.checklist li.done{color:var(--ink)}
.checklist li.done::before{content:"✓";border:0;background:var(--ok);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
@keyframes spin{to{transform:rotate(360deg)}}

.result{max-width:1100px;width:100%;margin:0 auto}
.verdict{display:flex;gap:22px;align-items:center;border-radius:var(--r);padding:26px 30px;color:#fff}
.verdict.ok{background:linear-gradient(120deg,#135c39,#1b7f4b)}
.verdict.advice{background:linear-gradient(120deg,#8c4d0a,#b0620c)}
.verdict.alert{background:linear-gradient(120deg,#8a1c16,#b3261e)}
.v-ico{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:40px;font-weight:800;flex-shrink:0}
.verdict h2{font-size:32px;font-weight:800}
.verdict p{margin:4px 0 0;font-size:18px;opacity:.9}
.safety{margin-top:16px;border:2px solid var(--bad);background:var(--badbg);border-radius:14px;padding:16px 20px}
.safety h3{color:var(--bad);font-size:19px}
.safety p{margin:6px 0 0}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.tile small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);font-weight:700}
.tile b{display:block;font-size:26px;font-weight:800;margin:2px 0}
.tile span{color:var(--mute);font-size:14px}
.findings{display:grid;gap:10px}
.finding{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 18px}
.finding summary{list-style:none;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:12px 0;cursor:pointer}
.finding summary::-webkit-details-marker{display:none}
.finding summary b{font-size:18px}
.finding .fs{grid-column:2;color:var(--mute);font-size:15px}
.finding ul{margin:0 0 12px;padding:10px 0 0 20px;border-top:1px dashed var(--line);color:var(--mute);font-size:15px;user-select:text}
.finding.alert{border-color:var(--bad)}
.finding.advice{border-color:#efc996}
.pill{grid-row:span 2;font-size:13px;font-weight:800;padding:5px 12px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;min-width:98px;text-align:center}
.pill.ok{background:var(--okbg);color:var(--ok)}
.pill.advice{background:var(--advbg);color:var(--adv)}
.pill.alert{background:var(--badbg);color:var(--bad)}
.disclaimer{color:var(--mute);font-size:14px;margin-top:16px}

.big-tick{width:96px;height:96px;margin:0 auto 18px;border-radius:50%;background:var(--okbg);color:var(--ok);font-size:52px;font-weight:800;display:grid;place-items:center}
.todo{margin:22px auto 0;max-width:560px;background:var(--advbg);border:1px solid #efc996;border-radius:14px;padding:16px 20px;text-align:left}

.print-report{display:none}
@media print{
  @page{size:A4;margin:16mm}
  body{background:#fff;display:block;font-size:11pt}
  .bar,main{display:none!important}
  .print-report{display:block}
  .pr-head h1{font-size:18pt;margin:0}
  .pr-head p{color:#555;margin:2px 0 12px}
  .pr-verdict{font-size:14pt;font-weight:700;margin:8px 0 2px}
  .print-report table{width:100%;border-collapse:collapse;margin-top:12px}
  .print-report th,.print-report td{text-align:left;padding:6px 8px;border-bottom:1px solid #ccc;vertical-align:top}
  .print-report th{border-bottom:2px solid #000;font-size:9pt;text-transform:uppercase;letter-spacing:.08em}
  .pr-foot{margin-top:16px;font-size:9pt;color:#555}
}
@media (max-width:900px){.setup,.cols{grid-template-columns:1fr}.tiles{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr}}

.demo-badge{font-size:13px;font-weight:700;color:#8a5a00;background:#fff4dc;border:1px solid #f0d49a;padding:6px 12px;border-radius:99px;margin-right:8px}
.bar-right{display:flex;align-items:center}
.demo-caption{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;max-width:980px;width:calc(100% - 64px);background:rgba(10,24,26,.92);color:#fff;border-radius:16px;padding:14px 22px;display:flex;gap:16px;align-items:baseline;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);transition:opacity .4s,transform .4s;z-index:50;pointer-events:none}
.demo-caption.on{opacity:1;transform:translate(-50%,0)}
.demo-caption b{color:#6fd3d6;font-size:14px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.demo-caption span{font-size:19px;line-height:1.35}
.demo-tap{position:fixed;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:rgba(0,125,130,.45);border:3px solid #fff;box-shadow:0 0 0 2px var(--accent);z-index:60;pointer-events:none;animation:tap .7s ease-out forwards}
@keyframes tap{0%{transform:scale(.4);opacity:0}25%{transform:scale(1);opacity:1}100%{transform:scale(2.4);opacity:0}}
.demo-card{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(140deg,#061b1d,#0a3336 60%,var(--accent));color:#fff;opacity:0;pointer-events:none;transition:opacity .6s}
.demo-card.on{opacity:1}
.demo-card p{margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#7fd8da}
.demo-card h1{font-size:64px;font-weight:800;letter-spacing:-.02em;margin:0 0 22px}
.demo-card ul{list-style:none;margin:0;padding:0;font-size:24px;color:#d6ebea;display:grid;gap:10px}
.demo-card.outro ul{text-align:left}
.demo-card.outro li::before{content:"✓  ";color:#6fd3d6;font-weight:800}
body.demo .screen{padding-bottom:120px}
.demo-controls{margin:26px auto 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;background:var(--card);border:1px dashed #d9c38f;border-radius:16px;padding:12px 16px;max-width:760px}
.demo-controls span{font-size:14px;font-weight:700;color:#8a5a00;margin-right:4px}
.demo-controls button{background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--ink)}
.demo-controls button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.demo-controls button.tour{margin-left:auto;background:#fff4dc;border-color:#f0d49a;color:#8a5a00}
.demo-hint{margin:10px 0 0;font-size:13px;color:var(--mute)}
body.touring main{pointer-events:none}
@media (max-width:600px){
  body{font-size:16px}
  .bar{padding:10px 16px}
  .brand small,.lock{display:none}
  .demo-badge{margin:0;font-size:12px;padding:5px 10px}
  .screen{padding:18px 16px}
  body.demo .screen{padding-bottom:140px}
  .hero h1{font-size:38px}
  .lead{font-size:17px}
  .choose{gap:12px;margin:24px 0}
  .os{width:100%;padding:18px}
  .panel,.steps-guide{padding:22px 18px}
  .panel h2,.steps-guide h2{font-size:24px}
  .status-card{padding:22px}
  .verdict{padding:18px;gap:14px}
  .verdict h2{font-size:22px}
  .v-ico{width:52px;height:52px;font-size:28px}
  .tile b{font-size:21px}
  .pill{min-width:0}
  .actions{flex-direction:column-reverse}
  .actions button{width:100%}
  .demo-caption{bottom:12px;width:calc(100% - 24px);padding:10px 14px;flex-direction:column;gap:2px}
  .demo-caption span{font-size:15px}
  .demo-card h1{font-size:40px}
  .demo-card ul{font-size:18px;padding:0 20px}
  .demo-controls button.tour{margin-left:0}
}

.machine{font-family:Consolas,"Cascadia Mono",monospace;font-size:34px;font-weight:700;letter-spacing:.08em;background:var(--bg);border:2px dashed var(--line);border-radius:14px;padding:16px;margin:22px auto 10px;max-width:520px;user-select:all}
#lic-key{display:block;width:100%;margin:22px 0 0;font:15px Consolas,monospace;padding:14px;border-radius:12px;border:2px solid var(--line);resize:none;user-select:text}
#lic-key:focus{outline:none;border-color:var(--accent)}
.lic-err{color:var(--bad);font-weight:600;min-height:22px;margin:10px 0 0}
.trial-badge{font-size:13px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--accent) 35%,#fff);padding:6px 12px;border-radius:99px;margin-right:8px}

[data-for]{display:none!important}
body[data-os="android"] [data-for="android"],body[data-os="ios"] [data-for="ios"]{display:block!important}
body[data-os="android"] .deep[data-for="android"]{display:flex!important}
