@font-face{font-family:Bricolage;src:url('/assets/bricolage-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#291c35;--night:#24172e;--yellow:#ffd84d;--paper:#fffaf0;--lilac:#dbd1e2;--line:#6a596f;--violet:#8c53a3;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--night)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}::selection{background:var(--yellow);color:var(--night)}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.skip{position:absolute;top:-80px;left:16px;background:var(--yellow);color:var(--ink);padding:12px;z-index:10}.skip:focus{top:12px}
.topbar{background:var(--yellow);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px clamp(20px,4vw,60px);border-bottom:2px solid var(--ink)}.brand{font:700 2.2rem/1 Bricolage,Arial,sans-serif;text-decoration:none;letter-spacing:-.05em}.brand span{color:#8d48a5}.topbar nav{display:flex;gap:30px;align-items:center}.topbar nav a{text-decoration:none;font-size:.85rem;font-weight:800}.topbar nav a:hover{text-decoration:underline}
.hero{min-height:480px;background:var(--yellow);color:var(--ink);padding:clamp(48px,6.5vw,96px) clamp(20px,6vw,92px) clamp(56px,7vw,104px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);align-items:center;gap:48px;overflow:hidden}.hero h1,.section-head h2,.output h3{font-family:Bricolage,Arial,sans-serif;font-weight:700;letter-spacing:-.04em}.hero h1{font-size:clamp(3.3rem,8.1vw,7.3rem);line-height:.9;margin:0;max-width:11ch}.hero h1 em{font-style:normal;color:#8d48a5}.hero-copy>p{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.5;max-width:42ch;margin:35px 0 27px}.jump{display:inline-flex;gap:22px;align-items:center;font-weight:800;text-decoration:none;border-bottom:2px solid;padding:0 0 8px}.jump span{font-size:1.3rem}.hero-art{position:relative;min-height:330px;display:grid;place-items:center}.poster-stamp{width:min(100%,350px);aspect-ratio:1;background:var(--night);border:10px solid var(--paper);border-radius:50%;box-shadow:16px 24px 0 #a97b28,20px 38px 45px #261b1c32;transform:rotate(9deg);display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--yellow);text-align:center;font:700 clamp(2.2rem,4.2vw,3.7rem)/.92 Bricolage,Arial,sans-serif;letter-spacing:-.06em}.poster-stamp span{font-size:2.3rem;margin-top:8px}.poster-note{position:absolute;right:-20px;bottom:-21px;background:var(--paper);padding:17px 20px;transform:rotate(-7deg);font-size:.8rem;font-weight:800;line-height:1.45;box-shadow:5px 9px 20px #21152a26}
.workshop{color:var(--paper);padding:85px clamp(20px,6vw,92px) 100px;max-width:1660px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-head h2{font-size:clamp(3.5rem,6vw,6rem);line-height:.95;margin:0;color:var(--yellow)}.section-head p{max-width:42ch;font-size:1.08rem;line-height:1.6;color:#e1d6e8;margin:0 0 4px}.desk{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,70px);align-items:start}.form{background:var(--paper);color:var(--ink);padding:clamp(23px,3vw,48px);border-radius:6px;box-shadow:14px 19px 0 #120b19,16px 26px 38px #120b1960}.form-top,.output-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.7rem;letter-spacing:.1em;font-weight:900;padding-bottom:16px;border-bottom:2px solid currentColor}.form-top span:last-child{letter-spacing:0;font-weight:700;color:#664b6e}.field{padding-top:28px}.field label{display:block;font-size:1rem;font-weight:800}.field label small{font-size:.75rem;font-weight:500;color:#5c4765}.field p{font-size:.8rem;line-height:1.5;color:#5c4765;margin:6px 0 10px}.field textarea,.field input{width:100%;padding:14px 15px;color:var(--ink);background:white;border:1.5px solid #a59aaa;border-radius:5px;font-size:1rem;line-height:1.5;min-height:52px;resize:vertical}.field textarea:focus,.field input:focus{outline:2px solid var(--violet);outline-offset:2px;border-color:var(--violet)}.field textarea::placeholder,.field input::placeholder{color:#75677b;opacity:1}.reset{border:0;background:none;color:#5b4167;padding:4px 0;margin-top:23px;text-decoration:underline;text-underline-offset:4px;font-size:.8rem}.reset:hover{color:var(--ink)}
.output-wrap{position:sticky;top:24px}.output{border:2px solid #a397aa;border-radius:7px;padding:clamp(22px,3vw,38px);background:#1a1122;box-shadow:14px 18px 0 #100a17,16px 24px 45px #08050b75}.output-top{color:var(--yellow);border-color:#86768b}.output h3{font-size:clamp(2.7rem,4vw,4.5rem);line-height:.94;margin:32px 0;color:var(--paper)}.output h3 i{color:var(--yellow);font-style:normal}.status{display:flex;align-items:center;gap:10px;color:#e3d5e8;font-size:.84rem;line-height:1.5;padding-bottom:25px;border-bottom:1px solid #5c4d64}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);flex:none;box-shadow:0 0 0 4px #ffd84d26}.output dl{margin:0}.output dl>div{padding:18px 0;border-bottom:1px solid #5c4d64}.output dt{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}.output dd{margin:0;line-height:1.48;font-size:1.02rem;overflow-wrap:anywhere;white-space:pre-wrap}.output dd.blank{color:#baacbf}.preview-url{overflow-wrap:anywhere;color:#e2d6e8;font-size:.85rem;margin:19px 0 0}.output-actions{display:flex;gap:10px;margin-top:28px}.output-actions button{border:1px solid var(--yellow);padding:13px 16px;min-height:46px;font-weight:800;border-radius:5px;transition:transform .18s ease-out,background .18s ease-out}.output-actions button:first-child{background:var(--yellow);color:var(--ink);flex:1}.output-actions button:last-child{background:transparent;color:var(--yellow)}.output-actions button:hover{transform:translateY(-2px)}.feedback{min-height:1.2em;font-size:.8rem;color:var(--yellow);margin:12px 0 0}.next{padding:37px 4px 0;color:#e2d6e8;max-width:55ch}.next strong{font:700 1.65rem Bricolage,Arial,sans-serif;color:var(--yellow)}.next p{line-height:1.6}.next a{color:var(--yellow);font-weight:700}.next .quiet{font-size:.78rem;color:#c8bace;border-top:1px solid #55435c;padding-top:17px;margin-top:20px}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--yellow);padding:28px clamp(20px,6vw,92px);font-weight:800;font-size:.85rem}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:1050px){.hero{grid-template-columns:1fr .7fr}.desk{gap:34px}}@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:0}.hero-art{min-height:310px}.poster-stamp{width:290px}.section-head{display:block}.section-head p{margin-top:22px}.desk{grid-template-columns:1fr}.output-wrap{position:static}.output{max-width:100%}}@media(max-width:520px){.topbar{align-items:start}.topbar nav{display:flex;flex-direction:column;align-items:end;gap:8px}.hero{padding-block:54px 72px;gap:12px}.hero h1{font-size:clamp(3.25rem,12.5vw,4.9rem)}.hero-art{min-height:290px}.poster-stamp{width:225px;font-size:2.35rem;border-width:7px}.poster-note{right:0;bottom:0}.workshop{padding-block:70px}.section-head{margin-bottom:32px}.section-head h2{font-size:3.5rem}.output-actions{flex-direction:column}.output-actions button{width:100%}.form-top{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Reading sizes and contrast hold up on small screens and bright displays. */
.hero h1 em{color:#78328b}
.topbar nav a,.form-top,.output-top,.output dt,.field label small,.field p,.reset,.status,.feedback,.preview-url,.next .quiet{font-size:max(.875rem,14px)}
.form-top,.output-top,.output dt{letter-spacing:.06em}
@media(max-width:520px){.form-top{font-size:.75rem}}
