
:root{color-scheme:dark}*{box-sizing:border-box}html{background:#0b0715;color:#fff0f9;font-family:Georgia,serif}body{margin:0;background:radial-gradient(ellipse at top,#3f164b77,transparent 55%),#0b0715}
main{max-width:850px;margin:auto;padding:35px 22px 70px}
a{color:#f3d1fd}header{text-align:center}h1{font-size:clamp(32px,6vw,54px);margin:22px 0 8px}h2{font-size:clamp(30px,5vw,48px);line-height:1.2;color:#ffe2f2;text-align:center;margin:36px 0 13px}
.hero{display:block;max-width:100%;height:auto;margin:30px auto;border:1px solid #d1a1e1;border-radius:14px}
.dates,.subtitle,.byline{text-align:center;color:#edd2ef;line-height:1.7}.dates{letter-spacing:1px}
article{max-width:750px;margin:35px auto}article p{font-family:Georgia,serif;font-size:clamp(16px,2vw,19px);line-height:1.95;margin:0 0 24px;color:#f1ddec;overflow-wrap:break-word}
footer{text-align:center;margin-top:45px}

.signature{display:block;width:100%;height:auto;margin:24px auto}.accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.memorial-music,.lex-tribute-wall,.lex-user-media{margin:40px 0;padding:24px;border:1px solid #82598f;border-radius:14px;background:#22112e}
.memorial-music h2{font-size:28px;margin:0 0 12px}audio{width:100%}button,input,textarea{font:inherit}button,.button{padding:12px 18px;border:1px solid #ba89d5;border-radius:8px;color:#fcf3ff;background:#49265a;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:default}
label{display:block;margin:16px 0 8px}input:not([type=checkbox]),textarea{width:100%;padding:12px;background:#170b28;color:#fff;border:1px solid #ba8dc5;border-radius:7px}textarea{resize:vertical}p{line-height:1.7}.lex-tribute-honeypot{position:absolute!important;left:-10000px!important;width:1px!important}.lex-tribute-feed{max-height:600px;overflow:auto}.lex-tribute-card{padding:18px;background:#170b28;border:1px solid #82598f;border-radius:8px}.lex-tribute-card p{white-space:pre-wrap}.lex-user-media-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.lex-user-media-card{margin:0}.lex-user-media-card img,.lex-user-media-card video{max-width:100%;height:auto}.lex-media-consent{line-height:1.7}.lex-tribute-status{overflow-wrap:anywhere}nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:20px 0}
.lex-slideshow{max-width:720px;margin:18px auto 42px;text-align:center}.lex-slideshow[hidden]{display:none}.lex-slideshow h2{font-size:clamp(23px,4vw,32px);margin:12px 0}.lex-slide-stage{aspect-ratio:4/3;background:#170b28;border:1px solid #82598f;border-radius:14px;overflow:hidden}.lex-slide-stage img{display:block;width:100%;height:100%;object-fit:contain}.lex-slide-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:12px 0}.lex-slide-caption{min-height:2.5em;color:#edd2ef;overflow-wrap:anywhere}.lex-slide-stage:focus-visible,.lex-slide-controls button:focus-visible{outline:3px solid #f3d1fd;outline-offset:4px}
.memorial-playlist{padding-left:1.5em;margin:18px 0}.memorial-playlist li{padding-left:6px;margin:10px 0}.memorial-playlist button{width:100%;text-align:left}.memorial-playlist button[aria-current="true"]{background:#683578;border-color:#f3d1fd}.memorial-playlist button:focus-visible{outline:3px solid #f3d1fd;outline-offset:3px}
.memorial-player-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.memorial-player-controls button[aria-pressed="true"]{background:#683578;border-color:#f3d1fd}.track-plays{font-size:.85em;opacity:.85;float:right;margin-left:12px}.memorial-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;text-align:center}.memorial-counters p{margin:0;padding:12px 4px;background:#170b28;border-radius:8px}.memorial-counters strong,.memorial-counters span{display:block}.memorial-counters strong{font-size:clamp(22px,5vw,32px);color:#ffe2f2}.memorial-counters span,.counter-note{font-size:14px;color:#edd2ef}.counter-note{margin-bottom:0}
.lex-visit-message{text-align:center;margin:22px 0;padding:22px 0;border-top:1px solid #82598f;border-bottom:1px solid #82598f}.lex-visit-message h3{font-size:clamp(20px,4.5vw,29px);line-height:1.35;margin:0 0 20px;color:#ffe2f2}.lex-visit-message p{margin:18px 0;line-height:1.7}.lex-visit-message .lex-visit-number{margin:24px 0}.lex-visit-number strong{display:block;font-size:clamp(80px,18vw,148px);font-weight:900;line-height:1.05;color:#ffe2f2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

.memorial-artwork{margin:30px 0;text-align:center}.memorial-artwork button{display:block;width:100%;padding:0;background:none;border:1px solid #d1a1e1;border-radius:14px;overflow:hidden}.memorial-artwork svg{display:block;width:100%;height:auto;background:#393738;filter:grayscale(1) contrast(1.18) brightness(1.04)}.memorial-artwork figcaption{font-size:14px;line-height:1.7;color:#edd2ef;margin:12px 0}.memorial-poem{max-width:750px;margin:35px auto}.memorial-poem p{font-size:clamp(17px,2.1vw,20px);line-height:1.95;margin:0 0 28px;color:#f1ddec;overflow-wrap:break-word}.memorial-dedication{text-align:center;font-style:italic;color:#ffe2f2!important}.mocha-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.mocha-photo-gallery figure{margin:0}.mocha-photo-gallery img{width:100%;height:300px;object-fit:contain;background:#170b28;border:1px solid #82598f;border-radius:12px}.memorial-art-dialog{width:min(1200px,96vw);max-width:96vw;height:92vh;max-height:92vh;padding:16px;background:#170b28;color:#fff0f9;border:1px solid #d1a1e1;border-radius:14px}.memorial-art-dialog::backdrop{background:#080411e8}.memorial-art-dialog .art-stage{margin-top:18px;overflow:auto}.memorial-art-dialog svg{display:block;width:100%;min-width:700px;height:auto;filter:grayscale(1) contrast(1.18) brightness(1.04)}.memorial-art-dialog button{position:sticky;top:0;z-index:1}.mocha-intro{max-width:680px;margin:18px auto;text-align:center}.memorial-collection{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:32px 0}.memorial-artwork button:focus-visible{outline:3px solid #f3d1fd;outline-offset:5px}@media(max-width:420px){.memorial-poem p{font-size:17px;line-height:1.85}.mocha-photo-gallery{grid-template-columns:1fr}}
