:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e5e5e7;background-color:#1c1c1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{font-weight:500;color:#7c8adb;text-decoration:none}a:hover{color:#8b99e3}body{margin:0;min-width:320px;height:100vh;overflow:hidden}#root{width:100%;height:100%}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}::selection{background:#7c8adb4d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}:root{--bg-primary: #1c1c1e;--bg-secondary: rgba(38, 38, 40, .7);--bg-tertiary: rgba(28, 28, 30, .9);--text-primary: #e5e5e7;--text-secondary: #a1a1a6;--text-muted: #6e6e73;--accent-primary: #7c8adb;--accent-secondary: #9d8cd6;--accent-hover: #8b99e3;--color-positive: #7ac17a;--color-negative: #d68a8a;--color-error-bg: rgba(214, 138, 138, .12);--color-error-border: #b57575;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(124, 138, 219, .25);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .15)}.app{max-width:1600px;margin:0 auto;padding:24px 28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;letter-spacing:.01em;height:100%;display:flex;flex-direction:column;overflow:hidden}header{text-align:center;margin-bottom:32px}header h1{font-size:2rem;font-weight:600;margin-bottom:6px;color:var(--accent-secondary);letter-spacing:-.02em}header .subtitle{color:var(--text-secondary);font-size:1rem;font-weight:400}.error-banner{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;padding:12px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;color:var(--color-negative);font-size:.9rem}.error-banner button{background:transparent;border:1px solid var(--color-error-border);color:var(--color-negative);padding:5px 14px;font-size:.85rem;border-radius:4px;cursor:pointer;transition:background .15s ease}.error-banner button:hover{background:#d68a8a26}.main-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;flex:1;min-height:0;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.points-section,.axes-section{background:var(--bg-secondary);border-radius:8px;padding:16px;border:1px solid var(--border-subtle);flex:1;min-height:0;display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0}.section-header .add-btn,.section-header .add-pool-btn{background:transparent;border:1px solid var(--border-accent);color:var(--text-secondary);padding:4px 10px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.section-header .add-btn:hover:not(:disabled),.section-header .add-pool-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.section-header .add-btn:disabled,.section-header .add-pool-btn:disabled{opacity:.4;cursor:not-allowed}.search-row{margin-bottom:12px}.search-input{width:100%;padding:8px 10px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;transition:border-color .15s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--accent-primary)}.add-point-row{display:flex;gap:8px;margin-top:12px}.add-point-row input{flex:1;padding:8px 10px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;transition:border-color .15s ease}.add-point-row input::placeholder{color:var(--text-muted)}.add-point-row input:focus{outline:none;border-color:var(--accent-primary)}.add-point-row button{padding:8px 14px;font-size:.85rem}.point-list,.axis-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow-y:auto}.point-item,.axis-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:4px;margin-bottom:2px;transition:background .15s ease}.point-item:hover,.axis-item:hover{background:#ffffff0a}.point-item{cursor:pointer;-webkit-user-select:none;user-select:none}.point-item.selected{background:#9d8cd626;box-shadow:0 0 8px #9d8cd64d;border-left:2px solid var(--accent-secondary);padding-left:8px}.point-item.selected .point-text{color:var(--accent-secondary);font-weight:500}.point-info,.axis-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.point-text,.axis-name{font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.axis-name{font-weight:500}.point-badge{font-size:.65rem;padding:1px 5px;border-radius:3px;background:var(--border-accent);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.axis-endpoints{font-size:.75rem;color:var(--text-muted);display:flex;gap:4px;align-items:center}.axis-endpoints .negative{color:var(--color-negative)}.axis-endpoints .positive{color:var(--color-positive)}.axis-endpoints .arrow{color:var(--text-muted)}.axis-endpoints .endpoint{cursor:pointer;padding:1px 3px;border-radius:2px;transition:all .15s ease}.axis-endpoints .endpoint:hover{background:#ffffff14}.axis-endpoints .endpoint.selected{background:#9d8cd633;box-shadow:0 0 4px #9d8cd64d}.axis-endpoints .endpoint.negative.selected,.axis-endpoints .endpoint.positive.selected{color:var(--accent-secondary)}.item-actions{display:flex;align-items:center;gap:4px}.pin-btn{background:transparent;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease;opacity:0;filter:grayscale(1)}.point-item:hover .pin-btn,.axis-item:hover .pin-btn{opacity:.6}.pin-btn:hover{opacity:1!important;filter:grayscale(0)}.pin-btn.active{opacity:1;filter:grayscale(0)}.point-item.pinned,.axis-item.pinned{background:#7c8adb14}.delete-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease;opacity:0}.point-item:hover .delete-btn,.axis-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--color-negative);background:var(--color-error-bg)}.empty-message{font-size:.85rem;color:var(--text-muted);text-align:center;padding:16px 8px}.pooled-creator,.axis-creator{background:var(--bg-tertiary);border:1px solid var(--border-accent);border-radius:6px;padding:14px;margin-bottom:12px}.creator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.creator-title{font-size:.85rem;font-weight:500;color:var(--text-primary)}.creator-header .close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.creator-header .close-btn:hover{background:var(--border-subtle);color:var(--text-primary)}.creator-field{margin-bottom:12px}.creator-field label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.creator-field input,.creator-field select{width:100%;padding:8px 10px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;transition:border-color .15s ease}.creator-field input:focus,.creator-field select:focus{outline:none;border-color:var(--accent-primary)}.creator-field select{cursor:pointer}.point-select-list{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:4px}.point-select-list li{padding:6px 10px}.point-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-primary)}.point-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary)}.creator-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.creator-actions button{padding:8px 14px;font-size:.85rem}.cancel-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.cancel-btn:hover{border-color:var(--text-muted)}.graph-area{min-height:400px;overflow-y:auto}.empty-graph-area{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border-subtle);padding:40px;text-align:center}.empty-graph-area p{font-size:1rem;color:var(--text-secondary);margin-bottom:16px}.empty-graph-area .hint{font-size:.9rem;color:var(--text-muted);line-height:1.8}.graphs-grid{display:flex;flex-wrap:wrap;gap:20px}.graph-card{background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-subtle);overflow:hidden;transition:border-color .15s ease}.graph-card.active{border-color:var(--accent-primary)}.graph-card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.graph-name{font-size:.9rem;font-weight:500;color:var(--text-primary)}.settings-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.settings-btn:hover{color:var(--text-primary);background:var(--border-subtle)}.graph-card-content{padding:8px}.graph-loading,.graph-error{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);font-size:.9rem}.add-graph-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;min-height:200px;background:transparent;border:2px dashed var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease;color:var(--text-muted)}.add-graph-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.add-graph-btn:disabled{opacity:.4;cursor:not-allowed}.add-graph-btn .plus{font-size:2rem;line-height:1}.add-graph-btn .label{font-size:.85rem;margin-top:8px}.graph-creator-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.graph-creator{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:20px;width:400px;max-width:90vw}.settings-overlay{position:fixed;inset:0;background:#0000004d;z-index:90}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:90vw;background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:100;overflow-y:auto;box-shadow:-4px 0 20px #0003}.graph-settings{display:flex;flex-direction:column;height:100%}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.settings-header h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.settings-content{flex:1;padding:20px;overflow-y:auto}.settings-field{margin-bottom:18px}.settings-field>label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.settings-field input[type=text],.settings-field select{width:100%;padding:10px 12px;border-radius:5px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;transition:border-color .15s ease}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--accent-primary)}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.field-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px;margin-left:26px}.filter-count{color:var(--accent-primary)}.filter-actions{display:flex;gap:8px;margin-bottom:8px}.small-btn{padding:4px 10px;font-size:.75rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.small-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.point-filter-list{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px}.point-filter-list li{padding:8px 10px;border-bottom:1px solid var(--border-subtle)}.point-filter-list li:last-child{border-bottom:none}.settings-footer{padding:16px 20px;border-top:1px solid var(--border-subtle)}.settings-footer .delete-btn{width:100%;opacity:1;background:transparent;border:1px solid var(--color-error-border);color:var(--color-negative);padding:10px 16px;font-size:.85rem;cursor:pointer;border-radius:5px;transition:all .15s ease}.settings-footer .delete-btn:hover{background:var(--color-error-bg)}button{font-family:inherit;font-size:.85rem;padding:8px 14px;border-radius:5px;border:1px solid var(--accent-primary);background:var(--accent-primary);color:#fff;cursor:pointer;transition:all .15s ease}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.4;cursor:not-allowed}.point-list::-webkit-scrollbar,.axis-list::-webkit-scrollbar,.point-select-list::-webkit-scrollbar,.point-filter-list::-webkit-scrollbar,.settings-content::-webkit-scrollbar{width:6px}.point-list::-webkit-scrollbar-track,.axis-list::-webkit-scrollbar-track,.point-select-list::-webkit-scrollbar-track,.point-filter-list::-webkit-scrollbar-track,.settings-content::-webkit-scrollbar-track{background:transparent}.point-list::-webkit-scrollbar-thumb,.axis-list::-webkit-scrollbar-thumb,.point-select-list::-webkit-scrollbar-thumb,.point-filter-list::-webkit-scrollbar-thumb,.settings-content::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}@media(max-width:900px){.main-layout{grid-template-columns:1fr}.sidebar{order:1}.graph-area{order:0}.settings-panel{width:100%}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px #0000004d;z-index:200;animation:toast-slide-in .2s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-message{color:var(--text-primary);font-size:.9rem}.toast-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;padding:0 4px;cursor:pointer;line-height:1}.toast-dismiss:hover{color:var(--text-primary)}
