:root{color-scheme:dark;--gold:#d7ba7e;--ink:#eee9dc}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#141d19;color:var(--ink);font:16px/1.7 system-ui,sans-serif}header,main{width:min(1000px,90%);margin:auto}header{display:flex;justify-content:space-between;gap:20px;padding:28px 0;border-bottom:1px solid #a8b99c33;font-size:12px;letter-spacing:.15em}a{color:var(--gold);text-underline-offset:5px}.intro{padding:65px 0 45px}.kicker{font-size:11px;letter-spacing:.22em;color:var(--gold);font-weight:700}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(44px,7vw,74px);margin:15px 0 25px}h2{font-size:clamp(29px,4vw,42px);margin:12px 0 22px}.intro>p:last-child{color:#bdc7b8}.dedication{border-block:1px solid #b8c6aa3b;padding:38px 25px;display:flex;gap:40px;align-items:center;background:radial-gradient(at left,#9d80571c,transparent)}.angel{font:100px Georgia;color:var(--gold)}.memory{font:italic 21px/1.6 Georgia;color:#e2d2af}.caption,small{font-size:12px;color:#acb6a6}.music{padding:60px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:25px}.sectionhead>p{color:#acb6a6}.modes,.tools{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}button,.filebutton{font:600 14px system-ui;background:#25372c;border:1px solid #697c5e;color:var(--ink);border-radius:8px;padding:14px 20px;cursor:pointer;display:inline-flex;align-items:center;min-height:48px}.modes button[aria-pressed=true]{background:var(--gold);color:#20261d;border-color:var(--gold)}input[type=file]{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}button:focus-visible,a:focus-visible,.filebutton:focus-within{outline:3px solid var(--gold);outline-offset:4px}.deck{max-width:680px;margin:25px auto 0;border:12px solid #60432d;border-radius:14px;background:repeating-linear-gradient(90deg,#b1b4ac,#dee0d5 1px,#b4b6ac 3px);padding:20px;box-shadow:0 15px 50px #0005}.plate{height:285px;position:relative;background:#313b34;border:2px solid #6c7365;padding:20px;overflow:hidden}.disc{width:240px;height:240px;border-radius:50%;background:repeating-radial-gradient(#171a18 0 2px,#30352e 3px 4px);display:grid;place-items:center;margin:auto}.disc span{display:grid;place-content:center;text-align:center;width:83px;height:83px;background:#b56b43;border-radius:50%;font-size:12px;color:#fff3dc;line-height:1.4;border:5px solid #e3c795}.arm{position:absolute;right:50px;top:30px;width:13px;height:170px;background:linear-gradient(90deg,#9ca598,#eef0e5,#9ca598);transform:rotate(28deg);transform-origin:top;border-radius:10px;box-shadow:2px 3px 8px #0007}.arm:after{content:'';position:absolute;bottom:0;left:-5px;width:22px;height:32px;background:#20251f}.decklabel{display:flex;align-items:center;justify-content:space-between;color:#27342b;font-size:11px;letter-spacing:.16em;padding-top:15px;gap:10px}.decklabel>span{font-weight:900}#light{width:9px;height:9px;border-radius:50%;background:#55614a}.playing #light{background:#b5ff90;box-shadow:0 0 8px #54ff3b}.rotate{animation:turn 4s linear infinite;animation-play-state:paused}.playing .rotate{animation-play-state:running}@keyframes turn{to{transform:rotate(360deg)}}.tape{width:min(360px,100%);margin:15px auto;background:#c1b28e;color:#34392e;border-radius:13px;padding:15px 25px;text-align:center;border:12px solid #1e2720}.tape b{font-size:12px;letter-spacing:.15em}.spools{display:flex;justify-content:space-between;gap:20px;margin:18px 0}.spools span{width:60px;height:60px;border:12px solid #292d26;background:repeating-conic-gradient(#aeb3a0 0 20deg,#343a30 20deg 60deg);border-radius:50%;position:relative}.spools span:after{content:'';position:absolute;inset:11px;background:#b8c2ab;border-radius:50%}.big{margin:10px 5px 35px}.big span{width:clamp(75px,20vw,175px);height:clamp(75px,20vw,175px);border:5px solid #b8c2ab;background:repeating-conic-gradient(#8e9b85 0 40deg,#252c24 40deg 75deg)}.big span:after{inset:35%;background:#a9b29f}.reel{text-align:center}.reel small{letter-spacing:.2em}.controls{max-width:680px;margin:auto;background:#1e2a22;padding:24px;border-radius:0 0 12px 12px}audio{width:100%}#status{font-size:13px;color:var(--gold)}.photos{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:35px 0 70px}.empty{height:220px;display:grid;align-content:center;text-align:center;border:1px dashed #6a7c5d;border-radius:50% 50% 12px 12px;color:#d3c39f;font:22px/1.5 Georgia}#gallery img{width:100%;height:220px;object-fit:contain;background:#243027;border-radius:10px}#gallery{display:grid;gap:15px}footer{border-top:1px solid #b8c6aa3b;padding:25px 0;color:#acb6a6;font-size:13px}@media(max-width:600px){header{font-size:10px}.intro{padding-top:40px}.dedication{padding:25px 0;gap:15px}.angel{font-size:50px}.memory{font-size:18px}.sectionhead{display:block}.deck{padding:10px;border-width:8px}.plate{height:245px;padding:10px}.disc{width:215px;height:215px}.arm{right:20px}.photos{grid-template-columns:1fr}.big{margin-top:35px}.decklabel{font-size:9px}.tools>*{flex:1}}@media(prefers-reduced-motion:reduce){.rotate{animation:none}}

.youtube-dedication{padding:35px 0;border-bottom:1px solid #b8c6aa3b}.youtube-dedication .tools{align-items:center}.youtube-dedication iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px}.angel{display:inline-block;width:100px;height:130px;flex-shrink:0;font-size:0;position:relative;background:radial-gradient(ellipse at 50% 85%,#d7ba7e 0 26%,transparent 27%),radial-gradient(ellipse at 22% 52%,#d7ba7e88 0 24%,transparent 25%),radial-gradient(ellipse at 78% 52%,#d7ba7e88 0 24%,transparent 25%),radial-gradient(circle at 50% 31%,#d7ba7e 0 13%,transparent 14%)}.angel:before{content:"";position:absolute;left:35px;top:7px;width:30px;height:10px;border:2px solid #d7ba7e;border-radius:50%}@media(max-width:600px){.angel{width:65px;background-size:100%;}.angel:before{left:20px;width:25px}}
