*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,sans-serif;background:#f1f4f8;color:#1b1f24}
header{background:#1d3557;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px 14px}h1{font-size:19px;margin:0}
nav{display:flex;background:#fff;border-bottom:1px solid #dde;position:sticky;top:0;z-index:5}nav button{flex:1;border:0;background:none;padding:12px 2px;font-size:14px;font-weight:600;color:#457b9d}nav button.on{color:#1d3557;border-bottom:3px solid #e63946}
main{padding:12px;max-width:720px;margin:auto}footer{font-size:11px;color:#678;text-align:center;padding:16px}
.card{background:#fff;border-radius:12px;padding:14px;margin:10px 0;box-shadow:0 1px 3px #0002}
.opt{display:block;width:100%;text-align:left;padding:12px;margin:8px 0;border:2px solid #cfd8e3;border-radius:10px;background:#fff;font-size:15px}
.opt.ok{border-color:#2a9d8f;background:#e3f6f2}.opt.bad{border-color:#e63946;background:#fdecee}.opt.sel{border-color:#457b9d;background:#eaf2f8}
.btn{padding:10px 16px;border:0;border-radius:10px;background:#1d3557;color:#fff;font-weight:600;font-size:15px;margin:4px 4px 4px 0}.btn.alt{background:#a8dadc;color:#1d3557}
.ref{font-size:12px;color:#567}.exp{background:#f6f8fb;border-left:4px solid #457b9d;padding:8px;margin-top:8px}
.area{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #eee}.pill{font-size:12px;background:#a8dadc;border-radius:9px;padding:1px 8px}
.flip{min-height:200px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:18px;cursor:pointer}.flip img{max-width:100%;max-height:220px;margin-top:8px}
svg{width:100%;max-width:560px;display:block;margin:auto;background:linear-gradient(#f7f9fc,#e9eef5);border-radius:10px}svg .hp{cursor:pointer;stroke:#1b1f24;stroke-width:1.5;opacity:.85}svg .hp.hit{stroke-width:4;opacity:1}svg .hp.miss{stroke:#e63946;stroke-width:4}

.locked{opacity:.55}.timer{font-weight:700;color:#e63946}.bar{height:8px;background:#ddd;border-radius:4px}.bar i{display:block;height:100%;background:#2a9d8f;border-radius:4px}
select{font-size:15px;padding:8px;border-radius:8px;width:100%}

.legend{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:6px}
.legend li{overflow-wrap:break-word;hyphens:auto;min-width:0;display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#0b1726;background:#fff;border:1px solid #cfd8e3;border-radius:8px;padding:6px 8px;line-height:1.25;cursor:pointer}
.legend .n{flex:none;width:26px;height:26px;border-radius:50%;background:#0b1726;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}
.legend i{flex:none;width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.4)}
.dz{text-align:right}.v4key{font-size:16px;font-weight:600;color:#0b1726;padding-left:20px;line-height:1.4}.v4key li{margin:4px 0}
.zoom{position:fixed;inset:0;background:rgba(11,23,38,.92);z-index:50;overflow:auto;padding:10px}.zoom .zx{position:sticky;top:0;left:0;z-index:2}
.zoom .zi{background:#fff;border-radius:10px;padding:8px;width:max-content;min-width:100%}.zoom .zsv{width:900px;max-width:none;height:auto}.zoom .zimg{width:2400px;max-width:none;display:block}.zoom .legend{width:900px}
.v4vid{width:100%;border-radius:10px;background:#000}.v4gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:8px 0}.v4th{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:4px;font:600 16px system-ui;color:#0b1726}.v4th img{width:100%;display:block;border-radius:6px}.zoom .zimgm{width:calc(100vw - 48px);max-width:720px;display:block}
