.experiment-layout{gap:var(--space-lg);padding:calc(70px + var(--space-lg)) var(--space-lg) var(--space-lg);grid-template-columns:1fr 380px;align-items:start;max-width:1600px;margin:0 auto;display:grid}.sim-area{gap:var(--space-md);flex-direction:column;display:flex}.sim-header{align-items:center;gap:var(--space-md);grid-column:1/-1;display:flex}.sim-title{font-size:1.5rem;font-weight:700}.sim-badge{color:var(--accent-primary);background:#6366f11f;border:1px solid #6366f140;border-radius:999px;padding:2px 12px;font-size:.75rem;font-weight:500}.canvas-wrapper{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--bg-glass-border);width:100%;min-height:400px;max-height:65vh;position:relative;overflow:hidden}#sim-canvas{width:100%;height:100%;display:block}.canvas-overlay{color:var(--text-secondary);pointer-events:none;transition:opacity var(--transition-base);background:#0a0a1a80;justify-content:center;align-items:center;font-size:.95rem;display:flex;position:absolute;inset:0}.canvas-overlay.hidden{opacity:0}.info-bar{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.controls-dashboard{gap:var(--space-md);display:flex}.dashboard-params{flex:3}.dashboard-actions{flex-direction:column;flex:1;justify-content:center;display:flex}.controls-grid{gap:var(--space-md) var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.controls-grid .control-group{margin-bottom:0}.info-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--bg-glass-border);flex-direction:column;align-items:center;gap:2px;transition:all .3s;display:flex}.highlight-time{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d,inset 0 0 8px #06b6d433;background:#ffffff14!important;border-color:#06b6d480!important}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.info-value{font-size:.85rem;font-weight:600;font-family:var(--font-mono);color:var(--accent-secondary);white-space:nowrap;letter-spacing:-.01em}.vehicle-result-section{margin-bottom:var(--space-md)}.vehicle-result-section.hidden{display:none}.vehicle-result-label{margin-bottom:var(--space-sm);color:#f87171;letter-spacing:.02em;font-size:.85rem;font-weight:600}.concept-panel{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md);transition:all var(--transition-fast)}.concept-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}.concept-summary::-webkit-details-marker{display:none}.concept-toggle-icon{color:var(--text-muted);font-size:.7rem;transition:transform .3s}.concept-panel[open] .concept-toggle-icon{transform:rotate(180deg)}.concept-content{margin-top:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex}.concept-diagram-placeholder{border-radius:var(--radius-sm);width:100%;height:120px;color:var(--text-muted);font-size:.85rem;font-family:var(--font-main);background:#ffffff05;border:1px dashed #ffffff1a;justify-content:center;align-items:center;display:flex}.concept-links{gap:var(--space-sm);flex-direction:column;display:flex}.concept-link-group{gap:var(--space-sm);align-items:center;font-size:.8rem;display:flex}.link-label{color:var(--text-muted);flex-shrink:0;width:65px;font-weight:500}.concept-link{color:var(--accent-secondary);transition:all var(--transition-fast);background:#06b6d41a;border-radius:4px;padding:4px 10px;font-weight:500;text-decoration:none}.concept-link:hover{color:#fff;background:#06b6d440}.control-panel{gap:var(--space-md);max-height:calc(100vh - 90px);padding-right:var(--space-xs);flex-direction:column;display:flex;overflow-y:auto}.control-panel::-webkit-scrollbar{width:4px}.control-panel::-webkit-scrollbar-thumb{background:var(--bg-glass-border);border-radius:2px}.panel-section{padding:var(--space-lg);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--bg-glass-border)}.panel-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.85rem;font-weight:600}.control-group{margin-bottom:var(--space-lg)}.control-group:last-child{margin-bottom:0}.control-label-row{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.control-label{color:var(--text-primary);font-size:.85rem;font-weight:500}.control-value-wrap{align-items:center;gap:4px;display:flex}.control-number{border-radius:var(--radius-sm);border:1px solid var(--bg-glass-border);background:var(--bg-secondary);width:56px;color:var(--accent-secondary);font-family:var(--font-mono);text-align:right;transition:border-color var(--transition-fast);appearance:textfield;outline:none;padding:4px 6px;font-size:.85rem}.control-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.control-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.control-number:focus{border-color:var(--accent-primary)}.control-display{font-family:var(--font-mono);color:var(--accent-secondary);font-size:.85rem}.control-unit{color:var(--text-muted);font-size:.75rem}.control-slider{appearance:none;background:var(--bg-secondary);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.control-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-gradient);cursor:pointer;width:18px;height:18px;box-shadow:0 0 8px var(--accent-glow);transition:transform var(--transition-fast);border-radius:50%}.control-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.control-slider::-moz-range-thumb{background:var(--accent-primary);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.object-select{background:var(--bg-glass);border:1px solid var(--bg-glass-border);color:var(--text-primary);font-family:var(--font-main);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);outline:none;padding:4px 8px;font-size:.8rem}.object-select:focus{border-color:var(--accent-primary)}.object-select option{background:var(--bg-card);color:var(--text-primary)}.unit-toggle-group{padding:var(--space-sm) 0;margin-bottom:var(--space-sm);border-bottom:1px dashed #ffffff1a;justify-content:space-between;align-items:center;display:flex}.unit-toggle-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.unit-toggle-buttons{background:var(--bg-glass);border-radius:var(--radius-sm);border:1px solid var(--bg-glass-border);display:flex;overflow:hidden}.unit-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px 12px;font-size:.75rem;font-weight:600}.unit-btn.active{background:var(--accent-primary);color:#fff}.unit-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.control-value-row{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.speed-category-label{color:var(--accent-secondary);background:#06b6d41a;border-radius:4px;min-height:18px;padding:2px 6px;font-size:.75rem;font-weight:500}.slider-with-ticks{margin-bottom:var(--space-sm);position:relative}.slider-ticks{height:20px;margin-top:4px;position:relative}.tick-mark{background:#ffffff4d;width:1px;height:6px;position:absolute;top:0;transform:translate(-50%)}.tick-label{color:#cbd5e1;white-space:nowrap;font-size:.65rem;font-weight:500;position:absolute;top:8px;transform:translate(-50%)}.control-unit,.global-unit-label{color:#cbd5e1!important;font-weight:600!important}.distance-landmark-label{color:#fbbf24;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;width:max-content;min-height:20px;margin:-8px auto 0;padding:6px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.distance-landmark-label:hover{background:#fbbf2426;transform:scale(1.02)}.distance-landmark-label:active{transform:scale(.98)}.distance-landmark-label span{border-bottom:1px dashed #fbbf2480;padding-bottom:2px}.control-number{min-width:110px!important}.time-scale-warning{color:#fb923c;text-align:center;opacity:1;background:#fb923c1a;border:1px solid #fb923c33;border-radius:4px;max-height:50px;margin-bottom:8px;padding:4px 8px;font-size:.75rem;transition:all .3s ease-in-out;overflow:hidden}.time-scale-warning.hidden{opacity:0;pointer-events:none;border-width:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block}.action-row{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.action-row:last-child{margin-bottom:0}.btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-xs);transition:all var(--transition-fast);border:none;flex:1;font-size:.9rem;font-weight:600;display:flex}.btn--primary{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 12px #6366f14d}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6366f180}.btn--secondary{background:var(--bg-glass);border:1px solid var(--bg-glass-border);color:var(--text-secondary)}.btn--secondary:hover{color:var(--text-primary);background:#ffffff0f}.btn-icon{font-size:.85rem}.checkbox-label{align-items:center;gap:var(--space-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:1;font-size:.8rem;display:flex}.checkbox-label input{display:none}.checkbox-custom{border:2px solid var(--bg-glass-border);width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;position:relative}.checkbox-label input:checked+.checkbox-custom{background:var(--accent-primary);border-color:var(--accent-primary)}.checkbox-label input:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:10px;font-weight:700;position:absolute;top:-1px;left:2px}.checkbox-group-vertical{flex-direction:column!important;align-items:flex-start!important;gap:16px!important;margin-bottom:32px!important}.theory-box-mini{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-md);flex-direction:column;padding:16px;display:flex}.theory-title{color:var(--accent-secondary);border-bottom:1px dashed #ffffff1a;margin-bottom:12px;padding-bottom:8px;font-size:.95rem;font-weight:700}.theory-text{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.theory-text strong{color:var(--text-primary)}.graph-container{margin-bottom:var(--space-md)}.graph-container:last-child{margin-bottom:0}.graph-label{color:var(--text-muted);margin-bottom:var(--space-xs);font-size:.75rem;font-weight:500}.graph-canvas{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--bg-glass-border);width:100%;height:120px;display:block}.equation-card{padding:var(--space-md);border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--bg-glass-border);gap:var(--space-sm);flex-direction:column;display:flex}.equation{font-family:"MalangMalang", var(--font-mono);letter-spacing:.05em;color:var(--accent-secondary);text-align:center;font-size:.9rem}#speed-b-group.disabled{opacity:.3;pointer-events:none}@media (width<=1024px){.experiment-layout{grid-template-columns:1fr}.control-panel{max-height:none;overflow-y:visible}.canvas-wrapper{min-height:350px}}@media (width<=640px){.experiment-layout{padding:calc(60px + var(--space-sm)) var(--space-sm) var(--space-sm);gap:var(--space-sm)}.controls-dashboard{flex-direction:column}.controls-grid{grid-template-columns:1fr}}.simulation-footer{text-align:center;color:#ffffff26;letter-spacing:.05em;-webkit-user-select:none;user-select:none;font-size:.65rem;font-weight:400;font-family:var(--font-mono,monospace);padding:40px 0 20px}.oojoo-tooltip{z-index:9999;pointer-events:none;-webkit-backdrop-filter:blur(12px);color:#fff;font-family:var(--font-main);letter-spacing:.02em;opacity:1;visibility:visible;white-space:nowrap;background:#0f172ad9;border:1px solid #06b6d480;border-radius:6px;margin-top:-12px;padding:8px 14px;font-size:.8rem;font-weight:500;transition:opacity .2s,visibility .2s;position:absolute;top:0;left:0;transform:translate(12px,-100%);box-shadow:0 4px 15px #00000080,0 0 12px #06b6d440}.oojoo-tooltip.hidden{opacity:0;visibility:hidden}
