@font-face{font-family:Local;src:local('Segoe UI')}*{box-sizing:border-box}html{min-height:100%;background:#131b36}body{--base:#131b36;--one:#7864e2;--two:#ee8f9b;--three:#2cb9bb;--accent:#f4d3bd;margin:0;color:#fff;font:16px/1.6 Local,system-ui,sans-serif;min-height:100vh;background:var(--base);transition:background 3s}body[data-phase=dawn]{--base:#332443;--one:#de799c;--two:#efb77a;--three:#6a8dbd;--accent:#ffe4c9}body[data-phase=day]{--base:#153d52;--one:#43aaba;--two:#7f95d9;--three:#bbdbb8;--accent:#d9f3e9}body[data-phase=sunset]{--base:#382039;--one:#be5c8b;--two:#f1a069;--three:#7860bc;--accent:#ffdec0}body[data-phase=night]{--base:#101a36;--one:#5154a1;--two:#74608a;--three:#317c92;--accent:#d4d7ff}.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(65px);opacity:.55;animation:drift 27s ease-in-out infinite alternate}.a{background:radial-gradient(circle,var(--one),transparent 68%);top:-45%;left:-25%}.b{background:radial-gradient(circle,var(--two),transparent 66%);right:-30%;top:5%;animation-delay:-9s}.c{background:radial-gradient(circle,var(--three),transparent 68%);left:-20%;bottom:-65%;animation-delay:-19s}.horizon{position:absolute;width:100vw;height:70vw;border:1px solid #ffffff18;border-radius:50%;transform:rotate(-24deg);top:20%;left:14%;box-shadow:0 0 90px #fff1,inset 0 0 70px #fff1}@keyframes drift{to{transform:translate(9%,13%) scale(1.12)}}main{max-width:760px;margin:auto;padding:calc(28px + env(safe-area-inset-top)) 28px 30px;position:relative}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.6px}.brand-icon{font-size:40px;line-height:1}.time-label{font-size:13px;color:#fff9;display:flex;gap:8px}.time-label:before{content:'◒';color:var(--accent)}.glass{background:linear-gradient(125deg,#ffffff22,#ffffff0a);border:1px solid #ffffff35;border-radius:32px;box-shadow:0 25px 80px #0002,inset 0 1px 0 #fff2;backdrop-filter:blur(36px);-webkit-backdrop-filter:blur(36px);padding:44px}.eyebrow{font-size:11px;letter-spacing:2.2px;color:#fffc;margin-bottom:24px}h1{font-size:clamp(42px,7vw,64px);line-height:1.08;letter-spacing:-2.8px;font-weight:500;margin:0 0 25px}.lead{color:#ffffffe0;font-size:21px;line-height:1.5;font-weight:300;margin-bottom:26px}.chips{display:flex;gap:10px;margin-bottom:28px}.chips span{background:#ffffff10;border:1px solid #fff2;border-radius:99px;padding:5px 13px;font-size:12px}#instruction{font-size:14px;color:#fffC;line-height:1.7}.consent{font-size:12px;line-height:1.55;display:flex;align-items:flex-start;gap:11px;color:#fffB;margin:24px 0}.consent input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}button{font:inherit;cursor:pointer;position:relative;overflow:hidden;touch-action:manipulation;transition:background .18s,transform .18s,border-color .18s}button:active{transform:scale(.975)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.primary{border:1px solid #ffffff55;background:var(--accent);color:#282238;border-radius:16px;padding:16px 22px;font-weight:600;display:flex;justify-content:space-between;gap:28px;align-items:center}.intro>.primary{width:100%}.primary:disabled{opacity:.35;cursor:default}.caption{color:#fffa;font-size:12px;margin:16px 0 0}.bottom-note{text-align:center;color:#ffffff75;font-size:12px;letter-spacing:.3px;margin-top:26px}.question-top{display:flex;justify-content:space-between;font-size:12px;color:#fffb;gap:12px}.progress{height:3px;background:#fff2;margin:18px 0 30px;overflow:hidden;border-radius:5px}#progress-fill{height:100%;background:var(--accent);transition:width .5s}h2{font-size:24px;font-weight:450;line-height:1.5;letter-spacing:-.45px;margin:0 0 20px}.hint{font-size:13px;color:#fffa;margin:0 0 20px}#options{display:grid;gap:12px}.option{border:1px solid #ffffff27;border-radius:18px;padding:18px;display:flex;align-items:flex-start;gap:15px;color:#fff;background:#ffffff08;text-align:left;font-size:15px;line-height:1.6}.option:hover{background:#fff1}.option[aria-checked=true]{background:#ffffff20;border-color:var(--accent);box-shadow:inset 0 0 22px #ffffff06}.letter{display:grid;place-items:center;border:1px solid #fff3;width:29px;height:29px;border-radius:50%;flex-shrink:0;font-size:12px}.option[aria-checked=true] .letter{background:var(--accent);color:#25203a;border-color:transparent}footer{display:flex;justify-content:space-between;gap:15px;margin-top:28px}.quiet{background:none;color:#fffA;border:none;padding:12px 0}.quiet:disabled{visibility:hidden}#error{color:#ffd7c7;font-size:13px;min-height:0}.ripple{position:absolute;border-radius:50%;width:12px;height:12px;background:#fff5;pointer-events:none;animation:ripple .65s ease-out forwards}@keyframes ripple{to{transform:scale(55);opacity:0}}.done{text-align:center;padding:60px 30px}.done-icon{width:70px;height:70px;border:1px solid #fff5;background:#ffffff15;border-radius:50%;display:grid;place-items:center;margin:0 auto 30px;font-size:30px;color:var(--accent)}[hidden]{display:none!important}@media(max-width:520px){main{padding:calc(20px + env(safe-area-inset-top)) 16px 25px}header{margin-bottom:25px}.glass{border-radius:26px;padding:27px 22px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:47px}h2{font-size:21px}.option{font-size:14px;padding:15px;gap:11px}.primary{padding:15px 18px}.bottom-note{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.orb{filter:blur(45px)}}
form>label{display:grid;gap:8px;margin:22px 0}input,select,textarea{font:inherit;color:#fff;background:#17243bc9;border:1px solid #ffffff55;border-radius:12px;padding:12px;width:100%;max-width:100%}select{white-space:normal}option{background:#18283d;color:#fff}textarea{resize:vertical}.consent{display:flex;align-items:flex-start}.consent input{width:20px}a{color:var(--accent)}details{margin:20px 0}summary{cursor:pointer}#instruction{white-space:pre-line}#introduction{font-size:16px}#section-name{font-weight:500;font-size:17px}.schedule-row{padding:12px 0;border-bottom:1px solid #fff2}.sources{padding:0 12px;font-size:13px;overflow-wrap:anywhere}#pause{margin-left:20px}#preview-tools button{margin:6px;padding:9px;border-radius:10px}#enroll-error,#dashboard-error{color:#ffd7c7}#profile .caption{margin-top:-12px}h1{font-size:clamp(32px,6vw,48px);letter-spacing:-1.4px}#options input{font-size:24px}
