
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Assistant,Rubik,Heebo,Arial,sans-serif;background:#fdf6ec;color:#1f2937;font-size:18px;line-height:1.5}
header.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#0f4c5c;color:#fff;z-index:5}
.brand{display:flex;flex-direction:column}.bt{font-weight:800;font-size:21px}.bs{font-size:14px;opacity:.9}
.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid #e5e7eb;z-index:4}
.tabs button{flex:1 1 auto;min-height:48px;padding:8px 12px;border-radius:14px;border:2px solid #16697a;background:#fff;color:#0f4c5c;font:inherit;font-weight:700;font-size:17px;cursor:pointer}
.tabs button.on{background:#16697a;color:#fff}
main{max-width:760px;margin:0 auto;padding:14px 12px 30px}
h1{font-size:24px;margin:6px 0 2px;color:#0f4c5c}h2{font-size:21px;margin:22px 0 6px;color:#0f4c5c}
.sub{color:#6b7280;margin:0 0 10px}
.card{background:#fff;border-radius:18px;box-shadow:0 2px 10px rgba(15,76,92,.08);padding:14px;margin:12px 0}
.score{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0f4c5c;color:#fff;border-radius:16px;padding:12px 14px;position:sticky;top:0;z-index:3;margin:8px 0}
.score b{font-size:24px}.score .bar{flex:1;height:10px;background:rgba(255,255,255,.25);border-radius:6px;overflow:hidden}.score .bar i{display:block;height:100%;background:#f6bd60;width:0;transition:width .3s}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;padding:10px 16px;border-radius:14px;border:0;background:#e36414;color:#fff;font:inherit;font-weight:800;font-size:18px;text-decoration:none;cursor:pointer}
.btn.sec{background:#fff;color:#0f4c5c;border:2px solid #16697a}.btn.ghost{background:#eef2f3;color:#0f4c5c}
.row{display:flex;flex-wrap:wrap;gap:10px}.row .btn{flex:1 1 140px}
.mapwrap{position:relative;max-width:440px;margin:0 auto;border-radius:14px;overflow:hidden;border:2px solid #d1d5db;background:#cde9f6}
.mapwrap svg{display:block;width:100%;height:auto}
.mapwrap .hit{cursor:pointer}
.mapwrap .hit circle.t{fill:transparent}
.badge-ok circle.b,.badge-ok rect.b{fill:#d1fae5!important;stroke:#059669!important}
.badge-bad circle.b,.badge-bad rect.b{fill:#fee2e2!important;stroke:#dc2626!important}
.badge-sel circle.b,.badge-sel rect.b{stroke:#e36414!important;stroke-width:12!important}
.list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.item{display:flex;align-items:center;gap:10px;min-height:52px;border:2px solid #e5e7eb;border-radius:14px;padding:6px 10px;background:#fff;font:inherit;font-size:18px;text-align:right;cursor:pointer;width:100%}
.item .n{flex:0 0 40px;height:40px;border-radius:50%;border:3px solid #0f4c5c;display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f4c5c}
.item .n.sq{border-radius:8px}.item .n.bd{border-color:#e36414;color:#9a3412;border-radius:8px;font-family:Arial,sans-serif}.item .n.bn{background:#fff3b0;border-color:#e36414}
.item .v{flex:1;color:#6b7280}.item.ok{border-color:#059669;background:#ecfdf5}.item.ok .v{color:#065f46;font-weight:800}
.item.bad{border-color:#dc2626;background:#fef2f2;animation:sh .35s}
@keyframes sh{0%,100%{transform:none}25%{transform:translateX(6px)}75%{transform:translateX(-6px)}}
.q{margin:0 0 6px;font-weight:800;font-size:19px}
.opts{display:grid;grid-template-columns:1fr;gap:8px}
.opt{min-height:52px;border-radius:14px;border:2px solid #16697a;background:#fff;color:#0f4c5c;font:inherit;font-size:18px;font-weight:700;cursor:pointer;padding:8px 12px;text-align:right}
.opt.ok{background:#d1fae5;border-color:#059669;color:#065f46}.opt.bad{background:#fee2e2;border-color:#dc2626;color:#991b1b}.opt:disabled{cursor:default}
.fb{margin-top:8px;font-weight:700;border-radius:12px;padding:8px 10px}.fb.ok{background:#ecfdf5;color:#065f46}.fb.bad{background:#fef2f2;color:#991b1b}
.hint{font-size:15px;color:#6b7280}
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-box{background:#fff;width:100%;max-width:560px;max-height:80vh;overflow:auto;border-radius:20px 20px 0 0;padding:14px 14px 22px}
.sheet-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:20px;color:#0f4c5c;margin-bottom:6px}
.sheet .x{min-width:48px;min-height:48px;border:0;border-radius:12px;background:#eef2f3;font-size:20px;cursor:pointer}
.sheet-msg{min-height:26px;font-weight:700}.sheet-msg.bad{color:#b91c1c}
.sheet-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.sheet-opts button{min-height:54px;border-radius:14px;border:2px solid #16697a;background:#fff;color:#0f4c5c;font:inherit;font-size:18px;font-weight:700;cursor:pointer;padding:6px}
.sheet-opts button small{display:block;font-size:13px;font-weight:600;color:#6b7280}
.sheet-opts button.used{opacity:.45}
.files .f{border:2px solid #e5e7eb;border-radius:16px;padding:12px;margin:10px 0;background:#fff}
.files .f h3{margin:0 0 8px;color:#0f4c5c;font-size:19px}
.done{background:#fff7ed;border:2px solid #e36414;border-radius:16px;padding:12px;margin:14px 0;font-weight:800;font-size:19px;text-align:center}
.foot{text-align:center;padding:18px 10px 26px;color:#4b5563;font-weight:700}
@media(min-width:620px){.list{grid-template-columns:1fr 1fr}.opts{grid-template-columns:repeat(3,1fr)}}
.item .n.wt{border-color:#1f6fae;color:#1f6fae;background:#e0f2fe}
.mapwrap .nm{pointer-events:none}
