.presession-container{color:#e8e4de;background:#0f1119;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.presession-card{text-align:center;width:100%;max-width:480px;animation:.4s ease-out labFadeIn}.presession-step-label{text-transform:uppercase;letter-spacing:.1em;color:#6a6560;margin-bottom:1.5rem;font-size:.8rem}.presession-title{color:#e8e4de;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.presession-text{color:#9a9590;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.presession-checklist{text-align:left;flex-direction:column;gap:.75rem;margin-bottom:2rem;padding:0;list-style:none;display:flex}.presession-check-item{cursor:pointer;background:#1e2030;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:background .15s,border-color .15s;display:flex}.presession-check-item.checked{background:#c4a77d26;border-color:#c4a77d}.presession-check-box{border:2px solid #6a6560;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background .15s;display:flex}.presession-check-item.checked .presession-check-box{background:#c4a77d;border-color:#c4a77d}.presession-next-btn{color:#fff;cursor:pointer;background:#c4a77d;border:none;border-radius:8px;padding:.75rem 2rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:opacity .15s}.presession-next-btn:hover{opacity:.9}.presession-next-btn:disabled{opacity:.4;cursor:not-allowed}.state-rating-container{width:100%;max-width:480px}.state-rating-dimension{color:#e8e4de;margin-bottom:1rem;font-size:.95rem}.state-rating-scale{gap:.5rem;margin-top:.5rem;display:flex}.state-rating-btn{aspect-ratio:1;color:#9a9590;cursor:pointer;background:#1e2030;border:1px solid #ffffff0f;border-radius:8px;flex:1;max-width:48px;font-family:inherit;font-size:.9rem;transition:background .15s,border-color .15s,color .15s}.state-rating-btn:hover{background:#262838}.state-rating-btn.selected{color:#c4a77d;background:#c4a77d26;border-color:#c4a77d;font-weight:600}.state-rating-labels{color:#6a6560;justify-content:space-between;margin-top:.25rem;font-size:.75rem;display:flex}.session-fullscreen{z-index:1000;color:#e8e4de;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0f1119;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.session-phase-label{text-transform:uppercase;letter-spacing:.1em;color:#6a6560;font-size:.75rem;position:absolute;top:1.5rem;left:1.5rem}.session-progress-ring{width:48px;height:48px;position:absolute;top:1.5rem;right:1.5rem}.session-progress-ring circle{fill:none;stroke-width:3px}.session-progress-ring .track{stroke:#ffffff14}.session-progress-ring .fill{stroke:#c4a77d;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.session-abort-btn{color:#6a6560;cursor:pointer;opacity:.5;background:0 0;border:none;font-family:inherit;font-size:.75rem;transition:opacity .15s;position:absolute;bottom:1.5rem;left:1.5rem}.session-abort-btn:hover{opacity:1}.session-instruction{color:#6a6560;text-align:center;white-space:nowrap;font-size:.85rem;position:absolute;bottom:25vh;left:50%;transform:translate(-50%)}.cpt-stimulus{aspect-ratio:1;opacity:0;justify-content:center;align-items:center;width:33vw;min-width:120px;max-width:200px;transition:none;display:flex}.cpt-stimulus.stimulus-visible{opacity:1}.cpt-stimulus svg{width:100%;height:100%}.cpt-response-area{background:#ffffff08;border:2px solid #ffffff26;border-radius:50%;width:80px;min-width:44px;height:80px;min-height:44px;position:absolute;bottom:15vh;left:50%;transform:translate(-50%)}.cpt-response-area.cpt-pulse{animation:.2s ease-out responsePulse}@keyframes responsePulse{0%{background:#fff3;box-shadow:0 0 20px #ffffff26}to{box-shadow:none;background:#ffffff08}}.cpt-practice-feedback{opacity:0;pointer-events:none;border-radius:8px;padding:.5rem 1.5rem;font-size:1.2rem;font-weight:600;position:absolute;top:20vh;left:50%;transform:translate(-50%)}.cpt-practice-feedback.correct{color:#81c784;opacity:1;background:#81c7841a}.cpt-practice-feedback.incorrect{color:#e57373;opacity:1;background:#e573731a}.cpt-practice-feedback.fade-out{animation:.5s ease-out forwards feedbackFade}@keyframes feedbackFade{0%{opacity:1}to{opacity:0}}.postsession-container{color:#e8e4de;background:#0f1119;max-width:520px;min-height:100dvh;margin:0 auto;padding:2.5rem 1.5rem}.postsession-title{margin-bottom:.25rem;font-size:1.3rem;font-weight:600}.postsession-subtitle{color:#9a9590;margin-bottom:2rem;font-size:.9rem}.weather-visual{text-align:center;background:#171a24;border-radius:12px;margin-bottom:2rem;padding:2rem 1rem;animation:.5s ease-out labFadeIn}.weather-icon{margin-bottom:.5rem;font-size:3rem}.weather-label{color:#c4a77d;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.weather-desc{color:#9a9590;font-size:.9rem}.metrics-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;display:grid}.metric-card{background:#171a24;border-radius:8px;padding:1rem}.metric-label{text-transform:uppercase;letter-spacing:.06em;color:#6a6560;margin-bottom:.25rem;font-size:.75rem}.metric-value{color:#e8e4de;font-size:1.5rem;font-weight:700}.metric-unit{color:#9a9590;margin-left:.15rem;font-size:.8rem;font-weight:400}.postsession-actions{gap:.75rem;margin-top:2rem;display:flex}.postsession-action-btn{cursor:pointer;text-align:center;border-radius:8px;flex:1;padding:.75rem;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:block}.postsession-action-btn.primary{color:#fff;background:#c4a77d;border:none}.postsession-action-btn.secondary{color:#e8e4de;background:0 0;border:1px solid #ffffff0f}@keyframes labFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cpt-response-area.cpt-pulse{animation:none}.cpt-practice-feedback.fade-out{opacity:0;animation:none}}@media (max-width:480px){.metrics-grid{grid-template-columns:1fr}.postsession-actions{flex-direction:column}}
