:root{--bg: #eef1f4;--panel: #ffffff;--ink: #16202b;--ink-soft: #26313d;--muted: #5b6773;--faint: #8a96a2;--line: #dde3e9;--line-soft: #edf0f3;--accent: #2545ff;--danger: #b23b3b;--gold: #ffd466;--mono: "JetBrains Mono", ui-monospace, monospace;--body: -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Space Grotesk",var(--body)}.container{max-width:1100px;margin:0 auto;padding:28px 20px 60px}.header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:22px}.header h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0}.header p{margin:4px 0 0;font-size:13px;color:var(--muted)}.header-actions{display:flex;gap:8px}.btn-ghost{background:none;border:1px solid #c8d0d8;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:9px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.btn-primary:disabled{background:#b9c2cb;cursor:default}.btn-dark{background:var(--ink);color:#fff;border:none;border-radius:10px;padding:9px 20px;font-size:13.5px;cursor:pointer;font-family:inherit}.prompt-bar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 2px 10px #16202b0d}.prompt-bar textarea{width:100%;border:none;resize:vertical;font-size:15px;font-family:inherit;background:transparent;color:var(--ink)}.prompt-bar textarea::placeholder{color:#9aa6b2}.prompt-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:8px}.prompt-controls-right{display:flex;align-items:center;gap:12px}.auto-score{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer}.model-toggles{display:flex;gap:8px;flex-wrap:wrap}.model-toggle{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:20px;font-size:13px;cursor:pointer;font-family:inherit;background:#fff;border:1.5px solid #c8d0d8;color:var(--faint)}.model-toggle.on{color:var(--ink)}.dot{border-radius:50%;display:inline-block;flex-shrink:0;width:8px;height:8px}.verdict{margin-top:18px;background:var(--ink);color:#f2f5f8;border-radius:14px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13.5px}.verdict .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#9aa6b2}.verdict .rank{font-family:var(--mono);font-size:12px;color:#7e8b98}.verdict .rank.first{color:var(--gold)}.verdict .score{font-family:var(--mono);font-size:12.5px;color:#c6cfd8}.verdict-item{display:flex;align-items:center;gap:8px}.panels{margin-top:18px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s ease}.panel:hover{box-shadow:0 4px 20px #16202b14}.panel.winner{border-width:2px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.panel-title{display:flex;align-items:center;gap:9px}.panel-name{font-size:14.5px;font-weight:700}.panel-sub{font-size:11.5px;color:var(--faint)}.panel-latency{font-family:var(--mono);font-size:11.5px;color:var(--faint)}.badge-best{margin-left:8px;font-size:10.5px;font-family:var(--mono);border-radius:5px;padding:2px 7px;vertical-align:middle;letter-spacing:.06em}.panel-scores{padding:12px 16px;border-bottom:1px solid var(--line-soft);display:grid;gap:7px;background:#fafbfc}.score-row{display:flex;align-items:center;gap:10px}.score-label{font-size:11px;color:var(--muted);width:88px;flex-shrink:0}.score-track{flex:1;height:5px;background:#e4e8ec;border-radius:3px;overflow:hidden}.score-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.score-num{font-family:var(--mono);font-size:11px;color:#3a4652;width:28px;text-align:right}.score-verdict{margin:4px 0 0;font-size:12px;color:var(--muted);font-style:italic}.panel-body{padding:16px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;max-height:420px;overflow-y:auto;flex:1;color:var(--ink-soft);font-family:var(--body)}.panel-body.error{color:var(--danger)}.panel-body .waiting{color:#9aa6b2}.panel-foot{padding:8px 16px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:#9aa6b2}.panel-foot button{background:none;border:none;color:var(--muted);cursor:pointer;font-family:inherit;font-size:11px;padding:0;display:inline-flex;align-items:center;gap:4px}.spin{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation-duration:2s}}.history{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.history-head{padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.history-item{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);padding:11px 16px;cursor:pointer;font-family:inherit;display:flex;gap:12px;align-items:center;justify-content:space-between}.history-item:hover{background:#f7f9fa}.history-item:last-child{border-bottom:none}.history-prompt{font-size:13px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.history-meta{display:flex;gap:10px;align-items:center;flex-shrink:0;font-family:var(--mono);font-size:11px;color:var(--faint)}.empty{margin-top:60px;text-align:center;color:var(--faint);font-size:13.5px}.empty .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;margin-bottom:10px}.hint{margin:8px 0 0;font-size:12px;color:var(--faint)}.center{margin-top:14px;text-align:center}textarea:focus,input:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 28px;width:100%;max-width:380px;box-shadow:0 4px 24px #16202b12}.auth-card h1{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.auth-sub{margin:6px 0 22px;font-size:13px;color:var(--muted)}.auth-label{display:block;font-size:12px;color:var(--muted);margin:12px 0 5px}.auth-card input{width:100%;border:1px solid #c8d0d8;border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;background:#f7f9fa}.auth-submit{width:100%;margin-top:18px}.auth-switch{width:100%;margin-top:10px;background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;font-family:inherit}.auth-error{margin:10px 0 0;font-size:12.5px;color:var(--danger)}.auth-notice{margin:10px 0 0;font-size:12.5px;color:#1b7a4b}.model-form{padding:14px 16px;border-bottom:1px solid var(--line-soft);background:#fafbfc;display:grid;gap:10px}.model-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.model-form label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px}.model-form input,.model-form select{width:100%;border:1px solid #c8d0d8;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff}.model-form .hint code{font-family:var(--mono);font-size:11px;background:#eef1f4;padding:1px 4px;border-radius:4px}.model-form .btn-primary{justify-self:start}.icon-btn{background:none;border:none;color:var(--faint);cursor:pointer;padding:2px;display:inline-flex}.icon-btn:hover{color:var(--danger)}.model-row{cursor:default}.model-row:hover{background:none}@media (max-width: 560px){.model-form-row{grid-template-columns:1fr}}.attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.file-chip{display:inline-flex;align-items:center;gap:6px;background:#eef1f4;border:1px solid var(--line);border-radius:14px;padding:3px 8px 3px 11px;font-size:12px;color:var(--ink-soft);font-family:var(--mono)}.file-chip button{background:none;border:none;cursor:pointer;color:var(--faint);display:inline-flex;padding:1px}.file-chip button:hover{color:var(--danger)}.file-error{font-size:12px;color:var(--danger)}.catalog-row{display:flex;align-items:center;gap:11px;padding:10px 16px;border-bottom:1px solid var(--line-soft)}.catalog-info{flex:1;min-width:0}.catalog-label{font-size:13px;font-weight:600}.catalog-desc{font-size:11.5px;color:var(--faint);margin-top:1px}.catalog-added{font-size:12px;color:#1b7a4b;font-family:var(--mono)}.advanced-toggle{width:100%;background:none;border:none;text-align:left;padding:11px 16px;font-size:12px;color:var(--faint);cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:5px}.advanced-toggle:hover{color:var(--muted)}.overall-score{font-family:var(--mono);font-weight:600;font-size:16px;border:1.5px solid;border-radius:9px;padding:3px 9px;display:inline-flex;align-items:baseline;gap:1px;line-height:1.2}.overall-denom{font-size:10px;font-weight:400;opacity:.7}.score-reason{margin:2px 0 0 98px;font-size:11px;color:var(--faint);line-height:1.35}.verdict-rationale{flex-basis:100%;margin:4px 0 0;font-size:12.5px;color:#c6cfd8;line-height:1.45;border-top:1px solid #2a3542;padding-top:8px}.brand-logo{height:34px;width:auto;border-radius:6px}.color-pair{display:flex;gap:8px;align-items:center}.color-pair input[type=color]{width:42px;height:36px;padding:2px;border:1px solid #c8d0d8;border-radius:8px;background:#fff;cursor:pointer;flex-shrink:0}.color-pair input[type=text],.color-pair input:not([type=color]){flex:1}.rank-chip{font-family:var(--mono);font-size:11px;font-weight:600;background:#eef1f4;color:var(--faint);border-radius:5px;padding:2px 6px;margin-right:7px;vertical-align:middle}.thread-chip{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12.5px;color:var(--muted);background:#eef1f4;border:1px solid var(--line);border-radius:9px;padding:6px 10px}.thread-chip span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-chip button{display:inline-flex;align-items:center;gap:3px;background:none;border:none;cursor:pointer;color:var(--faint);font-family:inherit;font-size:11.5px;flex-shrink:0}.thread-chip button:hover{color:var(--ink)}
