:root{--maxw: 1100px;--pad: 24px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--accent-h: 224;--accent-s: 70%;--accent-l: 62%;--accent: hsl(var(--accent-h) var(--accent-s) var(--accent-l));--accent-600: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) - 6%));--accent-700: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) - 12%));--accent-100: hsl(var(--accent-h) 100% 96%);--accent-200: hsl(var(--accent-h) 90% 90%);--focus-ring: 0 0 0 3px hsl(var(--accent-h) 95% 85%);--bg: #050816;--bg-elev: #0b1020;--bg-elevated: #0b1020;--bg-soft: #111827;--text: #f9fafb;--fg: #f9fafb;--muted: #9ca3af;--muted2: #6b7280;--border: #1f2937;--border-subtle: rgba(255, 255, 255, .08);--accent-soft: rgba(79, 70, 229, .12);--accent-strong: #6366f1;--pos: hsl(150 60% 60%);--pos-bg: hsl(150 35% 18%);--neg: hsl(0 70% 60%);--neg-bg: hsl(0 40% 18%);--warn: hsl(38 90% 60%);--warn-bg: hsl(38 40% 18%);--shadow-1: 0 1px 3px rgba(15, 23, 42, .7), 0 1px 2px rgba(15, 23, 42, .6);--shadow-2: 0 12px 30px rgba(15, 23, 42, .8);--shadow-soft: 0 18px 40px rgba(15, 23, 42, .8);--shadow-subtle: 0 1px 3px rgba(15, 23, 42, .7);--dur: .18s;--ease: cubic-bezier(.2,.8,.2,1);--transition-fast: .16s ease-out;--transition-med: .22s ease-out}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(circle at top,#111827 0,#020617 45%,#000);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .4em}h1{font-size:clamp(24px,3vw,32px)}h2{font-size:clamp(20px,2.3vw,24px)}h3{font-size:clamp(18px,2vw,20px)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.outer{min-height:100%;display:grid;place-items:start center;padding:24px}@media(max-width:700px){.outer{padding-top:12px;padding-bottom:16px}.header{padding-top:4px;padding-bottom:4px;margin-bottom:4px;gap:6px}}.container{width:100%;max-width:var(--maxw)}.app-header{margin-bottom:18px}.app-brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.app-logo{max-width:64px}.app-title{font-size:1.3rem;font-weight:650;display:flex;align-items:center;gap:8px}.app-logo-dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f97316,#e11d48)}.app-subtitle{font-size:.85rem;color:var(--muted)}.app-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.user-info{display:flex;align-items:center;gap:8px;font-size:.85rem}.user-email{color:var(--muted)}@media(max-width:700px){.app-header{margin-bottom:12px}.app-title{flex-direction:column}.app-logo{display:block;margin-left:auto;margin-right:auto}.app-subtitle{display:flex;justify-content:center;margin-top:4px}}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:6px 0 10px;flex-wrap:wrap}.header-left{min-width:0}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:260px}.header .user-info{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-size:.85rem}.header .user-email{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}.header-button{white-space:nowrap;margin-left:0}.header-menu-toggle{display:none}@media(max-width:700px){.header{flex-direction:column;align-items:stretch;gap:8px;padding:4px 0;margin-bottom:4px}.header-left{width:100%}.header-right{width:100%;align-items:center;min-width:0;gap:6px;margin-bottom:2em}.header .user-info{justify-content:space-between;margin-bottom:0}.header-menu-toggle{display:inline-flex;align-self:center;font-size:.8rem;border-radius:999px;border:1px solid var(--border-subtle)}.header-menu-toggle:hover{border-color:var(--accent);color:var(--accent-100)}.header-actions{display:none;justify-content:flex-start}.header-actions[data-open=true]{display:flex;flex-wrap:wrap;margin-top:6px}.header-actions .header-button{flex:1 1 calc(50% - 8px);text-align:center}.outer{padding-top:12px;padding-bottom:16px}}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.pill-free{background:#94a3b833;color:#e5e7eb}.pill-pro{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fefce8}.pill-pos{background:#16a34a2e;color:#bbf7d0}.pill-neg{background:#dc262638;color:#fecaca}.pill-neutral{background:var(--accent-100);color:var(--accent-700);border:1px solid var(--accent-200)}.muted.caps{margin-left:8px;font-size:.9rem;color:var(--muted);white-space:nowrap}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.actions button{border-radius:999px}.card{background:radial-gradient(circle at 0 0,rgba(148,163,184,.2),transparent 55%),var(--bg-elevated);border-radius:var(--radius-lg);padding:18px 18px 16px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);margin-bottom:16px;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px);border-color:#94a3b899}.card-title{margin:0 0 8px;font-size:1rem;font-weight:600}.grid2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);gap:16px}@media(max-width:900px){.app-brand-row{flex-direction:column;align-items:flex-start}.app-header-right{align-items:flex-start}.grid2{grid-template-columns:minmax(0,1fr)}.tabs{width:100%;justify-content:space-between}.tab{flex:1;text-align:center}}.textarea,.input{width:100%;font-size:14px;padding:12px;border-radius:10px;border:1px solid rgba(148,163,184,.6);background:#0f172ad9;color:var(--fg);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);resize:vertical;min-height:130px}.textarea::placeholder,.input::placeholder{color:#94a3b8b3}.textarea:focus,.input:focus{border-color:var(--accent);box-shadow:var(--shadow-2),var(--focus-ring)}button{cursor:pointer;border:none;border-radius:8px;padding:7px 13px;font-size:.85rem;font-weight:500;background:#1f2937;color:var(--fg);box-shadow:var(--shadow-subtle);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity .12s ease-out}button:hover:not(:disabled){background:#374151;transform:translateY(-1px);box-shadow:0 8px 18px #0f172ab3}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-subtle)}button:disabled{opacity:.55;cursor:default}button.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong))}button.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-strong),#7c3aed)}button.btn-ghost{background:transparent;border:1px solid rgba(148,163,184,.5)}.button{appearance:none;border:1px solid transparent;border-radius:999px;padding:10px 14px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);display:inline-flex;align-items:center;gap:8px}.button-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.button-primary:hover{background:var(--accent-600);transform:translateY(-1px)}.button-primary:active{transform:translateY(0)}.button-primary:focus-visible{box-shadow:var(--shadow-2),var(--focus-ring)}.button-ghost{background:transparent;color:var(--fg);border-color:var(--border-subtle)}.button-ghost:hover{border-color:var(--accent)}.analyze-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.analyze-actions button{flex-grow:0;flex-shrink:0;white-space:nowrap}.button-clear{background-color:#1f2937e6;border:1px solid var(--border-subtle);border-radius:999px;color:var(--fg);padding:10px 14px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.button-clear:hover:not(:disabled){background-color:#374151}.button-clear:disabled{opacity:.5;cursor:not-allowed}.button-analyze{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:10px 20px;font-weight:700;cursor:pointer;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);display:inline-flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-1)}.button-analyze:hover:not(:disabled){background:var(--accent-600);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.button-analyze:active{transform:translateY(0)}.button-analyze:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.header-button{appearance:none;border:1px solid transparent;border-radius:999px;padding:8px 16px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);color:var(--fg);background-color:var(--bg-elevated);box-shadow:var(--shadow-1);-webkit-user-select:none;user-select:none;white-space:nowrap;margin-left:6px}.header-button:hover:not(:disabled){background-color:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-1px);color:var(--accent-100)}.header-button:active{transform:translateY(0)}.header-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.header-button-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-1)}.header-button-primary:hover:not(:disabled){background:var(--accent-600);border-color:var(--accent-600);box-shadow:var(--shadow-soft);color:#fff}.header-button-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.header-button-secondary:hover:not(:disabled){background:var(--accent);color:#fff}.header-button-small{padding:6px 12px;font-size:.9rem}.tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#0f172ae6;border-radius:999px;border:1px solid rgba(148,163,184,.28);box-shadow:0 10px 30px #0f172acc;margin-bottom:18px}.tab{position:relative;padding:6px 18px;border-radius:999px;font-size:.85rem;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.tab:hover{color:#e5e7eb}.tab.active{background:radial-gradient(circle at 0 0,#f8fafc33,#38bdf81a);color:#f9fafb;transform:translateY(-1px);box-shadow:0 14px 30px #082f49e6}.tab__label{display:inline-block;padding-bottom:2px;letter-spacing:.2px}.row{display:flex;align-items:center;gap:12px;margin-top:8px}.muted{color:var(--muted)}.small{font-size:.8rem}.list{list-style:none;padding:0;margin:0}.list-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:#0f172ab3;border:1px solid rgba(31,41,55,.9);margin-bottom:6px}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;padding:2px 6px;background:var(--accent-100);border:1px solid var(--accent-200);border-radius:6px}.error{margin-top:8px;padding:8px 10px;border-radius:10px;background:#dc26261f;border:1px solid rgba(248,113,113,.45);color:#fecaca;font-size:.85rem}.auth-status.success{border:2px solid #10b981}.auth-status.error{border:2px solid #ef4444}.login-form,.login-success,.auth-status{max-width:400px;margin:100px auto;padding:40px;border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow-1);text-align:center}.login-form h2,.login-success h2,.auth-status h2{margin-bottom:12px}.login-form p,.login-success p,.auth-status p{color:var(--muted2);margin-bottom:24px}.login-form input{width:100%;padding:12px;font-size:16px;border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:16px;background:var(--bg-soft);color:var(--fg)}.login-form button,.login-success button{width:100%;padding:12px 24px;font-size:16px;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.login-form button:disabled{opacity:.5;cursor:not-allowed}.login-form button:hover:not(:disabled){opacity:.9}.footer{margin-top:32px;padding:16px 0 8px;border-top:1px solid rgba(31,41,55,.9);font-size:13px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.footer-brand{font-weight:500}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-link{text-decoration:none;color:inherit;opacity:.85}.footer-link:hover{opacity:1;text-decoration:underline}.app-footer{margin-top:18px;padding-top:10px;border-top:1px solid rgba(31,41,55,.9);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted);gap:10px}.app-footer a{color:inherit;text-decoration:none}.app-footer a:hover{text-decoration:underline}input[type=file]{width:100%;font-size:14px;padding:12px;border-radius:var(--radius);border:1px solid rgba(148,163,184,.6);background:#0f172ad9;color:var(--fg);outline:none;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}input[type=file]::file-selector-button{cursor:pointer;border:none;background:var(--accent);color:#fff;padding:6px 12px;margin-right:8px;border-radius:var(--radius-pill);font-weight:600;transition:background var(--dur) var(--ease)}input[type=file]::file-selector-button:hover{background:var(--accent-600)}input[type=file]:focus,input[type=file]:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-2),var(--focus-ring)}.tab-active{background:#fff;color:#000;box-shadow:0 0 0 1px #0000000d}
