@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;450;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--bg:#080b10;--bg-elevated:#0e1319;--surface:#111720;--surface-hover:#161d28;--surface-active:#1a2230;--border:hsla(0,0%,100%,.06);--border-hover:hsla(0,0%,100%,.1);--border-active:rgba(99,102,241,.3);--text-primary:#f0f2f5;--text-secondary:#9aa0b0;--text-tertiary:#5c6370;--text-inverse:#080b10;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:rgba(99,102,241,.3);--accent-subtle:rgba(99,102,241,.08);--success:#22c55e;--success-subtle:rgba(34,197,94,.1);--warning:#f59e0b;--warning-subtle:rgba(245,158,11,.1);--error:#ef4444;--error-subtle:rgba(239,68,68,.1);--info:#3b82f6;--gold:#c9a84c;--sidebar-width:240px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.5);--shadow-lg:0 8px 32px rgba(0,0,0,.6);--shadow-glow:0 0 20px var(--accent-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}.app-shell,.main-area{display:flex;min-height:100vh}.main-area{flex:1 1;margin-left:var(--sidebar-width);flex-direction:column}.main-content{flex:1 1;padding:32px 40px;max-width:960px;width:100%}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-elevated);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow:hidden}.sidebar-header{padding:24px 20px 20px;border-bottom:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:20px;color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.logo-text{font-size:15px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary)}.logo-sub{font-size:10px;color:var(--text-tertiary);letter-spacing:.3px;margin-top:1px}.sidebar-nav{flex:1 1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:450;transition:all .15s ease;position:relative;letter-spacing:-.1px}.sidebar-item:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-subtle);color:var(--accent-light);font-weight:500}.sidebar-item-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.sidebar-item-indicator{position:absolute;right:6px;width:3px;height:16px;border-radius:2px;background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.sidebar-footer{padding:14px 16px;border-top:1px solid var(--border);justify-content:space-between}.sidebar-footer,.sidebar-user{display:flex;align-items:center}.sidebar-user{gap:10px}.sidebar-user-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.sidebar-user-name{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3}.sidebar-user-role{font-size:10px;color:var(--text-tertiary)}.sidebar-logout{width:30px;height:30px;border-radius:6px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.sidebar-logout:hover{background:var(--error-subtle);color:var(--error)}.chat-layout{display:flex;flex-direction:column;height:calc(100vh - 64px);max-width:800px;margin:0 auto;width:100%}.chat-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px;border-bottom:1px solid var(--border)}.mode-row,.persona-row{display:flex;gap:3px}.mode-chip,.persona-chip{display:flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;border:1px solid transparent;border-radius:18px;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.mode-chip:hover,.persona-chip:hover{color:var(--text-primary);background:var(--surface-hover)}.persona-chip.active{background:var(--accent-subtle);border-color:var(--border-active);color:var(--accent-light);font-weight:600}.mode-chip.active.online{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2);color:var(--success)}.mode-chip.active.think{background:var(--accent-subtle);border-color:var(--border-active);color:var(--accent-light)}.mode-chip.active.normal{background:hsla(0,0%,100%,.04);border-color:var(--border-hover);color:var(--text-primary)}.messages-area{flex:1 1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:20px}.messages-area::-webkit-scrollbar{width:3px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}.message{display:flex;gap:14px;animation:msgIn .3s ease-out}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}.message.user .message-avatar{background:linear-gradient(135deg,var(--accent),#8b5cf6);box-shadow:0 2px 10px var(--accent-glow)}.message.assistant .message-avatar{background:var(--surface);border:1px solid var(--border)}.message-content{max-width:78%;padding:14px 18px;border-radius:var(--radius-lg);line-height:1.68;font-size:13.5px;letter-spacing:-.1px}.message.user .message-content{background:var(--accent-subtle);border:1px solid rgba(99,102,241,.15);border-bottom-right-radius:6px}.message.assistant .message-content{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.input-area{padding:16px 0 8px;display:flex;gap:10px}.input-area input{flex:1 1;padding:12px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:13.5px;font-family:var(--font-sans);outline:none;transition:all .2s ease}.input-area input::placeholder{color:var(--text-tertiary)}.input-area input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-subtle)}.input-area button{padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;letter-spacing:-.2px}.input-area button:hover{background:var(--accent-light);box-shadow:var(--shadow-glow)}.input-area button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;background:var(--accent)}.empty-state{text-align:center;padding:56px 24px}.empty-state h2{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);margin-bottom:10px}.empty-state p{color:var(--text-secondary);font-size:14px}.capability-hints{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:14px}.capability-hints span{padding:5px 12px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:11px;color:var(--text-secondary);letter-spacing:-.1px}.quick-prompts{display:flex;flex-direction:column;gap:5px;align-items:center;margin-top:20px}.quick-prompt-btn{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans)}.quick-prompt-btn:hover{border-color:var(--border-active);color:var(--accent-light);background:var(--accent-subtle)}.score-gauge{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.score-label{font-size:10px;color:var(--text-secondary);font-weight:500;letter-spacing:.2px;text-transform:uppercase}.score-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin:12px 0}.score-card-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:14px;letter-spacing:-.2px}.score-bars{display:flex;flex-direction:column;gap:8px}.score-bar-row{display:flex;align-items:center;gap:10px}.score-bar-label{width:56px;font-size:11px;color:var(--text-secondary);text-align:right;flex-shrink:0}.score-bar-track{flex:1 1;height:6px;background:hsla(0,0%,100%,.04);border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.16,1,.3,1);min-width:2px}.score-bar-value{width:28px;font-size:11px;color:var(--text-secondary);font-weight:600;text-align:left;font-family:var(--font-mono)}.score-card-summary{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary);line-height:1.6}.investment-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin:12px 0}.investment-card-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:14px;letter-spacing:-.2px}.investment-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.investment-stat{padding:10px 12px;background:hsla(0,0%,100%,.02);border:1px solid var(--border);border-radius:var(--radius-sm)}.investment-stat-label{font-size:10px;color:var(--text-tertiary);margin-bottom:4px}.investment-stat-value{font-size:16px;font-weight:700;font-family:var(--font-mono);letter-spacing:-.5px}.investment-total{margin-top:12px;padding:12px 14px;background:var(--accent-subtle);border:1px solid var(--border-active);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center}.investment-total span{font-size:12px;color:var(--text-secondary)}.investment-total-value{font-size:22px!important;font-weight:800!important;font-family:var(--font-mono)}.comparison-matrix{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin:12px 0}.comparison-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:14px;letter-spacing:-.2px}.comparison-table{font-size:12px}.comparison-header,.comparison-row{display:grid;grid-template-columns:120px repeat(auto-fit,minmax(80px,1fr));grid-gap:1px;gap:1px}.comparison-cell{padding:10px 12px;text-align:center}.comparison-cell.corner{background:transparent}.comparison-cell.header{font-size:11px;font-weight:700;color:var(--accent-light);background:var(--accent-subtle);text-transform:uppercase;letter-spacing:.5px}.comparison-cell.label{text-align:left;color:var(--text-secondary)}.comparison-cell.label,.comparison-cell.value{font-weight:500;background:hsla(0,0%,100%,.01)}.comparison-cell.value{color:var(--text-primary);font-family:var(--font-mono)}.comparison-cell.highlight{background:rgba(34,197,94,.06);color:var(--success);font-weight:700}.thinking-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.thinking-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-mono)}.thinking-panel-header:hover{background:hsla(0,0%,100%,.01)}.thinking-steps{padding:0 14px 10px}.thinking-step{margin-top:8px;border-left:1px solid var(--border);padding-left:12px}.step-header{font-size:10px;font-weight:600;color:var(--accent-light);font-family:var(--font-mono);letter-spacing:.5px}.step-plan{display:block;font-weight:400;color:var(--text-tertiary);font-size:10px;margin-top:2px}.step-reflection{margin-top:4px;padding:5px 8px;background:var(--accent-subtle);border-radius:4px;font-size:10px}.reflection-label{color:var(--accent-light)}.reflection-text{color:var(--text-secondary);margin-left:4px}.tool-call-card{background:hsla(0,0%,100%,.015);border:1px solid var(--border);border-radius:6px;padding:7px 10px;margin:3px 0;cursor:pointer;transition:all .15s}.tool-call-card:hover{border-color:var(--border-hover);background:hsla(0,0%,100%,.025)}.tool-call-header{display:flex;align-items:center;gap:7px;font-size:11px}.tool-call-name{flex:1 1;color:var(--text-secondary);font-size:11px}.tool-call-detail{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.tool-call-label{font-size:9px;font-weight:700;color:var(--accent-light);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-mono);margin-bottom:3px}.tool-call-json,.tool-call-result{background:var(--bg);padding:7px 9px;border-radius:4px;font-size:10px;font-family:var(--font-mono);color:var(--text-tertiary);white-space:pre-wrap;word-break:break-all;max-height:140px;overflow-y:auto}.markdown-body{line-height:1.7;font-size:13.5px}.markdown-body h1{font-size:1.25em;font-weight:700;margin:18px 0 8px;color:var(--text-primary);letter-spacing:-.3px}.markdown-body h2{font-size:1.1em;font-weight:600;margin:16px 0 6px;color:var(--text-primary);letter-spacing:-.2px}.markdown-body h3{font-size:1em;font-weight:600;margin:12px 0 4px;color:var(--text-secondary)}.markdown-body strong{color:#fff;font-weight:600}.markdown-body ol,.markdown-body ul{margin:6px 0;padding-left:22px}.markdown-body li{margin-bottom:3px}.markdown-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}.markdown-body th{padding:8px 12px;background:var(--accent-subtle);border:1px solid var(--border);font-weight:600;color:var(--accent-light);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-mono)}.markdown-body td{padding:7px 12px;border:1px solid var(--border);color:var(--text-secondary);font-size:12px}.markdown-body a{color:var(--accent-light)}.markdown-body blockquote{border-left:2px solid var(--accent);padding:8px 14px;margin:10px 0;background:var(--accent-subtle);border-radius:0 4px 4px 0;color:var(--text-secondary);font-style:italic;font-size:13px}.code-block-wrapper{position:relative;margin:10px 0;border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.code-lang-label{position:absolute;top:0;left:0;padding:3px 10px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase}.code-block-wrapper pre{margin:0!important;padding:28px 12px 10px!important;background:var(--bg)!important}.copy-button{position:absolute;top:4px;right:8px;padding:3px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-tertiary);font-size:10px;cursor:pointer;font-family:var(--font-sans)}.copy-button:hover{color:var(--accent-light);border-color:var(--accent)}.inline-code{padding:2px 5px;background:var(--accent-subtle);border-radius:3px;font-family:var(--font-mono);font-size:.88em;color:var(--accent-light)}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}.login-wrapper:before{width:600px;height:600px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);top:-200px;right:-200px}.login-wrapper:after,.login-wrapper:before{content:"";position:absolute;pointer-events:none}.login-wrapper:after{width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.15),transparent 70%);bottom:-100px;left:-100px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:48px 44px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:32px}.login-icon{font-size:40px;margin-bottom:16px;display:block}.login-header h1{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary);margin-bottom:6px}.login-header p{font-size:13px;color:var(--text-tertiary);letter-spacing:-.1px}.login-form{gap:16px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:-.1px}.form-group .optional{font-weight:400;color:var(--text-tertiary);font-size:10px}.form-group input{padding:11px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:13.5px;font-family:var(--font-sans);outline:none;transition:all .15s}.form-group input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-subtle)}.form-group input::placeholder{color:var(--text-tertiary)}.login-error{padding:9px 12px;background:var(--error-subtle);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--error);font-size:12px;font-weight:500}.login-btn{padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s;letter-spacing:-.2px}.login-btn:hover{background:var(--accent-light);box-shadow:var(--shadow-glow)}.login-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.login-features{display:flex;justify-content:center;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.feature-item{gap:5px;font-size:11px;color:var(--text-tertiary);letter-spacing:-.1px}.feature-item,.pref-toggle-btn{display:flex;align-items:center}.pref-toggle-btn{position:fixed;right:20px;bottom:80px;width:42px;height:42px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:18px;cursor:pointer;z-index:90;transition:all .15s;justify-content:center}.pref-toggle-btn:hover{border-color:var(--border-active);color:var(--accent-light);box-shadow:var(--shadow-glow)}.pref-sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pref-sidebar{width:360px;max-width:90vw;height:100%;background:var(--bg-elevated);border-left:1px solid var(--border);overflow-y:auto;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.pref-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg-elevated);z-index:1}.pref-sidebar-header h3{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.2px}.pref-close-btn{width:26px;height:26px;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.pref-close-btn:hover{border-color:var(--error);color:var(--error)}.pref-content{padding:14px 18px}.pref-empty,.pref-loading{text-align:center;padding:40px;color:var(--text-tertiary);font-size:13px}.pref-completeness{margin-bottom:20px}.pref-completeness-label{font-size:10px;color:var(--text-tertiary);margin-bottom:5px;font-family:var(--font-mono)}.pref-completeness-bar{height:3px;background:hsla(0,0%,100%,.04);border-radius:2px;overflow:hidden}.pref-completeness-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);border-radius:2px;transition:width .5s ease}.pref-section{padding:9px 0;border-bottom:1px solid var(--border)}.pref-label{font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.pref-value{font-size:12px;color:var(--text-primary);font-weight:500}.pref-value.unknown{color:var(--text-tertiary);font-weight:400}.pref-updated{margin-top:14px;padding-top:10px;border-top:1px solid var(--border);font-size:10px;color:var(--text-tertiary);text-align:center;font-family:var(--font-mono)}.dashboard,.memory-page{max-width:800px}.config-page h2,.dashboard h2,.memory-page h2{font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary);margin-bottom:18px}.task-list{display:flex;flex-direction:column;gap:8px}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;transition:border-color .15s}.task-card:hover{border-color:var(--border-hover)}.task-card h3{font-size:14px;font-weight:600;margin-bottom:6px;letter-spacing:-.2px}.task-meta{display:flex;gap:14px;font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.status-badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.success{background:var(--success-subtle);color:var(--success)}.status-badge.failure{background:var(--error-subtle);color:var(--error)}.status-badge.partial{background:var(--warning-subtle);color:var(--warning)}.memory-filters{display:flex;gap:6px;margin-bottom:14px}.memory-filters input,.memory-filters select{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);outline:none}.memory-filters input{flex:1 1}.memory-filters input:focus,.memory-filters select:focus{border-color:var(--border-active)}.memory-list{display:flex;flex-direction:column;gap:6px}.memory-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}.memory-type-badge{padding:2px 7px;border-radius:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.memory-type-badge.preference{background:var(--accent-subtle);color:var(--accent-light)}.memory-type-badge.fact{background:var(--success-subtle);color:var(--success)}.memory-type-badge.knowledge{background:var(--warning-subtle);color:var(--warning)}.memory-type-badge.episode{background:var(--error-subtle);color:var(--error)}.memory-content{flex:1 1;font-size:12px;line-height:1.5}.memory-meta{margin-top:3px;font-family:var(--font-mono)}.memory-delete,.memory-meta{font-size:10px;color:var(--text-tertiary)}.memory-delete{padding:3px 7px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer}.memory-delete:hover{border-color:var(--error);color:var(--error)}.memory-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--border)}.memory-tab{padding:7px 14px;background:none;color:var(--text-tertiary);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font-mono);letter-spacing:.3px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.memory-tab:hover{color:var(--text-secondary)}.memory-tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.config-page{max-width:600px}.config-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px}.config-section h3{font-size:13px;font-weight:600;color:var(--accent-light);margin-bottom:12px;letter-spacing:-.1px}.config-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border)}.config-row:last-child{border-bottom:none}.config-label{font-size:12px;color:var(--text-secondary);letter-spacing:-.1px}.config-desc{font-size:10px;color:var(--text-tertiary);display:block;margin-top:1px}.config-row input,.config-row select{padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);outline:none}.config-row input:focus,.config-row select:focus{border-color:var(--border-active)}.toggle{position:relative;width:40px;height:22px;cursor:pointer}.toggle input{display:none}.toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:11px;transition:all .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:after{transform:translateX(18px)}.config-textarea{width:100%;min-height:110px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);outline:none;resize:vertical}.config-textarea:focus{border-color:var(--border-active)}.config-save-btn{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;letter-spacing:-.1px}.config-save-btn:hover{background:var(--accent-light)}.recommend-section{margin-top:24px}.recommend-section h3{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:14px;letter-spacing:-.2px}.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.listing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:all .2s ease}.listing-card:hover{border-color:var(--border-active);background:var(--surface-hover);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}.listing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.listing-district{font-size:10px;color:var(--accent-light);font-weight:600;background:var(--accent-subtle);padding:2px 8px;border-radius:10px}.listing-price{font-size:16px;font-weight:800;color:var(--text-primary);font-family:var(--font-mono)}.listing-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;line-height:1.4;letter-spacing:-.1px}.listing-meta{font-size:11px;color:var(--text-secondary)}.listing-meta,.listing-tags{margin-bottom:8px;display:flex;gap:4px}.listing-tags{flex-wrap:wrap}.listing-tag{font-size:10px;padding:2px 7px;border-radius:10px;background:hsla(0,0%,100%,.04);color:var(--text-tertiary);border:1px solid var(--border)}.listing-highlight{font-size:11px;color:var(--gold);line-height:1.4}.recommend-hint{text-align:center;font-size:11px;color:var(--text-tertiary);margin-top:14px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.08);border-top:2px solid var(--accent);border-radius:50%;animation:spin .5s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}