:root{--bg: #0F172A;--surface: #1E293B;--surface-2: #253449;--bg-code: #334155;--bg-code-block: #020617;--bg-tip: #1E293B;--text: #E2E8F0;--muted: #94A3B8;--heading: #F1F5F9;--heading-secondary: #CBD5E1;--text-code: #F472B6;--link: #60A5FA;--link-hover: #93C5FD;--border: #334155;--border-soft: #2A3950;--primary: #E76F51;--primary-dark: #D85A3C;--primary-hover: #F77F65;--danger: #B91C1C;--danger-hover: #DC2626;--critical: #F87171;--medium: #FBBF24;--low: #34D399;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7}h2,h3,h4{color:var(--heading);font-weight:700;line-height:1.3}a{color:var(--link);transition:color .2s ease}a:hover{color:var(--link-hover)}input{color:var(--text)}.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{font-size:18px;font-weight:700;text-decoration:none;color:var(--heading)}.brand:hover{color:var(--heading)}.navbar nav{display:flex;align-items:center;gap:18px}.navbar nav a{text-decoration:none;color:var(--muted);font-weight:500}.navbar nav a:hover{color:var(--link-hover)}.navbar nav a.active{color:var(--link)}.container{max-width:960px;margin:0 auto;padding:24px 20px 64px}.footer{text-align:center;color:var(--muted);font-size:13px;padding:24px;border-top:1px solid var(--border);background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s ease}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #e76f514d}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn-nav{padding:7px 14px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px}.error-box{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:#fca5a5;border-radius:8px;padding:12px 16px;margin:12px 0}.scan-progress{margin:16px 0}.progress-track{width:100%;height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#F4A261);border-radius:999px;transition:width .4s ease}.scan-progress .muted{margin-top:8px;font-size:13px}.success-box{background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#6ee7b7;border-radius:8px;padding:12px 16px;margin:12px 0}.empty-state{color:var(--muted);padding:24px;text-align:center}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.upload-zone.dragging{border-color:var(--link);background:#60a5fa14}.upload-icon{font-size:44px}.upload-title{font-size:17px;font-weight:600;margin:12px 0 4px;color:var(--heading)}.upload-sub{color:var(--muted);font-size:14px}.score-gauge{text-align:center}.gauge-score{font-size:30px;font-weight:700}.gauge-max{font-size:13px;fill:var(--muted)}.gauge-label{font-weight:700;margin:0}.result-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;margin:20px 0}.tabs{display:flex;gap:8px;margin:16px 0 0;flex-wrap:wrap}.tab{border:1px solid var(--border);background:var(--surface);padding:9px 16px;border-radius:8px 8px 0 0;cursor:pointer;font-weight:600;color:var(--muted)}.tab:hover:not(:disabled){color:var(--link-hover)}.tab.active{background:var(--surface);color:var(--link);border-bottom-color:var(--surface)}.tab:disabled{opacity:.4;cursor:default}.tab-content{padding:20px;margin-top:-1px;border-top-left-radius:0}.findings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.finding{border-left:4px solid var(--border);border-radius:8px;padding:12px 16px;background:var(--surface-2)}.finding-critical,.finding-high{border-left-color:var(--critical)}.finding-medium{border-left-color:var(--medium)}.finding-low{border-left-color:var(--low)}.finding-head{display:flex;align-items:center;gap:10px}.finding-desc{margin:6px 0 0;color:var(--text)}.finding-loc{margin:6px 0 0;font-size:13px;color:var(--muted)}.finding-snippet{background:var(--bg-code-block);color:#e5e7eb;border-radius:6px;padding:10px 12px;font-size:12.5px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0 0}.badge{border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.badge-soft{background:var(--bg-code);color:var(--heading-secondary)}.finding-critical .badge-soft,.finding-high .badge-soft{background:#f8717129;color:var(--critical)}.finding-medium .badge-soft{background:#fbbf2424;color:var(--medium)}.finding-low .badge-soft{background:#34d39924;color:var(--low)}.hidden-text pre{background:var(--bg-code-block);color:#f5f5f5;padding:16px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow-y:auto}.doc-preview img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;display:block;margin:0 auto}.doc-preview{text-align:center}.auth-page{display:flex;justify-content:center;padding-top:48px}.auth-card{width:100%;max-width:400px;padding:28px;display:flex;flex-direction:column;gap:14px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:var(--heading-secondary)}.auth-card input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:var(--bg);color:var(--text)}.auth-card input:focus{outline:none;border-color:var(--link)}.auth-alt{text-align:center;font-size:14px;margin:0}.auth-alt a{color:var(--link);text-decoration:none;font-weight:600}.pricing-page h2{text-align:center}.pricing-page>.muted,.pricing-page>.hint{text-align:center}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:20px 0}.plan-card{padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.plan-card.featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow)}.plan-card h3{margin:0}.plan-limit{font-size:14px;font-weight:600;color:var(--muted);margin:0}.plan-price{font-size:26px;font-weight:800;margin:0;color:var(--heading)}.plan-per{font-size:13px;font-weight:400;color:var(--muted)}.plan-desc{font-size:13px;color:var(--muted);margin:0}.plan-card .btn{margin-top:auto;width:100%}.account-page h2{text-align:center}.account-card{padding:20px;margin-bottom:20px}.account-plan-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.plan-name{font-size:18px;font-weight:700;margin:0 0 4px;color:var(--heading)}.plan-name .badge{margin-left:8px}.quota-row{display:flex;align-items:center;gap:16px}.quota-num{font-size:26px;font-weight:700}.quota-used{color:var(--link)}.quota-sep,.quota-limit{color:var(--muted)}.quota-bar{flex:1;height:12px;background:var(--bg-code);border-radius:999px;overflow:hidden}.quota-fill{height:100%;background:var(--link);border-radius:999px}.card code{background:var(--bg-code);color:var(--text-code);padding:.15em .4em;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.card pre{background:var(--bg-code-block);color:#cbd5e1;padding:14px 16px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.6}
