:root{color-scheme:dark;--bg:#101728;--ink:#f2eadc;--muted:#b0b4c4;--gold:#dec59a;--line:#ffffff20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,sans-serif}body:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:1100px;background:radial-gradient(ellipse at 50% 38%,#33395480,transparent 65%)}.sky{pointer-events:none;position:absolute;inset:0 0 auto;height:850px;opacity:.45;background-image:radial-gradient(1px 1px at 12% 21%,#eee 100%,transparent),radial-gradient(1px 1px at 80% 30%,#eee 100%,transparent),radial-gradient(1px 1px at 26% 54%,#eee 100%,transparent),radial-gradient(2px 2px at 89% 65%,#bfa786 50%,transparent),radial-gradient(1px 1px at 7% 80%,#eee 100%,transparent),radial-gradient(1px 1px at 62% 8%,#eee 100%,transparent);background-size:470px 530px}a{color:inherit;text-underline-offset:5px}header{max-width:1280px;margin:auto;padding:30px 48px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:10px;align-items:center;color:var(--gold);font-size:25px;text-decoration:none}.brand span{font:19px Georgia,serif;letter-spacing:.02em}nav{display:flex;gap:30px}nav a{color:var(--muted);font-size:14px;text-decoration:none}nav a:hover,footer a:hover{color:var(--gold)}.ritual{text-align:center;max-width:790px;padding:45px 24px 80px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:500;color:var(--gold);margin:0 0 20px}h1{font:normal clamp(46px,6vw,76px)/1.13 Georgia,serif;letter-spacing:-.035em;margin:0 0 24px}h1 em{font-weight:normal;color:var(--gold)}.intro{color:#c5c6d3;font-size:17px;line-height:1.75;margin:0 0 34px}.writing-space{background:linear-gradient(125deg,#f5eedf,#eae2d5);border-radius:6px;box-shadow:0 12px 70px #0003;text-align:left;color:#343844;padding:20px 26px 16px;transform-origin:center;position:relative}.paper-top,.paper-bottom{display:flex;justify-content:space-between;align-items:center;color:#6c6862;font-size:12px}.paper-top{letter-spacing:.12em}.paper-top span:last-child{font-size:25px;color:#978568}textarea{font:21px/1.7 Georgia,serif;resize:vertical;min-height:185px;max-height:420px;width:100%;border:0;background:transparent;color:#343844;padding:18px 0 10px;outline:0}textarea::placeholder{color:#89847e}textarea:focus-visible{outline:2px solid #8b744e;outline-offset:5px;border-radius:2px}.paper-bottom{font-size:12px}.actions{display:flex;gap:14px;margin-top:24px}button{font:500 15px/1.5 system-ui,sans-serif;border-radius:5px;padding:16px 20px;cursor:pointer;transition:background .2s,transform .2s}button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{opacity:.55;cursor:default}.actions button{flex:1}.actions span{font-size:20px;margin-right:8px}.gold{background:var(--gold);color:#252633;border:1px solid var(--gold)}.outline{background:#ffffff03;border:1px solid #a6a1ac70;color:var(--ink)}.irreversible{font-size:12px;color:#aaaabd;margin:18px 0 26px}.privacy-link{display:block;font-size:13px;text-decoration:none;color:#b6b9c8}.privacy-link span{margin-left:7px;text-decoration:underline;text-decoration-color:#ffffff40}.quiet{font:italic 15px Georgia,serif;color:#9c9fb1;margin-top:30px}.section{max-width:1060px;margin:auto;padding:72px 32px;border-top:1px solid var(--line)}h2{font:normal clamp(30px,4vw,42px)/1.25 Georgia,serif;letter-spacing:-.025em;margin:0 0 25px}h3{font:normal 24px Georgia,serif;margin:12px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:46px}.steps p{color:var(--muted);font-size:15px}.number{font:italic 20px Georgia,serif;color:var(--gold)}.privacy{display:grid;grid-template-columns:1fr 1fr;gap:65px}.privacy p{margin-top:0;color:#c5c6d3}.privacy .muted{font-size:14px;color:var(--muted)}.privacy a{font-size:14px;color:var(--gold)}.faq{max-width:810px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:21px 32px 21px 0;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;color:var(--gold);font-size:22px}details[open] summary:after{content:'−'}details p{color:var(--muted);margin:0 24px 24px 0;font-size:15px}.closing{text-align:center;padding:55px 24px 100px;font:italic 27px/1.6 Georgia,serif;color:#ccc6bc}.closing span{display:block;margin-top:25px;font:11px system-ui;letter-spacing:.2em;color:#999ba9}footer{max-width:1280px;padding:32px 48px;border-top:1px solid var(--line);margin:auto;display:flex;align-items:center;gap:25px;flex-wrap:wrap}footer div{display:flex;gap:22px;margin-left:auto;font-size:13px;color:var(--muted)}footer a{text-decoration:none}footer p{width:100%;text-align:right;font-size:12px;color:#8f93a6;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.experience{min-height:355px;display:flex;flex-direction:column;align-items:center;justify-content:center}.animation{height:240px;width:100%;display:grid;place-items:center;position:relative;perspective:700px}.release-paper{width:210px;height:145px;background:#eee4d3;box-shadow:0 0 55px #dec59a33;color:#a48e66;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;transform-origin:center}.release-paper span{font-size:30px}.release-paper i{height:1px;width:70%;background:#bdb3a6}.release-paper i:last-child{width:45%}.sending .release-paper{animation:send 3.5s ease-in-out forwards}.burning .release-paper{animation:burn 3.5s ease-in-out forwards}.embers{position:absolute;color:#eda664;opacity:0;font-size:27px;letter-spacing:14px}.burning .embers{animation:embers 3.5s ease-out forwards}#result h2{max-width:580px;font-size:32px}#result>p:not(.eyebrow){color:var(--muted);font-size:14px}#again{margin:15px 0 35px}#status{color:var(--muted);font-size:14px}@keyframes send{0%{transform:scale(1)}30%{transform:rotateX(55deg) scale(.7)}55%{transform:translateY(-20px) rotate(-12deg) scale(.65);opacity:1}100%{transform:translate(45px,-180px) rotate(9deg) scale(.1);opacity:0}}@keyframes burn{0%,15%{clip-path:inset(0);filter:none}40%{filter:sepia(1);box-shadow:0 0 35px #ffa643;clip-path:polygon(5% 2%,90% 0,100% 15%,96% 90%,77% 98%,15% 95%,0 78%)}70%{background:#543525;clip-path:polygon(35% 25%,75% 35%,65% 75%,40% 60%);opacity:.7}100%{clip-path:polygon(50% 50%,50% 50%,50% 50%);opacity:0;transform:translateY(-25px)}}@keyframes embers{0%,35%{opacity:0;transform:translateY(25px) scale(.6)}65%{opacity:1}100%{opacity:0;transform:translateY(-130px) scale(1.5)}}.legal{max-width:800px;margin:50px auto 100px;padding:0 28px}.legal h1{font-size:50px}.legal h2{font-size:27px;margin-top:35px}.legal p{color:#c5c6d3}.legal .eyebrow{color:var(--gold)}@media(max-width:650px){header{padding:23px 22px}nav{gap:16px}nav a{font-size:12px}nav a:first-child{display:none}.brand span{font-size:16px}.ritual{padding-top:40px}.actions{flex-direction:column;gap:10px}.writing-space{padding:16px 20px}textarea{min-height:200px;font-size:19px}.privacy-link span{display:block;margin-top:6px}.steps,.privacy{grid-template-columns:1fr;gap:25px}.steps{margin-top:30px}.section{padding:50px 25px}.steps p{margin-bottom:0}footer{padding:28px 24px}footer div{margin:0;gap:17px;flex-wrap:wrap}footer p{text-align:left}.closing{font-size:23px;padding-bottom:60px}.irreversible{max-width:310px;margin:18px auto 26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.2s!important;transition:none!important}.sending .release-paper,.burning .release-paper{animation:fade .2s forwards}@keyframes fade{to{opacity:0}}}
/* Version 2: a luminous universe, with an explicit light-first theme. */
:root,[data-theme="light"]{color-scheme:light;--bg:#f0f0fa;--ink:#252a46;--muted:#535d78;--gold:#735329;--line:#51598030;--soft:#505b75;--surface:#ffffffb8}
[data-theme="dark"]{color-scheme:dark;--bg:#0c1229;--ink:#f5ecdf;--muted:#bdc4db;--gold:#e8c891;--line:#d8dfff26;--soft:#c9cce0;--surface:#18223cc9}
body{isolation:isolate;transition:background .3s,color .3s}body:before{position:fixed;height:100vh;background:radial-gradient(ellipse at 14% 20%,#d5c5f59c,transparent 48%),radial-gradient(ellipse at 85% 25%,#c4dafaad,transparent 45%),radial-gradient(ellipse at 68% 80%,#f6cee095,transparent 50%);z-index:-2;pointer-events:none}
[data-theme="dark"] body:before{background:radial-gradient(ellipse at 10% 18%,#68419a75,transparent 52%),radial-gradient(ellipse at 90% 28%,#265d995e,transparent 45%),radial-gradient(ellipse at 60% 90%,#7c365b40,transparent 52%)}
.sky{position:fixed;height:100vh;z-index:-1;opacity:.75;background-image:radial-gradient(2px 2px at 12% 21%,#9b71b9 90%,transparent),radial-gradient(1.5px 1.5px at 80% 30%,#718ec8 90%,transparent),radial-gradient(2px 2px at 26% 54%,#9773b7 80%,transparent),radial-gradient(3px 3px at 89% 65%,#b99058 40%,transparent),radial-gradient(1.5px 1.5px at 7% 80%,#7d70b8 90%,transparent),radial-gradient(2px 2px at 62% 8%,#8e84c3 80%,transparent);background-size:370px 430px}
[data-theme="dark"] .sky{opacity:.9;filter:brightness(2);background-image:radial-gradient(2px 2px at 12% 21%,#f7d7f9 90%,transparent),radial-gradient(1px 1px at 80% 30%,#d5e4ff 90%,transparent),radial-gradient(1.5px 1.5px at 26% 54%,#ebd2ff 80%,transparent),radial-gradient(3px 3px at 89% 65%,#d7b17f 40%,transparent),radial-gradient(1px 1px at 7% 80%,#e0daff 90%,transparent),radial-gradient(1.5px 1.5px at 62% 8%,#edddff 80%,transparent)}
header{gap:25px;padding-top:23px;padding-bottom:23px}nav{margin-left:auto}.theme-toggle{min-height:50px;min-width:151px;display:flex;justify-content:center;align-items:center;gap:10px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:12px 18px;box-shadow:0 3px 15px #1521400a;font-size:15px;flex-shrink:0}.theme-toggle>span:first-child{font-size:23px;line-height:1}.ritual{padding-top:22px}h1{font-size:clamp(42px,5vw,62px);margin-bottom:22px}.intro{font-size:clamp(19px,2.1vw,23px);color:var(--soft);line-height:1.65;margin-bottom:28px}.writing-space{background:linear-gradient(120deg,#fffdf9,#fbf5ea);box-shadow:0 14px 60px #32366116;border:1px solid #a59ab636}textarea{color:#191d2a;font-weight:500}textarea::placeholder{color:#696677}.gold{background:#d4af73;border-color:#b88b48;color:#282435}.outline{background:var(--surface);border-color:var(--line);color:var(--ink)}.quiet,.irreversible,.privacy-link,footer p{color:var(--muted)}.privacy p,.legal p{color:var(--soft)}.privacy .muted{color:var(--muted)}.closing{color:var(--soft)}.closing span{color:var(--muted)}.paper-top,.paper-bottom{color:#655c55}.privacy-link{font-size:14px}.privacy-link span{text-decoration-color:var(--muted)}
.emoji-toolbar{text-align:left;position:relative;margin-top:10px}.emoji-toolbar>button{padding:8px 13px;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font-size:14px}#emoji-picker{position:absolute;left:0;top:50px;z-index:5;max-width:100%;width:332px;padding:12px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #10172830}#emoji-picker button{padding:6px;min-height:44px;border:0;background:transparent;font-size:24px;line-height:1.2}#emoji-picker button:hover{background:#ad98cd30}.actions{margin-top:16px}#ritual-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:20;pointer-events:none}.experience{min-height:370px}.animation{height:220px}#status{font-size:17px;color:var(--soft)}#result h2{color:var(--ink)}.section{background:var(--surface);border-radius:12px;margin-bottom:18px}footer{background:var(--surface)}
@media(max-width:800px){header{flex-wrap:wrap;gap:16px;padding:18px 22px}header nav{order:3;width:100%;justify-content:center;margin:0;gap:30px}.theme-toggle{margin-left:auto;min-width:142px}header>a:not(.brand){order:3;font-size:14px}.ritual{padding-top:20px}header nav a{font-size:14px}.section{border-radius:0}header nav a:first-child{display:block}}
@media(max-width:380px){header{gap:8px;padding:15px}.theme-toggle{min-width:130px;padding:10px;font-size:14px}.brand span{font-size:15px}.ritual{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){body{transition:none}}
/* Brighter light palette and a clearer hierarchy for the writing ritual. */
[data-theme="light"]{--bg:#faf7ff;--ink:#272047;--muted:#61516f;--gold:#864373;--line:#a775b733;--soft:#554264;--surface:#ffffffd9}
[data-theme="light"] body:before{background:radial-gradient(ellipse at 6% 18%,#d6b4ffb8,transparent 48%),radial-gradient(ellipse at 94% 21%,#9ce5ffd1,transparent 49%),radial-gradient(ellipse at 73% 79%,#ffb6d5b8,transparent 52%),linear-gradient(135deg,#fff6fc,#f3eeff 48%,#edfbff)}
[data-theme="light"] .sky{opacity:.95;filter:saturate(1.45)}
.ritual h1{font-size:clamp(34px,3.8vw,46px);line-height:1.2;margin-bottom:20px}
.ritual>.eyebrow{font-size:clamp(14px,1.5vw,17px);font-weight:750;letter-spacing:.15em;margin-bottom:18px}
[data-theme="light"] .writing-space{background:linear-gradient(125deg,#fffefd,#fff8ed);border-color:#caa4c75c;box-shadow:0 15px 55px #8256a320,0 2px 8px #76536c0a}
.actions{gap:16px;margin-top:18px}.actions button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:70px;padding:15px 18px;font-size:17px;font-weight:700;border-radius:10px;box-shadow:0 7px 18px #52364b20;opacity:1}
.actions .action-icon{font-size:34px;line-height:1;margin:0;flex-shrink:0}
#send{background:linear-gradient(120deg,#7950b6,#6342a0);border:1px solid #694199;color:#fff9ff}
#burn{background:linear-gradient(120deg,#b8494f,#a63849);border:1px solid #a53749;color:#fff9f5}
.actions button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 9px 24px #52364b33}
.actions button:disabled{filter:saturate(.72);opacity:.85;box-shadow:0 3px 12px #52364b14}
[data-theme="dark"] #send{background:linear-gradient(120deg,#9c76ce,#805bb4);border-color:#ad8bd5;color:#fff}
[data-theme="dark"] #burn{background:linear-gradient(120deg,#b85465,#a34356);border-color:#ce7181;color:#fff}
[data-theme="light"] .theme-toggle{background:#fff;border-color:#a97bc35c;box-shadow:0 4px 15px #7c52921a}
@media(max-width:650px){.actions{gap:12px}.actions button{min-height:66px}.ritual>.eyebrow{letter-spacing:.1em}.ritual h1{font-size:36px}}
.contact-page{max-width:850px}.contact-page h1{font-size:42px}.contact-form{margin:30px 0 20px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #684c7612}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;font-size:16px;font-weight:650;margin-bottom:8px}.contact-form input,.contact-form textarea{display:block;width:100%;font:16px/1.6 system-ui,sans-serif;color:#211e30;background:#fffdfa;border:1px solid #9589a6;border-radius:7px;padding:13px 15px;margin-bottom:22px}.contact-form textarea{min-height:190px;max-height:550px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #9164b8;outline-offset:3px}.contact-form .contact-note{font-size:14px;margin:0 0 20px;color:var(--muted)}.contact-submit{background:#7046a5;border:1px solid #7046a5;color:white;font-weight:650;min-height:50px}.contact-form #contact-status:empty{display:none}.contact-form #contact-status{font-size:15px;margin-bottom:0;color:var(--ink)}@media(max-width:600px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-form{padding:21px}.contact-submit{width:100%}}
/* Requested section typography and a locally served calligraphic title. */
@font-face{font-family:'Heart Script';src:url('/fonts/heart-script.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
#how,#how h2,#how h3,#how p,#how .number,#faq,#faq h2,#faq summary,#faq p{font-family:Calibri,'Segoe UI',Arial,sans-serif}
#how h2,#faq h2{font-size:34px;font-weight:600;line-height:1.25;letter-spacing:0}
#how h3{font-size:24px;font-weight:600;line-height:1.3}#how .number{font-size:20px;font-style:normal;font-weight:600}
#how .steps p,#faq details p{font-size:18px;line-height:1.6}#faq summary{font-size:19px;line-height:1.4;font-weight:600}
#faq .faq-scope{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 22px}
.ritual h1{font-family:'Heart Script','Segoe Script',cursive;font-size:46px;font-weight:400;line-height:1.3;letter-spacing:0;margin-bottom:16px}
.ritual h1 em{font-style:normal}
@media(max-width:650px){.ritual h1{font-size:40px}#how h2,#faq h2{font-size:29px}}
