:root{--bg:#f8f9fa;--surface:#fff;--border:#e2e4e8;--text:#1a1d23;--text-secondary:#6b7280;--text-muted:#9ca3af;--primary:#2563eb;--primary-light:#eff6ff;--green:#059669;--green-light:#ecfdf5;--red:#dc2626;--red-light:#fef2f2;--orange:#ea580c;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;--mono:"SF Mono","Fira Code",monospace}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6}.app{max-width:900px;margin:0 auto;padding:32px 24px 64px}.header{margin-bottom:32px}.header__title{font-size:28px;font-weight:700}.header__title span{color:var(--primary)}.header__sub{font-size:14px;color:var(--text-secondary);margin-top:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.card__title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.samples{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.sample-btn{font-size:12px;padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:var(--font)}.sample-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}textarea,input,select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:var(--font);outline:none;background:var(--surface);transition:border-color .15s}textarea:focus,input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}textarea{resize:vertical;font-family:var(--mono);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;font-family:var(--font)}.btn:hover{background:#1d4ed8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover{background:var(--bg)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:600px){.grid{grid-template-columns:1fr}}.metric{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.metric__value{font-size:24px;font-weight:700;color:var(--primary);display:block}.metric__label{font-size:12px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.metric--best{background:var(--green-light);border-color:var(--green)}.metric--best .metric__value{color:var(--green)}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.model-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.model-card__name{font-size:14px;font-weight:600;margin-bottom:8px}.model-card--best{background:var(--green-light);border-color:var(--green)}.model-card__stat{font-size:12px;color:var(--text-secondary);margin-bottom:2px;font-family:var(--mono)}.model-card__stat strong{color:var(--text)}.bar{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bar__label{font-size:12px;color:var(--text-secondary);width:120px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar__track{flex:1;height:16px;background:var(--bg);border-radius:4px;overflow:hidden}.bar__fill{height:100%;border-radius:4px;transition:width .4s}.bar__value{font-size:11px;color:var(--text-muted);width:40px;text-align:right;font-family:var(--mono)}.predict-input{margin-bottom:16px}.predict-input label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;display:block;text-transform:uppercase;letter-spacing:.04em}.predict-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:8px}.result{font-size:18px;font-weight:600;color:var(--primary);padding:8px 0}.error{color:var(--red);font-size:13px;padding:8px 12px;background:var(--red-light);border-radius:var(--radius);margin-bottom:12px}.footer{text-align:center;padding:24px 0;font-size:13px;color:var(--text-muted);border-top:1px solid var(--border);margin-top:24px}.footer a{color:var(--primary)}
