.card{--card-accent:var(--color-vision);background:var(--card-glass);border:1px solid var(--card-border);width:200px;height:290px;min-height:290px;color:var(--text-primary);-webkit-backdrop-filter:blur(30px)saturate(180%);transform-style:preserve-3d;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;flex-shrink:0;margin-bottom:.75rem;padding:1.15rem;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #00000073,inset 0 0 20px #ffffff0d}.card:active{cursor:grabbing}.card.stage-concept{--card-accent:var(--color-vision)}.card.stage-narrative{--card-accent:var(--color-experience)}.card.stage-system{--card-accent:var(--color-loop)}.card.stage-level{--card-accent:var(--color-experience)}.card.stage-business{--card-accent:var(--color-business)}.card.stage-concept{box-shadow:0 10px 24px #00000073,0 0 18px #8b5cf64d}.card.stage-narrative{box-shadow:0 10px 24px #00000073,0 0 18px #06b6d447}.card.stage-system{box-shadow:0 10px 24px #00000073,0 0 18px #f9731642}.card.stage-level{box-shadow:0 10px 24px #00000073,0 0 18px #06b6d442}.card.stage-business{box-shadow:0 10px 24px #00000073,0 0 18px #10b98147}.card:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--card-accent) 20%, var(--card-accent) 80%, transparent 100%);height:2px;box-shadow:0 0 10px var(--card-accent);opacity:.95;pointer-events:none;z-index:4;position:absolute;top:0;left:10px;right:10px}.card:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(125deg,#0000 0%,#ffffff0d 30%,#ffffff1a 45%,#00fff914 50%,#9600ff14 55%,#ffffff0d 70%,#0000 100%) 0 0/400% 400%;transition:background-position .6s;position:absolute;inset:0}.card:hover{box-shadow:0 20px 40px #0009, 0 0 30px var(--prism-5);border-color:#ffffff4d;transform:translateY(-8px)scale(1.02)}.card:hover:before{background-position:100% 100%}.noise{opacity:.04;pointer-events:none;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:absolute;inset:0}.card-index{align-items:center;gap:9px;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-weight:500;display:flex}.rank{z-index:2;letter-spacing:-1px;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);text-shadow:0 1px #0003;font-size:1.58rem;font-weight:900;line-height:1;position:relative}.suit{z-index:1;opacity:.85;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--card-accent) 70%, transparent));color:var(--card-accent);margin-left:5px;font-size:.82rem;position:relative;transform:translateY(-1px)}.idea-label{font-family:var(--font-family);text-transform:uppercase;letter-spacing:1.5px;color:var(--card-accent);opacity:1;text-shadow:0 0 10px color-mix(in srgb, var(--card-accent) 55%, transparent);margin-bottom:6px;font-size:.81rem;font-weight:800;display:block}.card-title{letter-spacing:-.3px;word-break:keep-all;color:var(--text-primary);margin-bottom:12px;font-size:1.08rem;font-weight:800;line-height:1.28}.card-body{flex-direction:column;flex:1;display:flex}.idea-description{font-family:var(--font-family);color:var(--text-secondary);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.42;display:-webkit-box;overflow:hidden}.card-footer{border-top:1px solid color-mix(in srgb, var(--card-accent) 30%, var(--border-color));margin-top:auto;padding-top:10px}.card-tags{white-space:nowrap;text-overflow:ellipsis;height:22px;display:block;overflow:hidden}.card-tags span{background:var(--bg-surface-elevated);color:var(--text-secondary);border-radius:12px;margin-right:6px;padding:2px 7px;font-size:.62rem;display:inline-flex}.card-more-hint{color:var(--prism-4);text-align:right;margin-top:8px;font-size:.65rem}.card-top-bar{justify-content:space-between;align-items:flex-start;display:flex}.card-actions{opacity:0;transition:opacity .2s}.card:hover .card-actions{opacity:1}.btn-delete-card{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);cursor:pointer;z-index:6;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;font-weight:800;line-height:1;transition:all .25s cubic-bezier(.23,1,.32,1);display:flex}[data-theme=light] .btn-delete-card{color:var(--text-muted);background:#ffffffd9;border-color:#94a3b84d}.btn-delete-card:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger);transform:scale(1.15);box-shadow:0 0 12px #ef444473}.card.dragging{opacity:.5;box-shadow:0 0 30px var(--prism-5);transform:scale(.95)}.card-placeholder{border:2px dashed var(--border-color);opacity:.5;background:#ffffff05;border-radius:16px;flex-shrink:0;width:192px;height:280px;min-height:280px}[data-theme=light] .card-placeholder{background:#00000008}[data-theme=light] .idea-label{color:color-mix(in srgb, var(--card-accent) 88%, #111827);text-shadow:none}[data-theme=light] .suit{filter:none}[data-theme=light] .card.stage-concept{box-shadow:0 10px 24px #0f172a1a,0 0 0 1px #7c3aed40}[data-theme=light] .card.stage-narrative{box-shadow:0 10px 24px #0f172a1a,0 0 0 1px #0891b23d}[data-theme=light] .card.stage-system{box-shadow:0 10px 24px #0f172a1a,0 0 0 1px #ea580c3d}[data-theme=light] .card.stage-level{box-shadow:0 10px 24px #0f172a1a,0 0 0 1px #0891b238}[data-theme=light] .card.stage-business{box-shadow:0 10px 24px #0f172a1a,0 0 0 1px #05966940}.view-toggle-group{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:8px;display:inline-flex;overflow:hidden}.view-toggle-btn{color:var(--text-muted);cursor:pointer;font-size:.8rem;font-family:var(--font-family);white-space:nowrap;letter-spacing:-.1px;background:0 0;border:none;padding:.35rem .9rem;font-weight:600;transition:background .18s,color .18s}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-color)}.view-toggle-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 0 10px #8b5cf640}.timeline-container{flex-direction:column;gap:1rem;width:2800px;height:1460px;padding:1.5rem 2rem;display:flex}.timeline-progress-wrapper{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:12px;flex-shrink:0;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.timeline-progress-label{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:600}.timeline-progress-bar{background:var(--border-color);border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.timeline-progress-fill{background:linear-gradient(90deg,#8b5cf6,#3b82f6,#10b981,#0d9488);border-radius:4px;height:100%;transition:width .6s cubic-bezier(.25,.8,.25,1);position:relative}.timeline-progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.timeline-progress-pct{color:var(--text-primary);text-align:right;min-width:3rem;font-size:.9rem;font-weight:700}.timeline-stages{flex:1;align-items:stretch;gap:1.5rem;min-height:0;display:flex}.timeline-connector{flex-shrink:0;justify-content:center;align-items:center;width:48px;display:flex;position:relative}.timeline-connector:before{content:"";background:var(--border-color);width:100%;height:2px}.timeline-connector:after{content:"→";color:var(--text-muted);font-size:.6rem;position:absolute;right:-2px}.timeline-stage{background:var(--bg-surface);border:2px solid #ffffff1a;border-radius:12px;flex-direction:column;flex:1;min-width:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}[data-theme=light] .timeline-stage{background:#fff;border:2px solid #0006}.timeline-stage.drag-over{box-shadow:inset 0 0 20px #0000000d;border-color:var(--color-primary)!important;background:var(--bg-surface-elevated)!important}.timeline-stage-header{border-bottom:1px solid var(--border-color);background:var(--bg-surface-elevated);flex-shrink:0;align-items:flex-start;gap:.75rem;padding:1.5rem;display:flex}.stage-icon{justify-content:center;align-items:center;min-width:1.8rem;padding-top:.1rem;font-size:1.6rem;line-height:1;display:flex}.stage-content{flex-direction:column;flex:1;gap:.2rem;display:flex}.timeline-stage-header .stage-top-row{justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.timeline-stage-header h3{white-space:nowrap;letter-spacing:-.5px;margin:0;font-size:1.45rem;font-weight:800;line-height:1.1}.timeline-stage-header .stage-desc{color:var(--text-muted);padding-top:.1rem;font-size:.85rem;font-weight:500;line-height:1.4}.timeline-stage-header .stage-count{width:32px;height:32px;color:var(--text-primary);white-space:nowrap;background:#00000014;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:1rem;font-weight:700;display:flex}[data-theme=light] .timeline-stage-header .stage-count{background:#0000001f}.stage-status-group{background:#00000008;border-radius:6px;align-items:center;gap:.6rem;padding:.25rem .5rem;display:flex}[data-theme=light] .stage-status-group{background:#00000005}.stage-progress-dots{gap:6px;display:flex}.stage-progress-dots .dot{background:var(--border-color);border-radius:50%;width:12px;height:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.stage-progress-dots .dot.filled{background:var(--dot-color,#8b5cf6);box-shadow:0 0 10px var(--dot-color,#8b5cf6);transform:scale(1.1)}[data-theme=light] .stage-progress-dots .dot.filled{box-shadow:0 0 6px var(--dot-color,#8b5cf6)}.stage-progress-label{color:var(--text-muted);letter-spacing:.5px;font-size:.85rem;font-weight:700}.timeline-stage-cards{flex:1;grid-template-rows:repeat(4,auto);grid-template-columns:repeat(2,1fr);align-content:start;align-items:start;gap:.9rem;padding:.75rem .7rem .75rem .75rem;display:grid;overflow-y:visible}.timeline-stage-cards .card{aspect-ratio:192/280;justify-self:center;width:min(200px,100%);height:auto;min-height:280px;margin-bottom:0}.timeline-stage-cards .card-overflow-badge{justify-self:center;width:min(200px,100%)}.card-overflow-badge{aspect-ratio:2.4/3.5;border:2px dashed var(--border-color);cursor:pointer;color:var(--text-muted);background:#0000000d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex}[data-theme=light] .card-overflow-badge{background:#00000008}.card-overflow-badge:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-4px);box-shadow:0 10px 20px #0000001a;background:#8b5cf61a!important}.card-overflow-badge .overflow-text{letter-spacing:.2px;text-align:center;font-size:1.5em;font-weight:800;line-height:1.2}.timeline-stage-cards::-webkit-scrollbar{width:14px}.timeline-stage-cards::-webkit-scrollbar-track{background:#00000008;border-radius:10px;margin:4px 0}[data-theme=light] .timeline-stage-cards::-webkit-scrollbar-track{background:#0000000d}.timeline-stage-cards::-webkit-scrollbar-thumb{background:#8b5cf666 padding-box padding-box;border:3px solid #0000;border-radius:10px;min-height:40px;transition:background .2s}.timeline-stage-cards::-webkit-scrollbar-thumb:hover{background:#8b5cf6bf padding-box padding-box;border:3px solid #0000}[data-theme=light] .timeline-stage-cards::-webkit-scrollbar-thumb{background:#7c3aed59 padding-box padding-box;border:3px solid #0000}[data-theme=light] .timeline-stage-cards::-webkit-scrollbar-thumb:hover{background:#7c3aeda6 padding-box padding-box;border:3px solid #0000}.pinboard-container{background-color:var(--pinboard-bg);background-image:radial-gradient(circle, var(--pinboard-dot-color) 1px, transparent 1px);background-size:var(--pinboard-dot-size) var(--pinboard-dot-size);width:4000px;height:3000px;position:relative}.pinboard-card-wrapper{cursor:grab;z-index:1;transition:box-shadow .2s,transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute}.pinboard-card-wrapper:active{cursor:grabbing;z-index:100}.pinboard-card-wrapper:hover{z-index:50;transform:translateY(-4px)}.pinboard-card-wrapper:before{content:"";background:var(--stage-pin-color,var(--color-primary));z-index:10;pointer-events:none;border-radius:50%;width:13px;height:13px;position:absolute;top:-7px;left:50%;transform:translate(-50%);box-shadow:0 3px 8px #00000073,inset 0 -2px 4px #00000040,inset 1px 1px 3px #ffffff4d}.pinboard-card-wrapper .card{background:var(--pinboard-card-bg);width:200px;box-shadow:var(--pinboard-card-shadow);border-top:3px solid var(--stage-pin-color,var(--color-primary));margin-bottom:0;transition:box-shadow .2s}.pinboard-card-wrapper:hover .card{box-shadow:var(--pinboard-card-shadow-hover), 0 0 20px color-mix(in srgb, var(--stage-pin-color,var(--color-primary)) 30%, transparent)}.pin-connect-btn{background:var(--color-primary);color:#fff;cursor:crosshair;opacity:0;z-index:10;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.pinboard-card-wrapper:hover .pin-connect-btn{opacity:1}.pin-connect-btn:hover{box-shadow:0 0 12px var(--color-primary);transform:translate(-50%)scale(1.2)}.pinboard-svg-overlay{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.pinboard-svg-overlay path{fill:none;stroke:#8b5cf680;stroke-width:2px;transition:stroke .2s}.pinboard-svg-overlay path:hover{stroke:#8b5cf6e6;stroke-width:3px}.pinboard-legend{background:var(--pinboard-glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--pinboard-glass-border);z-index:100;pointer-events:auto;border-radius:12px;flex-direction:column;gap:.45rem;min-width:120px;padding:.65rem .85rem;display:flex;position:absolute;top:20px;left:20px;box-shadow:0 4px 20px #0003}.pinboard-legend-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.15rem;font-size:.65rem;font-weight:700}.legend-item{color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.1rem .2rem;font-size:.78rem;font-weight:600;transition:color .15s,background .15s;display:flex}.legend-item:hover{color:var(--text-primary);background:var(--pinboard-glass-border)}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 6px}.pinboard-floating-toolbar{background:var(--pinboard-glass-bg);-webkit-backdrop-filter:blur(24px);border:1.5px solid var(--pinboard-glass-border);z-index:200;pointer-events:auto;border-radius:100px;align-items:center;gap:.8rem;padding:.8rem 1.4rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 16px 64px #00000059,0 8px 24px #0003}.pinboard-floating-toolbar:hover{border-color:color-mix(in srgb, var(--pinboard-glass-border) 60%, var(--color-primary));transform:translate(-50%)translateY(-4px);box-shadow:0 24px 80px #0006,0 12px 32px #00000040}.pinboard-toolbar-btn{color:var(--text-secondary);font-size:1.15rem;font-weight:800;font-family:var(--font-family);cursor:pointer;white-space:nowrap;letter-spacing:-.02em;background:0 0;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.7rem;padding:.7rem 1.6rem;transition:all .2s;display:inline-flex}.pinboard-toolbar-btn:hover{background:var(--pinboard-glass-border);color:var(--text-primary);transform:scale(1.08)}.pinboard-toolbar-btn .tb-icon{font-size:1.4rem;line-height:1}.pinboard-toolbar-divider{background:var(--pinboard-glass-border);flex-shrink:0;width:2px;height:32px;margin:0 .5rem}.pinboard-container.connecting-mode,.pinboard-container.connecting-mode .pinboard-card-wrapper{cursor:crosshair}.pinboard-container.connecting-mode .pinboard-card-wrapper .card{border:2px solid #8b5cf64d;animation:1.5s ease-in-out infinite pulse-border}@keyframes pulse-border{0%,to{border-color:#8b5cf64d}50%{border-color:#8b5cf6cc}}.view-transition-enter{animation:.4s cubic-bezier(.16,1,.3,1) viewFadeIn}@keyframes viewFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.investigation-string{fill:none;stroke:#d12c2c;stroke-width:2.5px;pointer-events:stroke;cursor:pointer;transition:stroke-width .2s,stroke .2s}.investigation-string:hover{stroke-width:4px;stroke:#ff4747}.investigation-label{color:#333;pointer-events:auto;cursor:text;background:#fdfbf7;border:1px solid #d4c5b0;border-radius:4px;padding:.1rem .6rem;font-family:Courier New,Courier,monospace;font-size:.75rem;font-weight:700;transition:all .2s;position:absolute;box-shadow:1px 2px 5px #0006}.investigation-label:hover{z-index:10;background:#fff;transform:translate(-50%)scale(1.05)}.investigation-btn{background:var(--pinboard-glass-bg);border:1px solid var(--pinboard-glass-border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;opacity:0;z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:opacity .2s,transform .2s,background .2s;display:flex;position:absolute;inset:-10px -10px auto auto;box-shadow:0 2px 8px #0000004d}.pinboard-card-wrapper:hover .investigation-btn,.pinboard-container.connecting-mode .pinboard-card-wrapper .investigation-btn{opacity:1}.investigation-btn:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff;transform:scale(1.15)}.pinboard-card-wrapper.investigation-style .pushpin{z-index:20;pointer-events:none;background:radial-gradient(circle at 30% 30%,#ff6b6b,#d12c2c);border-radius:50%;width:14px;height:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:-2px 5px 4px #00000080,inset -2px -2px 4px #0006}.prism-environment{z-index:0;filter:blur(100px);width:100%;height:100%;opacity:var(--prism-opacity,.5);pointer-events:none;animation:30s ease-in-out infinite alternate drift;position:absolute;top:0;left:0}.orb{mix-blend-mode:screen;border-radius:50%;width:60vw;height:60vw;position:absolute}.orb-1{background:var(--prism-1);top:-20%;left:-10%}.orb-2{background:var(--prism-3);bottom:-10%;right:-20%}.orb-3{background:var(--prism-5);width:40vw;height:40vw;top:20%;left:30%}[data-theme=light] .orb{mix-blend-mode:multiply;opacity:.4}@keyframes drift{0%{transform:rotate(0)scale(1)}to{transform:rotate(360deg)scale(1.2)}}
