:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6b7485;--accent:#3468ff;--danger:#d74444;--line:#e6e9ef}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 16px}
header h1{font-size:20px;margin:0}.wrap{max-width:780px;margin:auto;padding:14px 14px 95px}
nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}
nav button{flex:1;max-width:150px;border:0;background:none;padding:11px 4px;font-size:12px;color:var(--muted)}nav button.active{color:var(--accent);font-weight:700}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0;box-shadow:0 2px 10px rgba(20,30,60,.03)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric strong{display:block;font-size:25px}.metric span{font-size:12px;color:var(--muted)}
h2{font-size:19px;margin:12px 2px}h3{font-size:16px;margin:4px 0 10px}.muted{color:var(--muted);font-size:13px}
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #d7dce6;border-radius:11px;padding:11px 12px;margin:5px 0 10px;background:white}textarea{min-height:82px;resize:vertical}
button.primary,.btn{border:0;border-radius:11px;background:var(--accent);color:white;padding:11px 14px;font-weight:700}.btn.secondary{background:#eef2ff;color:#315bd6}.btn.danger{background:#fff0f0;color:var(--danger)}
.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.list-item{padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}
.badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#eef2ff;color:#315bd6;font-size:12px}.success{background:#eaf8ef;color:#247448}.wrong{background:#fff0f0;color:#b83a3a}
.hidden{display:none!important}.choice{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:12px;border-radius:10px;margin:7px 0}
.progress{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}
details summary{cursor:pointer;font-weight:700}.empty{text-align:center;color:var(--muted);padding:24px 10px}
@media(min-width:700px){.grid{grid-template-columns:repeat(4,1fr)}}
