*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;height:100vh;overflow:hidden}.app{display:grid;grid-template-columns:1fr;grid-template-rows:40px 1fr;height:100vh}.header{grid-column:1 / -1;background:#16213e;display:flex;align-items:center;padding:0 12px;gap:12px;border-bottom:1px solid #0f3460}.header h1{font-size:14px;font-weight:500;color:#e94560}.mode-toggle{display:flex;background:#0f3460;border-radius:8px;overflow:hidden;border:2px solid #e94560;box-shadow:0 0 15px #e945604d}.mode-toggle button{padding:10px 24px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.mode-toggle button.active{background:#e94560;color:#fff}.mode-toggle button:not(.active):hover{background:#e9456033;color:#fff}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.example-dropdown{position:relative}.example-select{padding:10px 36px 10px 16px;background:linear-gradient(135deg,#1a4980,#0f3460);border:2px solid #3498db;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%233498db' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;min-width:200px;transition:all .2s}.example-select:hover{border-color:#5dade2;box-shadow:0 0 10px #3498db66}.example-select:focus{outline:none;border-color:#5dade2;box-shadow:0 0 15px #3498db80}.example-select option{background:#16213e;color:#fff;padding:10px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary{background:#e94560;color:#fff}.btn-primary:hover{background:#ff6b6b}.btn-secondary{background:#0f3460;color:#aaa}.btn-secondary:hover{background:#1a4980;color:#fff}.palette{display:none!important;background:#16213e;padding:15px;border-right:1px solid #0f3460;overflow-y:auto}.palette h3{font-size:11px;text-transform:uppercase;color:#666;margin-bottom:10px;letter-spacing:1px}.palette-item{padding:12px;margin-bottom:8px;border-radius:8px;cursor:grab;display:flex;align-items:center;gap:10px;transition:all .2s}.palette-item:hover{transform:translate(5px)}.palette-item.input{background:linear-gradient(135deg,#3498db33,#2980b933);border:1px solid #3498db55}.palette-item.model{background:linear-gradient(135deg,#8e44ad33,#7f8c8d33);border:1px solid #8e44ad55}.palette-item.formula{background:linear-gradient(135deg,#9b59b633,#8e44ad33);border:1px solid #9b59b655}.palette-item.blackbox{background:linear-gradient(135deg,#34495e33,#2c3e5033);border:1px solid #34495e55}.palette-item.output{background:linear-gradient(135deg,#27ae6033,#2ecc7133);border:1px solid #27ae6055}.palette-icon{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px}.palette-item.input .palette-icon{background:#3498db}.palette-item.model .palette-icon{background:#8e44ad}.palette-item.formula .palette-icon{background:#9b59b6}.palette-item.blackbox .palette-icon{background:#34495e}.palette-item.output .palette-icon{background:#27ae60}.palette-label{font-size:13px}.palette-hint{font-size:9px;color:#666;margin-left:auto;font-style:italic}.canvas-container{background:#1a1a2e;position:relative;overflow:hidden}.canvas{width:100%;height:100%}.grid-pattern{fill:url(#grid)}.node{cursor:pointer}.node-input,.node-output{cursor:ew-resize}.node-body{rx:8;ry:8;stroke-width:2;transition:all .2s}.node.selected .node-body{stroke-width:3;filter:drop-shadow(0 0 10px currentColor)}.node-input .node-body{fill:#16213e;stroke:#3498db}.node-input .node-fill{fill:#3498db;opacity:.3;rx:8;ry:8;pointer-events:none}.node-input .node-value-large{fill:#fff;font-size:20px;font-weight:600;dominant-baseline:middle;text-anchor:end}.node-input .node-unit{fill:#888;font-size:12px}.node-input{cursor:ew-resize}.node-output .output-fill{fill:#27ae60;opacity:.3;rx:8;ry:8;pointer-events:none}.node-output .output-fill.output-free{fill:#7f8c8d;opacity:.2}.node-output .computed-fill{fill:#3498db;opacity:.3;pointer-events:none}.node-output .node-value-large{fill:#fff;font-size:20px;font-weight:600;dominant-baseline:middle;text-anchor:end}.node-output[data-is-expert-output=true]{cursor:ew-resize}.node-input.dragging .node-body{stroke-width:3;filter:drop-shadow(0 0 10px #3498db)}.node-output.dragging .node-body{stroke-width:3;filter:drop-shadow(0 0 10px #27ae60)}.node-formula .node-body,.node-blackbox .node-body{fill:#16213e;stroke:#8e44ad}.node-output .node-body{fill:#16213e;stroke:#27ae60}.node-title{fill:#fff;font-size:12px;font-weight:500}.node-value{fill:#aaa;font-size:11px}.node-computed-value{fill:#fff;font-size:13px;font-weight:500}.node-formula-text{fill:#888;font-size:10px;font-family:Monaco,Menlo,Consolas,monospace;cursor:pointer;pointer-events:all}.node-formula{cursor:pointer}.model-tooltip,.formula-tooltip{position:fixed;background:#16213e;border:2px solid #8e44ad;border-radius:8px;padding:12px 16px;max-width:400px;z-index:10000;box-shadow:0 10px 40px #00000080;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.model-tooltip-header,.formula-tooltip-header{font-size:11px;color:#8e44ad;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.model-tooltip-description{font-size:13px;color:#ccc;line-height:1.5;margin-bottom:10px}.model-tooltip-mappings{font-size:11px;color:#888;border-top:1px solid #0f3460;padding-top:10px}.model-tooltip-mappings strong{color:#aaa}.formula-tooltip-content{font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;color:#fff;line-height:1.6;word-break:break-all;white-space:pre-wrap}.model-tooltip-value,.formula-tooltip-value{margin-top:10px;padding-top:10px;border-top:1px solid #0f3460;font-size:12px;color:#aaa}.model-tooltip-value span,.formula-tooltip-value span{color:#2ecc71;font-weight:600;font-size:14px}.node-port{fill:#0f3460;stroke:#3498db;stroke-width:2;cursor:crosshair;transition:all .2s}.node-port:hover{fill:#3498db;transform:scale(1.3)}.node-slider-container{width:100%;height:100%;display:flex;align-items:center;padding:0 8px}.node-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0f3460;border-radius:3px;outline:none;cursor:pointer}.node-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#3498db;border-radius:50%;cursor:pointer;transition:background .2s,transform .1s}.node-slider::-webkit-slider-thumb:hover{background:#5dade2;transform:scale(1.2)}.node-slider::-moz-range-thumb{width:14px;height:14px;background:#3498db;border-radius:50%;cursor:pointer;border:none}.node-slider::-moz-range-thumb:hover{background:#5dade2}.edge{fill:none;stroke:#3498db;stroke-width:2;opacity:.6}.edge:hover{stroke-width:3;opacity:1}.edge.highlighted{stroke:#f39c12;stroke-width:3;opacity:1;filter:drop-shadow(0 0 4px #f39c12)}.node.highlighted .node-body{filter:drop-shadow(0 0 8px #f39c12)}.node.highlighted.node-input .node-body,.node.highlighted.node-formula .node-body,.node.highlighted.node-blackbox .node-body,.node.highlighted.node-output .node-body{stroke:#f39c12}.node.dimmed{opacity:.3}.edge.dimmed{opacity:.15}.edge-temp{stroke-dasharray:5,5;opacity:.5}.properties{display:none!important;background:#16213e;padding:15px;border-left:1px solid #0f3460;overflow-y:auto}.properties h3{font-size:11px;text-transform:uppercase;color:#666;margin-bottom:15px;letter-spacing:1px}.property-group{margin-bottom:15px}.property-label{font-size:11px;color:#888;margin-bottom:5px;display:block}.property-input{width:100%;padding:8px 12px;background:#0f3460;border:1px solid #1a4980;border-radius:6px;color:#fff;font-size:13px}.property-input:focus{outline:none;border-color:#3498db}.property-slider{width:100%;margin-top:5px}.property-range{display:flex;gap:10px}.property-range .property-input{flex:1}.inverse-panel{background:#0f3460;border-radius:8px;padding:15px;margin-top:15px}.inverse-panel h4{font-size:12px;color:#e94560;margin-bottom:10px}.objective-item{background:#16213e;padding:10px;border-radius:6px;margin-bottom:8px}.objective-name{font-size:12px;color:#fff;margin-bottom:5px}.objective-status{font-size:11px;color:#888}.objective-status.satisfied{color:#27ae60}.iteration-display{text-align:center;padding:15px;background:#16213e;border-radius:8px;margin-top:10px}.iteration-number{font-size:24px;font-weight:700;color:#e94560}.iteration-label{font-size:11px;color:#666}.toggle-container{display:flex;align-items:center;gap:8px;margin-top:8px}.toggle{position:relative;width:40px;height:22px;background:#0f3460;border-radius:11px;cursor:pointer;transition:background .3s}.toggle.active{background:#27ae60}.toggle:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .3s}.toggle.active:after{transform:translate(18px)}.toggle-label{font-size:12px;color:#888}.empty-state{text-align:center;color:#666;padding:20px}.empty-state p{font-size:13px;line-height:1.6}.scenario-panel{background:#0f3460;border-radius:8px;padding:12px;margin-bottom:15px}.scenario-panel h4{font-size:11px;text-transform:uppercase;color:#888;margin-bottom:10px;letter-spacing:1px}.scenario-select{width:100%;padding:10px 12px;background:#16213e;border:1px solid #1a4980;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;margin-bottom:10px}.scenario-select:focus{outline:none;border-color:#e94560}.scenario-description{font-size:12px;color:#888;font-style:italic;line-height:1.5;padding:8px;background:#16213e;border-radius:6px;margin-bottom:10px}.scenario-constraints{max-height:200px;overflow-y:auto}.constraint-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#16213e;border-radius:4px;margin-bottom:4px;font-size:11px}.constraint-badge{padding:2px 6px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;flex-shrink:0}.constraint-badge.target{background:#e94560;color:#fff}.constraint-badge.observable{background:#3498db;color:#fff}.constraint-badge.free{background:#27ae60;color:#fff}.constraint-name{flex:1;color:#ccc}.constraint-value{color:#888;font-family:monospace}.apply-scenario-btn{width:100%;padding:10px;background:#e94560;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;margin-top:10px}.apply-scenario-btn:hover{background:#ff6b6b}.expert-mode-toggle{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #1a4980}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:#ccc}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:#e94560}.toggle-text{font-weight:500}.expert-panel{margin-bottom:15px}.expert-section{background:#16213e;border-radius:8px;padding:12px;margin-bottom:12px}.expert-info{font-size:11px;color:#888;line-height:1.5;margin-bottom:10px}.calibration-status{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px;background:#27ae601a;border:1px solid #27ae60;border-radius:6px;color:#27ae60;font-size:12px}.calibration-status .status-icon{font-weight:700}.expert-objectives h5,.expert-inputs h5{font-size:11px;text-transform:uppercase;color:#888;margin-bottom:8px;letter-spacing:1px}.expert-objectives-list,.expert-inputs-list{max-height:250px;overflow-y:auto}.empty-hint{font-size:11px;color:#666;font-style:italic;text-align:center;padding:15px}.expert-objective-item,.expert-input-item{background:#16213e;border-radius:6px;padding:10px;margin-bottom:6px}.expert-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.expert-item-name{font-size:12px;color:#fff;font-weight:500}.expert-item-value{font-size:11px;color:#888;font-family:monospace}.expert-item-range{display:flex;align-items:center;gap:6px;margin-bottom:8px}.expert-range-bar{flex:1;height:6px;background:#0f3460;border-radius:3px;position:relative;overflow:hidden}.expert-range-fill{position:absolute;left:0;top:0;height:100%;background:#27ae60;border-radius:3px;transition:width .2s}.expert-range-bounds{display:flex;justify-content:space-between;font-size:9px;color:#666}.expert-item-controls{display:flex;gap:4px;flex-wrap:wrap}.expert-control-btn{padding:4px 8px;font-size:10px;border:1px solid #1a4980;border-radius:4px;background:transparent;color:#888;cursor:pointer;transition:all .2s}.expert-control-btn:hover{border-color:#3498db;color:#3498db}.expert-control-btn.active{background:#e94560;border-color:#e94560;color:#fff}.expert-control-btn.fixed{background:#7f8c8d;border-color:#7f8c8d;color:#fff}.expert-target-input{width:60px;padding:4px 6px;font-size:10px;background:#0f3460;border:1px solid #1a4980;border-radius:4px;color:#fff;text-align:right}.step-controls{display:flex;gap:8px;margin-top:10px}.step-btn{padding:10px 16px;font-size:14px;font-weight:700}.solutions-count{margin-top:8px;text-align:center;font-size:12px;color:#27ae60}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:2000;display:flex;align-items:center;justify-content:center}.radar-modal{background:#1a1a2e;border-radius:12px;max-width:900px;width:90%;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #0f3460}.modal-header h3{margin:0;color:#fff}.modal-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#e94560}.modal-body{padding:20px}.radar-container{display:flex;gap:20px;margin-bottom:20px}.radar-chart{flex:1;background:#16213e;border-radius:8px;padding:15px}.radar-chart h4{margin:0 0 10px;font-size:13px;color:#888;text-align:center}.radar-chart svg{width:100%;height:auto}.radar-axis{stroke:#2a4a7a;stroke-width:1}.radar-grid{stroke:#1a3a5a;stroke-width:.5;fill:none}.radar-label{font-size:10px;fill:#888}.radar-polygon{stroke-width:2;fill-opacity:.15;cursor:pointer;transition:fill-opacity .2s}.radar-polygon:hover,.radar-polygon.highlighted{fill-opacity:.4;stroke-width:3}.radar-polygon.dimmed{fill-opacity:.05;stroke-opacity:.3}.solutions-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px}.legend-item{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#16213e;border-radius:4px;font-size:11px;cursor:pointer;transition:background .2s}.legend-item:hover,.legend-item.highlighted{background:#1a4a80}.legend-color{width:12px;height:12px;border-radius:2px}.solution-details{background:#16213e;border-radius:8px;padding:15px;min-height:80px}.solution-details .hint{color:#666;text-align:center;font-style:italic;margin:0}.solution-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.solution-detail-item{display:flex;justify-content:space-between;padding:6px 10px;background:#0f3460;border-radius:4px;font-size:12px}.solution-detail-name{color:#888}.solution-detail-value{color:#fff;font-family:monospace}.toast-container{position:fixed;top:70px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#16213e;border:1px solid #0f3460;border-radius:12px;padding:16px 20px;min-width:320px;max-width:450px;box-shadow:0 10px 40px #0006;display:flex;align-items:flex-start;gap:14px;pointer-events:auto;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1);transform-origin:top right}.toast.hiding{animation:toastSlideOut .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100px) scale(.9)}}.toast-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.toast-content{flex:1}.toast-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.toast-message{font-size:13px;color:#aaa;line-height:1.5}.toast-close{background:none;border:none;color:#666;cursor:pointer;padding:4px;font-size:18px;line-height:1;transition:color .2s}.toast-close:hover{color:#fff}.toast.success{border-color:#27ae60}.toast.success .toast-icon{background:#27ae6033;color:#27ae60}.toast.error{border-color:#e74c3c}.toast.error .toast-icon{background:#e74c3c33;color:#e74c3c}.toast.warning{border-color:#f39c12}.toast.warning .toast-icon{background:#f39c1233;color:#f39c12}.toast.info{border-color:#3498db}.toast.info .toast-icon{background:#3498db33;color:#3498db}.toast.celebration{border-color:#27ae60;background:linear-gradient(135deg,#16213e,#1a3a2e);border-width:2px}.toast.celebration .toast-icon{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;animation:celebratePulse 1s ease-in-out infinite}@keyframes celebratePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.toast.celebration .toast-title{color:#2ecc71;font-size:16px}.toast.celebration:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 40%,rgba(46,204,113,.1) 45%,rgba(46,204,113,.1) 55%,transparent 60%);background-size:200% 200%;animation:shimmer 2s ease-in-out infinite;border-radius:12px;pointer-events:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;border-radius:0 0 12px 12px;opacity:.5}.toast.success .toast-progress{background:#27ae60}.toast.error .toast-progress{background:#e74c3c}.toast.warning .toast-progress{background:#f39c12}.toast.info .toast-progress{background:#3498db}.toast.celebration .toast-progress{background:#2ecc71}.nav-controls{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:100}.nav-controls-row{display:flex;gap:4px}.nav-btn{width:36px;height:36px;border:none;border-radius:8px;background:#1e1e32e6;color:#8b8b9e;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .15s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.nav-btn:hover{background:#323250f2;color:#fff;border-color:#fff3}.nav-btn:active{transform:scale(.95)}.nav-btn.pan-btn{width:28px;height:28px;font-size:14px}.nav-btn svg{width:18px;height:18px;fill:currentColor}.zoom-label{font-size:11px;color:#8b8b9e;text-align:center;min-width:44px;padding:0 4px;line-height:36px;background:#1e1e32e6;border-radius:8px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iteration-charts{position:fixed;bottom:20px;left:20px;width:700px;height:220px;min-width:400px;min-height:150px;background:#0d1117f2;border-radius:12px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:none;z-index:50;overflow:hidden;box-shadow:0 10px 40px #00000080}.iteration-charts.visible{display:flex;flex-direction:row}.iteration-charts-header{position:absolute;top:0;left:0;right:0;height:32px;background:#1e1e32cc;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.1);z-index:1;cursor:move;-webkit-user-select:none;user-select:none}.iteration-charts-title{font-size:11px;font-weight:600;color:#8b8b9e;text-transform:uppercase;letter-spacing:.5px}.iteration-charts-close{background:none;border:none;color:#666;cursor:pointer;font-size:18px;line-height:1;padding:4px;transition:color .2s}.iteration-charts-close:hover{color:#fff}.chart-container{flex:1;padding-top:32px;min-width:0;height:100%;position:relative}.iteration-charts-resize{position:absolute;background:transparent}.iteration-charts-resize-e{right:0;top:32px;bottom:0;width:6px;cursor:ew-resize}.iteration-charts-resize-s{bottom:0;left:0;right:0;height:6px;cursor:ns-resize}.iteration-charts-resize-se{right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize}.iteration-charts-resize-se:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.3);border-bottom:2px solid rgba(255,255,255,.3)}.iteration-stats{position:absolute;top:40px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:2}.stat-badge{background:#0009;padding:4px 10px;border-radius:12px;font-size:11px;color:#8b8b9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stat-badge.converged{background:#27ae604d;color:#2ecc71;border:1px solid rgba(46,204,113,.3)}.stat-badge .stat-value{color:#fff;font-weight:600;margin-left:4px}.landing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#1a1a2e;overflow-y:auto;display:flex;justify-content:center;transition:opacity .4s ease}.landing-overlay.fade-out{opacity:0}.landing-content{max-width:700px;width:100%;padding:60px 32px 80px}.landing-hero{text-align:center;margin-bottom:48px}.landing-hero-icon{display:inline-block;margin-bottom:20px}.landing-hero h1{font-size:32px;font-weight:700;color:#e94560;margin-bottom:12px;letter-spacing:-.5px}.landing-hero .landing-tagline{font-size:18px;color:#aaa;line-height:1.5}.landing-section{margin-bottom:40px}.landing-section h2{font-size:20px;font-weight:600;color:#eee;margin-bottom:12px}.landing-section p{font-size:15px;color:#aaa;line-height:1.7;margin-bottom:12px}.landing-section a{color:#3498db;text-decoration:none}.landing-section a:hover{text-decoration:underline}.landing-modes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.landing-mode-card{background:#16213e;border:1px solid #0f3460;border-radius:10px;padding:24px 20px}.landing-mode-card h3{font-size:16px;font-weight:600;color:#eee;margin-bottom:4px}.landing-mode-card .mode-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.landing-mode-card.forward-card .mode-label{color:#3498db}.landing-mode-card.inverse-card .mode-label{color:#e94560}.landing-mode-card.inverse-card{border-color:#e945604d}.landing-mode-card p{font-size:14px;color:#aaa;line-height:1.6;margin:0}.landing-steps{margin-top:16px;display:flex;flex-direction:column;gap:16px}.landing-step{display:flex;gap:16px;align-items:flex-start}.landing-step-number{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#0f3460;border:1px solid #3498db;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#3498db;margin-top:2px}.landing-step-text h3{font-size:15px;font-weight:600;color:#eee;margin-bottom:4px}.landing-step-text p{font-size:14px;color:#aaa;line-height:1.6;margin:0}.landing-cta{text-align:center;margin-top:48px}.landing-cta-btn{display:inline-block;padding:14px 48px;background:#e94560;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit}.landing-cta-btn:hover{background:#ff6b6b}.landing-links{text-align:center;margin-top:32px}.landing-links a{color:#3498db;text-decoration:none;font-size:14px;margin:0 12px}.landing-links a:hover{text-decoration:underline}.landing-links .link-sep{color:#666;font-size:14px}@media(max-width:600px){.landing-content{padding:40px 20px 60px}.landing-hero h1{font-size:26px}.landing-modes{grid-template-columns:1fr}}.solve-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;background:#0d1117d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-radius:12px;z-index:110;box-shadow:0 4px 24px #00000080}.solve-toolbar .toolbar-sep{width:1px;height:22px;background:#ffffff1f}.solve-toolbar .toolbar-badge{font-size:11px;padding:3px 10px;border-radius:6px;background:#27ae6026;color:#2ecc71;border:1px solid rgba(39,174,96,.3);white-space:nowrap}.solve-toolbar .toolbar-badge.uncalibrated{background:#f39c1226;color:#f39c12;border-color:#f39c124d}.solve-toolbar .toolbar-iter{font-size:16px;font-weight:700;color:#e94560;min-width:30px;text-align:center}.solve-toolbar .toolbar-iter-label{font-size:10px;color:#666}.solve-toolbar button{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.solve-toolbar .tb-recalibrate{background:transparent;color:#888;border:1px solid rgba(255,255,255,.12)}.solve-toolbar .tb-recalibrate:hover{background:#ffffff0f;color:#ccc}.solve-toolbar .tb-step{background:#0f3460;color:#3498db}.solve-toolbar .tb-step:hover{background:#1a4980;color:#5dade2}.solve-toolbar .tb-solve{background:#e94560;color:#fff}.solve-toolbar .tb-solve:hover{background:#ff6b6b}.solve-toolbar .tb-multi{background:transparent;color:#aaa;border:1px solid rgba(233,69,96,.4)}.solve-toolbar .tb-multi:hover{background:#e945601f;color:#e94560}.solve-toolbar .tb-solutions-count{font-size:11px;color:#27ae60;white-space:nowrap}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90000;pointer-events:auto}.tour-spotlight{position:fixed;z-index:90001;border-radius:8px;box-shadow:0 0 0 9999px #000000b8;pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1)}.tour-popover{position:fixed;z-index:90002;width:340px;background:#16213e;border:1px solid #0f3460;border-radius:12px;padding:20px;box-shadow:0 12px 48px #0009;animation:tourFadeIn .3s ease-out}@keyframes tourFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-popover .tour-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px}.tour-popover .tour-body{font-size:13px;color:#aaa;line-height:1.65}.tour-popover .tour-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.tour-popover .tour-dots{display:flex;gap:5px}.tour-popover .tour-dot{width:6px;height:6px;border-radius:50%;background:#0f3460}.tour-popover .tour-dot.active{background:#e94560}.tour-popover .tour-nav{display:flex;gap:6px}.tour-popover .tour-btn{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.tour-popover .tour-btn-skip{background:transparent;color:#666}.tour-popover .tour-btn-skip:hover{color:#aaa}.tour-popover .tour-btn-back{background:#0f3460;color:#aaa}.tour-popover .tour-btn-back:hover{color:#fff}.tour-popover .tour-btn-next{background:#e94560;color:#fff}.tour-popover .tour-btn-next:hover{background:#ff6b6b}.tour-trigger-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:#888;padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.tour-trigger-btn:hover{background:#ffffff0f;color:#ccc;border-color:#ffffff40}
