:root{--text:#355218;--text-h:#355218;--bg:#faf6ee;--surface:#fffefb;--border:#d1d5db;--accent:#62c08f;--accent-hover:#4eaf7c;--accent-bg:#e3f7ec;--error:#b91c1c;--error-bg:#fef2f2;--glow-card:0 0 0 1px #fffffff2, 0 0 36px #fff, 0 0 64px #fff4dc8c, 0 14px 40px #62c08f33;--sans:system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{font:16px/1.5 var(--sans);color:var(--text);background-color:#faf6ee;background-image:radial-gradient(95% 75% at 50% 12%,#fff 0%,#fffc 36%,#0000 68%),radial-gradient(60% 45% at 50% 46%,#fffcf4f2 0%,#0000 65%),radial-gradient(70% 50% at 8% 88%,#62c08f66 0%,#0000 70%),radial-gradient(55% 40% at 96% 8%,#f07c6457 0%,#0000 65%);background-attachment:fixed;margin:0}#root{min-height:100vh}.app{max-width:720px;margin:0 auto;padding:2rem 1rem 3rem}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{color:var(--text-h);margin:0 0 .5rem;font-size:2rem}.app-header p{color:var(--text);margin:0}.app-main{flex-direction:column;gap:1rem;display:flex}.status{text-align:center;box-shadow:var(--glow-card);background:linear-gradient(#fffffff7 0%,#fffdf8e0 100%);border:1px solid #fffffff2;border-radius:8px;padding:1.5rem}.status.error{color:var(--error);background:var(--error-bg);border-color:#fecaca}.status.error.inline{margin-bottom:.5rem}.quiz-form{flex-direction:column;gap:1.5rem;display:flex}.questions{flex-direction:column;gap:1rem;display:flex}.question-card{text-align:left;box-shadow:var(--glow-card);background:linear-gradient(#fffffff7 0%,#fffdf8e0 100%);border:1px solid #fffffff2;border-radius:8px;padding:1.25rem}.question-title{color:var(--text-h);margin:0 0 1rem;font-size:1.1rem}.options{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.option{border:1px solid var(--option-border,var(--border));background:var(--option-bg,var(--surface));cursor:pointer;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.option-a{--option-bg:#eaf7f0;--option-border:#c5e8d4;--option-bg-selected:#fbd5cc;--option-border-selected:#f07c64}.option-b{--option-bg:#def3e8;--option-border:#a8dbbf;--option-bg-selected:#f8c8bc;--option-border-selected:#f07c64}.option-c{--option-bg:#d4f0e2;--option-border:#62c08f;--option-bg-selected:#f5b8a8;--option-border-selected:#e06650}.option-d{--option-bg:#c6ead8;--option-border:#4eaf7c;--option-bg-selected:#f2a894;--option-border-selected:#d85a48}.option:hover{filter:brightness(.97)}.option.selected{background:#f07c64;border-color:#e06650}.option input{accent-color:var(--accent);margin-top:.2rem}.option.selected input{accent-color:#d85a48}.option-label{color:var(--text-h);min-width:1.25rem;font-weight:600}.option-text{flex:1}.question-progress{color:var(--text);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.question-feedback{border-top:1px solid var(--border);flex-direction:column;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.feedback-block{text-align:left}.feedback-heading{text-transform:uppercase;letter-spacing:.03em;color:var(--text-h);margin:0 0 .35rem;font-size:.875rem;font-weight:700}.feedback-text{margin:0;line-height:1.55}.best-option-letter{color:var(--text-h);font-weight:700}.score-box{border:2px solid var(--border);background:var(--bg);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.25rem;display:flex}.score-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-h);font-size:.875rem;font-weight:700}.score-value{color:var(--text);font-size:2rem;font-weight:700;line-height:1}.score-hint{color:var(--text);font-size:.8rem}.next-btn{margin-top:0}.question-actions{justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-top:.25rem;display:flex}.question-actions-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.session-score-today{color:var(--text-h);margin:0;font-size:1rem;line-height:1.4}.profile-btn{background:var(--surface);color:var(--text-h);border:2px solid var(--border)}.profile-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent)}.quiz-form-hidden{display:none}.myprofile-page{box-shadow:var(--glow-card);background:#d4f0e2;border:1px solid #62c08f;border-radius:8px;padding:2rem 1.5rem}.myprofile-title{color:var(--text-h);text-align:center;margin:0 0 1.5rem;font-size:1.75rem}.myprofile-details{flex-direction:column;gap:1rem;margin:0 0 1.5rem;display:flex}.myprofile-row{text-align:left;background:#f07c64;border:2px solid #e06650;border-radius:6px;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;display:flex}.myprofile-row dt{color:var(--text-h);margin:0;font-size:.95rem;font-weight:700;line-height:1.4}.myprofile-row dd{color:var(--text);margin:0;font-size:1.05rem;line-height:1.5}.myprofile-weight-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.myprofile-weight-cell{text-align:left;background:#f07c64;border:2px solid #e06650;border-radius:6px;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;display:flex}.myprofile-weight-cell dt{color:var(--text-h);margin:0;font-size:.95rem;font-weight:700;line-height:1.4}.myprofile-weight-cell dd{color:var(--text);margin:0;font-size:1.05rem;line-height:1.5}.myprofile-notifications{text-align:left;margin-bottom:1.5rem}.myprofile-notifications-title{color:var(--text-h);text-align:center;margin:0 0 .75rem;font-size:1.25rem}.myprofile-notifications-form{flex-direction:column;gap:1rem;display:flex}.myprofile-save-status{color:var(--text);background:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;margin:0;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}.myprofile-schedule-summary{color:var(--text);margin-top:.35rem;font-size:.9rem;display:block}.myprofile-actions{justify-content:center;display:flex}.submit-btn{color:var(--text);background:var(--accent);cursor:pointer;border:none;border-radius:6px;align-self:center;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .15s}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.session-score{margin:0 0 1.5rem;font-size:1.2rem;line-height:1.5}.results{text-align:center;box-shadow:var(--glow-card);background:linear-gradient(#fffffff7 0%,#fffdf8e0 100%);border:1px solid #fffffff2;border-radius:8px;padding:2rem 1.5rem}.results h1{color:var(--text-h);margin:0 0 1rem;font-size:1.75rem}.score-summary{margin:0 0 1.5rem;font-size:1.1rem}.breakdown{text-align:left;flex-direction:column;gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.breakdown-item{border:1px solid var(--border);border-radius:6px;padding:.75rem}.breakdown-question{color:var(--text-h);margin:0 0 .25rem;font-weight:600}.breakdown-answer{margin:0;font-size:.95rem}.session-user{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.session-user-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.link-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.dev-skip-bar{justify-content:center;display:flex}.dev-skip-btn{font:inherit;color:var(--text-h);background:var(--surface);border:1px dashed var(--border);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.dev-skip-btn:hover{background:var(--accent-bg);border-color:var(--accent)}.qa-page1{flex-direction:column;gap:1.25rem;display:flex}.qa-page1-section.question-card{background:#d4f0e2;border-color:#62c08f}.qa-page1 .form-input.qa-answer-input{background:#f07c64;border-color:#e06650}.qa-page1 .form-input.qa-answer-input:focus{border-color:#d85a48;outline-color:#d85a48}.qa-page1-intro{text-align:center}.qa-page1-intro h2{color:var(--text-h);margin:0 0 .5rem;font-size:1.5rem}.qa-page1-intro p{margin:0}.qa-page1-section-title{color:var(--text-h);margin:0 0 1rem;font-size:1.1rem}.qa-page1-errors{text-align:left;margin:0;padding-left:1.25rem}.qa-page1-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-fields{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.35rem;display:flex;overflow:visible}.form-label{color:var(--text-h);font-size:.95rem;font-weight:600}.form-label-link{color:var(--text);font-weight:600;text-decoration:underline}.picture-hover-link{display:inline;position:relative}.picture-hover-link-btn{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.picture-hover-preview{visibility:hidden;opacity:0;pointer-events:none;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:min(160px,42.5vw);padding:.35rem;transition:opacity .12s;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 8px 24px #0f172a1f}.picture-hover-link-btn:hover+.picture-hover-preview,.picture-hover-link-btn:focus-visible+.picture-hover-preview{visibility:visible;opacity:1}.picture-hover-preview img{border-radius:4px;width:100%;height:auto;display:block}.form-required{color:var(--error)}.form-field-note{color:var(--text);margin:0;font-size:.8rem;font-style:italic}.weight-entry-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.weight-entry-row .form-input{flex:10rem;min-width:0}.weight-save-btn{flex:none;padding:.65rem 1.25rem}.measurement-entry-row{justify-content:flex-start;margin-top:.75rem;display:flex}.measurement-save-btn{flex:none;padding:.65rem 1.25rem}.biometrics-initial-block{border-left:3px solid var(--accent,#4a7c59)}.myprofile-section-title{margin:1.5rem 0 .75rem;font-size:1.1rem;font-weight:600}.form-input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.65rem .75rem}.form-input::placeholder{color:var(--text);opacity:.7}.form-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.form-input:disabled{opacity:.85;cursor:not-allowed}select.form-input{cursor:pointer}body:has(.app--login){background:#1f3a22}.app--login{position:relative}.app--login .app-header,.app--login .app-main{z-index:1;position:relative}.app--login .app-header h1{letter-spacing:-.03em;color:#f4f7eb;text-shadow:0 1px #fff3,0 2px 16px #121a0ac7,0 0 28px #121a0a80;margin:0 0 .65rem;font-size:3.5rem;line-height:1.08;display:inline-block}.app--login .app-header p{color:#e6ecd8;text-shadow:0 1px 10px #121a0a99}.app--login .question-card,.app--login .login-mode-tab,.app--login .dev-skip-btn,.app--login .status{box-shadow:0 10px 32px #141c0c52}.olive-grove{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.olive-tuft,.olive-limb{transform-box:fill-box;transform-origin:0 0}.app--login.is-wind .olive-layer-far .olive-tuft{animation:olive-leaf-sway-far var(--jig-dur,3.2s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-far .olive-tuft{animation:olive-leaf-sway-far var(--jig-dur,3.2s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-far .olive-tuft{animation:olive-leaf-sway-far var(--jig-dur,3.2s) ease-in-out var(--jig-delay,0s) infinite}.app--login.is-wind .olive-layer-mid .olive-tuft{animation:olive-leaf-sway-mid var(--jig-dur,2.8s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-mid .olive-tuft{animation:olive-leaf-sway-mid var(--jig-dur,2.8s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-mid .olive-tuft{animation:olive-leaf-sway-mid var(--jig-dur,2.8s) ease-in-out var(--jig-delay,0s) infinite}.app--login.is-wind .olive-layer-near .olive-tuft{animation:olive-leaf-sway-near var(--jig-dur,2.4s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-near .olive-tuft{animation:olive-leaf-sway-near var(--jig-dur,2.4s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-near .olive-tuft{animation:olive-leaf-sway-near var(--jig-dur,2.4s) ease-in-out var(--jig-delay,0s) infinite}.app--login.is-wind .olive-layer-far .olive-limb{animation:olive-limb-sway-far var(--jig-dur,4.6s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-far .olive-limb{animation:olive-limb-sway-far var(--jig-dur,4.6s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-far .olive-limb{animation:olive-limb-sway-far var(--jig-dur,4.6s) ease-in-out var(--jig-delay,0s) infinite}.app--login.is-wind .olive-layer-mid .olive-limb{animation:olive-limb-sway-mid var(--jig-dur,4s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-mid .olive-limb{animation:olive-limb-sway-mid var(--jig-dur,4s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-mid .olive-limb{animation:olive-limb-sway-mid var(--jig-dur,4s) ease-in-out var(--jig-delay,0s) infinite}.app--login.is-wind .olive-layer-near .olive-limb{animation:olive-limb-sway-near var(--jig-dur,3.5s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:hover) .olive-layer-near .olive-limb{animation:olive-limb-sway-near var(--jig-dur,3.5s) ease-in-out var(--jig-delay,0s) infinite}.app--login:has(.login-wind-target:focus-visible) .olive-layer-near .olive-limb{animation:olive-limb-sway-near var(--jig-dur,3.5s) ease-in-out var(--jig-delay,0s) infinite}@keyframes olive-leaf-sway-far{0%,to{transform:rotate(0)translate(0,0)}22%{transform:rotate(5deg)translate(10px,-6px)}48%{transform:rotate(-4.5deg)translate(-12px,5px)}74%{transform:rotate(3.5deg)translate(8px,-4px)}}@keyframes olive-leaf-sway-mid{0%,to{transform:rotate(0)translate(0,0)}20%{transform:rotate(8deg)translate(16px,-10px)}46%{transform:rotate(-7deg)translate(-18px,8px)}72%{transform:rotate(5.5deg)translate(12px,-6px)}}@keyframes olive-leaf-sway-near{0%,to{transform:rotate(0)translate(0,0)}18%{transform:rotate(11deg)translate(24px,-14px)}42%{transform:rotate(-10deg)translate(-26px,12px)}66%{transform:rotate(8deg)translate(18px,-9px)}84%{transform:rotate(-5deg)translate(-12px,7px)}}@keyframes olive-limb-sway-far{0%,to{transform:rotate(0)}35%{transform:rotate(1.4deg)}70%{transform:rotate(-1.1deg)}}@keyframes olive-limb-sway-mid{0%,to{transform:rotate(0)}32%{transform:rotate(2.2deg)}68%{transform:rotate(-1.8deg)}}@keyframes olive-limb-sway-near{0%,to{transform:rotate(0)}28%{transform:rotate(3deg)}64%{transform:rotate(-2.4deg)}}@media (prefers-reduced-motion:reduce){.app--login.is-wind .olive-tuft,.app--login.is-wind .olive-limb{animation:none!important}.app--login:has(.login-wind-target:hover) .olive-tuft{animation:none!important}.app--login:has(.login-wind-target:hover) .olive-limb{animation:none!important}.app--login:has(.login-wind-target:focus-visible) .olive-tuft{animation:none!important}.app--login:has(.login-wind-target:focus-visible) .olive-limb{animation:none!important}}.login-page{flex-direction:column;gap:1rem;display:flex}.login-page-intro{text-align:center}.login-page-intro h2{color:var(--text-h);margin:0 0 .5rem;font-size:1.5rem}.login-page-intro p{margin:0}.login-mode-tabs{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.login-mode-tab{font:inherit;color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.75rem 1rem;font-weight:600}.login-mode-tab.active{color:var(--text);background:#d4f0e2;border-color:#62c08f}.login-form{text-align:left;flex-direction:column;gap:1rem;display:flex}.login-section-title{color:var(--text-h);margin:0;font-size:1.05rem}.notification-fieldset{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.notification-option{cursor:pointer;background:#f07c64;border:1px solid #e06650;border-radius:6px;align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.notification-option input{accent-color:#d85a48}.dev-preview-panel{text-align:left;background:#e3f7ec;border-color:#62c08f;flex-direction:column;gap:1rem;display:flex}.dev-preview-block{border:1px dashed var(--border);background:var(--surface);border-radius:8px;padding:.85rem 1rem}.dev-preview-block h4{color:var(--text-h);margin:0 0 .5rem}.dev-preview-link{word-break:break-all;color:var(--text);margin-bottom:.75rem;display:block}.dev-preview-btn,.secondary-btn{margin-top:.25rem}.secondary-btn{background:var(--surface);color:var(--text-h);border:1px solid var(--border)}.secondary-btn:hover:not(:disabled){background:var(--bg)}.dev-preview-message{margin:.35rem 0 0;line-height:1.5}.dev-preview-list{margin:0;padding-left:1.25rem}.reward-modal-backdrop{z-index:1000;background:#1118278c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reward-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(100%,560px);max-height:calc(100vh - 2rem);padding:1.5rem;overflow:auto;box-shadow:0 20px 40px #0000002e}.reward-modal-title{color:var(--text-h);text-align:center;margin:0 0 .5rem;font-size:1.35rem}.reward-modal-subtitle{text-align:center;color:var(--text);margin:0 0 1rem}.prompt-modal{text-align:center;width:min(100%,420px)}.prompt-modal-message{color:var(--text-h);margin:0 0 1.25rem;font-size:1.1rem;line-height:1.5}.reward-modal-image{border:1px solid var(--border);filter:brightness(1.1)contrast(1.03);border-radius:8px;width:100%;height:auto;display:block}.reward-modal-image-btn{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.reward-modal-image-hint{text-align:center;margin:.5rem 0 0}.reward-fullscreen-backdrop{z-index:1100;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reward-fullscreen-image{object-fit:contain;filter:brightness(1.1)contrast(1.03);border-radius:4px;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 5rem);display:block}.reward-fullscreen-close{color:#fff;font:inherit;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:6px;padding:.5rem .85rem;position:absolute;top:1rem;right:1rem}.reward-fullscreen-close:hover{background:#fff3}.reward-fullscreen-hint{color:#ffffffbf;text-align:center;margin:.75rem 0 0;font-size:.9rem}.reward-modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.reward-download-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width<=480px){.app{padding:1.25rem .75rem 2rem}.app-header h1{font-size:1.5rem}.app--login .app-header h1{font-size:2.5rem}}
