.avatar{border-radius:50%;display:block;object-fit:cover;flex-shrink:0}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-weight:var(--font-semibold);line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.theme-control{display:flex;flex-direction:column;gap:6px;padding:8px 14px 10px}.theme-control-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary)}.theme-control-options{display:flex;gap:2px;padding:2px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:8px}.theme-control-option{flex:1;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;transition:background-color .12s ease,color .12s ease}.theme-control-option:hover{background:var(--surface-hover);color:var(--text-primary)}.theme-control-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.theme-control-option--active,.theme-control-option--active:hover{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.user-profile-badge{position:relative}.user-profile-trigger{background:none;border:2px solid transparent;border-radius:50%;padding:0;cursor:pointer;transition:border-color .15s ease}.user-profile-trigger:hover{border-color:var(--accent)}.user-profile-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.user-avatar-small{width:40px;height:40px;font-size:var(--text-lg)}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.user-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface-overlay);border-radius:12px;box-shadow:0 10px 40px var(--shadow-color);min-width:200px;z-index:1001;overflow:hidden}.user-menu-header{padding:16px;background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}.user-menu-name{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.user-menu-email{font-size:var(--text-base);color:var(--text-secondary)}.user-menu-divider{height:1px;background:var(--border-subtle)}.user-menu-item{width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:var(--text-md);cursor:pointer;color:var(--text-secondary);transition:background .15s ease}.user-menu-item:hover{background:var(--surface-hover)}a.user-menu-item{display:block;text-decoration:none}.user-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (max-width: 768px){.user-avatar-small{width:36px;height:36px;font-size:var(--text-md)}.user-menu{min-width:180px;right:-8px}.user-menu-header{padding:12px}.user-menu-name{font-size:var(--text-md)}.user-menu-email{font-size:var(--text-sm)}.user-menu-item{padding:10px 12px;font-size:var(--text-base)}}.share-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.share-dialog{background:var(--surface-overlay);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px var(--shadow-color)}.share-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.share-dialog-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary)}.share-dialog-close{width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease}.share-dialog-close:hover{background-color:var(--surface-hover)}.share-dialog-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.share-dialog-close svg{width:20px;height:20px}.share-form{padding:20px 24px}.share-input-row{display:flex;gap:12px}.share-input-wrapper{position:relative;flex:1;min-width:0}.share-suggestions{list-style:none;margin:4px 0 0;padding:4px 0;position:absolute;top:100%;left:0;right:0;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 4px 16px var(--shadow-color);z-index:10;max-height:240px;overflow-y:auto}.share-suggestion-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer}.share-suggestion-item.highlighted{background:var(--surface-hover)}.share-suggestion-avatar{width:32px;height:32px;font-size:var(--text-md);margin-right:10px}.share-email-input{flex:1;width:100%;padding:12px 16px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;font-size:var(--text-lg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.share-email-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.share-email-input:disabled{background:var(--surface-sunken);color:var(--text-tertiary)}.share-submit-btn{padding:12px 24px;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color .15s ease;white-space:nowrap}.share-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.share-submit-btn:disabled{background:var(--surface-active);cursor:not-allowed}.share-submit-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.share-message{margin:0 24px 16px;padding:12px 16px;border-radius:8px;font-size:var(--text-md)}.share-error{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--danger-border)}.share-success{background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border)}.share-note{background:var(--info-subtle);color:var(--info);border:1px solid var(--info-border)}.share-list-section{padding:0 24px 24px}.share-list-section h3{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-secondary);margin:0 0 12px}.share-list{list-style:none;padding:0;margin:0}.share-list-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.share-list-item:last-child{border-bottom:none}.share-user-avatar{width:40px;height:40px;font-size:var(--text-lg);margin-right:12px}.share-user-info{flex:1;min-width:0}.share-user-name{display:block;font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-user-email{display:block;font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.share-remove-btn{width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease;flex-shrink:0}.share-remove-btn:hover{background:var(--danger-subtle);color:var(--danger)}.share-remove-btn svg{width:16px;height:16px}.share-list-loading,.share-list-empty{font-size:var(--text-md);color:var(--text-secondary);padding:16px 0}.share-role-badge{font-size:var(--text-sm);color:var(--text-secondary);padding:4px 10px;background:var(--surface-sunken);border-radius:4px;flex-shrink:0;text-transform:capitalize}.share-role-badge.owner{background:var(--info-subtle);color:var(--info)}.share-role-badge.pending{background:var(--warning-subtle);color:var(--warning)}.share-invites-heading{margin-top:20px}.share-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.share-role-select{font-size:var(--text-base);padding:6px 10px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-raised);color:var(--text-primary);cursor:pointer;outline:none}.share-role-select:hover{border-color:var(--border-default)}.share-role-select:focus{border-color:var(--accent)}@media (max-width: 480px){.share-dialog{max-width:100%;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:80vh;will-change:bottom,max-height;transition:bottom .15s ease-out,max-height .15s ease-out}.share-input-row{flex-direction:column}.share-submit-btn{width:100%}}.doc-list-container{grid-row:3;grid-column:1;width:100%;max-width:1400px;margin:0 auto;padding:16px 24px 24px;min-height:0;overflow-y:auto;background:var(--surface-raised);box-sizing:border-box;-webkit-overflow-scrolling:touch}.doc-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.doc-list-search-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.doc-list-search{display:flex;align-items:center;gap:8px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;min-width:200px;transition:border-color .15s ease,background-color .15s ease}.doc-list-search:focus-within{border-color:var(--focus-ring);background:var(--surface-raised)}.doc-list-search svg{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0}.doc-list-search input{flex:1;border:none;background:transparent;font-size:var(--text-lg);color:var(--text-primary);outline:none;min-width:120px}.doc-list-search input::placeholder{color:var(--text-tertiary)}.doc-list-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);border-radius:50%;transition:background-color .15s ease}.doc-list-search-clear:hover{background:var(--surface-active)}.doc-list-search-clear svg{width:14px;height:14px}.doc-list-filter{padding:8px 32px 8px 12px;font-size:var(--text-md);border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f6368' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s ease}.doc-list-filter:hover{border-color:var(--accent)}.doc-list-filter:focus{outline:none;border-color:var(--focus-ring)}.new-doc-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;flex-shrink:0}.new-doc-btn:hover:not(:disabled){background:var(--surface-hover);box-shadow:0 1px 3px var(--shadow-color)}.new-doc-btn:active:not(:disabled){background:var(--surface-active)}.new-doc-btn:disabled{opacity:.6;cursor:not-allowed}.new-doc-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.new-doc-btn svg{width:18px;height:18px;color:var(--accent)}.doc-list{list-style:none;padding:0;margin:0 0 50px}.doc-list-item{display:flex;align-items:center;border-bottom:1px solid var(--border-subtle)}.doc-list-item:last-child{border-bottom:none}.doc-link{display:flex;align-items:center;flex:1;padding:16px 8px;text-decoration:none;color:inherit;transition:background-color .15s ease;border-radius:8px;margin:4px 0}.doc-link:hover{background-color:var(--surface-hover)}.doc-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.doc-icon-wrapper{position:relative;width:40px;height:40px;flex-shrink:0;margin-right:16px}.doc-icon{width:40px;height:40px}.share-badge-wrapper{position:absolute;bottom:-4px;right:-4px}.share-badge{width:18px;height:18px;display:block}.share-badge-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-primary);color:var(--text-inverse);font-size:var(--text-xs);padding:4px 8px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;margin-bottom:4px}.share-badge-wrapper:hover .share-badge-tooltip{opacity:1;visibility:visible}.doc-info{display:flex;flex-direction:column;flex:1;min-width:0}.doc-title{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);line-height:1.4;overflow-wrap:break-word;word-wrap:break-word}.doc-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px;line-height:1.4}.doc-snippet mark{background-color:var(--warning-border);color:inherit;border-radius:2px;padding:0 1px}.doc-meta{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.doc-date{color:inherit}.doc-menu-wrapper{position:relative;flex-shrink:0}.doc-menu-btn{width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:background-color .15s ease}.doc-menu-btn:hover{background-color:var(--surface-active)}.doc-menu-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.doc-menu-btn svg{width:20px;height:20px}.doc-menu-dropdown{position:absolute;top:100%;right:0;background:var(--surface-overlay);border-radius:8px;box-shadow:0 2px 10px var(--shadow-color),0 0 1px var(--shadow-color);min-width:160px;z-index:100;overflow:hidden}.doc-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;font-size:var(--text-md);color:var(--text-primary);text-align:left;transition:background-color .15s ease}.doc-menu-item:hover:not(.disabled){background-color:var(--surface-hover)}.doc-menu-item svg{width:18px;height:18px;flex-shrink:0}.doc-list-item.deleting{opacity:.5;pointer-events:none}.doc-list-empty{text-align:center;padding:80px 20px}.doc-list-empty p{margin:8px 0;color:var(--text-secondary);font-size:var(--text-md)}.doc-list-empty p:first-child{font-size:var(--text-lg);color:var(--text-primary)}.doc-list-loading,.doc-list-error{text-align:center;padding:60px 20px;font-size:var(--text-md);color:var(--text-secondary)}.doc-list-error{color:var(--danger)}.doc-list-error button{margin-top:16px;padding:10px 24px;background:var(--accent);color:var(--on-accent);border:none;border-radius:4px;cursor:pointer;font-weight:var(--font-medium);font-size:var(--text-md)}.doc-list-error button:hover{background:var(--accent-hover)}.doc-list-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.doc-list-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.doc-list-container{min-height:0;height:auto}.doc-list{margin-bottom:20px}.doc-list-toolbar,.doc-list-search-filter{flex-direction:column;align-items:stretch}.doc-list-search{min-width:unset;width:100%}.doc-list-filter{width:100%}.new-doc-btn{width:100%;justify-content:center}}@media (max-width: 600px){.doc-list-container{padding:8px 8px 12px}.doc-link{padding:12px 4px}.doc-icon{width:36px;height:36px;margin-right:12px}}.tools-menu-wrapper{position:relative;flex-shrink:0;margin-right:8px;display:flex}.tools-menu-btn{width:40px;height:40px;min-width:40px;min-height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:background-color .15s ease;padding:0;-webkit-tap-highlight-color:transparent}.tools-menu-btn:hover,.tools-menu-btn:active{background-color:var(--surface-active)}.tools-menu-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.tools-menu-btn svg{width:20px;height:20px}.tools-menu-dropdown{position:absolute;top:100%;right:0;background:var(--surface-overlay);border-radius:8px;box-shadow:0 2px 10px var(--shadow-color),0 0 1px var(--shadow-color);min-width:160px;z-index:1000;overflow:hidden;margin-top:4px}.tools-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;font-size:var(--text-md);color:var(--text-primary);text-align:left;text-decoration:none;transition:background-color .15s ease}.tools-menu-item:hover{background-color:var(--surface-hover)}.tools-menu-item svg{width:18px;height:18px;flex-shrink:0}.doc-menu-item.disabled,.tools-menu-item.disabled{color:var(--text-tertiary);cursor:not-allowed}.doc-menu-item.disabled svg,.tools-menu-item.disabled svg{stroke:var(--text-tertiary)}.doc-menu-item.danger,.tools-menu-item.danger{color:var(--danger)}.doc-menu-item.danger svg,.tools-menu-item.danger svg{stroke:var(--danger)}.menu-hint-wrapper{position:relative;margin-left:auto;display:inline-flex;align-items:center}.menu-hint-icon{width:16px;height:16px;border-radius:50%;background:var(--surface-active);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);display:flex;align-items:center;justify-content:center;cursor:help;-webkit-user-select:none;user-select:none}.menu-hint-tooltip{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:8px;padding:6px 10px;background:var(--text-primary);color:var(--text-inverse);font-size:var(--text-sm);font-weight:var(--font-normal);border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none}.menu-hint-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--text-primary)}.menu-hint-icon:hover+.menu-hint-tooltip,.menu-hint-icon:focus+.menu-hint-tooltip{opacity:1;visibility:visible}@media (hover: none){.menu-hint-icon:focus+.menu-hint-tooltip{opacity:1;visibility:visible}}.link-preview{position:absolute;display:flex;align-items:center;gap:8px;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;box-shadow:0 2px 10px var(--shadow-color);z-index:1000;max-width:400px}.link-preview-favicon{width:16px;height:16px;flex-shrink:0}.link-preview-url{color:var(--text-link);text-decoration:none;font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.link-preview-url:hover{text-decoration:underline}.link-preview-actions{display:flex;align-items:center;gap:4px;margin-left:8px;border-left:1px solid var(--border-subtle);padding-left:8px}.link-preview-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);padding:4px}.link-preview-btn:hover{background:var(--surface-hover)}.link-preview-btn svg{width:16px;height:16px}.link-preview--editing{flex-direction:column;padding:12px 16px;min-width:320px;align-items:stretch}.link-edit-form{display:flex;flex-direction:column;gap:12px;width:100%}.link-edit-label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.link-edit-input{padding:8px 10px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;font-size:var(--text-lg);outline:none}.link-edit-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--accent-glow)}.link-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn{margin:0;padding:6px 16px;border-radius:4px;font-size:var(--text-md);font-weight:var(--font-medium);font-family:inherit;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box;display:inline-block;width:auto;height:auto;min-width:auto;min-height:auto;vertical-align:middle;transition:background-color .2s ease,border-color .2s ease,color .2s ease;background:transparent;border:1px solid transparent;color:inherit}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn.link-edit-btn--cancel{background:transparent!important;border:1px solid var(--border-subtle)!important;color:var(--text-secondary)!important}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn.link-edit-btn--cancel:hover{background:var(--surface-hover)!important;border-color:var(--border-subtle)!important;color:var(--text-secondary)!important}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn.link-edit-btn--save{background:var(--accent)!important;border:none!important;color:var(--on-accent)!important}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn.link-edit-btn--save:hover:not(:disabled){background:var(--accent-hover)!important;color:var(--on-accent)!important}.link-preview.link-preview--editing .link-edit-actions button.link-edit-btn.link-edit-btn--save:disabled{background:var(--surface-active)!important;color:var(--text-tertiary)!important;cursor:not-allowed!important;opacity:1!important}.table-context-menu{position:fixed;background:var(--surface-overlay);border-radius:8px;box-shadow:0 2px 12px var(--shadow-color),0 0 1px var(--shadow-color);min-width:200px;z-index:1000;padding:8px 0;font-size:var(--text-md)}.table-context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:none;background:transparent;cursor:pointer;color:var(--text-primary);text-align:left;font-size:var(--text-md);transition:background-color .1s ease}.table-context-menu-item:hover{background-color:var(--surface-hover)}.table-context-menu-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.table-context-menu-item.danger{color:var(--danger)}.table-context-menu-item.danger svg{color:var(--danger)}.table-context-menu-divider{height:1px;background:var(--border-subtle);margin:8px 0}.selection-chat-btn{position:fixed;z-index:1000;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:1;color:var(--text-secondary);background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:0 1px 3px var(--shadow-color);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease;animation:selection-chat-btn-in 90ms ease-out}.selection-chat-btn:hover{background:var(--surface-selected);border-color:var(--accent-hover);color:var(--text-link)}.selection-chat-btn:active{transform:translateY(1px)}.selection-chat-btn svg{flex:0 0 auto;color:var(--accent)}@media (hover: none) and (pointer: coarse){.selection-chat-btn{padding:9px 14px;font-size:13px}}.selection-chat-btn--docked{left:0;right:0;margin:0 auto;width:fit-content;max-width:calc(100vw - 24px);padding:11px 20px;font-size:15px;font-weight:600;color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow);z-index:2147483000;animation:selection-chat-btn-dock-in .13s ease-out}.selection-chat-btn--docked svg{color:var(--on-accent)}.selection-chat-btn--docked:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}@keyframes selection-chat-btn-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes selection-chat-btn-dock-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.diagram-node{position:relative;border:1px solid var(--canvas-border);border-radius:6px;margin:16px 0;background-color:var(--canvas-code-bg);overflow:hidden}.diagram-controls{position:absolute;top:6px;right:6px;z-index:1;display:flex;gap:6px;opacity:0;transition:opacity .12s ease}.diagram-node:hover .diagram-controls,.diagram-node.ProseMirror-selectednode .diagram-controls,.diagram-node.is-editing .diagram-controls,.diagram-controls:focus-within{opacity:1}.diagram-control-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px;color:var(--text-secondary);background-color:var(--surface-raised);border:1px solid var(--canvas-border);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s ease,border-color .12s ease}.diagram-control-btn svg{display:block}.diagram-control-btn:hover{color:var(--text-primary);border-color:var(--border-default)}.diagram-node.is-editing .diagram-edit-toggle{color:var(--accent);border-color:var(--accent-hover)}.diagram-download{position:relative}.diagram-download-menu{position:absolute;top:calc(100% + 4px);right:0;display:flex;flex-direction:column;min-width:88px;padding:4px;background-color:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:0 6px 20px var(--shadow-color)}.diagram-download-menu button{padding:6px 10px;text-align:left;font-size:var(--text-sm);color:var(--text-primary);background:none;border:none;border-radius:4px;cursor:pointer}.diagram-download-menu button:hover{background-color:var(--surface-hover)}.diagram-node.is-editing{border-color:var(--accent);background-color:var(--surface-raised)}.diagram-node.is-error{border-color:var(--amber-500)}.diagram-node.is-selected{border-color:var(--blue-selection)}.diagram-node.is-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--canvas-selection-bg);pointer-events:none}.diagram-content-box.has-overlay{display:grid;grid-template-areas:"stack";align-items:start}.diagram-content-box.has-overlay>*{grid-area:stack;min-width:0}.diagram-content-box.has-overlay>.diagram-source{visibility:hidden;pointer-events:none;max-height:var(--diagram-preview-h, none);overflow-y:auto}.diagram-node.is-editing .diagram-content-box.has-overlay>.diagram-source{visibility:visible;pointer-events:auto}.diagram-node.is-editing .diagram-content-box.has-overlay>.diagram-preview{visibility:hidden;pointer-events:none}.diagram-preview{padding:20px 16px;text-align:center;cursor:default;-webkit-user-select:none;user-select:none}.diagram-preview:not(.diagram-loading){background-color:var(--canvas-media-plate)}.diagram-node[data-type=mermaid] .diagram-preview:not(.diagram-loading),.diagram-fullscreen.is-mermaid .diagram-fullscreen-canvas{filter:var(--canvas-mermaid-filter, none)}.diagram-preview svg{max-width:100%;height:auto}.diagram-loading{color:var(--canvas-text-muted);font-size:var(--text-base);font-style:italic}.diagram-source{margin:0;padding:12px 16px;background-color:var(--canvas-code-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);line-height:1.5;color:var(--canvas-text);white-space:pre-wrap;border-top:1px solid var(--canvas-border);outline:none}.diagram-node.is-editing .diagram-source{border-top:none}.diagram-error{display:flex;flex-direction:column;gap:4px;padding:10px 16px;background-color:var(--warning-subtle);color:var(--warning);font-size:var(--text-sm);border-top:1px solid var(--warning-border);cursor:text;-webkit-user-select:none;user-select:none}.diagram-node.is-readonly .diagram-error{cursor:default}.diagram-error-label{font-weight:var(--font-semibold)}.diagram-error-message{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.diagram-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:32px;background-color:var(--backdrop);cursor:zoom-out}.diagram-fullscreen-canvas{cursor:default;background-color:var(--canvas-media-plate);border-radius:8px;padding:16px;box-shadow:0 20px 60px var(--shadow-color)}.diagram-fullscreen-canvas svg{display:block;width:min(92vw,1600px)!important;height:84vh!important;max-width:none!important;max-height:none!important}.diagram-fullscreen-close{position:fixed;top:16px;right:20px;z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);color:var(--white);background-color:var(--gray-700);border:1px solid var(--presence-chip-overlay);border-radius:6px;box-shadow:0 2px 8px var(--shadow-color);cursor:pointer}.diagram-fullscreen-close:hover{background-color:var(--gray-600)}@media print{.diagram-node{border:none;background:transparent;page-break-inside:avoid}.diagram-source,.diagram-error,.diagram-controls{display:none!important}.diagram-preview{padding:0}}.image-node{margin:.5rem 0;user-select:none;-webkit-user-select:none}.image-node img{max-width:100%;height:auto;display:block;border-radius:4px}.image-node{cursor:pointer}.image-node.is-selected img,.image-node.ProseMirror-selectednode img,.image-node.is-selected .image-node__placeholder,.image-node.ProseMirror-selectednode .image-node__placeholder{outline:2px solid var(--blue-selection);outline-offset:2px}.image-node__placeholder{display:flex;align-items:center;justify-content:center;min-height:80px;padding:1rem;color:var(--canvas-text-muted);font-size:.875rem;background:var(--canvas-code-bg);border:1px dashed var(--canvas-border);border-radius:4px}.image-node__placeholder--error{color:var(--warning);background:var(--warning-subtle);border-color:var(--warning-border)}.editor-common-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.editor-common-content{background-color:var(--canvas-bg);padding:0;flex:1;display:flex;flex-direction:column}.editor-common-content .ProseMirror{outline:none;max-width:816px;width:100%;margin:0 auto;padding:32px 96px;background-color:var(--canvas-bg);font-size:var(--text-lg);line-height:var(--leading-tight);color:var(--canvas-text);box-sizing:border-box;flex:1}.editor-common-content .ProseMirror p{margin:0 0 12px}.editor-common-content .ProseMirror h1{font-size:var(--text-4xl);font-weight:var(--font-bold);margin:24px 0 16px;line-height:var(--leading-tight)}.editor-common-content .ProseMirror h2{font-size:var(--text-3xl);font-weight:var(--font-semibold);margin:20px 0 12px;line-height:var(--leading-snug)}.editor-common-content .ProseMirror h3{font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:16px 0 10px;line-height:1.4}.editor-common-content .ProseMirror h4{font-size:var(--text-xl);font-weight:var(--font-semibold);margin:14px 0 8px;line-height:1.4}.editor-common-content .ProseMirror ul,.editor-common-content .ProseMirror ol{margin:12px 0;padding-left:24px}.editor-common-content .ProseMirror ul ul,.editor-common-content .ProseMirror ol ol,.editor-common-content .ProseMirror ul ol,.editor-common-content .ProseMirror ol ul{margin:0;padding-left:24px}.editor-common-content .ProseMirror li{margin:4px 0}.editor-common-content .ProseMirror li p{margin:0}.editor-common-content .ProseMirror code{background-color:var(--canvas-code-bg);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:var(--text-md)}.editor-common-content .ProseMirror pre{background-color:var(--canvas-code-bg);padding:12px;border-radius:4px;overflow-x:auto;margin:12px 0}.editor-common-content .ProseMirror pre code{background-color:transparent;padding:0}.editor-common-content .ProseMirror strong{font-weight:var(--font-bold)}.editor-common-content .ProseMirror em{font-style:italic}.editor-common-content .ProseMirror u{text-decoration:underline}.editor-common-content .ProseMirror s{text-decoration:line-through}.editor-common-content .ProseMirror a{color:var(--canvas-link);text-decoration:underline;cursor:pointer}.editor-common-content .ProseMirror blockquote{border-left:4px solid var(--canvas-border);margin:16px 0;padding-left:16px;color:var(--canvas-text-muted);font-style:italic}.editor-common-content .ProseMirror sub{vertical-align:sub;font-size:.75em}.editor-common-content .ProseMirror sup{vertical-align:super;font-size:.75em}.editor-common-content .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:16px 0;overflow:hidden}.editor-common-content .ProseMirror td,.editor-common-content .ProseMirror th{min-width:1em;border:1px solid var(--canvas-border);padding:8px;vertical-align:top;box-sizing:border-box;position:relative}.editor-common-content .ProseMirror th{font-weight:var(--font-bold);text-align:left;background-color:var(--canvas-th-bg)}.editor-common-content .ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:var(--canvas-selection-bg);pointer-events:none}.editor-common-container.mobile{overscroll-behavior:contain;touch-action:pan-y}.editor-common-container.mobile .ProseMirror{touch-action:pan-y}@media (max-width: 768px){.editor-common-content{padding:0}.editor-common-content .ProseMirror{max-width:100%;padding:16px 16px 400px}}@media print{@page{margin:.75in}html,body{height:auto!important;overflow:visible!important;position:static!important;width:auto!important}body{background-color:#fff!important}#root,.app-shell{height:auto!important;overflow:visible!important;display:block!important}.app-body{display:block!important;overflow:visible!important;height:auto!important}.app-main{display:block!important;overflow:visible!important;height:auto!important;max-width:none!important}.app-header,.editor-toolbar,.view-only-banner,.sync-banner,.tools-menu-wrapper,.tools-menu-dropdown,.dropdown-menu,.color-picker,.table-menu,.share-btn,.ai-toggle-btn,.connection-status,.user-profile-badge,.user-menu,.user-menu-backdrop,.ai-panel,.ai-panel-mobile,.ai-fab,.ai-panel-resize-handle,.ai-chat-history,.version-history-panel,.version-dialog-overlay,.version-dialog,.share-dialog-overlay,.share-dialog,.doc-side-pane,.mobile-action-bar,.link-preview,.table-context-menu,.collaboration-cursor__caret,.collaboration-cursor__label{display:none!important}.collaboration-cursor__selection,.persisted-selection{background:transparent!important}.editor-common-content .ProseMirror .selectedCell:after{display:none!important}.ProseMirror-gapcursor{display:none!important}.editor-common-container{overflow:visible!important;height:auto!important;display:block!important}.editor-common-content{padding:0!important;display:block!important}.editor-common-content .ProseMirror{max-width:100%!important;padding:0!important;overflow:visible!important}.editor-common-content .ProseMirror{font-size:12pt;line-height:1.5;color:#000}.editor-common-content .ProseMirror h1{font-size:24pt;line-height:1.2}.editor-common-content .ProseMirror h2{font-size:18pt;line-height:1.25}.editor-common-content .ProseMirror h3{font-size:14pt;line-height:1.3}.editor-common-content .ProseMirror a{color:#000;text-decoration:underline}.editor-common-content .ProseMirror a[href]:after{content:" (" attr(href) ")";font-size:.85em;color:#555;word-break:break-all}.editor-common-content .ProseMirror a[href^="#"]:after,.editor-common-content .ProseMirror a[href^="javascript:"]:after{content:""}.editor-common-content .ProseMirror blockquote{color:#333;border-left-color:#999}.editor-common-content .ProseMirror code,.editor-common-content .ProseMirror pre,.editor-common-content .ProseMirror th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.editor-common-content .ProseMirror pre{white-space:pre-wrap;word-wrap:break-word;overflow:visible}.editor-common-content .ProseMirror td,.editor-common-content .ProseMirror th{border-color:#999}.editor-common-content .ProseMirror table,.editor-common-content .ProseMirror pre,.editor-common-content .ProseMirror blockquote,.editor-common-content .ProseMirror img{break-inside:avoid}.editor-common-content .ProseMirror h1,.editor-common-content .ProseMirror h2,.editor-common-content .ProseMirror h3,.editor-common-content .ProseMirror h4,.editor-common-content .ProseMirror h5,.editor-common-content .ProseMirror h6{break-inside:avoid;break-after:avoid}.editor-common-content .ProseMirror p,.editor-common-content .ProseMirror li{orphans:3;widows:3}.editor-common-content .ProseMirror img{max-width:100%!important;height:auto!important}}.editor-common-content .collaboration-cursor__caret{border-left:2px solid;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal;box-shadow:0 0 2px var(--presence-ring)}.editor-common-content .collaboration-cursor__selection{pointer-events:none}.editor-common-content .persisted-selection{background-color:var(--canvas-selection-bg);pointer-events:none}.editor-common-content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:var(--presence-label-text);font-size:var(--text-sm);font-style:normal;font-weight:var(--font-semibold);left:-1px;line-height:normal;padding:2px 6px;position:absolute;top:-1.4em;-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;box-shadow:0 0 0 1px var(--presence-ring)}.editor-common-content .collaboration-cursor__label--visible{opacity:1;transform:translateY(0)}.editor-common-content .collaboration-cursor__label.agent-cursor{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 3px}.editor-common-content .agent-avatar-container{position:relative;width:20px;height:20px;flex-shrink:0}.editor-common-content .agent-robot-avatar{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--text-md);line-height:1;background:var(--presence-chip-overlay);border-radius:50%}.editor-common-content .agent-user-overlay{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;border-radius:50%;border:1.5px solid currentColor;object-fit:cover;background:var(--presence-avatar-bg)}.editor-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.editor-container.mobile{scroll-padding-bottom:400px}.toolbar{display:flex;gap:8px;padding:12px 24px;background-color:var(--surface-base);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.toolbar-group{display:flex;gap:4px;padding-right:8px;border-right:1px solid var(--border-default)}.toolbar-group:last-child{border-right:none}.toolbar-button{background-color:var(--surface-raised);border:1px solid var(--border-default);border-radius:4px;padding:6px 12px;cursor:pointer;font-size:var(--text-md);color:var(--text-primary);transition:all .2s;min-width:36px;display:flex;align-items:center;justify-content:center}.toolbar-button:hover{background-color:var(--surface-base);border-color:var(--border-default)}.toolbar-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.toolbar-button.is-active{background-color:var(--accent);color:var(--on-accent);border-color:var(--accent)}.toolbar-button.is-active:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.toolbar-button strong{font-weight:var(--font-bold)}.toolbar-button em{font-style:italic}.toolbar-button u{text-decoration:underline}.toolbar-button s{text-decoration:line-through}.toolbar-button-small{min-width:auto;padding:4px 8px;font-size:var(--text-sm)}.dropdown-wrapper{position:relative;display:inline-block}.dropdown-trigger{display:inline-block}.font-family-dropdown{position:relative;display:inline-block}.toolbar-dropdown-button{min-width:120px;text-align:left;padding:4px 8px;font-size:var(--text-md)}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:4px;box-shadow:0 2px 10px var(--shadow-color);z-index:10000;min-width:180px;max-height:300px;overflow-y:auto;margin-top:4px}.dropdown-item{padding:8px 12px;cursor:pointer;font-size:var(--text-md)}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-divider{height:1px;background:var(--border-default);margin:4px 0}.font-size-control{display:flex;gap:4px;align-items:center}.font-size-input{width:50px;padding:4px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;text-align:center;font-size:var(--text-lg)}.font-size-input:focus{outline:none;border-color:var(--focus-ring)}.font-size-input::-webkit-outer-spin-button,.font-size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.font-size-input[type=number]{-moz-appearance:textfield}.font-size-button{width:24px;height:24px;padding:0;background:var(--surface-base);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;line-height:1}.font-size-button:hover,.font-size-button:active{background:var(--surface-active)}.line-height-dropdown{position:relative;display:inline-block}.line-height-dropdown .toolbar-dropdown-button{min-width:100px}.color-picker{position:absolute;top:100%;left:0;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 2px 10px var(--shadow-color);z-index:10000;padding:12px;margin-top:4px;min-width:280px}.color-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:var(--font-semibold);font-size:var(--text-md)}.color-picker-close{background:none;border:none;font-size:var(--text-3xl);line-height:1;cursor:pointer;color:var(--text-secondary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.color-picker-close:hover{color:var(--text-primary)}.color-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:12px}.color-swatch{width:28px;height:28px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:transform .1s}.color-swatch:hover{transform:scale(1.1);border-color:var(--accent)}.color-swatch.selected{border-color:var(--accent);border-width:3px}.color-picker-hex{display:flex;gap:8px;margin-bottom:12px}.color-picker-hex input{flex:1;padding:6px 8px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;font-family:var(--font-mono);font-size:var(--text-lg)}.color-picker-hex input:focus{outline:none;border-color:var(--focus-ring)}.color-picker-hex button{padding:6px 12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:4px;cursor:pointer;font-size:var(--text-md)}.color-picker-hex button:hover{background:var(--accent-hover)}.color-picker-footer{display:flex;justify-content:center}.color-picker-remove{padding:6px 12px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;font-size:var(--text-base);color:var(--text-secondary)}.color-picker-remove:hover{background:var(--surface-active);color:var(--text-primary)}.table-menu{position:absolute;top:100%;left:0;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 2px 10px var(--shadow-color);z-index:10000;padding:12px;margin-top:4px}.table-menu-header{font-size:var(--text-md);font-weight:var(--font-semibold);margin-bottom:8px;text-align:center;color:var(--text-primary)}.table-grid{display:flex;flex-direction:column;gap:2px}.table-grid-row{display:flex;gap:2px}.table-grid-cell{width:18px;height:18px;border:1px solid var(--border-default);cursor:pointer;background:var(--surface-overlay);transition:background-color .1s}.table-grid-cell.highlighted{background-color:var(--accent);border-color:var(--accent-hover)}.table-grid-cell:hover{border-color:var(--accent)}.mobile-action-bar{display:flex;align-items:center;width:100%;margin-top:8px;border-top:1px solid var(--border-subtle);background:var(--surface-raised);padding:6px 0}.mobile-toolbar-fixed{display:flex;align-items:center;gap:4px;flex-shrink:0}.mobile-toolbar-scroll{display:flex;align-items:center;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0}.mobile-toolbar-scroll::-webkit-scrollbar{display:none}.mobile-action-button{width:36px;height:36px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.mobile-action-button:active:not(:disabled){background:var(--surface-active)}.mobile-action-button:disabled{opacity:.35}.mobile-action-button svg{display:block}.mobile-action-divider{width:1px;height:24px;background:var(--border-default);margin:0 4px;flex-shrink:0}.mobile-format-btn{min-width:40px;height:40px;padding:0 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--font-medium);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.mobile-format-btn:active{background:var(--surface-active)}.mobile-format-btn.is-active{background:var(--accent-subtle);color:var(--accent-active)}.mobile-format-btn strong{font-weight:var(--font-bold)}.mobile-format-btn em{font-style:italic}.mobile-format-btn u{text-decoration:underline}.mobile-format-btn s{text-decoration:line-through}.hierarchy-list{flex:1;overflow-y:auto;padding:8px 0}.hierarchy-chevron{flex-shrink:0;transition:transform .2s ease;color:var(--text-secondary)}.hierarchy-chevron.expanded{transform:rotate(90deg)}.hierarchy-month{margin-bottom:4px}.hierarchy-month-header{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.hierarchy-month-header:hover{background:var(--surface-sunken)}.hierarchy-month-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.hierarchy-item{margin-bottom:2px;border-left:2px solid transparent;transition:border-color .15s,background-color .15s}.hierarchy-item.selected{border-left-color:var(--accent);background:var(--surface-selected)}.hierarchy-item:not(.selected):hover{background:var(--surface-sunken)}.hierarchy-item-content{flex:1;min-width:0}.hierarchy-item-subtitle{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.hierarchy-versions-list{padding-left:16px}.hierarchy-version-header{display:flex;align-items:flex-start;padding:8px 12px;cursor:pointer}.hierarchy-expand-btn{background:none;border:none;padding:4px;margin:-4px 4px -4px -4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hierarchy-expand-btn:hover{background:var(--surface-active)}.hierarchy-version-name{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-link);margin-bottom:2px}.hierarchy-version-time{font-size:var(--text-base);color:var(--text-secondary);display:flex;align-items:center;gap:8px}.hierarchy-version-date{font-weight:var(--font-medium);color:var(--text-primary)}.hierarchy-version-edits{font-size:var(--text-sm);color:var(--text-tertiary)}.hierarchy-version-badge{display:inline-block;font-size:var(--text-xs);color:var(--text-secondary);margin-top:4px}.hierarchy-version-authors{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.hierarchy-author{display:flex;align-items:center;gap:4px}.hierarchy-author-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px var(--presence-ring)}.hierarchy-author-name{font-size:var(--text-sm);color:var(--text-secondary)}.hierarchy-author-more{font-size:var(--text-sm);color:var(--text-tertiary)}.hierarchy-version-menu{position:relative;flex-shrink:0;margin-left:8px}.hierarchy-menu-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:var(--text-secondary);opacity:0;transition:opacity .15s,background-color .15s;display:flex;align-items:center;justify-content:center}.hierarchy-version:hover .hierarchy-menu-btn,.hierarchy-menu-btn:focus{opacity:1}.hierarchy-menu-btn:hover{background:var(--surface-active)}.hierarchy-menu-dropdown{position:absolute;top:100%;right:0;min-width:180px;background:var(--surface-overlay);border-radius:4px;box-shadow:0 2px 10px var(--shadow-color);z-index:10;overflow:hidden;margin-top:4px}.hierarchy-menu-dropdown button{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;font-size:var(--text-md);color:var(--text-primary);cursor:pointer;transition:background-color .15s}.hierarchy-menu-dropdown button:hover{background:var(--surface-hover)}.hierarchy-updates-list{padding:4px 0 8px 24px;border-left:1px solid var(--border-subtle);margin-left:20px}.hierarchy-update{cursor:pointer}.hierarchy-update-header{display:flex;align-items:flex-start;padding:8px 12px}.hierarchy-combined{background:var(--surface-sunken);border-radius:4px;margin-top:4px}.hierarchy-combined:hover{background:var(--surface-hover)}.hierarchy-combined.selected{background:var(--surface-selected)}.hierarchy-loading{padding:20px;text-align:center;color:var(--text-secondary);font-size:var(--text-md)}.hierarchy-empty{padding:12px;text-align:center;color:var(--text-tertiary);font-size:var(--text-base)}.hierarchy-empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary)}.hierarchy-empty-hint{font-size:var(--text-base);color:var(--text-tertiary);margin-top:8px}.hierarchy-breadcrumbs{display:flex;align-items:center;gap:4px;padding:8px 16px;font-size:var(--text-base);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.hierarchy-breadcrumb{color:var(--text-link);cursor:pointer;transition:color .15s}.hierarchy-breadcrumb:hover{color:var(--accent-active);text-decoration:underline}.hierarchy-breadcrumb-separator{color:var(--text-tertiary)}.hierarchy-breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium)}.hierarchy-onbehalfof{margin-top:2px}.hierarchy-onbehalfof-line{font-size:11px;color:var(--text-secondary);overflow-wrap:anywhere}.version-history-panel{position:fixed;top:0;right:0;bottom:0;width:320px;background:var(--surface-raised);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:100;box-shadow:-2px 0 8px var(--shadow-color)}.version-history-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.version-history-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary)}.version-history-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .2s;text-decoration:none}.version-history-close:hover{background:var(--surface-hover)}.version-history-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.version-history-close svg{width:20px;height:20px}.version-history-controls{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.version-history-filter{flex:1}.version-history-filter select{width:100%;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:4px;font-size:var(--text-md);color:var(--text-primary);background:var(--surface-raised);cursor:pointer}.version-history-filter select:hover{border-color:var(--border-default)}.version-history-highlight-toggle{display:flex;align-items:center;gap:6px;font-size:var(--text-base);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.version-history-highlight-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent)}.version-history-view-toggle{display:flex;border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.view-toggle-btn{display:flex;align-items:center;justify-content:center;padding:6px 8px;background:var(--surface-raised);border:none;cursor:pointer;color:var(--text-secondary);transition:background-color .15s,color .15s}.view-toggle-btn:first-child{border-right:1px solid var(--border-subtle)}.view-toggle-btn:hover{background:var(--surface-hover)}.view-toggle-btn.active{background:var(--surface-selected);color:var(--accent)}.version-history-loading,.version-history-error,.version-history-empty{padding:40px 20px;text-align:center;color:var(--text-secondary)}.version-history-error{color:var(--danger)}.version-history-empty-hint{font-size:var(--text-base);color:var(--text-tertiary);margin-top:8px}.version-history-list{flex:1;overflow-y:auto;padding:8px 0}.version-group{margin-bottom:4px}.version-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;-webkit-user-select:none;user-select:none}.version-group-header:hover{background:var(--surface-sunken)}.version-group-expand{transition:transform .2s}.version-group-expand.expanded{transform:rotate(180deg)}.version-group-items{margin:0}.version-item{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 20px;cursor:pointer;transition:background-color .15s;border-left:3px solid transparent}.version-item:hover{background:var(--surface-sunken)}.version-item.selected{background:var(--surface-selected);border-left-color:var(--accent)}.version-item.current{background:var(--info-subtle)}.version-item.selected.current{background:var(--surface-selected)}.version-item-content{flex:1;min-width:0}.version-item-name{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-link);margin-bottom:2px}.version-item-time{font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-secondary);margin-bottom:4px}.version-item-badge{display:inline-block;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:6px}.version-item-authors{display:flex;flex-wrap:wrap;gap:8px}.version-author{display:flex;align-items:center;gap:6px}.version-author-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.version-author-name{font-size:var(--text-sm);color:var(--text-secondary)}.version-author-more{font-size:var(--text-sm);color:var(--text-tertiary)}.version-item-menu{position:relative;flex-shrink:0;margin-left:8px}.version-menu-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:var(--text-secondary);opacity:0;transition:opacity .15s,background-color .15s;display:flex;align-items:center;justify-content:center}.version-item:hover .version-menu-btn,.version-menu-btn:focus{opacity:1}.version-menu-btn:hover{background:var(--surface-active)}.version-menu-dropdown{position:absolute;top:100%;right:0;min-width:180px;background:var(--surface-overlay);border-radius:4px;box-shadow:0 2px 10px var(--shadow-color);z-index:10;overflow:hidden;margin-top:4px}.version-menu-dropdown button{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;font-size:var(--text-md);color:var(--text-primary);cursor:pointer;transition:background-color .15s}.version-menu-dropdown button:hover{background:var(--surface-hover)}.version-expand-btn{display:block;width:100%;padding:8px 20px;text-align:left;background:none;border:none;font-size:var(--text-sm);color:var(--text-link);cursor:pointer;transition:background-color .15s}.version-expand-btn:hover{background:var(--surface-hover)}.version-history-footer{padding:12px 20px;border-top:1px solid var(--border-subtle);font-size:var(--text-base);color:var(--text-secondary);text-align:center}.version-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;z-index:200}.version-dialog{background:var(--surface-overlay);border-radius:8px;padding:24px;width:320px;max-width:90vw;box-shadow:0 4px 20px var(--shadow-color)}.version-dialog h3{margin:0 0 16px;font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary)}.version-dialog input{width:100%;padding:10px 12px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;font-size:var(--text-lg);margin-bottom:16px;box-sizing:border-box}.version-dialog input:focus{outline:none;border-color:var(--accent)}.version-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.version-dialog-actions button{padding:8px 16px;border-radius:4px;font-size:var(--text-md);cursor:pointer;transition:background-color .15s}.version-dialog-actions button:first-child{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary)}.version-dialog-actions button:first-child:hover{background:var(--surface-hover)}.version-dialog-actions button:last-child{background:var(--accent);border:none;color:var(--on-accent)}.version-dialog-actions button:last-child:hover{background:var(--accent-hover)}.version-dialog-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.version-history-panel{width:100%}}.version-preview{display:flex;flex-direction:column;height:100%;background:var(--canvas-bg)}.version-preview-loading,.version-preview-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-secondary);font-size:var(--text-md)}.version-preview-authors{padding:12px 20px;border-top:1px solid var(--border-subtle);font-size:var(--text-base);color:var(--text-secondary);background:var(--surface-sunken)}.version-preview-authors-label{margin-right:8px}.version-preview-author{font-weight:var(--font-medium)}.version-preview-notice{padding:8px 16px;background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-base);text-align:center}.version-preview ins{background-color:var(--canvas-diff-add-bg);border-radius:2px;text-decoration:none}.version-preview del{text-decoration:line-through;background-color:var(--canvas-diff-del-bg);border-radius:2px}.sync-banner{position:fixed;top:0;left:50%;transform:translate(-50%);background:var(--warning-subtle);color:var(--warning);padding:6px 16px;font-size:var(--text-base);font-weight:var(--font-medium);border-radius:0 0 6px 6px;z-index:1000;box-shadow:0 2px 4px var(--shadow-color)}.sync-banner--disconnected{background:var(--surface-active);color:var(--text-secondary)}.sync-banner--connecting{background:var(--warning-subtle);color:var(--warning)}.back-btn svg{display:block}.app-header-left .app-title-input{height:auto;padding:4px 8px;margin:-4px -8px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:var(--text-xl);font-weight:var(--font-semibold);transition:border-color .15s ease;flex:1;min-width:0}.app-header-left .app-title-input:hover{border-color:var(--border-default)}.app-header-left .app-title-input:focus{outline:none;border-color:var(--border-strong)}.editor-toolbar{grid-row:2;grid-column:1 / -1;border-bottom:1px solid var(--border-subtle);min-width:0;overflow:visible}.editor-toolbar>.toolbar{padding:6px 24px;max-width:1400px;margin:0 auto;background:transparent;gap:4px;justify-content:center}.editor-toolbar>.toolbar button{width:28px;height:28px;padding:0;font-size:var(--text-base);font-weight:var(--font-medium);border:none;border-radius:4px;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .1s ease}.editor-toolbar>.toolbar button:hover{background:var(--surface-hover)}.editor-toolbar>.toolbar button:active,.editor-toolbar>.toolbar button.is-active{background:var(--surface-active)}.ai-toggle-btn{width:40px;height:40px;min-width:40px;min-height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:background-color .15s ease,color .15s ease;padding:0;-webkit-tap-highlight-color:transparent}.ai-toggle-btn:hover{background-color:var(--accent-subtle);color:var(--accent)}.ai-toggle-btn:active{background-color:var(--surface-selected)}.ai-toggle-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ai-toggle-btn--active{background-color:var(--accent-subtle);color:var(--accent)}.share-btn{display:flex;align-items:center;gap:6px;background:var(--info-subtle);color:var(--info);border:none;border-radius:6px;padding:8px 14px;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color .15s ease;margin-right:8px}.share-btn:hover{background:var(--info-border)}.share-btn svg{width:16px;height:16px}.view-only-banner{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);border-bottom:1px solid var(--border-subtle)}.view-only-banner svg{flex-shrink:0}@media (max-width: 768px){.app-header-left{gap:6px}.back-btn{padding:2px}.back-btn svg{width:36px;height:36px}.app-header-left .app-title-input{font-size:var(--text-lg);padding:2px 6px;margin:-2px -6px}}.app-header.mobile .app-title-input{max-height:2.9em;overflow-y:auto;overscroll-behavior:contain}@media (max-width: 768px){.share-btn{padding:8px 12px}.share-btn span{display:none}.tools-menu-wrapper{display:flex!important;flex-shrink:0;visibility:visible!important;opacity:1!important}.tools-menu-btn{display:flex!important;width:44px;height:44px;min-width:44px;min-height:44px;background:var(--surface-hover);color:var(--text-primary);visibility:visible!important;opacity:1!important}.tools-menu-btn:active{background-color:var(--surface-active)}.ai-toggle-btn{width:44px;height:44px;min-width:44px;min-height:44px}}@media (max-width: 480px){.share-btn{padding:8px;border-radius:50%}}.version-history-header{background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}.version-history-header .app-header-content{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;width:100%;max-width:100%}.version-history-back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background-color .2s;margin-right:12px;text-decoration:none}.version-history-back-btn:hover{background:var(--surface-active)}.version-history-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary);text-align:left}.restore-version-btn{padding:10px 24px;background:var(--accent);color:var(--on-accent);border:none;border-radius:4px;font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color .2s}.restore-version-btn:hover{background:var(--accent-hover)}.version-history-inner{grid-row:3;grid-column:1;display:flex;overflow:hidden;min-height:0}.version-history-main{flex:1;overflow:hidden;background:var(--surface-raised)}.version-history-mode .version-history-panel{position:relative;height:100%;box-shadow:none;border-left:1px solid var(--border-subtle)}@media (max-width: 768px){.version-history-inner{flex-direction:column-reverse}.version-history-mode .version-history-panel{width:100%;height:40%;border-left:none;border-top:1px solid var(--border-subtle)}.version-history-main{height:60%}}.user-avatar{animation:avatarFadeIn .3s ease-out}@keyframes avatarFadeIn{0%{opacity:0}to{opacity:1}}.ai-chat-body-welcome{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:8px}.ai-chat-body-welcome-text{margin:0;font-size:var(--text-lg);color:var(--text-tertiary)}.ai-chat-body-usage-limit{padding:8px 16px;margin:0 12px 4px;background:var(--danger-subtle);color:var(--danger-hover);font-size:var(--text-base);border-radius:6px;text-align:center}.ai-chat-body-usage-limit a{color:var(--danger-hover);font-weight:var(--font-semibold);text-decoration:underline}.ai-chat-body-error{padding:8px 16px;margin:0 12px 4px;background:var(--warning-subtle);color:var(--warning);font-size:var(--text-base);border-radius:6px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}.ai-chat-body-reconnecting{padding:8px 16px;margin:0 12px 4px;background:var(--warning-subtle);color:var(--warning);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:6px;text-align:center}.ai-chat-body-retry-btn{margin-top:8px;padding:6px 16px;font-size:var(--text-base);color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:6px;cursor:pointer}.ai-chat-body-retry-btn:hover{background:var(--surface-selected)}.ai-panel--byok .ai-chat-body-retry-btn{color:var(--accent-active);border-color:var(--accent-active)}.ai-panel--byok .ai-chat-body-retry-btn:hover{background:var(--surface-selected)}.ai-chat-history{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px;gap:8px}.ai-chat-history-new{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);color:var(--accent);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;flex-shrink:0}.ai-chat-history-new:hover{background:var(--surface-selected);border-color:var(--accent)}.ai-chat-history-search{flex-shrink:0}.ai-chat-history-search-input{width:100%;padding:6px 10px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--text-base);outline:none;transition:border-color .15s ease;box-sizing:border-box}.ai-chat-history-search-input:focus{border-color:var(--focus-ring)}.ai-chat-history-search-input::placeholder{color:var(--text-tertiary)}.ai-chat-history-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ai-chat-history-empty{text-align:center;color:var(--text-tertiary);font-size:var(--text-base);padding:24px 0;margin:0}.ai-chat-history-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.ai-chat-history-item:hover{background:var(--surface-hover)}.ai-chat-history-item--active{background:var(--surface-selected);border-left:2px solid var(--accent);padding-left:8px}.ai-chat-history-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ai-chat-history-item-title{font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-chat-history-item-time{font-size:var(--text-sm);color:var(--text-secondary)}.ai-chat-history-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.ai-chat-history-item:hover .ai-chat-history-item-actions{opacity:1}.ai-chat-history-item:focus-within .ai-chat-history-item-actions{opacity:1}@media (hover: none){.ai-chat-history-item-actions{opacity:1}}.ai-chat-history-item-actions:has(.ai-chat-history-action-btn--danger){opacity:1}.ai-chat-history-action-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:0;transition:background-color .15s ease,color .15s ease}.ai-chat-history-action-btn:hover{background:var(--surface-active);color:var(--text-primary)}.ai-chat-history-action-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ai-chat-history-action-btn--danger{color:var(--danger)}.ai-chat-history-action-btn--danger:hover{background:var(--danger-subtle);color:var(--danger)}@media (hover: none){.ai-chat-history-action-btn{width:36px;height:36px}}.ai-chat-history-load-more{padding:8px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;text-align:center;flex-shrink:0}.ai-chat-history-load-more:hover{color:var(--accent)}.ai-chat-history-rename-input{flex:1;padding:4px 8px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;font-size:var(--text-md);outline:none;min-width:0}.chat-font-size-control{display:inline-flex;align-items:center}.chat-font-size-glyph{font-weight:var(--font-semibold);line-height:1}.chat-font-size-glyph--small{font-size:var(--text-xs)}.chat-font-size-glyph--large{font-size:var(--text-md)}.ai-panel{display:flex;flex-direction:column;background:var(--surface-raised);z-index:200;position:relative;overflow:hidden}.ai-panel--right{grid-row:3 / -1;grid-column:2;width:var(--ai-panel-width, 380px);border-left:1px solid var(--border-subtle)}.ai-panel--bottom{grid-row:4;grid-column:1 / -1;height:var(--ai-panel-height, 300px);border-top:1px solid var(--border-subtle);width:100%}.ai-panel-resize-handle{position:absolute;z-index:10;flex-shrink:0}.ai-panel-resize-handle--left{top:0;left:0;width:4px;height:100%;cursor:col-resize}.ai-panel-resize-handle--top{top:0;left:0;width:100%;height:4px;cursor:row-resize}.ai-panel-resize-handle:hover{background:var(--accent-subtle)}.ai-panel-header{padding:10px 12px}.ai-panel-title-group{display:flex;flex-direction:column;min-width:0;overflow:hidden}.ai-panel-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary)}.ai-panel-chat-title{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-panel-header-actions{display:flex;align-items:center;gap:4px}.ai-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;max-width:768px;width:100%;margin:0 auto}.ai-chat-bubble-wrap{display:flex;flex-direction:column;max-width:85%}.ai-chat-bubble-wrap--user{align-self:flex-end;align-items:flex-end}.ai-chat-bubble-wrap--assistant{align-self:flex-start;align-items:flex-start}.ai-chat-copy-btn{background:none;border:none;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;line-height:1;opacity:0;transition:opacity .15s;color:var(--text-secondary);margin-top:2px}.ai-chat-bubble-wrap:hover .ai-chat-copy-btn{opacity:.6}.ai-chat-copy-btn:hover{opacity:1!important;background:var(--surface-hover)}.ai-chat-bubble{max-width:100%;padding:8px 12px;border-radius:12px;font-size:calc(var(--text-md) * var(--chat-font-scale, 1));line-height:var(--leading-normal);word-wrap:break-word}.ai-chat-bubble--user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;white-space:pre-wrap}.ai-chat-bubble--assistant{background:var(--surface-sunken);color:var(--text-primary);border-bottom-left-radius:4px}.ai-chat-markdown p{margin:0 0 .5em}.ai-chat-markdown p:last-child{margin-bottom:0}.ai-chat-markdown strong{font-weight:var(--font-semibold)}.ai-chat-markdown a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px}.ai-chat-markdown a:hover{color:var(--text-link)}.ai-chat-markdown ul,.ai-chat-markdown ol{margin:.4em 0;padding-left:1.4em}.ai-chat-markdown li{margin:.15em 0}.ai-chat-markdown code{font-size:.9em;background:var(--surface-sunken);padding:1px 4px;border-radius:3px}.ai-chat-markdown pre{margin:.5em 0;padding:8px 10px;background:var(--surface-sunken);border-radius:6px;overflow-x:auto;font-size:.85em}.ai-chat-markdown pre code{background:none;padding:0}.ai-chat-markdown table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.9em}.ai-chat-markdown th,.ai-chat-markdown td{border:1px solid var(--border-default);padding:6px 10px;text-align:left}.ai-chat-markdown th{background:var(--surface-sunken);font-weight:var(--font-semibold)}.ai-tool-group{display:flex;flex-direction:column;gap:4px;margin:4px 0}.ai-typing-indicator{display:inline-flex;gap:4px;align-items:center;padding:2px 0;vertical-align:middle;margin-left:2px}.ai-typing-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:aiTypingPulse 1.2s ease-in-out infinite}.ai-typing-dot:nth-child(2){animation-delay:.2s}.ai-typing-dot:nth-child(3){animation-delay:.4s}@keyframes aiTypingPulse{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.ai-tool-card{margin:2px 0;min-width:0}.ai-tool-card-toggle{display:inline;font-size:var(--text-sm);font-weight:var(--font-medium);padding:2px 8px;border-radius:6px;border:none;cursor:pointer;background:none;line-height:1.8;text-align:left}.ai-tool-card-toggle:hover{filter:brightness(.95)}.ai-tool-card-toggle.ai-tool-card--running{background:var(--accent-subtle);color:var(--accent)}.ai-tool-card-toggle.ai-tool-card--complete{background:var(--accent-subtle);color:var(--accent-hover)}.ai-tool-card-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.ai-tool-card-link:hover{text-decoration-thickness:2px}.ai-tool-card-detail{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;padding:4px 0 4px 8px;border-left:2px solid var(--border-subtle);margin-top:4px;overflow-x:auto}.ai-tool-card-detail p{margin:0;word-break:break-word}.ai-tool-card-detail pre{margin:0;padding:6px 8px;background:var(--surface-sunken);border-radius:4px;font-size:var(--text-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.ai-tool-card-detail pre code{background:none;padding:0;font-size:inherit}.ai-diff-view{margin:4px 0 2px}.ai-diff-toggle{background:none;border:none;padding:2px 0;font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer}.ai-diff-toggle:hover{color:var(--text-secondary)}.ai-diff-content{margin-top:4px}.ai-diff-table{width:100%;border-collapse:collapse;background:var(--surface-sunken);border-radius:4px;font-size:var(--text-xs);font-family:var(--font-mono);line-height:var(--leading-relaxed);overflow-x:auto;display:block}.ai-diff-table tbody{display:table;width:100%}.ai-diff-gutter{width:1px;white-space:nowrap;padding:0 6px;text-align:right;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;vertical-align:top}.ai-diff-cell{width:100%;white-space:pre-wrap;word-break:break-word;padding:0 8px 0 4px}.ai-diff-row--added{background:var(--success-subtle)}.ai-diff-row--added .ai-diff-cell{color:var(--success)}.ai-diff-row--removed{background:var(--danger-subtle)}.ai-diff-row--removed .ai-diff-cell{color:var(--danger)}.ai-diff-row--context .ai-diff-cell{color:var(--text-secondary)}.ai-diff-separator-row td{padding:2px 0}.ai-diff-separator-text{text-align:center;color:var(--text-disabled);font-size:var(--text-2xs)}.ai-diff-expand{display:block;width:100%;background:none;border:1px dashed var(--border-subtle);border-radius:4px;padding:4px;margin-top:4px;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer}.ai-diff-expand:hover{background:var(--surface-hover);color:var(--text-secondary)}.ai-diff-truncated{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic;padding:4px 0}.ai-diff-format-only{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic;padding:2px 0}.ai-diff-wrap{position:relative}.ai-diff-wrap--undone .ai-diff-view{opacity:.5;filter:grayscale(.4)}.ai-diff-undo{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:6px}.ai-diff-reverted{margin-right:auto;font-size:var(--text-xs);font-style:italic;color:var(--text-tertiary)}.ai-diff-undo-btn{background:none;border:1px solid var(--border-subtle);border-radius:4px;padding:2px 10px;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer}.ai-diff-undo-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-secondary)}.ai-diff-undo-btn:disabled{opacity:.6;cursor:default}.ai-diff-undo-error{font-size:var(--text-xs);color:var(--danger)}.ai-diff-format-annotation{color:var(--text-tertiary);font-style:italic;font-size:var(--text-2xs);margin-left:.5em}.ai-tool-card-toggle.ai-tool-card--has-list{display:block;padding:4px 10px 6px}.ai-doc-list{list-style:disc;margin:2px 0 0;padding-left:18px;font-weight:var(--font-normal)}.ai-doc-list li{line-height:1.7}.ai-doc-list .ai-tool-card-link{color:inherit}.ai-doc-list-role{opacity:.6;font-size:var(--text-xs)}.ai-doc-list-more{list-style:none;margin-left:-18px;opacity:.6;font-size:var(--text-xs)}.ai-web-results-list{list-style:none;margin:2px 0 0;padding:0;font-weight:var(--font-normal)}.ai-web-results-list li{line-height:1.8}.ai-web-results-list .ai-source-link{color:inherit}.ai-sources-panel{margin-top:4px;padding:0 12px}.ai-sources-toggle{background:none;border:none;padding:2px 0;font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer}.ai-sources-toggle:hover{color:var(--text-secondary)}.ai-sources-list{list-style:none;margin:4px 0 0;padding:0;font-size:var(--text-sm)}.ai-sources-list li{line-height:1.8}.ai-source-link{color:var(--text-link);text-decoration:none;display:inline-flex;align-items:center;gap:5px;max-width:100%}.ai-source-link:hover{text-decoration:underline;text-underline-offset:2px}.ai-source-favicon{width:14px;height:14px;flex-shrink:0}.ai-source-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ai-source-index{font-size:var(--text-xs);opacity:.6;flex-shrink:0}.ai-citation-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;min-width:16px;height:16px;padding:0 3px;margin:0 1px;border-radius:4px;background:var(--surface-selected);color:var(--accent);cursor:default;vertical-align:super;line-height:1}.ai-thinking-block{margin:4px 0}.ai-thinking-label{display:block;padding:2px 0;font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-input{padding:8px 12px;border-top:1px solid var(--border-subtle);flex-shrink:0;max-width:768px;width:100%;margin:0 auto;transition:background-color .15s ease}.ai-panel-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border:2px dashed var(--accent);border-radius:8px;color:var(--accent);font-size:var(--text-lg);font-weight:var(--font-medium);pointer-events:none}.ai-chat-input-inner{display:flex;flex-direction:column;gap:4px}.ai-chat-input-row{display:flex;align-items:flex-end;gap:8px}.ai-chat-ref-strip{display:flex;flex-direction:column;gap:4px;padding:4px 0}.ai-chat-ref-chip{display:flex;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 8px;background:var(--surface-selected);border:1px solid var(--accent-hover);border-left:3px solid var(--accent);border-radius:6px;font-size:var(--text-sm);color:var(--text-secondary)}.ai-chat-ref-icon{flex:0 0 auto;color:var(--accent)}.ai-chat-ref-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-ref-doc{display:inline-block;margin-right:6px;padding:0 5px;border-radius:4px;background:var(--surface-selected);color:var(--accent-active);font-weight:600;font-size:.85em;vertical-align:baseline}.ai-chat-ref-heading{font-weight:600;color:var(--text-link)}.ai-chat-ref-remove{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ai-chat-ref-remove:hover{background:var(--surface-selected);color:var(--accent-active)}.ai-chat-preview-strip{display:flex;gap:6px;padding:4px 0;flex-wrap:wrap}.ai-chat-preview-item{position:relative;width:48px;height:48px;flex-shrink:0}.ai-chat-preview-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--border-subtle)}.ai-chat-preview-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;border:none;background:var(--text-secondary);color:var(--text-inverse);font-size:var(--text-sm);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ai-chat-preview-remove:hover{background:var(--text-primary)}.ai-chat-preview-file{width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary)}.ai-chat-preview-filename{font-size:8px;line-height:1;max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.ai-chat-file-error{font-size:var(--text-sm);color:var(--danger);padding:0 2px}.ai-chat-attach-btn{width:36px;height:36px;min-width:36px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:color .15s ease,background-color .15s ease}.ai-chat-attach-btn:hover{color:var(--accent);background:var(--surface-selected)}.ai-chat-file-input{display:none}.ai-chat-images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.ai-chat-image{max-width:200px;max-height:200px;border-radius:8px;cursor:pointer;object-fit:contain}.ai-chat-bubble--user .ai-chat-image{border:1px solid color-mix(in srgb,var(--on-accent) 20%,transparent)}.ai-chat-file-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:color-mix(in srgb,var(--on-accent) 15%,transparent);border-radius:6px;font-size:var(--text-sm);max-width:200px}.ai-chat-file-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-msg-refs{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.ai-chat-msg-ref{display:flex;align-items:center;gap:6px;padding:4px 8px;background:color-mix(in srgb,var(--on-accent) 15%,transparent);border-left:3px solid color-mix(in srgb,var(--on-accent) 55%,transparent);border-radius:4px;font-size:var(--text-sm);max-width:280px}.ai-chat-msg-ref svg{flex:0 0 auto;opacity:.85}.ai-chat-msg-ref-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-msg-ref-doc{display:inline-block;margin-right:6px;padding:0 5px;border-radius:4px;background:color-mix(in srgb,var(--on-accent) 25%,transparent);font-weight:600;font-size:.85em;vertical-align:baseline}.ai-chat-msg-ref-heading{font-weight:600;opacity:.9}.ai-chat-textarea{flex:1;resize:none;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;padding:8px 12px;font-size:var(--text-lg);font-family:inherit;line-height:var(--leading-normal);min-height:calc(3em + 18px);max-height:120px;overflow-y:auto;outline:none;transition:border-color .15s ease}.ai-chat-textarea:focus{border-color:var(--focus-ring)}.ai-chat-textarea::placeholder{color:var(--text-tertiary)}.ai-chat-send-btn{width:36px;height:36px;min-width:36px;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,opacity .15s ease;padding:0;flex-shrink:0}.ai-chat-send-btn:hover:not(:disabled){background:var(--accent-hover)}.ai-chat-send-btn:disabled{opacity:.4;cursor:default}.ai-chat-send-btn:focus-visible{outline:2px solid var(--on-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}.ai-chat-stop-btn{background:var(--danger)}.ai-chat-stop-btn:hover{background:var(--danger-hover)}.ai-panel-mobile{display:flex;flex-direction:column;background:var(--surface-raised);z-index:200;position:fixed;top:0;left:0;width:100%;height:100dvh}.ai-panel-mobile:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:inherit;z-index:-1}.ai-panel-mobile .ai-panel-header{padding:12px 16px}.ai-panel-mobile .icon-btn{width:36px;height:36px}.ai-panel-mobile .ai-chat-messages{padding:12px 16px}.ai-panel-mobile .ai-chat-input{padding:8px 16px 12px}.ai-panel-mobile .ai-chat-body-welcome{padding:24px 16px}.ai-panel--byok .ai-chat-bubble--user{background:var(--accent-active)}.ai-panel--byok .ai-chat-markdown a{color:var(--accent-active)}.ai-panel--byok .ai-tool-card--running{background:var(--accent-subtle);color:var(--accent-active)}.ai-panel--byok .ai-panel-drop-overlay{border-color:var(--accent-active);color:var(--accent-active)}.ai-panel--byok .ai-chat-attach-btn:hover{color:var(--accent-active);background:var(--surface-selected)}.ai-panel--byok .ai-chat-textarea:focus{border-color:var(--accent-active)}.ai-panel--byok .ai-chat-send-btn{background:var(--accent-active)}.ai-panel--byok .ai-source-link{color:var(--accent-active)}.ai-panel--byok .ai-citation-badge{background:var(--info-subtle);color:var(--accent-active)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface-sunken) 0%,var(--surface-raised) 100%);padding:1rem;font-family:var(--font-sans)}.login-container{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:16px;padding:3rem;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 6px var(--shadow-color)}.login-branding{margin-bottom:2rem}.login-logo-link{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit}.login-logo-link:hover .login-logo{color:var(--accent-hover)}.login-logo{width:56px;height:56px;margin:0 auto .75rem;color:var(--accent);transition:color .2s ease}.login-logo svg{width:100%;height:100%}.login-title{font-size:1.75rem;font-weight:var(--font-bold);color:var(--text-primary);margin:0;letter-spacing:var(--tracking-tight)}.login-subtitle{font-size:var(--text-md);color:var(--text-secondary);margin:.5rem 0 0}.login-headline{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 1.5rem}.login-error{background:var(--danger-subtle);color:var(--danger);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:var(--text-md);border:1px solid var(--danger-border)}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:8px;font-size:var(--text-lg);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;border:none}.google-button{background:var(--surface-raised);color:var(--text-secondary);border:2px solid var(--accent-hover);box-shadow:0 1px 3px var(--shadow-color)}.google-button:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.google-button:active:not(:disabled){background:var(--surface-selected);border-color:var(--accent);transform:translateY(0)}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.google-icon{width:20px;height:20px;flex-shrink:0}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);font-size:var(--text-md);color:var(--text-secondary)}.login-signup-link{color:var(--text-link);text-decoration:none;margin-left:.5rem;font-weight:var(--font-medium);transition:color .2s ease}.login-signup-link:hover{color:var(--text-link);text-decoration:underline}.login-legal{margin-top:1.25rem;font-size:var(--text-sm);color:var(--text-tertiary);display:flex;justify-content:center;align-items:center;gap:.5rem}.login-legal-link{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.login-legal-link:hover{color:var(--text-link);text-decoration:underline}.login-legal-sep{color:var(--text-disabled)}.login-button.loading{position:relative;color:transparent}.login-button.loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 480px){.login-container{padding:2rem}.login-title{font-size:1.5rem}.login-headline{font-size:1.25rem}}.admin-page{grid-row:3;grid-column:1;overflow-y:auto;padding:24px 20px;background:var(--surface-sunken)}.admin-page>.admin-table-wrapper,.admin-page>.admin-loading,.admin-page>.admin-error,.admin-page>.admin-settings-card{max-width:1200px;margin:0 auto}.admin-settings-card{background:var(--surface-raised);border-radius:10px;box-shadow:0 1px 3px var(--shadow-color),0 0 0 1px var(--shadow-color);padding:18px 20px;margin-bottom:20px}.admin-settings-heading h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.admin-settings-heading p{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.admin-settings-control{display:flex;align-items:center;gap:10px;margin-top:14px}.admin-settings-control label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.admin-settings-control select{padding:7px 10px;border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-md);background:var(--surface-raised);color:var(--text-primary);cursor:pointer}.admin-settings-control select:disabled{opacity:.6;cursor:default}.admin-settings-status{font-size:var(--text-sm);color:var(--text-secondary)}.admin-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:48px 0;color:var(--text-secondary)}.admin-error{background:var(--danger-subtle);color:var(--danger-hover);padding:16px 20px;border-radius:8px;text-align:center}.admin-table-wrapper{overflow-x:auto;border-radius:10px;box-shadow:0 1px 3px var(--shadow-color),0 0 0 1px var(--shadow-color);background:var(--surface-raised)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.admin-table th{text-align:left;padding:10px 14px;font-weight:var(--font-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.admin-table tbody tr:hover,.admin-row-expanded{background:var(--surface-sunken)}.admin-row-expanded td{border-bottom:none}.admin-cell-name{display:flex;align-items:center;gap:8px;font-weight:var(--font-medium)}.admin-avatar{width:24px;height:24px;font-size:.72rem}.admin-badge{display:inline-block;font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:var(--surface-selected);color:var(--accent);padding:2px 6px;border-radius:4px;margin-left:4px}.admin-actions{text-align:right}.admin-extra-tag{display:inline-block;font-size:var(--text-xs);color:var(--success);background:var(--success-subtle);padding:1px 5px;border-radius:4px;margin-left:6px;font-weight:var(--font-medium)}.admin-editable{cursor:pointer;border-bottom:1px dashed var(--border-default);padding-bottom:1px}.admin-editable:hover{color:var(--accent);border-bottom-color:var(--accent)}.admin-inline-edit{display:flex;align-items:center;gap:4px}.admin-credit-input{width:65px;font-size:var(--text-base);padding:3px 6px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px}.admin-btn-sm{font-size:var(--text-sm);padding:4px 10px;border:1px solid var(--border-default);border-radius:5px;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.admin-btn-sm:hover{background:var(--surface-hover)}.admin-btn-sm:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.admin-btn-primary:hover{background:var(--accent-hover)}.admin-btn-danger{color:var(--danger-hover);border-color:var(--danger-border)}.admin-btn-danger:hover{background:var(--danger-subtle)}.admin-detail-row td{padding:0 14px 14px;background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}.admin-detail-row:hover{background:unset}.admin-detail{border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);padding:14px}.admin-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px;flex-wrap:wrap}.admin-detail-header h4{margin:0;font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-secondary)}.admin-detail-loading,.admin-detail-empty{padding:12px 0;color:var(--text-tertiary);font-size:var(--text-base)}.admin-detail-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.admin-detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.admin-detail-section h4{margin:0 0 8px;font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-secondary)}.admin-detail-section h5{margin:12px 0 6px;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-secondary)}.admin-trusted-toggle{display:flex;align-items:center;gap:8px;font-size:var(--text-base);color:var(--text-secondary);cursor:pointer}.admin-trusted-toggle input{width:16px;height:16px;cursor:pointer}.admin-credits-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.admin-credits-table th{text-align:left;padding:6px 10px;font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle)}.admin-credits-table td{padding:6px 10px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.admin-credits-table tbody tr:last-child td{border-bottom:none}.admin-credit-inactive{opacity:.5}.admin-status-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.admin-status-active{background:var(--success-subtle);color:var(--success)}.admin-status-depleted{background:var(--surface-sunken);color:var(--text-secondary)}.admin-status-expired{background:var(--danger-subtle);color:var(--danger-hover)}.admin-grant-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.admin-grant-form input{font-size:var(--text-base);padding:4px 8px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px}.admin-grant-amount{width:70px}.admin-grant-memo{width:120px}.admin-grant-expires{width:130px}.admin-grant-error{color:var(--danger-hover);font-size:var(--text-sm);width:100%}.doc-side-pane{grid-column:2;grid-row:2;width:50vw;max-width:700px;min-width:360px;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-raised)}.doc-side-pane-header{padding:8px 12px;min-height:44px;gap:8px}.doc-side-pane-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.doc-side-pane-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.doc-side-pane-editor{flex:1;min-height:0;overflow-y:auto;padding:16px 20px}.doc-side-pane-editor .tiptap{min-height:100%;outline:none}.chat-page{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100vh;overflow:hidden;background:var(--surface-raised)}.chat-page--with-doc{grid-template-columns:1fr auto}.chat-page>.app-header{grid-column:1 / -1;grid-row:1}.chat-page-toolbar{flex-shrink:0;display:flex;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border-subtle)}.chat-page-main{grid-column:1;grid-row:2;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.chat-page-main .ai-chat-messages{flex:1;min-height:0}.chat-page-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border:2px dashed var(--accent);border-radius:8px;color:var(--accent);font-size:var(--text-lg);font-weight:var(--font-medium);pointer-events:none}.chat-page-input-wrap{flex-shrink:0;padding:0 16px 16px;max-width:768px;width:100%;margin:0 auto;box-sizing:border-box}.legal-page{min-height:100vh;background:linear-gradient(135deg,var(--surface-sunken) 0%,var(--surface-raised) 100%);font-family:var(--font-sans);color:var(--text-primary)}.legal-header{display:flex;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised)}.legal-logo-link{display:inline-flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--text-primary)}.legal-logo{width:28px;height:28px;color:var(--accent);display:inline-flex}.legal-logo svg{width:100%;height:100%}.legal-logo-link:hover .legal-logo{color:var(--accent-hover)}.legal-brand{font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.legal-content{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.legal-title{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin:0 0 .5rem}.legal-updated{font-size:var(--text-md);color:var(--text-secondary);margin:0 0 2.5rem}.legal-body{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-secondary)}.legal-body h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:2.5rem 0 .75rem}.legal-body h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:1.75rem 0 .5rem}.legal-body p{margin:0 0 1rem}.legal-body ul{margin:0 0 1rem;padding-left:1.5rem}.legal-body li{margin:0 0 .5rem}.legal-body a{color:var(--text-link);text-decoration:none}.legal-body a:hover{color:var(--text-link);text-decoration:underline}.legal-body strong{color:var(--text-primary);font-weight:var(--font-semibold)}.legal-intro{font-size:var(--text-lg);color:var(--text-secondary)}.legal-footer-nav{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);font-size:var(--text-md);color:var(--text-tertiary);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.legal-footer-nav a{color:var(--text-link);text-decoration:none;font-weight:var(--font-medium)}.legal-footer-nav a:hover{color:var(--text-link);text-decoration:underline}.legal-footer-sep{color:var(--text-disabled)}@media (max-width: 480px){.legal-content{padding:1.5rem 1.25rem 3rem}.legal-title{font-size:var(--text-3xl)}}.panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.icon-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease;padding:0;text-decoration:none}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app-shell{display:flex;flex-direction:column;height:100vh;background-color:var(--surface-raised)}.app-content{display:contents}.app-header{grid-column:1 / -1;min-width:0;background-color:var(--surface-raised);border-bottom:1px solid var(--border-subtle);padding:12px 24px;box-shadow:0 1px 3px var(--shadow-color)}.app-header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.app-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary)}.app-title-input{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);border:none;background:transparent;padding:4px 8px;margin:-4px -8px;border-radius:4px;width:100%;max-width:100%;box-sizing:border-box;transition:background-color .15s ease,box-shadow .15s ease;resize:none;overflow:hidden;overflow-wrap:break-word;word-wrap:break-word;white-space:normal;font-family:inherit;line-height:1.3}.app-title-input:hover{background-color:var(--surface-base)}.app-title-input:focus{outline:none;background-color:var(--surface-raised);box-shadow:0 0 0 2px var(--focus-ring)}.app-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.app-header-left h1{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.back-btn{background:none;border:none;border-radius:6px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;flex-shrink:0;text-decoration:none}.back-btn:hover{background:var(--accent-subtle)}.back-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app-header-right{display:flex;align-items:center;gap:16px}.user-name-input{padding:6px 12px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;font-size:var(--text-lg);min-width:150px}.user-name-input:focus{outline:none;border-color:var(--accent)}.app-body{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;overflow:hidden}.app-body.ai-panel-right{grid-template-columns:1fr auto}.app-body.ai-panel-bottom{grid-template-rows:auto auto 1fr auto}.app-main{grid-row:3;grid-column:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0;max-width:1400px;width:100%;margin:0 auto}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;font-size:var(--text-xl);color:var(--text-secondary);gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body[data-mobile] .app-shell{height:100%;overflow:hidden;position:relative}body[data-mobile] .app-header{position:sticky;top:0;z-index:100}@media (max-width: 768px){.app-header{padding:8px 12px}.app-header-content{gap:8px;max-width:100%}.app-header-left{flex:1;min-width:0}.app-title-input{font-size:var(--text-lg);min-width:0;width:100%;max-width:100%}.app-header-right{gap:8px;flex-wrap:wrap;flex-shrink:0}.back-btn{padding:4px 8px;font-size:var(--text-lg)}.app-main{max-width:100%}@media (max-width: 480px){.app-header-right>div:first-child:not(:only-child):not(.tools-menu-wrapper){display:none}}}.authorize-container{max-width:440px}.authorize-loading-text{color:var(--text-secondary);font-size:var(--text-md);margin:0}.authorize-identity{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.authorize-identity-tile{width:52px;height:52px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--surface-raised);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px var(--shadow-color);flex-shrink:0}.authorize-identity-tile img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.authorize-identity-agent{background:var(--surface-selected);color:var(--accent)}.authorize-connector{display:flex;align-items:center;gap:4px}.authorize-connector-line{width:14px;border-top:2px dotted var(--border-default)}.authorize-connector-check{width:22px;height:22px;border-radius:50%;background:var(--surface-selected);color:var(--accent);display:flex;align-items:center;justify-content:center}.authorize-headline{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0 0 .375rem}.authorize-subtitle{color:var(--text-secondary);font-size:var(--text-md);margin:0 0 1.5rem}.authorize-permissions{text-align:left;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;margin-bottom:1rem}.authorize-permissions-heading{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);padding:.625rem 1rem;margin:0}.authorize-permissions-list{list-style:none;padding:0;margin:0}.authorize-permission-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem}.authorize-permission-item+.authorize-permission-item{border-top:1px solid var(--border-subtle)}.authorize-permission-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--surface-selected);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:1px}.authorize-permission-item strong{display:block;font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px}.authorize-permission-item p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.authorize-existing-note{background:var(--surface-selected);border:1px solid var(--accent-hover);border-radius:8px;padding:.625rem .875rem;margin:0 0 1rem;font-size:var(--text-sm);color:var(--accent-active);text-align:left}.authorize-meta{display:flex;flex-direction:column;gap:.375rem;text-align:left;margin:0 0 1.5rem}.authorize-meta-row{display:flex;align-items:baseline;gap:.75rem;font-size:var(--text-sm)}.authorize-meta-row dt{flex-shrink:0;min-width:88px;color:var(--text-secondary)}.authorize-meta-row dd{margin:0;color:var(--text-primary);word-break:break-all}.authorize-meta-row dd code{font-size:var(--text-sm)}.authorize-redirect-warning{margin:-1rem 0 1.5rem;font-size:var(--text-sm);color:var(--danger);text-align:left}.authorize-buttons{display:flex;gap:.75rem}.authorize-deny-btn{flex:1;padding:.75rem 1.25rem;border:2px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.authorize-deny-btn:hover:not(:disabled){border-color:var(--border-default);background:var(--surface-sunken)}.authorize-approve-btn{flex:1;background:var(--accent);color:var(--on-accent);border:none;font-weight:var(--font-semibold)}.authorize-approve-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.authorize-deny-btn:disabled,.authorize-approve-btn:disabled{opacity:.6;cursor:not-allowed}.authorize-deny-btn:focus-visible,.authorize-approve-btn:focus-visible,.authorize-close-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.authorize-revoke-note{margin:1.25rem 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.authorize-signin-link{text-decoration:none}.authorize-success-icon{width:44px;height:44px;border-radius:50%;background:var(--surface-selected);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.authorize-close-btn{margin-top:1rem;padding:.625rem 1.5rem;border:2px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.authorize-close-btn:hover{border-color:var(--accent-hover);color:var(--accent)}.delegation-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.delegation-list h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.delegation-list ul{list-style:none;padding:0;margin:0}.delegation-card{border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px;margin-bottom:8px}.delegation-header{display:flex;gap:10px;align-items:center}.delegation-header .agent-icon{width:32px;height:32px;flex-shrink:0;border-radius:6px}.delegation-header .agent-icon.default{font-size:var(--text-xl);display:flex;align-items:center;justify-content:center}.agent-info{flex:1;min-width:0}.agent-info strong{font-size:var(--text-md);color:var(--text-primary)}.agent-info .description{font-size:var(--text-base);color:var(--text-secondary);margin-left:8px}.delegation-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-sm);color:var(--text-tertiary);margin-top:6px}.btn-revoke{padding:4px 12px;background:var(--surface-raised);color:var(--danger);border:1px solid var(--danger-border);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-revoke:hover{background:var(--danger-subtle);border-color:var(--danger)}.api-token-section h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.api-token-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.api-token-create-form{display:flex;gap:8px;margin-bottom:12px}.api-token-create-form input{flex:1;padding:6px 10px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-base)}.api-token-create-form button{padding:5px 12px;border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;border:1px solid var(--border-default);background:var(--surface-raised)}.api-token-create-form button[type=submit]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.api-token-create-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.btn-create-token{padding:4px 12px;background:var(--surface-raised);color:var(--accent);border:1px solid var(--accent);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.btn-create-token:hover{background:var(--surface-selected)}.api-token-reveal{background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:8px;padding:14px;margin-bottom:12px}.api-token-reveal-warning{margin:0 0 8px;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--warning)}.api-token-reveal-value{display:block;padding:8px 10px;background:var(--surface-raised);border:1px solid var(--warning-border);border-radius:6px;font-size:var(--text-sm);word-break:break-all;margin-bottom:10px}.api-token-reveal-actions{display:flex;gap:8px}.btn-copy-token{padding:5px 14px;background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer}.btn-copy-token:hover{background:var(--accent-hover)}.btn-done-token{padding:5px 14px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer}.btn-done-token:hover{background:var(--surface-hover)}.api-token-list{list-style:none;padding:0;margin:0}.api-token-card{border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px;margin-bottom:8px}.api-token-header{display:flex;gap:10px;align-items:center}.api-token-info{flex:1;min-width:0}.api-token-info strong{font-size:var(--text-md);color:var(--text-primary)}.api-token-prefix{font-size:var(--text-sm);color:var(--text-tertiary);background:var(--surface-sunken);padding:1px 5px;border-radius:3px;margin-left:8px}.api-token-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-sm);color:var(--text-tertiary);margin-top:6px}.settings-empty-text{font-size:var(--text-base);color:var(--text-tertiary);margin:0}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state h3{font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 12px}.empty-state p{margin:0;font-size:var(--text-md)}.settings-page{grid-row:3;grid-column:1;overflow-y:auto;padding:24px;background:var(--surface-sunken)}.settings-content{max-width:640px;margin:0 auto}.settings-section{background:var(--surface-raised);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px var(--shadow-color)}.settings-section h2{margin:0 0 16px;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.settings-description{font-size:var(--text-base);color:var(--text-secondary);margin:0 0 16px;line-height:var(--leading-normal)}.settings-subsection{padding-top:16px;border-top:1px solid var(--border-subtle);margin-top:16px}.settings-subsection:first-of-type{border-top:none;margin-top:0;padding-top:0}.settings-subsection h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 10px}.mcp-server-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.usage-beta-note{margin-top:16px;margin-bottom:0}.byok-usage-note{color:var(--success);font-weight:var(--font-medium)}.byok-subheading{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:20px 0 8px}.byok-enable-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.byok-enable-row label{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-md)}.byok-enable-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:var(--surface-active);cursor:pointer;padding:0;transition:background .2s ease}.byok-enable-toggle--on{background:var(--accent-active)}.byok-enable-toggle:disabled{opacity:.5;cursor:not-allowed}.byok-enable-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface-raised);box-shadow:0 1px 3px var(--shadow-color);transition:transform .2s ease}.byok-enable-toggle--on .byok-enable-toggle-knob{transform:translate(20px)}.byok-model-select{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-subtle);margin-top:8px}.byok-model-select label{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-md);min-width:50px}.byok-model-dropdown{flex:1;padding:8px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-md);background:var(--surface-raised);color:var(--text-primary);cursor:pointer}.byok-model-dropdown:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.byok-model-dropdown:disabled{opacity:.6;cursor:not-allowed}.byok-key-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0}.byok-key-row+.byok-key-row{border-top:1px solid var(--border-subtle)}.byok-key-row label{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-md);min-width:140px;flex-shrink:0}@media (max-width: 480px){.byok-key-row{flex-direction:column;align-items:stretch}.byok-key-row label{min-width:unset}.byok-model-select{flex-direction:column;align-items:stretch}.byok-model-select label{min-width:unset}}.byok-key-saved{display:flex;align-items:center;gap:8px;flex:1}.byok-key-masked{font-size:var(--text-base);color:var(--success);background:var(--success-subtle);padding:4px 8px;border-radius:4px}.byok-key-clear{padding:4px 10px;background:var(--surface-raised);color:var(--danger);border:1px solid var(--danger-border);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.byok-key-clear:hover{background:var(--danger-subtle);border-color:var(--danger)}.byok-key-clear:disabled{opacity:.5;cursor:not-allowed}.byok-key-input-row{display:flex;align-items:center;gap:8px;flex:1}.byok-key-input{flex:1;padding:6px 10px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-base);font-family:var(--font-mono)}.byok-key-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.byok-key-input:disabled{opacity:.6}.byok-key-save{padding:6px 14px;background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.byok-key-save:hover:not(:disabled){background:var(--accent-hover)}.byok-key-save:disabled{opacity:.5;cursor:not-allowed}.byok-error{color:var(--danger);font-size:var(--text-base);padding:8px 0}.byok-note{margin-top:4px;margin-bottom:0;font-size:var(--text-sm);color:var(--text-tertiary)}.usage-beta-note a{color:var(--text-link)}.support-form{display:flex;flex-direction:column;gap:12px}.support-textarea{width:100%;box-sizing:border-box;padding:10px 12px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-family:inherit;font-size:var(--text-base);line-height:1.5;resize:vertical}.support-textarea:focus{outline:none;border-color:var(--accent)}.support-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.support-error{color:var(--danger);font-size:var(--text-base);margin-right:auto}.support-success{color:var(--success);font-size:var(--text-base);margin-right:auto}.support-submit{padding:8px 18px;background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.support-submit:hover:not(:disabled){background:var(--accent-hover)}.support-submit:disabled{opacity:.5;cursor:not-allowed}.support-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.support-history-item{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-base)}.support-history-date{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:6px}.support-history-message{font-size:var(--text-base);color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.settings-item:last-child{border-bottom:none}.settings-item label{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-md)}.settings-item .settings-value{color:var(--text-primary);font-size:var(--text-md)}.settings-value-editable{display:flex;align-items:center;gap:8px}.settings-edit-btn{background:none;border:none;cursor:pointer;font-size:var(--text-lg);color:var(--text-tertiary);padding:2px 4px;border-radius:4px;transition:color .15s ease,background-color .15s ease}.settings-edit-btn:hover{color:var(--text-primary);background-color:var(--surface-base)}.settings-name-edit{display:flex;align-items:center;gap:8px}.settings-name-input{padding:6px 10px;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-md);min-width:180px;transition:border-color .15s ease}.settings-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.settings-name-save,.settings-name-cancel{padding:6px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.settings-name-save{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.settings-name-save:hover:not(:disabled){background:var(--accent-hover)}.settings-name-save:disabled{opacity:.5;cursor:not-allowed}.settings-name-cancel{background:var(--surface-raised);color:var(--text-secondary)}.settings-name-cancel:hover:not(:disabled){background:var(--surface-base)}.settings-name-cancel:disabled{opacity:.5;cursor:not-allowed}.settings-name-error{color:var(--danger);font-size:var(--text-base);margin-top:4px;width:100%;text-align:right}.settings-btn{padding:8px 12px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--text-2xl);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.settings-btn:hover{background:var(--surface-base);transform:scale(1.05)}.settings-btn:active{transform:scale(.95)}.usage-section-content{min-height:120px}.usage-stats{margin-top:12px}.usage-amounts{display:flex;justify-content:space-between;font-size:var(--text-md);margin-bottom:8px}.usage-used{font-weight:var(--font-semibold);color:var(--text-primary)}.usage-total{color:var(--text-tertiary)}.usage-bar-track{height:8px;background:var(--surface-sunken);border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;background:var(--info);border-radius:4px;transition:width .3s ease}.usage-bar-fill.usage-bar-exceeded{background:var(--danger)}.usage-footer{display:flex;justify-content:space-between;font-size:var(--text-base);color:var(--text-secondary);margin-top:6px}.mcp-url-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mcp-url{display:inline-block;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);word-break:break-all}.btn-copy-mcp{padding:4px 12px;background:var(--surface-raised);color:var(--accent);border:1px solid var(--accent);border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.btn-copy-mcp:hover{background:var(--surface-selected)}.connect-buttons{display:flex;gap:8px;flex-wrap:wrap}.connect-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--surface-raised);color:var(--accent);border:1px solid var(--accent);text-decoration:none;border-radius:6px;font-size:var(--text-base);font-weight:var(--font-medium);transition:all .15s ease;cursor:pointer}.connect-btn:hover{background:var(--surface-selected)}.external-icon{flex-shrink:0;opacity:.7}.ai-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;border:none;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px var(--accent-glow);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;z-index:150}.ai-fab:hover{background:var(--accent-hover);transform:scale(1.05);box-shadow:0 4px 14px var(--accent-glow)}.ai-fab:active{transform:scale(.95)}.ai-fab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring),0 2px 8px var(--accent-glow)}.ai-fab--active{background:var(--accent-hover);box-shadow:0 4px 14px var(--accent-glow)}:root{--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 2rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, "Courier New", monospace}:root{color-scheme:light;--violet-600: #7c3aed;--violet-700: #6d28d9;--violet-50: #f5f3ff;--violet-100: #ede9fe;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--amber-500: #f59e0b;--blue-selection: #7aa7ff;--red-600: #dc2626;--amber-700: #92400e;--green-600: #16a34a;--blue-600: #2563eb;--white: #ffffff;--black: #000000;--surface-base: var(--gray-100);--surface-raised: var(--white);--surface-overlay: var(--white);--surface-sunken: var(--gray-50);--surface-hover: var(--gray-100);--surface-active: var(--gray-200);--surface-selected: var(--violet-50);--text-primary: #333;--text-secondary: var(--gray-500);--text-tertiary: var(--gray-400);--text-disabled: var(--gray-300);--text-inverse: var(--white);--text-link: var(--violet-600);--border-subtle: var(--gray-200);--border-default: var(--gray-300);--border-strong: var(--gray-400);--focus-ring: var(--violet-600);--accent: var(--violet-600);--accent-hover: var(--violet-700);--accent-active: var(--violet-700);--accent-subtle: var(--violet-50);--on-accent: var(--white);--danger: var(--red-600);--danger-hover: #b91c1c;--danger-subtle: #fef2f2;--danger-border: #fecaca;--success: var(--green-600);--success-subtle: #ecfdf5;--success-border: #bbf7d0;--warning: var(--amber-700);--warning-subtle: #fffbeb;--warning-border: #fde68a;--info: var(--blue-600);--info-subtle: #eff6ff;--info-border: #bfdbfe;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-color: rgba(0, 0, 0, .1);--accent-glow: rgba(124, 58, 237, .25);--backdrop: rgba(0, 0, 0, .4);--canvas-bg: var(--white);--canvas-text: #333;--canvas-text-muted: var(--gray-500);--canvas-border: var(--gray-200);--canvas-code-bg: var(--gray-50);--canvas-th-bg: #f5f5f5;--canvas-link: #2563eb;--canvas-selection-bg: rgba(74, 144, 226, .2);--canvas-media-plate: var(--white);--canvas-mermaid-filter: none;--canvas-diff-add-bg: rgba(46, 160, 67, .3);--canvas-diff-del-bg: rgba(215, 58, 73, .15);--presence-label-text: #ffffff;--presence-chip-overlay: rgba(255, 255, 255, .2);--presence-avatar-bg: #ffffff;--presence-ring: rgba(0, 0, 0, .35)}:root[data-theme=dark]{color-scheme:dark;--surface-base: #0f1115;--surface-raised: #1a1d23;--surface-overlay: #21252c;--surface-sunken: #14171c;--surface-hover: #262b33;--surface-active: #2f353f;--surface-selected: #2f2a45;--text-primary: #e6e8eb;--text-secondary: #aab1bb;--text-tertiary: #838a94;--text-disabled: #565c66;--text-inverse: #14171c;--text-link: #b79dff;--border-subtle: #2a2f37;--border-default: #3a414b;--border-strong: #626b7a;--focus-ring: #b79dff;--accent: #9a72f7;--accent-hover: #a78bfa;--accent-active: #a78bfa;--accent-subtle: #2f2a45;--on-accent: #14171c;--danger: #f87171;--danger-hover: #fca5a5;--danger-subtle: #3a1d1d;--danger-border: #5b2a2a;--success: #4ade80;--success-subtle: #16351f;--success-border: #2a5a38;--warning: #fbbf24;--warning-subtle: #3a2e12;--warning-border: #5c4a1e;--info: #60a5fa;--info-subtle: #16263a;--info-border: #2a4463;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-color: rgba(0, 0, 0, .55);--accent-glow: rgba(139, 92, 246, .45);--backdrop: rgba(0, 0, 0, .6);--canvas-bg: #17191d;--canvas-text: #e6e8eb;--canvas-text-muted: #aab1bb;--canvas-border: #2f353f;--canvas-code-bg: #0f1115;--canvas-th-bg: #21252c;--canvas-link: #6ea8ff;--canvas-selection-bg: rgba(96, 165, 250, .28);--canvas-mermaid-filter: invert(.92) hue-rotate(180deg);--canvas-diff-add-bg: rgba(74, 222, 128, .22);--canvas-diff-del-bg: rgba(248, 113, 113, .22);--presence-ring: rgba(255, 255, 255, .55)}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--surface-base: #0f1115;--surface-raised: #1a1d23;--surface-overlay: #21252c;--surface-sunken: #14171c;--surface-hover: #262b33;--surface-active: #2f353f;--surface-selected: #2f2a45;--text-primary: #e6e8eb;--text-secondary: #aab1bb;--text-tertiary: #838a94;--text-disabled: #565c66;--text-inverse: #14171c;--text-link: #b79dff;--border-subtle: #2a2f37;--border-default: #3a414b;--border-strong: #626b7a;--focus-ring: #b79dff;--accent: #9a72f7;--accent-hover: #a78bfa;--accent-active: #a78bfa;--accent-subtle: #2f2a45;--on-accent: #14171c;--danger: #f87171;--danger-hover: #fca5a5;--danger-subtle: #3a1d1d;--danger-border: #5b2a2a;--success: #4ade80;--success-subtle: #16351f;--success-border: #2a5a38;--warning: #fbbf24;--warning-subtle: #3a2e12;--warning-border: #5c4a1e;--info: #60a5fa;--info-subtle: #16263a;--info-border: #2a4463;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-color: rgba(0, 0, 0, .55);--accent-glow: rgba(139, 92, 246, .45);--backdrop: rgba(0, 0, 0, .6);--canvas-bg: #17191d;--canvas-text: #e6e8eb;--canvas-text-muted: #aab1bb;--canvas-border: #2f353f;--canvas-code-bg: #0f1115;--canvas-th-bg: #21252c;--canvas-link: #6ea8ff;--canvas-selection-bg: rgba(96, 165, 250, .28);--canvas-mermaid-filter: invert(.92) hue-rotate(180deg);--canvas-diff-add-bg: rgba(74, 222, 128, .22);--canvas-diff-del-bg: rgba(248, 113, 113, .22);--presence-ring: rgba(255, 255, 255, .55)}}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--canvas-bg: #ffffff;--canvas-text: #333;--canvas-text-muted: #6b7280;--canvas-border: #e5e7eb;--canvas-code-bg: #f9fafb;--canvas-th-bg: #f5f5f5;--canvas-link: #2563eb;--canvas-selection-bg: rgba(74, 144, 226, .2);--canvas-media-plate: #ffffff;--canvas-mermaid-filter: none;--canvas-diff-add-bg: rgba(46, 160, 67, .3);--canvas-diff-del-bg: rgba(215, 58, 73, .15)}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-base)}code{font-family:var(--font-mono)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{height:100%;display:flex;flex-direction:column}html:has(body[data-mobile][data-view=editor]),html:has(body[data-mobile][data-view=versions]){overflow:hidden;position:fixed;width:100%;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body[data-mobile][data-view=editor],body[data-mobile][data-view=versions]{overflow:hidden;position:fixed;width:100%;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body[data-mobile][data-view=editor] #root,body[data-mobile][data-view=versions] #root{overflow:hidden;position:relative}
