:root{color-scheme:light;--ink:#263a35;--green:#23574a;--gold:#a68145;--line:#dedbd3;--paper:#fffdf9;--pale:#e5efe9;--shadow:0 14px 40px rgba(38,58,53,.07)}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:var(--green)}.top{height:90px;border-top:8px solid var(--green);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1200px;margin:auto;padding:0 32px}.brand{font:32px Georgia,serif;color:var(--ink);text-decoration:none;white-space:nowrap}.brand span{color:var(--gold)}.top-right{display:flex;align-items:center;gap:22px;font-size:.88rem}.save{color:#5d6d65}.top-right a{font-weight:700;text-decoration:none}main{max-width:840px;padding:54px 28px 90px;margin:auto;min-height:calc(100vh - 190px)}.pane{animation:appear .22s ease}.pane[hidden],.progress[hidden],#notice[hidden],[hidden]{display:none!important}@keyframes appear{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.eyebrow{font-weight:800;letter-spacing:.13em;color:var(--gold);font-size:.77rem;margin:0 0 13px}h1{font:normal clamp(2.1rem,5vw,3.3rem)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:0 0 15px;max-width:680px}h2{font-size:1.25rem;line-height:1.3;margin:0 0 15px}.lead{font-size:1.16rem;color:#52615e;max-width:650px;margin:0 0 34px}.choices{display:grid;gap:16px}.choice{width:100%;min-height:156px;text-align:left;background:white;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:100px 1fr 26px;align-items:center;gap:23px;padding:20px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.choice:hover{transform:translateY(-2px);border-color:var(--green)}.choice span:nth-child(2){display:grid;gap:3px}.choice small{color:var(--gold);font-weight:800;letter-spacing:.07em;font-size:.76rem}.choice strong{font-size:1.37rem}.choice em{font-size:.99rem;color:#566360;font-style:normal;max-width:460px}.icon{height:90px;width:90px;display:grid;place-items:center;border-radius:16px;font-size:2.4rem;font-weight:700}.book{background:#e2eee6;color:#23574a}.files{background:#f7eedc;color:#ad8950}.audio{background:#e9e8f3;color:#676b92}.arrow{font-size:2rem;color:var(--green);justify-self:end}.help-button{display:block;background:var(--green);color:white;text-align:center;text-decoration:none;font-weight:800;border-radius:16px;padding:18px 24px;margin:38px 0 20px}.reassure{text-align:center;color:#61716b;font-size:.93rem}.progress{display:flex;justify-content:space-between;gap:12px;color:#3d685a;border-bottom:1px solid var(--line);padding-bottom:18px;margin:-25px 0 40px;font-weight:700;font-size:.83rem}.back{background:none;border:0;padding:0;color:var(--green);font-weight:750;cursor:pointer;margin:0 0 32px;min-height:42px}.surface{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;margin:18px 0 22px;box-shadow:var(--shadow)}form label,.surface>label{display:grid;gap:9px;font-weight:700;margin:0 0 19px}.surface input:not([type=radio]):not([type=checkbox]),textarea{border:1px solid #a5ada8;background:#fff;border-radius:10px;width:100%;padding:13px 15px;min-height:51px;color:var(--ink);font-weight:400}.surface input[type=file]{border:2px dashed #b4c6bc;border-radius:12px;padding:19px;width:100%;background:#f7faf7;max-width:100%;font-size:.94rem}.surface textarea{resize:vertical;min-height:120px}.upload-label{display:block;font-weight:800;font-size:1.17rem;margin:0 0 12px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.primary,.secondary{border-radius:12px;min-height:52px;padding:11px 22px;font-weight:800;cursor:pointer;border:2px solid var(--green)}.primary{color:white;background:var(--green)}.secondary{color:var(--green);background:white}.primary:disabled,.secondary:disabled{opacity:.55;cursor:not-allowed}.hint{color:#596b65;font-size:.9rem;font-weight:400}.surface .hint{margin:13px 0}.notice{border:1px solid #c2d3c7;background:#ebf4ec;color:#214638;padding:14px 18px;border-radius:10px;font-weight:700;margin:0 0 24px}.notice.error{border-color:#d6aba2;background:#fff0eb;color:#8c2b27}.saved{background:#ebf5ed;border-radius:10px;padding:12px 16px;margin:0 0 22px}.existing{margin-top:40px}.project-pick{width:100%;display:block;text-align:left;margin:10px 0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;font-weight:700}.project-pick:hover{border-color:var(--green)}.material-box{margin-top:30px}.material-list{padding-left:20px}.material-list li{padding:6px 0;overflow-wrap:anywhere}.footer-actions{margin-top:24px}.extras{display:grid;gap:10px}.extra{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer}.extra:has(input:checked){border-color:var(--green);background:#f0f7f0}.extra input{width:22px;height:22px;flex:none;accent-color:var(--green);margin:2px 0}.extra strong{display:block;font-size:1.05rem}.extra small{display:block;font-size:.9rem;color:#556760;margin-top:3px}.styles{border:0;padding:0;margin:24px 0}.styles legend{font-weight:800;margin-bottom:12px}.styles label{display:block;min-height:39px;padding:4px 0}.styles input{accent-color:var(--green);width:18px;height:18px;vertical-align:middle}.honest{background:#f6f0e4;border-left:4px solid var(--gold);padding:14px 18px;border-radius:7px}.timeline{padding-left:25px}.timeline li{padding:8px 0}audio{width:100%;margin:18px 0 0}hr{border:0;border-top:1px solid var(--line);margin:28px 0}footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:24px 32px 42px;display:flex;justify-content:space-between;gap:20px;color:#61716b;font-size:.84rem}footer a{color:var(--green)}@media(max-width:650px){html{font-size:16px}.top{height:72px;padding:0 18px}.brand{font-size:25px}.save{display:none}main{padding:37px 22px 65px;min-height:calc(100vh - 170px)}.choice{min-height:132px;padding:16px;grid-template-columns:66px 1fr 13px;gap:15px}.icon{height:66px;width:66px;font-size:1.9rem;border-radius:12px}.choice strong{font-size:1.17rem}.choice em{font-size:.89rem}.arrow{font-size:1.6rem}.surface{padding:21px}.progress{margin:-10px 0 29px;font-size:.7rem}.progress span{max-width:96px}footer{padding:20px 22px 35px;display:grid}.actions>*{max-width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Keep the password visible on demand without changing what is submitted. */
.password-field{position:relative;margin:-9px 0 19px}
.password-field input{width:100%;padding-right:110px!important}
.password-field button{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:44px;min-width:88px;padding:5px 8px;border:0;border-radius:9px;background:#e5efe9;color:#174839;font-weight:700;cursor:pointer}
.password-field button:hover{background:#d0e5d7}
.text-link{display:block;margin:19px 0 0;padding:10px 0;min-height:44px;border:0;background:transparent;color:var(--green);font-weight:800;text-decoration:underline;cursor:pointer;text-align:left}
.remember{display:flex!important;align-items:center;gap:12px;min-height:52px;margin:10px 0 2px;font-weight:700;cursor:pointer}.remember input{width:24px;height:24px;flex:none;accent-color:var(--green)}
.top-right #sign-out{display:inline-block;margin:0;white-space:nowrap}
#record-hint.recording{background:#ffe8e5;border:2px solid #b52618;color:#832011;padding:14px;border-radius:12px;font-weight:800;font-size:1.1rem;position:sticky;top:0;z-index:2}
.material-list li{padding:16px 0;border-bottom:1px solid var(--line)}.material-list li p{margin:6px 0}.material-list li details{margin-top:12px}.material-list li summary{cursor:pointer;font-weight:800;min-height:44px}.material-list li textarea,.material-list li audio{display:block;width:100%;margin:8px 0 12px}.material-list li button{min-height:44px}
