:root{--bg:#0b1020;--card:#111a33;--muted:#9fb0d0;--text:#e9f0ff;--line:rgba(255,255,255,.10);--btn:#2f6bff;}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(1200px 800px at 15% 0%, #14255a, var(--bg));color:var(--text)}
.wrap{max-width:1100px;margin:0 auto;padding:22px}
.top{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.kicker{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
h1{margin:.2rem 0;font-size:34px}
.sub{margin:.2rem 0 0;color:var(--muted)}
.actions{display:flex;gap:10px;align-items:center}
input{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:12px;min-width:260px}
.btn{background:var(--btn);color:white;border:0;padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}
.btn:disabled{opacity:.6;cursor:not-allowed}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{background:rgba(17,26,51,.72);border:1px solid var(--line);border-radius:18px;padding:14px;backdrop-filter: blur(6px)}
.card h2{margin:0 0 10px;font-size:15px;color:#cfe0ff}
.score{display:flex;align-items:baseline;gap:12px}
.big{font-size:48px;font-weight:900}
.meta{color:var(--muted)}
.counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pill{border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:12px;color:var(--muted)}
.pill.c{border-color:rgba(255,100,100,.35)}
.pill.h{border-color:rgba(255,180,80,.35)}
.pill.m{border-color:rgba(120,200,255,.35)}
.pill.l{border-color:rgba(180,180,180,.30)}
.modules{display:grid;grid-template-columns:1fr;gap:8px}
.mod{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.12)}
.mod b{font-size:13px}
.mod small{display:block;color:var(--muted);margin-top:2px}
.tag{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.reco{color:var(--text);line-height:1.5}
.reco.empty{color:var(--muted)}
.log{min-height:260px;max-height:360px;overflow:auto;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:14px;padding:10px;white-space:pre-wrap}
.foot{margin-top:14px;color:var(--muted);font-size:12px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}
@media (max-width:900px){.grid{grid-template-columns:1fr}.actions{width:100%}input{flex:1;min-width:0}.top{flex-direction:column;align-items:flex-start}}
