:root{--color-paper:oklch(0.17 0.008 75);--color-paper-raised:oklch(0.20 0.009 75);--color-paper-sunken:oklch(0.14 0.007 75);--color-overlay:oklch(0.23 0.010 75);--color-ink:oklch(0.90 0.008 75);--color-ink-secondary:oklch(0.70 0.010 75);--color-ink-muted:oklch(0.55 0.008 75);--color-ink-faint:oklch(0.42 0.006 75);--color-accent:oklch(0.72 0.15 65);--color-accent-hover:oklch(0.78 0.16 65);--color-accent-muted:oklch(0.45 0.08 65);--color-accent-contrast:oklch(0.15 0.008 75);--color-border:oklch(0.27 0.008 75);--color-border-strong:oklch(0.34 0.010 75);--color-live:oklch(0.70 0.15 150);--color-live-bg:oklch(0.30 0.05 150);--color-building:oklch(0.72 0.15 75);--color-building-bg:oklch(0.30 0.05 75);--color-killed:oklch(0.62 0.18 25);--color-killed-bg:oklch(0.28 0.05 25);--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-s:12px;--space-m:16px;--space-l:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--radius-s:4px;--radius-m:8px;--radius-l:12px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"SF Mono","Fira Code","JetBrains Mono","Cascadia Code",Menlo,Monaco,Consolas,"Liberation Mono",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.625;--transition-fast:120ms ease;--transition-normal:200ms ease;--focus-ring:0 0 0 2px var(--color-paper),0 0 0 4px var(--color-accent)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body,html{overflow-x:clip}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-ink);background-color:var(--color-paper);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}ol,ul{list-style:none}code,pre{font-family:var(--font-mono)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-s)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page-wrap{max-width:1200px;margin:0 auto;padding:var(--space-l) var(--space-m)}@media (min-width:768px){.page-wrap{padding:var(--space-xl) var(--space-l)}}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-m) var(--space-m);max-width:1200px;margin:0 auto}.site-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-s)}.site-title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-ink)}.site-title a{color:inherit}.site-counts{display:flex;gap:var(--space-s);flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--color-ink-secondary)}.count-badge{background:var(--color-paper-raised);border:1px solid var(--color-border);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);white-space:nowrap}.count-badge span{color:var(--color-accent);font-weight:600}.tabs{display:flex;gap:var(--space-2xs);flex-wrap:wrap;border-bottom:1px solid var(--color-border);padding:0 var(--space-m);max-width:1200px;margin:0 auto var(--space-m)}.tab-btn{background:transparent;color:var(--color-ink-secondary);padding:var(--space-s) var(--space-m);font-size:var(--font-size-sm);font-weight:500;position:relative;transition:color var(--transition-fast);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-btn:hover{color:var(--color-ink)}.tab-btn[data-active=true]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.card-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-m);gap:var(--space-m)}@media (min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--color-paper-raised);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-m);display:flex;flex-direction:column;gap:var(--space-s);transition:border-color var(--transition-fast),background var(--transition-fast);text-decoration:none;color:inherit}.card:hover{border-color:var(--color-border-strong);background:var(--color-overlay);color:inherit}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-s)}.card-title{font-size:var(--font-size-md);font-weight:600;letter-spacing:-.01em;line-height:var(--line-height-tight)}.card-link .card-title{color:var(--color-ink)}.card-link:hover .card-title{color:var(--color-accent)}.card-meta{font-size:var(--font-size-xs);color:var(--color-ink-muted)}.card-desc{font-size:var(--font-size-sm);color:var(--color-ink-secondary);line-height:var(--line-height-normal)}.card-desc-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);white-space:nowrap;line-height:1.4;border:1px solid transparent}.badge-live{background:var(--color-live-bg);color:var(--color-live);border-color:oklch(.4 .08 150)}.badge-building,.badge-watch{background:var(--color-building-bg);color:var(--color-building);border-color:oklch(.4 .08 75)}.badge-killed,.badge-skip{background:var(--color-killed-bg);color:var(--color-killed);border-color:oklch(.38 .08 25)}.badge-neutral{background:var(--color-paper-sunken);color:var(--color-ink-secondary);border-color:var(--color-border)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.kv-list{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-l);font-size:var(--font-size-xs);margin-top:auto}.kv-item{display:flex;flex-direction:column;gap:var(--space-3xs)}.kv-key{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.kv-val{color:var(--color-ink);font-weight:500}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.tag{font-size:var(--font-size-xs);color:var(--color-ink-muted);background:var(--color-paper-sunken);border:1px solid var(--color-border);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s)}.page-title{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-l)}.section-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin-bottom:var(--space-s)}.filter-bar{display:flex;gap:var(--space-2xs);flex-wrap:wrap;margin-bottom:var(--space-l)}.filter-btn{background:var(--color-paper-raised);border:1px solid var(--color-border);color:var(--color-ink-secondary);padding:var(--space-xs) var(--space-m);font-size:var(--font-size-sm);border-radius:var(--radius-s);transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.filter-btn[data-active=true]{background:var(--color-accent-muted);border-color:var(--color-accent);color:var(--color-accent)}.list-stack{display:flex;flex-direction:column;gap:var(--space-xs)}.list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-m);padding:var(--space-m);background:var(--color-paper-raised);border:1px solid var(--color-border);border-radius:var(--radius-m);transition:border-color var(--transition-fast),background var(--transition-fast);text-decoration:none;color:inherit}.list-item:hover{border-color:var(--color-border-strong);background:var(--color-overlay);color:inherit}.list-item-body{display:flex;flex-direction:column;gap:var(--space-xs)}.list-item-title{font-size:var(--font-size-md);font-weight:600}.list-item-meta{font-size:var(--font-size-xs);color:var(--color-ink-muted)}.list-item-desc{font-size:var(--font-size-sm);color:var(--color-ink-secondary)}@media (max-width:480px){.list-item{flex-direction:column;gap:var(--space-s)}}.back-link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--font-size-sm);color:var(--color-ink-secondary);margin-bottom:var(--space-m)}.back-link:hover{color:var(--color-accent)}.detail-header{margin-bottom:var(--space-xl)}.detail-title{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-s)}.detail-meta{display:flex;gap:var(--space-m);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-ink-muted)}.detail-section{margin-bottom:var(--space-2xl)}.detail-section-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-m);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.prose{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-ink-secondary)}.prose h1,.prose h2,.prose h3{color:var(--color-ink);font-weight:600;letter-spacing:-.01em;margin-top:var(--space-xl);margin-bottom:var(--space-m);line-height:var(--line-height-tight)}.prose h1{font-size:var(--font-size-2xl)}.prose h2{font-size:var(--font-size-xl)}.prose h3{font-size:var(--font-size-lg)}.prose h1:first-child,.prose h2:first-child{margin-top:0}.prose p{margin-bottom:var(--space-m)}.prose strong{color:var(--color-ink);font-weight:600}.prose em{font-style:italic}.prose code{font-size:var(--font-size-sm);border:1px solid var(--color-border);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);color:var(--color-accent)}.prose code,.prose pre{background:var(--color-paper-sunken)}.prose pre{border:1px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-m);overflow-x:clip;margin-bottom:var(--space-m)}.prose pre code{background:none;border:none;padding:0;color:var(--color-ink-secondary);font-size:var(--font-size-sm)}.prose ol,.prose ul{margin-bottom:var(--space-m);padding-left:var(--space-xl)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-xs)}.prose blockquote{border-left:3px solid var(--color-accent-muted);padding:var(--space-xs) var(--space-m);margin-bottom:var(--space-m);color:var(--color-ink-muted);font-style:normal;background:var(--color-paper-sunken);border-radius:0 var(--radius-s) var(--radius-s) 0}.prose blockquote p{margin-bottom:var(--space-xs)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.prose table{width:100%;border-collapse:collapse;margin-bottom:var(--space-m);font-size:var(--font-size-sm)}.prose td,.prose th{border:1px solid var(--color-border);padding:var(--space-xs) var(--space-s);text-align:left}.prose th{background:var(--color-paper-sunken);font-weight:600;color:var(--color-ink)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.nav-row{display:flex;gap:var(--space-m);flex-wrap:wrap;font-size:var(--font-size-sm);padding:var(--space-m) 0;border-top:1px solid var(--color-border);margin-top:var(--space-2xl)}.nav-row a{color:var(--color-ink-secondary)}.nav-row a:hover{color:var(--color-accent)}.metric-inline{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--font-size-xs);color:var(--color-ink-muted)}.metric-inline strong{color:var(--color-ink)}.empty-state{text-align:left;padding:var(--space-2xl) var(--space-m);color:var(--color-ink-muted);font-size:var(--font-size-sm)}.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:var(--space-m);border-bottom:1px solid var(--color-border)}.nav-brand{font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.02em;color:var(--color-ink)}.nav-brand a{color:inherit}.nav-links{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center}.nav-link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-ink-secondary);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);transition:color var(--transition-fast),background var(--transition-fast);text-decoration:none}.nav-link:hover{color:var(--color-ink);background:var(--color-paper-raised)}.nav-link[data-active=true]{color:var(--color-accent)}.feed-toolbar{display:flex;align-items:center;gap:var(--space-s);flex-wrap:wrap;padding:var(--space-s) 0;margin-bottom:var(--space-l)}.feed-toolbar-group{display:flex;align-items:center;gap:var(--space-xs)}.feed-toolbar-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted);font-weight:600}.select-control{background:var(--color-paper-raised);border:1px solid var(--color-border);color:var(--color-ink);font-size:var(--font-size-sm);font-family:inherit;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);cursor:pointer}.select-control:focus-visible{box-shadow:var(--focus-ring)}.toggle-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);background:var(--color-paper-raised);border:1px solid var(--color-border);color:var(--color-ink-secondary);font-size:var(--font-size-sm);padding:var(--space-2xs) var(--space-s);border-radius:var(--radius-s);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.toggle-btn:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.toggle-btn[data-active=true]{background:var(--color-accent-muted);border-color:var(--color-accent);color:var(--color-accent)}.opp-tag{display:inline-block;font-size:var(--font-size-xs);font-weight:500;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-s);white-space:nowrap;line-height:1.5;border:1px solid transparent}.opp-tag-chuhai{background:oklch(.3 .05 250);color:oklch(.75 .12 250);border-color:oklch(.38 .06 250)}.opp-tag-ai{background:oklch(.3 .05 300);color:oklch(.75 .12 300);border-color:oklch(.38 .06 300)}.opp-tag-monetize{background:oklch(.3 .05 145);color:oklch(.72 .13 145);border-color:oklch(.38 .06 145)}.opp-tag-seo{background:oklch(.3 .05 30);color:oklch(.72 .13 30);border-color:oklch(.38 .06 30)}.opp-tag-devtool{background:oklch(.3 .05 195);color:oklch(.72 .12 195);border-color:oklch(.38 .06 195)}.opp-tag-startup{background:oklch(.3 .05 15);color:oklch(.7 .13 15);border-color:oklch(.38 .06 15)}.opp-tag-product{background:oklch(.3 .05 330);color:oklch(.75 .12 330);border-color:oklch(.38 .06 330)}.material-feed{display:flex;flex-direction:column;gap:var(--space-s)}.material-card{display:flex;gap:var(--space-m);background:var(--color-paper-raised);border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-m);padding:var(--space-m);transition:border-color var(--transition-fast),background var(--transition-fast);text-decoration:none;color:inherit}.material-card:hover{background:var(--color-overlay);border-color:var(--color-border-strong);color:inherit}.material-card[data-opp-level=high]{border-left-color:var(--color-live)}.material-card[data-opp-level=medium]{border-left-color:var(--color-building)}.material-card[data-opp-level=low]{border-left-color:var(--color-border)}.material-card-score{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-m);font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-mono);letter-spacing:-.02em}.material-card-score[data-opp-level=high]{background:var(--color-live-bg);color:var(--color-live)}.material-card-score[data-opp-level=medium]{background:var(--color-building-bg);color:var(--color-building)}.material-card-score[data-opp-level=low]{background:var(--color-paper-sunken);color:var(--color-ink-muted)}.material-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.material-card-title{font-size:var(--font-size-md);font-weight:600;letter-spacing:-.01em;line-height:var(--line-height-tight);color:var(--color-ink)}.material-card:hover .material-card-title{color:var(--color-accent)}.material-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.material-card-meta{font-size:var(--font-size-xs);color:var(--color-ink-muted)}.material-card-summary{font-size:var(--font-size-sm);color:var(--color-ink-secondary);line-height:var(--line-height-normal);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feed-stats{display:flex;gap:var(--space-l);flex-wrap:wrap;margin-bottom:var(--space-m)}.feed-stat{display:flex;flex-direction:column;gap:var(--space-3xs)}.feed-stat-num{font-size:var(--font-size-xl);font-weight:700;color:var(--color-accent);font-family:var(--font-mono)}.feed-stat-label{font-size:var(--font-size-xs);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em}.painpoint-list{display:flex;flex-direction:column;gap:var(--space-xs)}.painpoint-item{display:flex;align-items:flex-start;gap:var(--space-s);padding:var(--space-m);background:var(--color-paper-raised);border:1px solid var(--color-border);border-radius:var(--radius-m);transition:border-color var(--transition-fast)}.painpoint-item:hover{border-color:var(--color-border-strong)}.painpoint-icon{font-size:var(--font-size-md);flex-shrink:0;line-height:1.5}.painpoint-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3xs)}.painpoint-text{font-size:var(--font-size-sm);color:var(--color-ink);line-height:var(--line-height-normal)}.painpoint-source{font-size:var(--font-size-xs);color:var(--color-ink-muted)}.search-input{width:100%;padding:var(--space-s) var(--space-m);background:var(--color-paper-raised);border:1px solid var(--color-border);border-radius:var(--radius-m);color:var(--color-ink);font-size:var(--font-size-sm);outline:none;transition:border-color var(--transition-fast)}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-ink-muted)}.filter-count{font-size:10px;opacity:.6;margin-left:2px}.load-more-wrap{text-align:center;padding:var(--space-l) 0}.load-more-btn{padding:var(--space-s) var(--space-xl);background:var(--color-paper-raised);border:1px solid var(--color-border);border-radius:var(--radius-m);color:var(--color-ink);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.load-more-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.result-count{text-align:center;font-size:var(--font-size-xs);color:var(--color-ink-muted);padding-bottom:var(--space-m)}