:root{--bg: #0f0f0f;--bg-card: #1a1a1a;--bg-hover: #252525;--bg-column: #141414;--text: #e0e0e0;--text-muted: #888;--accent: #6c9bff;--accent-hover: #5a8af0;--border: #2a2a2a;--radius: 8px;--transition: .15s ease;--type-task: #6c9bff;--type-feature: #a78bfa;--type-epic: #f59e0b;--type-idea: #34d399;--type-bug: #f87171;--status-backlog: #555;--status-todo: #6c9bff;--status-doing: #f59e0b;--status-done: #34d399}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem}.logo{font-size:1.4rem;color:var(--accent)}.navbar-views{display:flex;gap:.25rem;background:var(--bg-card);border-radius:var(--radius);padding:.25rem}.view-btn{background:none;border:none;color:var(--text-muted);padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:var(--transition)}.view-btn:hover{color:var(--text)}.view-btn.active{background:var(--accent);color:#fff}.navbar-actions{display:flex;gap:.5rem;align-items:center}.btn{border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:none;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-danger{background:none;color:var(--type-bug);font-size:.75rem}.btn-danger:hover{background:#f871711a}#app{padding:1.5rem;height:calc(100vh - 57px);overflow:auto}.kanban{display:flex;gap:1rem;height:100%;min-height:0}.kanban-column{flex:1;min-width:240px;background:var(--bg-column);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.kanban-column-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.kanban-column-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);padding:.1rem .5rem;border-radius:99px}.kanban-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:60px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;cursor:grab;transition:var(--transition)}.card:hover{border-color:var(--accent);background:var(--bg-hover)}.card.sortable-ghost{opacity:.4}.card-title{font-size:.9rem;font-weight:500;margin-bottom:.25rem}.card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.card-type{padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.card-type[data-type=task]{background:#6c9bff26;color:var(--type-task)}.card-type[data-type=feature]{background:#a78bfa26;color:var(--type-feature)}.card-type[data-type=epic]{background:#f59e0b26;color:var(--type-epic)}.card-type[data-type=idea]{background:#34d39926;color:var(--type-idea)}.card-type[data-type=bug]{background:#f8717126;color:var(--type-bug)}.card-actions{display:none;margin-left:auto}.card:hover .card-actions{display:flex;gap:.25rem}#graph-container{width:100%;height:100%}.table-container{overflow:auto;height:100%}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:.6rem .75rem;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;background:var(--bg)}.data-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.data-table tr:hover td{background:var(--bg-hover)}dialog{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:1.5rem;min-width:380px;box-shadow:0 16px 48px #00000080}dialog::backdrop{background:#0009}dialog h3{margin-bottom:1rem;font-size:1.1rem}dialog label{display:block;margin-bottom:.75rem;font-size:.85rem;color:var(--text-muted)}dialog input,dialog select,dialog textarea{display:block;width:100%;margin-top:.25rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;font-family:inherit}dialog textarea{resize:vertical;min-height:60px}dialog input:focus,dialog select:focus,dialog textarea:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:.5rem}.empty-state-icon{font-size:2rem;opacity:.4}.landing-page:not([hidden]){display:flex;align-items:center;justify-content:center;min-height:100vh}.landing-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:480px;text-align:center}.landing-content h1{font-size:2.5rem;display:flex;align-items:center;gap:.75rem}.landing-content .logo{font-size:3rem}.landing-tagline{font-size:1.2rem;color:var(--text);font-weight:500}.landing-description{color:var(--text-muted);line-height:1.6}.btn-github{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;background:#fff;color:#000;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;font-weight:500;margin-top:.5rem}.btn-github:hover{background:#e0e0e0}.card-type[data-type=inbox_item]{background:#88888826;color:#888}.card-type[data-type=canvas_item]{background:#f472b626;color:#f472b6}.card-type[data-type=vision_item]{background:#818cf826;color:#818cf8}.card-type[data-type=stakeholder]{background:#2dd4bf26;color:#2dd4bf}.card-type[data-type=risk]{background:#fb923c26;color:#fb923c}.card-type[data-type=competitor]{background:#e879f926;color:#e879f9}:root{--type-inbox_item: #888;--type-canvas_item: #f472b6;--type-vision_item: #818cf8;--type-stakeholder: #2dd4bf;--type-risk: #fb923c;--type-competitor: #e879f9}.view-dropdown{position:relative}.view-dropdown-trigger{display:flex;align-items:center;gap:.25rem}.dropdown-arrow{font-size:.7rem;opacity:.6}.view-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.25rem;min-width:280px;z-index:200;box-shadow:0 8px 24px #0006}.view-dropdown-item{padding:.5rem .75rem;background:none;border:none;color:var(--text);font-size:.85rem;border-radius:calc(var(--radius) / 2);cursor:pointer;text-align:left;transition:background var(--transition)}.view-dropdown-item:hover{background:var(--bg-hover)}.view-dropdown-item.active{background:var(--accent);color:#fff}.inbox-view{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;height:100%}.inbox-quick-add{flex-shrink:0}.inbox-quick-input{width:100%;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color var(--transition)}.inbox-quick-input:focus{outline:none;border-color:var(--accent)}.inbox-quick-input::placeholder{color:var(--text-muted)}.inbox-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.inbox-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.inbox-item:hover{border-color:var(--accent)}.inbox-item-content{flex:1;min-width:0}.inbox-item-title{font-size:.9rem;font-weight:500}.inbox-item-notes{font-size:.8rem;color:var(--text-muted);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-item-date{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.inbox-item-actions{display:none;gap:.25rem;flex-shrink:0;margin-left:.75rem}.inbox-item:hover .inbox-item-actions{display:flex}.lean-canvas{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;grid-template-areas:"problem solution uvp advantage segments" "metrics solution uvp channels  segments" "costs   costs    revenue revenue revenue";gap:1px;background:var(--border);height:100%}.canvas-cell{background:var(--bg-card);padding:.75rem;display:flex;flex-direction:column;overflow:hidden}.canvas-cell-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-shrink:0}.canvas-cell-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.canvas-cell-add{font-size:1rem;padding:0 .4rem;line-height:1}.canvas-cell-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.canvas-card{padding:.5rem;cursor:default}.canvas-card .card-title{font-size:.8rem;margin-bottom:.15rem}.canvas-card-desc{font-size:.72rem;color:var(--text-muted);line-height:1.3}.canvas-card-actions{display:none;gap:.15rem;margin-top:.25rem}.canvas-card:hover .canvas-card-actions{display:flex}.vision-board{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"vision  vision  vision  vision" "target  needs   product goals";gap:1px;background:var(--border);height:100%}.vision-cell{background:var(--bg-card);padding:.75rem;display:flex;flex-direction:column;overflow:hidden}.vision-cell-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-shrink:0}.vision-cell-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.vision-cell-add{font-size:1rem;padding:0 .4rem;line-height:1}.vision-cell-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.vision-card{padding:.5rem;cursor:default}.vision-card .card-title{font-size:.85rem;margin-bottom:.15rem}.vision-card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.3}.vision-card-actions{display:none;gap:.15rem;margin-top:.25rem}.vision-card:hover .vision-card-actions{display:flex}.view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.view-toolbar h2{font-size:1.1rem;font-weight:600}.competitors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.competitor-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:var(--transition)}.competitor-card:hover{border-color:var(--accent)}.competitor-card h4{font-size:1rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between}.competitor-card a{color:var(--accent);font-size:.8rem;text-decoration:none}.competitor-card a:hover{text-decoration:underline}.competitor-position{display:inline-block;padding:.1rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase;margin-bottom:.75rem}.competitor-position[data-position=leader]{background:#34d39926;color:#34d399}.competitor-position[data-position=challenger]{background:#6c9bff26;color:#6c9bff}.competitor-position[data-position=niche]{background:#a78bfa26;color:#a78bfa}.competitor-position[data-position=emerging]{background:#fb923c26;color:#fb923c}.competitor-section{margin-top:.75rem;padding-left:.75rem;font-size:.8rem;line-height:1.5;color:var(--text-muted)}.competitor-section.strengths{border-left:3px solid #34d399}.competitor-section.weaknesses{border-left:3px solid #f87171}.competitor-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.competitor-actions{display:flex;gap:.25rem}.verticals{display:flex;gap:1rem;height:100%;overflow-x:auto}.vertical-column{flex:1;min-width:240px;background:var(--bg-column);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.vertical-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.vertical-column-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.vertical-column-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);padding:.1rem .5rem;border-radius:99px}.vertical-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:60px}.roadmap{display:flex;gap:1rem;height:100%;min-height:0}.grid-view-wrapper{display:flex;flex-direction:column;height:100%}.grid-view-container{flex:1;min-height:0}.grid-2d{display:grid;grid-template-columns:2rem repeat(5,1fr);grid-template-rows:repeat(5,1fr) 2rem;gap:2px;height:100%;position:relative}.grid-2d-cell{background:var(--bg-card);border-radius:4px;padding:.25rem;min-height:60px;display:flex;flex-direction:column;gap:.25rem;overflow:auto}.grid-2d-cell.drag-over{background:var(--bg-hover);outline:2px dashed var(--accent)}.grid-2d-y-label{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-muted);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.grid-2d-x-label{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-muted)}.grid-2d-axis-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.grid-2d-quadrant-label{position:absolute;font-size:.7rem;color:var(--text-muted);opacity:.3;text-transform:uppercase;letter-spacing:.05em;pointer-events:none}.grid-2d-item{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.35rem .5rem;font-size:.75rem;cursor:grab}.grid-2d-item:hover{border-color:var(--accent)}.grid-item-content{display:flex;flex-direction:column;gap:.1rem}.grid-item-name{font-weight:500}.grid-item-role{font-size:.65rem;color:var(--text-muted)}.grid-item-score{font-size:.65rem;font-weight:600}.grid-item-actions{display:none;gap:.15rem}.grid-2d-item:hover .grid-item-actions{display:flex}
