*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-root: #0A0A0B;--bg-surface: #141416;--bg-surface-hover: #1A1A1E;--bg-surface-active: #1F1F24;--bg-elevated: #1C1C20;--border: #23232A;--border-hover: #33333D;--text-primary: #E8E8ED;--text-secondary: #71717A;--text-tertiary: #52525B;--text-inverse: #0A0A0B;--accent-blue: #3B82F6;--accent-blue-dim: #2563EB;--accent-amber: #F59E0B;--accent-amber-dim: rgba(245, 158, 11, .15);--accent-green: #22C55E;--accent-green-dim: rgba(34, 197, 94, .15);--accent-red: #EF4444;--accent-red-dim: rgba(239, 68, 68, .15);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--transition-fast: .15s ease;--transition-base: .2s ease}html,body,#root{height:100%;background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{display:flex;height:100vh}.sidebar{width:220px;min-width:220px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--space-4) 0}.sidebar-brand{padding:var(--space-3) var(--space-5);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-2);flex:1}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.sidebar-link.active{color:var(--text-primary);background:var(--bg-surface-active)}.sidebar-link svg{width:16px;height:16px;opacity:.6}.sidebar-link.active svg{opacity:1}.sidebar-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);margin-top:auto}.main-content{flex:1;overflow-y:auto;padding:var(--space-8)}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.page-header p{font-size:var(--text-sm);color:var(--text-secondary)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--border-hover)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--accent-blue)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.stat-label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.stat-value{font-size:var(--text-3xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.stat-delta{font-size:var(--text-xs);font-weight:500;margin-top:var(--space-1)}.stat-delta.positive{color:var(--accent-green)}.stat-delta.negative{color:var(--accent-red)}.stat-delta.neutral{color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm);white-space:nowrap;line-height:1.4}.badge-blue{background:#3b82f626;color:var(--accent-blue)}.badge-amber{background:var(--accent-amber-dim);color:var(--accent-amber)}.badge-green{background:var(--accent-green-dim);color:var(--accent-green)}.badge-red{background:var(--accent-red-dim);color:var(--accent-red)}.badge-neutral{background:#71717a26;color:var(--text-secondary)}.pillar-bar-container{display:flex;flex-direction:column;gap:var(--space-1)}.pillar-row{display:flex;align-items:center;gap:var(--space-2)}.pillar-label{font-size:10px;font-weight:500;color:var(--text-tertiary);min-width:72px;text-transform:uppercase;letter-spacing:.05em}.pillar-track{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden;max-width:120px}.pillar-fill{height:100%;border-radius:2px;transition:width var(--transition-base)}.pillar-score{font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--text-secondary);min-width:18px;text-align:right}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--space-4)}.idea-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--transition-fast)}.idea-card:hover{border-color:var(--border-hover)}.idea-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);line-height:1.3}.idea-hook{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.idea-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.idea-keywords{display:flex;flex-wrap:wrap;gap:var(--space-1)}.keyword-pill{padding:1px 6px;font-size:10px;font-weight:500;color:var(--text-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm)}.urgency-score{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono);min-width:36px;text-align:center}.urgency-low{color:var(--accent-green)}.urgency-medium{color:var(--accent-amber)}.urgency-high{color:var(--accent-red)}.collapsible-trigger{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-tertiary);cursor:pointer;background:none;border:none;padding:var(--space-1) 0;transition:color var(--transition-fast)}.collapsible-trigger:hover{color:var(--text-secondary)}.collapsible-content{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.brief-list{display:flex;flex-direction:column;gap:var(--space-3)}.brief-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;color:inherit}.brief-item:hover{border-color:var(--accent-blue);background:var(--bg-surface-hover)}.brief-date{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-tertiary);min-width:80px}.brief-info{flex:1;min-width:0}.brief-info-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.brief-info-sub{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.section{margin-bottom:var(--space-8)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.data-table{width:100%;border-collapse:collapse}.data-table th{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.data-table td{font-size:var(--text-sm);color:var(--text-primary);padding:var(--space-3);border-bottom:1px solid var(--border)}.data-table tr:hover td{background:var(--bg-surface-hover)}.meta-insights{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.meta-insight-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.meta-insight-item:before{content:"→";color:var(--accent-blue);font-weight:600;flex-shrink:0}.topics-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.topic-card{padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.topic-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.topic-reason{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-3)}.topic-urgency{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-root)}.login-box{width:100%;max-width:360px;padding:var(--space-8)}.login-title{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.login-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.form-input{width:100%;padding:var(--space-3) var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--accent-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--text-primary);color:var(--text-inverse);width:100%}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{color:var(--text-primary)}.form-error{font-size:var(--text-xs);color:var(--accent-red);margin-top:var(--space-2)}.loading-container{display:flex;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-secondary);font-size:var(--text-sm)}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .6s linear infinite;margin-right:var(--space-2)}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;margin-bottom:var(--space-4);transition:color var(--transition-fast)}.back-link:hover{color:var(--text-primary)}.date-group{margin-bottom:var(--space-6)}.date-group-header{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.sentiment-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:var(--space-1)}.sentiment-dot.positive{background:var(--accent-green)}.sentiment-dot.negative{background:var(--accent-red)}.sentiment-dot.neutral{background:var(--text-tertiary)}
