/* One permanent, evening-friendly palette. No theme switch. */
:root{color-scheme:dark;--bg:#121d18;--bg2:#1b2a22;--text:#d4dbcf;--muted:#afbcaa;--accent:#a8c398;--gold:#b5c89b;--glass:#25362b;--glass2:#304333;--line:#405148;--nm-paper:#121d18;--nm-ink:#d4dbcf;--nm-green:#355540;--nm-muted:#afbcaa;--nm-border:#35483b}
html{background:#121d18;scrollbar-color:#566b56 #17251e}
html body{background:#121d18!important;color:#d4dbcf!important}
html body .nm-sidebar{background:#17251e!important}
html body .home-screen{background:#121d18!important}
html body .nm-brand{color:#cfdbc3!important}
html body .nm-hero h1 em{color:#aac399!important}
html body .nm-hero-art img{filter:brightness(.52) saturate(.7)}
#lock:before{filter:brightness(.48) saturate(.7)!important}
html body .nm-corner-sky{background:#162720!important}
html body .nm-daily,html body .nm-quiet-note{background:#253329!important}
html body .nm-mood,html body .nm-corner{background:#1c2b23!important}
html body .nm-sidebar nav a.is-current{background:#314936!important;color:#dbe5d3!important}
html body .nm-sidebar nav a:hover{background:#2b3f30!important}
html body .nm-button,html body .composer-send,html body .primary-btn,html body .letter-close,html body .memory-btn,html body .question-btn,html body .world-btn,html body .pet-btn,html body .pet-name-row button{background:#36563d!important;color:#e0e8d8!important;border-color:#60805b!important}
html body .nm-moods .nm-icon{border-color:#5b7057!important}
html body .nm-moods button[aria-pressed=true] .nm-icon{background:#43623f!important;color:#e2e9d9!important}
html body .nm-envelope,html body .nm-ticket{background:#3b4531!important;color:#d6c6a0!important}
html body .nm-ticket b{color:#d6c6a0!important}
html body .nm-panda-face{background:#9ca98c!important}
html body .nm-panda-face i:after{background:#d0d7bf!important}
html body .nm-panda-face:before,html body .nm-panda-face:after,html body .nm-panda-face i{background:#101b15!important}
html body .nm-subpage,html body .page-loader{background:#121d18!important}
/* Both composing and reading must keep the same strong contrast. */
html body textarea,html body input,html body select,
html body.nm-subpage textarea,html body.nm-subpage input,html body.nm-subpage select,
html body #content textarea,html body #content input,html body #password{
 background:#101c15!important;color:#e0e6d9!important;-webkit-text-fill-color:#e0e6d9!important;
 caret-color:#d3dda9!important;border:1px solid #61715c!important;opacity:1!important;
}
html body textarea::placeholder,html body input::placeholder,html body.nm-subpage textarea::placeholder,html body.nm-subpage input::placeholder{color:#a5b39d!important;-webkit-text-fill-color:#a5b39d!important;opacity:1!important}
html body input:-webkit-autofill,html body textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #101c15 inset!important;-webkit-text-fill-color:#e0e6d9!important}
html body .messages-shell{background:#15231b!important;border-color:#405148!important}
html body .message-composer{background:#1e2e23!important;border-color:#405148!important}
html body .msg.from-him .msg-bubble{background:#304a36!important;border-color:#5b7553!important;color:#e1e7d9!important}
html body .msg.from-her .msg-bubble{background:#463a35!important;border-color:#786359!important;color:#e4d9cf!important}
html body .msg-bubble p,html body .msg-bubble span{color:inherit!important;opacity:1!important}
html body .msg-meta,html body .msg-time,html body .composer-status,html body .messages-hint{color:#b5c2ab!important;opacity:1!important}
html body .who-btn,html body .who-row button,html body .who-pick button{background:#25382a!important;color:#d5dfcc!important}
html body .who-btn.active,html body .who-row .is-on,html body .who-pick .is-on{background:#405c3c!important;color:#e5ebdd!important}
/* Original story, envelopes, dated letters, and their dynamically inserted content. */
html body .listy-article,html body .note,html body .card,html body .box,html body .daily-card,
html body .envelope,html body .memory-card,html body .future-card,html body .update-card,
html body .feel-card,html body .wait-card,html body .wait-new,html body .new-note,
html body .game-block,html body .q-draw,html body .q-card,html body .mood-reply,
html body .pet-card,html body .composer,html body .reply,
html body .letter-paper,html body .return-card,html body .modal-content,
html body .date-unlock-card,html body .hearts-reward-card,html body .finds-reward-card{
 background:#1f2d24!important;border-color:#43553e!important;box-shadow:none!important;
}
html body .listy-article :is(h1,h2,h3,p,li,small,blockquote,em,strong,b),
html body #content :is(h1,h2,h3,p,li,small,blockquote,em,strong,b),
html body .letter-paper :is(h1,h2,h3,p,li,small,blockquote,em,strong,b),
html body #letterBody,html body #letterBody p,html body #letterTitle,
html body #modalContent :is(h1,h2,h3,p,li,small,blockquote,em,strong,b){
 color:#d0d9c8!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;
}
html body .listy-article .chapter-kicker,html body #content .chapter-kicker{color:#b1c49d!important;opacity:1!important}
html body .listy-article .envelope,html body #content .envelope{color:#d3dfc7!important}
html body .listy-article .envelope small,html body #content .envelope small{color:#b9c6ae!important;opacity:1!important}
html body .new-note-badge,html body .home-badge{background:#435a37!important;color:#e1e8d3!important}
html body .listy-nav a,html body .tab,html body .filter,html body .genre,html body .ghost,html body .safe-key{background:#263b2b!important;color:#d3dfc9!important;border-color:#536e49!important}
html body .tab.is-on,html body .filter.is-on,html body .genre.is-on{background:#405e39!important;color:#e1ead8!important}
html body .pet-stat-top,html body .pet-status,html body .pet-reaction,html body .pet-name-gate p{color:#c5d2b9!important}
html body .pet-reaction,html body .pet-bar{background:#263a28!important}
html body .pet-bar>span{background:#7c9a64!important}
html body .pet-svg{filter:brightness(.72)!important}
html body .nm-hero-sign,html body .nm-footer,html body .nm-footer button,
html body .nm-topbar,html body .nm-private,html body .nm-note-sign,html body .nm-note-sign>span,
html body .nm-corner p,html body #nmMoodReply,html body .nm-sidebar-note p,
html body .nm-sidebar-bottom{color:#adbba1!important}
html body .sound-toggle,html body .quiet-toggle,html body .home-reopen,html body .back-top,
html body.home-open .sound-toggle,html body.home-open .quiet-toggle{background:#273b29!important;color:#ccd9be!important;border:1px solid #566e4b!important}
html body #lock .lock-title{color:#d0ddc3!important;-webkit-text-fill-color:#d0ddc3!important}
html body #lock .lock-text,html body #lock .lock-hint-main,html body #lock .lock-hint{color:#b5c3a8!important;opacity:1!important}
html body #lock button.lock-btn{background:#36563d!important;color:#e0e8d8!important}
html body :is(a,button,input,textarea,select):focus-visible{outline-color:#b5be88!important}
::selection{background:#516d43;color:#eef1e6}
html body .wait-new-label{background:#354b2f!important;color:#d8e3c8!important;opacity:1!important}
html body .nm-panda-face b{color:#142118!important}
html body .easter{color:#afc09d!important;opacity:1!important}
html body .nm-sidebar nav i,html body .nm-hero-copy>.nm-eyebrow>span{background:#9ab582!important}
html body.nm-subpage .composer-who .who-btn.active{background:#405c3c!important;color:#e5ebdd!important;border-color:#8b9e73!important}
html body .hidden-heart:not(:disabled),html body .findable:not(.found){color:#8c9f7c!important;text-shadow:none!important}
html body .footer-dot{color:#b6c5aa!important;opacity:1!important}
html body .nm-weekend{
  display:block;margin:0 0 18px;padding:26px 28px 22px;
  background:#2a3b2e;border:1px solid #6d8a62;border-radius:12px;color:#e4ecd9;
}
html body .nm-weekend[hidden]{display:none!important}
html body .nm-weekend-kicker{
  margin:0 0 8px;font-size:8px;letter-spacing:1.8px;text-transform:uppercase;color:#d5e3c4;
}
html body .nm-weekend h3{
  margin:0 0 12px;font-family:'Lora',Georgia,serif;font-weight:400;font-size:30px;
  letter-spacing:-.03em;color:#f2f6ea;
}
html body .nm-weekend p{margin:0 0 10px;max-width:560px;font-size:15px;line-height:1.7;color:#d7e2cc}
html body .nm-weekend-sign{
  margin:14px 0 0!important;font-family:'Lora',Georgia,serif;font-style:italic;font-size:16px!important;color:#f2f6ea!important;
}
@media(max-width:620px){
  html body .nm-weekend{padding:20px 16px 16px}
  html body .nm-weekend h3{font-size:24px}
  html body .nm-weekend p{font-size:14px}
}

html body .nm-song-card{
  display:flex!important;align-items:center;justify-content:space-between;gap:24px;
  position:relative;margin:6px 0 22px;padding:26px 30px 24px;
  background:#253329!important;border:1px solid #5b7057!important;border-radius:12px;
  text-decoration:none!important;color:#ced7ca!important;
}
html body .nm-song-badge{
  position:absolute;top:16px;right:18px;
  font-size:8px;letter-spacing:1.8px;text-transform:uppercase;font-weight:550;
  background:#354b2f!important;color:#d8e3c8!important;padding:5px 9px;border-radius:4px;
}
html body .nm-song-card .nm-eyebrow{margin:0;font-size:8px!important;letter-spacing:1.7px}
html body .nm-song-card h3{
  margin:10px 0 8px!important;font-family:'Lora',Georgia,serif!important;font-weight:400!important;
  font-size:32px!important;letter-spacing:-.04em;line-height:1.15;color:#e2e9d9!important;
  text-decoration:none!important;
}
html body .nm-song-card p{
  margin:0 0 18px!important;max-width:440px;font-size:14px!important;line-height:1.7;color:#ced7ca!important;
  text-decoration:none!important;
}
html body .nm-song-card .nm-button{
  margin-top:0!important;display:inline-flex!important;align-items:center;gap:10px;
  background:#36563d!important;color:#e0e8d8!important;border:1px solid #566e4b!important;
  font-size:12px!important;padding:12px 18px!important;border-radius:5px;text-decoration:none!important;
}
html body .nm-song-card .nm-button:hover{background:#405c3c!important;transform:translateY(-2px)}
html body .nm-song-disc{
  width:92px;height:92px;flex-shrink:0;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#ccd9be 0 9px,#1a241c 10px 14px,#304a3d 15px 34px,#1a241c 35px 40px,#bca775 41px 43px,#273b29 44px 100%);
  box-shadow:0 10px 28px #0006;border:1px solid #566e4b;
}
@media(max-width:620px){
  html body .nm-song-card{flex-direction:column;align-items:flex-start;padding:22px 18px 20px;gap:14px}
  html body .nm-song-card h3{font-size:24px!important}
  html body .nm-song-disc{width:64px;height:64px;align-self:flex-end;position:absolute;top:18px;right:16px}
  html body .nm-song-badge{top:14px;right:88px}
}

.song-now{margin:0 auto 28px;max-width:520px;text-align:center}
.song-now-kicker{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin:0 0 8px;color:#ced7ca}
.song-now h3{margin:0 0 8px;font-size:26px}
.song-now p{margin:0 0 16px;font-size:14px}
.song-embed{position:relative;width:100%;padding-bottom:56.25%;margin:0 0 16px;background:#0c1210;border:1px solid #405148;border-radius:12px;overflow:hidden}
.song-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Strona hasła składa się w całość. Intro z sercem jest wyłączone. */
html body .lock-window{display:none!important}
@keyframes nmAssemble{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
@keyframes nmHouseIn{
  from{opacity:0;transform:translate(40px,16px) scale(.94)}
  to{opacity:1;transform:none}
}
html body #lock .lock-kicker{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) .12s both!important}
html body #lock .lock-icon{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) .32s both!important}
html body #lock .lock-title{animation:nmAssemble .9s cubic-bezier(.22,1,.36,1) .5s both!important}
html body #lock .lock-text{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) .72s both!important}
html body #lock .lock-hint-main{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) .9s both!important}
html body #lock .lock-field{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) 1.08s both!important}
html body #lock .lock-btn{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) 1.26s both!important}
html body #lock .lock-hint{animation:nmAssemble .8s cubic-bezier(.22,1,.36,1) 1.44s both!important}
html body #lock:before{animation:nmHouseIn 1.5s cubic-bezier(.22,1,.36,1) .25s both!important}
html body #lock .lock-flies span{opacity:0;animation:lockFly 12s ease-in-out 1.1s infinite!important}
@media(prefers-reduced-motion:reduce){
  html body #lock .lock-kicker,
  html body #lock .lock-icon,
  html body #lock .lock-title,
  html body #lock .lock-text,
  html body #lock .lock-hint-main,
  html body #lock .lock-field,
  html body #lock .lock-btn,
  html body #lock .lock-hint,
  html body #lock:before{animation:none!important;opacity:1!important;transform:none!important}
}
