:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#172237;background:#f4f6fa;font-size:16px;--blue:#174cdb;--line:#e3e8f0;--muted:#6a778b;--dark:#12233e}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:9px;padding:9px 14px;font-size:.875rem}button:hover{background:#eef3ff;border-color:#b6c8f5}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #98b5ff;outline-offset:2px}[hidden]{display:none!important}h1,h2,p{margin-top:0}.muted{color:var(--muted)}.primary{background:var(--blue);color:white;border-color:var(--blue);font-weight:600}.primary:hover{background:#123dae;color:white}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:1.25rem;letter-spacing:.08em}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue);color:white;font-weight:650}.brand .muted{font-size:.875rem}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e7eefc 0%,#f5f7fb 50%,#e7edf8 100%)}.auth-card{width:100%;max-width:430px;padding:36px;background:white;border:1px solid #dce4f2;border-radius:18px;box-shadow:0 20px 65px #16305212}.auth-card h1{font-size:1.5rem;margin:32px 0 12px}.auth-card p{font-size:.9375rem;line-height:1.7}.auth-card label,.settings-form label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:.875rem;font-weight:550}input,select{border:1px solid #ced8e8;padding:12px;border-radius:9px;width:100%;background:white;color:inherit;min-width:0}.auth-card .primary{width:100%;padding:12px;margin-top:10px}.link-button{border:none;background:none;color:var(--blue);width:100%;margin-top:12px}.error{color:#ad233d;font-size:.875rem;line-height:1.5}.app{display:grid;grid-template-columns:248px minmax(0,1fr);height:100dvh;overflow:hidden}.sidebar{background:var(--dark);color:#eef3ff;padding:26px 18px 0;display:flex;flex-direction:column;overflow:hidden}.sidebar .brand-symbol{background:#3562e8}.version{font-size:.6875rem;letter-spacing:.08em;background:#ffffff12;color:#93acd2;padding:3px 5px;border-radius:4px}.new-chat{margin:30px 0 26px;text-align:left;background:#ffffff0c;border-color:#ffffff20;color:#eef3ff;padding:12px}.new-chat:hover{background:#ffffff1b;border-color:#ffffff40}.side-heading{font-size:.75rem;color:#8c9fbd;margin:0 10px 10px}.sidebar nav{flex:1;overflow:auto}.conversation-button{width:100%;background:transparent;border:0;text-align:left;color:#b5c4dc;margin:3px 0;padding:12px 10px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-button:hover,.conversation-button.selected{color:white;background:#ffffff12}.account{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ffffff18;padding:20px 0}.account strong{font-size:.875rem}.account small{display:block;color:#91a3bf;font-size:.75rem;margin-top:6px}.account button{background:none;color:#a9bad4;border:0;font-size:.75rem;padding:6px}.main{background:#fff;display:flex;flex-direction:column;min-width:0;min-height:0}.main header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:22px 32px;align-items:center;flex-shrink:0}.main h1{font-size:1.125rem;margin:0 0 5px;font-weight:600}.header-note{font-size:.8125rem;color:var(--muted);margin:0}.header-actions{display:flex;gap:8px}.header-actions button{font-size:.8125rem}.banner{padding:12px 32px;background:#eff5ff;color:#365b95;font-size:.875rem;line-height:1.5;border-bottom:1px solid #dce8ff}.messages{flex:1;overflow-y:auto;padding:28px max(32px,calc((100% - 820px)/2));scroll-behavior:smooth}.empty-chat{max-width:660px;margin:12vh auto 30px;text-align:center}.empty-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 26px;border-radius:18px;background:#eaf0ff;color:var(--blue);font-size:1.6rem;font-weight:650}.empty-chat h2{font-size:1.55rem;font-weight:600}.empty-chat p{color:var(--muted);font-size:.9375rem;line-height:1.8;max-width:430px;margin:0 auto}.suggestions{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}.suggestions button{padding:12px 16px;font-size:.875rem;text-align:left}.message{margin-bottom:28px;max-width:820px}.message-meta{font-size:.75rem;color:#78849a;margin-bottom:10px;display:flex;gap:10px;align-items:center}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.9375rem}.message.user{background:#eff3fa;padding:18px 22px;border-radius:12px;max-width:86%;margin-left:auto}.message.user .message-meta{color:#6c7d98}.message.assistant{padding:8px 2px}.task-strip{padding:12px 32px;border-top:1px solid var(--line);background:#fafbfe;max-height:200px;overflow:auto}.task-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;font-size:.8125rem}.task-summary{min-width:0;display:flex;flex-direction:column;gap:5px}.task-summary strong{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.task-summary small{font-size:.75rem;color:var(--muted)}.status{font-size:.75rem;border-radius:5px;padding:4px 8px;background:#edf1f7;color:#627187;white-space:nowrap}.status.running{background:#eaf0ff;color:#174cdb}.status.succeeded{background:#e4f5ef;color:#167259}.status.failed,.status.interrupted{background:#fff0ee;color:#ad422f}.task-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.task-actions button{font-size:.75rem;padding:5px 9px}.composer{margin:12px max(24px,calc((100% - 820px)/2)) 24px;border:1px solid #ccd7e8;border-radius:13px;padding:15px 18px;box-shadow:0 4px 18px #14335406;flex-shrink:0}.composer textarea{display:block;resize:vertical;width:100%;max-height:200px;min-height:54px;border:0;padding:0;outline:none;font-size:.9375rem;line-height:1.7;color:inherit;background:none}.composer-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.composer-footer span{font-size:.75rem;color:#8a95a6}.composer .primary{font-size:.8125rem;padding:9px 14px}.details{position:absolute;right:0;top:0;bottom:0;width:min(460px,100%);background:white;border-left:1px solid var(--line);box-shadow:-20px 0 60px #1f355014;padding:24px;z-index:10;overflow:auto}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:16px}.panel-header h2{font-size:1.125rem;margin:0}.icon-button{font-size:.8125rem}.event{margin:10px 0;border-left:2px solid #dce5f5;padding:8px 12px;background:#f7f9fc;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8125rem;line-height:1.7}.event small{display:block;color:var(--muted);margin-bottom:4px}.file-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.file-row a,.file-row button{color:var(--blue);overflow-wrap:anywhere;text-decoration:none;flex:1;text-align:left}.file-row small{color:var(--muted)}.file-path{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere;margin:16px 0}.upload{margin-bottom:14px}.upload input{padding:8px;font-size:.8125rem}.settings-form p{font-size:.8125rem;color:var(--muted);line-height:1.6}.settings-form .primary{width:100%;padding:12px}.settings-form hr{border:0;border-top:1px solid var(--line);margin:30px 0}.badge{font-size:.75rem;background:#eaf1ff;color:#345d9c;border-radius:4px;padding:4px 8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#162b48;color:white;border-radius:10px;font-size:.875rem;box-shadow:0 8px 25px #12233e25;z-index:30;max-width:90%;line-height:1.5}pre{overflow-x:auto;background:#f3f6fb;padding:14px;border-radius:8px;font-size:.8125rem;line-height:1.6}@media(max-width:850px){.app{grid-template-columns:192px minmax(0,1fr)}.sidebar{padding:22px 12px 0}.messages{padding:24px}.main header{padding:20px 24px}.composer{margin:10px 20px 20px}.task-strip{padding:10px 24px}.task-summary strong{max-width:320px}}@media(max-width:600px){.app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{padding:10px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;overflow:visible}.sidebar .brand{gap:7px}.sidebar .brand strong{font-size:1rem}.sidebar .brand-symbol{width:28px;height:28px;border-radius:8px}.sidebar .version,.sidebar .side-heading,.sidebar .account small{display:none}.sidebar .new-chat{margin:0;padding:7px 9px;font-size:.75rem;justify-self:end}.sidebar nav{grid-column:1/-1;grid-row:2;display:flex;gap:4px;max-height:45px;overflow:auto}.conversation-button{width:auto;max-width:180px;padding:7px 10px;font-size:.75rem}.account{padding:0;border:0;gap:8px}.account strong{font-size:.75rem;max-width:80px;overflow:hidden;display:block}.main header{padding:16px 20px}.main h1{font-size:1rem}.messages{padding:22px 20px}.empty-chat{margin:8vh auto 20px}.empty-chat h2{font-size:1.35rem}.empty-chat p{font-size:.875rem}.suggestions{gap:8px;margin-top:22px}.suggestions button{font-size:.8125rem}.composer{margin:8px 12px 14px;padding:12px}.composer-footer span{font-size:.6875rem}.banner{padding:12px 20px}.task-strip{padding:8px 16px}.task-summary strong{max-width:180px}.message.user{max-width:94%}.details{width:100%;padding:22px}.auth-card{padding:28px}.auth-card h1{font-size:1.4rem}.header-actions button{padding:7px 10px}}

input[type="checkbox"]{width:auto;accent-color:var(--blue)}
