@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";:root{font-family:Space Grotesk,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 20%,#f3f6ff,#f7f8fb 35% 60%,#eef2ff);color:#0f172a}a{color:inherit}.model-response-loading{padding:6px 0}.model-response-loading .dot-loader .dot{background:#111827}.generation-events{display:flex;flex-direction:column;gap:10px;margin:0 0 6px}.generation-event-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid #e6e9f2;background:#f3f4f6}.generation-event-group-label{border-radius:999px;padding:2px 8px;font-size:11px;border:1px solid #d1d5db;background:#e5e7eb;color:#374151;font-weight:600;white-space:nowrap}.generation-event-group-items{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.generation-event{border-radius:999px;padding:2px 8px;font-size:11px;border:1px solid #e6e9f2;background:#eef1f7;color:#111827;white-space:nowrap}.generation-event-seq{display:inline-block;min-width:18px;text-align:right;font-variant-numeric:tabular-nums;opacity:.75}.generation-event.running{background:#fffaeb;border-color:#fedf89;color:#b54708}.generation-event.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.generation-event.error{background:#fef3f2;border-color:#fecdca;color:#b42318}:root{color:#0f172a;background-color:#f7f8fb}.page{max-width:1100px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.header{display:flex;justify-content:space-between;align-items:center;gap:12px}.header-brand{display:flex;flex-direction:column;gap:10px}.subtitle{margin:2px 0 0;color:#52607a}.page-nav{display:flex;flex-wrap:wrap;gap:8px}.page-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid #d7ddeb;background:#fff;color:#52607a;font-weight:700;text-decoration:none}.page-nav-link.active{border-color:#111827;background:#111827;color:#fff}.auth{display:flex;gap:8px;align-items:center}.login-form{display:flex;gap:8px}.layout{display:grid;grid-template-columns:260px 1fr;gap:16px}.panel{background:#fff;border:1px solid #e6e9f2;border-radius:12px;padding:16px;box-shadow:0 10px 30px #0f172a0d}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.muted{color:#6c7690}.small{font-size:12px}.tiny{font-size:11px}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}textarea{resize:vertical;min-height:80px}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #d7ddeb;border-radius:8px;background:#fbfcff}button{padding:10px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:600}button.primary{background:#111827;color:#fff}button.ghost{background:#eef1f7;color:#111827}button:disabled{opacity:.6;cursor:not-allowed}.toggles{display:flex;gap:16px;margin-bottom:12px}.toggle{display:flex;align-items:center;gap:6px}.input-shell{border:1px solid #d7ddeb;border-radius:12px;padding:10px 12px;background:#fff;box-shadow:0 8px 24px #0f172a0f;display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.input-shell textarea{background:#f8fafc;border:1px solid #e5e7eb;box-shadow:inset 0 1px #ffffffb3}.input-shell.drag-active{border-color:#4f46e5;background:#f0f4ff;box-shadow:0 0 0 2px #4f46e51f,0 10px 28px #0f172a1f}.input-wrapper{position:relative}.input-wrapper textarea{padding-right:110px;min-height:120px}.send-inline{position:absolute;right:12px;bottom:12px;padding:10px 14px;border-radius:10px;border:1px solid #111827;background:#111827;color:#fff;font-weight:700;cursor:pointer;min-width:88px}.send-inline:disabled{opacity:.6;cursor:not-allowed}.dot-loader{display:inline-flex;align-items:flex-end;gap:4px}.dot-loader .dot{width:6px;height:6px;border-radius:999px;background:#fff;animation:float-wave .9s ease-in-out infinite}.dot-loader .dot:nth-child(2){animation-delay:.12s}.dot-loader .dot:nth-child(3){animation-delay:.24s}@keyframes float-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ellipsis-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.attachment-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px dashed #e6e9f2;padding-top:8px}.upload input{display:none}.upload{border:1px solid #d7ddeb;padding:8px 10px;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#eef1f7,#f8fafc);font-weight:600}.inline-upload{display:inline-flex;align-items:center;gap:6px}.attached-list{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-height:34px}.attached-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e6e9f2;border-radius:999px;background:#f5f7fb;box-shadow:inset 0 1px #ffffffb3}.attached-name{font-weight:600}.pill-remove{border:none;background:#111827;color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pill-remove:disabled{opacity:.55;cursor:not-allowed}.message{border:1px solid #e6e9f2;border-radius:10px;padding:10px;background:#fbfcff}.message.user{border-color:#c7d6ff}.message.model{border-color:#c2f0d4}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.message-body{margin:0;white-space:pre-wrap;font-family:JetBrains Mono,Fira Code,Menlo,monospace;background:#f6f7fb;border-radius:8px;padding:8px;border:1px solid #e7eaf3}.pill{background:#eef1f7;color:#111827;border-radius:999px;padding:4px 10px;font-size:12px}.model-output{display:flex;flex-direction:column;gap:12px}.model-row h3{margin:0 0 4px}.metadata{background:#0f172a;color:#f1f5f9;padding:10px;border-radius:8px;overflow:auto}.image-form{display:grid;gap:8px;grid-template-columns:1fr 1fr auto;align-items:center}.error{color:#b42318;font-weight:600}.image-edit{display:flex;flex-direction:column;gap:10px}.sidebar{background:#fff;border:1px solid #e6e9f2;border-radius:12px;padding:12px;height:fit-content}.conversation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.conversation-item{padding:10px;border:1px solid #e6e9f2;border-radius:8px;cursor:pointer;background:#fbfcff;display:flex;gap:8px;align-items:center;justify-content:space-between;position:relative}.conversation-item.active{border-color:#111827;background:#eef1f7}.conversation-title{font-weight:600;display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-title-loading{display:inline-flex;align-items:center;gap:4px;min-width:22px}.conversation-title-loading .ellipsis-dot{width:4px;height:4px;border-radius:999px;background:#111827;animation:ellipsis-pulse .9s ease-in-out infinite}.conversation-title-loading .ellipsis-dot:nth-child(2){animation-delay:.12s}.conversation-title-loading .ellipsis-dot:nth-child(3){animation-delay:.24s}.pending-dot{margin-left:6px;color:#f97316;font-size:14px;line-height:1}.conversation-row{flex:1;min-width:0}.trash-btn{background:none;border:none;cursor:pointer;opacity:0;transition:opacity .2s ease;font-size:14px}.conversation-item:hover .trash-btn{opacity:1}.main{display:flex;flex-direction:column;gap:16px}.chat-panel{background:#fff;border:1px solid #e6e9f2;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-header{display:flex;align-items:center;justify-content:space-between}.messages-scroll{border:1px solid #e6e9f2;border-radius:10px;background:#fbfcff;min-height:220px;max-height:360px;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.bubble{padding:10px;border-radius:10px;border:1px solid #e6e9f2;background:#fff}.bubble.user{border-color:#c7d6ff}.bubble.model{border-color:#c2f0d4}.bubble.tool{border-color:#fcd34d}.bubble-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.bubble-body{word-break:break-word}.message-text{word-break:break-word;line-height:1.45;white-space:normal}.bubble.user .message-text,.bubble.tool .message-text{white-space:pre-wrap}.bubble.model .message-text>:first-child{margin-top:0}.bubble.model .message-text>:last-child{margin-bottom:0}.bubble.model .message-text :where(p,ul,ol,pre,blockquote){margin:.4em 0}.bubble.model .message-text :where(ul,ol){padding-left:1.2em}.bubble.model .message-text :where(pre){padding:10px 12px;border:1px solid #e6e9f2;border-radius:10px;background:#f8fafc;overflow-x:auto}.bubble.model .message-text :where(code){font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}.bubble.model .message-text :where(pre code){font-size:.9em}.citation{font-size:.85em;vertical-align:super;line-height:1}.message-image-gallery{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.message-image-wrapper{position:relative;max-width:320px;max-height:220px;overflow:hidden;border-radius:10px;border:1px solid #e6e9f2;background:#f8fafc}.message-image{display:block;width:100%;height:100%;object-fit:cover}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tool-calls{display:flex;flex-direction:column;gap:6px;margin-top:10px}.tool-calls-list{display:flex;flex-direction:column;gap:6px}.tool-call{border:1px solid #e6e9f2;border-radius:10px;background:#f8fafc;padding:6px 10px}.tool-call-summary{cursor:pointer;font-weight:700;font-size:12px}.tool-call-args{margin:8px 0 0;padding:10px 12px;border:1px solid #e6e9f2;border-radius:10px;background:#fff;overflow-x:auto;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.35}.tool-response{margin-top:10px;border:1px solid #e6e9f2;border-radius:10px;background:#f8fafc;padding:6px 10px}.tool-response-summary{cursor:pointer;font-weight:700;font-size:12px}.tool-response-body{margin:8px 0 0;padding:10px 12px;border:1px solid #e6e9f2;border-radius:10px;background:#fff;overflow-x:auto;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.35}.attachment-link{text-decoration:none;color:inherit}.attachment-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e6e9f2;border-radius:10px;background:#f6f7fb;box-shadow:inset 0 1px #fff9}.attachment-icon{width:34px;height:40px;display:flex;align-items:center;justify-content:center}.attachment-meta{display:flex;flex-direction:column}.attachment-name{font-weight:600}.attachment-mime{font-size:12px;color:#6b7280}.upload-progress-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.upload-progress-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid #e6e9f2;border-radius:8px;background:#f9fafb}.upload-name{font-weight:600}.upload-bar{flex:1;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.upload-bar-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#22c55e);width:0%;transition:width .12s ease-out}.upload-percent{min-width:40px;text-align:right}.upload-status{font-size:12px;color:#6b7280;min-width:70px;text-align:right}.references{position:relative;display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.references a{color:#111827;text-decoration:underline}.more-refs{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:4px;margin-left:6px;width:18px;height:18px;border-radius:50%;border:1px solid #d0d7e2;background:#eef1f7;cursor:default;font-weight:700;color:#111827}.more-refs-popup{position:absolute;bottom:calc(100% - 2px);left:50%;transform:translate(-50%);min-width:220px;max-width:340px;background:#fff;border:1px solid #d0d7e2;border-radius:8px;padding:10px 12px;box-shadow:0 10px 28px #0f172a2e;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s ease,visibility .42s ease;z-index:5}.more-refs:hover .more-refs-popup,.more-refs:focus-within .more-refs-popup,.more-refs-popup:hover{opacity:1;visibility:visible;pointer-events:auto}.more-refs:after{content:"";position:absolute;left:-10px;right:-10px;bottom:0;height:18px}.more-refs-item{padding:4px 0;font-size:12px}.more-refs-item a{color:#0f172a;text-decoration:underline}.chat-input{display:flex;flex-direction:column;gap:10px}.timeline-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e6e9f2;border-radius:10px;background:#f8fafc}.timeline-controls{display:flex;flex-wrap:wrap;gap:8px}.timeline-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-speed{display:inline-flex;align-items:center;gap:8px}.timeline-speed select{width:auto;min-width:80px}.timeline-range{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #e6e9f2;border-radius:10px;background:#fbfcff}.timeline-range input[type=range]{width:100%;padding:0;border:none;background:transparent}.timeline-range-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.timeline-readonly-note{padding:4px 2px 0}.drop-overlay{position:absolute;inset:0;border-radius:12px;background:#1118270f;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay-inner{background:#ffffffe6;border:1px dashed #4f46e5;border-radius:10px;padding:10px 14px;font-weight:700;color:#111827}.actions{display:flex;justify-content:space-between;align-items:center}.small-btn{padding:6px 8px}.messages{display:flex;flex-direction:column;gap:10px}.messages pre{margin:0}.code-outputs{border:1px solid #e6e9f2;border-radius:10px;padding:10px;background:#fbfcff}.danger{color:#b42318}@media(max-width:960px){.layout{grid-template-columns:1fr;gap:12px}.sidebar{height:auto;max-height:none}.conversation-list{max-height:320px;overflow-y:auto;padding-right:4px}.chat-panel{padding:12px}.header{flex-direction:column;align-items:flex-start}.auth{align-self:flex-start}.timeline-toolbar,.timeline-range-meta{align-items:flex-start;flex-direction:column}.input-wrapper textarea{min-height:110px;padding-right:92px}.send-inline{min-width:76px;right:10px;bottom:10px;padding:9px 12px}}
