:root{--purple:#241333;--deep:#170c23;--violet:#6e3c94;--gold:#d7b884;--paper:#faf8fc;--ink:#2b2033;--muted:#73687d;--line:#ded5e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}header{height:100px;background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #604568}.brand{text-decoration:none;color:var(--gold);text-align:center;line-height:1}.brand strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:36px;letter-spacing:7px}.brand span{display:block;font-size:11px;letter-spacing:6px;padding-top:11px}.header-right{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:2px;color:#d2bfdc}.header-right button{background:none;border:0;color:#d2bfdc;font-size:14px;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}.layout{display:grid;grid-template-columns:350px minmax(0,1fr);max-width:1600px;margin:auto}aside{background:var(--purple);color:#fff;padding:44px 32px 24px;position:sticky;top:0;align-self:start;min-height:calc(100vh - 100px);border-right:1px solid #644477}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:600;color:var(--violet);margin:0 0 14px}.aside-intro .eyebrow{color:var(--gold);font-size:11px;letter-spacing:1.6px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}aside h2{font-size:34px;margin:16px 0}aside h2 em{color:var(--gold);font-weight:400}aside p{color:#cdbfd8;font-size:14px;line-height:1.7}.progress-info{display:flex;justify-content:space-between;font-size:12px;color:#d5c6de;margin-top:28px}progress{appearance:none;display:block;height:3px;width:100%;border:0;margin:12px 0 24px;background:#503462}progress::-webkit-progress-bar{background:#503462}progress::-webkit-progress-value{background:var(--gold)}progress::-moz-progress-bar{background:var(--gold)}nav{display:grid;gap:3px}.step-link{background:none;border:1px solid transparent;color:#c8b8d4;display:flex;text-align:left;gap:14px;padding:9px 12px;font-size:14px;line-height:1.4;border-radius:2px}.step-link span{font-size:12px;color:#b396c9;min-width:20px;padding-top:2px}.step-link.active{background:#3b234f;border-color:#695076;color:#fff}.step-link.active span{color:var(--gold)}.step-link:hover{background:#39214d}.aside-footer{margin-top:30px;border-top:1px solid #584064;padding-top:20px;color:var(--gold);font-size:10px;letter-spacing:2px}main{padding:42px clamp(24px,5vw,90px) 28px;max-width:1100px;width:100%}.intro-note{display:flex;gap:18px;border-bottom:1px solid var(--line);padding-bottom:23px}.intro-note>span{font-size:32px;color:var(--violet)}.intro-note p{margin:0;font-size:16px}.intro-note small{color:var(--muted);font-size:14px}.draft-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:20px 0 42px;font-size:13px;color:var(--muted)}.draft-controls button{color:var(--muted);font-size:13px;border:0;background:none;text-decoration:underline;text-underline-offset:3px}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--violet);flex-shrink:0;margin:4px 0 0}.draft-controls .check input{margin-top:2px}h1{font-size:clamp(35px,4vw,52px);letter-spacing:-1px;margin:0 0 16px}h1:focus{outline:none}.section-desc{color:var(--muted);margin:0 0 35px;font-size:16px}.question{margin:0 0 27px}.question label{display:block;font-size:16px;line-height:1.5;margin-bottom:10px;font-weight:500}.question b{color:var(--violet)}.qnum{display:inline-block;font-family:Georgia,serif;font-size:13px;color:var(--violet);margin-right:10px;min-width:24px}textarea,input:not([type=checkbox],[type=hidden]),select{display:block;border:1px solid var(--line);border-radius:3px;width:100%;background:#fff;padding:13px 16px;color:var(--ink);font-size:16px;line-height:1.5;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:100px}textarea::placeholder{color:#8c8096}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px #6e3c9418}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b48ccd;outline-offset:4px}.form-actions{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:25px 0 0;margin:40px 0 0}.primary,.secondary{border:1px solid var(--violet);border-radius:3px;padding:13px 25px;font-size:15px;font-weight:500}.primary{color:white;background:var(--purple)}.primary:hover{background:#45235d}.secondary{background:transparent;border-color:var(--line);color:var(--ink)}#step-counter{margin-left:auto;color:var(--muted);font-size:13px;letter-spacing:2px}.bottom-note{text-align:center;font-size:12px;letter-spacing:1px;color:var(--muted);margin:38px 0 5px}.completion{border-top:3px double #b798c6;padding:25px 0;margin-top:30px}.completion h2{font-size:30px;color:var(--purple)}.completion p{color:var(--muted)}.completion .check{font-size:14px;line-height:1.6;margin:25px 0}details{font-size:14px;color:var(--muted)}summary{cursor:pointer;color:var(--violet)}#error{padding:16px;background:#fff0ef;color:#8e2c29;border:1px solid #d8aaa7;border-radius:3px;margin-top:15px}dialog{max-width:580px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:5px;padding:32px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#170c23aa}dialog h2{font-size:32px}dialog p{font-size:15px}#success{padding:60px 0;min-height:500px}#success p{max-width:550px}.noscript{position:fixed;bottom:0;background:#fff0ef;color:#8e2c29;padding:20px;width:100%;margin:0}@media(min-width:1400px){.layout{grid-template-columns:380px minmax(0,1fr)}}@media(max-width:850px){header{height:85px;padding:0 24px}.brand strong{font-size:28px;letter-spacing:5px}.brand span{font-size:9px;letter-spacing:4px}.header-right>span{display:none}.layout{display:block}aside{position:relative;min-height:0;padding:24px}.aside-intro{display:none}.progress-info{margin:0}progress{margin:10px 0 16px}nav{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:#92709f var(--purple)}.step-link{min-width:max-content;padding:9px 12px}.aside-footer{display:none}main{padding:28px 24px}.draft-controls{margin-bottom:30px}h1{font-size:37px}.form-actions{position:sticky;bottom:0;background:var(--paper);padding:17px 0;z-index:2}.primary,.secondary{padding:12px 17px}.intro-note{gap:12px}.intro-note small{display:block;margin-top:6px}.question{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.welcome{background:radial-gradient(ellipse at 50% 27%,#54316c 0%,#2d173f 48%,#190d25 100%);color:#f8f0e9;padding:48px clamp(18px,5vw,70px);text-align:center}
.welcome-frame{border:1px solid #b899684a;outline:1px solid #b8996830;outline-offset:8px;padding:46px 24px 30px;max-width:1150px;margin:auto}
.welcome-kicker{color:#d7b884;font-size:12px;letter-spacing:3px;margin:0 0 24px}
.welcome-seal{font-family:Georgia,serif;border:1px solid #d7b88470;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;color:#d7b884;font-size:26px;margin:0 auto 27px}
.welcome h1{color:#fff7ee;font-size:clamp(40px,6vw,76px);line-height:1.08;letter-spacing:-1.3px;margin:0 0 26px;font-weight:400}
.welcome h1 em{color:#e2c594;font-weight:400}
.welcome-copy{max-width:570px;margin:0 auto;color:#e0d2e8;font-size:17px;line-height:1.8}
.welcome-divider{display:flex;align-items:center;justify-content:center;gap:20px;color:#d7b884;margin:25px 0 19px;font-size:18px}
.welcome-divider span{height:1px;width:65px;background:#b8996860}
.welcome-invitation{color:#d2bfdc;font-size:15px;margin:0 0 25px;line-height:1.7}
.welcome-button{background:#dec496;color:#281435;border:1px solid #dec496;padding:16px 32px;border-radius:2px;font-size:16px;min-height:52px;transition:background .15s}
.welcome-button:hover{background:#efdbb6}
.welcome-footnote{font-size:11px;color:#bea9ca;letter-spacing:2.5px;margin:24px 0 0}
@media(max-width:600px){.welcome{padding:30px 20px}.welcome-frame{padding:32px 12px 25px}.welcome h1{font-size:43px}.welcome-copy{font-size:16px}.welcome-kicker{font-size:11px;letter-spacing:2px}.welcome-footnote{font-size:10px;letter-spacing:1.5px}}
