@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Pacifico&display=swap";:root{--primary-color: #1a73e8;--primary-hover: #155db5;--bg-color: #f8f9fa;--bg-surface: rgba(255, 255, 255, .75);--text-color: #202124;--text-secondary: #5f6368;--border-color: rgba(0, 0, 0, .08);--ai-bubble-color: rgba(255, 255, 255, .85);--user-bubble-color: rgba(210, 227, 252, .85);--input-bg: rgba(255, 255, 255, .65);--toggle-bg: rgba(0, 0, 0, .05);--toggle-active-bg: rgba(255, 255, 255, .9);--toggle-active-shadow: rgba(0, 0, 0, .05);--modal-shadow: rgba(0, 0, 0, .1);--overlay-bg: rgba(255, 255, 255, .4);--code-inline-bg: rgba(0, 0, 0, .05);--blockquote-bg: rgba(0, 0, 0, .03);--blockquote-color: #5f6368;--spinner-border: #e0e0e0;--warning-bg: #fff3e0;--warning-border: #f9a825;--warning-text: #e65100;--error-bg: #fce8e6;--error-border: #d93025;--error-text: #d93025;--btn-secondary-bg: rgba(0, 0, 0, .04);--btn-secondary-hover: rgba(0, 0, 0, .08);--focus-ring: rgba(26, 115, 232, .15);--hover-bg: rgba(0, 0, 0, .04);--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-track: transparent;--grad-1: #e0c3fc;--grad-2: #8ec5fc;--grad-3: #f5f7fa}[data-theme=dark]{--primary-color: #8ab4f8;--primary-hover: #aecbfa;--bg-color: #0f172a;--bg-surface: rgba(15, 23, 42, .65);--text-color: #e8eaed;--text-secondary: #9aa0a6;--border-color: rgba(255, 255, 255, .08);--ai-bubble-color: rgba(30, 41, 59, .85);--user-bubble-color: rgba(56, 189, 248, .15);--input-bg: rgba(30, 41, 59, .65);--toggle-bg: rgba(255, 255, 255, .05);--toggle-active-bg: rgba(255, 255, 255, .1);--toggle-active-shadow: rgba(0, 0, 0, .3);--modal-shadow: rgba(0, 0, 0, .5);--overlay-bg: rgba(0, 0, 0, .6);--code-inline-bg: rgba(255, 255, 255, .1);--blockquote-bg: rgba(255, 255, 255, .05);--blockquote-color: #9aa0a6;--spinner-border: #3c4043;--warning-bg: #3e2a0a;--warning-border: #f9a825;--warning-text: #fbbf24;--error-bg: #3e1a1a;--error-border: #ef5350;--error-text: #ef5350;--btn-secondary-bg: rgba(255, 255, 255, .05);--btn-secondary-hover: rgba(255, 255, 255, .1);--focus-ring: rgba(138, 180, 248, .25);--hover-bg: rgba(255, 255, 255, .05);--scrollbar-thumb: rgba(255, 255, 255, .2);--scrollbar-track: transparent;--grad-1: #1e1b4b;--grad-2: #0f172a;--grad-3: #172554}body,html{margin:0;padding:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100%;color:var(--text-color);overflow:hidden;transition:color .3s ease;background-color:var(--bg-color);position:relative}body:before,body:after{content:"";position:fixed;border-radius:50%;filter:blur(100px);opacity:.4;z-index:-1;pointer-events:none;animation:blobFloat 20s ease-in-out infinite}body:before{width:600px;height:600px;background:var(--grad-1);top:-10%;right:-5%;animation-delay:0s}body:after{width:500px;height:500px;background:var(--grad-2);bottom:-10%;left:-5%;animation-delay:-10s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}.app-container,.top-bar,.modal-content,.input-wrapper,.canvas-chat-box,.canvas-toolbox,.message,.settings-btn,.theme-toggle-btn,.toggle-btn,.btn,#chat-view{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}#root{height:100%}.app-container{display:flex;height:100vh;overflow:hidden}.main-area{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.top-bar{background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;height:60px;box-sizing:border-box;position:relative;z-index:110}.logo{font-weight:600;font-size:1.2rem}.top-bar-left{display:flex;align-items:center;gap:12px;min-width:0}.sidebar-toggle-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .3s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-toggle-btn .collapse-icon{transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-toggle-btn:hover .collapse-icon{transform:translate(-2px)}.chat-title-display{font-weight:600;font-size:1.1rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.chat-title-project-btn{background:none;border:none;padding:4px 8px;margin:-4px -8px;border-radius:8px;cursor:pointer;text-align:left;transition:background-color .2s ease,color .2s ease}.chat-title-project-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.topbar-project-group{display:flex;align-items:center;gap:8px}.topbar-save-wrap{position:relative}.topbar-save-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border-color);border-radius:8px;padding:5px 10px;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.topbar-save-btn:hover{background-color:var(--hover-bg);color:var(--primary-color);border-color:var(--primary-color)}.topbar-save-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:120;display:flex;gap:6px;padding:8px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #00000026;animation:popoverFadeInScale .18s ease}.topbar-save-popover input{width:180px;background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-size:.85rem;font-family:inherit;outline:none}.topbar-save-popover input:focus{border-color:var(--primary-color)}.topbar-save-popover-btn{background:var(--primary-color);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.topbar-save-popover-btn:disabled{opacity:.5;cursor:not-allowed}.mode-toggle-container{background-color:var(--toggle-bg);border-radius:12px;padding:3px;display:grid;grid-template-columns:1fr 1fr;position:relative;border:1px solid var(--border-color)}.toggle-pill{position:absolute;top:3px;left:3px;height:calc(100% - 6px);width:calc(50% - 3px);background:var(--toggle-active-bg);border-radius:10px;box-shadow:0 1px 4px #00000014,0 0 1px #0000000a;transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:0}.toggle-pill.active-image{transform:translate(100%)}[data-theme=dark] .toggle-pill{box-shadow:0 1px 6px #0000004d,0 0 1px #ffffff0f}.toggle-btn{background:none;border:none;padding:8px 16px;border-radius:10px;cursor:pointer;font-family:inherit;font-weight:500;font-size:.88rem;color:var(--text-secondary);transition:color .25s ease;position:relative;z-index:1;-webkit-user-select:none;user-select:none;white-space:nowrap;text-align:center}.toggle-btn.active{color:var(--primary-color);font-weight:600}.top-bar-actions{display:flex;align-items:center;gap:6px}.theme-toggle-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;transition:color .3s ease,transform .2s ease;position:relative}.theme-toggle-btn:hover{color:var(--primary-color);transform:scale(1.1)}.theme-icon-wrapper{position:relative;width:18px;height:18px}.theme-icon-wrapper .icon-sun,.theme-icon-wrapper .icon-moon{position:absolute;top:0;left:0;transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}.theme-icon-wrapper .icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-icon-wrapper .icon-moon{opacity:0;transform:rotate(-90deg) scale(.5)}.theme-icon-wrapper.dark .icon-sun{opacity:0;transform:rotate(90deg) scale(.5)}.theme-icon-wrapper.dark .icon-moon{opacity:1;transform:rotate(0) scale(1)}.settings-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.settings-btn svg{transition:transform .4s ease}.settings-btn:hover{color:var(--primary-color)}.settings-btn:hover svg{transform:rotate(90deg)}.controls-toggle-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease,box-shadow .3s ease}.controls-toggle-btn:hover{background-color:var(--hover-bg);color:var(--primary-color);box-shadow:0 0 10px #1a73e81f}[data-theme=dark] .controls-toggle-btn:hover{box-shadow:0 0 10px #8ab4f826}.sidebar-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:119;opacity:1;transition:opacity .3s ease}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:120;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 8px #0000000d}.sidebar.open{transform:translate(0)}.sidebar-edge-toggle{position:absolute;right:-36px;top:16px;width:36px;height:36px;background:var(--bg-surface);border:1px solid var(--border-color);border-left:none;border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;z-index:60;box-shadow:2px 0 8px #0000000d;transition:all .2s ease}.sidebar-edge-toggle:hover{color:var(--text-color);background:var(--hover-bg)}@media (min-width: 768px){.sidebar.open{position:relative;transform:none;box-shadow:none;z-index:auto;flex-shrink:0}.app-container:has(.sidebar.open){display:flex}.app-container:has(.sidebar.open) .main-area{flex:1;min-width:0}.sidebar.open+.sidebar-backdrop,.app-container:has(.sidebar.open) .sidebar-backdrop{display:none!important}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-brand{font-weight:700}.main-area.sidebar-closed .top-bar{padding-left:48px}.sidebar-new-chat-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.sidebar-new-chat-btn.full-width-btn{margin:16px 16px 4px;width:calc(100% - 32px);justify-content:center}.sidebar-new-chat-btn:hover{background-color:var(--primary-hover)}.sidebar-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.sidebar-close-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.sidebar-pin-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.sidebar-pin-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-pin-btn.pinned{color:var(--primary-color)}.sidebar-new-folder-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.sidebar-new-folder-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-import-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.sidebar-import-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-export-all-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.sidebar-export-all-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-search{position:relative;padding:12px 16px;flex-shrink:0}.sidebar-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.sidebar-search-input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;font-family:inherit;background:var(--bg-color);color:var(--text-color);outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.sidebar-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.sidebar-search-clear{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.sidebar-search-clear:hover{background-color:var(--hover-bg)}.sidebar-chat-list{flex:1;overflow-y:auto;padding:4px 8px}.sidebar-empty{text-align:center;color:var(--text-secondary);font-size:.85rem;padding:32px 16px;line-height:1.5}.chat-item{display:flex;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .15s ease;gap:8px;position:relative}.chat-item:hover{background-color:var(--hover-bg)}.chat-item.active{background-color:var(--user-bubble-color)}.chat-item.pinned{background-color:var(--hover-bg);border-left:3px solid var(--primary-color)}.chat-item.pinned:hover{background-color:var(--btn-secondary-hover)}.chat-item-pin-icon{margin-right:6px;flex-shrink:0;display:inline-flex;align-items:center;vertical-align:middle;color:var(--text-secondary)}.chat-item-content{flex:1;min-width:0}.chat-item-title{font-size:.88rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-time{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.chat-item-rename-input{width:100%;padding:2px 6px;border:1px solid var(--primary-color);border-radius:4px;font-size:.88rem;font-family:inherit;background:var(--bg-surface);color:var(--text-color);outline:none;box-shadow:0 0 0 2px var(--focus-ring);box-sizing:border-box}.chat-item-menu-wrapper{position:relative;flex-shrink:0}.chat-item-menu-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background-color .15s ease}.chat-item:hover .chat-item-menu-btn{opacity:1}.chat-item-menu-btn:hover{background-color:var(--btn-secondary-hover);color:var(--text-color)}.chat-item-menu{position:absolute;top:100%;right:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px;padding:4px;animation:menuSlideIn .15s ease-out}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-item-menu-action{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-color);font-size:.85rem;font-family:inherit;cursor:pointer;border-radius:6px;transition:background-color .15s ease}.chat-item-menu-action:hover{background-color:var(--hover-bg)}.chat-item-menu-danger{color:var(--error-text)}.chat-item-menu-danger:hover{background-color:var(--error-bg)}.welcome-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.welcome-content{text-align:center;max-width:500px}.welcome-title{font-size:2.4rem;font-weight:300;letter-spacing:-.01em;color:var(--primary-color);margin:0 0 8px}.welcome-subtitle{font-size:1rem;color:var(--text-secondary);margin:0 0 32px}.welcome-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.welcome-suggestion-btn{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);color:var(--text-color);font-size:.88rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;text-align:left}.welcome-suggestion-btn:hover{background-color:var(--hover-bg);border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.suggestion-icon{font-size:1.2rem;flex-shrink:0}.suggestion-text{line-height:1.4}.chat-empty-message{text-align:center;color:var(--text-secondary);font-size:.9rem;padding:40px 20px}.content-area{flex-grow:1;position:relative;overflow:hidden}.view-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column}.mode-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;animation:viewFadeIn .28s ease}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}#chat-view{background-color:transparent}.chat-history{flex-grow:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message-row{display:flex;align-items:flex-start;gap:10px;animation:messageAppear .3s ease-out}.message-row-ai{justify-content:flex-start}.message-row-user{justify-content:flex-end;flex-direction:row-reverse}@keyframes messageAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:background-color .2s ease}.message-avatar-ai{background:linear-gradient(135deg,var(--primary-color),#7c3aed);color:#fff}.message-avatar-user{background:var(--user-bubble-color);color:var(--primary-color);border:1px solid var(--primary-color)}.message-row-user .message-avatar{order:2}.message{max-width:70%;padding:10px 16px;border-radius:18px;line-height:1.5;position:relative;font-size:.95rem;box-shadow:0 1px 2px #0000000d}.ai-message{background-color:var(--bg-surface);color:var(--text-color);border-bottom-left-radius:4px;border:1px solid var(--border-color)}[data-theme=dark] .ai-message{background-color:#2c2c2e;border-color:#ffffff0d}.user-message{background-color:#007aff;color:#fff;border-bottom-right-radius:4px;border:none}.message-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.message-sender-name{font-size:.78rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.ai-message .message-sender-name{color:var(--primary-color)}.message-body{line-height:1.5}.message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:8px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.75rem;font-weight:500;color:#fff;max-width:120px;transition:transform .15s ease,opacity .15s ease}.tag-chip-small{padding:2px 6px;font-size:.7rem;border-radius:10px;max-width:100px}.tag-chip-interactive:hover{transform:scale(1.05);opacity:.9}.tag-chip-clickable{cursor:pointer}.tag-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip-remove{display:flex;align-items:center;justify-content:center;background:#ffffff4d;border:none;border-radius:50%;width:14px;height:14px;min-width:14px;padding:0;cursor:pointer;color:#fff;transition:background-color .15s ease;flex-shrink:0}.tag-chip-remove:hover{background:#ffffff80}.tag-input-container{position:relative;width:100%}.tag-input-wrapper{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);min-height:32px}.tag-input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.tag-input-field{flex:1;min-width:80px;border:none;background:transparent;color:var(--text-color);font-size:.85rem;font-family:inherit;outline:none;padding:2px 0}.tag-input-field::placeholder{color:var(--text-secondary)}.tag-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto}.tag-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-color);font-size:.85rem;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s ease}.tag-dropdown-item:hover,.tag-dropdown-item.selected{background-color:var(--hover-bg)}.tag-dropdown-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tag-dropdown-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-dropdown-count{color:var(--text-secondary);font-size:.75rem}.tag-dropdown-empty{padding:12px 16px;color:var(--text-secondary);font-size:.85rem;text-align:center}.tag-create-option{border-top:1px solid var(--border-color);color:var(--primary-color)}.tag-create-option svg{flex-shrink:0}.tag-color-picker{padding:12px}.tag-color-picker-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.tag-color-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tag-color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.tag-color-option:hover{transform:scale(1.1)}.tag-color-option.selected{border-color:var(--text-color);transform:scale(1.1)}.tag-color-preview{margin-bottom:12px;display:flex;justify-content:center}.tag-color-confirm{width:100%;padding:8px 16px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.tag-color-confirm:hover{background-color:var(--primary-hover)}.tag-submenu-list{max-height:250px;overflow-y:auto}.tag-current-list{padding:4px 0;border-bottom:1px solid var(--border-color);margin-bottom:4px}.tag-current-item{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:.82rem}.tag-current-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tag-current-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-remove-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:background-color .15s ease,color .15s ease}.tag-remove-btn:hover{background-color:var(--error-bg);color:var(--error-text)}.tag-add-input-wrapper{padding:4px 8px}.tag-add-input{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:.82rem;font-family:inherit;background:var(--bg-color);color:var(--text-color);outline:none}.tag-add-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.tag-available-list{padding:4px 0;border-top:1px solid var(--border-color);margin-top:4px}.tag-available-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;background:none;color:var(--text-color);font-size:.82rem;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s ease}.tag-available-item:hover{background-color:var(--hover-bg)}.tag-available-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tags-section{padding:8px;border-bottom:1px solid var(--border-color)}.tags-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;margin-bottom:6px}.tags-section-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.tags-list{display:flex;flex-wrap:wrap;gap:6px}.tags-empty{font-size:.8rem;color:var(--text-secondary);padding:4px 8px}.message-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:2px;box-shadow:0 1px 4px #0000001a}.message:hover .message-actions{opacity:1}.message-action-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.message-action-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.message-action-delete:hover{color:#d93025}[data-theme=dark] .message-action-delete:hover{color:#ef5350}.rating-buttons{display:flex;gap:2px;margin-right:4px;padding-right:6px;border-right:1px solid var(--border-color)}.rating-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.rating-btn:hover{background-color:var(--hover-bg);color:var(--primary-color)}.rating-btn.rating-up.active{color:#16a34a}.rating-btn.rating-down.active{color:#dc2626}[data-theme=dark] .rating-btn.rating-up.active{color:#22c55e}[data-theme=dark] .rating-btn.rating-down.active{color:#ef4444}.generation-stopped-indicator{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px;color:var(--warning-text);font-size:.78rem;font-weight:500}.generation-stopped-indicator svg{flex-shrink:0}[data-theme=dark] .generation-stopped-indicator{background:#fbbf241a;border-color:#fbbf244d}.sources-section{margin-top:12px;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--bg-color)}.sources-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-family:inherit;font-size:.82rem;transition:background-color .15s ease,color .15s ease}.sources-toggle:hover{background-color:var(--hover-bg);color:var(--primary-color)}.sources-chevron{transition:transform .2s ease;flex-shrink:0}.sources-chevron.expanded{transform:rotate(90deg)}.sources-label{font-weight:500;display:inline-flex;align-items:center;gap:6px}.sources-count{font-weight:400;opacity:.7;margin-left:2px}.sources-content{padding:0 12px 10px;border-top:1px solid var(--border-color)}.source-item{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color)}.source-item:last-child{border-bottom:none}.source-number{font-size:.78rem;font-weight:600;color:var(--primary-color);flex-shrink:0}.source-details{flex:1;min-width:0}.source-title{display:block;font-size:.85rem;font-weight:500;color:var(--primary-color);text-decoration:none;word-break:break-word}.source-title:hover{text-decoration:underline}.source-snippet{margin:4px 0 0;font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.message-timestamp{font-size:.72rem;color:var(--text-secondary);opacity:0;transition:opacity .15s ease;white-space:nowrap}.message:hover .message-timestamp{opacity:1}.edit-message-container{display:flex;flex-direction:column;gap:8px}.edit-message-textarea{width:100%;min-height:60px;padding:8px 12px;border:1px solid var(--primary-color);border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.5;background:var(--bg-surface);color:var(--text-color);outline:none;resize:vertical;box-sizing:border-box;box-shadow:0 0 0 2px var(--focus-ring)}.edit-message-actions{display:flex;gap:8px;justify-content:flex-end}.edit-message-save{padding:6px 14px;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.edit-message-save:hover{background-color:var(--primary-hover)}.edit-message-cancel{padding:6px 14px;background-color:var(--btn-secondary-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.edit-message-cancel:hover{background-color:var(--btn-secondary-hover)}.scroll-to-bottom-btn{position:absolute;bottom:90px;left:50%;transform:translate(-50%);z-index:10;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);box-shadow:0 2px 8px #00000026;transition:background-color .2s ease,color .2s ease,transform .2s ease}.scroll-to-bottom-btn:hover{background:var(--hover-bg);color:var(--primary-color);transform:translate(-50%) scale(1.1)}.stop-generation-btn{display:flex;align-items:center;gap:6px;margin:0 auto 10px;padding:6px 16px;background:var(--btn-secondary-bg);border:1px solid var(--border-color);border-radius:20px;color:var(--text-color);font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.stop-generation-btn:hover{background:var(--btn-secondary-hover);border-color:var(--text-secondary)}.error-message{border:1px solid var(--error-border)!important;background-color:var(--error-bg)!important;color:var(--error-text)!important}.confirm-dialog-content{max-width:400px}.confirm-dialog-message{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-color)}.confirm-dialog-handle{display:none;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:0 auto 12px}.btn-danger{background-color:var(--error-text);color:#fff}.btn-danger:hover{background-color:#c5221f;box-shadow:0 1px 3px #0003}.toast-container{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.toast-notification{font-size:.88rem;border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #00000026;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.input-area{padding:20px 20px 30px;background:transparent;border:none;display:flex;flex-direction:column;align-items:center}.input-wrapper{display:flex;background:var(--input-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:28px;padding:6px 8px 6px 6px;align-items:center;width:100%;max-width:800px;box-shadow:0 4px 16px #0000000f,0 1px 3px #0000000a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;gap:4px}.input-wrapper:focus-within{transform:translateY(-1px);box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f;border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color))}#chat-input{flex:1;border:none;background:none;resize:none;box-sizing:border-box;height:44px;min-height:44px;max-height:120px;padding:10px 8px;font-family:inherit;font-size:.95rem;line-height:1.5;color:var(--text-color);outline:none}#chat-input::placeholder{color:var(--text-secondary);opacity:.6;line-height:inherit}#send-chat-btn{background-color:var(--primary-color);color:#fff;border:none;width:0;min-width:0;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1),width .25s ease,min-width .25s ease,margin-left .25s ease;opacity:0;transform:scale(.5);pointer-events:none;margin-left:0;overflow:hidden}#send-chat-btn.visible{width:36px;min-width:36px;opacity:1;transform:scale(1);pointer-events:auto;margin-left:4px}#send-chat-btn.visible:hover{background-color:var(--primary-hover);transform:scale(1.08)}#send-chat-btn.visible:active{transform:scale(.95)}.chat-input-controls{display:flex;align-items:center;flex-shrink:0}.chat-input-controls>*{margin-left:4px}.chat-input-controls>*:first-child{margin-left:0}.theme-icon-wrapper,.controls-toggle-btn{border:none!important;background:transparent!important;box-shadow:none!important}.empty-chat-state{justify-content:center!important}.empty-chat-state .centered-chat-container{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.empty-chat-state .chat-history{flex-grow:0!important;overflow:visible}.empty-chat-state .input-area{background:transparent;border-top:none;box-shadow:none;margin:0 auto;width:100%;max-width:800px;padding-bottom:5vh}.empty-chat-state:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(58% 42% at 50% 58%,#3884ff38,#3884ff00 72%),radial-gradient(90% 70% at 50% 88%,#7dafff33,#7dafff00 70%)}.empty-chat-state .centered-chat-container,.empty-chat-state .chat-history{position:relative;z-index:1}[data-theme=dark] .empty-chat-state:before{background:radial-gradient(58% 42% at 50% 58%,#3884ff29,#3884ff00 72%),radial-gradient(90% 70% at 50% 90%,#508cff1f,#508cff00 72%)}@media (min-width: 768px){.empty-chat-state .welcome-screen{width:100%}.empty-chat-state .welcome-content{width:100%;max-width:760px}.empty-chat-state .input-wrapper{max-width:760px}}.welcome-suggestions-vertical{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 600px){.welcome-suggestions-vertical{grid-template-columns:1fr}}.welcome-suggestion-btn-vertical{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);color:var(--text-color);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;text-align:left}.welcome-suggestion-btn-vertical:hover{background-color:var(--hover-bg);border-color:var(--primary-color)}.welcome-suggestion-btn-vertical .suggestion-icon{display:flex;color:var(--primary-color)}.thin-btn{padding:6px 12px!important;font-size:.85rem!important}.model-selector-dropdown{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:20px;padding:6px 28px 6px 12px;font-size:.82rem;font-weight:500;font-family:inherit;outline:none;cursor:pointer;transition:all .2s ease;max-width:140px;text-overflow:ellipsis}[data-theme=dark] .model-selector-dropdown{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.model-selector-dropdown:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1a73e826}[data-theme=dark] .model-selector-dropdown:focus{box-shadow:0 0 0 2px #8ab4f826}.model-selector-dropdown:disabled{opacity:.5;cursor:not-allowed}.model-selector{position:relative;display:inline-flex}.model-selector-trigger{display:inline-flex;align-items:center;gap:6px;background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:20px;padding:6px 10px 6px 12px;font-size:.82rem;font-weight:500;font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;max-width:180px}.model-selector-trigger:hover:not(:disabled){border-color:var(--primary-color);background-color:var(--hover-bg)}.model-selector-trigger:disabled{opacity:.5;cursor:not-allowed}.model-selector.open .model-selector-trigger{border-color:var(--primary-color);box-shadow:0 0 0 2px #1a73e826}[data-theme=dark] .model-selector.open .model-selector-trigger{box-shadow:0 0 0 2px #8ab4f826}.model-selector-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-selector-menu-icon{flex-shrink:0;transition:transform .2s ease}.model-selector.open .model-selector-menu-icon{transform:rotate(90deg)}.model-selector-menu{position:fixed;box-sizing:border-box;min-width:200px;max-width:280px;max-height:320px;overflow-y:auto;background:#ffffffeb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-color);border-radius:14px;padding:6px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:120;animation:popoverIn .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .model-selector-menu{background:#1e293bf0;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.model-selector-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;border:none;background:none;border-radius:10px;cursor:pointer;color:var(--text-color);font-size:.85rem;font-family:inherit;text-align:left;transition:background-color .15s ease}.model-selector-option:hover{background-color:var(--hover-bg)}.model-selector-option.selected{color:var(--primary-color);font-weight:600}.model-selector-option-check{flex-shrink:0;color:var(--primary-color)}.model-selector-empty{padding:9px 12px;font-size:.85rem;color:var(--text-secondary);font-style:italic}.plus-btn-wrapper{position:relative}.upload-popover{position:absolute;bottom:calc(100% + 8px);left:0;background:#ffffffeb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-color);border-radius:14px;padding:6px;min-width:200px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:100;animation:popoverIn .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .upload-popover{background:#1e293bf0;box-shadow:0 8px 32px #0006,0 2px 8px #0003}@keyframes popoverIn{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.upload-popover-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:none;width:100%;border-radius:10px;cursor:pointer;color:var(--text-color);font-size:.88rem;font-family:inherit;font-weight:500;transition:background-color .15s ease;white-space:nowrap}.upload-popover-item:hover{background-color:var(--hover-bg)}.upload-popover-item .popover-icon{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:var(--text-secondary)}#image-view{background-color:var(--bg-color);cursor:grab;transition:background-color .3s ease}#image-view:active{cursor:grabbing}#image-view.drawing-mode,#image-view.drawing-mode:active{cursor:crosshair}#konva-holder{width:100%;height:100%;position:relative;background-image:radial-gradient(var(--border-color) 1px,transparent 1px);transition:background-color .3s ease,opacity .22s ease,transform .22s ease}#konva-holder.canvas-swapping{opacity:0;transform:scale(.985)}.gen-placeholder{position:absolute;z-index:40;border-radius:12px;overflow:visible;pointer-events:auto;cursor:grab;border:1.5px dashed var(--primary-color);background:color-mix(in srgb,var(--primary-color) 6%,transparent);box-shadow:0 4px 24px #0000001f,inset 0 0 0 1px #ffffff0d;display:flex;align-items:center;justify-content:center;animation:genPlaceholderIn .25s ease}.gen-placeholder:active{cursor:grabbing}.gen-placeholder-hint{opacity:.6;font-weight:400;font-size:.68rem;margin-left:2px}@keyframes genPlaceholderIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.gen-placeholder-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--primary-color) 22%,transparent) 50%,transparent 70%);background-size:200% 100%;animation:genShimmer 1.4s ease-in-out infinite}@keyframes genShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gen-placeholder-label{position:relative;z-index:1;display:flex;align-items:center;white-space:nowrap;gap:8px;padding:6px 14px;border-radius:20px;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);font-size:.78rem;font-weight:500;color:var(--text-color);box-shadow:0 2px 10px #0000001f}.drawing-toolbar{position:relative;top:auto;left:auto;transform:none;z-index:10;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);padding:8px 14px;border-radius:16px;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;gap:8px}[data-theme=dark] .drawing-toolbar{border-color:#ffffff0f;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0a}.drawing-toolbar button{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:6px 12px;border-radius:10px;cursor:pointer;font-size:.82rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px}.drawing-toolbar button:hover{background:var(--hover-bg);transform:translateY(-1px)}.drawing-toolbar button:active{transform:scale(.95)}.drawing-toolbar button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.drawing-toolbar .drawing-done-btn{background:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:600}.drawing-toolbar .drawing-done-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.drawing-toolbar button:disabled{opacity:.4;cursor:not-allowed;transform:none}.drawing-toolbar input[type=color]{-webkit-appearance:none;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;padding:0;background:transparent}.drawing-toolbar input[type=color]::-webkit-color-swatch-wrapper{padding:0}.drawing-toolbar input[type=color]::-webkit-color-swatch{border:2px solid var(--border-color);border-radius:50%}.drawing-toolbar input[type=range]{width:80px;cursor:pointer;accent-color:var(--primary-color)}.canvas-top-controls{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:12px;width:90%;max-width:650px;transition:all .35s cubic-bezier(.4,0,.2,1);pointer-events:none}.canvas-top-controls>*{pointer-events:auto}.canvas-top-controls.centered-empty{top:124px}.canvas-chat-box{position:relative;width:100%;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.18);border-radius:20px;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26;display:flex;align-items:center;gap:8px;padding:6px 8px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease,max-height .3s ease,padding .3s ease,border-color .3s ease,box-shadow .3s ease,margin .3s ease;opacity:1;transform:scale(1) translateY(0);max-height:100px;overflow:hidden}.canvas-chat-box.collapsed{opacity:0;transform:scale(.9) translateY(-15px);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-color:transparent;pointer-events:none;box-shadow:none}.canvas-chat-box:focus-within{border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color));box-shadow:0 8px 32px #00000026,inset 0 1px #fff3,0 0 0 2px var(--focus-ring)}.canvas-welcome-title{position:absolute;left:50%;top:50px;transform:translate(-50%);font-size:2.4rem;font-weight:300;letter-spacing:-.01em;color:var(--primary-color);margin:0;z-index:101;pointer-events:none;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);white-space:nowrap}.canvas-welcome-title.fade-out{opacity:0;transform:translate(-50%,-20px)}@media (max-width: 768px){.canvas-welcome-title{font-size:1.8rem;top:45px}.canvas-top-controls.centered-empty{top:100px}}[data-theme=dark] .canvas-chat-box{border-color:color-mix(in srgb,var(--primary-color) 20%,rgba(255,255,255,.08));box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0a}[data-theme=dark] .canvas-chat-box:focus-within{border-color:color-mix(in srgb,var(--primary-color) 35%,rgba(255,255,255,.12));box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0f,0 0 0 2px var(--focus-ring)}.canvas-chat-collapsed-trigger{position:relative;top:auto;left:auto;transform:none;z-index:100;width:48px;height:48px;border-radius:50%;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.18);color:var(--text-color);font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s ease,box-shadow .2s ease;border-style:solid}[data-theme=dark] .canvas-chat-collapsed-trigger{border-color:#ffffff0f;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0a}.canvas-chat-collapsed-trigger:hover{transform:scale(1.08);background:var(--hover-bg);box-shadow:0 12px 40px #0000002e}.canvas-chat-collapsed-trigger:active{transform:scale(.95)}.chat-collapse-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.8rem;padding:8px;cursor:pointer;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .15s ease}.chat-collapse-btn:hover{background:var(--hover-bg);color:var(--text-color)}.chat-collapse-btn:active{transform:scale(.9)}.drawing-toolbar .chat-collapse-btn{border:none;padding:8px;border-radius:50%;width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:transparent;transform:none}.drawing-toolbar .chat-collapse-btn:hover{background:var(--hover-bg);color:var(--text-color);transform:none}.drawing-toolbar .chat-collapse-btn:active{transform:scale(.9)}.canvas-toolbox{position:absolute;z-index:99;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26;border-radius:18px;padding:8px;display:flex;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .canvas-toolbox{border-color:#ffffff0f;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0a}.canvas-toolbox.align-left{left:20px;top:50%;transform:translateY(-50%);flex-direction:column;gap:4px}.canvas-toolbox.align-right{right:20px;top:50%;transform:translateY(-50%);flex-direction:column;gap:4px}.canvas-toolbox.align-bottom{bottom:20px;left:50%;transform:translate(-50%);flex-direction:row;gap:4px}.toolbox-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);width:56px;height:56px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.toolbox-label{font-size:.6rem;font-weight:500;letter-spacing:.02em;opacity:.85;line-height:1;white-space:nowrap}.toolbox-btn:hover{background:var(--hover-bg);color:var(--text-color);transform:translateY(-1px)}.toolbox-btn:active{transform:scale(.92)}.toolbox-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 0 0 3px #1a73e833}[data-theme=dark] .toolbox-btn.active{box-shadow:0 0 0 3px #8ab4f833}.toolbox-btn.wiggle{animation:chatWiggle .8s cubic-bezier(.36,.07,.19,.97) both}@keyframes chatWiggle{0%{transform:scale(1)}15%{transform:scale(1.1) rotate(-8deg)}30%{transform:scale(1.1) rotate(8deg)}45%{transform:scale(1.1) rotate(-6deg)}60%{transform:scale(1.1) rotate(6deg)}75%{transform:scale(1.1) rotate(-3deg)}90%{transform:scale(1.1) rotate(3deg)}to{transform:scale(1) rotate(0)}}.toolbox-btn.settings-btn{border-top:1px solid var(--border-color);border-radius:12px;margin-top:4px;padding-top:4px}.canvas-toolbox.align-bottom .toolbox-btn.settings-btn{border-top:none;border-left:1px solid var(--border-color);margin-top:0;margin-left:4px;padding-top:0;padding-left:4px}.toolbox-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;background:var(--text-color);color:var(--bg-color);padding:5px 10px;border-radius:8px;font-size:.7rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease .4s,transform .2s ease .4s;z-index:200;box-shadow:0 4px 12px #00000026}.canvas-toolbox.align-left .toolbox-btn[data-tooltip]:after{left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-4px)}.canvas-toolbox.align-left .toolbox-btn[data-tooltip]:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.canvas-toolbox.align-right .toolbox-btn[data-tooltip]:after{right:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(4px)}.canvas-toolbox.align-right .toolbox-btn[data-tooltip]:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.canvas-toolbox.align-bottom .toolbox-btn[data-tooltip]:after{bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px)}.canvas-toolbox.align-bottom .toolbox-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.toolbox-settings-wrapper{position:relative;display:flex}.toolbox-alignment-popover{position:absolute;z-index:110;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 8px 32px #00000026,inset 0 1px #ffffff26;padding:12px;min-width:150px;display:flex;flex-direction:column;gap:8px;animation:popoverFadeInScale .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .toolbox-alignment-popover{border-color:#ffffff0f;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff0a}@keyframes popoverFadeInScale{0%{opacity:0;transform:scale(.92) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.canvas-toolbox.align-left .toolbox-alignment-popover{left:68px;bottom:0}.canvas-toolbox.align-right .toolbox-alignment-popover{right:68px;bottom:0}.canvas-toolbox.align-bottom .toolbox-alignment-popover{bottom:68px;right:0}.popover-title{font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:4px}.popover-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;padding:6px 8px;border-radius:6px;transition:background-color .15s ease;color:var(--text-color);-webkit-user-select:none;user-select:none}.popover-option:hover{background:var(--hover-bg)}.popover-option input[type=radio],.popover-option input[type=checkbox]{cursor:pointer;accent-color:var(--primary-color)}.popover-divider{height:1px;background:var(--border-color);margin:2px 0}.canvas-zoom-control{position:absolute;bottom:16px;left:16px;z-index:50;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #0000001f}.canvas-zoom-control.pinned{bottom:auto;left:auto;right:auto}.note-colors-popover .note-color-swatches{display:flex;gap:8px}.note-color-swatch{width:28px;height:28px;border-radius:8px;border:1px solid rgba(0,0,0,.15);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.note-color-swatch:hover{transform:scale(1.12);box-shadow:0 2px 8px #0003}.note-edit-textarea,.note-edit-div{position:absolute;z-index:60;border:none;outline:none;resize:none;border-radius:8px;padding:12px;color:#1a1a1a;font-family:sans-serif;line-height:1.3;box-shadow:0 4px 16px #0003;box-sizing:border-box}.canvas-zoom-control .zoom-grip{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:grab;margin-right:-2px;opacity:.6;transition:opacity .15s ease}.canvas-zoom-control .zoom-grip:hover{opacity:1}.canvas-zoom-control .zoom-grip:active{cursor:grabbing}.canvas-zoom-control .zoom-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .15s ease,color .15s ease}.canvas-zoom-control .zoom-btn:hover{background:var(--hover-bg);color:var(--primary-color)}.canvas-zoom-control .zoom-slider{width:110px;accent-color:var(--primary-color);cursor:pointer}.canvas-zoom-control .zoom-pct{background:none;border:none;cursor:pointer;font-family:inherit;color:var(--text-color);font-size:.8rem;font-weight:600;min-width:44px;text-align:right;padding:2px 4px;border-radius:6px;transition:color .15s ease}.canvas-zoom-control .zoom-pct:hover{color:var(--primary-color)}.aspect-ratio-selector{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:12px;padding:6px 10px;font-size:.82rem;font-weight:500;cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}.aspect-ratio-selector:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.image-settings-btn{display:inline-flex;align-items:center;gap:8px;background:#e9eef6;color:#3c4043;border:none;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;outline:none;white-space:nowrap;transition:background-color .2s ease,opacity .2s ease}.image-settings-btn svg{transition:transform .2s ease}.image-settings-btn.open svg{transform:rotate(90deg)}.image-settings-btn:hover{background:#dee5ef}.image-settings-btn:focus-visible{box-shadow:0 0 0 2px var(--focus-ring)}.image-settings-btn-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .image-settings-btn{background:#2d3139;color:#e3e3e3}[data-theme=dark] .image-settings-btn:hover{background:#3c404a}.canvas-chat-divider{width:1px;height:18px;background-color:#00000040;margin:0 4px;flex-shrink:0}[data-theme=dark] .canvas-chat-divider{background-color:#ffffff40}.canvas-context-menu{position:fixed;z-index:1000;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 8px 32px #0000002e,inset 0 1px #ffffff26;padding:6px;display:flex;flex-direction:column;min-width:180px;animation:contextMenuFadeIn .18s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .canvas-context-menu{border-color:#ffffff0f;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff0a}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.canvas-context-menu button{background:transparent;border:none;color:var(--text-color);text-align:left;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:450;transition:background-color .15s ease,transform .1s ease;display:flex;align-items:center;gap:10px}.canvas-context-menu button:hover{background:var(--hover-bg)}.canvas-context-menu button:active{transform:scale(.97)}.canvas-context-menu .context-menu-divider{height:1px;background:var(--border-color);margin:3px 6px}.canvas-context-menu button.danger{color:#ef4444}.canvas-context-menu button.danger:hover{background:#ef444414}#image-prompt-input{flex-grow:1;border:none;outline:none;padding:8px 14px;font-size:.92rem;background:transparent;color:var(--text-color);border-radius:16px;font-family:inherit}#image-prompt-input::placeholder{color:var(--text-secondary);opacity:.7}#generate-image-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;width:0;min-width:0;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1),width .25s ease,min-width .25s ease,margin-left .25s ease,margin-right .25s ease;opacity:0;transform:scale(.5);pointer-events:none;margin-left:-4px;margin-right:-4px;overflow:hidden;flex-shrink:0}#generate-image-btn.visible{width:36px;min-width:36px;opacity:1;transform:scale(1);pointer-events:auto;margin-left:0;margin-right:0}#generate-image-btn.visible:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 16px #1a73e859}#generate-image-btn.visible:active:not(:disabled){transform:scale(.95)}#generate-image-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}[data-theme=dark] #generate-image-btn.visible:hover:not(:disabled){box-shadow:0 4px 16px #8ab4f84d}.generate-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:generateSpin .6s linear infinite}@keyframes generateSpin{to{transform:rotate(360deg)}}.canvas-project-indicator{position:absolute;top:16px;left:16px;z-index:101;display:flex;align-items:center;gap:7px;max-width:240px;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:20px;padding:6px 14px;font-size:.78rem;font-weight:500;color:var(--text-color);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.canvas-project-indicator:hover{border-color:var(--primary-color);background:var(--hover-bg)}.canvas-project-indicator:active{transform:scale(.97)}.canvas-project-indicator svg{color:var(--primary-color);flex-shrink:0}.canvas-project-indicator-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-project-indicator.unsaved{color:var(--text-secondary)}.canvas-project-indicator.unsaved .canvas-project-indicator-name{font-style:italic}.canvas-project-indicator.unsaved svg{color:var(--text-secondary)}.canvas-instructions{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:5px 14px;border-radius:20px;font-size:.7rem;color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color);letter-spacing:.02em;font-weight:450;opacity:.7;transition:opacity .2s ease}.canvas-selection-info{position:absolute;bottom:20px;right:20px;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:.85rem;color:var(--text-color);box-shadow:0 4px 12px #00000026;z-index:10;display:flex;gap:8px;align-items:center;pointer-events:none;-webkit-user-select:none;user-select:none;animation:fadeInScale .15s ease-out}.thinking-block{margin-bottom:10px;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--bg-color)}.thinking-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-family:inherit;font-size:.82rem;transition:background-color .15s ease,color .15s ease}.thinking-toggle:hover{background-color:var(--hover-bg);color:var(--primary-color)}.thinking-chevron{transition:transform .2s ease;flex-shrink:0}.thinking-chevron.expanded{transform:rotate(90deg)}.thinking-label{font-weight:500;display:inline-flex;align-items:center;gap:6px}.thinking-content{padding:0 12px 10px;border-top:1px solid var(--border-color);font-size:.88rem;color:var(--text-secondary);max-height:300px;overflow-y:auto}.thinking-content .markdown-content{font-size:.85rem;line-height:1.5;opacity:.85}.thinking-content .markdown-content code,.thinking-content .markdown-content pre{font-size:.82rem}.controls-section-border{border-top:1px solid var(--border-color);padding-top:16px;margin-top:8px}.controls-label-row{display:flex;align-items:center;gap:12px;width:100%}.controls-toggle-switch{position:relative;display:inline-block;width:40px;height:22px;background:var(--btn-secondary-bg);border-radius:11px;cursor:pointer;transition:background-color .2s ease;flex-shrink:0;border:1px solid var(--border-color)}.controls-toggle-switch.active{background:var(--primary-color);border-color:var(--primary-color)}.controls-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.controls-toggle-switch.active .controls-toggle-knob{transform:translate(18px)}.shortcuts-modal{max-width:500px}.shortcuts-category{margin-bottom:20px}.shortcuts-category:last-child{margin-bottom:0}.shortcuts-category-title{font-size:.9rem;font-weight:600;color:var(--primary-color);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.shortcut-description{font-size:.88rem;color:var(--text-color)}.shortcut-keys-row{display:flex;align-items:center;gap:4px}.shortcut-key{display:inline-block;padding:3px 8px;font-size:.78rem;font-family:Segoe UI,Roboto,monospace;color:var(--text-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 0 var(--border-color);line-height:1.4;min-width:24px;text-align:center}.shortcut-plus{font-size:.75rem;color:var(--text-secondary);margin:0 1px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;align-items:center}.modal-content{background:var(--bg-surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 12px 48px var(--modal-shadow);width:90%;max-width:520px;max-height:85vh;overflow-y:auto;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.modal-header h2{margin:0;font-size:1.4rem;color:var(--text-color)}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.modal-close-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.modal-body{padding:20px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px;border-top:1px solid var(--border-color)}.settings-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section h3{margin:0 0 4px;font-size:1.05rem;color:var(--text-color)}.settings-description{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary)}.input-group{margin-bottom:16px}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-color);margin-bottom:6px}.input-group input[type=password],.input-group input[type=text]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.input-group input[type=password]:focus,.input-group input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:44px!important}.toggle-visibility-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-visibility-btn:hover{color:var(--primary-color)}.endpoint-field{display:flex;flex-direction:column;gap:8px}.endpoint-field select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;background:var(--bg-surface);color:var(--text-color);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.endpoint-field select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.endpoint-field input[type=text]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.endpoint-field input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.btn{padding:10px 24px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 1px 3px #0003}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--text-color)}.btn-secondary:hover{background-color:var(--btn-secondary-hover)}.model-fetch-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.model-fetch-row .btn{white-space:nowrap}.model-error{color:var(--error-text);font-size:.85rem;line-height:1.4}.settings-hint{font-size:.82rem;color:var(--text-secondary);font-style:italic;margin:8px 0 0}.input-group select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;background:var(--bg-surface);color:var(--text-color);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.input-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.chat-warning{background-color:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-text);padding:10px 20px;font-size:.9rem;text-align:center}.image-error{position:absolute;bottom:60px;left:50%;transform:translate(-50%);z-index:20;background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:8px 16px;border-radius:8px;font-size:.85rem;max-width:80%;text-align:center}.markdown-content{line-height:1.6;word-wrap:break-word}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.markdown-content code{background:var(--code-inline-bg);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Consolas,Monaco,monospace}.code-block-wrapper{position:relative}.code-block-lang{font-size:.75rem;color:#858585;text-transform:uppercase;letter-spacing:.05em;padding:4px 0 0 18px;font-family:inherit}.code-block-header{position:absolute;top:8px;right:8px;z-index:1}.code-copy-btn{background:#ffffff1a;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;color:#d4d4d4;display:flex;align-items:center;gap:4px;font-size:.75rem;opacity:0;transition:opacity .2s ease,background-color .2s ease}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:#fff3}.code-copy-btn:active{background:#ffffff4d}.code-block-pre{margin:0!important;border-radius:0 0 10px 10px!important}.markdown-content pre{background:#1e1e1e;color:#d4d4d4;padding:14px 18px;border-radius:10px;overflow-x:auto;margin:10px 0;font-size:.85em;line-height:1.5}.markdown-content pre code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit}.markdown-content pre code.hljs{background:none;padding:0}.markdown-content ul,.markdown-content ol{margin:6px 0;padding-left:22px}.markdown-content li{margin:3px 0}.markdown-content blockquote{border-left:3px solid var(--primary-color);margin:8px 0;padding:4px 16px;color:var(--blockquote-color);background:var(--blockquote-bg);border-radius:0 6px 6px 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:12px 0 6px;font-weight:600;line-height:1.3}.markdown-content h1{font-size:1.3em}.markdown-content h2{font-size:1.15em}.markdown-content h3{font-size:1.05em}.markdown-content a{color:var(--primary-color);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content hr{border:none;border-top:1px solid var(--border-color);margin:12px 0}.markdown-content table{border-collapse:collapse;margin:8px 0;width:100%}.markdown-content th,.markdown-content td{border:1px solid var(--border-color);padding:6px 12px;text-align:left}.markdown-content th{background:var(--bg-color);font-weight:600}.loading-message{display:flex;align-items:center;justify-content:center;min-height:48px}.loading-spinner{width:28px;height:28px;border:3px solid var(--spinner-border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.streaming-message{display:flex;flex-direction:column}.streaming-text-content{position:relative}.streaming-text-content .markdown-content,.streaming-text-content .markdown-content p{display:inline}.streaming-text-content .markdown-content p:last-child{display:inline}.streaming-cursor{display:inline-block;width:2px;height:1em;background-color:var(--primary-color);margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{50%{opacity:0}}.toggle-label{display:flex;flex-direction:column;gap:4px}.toggle-hint{font-size:.8rem;color:var(--text-secondary);font-weight:400;line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;margin-top:8px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.controls-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:140;transition:opacity .3s ease}.controls-panel{position:fixed;top:0;right:0;width:340px;height:100vh;background:var(--bg-surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid rgba(255,255,255,.1);z-index:150;display:flex;flex-direction:column;box-shadow:-2px 0 16px #0000001a;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.controls-panel.open{transform:translate(0)}.controls-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.controls-header h2{margin:0;font-size:1.2rem;color:var(--text-color)}.controls-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.controls-close-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.controls-body{flex:1;overflow-y:auto;padding:16px 20px}.controls-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.controls-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.controls-label{display:flex;flex-direction:column;gap:2px;font-size:.88rem;font-weight:500;color:var(--text-color);margin-bottom:8px}.controls-label strong{color:var(--primary-color)}.controls-hint{font-size:.78rem;color:var(--text-secondary);font-weight:400;line-height:1.4}.controls-textarea{width:100%;min-height:80px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.88rem;line-height:1.5;background:var(--bg-color);color:var(--text-color);outline:none;resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.controls-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.controls-textarea::placeholder{color:var(--text-secondary)}.controls-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.88rem;background:var(--bg-color);color:var(--text-color);outline:none;cursor:pointer;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.controls-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.controls-slider-row{display:flex;align-items:center;gap:10px}.controls-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:3px;outline:none;cursor:pointer}.controls-slider:disabled{opacity:.4;cursor:not-allowed}.controls-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;transition:transform .15s ease}.controls-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.controls-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none}.controls-toggle-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;font-family:inherit;font-weight:500;cursor:pointer;background:var(--btn-secondary-bg);color:var(--text-secondary);transition:all .2s ease;white-space:nowrap}.controls-toggle-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.controls-toggle-btn:hover{border-color:var(--primary-color)}.controls-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);flex-shrink:0}.controls-reset-btn{padding:8px 16px;background:var(--btn-secondary-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.controls-reset-btn:hover{background:var(--btn-secondary-hover)}.controls-save-btn{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.controls-save-btn:hover{background:var(--primary-hover)}.regenerate-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 14px;background:var(--btn-secondary-bg);border:1px solid var(--border-color);border-radius:16px;color:var(--text-color);font-size:.82rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.regenerate-btn:hover{background:var(--btn-secondary-hover);border-color:var(--text-secondary)}@media (max-width: 768px){.app-container{flex-direction:column}.top-bar{padding:8px 12px;height:56px;gap:8px}.top-bar-left{gap:8px}.sidebar-toggle-btn,.theme-toggle-btn,.settings-btn,.controls-toggle-btn{padding:10px;min-width:44px;min-height:44px}.chat-title-display{max-width:120px;font-size:1rem}.mode-toggle-container{display:none}.top-bar-actions{gap:2px}.sidebar{width:85vw;max-width:320px}.sidebar-header{padding:12px;gap:8px}.sidebar-new-chat-btn{flex:1;padding:12px 16px;min-height:44px;font-size:.95rem}.sidebar-new-folder-btn,.sidebar-pin-btn,.sidebar-close-btn{min-width:44px;min-height:44px;padding:10px}.sidebar-search{padding:10px 12px}.sidebar-search-input{padding:12px 12px 12px 36px;font-size:16px;min-height:44px}.sidebar-search-icon{left:24px}.sidebar-search-clear{right:20px;padding:8px}.sidebar-chat-list{padding:8px}.chat-item{padding:14px 12px;min-height:52px;margin-bottom:4px}.chat-item-title{font-size:.95rem}.chat-item-time{font-size:.78rem}.chat-item-menu-btn{opacity:1;padding:8px;min-width:44px;min-height:44px}.chat-item-menu{min-width:160px}.chat-item-menu-action{padding:12px 14px;min-height:44px;font-size:.9rem}.folder-item{min-height:44px}.folder-item-header{padding:12px;min-height:44px}.folder-item-toggle,.folder-item-menu-btn{min-width:44px;min-height:44px;padding:10px}.sidebar-create-folder{padding:8px 12px}.sidebar-create-folder-input{font-size:16px;min-height:44px}.sidebar-create-folder-confirm{min-width:44px;min-height:44px}.message-row{gap:8px}.message-avatar{width:32px;height:32px}.message-avatar svg{width:18px;height:18px}.message{max-width:85%;padding:10px 14px}.message-header{margin-bottom:6px}.message-sender-name{font-size:.82rem}.message-body{font-size:.95rem}.message-footer{flex-wrap:wrap;gap:8px;margin-top:8px}.message-actions{opacity:1;padding:4px}.message-action-btn,.rating-btn{padding:8px;min-width:44px;min-height:44px}.message-action-btn svg,.rating-btn svg{width:18px;height:18px}.rating-buttons{gap:4px;padding-right:8px;margin-right:8px}.message-timestamp{opacity:1;font-size:.75rem}.message-branch-nav{padding:4px 8px}.branch-nav-btn{width:28px;height:28px}.chat-history{padding:12px}.welcome-screen{padding:24px 16px}.welcome-title{font-size:1.75rem}.welcome-subtitle{font-size:.95rem;margin-bottom:24px}.welcome-suggestions{grid-template-columns:1fr;gap:10px}.welcome-suggestion-btn{padding:16px;min-height:56px}.suggestion-icon{font-size:1.4rem}.suggestion-text{font-size:.95rem}.input-area{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.input-wrapper{padding:4px 4px 4px 12px}.file-upload-btn{min-width:44px;min-height:44px;padding:10px}#chat-input{font-size:16px;padding:10px 0;min-height:28px}#send-chat-btn{width:0;min-width:0;height:44px;margin-left:0}#send-chat-btn.visible{width:44px;min-width:44px;margin-left:4px}.file-chips{gap:6px}.file-chip{padding:8px;min-height:40px}.file-chip-preview,.file-chip-icon{width:32px;height:32px}.file-chip-remove{min-width:44px;min-height:44px;padding:10px}.controls-panel{width:100%;max-width:100%}.controls-header{padding:14px 16px}.controls-close-btn{min-width:44px;min-height:44px;padding:10px}.controls-body{padding:16px}.controls-textarea{font-size:16px;min-height:100px}.controls-slider{height:8px}.controls-slider::-webkit-slider-thumb{width:24px;height:24px}.controls-slider::-moz-range-thumb{width:24px;height:24px}.controls-toggle-btn{padding:8px 14px;min-height:44px;font-size:.85rem}.controls-footer{padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));gap:10px}.controls-reset-btn,.controls-save-btn{flex:1;padding:14px 16px;min-height:48px;font-size:.95rem}.modal-content{width:95%;max-width:100%;max-height:90vh;margin:0 auto;border-radius:16px}.modal-header{padding:16px 16px 0}.modal-header h2{font-size:1.25rem}.modal-close-btn{min-width:44px;min-height:44px;padding:10px}.modal-body{padding:16px}.modal-footer{padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));flex-direction:column;gap:10px}.modal-footer .btn{width:100%;padding:14px 20px;min-height:48px}.settings-section{margin-bottom:20px;padding-bottom:20px}.settings-section h3{font-size:1rem}.input-group input[type=password],.input-group input[type=text],.input-group select,.endpoint-field select,.endpoint-field input[type=text]{padding:14px;font-size:16px;min-height:48px}.model-fetch-row{flex-direction:column;align-items:stretch}.model-fetch-row .btn{width:100%;min-height:48px}.shortcuts-modal{max-width:100%}.shortcuts-category-title{font-size:.95rem}.shortcut-row{padding:8px 0}.shortcut-description{font-size:.9rem}.shortcut-key{padding:6px 10px;font-size:.85rem;min-width:32px}.confirm-dialog-content{position:fixed;bottom:0;left:0;right:0;max-width:100%;border-radius:20px 20px 0 0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));animation:confirmSlideUp .25s ease-out}@keyframes confirmSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.confirm-dialog-content h3{font-size:1.15rem}.confirm-dialog-content p{font-size:.95rem}.confirm-dialog-actions{flex-direction:column;gap:10px}.confirm-dialog-actions button{width:100%;padding:14px 20px;min-height:48px;font-size:.95rem}.skeleton-line{height:12px;margin:6px 0}.scroll-to-bottom-btn{width:48px;height:48px;bottom:100px}.stop-generation-btn{padding:10px 18px;min-height:48px;font-size:.9rem}.thinking-toggle{padding:12px 14px;min-height:44px}.thinking-content{padding:0 14px 12px;font-size:.85rem}.sources-toggle{padding:12px 14px;min-height:44px}.source-item{padding:10px 0}.source-title{font-size:.9rem}.source-snippet{font-size:.8rem}.voice-recorder-btn{min-width:44px;min-height:44px;padding:10px}.regenerate-btn,.continue-btn{padding:10px 16px;min-height:44px;font-size:.88rem}.code-block-wrapper{margin:0 -12px}.code-block-wrapper pre{border-radius:0;padding:12px;font-size:.82em}.code-copy-btn{opacity:1;padding:8px 12px;min-height:44px}.drag-overlay-content{padding:24px;margin:12px;border-radius:12px}.drag-overlay-content svg{width:40px;height:40px}.drag-overlay-content p{font-size:.95rem}.attachment-image{max-width:150px;max-height:100px}.attachment-file-card{max-width:180px;padding:10px}.attachment-download-btn{min-width:44px;min-height:44px;padding:10px}.image-lightbox-overlay{padding:20px}.image-lightbox-close{top:-36px;min-width:44px;min-height:44px;padding:10px}.image-lightbox-img{max-width:95vw;max-height:75vh}}@media (max-width: 480px){.top-bar{padding:6px 10px;height:52px}.chat-title-display{max-width:80px;font-size:.9rem}.sidebar{width:90vw}.welcome-title{font-size:1.5rem}.message{max-width:90%;padding:8px 12px}.modal-content{width:100%;height:100%;max-height:100vh;border-radius:0}.controls-panel{height:100vh}}@supports (padding: max(0px)){.sidebar,.controls-panel{padding-bottom:env(safe-area-inset-bottom)}.input-area{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (hover: none) and (pointer: coarse){.message-actions,.message-timestamp,.chat-item-menu-btn,.code-copy-btn{opacity:1}.chat-item:hover{background-color:transparent}.chat-item:active{background-color:var(--hover-bg)}.sidebar-new-chat-btn:active,.sidebar-close-btn:active,.sidebar-pin-btn:active{transform:scale(.97)}.message-action-btn:active,.rating-btn:active{background-color:var(--hover-bg);transform:scale(.95)}#send-chat-btn:active{transform:scale(.95)}}.file-upload-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.file-upload-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--primary-color)}.file-upload-btn:disabled{opacity:.5;cursor:not-allowed}.plus-btn svg{transition:transform .2s ease}.plus-btn.open svg{transform:rotate(45deg)}.drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary-color);opacity:.1;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:0}.drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;background:var(--bg-surface);border:2px dashed var(--primary-color);border-radius:16px;color:var(--primary-color);opacity:1}.drag-overlay-content svg{opacity:.8}.drag-overlay-content p{margin:0;font-weight:500}.view-container.drag-over{position:relative}.file-chips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;max-width:100%}.file-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;font-size:.82rem;max-width:200px;transition:background-color .15s ease,border-color .15s ease}.file-chip:hover{background:var(--hover-bg)}.file-chip.uploading{border-color:var(--primary-color);opacity:.8}.file-chip.error{border-color:var(--error-border);background:var(--error-bg)}.file-chip-preview{width:28px;height:28px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--bg-surface)}.file-chip-preview img{width:100%;height:100%;object-fit:cover}.file-chip-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.file-chip-icon svg{width:18px;height:18px}.file-chip-info{display:flex;flex-direction:column;min-width:0;flex:1}.file-chip-name{color:var(--text-color);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip-size{color:var(--text-secondary);font-size:.72rem}.file-chip-spinner{color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-chip-spinner .spinner-icon{width:16px;height:16px}.file-chip-remove{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.file-chip-remove svg{width:14px;height:14px}.file-chip-remove:hover{background:var(--error-bg);color:var(--error-text)}.file-chip-error-icon{color:var(--error-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-chip-error-icon svg{width:16px;height:16px}.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.message-attachment{max-width:200px}.attachment-image-wrapper{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--bg-color)}.attachment-image-wrapper:hover .attachment-image-overlay{opacity:1}.attachment-image{display:block;max-width:200px;max-height:150px;object-fit:cover;border-radius:8px;transition:opacity .2s ease}.attachment-image.loaded{opacity:1}.attachment-image-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-color)}.attachment-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.attachment-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.attachment-image-overlay svg{color:#fff;width:24px;height:24px}.attachment-image-error{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);font-size:.78rem}.attachment-image-error svg{width:24px;height:24px}.attachment-file-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;max-width:220px}.attachment-file-icon{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-file-icon svg{width:24px;height:24px}.attachment-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-file-name{font-size:.82rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-file-size{font-size:.72rem;color:var(--text-secondary)}.attachment-download-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0;text-decoration:none}.attachment-download-btn svg{width:16px;height:16px}.attachment-download-btn:hover{background:var(--hover-bg);color:var(--primary-color)}.image-lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;cursor:pointer}.image-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;cursor:default}.image-lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;cursor:pointer;color:#fff;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.image-lightbox-close:hover{background:#ffffff1a}.image-lightbox-close svg{width:24px;height:24px}.image-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 24px #00000080}.image-lightbox-info{margin-top:12px;text-align:center}.image-lightbox-name{color:#fff;font-size:.9rem;opacity:.8}@media (max-width: 768px){.file-chip{max-width:150px}.attachment-image{max-width:150px;max-height:100px}.attachment-file-card{max-width:180px}.drag-overlay-content{padding:24px}.drag-overlay-content svg{width:36px;height:36px}}.message-branch-nav{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--bg-secondary, var(--bg-color));border-radius:12px;font-size:11px;color:var(--text-secondary);margin-left:8px}.branch-nav-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.branch-nav-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary, var(--text-color))}.branch-nav-btn:disabled{opacity:.4;cursor:not-allowed}.branch-nav-index{background:transparent;border:none;font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:4px;min-width:28px;text-align:center}.branch-nav-index:hover{background:var(--hover-bg);color:var(--text-primary, var(--text-color))}.branch-indicator{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#1a73e81a;border:none;border-radius:10px;font-size:10px;font-weight:500;color:var(--primary-color);cursor:pointer;transition:all .15s ease}.branch-indicator:hover{background:var(--primary-color);color:#fff}.branch-indicator-text{margin-left:2px}.branch-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000}.branch-selector{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;width:90%;max-height:60vh;overflow:hidden;display:flex;flex-direction:column}.branch-selector-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-color)}.branch-selector-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.branch-selector-close:hover{background:var(--hover-bg);color:var(--text-color)}.branch-selector-list{padding:8px;overflow-y:auto;flex:1}.branch-selector-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease}.branch-selector-item:hover{background:var(--hover-bg)}.branch-selector-item.active{background:#1a73e81a}.branch-selector-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-color);border-radius:50%;font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.branch-selector-item.active .branch-selector-index{background:var(--primary-color);color:#fff}.branch-selector-preview{font-size:13px;color:var(--text-color);line-height:1.4;word-break:break-word}.message-footer .message-branch-nav{margin-left:0;margin-right:auto}.continue-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 14px;background:var(--btn-secondary-bg);border:1px solid var(--border-color);border-radius:16px;color:var(--text-color);font-size:.82rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.continue-btn:hover{background:var(--btn-secondary-hover);border-color:var(--text-secondary)}.message-actions-bar{display:flex;justify-content:center;gap:12px;padding:12px 20px}.voice-recorder-container{position:relative;display:flex;align-items:center}.voice-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.voice-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--primary-color)}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn-disabled{opacity:.4;cursor:not-allowed}.voice-btn-recording{background-color:#ef44441a;color:#ef4444;animation:voice-pulse 1.5s ease-in-out infinite}.voice-btn-recording:hover:not(:disabled){background-color:#ef444433;color:#ef4444}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.voice-transcript-preview{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:200px;max-width:320px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 12px #00000026;z-index:100;display:flex;flex-direction:column;gap:8px}.voice-transcript-text{font-size:.88rem;color:var(--text-color);line-height:1.5;word-break:break-word;max-height:100px;overflow-y:auto}.voice-transcript-interim{color:var(--text-secondary);opacity:.7}.voice-transcript-placeholder{color:var(--text-secondary);font-style:italic}.voice-indicator{display:flex;align-items:center;justify-content:center;gap:4px;height:16px}.voice-dot{width:6px;height:6px;background:#ef4444;border-radius:50%;animation:voice-dot-bounce 1s ease-in-out infinite}.voice-dot:nth-child(1){animation-delay:0s}.voice-dot:nth-child(2){animation-delay:.2s}.voice-dot:nth-child(3){animation-delay:.4s}@keyframes voice-dot-bounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}.voice-error-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:180px;max-width:280px;padding:10px 14px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);font-size:.82rem;line-height:1.4;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.voice-transcript-preview{left:auto;right:0;transform:none;max-width:260px}.voice-error-tooltip{left:auto;right:0;transform:none}}.sidebar-new-folder-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:var(--btn-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.sidebar-new-folder-btn:hover{background:var(--hover-bg);color:var(--primary-color)}.sidebar-create-folder{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.sidebar-create-folder-input{flex:1;padding:8px 12px;border:1px solid var(--primary-color);border-radius:6px;font-size:.88rem;font-family:inherit;background:var(--bg-surface);color:var(--text-color);outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.sidebar-create-folder-confirm{display:flex;align-items:center;justify-content:center;padding:8px;background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s ease}.sidebar-create-folder-confirm:hover:not(:disabled){background:var(--primary-hover)}.sidebar-create-folder-confirm:disabled{opacity:.5;cursor:not-allowed}.folder-item{margin-bottom:4px}.folder-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.folder-header:hover{background-color:var(--hover-bg)}.folder-header.active{background-color:var(--user-bubble-color)}.folder-expand-btn{display:flex;align-items:center;justify-content:center;padding:2px;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:background-color .15s ease}.folder-expand-btn:hover{background:var(--btn-secondary-hover)}.folder-chevron{transition:transform .2s ease;flex-shrink:0}.folder-chevron.expanded{transform:rotate(90deg)}.folder-icon{flex-shrink:0;color:var(--primary-color)}.folder-name{flex:1;font-size:.88rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-color);padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.folder-rename-input{flex:1;padding:4px 8px;border:1px solid var(--primary-color);border-radius:4px;font-size:.88rem;font-family:inherit;background:var(--bg-surface);color:var(--text-color);outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.folder-menu-wrapper{position:relative}.folder-menu-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px;opacity:0;transition:opacity .15s ease,background-color .15s ease}.folder-header:hover .folder-menu-btn{opacity:1}.folder-menu-btn:hover{background:var(--btn-secondary-hover);color:var(--text-color)}.folder-menu{position:absolute;top:100%;right:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:120px;padding:4px;animation:menuSlideIn .15s ease-out}.folder-menu-action{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-color);font-size:.85rem;font-family:inherit;cursor:pointer;border-radius:6px;transition:background-color .15s ease}.folder-menu-action:hover{background-color:var(--hover-bg)}.folder-menu-danger{color:var(--error-text)}.folder-menu-danger:hover{background-color:var(--error-bg)}.folder-chats{padding-left:8px;margin-top:4px}.folder-chat-item{display:flex;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.folder-chat-item:hover{background-color:var(--hover-bg)}.folder-chat-item.active{background-color:var(--user-bubble-color)}.folder-chat-title{font-size:.85rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section{margin-top:8px}.sidebar-section-header{padding:8px 12px;border-top:1px solid var(--border-color);margin-top:8px}.sidebar-section-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.chat-item-menu-divider{padding:4px 0}.chat-item-menu-divider-line{height:1px;background:var(--border-color)}.chat-item-folder-submenu{position:relative}.folder-submenu-chevron{margin-left:auto;transition:transform .2s ease}.folder-submenu-chevron.expanded{transform:rotate(90deg)}.folder-submenu-list{position:fixed;left:auto;right:auto;top:auto;min-width:140px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:101;padding:4px;animation:menuSlideIn .15s ease-out}.folder-submenu-item{display:block;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-color);font-size:.85rem;font-family:inherit;cursor:pointer;border-radius:6px;text-align:left;transition:background-color .15s ease}.folder-submenu-item:hover{background-color:var(--hover-bg)}.folder-submenu-item.current{background-color:var(--user-bubble-color);color:var(--primary-color);font-weight:500}.folder-submenu-empty{display:block;padding:8px 12px;font-size:.85rem;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.folder-submenu-list{position:fixed;left:auto;right:16px;top:auto;bottom:16px;min-width:160px}}.share-modal{max-width:480px}.share-loading,.share-chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text-secondary)}.share-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.share-chat-info{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-hover);border-radius:8px;margin-bottom:16px}.share-chat-title-label{color:var(--text-secondary);font-size:13px}.share-chat-title{font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-link-container{display:flex;gap:8px;margin-bottom:12px}.share-link-input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface);color:var(--text-color);font-size:13px;font-family:monospace}.share-link-input:focus{outline:none;border-color:var(--primary-color)}.share-copy-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.share-copy-btn:hover{background:var(--primary-hover)}.share-info{margin-bottom:16px}.share-created{color:var(--text-secondary);font-size:12px}.share-actions{display:flex;justify-content:flex-start}.share-delete-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;color:var(--error-text);border:1px solid var(--error-text);border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.share-delete-btn:hover{background:var(--error-text);color:#fff}.share-create-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.share-create-btn:hover:not(:disabled){background:var(--primary-hover)}.share-create-btn:disabled{opacity:.6;cursor:not-allowed}.shared-chat-view{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.shared-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-color)}.shared-chat-header-content{flex:1;min-width:0}.shared-chat-title{font-size:18px;font-weight:600;color:var(--text-color);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-chat-brand{font-size:13px;color:var(--text-secondary)}.shared-chat-back-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.shared-chat-back-btn:hover{background:var(--hover-bg)}.shared-chat-messages{flex:1;overflow-y:auto;padding:24px;max-width:800px;margin:0 auto;width:100%}.shared-message{margin-bottom:24px}.shared-message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.shared-message-avatar{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.shared-message-sender{font-size:13px;font-weight:600;color:var(--text-color)}.shared-message-content{padding:12px 16px;border-radius:12px}.shared-message-user .shared-message-content{background:var(--user-bubble-color);color:var(--text-color);border-radius:12px 12px 0}.shared-message-ai .shared-message-content{background:var(--bg-surface);color:var(--text-color);border:1px solid var(--border-color);border-radius:12px 12px 12px 0}.shared-message-text{margin:0;white-space:pre-wrap;word-wrap:break-word}.shared-chat-empty{text-align:center;padding:48px;color:var(--text-secondary)}.shared-chat-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;text-align:center;color:var(--text-secondary)}.shared-chat-error h2{color:var(--text-color);margin:16px 0 8px}.shared-chat-error p{margin:0 0 8px}.shared-chat-error-hint{color:var(--text-tertiary);font-size:13px}.shared-chat-footer{padding:16px 24px;background:var(--bg-surface);border-top:1px solid var(--border-color);text-align:center}.shared-chat-footer-link{color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:500}.shared-chat-footer-link:hover{text-decoration:underline}@media (max-width: 768px){.shared-chat-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.shared-chat-title{font-size:16px}.shared-chat-messages{padding:16px}.shared-message-content{padding:10px 14px}.shared-chat-footer{padding:12px 16px}}.spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.command-suggestions{position:absolute;bottom:calc(100% + 12px);left:0;right:0;margin:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #00000026;z-index:100;max-height:320px;overflow-y:auto;animation:commandSuggestionsSlideIn .15s ease-out}@keyframes commandSuggestionsSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.command-suggestion-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:none;color:var(--text-color);font-size:.9rem;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s ease;border-radius:0}.command-suggestion-item:first-child{border-radius:12px 12px 0 0}.command-suggestion-item:last-of-type{border-radius:0}.command-suggestion-item:hover,.command-suggestion-item.selected{background-color:var(--hover-bg)}.command-suggestion-item.selected{background-color:var(--user-bubble-color)}.command-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;color:var(--primary-color)}.command-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-name{font-weight:600;color:var(--primary-color);font-size:.9rem}.command-description{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-input-badge{background:var(--primary-color);color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:8px;flex-shrink:0}.command-suggestions-footer{padding:8px 16px;border-top:1px solid var(--border-color);background:var(--bg-color);border-radius:0 0 12px 12px}.command-hint{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-secondary)}.command-hint kbd{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.7rem;margin-right:4px}.command-suggestions-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.command-input-prompt{background:var(--bg-surface);border-radius:16px;padding:24px;width:90%;max-width:400px;box-shadow:0 8px 32px #0003;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.command-input-prompt-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.command-input-prompt-header .command-icon{font-size:1.5rem}.command-input-prompt-header .command-name{font-size:1.1rem}.command-input-prompt-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.command-input-prompt-field{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--bg-color);color:var(--text-color);outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.command-input-prompt-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring)}.command-input-prompt-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.command-input-prompt-cancel{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--btn-secondary-bg);color:var(--text-color);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.command-input-prompt-cancel:hover{background:var(--btn-secondary-hover)}.command-input-prompt-confirm{padding:10px 20px;border:none;border-radius:8px;background:var(--primary-color);color:#fff;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s ease}.command-input-prompt-confirm:hover:not(:disabled){background:var(--primary-hover)}.command-input-prompt-confirm:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.command-suggestions{max-height:280px;border-radius:12px 12px 0 0;margin-bottom:0;position:fixed;bottom:0;left:0;right:0}.command-suggestion-item:first-child{border-radius:12px 0 0}.command-suggestion-item{padding:14px 16px}.command-suggestions-footer{display:none}.command-input-prompt{width:95%;padding:20px;border-radius:20px 20px 12px 12px}}.follow-up-chips{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.follow-up-loading{display:flex;align-items:center;gap:4px;padding:8px 12px}.follow-up-loading-dot{width:6px;height:6px;background-color:var(--text-secondary);border-radius:50%;animation:followUpLoadingPulse 1.2s ease-in-out infinite}.follow-up-loading-dot:nth-child(2){animation-delay:.2s}.follow-up-loading-dot:nth-child(3){animation-delay:.4s}@keyframes followUpLoadingPulse{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.follow-up-suggestions{display:flex;flex-wrap:wrap;gap:8px}.follow-up-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;font-size:.85rem;font-family:inherit;color:var(--text-color);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .15s ease;max-width:100%}.follow-up-chip:hover{background:var(--hover-bg);border-color:var(--primary-color);transform:translateY(-1px)}.follow-up-chip:active{transform:translateY(0)}.follow-up-chip:disabled{opacity:.5;cursor:not-allowed;transform:none}.follow-up-chip-icon{flex-shrink:0;display:inline-flex;align-items:center;color:var(--primary-color)}.follow-up-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}@media (max-width: 768px){.follow-up-chips{margin-top:10px;padding-top:10px}.follow-up-chip{padding:10px 14px;font-size:.88rem}.follow-up-suggestions{gap:6px}}@media (hover: none) and (pointer: coarse){.follow-up-chip{padding:12px 16px}}[data-theme=dark] .follow-up-chip:hover{background:#8ab4f81a;border-color:var(--primary-color)}.image-view-layout{display:flex;width:100%;height:100%;position:relative;overflow:hidden}#image-view{flex:1;display:flex;flex-direction:column;height:100%;position:relative;min-width:0}.image-gallery-sidebar{width:320px;height:100%;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1),border-color .3s ease;overflow:hidden;flex-shrink:0}.image-gallery-sidebar.closed{width:0;border-left:none}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.gallery-header-info{display:flex;flex-direction:column;gap:2px}.gallery-title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0}.gallery-subtitle{font-size:.75rem;color:var(--text-secondary);margin:0}.gallery-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .2s ease}.gallery-close-btn:hover{background-color:var(--hover-bg);color:var(--text-color);transform:rotate(90deg)}.gallery-search-container{padding:12px 16px;position:relative;flex-shrink:0}.gallery-search-icon{position:absolute;left:26px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;font-size:.85rem}.gallery-search-input{width:100%;padding:8px 12px 8px 30px;border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;font-family:inherit;background:var(--bg-color);color:var(--text-color);outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.gallery-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.gallery-search-clear{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.gallery-search-clear:hover{background-color:var(--hover-bg)}.gallery-grid-container{flex:1;overflow-y:auto;padding:4px 0}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 16px}.gallery-card{position:relative;aspect-ratio:1;border-radius:12px;border:1px solid var(--border-color);overflow:hidden;background:var(--bg-color);cursor:grab;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease;box-shadow:0 1px 3px #00000005}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014;border-color:var(--primary-color)}.gallery-card:active{cursor:grabbing;transform:scale(.98)}.gallery-card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.gallery-card:hover .gallery-card-img{transform:scale(1.06)}.gallery-card-badge{position:absolute;top:6px;left:6px;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.1);pointer-events:none;z-index:1;box-shadow:0 1px 3px #0000001a}.gallery-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000d9,#0006 60%,#0000);padding:24px 8px 8px;opacity:0;transition:opacity .2s ease;display:flex;flex-direction:column;justify-content:flex-end}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card-prompt{color:#fffffff2;font-size:.72rem;line-height:1.3;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.5);margin-bottom:8px;padding:0 2px}.gallery-card-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.gallery-card-btn{background:#fff3;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background-color .2s ease,transform .1s ease,border-color .2s ease;padding:0}.gallery-card-btn:hover{background-color:var(--primary-color);border-color:var(--primary-hover);transform:scale(1.1)}.gallery-card-btn.danger:hover{background-color:#ef4444;border-color:#dc2626}.gallery-empty{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:.85rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;box-sizing:border-box}.gallery-empty-icon{font-size:2.2rem;opacity:.5;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.projects-sidebar{width:320px;height:100%;background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1),border-color .3s ease;overflow:hidden;flex-shrink:0}.projects-sidebar.closed{width:0;border-left:none}.projects-save-bar{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.projects-name-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:.85rem;outline:none;transition:border-color .2s ease}.projects-name-input:focus{border-color:var(--primary-color)}.projects-save-actions{display:flex;gap:6px}.projects-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.projects-action-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary-color)}.projects-action-btn.primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.projects-action-btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.projects-action-btn:disabled{opacity:.5;cursor:not-allowed}.project-card{cursor:pointer;display:flex;flex-direction:column}.project-card:active{cursor:pointer;transform:scale(.99)}.project-card.active{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.project-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--bg-color)}.project-card-meta{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:1px;padding:18px 8px 7px;background:linear-gradient(to top,#000000d9,#0006 60%,#0000)}.project-card-name{color:#fff;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-date{color:#ffffffbf;font-size:.65rem}.project-card .gallery-card-actions{position:absolute;top:6px;right:6px;opacity:.85;transition:opacity .2s ease;z-index:2}.project-card:hover .gallery-card-actions{opacity:1}.project-card .gallery-card-btn{background:#0000008c;border-color:#ffffff40}.note-toolbar-grip{cursor:move;color:var(--text-secondary);display:flex;align-items:center;padding:4px;border-radius:4px;transition:background-color .2s;flex-shrink:0}.note-toolbar-grip:hover{background-color:var(--hover-bg);color:var(--text-color)}.canvas-note-toolbar.dragged{position:absolute;transform:none;margin:0}.note-edit-textarea,.note-edit-div{position:absolute;box-sizing:border-box;padding:12px;border:none;outline:none;border-radius:8px;resize:none;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 10px 30px #00000026;z-index:90}.note-edit-textarea ul,.note-edit-textarea ol,.note-edit-div ul,.note-edit-div ol{margin:0;padding-left:1.5em;text-align:left}.canvas-note-toolbar{position:absolute;top:76px;left:50%;transform:translate(-50%);z-index:105;background:#ffffffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;border-radius:9999px;padding:6px 14px;display:flex;align-items:center;gap:6px;animation:toolbarFadeIn .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .canvas-note-toolbar{background:#1e293bf0;border-color:#ffffff14;box-shadow:0 8px 32px #0006,0 2px 8px #0003}@keyframes toolbarFadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.note-toolbar-divider{width:1px;height:20px;background:var(--border-color);margin:0 4px}.note-toolbar-btn{background:transparent;border:1px solid transparent;outline:none;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-color);transition:all .15s ease;position:relative}.note-toolbar-btn:hover{background:var(--hover-bg);color:var(--text-color)}.note-toolbar-btn:active{transform:scale(.92)}.note-toolbar-btn.active{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);border-color:#1a73e840}[data-theme=dark] .note-toolbar-btn.active{border-color:#8ab4f840}.note-toolbar-color-circle{width:24px;height:24px;border-radius:50%;border:2.5px solid #ffffff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative;box-shadow:0 0 0 1px #00000026,0 2px 6px #00000014}[data-theme=dark] .note-toolbar-color-circle{border-color:#334155;box-shadow:0 0 0 1px #ffffff1a,0 2px 6px #0000004d}.note-toolbar-color-circle:hover{transform:scale(1.15);box-shadow:0 0 0 1px #0003,0 4px 10px #00000026}.note-toolbar-font-selector{position:relative;display:flex;align-items:center}.note-toolbar-font-btn{background:transparent;border:1px solid var(--border-color);border-radius:8px;padding:0 10px;height:32px;display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;font-size:.82rem;font-weight:500;font-family:inherit;color:var(--text-color);transition:all .15s ease;min-width:105px;max-width:130px;text-align:left}.note-toolbar-font-btn:hover{background:var(--hover-bg);border-color:var(--primary-color)}.note-toolbar-font-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-toolbar-font-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:120;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:140px;animation:popoverIn .15s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .note-toolbar-font-menu{background:#1e293bf0;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.note-toolbar-font-option{background:transparent;border:none;outline:none;padding:8px 10px;border-radius:8px;font-size:.82rem;text-align:left;cursor:pointer;color:var(--text-color);transition:background-color .12s ease,color .12s ease;display:flex;justify-content:space-between;align-items:center;white-space:nowrap}.note-toolbar-font-option:hover{background-color:var(--hover-bg)}.note-toolbar-font-option.selected{font-weight:600;color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 8%,transparent)}.note-toolbar-size-selector{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;height:32px;background:transparent}.note-toolbar-size-selector:hover{border-color:var(--primary-color)}.note-toolbar-size-btn{background:transparent;border:none;width:26px;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-color);transition:background-color .15s ease}.note-toolbar-size-btn:hover{background-color:var(--hover-bg)}.note-toolbar-size-display{width:28px;text-align:center;font-size:.82rem;font-weight:600;color:var(--text-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);height:100%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.note-toolbar-palette-popover{position:absolute;top:calc(100% + 8px);left:calc(50% - 91px);background:var(--bg-surface);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:120;padding:12px;width:182px;display:flex;flex-direction:column;gap:8px;animation:toolbarPopoverIn .15s cubic-bezier(.34,1.56,.64,1)}@keyframes toolbarPopoverIn{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .note-toolbar-palette-popover{background:#1e293bf0;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.palette-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:2px;text-align:left}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.palette-color-swatch{width:26px;height:26px;border-radius:6px;border:1.5px solid #ffffff;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 0 0 1px #0000001a,0 1px 3px #0000000d}[data-theme=dark] .palette-color-swatch{border-color:#334155;box-shadow:0 0 0 1px #ffffff14,0 1px 3px #0003}.palette-color-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 1px #00000026,0 3px 6px #0000001f}.note-toolbar-btn[data-tooltip]:after,.note-toolbar-color-circle[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--text-color);color:var(--bg-color);padding:4px 8px;border-radius:6px;font-size:.68rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease .3s,transform .15s ease .3s;z-index:200;box-shadow:0 2px 8px #00000026;border:1px solid var(--border-color)}.note-toolbar-btn[data-tooltip]:hover:after,.note-toolbar-color-circle[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.selected-note-pill-menu{position:absolute;z-index:100;background:var(--bg-surface);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 4px 16px #0000001f,inset 0 1px #ffffff1a;padding:4px 6px;display:flex;align-items:center;gap:4px;pointer-events:auto;transition:left .08s ease-out,top .08s ease-out}[data-theme=dark] .selected-note-pill-menu{border-color:#ffffff14;box-shadow:0 6px 20px #0006,inset 0 1px #ffffff08}.selected-note-pill-menu button{background:transparent;border:none;color:var(--text-color);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease,transform .1s ease}.selected-note-pill-menu button:hover{background:var(--hover-bg)}.selected-note-pill-menu button:active{transform:scale(.92)}.selected-note-pill-menu button.danger:hover{background:#ef444414;color:#ef4444}.selected-note-pill-menu button.locked-btn{color:var(--primary-color)}.palette-color-swatch.swatch-transparent,.note-toolbar-color-circle.swatch-transparent{background:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%)!important;background-size:8px 8px!important;background-position:0 0,0 4px,4px -4px,-4px 0!important;background-color:#fff!important}.toolbox-scroll-container{display:flex;gap:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.canvas-toolbox.align-left .toolbox-scroll-container,.canvas-toolbox.align-right .toolbox-scroll-container{flex-direction:column;max-height:calc(100vh - 160px);overflow-y:auto;overflow-x:hidden;padding-right:2px}.canvas-toolbox.align-bottom .toolbox-scroll-container{flex-direction:row;max-width:calc(100vw - 160px);overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.toolbox-scroll-container::-webkit-scrollbar{width:4px;height:4px}.toolbox-scroll-container::-webkit-scrollbar-track{background:transparent}.toolbox-scroll-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px;transition:background-color .2s ease}.toolbox-scroll-container:hover::-webkit-scrollbar-thumb{background:#ffffff4d}[data-theme=dark] .toolbox-scroll-container::-webkit-scrollbar-thumb{background:#ffffff1a}[data-theme=dark] .toolbox-scroll-container:hover::-webkit-scrollbar-thumb{background:#ffffff40}.canvas-toolbox.align-left .settings-popover{left:68px;bottom:8px;top:auto}.canvas-toolbox.align-right .settings-popover{right:68px;bottom:8px;top:auto}.canvas-toolbox.align-bottom .settings-popover{bottom:68px;right:8px;left:auto}.arrow-picker-popover{min-width:175px;padding:10px}.arrow-picker-options{display:flex;flex-direction:column;gap:4px}.arrow-picker-option{display:flex;align-items:center;gap:10px;background:transparent;border:none;outline:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--text-color);transition:all .15s ease;text-align:left;width:100%}.arrow-picker-option:hover{background:var(--hover-bg)}.arrow-picker-option.selected{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-weight:600}.arrow-picker-option svg{flex-shrink:0}.text-sizes-popover{min-width:160px;padding:10px}.text-sizes-options{display:flex;flex-direction:column;gap:4px}.text-size-option{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:none;outline:none;padding:8px 12px;border-radius:8px;cursor:pointer;color:var(--text-color);transition:all .15s ease;text-align:left;width:100%}.text-size-option:hover{background:var(--hover-bg)}.text-size-option.selected{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-weight:600}.text-size-preview{font-weight:500;transition:color .15s ease}.text-size-preview.large{font-size:1.05rem;font-weight:600}.text-size-preview.medium{font-size:.95rem}.text-size-preview.small{font-size:.85rem}.text-size-hint{font-size:.75rem;opacity:.5;font-weight:400}.text-size-option.selected .text-size-hint{color:var(--primary-color);opacity:.8}.topbar-project-rename-container{display:flex;align-items:center;gap:6px}.topbar-project-rename-input{background:var(--input-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;padding:4px 8px;font-size:1.1rem;font-weight:600;font-family:inherit;outline:none;width:200px;box-sizing:border-box}.topbar-project-rename-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.topbar-rename-action-btn{background:none;border:1px solid var(--border-color);border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;padding:0}.topbar-rename-action-btn:hover{background:var(--hover-bg)}.topbar-rename-action-btn.confirm:hover{color:#22c55e;border-color:#22c55e;box-shadow:0 0 8px #22c55e26}.topbar-rename-action-btn.cancel:hover{color:#ef4444;border-color:#ef4444;box-shadow:0 0 8px #ef444426}.topbar-projects-list-btn{background:none;border:none;border-radius:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;padding:0;margin-left:2px}.topbar-projects-list-btn:hover{background:var(--hover-bg);color:var(--primary-color)}.auth-modal{max-width:420px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .form-group{display:flex;flex-direction:column;gap:6px}.auth-form .form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.auth-form .form-group input{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.auth-form .form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring)}.auth-code-input{font-size:24px!important;letter-spacing:8px;text-align:center;font-family:monospace}.auth-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);border-radius:8px;padding:10px 14px;font-size:13px}.auth-submit-btn{width:100%;padding:12px;font-size:15px;font-weight:500}.auth-switch{text-align:center;font-size:13px;color:var(--text-secondary)}.auth-switch .link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;font-weight:500;padding:0;text-decoration:underline}.auth-switch .link-btn:hover{color:var(--primary-hover)}.auth-code-message{font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.5}.topbar-auth-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--btn-secondary-bg);color:var(--text-color);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.topbar-auth-btn:hover{background:var(--btn-secondary-hover);border-color:var(--primary-color);color:var(--primary-color)}.topbar-user-menu{position:relative}.topbar-user-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:50%;background:var(--btn-secondary-bg);cursor:pointer;transition:all .2s ease;padding:0}.topbar-user-btn:hover{background:var(--btn-secondary-hover);border-color:var(--primary-color)}.topbar-user-avatar{font-size:14px;font-weight:600;color:var(--primary-color)}.topbar-user-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px var(--modal-shadow);padding:12px;z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-user-menu:hover .topbar-user-dropdown{display:block}.topbar-user-info{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border-color);margin-bottom:8px}.topbar-user-email{font-size:13px;font-weight:500;color:var(--text-color);word-break:break-all}.topbar-user-tier{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;width:fit-content}.topbar-user-tier.tier-free{background:var(--code-inline-bg);color:var(--text-secondary)}.topbar-user-tier.tier-sub{background:#22c55e1a;color:#16a34a}.topbar-user-logout-btn{width:100%;padding:8px;border:none;border-radius:6px;background:var(--btn-secondary-bg);color:var(--text-color);font-size:13px;cursor:pointer;transition:all .2s ease}.topbar-user-logout-btn:hover{background:var(--error-bg);color:var(--error-text)}.byok-provider-row{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px}.byok-provider-info{display:flex;align-items:center;justify-content:space-between}.byok-provider-label{font-size:14px;font-weight:500;color:var(--text-color)}.byok-status{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px}.byok-status.configured{background:#22c55e1a;color:#16a34a}.byok-status.empty{background:var(--code-inline-bg);color:var(--text-secondary)}.byok-input-row{display:flex;gap:8px}.byok-key-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:13px;outline:none;transition:border-color .2s}.byok-key-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.btn-sm{padding:6px 14px;font-size:12px;border-radius:6px}.btn-danger{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:var(--error-text);color:#fff}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1e1e1e;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-symbol,.hljs-name{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-number,.hljs-class{color:#b8d7a3}.hljs-string,.hljs-meta .hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-subst,.hljs-function,.hljs-title,.hljs-params,.hljs-formula{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-tag{color:#9b9b9b}.hljs-variable,.hljs-template-variable{color:#bd63c5}.hljs-attr,.hljs-attribute{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}
