:root{--night:#1d1a2d;--paper:#f6ede4;--lav:#dedae7;--royal:#6942a5;--ink:#29243d;--gold:#cfa26b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 15%,#4b4569,transparent 30%),var(--night);color:var(--paper);font-family:Inter,sans-serif;min-height:100vh}header{height:78px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff22;font:500 .75rem "DM Mono";letter-spacing:.08em}a{color:inherit;text-decoration:none}main{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(480px,1.45fr);gap:clamp(35px,7vw,100px);padding:clamp(55px,8vw,110px) clamp(22px,7vw,110px)}.kicker{font:500 .72rem "DM Mono";letter-spacing:.14em;color:var(--gold)}h1{font:700 clamp(3.2rem,7vw,7rem)/.9 "Space Grotesk";letter-spacing:-.065em;margin:22px 0}.intro>p:last-child{color:#c8c2d1;max-width:42ch;line-height:1.8}form{background:var(--paper);color:var(--ink);border-radius:12px;padding:clamp(24px,4vw,50px);box-shadow:0 32px 80px #08061066}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}label{display:grid;gap:8px;font:500 .72rem "DM Mono";letter-spacing:.04em}input,select,textarea{width:100%;border:1px solid #3c34532c;border-radius:6px;background:#fffaf6;color:var(--ink);font:400 1rem Inter;padding:13px 14px}input:focus,select:focus,textarea:focus{outline:2px solid #8b78b3;outline-offset:2px}.writing{margin-top:22px}textarea{min-height:310px;resize:vertical;line-height:1.65}.actions{display:flex;justify-content:space-between;gap:15px;margin-top:20px}button{border:1px solid #74688d;border-radius:6px;padding:13px 18px;background:transparent;color:var(--ink);font:600 .8rem Inter;cursor:pointer}.download{background:var(--royal);color:white;border-color:var(--royal)}.instruction{min-height:25px;margin:20px 0 0;color:#5b4873;font-size:.85rem}
.fairy-dust{position:fixed;z-index:9999;left:0;top:0;width:var(--dust-size);height:var(--dust-size);border-radius:50%;background:var(--dust-color);box-shadow:0 0 7px var(--dust-color),0 0 13px var(--dust-color);pointer-events:none;animation:fairyFloat .62s ease-out forwards}.fairy-burst{animation-duration:.82s}@keyframes fairyFloat{0%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}100%{opacity:0;transform:translate(calc(-50% + var(--dust-x)),calc(-50% + var(--dust-y))) scale(.15)}}
@media(max-width:850px){main{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.wide{grid-column:auto}}
@media(max-width:520px){header span{display:none}.actions{flex-direction:column}h1{font-size:3.5rem}}
