@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--ink:#0c0a09;--primary:#292524;--primary-active:#0c0a09;--body:#4e4e4e;--body-strong:#292524;--muted:#777169;--muted-soft:#a8a29e;--hairline:#e7e5e4;--hairline-soft:#f0efed;--hairline-strong:#d6d3d1;--canvas:#f5f5f5;--canvas-soft:#fafafa;--canvas-deep:#0c0a09;--surface-card:#fff;--surface-strong:#f0efed;--surface-dark:#0c0a09;--surface-dark-elevated:#1c1917;--on-primary:#fff;--on-dark:#fff;--on-dark-soft:#a8a29e;--gradient-mint:#a7e5d3;--gradient-peach:#f4c5a8;--gradient-lavender:#c8b8e0;--gradient-sky:#a8c8e8;--gradient-rose:#e8b8c4;--error:#dc2626;--success:#16a34a;--sp-xxs:4px;--sp-xs:8px;--sp-sm:12px;--sp-base:16px;--sp-md:20px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--sp-section:96px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-xxl:24px;--r-pill:9999px;--shimmer-color:#e7e5e4}.dark{--ink:#f5f5f4;--primary:#e7e5e4;--primary-active:#fff;--body:#a8a29e;--body-strong:#e7e5e4;--muted:#878580;--muted-soft:#44403c;--hairline:#292524;--hairline-soft:#1c1917;--hairline-strong:#44403c;--canvas:#0c0a09;--canvas-soft:#141211;--canvas-deep:#f5f5f4;--surface-card:#1c1917;--surface-strong:#292524;--surface-dark:#f5f5f4;--surface-dark-elevated:#e7e5e4;--on-primary:#0c0a09;--on-dark:#0c0a09;--on-dark-soft:#78716c;--shimmer-color:#292524}.dark .dropdown-panel{background:rgba(28,25,23,.98);border-color:var(--hairline-strong)}.dark .badge-feature{background:#2e1065;color:#d8b4fe}.dark .badge-bug{background:#450a0a;color:#fca5a5}.dark .badge-workflow_gap{background:#431407;color:#fed7aa}.dark .badge-not-started{background:#292524;color:#a8a29e}.dark .badge-in-progress{background:#172554;color:#93c5fd}.dark .badge-ready{background:#064e3b;color:#6ee7b7}.dark .badge-ready-to-test{background:#451a03;color:#fde047}.dark .badge-in-testing{background:#2e1065;color:#c084fc}.dark .badge-done{background:#064e3b;color:#6ee7b7}.dark .badge-dev{background:#172554;color:#93c5fd}.dark .badge-qa{background:#450a0a;color:#fca5a5}.dark .badge-prod{background:#064e3b;color:#6ee7b7}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--canvas);color:var(--body);line-height:1.5;letter-spacing:.16px;-webkit-font-smoothing:antialiased}a{color:var(--ink);transition:opacity .2s}a,a:hover{text-decoration:none}a:hover{opacity:.7}img{max-width:100%;display:block}h1,h2,h3,h4{color:var(--ink);font-weight:300;letter-spacing:-.36px}h1{font-size:2.5rem;line-height:1.1;letter-spacing:-.96px}h2{font-size:1.75rem;line-height:1.2}h3{font-size:1.25rem;line-height:1.3}.site-header{background:var(--canvas);border-bottom:1px solid var(--hairline);position:-webkit-sticky;position:sticky;top:0;z-index:100;height:64px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--sp-lg);display:flex;align-items:center;justify-content:space-between;height:100%}.nav-brand{font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:-.2px}.nav-links{list-style:none;display:flex;align-items:center;gap:var(--sp-xl)}.nav-links a{color:var(--body);font-size:.9375rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--ink);opacity:1}.nav-right{display:flex;align-items:center;gap:var(--sp-sm)}.main-content{max-width:1200px;margin:0 auto;padding:var(--sp-xl) var(--sp-lg)}.card{background:var(--surface-card);border-radius:var(--r-xl);border:1px solid var(--hairline);padding:var(--sp-lg);transition:box-shadow .2s}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.04)}.card-soft{background:var(--canvas-soft);border:1px solid var(--hairline-soft)}.card-dark{background:var(--surface-dark);color:var(--on-dark);border-color:var(--surface-dark-elevated)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs);padding:10px 20px;border-radius:var(--r-pill);font-family:Inter,sans-serif;font-size:.9375rem;font-weight:500;line-height:1;border:1px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-active)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--hairline-strong)}.btn-outline:hover:not(:disabled){border-color:var(--ink);background:var(--surface-strong)}.btn-ghost{background:transparent;color:var(--body);border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-strong)}.btn-danger{background:transparent;color:var(--error);border-color:var(--error)}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){opacity:.9}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-xs{padding:4px 10px;font-size:.75rem}.form-group{margin-bottom:var(--sp-base)}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--body-strong);text-transform:uppercase;letter-spacing:.96px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--hairline-strong);border-radius:var(--r-md);font-family:Inter,sans-serif;font-size:1rem;color:var(--ink);background:var(--surface-card);transition:border-color .2s,box-shadow .2s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(12,10,9,.08)}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;padding:0;margin:0;cursor:pointer}.form-group input[type=checkbox]:focus{box-shadow:none}.form-group .helper{font-size:.8125rem;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.96px;white-space:nowrap}.badge-feature{background:#faf5ff;color:#6b46c1}.badge-bug{background:#fff5f5;color:#c53030}.badge-workflow_gap{background:#fff7ed;color:#ea580c}.badge-not-started{background:var(--surface-strong);color:var(--muted)}.badge-in-progress{background:#ebf4ff;color:#2b6cb0}.badge-ready{background:#f0fff4;color:#276749}.badge-ready-to-test{background:#fff8e1;color:#b7791f}.badge-in-testing{background:#ede9fe;color:#5b21b6}.badge-done{background:#ecfdf5;color:#065f46}.badge-dev{background:#e8f0fe;color:#1967d2}.badge-qa{background:#fce8e6;color:#c5221f}.badge-prod{background:#e6f4ea;color:#137333}.alert{padding:12px 16px;border-radius:var(--r-md);margin-bottom:var(--sp-base);font-size:.9375rem}.alert-error{background:#fef2f2;color:var(--error);border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--sp-base);gap:var(--sp-base);margin-bottom:var(--sp-xl)}.stat-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:var(--sp-lg);text-align:center}.stat-number{font-size:2rem;font-weight:300;color:var(--ink);line-height:1;margin-bottom:var(--sp-xs)}.stat-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.96px}.task-list{display:flex;flex-direction:column;gap:var(--sp-sm)}.task-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:var(--sp-base) var(--sp-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-base);transition:box-shadow .2s}.task-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.04)}.task-card-left{flex:1 1;min-width:0}.task-card-title{font-weight:600;font-size:1rem;color:var(--ink);margin-bottom:6px}.task-card-meta{font-size:.8125rem;color:var(--muted);display:flex;gap:var(--sp-base);flex-wrap:wrap;align-items:center}.task-card-right{display:flex;gap:var(--sp-xs);flex-shrink:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-xl);gap:var(--sp-base);flex-wrap:wrap}.page-header h1{font-size:2rem}.section{margin-bottom:var(--sp-section)}.hr{border:none;border-top:1px solid var(--hairline);margin:var(--sp-xl) 0}.grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--sp-lg)}.grid-2,.grid-3{display:grid;gap:var(--sp-lg)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-lg)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-lg);gap:var(--sp-lg)}.movement-timeline{display:flex;flex-direction:column;gap:var(--sp-sm)}.movement-item{display:flex;gap:var(--sp-sm);align-items:flex-start;padding:var(--sp-sm) 0;border-bottom:1px solid var(--hairline-soft)}.movement-dot{width:8px;height:8px;border-radius:50%;background:var(--ink);margin-top:6px;flex-shrink:0}.movement-body{flex:1 1}.movement-body strong{color:var(--ink);font-weight:500}.movement-body .stage{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.96px}.movement-body .time{font-size:.75rem;color:var(--muted)}.auth-container{max-width:420px;margin:80px auto;padding:var(--sp-xxl);background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-xxl)}.auth-container h1{font-size:1.75rem;text-align:center;margin-bottom:var(--sp-xs)}.auth-container .subtitle{text-align:center;color:var(--muted);margin-bottom:var(--sp-xl);font-size:.9375rem}.pipeline-columns{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-lg);gap:var(--sp-lg);margin-bottom:var(--sp-xl)}.pipeline-col{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:var(--sp-base)}.pipeline-col-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.96px;color:var(--muted);margin-bottom:var(--sp-sm);padding:0 var(--sp-xs)}.orb-container{position:relative;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none;z-index:0}.orb-mint{background:var(--gradient-mint)}.orb-peach{background:var(--gradient-peach)}.orb-lavender{background:var(--gradient-lavender)}@media (max-width:768px){h1{font-size:1.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3,.grid-4,.pipeline-columns{grid-template-columns:1fr}.nav-links{gap:var(--sp-base)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.main-content{padding:var(--sp-base)}}.text-center{text-align:center}.text-muted{color:var(--muted);font-size:.9rem}.text-ink{color:var(--ink)}.mt-1{margin-top:var(--sp-xs)}.mt-2{margin-top:var(--sp-base)}.mt-3{margin-top:var(--sp-lg)}.mt-4{margin-top:var(--sp-xl)}.mb-1{margin-bottom:var(--sp-xs)}.mb-2{margin-bottom:var(--sp-base)}.mb-3{margin-bottom:var(--sp-lg)}.identity-dropdown-container{display:inline-block}.dropdown-trigger-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--hairline-strong);font-family:Inter,sans-serif;font-size:.8125rem;color:var(--ink);cursor:pointer;outline:none;transition:all .2s ease;font-weight:500}.dropdown-trigger-btn:hover{border-color:var(--ink);background:var(--surface-strong)}.menu-item-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;font-family:Inter,sans-serif;font-size:.8125rem;color:var(--body-strong);text-align:left;transition:all .15s ease;outline:none}.menu-item-btn:hover{background:var(--surface-strong);color:var(--ink)}.menu-item-btn.clear-btn:hover{background:#fef2f2;color:var(--error)}.dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--hairline-strong);border-radius:var(--r-lg);box-shadow:0 10px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.03);z-index:1000;overflow:hidden;animation:dropdownFadeIn .15s ease-out;padding:6px;display:flex;flex-direction:column;gap:2px}.back-btn{background:transparent;border:none;cursor:pointer;font-size:.8125rem;color:var(--muted);display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s ease}.back-btn:hover{background:var(--surface-strong);color:var(--ink)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.forum-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:var(--sp-lg);gap:var(--sp-lg)}.forum-main{min-width:0}.forum-sidebar{display:flex;flex-direction:column;gap:var(--sp-lg)}.comment-thread-container{margin-top:var(--sp-base)}.comment-node-wrapper{position:relative;margin-bottom:var(--sp-base)}.comment-thread-line{position:absolute;left:-14px;top:24px;bottom:0;width:2px;background:var(--hairline);border-radius:var(--r-xs);cursor:pointer;transition:background-color .2s}.comment-node-wrapper:hover>.comment-thread-line{background:var(--muted-soft)}.comment-card{background:var(--surface-card);border:1px solid var(--hairline-soft);border-radius:var(--r-lg);padding:var(--sp-base);transition:border-color .2s,box-shadow .2s}.comment-card:hover{border-color:var(--hairline-strong)}.topic-detail-card{margin-bottom:var(--sp-lg)}.forum-tag-badge{background:var(--surface-strong);color:var(--body-strong);font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:var(--r-md);margin-right:6px;margin-bottom:6px;display:inline-block;cursor:pointer;transition:background .2s}.forum-tag-badge:hover{background:var(--hairline-strong)}.forum-tag-badge.active{background:var(--primary);color:#fff}@keyframes shimmer{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}.skeleton-pill{display:inline-block;background:var(--shimmer-color,#e7e5e4);animation:shimmer 1.5s ease-in-out infinite}.nav-user-skeleton{display:flex;align-items:center;gap:var(--sp-sm);min-width:120px;height:28px}