*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f0f23;color:#e0e0e0}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#root{height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#1a1a2e;border-bottom:1px solid #2a2a4a}.app-header h1{font-size:18px;font-weight:600;color:#a0a0ff}.sidebar-toggle{width:30px;height:30px;background:transparent;border:1px solid #3a3a5a;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;font-size:16px;color:#88b;transition:background .15s,border-color .15s,color .15s}.sidebar-toggle:hover{background:#2a2a4a;border-color:#5a5a8a;color:#aad}.sidebar-toggle.pinned{background:#3a3a6a;border-color:#66a;color:#cce}.app-main{flex:1;display:flex;overflow:hidden;position:relative}.sidebar-rail{width:44px;flex-shrink:0;background:#16162a;border-right:1px solid #2a2a4a;display:flex;flex-direction:column;align-items:center;padding-top:8px;z-index:21}.sidebar{position:absolute;top:0;left:44px;width:320px;height:100%;z-index:20;background:#16162a;border-right:1px solid #2a2a4a;display:flex;flex-direction:column;overflow:hidden;transform:translate(-100%);opacity:0;transition:transform .25s ease,opacity .25s ease,width .25s ease;pointer-events:none}.sidebar.open{transform:translate(0);opacity:1;pointer-events:auto;box-shadow:4px 0 20px #00000080}.sidebar.pinned{position:relative;top:auto;left:auto;height:auto;flex-shrink:0;transform:none;opacity:1;pointer-events:auto;box-shadow:none}.sidebar-section{padding:16px;border-bottom:1px solid #2a2a4a}.sidebar-section h2{font-size:13px;font-weight:600;color:#88b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.conversation-list{flex:1;overflow-y:auto;padding:8px}.conversation-item{padding:10px 12px;border-radius:6px;cursor:pointer;margin-bottom:4px;font-size:13px;color:#b0b0d0;transition:background .15s}.conversation-item:hover{background:#22224a}.conversation-item.active{background:#2a2a5a;color:#d0d0ff}.conv-title-row{display:flex;justify-content:space-between;align-items:center;gap:4px}.conv-title-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-actions{display:none;gap:2px;flex-shrink:0}.conversation-item:hover .conv-actions{display:flex}.conv-action-btn{background:none;border:none;color:#888;cursor:pointer;font-size:14px;padding:0 3px;line-height:1;border-radius:3px}.conv-action-btn:hover{color:#ccc;background:#ffffff1a}.conv-delete-btn:hover{color:#f66;background:#ff00001a}.conv-title-input{width:100%;background:#1a1a3a;border:1px solid #4a4a8a;border-radius:4px;color:#e0e0e0;font-size:13px;padding:2px 6px;outline:none}.conv-title-input:focus{border-color:#6a6aff}.input-area{display:flex;flex-direction:column;gap:8px}.input-area textarea{width:100%;height:120px;padding:10px;background:#1e1e3a;border:1px solid #3a3a5a;border-radius:6px;color:#e0e0e0;font-size:13px;resize:vertical;font-family:inherit}.input-area textarea:focus{outline:none;border-color:#66b}.input-area button{padding:8px 16px;background:#44a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.input-area button:hover{background:#55b}.input-area button:disabled{background:#336;cursor:not-allowed}.graph-container{flex:1;min-width:0;position:relative;overflow:hidden}.detail-panel{width:320px;background:#16162a;border-left:1px solid #2a2a4a;padding:16px;overflow-y:auto}.detail-panel h3{font-size:14px;font-weight:600;margin-bottom:12px;color:#a0a0ff}.detail-panel .field{margin-bottom:12px}.detail-panel .field-label{font-size:11px;font-weight:600;color:#88b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-panel .field-value{font-size:13px;line-height:1.5;color:#d0d0e0}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.badge-premise{background:#2a4a3a;color:#80d0a0}.badge-deepening{background:#2a3a5a;color:#80a0e0}.badge-branching{background:#4a3a2a;color:#e0b080}.badge-convergence{background:#3a2a4a;color:#c080e0}.badge-question{background:#4a4a2a;color:#e0e080}.badge-insight{background:#4a2a3a;color:#e08090}.react-flow__node-thought{padding:10px 14px;border-radius:8px;font-size:12px;max-width:220px;border:1px solid #3a3a5a;box-shadow:0 2px 8px #0000004d}.react-flow__background{background:#0f0f23}.timeline-bar{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#0f0f23e6;padding:6px 16px;border-radius:8px;border:1px solid #2a2a4a;z-index:5;min-width:320px}.timeline-play-btn{width:28px;height:28px;border:none;border-radius:50%;background:#44a;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.timeline-play-btn:hover{background:#55b}.timeline-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#2a2a4a;border-radius:2px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#8080ff;border:2px solid #a0a0ff;cursor:pointer}.timeline-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#8080ff;border:2px solid #a0a0ff;cursor:pointer}.timeline-label{font-size:11px;color:#88b;font-variant-numeric:tabular-nums;min-width:48px;text-align:right;flex-shrink:0}.analysis-tab{padding:4px 10px;background:#1a1a30;border:1px solid #3a3a5a;border-radius:4px;color:#aac;font-size:11px;cursor:pointer;white-space:nowrap;font-family:inherit}.analysis-tab.active{background:#3a3a6a;border-color:#66a;color:#fff}.analysis-tab.add-btn{border-style:dashed;border-color:#5a5a8a;color:#88b}.usage-compact{display:flex;align-items:center;gap:6px;background:#0f0f23e6;padding:4px 10px;border-radius:4px;border:1px solid #3a3a5a;font-size:10px;white-space:nowrap;cursor:help;flex-shrink:0}.usage-label{color:#666690;font-weight:600}.usage-value{color:#e0e080;font-weight:600}.usage-yen{color:#888}.add-analysis-form{background:#0f0f23f2;padding:8px 10px;border-radius:6px;border:1px solid #3a3a5a;margin-top:8px}.add-analysis-run-btn{padding:4px 12px;background:#4a4a8a;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer;font-family:inherit}.add-analysis-run-btn:disabled{background:#335;cursor:wait}.right-info-panel{position:absolute;top:8px;right:12px;z-index:10;background:#0f0f23eb;border-radius:6px;border:1px solid #3a3a5a;max-width:280px;max-height:calc(100% - 70px);display:flex;flex-direction:column;overflow:hidden}.right-panel-tabs{display:flex;border-bottom:1px solid #3a3a5a;flex-shrink:0}.right-panel-tab{flex:1;padding:6px 10px;background:transparent;border:none;color:#88a;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,color .15s}.right-panel-tab:hover{background:#3c3c644d}.right-panel-tab.active{color:#cce;background:#3c3c6466;box-shadow:inset 0 -2px #66a}.right-panel-content{padding:8px 10px;overflow-y:auto;flex:1;min-height:0}.report-content{font-size:11px;color:#ccd;line-height:1.6}.report-section-title{font-weight:600;font-size:10px;margin-bottom:4px}.report-generate-btn{width:100%;padding:6px 10px;margin-bottom:10px;background:#2a2a4a;border:1px solid #4a4a6a;border-radius:4px;color:#c0c0e0;font-size:11px;cursor:pointer;transition:background .15s,border-color .15s}.report-generate-btn:hover:not(:disabled){background:#3a3a5a;border-color:#6a6a8a}.report-generate-btn:disabled{opacity:.6;cursor:not-allowed}.node-list-item{padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#aac;font-size:12px;cursor:pointer;text-align:left;display:flex;align-items:flex-start;gap:5px;width:100%;font-family:inherit;line-height:1.5;outline:none}.node-list-item:hover{background:#3c3c644d}.node-list-item.active{background:#3a3a6a;border-color:#66a;color:#fff}.node-list-item.highlighted{background:#3c3c6440;color:#d0d0ee}.node-list-item.dimmed{color:#556}.node-list-item.dimmed .node-list-index{color:#445}.node-list-item.dimmed .node-list-dot{opacity:.3}.node-list-index{color:#666690;font-size:11px;min-width:16px;text-align:right;flex-shrink:0;line-height:18px}.node-list-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;margin-top:6px}.node-list-label{white-space:normal;word-break:break-word}.node-list-headline{display:block;font-weight:600;font-size:11px}.node-list-summary{display:block;font-size:10px;opacity:.5;margin-top:1px;line-height:1.3}.node-detail-inline{margin-top:6px;padding-top:6px;border-top:1px solid #3a3a5a;cursor:default}.node-detail-header{display:flex;align-items:center;margin-bottom:6px;gap:4px}.node-detail-summary{font-size:11px;line-height:1.5;color:#e0e0f0;margin-bottom:6px}.node-detail-content{font-size:10px;line-height:1.5;color:#99b;margin-bottom:6px;max-height:80px;overflow-y:auto;border-top:1px solid #3a3a5a;padding-top:4px}.node-detail-items{border-top:1px solid #3a3a5a;padding-top:6px}.node-detail-item{font-size:10px;margin-bottom:4px;line-height:1.4}.group-btn{padding:3px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#aac;font-size:11px;cursor:pointer;text-align:left;display:flex;align-items:center;gap:6px;width:100%;font-family:inherit}.group-btn.active{background:#3a3a6a;border-color:#66a;color:#fff}.group-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.cluster-detail{font-size:10px;color:#ccd;padding:6px 8px 6px 22px;line-height:1.5}.stale-notice{background:#e0b0601f;border:1px solid rgba(224,176,96,.3);border-radius:4px;padding:4px 8px;font-size:9px;color:#e0b060;margin-bottom:6px}.stale-badge{font-size:8px;background:#e0b06033;color:#e0b060;padding:1px 4px;border-radius:3px;margin-left:4px}.new-badge{font-size:8px;background:#80a0e033;color:#80a0e0;padding:1px 4px;border-radius:3px;margin-left:4px}.cluster-report-separator{border-top:1px dashed #3a3a5a;padding-top:6px;margin-top:6px}.report-panel{width:320px;flex-shrink:0;background:#16162a;border-left:1px solid #2a2a4a;display:flex;flex-direction:column;overflow:hidden}.report-panel .right-panel-tabs{flex-shrink:0}.report-panel .right-panel-content{flex:1;min-height:0;overflow-y:auto;padding:8px 12px}.report-panel .report-content{font-size:12px;color:#ccd;line-height:1.6}.report-panel .right-panel-tab{padding:8px 12px;font-size:11px}.node-popup{width:280px;max-height:340px;overflow-y:auto;background:#0f0f23f2;border:1px solid #4a4a7a;border-radius:8px;padding:10px 12px;font-size:11px;color:#d0d0e0;line-height:1.5;pointer-events:auto;transform:translate(calc(-100% - 36px),-50%);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.node-popup-header{display:flex;align-items:center;margin-bottom:6px;gap:4px}.node-popup-summary{font-size:12px;line-height:1.5;color:#e0e0f0;margin-bottom:6px}.node-popup-content{font-size:10px;line-height:1.5;color:#99b;margin-bottom:6px;max-height:60px;overflow-y:auto;border-top:1px solid #3a3a5a;padding-top:4px}.node-popup-items{border-top:1px solid #3a3a5a;padding-top:6px}.node-popup-item{font-size:10px;margin-bottom:4px;line-height:1.4}.layer-panel{position:absolute;top:8px;right:8px;z-index:10;background:#0f0f23eb;border:1px solid #2a2a4a;border-radius:6px;width:130px;max-height:calc(100% - 70px);overflow-y:auto;font-size:10px;color:#aac}.layer-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #2a2a4a;font-size:10px;font-weight:600;color:#88b;text-transform:uppercase;letter-spacing:.5px}.layer-panel-clear{background:none;border:none;color:#e0a060;font-size:9px;cursor:pointer;padding:1px 4px;border-radius:3px;font-family:inherit}.layer-panel-clear:hover{background:#e0a06026}.layer-group{border-bottom:1px solid #2a2a4a}.layer-group:last-child{border-bottom:none}.layer-group-label{padding:4px 8px 2px;font-size:9px;font-weight:600;color:#666690;text-transform:uppercase;letter-spacing:.3px}.layer-item{display:flex;align-items:center;gap:6px;width:100%;padding:3px 8px;background:none;border:none;color:#ccd;font-size:10px;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s,opacity .15s}.layer-item:hover{background:#3c3c784d}.layer-item.active{background:#5050a040;color:#fff}.layer-item.dimmed{opacity:.35}.layer-swatch{width:8px;height:8px;display:inline-block;flex-shrink:0}.layer-line-swatch{width:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.layer-label{flex:1;min-width:0;white-space:nowrap}.layer-eye{color:#a0a0ff;font-size:11px;flex-shrink:0}.mode-toolbar{position:absolute;left:12px;z-index:10;display:flex;flex-direction:column;gap:4px;background:#0f0f23d9;padding:4px;border-radius:6px;border:1px solid #2a2a4a}.mode-toolbar-btn{width:30px;height:30px;border:1px solid transparent;border-radius:4px;background:transparent;color:#88b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.mode-toolbar-btn:hover{background:#2a2a4a;color:#cce}.mode-toolbar-btn.active{background:#3a3a6a;border-color:#66a;color:#cce}.graph-container.box-select-mode{cursor:crosshair}.graph-container.box-select-space{cursor:grab}.box-select-rect{position:absolute;border:1px solid #6666ff;background:#6464ff26;pointer-events:none;z-index:6}.box-select-indicator{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:11;background:#3c3c78eb;padding:5px 14px;border-radius:6px;border:1px solid #6666ff;font-size:11px;color:#cce;display:flex;align-items:center;gap:10px;white-space:nowrap}.box-select-count{color:#a0a0ff;font-weight:600}.box-select-create-btn{padding:2px 8px;background:#55b;border:none;border-radius:4px;color:#fff;font-size:10px;cursor:pointer;font-family:inherit}.box-select-create-btn:hover{background:#66c}.box-select-clear-btn{padding:2px 8px;background:transparent;border:1px solid #5555aa;border-radius:4px;color:#aac;font-size:10px;cursor:pointer;font-family:inherit}.box-select-clear-btn:hover{background:#5050a04d}.custom-group-delete{color:#666690;font-size:10px;cursor:pointer;padding:0 4px;border-radius:3px;flex-shrink:0}.custom-group-delete:hover{color:#f66;background:#ff00001a}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f0f23cc;z-index:10}.loading-text{font-size:16px;color:#a0a0ff}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:#666690;font-size:14px;text-align:center;padding:40px;line-height:1.6}.header-right{display:flex;align-items:center;gap:12px}.header-user{font-size:12px;color:#88b}.header-lang-btn{padding:4px 8px;background:transparent;border:1px solid #4a4a7a;border-radius:4px;color:#a0a0ff;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.header-lang-btn:hover{background:#2a2a4a}.header-logout-btn{padding:4px 10px;background:transparent;border:1px solid #4a4a7a;border-radius:4px;color:#a0a0cc;font-size:11px;cursor:pointer;font-family:inherit}.header-logout-btn:hover{background:#2a2a4a;color:#e0e0e0}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f0f23}.login-card{text-align:center;padding:48px 40px;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;max-width:380px;width:100%}.login-title{font-size:32px;font-weight:700;color:#a0a0ff;margin-bottom:8px}.login-subtitle{font-size:14px;color:#88b;margin-bottom:32px}.login-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border:1px solid #4a4a7a;border-radius:6px;background:#2a2a4a;color:#e0e0e0;font-size:14px;cursor:pointer;font-family:inherit;transition:background .15s}.login-btn:hover:not(:disabled){background:#3a3a6a}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{margin-top:16px;font-size:13px;color:#e06060}
