:root{--bg:#f4f1fb;--card:#fff;--tx:#2b253a;--ac:#6a4cc9;--ac2:#3f2796;--mut:#6b6480;--line:#e3dff0;--soft:#f4f1fb;--warn:#fff6ee;--warnb:#eb6834;--ok:#eefaf3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#17141f;--card:#221d2e;--tx:#ece8f5;--ac:#a58cff;--ac2:#c9baff;--mut:#a39cb8;--line:#383248;--soft:#2b2539;--warn:#33261f;--ok:#1d2d25}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--ac)}
header.top{background:var(--ac);color:#fff;padding:20px 16px;text-align:center}
header.top h1{margin:0;font-size:26px}header.top a{color:#fff;text-decoration:none}
nav.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:12px 16px}
nav.tabs a{border-radius:20px;padding:8px 16px;background:var(--card);color:var(--tx);font-size:15px;text-decoration:none}
nav.tabs a.on{background:var(--ac);color:#fff}
@media (prefers-color-scheme:dark){nav.tabs a.on,.btn{color:#17141f}}
main{max-width:780px;margin:0 auto;padding:0 16px 40px}
.card{background:var(--card);border-radius:16px;padding:20px;margin:12px 0}
.mut{color:var(--mut)}.small{font-size:14px}
h2{margin:.2em 0 .5em}h3{margin:1em 0 .3em}
.btn{display:inline-block;background:var(--ac);color:#fff;border:0;border-radius:12px;padding:12px 22px;font-size:16px;cursor:pointer;text-decoration:none;font-family:inherit}
.btn.sec{background:var(--soft);color:var(--ac2);border:1px solid var(--line)}
.btn.danger{background:#c0392b;color:#fff}
.btn.sm{padding:6px 12px;font-size:14px;border-radius:9px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.hero{text-align:center;padding:28px 20px}
.hero .big{font-size:22px;font-weight:700;margin:.2em 0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.facts div{background:var(--soft);border-radius:12px;padding:12px;text-align:center}.facts b{display:block;font-size:20px;color:var(--ac2)}
.callout{background:var(--soft);border-left:4px solid var(--ac);border-radius:8px;padding:12px 14px;margin:12px 0}
.callout.warn{background:var(--warn);border-color:var(--warnb)}
.callout.ok{background:var(--ok);border-color:#2e9e5b}
footer.site{max-width:780px;margin:0 auto;padding:10px 16px 40px;color:var(--mut);font-size:14px;text-align:center}
/* форма */
label.f{display:block;margin:12px 0 4px;font-weight:600}
input[type=text],input[type=number],input[type=password],select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--tx);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ac);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:560px){.row2{grid-template-columns:1fr}}
.chk{display:flex;gap:10px;align-items:flex-start;margin:10px 0;cursor:pointer}.chk input{margin-top:6px;width:20px;height:20px;flex:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
/* опрос */
.progress{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0 6px}
.progress .bar{height:8px;background:var(--line);border-radius:6px;overflow:hidden}.progress .bar i{display:block;height:100%;width:0;background:var(--ac);transition:width .3s}
.progress small{color:var(--mut)}
.step{display:none}.step.on{display:block}
.q{margin:16px 0;padding-bottom:12px;border-bottom:1px solid var(--line)}.q:last-child{border-bottom:0}
.q.miss{background:var(--warn);border-radius:10px;padding:10px;border-bottom:0}
.q .t{font-weight:500}
.opts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.opts label{border:1px solid var(--mut);border-radius:10px;padding:7px 12px;cursor:pointer;font-size:15px;user-select:none}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label:has(input:checked){background:var(--ac);border-color:var(--ac);color:#fff;font-weight:600}
@media (prefers-color-scheme:dark){.opts label:has(input:checked){color:#17141f}}
.opts label:has(input:focus-visible){outline:2px solid var(--ac);outline-offset:2px}
.opts.scale label{min-width:44px;text-align:center;padding:7px 8px}
.nav-btns{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.err{color:#c0392b;font-weight:600}
/* результат */
.scale{margin:18px 0}.scale .hd{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.scale .track{position:relative;display:flex;height:16px;border-radius:8px;overflow:hidden;margin-top:12px}
.scale .track span{height:100%;border-right:2px solid var(--card)}
.scale .mark{position:absolute;top:-6px;width:4px;height:28px;background:var(--tx);border-radius:2px;transform:translateX(-2px)}
.scale .lbl{display:flex;font-size:12px;color:var(--mut);margin-top:3px}.scale .lbl span{text-align:center}
.tips li{margin:6px 0}
/* админка */
.admin-nav{background:var(--ac2);padding:10px 16px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin-nav a,.admin-nav button{color:#fff;text-decoration:none;padding:6px 12px;border-radius:8px;font-size:15px;background:none;border:0;cursor:pointer;font-family:inherit}
.admin-nav a.on{background:rgba(255,255,255,.2)}.admin-nav .sp{flex:1}
.wide{max-width:1180px;margin:0 auto;padding:12px 16px 50px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}
.kpi{background:var(--card);border-radius:14px;padding:14px}.kpi b{display:block;font-size:26px;color:var(--ac2)}.kpi span{color:var(--mut);font-size:14px}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px}@media (max-width:520px){.charts{grid-template-columns:1fr}}
.chartbox{background:#fff;border-radius:14px;padding:10px}.chartbox img{width:100%;height:auto;display:block}
.chartbox .cap{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#5b6270;margin-top:4px}
table.t{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border-radius:12px;overflow:hidden}
table.t th{background:var(--ac2);color:#fff;text-align:left;padding:8px 10px;font-weight:600}
table.t td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tw{overflow-x:auto}
.tag{display:inline-block;border-radius:6px;padding:1px 8px;font-size:12px;background:var(--soft);color:var(--ac2)}
.tag.bad{background:var(--warn);color:#b3470f}
.flash{padding:10px 14px;border-radius:10px;margin:10px 0}.flash.ok{background:var(--ok)}.flash.err{background:var(--warn)}
.inline{display:inline}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.linkrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.linkrow img{width:110px;height:110px;border-radius:8px;background:#fff}
code.url{background:var(--soft);padding:4px 8px;border-radius:6px;word-break:break-all}
/* дыхание */
#ball{width:160px;height:160px;border-radius:50%;background:var(--ac);margin:30px auto;opacity:.8;transition:transform 4s linear;transform:scale(.5)}
#phase{text-align:center;font-size:24px;font-weight:700}
@media print{header.top,nav.tabs,.admin-nav,.btn,footer.site{display:none}}
[hidden]{display:none!important}
