/* Responsive refinements for the learner, quiz, and manual screens. */
.viewer-modal{height:100vh;height:100dvh;overflow:hidden}.viewer-heading{min-width:0}.viewer-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.viewer-external{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:1px solid #55555f;border-radius:7px;color:#fff;font-size:13px;font-weight:700;text-decoration:none}.viewer-external:not([href]){opacity:.45;pointer-events:none}.viewer-mobile-note{display:none;margin:0;padding:9px 16px;background:#202026;color:#c9c9d0;font-size:12px;text-align:center}.viewer-frame{display:flex;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:#29292e}.viewer-frame iframe{display:block;width:100%;height:100%;min-height:0}
@media(max-width:900px){.navbar{padding-inline:20px;gap:18px}.hero-banner{min-height:500px;padding-inline:6%}.hero-content{max-width:580px}.hero-art{right:-3%;opacity:.45}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body{font-size:15px}.login-screen{align-items:start;padding:16px;padding-top:max(24px,env(safe-area-inset-top))}.login-card{padding:28px 20px;border-radius:14px}.login-logo{font-size:clamp(36px,12vw,48px)}.login-form input,.primary-button{min-height:48px}.navbar{min-height:60px;padding:10px 14px;gap:10px;flex-wrap:wrap}.navbar .brand-logo{font-size:20px}.user-menu{gap:8px}.avatar{width:30px;height:30px}.user-menu .text-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px;font-size:12px;line-height:1}.hero-banner{min-height:430px;padding:54px 20px 72px}.hero-content h2{font-size:clamp(38px,12vw,52px);margin-block:14px}.hero-content p{font-size:14px}.hero-art{right:-28%;width:90vw;opacity:.16}.hero-button{width:100%;min-height:48px;text-align:center}.progress-panel{width:calc(100% - 28px);margin-top:-36px;padding:22px 18px;gap:18px}.progress-summary{grid-template-columns:auto minmax(0,1fr)}.progress-summary strong{font-size:34px}.courses-section{padding:52px 14px 64px}.section-heading{gap:6px;margin-bottom:18px}.section-heading>p{margin:0}.course-grid{grid-template-columns:1fr;gap:16px}.course-body h3{min-height:auto}.course-actions button{min-height:46px;font-size:13px}footer{align-items:flex-start;flex-direction:column;gap:8px;padding:30px 18px}footer p{margin:0}.modal-header{min-height:64px;padding:10px 12px;gap:10px}.modal-header h2{font-size:16px}.close-button{width:42px;height:42px;flex:0 0 42px}.viewer-actions{gap:7px}.viewer-external{min-height:42px;padding:7px 10px;font-size:12px}.viewer-mobile-note{display:block}.quiz-modal .quiz-shell form,.quiz-modal .quiz-result{padding:20px 14px}.quiz-question{margin-bottom:24px}.quiz-question legend{font-size:15px;line-height:1.55}.quiz-option{min-height:50px;padding:12px;line-height:1.45}.quiz-shell form>.primary-button{position:sticky;bottom:10px;width:100%;box-shadow:0 8px 24px #000}}
@media(max-width:390px){.navbar .avatar{display:none}.user-menu{gap:3px}.hero-content h2{font-size:38px}.progress-summary{grid-template-columns:1fr}.progress-summary strong{grid-row:auto}.viewer-modal .modal-kicker{display:none}.viewer-heading h2{max-width:110px}}
@media(orientation:landscape) and (max-height:520px){.viewer-mobile-note{display:none}.viewer-modal .modal-header{min-height:54px;padding-block:6px}.hero-banner{min-height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-card,.primary-button,.progress-track span{transition:none}}
.pdf-pages{display:none}
@media(max-width:640px){.viewer-frame iframe{display:none}.pdf-pages{display:block;width:100%;height:100%;overflow-y:auto;overscroll-behavior-y:contain;padding:12px;background:#202024;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.pdf-loading,.pdf-error{display:grid;min-height:50vh;place-items:center;padding:24px;color:#d7d7dc;text-align:center}.pdf-error{color:#ff858b}.pdf-page{position:relative;margin:0 auto 14px;overflow:hidden;background:#fff;box-shadow:0 4px 18px #0008}.pdf-page canvas{display:block;width:100%;height:auto}.pdf-page-number{position:absolute;right:7px;bottom:7px;padding:2px 7px;border-radius:99px;background:#000b;color:#fff;font-size:10px}.pdf-page-failed{display:grid;place-items:center;min-height:120px;background:#3a3a40}.pdf-page-failed .pdf-page-number{position:static;background:none;color:#ff858b;font-size:12px}}
