*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root.font-normal{--patient-base-font:1rem;--patient-heading-1:2rem;--patient-heading-2:1.5rem;--patient-heading-3:1.25rem;--patient-button-text:1rem}:root.font-large{--patient-base-font:1.125rem;--patient-heading-1:2.25rem;--patient-heading-2:1.75rem;--patient-heading-3:1.5rem;--patient-button-text:1.125rem}:root.font-xlarge{--patient-base-font:1.25rem;--patient-heading-1:2.5rem;--patient-heading-2:2rem;--patient-heading-3:1.75rem;--patient-button-text:1.25rem}:root.high-contrast{--patient-bg:#000000;--patient-text:#FFFFFF;--patient-primary:#FFD700;--patient-secondary:#00CED1;--patient-border:#FFFFFF;--patient-card-bg:#1a1a1a;--patient-success:#00FF00;--patient-error:#FF0000;--patient-focus:#FFFF00}:root:not(.high-contrast){--patient-bg:#F9FAFB;--patient-text:#111827;--patient-primary:#10B981;--patient-secondary:#3B82F6;--patient-border:#E5E7EB;--patient-card-bg:#FFFFFF;--patient-success:#10B981;--patient-error:#EF4444;--patient-focus:#3B82F6}:root.reduce-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.patient-page{background-color:var(--patient-bg);color:var(--patient-text);font-size:var(--patient-base-font);line-height:1.6;min-height:100vh;overflow-x:hidden;max-width:100vw}.patient-h1{font-size:var(--patient-heading-1);font-weight:700;line-height:1.2;margin-bottom:1rem}.patient-h2{font-size:var(--patient-heading-2);font-weight:600;line-height:1.3;margin-bottom:.75rem}.patient-h3{font-size:var(--patient-heading-3);font-weight:600;line-height:1.4;margin-bottom:.5rem}.patient-button{font-size:var(--patient-button-text);min-height:48px;min-width:48px;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.patient-button:focus-visible{outline:3px solid var(--patient-focus);outline-offset:2px}.patient-button-primary{background-color:var(--patient-primary);color:white;border:none}.patient-button-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.patient-button-primary:active:not(:disabled){transform:translateY(0)}.patient-button-secondary{background-color:transparent;color:var(--patient-text);border:2px solid var(--patient-border)}.patient-button-secondary:hover:not(:disabled){background-color:var(--patient-card-bg);border-color:var(--patient-primary)}.patient-button:disabled{opacity:.5;cursor:not-allowed}.patient-card{background-color:var(--patient-card-bg);border:2px solid var(--patient-border);border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);max-width:100%;overflow:hidden}:root.high-contrast .patient-card{border-width:3px}.patient-input{font-size:var(--patient-base-font);min-height:48px;padding:.75rem 1rem;border:2px solid var(--patient-border);border-radius:.5rem;background-color:var(--patient-card-bg);color:var(--patient-text);width:100%}.patient-input:focus{outline:3px solid var(--patient-focus);outline-offset:2px;border-color:var(--patient-primary)}:root.high-contrast .patient-input{border-width:3px}.touch-target{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}:focus-visible{outline:3px solid var(--patient-focus);outline-offset:2px}.skip-to-content{position:absolute;top:-100px;left:0;background-color:var(--patient-primary);color:white;padding:.75rem 1.5rem;font-weight:600;z-index:100;border-radius:0 0 .5rem 0}.skip-to-content:focus{top:0}.patient-progress{height:12px;background-color:var(--patient-border);border-radius:9999px;overflow:hidden}.patient-progress-bar{height:100%;background-color:var(--patient-primary);transition:width .3s ease}:root.reduce-motion .patient-progress-bar{transition:none}.patient-exercise-player{aspect-ratio:16/9;width:100%;max-width:100%;border-radius:.75rem;overflow:hidden;background-color:#000;position:relative}.patient-exercise-controls{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);display:flex;align-items:center;justify-content:center;gap:1rem}.patient-timer{font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}@media (max-width:640px){.patient-timer{font-size:2.5rem}}.patient-alert{padding:1rem;border-radius:.5rem;border:2px solid;display:flex;align-items:flex-start;gap:.75rem}.patient-alert-success{background-color:#ECFDF5;border-color:var(--patient-success);color:#065F46}.patient-alert-error{background-color:#FEF2F2;border-color:var(--patient-error);color:#991B1B}:root.high-contrast .patient-alert-success{background-color:#000;color:var(--patient-success);border-width:3px}:root.high-contrast .patient-alert-error{background-color:#000;color:var(--patient-error);border-width:3px}.patient-spinner{width:48px;height:48px;border:4px solid var(--patient-border);border-top-color:var(--patient-primary);border-radius:50%;animation:patient-spin 1s linear infinite}@keyframes patient-spin{to{transform:rotate(1turn)}}:root.reduce-motion .patient-spinner{animation:none;border-top-color:var(--patient-primary);border-right-color:var(--patient-primary)}@media (max-width:768px){body,html{overflow-x:hidden;max-width:100vw}body{position:relative}.patient-page{font-size:1.125rem;overflow-x:hidden;width:100%;max-width:100vw}.patient-button,.patient-input{min-height:52px;max-width:100%}.patient-input{font-size:1.125rem}.patient-card{padding:1rem;overflow-x:hidden;box-sizing:border-box}.patient-card,.patient-exercise-player{max-width:100%;width:100%}article,div,footer,header,main,section{max-width:100%;box-sizing:border-box}.container,.flex,.grid,[class*=flex-],[class*=grid-]{max-width:100%;overflow-x:hidden}.container{padding-left:1rem;padding-right:1rem}div,h1,h2,h3,h4,h5,h6,p,span{max-width:100%;word-wrap:break-word;overflow-wrap:break-word}video{width:100%!important}img,video{max-width:100%!important;height:auto}input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{font-size:1.125rem}}@supports (padding:max(0px)){.patient-page{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}}@media (max-width:428px){.container,.patient-page,main{max-width:100vw!important;overflow-x:hidden!important}.flex,.grid,.patient-button,.patient-card{max-width:100%!important}.patient-card{padding:.75rem!important}.container{padding-left:.75rem!important;padding-right:.75rem!important}.grid{gap:.75rem!important}.patient-exercise-player,video{width:100%!important;max-width:100%!important}}