.audio-prompt{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);background:#4a4a4a;color:#fff;padding:20px 40px;border-radius:4px;font-size:1.2em;font-weight:500;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:background .3s ease}.audio-prompt:hover{background:#333}.container,body,html{height:100vh;width:100vw;margin:0;padding:0;box-sizing:border-box}.container{position:relative;overflow:hidden;transform:translateZ(0)}.ball{position:absolute;backface-visibility:hidden;perspective:1000}.speed-presets{display:flex;align-items:center;gap:12px;margin-bottom:10px;margin-top:8px;font-size:1em}.preset-btn{padding:8px 16px;border-radius:4px;border:1px solid #ddd;background:#fff;color:#333;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9em;line-height:1.3}.preset-btn:hover{background:#f5f5f5;border-color:#999}.copy-btn{margin-left:12px;padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#4a4a4a;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease}.copy-btn:hover{background:#333}.controller-bg{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 20px 0 20px}.controller-card{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);border-radius:8px;padding:40px;text-align:center;min-width:340px;max-width:900px;width:100%;margin-bottom:20px}.controller-card h1{font-size:2em;margin-bottom:18px;color:#333;font-weight:600}.controller-buttons{display:flex;gap:24px;justify-content:center;margin-bottom:32px}.app-info{background:#f0f0f0;color:#666;border-radius:6px;padding:12px;margin:18px auto 24px auto;text-align:center;font-size:.95em;font-weight:400;max-width:400px}.session-limit-notification{background:linear-gradient(90deg,#f44336,#ff9800);color:#fff;border-radius:16px;padding:24px;margin:24px auto;text-align:center;font-size:1.2em;box-shadow:0 2px 8px rgba(0,0,0,.12);max-width:400px}.session-limit-notification a{color:#fff;text-decoration:underline;font-weight:700}.start-btn,.stop-btn{padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#4a4a4a;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease}.start-btn:hover,.stop-btn:hover{background:#333}.start-btn-active{padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#4caf50;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease;animation:pulse 2s ease-in-out infinite}.start-btn-active:hover{background:#45a049}.stop-btn-active{padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#f44336;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease}.stop-btn-active:hover{background:#da190b}.controls{flex-direction:column;gap:16px;align-items:center;margin-bottom:20px}.control-row,.controls{display:flex;width:100%}.control-row{max-width:300px}.control-label{display:flex;flex-direction:column;align-items:flex-start;font-size:.95em;color:#333;width:100%;gap:8px}.control-label strong{display:block;margin-bottom:4px}input[type=range]{width:100%}select{padding:6px 8px;font-size:.95em;background:#fff;width:100%}input[type=color],select{border:1px solid #ddd;border-radius:4px}input[type=color]{width:50px;height:35px;cursor:pointer;flex-shrink:0}.ball-color-controls{display:flex;gap:8px;align-items:center;width:100%}.sound-btn-off{padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#e0e0e0;color:#666;font-weight:500;cursor:pointer;transition:background .3s ease}.sound-btn-off:hover{background:#d0d0d0}.sound-btn-on{padding:12px 28px;font-size:1em;border-radius:4px;border:none;background:#4caf50;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease;animation:pulse 2s ease-in-out infinite}.sound-btn-on:hover{background:#45a049}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px rgba(76,175,80,.3)}50%{transform:scale(1.05);box-shadow:0 4px 16px rgba(76,175,80,.5)}}.patient-link{margin-bottom:20px;font-size:.95em;color:#333}.patient-link a{color:#4a4a4a;text-decoration:none;border-bottom:1px solid #4a4a4a}.patient-link a:hover{color:#000;border-bottom-color:#000}.instructions{margin-bottom:16px;color:#666;font-size:.95em}body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif}.menu-bg{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 20px 0 20px}.menu-card{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);border-radius:8px;padding:60px 40px;text-align:center;min-width:340px;max-width:600px;width:100%;margin:auto}.menu-card h1{font-size:2.5em;margin-bottom:16px;color:#333;font-weight:600}.menu-card .subtitle{color:#666;font-size:1.1em;margin-bottom:40px;line-height:1.6}.menu-buttons{display:flex;gap:24px;justify-content:center;margin-bottom:40px}.icon{font-size:1.2em;margin-right:8px}.patient-btn,.therapist-btn{padding:16px 36px;font-size:1.1em;border-radius:4px;border:none;background:#4a4a4a;color:#fff;font-weight:500;cursor:pointer;transition:background .3s ease}.patient-btn:hover,.therapist-btn:hover{background:#333}.therapist-btn.disabled{background:#9e9e9e;color:#e0e0e0;cursor:not-allowed;opacity:.6}.therapist-btn.disabled:hover{background:#9e9e9e}.features{display:flex;flex-direction:column;gap:16px;margin-top:40px;padding-top:40px;border-top:1px solid #e0e0e0}.feature-item{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1em;color:#666}.feature-icon{color:#4caf50;font-weight:700;font-size:1.2em}.company-footer{width:100%;background:#2c2c2c;color:#fff;padding:30px 20px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.company-info{text-align:left;font-size:.9em;line-height:1.6}.company-info strong{font-size:1.1em;display:block;margin-bottom:5px}.footer-cta{text-align:right;font-size:1em}.contact-link{color:#fff;text-decoration:none;font-weight:600;border-bottom:2px solid #fff;padding-bottom:2px;transition:opacity .3s ease}.contact-link:hover{opacity:.8}.version{font-size:.8em;color:#999;margin-top:5px;display:inline-block}@media (max-width:768px){.footer-content{flex-direction:column}.company-info,.footer-content,.footer-cta{text-align:center}}