@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap');
:root{--pink:#ff27ad;--lime:#c1ff00;--purple:#7200d9;--orange:#ff8500;--ink:#080808;--cyan:#29e4ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--purple);font-family:'Times New Roman',Times,serif;font-size:20px;line-height:1.55}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:4px solid #004bc4;outline-offset:5px}header{background:var(--lime);border-bottom:4px solid black;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 5%}.brand{font-weight:900;font-size:1.25rem;line-height:1.05;text-decoration:none}nav{display:flex;gap:24px;align-items:center;font-size:1rem;font-weight:bold}nav a{text-decoration:none}.subtle{background:white;border:2px solid black;padding:8px 14px;box-shadow:4px 4px black}.opening{background:var(--pink);padding:32px 6% 0;border-bottom:4px solid black}.eyebrow{text-transform:uppercase;font-size:1rem;font-weight:900;line-height:1.25;letter-spacing:.02em}.opening>.eyebrow{display:flex;justify-content:space-between;gap:20px;max-width:1260px;margin:auto}.opening>.eyebrow span{background:var(--lime);padding:6px 12px;border:2px solid black}h1,h2,h3,blockquote,.aside-title{font-family:'DM Serif Display',Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3.6rem,9.5vw,9rem);line-height:1.01;letter-spacing:-.04em;margin:28px auto 32px;max-width:1260px}h1 em{font-style:normal;background:var(--lime);box-shadow:7px 7px black;padding:0 .1em;border:3px solid black;display:inline-block}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1260px;margin:0 auto 30px}.intro p{font-weight:bold;font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.35}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;background:linear-gradient(110deg,#e6ff83,var(--lime));border:3px solid black;color:black;font-weight:900;text-decoration:none;padding:12px 22px;box-shadow:6px 6px black;font-size:1.1rem}.button:hover,.subtle:hover{background:var(--cyan)}.button:active{transform:translate(3px,3px);box-shadow:3px 3px black}.opening-bottom{background:black;color:white;display:flex;justify-content:space-between;gap:20px;padding:13px 20px;max-width:1260px;margin:auto;font-weight:bold;font-size:1rem}.letter-layout{display:grid;grid-template-columns:235px minmax(0,800px);gap:45px;max-width:1240px;margin:0 auto;padding:65px 30px 80px;align-items:start}aside{background:var(--orange);border:3px solid black;box-shadow:8px 8px black;padding:25px 22px;transform:rotate(-2deg)}aside>.eyebrow{background:white;border:2px solid black;padding:8px;text-align:center}.aside-title{font-size:3.4rem;line-height:1;margin:25px 0}.note{font-size:1.05rem;line-height:1.45}aside>a{font-size:1rem;font-weight:bold}article{min-width:0;background:white;border:4px solid black;box-shadow:12px 12px black;padding:40px 45px}article>.eyebrow{background:var(--cyan);display:inline-block;padding:9px 17px;border:2px solid black;box-shadow:4px 4px black;margin:0 0 12px}h2{font-size:clamp(2.5rem,4vw,4.2rem);line-height:1.04;letter-spacing:-.025em;margin:22px 0 35px}article>p{font-size:1.2rem;line-height:1.75;margin:0 0 24px}blockquote{background:var(--lime);border:3px solid black;box-shadow:7px 7px black;padding:24px;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.1;margin:38px 0}.signature{margin-top:35px!important}.signature strong{font-size:1.1rem}.reflection{background:#dfffff;border:3px solid black;box-shadow:6px 6px black;padding:25px;margin-top:45px}.reflection>.eyebrow{margin:0}h3{font-size:2.4rem;line-height:1.1;margin:20px 0}.reflection ul{padding-left:22px;font-size:1.1rem}.reflection li{margin:12px 0}.question{border-top:2px solid black;margin-top:25px;padding-top:20px}.question p{font-size:1.3rem;margin:12px 0 0}.share-row{border-top:3px solid black;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:40px;padding-top:24px}.share-row p{font-size:1rem;font-weight:bold}.share-row .button{font-size:1rem;gap:15px}.about{background:var(--orange);border-top:4px solid black;border-bottom:4px solid black;padding:50px 6%;display:grid;grid-template-columns:1fr 1fr;gap:50px}.about>div:first-child>.eyebrow{display:inline-block;background:white;border:2px solid black;padding:7px 15px;margin:0}.about h2{font-size:clamp(2.6rem,4vw,4rem);margin-bottom:0}.about>div:last-child{background:white;border:3px solid black;box-shadow:8px 8px black;padding:25px}.about p{margin:0 0 18px}.about p:last-child{margin-bottom:0}footer{background:black;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 5%}footer .brand{color:var(--lime)}footer p,footer>a:last-child{font-size:1rem}#share-status{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--lime);color:black;border:3px solid black;padding:12px 20px;box-shadow:5px 5px black;max-width:90%;font-size:1rem;text-align:center;z-index:10}#share-status:empty{display:none}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}@media(max-width:760px){header{padding:17px 5%}.brand{font-size:1.05rem}nav{gap:17px;font-size:.95rem}nav .share{display:none}.opening{padding:25px 5% 0}.opening>.eyebrow{font-size:.875rem;align-items:center}.opening>.eyebrow span{max-width:130px;text-align:center}h1{font-size:clamp(3.3rem,12vw,5.7rem);margin-top:25px;line-height:1.03}.intro{display:block}.intro p{font-size:1.25rem}.intro .button{width:100%;margin:8px 0 10px}.opening-bottom{font-size:.9rem;padding:12px}.opening-bottom span:last-child{display:none}.letter-layout{display:block;padding:32px 16px 45px}aside{transform:none;margin:0 7px 28px 0;padding:15px;display:grid;grid-template-columns:110px 1fr;gap:15px;align-items:center;box-shadow:6px 6px black}.aside-title,aside>a{display:none}.note{margin:0;font-size:1rem}article{padding:25px 20px;margin-right:7px;box-shadow:7px 7px black}h2{font-size:2.7rem}article>p{font-size:1.125rem;line-height:1.7}blockquote{padding:20px 16px;font-size:2.2rem;box-shadow:5px 5px black}.reflection{padding:19px 16px;box-shadow:4px 4px black}h3{font-size:2rem}.share-row{display:block}.share-row .button{width:100%}.about{display:block;padding:35px 22px}.about h2{margin-bottom:28px}.about>div:last-child{padding:20px}footer{flex-wrap:wrap;padding:25px 5%}footer p{margin:0}footer>a:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:white}header,footer,aside,.share-row,.intro .button{display:none}.letter-layout{display:block;padding:0}article{box-shadow:none;border:0}.opening,.about{background:white;color:black}article>p{font-size:12pt}}

.next-letter{margin-top:38px;padding:25px;background:var(--pink);border:3px solid black;box-shadow:6px 6px black}.next-letter h3{margin:12px 0 22px}.letter-two{background:var(--pink)}.letter-two aside{background:var(--lime)}.letter-title{font-size:clamp(2.6rem,5.7vw,4.8rem);line-height:1.03;margin:25px 0 20px;overflow-wrap:break-word}.pseudonym{font-size:1rem!important}.letter-two article>p:last-of-type{background:var(--lime);border:3px solid black;padding:20px;font-weight:bold}.letter-two .letter-layout{padding-top:45px}

/* Letter 002 addendum */
.addendum { margin-top: 4rem; padding-top: 2.25rem; border-top: 3px solid currentColor; }
.addendum h2 { margin: .35rem 0 2rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 5vw, 3.4rem); line-height: .98; }
.addendum .eyebrow { margin-bottom: 0; }

