@puukis/cli 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.chat-view{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;padding:0 16px 14px}.chat-readonly-banner{margin-top:12px;border:1px solid color-mix(in srgb,var(--warning) 20%,var(--border));background:color-mix(in srgb,var(--warning) 6%,var(--surface-solid));color:var(--warning-700);border-radius:6px;padding:8px 12px;font-size:.8rem;font-weight:500}.messages-container{flex:1;min-height:0;overflow-y:auto;padding:16px 0 8px}.empty-state{text-align:center;max-width:640px;margin:6vh auto 0;padding:14px}.empty-kicker{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid));color:var(--accent);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:12px}.empty-state h2{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.3rem,3vw,1.8rem);color:var(--text-primary)}.empty-copy{color:var(--text-secondary);font-size:.9rem;margin:10px auto 0;max-width:500px}.starter-grid{margin:20px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:640px}.starter-chip{text-align:left;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);font-size:.82rem;line-height:1.4}.starter-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.message{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.message.user{flex-direction:row-reverse}.message-avatar{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--text-tertiary);background:var(--surface-muted);border:1px solid var(--border);flex-shrink:0}.message.user .message-avatar{color:var(--text-on-brand);background:var(--accent);border-color:transparent}.message-content{flex:1;min-width:0;max-width:min(72ch,100%)}.message.user .message-content{display:flex;flex-direction:column;align-items:flex-end}.message-header{display:inline-flex;align-items:center;gap:8px;margin-bottom:4px;font-size:.73rem}.message-role{font-weight:600;color:var(--text-primary)}.message-time{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.message-bubble{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;line-height:1.6;font-size:.88rem;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.message.user .message-bubble{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid));border-color:color-mix(in srgb,var(--accent) 18%,var(--border));border-top-right-radius:4px}.message.assistant .message-bubble{border-top-left-radius:4px}.message-rendered{display:flex;flex-direction:column;gap:10px}.message-text{white-space:normal}.message-text>*:first-child{margin-top:0}.message-text>*:last-child{margin-bottom:0}.message-text p{margin:0 0 10px}.message-text ol,.message-text ul{margin:0 0 10px;padding-left:1.25rem}.message-text li{margin:0 0 6px}.message-text a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px}.message-text a:hover{color:var(--text-link-hover)}.message-screenshot-inline{display:flex;flex-direction:column;gap:6px}.message-screenshot-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.message-screenshot-image,.message-markdown-image{width:min(100%,520px);max-width:100%;border-radius:8px;border:1px solid var(--border);background:var(--surface-solid)}.message-upload-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.message-upload-item{display:flex;flex-direction:column;gap:4px;text-decoration:none}.message-upload-item span{color:var(--text-secondary);font-size:.72rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-upload-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.message-text strong{font-weight:800;color:var(--text-primary)}.message-text em{font-style:italic}.message-text code{font-family:var(--font-mono);font-size:.82em;background:var(--surface-code-inline);color:var(--text-code);border-radius:4px;padding:.1em .35em}.code-block{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border)}.code-block-language{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.code-copy-btn{background:transparent;border:1px solid var(--border);color:var(--text-tertiary);border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:500;line-height:1.2}.code-copy-btn:hover{color:var(--text-primary);border-color:var(--accent)}.code-copy-btn:active{transform:translateY(1px)}.code-block pre{margin:0;padding:12px 14px;overflow-x:auto}.code-block code{color:var(--text-code);font-family:var(--font-mono);font-size:.82rem;line-height:1.6;white-space:pre}.thinking-badge{font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border-radius:4px;padding:2px 6px;font-weight:600}.thinking-bubble{display:flex;flex-direction:column;gap:8px}.thinking-status{display:inline-flex;align-items:center;gap:4px;color:var(--text-primary);font-weight:600}.thinking-detail{color:var(--text-secondary);font-size:.84rem;line-height:1.5}.thinking-activity-list{border-top:1px solid var(--border);margin-top:2px;padding-top:8px;display:flex;flex-direction:column;gap:4px}.thinking-activity-item{display:flex;align-items:baseline;gap:8px;color:var(--text-tertiary);font-size:.76rem}.thinking-activity-time{font-variant-numeric:tabular-nums;min-width:60px}.thinking-dots{display:inline-flex;width:1.6em}.thinking-dots span{animation:dotFade 1.2s infinite;opacity:.3}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}.cursor-blink{animation:blink 1s infinite;color:var(--brand-600)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.input-container{display:flex;align-items:flex-end;gap:10px;padding:12px 0 0;border-top:1px solid var(--border)}.input-container.drag-active .composer-field{border-color:var(--accent);box-shadow:var(--focus-ring)}.composer-field{flex:1;min-width:0;background:var(--surface-solid);border-radius:10px;border:1px solid var(--border);padding:10px 12px 8px}.composer-field textarea{width:100%;resize:none;min-height:48px;max-height:190px;padding:0;border:none;box-shadow:none;background:transparent}.composer-actions-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.attach-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:6px;padding:4px 10px;font-size:.73rem;font-weight:500}.attach-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.composer-file-input{display:none}.composer-tip{margin-top:0;font-size:.72rem;color:var(--text-tertiary)}.pending-attachments-grid{margin-top:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pending-attachment-card{border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-solid);overflow:hidden}.pending-attachment-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.pending-attachment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.pending-attachment-meta span{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-attachment-meta button{border:1px solid var(--border);background:transparent;color:var(--text-tertiary);border-radius:4px;padding:2px 8px;font-size:.68rem;font-weight:500}.composer-error{margin-top:8px;color:var(--text-danger-strong);font-size:.74rem;font-weight:600}.send-btn{min-height:40px;min-width:80px;padding:10px 18px;border-radius:8px;background:var(--accent);color:var(--text-on-brand);font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-brand) 55%,transparent);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dotFade{0%,80%,to{opacity:.3}40%{opacity:1}}@media(max-width:900px){.chat-view{padding:0 14px 14px}.starter-grid{grid-template-columns:minmax(0,1fr)}.message-content{max-width:100%}}@media(max-width:600px){.empty-state{margin-top:3vh;padding:6px}.message{gap:10px;margin-bottom:14px}.message-avatar{width:30px;height:30px;border-radius:9px;font-size:.68rem}.message-bubble{font-size:.88rem;padding:11px 12px}.input-container{gap:8px}.composer-actions-row{flex-direction:column;align-items:flex-start;gap:6px}.send-btn{min-width:82px;padding:12px 14px}}.live-activity{width:300px;min-width:260px;max-width:320px;background:var(--surface-solid);display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden;transition:width .2s ease,min-width .2s ease,max-width .2s ease}.live-activity-collapsed{width:44px;min-width:44px;max-width:44px}.live-activity-collapsed .activity-header{flex-direction:column;padding:10px 6px;gap:8px;border-bottom:none}.live-activity-collapsed .activity-header h3{writing-mode:vertical-rl;text-orientation:mixed;font-size:.72rem;white-space:nowrap}.live-activity-collapsed .activity-header-right{flex-direction:column;gap:6px}.activity-header-right{display:flex;align-items:center;gap:8px}.activity-collapse-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-tertiary);cursor:pointer;font-size:.68rem;padding:2px 5px;line-height:1;transition:color .15s,border-color .15s}.activity-collapse-btn:hover{color:var(--text-primary);border-color:var(--accent)}.activity-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.activity-header h3{margin:0;font-size:.82rem;font-weight:600;color:var(--text-primary)}.event-count{background:var(--surface-muted);padding:2px 7px;border-radius:4px;font-size:.68rem;font-weight:600;color:var(--text-tertiary)}.activity-controls{display:flex;flex-direction:column;gap:4px;padding:8px 14px;border-bottom:1px solid var(--border)}.activity-toggle{width:fit-content;font-size:.7rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-tertiary)}.activity-toggle.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.provider-summary{font-size:.7rem;color:var(--text-tertiary)}.latest-screenshot-card{margin:10px 12px;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-muted)}.latest-screenshot-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.7rem;color:var(--text-secondary)}.latest-screenshot-header strong{font-size:.72rem;color:var(--text-primary)}.latest-screenshot-meta{margin-top:4px;font-size:.66rem;color:var(--text-tertiary);font-family:var(--font-mono)}.latest-screenshot-image{margin-top:6px;width:100%;border-radius:6px;border:1px solid var(--border);background:var(--surface-solid);max-height:200px;object-fit:contain}.events-list{flex:1;overflow-y:auto;padding:10px 12px}.empty-events{text-align:center;color:var(--text-tertiary);padding:24px 14px;font-size:.82rem;line-height:1.5}.event-item{display:flex;gap:8px;padding:8px 10px;background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin-bottom:6px}.event-item.start{border-left:2px solid var(--accent)}.event-item.end{border-left:2px solid var(--success)}.event-item.provider{border-left:2px solid var(--warning)}.event-icon{width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:.72rem;font-weight:600}.event-content{flex:1;min-width:0}.event-tool{font-weight:600;font-size:.75rem;font-family:var(--font-mono);color:var(--text-primary);line-height:1.4;word-break:break-word}.event-time{font-size:.66rem;color:var(--text-tertiary);margin-top:1px;font-variant-numeric:tabular-nums}.event-detail{margin-top:4px;font-size:.72rem;color:var(--text-secondary);line-height:1.4}.event-args{margin-top:6px;padding:6px 8px;font-size:.66rem;line-height:1.4;background:var(--bg-tertiary);border-radius:4px;border:1px solid var(--border);overflow:hidden;white-space:pre-wrap;word-break:break-all}.event-result{margin-top:6px;font-size:.72rem;line-height:1.4;padding:6px 8px;border-radius:4px}.event-result.success{background:color-mix(in srgb,var(--success) 8%,var(--surface-solid));color:var(--success-700);border:1px solid color-mix(in srgb,var(--success) 18%,transparent)}.event-result.error{background:color-mix(in srgb,var(--danger) 8%,var(--surface-solid));color:var(--danger-700);border:1px solid color-mix(in srgb,var(--danger) 18%,transparent)}.activity-more-btn{width:100%;margin-top:4px;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-tertiary);font-size:.75rem;font-weight:500}.activity-more-btn:hover{color:var(--text-primary);border-color:var(--accent)}@media(max-width:1120px){.live-activity:not(.live-activity-collapsed){max-height:260px;width:auto;min-width:0;max-width:none}.latest-screenshot-image{max-height:160px}}.security-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-secondary);position:relative}.security-badge.safe{color:var(--success-700);border-color:color-mix(in srgb,var(--success) 20%,var(--border))}.security-badge.safe:disabled{opacity:.6;cursor:default}.security-badge.safe:hover:not(:disabled){border-color:var(--success)}.security-badge.spicy{color:var(--danger-700);border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}.security-badge.spicy:hover{border-color:var(--danger)}.badge-icon{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}.badge-text{white-space:nowrap}.badge-toggle{font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:inherit;border:1px solid color-mix(in srgb,currentColor 20%,transparent);padding:1px 5px;border-radius:4px}@keyframes badgePulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 20%,transparent)}50%{box-shadow:0 0 0 6px transparent}}@media(max-width:780px){.badge-toggle{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--surface-solid);border:1px solid var(--border);border-radius:12px;max-width:520px;width:100%;max-height:82vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 30px #0003}.modal-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-kicker{font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border-radius:4px;padding:2px 6px}.modal-header h2{margin:0;font-size:.95rem;font-weight:600}.modal-body{padding:16px 18px;overflow-y:auto}.modal-prompt{margin:0;background:var(--surface-muted);border:1px solid var(--border);padding:12px;border-radius:8px;font-size:.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}.modal-footer{display:flex;gap:8px;padding:12px 18px 14px;border-top:1px solid var(--border);justify-content:flex-end}.btn-cancel,.btn-confirm,.btn-confirm-secondary{min-width:90px;padding:8px 14px;border-radius:6px;font-weight:600;font-size:.8rem}.btn-cancel{background:var(--surface-solid);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel:hover{color:var(--text-primary);border-color:var(--accent)}.btn-confirm{background:var(--accent);color:var(--text-on-brand)}.btn-confirm:hover{background:var(--accent-hover)}.btn-confirm-secondary{background:var(--surface-solid);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))}.btn-confirm-secondary:hover{border-color:var(--accent)}.modal-details{margin-top:10px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-muted)}.modal-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-span{grid-column:1 / -1}.modal-label{display:block;margin-bottom:3px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.modal-grid code,.modal-args pre{display:block;margin:0;border-radius:4px;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.75rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.modal-args{margin-top:10px}.marketplace-search-row{display:flex;gap:.5rem}.marketplace-search-row input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-solid);color:var(--text-primary);font-size:.82rem}.marketplace-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.marketplace-tag{display:inline-block;font-size:.68rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-tertiary);color:var(--text-tertiary)}.marketplace-tag-featured{background:var(--accent);color:var(--text-on-brand)}.marketplace-results-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.marketplace-result-item{border:1px solid var(--border);border-radius:6px;padding:.5rem .6rem;background:var(--surface-solid);cursor:pointer;transition:border-color .15s}.marketplace-result-item:hover{border-color:var(--accent)}.marketplace-result-header{display:flex;justify-content:space-between;align-items:center}.marketplace-result-name{font-weight:600;font-size:.82rem;color:var(--text-primary)}.marketplace-result-version{font-size:.68rem;color:var(--text-tertiary)}.marketplace-result-desc{font-size:.76rem;color:var(--text-secondary);margin-top:.15rem;line-height:1.3}.marketplace-result-meta{display:flex;gap:.6rem;margin-top:.25rem;font-size:.68rem;color:var(--text-tertiary)}.marketplace-detail{border:1px solid var(--border);border-radius:6px;padding:.6rem;background:var(--surface-muted);margin-top:.5rem}.marketplace-detail-header{display:flex;justify-content:space-between;align-items:flex-start}.marketplace-detail h4{margin:0;font-size:.9rem;color:var(--text-primary)}.marketplace-detail-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:.82rem;padding:0}.marketplace-detail-close:hover{color:var(--text-primary)}.marketplace-detail-body{margin-top:.4rem;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.marketplace-detail-body p{margin:.25rem 0}.marketplace-detail-actions{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}.marketplace-detail-actions select{padding:.3rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface-solid);color:var(--text-primary);font-size:.78rem}.marketplace-empty{font-size:.78rem;color:var(--text-tertiary);text-align:center;padding:1rem 0}.marketplace-status{font-size:.76rem;margin-top:.3rem}.marketplace-status-success{color:var(--success)}.marketplace-status-error{color:var(--danger)}.memory-controls{display:flex;gap:.5rem;flex-wrap:wrap}.memory-controls input,.memory-controls select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface-solid);color:var(--text-primary);font-size:.8rem}.memory-controls input[type=text]{flex:1;min-width:100px}.memory-form{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;border:1px solid var(--border);border-radius:6px;padding:.5rem;background:var(--surface-muted)}.memory-form-row{display:flex;gap:.4rem}.memory-form-row input{flex:1;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface-solid);color:var(--text-primary);font-size:.8rem}.memory-form textarea{width:100%;min-height:60px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface-solid);color:var(--text-primary);font-size:.8rem;font-family:inherit;resize:vertical;box-sizing:border-box}.memory-form-actions{display:flex;gap:.4rem;justify-content:flex-end}.memory-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.memory-item{border:1px solid var(--border);border-radius:5px;padding:.4rem .5rem;background:var(--surface-solid)}.memory-item-header{display:flex;justify-content:space-between;align-items:center}.memory-item-key{font-weight:600;font-size:.8rem;color:var(--text-primary)}.memory-item-ns{font-size:.68rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:.05rem .35rem;border-radius:3px}.memory-item-content{font-size:.76rem;color:var(--text-secondary);margin-top:.15rem;line-height:1.3;white-space:pre-wrap;word-break:break-word}.memory-item-actions{display:flex;gap:.3rem;margin-top:.3rem}.memory-item-actions button{font-size:.7rem;padding:.15rem .4rem}.memory-empty{font-size:.78rem;color:var(--text-tertiary);text-align:center;padding:.8rem 0}.memory-count{font-size:.73rem;color:var(--text-tertiary);margin-top:.25rem}.session-sidebar{display:flex;flex-direction:column;width:220px;min-width:220px;background:var(--surface-solid);border-right:1px solid var(--border);overflow:hidden}.session-sidebar--collapsed{width:36px;min-width:36px}.session-sidebar__header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.session-sidebar__title{flex:1;font-weight:600;font-size:.8rem;color:var(--text-primary)}.session-sidebar__toggle{background:none;border:none;cursor:pointer;font-size:.72rem;padding:2px 4px;color:var(--text-tertiary);border-radius:4px}.session-sidebar__toggle:hover{color:var(--text-primary)}.session-sidebar__new-btn{background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.9rem;line-height:1;padding:2px 8px;color:var(--text-secondary)}.session-sidebar__new-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.session-sidebar__new-btn:disabled{opacity:.4;cursor:not-allowed}.session-sidebar__list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1}.session-sidebar__item{position:relative;border-radius:6px;margin-bottom:1px}.session-sidebar__item--active{background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid))}.session-sidebar__item-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:none;border:none;cursor:pointer;text-align:left;font-size:.78rem;color:var(--text-secondary);border-radius:6px;overflow:hidden}.session-sidebar__item-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-muted)}.session-sidebar__item--active .session-sidebar__item-btn{color:var(--text-primary)}.session-sidebar__item-icon{flex-shrink:0;font-size:.8rem}.session-sidebar__item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-sidebar__readonly-badge{flex-shrink:0;font-size:.62rem;background:var(--surface-muted);padding:1px 4px;border-radius:3px;color:var(--text-tertiary)}.session-sidebar__rename-input{flex:1;font-size:.78rem;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--surface-solid);color:var(--text-primary);outline:none;min-width:0}.session-sidebar__rename-input:focus{border-color:var(--accent)}.session-sidebar__item-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:none;gap:2px}.session-sidebar__item:hover .session-sidebar__item-actions{display:flex}.session-sidebar__action-btn{background:none;border:none;cursor:pointer;font-size:.68rem;padding:2px;border-radius:3px;line-height:1;color:var(--text-tertiary)}.session-sidebar__action-btn:hover:not(:disabled){color:var(--text-primary)}.session-sidebar__action-btn:disabled{opacity:.4;cursor:not-allowed}.session-sidebar__footer{border-top:1px solid var(--border);padding:8px 10px}.session-sidebar__settings-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:.78rem;color:var(--text-secondary)}.session-sidebar__settings-btn:hover{color:var(--text-primary);background:var(--surface-muted)}.session-sidebar__settings-btn svg{flex-shrink:0}.app{display:flex;flex-direction:column;height:100vh;min-height:100vh;padding:0;gap:0;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-solid)}.header-left,.header-right{display:flex;align-items:center;gap:10px}.header-left{min-width:0}.brand-block{display:flex;align-items:center;gap:10px;padding-right:12px;border-right:1px solid var(--border)}.brand-mark{width:8px;height:8px;border-radius:50%;background:var(--brand-500);flex-shrink:0}.brand-copy{display:flex;align-items:baseline;gap:8px;min-width:0}.logo{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:.95rem;color:var(--text-primary)}.brand-subtitle{margin:0;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.connection-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:.75rem;font-weight:500;background:var(--surface-muted);color:var(--text-tertiary);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary)}.connection-status.connected{color:var(--success-700)}.connection-status.connected .status-dot{background:var(--success)}.connection-status.connecting{color:var(--warning-700)}.connection-status.connecting .status-dot{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}.connection-status.disconnected{color:var(--danger-700)}.connection-status.disconnected .status-dot{background:var(--danger)}.btn-secondary{padding:6px 12px;border-radius:6px;font-size:.78rem;font-weight:500;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary)}.btn-secondary:hover{color:var(--text-primary);border-color:var(--accent)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.btn-icon:hover{color:var(--text-primary);border-color:var(--accent)}.btn-icon svg{display:block}.app-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;flex:1;min-height:0}.chat-shell{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg-primary);overflow:hidden}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface-solid);min-height:0}.chat-toolbar:empty{display:none}.chat-session-control select{min-width:220px}.session-readonly-chip{align-self:center;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--warning-700);border:1px solid color-mix(in srgb,var(--warning) 20%,transparent);background:color-mix(in srgb,var(--warning) 8%,var(--surface-solid));border-radius:4px;padding:3px 8px;font-weight:600;white-space:nowrap}.context-meter{display:flex;align-items:center;gap:8px}.context-meter-bar{width:72px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.context-meter-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s ease}.context-meter-fill.context-meter-warn{background:var(--warning)}.context-meter-fill.context-meter-critical{background:var(--danger)}.context-meter-label{font-size:.68rem;font-weight:500;color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.llm-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.llm-control{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary)}.llm-control select{min-width:170px;max-width:280px;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-primary);font-size:.82rem;font-weight:500}.llm-control select:disabled{opacity:.5}.models-loading{align-self:center;font-size:.72rem;font-weight:500;color:var(--accent);padding:4px 8px}.config-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);display:flex;justify-content:flex-end;z-index:120}.config-drawer{width:min(420px,100%);height:100dvh;border-left:1px solid var(--border);background:var(--surface-solid);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.config-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border)}.config-drawer-header h2{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.config-close-btn{border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:500}.config-section{border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-muted)}.config-section h3{margin:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.config-switch-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.config-switch-row input{margin-top:2px;width:16px;height:16px;accent-color:var(--accent)}.config-switch-copy{display:flex;flex-direction:column;gap:2px;color:var(--text-secondary)}.config-switch-copy strong{font-size:.84rem;font-weight:600;color:var(--text-primary)}.config-switch-copy small{font-size:.73rem;color:var(--text-tertiary);line-height:1.35}.config-hint{margin:0;font-size:.73rem;color:var(--danger-700)}.config-risk-block{display:flex;flex-direction:column;gap:8px}.config-risk-input{width:100%;border:1px solid color-mix(in srgb,var(--danger) 24%,var(--border));background:var(--surface-solid);border-radius:6px;padding:7px 10px;font-size:.82rem;color:var(--text-primary)}.config-risk-input::placeholder{color:var(--text-tertiary)}.config-control select{width:100%;max-width:none}.config-text-input{width:100%;max-width:none;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-primary);font-size:.82rem;font-weight:500}.config-text-input:disabled{opacity:.5}.config-note{margin:0;font-size:.73rem;color:var(--text-tertiary);line-height:1.35}.config-warning{color:var(--warning-700)}.config-button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.config-button-row .btn-secondary{width:100%;justify-content:center}@media(max-width:1120px){.app-main{grid-template-columns:auto minmax(0,1fr)}}@media(max-width:780px){.app-header{flex-direction:column;align-items:stretch;padding:10px}.header-left,.header-right{width:100%;justify-content:space-between;flex-wrap:wrap}.brand-block{border-right:none;padding-right:0}.chat-toolbar{flex-direction:column;align-items:stretch}.chat-session-control select{min-width:0;width:100%}.session-readonly-chip{align-self:flex-start}.llm-controls{width:100%;gap:8px}.llm-control{flex:1;min-width:100%}.llm-control select{min-width:0;max-width:none;width:100%}.models-loading{align-self:flex-start}.config-drawer{width:100%;border-left:none}}:root{--font-sans: "Inter", -apple-system, "Segoe UI", sans-serif;--font-display: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--bg-primary: #f4f5f7;--bg-secondary: #edeef0;--bg-tertiary: #e6e7ea;--bg-radial-a: transparent;--bg-radial-b: transparent;--bg-gradient: linear-gradient(180deg, #f4f5f7, #f0f1f3);--bg-orb-left: none;--bg-orb-right: none;--surface: rgba(255, 255, 255, .88);--surface-strong: rgba(255, 255, 255, .95);--surface-solid: #ffffff;--surface-muted: #f8f9fa;--surface-elevated: #ffffff;--surface-input: #ffffff;--surface-code-inline: #eef0f4;--mix-base: #ffffff;--mix-base-strong: #f8f9fa;--text-primary: #111111;--text-secondary: #555555;--text-tertiary: #888888;--text-link: #2563eb;--text-link-hover: #1d4ed8;--text-on-brand: #ffffff;--text-danger-strong: #b91c1c;--text-code: #1e293b;--brand-200: #dbeafe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--accent: var(--brand-500);--accent-hover: var(--brand-600);--button-primary-start: #3b82f6;--button-primary-end: #2563eb;--success: #10b981;--success-700: #059669;--danger: #ef4444;--danger-700: #b91c1c;--warning: #f59e0b;--warning-700: #b45309;--border: #e2e4e8;--border-subtle: #eaecef;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--focus-ring: 0 0 0 3px rgba(59, 130, 246, .15);--overlay-scrim: rgba(0, 0, 0, .3);--overlay-modal: rgba(0, 0, 0, .4);--scrollbar-track: transparent;--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25)}[data-theme=dark]{--bg-primary: #09090b;--bg-secondary: #0f0f12;--bg-tertiary: #161619;--bg-radial-a: transparent;--bg-radial-b: transparent;--bg-gradient: linear-gradient(180deg, #09090b, #0c0c0f);--bg-orb-left: none;--bg-orb-right: none;--surface: rgba(22, 22, 26, .85);--surface-strong: rgba(26, 26, 30, .95);--surface-solid: #141417;--surface-muted: #111114;--surface-elevated: #1a1a1e;--surface-input: #18181c;--surface-code-inline: rgba(40, 40, 50, .7);--mix-base: #141417;--mix-base-strong: #1a1a1e;--text-primary: #ececef;--text-secondary: #a0a0a8;--text-tertiary: #636369;--text-link: #60a5fa;--text-link-hover: #93c5fd;--text-on-brand: #ffffff;--text-danger-strong: #fca5a5;--text-code: #c8d6e5;--brand-200: #1e2a3a;--brand-300: #1e3a5f;--brand-400: #3b82f6;--brand-500: #60a5fa;--brand-600: #93c5fd;--brand-700: #bfdbfe;--accent: #60a5fa;--accent-hover: #93c5fd;--button-primary-start: #3b82f6;--button-primary-end: #2563eb;--success: #34d399;--success-700: #6ee7b7;--danger: #f87171;--danger-700: #fca5a5;--warning: #fbbf24;--warning-700: #fcd34d;--border: #222228;--border-subtle: #1c1c22;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .3);--focus-ring: 0 0 0 3px rgba(96, 165, 250, .2);--overlay-scrim: rgba(0, 0, 0, .6);--overlay-modal: rgba(0, 0, 0, .7);--scrollbar-track: transparent;--scrollbar-thumb: rgba(255, 255, 255, .1);--scrollbar-thumb-hover: rgba(255, 255, 255, .18)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;position:relative}#root{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.42}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-220% 0}to{background-position:220% 0}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-slide-in{animation:slideIn .28s ease-out}button{cursor:pointer;font-family:inherit;border:none;transition:all .2s ease}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;background:var(--surface-input);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb,var(--brand-500) 48%,transparent);box-shadow:var(--focus-ring)}pre,code{font-family:var(--font-mono)}code{padding:2px 6px;border-radius:6px;background:var(--surface-code-inline);color:var(--text-code)}
|