.context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs);min-width:200px;box-shadow:0 4px 6px #0000004d,0 0 20px #0003;z-index:10000;animation:fadeIn .1s ease-out}.context-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.danger{color:var(--accent-danger)}.context-menu-item.danger:hover{background:#ff44441a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:0 20px 60px #00000080,0 0 100px #00ff881a;animation:slideInRight .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-primary)}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.modal-close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--spacing-xl)}.modal-message{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:var(--spacing-md)}.modal-input{width:100%;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-display);font-size:14px;transition:all var(--transition-base)}.modal-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--glow-accent);background:var(--bg-secondary)}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-primary)}.modal-button{flex:1;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-family:var(--font-display);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-base);border:1px solid transparent}.modal-button-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-secondary)}.modal-button-cancel:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.modal-button-confirm{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.modal-button-confirm:hover{box-shadow:0 0 20px var(--glow-accent);transform:translateY(-1px)}.modal-button-confirm:active{transform:translateY(0)}.sidebar{width:320px;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:transform var(--transition-base)}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;width:85%;max-width:320px;height:100vh;height:100dvh;z-index:999;transform:translate(-100%);box-shadow:4px 0 12px #0000004d}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-closed{transform:translate(-100%)}}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);flex-shrink:0;position:relative}.sidebar-close-button{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm);cursor:pointer;display:none;align-items:center;justify-content:center;transition:all var(--transition-base);z-index:10;-webkit-tap-highlight-color:transparent}.sidebar-close-button:active{background:var(--bg-hover);transform:scale(.95)}@media (max-width: 768px){.sidebar-close-button{display:flex}.sidebar-header{padding-top:calc(var(--spacing-lg) + 40px)}}.sidebar-title{font-size:20px;font-weight:700;margin-bottom:var(--spacing-md);letter-spacing:-.02em}.title-accent{color:var(--accent-primary);font-weight:800}.sidebar-actions{display:flex;gap:var(--spacing-sm)}.icon-button{background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-display);font-size:14px;font-weight:500;transition:all var(--transition-base);flex:1;justify-content:center;min-height:40px;-webkit-tap-highlight-color:transparent}.icon-button:hover{background:var(--bg-hover);border-color:var(--border-accent);color:var(--text-primary);transform:translateY(-1px)}.icon-button:active{transform:translateY(0) scale(.96)}.icon-button.accent{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.icon-button.accent:hover{background:var(--accent-primary);box-shadow:0 0 20px var(--glow-accent);transform:translateY(-2px)}.icon-button.accent:active{transform:translateY(0) scale(.96)}@media (max-width: 768px){.icon-button{min-height:44px;padding:var(--spacing-md)}.icon-button:hover,.icon-button.accent:hover{transform:none}}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;position:relative}.sidebar-content.dragging{overflow-y:auto;position:relative;touch-action:none;-webkit-overflow-scrolling:auto;overscroll-behavior:none}@media (max-width: 768px){.sidebar-content{padding:var(--spacing-lg);overscroll-behavior-y:contain}}.folder-section{margin-bottom:var(--spacing-md);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.folder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-sm);min-height:48px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.folder-header:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.folder-header:active{transform:scale(.98)}.folder-header.drag-over{background:var(--bg-active);border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--glow-accent)}@media (max-width: 768px){.folder-header{min-height:56px;padding:var(--spacing-md) var(--spacing-lg)}.folder-header:hover{transform:none}}.folder-header-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.folder-chevron{color:var(--text-tertiary);flex-shrink:0}.folder-icon{color:var(--accent-secondary);flex-shrink:0}.folder-name{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.folder-count{font-size:12px;font-weight:500;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 8px;border-radius:10px;font-family:var(--font-mono)}.folder-conversations{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-lg);animation:slideInRight var(--transition-base) ease-out}.inbox-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm)}.inbox-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.inbox-count{font-size:12px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px;font-family:var(--font-mono)}.inbox-conversations{display:flex;flex-direction:column;gap:var(--spacing-xs)}.conversation-item{padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-height:60px;display:flex;align-items:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.conversation-item:hover{background:var(--bg-hover);border-color:var(--border-secondary);transform:translate(2px)}.conversation-item:active{transform:scale(.98)}.conversation-item.active{background:var(--bg-active);border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.conversation-item.long-pressing{background:var(--bg-active);transform:scale(.97);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.conversation-item{min-height:68px;padding:var(--spacing-lg)}.conversation-item:hover{transform:none}}.conversation-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.conversation-title{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{display:flex;align-items:center;gap:var(--spacing-xs);font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono)}.conversation-source{color:var(--accent-secondary);font-weight:500}.conversation-separator{color:var(--border-secondary)}.conversation-messages{color:var(--text-tertiary)}.settings-dropdown{position:absolute;top:100%;right:var(--spacing-lg);margin-top:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm);min-width:200px;box-shadow:0 4px 6px #0000004d,0 0 20px #0003;z-index:1000;animation:slideInRight var(--transition-base) ease-out}.settings-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.settings-item:hover{background:var(--bg-hover)}.settings-item.danger{color:var(--accent-danger)}.settings-item.danger:hover{background:#ff44441a}.settings-info{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-primary)}.settings-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-md);font-size:12px}.settings-stat-label{color:var(--text-tertiary)}.settings-stat-value{color:var(--accent-secondary);font-weight:600;font-family:var(--font-mono)}.action-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-end;animation:fadeIn var(--transition-fast)}.action-sheet{width:100%;background:var(--bg-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--spacing-lg);animation:slideUp var(--transition-base) ease-out;max-height:80vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary)}.action-sheet-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.action-sheet-header button{background:transparent;border:none;color:var(--text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;-webkit-tap-highlight-color:transparent}.action-sheet-header button:active{background:var(--bg-hover)}.action-sheet-actions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.action-sheet-actions button{width:100%;padding:var(--spacing-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-display);font-size:16px;font-weight:500;cursor:pointer;text-align:left;transition:all var(--transition-fast);min-height:56px;display:flex;align-items:center;-webkit-tap-highlight-color:transparent}.action-sheet-actions button:active{background:var(--bg-hover);transform:scale(.98)}.action-sheet-actions button.danger{color:var(--accent-danger);border-color:#ff44444d}.action-sheet-actions button.danger:active{background:#ff44441a}.folder-menu-button,.conversation-menu-button{background:transparent;border:none;color:var(--text-tertiary);padding:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;-webkit-tap-highlight-color:transparent;transition:all var(--transition-fast)}.folder-menu-button:active,.conversation-menu-button:active{background:var(--bg-hover);color:var(--text-primary);transform:scale(.95)}.folder-header .folder-menu-button{margin-left:auto}.conversation-item{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.conversation-info{flex:1;min-width:0}.sidebar.dragging{user-select:none;-webkit-user-select:none}.sidebar.dragging *{cursor:grabbing!important}.folder-header{position:relative}.folder-section.drag-over-reorder{border-top:3px solid var(--accent-primary);padding-top:var(--spacing-sm);margin-top:var(--spacing-sm)}.conversation-item.dragging{opacity:.8;transform:scale(1.05);box-shadow:0 4px 12px #0f86;border-color:var(--accent-primary);z-index:100;position:relative}.folder-header.drag-over{background:var(--bg-active);border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--glow-accent);transform:scale(1.02)}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.code-block{margin:var(--spacing-md) 0;background:#1e1e1e;border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow:hidden}.code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:#2a2a2a;border-bottom:1px solid var(--border-primary)}.code-language{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-secondary)}.code-copy-button{display:flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:4px 10px;border-radius:6px;font-family:var(--font-mono);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.code-copy-button:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.code-content{padding:var(--spacing-md);margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.6;background:#1e1e1e}.code-content code{display:block;color:#d4d4d4;background:transparent;padding:0;border:none;font-family:var(--font-mono)}.code-content .token.comment,.code-content .token.prolog,.code-content .token.doctype,.code-content .token.cdata{color:#6a9955}.code-content .token.punctuation{color:#d4d4d4}.code-content .token.property,.code-content .token.tag,.code-content .token.boolean,.code-content .token.number,.code-content .token.constant,.code-content .token.symbol,.code-content .token.deleted{color:#b5cea8}.code-content .token.selector,.code-content .token.attr-name,.code-content .token.string,.code-content .token.char,.code-content .token.builtin,.code-content .token.inserted{color:var(--accent-primary)}.code-content .token.operator,.code-content .token.entity,.code-content .token.url,.code-content .language-css .token.string,.code-content .style .token.string{color:#d4d4d4}.code-content .token.atrule,.code-content .token.attr-value,.code-content .token.keyword{color:var(--accent-secondary)}.code-content .token.function,.code-content .token.class-name{color:#dcdcaa}.code-content .token.regex,.code-content .token.important,.code-content .token.variable{color:#9cdcfe}.message{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);animation:fadeIn var(--transition-base) ease-out}.message-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);transition:all var(--transition-base)}.message-user .message-avatar{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-color:var(--accent-primary);color:var(--bg-primary)}.message-assistant .message-avatar{background:var(--bg-active);border-color:var(--border-secondary);color:var(--accent-secondary)}.message-content{flex:1;min-width:0}.message-role{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.message-user .message-role{color:var(--accent-primary)}.message-text{color:var(--text-primary);line-height:1.7;font-size:15px}.message-text p{margin-bottom:var(--spacing-md)}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.message-text h1{font-size:28px}.message-text h2{font-size:22px}.message-text h3{font-size:18px}.message-text ul,.message-text ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.message-text li{margin-bottom:var(--spacing-sm)}.message-text a{color:var(--accent-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.message-text a:hover{border-bottom-color:var(--accent-secondary)}.message-text blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--text-secondary);font-style:italic}.message-text table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0}.message-text th,.message-text td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-primary);text-align:left}.message-text th{background:var(--bg-tertiary);font-weight:600}.inline-code{background:var(--bg-tertiary);color:var(--accent-primary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:13px;border:1px solid var(--border-primary)}.message-timestamp{font-size:12px;color:var(--text-tertiary);margin-top:var(--spacing-sm);font-family:var(--font-mono)}.chat-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.chat-title-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.chat-title{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.chat-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;font-family:var(--font-mono)}.chat-source-badge{background:var(--bg-active);color:var(--accent-secondary);padding:4px 10px;border-radius:6px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.chat-meta-separator{color:var(--border-secondary)}.chat-message-count,.chat-timestamp{color:var(--text-tertiary)}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width: 768px){.chat-messages{overscroll-behavior-y:contain}}.chat-messages-inner{max-width:900px;margin:0 auto;padding:var(--spacing-xl)}@media (max-width: 768px){.chat-messages-inner{max-width:100%;padding:var(--spacing-lg)}}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.empty-state-content{max-width:500px;text-align:center;animation:fadeIn .5s ease-out}.empty-state-icon{width:96px;height:96px;margin:0 auto var(--spacing-lg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:24px;color:var(--bg-primary)}.pulse-animation{animation:pulse 2s ease-in-out infinite}.empty-state-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);letter-spacing:-.02em}.empty-state-description{font-size:16px;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-xl)}.import-button{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px var(--glow-accent)}.import-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--glow-accent)}.import-button:active{transform:translateY(0)}.supported-formats{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-primary)}.formats-title{font-size:13px;font-weight:600;color:var(--text-tertiary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em}.format-badges{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.format-badge{display:inline-block;padding:6px 12px;background:var(--bg-tertiary);color:var(--accent-secondary);border:1px solid var(--border-secondary);border-radius:6px;font-size:12px;font-weight:600;font-family:var(--font-mono)}.search-bar{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);flex-shrink:0}@media (max-width: 768px){.search-bar{padding:var(--spacing-md) var(--spacing-lg)}}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-md);color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-xl) var(--spacing-md) 44px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-display);font-size:14px;transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width: 768px){.search-input{font-size:16px;min-height:44px;padding:var(--spacing-md) 50px var(--spacing-md) 44px}}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--glow-accent);background:var(--bg-secondary)}.search-clear{position:absolute;right:var(--spacing-sm);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);min-width:32px;min-height:32px;-webkit-tap-highlight-color:transparent}.search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-clear:active{transform:scale(.9)}@media (max-width: 768px){.search-clear{min-width:40px;min-height:40px;padding:var(--spacing-md)}}.app{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden;position:relative}.app-topbar{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);flex-shrink:0;z-index:1000}.back-to-site{color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:color var(--transition-fast)}.back-to-site:hover{color:var(--accent-primary)}.app-body{display:flex;flex:1;overflow:hidden;position:relative}@media (max-width: 768px){.search-bar{display:none!important}}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;animation:fadeIn var(--transition-fast)}.mobile-header{display:none;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:10}.mobile-menu-button{background:transparent;border:none;color:var(--text-primary);padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.mobile-menu-button:active{background:var(--bg-hover);transform:scale(.95)}.mobile-header-title{font-size:18px;font-weight:700;letter-spacing:-.02em;flex:1}@media (max-width: 768px){.mobile-header{display:flex}.app-body{flex-direction:column}}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);position:relative}.main-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,var(--glow-accent) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--glow-secondary) 0%,transparent 50%);opacity:.03;pointer-events:none;z-index:0}.main-content>*{position:relative;z-index:1}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-hover: #222222;--bg-active: #2a2a2a;--border-primary: #2a2a2a;--border-secondary: #333333;--border-accent: #00ff88;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-tertiary: #707070;--accent-primary: #00ff88;--accent-secondary: #00ccff;--accent-warning: #ffaa00;--accent-danger: #ff4444;--glow-accent: rgba(0, 255, 136, .2);--glow-secondary: rgba(0, 204, 255, .2);--font-display: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Azeret Mono", "SF Mono", Consolas, monospace;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-display);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:pan-y;overscroll-behavior:none}body.dragging{user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden;position:fixed;width:100%}#root{width:100vw;height:100vh;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}::selection{background:var(--glow-accent);color:var(--accent-primary)}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--glow-accent)}50%{box-shadow:0 0 20px var(--glow-accent),0 0 30px var(--glow-accent)}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fade-in{animation:fadeIn var(--transition-base) ease-out}