/* Anonymous reactions + sharing */
.interaction-row{align-items:flex-end}.interaction-copy{display:flex;flex-direction:column;gap:5px}.interaction-copy p{margin:0;font-size:1rem;font-weight:bold}.interaction-copy>a{font-size:1rem;font-weight:bold}.interaction-copy span{font-size:.82rem;line-height:1.25;font-weight:bold;opacity:.66}.interaction-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.heart-button,.copy-link{min-height:48px;border:3px solid black;background:white;color:black;font-weight:900;padding:9px 14px;box-shadow:4px 4px black}.heart-button{display:inline-flex;align-items:center;gap:8px}.heart-icon{font-family:Arial,sans-serif;font-size:1.6rem;line-height:1;color:var(--pink)}.heart-button:hover,.copy-link:hover{background:var(--cyan)}.heart-button.hearted{background:var(--pink)}.heart-button.hearted .heart-icon{color:black;transform:scale(1.08)}.heart-button:active,.copy-link:active{transform:translate(2px,2px);box-shadow:2px 2px black}.copy-link{font-size:.9rem}.interaction-actions .button{min-height:48px;padding:9px 16px;box-shadow:4px 4px black}
@media(max-width:760px){.interaction-row{display:block}.interaction-copy{margin-bottom:16px}.interaction-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.interaction-actions .heart-button{grid-column:1 / -1;justify-content:center}.interaction-actions .button,.interaction-actions .copy-link{width:100%;justify-content:center}.interaction-actions .button{margin:0}.interaction-copy>a{display:inline-block}}
@media print{.interaction-row{display:none}}
.like-button{min-height:48px;border:3px solid black;background:white;color:black;font-weight:900;padding:9px 14px;box-shadow:4px 4px black;display:inline-flex;align-items:center;gap:10px}.like-button:hover{background:var(--cyan)}.like-button.liked{background:var(--pink)}.like-button:active{transform:translate(2px,2px);box-shadow:2px 2px black}.like-button:disabled{cursor:wait;opacity:.7}.like-count{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .45rem;background:black;color:white;border:2px solid black;font-size:.85rem;line-height:1}.like-button.liked .like-count{background:white;color:black}.heart-button{display:none!important}
@media(max-width:760px){.interaction-actions .like-button{grid-column:1 / -1;justify-content:center;width:100%}}

