:root{--bg: #0f1117;--panel: #171a23;--panel-2: #1e222d;--border: #2a2f3c;--text: #e6e8ee;--muted: #8b93a7;--accent: #6d7cff;--accent-hover: #5867ff;--ok: #3ecf8e;--bad: #ff6b6b;--warn: #ffb454;--radius: 10px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:760px;margin:0 auto;padding:28px 20px 60px}.header{margin-bottom:20px}.brand{display:flex;align-items:center;gap:14px}.logo{font-size:34px}h1{margin:0;font-size:24px;letter-spacing:-.02em}.tagline{margin:2px 0 0;color:var(--muted);font-size:13px}.tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:4px;margin-bottom:18px}.tab{flex:1;padding:10px;background:transparent;border:none;border-radius:7px;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer;transition:.15s}.tab:hover{color:var(--text)}.tab-active{background:var(--panel-2);color:var(--text)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.panel h2{margin:0 0 4px;font-size:18px}.panel>.muted{margin-top:0;font-size:13px}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:3px;margin:12px 0;gap:3px}.seg-wide{display:flex}.seg-wide button{flex:1}.seg button{padding:7px 16px;background:transparent;border:none;border-radius:6px;color:var(--muted);font-size:13px;cursor:pointer}.seg .seg-on{background:var(--accent);color:#fff}.input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical}.input:focus{outline:none;border-color:var(--accent)}textarea.input{line-height:1.5}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0;flex:1}.field>span{font-size:12px;color:var(--muted);font-weight:500}.row{display:flex;gap:10px;align-items:flex-end;margin:12px 0}.row .field{margin:0}.btn{padding:10px 18px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:.15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-ghost{background:var(--panel-2);border-color:var(--border);color:var(--text)}.btn-ghost:not(:disabled):hover{border-color:var(--accent)}.filedrop{border:1.5px dashed var(--border);border-radius:8px;padding:26px;text-align:center;cursor:pointer;transition:.15s;font-size:14px}.filedrop:hover,.filedrop-over{border-color:var(--accent);background:#6d7cff0f}.result{margin-top:16px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px}.result-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.strength{display:flex;align-items:center;gap:10px;margin:4px 0 8px}.strength-bar{height:6px;border-radius:3px;flex:1;background:var(--border);transition:.2s}.strength-0{background:linear-gradient(90deg,var(--bad) 20%,var(--border) 20%)}.strength-1{background:linear-gradient(90deg,var(--warn) 40%,var(--border) 40%)}.strength-2{background:linear-gradient(90deg,var(--warn) 60%,var(--border) 60%)}.strength-3{background:linear-gradient(90deg,var(--ok) 80%,var(--border) 80%)}.strength-4{background:var(--ok)}.verdict{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:16px;border-radius:8px;border:1px solid var(--border)}.verdict-ok{background:#3ecf8e1a;border-color:var(--ok)}.verdict-bad{background:#ff6b6b1a;border-color:var(--bad)}.verdict-icon{font-size:28px;line-height:1}.verdict-ok .verdict-icon{color:var(--ok)}.verdict-bad .verdict-icon{color:var(--bad)}.transparency{margin-top:16px;font-size:13px}.transparency summary{cursor:pointer;color:var(--muted)}.transparency dl{display:grid;grid-template-columns:90px 1fr;gap:6px 14px;margin:12px 0 0}.transparency dt{color:var(--muted)}.transparency dd{margin:0}.mono{font-family:var(--mono)}.break{word-break:break-all}.small{font-size:12px}.muted{color:var(--muted)}.error{color:var(--bad);font-size:13px;margin-top:12px}.warn{color:var(--warn);font-size:13px}.warn.subtle{opacity:.85;font-size:12px}code.mono{display:block;font-size:13px;color:var(--text)}.footer{margin-top:24px;text-align:center}
