.input-group-custom { margin-bottom:1rem; }
        .deep-dive { margin:1.8rem 0; }
        .deep-dive p { text-align:justify; }
        .unit-note { font-size:0.9rem; color:#6c757d; }
        .coord-input { margin-bottom:0.5rem; }
        .geometry-canvas { width:100%; height:auto; background:#f9f9f9; border:1px solid #ddd; border-radius:8px; margin-top:1.5rem; display:block; }
        .canvas-container { text-align:center; margin-top:1rem; position:relative; }
        .legend { display:flex; justify-content:center; gap:2rem; margin:0.5rem 0; font-size:0.9rem; flex-wrap:wrap; }
        .legend-item { display:flex; align-items:center; gap:0.3rem; }
        .legend-color { width:16px; height:16px; border-radius:50%; }
        .legend-color.red { background:#dc3545; }
        .legend-color.blue { background:#0d6efd; }
        .legend-color.green { background:#28a745; }
        .legend-color.purple { background:#9b59b6; }
        .legend-color.gray { background:#6c757d; }
        .param-input { margin-bottom:0.75rem; }
        .param-input label { font-weight:500; }
        .param-input .result-highlight { font-size:2.2rem; font-weight:700; color:var(--primary-color); }
        .derivation-box { background:#f8f9fa; border-radius:8px; padding:1.2rem; margin:1.2rem 0; font-family:'Cambria Math','Latin Modern Math',STIXGeneral,serif; }
        .derivation-box .step { margin:0.6rem 0; padding-left:1.2rem; border-left:3px solid var(--primary-color); }
        .badge-physics { background:#17a2b8; color:#fff; font-size:0.8rem; padding:0.3rem 0.6rem; border-radius:20px; }
        .canvas-overlay { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; }
        .control-bar { display:flex; gap:0.5rem; flex-wrap:wrap; justify-content:center; margin:0.5rem 0; }
        .control-bar button { min-width:80px; }
        #trajectoryCanvas { cursor:default; }
        .resistance-input { display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap; }
        .resistance-input label { margin-right:0.5rem; }
        .resistance-input input[type="number"] { width:80px; }
        .export-buttons { display:flex; gap:0.5rem; flex-wrap:wrap; }
        .anim-ball { position:absolute; width:12px; height:12px; background:#ff6b6b; border-radius:50%; border:2px solid #fff; box-shadow:0 0 8px rgba(255,0,0,0.5); pointer-events:none; display:none; transform:translate(-50%, -50%); z-index:10; }