*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}*:focus-visible{outline:2px solid #E84A9A;outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #E84A9A;outline-offset:2px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:Jost,sans-serif;color:#333;background:#e8e4de;line-height:1.6;min-height:100vh}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;outline:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:"Instrument Serif",Georgia,serif;color:#111;line-height:1.2;font-weight:400}h1{font-size:2rem}h2{font-size:1.625rem}h3{font-size:1.3rem}h4{font-size:1.1rem}p{color:#333;line-height:1.7;font-size:.95rem}.text-muted{color:#777;font-size:.825rem}.text-secondary{color:#555}.text-label{font-family:DM Mono,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#888}.glass-panel{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;border:.5px solid rgba(0,0,0,.07);box-shadow:0 1px 3px #0000000a,0 4px 16px #00000008}.glass-panel-elevated{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:14px;border:.5px solid rgba(0,0,0,.08);box-shadow:0 2px 6px #0000000d,0 8px 24px #0000000a}.callout{border-radius:10px;padding:1rem 1.25rem;border-left:3px solid;margin:1rem 0}.callout-concept{background:#e84a9a0f;border-left-color:#e84a9a}.callout-concept .callout-label{color:#e84a9a}.callout-clinical{background:#c07c080f;border-left-color:#c07c08}.callout-clinical .callout-label{color:#c07c08}.callout-info{background:#3568b80f;border-left-color:#3568b8}.callout-info .callout-label{color:#3568b8}.callout-label{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:.4rem}.callout p{font-family:DM Sans,sans-serif;font-size:.9rem;color:#333;line-height:1.65}.quiz-card{background:#fff;border-radius:14px;border:.5px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000d,0 8px 24px #0000000a;padding:1.5rem;border-top:3px solid #E84A9A}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}.content-area{max-width:780px;margin:0 auto;padding:2rem 1.5rem;overflow-wrap:break-word;word-wrap:break-word}.content-area table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.fade-in{animation:fadeIn .35s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.card-hover{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000000f,0 8px 32px #0000000a}.psp-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:#ffffff8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:.5px solid rgba(0,0,0,.06);display:flex;flex-direction:column;z-index:999;overflow-y:auto;overflow-x:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.psp-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.psp-sidebar-overlay.visible{opacity:1;pointer-events:auto}.psp-sidebar .signout-footer{position:sticky;bottom:0;background:#fff;border-top:.5px solid rgba(0,0,0,.06);padding:.75rem 1.25rem}.psp-mobile-bar{display:none;position:sticky;top:0;left:0;right:0;z-index:997;min-height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:1rem;padding-right:1rem;padding-bottom:0;background:#e8e4def2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:.5px solid rgba(0,0,0,.06);align-items:center;justify-content:space-between}.psp-main{margin-left:260px;min-height:100vh}.login-page input:focus{border-color:#e84a9a66}.login-submit:hover:not(:disabled){box-shadow:0 0 30px #e84a9a66;transform:translateY(-1px)}.login-google:hover:not(:disabled){background:#ffffff12}.login-mobile-header{display:none;flex-direction:column;align-items:center;margin-bottom:1.5rem}@media(max-width:768px){.psp-sidebar{transform:translate(-100%)!important}.psp-sidebar.open{transform:translate(0)!important}.psp-mobile-bar{display:flex!important}.psp-main{margin-left:0!important}.login-brand-panel{display:none!important}.login-page{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;overflow:hidden!important;flex-direction:column!important}.login-form-side{flex:1 1 100%!important;padding:1.5rem 1.25rem!important;padding-top:calc(1.5rem + env(safe-area-inset-top,0px))!important;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important;justify-content:flex-start!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;max-height:100vh;max-height:100dvh}.login-mobile-header{display:flex!important}h1{font-size:1.625rem}h2{font-size:1.35rem}h3{font-size:1.15rem}.content-area{padding:1.25rem 1rem;max-width:100%}.psp-main,.content-area,.glass-panel,.glass-panel-elevated{max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.content-area table,.glass-panel table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.psp-main{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.glass-panel,.glass-panel-elevated{margin-left:0!important;margin-right:0!important}.fade-in{padding-left:1rem!important;padding-right:1rem!important;max-width:100%!important;margin:0!important}.psp-mobile-bar{width:100%!important;left:0!important;padding-top:max(env(safe-area-inset-top,0px),12px)!important;min-height:calc(52px + max(env(safe-area-inset-top,0px),12px))!important}.quiz-card{max-width:100%!important}#root>div{flex-direction:column!important}}
