pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--bg: #020510;--bg-secondary: rgba(8, 14, 32, .78);--bg-card: rgba(14, 22, 46, .52);--border: rgba(88, 166, 255, .14);--text: #e6edf3;--text-secondary: #8b949e;--accent: #58a6ff;--green: #238636;--green-text: #3fb950;--blue: #1f6feb;--red: #f85149;--radius: 8px;--glass-blur: blur(16px);--glass-border: rgba(255, 255, 255, .07)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background-color:var(--bg);background-image:radial-gradient(ellipse at 15% 40%,rgba(10,40,120,.38) 0%,transparent 55%),radial-gradient(ellipse at 82% 18%,rgba(80,10,110,.28) 0%,transparent 50%),radial-gradient(ellipse at 55% 85%,rgba(0,60,140,.22) 0%,transparent 45%),radial-gradient(ellipse at 90% 70%,rgba(40,0,80,.18) 0%,transparent 40%);background-attachment:fixed;color:var(--text);line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 3% 2%,rgba(255,255,255,.95),transparent),radial-gradient(1px 1px at 8% 7%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 15% 4%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 22% 11%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 31% 6%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 38% 2%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 45% 8%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 52% 3%,rgba(255,255,255,.95),transparent),radial-gradient(1px 1px at 61% 9%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 68% 4%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 75% 7%,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 82% 2%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 89% 6%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 95% 11%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 6% 18%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 14% 22%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 25% 17%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 33% 24%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 41% 19%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 49% 15%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 57% 21%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 65% 18%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 73% 23%,rgba(255,255,255,.95),transparent),radial-gradient(1px 1px at 81% 16%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 92% 20%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 4% 32%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 17% 35%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 28% 29%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 36% 37%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 44% 31%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 53% 38%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 62% 33%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 71% 28%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 79% 36%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 87% 30%,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 96% 34%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 2% 47%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 11% 43%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 20% 49%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 30% 44%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 39% 51%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 48% 46%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 56% 53%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 64% 48%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 70% 55%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 78% 42%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 85% 50%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 93% 45%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 7% 60%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 16% 64%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 26% 58%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 35% 66%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 43% 61%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 51% 68%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 60% 62%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 69% 57%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 77% 65%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 84% 59%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 91% 67%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 5% 75%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 13% 79%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 23% 73%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 32% 82%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 40% 76%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 47% 84%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 55% 71%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 63% 78%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 72% 85%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 80% 72%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 88% 80%,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 97% 76%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 9% 91%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 50% 93%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 95% 89%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 18% 96%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 67% 97%,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 19% 14%,rgba(200,220,255,.75),transparent),radial-gradient(2px 2px at 58% 29%,rgba(200,220,255,.6),transparent),radial-gradient(2px 2px at 84% 52%,rgba(200,220,255,.65),transparent),radial-gradient(2px 2px at 37% 68%,rgba(200,220,255,.5),transparent),radial-gradient(2px 2px at 76% 88%,rgba(200,220,255,.55),transparent),radial-gradient(2px 2px at 7% 38%,rgba(180,200,255,.6),transparent),radial-gradient(2px 2px at 92% 61%,rgba(180,200,255,.5),transparent);background-size:100% 100%;animation:star-twinkle-a 5.3s ease-in-out infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 10% 5%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 27% 13%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 43% 26%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 59% 14%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 76% 10%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 90% 27%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 21% 40%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 47% 55%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 66% 41%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 83% 63%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 12% 70%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 34% 77%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 54% 86%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 71% 74%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 98% 83%,rgba(255,255,255,.7),transparent);background-size:100% 100%;animation:star-twinkle-b 7.7s ease-in-out infinite}@keyframes star-twinkle-a{0%{opacity:.45;filter:brightness(.7)}15%{opacity:1;filter:brightness(1.6)}30%{opacity:.6;filter:brightness(.9)}50%{opacity:.95;filter:brightness(1.4)}70%{opacity:.5;filter:brightness(.8)}85%{opacity:1;filter:brightness(1.5)}to{opacity:.55;filter:brightness(.85)}}@keyframes star-twinkle-b{0%{opacity:.9;filter:brightness(1.3)}20%{opacity:.45;filter:brightness(.7)}40%{opacity:1;filter:brightness(1.6)}60%{opacity:.6;filter:brightness(.85)}80%{opacity:.95;filter:brightness(1.4)}to{opacity:.5;filter:brightness(.75)}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.app-header .logo{font-size:20px;font-weight:700;color:var(--text)}.app-header nav{display:flex;gap:24px;align-items:center}.app-header nav a{color:var(--text-secondary);font-size:14px;padding:4px 0;border-bottom:2px solid transparent}.app-header nav a:hover,.app-header nav a.active{color:var(--text);text-decoration:none;border-bottom-color:var(--accent)}.header-right{display:flex;align-items:center;gap:12px;position:relative}.user-menu{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--radius);background:none;border:none;color:var(--text)}.user-menu:hover{background:var(--bg-card)}.user-menu img{width:32px;height:32px;border-radius:50%}.dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#080e20eb;border:1px solid var(--border);border-radius:var(--radius);min-width:160px;box-shadow:0 8px 24px #0006;z-index:200}.dropdown a,.dropdown button{display:block;width:100%;padding:8px 16px;text-align:left;color:var(--text);background:none;border:none;font-size:14px}.dropdown a:hover,.dropdown button:hover{background:var(--bg-secondary);text-decoration:none}.app-body{display:flex;min-height:calc(100vh - 64px)}.main-content{flex:1;max-width:1600px;margin:0 auto;padding:24px 48px;min-width:0;width:100%;position:relative;z-index:1}.planet-bg-container{position:fixed;left:120px;right:0;top:64px;bottom:0;overflow:hidden;pointer-events:none;z-index:0}.planet-bg-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.space-sidebar{width:120px;flex-shrink:0;position:sticky;top:64px;align-self:flex-start;height:calc(100vh - 64px);background:transparent;overflow:hidden}.stars-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(1px 1px at 15% 8%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(1px 1px at 70% 12%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 30% 20%,rgba(255,255,255,.9) 0%,transparent 100%),radial-gradient(1px 1px at 85% 25%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 50% 30%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 20% 38%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 90% 42%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(1px 1px at 60% 50%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 10% 55%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 75% 60%,rgba(255,255,255,.9) 0%,transparent 100%),radial-gradient(1px 1px at 40% 65%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1px 1px at 25% 72%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(1px 1px at 88% 78%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 55% 82%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(2px 2px at 35% 15%,rgba(200,220,255,.6) 0%,transparent 100%),radial-gradient(2px 2px at 80% 45%,rgba(200,220,255,.4) 0%,transparent 100%),radial-gradient(2px 2px at 12% 68%,rgba(200,220,255,.5) 0%,transparent 100%);animation:star-twinkle-a 6.1s ease-in-out infinite}.trajectory-line{position:absolute;left:50%;top:8%;bottom:8%;width:2px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,rgba(88,166,255,.3) 0px,rgba(88,166,255,.3) 6px,transparent 6px,transparent 14px);z-index:1}.celestial-body{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:3}.planet-img{border-radius:50%;object-fit:cover;display:block}.earth-img{width:72px;height:72px;box-shadow:0 0 16px #0078ff80,0 0 32px #0050c833}.moon-img{width:54px;height:54px;box-shadow:0 0 12px #c8c8dc66}.mars-img{width:46px;height:46px;box-shadow:0 0 12px #dc502880}.planet-label{font-size:10px;color:#fff9;margin-top:4px;display:flex;align-items:center;gap:3px;white-space:nowrap}.planet-target{font-size:9px;color:#58a6ffb3}.reached-badge{font-size:11px;position:absolute;top:-4px;right:-4px}.rocket-ship{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:4;transition:bottom .8s cubic-bezier(.25,.46,.45,.94)}.rocket-img{width:48px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,140,30,.9)) drop-shadow(0 0 16px rgba(255,100,0,.5));animation:rocket-float 2.5s ease-in-out infinite}@keyframes rocket-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.rocket-count{font-size:11px;font-weight:700;color:#fff;background:#ff781ecc;border-radius:8px;padding:1px 5px;margin-top:2px;line-height:1.4}.sidebar-progress-info{position:absolute;top:8px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:5;font-size:9px;color:#58a6ffcc}.app-header,.stat-card,.card,.idea-card,.dashboard-section,.kpi-card,.kpi-form,.idea-content,.mvp-card,.modal,.dropdown,.editor-pane,.preview-pane{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.badge-open{background:#1f6feb33;color:#58a6ff}.badge-mvp{background:#23863633;color:#3fb950}.badge-archived{background:#6e768133;color:#8b949e}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;border:1px solid var(--border);background:var(--bg-card);color:var(--text);transition:background .15s}.btn:hover{background:var(--bg-secondary)}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:#2ea043}.btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.btn-danger:hover{background:#f851491a}.btn-sm{padding:4px 12px;font-size:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.form-input{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #58a6ff4d}.avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary)}.avatar-sm{width:24px;height:24px}.avatar-lg{width:64px;height:64px}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px}.login-page h1{font-size:48px;font-weight:800}.login-page p{color:var(--text-secondary);font-size:18px;max-width:480px;text-align:center}.btn-google{padding:12px 32px;font-size:16px;background:#fff;color:#24292f;border:none;border-radius:var(--radius);font-weight:600}.btn-google:hover{background:#f0f0f0}.btn-dev{padding:8px 24px;font-size:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary)}.btn-dev:hover{color:var(--text);border-color:var(--text-secondary)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stat-card .stat-value{font-size:32px;font-weight:700}.stat-card .stat-label{font-size:14px;color:var(--text-secondary);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.dashboard-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.dashboard-section h3{font-size:16px;margin-bottom:16px;color:var(--text-secondary)}.ranking-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.ranking-item:last-child{border-bottom:none}.ranking-number{font-size:14px;font-weight:700;color:var(--text-secondary);width:24px;text-align:center}.ranking-info{flex:1;font-size:14px}.ranking-count{font-weight:600;color:var(--accent)}.ideas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ideas-filters{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.tab-btn{padding:6px 14px;border-radius:20px;font-size:13px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.tag-filter{padding:4px 10px;border-radius:12px;font-size:12px;background:#58a6ff1a;color:var(--accent);border:1px solid transparent;cursor:pointer}.tag-filter.active{border-color:var(--accent)}.search-input{padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;width:240px}.search-input:focus{outline:none;border-color:var(--accent)}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.idea-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .15s;display:block;color:inherit}.idea-card:hover{border-color:var(--text-secondary);text-decoration:none}.idea-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.idea-card h3{font-size:16px;font-weight:600;margin-bottom:8px}.idea-card .excerpt{font-size:14px;color:var(--text-secondary);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.idea-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary)}.idea-card-footer .author{display:flex;align-items:center;gap:6px}.idea-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.tag{padding:2px 8px;border-radius:12px;font-size:11px;background:#58a6ff1a;color:var(--accent)}.idea-detail-header{margin-bottom:24px}.idea-detail-header h1{font-size:28px;margin-bottom:12px}.idea-meta{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--text-secondary)}.idea-meta .author{display:flex;align-items:center;gap:8px}.idea-actions{display:flex;gap:8px;margin-top:12px}.idea-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.mvp-section{margin-top:32px}.mvp-section h2{font-size:20px;margin-bottom:16px}.mvp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.mvp-card .mvp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mvp-card .mvp-author{display:flex;align-items:center;gap:8px;font-size:14px}.editor-page{max-width:960px;margin:0 auto}.editor-toolbar{display:flex;gap:4px;align-items:center}.editor-toolbar button{padding:4px 12px;border-radius:4px;font-size:13px;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.editor-toolbar button.active{background:var(--bg-card);color:var(--text)}.editor-container{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:400px}.editor-container.edit-only,.editor-container.preview-only{grid-template-columns:1fr}.editor-pane{border:1px solid var(--border);border-radius:var(--radius)}.editor-pane .cm-editor{min-height:500px;border-radius:var(--radius)}.preview-pane{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.tags-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);min-height:40px}.tags-input input{flex:1;min-width:120px;background:none;border:none;color:var(--text);outline:none;font-size:14px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#58a6ff26;color:var(--accent);border-radius:12px;font-size:12px}.tag-chip button{background:none;border:none;color:var(--accent);font-size:14px;line-height:1;padding:0}.profile-header{display:flex;align-items:center;gap:24px;margin-bottom:32px}.profile-info h1{font-size:24px}.profile-info p{color:var(--text-secondary);font-size:14px}.kpi-section{margin-bottom:32px}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.kpi-card .kpi-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.kpi-card .kpi-value{font-size:24px;font-weight:700;margin-bottom:8px}.progress-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s}.progress-green{background:var(--green-text)}.progress-blue{background:var(--accent)}.kpi-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-top:16px}.kpi-form h3{margin-bottom:16px}.kpi-form-row{display:flex;gap:16px;align-items:flex-end}.kpi-form-row .form-group{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:480px;max-width:90vw}.modal h2{margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.markdown-body{color:var(--text);line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:24px;margin-bottom:12px;font-weight:600;border-bottom:1px solid var(--border);padding-bottom:8px}.markdown-body p{margin-bottom:12px}.markdown-body code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:13px}.markdown-body pre{background:var(--bg);padding:16px;border-radius:var(--radius);overflow-x:auto;margin-bottom:16px}.markdown-body pre code{background:none;padding:0}.markdown-body ul,.markdown-body ol{padding-left:24px;margin-bottom:12px}.markdown-body blockquote{border-left:3px solid var(--border);padding-left:16px;color:var(--text-secondary);margin-bottom:12px}.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:16px}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:8px 12px;text-align:left}.markdown-body th{background:var(--bg);font-weight:600}.activity-list{list-style:none}.activity-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.activity-item:last-child{border-bottom:none}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.sidebar-progress-label{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:9px;color:#58a6ffbf;z-index:5;white-space:nowrap}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:middle;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.ai-result{margin-top:12px}.ai-section{margin-top:24px;margin-bottom:24px}.ai-section h2{font-size:20px;margin-bottom:16px}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.ai-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.ai-card h4{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.ai-card ul{list-style:none;padding:0}.ai-card ul li{font-size:14px;padding:4px 0;border-bottom:1px solid var(--border);color:var(--text)}.ai-card ul li:last-child{border-bottom:none}.ai-card p{font-size:14px;color:var(--text);line-height:1.6}.ai-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;padding:16px 0}.comment-section{margin-top:32px}.comment-section h2{font-size:20px;margin-bottom:16px}.comment-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-body{flex:1}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment-author{font-size:14px;font-weight:600}.comment-date{font-size:12px;color:var(--text-secondary)}.comment-content{font-size:14px;color:var(--text);line-height:1.6}.comment-form{margin-top:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.comment-form textarea{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;resize:vertical;min-height:80px}.comment-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #58a6ff4d}.comment-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.char-count{font-size:12px;color:var(--text-secondary)}.char-count.near-limit{color:#d29922}.char-count.at-limit{color:var(--red)}.gemini-key-section{margin-bottom:32px}.gemini-key-section h2{margin-bottom:16px}.key-status{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}.key-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.key-status-dot.active{background:var(--green-text);box-shadow:0 0 6px #3fb95080}.key-status-dot.inactive{background:var(--text-secondary)}.key-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:12px}.key-form-actions{display:flex;gap:8px;margin-top:12px}.analytics-section{margin-bottom:32px}.analytics-section h2{margin-bottom:16px}.analytics-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.analytics-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;text-align:center}.analytics-stat .value{font-size:24px;font-weight:700}.analytics-stat .label{font-size:12px;color:var(--text-secondary);margin-top:4px}@media (max-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.editor-container,.kpi-grid{grid-template-columns:1fr}.kpi-form-row{flex-direction:column}.ai-grid{grid-template-columns:1fr}.analytics-stats{grid-template-columns:1fr 1fr}}.blog-tag{background:#58a6ff1f;color:var(--accent);padding:2px 10px;border-radius:12px;font-size:12px}.blog-tag-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.blog-tag-filter-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:20px;padding:6px 16px;font-size:13px;cursor:pointer;transition:all .15s}.blog-tag-filter-btn:hover{color:var(--accent);border-color:var(--accent)}.blog-tag-filter-btn.active{background:#58a6ff1f;color:var(--accent);border-color:var(--accent)}.article-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:border-color .15s}.article-card:hover{border-color:var(--text-secondary)}.article-card-title{font-size:16px;font-weight:600;color:var(--text);display:block;margin-bottom:8px}.article-card-title:hover{color:var(--accent);text-decoration:none}.article-card-excerpt{color:var(--text-secondary);font-size:14px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.article-card-tags{display:flex;gap:6px;flex-wrap:wrap}.article-card-date{color:var(--text-secondary);font-size:12px;white-space:nowrap}.blog-markdown{font-size:15px;line-height:1.8;color:var(--text)}.blog-markdown h1,.blog-markdown h2,.blog-markdown h3,.blog-markdown h4{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.blog-markdown h1{font-size:1.8em;border-bottom:1px solid var(--border);padding-bottom:.3em}.blog-markdown h2{font-size:1.4em;border-bottom:1px solid var(--border);padding-bottom:.3em}.blog-markdown h3{font-size:1.2em}.blog-markdown p{margin-bottom:1em}.blog-markdown ul,.blog-markdown ol{margin-bottom:1em;padding-left:2em}.blog-markdown code{background:var(--bg-card);padding:.2em .4em;border-radius:4px;font-size:.9em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.blog-markdown pre{background:#0d1117aa;border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto;margin-bottom:1em}.blog-markdown pre code{background:none;padding:0;font-size:.9em}.blog-markdown blockquote{border-left:4px solid var(--accent);padding:.5em 1em;margin-bottom:1em;color:var(--text-secondary);background:var(--bg-card);border-radius:0 4px 4px 0}.blog-markdown table{width:100%;border-collapse:collapse;margin-bottom:1em}.blog-markdown th,.blog-markdown td{border:1px solid var(--border);padding:8px 12px;text-align:left}.blog-markdown thead th{background:#0d111766;font-weight:600}.blog-markdown tbody td{background:#0d111740}.blog-markdown img{max-width:100%;border-radius:var(--radius);margin:1em 0}.blog-markdown a{color:var(--accent)}.tag-chip-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.7}.tag-chip-btn:hover{opacity:1}.tags-input-field{flex:1;min-width:120px;background:none;border:none;color:var(--text);outline:none;font-size:14px}
