/* Black and rose birthday palette. Theme only: glyphs and ritual stay stable. */
:root{color-scheme:dark;--paper:#151116;--ink:#f8edf3;--muted:#baa6b2;--line:#3b2a36;--sage:#e5a0be;--rose:#f1a4c5;--surface:#211a22;--pink:#f1a4c5;--pink-ink:#27141f}
body{background:var(--paper);color:var(--ink)}body:before{opacity:.025}::selection{background:#c45a8d;color:#fff5fa}
a,button,input{outline-color:var(--pink)}.brand svg,.brand-dot{color:var(--pink)}
.site-header{border-color:#49303e70}.site-header nav{color:#cfb6c3}.music-toggle{color:#f7dce9;border-color:#6e485d;background:#21171e80}
.opening-story{background:#120f13}.opening-top-note{color:#c3a0b4}.opening-top-note i{color:#f2abc9}
.opening-scene:before{border-color:#d487af30}.opening-scene:after{border-color:#d487af24}
.ritual-panel>p{color:#e6c5d7}.ritual-panel>span{color:#bda5b3}
.button-dark{background:var(--pink);color:var(--pink-ink)}.button-dark:hover{background:#ffc5df;box-shadow:none}.button:hover{box-shadow:none}
#motion-toggle{background:#21171f;border-color:#785167;color:#edbdd4}#ritual-replay{color:#d9acc4}.opening-controls>a{background:#241923;color:#e4bbd1}
.birthday-ribbon{background:#211820;color:#d6a8c0;border-color:var(--line)}.birthday-ribbon b{color:#f2a8ca}
.section-kicker{color:#dba1be}.section-heading>p,.game-intro>p,.keepsake-section>p{color:var(--muted)}
.gifts-section{background:#1c151d;border-color:var(--line)}.gift-card{background:#271c27;border-color:#543347;box-shadow:0 3px 0 #0c090d66}.gift-card:hover{box-shadow:none;border-color:#a76a8d}
.gift-number{color:#bc94aa}.gift-card p{color:#c3acb9}.gift-link{border-color:#735067;color:#e8b8d0}.gift-footnote{color:#d4a2bb}
.gift-card:nth-child(1){--gift:#d989b1}.gift-card:nth-child(2){--gift:#985779}.gift-card:nth-child(3){--gift:#d9b2c8}
.game-instructions{color:#d0b9c6}.game-instructions>span{color:#e5a0be}.small-note{color:#b99aa9!important}
.game-board{background:#211820;border-color:#68425a}.game-top{color:#dab1c9}.game-cloud{background:#664058;opacity:.55}.game-stars{color:#dc9cbd}
.game-overlay{background:#211820ed}.game-overlay-icon{color:#f0a6c7}.game-overlay p{color:#c9a9bb}.game-pause{color:#f6c0d9}.falling-item{color:#f2b2d0}
.basket{background:repeating-linear-gradient(0deg,transparent 0 7px,#f3b4d033 7px 9px),repeating-linear-gradient(90deg,#784261 0 9px,#5e304c 9px 11px);border-color:#bf7ba1}.basket:before{border-color:#bf7ba1}.basket span{background:#f1bad3;color:#5b2543}
.letter-section{background:#211820;border-color:var(--line)}.envelope{background:#673e59;border-color:#a56b8d;box-shadow:none}.envelope-front{background:linear-gradient(32deg,#875874 50%,transparent 50%) left/51% 100% no-repeat,linear-gradient(-32deg,#9a6583 50%,transparent 50%) right/51% 100% no-repeat}
.letter-peek{background:#31232e;border-color:#a46a8b;color:#f4d7e6}.letter-peek span{color:#d4a1bc}.wax-seal{background:#c56998;border-color:#e79fc3;color:#351425;box-shadow:2px 3px 2px #110b1266}.letter-spark{color:#d98fb5}.letter-note{color:#d5a0bb}.letter-copy>p{color:#c9acbb}
.text-button{color:#edb5d0;border-color:#925b78}.sticker-collection>span{background:#231b25;color:#af97a6;border-color:#6f4e64}.sticker-collection>span.collected{background:#653149;color:#ffd3e7;border-color:#bf7b9f;box-shadow:2px 3px 0 #402232}.sticker-collection>span.collected:nth-child(even){background:#533045;color:#f6c4dc}
footer{border-color:var(--line)}footer p{color:#bea4b3}footer>span{color:#a58798}
.modal{background:#241a24;border-color:#81516d;color:var(--ink);box-shadow:0 20px 80px #0008}.modal::backdrop{background:#09070bd9}.modal-close{color:#e5bad0}.modal-eyebrow{color:#dca0bd}.modal-icon{color:#f0a4c6}.modal-prose p{color:#e0c5d3}.modal label{color:#e2c0d2}.modal input{background:#171217;border-color:#87546f;color:#fff0f7}.modal input::placeholder{color:#aa899c}.form-message{color:#f4a3bf}
.letter-modal{background:repeating-linear-gradient(transparent 0 35px,#ba7d9e15 35px 36px),#241a24}.letter-signature{color:#ecc1d6}
#toast{background:#f0b2cf;color:#301725;border-color:#f9d2e5}
@media(max-width:720px){.music-toggle{background:#21171e}.gift-card{border-color:#633b51}}

.falling-item svg{width:100%;height:100%;overflow:visible;pointer-events:none}
