:root{--bg-base: #09090b;--bg-surface: #18181b;--bg-elevated: #1f1f23;--bg-hover: #27272a;--fg-primary: #fafafa;--fg-secondary: #d4d4d8;--fg-muted: #a1a1aa;--fg-faint: #71717a;--border: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .05);--border-focus: rgba(255, 255, 255, .12);--accent: #3b82f6;--accent-hover: #2563eb;--accent-muted: rgba(59, 130, 246, .15);--success: #22c55e;--success-muted: #166534;--success-border: rgba(34, 197, 94, .3);--error: #ef4444;--error-muted: #7f1d1d;--error-border: rgba(239, 68, 68, .3);--error-glow: rgba(239, 68, 68, .15);--error-light: #f87171;--highlight-gold: #D4AF37;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--ease: cubic-bezier(.25, 1, .5, 1);--duration-fast: .15s;--duration-normal: .2s}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}a{color:var(--fg-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--fg-primary)}.modal-body a,.about-section a,.tech-list a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(59,130,246,.3);padding-bottom:1px}.modal-body a:hover,.about-section a:hover,.tech-list a:hover{color:var(--accent-hover);border-bottom-color:var(--accent)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--fg-secondary);display:flex;justify-content:center;align-items:center;padding:var(--space-5);line-height:1.5;-webkit-font-smoothing:antialiased}.container{width:100%;max-width:560px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border);gap:var(--space-3)}.header-brand{display:flex;align-items:center;gap:var(--space-2)}.logo{flex-shrink:0;width:40px;height:40px;object-fit:cover;border-radius:var(--radius-md);background:var(--bg-base);border:1px solid var(--border)}.header h1{font-size:15px;font-weight:600;color:var(--fg-primary);letter-spacing:-.02em}.model-selector{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}.model-select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px var(--space-3);color:var(--fg-secondary);font-size:13px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease);height:28px}.model-select:hover{border-color:var(--border-focus)}.model-select:focus{outline:none;border-color:var(--accent)}.model-info{display:flex;align-items:center;gap:var(--space-1);font-size:11px;color:var(--fg-faint);letter-spacing:.02em;white-space:nowrap}.model-info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--fg-muted);font-size:10px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.model-info-btn:hover{background:var(--bg-hover);color:var(--fg-primary);border-color:var(--fg-muted)}.record-section{padding:var(--space-8) var(--space-5);text-align:center;min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-4)}.record-btn{width:96px;height:96px;border-radius:50%;border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease);display:flex;align-items:center;justify-content:center;position:relative}.record-btn.idle{background:var(--error)}.record-btn.idle:before{content:"";position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,var(--error-glow) 0%,transparent 70%);pointer-events:none;z-index:-1}.record-btn.idle:hover{background:var(--error-light);transform:scale(1.04)}.record-btn.recording{background:var(--error);animation:pulse 1.5s var(--ease) infinite}.record-btn.processing{background:var(--fg-faint);cursor:not-allowed}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}.record-icon{width:24px;height:24px;background:#fff;border-radius:var(--radius-sm)}.record-btn.recording .record-icon{border-radius:50%;width:20px;height:20px}.status-text{font-size:14px;color:var(--fg-muted)}.status-text.recording{color:var(--error)}.duration{font-variant-numeric:tabular-nums;font-family:SF Mono,ui-monospace,monospace;font-size:24px;font-weight:500;color:var(--fg-primary);letter-spacing:-.02em}.waveform-canvas{display:none;margin-top:var(--space-3);border-radius:var(--radius-md);background:#ef444414;border:1px solid var(--error-glow)}.progress-section{padding:var(--space-4);border-top:1px solid var(--border);display:none}.progress-section.visible{display:block}.progress-text{font-size:13px;color:var(--fg-muted);margin-bottom:var(--space-2)}.progress-bar{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s var(--ease);width:0%}.retry-btn{background:var(--accent);color:var(--fg-primary);border:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;margin-left:var(--space-2);transition:background var(--duration-fast) var(--ease)}.retry-btn:hover{background:var(--accent-hover)}.result-section{padding:var(--space-5);border-top:1px solid var(--border);display:none}.result-section.visible{display:block;animation:fadeSlideIn var(--duration-normal) var(--ease)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.transcription-header{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.transcription{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);font-size:14px;line-height:1.6;color:var(--fg-primary);min-height:80px;white-space:pre-wrap;flex:1}.audio-play-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-muted);color:var(--accent);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);cursor:pointer;font-size:12px;padding:0;transition:all var(--duration-fast) var(--ease)}.audio-play-btn:hover{background:var(--accent);color:var(--bg-base);border-color:var(--accent)}.audio-play-btn.playing{background:var(--error-muted);color:var(--error);border-color:var(--error-border)}.audio-play-btn.playing:hover{background:var(--error);color:#fff;border-color:var(--error)}.result-actions{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center}.export-dropdown{position:relative}.export-dropdown-trigger{display:flex;align-items:center;gap:var(--space-1)}.export-dropdown-trigger svg{flex-shrink:0;transition:transform var(--duration-fast) var(--ease)}.export-dropdown.open .export-dropdown-trigger svg{transform:rotate(180deg)}.export-dropdown-menu{position:absolute;bottom:100%;right:0;margin-bottom:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:160px;box-shadow:0 4px 12px #0000004d;opacity:0;pointer-events:none;transform:translateY(4px);transition:all var(--duration-fast) var(--ease);z-index:10}.export-dropdown.open .export-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.export-option{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--fg-secondary);font-size:13px;cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease)}.export-option:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.export-option:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.export-option:hover{background:var(--bg-hover);color:var(--fg-primary)}.export-option svg{flex-shrink:0;opacity:.6}.export-option:hover svg{opacity:1}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease);border:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--fg-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-focus)}.btn-small{padding:var(--space-1) var(--space-2);font-size:11px}.hint{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);font-size:12px;color:var(--fg-faint);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.privacy-info-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--fg-faint);cursor:pointer;transition:all var(--duration-fast) var(--ease);flex-shrink:0}.privacy-info-btn:hover{background:var(--bg-hover);color:var(--success);border-color:var(--success-border)}.privacy-info-btn svg{display:block;flex-shrink:0}.privacy-tooltip{position:fixed;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-size:12px;color:var(--fg-secondary);line-height:1.5;max-width:280px;z-index:1000;box-shadow:0 4px 12px #0000004d;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease)}.privacy-tooltip.visible{opacity:1;pointer-events:auto}.privacy-tooltip-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:600;color:var(--success);font-size:13px}.privacy-tooltip-title svg{color:var(--success);flex-shrink:0}.privacy-tooltip-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.privacy-tooltip-list li{padding-left:var(--space-4);position:relative;font-size:12px;color:var(--fg-secondary)}.privacy-tooltip-list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--success)}.speaking-tips{border-top:1px solid var(--border)}.speaking-tips-content{background:var(--bg-elevated);padding:var(--space-3) var(--space-5) var(--space-4)}.tips-header{font-size:11px;font-weight:600;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.tips-compact-list{list-style:none;padding:0;margin:0 0 var(--space-3) 0}.tips-compact-list li{font-size:12px;color:var(--fg-secondary);padding:var(--space-1) 0;line-height:1.4}.tips-compact-list li strong{color:var(--accent);font-weight:500}.tips-examples{display:flex;flex-direction:column;gap:var(--space-2)}.tip-example{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);font-size:11px;color:var(--fg-secondary);line-height:1.4}.tip-example-label{color:var(--accent);font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.05em;margin-right:var(--space-1)}.error-msg{background:var(--error-muted);border:1px solid #991b1b;color:#fca5a5;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:13px;margin:var(--space-4);margin-top:0;display:none}.error-msg.visible{display:block}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%) translateY(100px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:13px;color:var(--fg-primary);box-shadow:0 4px 12px #0000004d;z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease),transform var(--duration-normal) var(--ease);min-width:200px;text-align:center}.toast.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.toast-container{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column-reverse;gap:var(--space-2);pointer-events:none;max-width:90vw}.toast-container .toast{position:relative;bottom:auto;left:auto;transform:translateY(100px);pointer-events:auto}.toast-container .toast.visible{transform:translateY(0)}.trade-card{display:none}.trade-card.visible{display:block;padding:var(--space-5);border-top:1px solid var(--border)}.trade-card-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.trade-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-4) var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.trade-card-header-actions{display:flex;align-items:center;gap:var(--space-2)}.trade-card-collapse-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--fg-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease);font-size:10px}.trade-card-collapse-btn:hover{color:var(--fg-primary);background:var(--bg-hover);border-color:var(--border-focus)}.trade-card-content.trade-card-collapsed .trade-card-header{border-bottom:none}.trade-card-content.trade-card-collapsed .trade-card-body{display:none}.trade-card-ticker-group{display:flex;flex-direction:column;gap:var(--space-1)}.trade-card-ticker{font-size:20px;font-weight:700;color:var(--fg-primary);letter-spacing:-.01em;font-family:SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.trade-card-meta{display:flex;gap:var(--space-2);align-items:center}.trade-card-badge{font-size:10px;font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:var(--bg-base);color:var(--fg-faint);border:1px solid var(--border-subtle)}.trade-card-direction{font-size:13px;font-weight:700;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.trade-card-direction.long{background:var(--success-muted);color:var(--success);border:1px solid var(--success-border)}.trade-card-direction.short{background:var(--error-muted);color:var(--error);border:1px solid var(--error-border)}.trade-card-prices{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.trade-price-item{background:var(--bg-elevated);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.trade-price-label{font-size:9px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.trade-price-value{font-size:16px;font-weight:600;font-family:SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--fg-primary)}.trade-price-item.entry .trade-price-value{color:var(--accent)}.trade-price-item.stop-loss .trade-price-value{color:var(--error)}.trade-price-item.take-profit .trade-price-value{color:var(--success)}.trade-price-change{font-size:11px;font-family:SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:500}.trade-price-change.positive{color:var(--success)}.trade-price-change.negative{color:var(--error)}.trade-card-position{padding:var(--space-4);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);border-bottom:1px solid var(--border)}.trade-position-item{display:flex;flex-direction:column;gap:2px}.trade-position-label{font-size:10px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.trade-position-value{font-size:14px;color:var(--fg-secondary);font-weight:600;font-variant-numeric:tabular-nums;font-family:SF Mono,ui-monospace,monospace}.trade-card-indicators{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.trade-indicators-label{font-size:9px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:var(--space-2)}.trade-indicators-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.trade-indicator-badge{font-size:10px;font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--accent);border:1px solid rgba(59,130,246,.2);font-family:SF Mono,ui-monospace,monospace}.trade-summary{padding:var(--space-3) var(--space-4);font-size:12px;color:var(--fg-muted);line-height:1.6}.copyable-value{cursor:pointer;transition:opacity var(--duration-fast) var(--ease);position:relative}.copyable-value:hover{opacity:.8}.copyable-value:active{opacity:.6}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(5px)}20%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-5px)}}.trade-card-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:600}.trade-card-action{font-size:11px;font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.trade-card-action.buy,.saved-note-trade-action.buy{background:var(--success-muted);color:var(--success)}.trade-card-action.sell,.saved-note-trade-action.sell{background:var(--error-muted);color:var(--error-light)}.trade-card-details{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.trade-detail{display:flex;flex-direction:column;gap:2px}.trade-detail-label{font-size:10px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em}.trade-detail-value{font-size:15px;color:var(--fg-secondary);font-weight:500;font-variant-numeric:tabular-nums;font-family:SF Mono,ui-monospace,monospace}.saved-notes-section{display:none;padding:var(--space-5);border-top:1px solid var(--border)}.saved-notes-section.visible{display:block}.saved-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.saved-notes-header h2{font-size:11px;font-weight:600;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.saved-notes-search{position:relative;display:none;align-items:center;flex:1;min-width:180px;max-width:300px}.saved-notes-search.visible{display:flex}.saved-notes-search svg:first-child{position:absolute;left:var(--space-2);color:var(--fg-faint);pointer-events:none;flex-shrink:0}.saved-notes-search-input{width:100%;padding:5px var(--space-2) 5px 32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg-secondary);font-size:12px;transition:all var(--duration-fast) var(--ease);height:28px}.saved-notes-search-input:focus{outline:none;border-color:var(--accent);background:var(--bg-surface)}.saved-notes-search-input::placeholder{color:var(--fg-faint)}.saved-notes-search-clear{position:absolute;right:var(--space-1);display:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--fg-faint);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.saved-notes-search-clear:hover{background:var(--bg-hover);color:var(--fg-secondary)}.saved-notes-search-clear.visible{display:flex}.saved-notes-search-clear svg{display:block;flex-shrink:0}.saved-notes-list{display:flex;flex-direction:column;gap:var(--space-3)}.saved-note{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.saved-note-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.saved-note-time{font-size:11px;color:var(--fg-faint);font-variant-numeric:tabular-nums}.saved-note-actions{display:flex;gap:var(--space-2)}.saved-note-btn{background:none;border:none;color:var(--fg-faint);cursor:pointer;padding:2px;font-size:11px;transition:color var(--duration-fast) var(--ease)}.saved-note-btn:hover{color:var(--fg-secondary)}.saved-note-btn.delete:hover{color:var(--error)}.saved-note-btn.play-btn{font-size:12px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--accent-muted);color:var(--accent)}.saved-note-btn.play-btn:hover{background:var(--accent);color:var(--bg-base)}.saved-note-btn.play-btn.playing{background:var(--error-muted);color:var(--error)}.saved-note-btn.play-btn.playing:hover{background:var(--error);color:#fff}.saved-note-text{font-size:13px;color:var(--fg-secondary);line-height:1.5}.saved-notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;gap:var(--space-4)}.empty-state-title{font-size:14px;color:var(--fg-muted);font-weight:500;margin:0}.empty-state-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.empty-state-note{font-size:12px;color:var(--fg-faint);margin:0}.saved-note-trade{background:var(--bg-base);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-2)}.saved-note-trade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.saved-note-trade-ticker{font-size:15px;font-weight:700;color:var(--fg-primary);font-family:SF Mono,ui-monospace,monospace;letter-spacing:-.01em}.saved-note-trade-action{font-size:10px;font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.saved-note-trade-details{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:12px}.saved-note-trade-detail{display:flex;gap:var(--space-1)}.saved-note-trade-detail-label{color:var(--fg-faint)}.saved-note-trade-detail-value{color:var(--fg-secondary);font-variant-numeric:tabular-nums;font-family:SF Mono,ui-monospace,monospace}.price-chart-container{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.price-chart{width:100%;height:auto;display:block}.price-level{stroke-width:1.5;stroke-linecap:round}.price-level-tp{stroke:var(--success);stroke-dasharray:2,2}.price-level-entry{stroke:var(--accent);stroke-width:2}.price-level-sl{stroke:var(--error);stroke-dasharray:2,2}.price-level-current{stroke:var(--fg-muted);stroke-dasharray:1,3;stroke-width:1}.price-label{font-size:10px;font-family:SF Mono,ui-monospace,monospace;fill:var(--fg-secondary);dominant-baseline:middle}.price-label-value{font-weight:500;font-size:11px}.price-label-pct{font-size:9px;fill:var(--fg-faint);margin-left:4px}.price-label-tag{font-size:8px;fill:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;margin-left:4px}.price-label-tp .price-label-value{fill:var(--success)}.price-label-entry .price-label-value{fill:var(--accent)}.price-label-sl .price-label-value{fill:var(--error)}.price-label-current .price-label-value{fill:var(--fg-muted)}.price-rr-badge{font-size:9px;font-weight:600;fill:var(--accent);text-anchor:middle;text-transform:uppercase;letter-spacing:.05em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.github-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--fg-faint);text-decoration:none;font-size:12px;transition:color var(--duration-fast) var(--ease)}.github-link:hover{color:var(--fg-muted)}.github-link svg{opacity:.6;transition:opacity var(--duration-fast) var(--ease)}.github-link:hover svg{opacity:.8}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--fg-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease);font-size:14px;font-weight:500}.icon-btn:hover{color:var(--fg-primary);background:var(--bg-hover);border-color:var(--border-focus)}.icon-btn svg{flex-shrink:0;display:block;width:16px;height:16px}#installBtn{color:var(--accent);border-color:#3b82f64d}#installBtn:hover{background:var(--accent-muted);border-color:var(--accent)}.footer{padding:var(--space-4);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.footer-privacy{display:flex;align-items:center;gap:var(--space-2);font-size:11px;color:var(--fg-faint)}.footer-privacy svg{opacity:.6}.footer-dot{width:3px;height:3px;border-radius:50%;background:var(--fg-faint);opacity:.4}.offline-indicator{display:flex;align-items:center;gap:var(--space-1);color:#f59e0b;font-size:11px;font-weight:500}.offline-indicator svg{flex-shrink:0;color:#f59e0b}.footer-faq{width:100%;border-top:1px solid var(--border);margin-top:var(--space-2)}.footer-faq-toggle{width:100%;padding:var(--space-3) 0;background:transparent;border:none;color:var(--fg-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease);display:flex;align-items:center;justify-content:space-between;text-align:left}.footer-faq-toggle:hover{color:var(--fg-secondary)}.footer-faq-toggle .toggle-arrow{color:var(--fg-faint);transition:transform var(--duration-fast) var(--ease)}.footer-faq-toggle[aria-expanded=true] .toggle-arrow{transform:rotate(180deg)}.footer-faq-content{display:none;padding-bottom:var(--space-3)}.footer-faq-content.visible{display:block}.faq-item{padding:var(--space-2) 0;border-top:1px solid var(--border-subtle)}.faq-item:first-child{border-top:none;padding-top:0}.faq-question{font-size:12px;font-weight:500;color:var(--fg-secondary);margin-bottom:var(--space-1)}.faq-answer{font-size:11px;color:var(--fg-muted);line-height:1.5}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease)}.modal.visible{opacity:1;pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(.95) translateY(10px);transition:transform var(--duration-normal) var(--ease)}.modal.visible .modal-content{transform:scale(1) translateY(0)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border)}.modal-header h2{font-size:15px;font-weight:600;color:var(--fg-primary);letter-spacing:-.01em}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);font-size:20px;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.modal-close:hover{background:var(--bg-hover);color:var(--fg-primary)}.modal-body{padding:var(--space-4);overflow-y:auto;flex:1;min-height:0}.modal-intro{font-size:13px;color:var(--fg-muted);margin-bottom:var(--space-5);line-height:1.5}.example-group{margin-bottom:var(--space-3)}.example-group h3{font-size:11px;font-weight:600;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.example{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px var(--space-3);font-size:13px;color:var(--fg-secondary);margin-bottom:6px;line-height:1.4}.tips-list{list-style:none;padding:0}.tips-list li{font-size:13px;color:var(--fg-secondary);padding:4px 0;padding-left:var(--space-4);position:relative;line-height:1.4}.tips-list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.tips-list strong{color:var(--accent);font-weight:500}.about-section{margin-bottom:var(--space-3)}.about-section:last-child{margin-bottom:0}.about-section h3{font-size:13px;font-weight:600;color:var(--fg-primary);margin-bottom:var(--space-2)}.about-section p{font-size:13px;color:var(--fg-muted);line-height:1.6;margin-bottom:var(--space-2)}.tech-list{list-style:none;padding:0;margin-top:var(--space-2)}.tech-list li{font-size:12px;color:var(--fg-secondary);padding:6px var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:6px}.tech-list strong{color:var(--accent)}.privacy-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-3)}.privacy-section h3{margin-bottom:var(--space-3)}.privacy-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.privacy-badge{display:flex;align-items:center;gap:var(--space-2);font-size:11px;color:var(--fg-muted);padding:var(--space-2)}.privacy-badge svg{color:var(--success);flex-shrink:0}.privacy-note{font-size:12px;color:var(--fg-faint);line-height:1.5;margin:0}.main-layout{display:flex;flex-direction:column}.left-panel{border-bottom:1px solid var(--border)}.left-panel .hint{border-top:none}.right-panel{flex:1;min-width:0}.empty-state{padding:var(--space-4)}.empty-state-hero{position:relative;width:100%;border-radius:var(--radius-md);overflow:hidden}.empty-state-hero-img{width:100%;height:auto;display:block}.empty-state-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-6) var(--space-5);background:linear-gradient(transparent 0%,#000000d9);text-align:center}.empty-state-headline{font-size:24px;font-weight:700;color:#fff;margin-bottom:var(--space-3);letter-spacing:.05em}.empty-state-headline .highlight{color:var(--highlight-gold)}.empty-state-text{font-size:15px;color:#ffffffe6;font-weight:500}.empty-state-hint{font-size:13px;color:#fff9;max-width:320px;margin:var(--space-2) auto 0;line-height:1.5}.empty-state-features{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;margin-top:var(--space-3)}.feature-tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);font-size:12px;font-weight:500;color:#ffffffd9;backdrop-filter:blur(4px)}.empty-state-actions{margin-top:var(--space-4)}.btn-demo{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.btn-demo:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-demo svg{flex-shrink:0}.right-panel.has-content .empty-state,.right-panel:has(.result-section.visible) .empty-state,.right-panel:has(.trade-card.visible) .empty-state,.right-panel:has(.progress-section.visible) .empty-state{display:none}@media(min-width:900px){.container{max-width:1100px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.main-layout{flex-direction:row;align-items:stretch}.left-panel{width:400px;flex-shrink:0;border-bottom:none;border-right:1px solid var(--border);background:transparent;position:sticky;top:0}.left-panel .record-section{border-bottom:1px solid var(--border)}.right-panel{flex:1;background:transparent;min-height:300px}.right-panel .trade-card.visible{border-top:none}.right-panel .result-section,.right-panel .saved-notes-section{border-top:1px solid var(--border)}.header{background:transparent;border-radius:0;border:none;margin-bottom:0}.footer{background:transparent;border-radius:0;border:none;margin-top:0}.footer-faq{display:flex;flex-direction:column;gap:var(--space-2)}.footer-faq-content{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.footer-faq-content.visible{display:grid}.faq-item{padding:0;border-top:none}}@media(max-width:480px){body{padding:var(--space-3)}.header{padding:var(--space-3);gap:var(--space-2)}.header-brand{gap:var(--space-2)}.header h1{font-size:14px}.header-actions{gap:var(--space-2)}.icon-btn{width:44px;height:44px}.icon-btn svg{width:20px;height:20px}.model-selector{flex:1;min-width:0}.model-select{width:100%;padding:5px var(--space-2);font-size:11px;height:28px}.model-info-text{display:none}.record-section{padding:var(--space-6) var(--space-3);min-height:140px;gap:var(--space-3)}.record-btn{width:88px;height:88px}.record-icon{width:26px;height:26px}.record-btn.recording .record-icon{width:22px;height:22px}.status-text{font-size:13px}.duration{font-size:22px}.result-section{padding:var(--space-4)}.result-actions{flex-wrap:wrap}.result-actions .btn{flex:1;min-width:80px}.export-dropdown{flex:1}.export-dropdown-trigger{width:100%;justify-content:center}.export-dropdown-menu{left:0;right:0;min-width:auto}.trade-card.visible{padding:var(--space-4)}.trade-card-header{padding:var(--space-3)}.trade-card-ticker{font-size:18px}.trade-card-prices{grid-template-columns:1fr}.trade-price-item{padding:var(--space-3)}.trade-price-value{font-size:15px}.trade-card-position{padding:var(--space-3);grid-template-columns:1fr;gap:var(--space-2)}.empty-state{padding:var(--space-3)}.empty-state-headline{font-size:20px}.empty-state-hero-overlay{padding:var(--space-4) var(--space-3)}.saved-notes-section{padding:var(--space-4)}.saved-note{padding:var(--space-3)}.footer{padding:var(--space-3);gap:var(--space-2);flex-direction:column;align-items:flex-start}.footer-privacy{font-size:10px;flex-wrap:wrap}.github-link{font-size:11px}.hint{padding:var(--space-3);font-size:11px;flex-wrap:wrap}.privacy-info-btn{width:24px;height:24px}.privacy-tooltip{max-width:calc(100vw - var(--space-8))}.modal{padding:var(--space-3)}.modal-content{max-height:90vh}.modal-header{padding:var(--space-3)}.modal-body{padding:var(--space-4)}.privacy-badges{grid-template-columns:1fr}.progress-section{padding:var(--space-3)}.error-msg{margin:var(--space-3);margin-top:0}}@media(max-width:380px){body,.header{padding:var(--space-2)}.header h1{font-size:13px}.logo{width:28px;height:28px}.header-actions{gap:var(--space-1)}.record-btn{width:76px;height:76px}.record-icon{width:24px;height:24px}.record-btn.recording .record-icon{width:20px;height:20px}.footer-privacy span{white-space:nowrap}}[data-theme=light]{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: #e2e8f0;--fg-primary: #0f172a;--fg-secondary: #334155;--fg-muted: #64748b;--fg-faint: #94a3b8;--border: rgba(15, 23, 42, .08);--border-subtle: rgba(15, 23, 42, .05);--border-focus: rgba(15, 23, 42, .16);--accent: #3b82f6;--accent-hover: #2563eb;--accent-muted: rgba(59, 130, 246, .1);--success: #16a34a;--success-muted: #dcfce7;--success-border: rgba(22, 163, 74, .3);--error: #dc2626;--error-muted: #fee2e2;--error-border: rgba(220, 38, 38, .3);--error-glow: rgba(220, 38, 38, .08);--error-light: #ef4444;--highlight-gold: #b8942a}body.theme-transitions-enabled{transition:background-color var(--duration-normal) var(--ease),color var(--duration-normal) var(--ease)}body.theme-transitions-enabled *{transition:background-color var(--duration-normal) var(--ease),color var(--duration-normal) var(--ease),border-color var(--duration-normal) var(--ease)}.theme-icon{display:none}.theme-icon-sun{display:block}[data-theme=light] .theme-icon-sun{display:none}[data-theme=light] .theme-icon-moon{display:block}[data-theme=light] .modal-backdrop{background:#0f172a66;backdrop-filter:blur(4px)}[data-theme=light] .empty-state-hero-overlay{background:linear-gradient(transparent 0%,#ffffffeb)}[data-theme=light] .empty-state-headline{color:var(--fg-primary)}[data-theme=light] .empty-state-headline .highlight{color:var(--highlight-gold)}[data-theme=light] .empty-state-text{color:var(--fg-secondary)}[data-theme=light] .feature-tag{background:#0f172a14;border-color:#0f172a1f;color:var(--fg-primary)}[data-theme=light] .record-btn.idle{background:var(--error)}[data-theme=light] .record-btn.idle:before{background:radial-gradient(circle,rgba(220,38,38,.12) 0%,transparent 70%)}[data-theme=light] .record-icon{background:#fff}[data-theme=light] .waveform-canvas{background:#dc26260d;border-color:#dc26261f}[data-theme=light] .error-msg{background:var(--error-muted);border-color:#dc26264d;color:#b91c1c}[data-theme=light] .container{box-shadow:0 1px 3px #0000000f}[data-theme=light] .trade-card-content,[data-theme=light] .transcription,[data-theme=light] .saved-note{box-shadow:0 1px 2px #0000000a}