.next-letter{margin-top:38px;background:var(--lime);border:3px solid black;box-shadow:7px 7px black;padding:24px}.next-letter .eyebrow{margin:0 0 8px}.next-letter h3{margin:8px 0 10px}.next-letter-preview{margin:0;font-size:1.05rem;line-height:1.5}

/* Letter 003 — emotional abuse / taking the voice back */
.letter-three{background:var(--pink)}
.letter-three aside{background:var(--cyan)}
.letter-three .letter-layout{padding-top:45px}
.letter-three article>p strong{font-weight:900}
.hard-words{margin:3.5rem 0;padding:28px;background:var(--lime);border:3px solid black;box-shadow:7px 7px black}
.hard-words p{font-size:1.15rem;line-height:1.65}
.hard-words p:nth-child(2),.hard-words p:nth-child(3),.hard-words p:nth-child(4),.hard-words p:nth-child(5){font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1.05;margin:.45rem 0}
.pattern-path{margin:4.5rem -8% 4.5rem;padding:38px 8%;background:black;color:white;border:3px solid black;box-shadow:9px 9px var(--lime);text-align:center}
.pattern-path p{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,3.8vw,2.7rem);font-weight:900;line-height:1.08}
.pattern-path span{display:block;margin:13px 0;color:var(--pink);font-size:1.8rem;font-weight:900}
.pattern-path p:last-child{color:var(--lime);font-size:clamp(1.9rem,4.7vw,3.5rem)}
.mine-ending{margin-top:4rem;padding-top:2.5rem;border-top:3px solid black}
.mine-ending p{font-size:1.15rem;line-height:1.7}
.mine-ending .mine-does{margin:2.5rem 0 1rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,9vw,7rem);font-weight:900;line-height:.9;color:black}
.mine-button{background:var(--lime);text-transform:uppercase;letter-spacing:.035em}
.mine-button:hover,.mine-button.liked{background:var(--cyan)}
@media(max-width:760px){.pattern-path{margin:3.5rem -20px;padding:30px 20px;box-shadow:6px 6px var(--lime)}.hard-words{padding:22px 18px}.mine-ending .mine-does{font-size:3.8rem}}
