*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font: "Chivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg: #F4F1EC;--surface: #EFECE7;--border: #D6D3CE;--text: #1A1A1A;--text-secondary: #666666;--text-muted: #7A7A7A;--client-accent: #1B4D3E;--agency-accent: #2C3E6B;--panel-width: 300px;--header-height: 72px;--footer-height: 0px}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;opacity:0;transition:opacity .5s ease}.app--ready{opacity:1}.app--ready .map-container{animation:fadeSlideUp .6s ease .1s both}.app--ready .sidebar{animation:fadeSlideIn .5s ease .2s both}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.app-header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;flex-shrink:0}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.header-right{display:flex;align-items:center;gap:16px}.header-left{display:flex;align-items:center;gap:14px}.back-to-project{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;font-size:16px;color:var(--text-muted);text-decoration:none;cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.back-to-project:hover{color:var(--text);background:#0000000a}.header-title-group{display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--border);padding-left:14px}.header-title{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--text);line-height:1.15}.header-subtitle{font-size:11px;color:var(--text-muted);letter-spacing:.01em;line-height:1.3}.subtitle{font-size:12.5px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:2px}.subtitle .x{margin:0 6px;color:#d0d0d0;font-size:10px}.org-name{font-weight:500}.agency-name{color:var(--agency-accent);opacity:.7}.client-name{color:var(--client-accent);opacity:.7}.header-stats{display:flex;align-items:center;gap:20px}.stat{display:flex;flex-direction:column;align-items:center}.stat-num{font-size:18px;font-weight:700;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.stat-label{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-top:3px}.stat-divider{width:1px;height:28px;background:var(--border)}.main-content{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--panel-width);background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:14px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;scrollbar-width:none;transition:width .35s ease,padding .35s ease,border .35s ease}.sidebar:hover{scrollbar-width:thin;scrollbar-color:#D8D8D4 transparent}.sidebar--collapsed{width:0;padding:0;overflow:hidden;border-right:none}.sidebar-toggle{position:absolute;left:var(--panel-width);top:50%;transform:translateY(-50%);z-index:10;width:22px;height:56px;background:#3a3a3a;border:1px solid #3A3A3A;border-left:none;border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#e8e8e3;font-size:14px;font-weight:600;padding:0;transition:left .35s ease,background .15s ease;box-shadow:2px 0 6px #0000001a}.sidebar-toggle:hover{background:#2a2a2a;color:#fff}.sidebar-toggle--collapsed{left:0;border-left:1px solid var(--border)}*::-webkit-scrollbar{width:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.sidebar:hover::-webkit-scrollbar-thumb,.sidebar-right:hover::-webkit-scrollbar-thumb,.modal-content:hover::-webkit-scrollbar-thumb{background:#d8d8d4}.sidebar-right{border-right:none;border-left:1px solid var(--border);width:292px;animation:fadeSlideRight .3s ease both}@keyframes fadeSlideRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.map-container{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden;background:var(--bg);position:relative}.network-svg{width:100%;height:100%;max-height:calc(100vh - var(--header-height) - var(--footer-height) - 24px);will-change:transform}.zoom-controls{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;gap:2px;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.zoom-btn{width:36px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;font-family:var(--font);font-size:15px;font-weight:500;color:var(--text-secondary);transition:background .15s ease,color .15s ease}.zoom-btn:hover{background:#f0f0ec;color:var(--text)}.zoom-reset{font-size:9px;font-weight:600;letter-spacing:.2px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.panel h3{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:10px}.panel h4{font-size:12px;font-weight:600;color:var(--text);margin:12px 0 8px}.legend-panel{display:flex;flex-direction:column;gap:2px}.legend-panel h3{margin-bottom:6px}.legend-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-family:var(--font);font-size:13px;transition:background .15s ease;text-align:left}.legend-item:hover{background:#f4f4f0}.legend-item.muted{opacity:.4}.legend-label{flex:1;font-weight:500;color:var(--text)}.legend-count{font-size:10px;font-weight:600;color:var(--text-muted);background:#f4f4f0;padding:1px 6px;border-radius:8px;font-variant-numeric:tabular-nums}.legend-hint{font-size:11.5px;color:var(--text-muted);margin:6px 0 0;font-style:italic;opacity:.7}.panel-desc{font-size:11.5px;color:var(--text-muted);margin:0 0 8px;line-height:1.5;opacity:.8}.insight-card{display:block;width:100%;border:none;border-left:3px solid #CCC;padding:8px 10px;margin-bottom:8px;border-radius:0 8px 8px 0;background:#e8e5e0;cursor:pointer;font-family:var(--font);text-align:left;transition:all .15s ease}.insight-card:hover{background:#f2f2ee;border-left-width:4px}.insight-card--active{background:#edf5f0;border-left-width:4px;box-shadow:0 0 0 1px #1b4d3e1f}.insight-card:last-child{margin-bottom:0}.insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.insight-title{font-size:12.5px;font-weight:600;color:var(--text)}.insight-effort{font-size:9px;font-weight:600;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.insight-detail{font-size:11.5px;color:var(--text-secondary);line-height:1.55}.context-panel p{font-size:11.5px;line-height:1.6;color:var(--text-secondary);margin-bottom:6px}.context-hint{font-style:italic;color:var(--text-muted)!important;font-size:11px!important}.about-project-link{display:inline-block;margin-top:6px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.about-project-link:hover{color:var(--text)}.detail-panel{border:none;padding:0;background:transparent}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.detail-header h3{font-size:16px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:-.2px;margin-bottom:5px}.close-btn{background:none;border:1px solid var(--border);border-radius:6px;font-size:16px;color:var(--text-muted);cursor:pointer;padding:2px 8px;line-height:1;transition:all .15s ease}.close-btn:hover{color:var(--text);background:#f4f4f0;border-color:#d0d0cb}.zone-badge{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:3px 8px;border-radius:4px}.zone-badge.client{background:#ecf4ef;color:var(--client-accent)}.zone-badge.agency{background:#e8ecf5;color:var(--agency-accent)}.detail-desc{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin-bottom:12px}.bottleneck-badge{display:flex;align-items:flex-start;gap:8px;background:#e8dfdb;border:1px solid #FECACA;border-radius:8px;padding:8px 10px;font-size:11px;color:#991b1b;line-height:1.45;margin-bottom:10px}.bottleneck-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#c0392b;color:#fff;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}.isolated-badge{background:#e8e3d4;border:1px solid #FEF3C7;border-radius:8px;padding:8px 10px;font-size:11px;color:#78350f;line-height:1.45;margin-bottom:10px}.detail-section{border-radius:8px;padding:10px 12px;margin-bottom:10px}.detail-section h4{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 6px}.detail-section p{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:0}.detail-diagnosis{background:#e8e2d8;border:1px solid #F0E4D0}.detail-diagnosis h4{color:#8b6914}.detail-solution{background:#f0f7f2;border:1px solid #D4E8DA}.detail-solution h4{color:#2e6b45}.leverage-link{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:#e8e5e0;border:1px solid #D6D3CE;border-radius:6px;cursor:pointer;font-family:var(--font);font-size:11.5px;font-weight:600;color:var(--text);transition:all .15s ease;width:100%;text-align:left}.leverage-link:hover{background:#e8f5ec;border-color:#a8d4b8}.leverage-link-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.leverage-link-ease{font-size:8.5px;font-weight:600;padding:1px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.4px;margin-left:auto;flex-shrink:0}.connections-list{border-top:1px solid var(--border);padding-top:8px}.conn-group{margin-bottom:10px}.conn-group:last-child{margin-bottom:0}.conn-group-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px}.conn-count{font-size:10px;color:var(--text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.conn-item{display:flex;align-items:center;justify-content:space-between;padding:3px 8px 3px 26px;font-size:12px;color:var(--text-secondary)}.zone-tag{font-size:8.5px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.zone-tag.client{background:#ecf4ef;color:var(--client-accent)}.zone-tag.agency{background:#e8ecf5;color:var(--agency-accent)}.inline-badge{display:inline;margin-left:5px;vertical-align:baseline;font-size:10.5px;padding:3px 8px;border-radius:4px;position:relative;top:-1px}.ease-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.structural-gaps-panel{display:flex;flex-direction:column;gap:6px}.structural-gap-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;cursor:pointer;font-family:var(--font);text-align:left;transition:all .15s ease;width:100%}.structural-gap-item:hover{background:#f8f8f5;border-color:#d0d0cb}.structural-gap-item.active{background:#e8e2d8;border-color:#e8c87a;box-shadow:0 0 0 2px #b8860b1a}.gap-item-label{font-size:11.5px;font-weight:600;color:var(--text)}.gap-item-detail{font-size:10.5px;color:var(--text-muted);line-height:1.45;margin:0}.future-state-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 28px;background:linear-gradient(135deg,#2c3e6b,#1b4d3e);color:#fff;flex-shrink:0;animation:bannerSlideDown .3s ease both}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.future-state-label{font-size:12.5px;font-weight:400;max-width:66%}.future-state-label strong{font-weight:700}.future-state-desc{font-size:11px;opacity:.75}.future-state-back{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-family:var(--font);font-size:11px;font-weight:500;padding:4px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.future-state-back:hover{background:#ffffff40}.leverage-banner{background:linear-gradient(135deg,#1b4d3e,#3d8b6e)}.read-more-link{font-weight:700;color:#ffffffe6;cursor:pointer;text-decoration:none;white-space:nowrap}.read-more-link:hover{color:#fff;text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;animation:modalFadeIn .2s ease both}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:14px;width:520px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:modalSlideUp .25s ease both}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 0;position:sticky;top:0;background:var(--surface);border-radius:14px 14px 0 0;z-index:1}.modal-header h2{font-size:18px;font-weight:700;color:var(--text);margin:0 0 6px;letter-spacing:-.2px}.modal-header .ease-badge{font-size:10px}.modal-body{padding:16px 24px 24px}.modal-section{margin-bottom:16px}.modal-section:last-child{margin-bottom:0}.modal-section h4{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin:0 0 6px}.modal-section p{font-size:13px;line-height:1.65;color:var(--text-secondary);margin:0}.modal-steps{padding-left:20px;margin:0}.modal-steps li{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:4px}.modal-steps li:last-child{margin-bottom:0}.modal-connections{background:#e8e5e0;border-radius:8px;padding:12px}.modal-conn-list{display:flex;flex-direction:column;gap:4px}.modal-conn-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary);padding:3px 0}.modal-conn-level{font-weight:600;font-size:11px}.modal-conn-new{font-style:italic}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.7}50%{opacity:1}}.app-footer{height:var(--footer-height);display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:10px;color:#666;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;letter-spacing:.2px}.footer-left{font-size:11px;color:#444;letter-spacing:-.5px}.footer-right{display:flex;align-items:center;gap:8px}.separator{color:#ccc}.font-toggle{display:flex;align-items:baseline;gap:1px;background:#f0f0ec;border:1px solid #D8D8D4;border-radius:6px;padding:4px 8px;cursor:pointer;font-family:var(--font);font-size:11px;font-weight:500;color:var(--text-muted);transition:all .15s ease;line-height:1}.font-toggle:hover{background:#f4f4f0;border-color:#d0d0cb;color:var(--text-secondary)}.font-toggle--active{background:#edf5f0;border-color:#b5d4c4;color:var(--client-accent)}.font-toggle-large{font-size:14px;font-weight:700}.app--large-text .panel h3{font-size:11.5px}.app--large-text .legend-item{font-size:14px}.app--large-text .legend-count{font-size:11px}.app--large-text .insight-title{font-size:13.5px}.app--large-text .insight-detail{font-size:12.5px}.app--large-text .ease-badge{font-size:10px}.app--large-text .context-panel p{font-size:12.5px}.app--large-text .context-hint{font-size:12px!important}.app--large-text .detail-header h3{font-size:17px}.app--large-text .detail-desc{font-size:13.5px}.app--large-text .conn-group-header{font-size:12.5px}.app--large-text .conn-item{font-size:13px}.app--large-text .zone-tag{font-size:9.5px}.app--large-text .zone-badge{font-size:10px}.app--large-text .isolated-badge{font-size:12px}.app--large-text .detail-section h4{font-size:10.5px}.app--large-text .detail-section p{font-size:13px}.app--large-text .leverage-link{font-size:12.5px}.app--large-text .modal-header h2{font-size:20px}.app--large-text .modal-section p,.app--large-text .modal-steps li{font-size:14px}.app--large-text .modal-conn-item{font-size:13px}.app--large-text .future-state-label{font-size:13.5px}.app--large-text .future-state-desc,.app--large-text .future-state-back{font-size:12px}.about-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f0f0ec;border:1px solid #D8D8D4;border-radius:50%;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:700;color:var(--text-muted);transition:all .15s ease;line-height:1;flex-shrink:0}.about-btn:hover{background:#f4f4f0;border-color:#d0d0cb;color:var(--text-secondary)}.about-modal{width:560px}.about-modal .modal-header h2{margin-bottom:12px}.about-badges{display:flex;gap:6px;flex-wrap:wrap}.about-badge{display:inline-block;font-size:11px;font-weight:700;padding:5px 12px;border-radius:8px;text-transform:uppercase;letter-spacing:1px}.about-badge--ideou{background:#f7ce46;color:#1a1a18}.about-badge--course{background:#f4f4f0;color:var(--text-muted)}.about-badge--claude{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;background:#e87b54;color:#fff;margin-left:6px;letter-spacing:.3px;vertical-align:middle}.about-link-out{display:inline-flex;align-items:center;margin-left:6px;color:var(--text-muted);vertical-align:middle;transition:color .15s ease}.about-link-out:hover{color:var(--client-accent)}.about-meta{background:#e8e5e0;border-radius:8px;padding:12px!important}.about-meta-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;font-size:12.5px;color:var(--text-secondary);border-bottom:1px solid #F0F0EC}.about-meta-row:last-child{border-bottom:none}.about-meta-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);flex-shrink:0;width:80px}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:modalFadeIn .3s ease both;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.tutorial-card{background:var(--surface);border-radius:16px;width:460px;max-width:90vw;box-shadow:0 24px 80px #00000040;animation:modalSlideUp .35s ease both;overflow:hidden}.tutorial-header{padding:28px 28px 0}.tutorial-header h2{font-size:22px;font-weight:700;color:var(--text);margin:0 0 8px;letter-spacing:-.4px;line-height:1.3}.tutorial-subtitle{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.tutorial-body{padding:20px 28px}.tutorial-steps{display:flex;flex-direction:column;gap:14px}.tutorial-step{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;color:var(--text-secondary)}.tutorial-step strong{color:var(--text);font-weight:600}.tutorial-step-icon{flex-shrink:0;width:22px;margin-top:1px}.tutorial-footer{padding:0 28px 24px;display:flex;flex-direction:column;gap:8px}.tutorial-dismiss{width:100%;padding:11px 20px;border:none;border-radius:10px;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;letter-spacing:-.1px}.tutorial-dismiss-primary{background:var(--text);color:var(--surface)}.tutorial-dismiss-primary:hover{background:#1a1a18;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.tutorial-dismiss-secondary{background:transparent;color:var(--text-muted);padding:8px 20px}.tutorial-dismiss-secondary:hover{color:var(--text-secondary);background:#f4f4f0}.guide-card{position:fixed;width:340px;background:var(--surface);border-radius:14px;box-shadow:0 12px 40px #0000002e,0 0 0 1px #0000000f;z-index:190;animation:guideSlideIn .25s ease both;overflow:hidden}@keyframes guideSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.guide-card--nodes{top:50%;right:24px;transform:translateY(-50%)}.guide-card--legend{top:120px;left:290px}.guide-card--leverage{top:300px;left:290px}.guide-card--gap{bottom:200px;left:50%;transform:translate(-50%)}.guide-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}.guide-step-counter{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.guide-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--text-muted);border-radius:6px;transition:all .12s ease}.guide-close:hover{background:#f0f0ec;color:var(--text)}.guide-card-title{font-size:16px;font-weight:700;color:var(--text);margin:8px 16px 6px;letter-spacing:-.2px}.guide-card-desc{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin:0 16px 14px}.guide-card-nav{display:flex;justify-content:space-between;align-items:center;padding:0 16px 10px}.guide-nav-btn{padding:6px 14px;border:none;border-radius:8px;font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s ease}.guide-nav-back{background:transparent;color:var(--text-muted)}.guide-nav-back:hover{background:#f4f4f0;color:var(--text-secondary)}.guide-nav-next{background:var(--text);color:var(--surface)}.guide-nav-next:hover{background:#1a1a18}.guide-progress{display:flex;justify-content:center;gap:6px;padding:0 16px 14px}.guide-dot{width:7px;height:7px;border-radius:50%;background:#e0e0dc;cursor:pointer;transition:all .15s ease}.guide-dot.active{background:var(--client-accent);transform:scale(1.25)}.guide-dot.done{background:#a8c8b8}.guide-dot:hover{transform:scale(1.3)}.guide-active{background:#1b4d3e12!important;box-shadow:0 0 0 3px #1b4d3e26;border-radius:10px;animation:guideGlow 2s ease-in-out infinite;transition:background .3s ease,box-shadow .3s ease}@keyframes guideGlow{0%,to{box-shadow:0 0 0 3px #1b4d3e26}50%{box-shadow:0 0 0 6px #1b4d3e14}}g.guide-active{background:none!important;box-shadow:none}g.guide-active>*{filter:drop-shadow(0 0 6px rgba(27,77,62,.4));animation:guideSvgGlow 2s ease-in-out infinite}@keyframes guideSvgGlow{0%,to{filter:drop-shadow(0 0 4px rgba(27,77,62,.3))}50%{filter:drop-shadow(0 0 10px rgba(27,77,62,.5))}}.guide-pill{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:6px;padding:6px 14px 6px 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);cursor:pointer;font-family:var(--font);font-size:11px;font-weight:600;color:var(--text-muted);z-index:10;box-shadow:0 2px 8px #00000014;transition:all .15s ease}.guide-pill:hover{background:#f4f4f0;border-color:#d0d0cb;color:var(--text-secondary)}.guide-pill svg{flex-shrink:0}@media (max-width: 1100px){.sidebar{width:220px;padding:12px}.sidebar-right{width:260px}.header-stats{gap:14px}.stat-divider{display:none}}@media (max-width: 800px){.main-content{flex-direction:column}.sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.sidebar-right{width:100%;max-height:300px;border-left:none;border-top:1px solid var(--border)}.map-container{padding:8px}.header-stats{display:none}.version-toggle{order:-1;width:100%;justify-content:center;margin-bottom:8px}}.version-toggle{display:flex;gap:2px;background:#f0f0ec;border:1px solid var(--border);border-radius:10px;padding:3px;flex-shrink:0}.version-pill{display:flex;flex-direction:column;align-items:center;padding:5px 16px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:var(--font);transition:all .2s ease;min-width:100px}.version-pill:hover{background:#fff9}.version-pill--active{background:var(--surface);box-shadow:0 1px 4px #0000001a}.version-pill-id{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.version-pill--active .version-pill-id{color:var(--text)}.version-pill-label{font-size:10px;color:var(--text-muted);margin-top:1px;white-space:nowrap}.version-pill--active .version-pill-label{color:var(--text-secondary)}.changelog-btn{position:absolute;top:16px;right:16px;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 18px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #0000000f;display:flex;align-items:center;gap:6px}.changelog-btn:hover{background:#f0f0ec;color:var(--text);box-shadow:0 3px 10px #0000001a}.changelog-btn--active{background:var(--text)!important;color:var(--surface)!important;border-color:var(--text)!important}.changelog-btn--active:hover{opacity:.9}.changelog-modal{max-width:480px}.changelog-versions{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-left:8px}.changelog-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;border-radius:6px;margin-bottom:4px}.changelog-upgrade{background:#f0f7f2;color:#2e6b45}.changelog-downgrade{background:#e8dfdb;color:#991b1b}.changelog-resolved{background:#eef0f7;color:#2c3e6b;font-weight:600}.changelog-subitem{margin-left:14px;font-size:11px;padding:4px 8px;opacity:.9}.changelog-label-change{background:#f5f0ff;color:#5b21b6;font-weight:600}.changelog-level{font-weight:600;font-size:11px;white-space:nowrap;margin-left:12px}.changelog-empty{color:var(--text-muted);font-style:italic;font-size:13px}.app--v3-warm{--surface: #EFECE7;--border: #D6D3CE}.app--v3-warm .future-state-banner{background:linear-gradient(135deg,#6b5d2c,#4d6b3e)}.app--v3-warm .leverage-banner{background:linear-gradient(135deg,#4d6b3e,#6b8b5e)}.app--v3-warm .insight-card{background:#eae7e2}.app--v3-warm .insight-card:hover{background:#e4e1dc}.app--v3-warm .insight-card--active{background:#e0ddd8;box-shadow:0 0 0 1px #6b5d2c1f}.app--v3-warm .legend-item:hover,.app--v3-warm .legend-count{background:#e4e1dc}.app--v3-warm .zone-badge.client{background:#e6e3de}.app--v3-warm .zone-badge.agency{background:#e2dfd9}.app--v3-warm .zone-tag.client{background:#e6e3de}.app--v3-warm .zone-tag.agency{background:#e2dfd9}.app--v3-warm .detail-diagnosis{background:#ede9e2;border-color:#d6d3ce}.app--v3-warm .detail-solution{background:#e8e5e0;border-color:#d0cdc8}.app--v3-warm .modal-connections{background:#eae7e2}.app--v3-warm .font-toggle,.app--v3-warm .about-btn{background:#e6e3de;border-color:#d0cdc8}.app--v3-warm .close-btn:hover{background:#e4e1dc}.app--v3-warm .zoom-btn:hover,.app--v3-warm .version-toggle{background:#e6e3de}.app--v3-warm .version-pill:hover{background:#efece799}.app--v3-warm .changelog-btn{background:var(--surface)}.app--v3-warm .changelog-btn:hover{background:#f0ece4}.app--v3-warm .changelog-upgrade{background:#f4f0e4;color:#4d6b3e}.app--v3-warm .changelog-resolved{background:#edeef4;color:#2c3e6b}.app--v3-warm .changelog-downgrade{background:#e6ddd6}.app--v3-warm .about-meta{background:#faf8f4}.app--v3-warm .about-meta-row{border-bottom-color:#f0ece4}.app--v3-warm .isolated-badge{background:#fff8ee;border-color:#e8dcc0}.app--v3-warm .insight-card--implemented:hover{background:#faf8f4}.app--v3-warm .implemented-badge{background:#e0dcd4}.app--v3-warm .guide-pill{background:var(--surface)}.app--v3-warm .guide-pill:hover{background:#f4f0e8}.insight-card--implemented{opacity:.5;cursor:default!important;pointer-events:none}.insight-card--implemented:hover{background:#e8e5e0;border-left-width:3px}.insight-card--implemented .insight-title{text-decoration:line-through;text-decoration-color:#0003}.implemented-badge{font-size:8.5px;font-weight:600;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;background:#e0e0dc;color:var(--text-muted);white-space:nowrap}.leverage-link--implemented{opacity:.5;cursor:default;pointer-events:none}.comparison-layer path{transition:opacity .4s ease}.diff-glow-green{animation:diffGlowGreen 2s ease-in-out infinite}.diff-glow-red{animation:diffGlowRed 2s ease-in-out infinite}@keyframes diffGlowGreen{0%,to{opacity:.12}50%{opacity:.22}}@keyframes diffGlowRed{0%,to{opacity:.1}50%{opacity:.18}}.comparison-sidebar{width:320px}.comparison-panel{border:none;background:transparent;padding:0}.comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.comparison-header h3{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin:0}.comparison-body{overflow-y:auto;max-height:calc(100vh - var(--header-height) - var(--footer-height) - 80px)}.comparison-body .modal-section{margin-bottom:14px}.comparison-body .modal-section h4{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin:0 0 6px}@media (max-width: 1100px){.version-toggle{gap:1px;padding:2px}.version-pill{min-width:80px;padding:4px 10px}.version-pill-label{font-size:9px}}.interview-toggle{padding:5px 14px;border-radius:6px;font-size:11px;font-weight:500;font-family:Chivo,sans-serif;letter-spacing:.3px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .2s ease;white-space:nowrap}.interview-toggle:hover{border-color:#2c3e6b;color:#2c3e6b}.interview-toggle--active{background:#2c3e6b;border-color:#2c3e6b;color:#fff}.interview-toggle--active:hover{background:#1e2d4d;border-color:#1e2d4d;color:#fff}.interview-bar{display:flex;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--border);padding:0 20px;gap:0}.interview-bar-step{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-family:Chivo,sans-serif}.interview-bar-step:hover{background:#2c3e6b0a}.interview-bar-step--active{border-bottom-color:#2c3e6b}.interview-bar-step--done{opacity:.6}.interview-bar-step--done .interview-bar-num{background:#3d8b6e;color:#fff}.interview-bar-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:10px;font-weight:600;background:var(--border);color:var(--text-muted);transition:all .2s ease}.interview-bar-step--active .interview-bar-num{background:#2c3e6b;color:#fff}.interview-bar-label{font-size:11px;font-weight:600;letter-spacing:1px;color:var(--text-secondary)}.interview-bar-step--active .interview-bar-label{color:#2c3e6b}.interview-bar-time{font-size:10px;font-weight:300;color:var(--text-muted)}.interview-prompts{position:absolute;bottom:20px;left:20px;width:340px;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:12px;padding:18px 22px;z-index:10;animation:overlayFadeIn .4s ease}.interview-prompts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.interview-prompts-label{font-size:13px;font-weight:700;letter-spacing:1.5px;color:#2c3e6b;font-family:Chivo,sans-serif}.interview-prompts-time{font-size:11px;font-weight:400;color:var(--text-muted);background:var(--bg);padding:3px 10px;border-radius:10px;font-family:Chivo,sans-serif}.interview-prompts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.interview-prompts-list li{font-size:14px;line-height:1.5;color:var(--text-secondary);padding-left:18px;position:relative}.interview-prompts-list li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:#2c3e6b;opacity:.4}.anchor-overlay,.close-overlay{animation:overlayFadeIn .6s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.connection-labels{pointer-events:none}.conn-label-group{animation:overlayFadeIn .4s ease}@keyframes chipPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.chip-pulse{animation:chipPulse 2s ease-in-out infinite}@keyframes calibrationPulse{0%,to{opacity:.15}50%{opacity:.3}}.calibration-pulse{animation:calibrationPulse 1.5s ease-in-out infinite}.calibration-begin-btn{display:block;width:100%;margin-top:14px;padding:10px 16px;border:none;border-radius:8px;background:#2c3e6b;color:#fff;font-size:13px;font-weight:600;font-family:Chivo,sans-serif;letter-spacing:.3px;cursor:pointer;transition:background .2s ease}.calibration-begin-btn:hover{background:#1e2d4d}.calibration-complete-badge{margin-top:12px;padding:8px 14px;border-radius:8px;background:#3d8b6e1a;color:#1b4d3e;font-size:13px;font-weight:600;font-family:Chivo,sans-serif;text-align:center}.calibration-modal{position:absolute;top:50%;right:24px;transform:translateY(-50%);width:280px;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:14px;padding:20px;z-index:20;animation:overlayFadeIn .3s ease;box-shadow:0 8px 32px #0000001a}.calibration-modal--transitioning{pointer-events:none;opacity:.6;transition:opacity .3s ease}.calibration-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calibration-modal-progress{font-size:12px;font-weight:500;color:var(--text-muted);font-family:Chivo,sans-serif}.calibration-modal-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.calibration-modal-close:hover{color:#333}.calibration-modal-nodes{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.calibration-modal-node{font-size:15px;font-weight:600;font-family:Chivo,sans-serif}.calibration-modal-arrow{font-size:14px;color:var(--text-muted)}.calibration-modal-current{font-size:12px;color:var(--text-muted);text-align:center;margin-bottom:16px;font-family:Chivo,sans-serif}.calibration-modal-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.calibration-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border:2px solid;border-radius:10px;background:transparent;cursor:pointer;font-family:Chivo,sans-serif;font-size:12px;font-weight:600;transition:all .15s ease;position:relative}.calibration-option:hover{transform:scale(1.03)}.calibration-option--selected{transform:scale(1.05);box-shadow:0 2px 12px #0000001f}.calibration-option-original{position:absolute;top:-8px;right:-4px;font-size:8px;font-weight:400;color:var(--text-muted);background:var(--surface);padding:1px 5px;border-radius:4px;border:1px solid var(--border);letter-spacing:.3px}.calibration-modal-nav{display:flex;gap:6px}.calibration-modal-nav button{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:11px;font-family:Chivo,sans-serif;cursor:pointer;transition:all .15s ease}.calibration-modal-nav button:hover:not(:disabled){background:var(--bg);border-color:#2c3e6b;color:#2c3e6b}.calibration-modal-nav button:disabled{opacity:.4;cursor:not-allowed}.calibration-chip-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:380px;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:14px;padding:24px;z-index:20;animation:overlayFadeIn .3s ease;box-shadow:0 8px 32px #0000001a}.calibration-chip-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:16px;font-weight:700;letter-spacing:1.5px;color:#2c3e6b;font-family:Chivo,sans-serif}.calibration-chip-card-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5;font-family:Chivo,sans-serif}.calibration-chip-card-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.calibration-chip-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--bg);transition:opacity .3s ease}.calibration-chip-row--resolved{opacity:.5}.calibration-chip-row-label{font-size:14px;font-weight:500;color:#333;font-family:Chivo,sans-serif}.calibration-chip-row-toggle{display:flex;gap:4px}.calibration-chip-toggle{padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;font-family:Chivo,sans-serif;cursor:pointer;transition:all .15s ease}.calibration-chip-toggle--active{background:#2c3e6b;border-color:#2c3e6b;color:#fff}.calibration-chip-toggle--resolved{background:#1b4d3e;border-color:#1b4d3e}.calibration-chip-confirm{display:block;width:100%;padding:10px;border:none;border-radius:8px;background:#2c3e6b;color:#fff;font-size:14px;font-weight:600;font-family:Chivo,sans-serif;cursor:pointer;transition:background .2s ease}.calibration-chip-confirm:hover{background:#1e2d4d}.calibration-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;animation:overlayFadeIn .3s ease}.calibration-summary{background:#efece7;border-radius:16px;padding:32px;width:360px;box-shadow:0 16px 48px #00000026}.calibration-summary h3{font-size:20px;font-weight:700;font-family:Chivo,sans-serif;color:#333;margin:0 0 20px}.calibration-summary-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.calibration-summary-stat{font-size:14px;color:var(--text-secondary);font-family:Chivo,sans-serif}.calibration-summary-stat strong{font-weight:700;color:#333}.calibration-summary-up strong{color:#1b4d3e}.calibration-summary-down strong{color:#d4654a}.calibration-summary-actions{display:flex;gap:10px}.calibration-summary-save{flex:1;padding:10px;border:none;border-radius:8px;background:#2c3e6b;color:#fff;font-size:14px;font-weight:600;font-family:Chivo,sans-serif;cursor:pointer;transition:background .2s ease}.calibration-summary-save:hover{background:#1e2d4d}.calibration-summary-discard{flex:1;padding:10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;font-family:Chivo,sans-serif;cursor:pointer;transition:all .15s ease}.calibration-summary-discard:hover{border-color:#d4654a;color:#d4654a}.calibration-save-close-btn{display:block;width:100%;padding:10px 20px;border:none;border-radius:8px;background:#2c3e6b;color:#fff;font-size:14px;font-weight:600;font-family:Chivo,sans-serif;cursor:pointer;transition:background .2s ease}.calibration-save-close-btn:hover{background:#1e2d4d}
