:root{--navy:#0A1A2F;--panel:#11263F;--panel-edge:#1B3553;--gold:#C9A45C;--gold-bright:#E9C982;--ink:#ECF2FA;--muted:#8CA2BC;--error:#E08A7A}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}body{background:var(--navy);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.55;min-height:100vh}.wrap{max-width:680px;margin:0 auto;padding:48px 20px 96px}.masthead{border-bottom:1px solid var(--panel-edge);padding-bottom:28px;margin-bottom:8px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.eyebrow,h1{font-weight:600}h1{font-family:Fraunces,serif;font-size:clamp(30px,6vw,42px);letter-spacing:-.01em;line-height:1.1}.dateline{margin-top:10px;color:var(--muted);font-size:14px}.dateline strong{color:var(--ink);font-weight:500}.due{display:inline-block;margin-left:10px;font-size:12px;color:var(--gold-bright);border:1px solid var(--panel-edge);border-radius:999px;padding:2px 10px}.session-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--muted)}.ledger{position:relative;padding-left:34px;margin-top:36px}.spine{left:10px;top:8px;bottom:8px;width:2px;background:var(--panel-edge)}.spine,.spine-fill{position:absolute;border-radius:2px}.spine-fill{left:0;top:0;width:100%;height:0;background:linear-gradient(180deg,var(--gold-bright),var(--gold));transition:height .45s ease}.item{position:relative;margin-bottom:34px}.item-num{position:absolute;left:-34px;top:2px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--panel-edge);background:var(--navy);color:var(--muted);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:border-color .3s,color .3s,background .3s}.item.done .item-num{border-color:var(--gold);color:var(--navy);background:var(--gold)}label{display:block;font-weight:600;font-size:15px;margin-bottom:4px}.hint{color:var(--muted);font-size:13px;margin-bottom:10px}textarea{width:100%;background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5;padding:13px 14px;min-height:96px;resize:vertical;transition:border-color .2s}textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}textarea::placeholder{color:#5E748F}.optional{color:var(--muted);font-weight:400;font-size:12px;margin-left:6px}.auth-card{margin-top:36px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:14px;padding:28px}.auth-card label{margin-top:4px}.auth-hint{color:var(--muted);font-size:13px;margin-bottom:18px}.field-input{width:100%;background:var(--navy);border:1px solid var(--panel-edge);border-radius:10px;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;padding:12px 14px;margin-bottom:16px;transition:border-color .2s}.field-input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.field-input::placeholder{color:#5E748F}.actions{margin-top:8px;padding-left:34px}button{width:100%;background:var(--gold);color:var(--navy);border:none;border-radius:10px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;padding:15px;cursor:pointer;transition:background .2s,transform .1s}button:hover:not(:disabled){background:var(--gold-bright)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background:var(--panel-edge);color:var(--muted);cursor:not-allowed}button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}button.linklike{width:auto;background:none;color:var(--gold-bright);font-size:13px;font-weight:500;padding:0;border-radius:0}button.linklike:hover:not(:disabled){background:none;text-decoration:underline}.status{margin-top:14px;font-size:14px;color:var(--error);min-height:20px}.status,.success{text-align:center}.success{padding:72px 0}.seal{width:74px;height:74px;margin:0 auto 24px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center}.seal svg{width:32px;height:32px;stroke:var(--gold-bright)}.success h2{font-family:Fraunces,serif;font-weight:600;font-size:30px;margin-bottom:10px}.success p{color:var(--muted);max-width:380px;margin:0 auto}footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--panel-edge);color:#5E748F;font-size:12px;text-align:center;letter-spacing:.08em;text-transform:uppercase}