/* V2: the old room, accumulated. Keep the original bevels and type. */
body { background:#f1cbdc; isolation:isolate; }
body::before { display:none; }
.living-background { position:fixed; inset:0; overflow:hidden; z-index:-2; pointer-events:none; background:#e8bbd0; }
.background-poster,#background-video { position:absolute; inset:-70px; width:calc(100% + 140px); height:calc(100% + 140px); object-fit:cover; filter:blur(26px) saturate(.75) contrast(.7) brightness(1.15); }
#background-video { visibility:hidden; }
body.video-playing #background-video { visibility:visible; }
.background-veil { position:absolute; inset:0; background:radial-gradient(#793d5c26 .7px,transparent .9px),#f4c4d65c; background-size:5px 5px,auto; }
.safe-background .background-poster { filter:blur(40px) saturate(.5) contrast(.55) brightness(1.25); }
.safe-background .background-veil { background-color:#f9dce78a; }
.world { padding-bottom:85px; }
.site-header { position:relative; padding-bottom:27px; flex-wrap:wrap; }
.wordmark { background:#fff1f5; padding:0 7px; transform:rotate(-5deg); border-bottom:2px solid #91516b; }
.header-note { color:#67364b; }
.global-controls { flex-wrap:wrap; justify-content:flex-end; gap:7px 18px; }
.safety-button { background:#fff1f6; border:1px solid #92536c; padding:9px 12px; box-shadow:2px 2px #a2697c44; font-size:10px; }
.background-status { position:absolute; right:38px; bottom:1px; font:9px/1.5 var(--mono); margin:0; color:#66374b; background:#fff4f8e8; padding:2px 5px; }
.entrance { background:#f7e7eff2; }
.entrance-frame { background:#fff8fa; box-shadow:8px 10px 0 #8e4d6c18; transform:rotate(-1deg); }
.entrance-wings { height:170px; object-fit:contain; margin:12px 0 -18px; }
.entrance-calm { line-height:1.6; font-size:11px; cursor:pointer; }
.entrance-calm input { width:18px; height:18px; flex:none; }
.safety-copy { font:10px/1.65 var(--mono); margin:9px 0 0; color:#74495d; }
.room { height:850px; }
.room-border { inset:24px 42px 54px 21px; transform:rotate(.6deg); border-style:dotted; outline:none; opacity:.8; }
.ghost-type { top:32px; left:4%; color:#84395430; font-size:128px; line-height:.78; transform:rotate(-10deg); }
.intro-window { left:23%; top:145px; width:445px; transform:rotate(-1deg); z-index:5; }
.intro-body { background:radial-gradient(#b7799429 .6px,transparent .8px) 0 0/5px 5px,#fff5f9; padding:23px 24px 21px; }
.name-art { height:183px; }
.name-art img { top:-2px; height:198px; width:118%; left:-9%; opacity:1; }
.big-name { font-size:103px; color:#924563; margin-top:28px; text-shadow:2px 2px #fff9fb,-2px -2px #fff9fb,3px 3px #e3b4c7; }
.little-stamp { margin-left:-215px; transform:rotate(-12deg); }
.intro-footer { font-size:10px; }
.music-window { left:6%; top:350px; z-index:7; transform:rotate(-3deg); width:258px; }
.music-window::after { content:'do not close / i was listening'; position:absolute; left:12px; bottom:-18px; background:#fff1c9; padding:3px 8px; font:9px var(--mono); transform:rotate(2deg); pointer-events:none; }
.music-window .titlebar { background:#e5c4d8; }
.music-body { background:repeating-linear-gradient(90deg,#fff3f8 0 6px,#f7e6ee 6px 7px); }
.cover-frame { margin:0 15px 12px; transform:rotate(3deg); }
.music-signal { display:flex; align-items:flex-end; height:18px; gap:2px; margin:0 0 12px; }
.music-signal i { display:block; width:3px; height:3px; background:#9c4168; transform-origin:bottom; }
.music-signal span { font:8px var(--mono); margin-left:auto; align-self:center; color:#79435a; }
.is-playing .music-signal i { height:14px; animation:signal 1.6s ease-in-out infinite alternate; }
.is-playing .music-signal i:nth-child(2n) { animation-duration:.93s; height:9px; }
.is-playing .music-signal i:nth-child(3n) { animation-delay:-.7s; height:18px; }
@keyframes signal { from { transform:scaleY(.25); } to { transform:scaleY(1); } }
.notes-window { top:78px; left:57%; width:365px; z-index:3; transform:rotate(4deg); background:#fff5ef; box-shadow:5px 6px 0 #e3c4ce,8px 9px 0 #93536b44; }
.notes-window .titlebar { background:#e6c4cf; }
.notepad-body { position:relative; padding:18px 23px 15px 30px; background:linear-gradient(90deg,transparent 20px,#c98f9e66 20px 21px,transparent 21px),repeating-linear-gradient(transparent 0 25px,#bb9caa45 25px 26px),#fff5ef; }
.paper-address { display:flex; justify-content:space-between; height:34px; font:12px var(--mono); }
.mail-stamp { display:block; align-self:flex-start; border:1px dashed #8b4a66; padding:5px 9px; font:8px/1.3 var(--mono); text-align:center; transform:rotate(11deg); background:#edd3df; margin-top:-11px; }
.handwritten { margin:0 0 20px; font:italic 27px/1.1 var(--serif); transform:rotate(-3deg); color:#98526e; }
#note-form label { display:block; font:11px/1.5 var(--mono); margin:12px 0 4px; color:#633d4b; }
#note-form small { font-size:9px; }
#nickname,#note-message { width:100%; border:0; border-bottom:1px solid #b78a9d; border-radius:0; padding:7px 6px; background:#fff9f3b8; color:#603746; font:16px/26px var(--serif); }
#nickname { height:35px; }
#note-message { display:block; resize:vertical; min-height:130px; max-height:260px; background:repeating-linear-gradient(transparent 0 25px,#aa718733 25px 26px),#fff9f3c9; }
#note-form ::placeholder { color:#8a6673; opacity:1; }
textarea:focus-visible { outline:2px solid var(--deep); outline-offset:3px; }
#note-form [aria-invalid=true] { outline:2px dashed #993c56; }
.paper-margin { display:flex; justify-content:space-between; gap:7px; font:9px/1.5 var(--mono); margin:6px 0 12px; }
.leave-note { padding:10px 15px; transform:rotate(-2deg); background:#f0d3dd; font-size:12px; }
.leave-note:disabled { opacity:.65; }
.note-status { min-height:35px; margin:14px 0 7px; font:11px/1.6 var(--mono); color:#764155; }
.note-status[data-state=success] { color:#385b48; padding-left:9px; border-left:3px double #6d8974; }
.note-status[data-state=error] { color:#922a47; }
.note-privacy { font:9px/1.6 var(--mono); color:#775666; margin:0; }
.honeypot { display:none!important; }
.notes-window:focus-within { transform:rotate(.5deg); }
.pinned-bow { left:52%; top:98px; width:120px; height:120px; transform:rotate(19deg); z-index:10; }
.desktop-scribble { position:absolute; top:36px; left:39%; font:italic 20px/1.05 var(--serif); transform:rotate(7deg); color:#793d56; }
.desktop-scribble span { display:block; font-size:46px; margin-left:55px; }
.saved-scrap { position:absolute; left:9%; top:220px; width:172px; padding:13px 9px; border:1px solid #a67186; background:#eedde9; box-shadow:3px 3px #965c7444; transform:rotate(-7deg); z-index:4; text-align:left; }
.saved-scrap span,.saved-scrap small { display:block; font:8px/1.8 var(--mono); }
.saved-scrap strong { display:block; font:italic 25px/1.4 var(--serif); }
.saved-scrap[aria-pressed=true] { transform:rotate(9deg); background:#f5e4b9; }
.tiny-receipt { position:absolute; top:626px; left:80%; padding:14px 12px; margin:0; font:9px/1.7 var(--mono); border-block:1px dashed #84536b; background:#efe6ee; transform:rotate(9deg); text-align:center; color:#73425b; }
.tiny-receipt b { font:italic 33px var(--serif); }
.rest-card { left:38%; top:646px; width:273px; transform:rotate(-7deg); z-index:4; background:#fff4e9; }
.boundaries-window { left:63%; top:499px; z-index:8; width:257px; transform:rotate(2.5deg); }
.boundaries-body { overflow:hidden; min-height:220px; transition:background-color .65s,color .65s; }
.document-artifact { display:block; font:8px/1.8 var(--mono); letter-spacing:1px; opacity:0; pointer-events:none; }
.boundaries-body .document-artifact { margin-top:10px; }
.restore-document { display:block; font-size:9px; padding:6px; margin:0 auto; min-height:30px; }
[data-corruption="1"] .boundaries-body { background-color:#ebd1dc; }
[data-corruption="1"] .dni-caption { transform:translateX(3px); letter-spacing:1px; }
[data-corruption="2"] .boundaries-body,[data-corruption="3"] .boundaries-body,.dni-content[data-corruption="2"],.dni-content[data-corruption="3"] { color:#f3798e; background-color:#220d19; background-image:repeating-linear-gradient(0deg,transparent 0 6px,#9f254b1c 6px 7px); }
[data-corruption="2"] .tiny-halo,[data-corruption="3"] .tiny-halo { border-color:#c84364; transform:rotate(-25deg) scaleX(1.4)!important; border-radius:0; height:3px; }
[data-corruption="3"] .dni-label { font:52px/.95 var(--mono); letter-spacing:-6px; text-shadow:3px 0 #872c44,-2px 2px #ffc3d1; transform:translateX(-5px); }
[data-corruption="3"] .dni-caption { text-decoration:line-through; transform:translateX(5px); }
[data-corruption="3"] .document-artifact { opacity:1; }
[data-corruption="2"] .whisper-normal,[data-corruption="3"] .whisper-normal { opacity:0!important; }
[data-corruption="2"] .whisper-secret,[data-corruption="3"] .whisper-secret { color:#f38b9d; opacity:1!important; }
[data-corruption="3"] .boundaries-body::after,.dni-content[data-corruption="3"]::after { content:''; position:absolute; top:48%; left:3%; width:91%; height:1px; background:#c1395d; box-shadow:7px 4px #c1395d44,-4px 42px #c1395d33; pointer-events:none; }
.boundaries-body .dni-button:focus-visible { outline-color:#b76c89; }
.dni-content { position:relative; overflow:hidden; transition:background-color .8s,color .8s; min-height:280px; }
.dni-content .document-file { display:block; font:8px/1.5 var(--mono); margin:0 0 15px; }
.dni-content .document-artifact { margin:-10px 0 20px; letter-spacing:0; }
.dni-content .document-heart { transition:color .7s; }
.dni-content[data-corruption="3"] .document-heart { color:#f3798e; transform:rotate(180deg); }
#restore-dni { display:block; margin:15px auto 0; }
.secret-seal { left:45%; top:558px; transform:rotate(-12deg); }
.secret-message { left:48%; top:568px; padding:5px 8px; background:#fff5f9; transform:rotate(3deg); }
.loose-star { left:36%; top:595px; }
.star-one { top:2px; left:82%; }
.star-two { top:60px; left:91%; }
.room-caption { left:8%; bottom:8px; background:#fff1f8c9; padding:3px 7px; transform:rotate(-1deg); }
.desktop-footer { position:fixed; bottom:0; left:0; right:0; z-index:200; max-width:none; padding:8px 18px; margin:0; background:#f8e4ed; border-top:1px solid #9e657d; box-shadow:0 -3px 0 #ffeff7c9; gap:15px; }
.window-launcher { flex-wrap:wrap; }
.window-launcher button { min-height:36px; }
.room-status { font-size:11px; }
.window-launcher button:hover { transform:translateY(-2px); }
@media(min-width:761px) and (max-width:1050px) {
  .room { height:1110px; }
  .intro-window { left:20%; top:130px; width:410px; }
  .notes-window { left:auto; right:6%; top:460px; width:350px; }
  .music-window { left:5%; top:400px; }
  .boundaries-window { left:18%; top:790px; }
  .rest-card { left:54%; top:976px; width:260px; }
  .pinned-bow { left:64%; top:89px; }
  .saved-scrap { left:3%; top:180px; width:155px; }
  .tiny-receipt { left:77%; top:255px; }
  .secret-seal { left:45%; top:530px; }
  .secret-message { left:42%; top:591px; }
  .desktop-scribble { left:32%; }
  .room-status { display:none; }
  .global-controls { max-width:450px; }
}
@media(max-width:760px) {
  .site-header { padding:16px 20px 40px; gap:15px; }
  .global-controls { width:100%; flex-direction:row; align-items:center; justify-content:flex-start; margin:0; }
  .global-controls .safety-button { font-size:10px; text-align:left; padding:9px; min-height:42px; }
  .global-controls #reset-room { font-size:10px; }
  .background-status { left:20px; right:auto; bottom:12px; max-width:calc(100% - 40px); }
  .room { height:auto; padding:40px 22px 20px; }
  .room-border { inset:14px 10px 0; }
  .window { position:relative; left:auto; right:auto; top:auto; max-width:100%; }
  .intro-window { order:1; width:100%; margin:0; transform:rotate(-1deg)!important; }
  .intro-body { padding:20px 12px; }
  .name-art { height:160px; }
  .name-art img { height:168px; top:0; }
  .big-name { font-size:94px; }
  .music-window { order:2; margin:25px 0 0 6px; width:265px; align-self:flex-start; }
  .notes-window { order:4; margin:33px 0 0; width:365px; align-self:center; transform:rotate(1deg)!important; }
  .notepad-body { padding-left:27px; padding-right:17px; }
  .boundaries-window { order:3; margin-top:40px; width:255px; align-self:flex-end; }
  .rest-card { order:5; left:auto; top:auto; margin-top:35px; width:260px; max-width:100%; }
  .room-caption { order:6; margin-top:32px; }
  .saved-scrap { display:none; }
  .desktop-scribble { font-size:15px; top:7px; left:8%; transform:rotate(-6deg); }
  .desktop-scribble span { display:none; }
  .tiny-receipt { display:none; }
  .pinned-bow { left:auto; right:5%; top:0; width:86px; height:86px; }
  .secret-seal { left:auto; right:20px; top:420px; }
  .secret-message { left:auto; right:15px; top:475px; width:130px; }
  .ghost-type { top:160px; left:2%; font-size:88px; }
  .desktop-footer { padding:7px 8px; gap:5px; justify-content:space-between; }
  .window-launcher { gap:4px; }
  .window-launcher button { padding:7px 8px; font-size:10px; min-height:40px; }
  .launcher-label,.room-status { display:none; }
  .persistent-pause { font-size:9px; min-height:36px; margin-left:auto; }
  .world { padding-bottom:110px; }
  .move-handle { display:none; }
  .window-close { width:30px; height:28px; }
  .titlebar { min-height:35px; touch-action:auto; cursor:default; }
  .restore-document,#restore-dni { min-height:40px; }
  .note-status { font-size:12px; }
}
@media(max-width:350px) { .name-art { height:140px; } .name-art img { height:145px; } .big-name { font-size:82px; } .music-window { width:100%; margin-left:0; } .handwritten { font-size:24px; } }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
body.page-hidden .music-signal i { animation-play-state:paused; }
