:root{--bg:#f6f7f9;--surface:#ffffff;--surface-soft:#f0f6f7;--ink:#172026;--muted:#68737d;--line:#d9e0e5;--primary:#166c7d;--primary-strong:#0d5363;--accent:#e0674f;--accent-soft:#fff0ed;--green:#18805f;--yellow:#f3c64e;--error:#b42318;--shadow:0 18px 48px rgba(23,32,38,0.12)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:linear-gradient(180deg,rgba(22,108,125,.08),rgba(22,108,125,0) 330px),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:28px}.topbar{gap:20px;justify-content:space-between;margin:0 auto 22px;max-width:1380px}.brand-heading,.topbar{align-items:center;display:flex}.brand-heading{gap:16px;min-width:0}.brand-logo{flex:0 0 auto;height:70px;object-fit:contain;width:70px}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,4.6rem);line-height:.98}h2{font-size:1.18rem;line-height:1.2}h3{font-size:.98rem;line-height:1.25}.primary-button,.secondary-button,.status,.status-pill,.stop-button{align-items:center;border-radius:8px;display:inline-flex;gap:8px;justify-content:center;min-height:42px;white-space:nowrap}.status-pill{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(23,32,38,.08);color:var(--primary-strong);font-weight:700;padding:0 14px}.topbar-actions{align-items:center;display:flex;gap:10px}.secondary-button.compact{min-height:42px}.workspace{align-items:stretch;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,.95fr) minmax(360px,.65fr);margin:0 auto;max-width:1380px}.left-pane,.right-pane{display:grid;grid-gap:22px;gap:22px}.right-pane{align-content:stretch;align-self:stretch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px rgba(23,32,38,.08);padding:22px}.modal-heading,.panel-heading,.result-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.selector-panel{background:linear-gradient(135deg,rgba(255,240,237,.85),rgba(240,246,247,.9)),var(--surface)}.model-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.model-tile{align-items:flex-start;background:rgba(255,255,255,.75);border:1px solid rgba(217,224,229,.9);border-radius:8px;display:flex;gap:12px;min-height:132px;padding:14px}.model-tile.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.model-tile p{color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:8px}.model-letter{align-items:center;background:var(--ink);border-radius:8px;color:white;display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:800;height:32px;justify-content:center;width:32px}.model-letter.small{float:left;height:28px;margin-right:10px;width:28px}.combination-group{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(7,minmax(44px,1fr));margin-top:14px;padding:6px}.combo-button{background:transparent;border:0;border-radius:6px;color:var(--muted);font-weight:800;min-height:40px}.combo-button.is-active{background:var(--primary);color:white}.prompt-editor{background:#fbfcfd;border:1px solid var(--line);border-radius:8px;color:var(--ink);line-height:1.55;margin-top:18px;min-height:285px;outline:none;padding:16px;resize:vertical;width:100%}.prompt-editor:focus,.value-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,108,125,.16)}.placeholder-row{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-top:16px}.placeholder-label{color:var(--muted);font-size:.84rem;font-weight:800;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip,.empty-chip{align-items:center;border-radius:8px;display:inline-flex;font-size:.84rem;font-weight:750;min-height:34px;padding:0 10px}.chip{background:var(--surface-soft);border:1px solid #c5dde2;color:var(--primary-strong)}.empty-chip{background:#f5f6f7;border:1px solid var(--line);color:var(--muted)}.icon-button,.primary-button,.secondary-button,.stop-button{border:0;font-weight:800}.primary-button{background:var(--primary);color:white;padding:0 16px}.primary-button:hover:not(:disabled){background:var(--primary-strong)}.secondary-button{background:#eef2f4;color:var(--ink);padding:0 14px}.stop-button{background:var(--accent-soft);color:var(--error);padding:0 14px}.icon-button{background:#eef2f4;border-radius:8px;color:var(--ink);height:38px;width:38px}.icon-button.result-action{height:32px;min-height:32px;width:32px}.icon-button.result-action:disabled{opacity:.38}.result-panel{display:flex;flex-direction:column;height:100%;min-height:646px}.result-list{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.result-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.result-header{background:#fbfcfd;border-bottom:1px solid var(--line);padding:14px}.result-actions{align-items:center;display:flex;flex:0 0 auto;gap:7px}.status{background:#eef2f4;color:var(--muted);font-size:.78rem;font-weight:850;min-height:30px;padding:0 10px}.status.running{background:rgba(243,198,78,.24);color:#715300}.status.running svg{animation:spin 1s linear infinite}.status.done{background:rgba(24,128,95,.14);color:var(--green)}.status.error{background:var(--accent-soft);color:var(--error)}.result-body{min-height:0;padding:14px}.result-body pre,.review-box{color:var(--ink);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.result-body pre{max-height:calc(1.55em * 10);overflow:auto;padding-right:6px}.muted{color:var(--muted);line-height:1.5}.error-text{align-items:flex-start;color:var(--error);display:flex;gap:8px;line-height:1.45}.modal-backdrop{align-items:center;background:rgba(23,32,38,.46);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.modal{background:var(--surface);border-radius:8px;box-shadow:var(--shadow);max-height:min(760px,calc(100vh - 40px));max-width:560px;overflow:auto;padding:22px;width:100%}.modal.wide{max-width:780px}.field-stack{display:grid;grid-gap:14px;gap:14px;margin-top:20px}.value-field{display:grid;grid-gap:8px;gap:8px}.value-field span{color:var(--primary-strong);font-size:.88rem;font-weight:850}.value-field input{min-height:44px;outline:none;padding:0 12px}.review-box,.value-field input{border:1px solid var(--line);border-radius:8px}.review-box{background:#fbfcfd;margin-top:20px;max-height:390px;overflow:auto;padding:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.auth-shell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:460px;padding:28px;width:100%}.auth-logo{display:block;height:72px;margin-bottom:20px;object-fit:contain;width:72px}.auth-heading h1{font-size:2rem;line-height:1.05}.auth-heading p:last-child{color:var(--muted);line-height:1.5;margin-top:12px}.auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.auth-form label{display:grid;grid-gap:8px;gap:8px}.auth-form label span{color:var(--ink);font-size:.88rem;font-weight:850}.auth-form input{border:1px solid var(--line);border-radius:8px;min-height:46px;outline:none;padding:0 12px}.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,108,125,.16)}.auth-error{align-items:flex-start;background:var(--accent-soft);border:1px solid rgba(180,35,24,.18);border-radius:8px;color:var(--error);display:flex;gap:8px;line-height:1.4;padding:12px}.auth-submit{margin-top:4px;width:100%}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1080px){.workspace{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{padding:18px}.modal-actions,.placeholder-row,.result-header,.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.result-actions{justify-content:flex-start}.brand-heading{align-items:flex-start}.brand-logo{height:58px;width:58px}.model-grid{grid-template-columns:1fr}.combination-group{grid-template-columns:repeat(4,minmax(48px,1fr))}.panel{padding:18px}.primary-button,.secondary-button,.status-pill,.stop-button{width:100%}}