@import "https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont/style.css";
:root{--paper:#f4efe6;--ink:#2b2b2b;--muted:#8a7f72;--line:#d8cdbb;--hand:"LXGW WenKai", "Songti SC", serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif}body:before{content:"";pointer-events:none;z-index:9999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:40px 20px;display:flex}.langtoggle{cursor:pointer;letter-spacing:.05em;color:var(--muted);background:0 0;border:none;font-family:inherit;font-size:12px;position:fixed;top:16px;right:18px}.langtoggle:hover{color:var(--ink)}.brandblock{flex-direction:column;align-items:center;gap:2px;display:flex}.brand{font-family:var(--hand);letter-spacing:.02em;margin:0;font-size:44px;font-weight:400}.brandsub{letter-spacing:.35em;color:var(--muted);text-transform:uppercase;font-size:13px}.thesis{max-width:32ch;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.thesis.reveal{font-family:var(--hand);color:var(--ink);font-size:16px;font-style:italic}.composer{flex-direction:column;align-items:center;gap:16px;width:min(92vw,440px);margin-top:28px;display:flex}.promptlabel{font-family:var(--hand);color:var(--muted);letter-spacing:.01em;font-size:15px}.field{border:1.5px solid var(--line);background:#fcfaf4;border-radius:16px;width:100%;padding:16px 16px 10px;transition:border-color .2s,box-shadow .2s;box-shadow:0 6px 18px #3c2e1c0f}.field:focus-within{border-color:#b9a98f;box-shadow:0 6px 22px #3c2e1c1a,0 0 0 3px #b9a98f29}.input{font-family:var(--hand);resize:none;text-align:center;width:100%;min-height:88px;color:var(--ink);background:0 0;border:none;outline:none;font-size:19px;line-height:1.55;display:block}.input::placeholder{color:#c9bda9}.count{text-align:right;color:#c2b6a4;letter-spacing:.05em;margin-top:6px;font-size:11px}.errline{color:#b5675f;font-size:13px;font-family:var(--hand)}.primary{letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:13px 30px;font-family:inherit;font-size:13px;transition:all .2s}.primary:hover:not(:disabled){background:var(--ink);color:var(--paper)}.primary:disabled{opacity:.3;cursor:not-allowed}.link{color:var(--muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:13px;text-decoration:underline}.link:hover{color:var(--ink)}.developing{font-family:var(--hand);color:var(--muted);font-size:18px;font-style:italic;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.actions{align-items:center;gap:18px;display:flex}.stage{justify-content:center;display:flex}.polaroid{background:#fbf7ef;border-radius:3px;width:340px;max-width:86vw;padding:16px 16px 0;animation:1.5s ease-out both develop;transform:rotate(-1.4deg);box-shadow:0 18px 44px #3226183d}@keyframes develop{0%{opacity:0;filter:saturate(.2)brightness(1.4)blur(6px);transform:rotate(-1.4deg)scale(.96)}to{opacity:1;filter:none;transform:rotate(-1.4deg)scale(1)}}.photo{aspect-ratio:1;background:#efe7d8;width:100%;overflow:hidden}.photo canvas{display:block;width:100%!important;height:100%!important}.caption{text-align:center;padding:14px 6px 18px}.caption .hand{font-family:var(--hand);color:#2b2b2b;white-space:pre-wrap;word-break:break-word;margin:0;font-size:17px;line-height:1.5}.caption .auraname{font-family:var(--hand);color:var(--muted);margin:8px 0 0;font-size:14px;font-style:italic}.caption .meta{letter-spacing:.06em;color:#b8ab9c;text-transform:uppercase;justify-content:space-between;margin-top:14px;font-size:10px;display:flex}
