:root{
  --miami:#F4A6C6;
  --lav:#B8A7E8;
  --lilac:#9676D3;
  --aqua:#79D9DC;
  --moon:#F6D978;
  --ink:#342B63;
  --paper:#FFF9F3;
  --spirit:#F8D5E4;
  --haze:#E7DFF5;
  --cloud:#CDECF1;
  --line:#c9b9e5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 12% 18%,#F8D5E477,transparent 20rem),radial-gradient(circle at 90% 16%,#79D9DC33,transparent 18rem),linear-gradient(180deg,#fffaf7,#fff7fb 55%,#f7fbfc);color:var(--ink);font:15px/1.65 'Courier New',monospace}
a{color:#7659b4;text-decoration:none;cursor:pointer}a:hover{color:#d45c96;text-decoration:underline dotted}.site{max-width:1280px;margin:auto;border-inline:1px solid var(--line);background:#fff9f3d9;box-shadow:0 0 70px #9676D30f}.sparkles{position:fixed;inset:12% 3% auto;color:var(--miami);word-spacing:9vw;pointer-events:none;z-index:-1;animation:twinkle 3s infinite}@keyframes twinkle{50%{opacity:.3}}
.top{min-height:42px;padding:7px 14px;border-top:1px solid var(--lilac);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;background:#fff9f3e6}.top nav{display:flex;flex-wrap:wrap;justify-content:center}.top button{background:var(--paper);border:1px dashed var(--lav);color:#7659b4;padding:4px 8px;font-family:inherit}

/* VERSION 4 MASTHEAD */
.masthead-v4{position:relative;min-height:420px;padding:26px 34px 18px;display:grid;grid-template-columns:1.1fr 1.25fr .9fr;grid-template-rows:1fr auto;gap:8px 18px;align-items:center;overflow:hidden;border-bottom:1px dotted var(--miami);background:linear-gradient(135deg,#fff9f3 0 33%,#f8d5e433 62%,#cdecf13b)}
.masthead-v4:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#B8A7E81a 1px,transparent 1px),linear-gradient(90deg,#B8A7E81a 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#0008,transparent 88%);pointer-events:none}.masthead-stars{position:absolute;left:4%;top:16px;color:var(--moon);letter-spacing:14px;font-size:18px}.browser-stage,.brand-v4,.writer-stage,.visitor-v4{position:relative;z-index:1}.browser-stage{align-self:end;min-height:235px}.browser-window{display:block;width:min(100%,480px);filter:drop-shadow(8px 9px 0 #342B6315)}.browser-copy{position:absolute;left:10%;top:9%;right:12%;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#664e99;pointer-events:none}.browser-user{font-weight:bold}.browser-status{font-size:8px;opacity:.8}.browser-screen-copy{position:absolute;left:17%;right:12%;top:42%;display:grid;gap:10px;pointer-events:none}.screen-kicker{font-size:10px;letter-spacing:.12em;color:#875ba3}.screen-line{font-size:11px;color:#9a6689}.brand-v4{text-align:center;align-self:center}.eyebrow{margin:0 0 4px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8c73b8}.brand-v4 h1{margin:0;font-size:clamp(48px,6vw,79px);line-height:.83;letter-spacing:.035em;color:var(--ink);text-shadow:3px 3px 0 #B8A7E84d}.brand-v4 h1 span{font-size:.77em;letter-spacing:.09em}.tagline{margin:18px auto 8px;max-width:480px;color:#c86697;font-size:clamp(14px,1.9vw,21px);line-height:1.35;font-style:italic}.brand-links{font-size:9px;color:#8469ae;letter-spacing:.07em}.writer-stage{height:270px;align-self:end}.writer-ghosts{position:absolute;right:-24px;bottom:-8px;width:min(330px,110%);filter:drop-shadow(5px 7px 0 #342B6310)}.whisper{position:absolute;padding:5px 8px;background:#fff9f3e8;border:1px dashed var(--miami);font-size:9px;color:#875b8e;transform:rotate(-3deg)}.whisper-a{right:10px;top:18px}.whisper-b{left:10px;top:84px;transform:rotate(3deg)}.visitor-v4{grid-column:1/-1;justify-self:center;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff9f3cc;border:1px solid var(--line);box-shadow:3px 3px 0 #B8A7E832;font-size:9px;letter-spacing:.06em}.visitor-v4 strong{padding:2px 8px;border:1px solid var(--lilac);color:#d05c94;font-size:17px;letter-spacing:.13em}.visitor-v4 small{font-size:9px}.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--spirit),var(--haze),var(--cloud),var(--spirit));font-size:10px;white-space:nowrap}.ticker span{display:inline-block;padding:6px 0;min-width:100%;animation:marquee 22s linear infinite}@keyframes marquee{from{transform:translateX(100%)}to{transform:translateX(-100%)}}

.grid{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:18px;padding:18px}.box{position:relative;margin-bottom:14px;padding:13px;background:#fffaf7df;border:1px solid var(--line);box-shadow:2px 2px #7966aa14}.box h2{margin:0 0 10px;color:#7659b4;font-size:14px;text-align:center;font-weight:normal}.navbox a{display:block;padding:3px 0;border-bottom:1px dotted #b7a9db66}.status{padding-top:0}.status h2,.player h2,.dream-widget h2{margin-inline:-13px;margin-top:0;padding:3px 6px;border-bottom:1px solid var(--lilac);background:linear-gradient(90deg,var(--spirit),#B8A7E899,var(--cloud));display:flex;justify-content:space-between}.status p{font-size:12px}.status-v4{text-align:center}.status-ghost-wrap{height:132px;margin:-2px auto 4px;overflow:hidden;display:grid;place-items:center}.status-ghost-wrap img{width:155px;transform:rotate(-3deg)}
.post{padding:20px 24px;border:1px dashed var(--lav);background:#fffdfbbb}.postnav{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px dotted var(--lav);font-size:12px}.title{display:flex;justify-content:space-between}.title h2{font-size:clamp(28px,4vw,45px);line-height:1.15;font-weight:normal;margin:22px 0}.ghost{border:0;background:none;font-size:50px}.filed{border-top:1px dotted var(--lav);padding-top:8px;font-size:12px}.essay p{margin:22px 0}.inky{float:right;width:170px;margin:10px 0 14px 22px;padding:10px;border:1px dashed var(--miami);background:#f8f0f5aa;display:flex;gap:7px;font-size:12px}.inky:first-letter{font-size:34px}.divider{clear:both;text-align:center;color:#7659b4;letter-spacing:6px;padding:8px;border-block:1px dotted var(--lav)}.feature{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.3fr);gap:22px;align-items:center}.miami{min-height:250px;padding:16px;background:linear-gradient(#B8A7E8,#F4A6C6 45%,#F6D978 72%,#342B63 73%);border:7px solid var(--paper);outline:1px solid var(--lav);transform:rotate(-2deg);text-align:center;color:white;display:flex;flex-direction:column;justify-content:space-between}.miami b{padding:8px;background:#342B63bb;align-self:center;letter-spacing:4px}.miami span{font-size:38px}.note{width:180px;margin:30px 0 25px auto;padding:18px;background:#fff0db;border:1px solid #e3c4b3;border-top:12px solid #ffffff66;transform:rotate(-2deg);display:grid;gap:8px}.note strong{font-weight:normal}.postend{text-align:center;padding:16px;border:1px solid var(--line);background:#f8f0f599}
.tarot>div{width:130px;height:170px;margin:auto;padding:9px;border:4px double var(--ink);background:linear-gradient(#6a6f9e,#3f486f);color:#f9e6c8;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.dream-widget{text-align:center;padding-top:0}.dream-widget img{display:block;width:165px;margin:-4px auto -8px}.dream-widget p{font-size:11px;line-height:1.5}.dream-widget a{font-size:10px}.about-v4 p{font-size:11px;line-height:1.6}.about-v4>a{display:block;text-align:right;font-size:11px}.player-v4{padding-top:0;text-align:center}.player-v4 img{width:150px;display:block;margin:-5px auto -10px}.track{display:grid;line-height:1.35;margin-bottom:6px}.track span{font-size:11px}.player input{width:100%;accent-color:var(--miami)}.controls{text-align:center;color:#7659b4}.construction{text-align:center}.construction>div{display:grid;grid-template-columns:1fr 1.4fr .65fr;align-items:center;gap:6px}.construction b{padding:7px 5px;border:3px double var(--ink);background:#fff6d7;font-size:10px}.construction em{font-size:9px;font-style:normal}.construction span{font-size:28px}.construction-door{width:54px;height:75px;object-fit:contain;display:block;margin:-2px auto 4px}
.badges{padding:0 18px 18px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.badges a{min-height:58px;padding:7px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:linear-gradient(#fff,#f8f0f5);color:var(--ink);font-size:10px;line-height:1.25}.badges a:first-letter{font-size:24px}.badges a:hover{transform:translateY(-2px);background:var(--spirit);text-decoration:none}.foot{padding:18px;border-top:1px dotted var(--miami);display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center;font-size:12px}.foot>div{min-height:100px;padding:10px;border:1px solid var(--line)}.copyright{padding:12px;border-top:1px solid var(--line);text-align:center;color:#7659b4;font-size:11px}#msg{position:fixed;left:50%;bottom:25px;transform:translate(-50%,130%);opacity:0;transition:.35s;padding:12px 16px;background:var(--paper);border:1px solid var(--miami);box-shadow:5px 5px var(--spirit);font-size:13px;z-index:9}#msg.show{transform:translate(-50%,0);opacity:1}

@media(max-width:1100px){.masthead-v4{grid-template-columns:1fr 1.2fr}.writer-stage{grid-column:2;grid-row:1}.browser-stage{grid-column:1;grid-row:1}.brand-v4{grid-column:1/-1;grid-row:2;padding-top:0}.visitor-v4{grid-row:3}.grid{grid-template-columns:190px minmax(0,1fr)}.grid>aside:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.badges{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.top,.grid{display:block}.top>*{display:block;text-align:center;margin:5px auto}.masthead-v4{display:flex;flex-direction:column;min-height:0;padding:24px 14px 16px}.browser-stage{order:2;width:100%;min-height:0;margin-top:8px}.browser-window{width:100%;max-width:520px;margin:auto}.browser-copy{left:11%;right:12%;top:10%}.browser-status{display:none}.browser-screen-copy{left:17%;top:43%}.brand-v4{order:1}.brand-v4 h1{font-size:54px}.writer-stage{order:3;width:100%;height:220px}.writer-ghosts{width:260px;right:50%;transform:translateX(50%)}.whisper-a{right:14%}.whisper-b{left:14%}.visitor-v4{order:4;flex-wrap:wrap;justify-content:center}.grid{padding:10px}.grid>aside:last-child{display:block}.post{margin:14px 0;padding:16px}.feature{grid-template-columns:1fr}.badges{grid-template-columns:repeat(2,1fr);padding:0 10px 14px}.foot{grid-template-columns:1fr}.inky{float:none;width:auto;margin:14px 0}.ticker span{animation-duration:14s}}


/* VERSION 4.1 — masthead polish + haunted sidebars */
@media(min-width:1101px){
  .masthead-v4{min-height:390px;grid-template-columns:1.18fr 1.22fr 1fr;padding:18px 30px 12px;gap:2px 8px}
  .browser-stage{min-height:270px;align-self:center;transform:translate(24px,12px);z-index:2}
  .browser-window{width:570px;max-width:125%;filter:drop-shadow(10px 11px 0 #342B6318)}
  .browser-copy{left:10.5%;right:2%;top:9.5%;font-size:10px}
  .browser-screen-copy{left:18%;right:-1%;top:42%;gap:12px}
  .brand-v4{z-index:3;transform:translateY(-3px)}
  .writer-stage{height:300px;z-index:2;transform:translate(-8px,8px)}
  .writer-ghosts{width:355px;max-width:none;right:-8px;bottom:-6px}
  .visitor-v4{margin-top:-8px}
}

.grid{align-items:start;background:linear-gradient(90deg,#f8d5e41c 0 238px,transparent 238px calc(100% - 268px),#cdecf11c calc(100% - 268px));}
.grid>aside{position:relative}
.grid>aside:first-child:before,.grid>aside:last-child:before{content:"✦";position:absolute;color:var(--moon);font-size:18px;opacity:.8;z-index:2}
.grid>aside:first-child:before{left:-8px;top:-13px}.grid>aside:last-child:before{right:-6px;top:-12px}

.window-box,.status-v4,.dream-widget,.player-v4{overflow:hidden;border:1px solid #9f8ccc;box-shadow:4px 4px 0 #B8A7E82b;background:#fffdfbcc}
.window-box h2,.status-v4 h2,.dream-widget h2,.player-v4 h2{min-height:27px;margin:-13px -13px 11px;padding:4px 7px;border-bottom:1px solid #8c75bd;background:linear-gradient(90deg,#F4A6C6aa,#B8A7E8aa 55%,#79D9DC80);display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink);font-size:11px;font-weight:bold;letter-spacing:.03em}
.status-v4 h2,.dream-widget h2,.player-v4 h2{margin-top:0}
.window-buttons{font-size:10px;letter-spacing:2px;white-space:nowrap;color:#4f407f}

.navbox{padding-bottom:8px}.navbox .folder-label{margin:0 -2px 8px;padding:5px 7px;border:1px inset #d8cdec;background:#fff;font-size:9px;color:#8c73a8;overflow:hidden;white-space:nowrap}.navbox a{display:grid;grid-template-columns:22px 1fr;align-items:center;padding:4px 5px;border-bottom:1px dotted #b7a9db66;font-size:11px}.navbox a:hover{background:linear-gradient(90deg,#F8D5E480,#CDECF160);text-decoration:none}.navbox a span{text-align:center;color:#bd6290}.nav-footer{margin:8px -5px -3px;padding-top:5px;border-top:1px solid #d9cce8;text-align:center;font-size:8px;color:#8c73a8}

.status-v4{background:linear-gradient(180deg,#fffdfb,#fff8fb)}.status-v4 .status-ghost-wrap{height:145px;background:radial-gradient(circle at 50% 75%,#79D9DC30,transparent 54%)}.status-v4 .status-ghost-wrap img{width:174px}.status-v4 p{margin:7px 2px;padding:6px 7px;border-left:3px solid var(--miami);background:#fff9f3;font-size:10px;text-align:left;line-height:1.45}.status-v4 p:nth-of-type(2){border-color:var(--aqua)}.status-v4 p:nth-of-type(3){border-color:var(--lav)}

.footprints p{margin:7px 0;padding:6px 8px;background:#fff9f3;border:1px dotted #d6c5e8;font-size:10px;line-height:1.35}.footprints p:nth-of-type(2){background:#fdf3f8}.footprints small{color:#9a7eaa}.tiny-link{display:block;text-align:center;font-size:9px;margin-top:8px}

.tarot{text-align:center}.tarot>div{width:138px;height:182px;box-shadow:5px 6px 0 #342B6320}.tarot>small{display:block;margin-top:8px;font-size:8px;color:#8d74a4}
.dream-widget{background:linear-gradient(180deg,#fffdfb,#f7f1fb)}.dream-widget img{width:185px;margin:-10px auto -15px;filter:drop-shadow(4px 5px 0 #342B6310)}.dream-widget p{margin:7px 5px 10px;padding:8px;border:1px dashed #bca8dc;background:#fff9f3b8}.dream-widget a{display:inline-block;margin-bottom:4px;padding:3px 7px;background:var(--spirit);border:1px solid #d5acd0}
.about-v4{background:linear-gradient(145deg,#fffdfb,#F8D5E43d)}.about-v4:after{content:"ghost.typewriter44_";display:block;margin-top:9px;padding-top:6px;border-top:1px dotted var(--lav);font-size:8px;color:#a47b9b}
.player-v4{background:linear-gradient(180deg,#fffdfb,#eef9fa)}.player-v4 img{width:172px;margin:-12px auto -15px;filter:drop-shadow(4px 5px 0 #342B6310)}.player-v4 .track{margin:2px 8px 7px;padding:7px;border:1px solid #b7a9db;background:#fff9f3}.player-v4 .controls{margin-top:5px;padding:3px;background:#E7DFF580;border:1px dotted #a895ca;font-size:12px}
.construction{background:repeating-linear-gradient(135deg,#fffdfb 0 14px,#fff8e8 14px 28px)}

.post{box-shadow:5px 5px 0 #B8A7E814}.post:before{content:"ghost_typewriter.exe  —  journal entry";display:block;margin:-20px -24px 18px;padding:5px 9px;border-bottom:1px solid #9f8ccc;background:linear-gradient(90deg,#E7DFF5,#F8D5E4,#CDECF1);font-size:9px;color:#6d5997}

@media(max-width:760px){.post:before{margin:-16px -16px 15px}.window-box h2{margin:-13px -13px 11px}.browser-stage{transform:none}.browser-window{max-width:520px}}

/* VERSION 4.2 — masthead balance + interior page system */
@media(min-width:1101px){
  .masthead-v4{grid-template-columns:1.05fr 1.3fr 1fr;gap:4px 18px}
  .browser-stage{transform:translate(-8px,12px);z-index:1}
  .browser-window{width:510px;max-width:116%}
  .browser-copy{left:10%;right:5%;top:9.5%}
  .browser-screen-copy{left:18%;right:3%;top:42%}
  .brand-v4{z-index:4;transform:translate(10px,-3px)}
  .writer-stage{transform:translate(-2px,8px)}
}

/* shared interior pages */
.inner-page{max-width:1000px;margin:0 auto;padding:34px 24px 46px}
.inner-hero{position:relative;min-height:260px;margin-bottom:20px;padding:34px 34px 30px;border:1px solid var(--line);background:linear-gradient(135deg,#fffdfb,#F8D5E455 48%,#CDECF155);overflow:hidden;box-shadow:6px 6px 0 #B8A7E824}
.inner-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#B8A7E819 1px,transparent 1px),linear-gradient(90deg,#B8A7E819 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.inner-hero-copy{position:relative;z-index:2;max-width:620px}
.inner-hero .eyebrow{margin:0 0 8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#866aa3}
.inner-hero h1{margin:0;font:700 58px/.95 Georgia,serif;letter-spacing:.04em;color:var(--ink)}
.inner-hero .subhead{max-width:560px;margin:18px 0 0;font-size:16px;font-style:italic;color:#a1537d}
.inner-hero .hero-ghost{position:absolute;right:12px;bottom:-26px;width:285px;z-index:1;filter:drop-shadow(6px 7px 0 #342B6310)}
.inner-windowbar{display:flex;justify-content:space-between;align-items:center;margin:-1px -1px 22px;padding:5px 9px;border:1px solid #9f8ccc;background:linear-gradient(90deg,#E7DFF5,#F8D5E4,#CDECF1);font-size:9px;color:#66538b}
.inner-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:18px;align-items:start}
.inner-card{padding:22px;border:1px solid var(--line);background:#fffdfbcc;box-shadow:4px 4px 0 #B8A7E819}
.inner-card h2{margin:0 0 12px;font:700 25px Georgia,serif;color:var(--ink)}
.inner-card h3{margin:22px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7659b4}
.inner-card p{margin:0 0 14px}.inner-card p:last-child{margin-bottom:0}
.about-manifesto{font-size:16px;line-height:1.9}.about-manifesto strong{color:#a1537d}
.about-manifesto .about-beat{margin:24px 0;font-weight:700;font-size:18px;letter-spacing:.02em;color:var(--ink)}
.about-manifesto .about-thesis{margin:24px 0;padding:14px 16px;border-left:4px solid var(--aqua);background:#f5fbfc;font-weight:700;color:var(--ink)}
.about-manifesto .about-signoff{margin-top:28px;font:italic 700 18px Georgia,serif;color:#7659b4}
.field-note{margin:18px 0;padding:14px 16px;border-left:4px solid var(--aqua);background:#f5fbfc;font-size:12px}
.side-stack{display:grid;gap:14px}.mini-window{overflow:hidden;border:1px solid #9f8ccc;background:#fffdfb;box-shadow:4px 4px 0 #B8A7E824}.mini-window h2{margin:0;padding:5px 8px;border-bottom:1px solid #9f8ccc;background:linear-gradient(90deg,#F4A6C6aa,#B8A7E8aa,#79D9DC80);display:flex;justify-content:space-between;font-size:10px}.mini-window .inside{padding:13px;font-size:11px}.mini-window img{display:block;max-width:100%;margin:auto}.about-miami{width:180px;margin:-10px auto -8px}.tiny-list{margin:0;padding-left:18px}.tiny-list li{margin:6px 0}.return-home{display:inline-block;margin-top:18px;padding:6px 10px;border:1px dotted #a68ac4;background:var(--paper);font-size:11px}.page-foot{max-width:1000px;margin:0 auto 24px;padding:12px 24px;text-align:center;border-top:1px dotted var(--miami);font-size:10px;color:#82689b}
@media(max-width:760px){.inner-page{padding:18px 10px 32px}.inner-hero{min-height:360px;padding:24px 20px 150px}.inner-hero h1{font-size:44px}.inner-hero .hero-ghost{width:220px;right:50%;transform:translateX(50%);bottom:-28px}.inner-grid{grid-template-columns:1fr}.inner-card{padding:17px}}

/* VERSION 4.3 — writings archive + quiet reading room */
.reading-widget{background:linear-gradient(145deg,#fffdfb,#E7DFF54a)}.reading-inside{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:7px}.reading-inside img{width:115px;margin:-10px 0 -8px;filter:drop-shadow(3px 4px 0 #342B6310)}.reading-inside p{margin:4px 0;font-size:10px}.reading-label{color:#9d6085;font-style:italic}.reading-note{padding:5px;border-left:2px solid var(--aqua);background:#fff9f3}.reading-future{display:block;padding-top:6px;border-top:1px dotted var(--lav);font-size:8px;color:#8c73a8;text-align:center}
.folder-hero{min-height:280px;padding:34px 42px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,#fffdfb,#F8D5E45c,#CDECF14f);box-shadow:6px 6px 0 #B8A7E824}.folder-hero h1{margin:0;font:700 60px/.9 Georgia,serif;letter-spacing:.04em}.folder-hero p:not(.eyebrow){font-style:italic;color:#a1537d}.folder-art{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--moon)}.big-folder{min-width:185px;padding:42px 20px 28px;border:2px solid var(--ink);border-radius:5px 16px 6px 6px;background:linear-gradient(180deg,var(--spirit),var(--lav));box-shadow:8px 8px 0 #342B6317;color:var(--ink);text-align:center;font-weight:bold;letter-spacing:.08em;transform:rotate(2deg)}.big-folder small{font-weight:normal;font-size:9px}.file-browser{border:1px solid #9f8ccc;background:#fffdfb;box-shadow:5px 5px 0 #B8A7E81c}.file-browser-head,.writing-file{display:grid;grid-template-columns:42px minmax(240px,1.6fr) 1fr 85px;align-items:center}.file-browser-head{padding:6px 12px 6px 54px;border-bottom:1px solid #9f8ccc;background:linear-gradient(90deg,#E7DFF5,#F8D5E4,#CDECF1);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.writing-file{min-height:74px;padding:9px 12px;border-bottom:1px dotted #cdbfe1;color:var(--ink)}a.writing-file:hover{background:linear-gradient(90deg,#F8D5E45c,#CDECF14f);text-decoration:none}.file-icon{font-size:25px;color:#9b69b5}.file-name{display:grid}.file-name b{font-size:11px}.file-name small{color:#9a6d8c}.file-tags,.file-date{font-size:9px;color:#806a9c}.coming-file{opacity:.58}.writings-note{max-width:690px;margin:24px auto;padding:14px 18px;border:1px dashed var(--miami);background:#fff9f3;font-size:11px;transform:rotate(-.35deg)}
.reading-site{max-width:1180px}.reading-room{max-width:900px;margin:34px auto 55px;padding:0 16px}.reading-windowbar{display:flex;justify-content:space-between;padding:6px 10px;border:1px solid #8f7bbd;background:linear-gradient(90deg,var(--haze),var(--spirit),var(--cloud));font-size:9px}.essay-paper{padding:64px clamp(28px,8vw,92px);border:1px solid var(--line);border-top:0;background:var(--paper);box-shadow:8px 9px 0 #B8A7E81d}.essay-head{padding-bottom:30px;border-bottom:1px dotted var(--lav);text-align:center}.essay-head h1{max-width:700px;margin:8px auto 12px;font:normal clamp(38px,6vw,62px)/1.08 Georgia,serif;color:var(--ink)}.essay-deck{font-size:16px;font-style:italic;color:#a1537d}.essay-meta{font-size:9px;color:#826d98}.essay-body{max-width:680px;margin:42px auto;font:17px/2 'Courier New',monospace}.essay-body p{margin:0 0 25px}.essay-divider{text-align:center;margin:38px 0;color:#a98ec7;letter-spacing:.15em}.essay-end{margin-top:50px;padding-top:25px;border-top:1px dotted var(--miami);text-align:center;font-size:10px}.essay-end span{font-size:28px}.cabinet-hero{min-height:480px;padding:55px;border:1px solid var(--line);background:radial-gradient(circle at 80% 25%,#79D9DC35,transparent 14rem),linear-gradient(145deg,#fff9f3,#E7DFF5 70%,#342B6317);box-shadow:7px 7px 0 #342B6313}.cabinet-hero h1{margin:10px 0;font:700 clamp(42px,7vw,70px)/.95 Georgia,serif}.cabinet-hero>p:not(.eyebrow){max-width:650px;font-size:15px}.cabinet-drawer{max-width:500px;margin:70px auto 0;padding:28px;border:2px solid var(--ink);background:var(--spirit);box-shadow:8px 8px 0 #9676D344;text-align:center;transform:rotate(-1deg)}
@media(max-width:760px){.folder-hero{grid-template-columns:1fr;padding:28px 20px}.folder-hero h1{font-size:45px}.folder-art{margin-top:28px}.file-browser-head{display:none}.writing-file{grid-template-columns:35px 1fr}.file-tags,.file-date{grid-column:2;margin-top:4px}.essay-paper{padding:38px 22px}.essay-body{font-size:15px;line-height:1.85}.cabinet-hero{padding:35px 22px}.reading-inside{grid-template-columns:90px 1fr}.reading-inside img{width:100px}}

/* VERSION 4.4 — quieter footer + lost-pages room */
.bottom-haunt{margin:8px 18px 20px;padding:18px 20px 12px;border-top:1px dotted var(--lav);display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;position:relative}.tiny-badge{display:inline-block;padding:7px 10px;border:1px solid var(--line);background:#fffdfb;font-size:9px;box-shadow:3px 3px 0 #F8D5E466}.tiny-badge.crooked{transform:rotate(1.5deg);background:#fff9f3}.bottom-note{justify-self:end;max-width:430px;padding:10px 14px;border:1px dashed #e2b4ca;background:#fff8fb;font-size:10px;line-height:1.6;transform:rotate(-.5deg)}.last-update{grid-column:1/-1;text-align:right;font-size:8px;color:#927ba8}.foot-v44{grid-template-columns:1.1fr 1fr 1.2fr;padding-top:12px}.foot-v44>div{min-height:72px;border-style:dotted;background:#fffdfb99}.foot-v44 span{font-size:9px;color:#8c73a8}.lost-page{max-width:900px;min-height:720px;margin:auto;padding:70px 24px;background:radial-gradient(circle at 50% 40%,#E7DFF565,transparent 45%)}.lost-window{max-width:680px;margin:auto;border:1px solid #77629e;background:#fffaf7;box-shadow:12px 12px 0 #342B6312;transform:rotate(-.35deg)}.lost-bar{display:flex;justify-content:space-between;padding:6px 9px;border-bottom:1px solid #77629e;background:linear-gradient(90deg,#F4A6C6aa,#B8A7E8aa,#79D9DC88);font-size:9px}.lost-inside{position:relative;min-height:500px;padding:42px 44px;text-align:center;overflow:hidden}.lost-inside:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#B8A7E814 1px,transparent 1px),linear-gradient(90deg,#B8A7E814 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.lost-inside>*{position:relative;z-index:1}.lost-inside h1{margin:12px 0 4px;font:700 55px/.95 Georgia,serif;color:var(--ink);letter-spacing:.04em}.lost-inside img{width:220px;margin:-5px auto -20px;display:block}.lost-copy{font-size:14px;line-height:1.8}.lost-message{max-width:410px;margin:20px auto;padding:14px;border:1px dashed var(--miami);background:#fffdfbcc;font-size:11px;line-height:1.7}.lost-message strong{color:#a1537d}.lost-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.lost-links a{padding:7px 10px;border:1px dotted #a68ac4;background:var(--paper);font-size:10px}.lost-whisper{text-align:center;margin:28px;color:#9a7eaa;font-size:9px;font-style:italic}
@media(max-width:760px){.bottom-haunt{grid-template-columns:1fr 1fr;padding-inline:5px}.bottom-note{grid-column:1/-1;justify-self:stretch}.last-update{text-align:center}.foot-v44{grid-template-columns:1fr}.lost-page{min-height:620px;padding:35px 10px}.lost-inside{padding:32px 18px}.lost-inside h1{font-size:40px}.lost-inside img{width:190px}}


/* VERSION 4.5 — masthead clarity + typewriter mark */
/* The browser is now allowed to be an object, not a second text block. */
.masthead-v4 .masthead-stars{display:none}
.browser-stage{position:relative}
.browser-copy,.browser-screen-copy{display:none!important}
.browser-portal-label{
  position:absolute;
  left:50%;
  bottom:1px;
  transform:translate(-50%,55%) rotate(-1deg);
  padding:3px 8px;
  border:1px dotted #b79fd2;
  background:#fff9f3e8;
  color:#8066a1;
  font-size:8px;
  letter-spacing:.08em;
  white-space:nowrap;
  box-shadow:2px 2px 0 #f4a6c640;
}

.brand-v4{position:relative}
.brand-v4 h1{
  font-size:clamp(46px,5.45vw,72px);
  line-height:.88;
  letter-spacing:.035em;
}
.brand-v4 h1 span{
  font-size:1em;
  letter-spacing:.045em;
}
.brand-links{margin-top:6px}

.tiny-typewriter{
  position:relative;
  width:72px;
  height:42px;
  margin:5px auto 7px;
  filter:drop-shadow(3px 3px 0 #342B6310);
}
.typewriter-paper{
  position:absolute;
  left:18px;
  top:0;
  width:36px;
  height:21px;
  padding-top:2px;
  border:1.5px solid var(--ink);
  border-bottom:0;
  background:var(--paper);
  color:#c26796;
  font-size:8px;
  line-height:1;
  text-align:center;
  letter-spacing:2px;
}
.typewriter-body{
  position:absolute;
  left:7px;
  bottom:0;
  width:58px;
  height:25px;
  border:1.5px solid var(--ink);
  border-radius:4px 4px 7px 7px;
  background:linear-gradient(180deg,var(--lav),var(--miami));
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
}
.typewriter-body:before{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  top:4px;
  height:5px;
  border:1px solid var(--ink);
  background:var(--cloud);
}
.typewriter-body i{
  display:block;
  width:4px;
  height:4px;
  margin-top:10px;
  border:1px solid var(--ink);
  background:var(--paper);
}

/* A couple of intentional glints replace the loose emoji constellation. */
.brand-v4:before,.brand-v4:after{
  position:absolute;
  color:var(--moon);
  font-size:14px;
  opacity:.9;
}
.brand-v4:before{content:"✦";left:4%;top:27%}
.brand-v4:after{content:"✧";right:4%;top:39%;color:var(--aqua)}

@media(max-width:760px){
  .brand-v4 h1{font-size:50px}
  .tiny-typewriter{margin-top:8px}
  .browser-portal-label{bottom:4px}
  .brand-v4:before{left:2%}
  .brand-v4:after{right:2%}
}


/* VERSION 4.6 — Ghost World atmosphere pass #1 */
/* The old lonely sparkle strip is retired; the margins now behave like a dream-space. */
.sparkles{display:none!important}
.ghost-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.site{position:relative;z-index:1}
.constellation{position:absolute;color:var(--miami);font-family:Georgia,serif;text-shadow:0 0 12px #f4a6c666}
.constellation i{position:absolute;font-style:normal;animation:ghostTwinkle 4.8s ease-in-out infinite}
.constellation-left{left:max(22px,calc(50vw - 790px));top:150px;width:145px;height:620px}
.constellation-right{right:max(20px,calc(50vw - 790px));top:190px;width:145px;height:570px;color:#9f89d2}
.constellation-left i:nth-child(1){left:8px;top:28px;font-size:15px}.constellation-left i:nth-child(2){left:55px;top:72px;font-size:10px;animation-delay:.8s}.constellation-left i:nth-child(3){left:104px;top:128px;font-size:18px;animation-delay:1.6s;color:#c59bdd}.constellation-left i:nth-child(4){left:25px;top:205px;font-size:11px;animation-delay:2.2s}.constellation-left i:nth-child(5){left:92px;top:270px;font-size:14px;animation-delay:.4s;color:#f0c965}.constellation-left i:nth-child(6){left:46px;top:385px;font-size:12px;animation-delay:2.8s}.constellation-left i:nth-child(7){left:112px;top:475px;font-size:17px;animation-delay:1.2s}
.constellation-right i:nth-child(1){right:20px;top:15px;font-size:13px}.constellation-right i:nth-child(2){right:88px;top:96px;font-size:11px;animation-delay:1.1s}.constellation-right i:nth-child(3){right:34px;top:178px;font-size:15px;animation-delay:2.1s}.constellation-right i:nth-child(4){right:102px;top:292px;font-size:17px;animation-delay:.5s}.constellation-right i:nth-child(5){right:46px;top:420px;font-size:13px;animation-delay:2.9s;color:#f0c965}
@keyframes ghostTwinkle{0%,100%{opacity:.2;transform:translateY(0) scale(.9)}50%{opacity:.9;transform:translateY(-5px) scale(1.08)}}
.margin-computer{position:absolute;left:max(22px,calc(50vw - 790px));top:610px;width:92px;opacity:.78;transform:rotate(-5deg);filter:drop-shadow(5px 6px 0 #342B6310);animation:artifactFloat 7s ease-in-out infinite}
@keyframes artifactFloat{50%{transform:rotate(-2deg) translateY(-8px)}}
.dream-staircase{position:absolute;right:max(16px,calc(50vw - 790px));top:600px;width:130px;height:180px;opacity:.72;filter:drop-shadow(4px 5px 0 #342B630d)}
.dream-staircase .dream-sun{position:absolute;right:7px;top:2px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff8c9 0 12%,var(--moon) 13% 62%,#f4a6c6 64%);box-shadow:0 0 28px #f6d97888}
.dream-staircase b{position:absolute;right:10px;height:18px;border:1.5px solid var(--ink);background:linear-gradient(90deg,#e7dff5,#b8a7e8,#f4a6c6);box-shadow:3px 3px 0 #342B6310}
.dream-staircase b:nth-of-type(1){bottom:46px;width:112px}.dream-staircase b:nth-of-type(2){bottom:64px;width:92px}.dream-staircase b:nth-of-type(3){bottom:82px;width:72px}.dream-staircase b:nth-of-type(4){bottom:100px;width:52px}.dream-staircase b:nth-of-type(5){bottom:118px;width:32px}
.dream-staircase small{position:absolute;bottom:20px;right:8px;color:#8c73a8;font-size:7px;white-space:nowrap;transform:rotate(-2deg)}

/* Tiny Y2K objects drift around the masthead without competing with the logo. */
.y2k-orbit{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid #7862a5;background:#fff9f3cc;color:#d65f9a;box-shadow:3px 3px 0 #b8a7e844;line-height:1;animation:orbitBob 5s ease-in-out infinite}
.orbit-a{left:-8px;top:24px;width:34px;height:34px;border-radius:50%;font-size:20px;transform:rotate(-8deg)}
.orbit-b{right:3px;bottom:34px;width:25px;height:25px;font-size:13px;color:#8a70c4;animation-delay:1.5s}
@keyframes orbitBob{50%{translate:0 -7px}}
.planet-dream{position:absolute;right:-48px;top:10px;width:135px;opacity:.16;z-index:0;transform:rotate(8deg);filter:none}
.writer-ghosts,.whisper{z-index:2}

/* A little more depth in the world, while the reading area stays calm. */
.masthead-v4{box-shadow:inset 0 -18px 45px #b8a7e80d}
.grid{position:relative;background:linear-gradient(90deg,#f8d5e418,transparent 12%,transparent 88%,#cdecf122)}
.grid:before,.grid:after{content:"✦";position:absolute;color:#f0c965;font-size:13px;opacity:.75;animation:ghostTwinkle 5s ease-in-out infinite}
.grid:before{left:8px;top:9px}.grid:after{right:8px;top:9px;animation-delay:1.7s}

@media(max-width:1450px){.margin-computer,.dream-staircase{opacity:.38}.constellation-left,.constellation-right{opacity:.65}}
@media(max-width:1320px){.margin-computer,.dream-staircase,.constellation{display:none}.ghost-atmosphere{display:none}}
@media(max-width:760px){.planet-dream{width:105px;right:-12px;top:18px}.orbit-a{left:4px}.orbit-b{right:8px}}
@media(prefers-reduced-motion:reduce){.constellation i,.margin-computer,.y2k-orbit{animation:none!important}}


/* VERSION 4.6 — the real Ghost Typewriter enters the masthead */
.typewriter-mark{
  position:relative;
  width:148px;
  margin:-2px auto -4px;
  z-index:5;
  transform:rotate(-1.25deg);
}
.typewriter-mark:before{
  content:"transmission device_01";
  position:absolute;
  left:-70px;
  top:42%;
  color:#9a7eaa;
  font-size:7px;
  letter-spacing:.08em;
  white-space:nowrap;
  opacity:.72;
}
.typewriter-mark:after{
  content:"··········";
  position:absolute;
  right:-55px;
  top:46%;
  color:#f4a6c6;
  font-size:8px;
  letter-spacing:3px;
  opacity:.7;
}
.typewriter-mark img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(5px 7px 0 #342B6312);
}
.brand-v4 .eyebrow{margin-bottom:-2px}
.brand-v4 h1{margin-top:-1px}
@media(min-width:1101px){
  .masthead-v4{min-height:420px;grid-template-columns:1.03fr 1.38fr 1.03fr;gap:4px 12px;padding-top:15px}
  .browser-stage{transform:translate(-5px,18px)}
  .browser-window{width:500px}
  .brand-v4{transform:translate(6px,-2px)}
  .writer-stage{transform:translate(0,12px)}
  .writer-ghosts{width:345px;right:-4px}
  .typewriter-mark{width:154px;margin:-1px auto -5px}
}
@media(max-width:1100px) and (min-width:761px){
  .typewriter-mark{width:138px}
  .typewriter-mark:before,.typewriter-mark:after{display:none}
}
@media(max-width:760px){
  .typewriter-mark{width:132px;margin:3px auto -2px}
  .typewriter-mark:before,.typewriter-mark:after{display:none}
  .brand-v4 h1{margin-top:0}
}

/* VERSION 4.8 — THE SIGNAL */
/* The browser is no longer decoration: its screen is a tiny haunted terminal. */
.typewriter-mark{width:170px!important;margin:-2px auto -5px!important}
.typewriter-mark:before,.typewriter-mark:after{display:none!important}
.browser-stage{position:relative}
.signal-terminal{
  position:absolute;
  z-index:4;
  left:16.8%;
  top:34.5%;
  width:67.5%;
  height:37%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 18px;
  background:rgba(255,249,243,.94);
  border:1px solid rgba(52,43,99,.16);
  color:var(--ink);
  text-align:center;
  font:10px/1.65 "Courier New",monospace;
  letter-spacing:.05em;
  box-shadow:inset 0 0 28px rgba(184,167,232,.12);
}
.signal-terminal:before{
  content:"incoming signal";
  position:absolute;
  top:6px;
  left:9px;
  color:#a58bb8;
  font-size:7px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.signal-terminal__status{white-space:pre-line;min-height:38px;display:grid;place-items:center}
.signal-cursor{display:inline-block;margin-left:2px;color:#d05c94;animation:signalBlink .8s steps(1,end) infinite}
@keyframes signalBlink{50%{opacity:0}}
.signal-enter{
  appearance:none;
  border:1px solid var(--ink);
  padding:5px 12px;
  background:linear-gradient(90deg,var(--spirit),var(--haze));
  color:var(--ink);
  font:8px "Courier New",monospace;
  letter-spacing:.08em;
  cursor:pointer;
  box-shadow:2px 2px 0 rgba(52,43,99,.15);
}
.signal-enter:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(52,43,99,.18);background:linear-gradient(90deg,var(--haze),var(--cloud))}
.signal-enter[hidden]{display:none}
.signal-popover{
  position:fixed;
  z-index:9999;
  inset:0;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(52,43,99,.14);
  backdrop-filter:blur(2px);
}
.signal-popover.is-open{display:grid}
.signal-popover__window{
  width:min(390px,88vw);
  border:1px solid var(--ink);
  background:var(--paper);
  box-shadow:8px 8px 0 rgba(52,43,99,.18);
  font:11px/1.7 "Courier New",monospace;
}
.signal-popover__bar{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:linear-gradient(90deg,var(--haze),var(--spirit),var(--cloud));border-bottom:1px solid var(--ink);font-size:8px;letter-spacing:.1em}
.signal-popover__body{padding:28px 26px;text-align:center;color:var(--ink)}
.signal-popover__body strong{display:block;margin-bottom:14px;font-size:12px;letter-spacing:.08em}
.signal-close{margin-top:16px;border:1px solid var(--ink);background:var(--spirit);padding:5px 13px;color:var(--ink);font:8px "Courier New",monospace;cursor:pointer}
@media(max-width:1100px) and (min-width:761px){.typewriter-mark{width:158px!important}.signal-terminal{font-size:9px}}
@media(max-width:760px){.typewriter-mark{width:150px!important}.signal-terminal{left:17%;top:34%;width:67%;height:38%;font-size:8px;gap:6px;padding:8px}.signal-terminal:before{font-size:6px}.signal-enter{font-size:7px;padding:4px 8px}}
@media(prefers-reduced-motion:reduce){.signal-cursor{animation:none}}


/* VERSION 4.8.1 — cache-safe signal patch */
.signal-terminal{left:15.5%;top:31.5%;width:70%;height:43%;background:rgba(255,249,243,.985);border:1px solid rgba(52,43,99,.28);box-shadow:inset 0 0 28px rgba(184,167,232,.18),2px 2px 0 rgba(52,43,99,.08);}
.signal-terminal__status{font-weight:bold;}
.browser-stage .signal-terminal{pointer-events:auto;}


/* VERSION 4.8.2 — Computer Friend™ */
.computer-friend{
  position:absolute;
  left:max(22px,calc(50vw - 790px));
  top:610px;
  width:104px;
  height:110px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  z-index:8;
  overflow:visible;
  animation:artifactFloat 7s ease-in-out infinite;
}
.computer-friend .margin-computer{
  position:static;
  display:block;
  width:92px;
  opacity:.82;
  transform:rotate(-5deg);
  filter:drop-shadow(5px 6px 0 #342B6310);
  animation:none;
  transition:opacity .18s ease,filter .18s ease,transform .18s ease;
}
.computer-friend:hover .margin-computer,
.computer-friend:focus-visible .margin-computer{
  opacity:1;
  transform:rotate(-2deg) translateY(-2px);
  filter:drop-shadow(5px 6px 0 #b8a7e855);
}
.computer-bubble{
  position:absolute;
  left:70px;
  top:-12px;
  min-width:54px;
  max-width:112px;
  padding:6px 8px;
  border:1px solid #7862a5;
  background:#fff9f3f2;
  color:#342b63;
  box-shadow:3px 3px 0 #b8a7e855;
  font:8px/1.35 "Courier New",monospace;
  letter-spacing:.02em;
  white-space:nowrap;
  opacity:0;
  transform:translateY(4px) rotate(-1deg);
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.computer-bubble:after{
  content:"";
  position:absolute;
  left:10px;
  bottom:-6px;
  width:9px;
  height:9px;
  background:#fff9f3;
  border-right:1px solid #7862a5;
  border-bottom:1px solid #7862a5;
  transform:rotate(45deg);
}
.computer-friend:hover .computer-bubble,
.computer-friend:focus-visible .computer-bubble,
.computer-friend.is-speaking .computer-bubble{
  opacity:1;
  transform:translateY(0) rotate(-1deg);
}
@media(max-width:1450px){.computer-friend{opacity:.55}}
@media(max-width:1320px){.computer-friend{display:none}}
@media(prefers-reduced-motion:reduce){.computer-friend{animation:none!important}}

/* VERSION 4.9 — THE FRONT DOOR */
/* VERSION 4.9.1 — The Front Door, dreamier + easier to enter */
.portal-door{
  position:fixed;inset:0;z-index:9999;opacity:1;visibility:visible;
  transition:opacity .65s ease,visibility .65s ease;
}
.portal-door.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.portal-dreamscape{
  position:relative;width:100vw;height:100vh;overflow:auto;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:22px;
  padding:42px 24px 28px;box-sizing:border-box;
  background:
    radial-gradient(circle at 18% 22%,rgba(246,217,120,.34),transparent 22%),
    radial-gradient(circle at 82% 18%,rgba(121,217,220,.30),transparent 26%),
    radial-gradient(circle at 75% 78%,rgba(150,118,211,.26),transparent 29%),
    linear-gradient(145deg,#fff9f3 0%,#f8d5e4 30%,#e7dff5 68%,#cdecf1 100%);
}
.portal-dreamscape:before,.portal-dreamscape:after{
  content:"";position:absolute;inset:0;pointer-events:none;
}
.portal-dreamscape:before{
  background-image:radial-gradient(circle,#fff 0 1px,transparent 1.8px);
  background-size:74px 74px;opacity:.42;animation:portalStars 5s ease-in-out infinite alternate;
}
.portal-dreamscape:after{
  background:linear-gradient(to bottom,rgba(255,255,255,.12),transparent 25%,transparent 75%,rgba(52,43,99,.08));
}
@keyframes portalStars{to{opacity:.72;transform:translateY(-4px)}}
.portal-copy{
  position:relative;z-index:3;text-align:center;color:#342B63;
  font-family:"Courier New",Courier,monospace;text-shadow:0 1px #fff9f3;
}
.portal-copy p{
  margin:0 0 9px;font:10px/1.5 "Courier New",Courier,monospace;
  letter-spacing:.20em;text-transform:lowercase;
}
.portal-copy h1{
  margin:0;font:700 clamp(28px,4.4vw,68px)/1 "Courier New",Courier,monospace;
  letter-spacing:.06em;text-transform:uppercase;
}
.portal-copy span{
  display:block;margin-top:9px;color:#7659b4;
  font:italic 12px/1.5 "Courier New",Courier,monospace;letter-spacing:.07em;
}
.portal-card{
  position:relative;z-index:4;display:block;width:min(1080px,86vw);padding:0;
  border:2px solid #342B63;background:#fff9f3;cursor:pointer;overflow:hidden;
  box-shadow:10px 12px 0 rgba(52,43,99,.13),0 0 0 6px rgba(255,255,255,.32);
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.portal-card:hover,.portal-card:focus-visible{
  transform:translateY(-5px) scale(1.008);outline:none;
  box-shadow:12px 16px 0 rgba(52,43,99,.14),0 0 38px rgba(246,217,120,.48),0 0 72px rgba(150,118,211,.20);
  filter:saturate(1.05) brightness(1.025);
}
.portal-art{
  display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center;
}
.portal-card-label{
  position:absolute;right:22px;bottom:18px;padding:8px 12px;
  border:1px dashed #9676D3;background:rgba(255,249,243,.92);color:#342B63;
  font:700 10px/1.2 "Courier New",Courier,monospace;letter-spacing:.09em;
  box-shadow:3px 3px 0 rgba(52,43,99,.14);opacity:.86;transition:transform .25s ease,opacity .25s ease;
}
.portal-card:hover .portal-card-label,.portal-card:focus-visible .portal-card-label{opacity:1;transform:translateY(-3px)}
.portal-hint{
  position:relative;z-index:4;padding:6px 11px;color:#5f4c8f;
  font:9px/1.2 "Courier New",Courier,monospace;letter-spacing:.13em;
  background:rgba(255,249,243,.72);border:1px dotted #B8A7E8;animation:portalHint 2.2s ease-in-out infinite;
}
@keyframes portalHint{50%{opacity:.48}}
.portal-door.is-entering .portal-card{animation:portalZoom .82s ease forwards}
.portal-door.is-entering .portal-copy,.portal-door.is-entering .portal-hint{animation:portalFade .42s ease forwards}
@keyframes portalZoom{to{transform:scale(1.055);filter:saturate(1.08) brightness(1.08);opacity:.15}}
@keyframes portalFade{to{opacity:0}}
@media(max-width:800px){
  .portal-dreamscape{justify-content:flex-start;padding-top:9vh;gap:18px}
  .portal-card{width:min(94vw,760px)}
  .portal-copy h1{font-size:clamp(27px,8vw,44px);letter-spacing:.03em}
  .portal-copy p{font-size:8px;letter-spacing:.12em}
  .portal-copy span{font-size:10px}
  .portal-card-label{right:10px;bottom:10px;font-size:9px}
}

/* Computer Friend must sit above the atmospheric layer and receive clicks. */
.computer-friend{pointer-events:auto!important;z-index:20!important}
.computer-friend .margin-computer{pointer-events:none}

/* VERSION 4.9.2 — DREAM LOGIC: the staircase becomes the threshold */
.portal-dreamscape{gap:10px;padding:24px 24px 18px;overflow:hidden}
.portal-copy{z-index:6;margin-bottom:2px}
.portal-copy p{font-size:9px;letter-spacing:.22em;margin-bottom:5px}
.portal-copy h1{font-size:clamp(30px,3.7vw,58px);letter-spacing:.09em}
.portal-copy span{font-size:11px;margin-top:6px}
.portal-card{
  width:min(980px,74vw);height:min(69vh,690px);border:0;background:transparent;overflow:visible;
  box-shadow:none;display:flex;align-items:center;justify-content:center;
}
.portal-art{
  width:auto;height:100%;max-width:100%;aspect-ratio:auto;object-fit:contain;
  filter:drop-shadow(14px 18px 0 rgba(52,43,99,.10)) drop-shadow(0 0 30px rgba(150,118,211,.18));
  animation:portalBreathe 5.8s ease-in-out infinite;
}
.portal-card:hover,.portal-card:focus-visible{transform:translateY(-8px) scale(1.025);box-shadow:none;filter:none}
.portal-card:hover .portal-art,.portal-card:focus-visible .portal-art{
  filter:drop-shadow(16px 22px 0 rgba(52,43,99,.10)) drop-shadow(0 0 38px rgba(246,217,120,.42)) drop-shadow(0 0 70px rgba(150,118,211,.24));
}
.portal-whisper{
  position:relative;z-index:7;margin-top:-7px;color:#5f4c8f;opacity:0;transform:translateY(-4px);
  font:10px/1.2 "Courier New",Courier,monospace;letter-spacing:.17em;
  transition:opacity .3s ease,transform .3s ease;pointer-events:none;
}
.portal-card:hover + .portal-whisper,.portal-card:focus-visible + .portal-whisper{opacity:.9;transform:translateY(0)}
.portal-floater{position:absolute;z-index:2;pointer-events:none;opacity:.68;filter:drop-shadow(0 8px 14px rgba(52,43,99,.10))}
.portal-moon{width:72px;left:8vw;top:23vh;animation:portalDriftA 8s ease-in-out infinite alternate}
.portal-cloud{width:155px;right:7vw;top:18vh;animation:portalDriftB 10s ease-in-out infinite alternate}
@keyframes portalBreathe{50%{transform:scale(1.012) translateY(-3px)}}
@keyframes portalDriftA{to{transform:translate(16px,-12px) rotate(5deg)}}
@keyframes portalDriftB{to{transform:translate(-20px,10px) rotate(-3deg)}}
.portal-door.is-entering .portal-card{animation:portalZoom492 .82s cubic-bezier(.2,.75,.2,1) forwards}
.portal-door.is-entering .portal-copy,.portal-door.is-entering .portal-whisper,.portal-door.is-entering .portal-floater{animation:portalFade .38s ease forwards}
@keyframes portalZoom492{to{transform:scale(1.22);filter:brightness(1.12);opacity:.08}}

/* The same impossible staircase lingers inside Ghost Typewriter like an echo of the way in. */
.dream-staircase{display:none!important}
.portal-echo{
  position:absolute;right:max(-38px,calc(50vw - 835px));top:570px;width:210px;height:250px;
  opacity:.34;overflow:hidden;filter:drop-shadow(4px 8px 0 rgba(52,43,99,.05));
  transform:rotate(1.2deg);transition:opacity .35s ease,transform .35s ease;
}
.portal-echo img{width:310px;height:245px;object-fit:cover;object-position:48% 54%;mix-blend-mode:multiply;animation:echoBreathe 7s ease-in-out infinite}
.portal-echo small{position:absolute;right:34px;bottom:5px;color:#8c73a8;font:7px/1.2 "Courier New",monospace;letter-spacing:.08em;white-space:nowrap;opacity:.75}
.portal-echo:hover{opacity:.52;transform:rotate(0deg) translateY(-4px)}
@keyframes echoBreathe{50%{transform:scale(1.025) translateY(-3px)}}
@media(max-width:1450px){.portal-echo{opacity:.22;right:8px;width:160px}.portal-echo img{width:245px}}
@media(max-width:1320px){.portal-echo{display:none}}
@media(max-width:800px){
  .portal-dreamscape{justify-content:center;padding:22px 10px;gap:8px;overflow:auto}
  .portal-card{width:96vw;height:min(62vh,600px)}
  .portal-copy h1{font-size:clamp(25px,7vw,42px)}
  .portal-moon{width:48px;left:3vw;top:20vh}.portal-cloud{width:95px;right:2vw;top:16vh}
  .portal-whisper{font-size:9px;margin-top:-2px}
}
@media(prefers-reduced-motion:reduce){.portal-art,.portal-floater,.portal-echo img{animation:none!important}}

/* VERSION 4.9.3 — FALL THROUGH THE DREAM */
.portal-dreamscape{
  gap:0;padding:14px 18px 10px;
  background:
    radial-gradient(circle at 50% 54%,rgba(255,249,243,.98) 0 12%,rgba(248,213,228,.72) 29%,transparent 54%),
    radial-gradient(circle at 12% 82%,rgba(121,217,220,.30),transparent 36%),
    radial-gradient(circle at 88% 22%,rgba(184,167,232,.38),transparent 38%),
    linear-gradient(145deg,#fff9f3 0%,#f8d5e4 31%,#e7dff5 66%,#cdecf1 100%);
}
.portal-copy{position:absolute;top:3.2vh;left:50%;transform:translateX(-50%);width:min(94vw,1100px);z-index:12;text-shadow:0 1px #fff9f3}
.portal-copy p{font-size:9px;letter-spacing:.25em;margin:0 0 5px}
.portal-copy h1{font-size:clamp(34px,4.1vw,68px);letter-spacing:.10em;margin:0}
.portal-copy span{font-size:11px;margin-top:4px}
.portal-card{
  position:relative;z-index:8;width:min(1180px,91vw);height:88vh;max-height:none;margin-top:7vh;
  border:0;background:transparent;overflow:visible;box-shadow:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.portal-art{
  width:auto;height:100%;max-width:100%;object-fit:contain;
  filter:drop-shadow(20px 26px 0 rgba(52,43,99,.09)) drop-shadow(0 0 42px rgba(150,118,211,.22));
  animation:portalBreathe493 5.5s ease-in-out infinite;transform-origin:50% 58%;
}
@keyframes portalBreathe493{50%{transform:scale(1.018) translateY(-5px)}}
.portal-card:hover,.portal-card:focus-visible{transform:scale(1.018);outline:none}
.portal-card:hover .portal-art,.portal-card:focus-visible .portal-art{filter:drop-shadow(22px 30px 0 rgba(52,43,99,.08)) drop-shadow(0 0 55px rgba(246,217,120,.48)) drop-shadow(0 0 105px rgba(150,118,211,.30));}
.portal-whisper{position:absolute;z-index:13;left:50%;bottom:2.8vh;transform:translate(-50%,8px);margin:0;font-size:11px;letter-spacing:.20em;opacity:0;text-shadow:0 1px #fff9f3;transition:opacity .32s ease,transform .32s ease}
.portal-card:hover + .portal-whisper,.portal-card:focus-visible + .portal-whisper{opacity:.95;transform:translate(-50%,0)}

/* Different depths = dream-space, not a flat splash page. */
.portal-depth{position:absolute;z-index:10;pointer-events:none;border-radius:50%;filter:blur(18px);opacity:.58;background:radial-gradient(ellipse at center,#fffdfb 0 42%,#f8d5e4 56%,rgba(231,223,245,.2) 73%,transparent 74%)}
.portal-depth--left{width:44vw;height:31vw;left:-18vw;bottom:-9vw;transform:rotate(13deg);animation:depthFloatA 10s ease-in-out infinite alternate}
.portal-depth--right{width:36vw;height:25vw;right:-15vw;top:29vh;transform:rotate(-12deg);opacity:.40;animation:depthFloatB 12s ease-in-out infinite alternate}
@keyframes depthFloatA{to{transform:translate(22px,-13px) rotate(16deg)}}
@keyframes depthFloatB{to{transform:translate(-18px,15px) rotate(-9deg)}}
.portal-moon{z-index:3;width:58px;left:11vw;top:17vh;opacity:.48;filter:blur(.2px) drop-shadow(0 0 18px rgba(246,217,120,.35));animation:portalDriftA 11s ease-in-out infinite alternate}
.portal-cloud{z-index:4;width:105px;right:13vw;top:15vh;opacity:.38;filter:blur(.4px);animation:portalDriftB 13s ease-in-out infinite alternate}
.portal-upstars{position:absolute;inset:0;z-index:5;pointer-events:none;color:#9676d3}
.portal-upstars i{position:absolute;font-style:normal;opacity:0;animation:floatUp 7s linear infinite}
.portal-upstars i:nth-child(1){left:20%;bottom:7%;animation-delay:-1s}.portal-upstars i:nth-child(2){left:77%;bottom:16%;animation-delay:-4.4s;color:#79d9dc}.portal-upstars i:nth-child(3){left:14%;bottom:38%;animation-delay:-5.8s;color:#f6d978}.portal-upstars i:nth-child(4){left:86%;bottom:5%;animation-delay:-2.6s}.portal-upstars i:nth-child(5){left:68%;bottom:30%;animation-delay:-6.5s;color:#f4a6c6}
@keyframes floatUp{0%{transform:translateY(30px) rotate(0);opacity:0}18%{opacity:.55}72%{opacity:.34}100%{transform:translateY(-220px) rotate(35deg);opacity:0}}

/* The click becomes a short fall through color before the room appears. */
.portal-flash{position:absolute;inset:-10%;z-index:30;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 52%,#fff9f3 0 8%,#f6d978 18%,#f4a6c6 38%,#b8a7e8 63%,#79d9dc 100%);transform:scale(.15);border-radius:50%}
.portal-door.is-entering .portal-card{animation:portalRush493 1.02s cubic-bezier(.16,.76,.18,1) forwards}
.portal-door.is-entering .portal-copy,.portal-door.is-entering .portal-whisper,.portal-door.is-entering .portal-floater,.portal-door.is-entering .portal-upstars,.portal-door.is-entering .portal-depth{animation:portalFade493 .35s ease forwards}
.portal-door.is-entering .portal-flash{animation:portalFlash493 .92s cubic-bezier(.2,.72,.2,1) .16s forwards}
@keyframes portalRush493{0%{transform:scale(1);opacity:1}58%{transform:scale(1.72);opacity:1;filter:brightness(1.08) saturate(1.08)}100%{transform:scale(2.65);opacity:0;filter:brightness(1.35) blur(3px)}}
@keyframes portalFlash493{0%{opacity:0;transform:scale(.12)}42%{opacity:.94;transform:scale(1.5)}78%{opacity:1;transform:scale(3.4)}100%{opacity:0;transform:scale(4.4)}}
@keyframes portalFade493{to{opacity:0}}

/* Inside: the way back looks like a half-healed tear in the page. */
.portal-echo{right:max(-74px,calc(50vw - 870px));top:555px;width:245px;height:290px;opacity:.29;overflow:visible;filter:drop-shadow(0 0 24px rgba(150,118,211,.18));transform:rotate(1deg)}
.portal-echo:before{content:"";position:absolute;inset:13px -12px 20px 22px;z-index:-1;border-radius:48% 52% 44% 56% / 58% 41% 59% 42%;background:radial-gradient(ellipse,#fff9f3 0 26%,rgba(248,213,228,.64) 43%,rgba(184,167,232,.34) 62%,transparent 73%);filter:blur(11px);animation:echoGlow 6s ease-in-out infinite}
.portal-echo img{width:345px;height:280px;object-fit:cover;object-position:48% 54%;mix-blend-mode:multiply;clip-path:polygon(13% 5%,89% 1%,100% 22%,94% 91%,73% 100%,7% 91%,0 63%,5% 18%);animation:echoBreathe 7s ease-in-out infinite}
.portal-echo small{right:42px;bottom:2px;opacity:.58}
@keyframes echoGlow{50%{transform:scale(1.06);opacity:.7}}
@media(max-width:1450px){.portal-echo{right:-42px;width:185px;opacity:.20}.portal-echo img{width:275px}}
@media(max-width:800px){.portal-copy{top:4vh}.portal-copy h1{font-size:clamp(26px,8vw,43px)}.portal-copy p{font-size:7px}.portal-copy span{font-size:9px}.portal-card{width:108vw;height:80vh;margin-top:10vh}.portal-whisper{bottom:3vh}.portal-depth--left{width:80vw;height:55vw;left:-35vw}.portal-depth--right{width:70vw;height:48vw;right:-35vw}.portal-moon{left:4vw}.portal-cloud{right:3vw}}
@media(prefers-reduced-motion:reduce){.portal-depth,.portal-upstars i,.portal-flash{animation:none!important}.portal-door.is-entering .portal-card{animation:portalFade493 .25s ease forwards!important}}


/* VERSION 4.9.5 — STANDING AT THE FOOT OF THE STAIRS */
.portal-dreamscape{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,249,243,.92) 0 8%,rgba(246,217,120,.24) 19%,transparent 35%),
    radial-gradient(circle at 14% 20%,rgba(248,213,228,.70),transparent 30%),
    radial-gradient(circle at 86% 22%,rgba(121,217,220,.34),transparent 30%),
    linear-gradient(155deg,#fff9f3 0%,#f8d5e4 28%,#e7dff5 64%,#cdecf1 100%);
}
.portal-copy{
  position:absolute;z-index:20;top:4.5vh;left:50%;transform:translateX(-50%);
  width:min(900px,90vw);margin:0;text-align:center;
}
.portal-copy p{font-size:8px;letter-spacing:.28em;margin:0 0 5px;opacity:.72}
.portal-copy h1{font-size:clamp(25px,3.1vw,48px);letter-spacing:.13em;margin:0}
.portal-copy span{font-size:10px;margin-top:5px;opacity:.78}

.portal-card.portal-open{
  position:absolute;z-index:9;left:50%;bottom:-17vh;transform:translateX(-50%);
  width:min(930px,72vw);height:96vh;margin:0;border:0;background:transparent;
  overflow:visible;box-shadow:none;display:flex;align-items:flex-end;justify-content:center;
}
.portal-card.portal-open .portal-art{
  width:auto;height:100%;max-width:none;object-fit:contain;position:relative;z-index:6;
  filter:drop-shadow(0 24px 0 rgba(52,43,99,.055)) drop-shadow(0 0 50px rgba(246,217,120,.30));
  animation:portalBreathe495 5.8s ease-in-out infinite;transform-origin:50% 74%;
}
@keyframes portalBreathe495{50%{transform:scale(1.018) translateY(-6px)}}
.portal-aura{
  position:absolute;z-index:1;left:50%;top:46%;width:52%;height:61%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(ellipse,#fffdfb 0 13%,rgba(246,217,120,.62) 25%,rgba(244,166,198,.32) 43%,rgba(184,167,232,.25) 60%,rgba(121,217,220,.08) 72%,transparent 77%);
  filter:blur(25px);animation:auraDream495 5.8s ease-in-out infinite;
}
@keyframes auraDream495{50%{transform:translate(-50%,-52%) scale(1.10);opacity:.78}}
.portal-card.portal-open:hover,.portal-card.portal-open:focus-visible{
  transform:translateX(-50%) translateY(-7px) scale(1.018);outline:none;
}
.portal-card.portal-open:hover .portal-art,.portal-card.portal-open:focus-visible .portal-art{
  filter:drop-shadow(0 30px 0 rgba(52,43,99,.05)) drop-shadow(0 0 70px rgba(246,217,120,.58)) drop-shadow(0 0 125px rgba(184,167,232,.34));
}
.portal-whisper{
  position:absolute;z-index:24;left:50%;bottom:3.2vh;transform:translate(-50%,8px);
  margin:0;font-size:10px;letter-spacing:.22em;opacity:0;pointer-events:none;
  text-shadow:0 1px #fff9f3;transition:opacity .3s ease,transform .3s ease;
}
.portal-card:hover + .portal-smiley + .portal-foreground + .portal-foreground + .portal-whisper{opacity:.95}
.portal-card:focus-visible ~ .portal-whisper{opacity:.95;transform:translate(-50%,0)}
.portal-card:hover ~ .portal-whisper{opacity:.95;transform:translate(-50%,0)}

/* Dream depth: some things are miles away; others are practically touching the viewer. */
.portal-moon{z-index:2;width:46px;left:10vw;top:19vh;opacity:.38;filter:blur(.4px);animation:portalDriftA 12s ease-in-out infinite alternate}
.portal-cloud{z-index:3;width:92px;right:11vw;top:17vh;opacity:.31;filter:blur(.8px);animation:portalDriftB 14s ease-in-out infinite alternate}
.portal-smiley{z-index:4;right:7vw;bottom:22vh;opacity:.30}
.portal-depth--left{width:48vw;height:31vw;left:-22vw;bottom:-8vw;opacity:.30;filter:blur(28px)}
.portal-depth--right{width:38vw;height:27vw;right:-17vw;top:31vh;opacity:.25;filter:blur(30px)}

.portal-foreground{
  position:absolute;z-index:14;pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.97) 0 45%,rgba(248,213,228,.86) 58%,rgba(231,223,245,.45) 72%,transparent 74%);
  filter:blur(10px);opacity:.92;
}
.portal-foreground--left{
  width:62vw;height:27vw;left:-20vw;bottom:-10vw;transform:rotate(8deg);
  animation:foregroundFloatA 12s ease-in-out infinite alternate;
}
.portal-foreground--right{
  width:48vw;height:22vw;right:-19vw;bottom:-5vw;transform:rotate(-8deg);opacity:.72;
  animation:foregroundFloatB 14s ease-in-out infinite alternate;
}
@keyframes foregroundFloatA{to{transform:translate(25px,-12px) rotate(10deg)}}
@keyframes foregroundFloatB{to{transform:translate(-18px,-8px) rotate(-5deg)}}

/* A few close/distant particles violate gravity. */
.portal-upstars i:nth-child(1){font-size:28px;filter:blur(1px)}
.portal-upstars i:nth-child(2){font-size:9px}
.portal-upstars i:nth-child(3){font-size:17px;filter:blur(.4px)}
.portal-upstars i:nth-child(4){font-size:7px}
.portal-upstars i:nth-child(5){font-size:22px;filter:blur(.8px)}

/* Falling through the open staircase. */
.portal-door.is-entering .portal-card.portal-open{
  animation:portalRush495 1.02s cubic-bezier(.16,.76,.18,1) forwards;
}
.portal-door.is-entering .portal-copy,
.portal-door.is-entering .portal-whisper,
.portal-door.is-entering .portal-floater,
.portal-door.is-entering .portal-upstars,
.portal-door.is-entering .portal-depth,
.portal-door.is-entering .portal-foreground,
.portal-door.is-entering .portal-smiley{animation:portalFade493 .30s ease forwards}
@keyframes portalRush495{
  0%{transform:translateX(-50%) scale(1);opacity:1}
  52%{transform:translateX(-50%) scale(1.62);opacity:1;filter:brightness(1.08) saturate(1.1)}
  100%{transform:translateX(-50%) scale(3.35);opacity:0;filter:brightness(1.48) blur(4px)}
}

/* Inside: same doorway, half-healed at the edge of the page. */
.dream-staircase{display:none!important}
.portal-echo{
  position:absolute;right:max(-86px,calc(50vw - 875px));top:555px;width:245px;height:290px;
  opacity:.22;overflow:visible;filter:drop-shadow(0 0 30px rgba(150,118,211,.24));
  transform:rotate(1deg);animation:echoUnstable495 9s ease-in-out infinite;
}
.portal-echo:before{
  content:"";position:absolute;inset:12px -18px 18px 20px;z-index:-1;border-radius:50%;
  background:radial-gradient(ellipse,#fff9f3 0 22%,rgba(248,213,228,.64) 42%,rgba(184,167,232,.34) 61%,transparent 74%);
  filter:blur(15px);animation:echoGlow 6s ease-in-out infinite;
}
.portal-echo img{
  width:345px;height:280px;object-fit:cover;object-position:48% 54%;mix-blend-mode:multiply;
  clip-path:polygon(13% 5%,89% 1%,100% 22%,94% 91%,73% 100%,7% 91%,0 63%,5% 18%);
  animation:echoBreathe 7s ease-in-out infinite;
}
.portal-echo small{position:absolute;right:42px;bottom:2px;color:#8c73a8;font:7px/1.2 "Courier New",monospace;letter-spacing:.08em;white-space:nowrap;opacity:.58}
@keyframes echoUnstable495{0%,100%{opacity:.14;transform:rotate(1deg)}38%{opacity:.31;transform:rotate(.2deg) translateY(-3px)}70%{opacity:.19}82%{opacity:.34;transform:rotate(1.2deg) translateY(2px)}}

@media(max-width:800px){
  .portal-copy{top:5vh}.portal-copy h1{font-size:clamp(23px,7vw,38px)}
  .portal-card.portal-open{width:105vw;height:88vh;bottom:-15vh}
  .portal-foreground--left{width:95vw;height:43vw;left:-40vw}
  .portal-foreground--right{width:82vw;height:37vw;right:-38vw}
}
@media(prefers-reduced-motion:reduce){
  .portal-card.portal-open .portal-art,.portal-aura,.portal-foreground,.portal-echo{animation:none!important}
}


/* VERSION 4.9.7 — CLEAR PATH
   The staircase is the sharp destination. Dream depth stays at the edges. */

/* Mystery Paper has been formally evicted. */
.portal-paper,
.portal-door img[src*="my-wishes"],
.portal-door img[src*="document"],
.portal-door .portal-file{
  display:none !important;
}

/* Pull the portal back and restore a readable bottom-to-top journey. */
.portal-card.portal-open{
  width:min(720px,58vw);
  height:79vh;
  bottom:-8vh;
  left:50%;
}
.portal-card.portal-open .portal-art{
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:
    drop-shadow(0 18px 0 rgba(52,43,99,.035))
    drop-shadow(0 0 42px rgba(246,217,120,.26));
}

/* Give the destination marker air above the doorway. */
.portal-copy{
  top:4vh;
}
.portal-copy h1{
  font-size:clamp(24px,2.8vw,44px);
}
.portal-copy span{
  margin-top:7px;
}

/* No more giant white fog banks obscuring the stairs. */
.portal-foreground{
  opacity:.16;
  filter:blur(32px);
  background:radial-gradient(
    ellipse at center,
    rgba(248,213,228,.52) 0 30%,
    rgba(231,223,245,.34) 48%,
    rgba(121,217,220,.16) 62%,
    transparent 74%
  );
}
.portal-foreground--left{
  width:42vw;height:20vw;left:-21vw;bottom:-7vw;
}
.portal-foreground--right{
  width:36vw;height:18vw;right:-19vw;bottom:-6vw;
}

/* Edge atmosphere rather than objects shoved in front of the visitor. */
.portal-depth--left{
  width:42vw;height:28vw;left:-24vw;bottom:3vh;
  opacity:.18;filter:blur(40px);
}
.portal-depth--right{
  width:38vw;height:28vw;right:-23vw;top:28vh;
  opacity:.17;filter:blur(42px);
}

/* Distant things should stay distant. */
.portal-moon{
  width:34px;left:10vw;top:21vh;opacity:.24;filter:blur(.7px);
}
.portal-cloud{
  width:72px;right:10vw;top:18vh;opacity:.23;filter:blur(1px);
}
.portal-smiley{
  right:7vw;bottom:24vh;opacity:.20;transform:scale(.82);
}

/* The staircase is crisp and saturated compared with the surrounding dream. */
.portal-card.portal-open .portal-art{
  opacity:1;
  filter:
    saturate(1.06)
    contrast(1.015)
    drop-shadow(0 0 38px rgba(246,217,120,.28))
    drop-shadow(0 16px 26px rgba(150,118,211,.08));
}
.portal-card.portal-open:hover .portal-art,
.portal-card.portal-open:focus-visible .portal-art{
  filter:
    saturate(1.10)
    contrast(1.02)
    drop-shadow(0 0 58px rgba(246,217,120,.50))
    drop-shadow(0 0 92px rgba(184,167,232,.25));
}

/* Whisper remains text, not a CTA box. */
.portal-whisper{
  bottom:2.4vh;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Prevent a blank-page flash while the portal assets initialize. */
html{
  background:#f8d5e4;
}
body{
  background-color:#fff9f3;
}
.portal-door{
  background:
    radial-gradient(circle at 50% 44%,rgba(255,249,243,.92) 0 8%,rgba(246,217,120,.24) 19%,transparent 35%),
    radial-gradient(circle at 14% 20%,rgba(248,213,228,.70),transparent 30%),
    radial-gradient(circle at 86% 22%,rgba(121,217,220,.34),transparent 30%),
    linear-gradient(155deg,#fff9f3 0%,#f8d5e4 28%,#e7dff5 64%,#cdecf1 100%);
}

/* Keep the rush-through transition, recalibrated for the smaller starting portal. */
.portal-door.is-entering .portal-card.portal-open{
  animation:portalRush497 1.02s cubic-bezier(.16,.76,.18,1) forwards;
}
@keyframes portalRush497{
  0%{transform:translateX(-50%) scale(1);opacity:1}
  48%{transform:translateX(-50%) scale(1.78);opacity:1;filter:brightness(1.08) saturate(1.1)}
  100%{transform:translateX(-50%) scale(3.8);opacity:0;filter:brightness(1.5) blur(4px)}
}

@media(max-width:800px){
  .portal-card.portal-open{
    width:min(620px,88vw);
    height:74vh;
    bottom:-5vh;
  }
}


/* VERSION 6.61 — THE IMPOSSIBLE BROWSER
   The portal is a strange old-web window discovered in the dreamscape.
   The licensed staircase stays at its intended smaller scale inside it. */
.portal-door{
  position:fixed;inset:0;z-index:9999;background:#f8d5e4;overflow:hidden;
}
.portal-dreamscape{
  position:relative;width:100vw;height:100vh;min-height:620px;overflow:hidden;
  background:
    radial-gradient(circle at 50% 48%,rgba(246,217,120,.32) 0 9%,rgba(255,249,243,.48) 20%,transparent 38%),
    radial-gradient(circle at 15% 30%,rgba(244,166,198,.42),transparent 31%),
    radial-gradient(circle at 87% 25%,rgba(121,217,220,.30),transparent 30%),
    linear-gradient(145deg,#fff9f3 0%,#f8d5e4 31%,#e7dff5 67%,#cdecf1 100%);
}
.portal-door img{display:none!important}
.portal-door img.portal-art,.portal-door img.portal-moon,.portal-door img.portal-cloud{display:block!important}
.portal-depth,.portal-foreground,.portal-smiley,.portal-dream-cursor,.portal-paper,.portal-file{display:none!important}

.portal-copy{
  position:absolute;z-index:20;top:5vh;left:50%;transform:translateX(-50%);
  width:min(900px,92vw);text-align:center;color:#342B63;font-family:"Courier New",Courier,monospace;
}
.portal-copy p{margin:0 0 6px;font-size:8px;letter-spacing:.28em;opacity:.62}
.portal-copy h1{margin:0;font:700 clamp(27px,3.2vw,50px)/1 "Courier New",Courier,monospace;letter-spacing:.12em}
.portal-copy span{display:block;margin-top:8px;font:9px/1.4 "Courier New",Courier,monospace;letter-spacing:.11em;opacity:.68}

.portal-card.portal-open{
  position:absolute;z-index:10;left:50%;top:54%;width:min(610px,64vw);height:auto;
  margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;
  transform:translate(-50%,-50%);cursor:pointer;color:#342B63;font-family:"Courier New",Courier,monospace;
  transition:transform .32s ease,filter .32s ease;
}
.portal-browser{
  position:relative;display:block;width:100%;aspect-ratio:1.42/1;
  border:3px solid #342B63;border-radius:15px 15px 11px 11px;overflow:hidden;
  background:#fff9f3;box-shadow:10px 12px 0 rgba(52,43,99,.09),0 22px 48px rgba(52,43,99,.12);
}
.portal-browser-bar{
  height:44px;display:grid;grid-template-columns:92px 1fr 32px;align-items:center;
  padding:0 13px;background:linear-gradient(90deg,#f4a6c6,#b8a7e8 58%,#79d9dc);
  border-bottom:3px solid #342B63;font-size:10px;letter-spacing:.06em;
}
.portal-browser-dots{display:flex;gap:7px}.portal-browser-dots i{width:11px;height:11px;border:2px solid #342B63;border-radius:50%;background:#fff9f3}
.portal-browser-dots i:nth-child(2){background:#f6d978}.portal-browser-dots i:nth-child(3){background:#79d9dc}
.portal-browser-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-weight:700}
.portal-browser-status{font-size:11px;text-align:right;animation:portalStatusBlink 2.8s steps(1) infinite}
.portal-browser-address{
  display:block;height:30px;padding:7px 14px 0;text-align:left;background:#e7dff5;
  border-bottom:2px solid #342B63;font-size:8px;letter-spacing:.07em;opacity:.9;
}
.portal-browser-viewport{
  position:relative;display:flex;align-items:center;justify-content:center;height:calc(100% - 100px);
  min-height:270px;overflow:hidden;background:
    radial-gradient(circle at 50% 47%,rgba(246,217,120,.24),transparent 30%),
    linear-gradient(145deg,#fff9f3,#f8d5e4 58%,#e7dff5);
}
.portal-browser-viewport:before{
  content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;
  background-image:linear-gradient(rgba(52,43,99,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(52,43,99,.12) 1px,transparent 1px);
  background-size:22px 22px;
}
.portal-browser-signal{position:absolute;z-index:4;top:13px;left:16px;font-size:7px;letter-spacing:.16em;opacity:.56}
.portal-card.portal-open .portal-art{
  position:relative;z-index:2;width:auto;height:82%;max-width:72%;object-fit:contain;opacity:1;
  filter:saturate(1.04) drop-shadow(0 8px 10px rgba(52,43,99,.08));transform-origin:50% 60%;
  animation:browserPortalBreathe 5.8s ease-in-out infinite;
}
.portal-browser-cursor{position:absolute;z-index:5;right:15%;bottom:16%;font:28px/1 Arial,sans-serif;transform:rotate(-12deg);text-shadow:2px 2px 0 #fff9f3}
.portal-browser-footer{
  position:absolute;left:0;right:0;bottom:0;height:26px;display:flex;align-items:center;justify-content:space-between;
  padding:0 12px;background:#cdecf1;border-top:2px solid #342B63;font-size:7px;letter-spacing:.08em;
}
.portal-browser-footer em{font-style:normal;opacity:.65}
.portal-aura{
  position:absolute;z-index:-1;left:50%;top:50%;width:115%;height:120%;transform:translate(-50%,-50%);border-radius:45%;
  background:radial-gradient(ellipse,rgba(255,249,243,.96) 0 24%,rgba(246,217,120,.36) 42%,rgba(184,167,232,.20) 62%,transparent 76%);
  filter:blur(30px);transition:transform .4s ease,filter .4s ease;
}
.portal-card.portal-open:hover,.portal-card.portal-open:focus-visible{transform:translate(-50%,-50%) translateY(-6px) scale(1.018);outline:none;filter:brightness(1.015)}
.portal-card.portal-open:hover .portal-browser,.portal-card.portal-open:focus-visible .portal-browser{box-shadow:12px 16px 0 rgba(52,43,99,.10),0 28px 58px rgba(52,43,99,.16),0 0 34px rgba(246,217,120,.25)}
.portal-card.portal-open:hover .portal-aura,.portal-card.portal-open:focus-visible .portal-aura{transform:translate(-50%,-50%) scale(1.07);filter:blur(25px)}
.portal-card.portal-open:hover .portal-art,.portal-card.portal-open:focus-visible .portal-art{transform:translateY(-3px) scale(1.025)}
@keyframes browserPortalBreathe{50%{transform:translateY(-3px) scale(1.012)}}
@keyframes portalStatusBlink{0%,84%,100%{opacity:.85}85%,91%{opacity:.18}}

.portal-moon{position:absolute;z-index:3;width:38px;left:10vw;top:23vh;opacity:.24;filter:blur(.6px);animation:portalDriftA 12s ease-in-out infinite alternate}
.portal-cloud{position:absolute;z-index:3;width:78px;right:10vw;top:20vh;opacity:.22;filter:blur(.9px);animation:portalDriftB 14s ease-in-out infinite alternate}
.portal-upstars{z-index:2;opacity:.55}
.portal-whisper{
  position:absolute;z-index:21;left:50%;top:auto;bottom:5vh;transform:translate(-50%,8px);width:max-content;
  color:#342B63;font:700 10px/1.2 "Courier New",Courier,monospace;letter-spacing:.15em;text-align:center;opacity:.45;
  background:none!important;border:0!important;box-shadow:none!important;text-shadow:0 0 8px rgba(255,249,243,.98),0 0 17px rgba(246,217,120,.58);
  transition:opacity .28s ease,transform .28s ease,letter-spacing .28s ease;pointer-events:none;
}
.portal-card:hover ~ .portal-whisper,.portal-card:focus-visible ~ .portal-whisper{opacity:.96;transform:translate(-50%,0);letter-spacing:.19em}

.portal-door.is-entering .portal-card.portal-open{animation:portalBrowserRush661 1.02s cubic-bezier(.16,.76,.18,1) forwards}
.portal-door.is-entering .portal-copy,.portal-door.is-entering .portal-whisper,.portal-door.is-entering .portal-floater,.portal-door.is-entering .portal-upstars{animation:portalFade493 .30s ease forwards}
@keyframes portalBrowserRush661{
  0%{transform:translate(-50%,-50%) scale(1);opacity:1}
  48%{transform:translate(-50%,-50%) scale(1.55);opacity:1;filter:brightness(1.08) saturate(1.08)}
  100%{transform:translate(-50%,-50%) scale(4.1);opacity:0;filter:brightness(1.55) blur(4px)}
}

@media(max-width:900px){
  .portal-copy{top:4vh}.portal-copy h1{font-size:clamp(24px,6vw,42px)}
  .portal-card.portal-open{width:min(600px,78vw);top:55%}
  .portal-whisper{bottom:4vh}
}
@media(max-width:600px){
  .portal-card.portal-open{width:92vw;top:55%}.portal-browser-bar{height:38px;grid-template-columns:72px 1fr 24px;padding:0 9px}
  .portal-browser-address{height:26px;padding:6px 10px 0}.portal-browser-viewport{height:calc(100% - 88px);min-height:220px}
  .portal-browser-footer{height:24px}.portal-moon{left:5vw}.portal-cloud{right:4vw}.portal-browser-cursor{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
  .portal-card.portal-open .portal-art,.portal-moon,.portal-cloud,.portal-browser-status{animation:none!important}
}

/* =========================================================
   CABINET OF CURIOSITIES — ROOM V1
   physical filing cabinet infected by an old computer
   ========================================================= */
.cabinet-room{
  position:relative;
  z-index:2;
  width:min(1120px,calc(100% - 32px));
  margin:42px auto 90px;
  color:#342B63;
  font-family:"Courier New",Courier,monospace;
}
.cabinet-path{
  width:max-content;
  max-width:100%;
  margin:0 auto 13px;
  padding:6px 12px;
  border:1px dashed rgba(52,43,99,.32);
  background:rgba(255,249,243,.72);
  font-size:11px;
  letter-spacing:.08em;
  transform:rotate(-.35deg);
}
.cabinet-heading{
  position:relative;
  width:min(720px,100%);
  margin:0 auto 24px;
  padding:27px 30px 23px;
  text-align:center;
  border:2px solid #342B63;
  background:rgba(255,249,243,.91);
  box-shadow:8px 8px 0 rgba(150,118,211,.18);
  transform:rotate(.18deg);
}
.cabinet-window-dots{position:absolute;top:8px;left:10px;display:flex;gap:5px}
.cabinet-window-dots i{width:7px;height:7px;border:1px solid #342B63;border-radius:50%;background:#F8D5E4}
.cabinet-window-dots i:nth-child(2){background:#F6D978}
.cabinet-window-dots i:nth-child(3){background:#79D9DC}
.cabinet-kicker{margin:0 0 8px;font-size:10px;letter-spacing:.18em;opacity:.65}
.cabinet-heading h1{margin:0;font-size:clamp(27px,5vw,50px);line-height:.95;letter-spacing:.03em}
.cabinet-subtitle{margin:13px 0 0;font-family:Georgia,serif;font-style:italic;font-size:16px;color:#9676D3}

.cabinet-scene{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:50px;
  overflow:visible;
}
.cabinet-shell{
  position:relative;
  z-index:5;
  width:min(480px,78vw);
  padding:18px 18px 25px;
  border:3px solid #342B63;
  border-radius:11px 11px 7px 7px;
  background:linear-gradient(135deg,#B8A7E8 0%,#C8B8EF 48%,#A993E1 100%);
  box-shadow:
    15px 17px 0 rgba(52,43,99,.14),
    inset 8px 0 rgba(255,255,255,.16),
    inset -9px 0 rgba(52,43,99,.08);
  transform:perspective(900px) rotateY(-1.1deg) rotateZ(.25deg);
}
.cabinet-top{
  display:flex;justify-content:space-between;align-items:center;
  height:31px;padding:0 8px;margin-bottom:9px;
  border:2px solid #342B63;border-radius:5px;
  background:#E7DFF5;font-size:9px;letter-spacing:.13em;
}
.cabinet-status-light{
  width:8px;height:8px;border:1px solid #342B63;border-radius:50%;
  background:#79D9DC;box-shadow:0 0 9px rgba(121,217,220,.9);
  animation:cabinetBlink 3.7s steps(1) infinite;
}
@keyframes cabinetBlink{0%,89%,100%{opacity:1}90%,94%{opacity:.2}}

.cabinet-drawer{
  position:relative;display:block;width:100%;height:88px;margin:0 0 8px;padding:0;
  border:2px solid #342B63;border-radius:4px;
  background:linear-gradient(#D3C7F2,#BDAAE9);
  box-shadow:inset 0 7px rgba(255,255,255,.22),0 3px 0 rgba(52,43,99,.16);
  color:#342B63;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  transform:translateX(0);
}
.cabinet-drawer:hover,.cabinet-drawer:focus-visible{
  transform:translateX(11px);
  box-shadow:inset 0 7px rgba(255,255,255,.25),-9px 4px 0 rgba(52,43,99,.12);
  filter:brightness(1.025);
  outline:none;
}
.cabinet-drawer-ajar{transform:translateX(7px)}
.cabinet-drawer-ajar:hover,.cabinet-drawer-ajar:focus-visible{transform:translateX(16px)}
.drawer-handle{
  position:absolute;left:50%;top:13px;transform:translateX(-50%);
  width:98px;height:14px;border:2px solid #342B63;border-radius:3px;
  background:#9676D3;box-shadow:inset 0 -4px rgba(52,43,99,.16);
}
.drawer-label{
  position:absolute;left:50%;top:39px;transform:translateX(-50%);
  min-width:190px;padding:7px 13px 6px;
  border:1.5px solid #342B63;background:#FFF9F3;
  font:700 10px/1 "Courier New",monospace;letter-spacing:.1em;
  box-shadow:2px 2px 0 rgba(52,43,99,.11);
}
.drawer-file-tab{position:absolute;right:21px;top:42px;font-size:20px;filter:saturate(.7)}
.drawer-paper{
  position:absolute;right:18px;top:-13px;width:46px;height:41px;padding-top:9px;
  border:1px solid #342B63;background:#FFF9F3;font:700 10px/1 monospace;
  transform:rotate(5deg);z-index:-1;
}
.drawer-stars{
  position:absolute;left:22px;bottom:6px;color:#F6D978;
  text-shadow:0 0 6px rgba(246,217,120,.8);font-size:14px;
}
.drawer-ghost-eyes{position:absolute;left:28px;bottom:-7px;width:42px;height:15px;background:#342B63;border-radius:20px 20px 0 0;opacity:.9}
.drawer-ghost-eyes i{position:absolute;top:4px;width:5px;height:5px;border-radius:50%;background:#FFF9F3}
.drawer-ghost-eyes i:first-child{left:12px}.drawer-ghost-eyes i:last-child{right:12px}
.drawer-lock{position:absolute;right:17px;top:49px;font-size:8px;letter-spacing:.12em;opacity:.55}
.drawer-hover-warning{
  position:absolute;right:-78px;top:35px;padding:4px 7px;
  background:#FFF9F3;border:1px dashed #342B63;font:italic 11px Georgia,serif;
  opacity:0;transform:rotate(3deg) translateX(-5px);transition:.2s ease;
}
.cabinet-drawer-locked:hover .drawer-hover-warning,.cabinet-drawer-locked:focus-visible .drawer-hover-warning{opacity:1;transform:rotate(3deg) translateX(0)}
.cabinet-feet{position:absolute;left:0;right:0;bottom:-20px;display:flex;justify-content:space-between;padding:0 35px}
.cabinet-feet i{width:48px;height:21px;border:3px solid #342B63;border-top:0;background:#9676D3}

.cabinet-floating-window{
  position:absolute;z-index:3;left:9%;top:130px;width:210px;
  border:2px solid #342B63;background:#FFF9F3;
  box-shadow:7px 7px 0 rgba(121,217,220,.23);
  transform:rotate(-3deg);
}
.cabinet-mini-title{padding:5px 8px;border-bottom:2px solid #342B63;background:#F4A6C6;font-size:9px;font-weight:700}
.cabinet-mini-body{padding:15px;font-size:11px;line-height:1.65}
.cabinet-sticky{
  position:absolute;z-index:8;width:115px;min-height:100px;padding:25px 13px 13px;
  background:#F6D978;border:1px solid rgba(52,43,99,.35);
  box-shadow:3px 4px 0 rgba(52,43,99,.1);
  font:700 12px/1.45 "Courier New",monospace;text-align:center;
}
.cabinet-sticky:before{content:"";position:absolute;top:8px;left:42%;width:28px;height:7px;background:rgba(255,249,243,.55);transform:rotate(-3deg)}
.cabinet-sticky-left{left:4%;top:395px;transform:rotate(-7deg)}
.cabinet-sticky-right{right:6%;top:190px;transform:rotate(6deg);background:#F8D5E4}
.cabinet-pixel-folder{position:absolute;z-index:7;font-size:38px;filter:saturate(.65);user-select:none}
.cabinet-folder-one{right:13%;top:440px;transform:rotate(10deg)}
.cabinet-folder-two{left:17%;top:565px;transform:rotate(-8deg)}
.cabinet-instruction{text-align:center;margin:-5px auto 0;font-size:10px;letter-spacing:.08em;opacity:.55}

/* Crooked computer window opened from a physical drawer */
.drawer-overlay{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  padding:24px;background:rgba(52,43,99,.34);backdrop-filter:blur(2px);
}
.drawer-overlay[hidden]{display:none}
.drawer-window{
  width:min(620px,92vw);max-height:82vh;overflow:auto;
  border:3px solid #342B63;background:#FFF9F3;
  box-shadow:13px 13px 0 rgba(52,43,99,.25);
  transform:rotate(-.45deg);
  color:#342B63;font-family:"Courier New",Courier,monospace;
}
.drawer-window-bar{
  position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;
  min-height:34px;padding:4px 6px 4px 11px;border-bottom:3px solid #342B63;
  background:#B8A7E8;font-size:11px;font-weight:700;letter-spacing:.08em;
}
.drawer-window-close{
  width:25px;height:23px;border:2px solid #342B63;background:#F8D5E4;color:#342B63;
  font:bold 18px/15px monospace;cursor:pointer;
}
.drawer-window-content{padding:23px}
.drawer-system-line{margin:0 0 18px;padding-bottom:10px;border-bottom:1px dashed rgba(52,43,99,.3);font-size:10px;opacity:.65}
.case-file{
  margin:0 0 13px;padding:16px;border:2px solid #342B63;background:#FFF9F3;
  box-shadow:4px 4px 0 rgba(150,118,211,.15);
}
.case-file>div{display:flex;justify-content:space-between;gap:15px;font-size:10px}
.case-file h2{margin:9px 0 6px;font-size:16px}
.case-file p{margin:0 0 11px;font:13px/1.45 Georgia,serif}
.case-status{padding:2px 5px;background:#F6D978;border:1px solid #342B63;font-size:8px}
.case-file-muted{opacity:.68}
.case-open{padding:5px 9px;border:1px solid #342B63;background:#E7DFF5;color:#342B63;font:9px monospace}
.empty-drawer,.occult-drawer,.access-denied{padding:35px 20px;text-align:center;border:1px dashed rgba(52,43,99,.35);background:#FFF9F3}
.empty-drawer span{font-size:28px}.empty-drawer p,.occult-drawer p{margin:12px 0 5px;font:bold 14px monospace}
.empty-drawer small,.occult-drawer small{font:italic 12px Georgia,serif;opacity:.65}
.occult-stars{font-size:25px;color:#9676D3;letter-spacing:.22em}
.access-denied strong{display:block;margin-bottom:17px;font-size:22px;letter-spacing:.08em}
.access-denied p{margin:5px 0;font:14px Georgia,serif}
.access-denied button{margin-top:20px;padding:7px 18px;border:2px solid #342B63;background:#F8D5E4;color:#342B63;font:bold 10px monospace;cursor:pointer}
body.drawer-is-open{overflow:hidden}

@media(max-width:820px){
  .cabinet-scene{min-height:690px;padding-top:38px}
  .cabinet-floating-window{left:0;top:95px;transform:rotate(-3deg) scale(.8);transform-origin:left top}
  .cabinet-sticky-left{left:0;top:475px;transform:rotate(-7deg) scale(.78)}
  .cabinet-sticky-right{right:0;top:165px;transform:rotate(6deg) scale(.78)}
  .cabinet-folder-one{right:2%}.cabinet-folder-two{left:4%}
  .drawer-hover-warning{right:8px;top:67px}
}
@media(max-width:560px){
  .cabinet-room{width:min(100% - 18px,1120px);margin-top:25px}
  .cabinet-heading{padding-left:14px;padding-right:14px}
  .cabinet-scene{min-height:650px}
  .cabinet-shell{width:82vw;padding:12px 12px 19px}
  .cabinet-drawer{height:78px}
  .drawer-label{min-width:160px;font-size:9px}
  .cabinet-floating-window,.cabinet-sticky,.cabinet-pixel-folder{opacity:.38}
  .cabinet-floating-window{left:-25px}
  .cabinet-sticky-right{right:-18px}
}


/* =========================================================
   CABINET V2 — THE ROOM ACCUMULATES EVIDENCE
   ========================================================= */
.cabinet-scene{isolation:isolate}
.cabinet-shell{z-index:10}
.cabinet-prop{position:absolute;display:block;pointer-events:none;user-select:none;z-index:4}
.prop-thread{width:245px;left:9%;top:82px;transform:rotate(-9deg);opacity:.88}
.prop-news{width:118px;right:11%;top:365px;transform:rotate(8deg);z-index:12;filter:drop-shadow(3px 4px 0 rgba(52,43,99,.10))}
.prop-magnifier{width:112px;right:8%;top:515px;transform:rotate(12deg);z-index:13;filter:drop-shadow(3px 4px 0 rgba(52,43,99,.10))}
.prop-papers{width:175px;left:8%;top:545px;transform:rotate(-6deg);z-index:3;filter:drop-shadow(5px 5px 0 rgba(52,43,99,.08))}
.prop-floppies{width:145px;right:10%;top:92px;transform:rotate(7deg);z-index:5;filter:drop-shadow(4px 5px 0 rgba(52,43,99,.10))}

.drawer-real-folders{position:absolute;width:92px;right:11px;top:-24px;z-index:-1;transform:rotate(4deg);transition:transform .2s ease,top .2s ease;pointer-events:none}
.cabinet-drawer[data-drawer="active"]:hover .drawer-real-folders,.cabinet-drawer[data-drawer="active"]:focus-visible .drawer-real-folders{top:-30px;transform:rotate(6deg) translateX(3px)}

.cabinet-drawer[data-drawer="occult"]{overflow:visible;background:linear-gradient(#c9b8ef,#b39be4)}
.drawer-impossible{position:absolute;left:19px;right:19px;top:-5px;height:21px;overflow:hidden;z-index:0;border-radius:2px 2px 8px 8px;background:#171525;box-shadow:inset 0 -5px 8px rgba(0,0,0,.35),0 0 8px rgba(246,217,120,.22);opacity:.88;transition:height .22s ease,top .22s ease,opacity .22s ease}
.drawer-impossible img{position:absolute;width:73px;height:auto;left:50%;top:-7px;transform:translateX(-50%);filter:saturate(.82) brightness(.95)}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible,.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible{height:31px;top:-13px;opacity:1}
.cabinet-drawer[data-drawer="occult"] .drawer-stars{z-index:2;left:25px;color:#F6D978}

.cabinet-drawer[data-drawer="unexplained"]{overflow:visible}
.cabinet-ghost-resident{position:absolute;width:72px;left:19px;bottom:-2px;z-index:-1;pointer-events:none;transform:translateY(-45px);transform-origin:center bottom;filter:drop-shadow(0 2px 0 rgba(52,43,99,.10));transition:transform .13s ease-in,opacity .13s ease-in}
.cabinet-drawer[data-drawer="unexplained"]:hover .cabinet-ghost-resident,.cabinet-drawer[data-drawer="unexplained"]:focus-visible .cabinet-ghost-resident{transform:translateY(3px);opacity:.08}
.cabinet-drawer[data-drawer="unexplained"]:not(:hover) .cabinet-ghost-resident{transition-delay:.48s;transition-duration:.32s;transition-timing-function:cubic-bezier(.2,.8,.25,1.2)}
.drawer-ghost-eyes{display:none!important}

.cabinet-folder-one,.cabinet-folder-two{display:none}
.cabinet-sticky-left{left:2%;top:395px}
.cabinet-sticky-right{right:3%;top:190px}
.cabinet-floating-window{left:5%;top:165px}

.cabinet-drawer:nth-of-type(3){margin-left:-3px;width:calc(100% + 1px)}
.cabinet-drawer:nth-of-type(4){margin-left:2px;width:calc(100% - 1px)}
.cabinet-drawer:nth-of-type(6){margin-left:-2px}

@media(max-width:820px){
  .prop-thread{width:180px;left:0;top:75px;opacity:.55}
  .prop-floppies{width:105px;right:0;top:105px;opacity:.7}
  .prop-news{width:85px;right:0;top:390px;opacity:.7}
  .prop-magnifier{width:82px;right:0;top:535px;opacity:.65}
  .prop-papers{width:125px;left:0;top:565px;opacity:.6}
}
@media(max-width:560px){
  .cabinet-prop{opacity:.28!important}
  .drawer-real-folders{width:72px}
  .cabinet-ghost-resident{width:61px;left:11px}
}


/* =========================================================
   CABINET V3 — GRAVITY OUTSIDE, DREAM LOGIC INSIDE
   Props now belong physically to the cabinet instead of floating around it.
   ========================================================= */

/* Pull the room inward: fewer "stickers in space", more evidence in use. */
.prop-floppies{
  width:112px;
  left:50%;
  right:auto;
  top:42px;
  transform:translateX(116px) rotate(5deg);
  z-index:14;
  opacity:.96;
}
.prop-thread{
  width:205px;
  left:50%;
  top:155px;
  transform:translateX(-315px) rotate(-7deg);
  z-index:8;
  opacity:.78;
}
.prop-news{
  width:104px;
  right:auto;
  left:50%;
  top:382px;
  transform:translateX(185px) rotate(5deg);
  z-index:9;
  opacity:.96;
}
.prop-magnifier{
  width:88px;
  right:auto;
  left:50%;
  top:575px;
  transform:translateX(168px) rotate(17deg);
  z-index:13;
  opacity:.96;
}
.prop-papers{
  width:145px;
  left:50%;
  top:630px;
  transform:translateX(-230px) rotate(-4deg);
  z-index:6;
  opacity:.96;
}

/* Make ACTIVE CASES look rummaged-through rather than decorated. */
.drawer-real-folders{
  width:82px;
  right:16px;
  top:-19px;
  transform:rotate(3deg);
}
.cabinet-drawer[data-drawer="active"]:hover .drawer-real-folders,
.cabinet-drawer[data-drawer="active"]:focus-visible .drawer-real-folders{
  top:-25px;
  transform:rotate(5deg) translateX(2px);
}

/* Give OCCULT FILES enough of a crack to reveal the impossible geometry. */
.drawer-impossible{
  left:14px;
  right:14px;
  top:-10px;
  height:31px;
  border-radius:3px 3px 10px 10px;
  box-shadow:
    inset 0 -8px 10px rgba(0,0,0,.42),
    0 0 9px rgba(246,217,120,.28);
}
.drawer-impossible img{
  width:92px;
  top:-9px;
  filter:saturate(.88) brightness(1.05);
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible{
  height:43px;
  top:-20px;
}
.cabinet-drawer[data-drawer="occult"] .drawer-stars{
  opacity:.65;
}

/* Cabinet Ghost: clearly visible until caught looking. */
.cabinet-ghost-resident{
  width:78px;
  left:17px;
  bottom:-1px;
  transform:translateY(-54px);
  opacity:1;
  z-index:-1;
}
.cabinet-drawer[data-drawer="unexplained"]:hover .cabinet-ghost-resident,
.cabinet-drawer[data-drawer="unexplained"]:focus-visible .cabinet-ghost-resident{
  transform:translateY(9px);
  opacity:0;
}
.cabinet-drawer[data-drawer="unexplained"]:not(:hover) .cabinet-ghost-resident{
  transition-delay:.55s;
  transition-duration:.34s;
}

/* Existing decorative notes stay, but step back from the cabinet itself. */
.cabinet-sticky-left{left:3%;top:420px;transform:rotate(-4deg) scale(.92)}
.cabinet-sticky-right{right:4%;top:210px;transform:rotate(4deg) scale(.92)}
.cabinet-floating-window{left:4%;top:180px;transform:rotate(-2deg) scale(.94)}

/* On narrower layouts, keep props attached rather than scattering them. */
@media(max-width:820px){
  .prop-floppies{left:50%;top:50px;width:88px;transform:translateX(82px) rotate(5deg);opacity:.9}
  .prop-thread{left:50%;top:165px;width:155px;transform:translateX(-230px) rotate(-7deg);opacity:.52}
  .prop-news{left:50%;top:390px;width:78px;transform:translateX(132px) rotate(5deg);opacity:.82}
  .prop-magnifier{left:50%;top:565px;width:68px;transform:translateX(120px) rotate(17deg);opacity:.82}
  .prop-papers{left:50%;top:620px;width:108px;transform:translateX(-170px) rotate(-4deg);opacity:.82}
}
@media(max-width:560px){
  .prop-thread{display:none}
  .prop-news{opacity:.5!important}
  .prop-magnifier{opacity:.5!important}
  .prop-papers{opacity:.55!important}
  .prop-floppies{opacity:.7!important}
}


/* =========================================================
   CABINET V4 — SURGICAL POLISH
   The furniture obeys gravity. What is behind it does not.
   ========================================================= */

/* Retire the older yellow note so the left side can breathe. */
.cabinet-sticky-left{display:none!important}

/* Red thread now has a job: it starts near the remaining research note
   and disappears behind the cabinet instead of floating in open space. */
.prop-thread{
  width:172px;
  left:50%;
  top:205px;
  transform:translateX(-302px) rotate(8deg);
  z-index:9;
  opacity:.96;
  filter:drop-shadow(0 1px 0 rgba(52,43,99,.08));
}

/* Ghost Employee™: visible enough to discover, still small enough to miss at first. */
.cabinet-ghost-resident{
  width:88px;
  left:22px;
  bottom:-1px;
  z-index:1;
  transform:translateY(-62px);
  opacity:1;
  filter:drop-shadow(0 2px 1px rgba(52,43,99,.13));
}
.cabinet-drawer[data-drawer="unexplained"]{
  z-index:6;
}
.cabinet-drawer[data-drawer="unexplained"]:hover .cabinet-ghost-resident,
.cabinet-drawer[data-drawer="unexplained"]:focus-visible .cabinet-ghost-resident{
  transform:translateY(11px);
  opacity:0;
  transition-delay:0s;
  transition-duration:.12s;
}
.cabinet-drawer[data-drawer="unexplained"]:not(:hover) .cabinet-ghost-resident{
  transition-delay:.58s;
  transition-duration:.34s;
  transition-timing-function:cubic-bezier(.2,.82,.24,1.12);
}

/* OCCULT FILES: remove the "black thumbnail" look.
   The darkness is now only the hairline space BEHIND the drawer face. */
.cabinet-drawer[data-drawer="occult"]{
  z-index:7;
  background:linear-gradient(#c9b8ef,#b39be4);
}
.drawer-impossible{
  left:22px;
  right:22px;
  top:-7px;
  height:15px;
  z-index:-1;
  overflow:hidden;
  border-radius:45% 55% 4px 4px / 8px 8px 3px 3px;
  background:
    radial-gradient(ellipse at 50% 20%,rgba(121,217,220,.11),transparent 43%),
    #151322;
  box-shadow:
    inset 0 -7px 8px rgba(0,0,0,.52),
    0 -2px 7px rgba(246,217,120,.16);
  opacity:1;
  transform:perspective(120px) rotateX(-3deg);
  transform-origin:bottom center;
}
.drawer-impossible::before,
.drawer-impossible::after{
  content:"";
  position:absolute;
  width:3px;height:3px;
  border-radius:50%;
  background:#F6D978;
  opacity:.72;
  box-shadow:18px 4px 0 #FFF9F3,47px 1px 0 #79D9DC,76px 5px 0 #F6D978;
}
.drawer-impossible::before{left:14%;top:4px}
.drawer-impossible::after{right:18%;top:7px;transform:scale(.7)}
.drawer-impossible img{
  width:128px;
  left:50%;
  top:-20px;
  transform:translateX(-50%) scale(1.05);
  transform-origin:center top;
  filter:saturate(.78) brightness(.93) contrast(1.06);
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible{
  top:-18px;
  height:31px;
  left:18px;
  right:18px;
  box-shadow:
    inset 0 -10px 12px rgba(0,0,0,.48),
    0 -3px 10px rgba(246,217,120,.22);
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible img,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible img{
  top:-14px;
  transform:translateX(-50%) scale(1.18);
}
.cabinet-drawer[data-drawer="occult"] .drawer-stars{
  display:none!important;
}

/* Keep the drawer face in front of the impossible space. */
.cabinet-drawer[data-drawer="occult"] .drawer-label,
.cabinet-drawer[data-drawer="occult"] .drawer-handle,
.cabinet-drawer[data-drawer="occult"] .drawer-meta{
  position:relative;
  z-index:3;
}

/* Slight physical overlap: the newspaper looks caught behind the cabinet edge. */
.prop-news{
  left:50%;
  top:388px;
  width:98px;
  transform:translateX(176px) rotate(7deg);
  z-index:8;
}

/* Magnifier rests near the cabinet base rather than hovering beside a drawer. */
.prop-magnifier{
  left:50%;
  top:604px;
  width:82px;
  transform:translateX(148px) rotate(20deg);
  z-index:13;
}

/* Paper pile sits lower and partly under the cabinet footprint. */
.prop-papers{
  left:50%;
  top:645px;
  width:138px;
  transform:translateX(-205px) rotate(-3deg);
  z-index:5;
}

@media(max-width:820px){
  .prop-thread{width:132px;left:50%;top:214px;transform:translateX(-218px) rotate(8deg);opacity:.76}
  .cabinet-ghost-resident{width:76px;left:15px;transform:translateY(-54px)}
  .drawer-impossible img{width:108px}
}
@media(max-width:560px){
  .prop-thread{display:none}
  .cabinet-ghost-resident{width:67px;left:11px;transform:translateY(-48px)}
}


/* =========================================================
   CABINET V5 — INTEGRATION PASS
   Physical evidence outside; impossible space inside.
   ========================================================= */

/* OCCULT FILES: keep the opening restrained, but make the contents legible. */
.drawer-impossible{
  left:24px;
  right:24px;
  top:-8px;
  height:17px;
  border-radius:52% 48% 3px 3px / 7px 7px 2px 2px;
  background:
    radial-gradient(ellipse at 52% 8%, rgba(121,217,220,.13), transparent 38%),
    #151322;
  box-shadow:
    inset 0 -8px 9px rgba(0,0,0,.55),
    0 -2px 6px rgba(246,217,120,.14);
}
.drawer-impossible img{
  width:168px;
  left:50%;
  top:-45px;
  transform:translateX(-50%) scale(1.08);
  transform-origin:center top;
  filter:saturate(.76) brightness(.96) contrast(1.08);
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible{
  left:21px;
  right:21px;
  top:-15px;
  height:27px;
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible img,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible img{
  width:178px;
  top:-39px;
  transform:translateX(-50%) scale(1.1);
}

/* The escaped paper pile now sits off-axis and partly under the cabinet. */
.prop-papers{
  width:126px;
  left:50%;
  top:651px;
  transform:translateX(-272px) rotate(-10deg);
  transform-origin:center;
  z-index:5;
  opacity:.93;
  filter:drop-shadow(3px 4px 0 rgba(52,43,99,.07)) saturate(.88);
}

/* Slightly harmonize imported art so it belongs to the room. */
.prop-news{
  top:392px;
  transform:translateX(181px) rotate(8deg);
  filter:drop-shadow(2px 3px 0 rgba(52,43,99,.08)) saturate(.82) contrast(.96);
}
.prop-magnifier{
  top:607px;
  transform:translateX(151px) rotate(22deg);
  filter:drop-shadow(2px 3px 0 rgba(52,43,99,.09)) saturate(.88);
}
.prop-floppies{
  filter:drop-shadow(3px 4px 0 rgba(52,43,99,.09)) saturate(.90);
}
.prop-thread{
  filter:drop-shadow(0 1px 0 rgba(52,43,99,.08)) saturate(.88);
}

/* Ghost Employee stays where he finally works. */
.cabinet-ghost-resident{
  width:88px;
  left:22px;
  bottom:-1px;
}

@media(max-width:820px){
  .prop-papers{
    width:104px;
    left:50%;
    top:632px;
    transform:translateX(-205px) rotate(-10deg);
  }
  .drawer-impossible img{width:142px;top:-38px}
  .cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible img,
  .cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible img{
    width:151px;top:-33px;
  }
}
@media(max-width:560px){
  .prop-papers{
    width:90px;
    transform:translateX(-158px) rotate(-9deg);
  }
}


/* =========================================================
   CABINET V4.16 — THE CABINET, DISTILLED
   One authored object in a strange quiet room.
   Exterior clutter is removed; each drawer carries the story.
   ========================================================= */

/* Remove the satellite collage. Empty space is now part of the scene. */
.cabinet-prop,
.cabinet-sticky-left,
.cabinet-sticky-right,
.cabinet-floating-window,
.cabinet-folder-one,
.cabinet-folder-two{
  display:none!important;
}

/* Keep the cabinet visually dominant and give it deliberate breathing room. */
.cabinet-scene{
  min-height:760px;
}
.cabinet-shell{
  position:relative;
  z-index:10;
  filter:drop-shadow(0 16px 18px rgba(52,43,99,.10));
}

/* A faint "floor" under the cabinet makes it an object in a room,
   without introducing another illustration asset. */
.cabinet-shell::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-25px;
  height:22px;
  z-index:-5;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(52,43,99,.13) 0%,
    rgba(52,43,99,.055) 43%,
    rgba(52,43,99,0) 73%);
  filter:blur(5px);
  pointer-events:none;
}

/* Every drawer gets a restrained physical hover, not a UI-card effect. */
.cabinet-drawer{
  transition:transform .18s ease, box-shadow .18s ease;
  transform-origin:center;
}
.cabinet-drawer:hover,
.cabinet-drawer:focus-visible{
  transform:translateX(5px);
  box-shadow:-5px 5px 0 rgba(52,43,99,.08);
}

/* ACTIVE CASES: real folders physically live in this drawer. */
.drawer-real-folders{
  display:block!important;
  width:92px;
  right:13px;
  top:-23px;
  z-index:-1;
  transform:rotate(3deg);
  filter:saturate(.88) drop-shadow(1px 2px 0 rgba(52,43,99,.08));
}
.cabinet-drawer[data-drawer="active"]:hover .drawer-real-folders,
.cabinet-drawer[data-drawer="active"]:focus-visible .drawer-real-folders{
  top:-30px;
  transform:rotate(5deg) translateX(2px);
}

/* STRANGE CONNECTIONS: the drawer itself contains the thread.
   No external Canva strand required. */
.cabinet-drawer[data-drawer="connections"]::before{
  content:"";
  position:absolute;
  left:18px;
  top:-4px;
  width:72px;
  height:17px;
  z-index:-1;
  opacity:.72;
  background:
    linear-gradient(15deg,
      transparent 0 8%,
      #e45d86 9% 11%,
      transparent 12% 29%,
      #e45d86 30% 32%,
      transparent 33% 51%,
      #e45d86 52% 54%,
      transparent 55% 100%);
  clip-path:polygon(0 48%,18% 28%,35% 61%,53% 35%,71% 64%,100% 42%,100% 58%,72% 79%,53% 50%,35% 76%,17% 43%,0 65%);
  transition:top .18s ease, opacity .18s ease;
}
.cabinet-drawer[data-drawer="connections"]:hover::before,
.cabinet-drawer[data-drawer="connections"]:focus-visible::before{
  top:-9px;
  opacity:.95;
}

/* CULTURAL ARTIFACTS: a tiny archival disk edge peeks from the seam.
   CSS-built so it shares the cabinet's line language. */
.cabinet-drawer[data-drawer="artifacts"]::before{
  content:"";
  position:absolute;
  right:24px;
  top:-10px;
  width:31px;
  height:22px;
  z-index:-1;
  border:2px solid #342B63;
  border-radius:2px;
  background:
    linear-gradient(#79D9DC 0 36%,#F4A6C6 36% 100%);
  box-shadow:inset 7px 0 0 rgba(255,249,243,.55);
  transform:rotate(5deg);
  transition:top .18s ease, transform .18s ease;
}
.cabinet-drawer[data-drawer="artifacts"]:hover::before,
.cabinet-drawer[data-drawer="artifacts"]:focus-visible::before{
  top:-16px;
  transform:rotate(8deg);
}

/* OCCULT FILES: this is the one place where physics actually breaks.
   A narrow darkness exists behind the drawer; stairs are glimpsed, not displayed. */
.cabinet-drawer[data-drawer="occult"]{
  overflow:visible;
  z-index:7;
}
.drawer-impossible{
  display:block!important;
  left:26px;
  right:26px;
  top:-8px;
  height:18px;
  z-index:-1;
  overflow:hidden;
  border-radius:48% 52% 3px 3px / 7px 7px 2px 2px;
  background:#151322;
  box-shadow:
    inset 0 -8px 10px rgba(0,0,0,.55),
    0 -2px 7px rgba(246,217,120,.17);
}
.drawer-impossible img{
  display:block!important;
  width:154px;
  position:absolute;
  left:50%;
  top:-40px;
  transform:translateX(-50%);
  filter:saturate(.75) brightness(.97) contrast(1.08);
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible{
  top:-16px;
  height:28px;
  left:22px;
  right:22px;
}
.cabinet-drawer[data-drawer="occult"]:hover .drawer-impossible img,
.cabinet-drawer[data-drawer="occult"]:focus-visible .drawer-impossible img{
  width:166px;
  top:-35px;
}
.cabinet-drawer[data-drawer="occult"] .drawer-stars{
  display:none!important;
}

/* UNEXPLAINED: Ghost Employee™ keeps his job and his hiding place. */
.cabinet-drawer[data-drawer="unexplained"]{
  overflow:visible;
  z-index:6;
}
.cabinet-ghost-resident{
  display:block!important;
  width:88px;
  left:22px;
  bottom:-1px;
  z-index:1;
  opacity:1;
  transform:translateY(-62px);
  filter:drop-shadow(0 2px 1px rgba(52,43,99,.12));
}
.cabinet-drawer[data-drawer="unexplained"]:hover .cabinet-ghost-resident,
.cabinet-drawer[data-drawer="unexplained"]:focus-visible .cabinet-ghost-resident{
  transform:translateY(11px);
  opacity:0;
  transition-delay:0s;
  transition-duration:.12s;
}
.cabinet-drawer[data-drawer="unexplained"]:not(:hover) .cabinet-ghost-resident{
  transition-delay:.58s;
  transition-duration:.34s;
  transition-timing-function:cubic-bezier(.2,.82,.24,1.12);
}

/* DO NOT OPEN gets nothing. The refusal is the worldbuilding. */
.cabinet-drawer[data-drawer="locked"]{
  transform:translateX(-1px);
}
.cabinet-drawer[data-drawer="locked"]:hover,
.cabinet-drawer[data-drawer="locked"]:focus-visible{
  transform:translateX(-1px);
  box-shadow:none;
}

/* Preserve the charming slightly-wrong physical alignment. */
.cabinet-drawer:nth-of-type(3){margin-left:-3px;width:calc(100% + 1px)}
.cabinet-drawer:nth-of-type(4){margin-left:2px;width:calc(100% - 1px)}
.cabinet-drawer:nth-of-type(6){margin-left:-2px}

@media(max-width:820px){
  .cabinet-scene{min-height:700px}
  .drawer-real-folders{width:78px}
  .cabinet-ghost-resident{width:76px;left:15px;transform:translateY(-54px)}
  .drawer-impossible img{width:136px;top:-35px}
}
@media(max-width:560px){
  .cabinet-scene{min-height:650px}
  .cabinet-ghost-resident{width:67px;left:11px;transform:translateY(-48px)}
}


/* =========================================================
   CABINET V4.17 — THE ARCHIVE ROOM
   The room obeys reality. The cabinet obeys dream logic.
   ========================================================= */

/* Turn the former blank scene into an actual little room. */
.cabinet-scene{
  position:relative;
  isolation:isolate;
  min-height:790px;
  overflow:hidden;
  border:2px solid rgba(52,43,99,.34);
  border-radius:7px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255,249,243,.96) 0 15%, rgba(248,213,228,.54) 36%, transparent 57%),
    linear-gradient(to bottom,
      #E7DFF5 0%,
      #E7DFF5 67%,
      #F8D5E4 67%,
      #FFF9F3 100%);
  box-shadow:
    inset 0 0 0 7px rgba(255,249,243,.46),
    7px 8px 0 rgba(52,43,99,.08);
}

/* Tiny old-wall pattern: visible enough to make "wall", quiet enough not to compete. */
.cabinet-scene::before{
  content:"";
  position:absolute;
  inset:0 0 33% 0;
  z-index:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    radial-gradient(circle, rgba(150,118,211,.38) 1px, transparent 1.4px);
  background-size:18px 18px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,.22));
}

/* Baseboard = instant room logic. */
.cabinet-scene::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:66.6%;
  height:10px;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      rgba(52,43,99,.24) 0 2px,
      rgba(255,249,243,.92) 2px 7px,
      rgba(52,43,99,.16) 7px 9px,
      transparent 9px);
}

/* A soft supernatural light lives behind the cabinet, but is environmental,
   not another sticker. */
.cabinet-shell::before{
  content:"";
  position:absolute;
  z-index:-6;
  left:-82px;
  right:-82px;
  top:-70px;
  bottom:20px;
  pointer-events:none;
  border-radius:45%;
  background:
    radial-gradient(ellipse at 50% 42%,
      rgba(121,217,220,.20) 0%,
      rgba(184,167,232,.14) 34%,
      rgba(246,217,120,.07) 49%,
      transparent 70%);
  filter:blur(5px);
}

/* Strengthen contact with the floor. */
.cabinet-shell::after{
  left:7%;
  right:7%;
  bottom:-29px;
  height:25px;
  background:radial-gradient(ellipse at center,
    rgba(52,43,99,.18) 0%,
    rgba(52,43,99,.075) 45%,
    rgba(52,43,99,0) 75%);
  filter:blur(5px);
}

/* A wall-mounted archival note, made from CSS so it belongs to this room.
   It is deliberately quiet and architectural, not floating decoration. */
.cabinet-scene .cabinet-shell{
  margin-top:72px;
}
.cabinet-scene .cabinet-shell > .cabinet-top::before{
  content:"ARCHIVE 44\\A unauthorized filing observed";
  white-space:pre;
  position:absolute;
  left:-205px;
  top:-94px;
  width:150px;
  padding:13px 12px 12px;
  z-index:2;
  color:#342B63;
  background:#FFF9F3;
  border:1.5px solid rgba(52,43,99,.55);
  box-shadow:4px 4px 0 rgba(150,118,211,.16);
  font:700 10px/1.55 "Courier New",monospace;
  letter-spacing:.035em;
  transform:rotate(-2deg);
}
.cabinet-scene .cabinet-shell > .cabinet-top::after{
  content:"";
  position:absolute;
  left:-143px;
  top:-101px;
  width:28px;
  height:8px;
  z-index:3;
  background:rgba(246,217,120,.72);
  border:1px solid rgba(52,43,99,.12);
  transform:rotate(3deg);
}

/* A nearly invisible wall seam adds age without adding "content". */
.cabinet-room-seam{
  display:none!important;
}

/* Let the cabinet remain the dominant object. */
.cabinet-shell{
  filter:drop-shadow(0 18px 16px rgba(52,43,99,.12));
}

/* The floor gets a faint perspective line texture. */
.cabinet-scene .cabinet-floor-lines{
  display:none!important;
}
.cabinet-scene{
  background-color:#E7DFF5;
}
.cabinet-scene .cabinet-shell{
  z-index:10;
}

/* Add floor texture through a low, non-interactive gradient layer using
   the existing scene background only — no new art assets. */
@supports (background: repeating-linear-gradient(0deg,#000,#000)){
  .cabinet-scene{
    background:
      radial-gradient(circle at 50% 34%, rgba(255,249,243,.96) 0 15%, rgba(248,213,228,.54) 36%, transparent 57%),
      repeating-linear-gradient(96deg,
        transparent 0 48px,
        rgba(52,43,99,.035) 49px 50px,
        transparent 51px 100px),
      linear-gradient(to bottom,
        #E7DFF5 0%,
        #E7DFF5 67%,
        #F8D5E4 67%,
        #FFF9F3 100%);
  }
}

/* Mobile: preserve the sense of a room without crushing the cabinet. */
@media(max-width:820px){
  .cabinet-scene{min-height:735px}
  .cabinet-scene .cabinet-shell{margin-top:66px}
  .cabinet-scene .cabinet-shell > .cabinet-top::before{
    left:-145px;
    top:-88px;
    width:125px;
    font-size:9px;
  }
  .cabinet-scene .cabinet-shell > .cabinet-top::after{
    left:-92px;
    top:-95px;
  }
}
@media(max-width:620px){
  .cabinet-scene{
    min-height:680px;
    border-left-width:1px;
    border-right-width:1px;
  }
  .cabinet-scene .cabinet-shell{margin-top:54px}
  .cabinet-scene .cabinet-shell > .cabinet-top::before,
  .cabinet-scene .cabinet-shell > .cabinet-top::after{
    display:none;
  }
}


/* =========================================================
   CABINET V4.18 — PARANORMAL RECORDS OFFICE
   A forgotten basement department underneath the old internet.
   ========================================================= */

/* The set: wider, deeper, asymmetrical. */
.cabinet-scene{
  min-height:860px;
  overflow:hidden;
  border:2px solid #342B63;
  border-radius:4px;
  background:
    linear-gradient(90deg,rgba(52,43,99,.035) 1px,transparent 1px) 0 0/52px 100%,
    linear-gradient(to bottom,#dcd5ef 0 66%,#d7c7d8 66% 68%,#d8c9c7 68% 100%);
  box-shadow:8px 9px 0 rgba(52,43,99,.10), inset 0 0 0 7px rgba(255,249,243,.28);
}
.cabinet-scene::before{
  inset:0 0 32% 0;
  opacity:.22;
  background:
    radial-gradient(circle at 16% 22%,rgba(52,43,99,.18) 0 1px,transparent 1.5px) 0 0/21px 21px,
    linear-gradient(90deg,transparent 49.5%,rgba(52,43,99,.06) 50%,transparent 50.5%) 0 0/104px 100%;
}
.cabinet-scene::after{
  top:67%;
  height:12px;
  background:linear-gradient(to bottom,#6f648b 0 2px,#f7eee8 2px 8px,#9b8ba2 8px 10px,transparent 10px);
}

/* Cabinet moves off-center: it is furniture now, not a product hero. */
.cabinet-scene .cabinet-shell{
  margin-top:180px;
  transform:translateX(88px) scale(.93);
  transform-origin:center bottom;
  z-index:20;
}
.cabinet-shell::before{
  left:-48px;right:-48px;top:-42px;
  background:radial-gradient(ellipse at 50% 48%,rgba(121,217,220,.12),rgba(184,167,232,.09) 38%,transparent 70%);
}
.cabinet-scene .cabinet-shell > .cabinet-top::before,
.cabinet-scene .cabinet-shell > .cabinet-top::after{
  display:none!important;
}

/* Entire office architecture is non-interactive so drawers stay clickable. */
.paranormal-office,.paranormal-office *{pointer-events:none;box-sizing:border-box}
.paranormal-office{position:absolute;inset:0;z-index:3;color:#342B63;font-family:"Courier New",monospace}

/* Fluorescent-ish basement ceiling light. */
.ceiling-light{
  position:absolute;left:50%;top:25px;width:300px;height:18px;
  transform:translateX(-50%) rotate(-.4deg);
  border:2px solid rgba(52,43,99,.42);
  background:#fff9df;
  box-shadow:0 8px 28px rgba(246,217,120,.22),0 2px 0 rgba(52,43,99,.10);
}
.ceiling-light::after{
  content:"";position:absolute;left:12%;right:12%;top:17px;height:180px;
  background:linear-gradient(to bottom,rgba(246,217,120,.07),transparent);
  clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);
}

/* Bureaucratic sign on the back wall. */
.office-sign{
  position:absolute;left:42px;top:70px;width:285px;
  padding:13px 15px 12px;
  background:#f7f0e7;border:2px solid #342B63;
  box-shadow:5px 5px 0 rgba(52,43,99,.12);
  transform:rotate(-.8deg);
}
.office-sign strong{display:block;font-size:23px;letter-spacing:.12em}
.office-sign span{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:.075em}
.office-sign small{display:block;margin-top:8px;padding-top:6px;border-top:1px dashed #9676D3;font-size:8px}

/* Impossible basement window. */
.office-night-window{
  position:absolute;right:48px;top:74px;width:170px;height:145px;
  overflow:hidden;border:7px solid #f6eee9;outline:2px solid #342B63;
  background:linear-gradient(#342B63,#5e5595 56%,#9d82bd);
  box-shadow:7px 7px 0 rgba(52,43,99,.12);
}
.office-night-window::before,.office-night-window::after{
  content:"";position:absolute;background:#f6eee9;z-index:4
}
.office-night-window::before{left:50%;top:0;bottom:0;width:5px;transform:translateX(-50%)}
.office-night-window::after{left:0;right:0;top:53%;height:5px}
.window-moon{
  position:absolute;width:31px;height:31px;border-radius:50%;right:21px;top:19px;
  background:#F6D978;box-shadow:-9px 0 0 2px #4b457c;
}
.window-star{position:absolute;width:3px;height:3px;background:#FFF9F3;box-shadow:0 0 5px #FFF9F3}
.star-a{left:24px;top:31px}.star-b{left:68px;top:18px}.star-c{right:46px;bottom:25px}
.window-blind{position:absolute;left:0;right:0;height:3px;background:rgba(255,249,243,.42);z-index:3}
.blind-a{top:20px}.blind-b{top:39px}.blind-c{top:58px}

/* Restrained evidence board: not a giant detective cliché. */
.office-bulletin{
  position:absolute;left:45px;top:255px;width:245px;height:195px;
  background:#caa98d;border:8px solid #8d6c66;outline:2px solid #342B63;
  box-shadow:7px 8px 0 rgba(52,43,99,.11);
  transform:rotate(.5deg);
}
.board-paper{position:absolute;padding:8px;background:#FFF9F3;border:1px solid rgba(52,43,99,.4);font-size:8px;line-height:1.45;box-shadow:2px 2px 0 rgba(52,43,99,.08)}
.paper-a{left:18px;top:18px;width:93px;transform:rotate(-3deg)}
.paper-b{right:17px;top:24px;width:61px;text-align:center;background:#F8D5E4;transform:rotate(4deg);font-size:10px;font-weight:700}
.board-photo{position:absolute;left:88px;bottom:22px;width:72px;height:61px;background:#e8e4dc;border:6px solid #FFF9F3;transform:rotate(2deg);box-shadow:2px 2px 0 rgba(52,43,99,.12)}
.board-photo i{position:absolute;left:9px;right:9px;bottom:8px;height:26px;background:linear-gradient(150deg,#9676D3 0 42%,#79D9DC 43% 67%,#342B63 68%)}
.board-thread{position:absolute;height:2px;background:#d95f7d;transform-origin:left center}
.thread-a{left:79px;top:74px;width:84px;transform:rotate(31deg)}
.thread-b{left:112px;top:126px;width:80px;transform:rotate(-35deg)}
.board-pin{position:absolute;width:8px;height:8px;border-radius:50%;background:#F6D978;border:1px solid #342B63}
.pin-a{left:75px;top:70px}.pin-b{right:47px;top:92px}

/* Desk occupies the left foreground, partially off-screen: room continues beyond frame. */
.office-desk{
  position:absolute;left:-38px;bottom:73px;width:315px;height:145px;
  background:#826f83;border:2px solid #342B63;border-radius:3px 3px 0 0;
  box-shadow:0 12px 0 #66566d,5px 14px 0 rgba(52,43,99,.14);
}
.office-desk::before{
  content:"";position:absolute;left:18px;right:-18px;top:-13px;height:17px;
  background:#aa94a7;border:2px solid #342B63;
}

/* CSS CRT: deliberately chunky old-web geometry. */
.crt{position:absolute;left:24px;top:-104px;width:128px;height:103px;background:#ddd5dc;border:3px solid #342B63;border-radius:8px 8px 4px 4px;box-shadow:5px 5px 0 rgba(52,43,99,.15)}
.crt-screen{position:absolute;left:10px;right:10px;top:10px;height:64px;padding:9px 7px;background:#26384a;border:3px inset #766e83;color:#79D9DC;font-size:6px;line-height:1.5;text-shadow:0 0 5px rgba(121,217,220,.6)}
.crt-screen span,.crt-screen b,.crt-screen em{display:block}.crt-screen b{color:#F6D978;font-size:7px}.crt-screen em{color:#F8D5E4;font-style:normal;margin-top:3px}
.crt-button{position:absolute;right:12px;bottom:9px;width:7px;height:7px;border-radius:50%;background:#79D9DC;border:1px solid #342B63}
.crt-base{position:absolute;left:24px;right:24px;bottom:-13px;height:14px;background:#c5bbc7;border:2px solid #342B63}

/* Desk lamp and its pool of light. */
.desk-lamp{position:absolute;right:40px;top:-99px;width:68px;height:99px}
.desk-lamp i{position:absolute;left:31px;top:25px;width:5px;height:58px;background:#342B63;transform:rotate(15deg);transform-origin:bottom}
.desk-lamp b{position:absolute;left:18px;top:7px;width:42px;height:27px;border-radius:24px 24px 8px 8px;background:#F6D978;border:2px solid #342B63;transform:rotate(14deg)}
.desk-lamp span{position:absolute;left:20px;bottom:2px;width:52px;height:10px;border-radius:50%;background:#342B63}
.desk-lamp::after{content:"";position:absolute;right:-7px;top:28px;width:82px;height:78px;background:linear-gradient(145deg,rgba(246,217,120,.17),transparent 68%);clip-path:polygon(20% 0,64% 0,100% 100%,0 100%)}

/* Physical desk clutter: simple, same line language. */
.desk-folders{position:absolute;left:170px;top:23px;width:74px;height:34px}
.desk-folders i{position:absolute;left:0;width:70px;height:12px;border:1.5px solid #342B63;background:#F4A6C6}
.desk-folders i:nth-child(1){top:0;transform:rotate(-2deg)}.desk-folders i:nth-child(2){top:9px;background:#B8A7E8;transform:rotate(2deg)}.desk-folders i:nth-child(3){top:18px;background:#FFF9F3;transform:rotate(-1deg)}
.desk-mug{position:absolute;right:14px;top:22px;width:31px;height:31px;padding-top:8px;text-align:center;border:2px solid #342B63;border-radius:3px 3px 9px 9px;background:#79D9DC;font-size:8px;font-weight:700}
.desk-mug::after{content:"";position:absolute;right:-11px;top:6px;width:12px;height:15px;border:2px solid #342B63;border-left:0;border-radius:0 9px 9px 0}

/* Archive boxes anchor the right-hand floor and imply more records beyond the frame. */
.archive-box{position:absolute;bottom:47px;background:#d7b38c;border:2px solid #342B63;box-shadow:5px 6px 0 rgba(52,43,99,.10);transform:rotate(1deg)}
.archive-box::before{content:"";position:absolute;left:-5px;right:-5px;top:-8px;height:10px;background:#e5c39e;border:2px solid #342B63}
.archive-box span{display:block;margin:17px 12px 0;padding:5px;background:#f7f0e7;border:1px solid #342B63;text-align:center;font-size:8px;font-weight:700}
.box-a{right:31px;width:137px;height:93px}.box-b{right:-42px;bottom:132px;width:120px;height:80px;transform:rotate(-2deg)}
.floor-cable{position:absolute;right:110px;bottom:18px;width:160px;height:48px;border-bottom:3px solid #342B63;border-radius:50%;transform:rotate(-4deg);opacity:.55}

/* Cabinet stays readable over the office set. */
.cabinet-drawer{position:relative}
.cabinet-shell{filter:drop-shadow(0 17px 15px rgba(52,43,99,.15))}

/* Responsive: retain "office" identity without crushing interactions. */
@media(max-width:900px){
  .cabinet-scene .cabinet-shell{transform:translateX(60px) scale(.88);margin-top:185px}
  .office-bulletin{left:25px;width:205px}
  .office-sign{left:25px;width:245px}
  .office-night-window{right:27px;width:145px}
  .office-desk{left:-75px}
}
@media(max-width:700px){
  .cabinet-scene{min-height:790px}
  .cabinet-scene .cabinet-shell{transform:translateX(15px) scale(.84);margin-top:210px}
  .office-sign{left:18px;top:62px;width:220px}
  .office-night-window{right:20px;top:70px;width:125px;height:120px}
  .office-bulletin{left:16px;top:235px;width:175px;height:165px;opacity:.78}
  .office-desk{left:-105px;bottom:55px;transform:scale(.86);transform-origin:left bottom}
  .archive-box{opacity:.75}
}
@media(max-width:520px){
  .cabinet-scene{min-height:720px}
  .cabinet-scene .cabinet-shell{transform:translateX(0) scale(.76);margin-top:200px}
  .office-bulletin{opacity:.42;left:-45px}
  .office-night-window{right:13px;width:105px;height:105px}
  .office-sign{width:190px}
  .office-sign strong{font-size:18px}
  .office-desk{opacity:.72;left:-145px}
  .box-b{display:none}
}


/* =========================================================
   CABINET V4.19 — BASEMENT SHIFT
   Less "cabinet hero", more forgotten paranormal workplace.
   ========================================================= */

/* Let the office breathe. The frame is quieter and the scene deeper. */
.cabinet-scene{
  min-height:920px;
  border-color:rgba(52,43,99,.58);
  box-shadow:
    8px 10px 0 rgba(52,43,99,.07),
    inset 0 0 0 7px rgba(255,249,243,.22),
    inset 0 34px 70px rgba(52,43,99,.025);
}

/* Cabinet becomes one object in the room instead of THE room. */
.cabinet-scene .cabinet-shell{
  margin-top:238px;
  transform:translateX(150px) scale(.76);
  transform-origin:center bottom;
}

/* More useful left-side workstation. */
.office-desk{
  left:-18px;
  bottom:86px;
  width:355px;
  height:154px;
}
.crt{
  left:36px;
  top:-112px;
  transform:scale(1.05);
  transform-origin:left bottom;
}
.desk-lamp{right:42px;top:-103px}
.desk-folders{left:185px;top:24px}
.desk-mug{right:17px;top:24px}

/* Evidence board gets enough presence to read as actively used. */
.office-bulletin{
  left:48px;
  top:265px;
  width:275px;
  height:215px;
}
.paper-a{width:104px}
.paper-b{right:22px}
.board-photo{left:106px;bottom:24px}

/* Sign belongs to the department, not to the cabinet. */
.office-sign{
  left:48px;
  top:82px;
  width:305px;
}

/* Window remains the one clean supernatural tell. */
.office-night-window{
  right:54px;
  top:82px;
  width:184px;
  height:154px;
}

/* Archive boxes stay grounded but tuck farther into the right-hand room. */
.box-a{right:24px;bottom:58px}
.box-b{right:-35px;bottom:148px}

/* Ceiling plumbing makes the upper wall feel like a basement. */
.office-pipe{
  position:absolute;
  z-index:1;
  pointer-events:none;
}
.pipe-main{
  left:-28px;
  top:33px;
  width:430px;
  height:28px;
  border:3px solid rgba(52,43,99,.48);
  border-left:0;
  border-radius:0 14px 14px 0;
  background:linear-gradient(to bottom,#b8afbf,#ddd6df 45%,#958a9d 100%);
  box-shadow:0 5px 0 rgba(52,43,99,.07);
}
.pipe-main::after{
  content:"";
  position:absolute;
  right:-16px;
  top:8px;
  width:20px;
  height:145px;
  border:3px solid rgba(52,43,99,.48);
  border-top:0;
  border-radius:0 0 11px 11px;
  background:linear-gradient(90deg,#9f95a6,#d9d2db 52%,#8c8295);
}
.pipe-main i,.pipe-main b{
  position:absolute;
  top:-7px;
  width:12px;
  height:36px;
  border:2px solid rgba(52,43,99,.38);
  background:#b0a6b5;
}
.pipe-main i{left:86px}.pipe-main b{left:282px}

/* Clock is boring office equipment until you notice it never moved. */
.office-clock{
  position:absolute;
  right:278px;
  top:91px;
  width:76px;
  height:76px;
  border-radius:50%;
  border:4px solid #f3ece7;
  outline:2px solid #342B63;
  background:#fffaf4;
  box-shadow:4px 5px 0 rgba(52,43,99,.10);
}
.office-clock::before{
  content:"12";
  position:absolute;
  left:50%;
  top:6px;
  transform:translateX(-50%);
  font:700 7px "Courier New",monospace;
}
.office-clock span{
  position:absolute;
  right:7px;
  top:33px;
  font:700 7px "Courier New",monospace;
}
.office-clock i,.office-clock b{
  position:absolute;
  left:35px;
  top:35px;
  width:2px;
  background:#342B63;
  transform-origin:bottom center;
}
.office-clock i{height:24px;transform:translateY(-24px) rotate(132deg)}
.office-clock b{height:18px;transform:translateY(-18px) rotate(202deg)}
.office-clock em{
  position:absolute;
  left:50%;
  bottom:-22px;
  transform:translateX(-50%);
  font:700 8px "Courier New",monospace;
  font-style:normal;
  background:#FFF9F3;
  padding:2px 4px;
  border:1px solid rgba(52,43,99,.34);
}

/* Old wall intercom. */
.office-intercom{
  position:absolute;
  right:284px;
  top:205px;
  width:61px;
  height:82px;
  padding:8px;
  background:#d7d0d8;
  border:2px solid #342B63;
  box-shadow:4px 4px 0 rgba(52,43,99,.09);
}
.office-intercom i{
  display:block;
  width:100%;
  height:31px;
  background:repeating-linear-gradient(to bottom,#8b8192 0 2px,transparent 2px 5px);
  border:1px solid rgba(52,43,99,.3);
}
.office-intercom span{
  position:absolute;
  left:10px;
  bottom:10px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#F4A6C6;
  border:1px solid #342B63;
}
.office-intercom b{
  position:absolute;
  right:10px;
  bottom:13px;
  width:18px;
  height:6px;
  background:#342B63;
  opacity:.55;
}

/* Mundane bureaucratic warning = stronger than another spooky decoration. */
.evidence-notice{
  position:absolute;
  right:34px;
  top:276px;
  width:158px;
  padding:10px 8px 9px;
  text-align:center;
  background:#f4eee7;
  border:2px solid #342B63;
  box-shadow:3px 4px 0 rgba(52,43,99,.08);
  transform:rotate(1.2deg);
  font:800 11px/1.25 "Courier New",monospace;
  letter-spacing:.04em;
}
.evidence-notice small{
  font-size:8px;
  letter-spacing:.07em;
}

/* Just a sliver of another room/door: the basement continues. */
.basement-door-edge{
  position:absolute;
  right:-58px;
  top:375px;
  width:126px;
  height:315px;
  background:#a99cae;
  border:3px solid #342B63;
  box-shadow:inset 11px 0 0 rgba(255,249,243,.15);
}
.basement-door-edge::before{
  content:"";
  position:absolute;
  left:18px;
  top:138px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#F6D978;
  border:2px solid #342B63;
}
.basement-door-edge span{
  position:absolute;
  left:14px;
  top:22px;
  padding:4px 6px;
  background:#FFF9F3;
  border:1px solid #342B63;
  font:700 9px "Courier New",monospace;
}

/* A couple of pieces of clutter now have gravity and jobs. */
.floor-paper{
  position:absolute;
  left:352px;
  bottom:34px;
  width:102px;
  height:67px;
  padding:10px 9px;
  background:#FFF9F3;
  border:1px solid rgba(52,43,99,.48);
  box-shadow:3px 3px 0 rgba(52,43,99,.07);
  transform:rotate(-7deg) skewX(-3deg);
  font:700 8px/1.35 "Courier New",monospace;
}
.floor-paper small{font-size:7px;font-weight:400}

.office-id-card{
  position:absolute;
  left:251px;
  bottom:195px;
  width:79px;
  height:49px;
  padding:6px 5px 4px 27px;
  background:#FFF9F3;
  border:1px solid #342B63;
  transform:rotate(5deg);
  box-shadow:2px 2px 0 rgba(52,43,99,.08);
}
.office-id-card i{
  position:absolute;
  left:6px;
  top:8px;
  width:16px;
  height:20px;
  background:#B8A7E8;
  border:1px solid #342B63;
}
.office-id-card span,.office-id-card small{
  display:block;
  font:700 6px/1.3 "Courier New",monospace;
}
.office-id-card small{font-size:5px;font-weight:400;margin-top:3px}

/* Slight atmospheric falloff: the room gets stranger toward the edges. */
.paranormal-office::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  box-shadow:
    inset 65px 0 75px rgba(52,43,99,.035),
    inset -75px 0 90px rgba(52,43,99,.06),
    inset 0 -65px 80px rgba(52,43,99,.035);
}

/* Make the fluorescent light feel a tiny bit unreliable without being annoying. */
@keyframes archive-flicker{
  0%,94%,100%{opacity:1}
  95%{opacity:.76}
  96%{opacity:1}
  97%{opacity:.88}
  98%{opacity:1}
}
.ceiling-light{animation:archive-flicker 9s steps(1,end) infinite}

/* Responsive adjustments for the more complete room. */
@media(max-width:900px){
  .cabinet-scene .cabinet-shell{
    transform:translateX(105px) scale(.72);
    margin-top:245px;
  }
  .office-sign{left:28px;width:275px}
  .office-bulletin{left:27px;width:235px}
  .office-clock{right:215px}
  .office-intercom{right:220px}
  .office-night-window{right:28px;width:160px}
  .evidence-notice{right:25px;width:140px}
  .office-desk{left:-35px}
}
@media(max-width:700px){
  .cabinet-scene{min-height:835px}
  .cabinet-scene .cabinet-shell{
    transform:translateX(55px) scale(.68);
    margin-top:260px;
  }
  .office-clock{right:170px;transform:scale(.85)}
  .office-intercom{display:none}
  .evidence-notice{top:255px}
  .office-bulletin{top:275px;opacity:.72}
  .office-desk{left:-65px;transform:scale(.82);transform-origin:left bottom}
  .basement-door-edge{opacity:.65}
}
@media(max-width:520px){
  .cabinet-scene{min-height:760px}
  .cabinet-scene .cabinet-shell{
    transform:translateX(20px) scale(.61);
    margin-top:250px;
  }
  .office-sign{left:15px;width:205px}
  .office-clock{right:120px;top:115px;transform:scale(.72)}
  .office-night-window{right:12px;width:102px;height:102px}
  .evidence-notice{right:10px;top:235px;width:116px;font-size:9px}
  .office-bulletin{left:-42px;top:275px;opacity:.38}
  .office-desk{left:-115px;opacity:.78}
  .floor-paper,.office-id-card{display:none}
}


/* =========================================================
   CABINET V4.20 — NIGHT SHIFT
   The archive is not merely decorated. It is operating.
   ========================================================= */

/* Keep the established room composition. This pass is behavior + patina. */
.cabinet-scene{
  background:
    linear-gradient(90deg,rgba(52,43,99,.032) 1px,transparent 1px) 0 0/52px 100%,
    linear-gradient(to bottom,#d9d2eb 0 66%,#d2c1d2 66% 68%,#d5c6c3 68% 100%);
}

/* Age the institutional surfaces just a little. */
.office-sign,
.evidence-notice,
.board-paper,
.floor-paper,
.office-id-card{
  filter:saturate(.88);
}
.office-sign{transform:rotate(-1.15deg)}
.evidence-notice{transform:rotate(1.65deg)}
.office-bulletin{transform:rotate(.8deg)}
.archive-box.box-a{transform:rotate(1.5deg)}
.archive-box.box-b{transform:rotate(-2.6deg)}

/* A tiny live-status lamp on the desk. */
.desk-status-light{
  position:absolute;
  left:157px;
  top:29px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#79D9DC;
  border:1px solid #342B63;
  box-shadow:0 0 7px rgba(121,217,220,.75);
  animation:archive-status 7s steps(1,end) infinite;
}
@keyframes archive-status{
  0%,71%,75%,100%{opacity:1}
  72%,74%{opacity:.18}
  73%{opacity:.75}
}

/* The CRT breathes so faintly it should register subconsciously. */
.crt-screen{
  overflow:hidden;
  animation:crt-breathe 5.7s ease-in-out infinite;
}
.crt-screen::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.11;
  background:repeating-linear-gradient(
    to bottom,
    transparent 0 3px,
    rgba(255,255,255,.16) 4px,
    transparent 5px
  );
}
@keyframes crt-breathe{
  0%,100%{filter:brightness(.96)}
  50%{filter:brightness(1.08)}
}

/* JS adds this class only for a moment: a paper reacts to an impossible draft. */
.archive-draft-paper.archive-paper-moved{
  animation:archive-paper-draft 1.8s ease-in-out 1;
}
@keyframes archive-paper-draft{
  0%,100%{transform:rotate(-3deg) translate(0,0)}
  35%{transform:rotate(-2.2deg) translate(2px,-1px)}
  68%{transform:rotate(-3.6deg) translate(-1px,0)}
}

/* The drawer twitch is intentionally microscopic and rare. */
.cabinet-drawer.archive-drawer-twitch{
  animation:archive-drawer-twitch .85s ease-in-out 1!important;
}
@keyframes archive-drawer-twitch{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(3px)}
  58%{transform:translateX(1px)}
  75%{transform:translateX(4px)}
}

/* Ghost Employee can go "on assignment" without a dramatic animation. */
.cabinet-ghost-resident.archive-ghost-away{
  opacity:0!important;
  transform:translateY(19px)!important;
  transition:opacity .45s ease,transform .55s ease!important;
}

/* Clock remains fixed at 4:44. A tiny glow makes it suspicious only sometimes. */
.office-clock{
  animation:clock-suspicion 17s ease-in-out infinite;
}
@keyframes clock-suspicion{
  0%,82%,100%{box-shadow:4px 5px 0 rgba(52,43,99,.10)}
  87%{box-shadow:4px 5px 0 rgba(52,43,99,.10),0 0 14px rgba(246,217,120,.17)}
}

/* Let the room's edge feel a little deeper at night. */
.paranormal-office::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at 52% 49%,transparent 45%,rgba(52,43,99,.035) 100%);
}

/* Respect reduced-motion preferences: the archive becomes perfectly still. */
@media(prefers-reduced-motion:reduce){
  .ceiling-light,
  .desk-status-light,
  .crt-screen,
  .office-clock,
  .archive-draft-paper.archive-paper-moved,
  .cabinet-drawer.archive-drawer-twitch{
    animation:none!important;
  }
  .cabinet-ghost-resident.archive-ghost-away{
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   CABINET V4.21 — PIPE DREAM
   Surgical polish: believable basement plumbing + softer room contact.
   ========================================================= */

/* Replace the oversized hooked pipe with infrastructure that continues
   beyond the frame. The basement should feel bigger than the viewport. */
.pipe-main{
  left:-34px;
  right:-34px;
  top:38px;
  width:auto;
  height:18px;
  border:2px solid rgba(52,43,99,.42);
  border-left:0;
  border-right:0;
  border-radius:0;
  background:
    linear-gradient(to bottom,
      #aaa1b0 0%,
      #d8d1da 34%,
      #beb5c2 58%,
      #918798 100%);
  box-shadow:
    0 4px 0 rgba(52,43,99,.055),
    inset 0 1px rgba(255,249,243,.42);
  opacity:.88;
}

/* The old giant right-hand hook is gone. */
.pipe-main::after{
  content:"";
  position:absolute;
  left:74%;
  right:auto;
  top:15px;
  width:13px;
  height:108px;
  border:2px solid rgba(52,43,99,.38);
  border-top:0;
  border-radius:0 0 7px 7px;
  background:
    linear-gradient(90deg,
      #8f8596 0%,
      #d3ccd6 45%,
      #9b91a1 100%);
  box-shadow:3px 0 0 rgba(52,43,99,.045);
}

/* Couplings are narrow and functional rather than decorative blocks. */
.pipe-main i,
.pipe-main b{
  top:-5px;
  width:9px;
  height:27px;
  border:1.5px solid rgba(52,43,99,.36);
  background:
    linear-gradient(90deg,#968c9d,#c8c0cb 50%,#8d8394);
  box-shadow:1px 0 rgba(255,249,243,.24);
}
.pipe-main i{left:19%}
.pipe-main b{left:61%}

/* A tiny shutoff valve on the branch gives the plumbing a reason to exist. */
.pipe-main::before{
  content:"+";
  position:absolute;
  left:calc(74% - 7px);
  top:75px;
  z-index:2;
  width:24px;
  height:24px;
  border:2px solid rgba(52,43,99,.46);
  border-radius:50%;
  background:#b7acb9;
  color:#6d6276;
  text-align:center;
  font:700 20px/20px "Courier New",monospace;
  transform:rotate(45deg);
  box-shadow:2px 2px 0 rgba(52,43,99,.06);
}

/* Let the fluorescent fixture sit below the plumbing instead of tangling
   visually with it. */
.ceiling-light{
  top:72px;
  width:270px;
  height:15px;
  opacity:.94;
}

/* Move the top-wall office elements down just enough to accommodate the pipe. */
.office-sign{top:112px}
.office-night-window{top:111px}
.office-clock{top:120px}
.office-intercom{top:226px}

/* Gentle age: slightly imperfect corners and quieter shadows. */
.office-sign,
.evidence-notice,
.office-bulletin,
.office-night-window,
.crt,
.archive-box{
  box-shadow:4px 5px 0 rgba(52,43,99,.085);
}
.office-sign{border-radius:1px 3px 2px 1px}
.evidence-notice{border-radius:2px 1px 3px 1px}
.crt{border-radius:7px 9px 4px 5px}

/* Cabinet/desk contact: make furniture feel planted on the same floor. */
.cabinet-shell::after{
  bottom:-25px;
  height:22px;
  left:10%;
  right:10%;
  opacity:.78;
}
.office-desk::after{
  content:"";
  position:absolute;
  left:24px;
  right:-5px;
  bottom:-24px;
  height:22px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(52,43,99,.15) 0%,
    rgba(52,43,99,.055) 48%,
    transparent 74%);
  filter:blur(4px);
}

/* Archive boxes get tiny floor shadows too, not floating sticker shadows. */
.archive-box::after{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  bottom:-10px;
  height:9px;
  z-index:-1;
  border-radius:50%;
  background:rgba(52,43,99,.09);
  filter:blur(3px);
}

/* Responsive pipe remains a continuous architectural line. */
@media(max-width:900px){
  .pipe-main::after{left:70%;height:92px}
  .pipe-main::before{left:calc(70% - 7px);top:64px}
  .office-sign{top:110px}
  .office-night-window{top:110px}
  .office-clock{top:124px}
}
@media(max-width:700px){
  .pipe-main::after{left:66%;height:82px}
  .pipe-main::before{left:calc(66% - 7px);top:56px;transform:rotate(45deg) scale(.88)}
  .ceiling-light{width:215px}
}
@media(max-width:520px){
  .pipe-main{top:34px}
  .pipe-main::after{left:63%;height:70px}
  .pipe-main::before{display:none}
  .ceiling-light{top:66px;width:170px}
  .office-sign{top:104px}
  .office-night-window{top:105px}
}


/* =========================================================
   CABINET V4.22 — QUIET SECRETS
   Final-room polish: depth, patina, and curiosity rewards.
   ========================================================= */

/* A little more floor depth, without adding another object. */
.cabinet-scene{
  background:
    linear-gradient(90deg,rgba(52,43,99,.032) 1px,transparent 1px) 0 0/52px 100%,
    linear-gradient(to bottom,#d9d2eb 0 66%,#d2c1d2 66% 68%,#d5c6c3 68% 100%);
}
.paranormal-office{
  background:
    linear-gradient(to bottom,transparent 0 68%,rgba(52,43,99,.015) 68% 100%);
}
.paranormal-office::after{
  background:
    radial-gradient(ellipse at 54% 90%,rgba(255,249,243,.10) 0%,transparent 38%),
    linear-gradient(to bottom,transparent 64%,rgba(52,43,99,.018) 100%),
    radial-gradient(ellipse at 52% 49%,transparent 44%,rgba(52,43,99,.045) 100%);
}

/* Very faint floor seams suggest perspective instead of a flat color field. */
.floor-cable::after{
  content:"";
  position:absolute;
  z-index:-3;
  pointer-events:none;
  left:-620px;
  top:-18px;
  width:900px;
  height:180px;
  opacity:.14;
  background:
    linear-gradient(102deg,transparent 49.6%,rgba(52,43,99,.16) 50%,transparent 50.4%) 0 0/190px 100%,
    linear-gradient(78deg,transparent 49.6%,rgba(52,43,99,.12) 50%,transparent 50.4%) 0 0/230px 100%;
}

/* Tiny institutional wear: nothing grimy, just "this office has existed awhile." */
.office-clock::after{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 19%,rgba(52,43,99,.07) 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 68%,rgba(52,43,99,.045) 0 1px,transparent 1.5px);
}
.office-intercom::after{
  content:"";
  position:absolute;
  left:5px;
  right:5px;
  bottom:4px;
  height:1px;
  background:rgba(52,43,99,.16);
  transform:rotate(-1deg);
}
.office-bulletin::after{
  content:"";
  position:absolute;
  inset:4px;
  pointer-events:none;
  border:1px dashed rgba(52,43,99,.07);
}

/* Secrets look like scenery. Pointer cursor is the only overt clue on desktop. */
.ghost-secret{
  pointer-events:auto!important;
  cursor:pointer;
}
.ghost-secret:focus-visible{
  outline:2px dashed #F6D978;
  outline-offset:4px;
}

/* Window response: no popup, just a tiny impossible change. */
.office-night-window.secret-awake{
  box-shadow:
    7px 7px 0 rgba(52,43,99,.12),
    0 0 22px rgba(121,217,220,.22);
}
.office-night-window.secret-awake .window-moon{
  animation:moon-notice 1.8s ease-in-out 1;
}
@keyframes moon-notice{
  0%,100%{transform:translate(0,0)}
  45%{transform:translate(-4px,2px) scale(1.05)}
  68%{transform:translate(-3px,1px) scale(1.02)}
}

/* B-44 refuses access, politely and bureaucratically. */
.basement-door-edge.secret-denied{
  animation:b44-rattle .72s ease-in-out 1;
}
@keyframes b44-rattle{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-2px)}
  40%{transform:translateX(2px)}
  62%{transform:translateX(-1px)}
  80%{transform:translateX(1px)}
}
.basement-door-edge.secret-denied::after{
  content:"ACCESS DENIED";
  position:absolute;
  left:10px;
  top:62px;
  padding:5px 6px;
  background:#342B63;
  color:#F8D5E4;
  border:1px solid #FFF9F3;
  font:700 7px/1 "Courier New",monospace;
  letter-spacing:.05em;
  transform:rotate(-2deg);
}

/* Whisper messages appear inside the environment, then vanish. */
.archive-whisper{
  position:absolute;
  z-index:40;
  opacity:0;
  pointer-events:none;
  padding:6px 8px;
  color:#342B63;
  background:rgba(255,249,243,.92);
  border:1px solid rgba(52,43,99,.42);
  box-shadow:3px 3px 0 rgba(52,43,99,.07);
  font:700 7px/1.3 "Courier New",monospace;
  letter-spacing:.035em;
  transition:opacity .28s ease,transform .28s ease;
}
.archive-whisper.show{opacity:1;transform:translateY(-3px)}
.archive-whisper-window{right:76px;top:258px;transform:translateY(0) rotate(1deg)}
.archive-whisper-door{right:25px;top:548px;transform:translateY(0) rotate(-1deg)}

/* Preserve the "did that happen?" quality. */
@media(prefers-reduced-motion:reduce){
  .office-night-window.secret-awake .window-moon,
  .basement-door-edge.secret-denied{animation:none!important}
}
@media(max-width:700px){
  .archive-whisper-window{right:20px;top:238px}
  .archive-whisper-door{right:8px;top:515px}
}


/* V4.22.2 — make the visible B-44 sliver a reliable hit target.
   It remains visually tucked behind the cabinet, but sits above it for clicks. */
.basement-door-edge.ghost-secret{
  z-index:31!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.office-night-window.ghost-secret{
  z-index:31!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.archive-whisper{
  z-index:45!important;
}

/* V5.0 GHOST GIRL'S ROOM — homepage only */
.ghost-bedroom-page{background:radial-gradient(circle at 15% 12%,rgba(246,217,120,.3),transparent 22%),linear-gradient(180deg,#e7dff5,#f8d5e4 45%,#f4a6c6 72%,#cdecf1);background-attachment:fixed}
.bedroom-site{position:relative;overflow:hidden;background:rgba(255,249,243,.88);border:2px solid #342b63;box-shadow:10px 12px 0 rgba(52,43,99,.1)}
.bedroom-shell{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bedroom-site>*:not(.bedroom-shell){position:relative;z-index:2}
.bedroom-window{position:absolute;right:28px;top:155px;width:205px;height:145px;border:8px solid #fff9f3;outline:2px solid #342b63;box-shadow:7px 8px 0 rgba(52,43,99,.1);overflow:hidden}
.bedroom-window:before,.bedroom-window:after{content:"";position:absolute;z-index:5;background:#fff9f3}.bedroom-window:before{left:50%;top:0;bottom:0;width:6px}.bedroom-window:after{left:0;right:0;top:53%;height:6px}
.bedroom-sky{position:absolute;inset:0;background:radial-gradient(circle at 74% 22%,#f6d978 0 8%,transparent 9%),linear-gradient(#9676d3,#b8a7e8 30%,#f4a6c6 68%,#f6d978)}
.bedroom-sky i{position:absolute;right:22px;top:12px;color:#fff9f3;font-size:26px;font-style:normal}.bedroom-sky b{position:absolute;color:#fff9f3}.bedroom-sky b:nth-child(2){left:30px;top:24px}.bedroom-sky b:nth-child(3){left:78px;top:43px}
.palm-silhouette{position:absolute;left:20px;bottom:-14px;font-size:76px;filter:grayscale(1) brightness(.25) sepia(.2);transform:rotate(-4deg)}
.bedroom-wall-note{position:absolute;left:25px;top:165px;padding:9px 11px;background:#f6d978;color:#342b63;border:1px solid rgba(52,43,99,.35);font:700 9px/1.25 "Courier New";transform:rotate(-3deg);box-shadow:3px 4px rgba(52,43,99,.08)}
.bedroom-wall-note small{font-weight:400}.hanging-stars{position:absolute;left:47%;top:155px;color:#9676d3;font-size:18px;letter-spacing:10px}
.wall-cd{position:absolute;right:270px;top:180px;width:50px;height:50px;border-radius:50%;background:conic-gradient(#f4a6c6,#f6d978,#79d9dc,#b8a7e8,#f4a6c6);opacity:.4;box-shadow:inset 0 0 0 16px #fff9f3;border:1px solid #342b63}
.ghost-bedroom-page .top{background:linear-gradient(90deg,#f8d5e4,#cdecf1);border-bottom:2px solid #342b63}
.ghost-bedroom-page .masthead-v4{background:radial-gradient(circle at 50% 20%,rgba(255,249,243,.9),transparent 34%),linear-gradient(135deg,rgba(248,213,228,.5),rgba(231,223,245,.4),rgba(205,236,241,.45))}
.ghost-bedroom-page .ticker{background:linear-gradient(90deg,#f6d978,#f8d5e4,#cdecf1,#e7dff5,#f6d978);color:#342b63;border-block:2px solid #342b63}
.ghost-bedroom-page .window-box h2{background:linear-gradient(90deg,#b8a7e8,#f4a6c6 55%,#79d9dc);color:#342b63}
.ghost-bedroom-page .box,.ghost-bedroom-page .post{box-shadow:5px 6px 0 rgba(52,43,99,.08)}
.desk-strip{margin:-1px -1px 13px;padding:5px 8px;display:flex;justify-content:space-between;background:linear-gradient(90deg,#342b63,#9676d3);color:#fff9f3;font:700 8px "Courier New"}
.bedroom-note{width:122px;margin:0 auto 18px;padding:12px 10px;background:#f6d978;color:#342b63;border:1px solid rgba(52,43,99,.35);font-family:"Courier New";transform:rotate(-2.5deg);box-shadow:4px 5px rgba(52,43,99,.07)}
.bedroom-note span,.bedroom-note small{display:block;font-size:8px}.bedroom-note b{display:block;margin:5px 0;font-size:13px;line-height:1.05}
.cd-stack{position:relative;height:65px;margin:2px 6px 17px;color:#342b63;font-family:"Courier New"}.cd-stack i{position:absolute;left:7px;right:4px;height:19px;padding:4px 7px;border:1px solid rgba(52,43,99,.4);font-style:normal;font-size:7px;box-shadow:2px 3px rgba(52,43,99,.06)}.cd-stack i:nth-child(1){top:0;background:#f8d5e4;transform:rotate(2deg)}.cd-stack i:nth-child(2){top:20px;background:#e7dff5;transform:rotate(-1deg)}.cd-stack i:nth-child(3){top:40px;background:#cdecf1;transform:rotate(1deg)}
.daily-tarot{text-align:center}.tarot-date{font:8px "Courier New";color:#6f6590}.tarot-deck{width:116px;height:178px;margin:5px auto 7px;display:block;position:relative;border:0;background:transparent;perspective:700px;cursor:pointer}.tarot-card-back,.tarot-card-front{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;transition:transform .75s;border:2px solid #342b63;border-radius:8px;box-shadow:5px 6px rgba(52,43,99,.12)}.tarot-card-back{background:repeating-radial-gradient(circle,transparent 0 12px,rgba(255,249,243,.34) 13px 14px),linear-gradient(145deg,#9676d3,#f4a6c6 52%,#79d9dc);color:#342b63}.tarot-card-back i{font-size:38px;color:#f6d978;font-style:normal}.tarot-card-back b{margin:8px;font:700 11px/1 "Courier New"}.tarot-card-back em{font:700 8px "Courier New"}.tarot-card-front{transform:rotateY(180deg);padding:9px;background:linear-gradient(#fff9f3,#f8d5e4);color:#342b63}.tarot-card-front i{font-style:normal;font-size:42px;color:#9676d3;margin-bottom:10px}.tarot-card-front b{font:700 12px "Courier New"}.tarot-card-front em{margin-top:10px;font:italic 7px/1.3 "Courier New"}.daily-tarot.is-drawn .tarot-card-back{transform:rotateY(-180deg)}.daily-tarot.is-drawn .tarot-card-front{transform:rotateY(0)}.tarot-draw{border:0;background:none;color:#342b63;text-decoration:underline;font:700 8px "Courier New";cursor:pointer}.tarot-whisper{display:block;min-height:20px;margin-top:5px;font:7px "Courier New";color:#6f6590}
@media(max-width:900px){.bedroom-window{opacity:.28;right:-55px}.bedroom-wall-note,.wall-cd,.hanging-stars{display:none}}@media(max-width:700px){.bedroom-window{display:none}}


/* =========================================================
   V5.1 — GHOST GIRL ACTUALLY LIVES HERE
   The homepage becomes a room instead of a website over wallpaper.
   ========================================================= */
.ghost-bedroom-page{
  --room-ink:#342B63;
  --room-pink:#F4A6C6;
  --room-lav:#B8A7E8;
  --room-lilac:#9676D3;
  --room-aqua:#79D9DC;
  --room-yellow:#F6D978;
  --room-paper:#FFF9F3;
  --room-soft:#F8D5E4;
  background:linear-gradient(180deg,#a894da 0,#d9b3d8 32%,#efb4ca 62%,#e7c3c8 100%);
}
.ghost-bedroom-page .bedroom-shell{display:none!important}

/* Pull the old site frame into the room rather than placing the room behind it. */
.ghost-bedroom-page .bedroom-site{
  max-width:1180px;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.ghost-bedroom-page .top{
  border:2px solid var(--room-ink);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  box-shadow:7px 8px 0 rgba(52,43,99,.12);
  background:linear-gradient(90deg,rgba(248,213,228,.96),rgba(205,236,241,.95));
}
.ghost-bedroom-page .masthead-v4{
  border-inline:2px solid var(--room-ink);
  background:rgba(255,249,243,.82);
  backdrop-filter:blur(2px);
}
.ghost-bedroom-page .ticker{
  border:2px solid var(--room-ink);
  box-shadow:7px 8px 0 rgba(52,43,99,.09);
}

/* THE ROOM */
.ghost-bedroom-room{
  position:relative;
  min-height:690px;
  margin:22px 0 0;
  overflow:hidden;
  border:2px solid var(--room-ink);
  border-radius:4px 4px 12px 12px;
  box-shadow:10px 12px 0 rgba(52,43,99,.12),0 28px 55px rgba(52,43,99,.12);
  background:
    linear-gradient(90deg,rgba(255,249,243,.06) 1px,transparent 1px) 0 0/48px 100%,
    linear-gradient(180deg,#e7dff5 0 64%,#d5b7c4 64% 66%,#caa8aa 66% 100%);
}
.ghost-bedroom-room::before{
  content:"";
  position:absolute;left:0;right:0;top:64%;height:2px;background:rgba(52,43,99,.24)
}
.ghost-bedroom-room::after{
  content:"";
  position:absolute;left:-10%;right:-10%;bottom:-110px;height:280px;
  background:repeating-linear-gradient(96deg,transparent 0 105px,rgba(52,43,99,.075) 107px 109px);
  transform:perspective(300px) rotateX(58deg);transform-origin:bottom;opacity:.65
}
.room-ceiling{position:absolute;inset:0 0 auto;height:45px;border-bottom:1px solid rgba(52,43,99,.13);background:linear-gradient(#d8d0ea,#e7dff5)}
.room-ceiling::after{content:"";position:absolute;left:38%;top:10px;width:240px;height:13px;border:2px solid rgba(52,43,99,.25);background:#fff9e8;box-shadow:0 0 24px rgba(246,217,120,.36)}
.glow-star{position:absolute;color:#9676d3}.star-a{left:12%;top:18px}.star-b{right:17%;top:13px}.star-c{right:8%;top:23px;color:#f4a6c6}
.room-left-wall{position:absolute;left:28px;top:88px;width:185px;height:250px}
.y2k-poster{position:absolute;left:3px;top:4px;width:112px;height:144px;padding:16px 10px;border:2px solid var(--room-ink);background:linear-gradient(155deg,#79d9dc,#f8d5e4 48%,#f6d978);box-shadow:5px 6px 0 rgba(52,43,99,.09);transform:rotate(-2deg);font:700 14px/1.05 "Courier New",monospace;color:var(--room-ink);text-align:center}
.y2k-poster::before{content:"☺";display:block;font-size:31px;margin-bottom:9px}.y2k-poster small{display:block;margin-top:11px;font-size:6px;line-height:1.35}
.photo-strip{position:absolute;right:0;top:22px;width:43px;padding:5px;background:#fff9f3;border:1px solid rgba(52,43,99,.4);transform:rotate(4deg);box-shadow:3px 4px rgba(52,43,99,.07)}
.photo-strip i{display:flex;height:35px;margin-bottom:4px;align-items:center;justify-content:center;background:#b8a7e8;color:#fff9f3;font-style:normal}.photo-strip i:nth-child(2){background:#f4a6c6}.photo-strip i:nth-child(3){background:#79d9dc}
.wall-scribble{position:absolute;left:19px;top:178px;color:#9676d3;font:italic 16px/1 "Courier New",monospace;transform:rotate(-4deg)}.wall-scribble small{font-size:8px}

/* Window is now a major architectural feature. */
.miami-bedroom-window{position:absolute;right:55px;top:82px;width:345px;height:272px;border:11px solid #fff9f3;outline:2px solid var(--room-ink);background:#9676d3;box-shadow:9px 10px 0 rgba(52,43,99,.11),inset 0 0 0 2px rgba(52,43,99,.25)}
.window-sunset{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#7762ba 0,#a57bd0 27%,#ed8fb9 61%,#f6c66d 86%,#79d9dc 100%)}
.window-sunset::after{content:"";position:absolute;left:-5%;right:-5%;bottom:0;height:38px;background:linear-gradient(180deg,#79d9dc,#4caeb9);opacity:.75}
.sun-disc{position:absolute;right:55px;top:82px;width:58px;height:58px;border-radius:50%;background:#f6d978;box-shadow:0 0 25px rgba(246,217,120,.72)}
.sky-star{position:absolute;color:#fff9f3}.sky-one{left:63px;top:42px;font-size:18px}.sky-two{left:128px;top:73px;font-size:24px}
.palm-tree{position:absolute;bottom:10px;color:#342b63;font-size:88px;line-height:.7;transform:scaleX(.72) rotate(-7deg);transform-origin:bottom;filter:drop-shadow(2px 2px rgba(52,43,99,.08))}.palm-one{left:20px}.palm-two{left:115px;font-size:65px;transform:scaleX(.7) rotate(8deg)}
.window-cross{position:absolute;z-index:5;background:#fff9f3}.cross-v{top:0;bottom:0;left:50%;width:7px}.cross-h{left:0;right:0;top:52%;height:7px}
.window-sill{position:absolute;z-index:7;left:-15px;right:-15px;bottom:-22px;height:22px;border:2px solid var(--room-ink);background:#f8d5e4;text-align:center;color:#342b63;font:700 6px/18px "Courier New",monospace;letter-spacing:.08em}
.curtain{position:absolute;z-index:8;top:-12px;bottom:-12px;width:52px;background:repeating-linear-gradient(90deg,#b8a7e8 0 9px,#cbbcf0 10px 18px);opacity:.88}.curtain-left{left:-34px;border-radius:0 0 65% 0}.curtain-right{right:-34px;border-radius:0 0 0 65%}

/* Bed: Miami/Y2K rather than generic dark bedroom. */
.room-bed{position:absolute;right:40px;bottom:55px;width:385px;height:210px;z-index:3}
.bed-headboard{position:absolute;right:5px;top:7px;width:355px;height:105px;border:3px solid var(--room-ink);border-radius:60px 60px 6px 6px;background:linear-gradient(135deg,#9676d3,#b8a7e8);box-shadow:6px 6px rgba(52,43,99,.09)}
.bed-pillow{position:absolute;z-index:4;top:47px;width:120px;height:62px;border:2px solid var(--room-ink);border-radius:48%;background:#fff9f3;box-shadow:3px 4px rgba(52,43,99,.06)}.pillow-one{left:46px;transform:rotate(-5deg)}.pillow-two{left:145px;background:#f8d5e4;transform:rotate(4deg);display:flex;align-items:center;justify-content:center;color:#9676d3;font-size:25px}
.bed-blanket{position:absolute;z-index:5;left:10px;right:0;bottom:18px;height:110px;border:2px solid var(--room-ink);border-radius:45px 20px 8px 8px;background:linear-gradient(145deg,#f4a6c6,#b8a7e8 52%,#79d9dc);box-shadow:7px 8px rgba(52,43,99,.1);overflow:hidden}.bed-blanket::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,249,243,.12) 23px 25px)}.bed-blanket span{position:absolute;right:35px;top:40px;color:#fff9f3;font-size:18px;letter-spacing:9px}
.bed-skirt{position:absolute;left:28px;right:8px;bottom:0;height:37px;background:#e8a7c3;border:2px solid var(--room-ink);z-index:2}
.bedside-stack{position:absolute;left:-55px;bottom:2px;width:70px}.bedside-stack i{display:block;height:16px;border:1px solid var(--room-ink);background:#f6d978;transform:rotate(-2deg)}.bedside-stack i:nth-child(2){background:#79d9dc;transform:rotate(2deg)}.bedside-stack i:nth-child(3){background:#f8d5e4}

/* Desk on left gives existing content a physical anchor. */
.room-desk-scene{position:absolute;left:220px;bottom:56px;width:410px;height:230px;z-index:4}
.desk-top{position:absolute;left:0;right:0;bottom:95px;height:25px;border:3px solid var(--room-ink);border-radius:4px;background:#d6b0c8;box-shadow:7px 8px rgba(52,43,99,.1)}
.desk-leg{position:absolute;bottom:0;width:22px;height:98px;border:3px solid var(--room-ink);border-top:0;background:#c49bb8}.leg-left{left:28px}.leg-right{right:27px}
.desk-lamp{position:absolute;left:30px;bottom:120px;width:90px;height:105px}.desk-lamp b{position:absolute;left:41px;bottom:0;width:8px;height:68px;background:#342b63}.desk-lamp i{position:absolute;left:17px;top:2px;width:62px;height:40px;border:2px solid #342b63;border-radius:50% 50% 10% 10%;background:#f6d978;transform:rotate(-8deg);box-shadow:0 13px 25px rgba(246,217,120,.24)}
.translucent-phone{position:absolute;right:72px;bottom:120px;width:67px;height:42px;border:2px solid #342b63;border-radius:14px 14px 7px 7px;background:rgba(121,217,220,.68);box-shadow:3px 4px rgba(52,43,99,.08);display:flex;align-items:center;justify-content:center;color:#342b63;font-size:21px;transform:rotate(2deg)}
.desk-cd{position:absolute;right:155px;bottom:124px;width:47px;height:47px;border-radius:50%;border:2px solid #342b63;background:conic-gradient(#f4a6c6,#f6d978,#79d9dc,#9676d3,#f4a6c6);box-shadow:inset 0 0 0 15px #fff9f3;transform:rotate(-7deg)}
.desk-cup{position:absolute;left:142px;bottom:119px;width:42px;height:49px;border:2px solid #342b63;border-radius:4px 4px 12px 12px;background:#f8d5e4;text-align:center;font-size:22px;line-height:43px}
.room-rug{position:absolute;z-index:2;left:33%;bottom:22px;width:320px;height:105px;border:2px solid rgba(52,43,99,.5);border-radius:50%;background:radial-gradient(ellipse,#f8d5e4 0 35%,#b8a7e8 36% 63%,#79d9dc 64%);transform:rotate(-2deg);display:flex;align-items:center;justify-content:center;text-align:center;color:#342b63;font:700 11px/1 "Courier New",monospace;letter-spacing:.18em;opacity:.86}
.floor-outlet{position:absolute;left:43px;bottom:126px;width:35px;height:24px;border:1px solid rgba(52,43,99,.35);background:#fff9f3;text-align:center;font-size:10px;line-height:22px}
.floor-cord-bedroom{position:absolute;left:74px;bottom:83px;width:210px;height:80px;border-bottom:3px solid rgba(52,43,99,.45);border-radius:0 0 70% 40%;transform:rotate(5deg)}
.room-caption{position:absolute;left:22px;bottom:17px;color:#342b63;font:700 8px "Courier New",monospace}.room-caption span{color:#79d9dc;text-shadow:0 0 7px #79d9dc}

/* Existing homepage content now reads as items arranged below/in front of the room. */
.room-content-grid{
  margin-top:-84px!important;
  position:relative;
  z-index:12!important;
  padding:0 24px 32px!important;
  background:transparent!important;
}
.ghost-bedroom-page .room-content-grid .left,
.ghost-bedroom-page .room-content-grid .right{
  padding-top:112px;
}
.ghost-bedroom-page .room-content-grid .center{
  background:rgba(255,249,243,.94);
  border:2px solid var(--room-ink);
  box-shadow:8px 9px 0 rgba(52,43,99,.10);
}
.ghost-bedroom-page .room-content-grid .box{
  background:rgba(255,249,243,.94);
  backdrop-filter:blur(2px);
}
.ghost-bedroom-page .bedroom-note{position:relative;z-index:3}
.ghost-bedroom-page .daily-tarot{transform:rotate(.5deg)}
.ghost-bedroom-page .cd-stack{filter:drop-shadow(2px 3px rgba(52,43,99,.05))}

/* Homepage becomes more playful without touching Archive/Writings. */
.ghost-bedroom-page .top a:hover{background:#f6d978;color:#342b63;transform:translateY(-1px)}
.ghost-bedroom-page .box:hover{box-shadow:6px 7px 0 rgba(52,43,99,.11)}
.ghost-bedroom-page .computer-friend{z-index:30}

@media(max-width:900px){
  .ghost-bedroom-room{min-height:620px}
  .miami-bedroom-window{right:28px;width:300px;height:235px}
  .room-bed{right:10px;transform:scale(.85);transform-origin:right bottom}
  .room-desk-scene{left:150px;transform:scale(.82);transform-origin:left bottom}
  .room-left-wall{left:18px;transform:scale(.88);transform-origin:left top}
}
@media(max-width:700px){
  .ghost-bedroom-room{min-height:570px}
  .room-left-wall{display:none}
  .miami-bedroom-window{left:50%;right:auto;transform:translateX(-50%);width:280px;height:215px}
  .room-bed{right:-65px;transform:scale(.66)}
  .room-desk-scene{left:-25px;transform:scale(.65)}
  .room-rug{left:20%;width:250px}
  .room-content-grid{margin-top:-35px!important;padding-inline:10px!important}
  .ghost-bedroom-page .room-content-grid .left,.ghost-bedroom-page .room-content-grid .right{padding-top:0}
}
@media(max-width:480px){
  .ghost-bedroom-room{min-height:515px}
  .miami-bedroom-window{top:72px;width:235px;height:190px}
  .room-bed{right:-105px;bottom:38px;transform:scale(.57)}
  .room-desk-scene{left:-68px;bottom:42px;transform:scale(.55)}
  .room-caption{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .ghost-bedroom-room *{animation:none!important}
}


/* =========================================================
   V5.2 — SHE MOVED IN
   Use the site's real licensed/Canva assets as inhabitants and possessions.
   ========================================================= */
.ghost-bedroom-page .ghost-bedroom-room{min-height:735px}
.room-ghost,.room-y2k{position:absolute;z-index:8;pointer-events:none;object-fit:contain}
.room-ghost-miami{right:405px;top:365px;width:132px;transform:rotate(-3deg);filter:drop-shadow(4px 6px rgba(52,43,99,.08))}
.room-ghost-music{left:64px;bottom:40px;width:118px;transform:rotate(2deg);filter:drop-shadow(4px 6px rgba(52,43,99,.08))}
.room-ghost-dream{right:58px;bottom:117px;width:115px;transform:rotate(3deg);filter:drop-shadow(4px 6px rgba(52,43,99,.07))}
.room-smiley-computer{left:306px;bottom:166px;width:75px;filter:drop-shadow(3px 4px rgba(52,43,99,.08))}
.room-heart-popup{left:425px;top:300px;width:55px;transform:rotate(7deg);filter:drop-shadow(3px 4px rgba(52,43,99,.07))}
.room-sparkle-a{left:485px;top:95px;width:22px;animation:room-sparkle 4.7s ease-in-out infinite}
.room-sparkle-b{right:430px;top:155px;width:16px;animation:room-sparkle 5.9s ease-in-out infinite reverse}
@keyframes room-sparkle{50%{transform:translateY(-5px) rotate(18deg);opacity:.45}}

.desk-typewriter{position:absolute;z-index:7;left:185px;bottom:113px;width:120px;height:auto;filter:drop-shadow(4px 5px rgba(52,43,99,.09));transform:rotate(-1deg)}
.room-polaroid{position:absolute;z-index:7;left:145px;top:327px;width:64px;height:78px;padding:7px 6px 13px;background:#fff9f3;border:1px solid rgba(52,43,99,.42);box-shadow:4px 5px rgba(52,43,99,.07);transform:rotate(6deg);color:#342b63;text-align:center;font-family:"Courier New",monospace}
.room-polaroid span{display:flex;height:48px;align-items:center;justify-content:center;background:linear-gradient(145deg,#9676d3,#f4a6c6,#79d9dc);color:#fff9f3;font-size:22px}.room-polaroid small{font-size:5px;font-weight:700}
.room-burned-cd{position:absolute;z-index:7;right:247px;top:382px;width:70px;height:70px;border:2px solid #342b63;border-radius:50%;background:conic-gradient(#f4a6c6,#f6d978,#79d9dc,#b8a7e8,#f4a6c6);box-shadow:inset 0 0 0 22px #fff9f3,4px 5px rgba(52,43,99,.08);transform:rotate(-11deg);font-family:"Courier New",monospace;color:#342b63}
.room-burned-cd b{position:absolute;left:-8px;top:26px;width:86px;text-align:center;font-size:7px;transform:rotate(8deg)}.room-burned-cd small{position:absolute;left:15px;top:44px;font-size:5px}
.room-away-message{position:absolute;z-index:9;left:31px;top:355px;width:155px;padding:7px;border:2px solid #342b63;background:#fff9f3;box-shadow:5px 6px rgba(52,43,99,.08);font-family:"Courier New",monospace;color:#342b63;transform:rotate(-1deg)}
.room-away-message:before{content:"☺  AIM";display:block;margin:-7px -7px 6px;padding:4px 6px;background:linear-gradient(90deg,#79d9dc,#b8a7e8,#f4a6c6);font-size:7px;font-weight:700}
.room-away-message b,.room-away-message span,.room-away-message em{display:block}.room-away-message b{font-size:7px}.room-away-message span{margin-top:5px;font-size:5px;color:#796e97}.room-away-message em{margin-top:3px;font-size:7px;line-height:1.25;font-style:normal}

/* More bedroom-object logic for the content widgets. */
.ghost-bedroom-page .status-v4{transform:rotate(-.4deg)}
.ghost-bedroom-page .player-v4{transform:rotate(.35deg)}
.ghost-bedroom-page .daily-tarot{position:relative}
.ghost-bedroom-page .daily-tarot:after{content:"♡";position:absolute;right:8px;bottom:5px;color:#f4a6c6;font-size:14px;transform:rotate(12deg)}
.ghost-bedroom-page .currently-reading:before{content:"PROPERTY OF GHOST GIRL";display:block;margin:-3px 0 7px;color:#9676d3;font:700 6px "Courier New",monospace;letter-spacing:.08em}
.ghost-bedroom-page .desk-strip span:last-child{color:#f6d978}

/* Tiny wall/furniture stickers: intentionally cheesy 2004. */
.room-bed:after{content:"★  ☺  ♡";position:absolute;z-index:9;right:36px;top:22px;color:#f6d978;font:700 10px "Courier New",monospace;letter-spacing:5px;transform:rotate(3deg);text-shadow:1px 1px #342b63}
.room-desk-scene:after{content:"NO SLEEP // JUST TABS";position:absolute;left:270px;bottom:73px;padding:3px 5px;background:#f6d978;border:1px solid #342b63;color:#342b63;font:700 5px "Courier New",monospace;transform:rotate(-3deg)}

/* A little more Miami glow on the floor without changing the room architecture. */
.ghost-bedroom-room:before{box-shadow:0 16px 40px rgba(244,166,198,.15)}
.room-rug{box-shadow:0 8px 18px rgba(52,43,99,.08)}

@media(max-width:900px){
 .room-ghost-miami{right:335px;transform:scale(.85) rotate(-3deg);transform-origin:right bottom}
 .room-heart-popup,.room-polaroid{display:none}
 .room-away-message{transform:scale(.85) rotate(-1deg);transform-origin:left top}
}
@media(max-width:700px){
 .room-away-message,.room-ghost-music,.room-burned-cd{display:none}
 .room-ghost-miami{right:245px;top:350px;width:105px}
 .room-ghost-dream{right:18px;width:95px}
 .desk-typewriter{width:105px}
}
@media(max-width:480px){
 .room-ghost-miami{display:none}
 .room-smiley-computer{left:200px;bottom:142px;width:62px}
 .room-ghost-dream{right:5px;bottom:90px;width:82px}
}
@media(prefers-reduced-motion:reduce){.room-sparkle-a,.room-sparkle-b{animation:none!important}}


/* =========================================================
   V5.3 — THE INTEGRATION PASS
   Characters have jobs. Widgets become possessions.
   ========================================================= */
/* Tropical Ghost lives by the Miami window, not in a generic widget. */
.room-ghost-tropical{right:392px;top:315px;width:142px;transform:rotate(-4deg);filter:drop-shadow(4px 6px rgba(52,43,99,.09));z-index:9}
.room-ghost-tropical:hover{transform:translateY(-3px) rotate(-2deg)}
/* Reading Ghost settles beside the bed/books, visually tied to Currently Reading below. */
.room-ghost-reading{right:38px;bottom:102px;width:146px;transform:rotate(2deg);filter:drop-shadow(4px 6px rgba(52,43,99,.08));z-index:10}
.room-ghost-reading:hover{transform:translateY(-3px) rotate(1deg)}
.room-ghost-tropical,.room-ghost-reading{transition:transform .28s ease}

/* Make the right reading widget feel like a bookplate / bedside object rather than another app window. */
.ghost-bedroom-page .currently-reading{position:relative;border-radius:3px 12px 12px 3px!important;border-left:8px solid #9676d3!important;background:linear-gradient(90deg,#fff9f3 0 93%,#f8d5e4 93%)!important;box-shadow:5px 7px 0 rgba(52,43,99,.08)!important;transform:rotate(.35deg)}
.ghost-bedroom-page .currently-reading h2{background:transparent!important;border-bottom:1px dashed rgba(52,43,99,.28)!important;color:#342b63!important}
.ghost-bedroom-page .currently-reading:after{content:"☾  checked out to ghost girl  ✦";display:block;margin-top:8px;padding-top:6px;border-top:1px dashed rgba(52,43,99,.22);font:700 6px "Courier New",monospace;color:#9676d3;letter-spacing:.05em}

/* Tarot becomes a physical little ritual surface: less browser-window, more deck-on-nightstand. */
.ghost-bedroom-page .daily-tarot{border-radius:10px!important;background:linear-gradient(160deg,rgba(255,249,243,.97),rgba(248,213,228,.9))!important;box-shadow:7px 9px 0 rgba(52,43,99,.09)!important;transform:rotate(-.45deg)}
.ghost-bedroom-page .daily-tarot h2{background:transparent!important;border-bottom:1px dashed rgba(52,43,99,.25)!important;color:#342b63!important}
.ghost-bedroom-page .daily-tarot .window-buttons{opacity:.38}
.ghost-bedroom-page .tarot-deck{filter:drop-shadow(3px 5px rgba(52,43,99,.08))}

/* Music area gets the feel of a jewel-case / stereo station. */
.ghost-bedroom-page .player-v4{background:linear-gradient(145deg,rgba(205,236,241,.92),rgba(255,249,243,.94))!important;border-radius:3px!important;box-shadow:5px 6px 0 rgba(52,43,99,.08)!important}
.ghost-bedroom-page .player-v4:after{content:"♪  NOW PLAYING IN GHOST GIRL'S ROOM";display:block;margin-top:7px;padding-top:5px;border-top:1px dashed rgba(52,43,99,.22);font:700 6px "Courier New",monospace;color:#9676d3;letter-spacing:.04em}

/* Status behaves more like an AIM/profile card. */
.ghost-bedroom-page .status-v4{background:linear-gradient(180deg,#fff9f3,#e7dff5)!important;border-radius:3px!important}
.ghost-bedroom-page .status-v4 h2:after{content:"  ● online";color:#79d9dc;font:700 6px "Courier New",monospace}

/* Featured writing = the document currently open on her desk. */
.ghost-bedroom-page .bedroom-desk{background:linear-gradient(90deg,#fff9f3 0 97%,#f8d5e4 97%)!important;border-radius:2px!important;position:relative}
.ghost-bedroom-page .bedroom-desk:before{content:"";position:absolute;left:17px;top:45px;bottom:18px;width:1px;background:rgba(244,166,198,.34);pointer-events:none}
.ghost-bedroom-page .bedroom-desk .post-body,.ghost-bedroom-page .bedroom-desk p{position:relative;z-index:1}

/* Retire visual traces of the old characters if any legacy selectors survive. */
.room-ghost-miami,.room-ghost-dream{display:none!important}

@media(max-width:900px){.room-ghost-tropical{right:322px;top:330px;width:122px}.room-ghost-reading{right:18px;width:125px}}
@media(max-width:700px){.room-ghost-tropical{right:235px;top:344px;width:100px}.room-ghost-reading{right:0;bottom:94px;width:108px}}
@media(max-width:480px){.room-ghost-tropical{display:none}.room-ghost-reading{right:-8px;width:92px}}
@media(prefers-reduced-motion:reduce){.room-ghost-tropical,.room-ghost-reading{transition:none}}


/* =========================================================
   V5.3.1 — BIG DEBORAH HAS BEEN CONTAINED
   Surgical fix only: Tropical Ghost is a resident, not architecture.
   ========================================================= */
.ghost-bedroom-page .room-ghost-tropical{
  width:82px !important;
  height:auto !important;
  right:430px !important;
  top:392px !important;
  transform:rotate(-3deg) !important;
  transform-origin:center center !important;
}

@media(max-width:900px){
  .ghost-bedroom-page .room-ghost-tropical{
    width:74px !important;
    right:350px !important;
    top:390px !important;
  }
}
@media(max-width:700px){
  .ghost-bedroom-page .room-ghost-tropical{
    width:68px !important;
    right:250px !important;
    top:380px !important;
  }
}
@media(max-width:480px){
  .ghost-bedroom-page .room-ghost-tropical{
    width:60px !important;
    right:185px !important;
    top:365px !important;
  }
}


/* V5.3.2 — Deborah is now ACTUALLY little */
.ghost-bedroom-page .room-ghost-tropical{
  width:48px !important;
  height:auto !important;
  right:448px !important;
  top:408px !important;
  transform:rotate(-3deg) !important;
}
@media(max-width:900px){
  .ghost-bedroom-page .room-ghost-tropical{
    width:44px !important;
    right:365px !important;
    top:405px !important;
  }
}
@media(max-width:700px){
  .ghost-bedroom-page .room-ghost-tropical{
    width:40px !important;
    right:265px !important;
    top:395px !important;
  }
}
@media(max-width:480px){
  .ghost-bedroom-page .room-ghost-tropical{display:none!important}
}


/* V5.3.3 — mystery solved: the giant face was Reading Ghost, not Deborah.
   V5.3's original integration block contained escaped newline characters,
   so Reading Ghost never received her intended size. */
.ghost-bedroom-page .room-ghost-reading{
  position:absolute !important;
  width:112px !important;
  height:auto !important;
  right:48px !important;
  bottom:108px !important;
  top:auto !important;
  transform:rotate(2deg) !important;
  transform-origin:center center !important;
  z-index:10 !important;
  filter:drop-shadow(4px 6px rgba(52,43,99,.08));
}
.ghost-bedroom-page .room-ghost-tropical{
  position:absolute !important;
  width:72px !important;
  height:auto !important;
  right:410px !important;
  top:365px !important;
  bottom:auto !important;
  transform:rotate(-3deg) !important;
  z-index:9 !important;
}
@media(max-width:900px){
  .ghost-bedroom-page .room-ghost-reading{width:98px!important;right:25px!important;bottom:102px!important}
  .ghost-bedroom-page .room-ghost-tropical{width:65px!important;right:330px!important;top:370px!important}
}
@media(max-width:700px){
  .ghost-bedroom-page .room-ghost-reading{width:88px!important;right:4px!important;bottom:92px!important}
  .ghost-bedroom-page .room-ghost-tropical{width:58px!important;right:235px!important;top:375px!important}
}
@media(max-width:480px){
  .ghost-bedroom-page .room-ghost-reading{width:76px!important;right:-4px!important;bottom:84px!important}
  .ghost-bedroom-page .room-ghost-tropical{display:none!important}
}


/* =========================================================
   V5.4 — THE ROOM EATS THE WEBSITE
   The essay remains the readable center. Sidebars become possessions,
   scraps and little interfaces that belong to Ghost Girl's room.
   ========================================================= */
.ghost-bedroom-page .room-content-grid{
  grid-template-columns:190px minmax(0,1fr) 205px!important;
  gap:13px!important;
  margin-top:-118px!important;
  padding:0 30px 38px!important;
  align-items:start;
}

/* Stop drawing three opaque columns across the bedroom. */
.ghost-bedroom-page .room-content-grid>aside{
  display:flex;
  flex-direction:column;
  gap:13px;
  padding-top:142px;
  background:transparent;
}
.ghost-bedroom-page .room-content-grid>aside .box{margin:0}

/* The one deliberate "screen": a translucent old-web directory floating off the desk. */
.ghost-bedroom-page .navbox{
  background:rgba(231,223,245,.80)!important;
  border:1px solid rgba(52,43,99,.50)!important;
  box-shadow:4px 5px 0 rgba(52,43,99,.08)!important;
  backdrop-filter:blur(5px)!important;
  transform:rotate(-.55deg);
}
.ghost-bedroom-page .navbox h2{background:rgba(184,167,232,.48)!important}
.ghost-bedroom-page .navbox a{font-size:9px;padding:4px 2px}
.ghost-bedroom-page .folder-label,.ghost-bedroom-page .nav-footer{font-size:6px}

/* AIM status is now a compact presence card, not a second character portrait. */
.ghost-bedroom-page .status-v4{
  padding:8px!important;
  background:rgba(255,249,243,.83)!important;
  border:1px solid rgba(52,43,99,.42)!important;
  box-shadow:3px 4px 0 rgba(52,43,99,.07)!important;
  transform:rotate(.7deg)!important;
}
.ghost-bedroom-page .status-v4 h2{margin:-8px -8px 7px!important;min-height:20px!important;padding:3px 5px!important;font-size:8px!important;background:linear-gradient(90deg,#79d9dc88,#b8a7e888)!important}
.ghost-bedroom-page .status-v4 h2:after{content:""!important}
.status-presence{display:grid;grid-template-columns:1fr auto;gap:2px 5px;padding:5px;border:1px dotted #9676d3;background:#fff9f3;font:700 7px "Courier New",monospace;text-align:left}
.status-presence span{color:#4aa9a9}.status-presence small{grid-column:1/-1;font-size:6px;font-weight:normal;color:#796e97}
.ghost-bedroom-page .status-v4 p{margin:4px 0!important;padding:3px 5px!important;border-left-width:2px!important;background:rgba(255,249,243,.60)!important;font-size:7px!important}

/* Footprints becomes a loose guestbook slip. */
.ghost-bedroom-page .footprints{
  width:168px;align-self:center;
  background:#fff9f3!important;border:1px solid rgba(52,43,99,.38)!important;
  box-shadow:3px 5px 0 rgba(52,43,99,.06)!important;
  transform:rotate(-1.2deg);
}
.ghost-bedroom-page .footprints h2{background:transparent!important;border-bottom:1px dashed #b8a7e8!important}
.ghost-bedroom-page .footprints p{font-size:7px;margin:5px 0}.ghost-bedroom-page .footprints .tiny-link{font-size:7px}

/* Center: a single sheet/document pulled forward from the desk. */
.ghost-bedroom-page .bedroom-desk{
  margin:0!important;
  background:rgba(255,249,243,.975)!important;
  border:1px solid rgba(52,43,99,.62)!important;
  box-shadow:7px 10px 0 rgba(52,43,99,.09)!important;
  transform:rotate(.12deg);
  z-index:4;
}
.ghost-bedroom-page .bedroom-desk .desk-strip{background:linear-gradient(90deg,#e7dff5,#f8d5e4)!important}

/* Right side: ritual/book/music objects, not a stack of browser windows. */
.ghost-bedroom-page .daily-tarot{
  width:176px;align-self:flex-start;
  padding:10px!important;
  border:1px solid rgba(52,43,99,.45)!important;
  background:rgba(248,213,228,.84)!important;
  box-shadow:4px 6px 0 rgba(52,43,99,.07)!important;
  transform:rotate(1.1deg)!important;
}
.ghost-bedroom-page .daily-tarot h2{margin:-4px 0 5px!important;min-height:auto!important;padding:0 0 4px!important;font-size:8px!important}
.ghost-bedroom-page .tarot-date,.ghost-bedroom-page .tarot-whisper{font-size:6px!important}
.ghost-bedroom-page .tarot-deck{transform:scale(.86);transform-origin:center top;margin-bottom:-18px}
.ghost-bedroom-page .tarot-draw{font-size:7px!important}

.ghost-bedroom-page #currently-reading{
  width:188px;align-self:flex-end;
  padding:9px!important;
  border:1px solid rgba(52,43,99,.42)!important;
  border-left:7px solid #9676d3!important;
  border-radius:2px 9px 9px 2px!important;
  background:linear-gradient(90deg,#fff9f3 0 94%,#f8d5e4 94%)!important;
  box-shadow:4px 5px 0 rgba(52,43,99,.07)!important;
  transform:rotate(-.8deg)!important;
}
.ghost-bedroom-page #currently-reading h2{margin:0 0 6px!important;min-height:auto!important;padding:0 0 4px!important;font-size:8px!important}
.ghost-bedroom-page #currently-reading .reading-inside{gap:4px!important}
.ghost-bedroom-page #currently-reading .reading-inside img{width:62px!important;margin:-8px 0 -5px!important}
.ghost-bedroom-page #currently-reading p{font-size:7px!important;line-height:1.3}.ghost-bedroom-page #currently-reading small{font-size:6px!important}

/* About becomes a taped note instead of another application window. */
.ghost-bedroom-page .about-v4{
  width:166px;align-self:center;padding:10px!important;
  background:#f6d978e8!important;border:0!important;
  box-shadow:3px 5px 0 rgba(52,43,99,.07)!important;
  transform:rotate(1.7deg);
}
.ghost-bedroom-page .about-v4:before{content:"";position:absolute;top:-6px;left:58px;width:48px;height:12px;background:rgba(205,236,241,.72);transform:rotate(-4deg)}
.ghost-bedroom-page .about-v4 h2{margin:0 0 5px!important;padding:0!important;min-height:auto!important;background:transparent!important;border:0!important;font-size:8px!important}
.ghost-bedroom-page .about-v4 .window-buttons{display:none}.ghost-bedroom-page .about-v4 p,.ghost-bedroom-page .about-v4>a{font-size:7px!important}

/* Music is a CD player/stereo card tied to Music Ghost. */
.ghost-bedroom-page .cd-stack{margin:0 auto -17px!important;z-index:2;transform:scale(.84) rotate(-2deg);transform-origin:center bottom}
.ghost-bedroom-page .player-v4{
  width:184px;align-self:flex-start;padding:8px!important;
  background:rgba(205,236,241,.82)!important;
  border:1px solid rgba(52,43,99,.44)!important;
  box-shadow:4px 5px 0 rgba(52,43,99,.07)!important;
  transform:rotate(.55deg)!important;
}
.ghost-bedroom-page .player-v4 h2{margin:-8px -8px 5px!important;min-height:21px!important;font-size:7px!important}
.ghost-bedroom-page .player-v4 img{width:82px!important;margin:-6px auto -8px!important}
.ghost-bedroom-page .player-v4 .track{padding:4px!important;margin:2px 4px 4px!important;font-size:7px}.ghost-bedroom-page .player-v4 .track span{font-size:6px}
.ghost-bedroom-page .player-v4:after{font-size:5px!important}

/* Construction sign becomes a little floor placard and gets out of the visual hierarchy. */
.ghost-bedroom-page .construction{width:145px;align-self:center;opacity:.82;transform:rotate(-1deg);padding:8px!important}
.ghost-bedroom-page .construction h2{font-size:7px!important}.ghost-bedroom-page .construction-door{width:35px;height:48px}.ghost-bedroom-page .construction b{font-size:6px!important}.ghost-bedroom-page .construction span{font-size:16px!important}.ghost-bedroom-page .construction small{font-size:6px}

/* The old note is allowed to overlap like an actual sticky note. */
.ghost-bedroom-page .bedroom-note{width:145px;align-self:center;transform:rotate(-2deg);margin:-2px 0 1px!important}

/* The characters stay in the physical room, above furniture but behind the essay sheet. */
.ghost-bedroom-page .room-ghost-reading{width:106px!important;right:54px!important;bottom:104px!important}
.ghost-bedroom-page .room-ghost-tropical{width:70px!important;right:410px!important;top:365px!important}

@media(max-width:900px){
 .ghost-bedroom-page .room-content-grid{grid-template-columns:170px minmax(0,1fr) 185px!important;padding-inline:14px!important;gap:9px!important}
 .ghost-bedroom-page .daily-tarot,.ghost-bedroom-page #currently-reading,.ghost-bedroom-page .player-v4{width:auto}
}
@media(max-width:760px){
 .ghost-bedroom-page .room-content-grid{display:block!important;margin-top:-35px!important;padding:10px!important}
 .ghost-bedroom-page .room-content-grid>aside{padding-top:0!important;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
 .ghost-bedroom-page .room-content-grid>aside>*{width:auto!important;align-self:stretch!important}
 .ghost-bedroom-page .bedroom-desk{transform:none}
}
@media(max-width:480px){
 .ghost-bedroom-page .room-content-grid>aside{grid-template-columns:1fr}
}


/* =========================================================
   V6.0 — GHOST GIRL'S ROOM IS THE INTERFACE
   The center obeys writing. The room rewards curiosity.
   ========================================================= */
.ghost-bedroom-page .ghost-bedroom-room{min-height:620px;margin-bottom:28px;overflow:visible}
.room-hotspot{position:absolute;z-index:30;border:1px dashed rgba(52,43,99,.42);background:rgba(255,249,243,.82);color:#342b63;font-family:"Courier New",monospace;text-decoration:none;padding:5px 7px;box-shadow:3px 4px 0 rgba(52,43,99,.07);cursor:pointer;transform:rotate(-1deg);transition:transform .18s ease,background .18s ease,opacity .18s ease;opacity:.72}
.room-hotspot:hover,.room-hotspot:focus-visible{opacity:1;background:#fff9f3;transform:translateY(-3px) rotate(0deg);outline:2px solid #f4a6c6;outline-offset:2px}
.room-hotspot span{font-size:12px;margin-right:3px}.room-hotspot b{font-size:7px;letter-spacing:.08em}.room-hotspot small{display:block;margin-top:2px;font-size:5px;color:#796e97;white-space:nowrap}
.hotspot-writing{left:505px;bottom:111px}.hotspot-computer{left:280px;bottom:213px}.hotspot-reading{right:28px;bottom:66px}
.hotspot-music{left:45px;bottom:20px}.hotspot-tarot{right:300px;bottom:128px}.hotspot-cabinet{right:18px;top:215px}
.hotspot-about{left:130px;top:315px}.hotspot-secret{right:205px;top:88px;width:25px;height:25px;padding:0;border-radius:50%;opacity:.18}
.hotspot-secret:hover{opacity:.8}
.room-discovery-hint{position:absolute;z-index:22;left:50%;bottom:-24px;transform:translateX(-50%);font:700 7px "Courier New",monospace;color:#796e97;letter-spacing:.05em;white-space:nowrap}
.featured-desk-paper{position:relative;width:min(690px,calc(100% - 60px));margin:54px auto 36px;padding:32px 44px 28px;background:linear-gradient(90deg,#fff9f3 0 96%,#f8d5e4 96%);border:1px solid rgba(52,43,99,.42);box-shadow:9px 11px 0 rgba(52,43,99,.08);color:#342b63;transform:rotate(-.25deg)}
.featured-desk-paper:before{content:"";position:absolute;left:27px;top:55px;bottom:24px;width:1px;background:rgba(244,166,198,.45)}
.paper-tab{position:absolute;left:15px;right:15px;top:-18px;padding:6px 9px;background:#b8a7e8;border:1px solid #342b63;font:700 7px "Courier New",monospace;box-shadow:3px 3px 0 rgba(52,43,99,.08)}
.paper-tab span{float:right}.paper-kicker{font:700 6px "Courier New",monospace;letter-spacing:.08em;color:#9676d3}
.featured-desk-paper h2{font-family:Georgia,serif;font-size:28px;line-height:1.05;margin:10px 0 15px}.featured-desk-paper p{font-family:Georgia,serif;font-size:14px;line-height:1.65}.paper-opening{font-size:16px!important}
.paper-actions{display:flex;gap:12px;align-items:center;margin-top:20px;font:700 8px "Courier New",monospace}.paper-actions a{color:#342b63}.featured-desk-paper>small{display:block;margin-top:18px;color:#9676d3;font:italic 7px "Courier New",monospace;text-align:right}
.room-panel-layer{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.room-panel-layer[hidden]{display:none}
.room-panel-backdrop{position:absolute;inset:0;border:0;background:rgba(52,43,99,.38);backdrop-filter:blur(2px)}
.room-panel{position:relative;z-index:2;width:min(470px,92vw);max-height:82vh;overflow:auto;background:#fff9f3;border:2px solid #342b63;box-shadow:12px 14px 0 rgba(52,43,99,.22);color:#342b63}
.room-panel[hidden]{display:none}.room-panel-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;background:linear-gradient(90deg,#79d9dc,#b8a7e8,#f4a6c6);border-bottom:2px solid #342b63;font:700 8px "Courier New",monospace}
.room-panel-bar button{border:1px solid #342b63;background:#fff9f3;color:#342b63;font-weight:900;cursor:pointer}
.computer-screen-v6{padding:16px;font-family:"Courier New",monospace;background:linear-gradient(180deg,#fff9f3,#cdecf1)}
.aim-v6{padding:8px;border:1px solid #342b63;background:#fff;box-shadow:3px 3px #e7dff5}.aim-v6 b,.aim-v6 span,.aim-v6 small{display:block}.aim-v6 span{color:#4f9f94;font-size:7px}.aim-v6 small{font-size:7px}
.dos-path{font-size:8px;font-weight:700}.desktop-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.desktop-links a{padding:8px;background:#fff9f3;border:1px dashed #9676d3;color:#342b63;font:700 8px "Courier New",monospace;text-decoration:none}.desktop-links a:hover{background:#f8d5e4}
.computer-status-v6{margin-top:12px;padding-top:8px;border-top:1px dashed #9676d3;font-size:7px}
.reading-panel-v6,.music-panel-v6{display:flex;gap:18px;align-items:center;padding:20px}.reading-panel-v6 img{width:135px}.music-panel-v6 img{width:145px}.reading-panel-v6 h3,.music-panel-v6 h3{margin:5px 0;font-family:Georgia,serif}.reading-panel-v6 small,.music-panel-v6 small{font:700 7px "Courier New",monospace;color:#9676d3}.reading-panel-v6 blockquote{margin:12px 0;padding-left:10px;border-left:3px solid #f4a6c6;font-family:Georgia,serif;font-size:12px}.reading-panel-v6 em{font-size:8px}
.fake-track{margin:12px 0;font-family:"Courier New",monospace;color:#9676d3}.tarot-panel-v6 .daily-tarot{margin:0!important;padding:18px!important;border:0!important;box-shadow:none!important;transform:none!important;text-align:center}
.guestbook-scrap-v6{width:min(650px,calc(100% - 70px));margin:0 auto 35px;padding:10px 14px;border:1px dashed rgba(52,43,99,.45);background:rgba(255,249,243,.68);font:7px "Courier New",monospace;color:#342b63;transform:rotate(.25deg)}
.guestbook-scrap-v6 b,.guestbook-scrap-v6 span,.guestbook-scrap-v6 a{display:block;margin:3px 0}.guestbook-scrap-v6 a{color:#9676d3}
@media(max-width:900px){.hotspot-writing{left:46%;}.hotspot-computer{left:24%}.hotspot-tarot{right:24%}.hotspot-cabinet{right:10px}.hotspot-about{left:10%}}
@media(max-width:700px){.room-hotspot small{display:none}.room-hotspot{padding:4px}.hotspot-reading{right:5px}.hotspot-music{left:8px}.featured-desk-paper{width:calc(100% - 30px);padding:28px 25px}.paper-tab span{display:none}}
@media(max-width:480px){.hotspot-secret,.hotspot-about{display:none}.room-discovery-hint{font-size:6px}.desktop-links{grid-template-columns:1fr}.reading-panel-v6,.music-panel-v6{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){.room-hotspot{transition:none}}


/* =========================================================
   V6.1 — THE ROOM FEELS ALIVE
   Refinement, not renovation.
   ========================================================= */

/* Hotspots become quiet until the visitor discovers them. */
.ghost-bedroom-page .room-hotspot{
  background:rgba(255,249,243,.14)!important;
  border-color:rgba(52,43,99,.14)!important;
  box-shadow:none!important;
  opacity:.38!important;
  backdrop-filter:blur(.5px);
}
.ghost-bedroom-page .room-hotspot b,
.ghost-bedroom-page .room-hotspot small{
  opacity:0;
  transform:translateY(3px);
  transition:opacity .16s ease,transform .16s ease;
}
.ghost-bedroom-page .room-hotspot span{opacity:.65;transition:opacity .16s ease,transform .16s ease}
.ghost-bedroom-page .room-hotspot:hover,
.ghost-bedroom-page .room-hotspot:focus-visible{
  opacity:1!important;
  background:rgba(255,249,243,.93)!important;
  border-color:rgba(52,43,99,.5)!important;
  box-shadow:3px 4px 0 rgba(52,43,99,.08)!important;
}
.ghost-bedroom-page .room-hotspot:hover b,
.ghost-bedroom-page .room-hotspot:hover small,
.ghost-bedroom-page .room-hotspot:focus-visible b,
.ghost-bedroom-page .room-hotspot:focus-visible small{opacity:1;transform:none}
.ghost-bedroom-page .room-hotspot:hover span{opacity:1;transform:scale(1.12)}

/* Objects themselves react, very slightly. */
.room-ghost-reading,.room-ghost-tropical,.room-ghost-music,.room-typewriter,.room-computer{
  transition:transform .22s ease,filter .22s ease;
}
.ghost-bedroom-room:has(.hotspot-reading:hover) .room-ghost-reading{transform:translateY(-4px) rotate(2deg)!important;filter:drop-shadow(0 0 8px rgba(184,167,232,.45))}
.ghost-bedroom-room:has(.hotspot-music:hover) .room-ghost-music{transform:rotate(-3deg) translateY(-3px)!important;filter:drop-shadow(0 0 7px rgba(121,217,220,.4))}
.ghost-bedroom-room:has(.hotspot-writing:hover) .room-typewriter{transform:translateY(-3px)!important;filter:drop-shadow(0 0 7px rgba(244,166,198,.38))}
.ghost-bedroom-room:has(.hotspot-computer:hover) .room-computer{filter:drop-shadow(0 0 10px rgba(121,217,220,.6));transform:translateY(-2px)}
.ghost-bedroom-room:has(.hotspot-cabinet:hover) .hotspot-cabinet{animation:basementSignal .9s steps(2,end) infinite}
@keyframes basementSignal{50%{text-shadow:0 0 6px #9676d3}}

/* Hint politely disappears once the visitor has interacted. */
.room-discovery-hint{transition:opacity .5s ease}
.room-discovery-hint.learned{opacity:0;pointer-events:none}
.room-ambient-status{
  position:absolute;z-index:21;left:22px;bottom:-23px;
  font:italic 6px "Courier New",monospace;color:rgba(52,43,99,.58);
  opacity:0;transition:opacity .3s ease;
}
.room-ambient-status.show{opacity:1}

/* A rare little visual event. It is deliberately almost nothing. */
.room-haunt{position:absolute;z-index:18;border:0;background:transparent;color:#fff9f3;cursor:pointer;padding:5px;text-shadow:0 0 8px #b8a7e8}
.room-haunt-star{right:185px;top:126px;opacity:0;pointer-events:none}
.room-haunt-star.appear{animation:rareStar 5s ease forwards;pointer-events:auto}
@keyframes rareStar{0%{opacity:0;transform:scale(.2) rotate(0)}20%,75%{opacity:.9;transform:scale(1) rotate(30deg)}100%{opacity:0;transform:scale(.3) rotate(70deg)}}

/* Computer now has one file it would prefer you leave alone. */
.forbidden-file-v61{
  margin-top:9px;padding:7px 8px;border:1px dashed #9676d3;background:#f8d5e4;
  color:#342b63;font:700 7px "Courier New",monospace;cursor:pointer;text-align:left
}
.forbidden-file-v61:hover{background:#fff9f3}
.forbidden-note-v61{margin-top:8px;padding:10px;border:1px solid #342b63;background:#342b63;color:#fff9f3;font:8px "Courier New",monospace}
.forbidden-note-v61 p{font-size:8px;line-height:1.5}.forbidden-note-v61 small{color:#f4a6c6}
.object-memory-v61{display:block!important;margin-top:10px!important;padding-top:7px;border-top:1px dashed rgba(52,43,99,.25);font:italic 6px "Courier New",monospace!important;color:#796e97!important}

/* After dark, the room gets just a little quieter/deeper. */
.ghost-bedroom-page.after-dark .ghost-bedroom-room:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(52,43,99,.05),rgba(52,43,99,.12));
  mix-blend-mode:multiply
}
.ghost-bedroom-page.after-dark .room-caption:after{content:" // lights low";font-size:5px;color:#9676d3}
.ghost-bedroom-page.venus-day .room-caption:before{content:"♡ ";color:#f4a6c6}

@media(max-width:700px){
  .room-ambient-status{display:none}
  .ghost-bedroom-page .room-hotspot b{opacity:.8}
}
@media(prefers-reduced-motion:reduce){
  .room-haunt-star.appear,.ghost-bedroom-room:has(.hotspot-cabinet:hover) .hotspot-cabinet{animation:none}
}


/* =========================================================
   V6.2 — FOLLOW THE WRONG THING
   One real rabbit hole. No renovation.
   ========================================================= */
.rabbit-clue{
  position:absolute;z-index:19;border:0;background:transparent;color:rgba(52,43,99,.23);
  font:700 7px "Courier New",monospace;cursor:pointer;padding:6px;transition:color .2s,transform .2s,text-shadow .2s
}
.rabbit-clue:hover,.rabbit-clue:focus-visible{color:#342b63;transform:scale(1.15);text-shadow:0 0 7px rgba(184,167,232,.8);outline:none}
.rabbit-clue-one{left:212px;top:155px;transform:rotate(-7deg)}
.rabbit-clue-two{right:96px;bottom:96px;color:rgba(255,249,243,.28)}
.rabbit-clue-three{left:47%;bottom:14px;color:rgba(52,43,99,.18)}
.rabbit-clue.revealed{animation:clueWake 1.6s ease both}
@keyframes clueWake{0%{opacity:0;filter:blur(3px)}50%{opacity:1;text-shadow:0 0 12px #f4a6c6}100%{opacity:1}}
.rabbit-whisper-v62{margin:9px 0 0!important;padding-top:7px;border-top:1px dashed rgba(248,213,228,.35);color:#f8d5e4;font-size:6px!important;line-height:1.5!important}

.rabbit-hole-layer{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}
.rabbit-hole-layer[hidden]{display:none}
.rabbit-hole-backdrop{position:absolute;inset:0;border:0;background:rgba(25,20,48,.72);backdrop-filter:blur(5px)}
.rabbit-hole-window{position:relative;z-index:2;width:min(520px,92vw);border:1px solid #9676d3;background:#191430;color:#fff9f3;box-shadow:0 0 50px rgba(184,167,232,.22),12px 14px 0 rgba(0,0,0,.22);transform:rotate(-.2deg)}
.rabbit-hole-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border-bottom:1px solid #9676d3;background:#342b63;font:700 7px "Courier New",monospace;color:#cdecf1}
.rabbit-hole-bar button{border:1px solid #b8a7e8;background:#191430;color:#fff9f3;cursor:pointer}
.rabbit-hole-screen{padding:32px 36px 28px;background:radial-gradient(circle at 60% 20%,rgba(150,118,211,.16),transparent 42%),#191430;font:9px/1.7 "Courier New",monospace}
.rabbit-hole-screen>small{color:#79d9dc;letter-spacing:.09em}.rabbit-hole-screen h2{margin:10px 0 20px;font:italic 25px/1.1 Georgia,serif;color:#f8d5e4}
.rabbit-hole-note{margin:23px 0;padding:13px;border:1px dashed #9676d3;background:rgba(255,249,243,.04);transform:rotate(.4deg)}
.rabbit-hole-note b,.rabbit-hole-note span{display:block}.rabbit-hole-note b{font-size:6px;color:#79d9dc;margin-bottom:7px}.rabbit-hole-note span{font:italic 13px/1.45 Georgia,serif}
.rabbit-hole-final{color:#b8a7e8;font-size:7px}.rabbit-return{margin-top:12px;border:0;background:transparent;color:#f4a6c6;text-decoration:underline;font:700 7px "Courier New",monospace;cursor:pointer}
.rabbit-return:hover{color:#fff9f3}

/* Learned visitors get even less UI scaffolding. */
.ghost-bedroom-page.room-learned .room-discovery-hint{display:none}
.ghost-bedroom-page.room-learned .room-hotspot{opacity:.25!important}
.ghost-bedroom-page.room-learned .room-hotspot:hover,.ghost-bedroom-page.room-learned .room-hotspot:focus-visible{opacity:1!important}

@media(max-width:700px){.rabbit-clue-one{left:18%}.rabbit-clue-two{right:8%}.rabbit-hole-screen{padding:24px 22px}}
@media(prefers-reduced-motion:reduce){.rabbit-clue.revealed{animation:none}}


/* V6.2.1 — breadcrumb reliability fix */
.rabbit-clue[hidden]{display:none!important}
.rabbit-clue.rabbit-visible{display:block!important;visibility:visible!important;pointer-events:auto!important;z-index:55!important}
.rabbit-clue-two.rabbit-visible,.rabbit-clue-three.rabbit-visible{
  color:#342b63!important;
  background:rgba(255,249,243,.58)!important;
  border-radius:50%;
  box-shadow:0 0 12px rgba(184,167,232,.75);
}
.rabbit-clue-one.clue-clicked{
  color:#9676d3!important;
  text-shadow:0 0 10px rgba(150,118,211,.9);
}

/* =========================================================
   V6.6 — THE SACRED MACHINE
   One clean typewriter system. No stacked overrides.
   Computer = portal. Typewriter = documentation.
   ========================================================= */
.desk-typewriter.room-typewriter{
 position:absolute;left:118px;bottom:112px;width:178px;height:auto;z-index:12;
 pointer-events:none;transform:rotate(-.6deg);transform-origin:50% 88%;
 filter:drop-shadow(5px 7px 2px rgba(52,43,99,.18));
 transition:transform .24s ease,filter .24s ease
}
.hotspot-writing{
 position:absolute;left:118px;bottom:112px;width:178px;height:164px;z-index:20;padding:0;
 border:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;
 transform:none!important;cursor:zoom-in
}
.hotspot-writing span,.hotspot-writing b,.hotspot-writing small{display:none!important}
.hotspot-writing:hover,.hotspot-writing:focus-visible{border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important}
.ghost-bedroom-room:has(.hotspot-writing:hover) .desk-typewriter.room-typewriter,
.ghost-bedroom-room:has(.hotspot-writing:focus-visible) .desk-typewriter.room-typewriter{
 transform:translateY(-4px) rotate(-.6deg) scale(1.035);
 filter:drop-shadow(0 0 13px rgba(121,217,220,.42)) drop-shadow(5px 8px 2px rgba(52,43,99,.18))
}
.typewriter-threshold-layer{position:fixed;inset:0;z-index:11500;display:grid;place-items:center;padding:24px;perspective:1100px}
.typewriter-threshold-layer[hidden]{display:none}
.typewriter-threshold-backdrop{
 position:absolute;inset:0;border:0;cursor:zoom-out;
 background:radial-gradient(circle at 50% 44%,rgba(121,217,220,.10),transparent 34%),rgba(31,24,63,.72);
 backdrop-filter:blur(8px);opacity:0;transition:opacity .38s ease
}
.typewriter-paper-closeup-v64{
 position:relative;z-index:2;width:min(570px,88vw);min-height:590px;padding:56px 62px 52px;
 background:linear-gradient(rgba(246,217,120,.035),rgba(246,217,120,.035)),#fff9f3;
 border:1px solid rgba(52,43,99,.55);box-shadow:0 30px 80px rgba(25,20,48,.42),9px 10px 0 rgba(52,43,99,.13);
 color:#342b63;text-align:left;transform:translateY(115px) scale(.48) rotateX(10deg);
 transform-origin:50% 100%;opacity:0;transition:transform .62s cubic-bezier(.2,.78,.22,1),opacity .3s ease
}
.typewriter-paper-closeup-v64:before{content:"";position:absolute;left:34px;top:0;bottom:0;width:1px;background:rgba(244,166,198,.46)}
.typewriter-threshold-layer.open .typewriter-threshold-backdrop{opacity:1}
.typewriter-threshold-layer.open .typewriter-paper-closeup-v64{transform:none;opacity:1}
.paper-corner-v64{position:absolute;right:24px;top:19px;font:6px "Courier New",monospace;color:rgba(52,43,99,.42)}
.typewriter-paper-closeup-v64 small{font:700 7px "Courier New",monospace;color:#9676d3;letter-spacing:.12em}
.typewriter-paper-closeup-v64 h2{margin:18px 0 25px;font:italic 36px/1.05 Georgia,serif;color:#342b63}
.typewriter-paper-closeup-v64 hr{border:0;border-top:1px solid rgba(52,43,99,.2);margin-bottom:31px}
.typed-line-v64{width:0;overflow:hidden;white-space:nowrap;margin:11px 0;font:700 12px "Courier New",monospace;border-right:1px solid #342b63}
.typewriter-threshold-layer.open .typed-line-v64.one{animation:sacredType 1.05s .48s steps(27,end) forwards}
.typewriter-threshold-layer.open .typed-line-v64.two{animation:sacredType 1.05s 1.58s steps(29,end) forwards}
@keyframes sacredType{to{width:29ch}}
.paper-note-v64{margin-top:42px;font:italic 15px/1.65 Georgia,serif;color:rgba(52,43,99,.78)}
.typewriter-choice-v64{margin-top:55px;padding-top:17px;border-top:1px dashed rgba(52,43,99,.28);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.typewriter-choice-v64 a,.typewriter-choice-v64 button{border:0;background:transparent;padding:0;cursor:pointer;font:700 9px "Courier New",monospace;text-decoration:underline;color:#342b63}
.typewriter-choice-v64 a{color:#9676d3}.typewriter-choice-v64 a:hover,.typewriter-choice-v64 button:hover{color:#f4a6c6}
.paper-bottom-v64{position:absolute;left:62px;bottom:22px;font:italic 7px "Courier New",monospace;color:rgba(52,43,99,.42)}
@media(max-width:900px){.desk-typewriter.room-typewriter{left:112px;bottom:113px;width:168px}.hotspot-writing{left:112px;bottom:113px;width:168px;height:154px}}
@media(max-width:700px){.desk-typewriter.room-typewriter{left:108px;bottom:114px;width:158px}.hotspot-writing{left:108px;bottom:114px;width:158px;height:146px}.typewriter-paper-closeup-v64{min-height:520px;padding:42px 35px 45px}.typewriter-paper-closeup-v64 h2{font-size:28px}.paper-bottom-v64{left:35px}}
@media(prefers-reduced-motion:reduce){.desk-typewriter.room-typewriter,.typewriter-threshold-backdrop,.typewriter-paper-closeup-v64{transition:none!important}.typed-line-v64{width:auto!important;border-right:0!important;animation:none!important}}


/* =========================================================
   V6.7 — SHE ACTUALLY LIVES HERE
   Cohesion pass: same assets, stronger room architecture.
   ========================================================= */

/* Give the room a more physical floor/wall relationship. */
.ghost-bedroom-room{
  isolation:isolate;
}
.ghost-bedroom-room:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:29%;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(52,43,99,.055) 1px,transparent 1px) 0 0/56px 100%,
    linear-gradient(rgba(255,249,243,.06),rgba(52,43,99,.08));
  border-top:1px solid rgba(52,43,99,.13);
  box-shadow:inset 0 12px 22px rgba(52,43,99,.045);
}

/* DESK: turn the thin table into a substantial writing station without new artwork. */
.room-desk{
  z-index:8!important;
  filter:drop-shadow(0 12px 7px rgba(52,43,99,.18))!important;
}
/* visual mass beneath the existing desk image */
.ghost-bedroom-room:before{
  content:"";
  position:absolute;
  left:53px;
  bottom:38px;
  width:355px;
  height:165px;
  z-index:6;
  pointer-events:none;
  border:2px solid rgba(52,43,99,.38);
  border-radius:7px 7px 10px 10px;
  background:
    linear-gradient(90deg,
      #b8a7e8 0 27%,
      #9676d3 27% 28%,
      #b8a7e8 28% 72%,
      #9676d3 72% 73%,
      #b8a7e8 73% 100%);
  box-shadow:
    inset 0 8px rgba(255,249,243,.18),
    inset 0 -10px rgba(52,43,99,.07),
    8px 10px 0 rgba(52,43,99,.08);
}
/* drawers / cubbies, intentionally quiet */
.desk-cohesion-v67{
  position:absolute;left:66px;bottom:50px;width:329px;height:137px;z-index:7;pointer-events:none
}
.desk-cohesion-v67:before,.desk-cohesion-v67:after{
  content:"";position:absolute;bottom:12px;width:77px;height:106px;
  border:1px solid rgba(52,43,99,.34);background:rgba(231,223,245,.34);
  box-shadow:inset 0 0 0 7px rgba(255,249,243,.06)
}
.desk-cohesion-v67:before{left:4px}.desk-cohesion-v67:after{right:4px}
.desk-drawer-lines-v67{
  position:absolute;left:10px;bottom:25px;width:65px;height:8px;border-top:1px solid rgba(52,43,99,.35);
  box-shadow:0 25px 0 -3px rgba(52,43,99,.25),244px 0 0 0 rgba(52,43,99,.18),244px 25px 0 -3px rgba(52,43,99,.18)
}

/* Anchor objects to the desktop instead of letting them float as equal stickers. */
.desk-typewriter.room-typewriter{
  left:102px!important;
  bottom:118px!important;
  width:184px!important;
  z-index:14!important;
  filter:drop-shadow(4px 7px 2px rgba(52,43,99,.24))!important;
}
.hotspot-writing{
  left:102px!important;
  bottom:118px!important;
  width:184px!important;
  height:169px!important;
  z-index:24!important;
}
.room-computer{
  z-index:13!important;
  filter:drop-shadow(4px 7px 2px rgba(52,43,99,.20))!important;
}
.room-typewriter,.room-computer,.room-music,.room-reading{
  transform-origin:50% 100%;
}

/* A soft shared desk shadow visually binds the machines and papers to one surface. */
.desk-surface-shadow-v67{
  position:absolute;left:70px;bottom:112px;width:325px;height:24px;z-index:11;pointer-events:none;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(52,43,99,.20),rgba(52,43,99,0) 70%);
  filter:blur(3px)
}

/* Evidence is subordinate to the machine: papers become a little work cluster. */
.room-paper,.room-note,.room-polaroid,.room-cd{
  filter:drop-shadow(2px 3px 1px rgba(52,43,99,.14));
}

/* Right side = softer living/reading zone. Keep characters from visually shouting over desk. */
.room-reading{filter:drop-shadow(3px 5px 2px rgba(52,43,99,.13))}
.room-bed{filter:drop-shadow(0 9px 5px rgba(52,43,99,.12))}

/* Ground the rug and floor objects. */
.room-rug{z-index:3!important;filter:drop-shadow(0 5px 3px rgba(52,43,99,.10))!important}

/* Hotspots should reveal interaction, not draw boxes over the set. */
.room-hotspot{
  background:rgba(255,249,243,.025)!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.room-hotspot:hover,.room-hotspot:focus-visible{
  background:rgba(255,249,243,.055)!important;
  border-color:rgba(255,249,243,.16)!important;
}
.hotspot-writing:hover,.hotspot-writing:focus-visible{
  background:transparent!important;border-color:transparent!important
}

/* The room is the hero; reduce visual separation below it. */
.after-room-whisper-v63{
  margin-top:28px!important;
  color:rgba(52,43,99,.42)!important
}

@media(max-width:900px){
  .ghost-bedroom-room:before{left:48px;width:338px}
  .desk-cohesion-v67{left:61px;width:312px}
  .desk-typewriter.room-typewriter{left:99px!important;width:174px!important}
  .hotspot-writing{left:99px!important;width:174px!important;height:160px!important}
  .desk-surface-shadow-v67{left:65px;width:306px}
}
@media(max-width:700px){
  .ghost-bedroom-room:before{left:43px;width:318px;height:153px}
  .desk-cohesion-v67{left:56px;width:292px;height:126px}
  .desk-typewriter.room-typewriter{left:94px!important;width:164px!important}
  .hotspot-writing{left:94px!important;width:164px!important;height:151px!important}
  .desk-surface-shadow-v67{left:60px;width:287px}
}


/* V6.7.1 — REMOVE THE FAUX DESK BLOCK
   The existing illustrated table stays visible; no CSS furniture drawn over it. */
.ghost-bedroom-room:before{display:none!important;content:none!important}
.desk-cohesion-v67{display:none!important}

/* Keep only subtle grounding beneath the real desk/table artwork. */
.desk-surface-shadow-v67{
  left:72px!important;
  bottom:102px!important;
  width:320px!important;
  height:18px!important;
  opacity:.55!important;
  z-index:7!important;
}

/* V6.9 — GHOST GIRL HAS A LIFE: content + discoverability only */
.about-grid-v69{grid-template-columns:minmax(0,1.8fr) minmax(220px,.58fr);gap:22px}
.about-manifesto-v69{font-size:17px;line-height:1.95;padding:30px 34px;background:linear-gradient(180deg,#fffdfb 0%,#fff9f3 100%)}
.about-manifesto-v69 p{margin:0 0 1.35em}.about-manifesto-v69 h2{margin-bottom:22px}
.about-manifesto-v69 .about-beat{margin:34px 0;font-size:21px}.about-manifesto-v69 .about-thesis{margin:34px 0;padding:18px 20px;font-size:17px}.about-manifesto-v69 .about-signoff{margin-top:36px;font-size:20px}
.personal-note-v69 .inside{font-family:Georgia,serif;font-style:italic;line-height:1.6}.personal-note-v69 small{font:700 8px "Courier New",monospace;color:#9676d3}
.hotspot-about{opacity:.9!important;border-style:solid!important;background:rgba(255,249,243,.86)!important;box-shadow:3px 3px 0 rgba(184,167,232,.32)!important}
.hotspot-about:hover{opacity:1!important;transform:translateY(-2px) rotate(-1deg)!important}.hotspot-about b{font-size:8px!important}.hotspot-about small{opacity:1!important}
.currently-watching-v69{margin:10px 0 8px;padding:9px 10px;border:1px dotted #9676d3;background:rgba(255,249,243,.72);font:9px "Courier New",monospace}.currently-watching-v69>small{font-weight:700;color:#7659b4}.currently-watching-v69 p{margin:5px 0}.currently-watching-v69 p span{color:#82689b}
.reading-panel-v69,.music-panel-v69{align-items:flex-start;max-height:min(78vh,620px);overflow:auto}.reading-panel-v69 img,.music-panel-v69 img{position:sticky;top:10px}.current-stack-v69,.ghost-mix-v69{min-width:0}.current-stack-v69 h3,.ghost-mix-v69 h3{font-size:15px;margin:12px 0 2px}.current-stack-v69 p,.ghost-mix-v69 p{margin:0 0 7px;font-size:10px}.current-stack-v69 p span,.ghost-mix-v69 p span{display:block;margin-top:2px;font:700 7px "Courier New",monospace;color:#9676d3}.current-stack-v69 em{display:block;margin:13px 0 8px}.object-memory-v61{display:block;margin-top:10px}
@media(max-width:760px){.about-grid-v69{grid-template-columns:1fr}.about-manifesto-v69{padding:22px 20px;font-size:16px}.hotspot-about{display:flex!important;left:7%!important;top:315px!important;max-width:115px}.reading-panel-v69,.music-panel-v69{max-height:76vh}}

/* =========================================================
   V6.10 — CLEAR PATHS, DEEPER WINDOWS
   Navigation clarity + scroll-safe media panels + sacred paper.
   ========================================================= */

/* The room can be mysterious; its main doors should not be. */
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret){
  min-height:30px;
  padding:5px 8px!important;
  background:rgba(255,249,243,.78)!important;
  border:1px solid rgba(52,43,99,.28)!important;
  box-shadow:2px 3px 0 rgba(52,43,99,.08)!important;
  opacity:.88!important;
  backdrop-filter:blur(1px);
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) b{
  opacity:1!important;
  transform:none!important;
  font-size:7px!important;
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) small{
  opacity:0!important;
  max-height:0;
  overflow:hidden;
  margin-top:0;
  transform:none!important;
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):hover small,
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):focus-visible small{
  opacity:1!important;
  max-height:18px;
  margin-top:2px;
}
.ghost-bedroom-page.room-learned .room-hotspot:not(.hotspot-writing):not(.hotspot-secret){opacity:.78!important}
.ghost-bedroom-page.room-learned .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):hover,
.ghost-bedroom-page.room-learned .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):focus-visible{opacity:1!important}

/* Make the modal itself the viewport; the content scrolls below its title bar. */
.room-panel-layer{padding:clamp(10px,3vh,24px)!important}
.room-panel{
  width:min(520px,94vw)!important;
  max-height:min(88vh,720px)!important;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
}
.room-panel-bar{flex:0 0 auto;position:sticky;top:0;z-index:5}
.reading-panel-v69,.music-panel-v69,.computer-screen-v6,.tarot-panel-v6{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.reading-panel-v69,.music-panel-v69{padding-bottom:32px!important}

/* The typewriter threshold should read as a physical document, not a white UI card. */
.typewriter-paper-closeup-v64{
  background:
    linear-gradient(90deg,transparent 0 41px,rgba(244,166,198,.32) 41px 42px,transparent 42px),
    repeating-linear-gradient(0deg,rgba(52,43,99,.025) 0 1px,transparent 1px 29px),
    linear-gradient(135deg,#fffdf7 0%,#fff9f3 58%,#f7f0e8 100%)!important;
  border:1px solid rgba(80,66,100,.48)!important;
  box-shadow:0 34px 90px rgba(25,20,48,.5),10px 12px 0 rgba(52,43,99,.14)!important;
  clip-path:polygon(0 .7%,4% 0,9% .5%,15% .1%,22% .6%,29% .15%,36% .55%,44% .1%,52% .5%,61% .15%,70% .55%,78% .1%,87% .5%,94% .12%,100% .65%,99.5% 99.2%,93% 100%,86% 99.45%,77% 99.9%,68% 99.4%,58% 99.9%,48% 99.45%,39% 99.95%,30% 99.4%,21% 99.9%,12% 99.4%,4% 99.9%,.4% 99.2%);
}
.typewriter-paper-closeup-v64:before{left:41px!important;background:rgba(244,166,198,.34)!important}
.typewriter-paper-closeup-v64:after{
  content:"typed at 2:17 AM // ribbon slightly haunted";
  position:absolute;right:30px;bottom:20px;
  font:italic 6px "Courier New",monospace;color:rgba(52,43,99,.36);
}

@media(max-width:700px){
 .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret){padding:5px 6px!important;min-height:27px}
 .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) span{font-size:10px}
 .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) b{font-size:6px!important}
 .room-panel{max-height:90vh!important}
 .reading-panel-v69,.music-panel-v69{display:block!important;text-align:left!important;padding:18px!important}
 .reading-panel-v69 img,.music-panel-v69 img{position:static!important;float:right;width:92px!important;margin:0 0 12px 14px}
 .current-stack-v69,.ghost-mix-v69{display:block}
 .typewriter-paper-closeup-v64{max-height:88vh;overflow-y:auto;padding-bottom:70px!important}
}

/* =========================================================
   V6.10.1 — IOS / SHORT-VIEWPORT MODAL FIX
   The whole dialog always stays inside the visible browser viewport;
   only the content beneath the title bar scrolls.
   ========================================================= */
.room-panel-layer{
  box-sizing:border-box!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  padding:12px!important;
  overflow:hidden!important;
}
.room-panel{
  box-sizing:border-box!important;
  width:min(520px,calc(100vw - 24px))!important;
  height:min(720px,calc(100vh - 24px))!important;
  height:min(720px,calc(100dvh - 24px))!important;
  max-height:none!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.room-panel-bar{
  flex:0 0 auto!important;
  position:relative!important;
  top:auto!important;
}
.reading-panel-v69,.music-panel-v69,.computer-screen-v6,.tarot-panel-v6{
  box-sizing:border-box!important;
  flex:1 1 0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-bottom:52px!important;
}
@supports not (height:100dvh){
  .room-panel-layer{height:100vh!important}
  .room-panel{height:calc(100vh - 24px)!important}
}
@media(max-width:700px){
  .room-panel-layer{padding:8px!important}
  .room-panel{
    width:calc(100vw - 16px)!important;
    height:calc(100vh - 16px)!important;
    height:calc(100dvh - 16px)!important;
  }
  .reading-panel-v69,.music-panel-v69{padding:16px 16px 64px!important}
}

/* =========================================================
   V6.10.2 — ONE WINDOW AT A TIME
   V6.10.1's flex override accidentally defeated the HTML hidden
   attribute, causing inactive room panels to stack behind/above the
   active one. Preserve the viewport-safe modal, but hide inactive panels.
   ========================================================= */
.room-panel[hidden]{display:none!important}
.room-panel:not([hidden]){display:flex!important}

/* =========================================================
   V6.10.3 — FLOAT OVER THE ROOM / READABLE WINDOWS
   Final bedroom usability pass: compact centered Y2K windows,
   readable type, and scrolling only when the content needs it.
   ========================================================= */
.room-panel-layer{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  padding:clamp(12px,3vw,28px)!important;
  overflow:hidden!important;
}
.room-panel-layer[hidden]{display:none!important}
.room-panel-backdrop{position:absolute!important;inset:0!important}
.room-panel{
  position:relative!important;
  inset:auto!important;
  margin:0!important;
  width:min(560px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:calc(100vh - 40px)!important;
  max-height:calc(100dvh - 40px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  box-shadow:12px 14px 0 rgba(52,43,99,.22),0 18px 55px rgba(52,43,99,.22)!important;
}
.room-panel[hidden]{display:none!important}
.room-panel-bar{flex:0 0 auto!important;font-size:10px!important;padding:8px 10px!important}
.room-panel-bar button{font-size:16px!important;line-height:1!important;width:28px;height:26px}
.reading-panel-v69,.music-panel-v69,.computer-screen-v6,.tarot-panel-v6{
  flex:0 1 auto!important;
  min-height:0!important;
  max-height:calc(100vh - 105px)!important;
  max-height:calc(100dvh - 105px)!important;
  overflow-y:auto!important;
  padding:22px!important;
}
.reading-panel-v69,.music-panel-v69{gap:22px!important;align-items:flex-start!important}
.reading-panel-v69 img,.music-panel-v69 img{width:122px!important;flex:0 0 122px!important;position:sticky!important;top:4px!important}
.current-stack-v69>small:first-child,.ghost-mix-v69>small:first-child{font-size:8px!important;line-height:1.45!important;letter-spacing:.04em}
.current-stack-v69 h3,.ghost-mix-v69 h3{font-size:18px!important;line-height:1.15!important;margin:13px 0 4px!important}
.current-stack-v69 p,.ghost-mix-v69 p{font-size:12px!important;line-height:1.45!important;margin:0 0 10px!important}
.current-stack-v69 p span,.ghost-mix-v69 p span{font-size:8px!important;line-height:1.4!important;margin-top:3px!important}
.current-stack-v69 em,.ghost-mix-v69 em{font-size:10px!important;line-height:1.5!important}
.object-memory-v61{font-size:8px!important;line-height:1.5!important;margin-top:12px!important}
.fake-track{margin:14px 0 10px!important}
@supports not (height:100dvh){
  .room-panel-layer{height:100vh!important}
  .room-panel{max-height:calc(100vh - 40px)!important}
  .reading-panel-v69,.music-panel-v69,.computer-screen-v6,.tarot-panel-v6{max-height:calc(100vh - 105px)!important}
}
@media(max-width:700px){
  .room-panel-layer{padding:10px!important}
  .room-panel{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important}
  .reading-panel-v69,.music-panel-v69,.computer-screen-v6,.tarot-panel-v6{max-height:calc(100dvh - 82px)!important;padding:18px!important}
  .reading-panel-v69,.music-panel-v69{display:block!important;text-align:left!important}
  .reading-panel-v69 img,.music-panel-v69 img{position:static!important;float:right!important;width:88px!important;margin:0 0 12px 14px!important}
  .current-stack-v69 h3,.ghost-mix-v69 h3{font-size:16px!important}
  .current-stack-v69 p,.ghost-mix-v69 p{font-size:11px!important}
}


/* =========================================================
   V6.11.1 — WORKSTATION STAGING
   Same furniture, better scale and hierarchy.
   ========================================================= */
.room-desk-scene{
  left:190px!important;
  bottom:20px!important;
  width:445px!important;
  height:290px!important;
  z-index:4!important;
}
.room-desk-furniture{
  position:absolute;
  left:8px;
  bottom:0;
  width:390px;
  height:auto;
  z-index:7;
  pointer-events:none;
  filter:drop-shadow(0 8px 5px rgba(52,43,99,.13));
}
.room-desk-chair{
  position:absolute;
  left:255px;
  bottom:-34px;
  width:170px;
  height:auto;
  z-index:8;
  pointer-events:none;
  filter:drop-shadow(2px 6px 3px rgba(52,43,99,.12));
}
.room-desk-scene .desk-top,.room-desk-scene .desk-leg{display:none!important}
.desk-surface-shadow-v67{display:none!important}

/* The typewriter gets the clear open half of the desk. */
.desk-typewriter.room-typewriter{
  left:205px!important;
  bottom:140px!important;
  width:142px!important;
  z-index:14!important;
  transform:rotate(-.25deg)!important;
}
.hotspot-writing{
  left:205px!important;
  bottom:140px!important;
  width:142px!important;
  height:132px!important;
  z-index:24!important;
}
/* Supporting desk objects stay small and out of the typewriter silhouette. */
.desk-lamp{left:22px!important;bottom:136px!important;transform:scale(.70);transform-origin:left bottom}
.desk-cup{left:152px!important;bottom:139px!important;transform:scale(.66);transform-origin:center bottom}
.desk-cd{right:78px!important;bottom:140px!important;transform:rotate(-7deg) scale(.66)}
.translucent-phone{right:4px!important;bottom:140px!important;transform:rotate(2deg) scale(.78);transform-origin:center bottom}

/* Computer Friend occupies the left side of the workstation, not the typewriter's paper. */
.room-smiley-computer{left:294px!important;bottom:154px!important;width:68px!important}
/* Deborah remains off the desktop. */
.ghost-bedroom-page .room-ghost-tropical{right:385px!important;top:374px!important;width:62px!important}

@media(max-width:900px){
  .room-desk-scene{left:140px!important;bottom:22px!important;transform:scale(.84)!important;transform-origin:left bottom!important}
}
@media(max-width:700px){
  .room-desk-scene{left:-2px!important;bottom:22px!important;transform:scale(.67)!important;transform-origin:left bottom!important}
}
@media(max-width:480px){
  .room-desk-scene{left:-38px!important;bottom:20px!important;transform:scale(.58)!important;transform-origin:left bottom!important}
}

/* =========================================================
   V6.11.2 — THE CHAIR TURNS
   A decisive workstation composition: angled chair, clear typewriter,
   computer on its own side. No new decoration.
   ========================================================= */
.room-desk-chair{
  left:275px!important;
  bottom:-28px!important;
  width:225px!important;
  z-index:12!important;
  filter:drop-shadow(3px 7px 4px rgba(52,43,99,.14))!important;
}
.desk-typewriter.room-typewriter{
  left:218px!important;
  bottom:142px!important;
  width:162px!important;
  z-index:14!important;
  transform:rotate(-.15deg)!important;
}
.hotspot-writing{
  left:218px!important;
  bottom:142px!important;
  width:162px!important;
  height:145px!important;
}
/* Give the machine breathing room: the little props no longer crowd its silhouette. */
.desk-cup,.desk-cd{display:none!important}
.translucent-phone{right:-10px!important;bottom:142px!important;transform:rotate(2deg) scale(.70)!important}
.desk-lamp{left:18px!important;bottom:138px!important;transform:scale(.66)!important}
/* Computer Friend clearly owns the left side of the workstation. */
.room-smiley-computer{left:248px!important;bottom:156px!important;width:70px!important}
.hotspot-computer{left:232px!important;bottom:213px!important}

/* =========================================================
   V6.11.3 — SIT ON THE DESK
   Precision pass only: chair larger; typewriter + computer raised.
   ========================================================= */
.room-desk-chair{
  left:286px!important;
  bottom:-42px!important;
  width:282px!important;
}
.desk-typewriter.room-typewriter{
  left:218px!important;
  bottom:174px!important;
  width:162px!important;
}
.hotspot-writing{
  left:218px!important;
  bottom:174px!important;
  width:162px!important;
  height:145px!important;
}
.room-smiley-computer{
  left:248px!important;
  bottom:194px!important;
  width:70px!important;
}
.hotspot-computer{
  left:232px!important;
  bottom:251px!important;
}


/* =========================================================
   V6.11.4 — READABLE ROOM
   Polish pass: readable interface, no accidental floating papers,
   calmer hotspot tags, and a workstation that sits on the desk.
   ========================================================= */

/* The old "sparkle" asset is actually a paper-sheet sprite. It is retired. */
.room-sparkle-a,.room-sparkle-b{display:none!important}

/* Functional text should be readable; microtype is reserved for atmosphere. */
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret){
  min-height:34px!important;
  padding:7px 10px!important;
  background:rgba(255,249,243,.84)!important;
  border:1px solid rgba(52,43,99,.22)!important;
  border-radius:2px!important;
  box-shadow:2px 3px 0 rgba(184,167,232,.22)!important;
  opacity:.94!important;
  backdrop-filter:blur(2px);
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) span{font-size:13px!important}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) b{
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) small{
  font-size:7px!important;
  line-height:1.25!important;
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):hover,
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):focus-visible{
  background:#fff9f3!important;
  border-color:rgba(150,118,211,.48)!important;
  box-shadow:3px 4px 0 rgba(244,166,198,.25)!important;
}

.room-discovery-hint{font-size:9px!important;bottom:-27px!important}
.room-ambient-status{font-size:8px!important;bottom:-27px!important}
.after-room-whisper-v63{font-size:16px!important;line-height:1.45!important;letter-spacing:.02em!important}
.guestbook-scrap-v6{font-size:10px!important;line-height:1.55!important}
.guestbook-scrap-v6 b{font-size:9px!important}.guestbook-scrap-v6 a{font-size:9px!important}
.bottom-haunt .tiny-badge{font-size:10px!important}.bottom-haunt .bottom-note{font-size:11px!important}.bottom-haunt .last-update{font-size:9px!important}
.foot-v44>div{font-size:11px!important;line-height:1.55!important}.foot-v44 span,.foot-v44 a{font-size:10px!important}
.copyright{font-size:9px!important}

/* Keep room flavor legible without making it shout. */
.room-away-message b{font-size:8px!important}.room-away-message span{font-size:7px!important}.room-away-message em{font-size:8px!important;line-height:1.35!important}
.wall-scribble small{font-size:9px!important}.window-sill{font-size:7px!important}

/* Workstation: tuck the typewriter farther back onto the desktop. */
.desk-typewriter.room-typewriter{
  left:214px!important;
  bottom:184px!important;
  width:158px!important;
  z-index:14!important;
}
.hotspot-writing{
  left:214px!important;
  bottom:184px!important;
  width:158px!important;
  height:142px!important;
}
/* Computer Friend gets a clear perch on the left side instead of hiding in the drawers. */
.room-smiley-computer{
  left:292px!important;
  bottom:216px!important;
  width:76px!important;
  z-index:13!important;
}
.hotspot-computer{left:275px!important;bottom:270px!important}

/* Chair is finally furniture, not a button. Leave her alone. */
.room-desk-chair{left:286px!important;bottom:-42px!important;width:282px!important}

@media(max-width:700px){
  .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret){padding:6px 8px!important;min-height:31px!important}
  .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) b{font-size:8px!important}
  .ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) span{font-size:12px!important}
  .room-discovery-hint{font-size:8px!important}
}

/* =========================================================
   V6.12.0 — THE ROOM FINDS ITS PERSPECTIVE
   New illustrated bed/window become the architectural anchors.
   Workstation is restaged against that shared spatial language.
   ========================================================= */
.ghost-room-window-art{
  position:absolute;right:48px;top:78px;width:350px;height:auto;z-index:2;
  filter:drop-shadow(8px 10px 0 rgba(52,43,99,.09));pointer-events:none;
}
.ghost-room-bed-art{
  position:absolute;right:30px;bottom:34px;width:405px;height:auto;z-index:4;
  filter:drop-shadow(0 10px 6px rgba(52,43,99,.12));pointer-events:none;
}
/* The rug now sits under the chair instead of fighting the bed. */
.room-rug{left:36%!important;bottom:15px!important;width:285px!important;height:88px!important;opacity:.66!important;z-index:2!important}
/* Pull the whole workstation left and down into its own visual zone. */
.room-desk-scene{left:168px!important;bottom:22px!important;width:455px!important;height:300px!important}
.room-desk-furniture{left:0!important;bottom:0!important;width:405px!important}
/* Chair tucks toward the desk, angled asset supplies perspective. */
.room-desk-chair{left:290px!important;bottom:-32px!important;width:255px!important;z-index:12!important}
/* Typewriter rests on the open desktop rather than floating over its edge. */
.desk-typewriter.room-typewriter{left:207px!important;bottom:181px!important;width:150px!important;z-index:15!important;transform:rotate(-.2deg)!important}
.hotspot-writing{left:207px!important;bottom:181px!important;width:150px!important;height:136px!important}
/* Computer Friend is a small desk companion, clearly separated from the typewriter. */
.room-smiley-computer{left:452px!important;bottom:230px!important;width:72px!important;z-index:14!important;transform:rotate(-2deg)!important}
.hotspot-computer{left:435px!important;bottom:277px!important}
/* Keep bed interactions aligned with the new bed footprint. */
.hotspot-reading{right:38px!important;bottom:58px!important;z-index:20!important}
.hotspot-tarot{right:286px!important;bottom:126px!important;z-index:20!important}
/* New art replaces the old CSS-built furniture/window completely. */
.miami-bedroom-window,.room-bed{display:none!important}
@media(max-width:900px){
  .ghost-room-window-art{right:28px;width:330px}
  .ghost-room-bed-art{right:18px;width:380px}
}

/* =========================================================
   V6.12.1 — EVERYTHING HAS A PLACE
   Ground the workstation, separate the machines, and give
   every ghost a physical relationship to the room.
   ========================================================= */
/* The flipped bed turns back into the room and creates an aisle. */
.ghost-room-bed-art{right:18px!important;bottom:28px!important;width:410px!important;z-index:4!important}

/* Desk pushed back to the wall/floor seam. A soft contact shadow grounds it. */
.room-desk-scene{left:164px!important;bottom:34px!important;width:455px!important;height:300px!important}
.room-desk-scene:after{
  content:"";position:absolute;left:18px;right:46px;bottom:-3px;height:18px;
  background:radial-gradient(ellipse at center,rgba(52,43,99,.18) 0%,rgba(52,43,99,.08) 45%,rgba(52,43,99,0) 74%);
  filter:blur(4px);z-index:0;pointer-events:none;
}
.room-desk-furniture{z-index:5!important}

/* Sacred machine gets the open right half; Computer Friend gets the left. */
.desk-typewriter.room-typewriter{left:225px!important;bottom:179px!important;width:146px!important;z-index:15!important}
.hotspot-writing{left:225px!important;bottom:179px!important;width:146px!important;height:132px!important}
.room-smiley-computer{left:205px!important;bottom:250px!important;width:66px!important;z-index:14!important;transform:rotate(-2deg)!important}
.hotspot-computer{left:350px!important;bottom:282px!important}

/* Chair is pulled into the aisle and tucked under the desk edge. */
.room-desk-chair{left:300px!important;bottom:-31px!important;width:248px!important;z-index:12!important}
.room-rug{left:37%!important;bottom:14px!important;width:275px!important;height:84px!important}

/* Ghosts now inhabit surfaces instead of arbitrary coordinates. */
.ghost-bedroom-page .room-ghost-reading{
  width:96px!important;right:48px!important;bottom:104px!important;z-index:11!important;
  transform:rotate(2deg)!important;
}
.ghost-bedroom-page .room-ghost-tropical{
  width:58px!important;right:365px!important;top:auto!important;bottom:210px!important;z-index:12!important;
  transform:rotate(-3deg)!important;
}
.ghost-bedroom-page .room-ghost-music{
  left:66px!important;bottom:36px!important;width:108px!important;z-index:9!important;
}
/* Keep interaction tags near their residents. */
.hotspot-reading{right:30px!important;bottom:48px!important}
.hotspot-music{left:48px!important;bottom:14px!important}
.hotspot-tarot{right:286px!important;bottom:120px!important}

@media(max-width:900px){
  .ghost-room-bed-art{right:8px!important;width:382px!important}
  .room-desk-scene{left:135px!important}
}

/* =========================================================
   V6.12.2 — BACK AGAINST THE WALL
   Smaller desk, true desktop placement, quieter grounding.
   ========================================================= */
/* The workstation recedes toward the back wall instead of competing with the bed. */
.room-desk-scene{
  left:176px!important;
  bottom:52px!important;
  width:410px!important;
  height:270px!important;
}
.room-desk-furniture{
  left:8px!important;
  bottom:0!important;
  width:330px!important;
  filter:drop-shadow(0 3px 2px rgba(52,43,99,.08))!important;
}
/* Kill the broad floor smudge; the tiny furniture shadow above is enough. */
.room-desk-scene:after{display:none!important;content:none!important}

/* Put both machines ON the desktop, with breathing room between them. */
.room-smiley-computer{
  left:72px!important;
  bottom:218px!important;
  width:58px!important;
  z-index:14!important;
  transform:rotate(-2deg)!important;
}
.hotspot-computer{left:244px!important;bottom:292px!important}
.desk-typewriter.room-typewriter{
  left:174px!important;
  bottom:211px!important;
  width:128px!important;
  z-index:15!important;
  transform:rotate(-.2deg)!important;
}
.hotspot-writing{
  left:174px!important;
  bottom:211px!important;
  width:128px!important;
  height:116px!important;
}

/* Pull the chair toward the desk and off the center of the rug. */
.room-desk-chair{
  left:225px!important;
  bottom:-38px!important;
  width:218px!important;
  z-index:12!important;
}
.room-rug{left:34%!important;bottom:14px!important;width:270px!important;height:82px!important}

/* Tiny inhabitant cleanup: reading ghost comes onto the mattress; Deborah hugs the bed/window edge. */
.ghost-bedroom-page .room-ghost-reading{
  right:70px!important;
  bottom:116px!important;
  width:90px!important;
}
.ghost-bedroom-page .room-ghost-tropical{
  right:350px!important;
  bottom:198px!important;
  width:54px!important;
}

@media(max-width:900px){
  .room-desk-scene{left:142px!important;bottom:48px!important;transform:scale(.94)!important;transform-origin:left bottom!important}
}

/* =========================================================
   V6.13.0 — SURGICAL DESK ALIGNMENT
   Computer right. Typewriter down. Chair in. Nothing else.
   ========================================================= */
.room-smiley-computer{
  left:168px!important;
  bottom:218px!important;
}
.hotspot-computer{
  left:332px!important;
  bottom:292px!important;
}
.desk-typewriter.room-typewriter{
  left:174px!important;
  bottom:199px!important;
}
.hotspot-writing{
  left:174px!important;
  bottom:199px!important;
  width:128px!important;
  height:116px!important;
}
.room-desk-chair{
  left:207px!important;
  bottom:-22px!important;
}

/* =========================================================
   V6.14.0 — ONE WORKSTATION
   Treat desk + machines + chair as one composition.
   ========================================================= */
/* One desktop line: computer on the left, typewriter on the right. */
.room-smiley-computer{
  left:252px!important;
  bottom:246px!important;
  width:60px!important;
  z-index:14!important;
  transform:rotate(-2deg)!important;
}
.desk-typewriter.room-typewriter{
  left:184px!important;
  bottom:177px!important;
  width:128px!important;
  z-index:15!important;
  transform:rotate(-.2deg)!important;
}
.hotspot-writing{
  left:184px!important;
  bottom:177px!important;
  width:128px!important;
  height:116px!important;
}
/* The chair belongs to the workstation now: tucked in, but still visibly pulled away. */
.room-desk-chair{
  left:188px!important;
  bottom:-7px!important;
  width:218px!important;
  z-index:12!important;
}
/* The aqua phone was reading as a floating object; remove it from this composition. */
.translucent-phone{display:none!important}
/* Let the object be the invitation. COMPUTER appears only when the visitor investigates it. */
.hotspot-computer{
  left:244px!important;
  bottom:245px!important;
  width:82px!important;
  height:72px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.02!important;
}
.hotspot-computer span,.hotspot-computer b,.hotspot-computer small{display:none!important}
.hotspot-computer:hover,.hotspot-computer:focus-visible{
  opacity:1!important;
  outline:1px dashed rgba(52,43,99,.22)!important;
  outline-offset:3px!important;
}

/* =========================================================
   V6.14.1 — KILL THE GHOST PAPER
   The computer hotspot stays fully clickable but has no visible
   card/background/border at rest or on hover/focus.
   ========================================================= */
.ghost-bedroom-page .room-hotspot.hotspot-computer,
.ghost-bedroom-page.room-learned .room-hotspot.hotspot-computer,
.ghost-bedroom-page .room-hotspot.hotspot-computer:hover,
.ghost-bedroom-page .room-hotspot.hotspot-computer:focus-visible,
.ghost-bedroom-page.room-learned .room-hotspot.hotspot-computer:hover,
.ghost-bedroom-page.room-learned .room-hotspot.hotspot-computer:focus-visible{
  background:transparent!important;
  border:0!important;
  border-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  opacity:0!important;
  outline:0!important;
  outline-offset:0!important;
  transform:none!important;
}
.ghost-bedroom-page .room-hotspot.hotspot-computer span,
.ghost-bedroom-page .room-hotspot.hotspot-computer b,
.ghost-bedroom-page .room-hotspot.hotspot-computer small{display:none!important}


/* =========================================================
   V6.14.2 — GHOST PAPER: SOURCE REMOVAL
   The old computer hotspot button is gone from the HTML.
   Computer Friend itself is now the click target.
   ========================================================= */
.room-smiley-computer{pointer-events:auto!important;cursor:pointer!important}
.room-smiley-computer:focus-visible{outline:2px dashed rgba(52,43,99,.35);outline-offset:4px}

/* =========================================================
   V6.14.3 — NO MORE HOVER PAPER
   The remaining cream rectangle was the ABOUT hotspot expanding
   into its helper copy, not Computer Friend. Keep navigation clear
   without letting any hotspot grow into a paper card.
   ========================================================= */
.hotspot-about{
  width:auto!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  padding:5px 8px!important;
}
.hotspot-about small{display:none!important}
.hotspot-about:hover,.hotspot-about:focus-visible{
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  overflow:hidden!important;
}
/* Computer Friend is the only computer hit target; its own image reacts. */
.room-smiley-computer:hover,
.room-smiley-computer:focus-visible{
  filter:drop-shadow(0 0 8px rgba(121,217,220,.65))!important;
  transform:translateY(-2px) rotate(-2deg)!important;
  outline:0!important;
}

/* =========================================================
   V6.15.0 — THE DESK FINALLY BELONGS HERE
   New thin-line two-drawer desk + one clean workstation.
   Also removes all helper-copy hover expansion from room tags.
   ========================================================= */
.room-desk-furniture{
  left:8px!important;
  bottom:0!important;
  width:330px!important;
  filter:drop-shadow(0 3px 2px rgba(52,43,99,.07))!important;
}
/* Computer left / typewriter right, both seated on the same desktop. */
.room-smiley-computer{
  left:252px!important;
  bottom:246px!important;
  width:60px!important;
  z-index:14!important;
}
.desk-typewriter.room-typewriter{
  left:184px!important;
  bottom:177px!important;
  width:128px!important;
  z-index:15!important;
}
.hotspot-writing{
  left:184px!important;
  bottom:177px!important;
  width:128px!important;
  height:116px!important;
}
.room-desk-chair{
  left:188px!important;
  bottom:-7px!important;
  width:218px!important;
  z-index:12!important;
}
/* No room label is allowed to turn into a floating paper on hover. */
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret) small{
  display:none!important;
  max-height:0!important;
  margin:0!important;
}
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret),
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):hover,
.ghost-bedroom-page .room-hotspot:not(.hotspot-writing):not(.hotspot-secret):focus-visible{
  height:auto!important;
  min-height:30px!important;
  max-height:34px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.hotspot-about,
.hotspot-about:hover,
.hotspot-about:focus-visible{
  width:auto!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:5px 8px!important;
  overflow:hidden!important;
}


/* =========================================================
   V6.16.0 — THE RECTANGLE WAS THE TYPEWRITER
   Root-cause fix. The zoom-in cursor in the screenshots revealed
   that the visible cream rectangle was the TYPEWRITER threshold,
   not About or Computer Friend. The threshold had been positioned
   in room coordinates while the machine lives inside desk-scene
   coordinates, and it also inherited generic room-hotspot UI.
   It is now a plain invisible hit target placed directly over the
   physical typewriter. No room-hotspot class, no card, no hover box.
   ========================================================= */
.hotspot-writing{
  position:absolute!important;
  left:360px!important;
  bottom:229px!important;
  width:128px!important;
  height:116px!important;
  z-index:20!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  opacity:1!important;
  overflow:hidden!important;
  color:transparent!important;
  cursor:zoom-in!important;
  transform:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.hotspot-writing span,.hotspot-writing b,.hotspot-writing small{display:none!important}
.hotspot-writing:hover,.hotspot-writing:focus,.hotspot-writing:focus-visible,.hotspot-writing:active{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  opacity:1!important;
  transform:none!important;
}
/* Keep the actual machine as the only visual hover feedback. */
.ghost-bedroom-room:has(.hotspot-writing:hover) .desk-typewriter.room-typewriter,
.ghost-bedroom-room:has(.hotspot-writing:focus-visible) .desk-typewriter.room-typewriter{
  transform:translateY(-3px) rotate(-.2deg) scale(1.025)!important;
  filter:drop-shadow(0 0 10px rgba(121,217,220,.38)) drop-shadow(5px 7px 2px rgba(52,43,99,.16))!important;
}
@media(max-width:900px){
  .hotspot-writing{left:311px!important;bottom:215px!important;width:120px!important;height:109px!important}
}


/* =========================================================
   V6.17.0 — GHOST GIRL HAS A LIFE
   Content-first pass. No new furniture, no new artwork.
   The residents get slightly more believable placement and
   the "currently" windows become the room's evidence of life.
   ========================================================= */

/* Keep the three resident ghosts visually attached to real surfaces. */
.ghost-bedroom-page .room-ghost-music{
  left:82px!important;
  bottom:39px!important;
  width:104px!important;
  z-index:9!important;
  filter:drop-shadow(0 5px 2px rgba(52,43,99,.10))!important;
}
.ghost-bedroom-page .room-ghost-tropical{
  right:347px!important;
  bottom:201px!important;
  width:54px!important;
  z-index:12!important;
  filter:drop-shadow(0 4px 2px rgba(52,43,99,.10))!important;
}
.ghost-bedroom-page .room-ghost-reading{
  right:66px!important;
  bottom:119px!important;
  width:90px!important;
  z-index:11!important;
  filter:drop-shadow(0 5px 2px rgba(52,43,99,.10))!important;
}

/* Their labels follow them without becoming giant UI cards. */
.hotspot-music{left:66px!important;bottom:14px!important}
.hotspot-reading{right:31px!important;bottom:48px!important}

/* "Currently" content should read like personal scraps inside the Y2K windows. */
.currently-watching-v69,
.current-stack-v69,
.ghost-mix-v69{
  text-wrap:pretty;
}
.currently-watching-v69{
  border-style:dashed!important;
  box-shadow:2px 2px 0 rgba(184,167,232,.18);
}
.current-stack-v69 h3,
.ghost-mix-v69 h3{
  letter-spacing:-.01em;
}
.current-stack-v69 .object-memory-v61,
.ghost-mix-v69 .object-memory-v61{
  opacity:.78;
}

/* The room remains the star: no new rectangles or furniture layers. */
.ghost-bedroom-room::before,
.ghost-bedroom-room::after{
  pointer-events:none;
}

@media(max-width:900px){
  .ghost-bedroom-page .room-ghost-music{left:62px!important;width:94px!important}
  .ghost-bedroom-page .room-ghost-tropical{right:320px!important;width:50px!important}
  .ghost-bedroom-page .room-ghost-reading{right:38px!important;width:84px!important}
}


/* =========================================================
   V6.18 — THE PAGE IS WAITING
   Typewriter = altar. This is a desk/page encounter, not
   another Y2K application window.
   ========================================================= */
.transmission-paper-v618{
  width:min(640px,90vw)!important;
  min-height:610px!important;
  padding:54px 64px 58px!important;
}
.transmission-kicker-v618{
  display:flex;justify-content:space-between;gap:18px;align-items:center;
  margin:4px 0 22px;padding-bottom:10px;
  border-bottom:1px solid rgba(52,43,99,.18);
  font:700 7px/1.4 "Courier New",monospace;
  letter-spacing:.12em;color:#9676d3;
}
.transmission-paper-v618 h2{
  max-width:500px;margin:18px 0 9px!important;
  font:italic 38px/1.04 Georgia,serif!important;
}
.transmission-deck-v618{
  max-width:470px;margin:0;
  font:italic 13px/1.55 Georgia,serif;
  color:rgba(52,43,99,.64);
}
.transmission-rule-v618{
  display:flex;align-items:center;gap:12px;margin:27px 0 25px;
  color:#f4a6c6;font-size:9px;
}
.transmission-rule-v618:before,.transmission-rule-v618:after{
  content:"";height:1px;flex:1;background:rgba(52,43,99,.14)
}
.transmission-excerpt-v618{
  max-width:490px;
  font:13px/1.72 "Courier New",monospace;color:#342b63;
}
.transmission-excerpt-v618 p{margin:10px 0}
.transmission-excerpt-v618 .typed-line-v64{
  font:13px/1.72 "Courier New",monospace;
  margin:10px 0;border-right:1px solid rgba(52,43,99,.7)
}
.typewriter-threshold-layer.open .transmission-excerpt-v618 .typed-line-v64.one{
  animation:transmissionTypeOne 1.25s .62s steps(43,end) forwards
}
.typewriter-threshold-layer.open .transmission-excerpt-v618 .typed-line-v64.two{
  animation:transmissionTypeTwo .9s 1.95s steps(27,end) forwards
}
@keyframes transmissionTypeOne{to{width:43ch}}
@keyframes transmissionTypeTwo{to{width:27ch}}
.transmission-actions-v618{
  margin-top:42px!important;padding-top:18px!important;
  justify-content:flex-start!important;align-items:center!important;gap:25px!important
}
.transmission-actions-v618 a{
  text-decoration:none!important;font-size:9px!important
}
.transmission-actions-v618 .keep-reading-v618{
  display:inline-block;padding:9px 12px;
  border:1px solid rgba(52,43,99,.32);
  background:rgba(246,217,120,.13);
  color:#342b63!important;
  box-shadow:3px 3px 0 rgba(184,167,232,.18)
}
.transmission-actions-v618 .keep-reading-v618:hover{
  transform:translate(-1px,-1px);box-shadow:4px 4px 0 rgba(184,167,232,.24)
}
.transmission-actions-v618 .all-writings-v618{
  color:#9676d3!important;text-decoration:underline!important
}
.step-back-v618{
  position:absolute;right:30px;bottom:19px;
  border:0;background:transparent;padding:0;cursor:zoom-out;
  font:italic 7px "Courier New",monospace;
  color:rgba(52,43,99,.48)
}
.step-back-v618:hover{color:#f4a6c6}
.transmission-paper-v618:after{
  content:"typed at 2:17 AM // ribbon slightly haunted"!important;
  right:30px!important;bottom:35px!important
}
.transmission-paper-v618 .paper-bottom-v64{bottom:20px!important}

@media(max-width:700px){
  .transmission-paper-v618{padding:42px 34px 72px!important;min-height:540px!important}
  .transmission-paper-v618 h2{font-size:29px!important}
  .transmission-kicker-v618{align-items:flex-start;flex-direction:column;gap:4px}
  .transmission-excerpt-v618,.transmission-excerpt-v618 .typed-line-v64{
    font-size:11px!important;white-space:normal!important;width:auto!important;border-right:0!important
  }
  .typewriter-threshold-layer.open .transmission-excerpt-v618 .typed-line-v64{
    animation:none!important
  }
  .transmission-actions-v618{flex-direction:column;align-items:flex-start!important;gap:13px!important}
  .step-back-v618{right:24px;bottom:36px}
  .transmission-paper-v618:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .transmission-excerpt-v618 .typed-line-v64{
    width:auto!important;border-right:0!important;animation:none!important
  }
}


/* =========================================================
   V6.19.1 — IMPOSSIBLE BROWSER, ACTUALLY WIRED IN
   The browser artwork is a real sibling layer behind the
   existing paper. The proven typewriter interaction stays intact.
   ========================================================= */
.impossible-browser-v619{
  position:relative;
  z-index:2;
  width:min(1100px,96vw);
  height:min(550px,48vw);
  min-height:430px;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translateY(90px) scale(.72);
  transform-origin:50% 70%;
  transition:transform .62s cubic-bezier(.2,.78,.22,1),opacity .28s ease;
  pointer-events:none;
}
.typewriter-threshold-layer.open .impossible-browser-v619{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.impossible-browser-art-v619{
  position:absolute;
  z-index:1;
  inset:50% auto auto 50%;
  width:100%;
  height:auto;
  transform:translate(-50%,-50%);
  display:block;
  pointer-events:none;
  filter:drop-shadow(0 30px 50px rgba(25,20,48,.34));
}
.impossible-browser-v619 .typewriter-paper-closeup-v64{
  z-index:2!important;
  width:640px!important;
  min-height:0!important;
  height:400px!important;
  padding:36px 52px 45px!important;
  transform:scale(.78)!important;
  transform-origin:center center!important;
  opacity:0!important;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(25,20,48,.18)!important;
  transition:opacity .28s .28s ease,transform .45s .22s ease!important;
}
.typewriter-threshold-layer.open .impossible-browser-v619 .typewriter-paper-closeup-v64{
  opacity:1!important;
  transform:scale(.78)!important;
}
.impossible-browser-v619 .transmission-kicker-v618{margin:0 0 14px!important}
.impossible-browser-v619 .transmission-paper-v618 h2{font-size:32px!important;margin:12px 0 6px!important}
.impossible-browser-v619 .transmission-deck-v618{font-size:11px!important}
.impossible-browser-v619 .transmission-rule-v618{margin:15px 0!important}
.impossible-browser-v619 .transmission-excerpt-v618{font-size:11px!important;line-height:1.55!important}
.impossible-browser-v619 .transmission-excerpt-v618 p{margin:6px 0!important}
.impossible-browser-v619 .transmission-excerpt-v618 .typed-line-v64{font-size:11px!important;line-height:1.55!important;margin:6px 0!important}
.impossible-browser-v619 .transmission-actions-v618{margin-top:19px!important;padding-top:12px!important}
.impossible-browser-v619 .step-back-v618{bottom:13px!important}
.impossible-browser-v619 .paper-bottom-v64{bottom:12px!important}
.impossible-browser-v619 .transmission-paper-v618:after{bottom:25px!important}

@media(max-width:800px){
  .impossible-browser-v619{width:98vw;height:62vw;min-height:390px}
  .impossible-browser-v619 .typewriter-paper-closeup-v64{transform:scale(.62)!important}
  .typewriter-threshold-layer.open .impossible-browser-v619 .typewriter-paper-closeup-v64{transform:scale(.62)!important}
}


/* =========================================================
   V6.19.2 — READABLE, LOOSE-LEAF TRANSMISSION
   Keep the impossible browser at its current room scale;
   give the writing more of its interior and let the sheet
   feel like a physical page rather than a rigid UI panel.
   ========================================================= */
.impossible-browser-v619 .typewriter-paper-closeup-v64{
  width:650px!important;
  height:404px!important;
  padding:34px 48px 47px!important;
  transform:scale(.86) rotate(-.22deg)!important;
  transform-origin:center center!important;
  border-radius:3px 1px 4px 2px!important;
  clip-path:polygon(.35% .7%, 8% .2%, 18% .55%, 29% .12%, 41% .48%, 54% .08%, 67% .42%, 79% .15%, 91% .5%, 99.65% .18%, 99.9% 11%, 99.55% 25%, 99.85% 39%, 99.5% 54%, 99.82% 68%, 99.52% 83%, 99.75% 99.35%, 90% 99.7%, 78% 99.4%, 66% 99.78%, 53% 99.45%, 40% 99.82%, 27% 99.48%, 14% 99.76%, .3% 99.35%, .12% 86%, .45% 71%, .16% 56%, .48% 40%, .14% 24%);
  box-shadow:0 17px 34px rgba(25,20,48,.22)!important;
}
.typewriter-threshold-layer.open .impossible-browser-v619 .typewriter-paper-closeup-v64{
  transform:scale(.86) rotate(-.22deg)!important;
}
.impossible-browser-v619 .transmission-kicker-v618{
  font-size:8px!important;
  line-height:1.35!important;
  margin:0 0 12px!important;
}
.impossible-browser-v619 .paper-corner-v64{font-size:7px!important}
.impossible-browser-v619 .transmission-paper-v618 h2{
  font-size:35px!important;
  line-height:1.02!important;
  margin:10px 0 7px!important;
}
.impossible-browser-v619 .transmission-deck-v618{
  font-size:13px!important;
  line-height:1.45!important;
}
.impossible-browser-v619 .transmission-rule-v618{margin:13px 0!important}
.impossible-browser-v619 .transmission-excerpt-v618{
  font-size:14px!important;
  line-height:1.58!important;
}
.impossible-browser-v619 .transmission-excerpt-v618 p{margin:7px 0!important}
.impossible-browser-v619 .transmission-excerpt-v618 .typed-line-v64{
  font-size:14px!important;
  line-height:1.58!important;
  margin:7px 0!important;
}
.impossible-browser-v619 .transmission-actions-v618{
  margin-top:17px!important;
  padding-top:11px!important;
  font-size:9px!important;
}
.impossible-browser-v619 .step-back-v618{font-size:7px!important}
.impossible-browser-v619 .paper-bottom-v64{font-size:6.5px!important}

@media(max-width:800px){
  .impossible-browser-v619 .typewriter-paper-closeup-v64{
    transform:scale(.68) rotate(-.22deg)!important;
  }
  .typewriter-threshold-layer.open .impossible-browser-v619 .typewriter-paper-closeup-v64{
    transform:scale(.68) rotate(-.22deg)!important;
  }
}

/* ============================================================
   V6.20 — THE WRITER'S ROOM
   Physical writing room. Existing site styles above remain intact.
   ============================================================ */
.writers-room-page-v620{background:#171319;color:#342b63;min-height:100vh;overflow-x:hidden}
.writers-room-page-v620 .top{position:relative;z-index:30}
.writers-room-shell-v620{max-width:1180px;margin:26px auto 48px;padding:0 18px}
.writers-room-heading-v620{text-align:center;color:#fff9f3;margin:0 0 14px;font-family:"Courier New",monospace}
.writers-room-heading-v620 p{margin:0 0 4px;font-size:11px;letter-spacing:.12em;color:#b8a7e8}
.writers-room-heading-v620 h1{margin:0;font-size:clamp(26px,4vw,46px);letter-spacing:.08em;text-shadow:0 2px 0 #342b63}
.writers-room-heading-v620 span{display:block;margin-top:5px;font-size:13px;color:#f4a6c6;font-style:italic}
.writers-room-v620{position:relative;isolation:isolate;width:100%;aspect-ratio:16/10;min-height:560px;max-height:740px;overflow:hidden;border:7px solid #2b1c1b;border-radius:5px;background:#5a3a34;box-shadow:0 20px 55px #0009,0 0 0 2px #a77a4e inset}
.writer-wall-v620{position:absolute;inset:0 0 29% 0;background:linear-gradient(90deg,#553933,#644039 48%,#50332f);border-bottom:8px solid #2c1d1c;z-index:0}
.writer-wall-v620:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 175px,#3b29263d 176px 178px),linear-gradient(#0000,#24181935);pointer-events:none}
.writer-floor-v620{position:absolute;left:0;right:0;bottom:0;height:30%;background:repeating-linear-gradient(96deg,#3c2925 0 95px,#2a1d1b 97px 101px,#49302a 103px 190px);z-index:0}
.wr-window-v620{position:absolute;width:23%;left:7%;top:7%;filter:drop-shadow(0 5px 4px #0007);z-index:2}
.wr-wall-note-v620{position:absolute;left:33%;top:9%;transform:rotate(-2deg);font:700 clamp(11px,1.35vw,17px)/1.25 "Courier New",monospace;letter-spacing:.08em;color:#d7b46d;border:1px solid #b68c574d;padding:8px 10px;background:#24191a59;z-index:2}
.wr-wall-note-v620 small{font-weight:400;color:#f4d9b0;letter-spacing:.03em}
.wr-torn-v620{position:absolute;width:13%;left:43%;top:25%;transform:rotate(5deg);filter:drop-shadow(0 4px 3px #0008);z-index:3}
.wr-shelf-v620{position:absolute;width:29%;right:3%;top:7%;filter:brightness(.82) saturate(.8) drop-shadow(0 7px 4px #0007);z-index:2}
.wr-lantern-v620{position:absolute;width:8%;right:28%;bottom:-12%;filter:drop-shadow(0 0 12px #f0b34b88);z-index:4}
.wr-desk-scene-v620{position:absolute;left:17%;bottom:3%;width:62%;height:58%;z-index:8}
.wr-desk-v620{position:absolute;left:0;bottom:0;width:100%;filter:brightness(.9) drop-shadow(0 10px 5px #0009);z-index:2}
.wr-typewriter-v620{position:absolute;width:25%;left:42%;top:5%;filter:drop-shadow(0 5px 3px #0008);z-index:5}
.wr-lamp-v620{position:absolute;width:15%;left:21%;top:-8%;filter:drop-shadow(0 0 15px #f3cf7a80);z-index:4}
.wr-letters-v620{position:absolute;width:17%;left:67%;top:18%;transform:rotate(4deg);filter:drop-shadow(0 4px 3px #0007);z-index:4}
.wr-books-v620{position:absolute;width:20%;left:1.5%;bottom:1%;filter:brightness(.88) drop-shadow(0 8px 5px #0008);z-index:10}
.wr-sealed-v620{position:absolute;width:12%;right:3%;bottom:6%;transform:rotate(-7deg);filter:drop-shadow(0 6px 4px #0008);z-index:10}
.wr-room-whisper-v620{position:absolute;right:3%;top:58%;z-index:4;color:#d9c5ad;font:italic 11px/1.2 Georgia,serif;opacity:.65;transform:rotate(2deg)}
.wr-desk-hotspot-v620{position:absolute;left:37%;top:0;width:34%;height:48%;z-index:20;border:0;background:transparent;color:#fff9f3;cursor:pointer;font-family:"Courier New",monospace;text-shadow:0 2px 4px #000;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:31%;opacity:.08;transition:opacity .2s,transform .2s}
.wr-desk-hotspot-v620:hover,.wr-desk-hotspot-v620:focus-visible{opacity:1;transform:translateY(-3px);outline:none}
.wr-desk-hotspot-v620 span{font-size:18px}.wr-desk-hotspot-v620 b{font-size:12px;letter-spacing:.12em}.wr-desk-hotspot-v620 small{font-size:9px;color:#f4a6c6;margin-top:2px}
.writers-room-instruction-v620{text-align:center;color:#b8a7e8;font:11px "Courier New",monospace;margin:10px 0 0;opacity:.78}
.writing-desk-layer-v620[hidden]{display:none}.writing-desk-layer-v620{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .22s}.writing-desk-layer-v620.is-open{opacity:1}
.writing-desk-backdrop-v620{position:absolute;inset:0;border:0;background:#100c10dc;backdrop-filter:blur(7px);cursor:zoom-out}
.writing-desk-paper-v620{position:relative;width:min(760px,92vw);max-height:min(760px,88vh);overflow:auto;padding:clamp(28px,5vw,58px);background:#f4e4c6;color:#342b3a;border:1px solid #d0b383;box-shadow:0 25px 80px #000b;transform:translateY(14px) rotate(-.25deg);transition:transform .25s;font-family:"Courier New",monospace;clip-path:polygon(1% 0,98% .5%,100% 3%,99% 96%,97% 100%,2% 99%,0 96%,.6% 3%)}
.writing-desk-layer-v620.is-open .writing-desk-paper-v620{transform:translateY(0) rotate(-.25deg)}
.writing-desk-paper-v620:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:repeating-linear-gradient(0deg,#a9875d10 0 2px,transparent 2px 27px)}
.writing-desk-close-v620{position:absolute;right:22px;top:16px;border:0;background:transparent;color:#684a43;font-size:25px;cursor:pointer}.writing-desk-path-v620{font-size:10px;letter-spacing:.08em;color:#8c655b}.writing-desk-paper-v620 h2{font-size:clamp(23px,4vw,38px);margin:8px 0 4px;color:#4a2f34;letter-spacing:.04em}.writing-desk-sub-v620{margin:0 0 25px;font:italic 14px Georgia,serif;color:#7a5851}
.desk-files-v620{border-top:1px solid #b89675}.desk-file-v620{position:relative;display:grid;grid-template-columns:28px 1fr auto;gap:3px 8px;align-items:center;padding:15px 5px;border-bottom:1px dashed #b89675;color:#493b43;text-decoration:none}.desk-file-v620>span{grid-row:1/3;font-size:20px}.desk-file-v620 b{font-size:12px;overflow-wrap:anywhere}.desk-file-v620 small{grid-column:2;font-size:10px;color:#79655f}.desk-file-v620 em{grid-column:3;grid-row:1/3;font-size:9px;color:#9a7467;font-style:normal}.desk-file-v620.featured:hover{background:#fff7e64d;color:#342b63}.desk-file-v620.draft{opacity:.62}
.writing-desk-footer-v620{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-top:24px;font:italic 10px Georgia,serif;color:#876d64}.writing-desk-footer-v620 button{border:0;background:transparent;color:#6a4a63;font:10px "Courier New",monospace;cursor:pointer;text-decoration:underline}.writing-desk-open-v620{overflow:hidden}
@media(max-width:760px){.writers-room-v620{aspect-ratio:4/5;min-height:620px}.writer-wall-v620{bottom:25%}.writer-floor-v620{height:26%}.wr-window-v620{width:35%;left:3%;top:5%}.wr-shelf-v620{width:42%;right:-5%;top:10%}.wr-wall-note-v620{left:36%;top:5%;font-size:10px}.wr-torn-v620{width:18%;left:38%;top:22%}.wr-desk-scene-v620{width:90%;left:4%;bottom:8%;height:49%}.wr-typewriter-v620{width:28%;left:42%;top:6%}.wr-lamp-v620{width:18%;left:19%;top:-8%}.wr-books-v620{width:27%;bottom:1%;left:-2%}.wr-sealed-v620{width:17%;right:1%;bottom:3%}.wr-lantern-v620{width:11%;right:29%;bottom:-10%}.wr-room-whisper-v620{display:none}.writing-desk-paper-v620{padding:35px 24px}.desk-file-v620{grid-template-columns:24px 1fr}.desk-file-v620 em{display:none}}


/* ============================================================
   V6.21 — WRITER'S ROOM COMPOSITION PASS
   Same room, corrected physical relationships.
   ============================================================ */
/* The colorful shelf is retired here. The open-book stack becomes the wall shelf. */
.wr-shelf-v620{display:none!important}
.wr-books-v620{
  width:25%;
  left:auto;
  right:4.5%;
  top:12%;
  bottom:auto;
  filter:brightness(.78) saturate(.78) drop-shadow(0 7px 4px #0008);
  z-index:3;
}
/* Keep the old desk imposing, but let its working objects match its scale. */
.wr-typewriter-v620{
  width:36%;
  left:34%;
  top:-3%;
  filter:drop-shadow(0 6px 4px #0009);
  z-index:7;
}
.wr-lamp-v620{
  width:19%;
  left:13%;
  top:-2%;
  filter:drop-shadow(0 0 17px #f3cf7a99) drop-shadow(0 5px 3px #0008);
  z-index:6;
}
.wr-letters-v620{
  width:19%;
  left:69%;
  top:7%;
  transform:rotate(3deg);
  filter:drop-shadow(0 4px 3px #0008);
  z-index:6;
}
/* The sealed note now belongs to the desk scene instead of floating on the floor. */
.wr-desk-scene-v620 .wr-sealed-v620{
  position:absolute;
  width:15%;
  right:2%;
  left:auto;
  top:26%;
  bottom:auto;
  transform:rotate(-7deg);
  filter:drop-shadow(0 4px 3px #0008);
  z-index:6;
}
.wr-room-whisper-v620{right:3%;top:61%}

@media(max-width:760px){
  .wr-books-v620{width:34%;right:-2%;top:17%;bottom:auto;left:auto}
  .wr-typewriter-v620{width:38%;left:33%;top:-1%}
  .wr-lamp-v620{width:21%;left:12%;top:0}
  .wr-letters-v620{width:20%;left:70%;top:10%}
  .wr-desk-scene-v620 .wr-sealed-v620{width:16%;right:1%;top:29%;bottom:auto}
}

/* =========================================================
   V6.22 — CASE 001 / GAYLOR INTERNAL FILING STRUCTURE
   Archive 44 gets its first real case. No evidence added yet.
   ========================================================= */
.case-open{
  display:inline-block;padding:6px 10px;border:1px solid #342B63;
  background:#E7DFF5;color:#342B63;font:9px/1.2 monospace;
  text-decoration:none;box-shadow:2px 2px 0 rgba(52,43,99,.18)
}
.case-open:hover{background:#F6D978;transform:translate(-1px,-1px)}

.case-file-page{max-width:980px;margin:26px auto 70px;padding:0 24px;color:#342B63}
.case-path{margin:0 0 12px;font:10px/1.4 monospace;letter-spacing:.08em;color:#9676D3}
.case-file-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:30px;
  padding:28px 32px;background:#FFF9F3;border:2px solid #342B63;
  box-shadow:8px 8px 0 #B8A7E8;position:relative
}
.case-file-head:before{content:"ARCHIVE 44 // UNEXPLAINED MATERIALS DIVISION";position:absolute;right:22px;top:-10px;background:#342B63;color:#FFF9F3;padding:4px 8px;font:8px monospace;letter-spacing:.08em}
.case-file-head .eyebrow{margin:0 0 8px;font:10px monospace;letter-spacing:.08em}
.case-file-head h1{margin:0 0 8px;font:700 44px/1 Georgia,serif;letter-spacing:.05em}
.case-deck{max-width:620px;margin:0;font:15px/1.55 Georgia,serif}
.case-stamp{flex:0 0 auto;border:3px double #9676D3;color:#9676D3;padding:10px 13px;text-align:center;font:700 16px/1 monospace;transform:rotate(4deg)}
.case-stamp small{font-size:8px;font-weight:400}

.protocol-window{margin:28px 0 24px;border:2px solid #342B63;background:#E7DFF5;box-shadow:5px 5px 0 rgba(52,43,99,.16)}
.protocol-bar{display:flex;justify-content:space-between;background:#342B63;color:#FFF9F3;padding:7px 10px;font:9px monospace}
.protocol-copy{padding:18px 22px;background:linear-gradient(135deg,#FFF9F3 0 72%,#F8D5E4 72% 100%)}
.protocol-copy>p{margin:0 0 13px;font:14px/1.5 Georgia,serif}
.protocol-lines{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}
.protocol-lines span{border:1px solid #342B63;background:#fff;padding:5px 7px;font:8px monospace;letter-spacing:.05em}
.protocol-copy blockquote{margin:0;padding:8px 12px;border-left:4px solid #F6D978;font:italic 13px/1.5 Georgia,serif}

.drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.case-drawer{min-height:126px;padding:17px 18px 15px;background:#FFF9F3;border:1px solid #342B63;box-shadow:4px 4px 0 #CDECF1;position:relative;transition:.15s ease}
.case-drawer:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #F8D5E4}
.drawer-icon{position:absolute;right:14px;top:11px;font-size:20px;opacity:.75}
.case-drawer b{display:block;margin:0 34px 8px 0;font:700 12px monospace;letter-spacing:.05em}
.case-drawer small{display:block;max-width:82%;font:12px/1.45 Georgia,serif;color:#554b73}
.case-drawer em{position:absolute;left:18px;bottom:13px;font:8px monospace;color:#9676D3;text-transform:uppercase;letter-spacing:.04em}
.unsorted-tray{margin:25px 0 18px;padding:17px 20px;border:2px dashed #9676D3;background:#F8D5E4;transform:rotate(-.25deg)}
.unsorted-head{font:700 11px monospace;letter-spacing:.08em}
.unsorted-tray p{margin:7px 0 4px;font:13px/1.45 Georgia,serif}.unsorted-tray small{font:8px monospace}
.case-note{margin:22px auto;text-align:center;max-width:680px;font:italic 12px/1.6 Georgia,serif;color:#6d638d}
.case-file-page .return-home{display:inline-block;margin-top:12px;color:#342B63;font:10px monospace}
.page-foot{text-align:center;padding:18px;font:8px monospace;color:#9676D3}

@media(max-width:700px){.drawer-grid{grid-template-columns:1fr}.case-file-head{padding:24px 20px}.case-file-head h1{font-size:34px}.case-stamp{font-size:12px}.case-file-page{padding:0 14px}}


/* ============================================================
   V6.25 — WRITER'S ROOM: CHAIR + STARRY NIGHT
   Two finishing objects only. No redesign.
   ============================================================ */
.wr-art-v625{
  position:absolute; width:20%; left:55%; top:9%;
  transform:rotate(1deg); filter:brightness(.82) saturate(.82) drop-shadow(0 6px 4px #0008); z-index:3;
}
.wr-chair-v625{
  position:absolute; width:27%; left:35%; bottom:4%;
  filter:brightness(.78) saturate(.88) drop-shadow(0 8px 5px #0009); z-index:1;
}
/* Keep the desk in front of the chair; the chair should look tucked in, not pasted on. */
.wr-desk-v620{z-index:2}
@media(max-width:760px){
  .wr-art-v625{width:25%;left:49%;top:11%}
  .wr-chair-v625{width:30%;left:34%;bottom:3%}
}

/* ============================================================
   V6.26 — WRITER'S ROOM POSITIONING ONLY
   No redesign: enlarge/tuck chair, lift Starry Night.
   ============================================================ */
.wr-art-v625{
  width:18%;
  left:57%;
  top:4%;
}
.wr-chair-v625{
  width:46%;
  left:27%;
  bottom:22%;
  z-index:1;
}
@media(max-width:760px){
  .wr-art-v625{width:22%;left:56%;top:5%}
  .wr-chair-v625{width:48%;left:25%;bottom:21%}
}

/* ============================================================
   V6.27 — WRITER'S ROOM CHAIR NUDGE ONLY
   Keep scale; reveal backrest above/left of desk while desk remains foreground.
   ============================================================ */
.wr-chair-v625{
  width:46%;
  left:18%;
  bottom:34%;
  z-index:1;
}
@media(max-width:760px){
  .wr-chair-v625{width:48%;left:17%;bottom:32%}
}


/* ============================================================
   V6.28 — WRITER'S ROOM COMPOSITION RESET
   Re-establish the room as one physical composition instead of
   nudging isolated objects. Existing artwork remains unchanged.
   ============================================================ */
/* Lower the entire desk so wall objects have air and the floor reads again. */
.wr-desk-scene-v620{
  left:18%;
  bottom:-8%;
  width:60%;
  height:58%;
}
/* Chair lives behind the working side of the desk: enough backrest to read as a chair,
   but the desk still overlaps its lower half. */
.wr-chair-v625{
  width:43%;
  left:18%;
  bottom:17%;
  z-index:1;
}
/* Working objects now sit deeper on the desktop rather than hanging off its front edge. */
.wr-typewriter-v620{
  width:32%;
  left:43%;
  top:13%;
  z-index:7;
}
.wr-lamp-v620{
  width:16%;
  left:15%;
  top:12%;
  z-index:6;
}
.wr-letters-v620{
  width:17%;
  left:72%;
  top:19%;
  z-index:6;
}
/* The open-book shelf is wall furniture, not desk-height clutter. */
.wr-books-v620{
  width:23%;
  right:3.5%;
  top:5%;
  bottom:auto;
  left:auto;
  z-index:3;
}
/* Starry Night stays in the successful V6.27 position. */
.wr-art-v625{width:18%;left:57%;top:4%}
/* The writing entrance belongs to the typewriter, not the entire desk. */
.wr-desk-hotspot-v620{
  left:41%;
  top:9%;
  width:36%;
  height:42%;
  padding-top:29%;
}

@media(max-width:760px){
  .wr-desk-scene-v620{width:88%;left:5%;bottom:-2%;height:50%}
  .wr-chair-v625{width:44%;left:17%;bottom:18%}
  .wr-typewriter-v620{width:34%;left:42%;top:13%}
  .wr-lamp-v620{width:18%;left:14%;top:12%}
  .wr-letters-v620{width:18%;left:72%;top:19%}
  .wr-books-v620{width:31%;right:0;top:8%;bottom:auto;left:auto}
  .wr-art-v625{width:22%;left:55%;top:5%}
}

/* ============================================================
   V6.29 — WRITER'S ROOM DESKTOP PHYSICS
   Treat the visible brown quadrilateral as the usable desktop.
   ============================================================ */
/* Keep the desk itself locked from V6.28. */
.wr-desk-scene-v620{left:18%;bottom:-8%;width:60%;height:58%}

/* Chair: tuck it into the knee space on the working side. Its back/arms should
   read beside the typewriter instead of the caster base becoming the focal point. */
.wr-chair-v625{width:39%;left:30%;bottom:25%;z-index:3}

/* Put every working object clearly inside the tabletop plane. */
.wr-typewriter-v620{width:29%;left:49%;top:-2%;z-index:7}
.wr-lamp-v620{width:14%;left:19%;top:-7%;z-index:6}
.wr-letters-v620{width:15%;left:72%;top:5%;z-index:6}

/* Match the hotspot to the machine's new position. */
.wr-desk-hotspot-v620{left:46%;top:-5%;width:36%;height:38%;padding-top:25%}

@media(max-width:760px){
  .wr-chair-v625{width:40%;left:29%;bottom:24%}
  .wr-typewriter-v620{width:31%;left:48%;top:0}
  .wr-lamp-v620{width:16%;left:18%;top:-4%}
  .wr-letters-v620{width:17%;left:71%;top:7%}
}

/* ============================================================
   V6.30 — WRITER'S ROOM: LEFT-HAND WORKSTATION
   Rebuild around the desk's actual knee opening. Wall is locked.
   ============================================================ */
/* The flipped chair now sits BEHIND the desk, aligned to the open knee space. */
.wr-chair-v625{
  width:27%;
  left:27%;
  top:40%;
  bottom:auto;
  z-index:1;
}
/* Desk remains the foreground furniture layer. */
.wr-desk-v620{z-index:2}
/* Working objects sit visibly inside the tabletop plane. */
.wr-typewriter-v620{
  width:27%;
  left:31%;
  top:13%;
  z-index:6;
}
.wr-lamp-v620{
  width:13%;
  left:16%;
  top:11%;
  z-index:5;
}
.wr-letters-v620{
  width:14%;
  left:59%;
  top:17%;
  z-index:5;
}
.wr-desk-hotspot-v620{
  left:29%;
  top:10%;
  width:31%;
  height:35%;
  padding-top:24%;
}
@media(max-width:760px){
  .wr-chair-v625{width:29%;left:26%;top:40%;bottom:auto}
  .wr-typewriter-v620{width:29%;left:30%;top:14%}
  .wr-lamp-v620{width:15%;left:15%;top:12%}
  .wr-letters-v620{width:16%;left:58%;top:18%}
}

/* ============================================================
   V6.31 — WRITER'S ROOM: CLEAN DESK RESET
   Chair removed. Cropped workstation assets eliminate transparent
   padding so positioning corresponds to the visible objects.
   ============================================================ */
.wr-chair-v625{display:none!important}
.wr-typewriter-v620{
  width:23%;
  left:38%;
  top:12%;
  z-index:6;
}
.wr-lamp-v620{
  width:9%;
  left:21%;
  top:13%;
  z-index:5;
}
.wr-letters-v620{
  width:11%;
  left:64%;
  top:19%;
  z-index:5;
}
.wr-desk-hotspot-v620{
  left:36%;
  top:9%;
  width:28%;
  height:34%;
  padding-top:23%;
}
@media(max-width:760px){
  .wr-typewriter-v620{width:25%;left:37%;top:13%}
  .wr-lamp-v620{width:10%;left:20%;top:14%}
  .wr-letters-v620{width:12%;left:63%;top:20%}
}

/* V6.32 — DESKZILLA TAMED: verified composition pass */
.wr-desk-scene-v620{left:24%;bottom:-2%;width:50%;height:52%}
.wr-typewriter-v620{width:22%;left:43%;top:-8%;z-index:7}
.wr-lamp-v620{width:8%;left:20%;top:-6%;z-index:6}
.wr-letters-v620{width:10%;left:69%;top:-2%;z-index:6}
.wr-desk-hotspot-v620{left:40%;top:-11%;width:28%;height:31%;padding-top:20%}
@media(max-width:760px){
 .wr-desk-scene-v620{left:12%;bottom:3%;width:72%;height:48%}
 .wr-typewriter-v620{width:24%;left:42%;top:-5%}
 .wr-lamp-v620{width:9%;left:19%;top:-3%}
 .wr-letters-v620{width:11%;left:68%;top:1%}
}

/* V6.32b — crop the desk itself so the workstation uses the visible desk,
   not the original 1500px transparent Canva canvas. */
.wr-desk-scene-v620{
  left:25%; bottom:4%; width:48%; height:auto; aspect-ratio:1430/1036;
}
.wr-desk-v620{left:0;bottom:0;width:100%;height:auto}
.wr-typewriter-v620{width:22%;left:39%;top:13%;z-index:7}
.wr-lamp-v620{width:8%;left:17%;top:11%;z-index:6}
.wr-letters-v620{width:10%;left:67%;top:15%;z-index:6}
.wr-desk-hotspot-v620{left:36%;top:8%;width:29%;height:37%;padding-top:24%}
@media(max-width:760px){
 .wr-desk-scene-v620{left:12%;bottom:6%;width:72%;height:auto;aspect-ratio:1430/1036}
 .wr-typewriter-v620{width:23%;left:39%;top:13%}
 .wr-lamp-v620{width:9%;left:17%;top:11%}
 .wr-letters-v620{width:11%;left:67%;top:15%}
}

/* V6.33 — scale up the three desktop objects; desk/wall composition stays locked. */
.wr-typewriter-v620{width:30%;left:35%;top:8%;z-index:7}
.wr-lamp-v620{width:12%;left:15%;top:7%;z-index:6}
.wr-letters-v620{width:14%;left:65%;top:11%;z-index:6}
.wr-desk-hotspot-v620{left:32%;top:4%;width:37%;height:43%;padding-top:29%}
@media(max-width:760px){
 .wr-typewriter-v620{width:31%;left:35%;top:8%}
 .wr-lamp-v620{width:13%;left:15%;top:7%}
 .wr-letters-v620{width:15%;left:65%;top:11%}
}

/* V6.34 — desktop triangle refinement. Desk + walls remain locked. */
.wr-lamp-v620{width:17%;left:10%;top:3%;z-index:6}
.wr-typewriter-v620{width:30%;left:31%;top:11%;z-index:7}
.wr-letters-v620{width:14%;left:72%;top:7%;z-index:6}
.wr-desk-hotspot-v620{left:28%;top:7%;width:37%;height:45%;padding-top:30%}
@media(max-width:760px){
 .wr-lamp-v620{width:18%;left:10%;top:3%}
 .wr-typewriter-v620{width:31%;left:31%;top:11%}
 .wr-letters-v620{width:15%;left:71%;top:7%}
}

/* V6.35 — final desktop composition: typewriter left; correspondence + lamp right. */
.wr-typewriter-v620{width:30%;left:23%;top:12%;z-index:7}
.wr-letters-v620{width:14%;left:63%;top:13%;z-index:6}
.wr-lamp-v620{width:17%;left:72%;top:2%;z-index:7}
.wr-desk-hotspot-v620{left:20%;top:8%;width:37%;height:45%;padding-top:30%}
@media(max-width:760px){
 .wr-typewriter-v620{width:31%;left:23%;top:12%}
 .wr-letters-v620{width:15%;left:62%;top:13%}
 .wr-lamp-v620{width:18%;left:71%;top:2%}
}

/* V6.36 — pull typewriter + letters deeper onto desktop. Lamp is locked. */
.wr-typewriter-v620{width:30%;left:27%;top:3%;z-index:7}
.wr-letters-v620{width:14%;left:62%;top:5%;z-index:6}
.wr-lamp-v620{width:17%;left:72%;top:2%;z-index:7}
.wr-desk-hotspot-v620{left:24%;top:0%;width:37%;height:45%;padding-top:30%}
@media(max-width:760px){
 .wr-typewriter-v620{width:31%;left:27%;top:3%}
 .wr-letters-v620{width:15%;left:61%;top:5%}
 .wr-lamp-v620{width:18%;left:71%;top:2%}
}

/* V6.37 — final placement correction from live screenshot.
   Typewriter goes farther back + left. Letters move inward/down onto the desktop.
   Lamp remains locked. */
.wr-typewriter-v620{width:30%;left:18%;top:-1%;z-index:7}
.wr-letters-v620{width:14%;left:55%;top:14%;z-index:6}
.wr-lamp-v620{width:17%;left:72%;top:2%;z-index:7}
.wr-desk-hotspot-v620{left:15%;top:-4%;width:37%;height:45%;padding-top:30%}
@media(max-width:760px){
 .wr-typewriter-v620{width:31%;left:18%;top:-1%}
 .wr-letters-v620{width:15%;left:54%;top:14%}
 .wr-lamp-v620{width:18%;left:71%;top:2%}
}

/* V6.38 — flipped navy typewriter perspective correction */
.wr-typewriter-v620{width:30%;left:21%;top:1%;z-index:7}
.wr-desk-hotspot-v620{left:18%;top:-2%;width:37%;height:45%;padding-top:30%}
@media(max-width:760px){
 .wr-typewriter-v620{width:31%;left:21%;top:1%}
}

/* V6.39 — Canva perspective-corrected navy typewriter.
   Preserve the settled room; only the typewriter placement/hotspot changes. */
.wr-typewriter-v620{width:31%;left:22%;top:1%;z-index:7}
.wr-desk-hotspot-v620{left:19%;top:-2%;width:39%;height:46%;padding-top:30%}
@media(max-width:760px){
 .wr-typewriter-v620{width:32%;left:22%;top:1%}
}

/* V6.40 — typewriter micro-placement only.
   Perspective is correct now: move it right/back and reduce scale slightly.
   Lamp, letters, desk, and room remain locked. */
.wr-typewriter-v620{width:29%;left:29%;top:-3%;z-index:7}
.wr-desk-hotspot-v620{left:27%;top:-5%;width:35%;height:43%;padding-top:28%}
@media(max-width:760px){
 .wr-typewriter-v620{width:30%;left:29%;top:-3%}
 .wr-desk-hotspot-v620{left:27%;top:-5%;width:36%;height:44%;padding-top:29%}
}


/* V6.41 — final typewriter nudge only.
   Move the machine slightly left to clear the correspondence stack. Nothing else moves. */
.wr-typewriter-v620{left:27.5%!important}
@media(max-width:760px){.wr-typewriter-v620{left:27.5%!important}}


/* V6.42 — move correspondence stack to the opposite side of the typewriter. */
.wr-letters-v620{left:11%!important;top:14%!important;}

/* ============================================================
   V6.43 — WRITER'S ROOM: WALL BALANCE + LETTERGATE CLOSED
   Keep the desk/typewriter/lamp locked. Pull correspondence fully
   onto the desktop and loosen the wall composition slightly.
   ============================================================ */
.wr-letters-v620{
  width:10%!important;
  left:16%!important;
  top:7%!important;
  transform:rotate(3deg)!important;
  z-index:6!important;
}
.wr-window-v620{left:6.5%;top:8%;}
.wr-wall-note-v620{left:34%;top:10%;transform:rotate(-1.5deg);}
.wr-art-v625{left:56%!important;top:6%!important;transform:rotate(.6deg)!important;}
.wr-books-v620{right:2.5%!important;top:8%!important;}
@media(max-width:760px){
  .wr-letters-v620{width:11%!important;left:16%!important;top:7%!important;}
  .wr-window-v620{left:5%;top:7%;}
  .wr-wall-note-v620{left:34%;top:7%;}
  .wr-art-v625{left:55%!important;top:6%!important;}
  .wr-books-v620{right:0!important;top:9%!important;}
}


/* ============================================================
   V6.44 — GHOST GIRL JUST GOT UP
   Chair only. Everything in the locked desk composition stays put.
   ============================================================ */
.wr-chair-v644{
  position:absolute;
  width:14%;
  left:9%;
  bottom:7%;
  z-index:7;
  filter:drop-shadow(0 5px 4px #0005);
}
@media(max-width:760px){
  .wr-chair-v644{width:20%;left:6%;bottom:10%;}
}

/* ============================================================
   V6.46 — CORNER, RIGHT WHERE IT BELONGS
   Minimal architectural cue: two wall planes + one quiet corner seam.
   All furniture, objects, and interactions remain locked.
   ============================================================ */
.writer-wall-v620{
  background:
    linear-gradient(90deg,
      #64413b 0%,
      #68443d 67.7%,
      #5d3b36 68.1%,
      #573732 100%)!important;
}
.writer-wall-v620:before{
  background:
    linear-gradient(90deg,
      rgba(255,226,207,.035) 0%,
      rgba(255,226,207,.012) 65%,
      rgba(30,18,18,.025) 70%,
      rgba(20,13,14,.11) 100%),
    linear-gradient(180deg,transparent 0%,rgba(36,24,25,.16) 100%)!important;
}
.writer-wall-v620:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:68%;
  width:2px;
  background:linear-gradient(90deg,rgba(34,22,23,.32),rgba(255,223,203,.09));
  box-shadow:1px 0 0 rgba(255,224,207,.035),-1px 0 0 rgba(31,19,20,.12);
  opacity:.72;
  pointer-events:none;
  z-index:1;
}
@media(max-width:760px){
  .writer-wall-v620:after{left:68%;width:1px;opacity:.62;}
}

/* ============================================================
   V6.47 — CORNER TO THE LEFT
   Move only the architectural wall seam beside the window.
   Furniture, desk objects, chair, lamp, art, and interactions stay locked.
   ============================================================ */
.writer-wall-v620{
  background:
    linear-gradient(90deg,
      #64413b 0%,
      #68443d 31.7%,
      #5d3b36 32.1%,
      #573732 100%)!important;
}
.writer-wall-v620:before{
  background:
    linear-gradient(90deg,
      rgba(255,226,207,.035) 0%,
      rgba(255,226,207,.012) 29%,
      rgba(30,18,18,.025) 34%,
      rgba(20,13,14,.11) 100%),
    linear-gradient(180deg,transparent 0%,rgba(36,24,25,.16) 100%)!important;
}
.writer-wall-v620:after{
  left:32%!important;
}
@media(max-width:760px){
  .writer-wall-v620:after{left:32%!important;}
}

/* ============================================================
   V6.48 — THE CORNER LANDS
   Seam aligns behind the two "it"s in the wall note.
   Floor corner shadow travels down-left from that seam.
   Chair is 25% larger. Everything else remains locked.
   ============================================================ */
.writer-wall-v620{
  background:
    linear-gradient(90deg,
      #64413b 0%,
      #68443d 51.7%,
      #5d3b36 52.1%,
      #573732 100%)!important;
}
.writer-wall-v620:before{
  background:
    linear-gradient(90deg,
      rgba(255,226,207,.035) 0%,
      rgba(255,226,207,.012) 49%,
      rgba(30,18,18,.025) 54%,
      rgba(20,13,14,.11) 100%),
    linear-gradient(180deg,transparent 0%,rgba(36,24,25,.16) 100%)!important;
}
.writer-wall-v620:after{left:52%!important;}

/* Perspective cue: a restrained triangular floor shadow beginning at the
   wall corner and opening toward the lower-left, like the left wall plane. */
.writer-floor-v620:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,
    rgba(31,20,22,.16) 0%,
    rgba(31,20,22,.10) 27%,
    rgba(31,20,22,.035) 45%,
    transparent 45.5%);
  clip-path:polygon(52% 0,0 100%,52% 100%);
  pointer-events:none;
  z-index:1;
}

.wr-chair-v644{width:17.5%!important;}

@media(max-width:760px){
  .writer-wall-v620:after{left:52%!important;}
  .wr-chair-v644{width:25%!important;}
}

/* ============================================================
   V6.45 — THE CURRENT PAGE / WRITING PATHWAY
   Typewriter -> physical current transmission -> archive / essay.
   The finished Writer's Room geometry above remains untouched.
   ============================================================ */
.writing-desk-layer-v620{perspective:1200px}
.writing-desk-backdrop-v620{
  background:rgba(18,13,20,.56)!important;
  backdrop-filter:blur(5px) brightness(.72)!important;
  transition:background .35s,backdrop-filter .35s;
}
.current-page-v645{
  position:relative;width:min(680px,88vw);min-height:520px;max-height:86vh;overflow:auto;
  padding:42px 54px 38px;background:#fff9f3;color:#342b63;
  border:0!important;box-shadow:0 28px 75px rgba(10,7,14,.55),0 1px 0 rgba(255,255,255,.8) inset;
  font-family:"Courier New",monospace;
  clip-path:polygon(.6% .4%,12% .15%,25% .5%,39% .18%,52% .42%,67% .12%,81% .45%,99.5% .2%,99.8% 15%,99.55% 34%,99.85% 53%,99.5% 72%,99.7% 99.4%,84% 99.75%,69% 99.42%,53% 99.78%,37% 99.48%,20% 99.75%,.4% 99.35%,.15% 80%,.45% 59%,.12% 39%,.42% 18%);
  transform:translateY(70px) scale(.82) rotate(-.45deg);transform-origin:50% 90%;
  opacity:0;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s;
}
.writing-desk-layer-v620.is-open .current-page-v645{transform:translateY(0) scale(1) rotate(-.45deg);opacity:1}
.current-page-v645:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;background:repeating-linear-gradient(0deg,rgba(150,118,211,.025) 0 1px,transparent 1px 25px),radial-gradient(circle at 20% 10%,rgba(244,166,198,.08),transparent 27%)}
.current-page-v645>*{position:relative;z-index:1}
.current-page-v645 .writing-desk-close-v620{right:24px;top:17px;color:#9676d3;opacity:.65}
.transmission-head-v645{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid #d8cdea;color:#9676d3;font-size:9px;letter-spacing:.12em}
.transmission-head-v645 time{color:#b08ca0;white-space:nowrap}
.current-page-v645 h2{max-width:590px;margin:27px 0 9px!important;color:#342b63!important;font:700 clamp(27px,4.4vw,43px)/1.03 Georgia,serif!important;letter-spacing:-.015em!important}
.current-page-deck-v645{margin:0 0 22px;color:#806a84;font:italic 14px/1.5 Georgia,serif}
.current-page-rule-v645{width:72px;height:1px;margin:20px 0;background:#f4a6c6}
.current-page-copy-v645{max-width:570px;color:#493e5d;font:14px/1.72 Georgia,serif}
.current-page-copy-v645 p{margin:0 0 12px}
.typed-line-v645{font-family:"Courier New",monospace!important;font-size:13px!important;color:#342b63!important;min-height:1.7em}
.typed-line-v645 .cursor-v645{display:inline-block;width:7px;height:1.05em;margin-left:2px;vertical-align:-2px;background:#9676d3;animation:cursor645 .8s steps(1) infinite}
@keyframes cursor645{50%{opacity:0}}
.current-page-actions-v645{display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center;margin-top:29px;padding-top:17px;border-top:1px dashed #d8cdea}
.current-page-actions-v645 a{display:inline-block;color:#342b63;font:700 10px/1.2 "Courier New",monospace;text-decoration:none;letter-spacing:.04em}
.current-page-actions-v645 a:first-child{padding:9px 12px;background:#e7dff5;border:1px solid #9676d3;box-shadow:3px 3px 0 #f8d5e4}
.current-page-actions-v645 a:hover{color:#9676d3;transform:translateY(-1px)}
.current-page-stepback-v645{display:block;margin:28px 0 0 auto;border:0;background:transparent;color:#9b879d;font:9px "Courier New",monospace;cursor:pointer}
.current-page-foot-v645{margin-top:25px;color:#c3acc4;font:7px "Courier New",monospace;letter-spacing:.08em}
@media(max-width:700px){.current-page-v645{padding:38px 27px 30px;min-height:500px}.transmission-head-v645{align-items:flex-start;flex-direction:column;gap:4px}.current-page-actions-v645{align-items:flex-start;flex-direction:column}}

/* Writings archive: deliberately calmer than the physical room. */
.writings-archive-v645{max-width:880px;margin:38px auto 70px;padding:0 22px;font-family:"Courier New",monospace;color:#342b63}
.archive-paper-v645{background:#fff9f3;border:1px solid #b8a7e8;box-shadow:8px 8px 0 #e7dff5;padding:clamp(28px,5vw,52px)}
.archive-path-v645{font-size:9px;letter-spacing:.1em;color:#9676d3;margin:0 0 8px}
.archive-paper-v645 h1{font:700 clamp(30px,5vw,48px)/1 Georgia,serif;margin:0 0 8px}.archive-intro-v645{font:italic 14px/1.5 Georgia,serif;color:#77677e;margin:0 0 28px}
.archive-list-v645{border-top:1px solid #b8a7e8}.archive-entry-v645{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:18px 4px;border-bottom:1px dashed #cfc4df;text-decoration:none;color:#342b63}.archive-entry-v645:hover{background:#f8d5e433}.archive-entry-v645 b{font-size:13px}.archive-entry-v645 span{grid-column:1;font:12px/1.45 Georgia,serif;color:#766a80}.archive-entry-v645 time{grid-column:2;grid-row:1/3;font-size:9px;color:#9676d3}.archive-entry-v645.draft{opacity:.5;cursor:default}.archive-return-v645{display:inline-block;margin-top:24px;color:#9676d3;font-size:10px}


/* =========================================================
   ESSAY MANUSCRIPT PASS — the page that came from the typewriter
   ========================================================= */
.reading-room{max-width:930px}
.essay-paper{position:relative;overflow:visible;background:
  linear-gradient(90deg,transparent 0 10.5%,rgba(244,166,198,.18) 10.5% 10.7%,transparent 10.7%),
  repeating-linear-gradient(0deg,rgba(52,43,99,.018) 0 1px,transparent 1px 28px),
  var(--paper);box-shadow:10px 12px 0 rgba(184,167,232,.14),0 18px 42px rgba(52,43,99,.08)}
.essay-paper:before{content:"";position:absolute;inset:10px -7px -8px 8px;border:1px solid rgba(52,43,99,.08);z-index:-1;transform:rotate(.25deg);background:#fffaf5}
.manuscript-mark{position:absolute;font:9px/1.4 'Courier New',monospace;letter-spacing:.13em;color:#8c789e;text-transform:uppercase}
.manuscript-page{right:28px;top:24px;transform:rotate(1deg)}
.manuscript-note{right:-45px;top:160px;width:125px;padding:9px 11px;background:#f8d5e4cc;border:1px solid #b8a7e866;box-shadow:3px 4px 0 #342b6310;font:italic 11px/1.35 Georgia,serif;letter-spacing:0;text-transform:none;color:#8d617b;transform:rotate(2.5deg)}
.essay-head{text-align:left;max-width:680px;margin:0 auto;padding-top:12px}
.essay-head h1{margin:9px 0 12px;font-family:Georgia,serif}
.essay-head .eyebrow{font:9px/1.5 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase}
.essay-deck{margin:0 0 12px}
.essay-body{position:relative}
.essay-body p:first-of-type:first-letter{font-size:1.06em}
.pencil-note{position:absolute;width:125px;font:italic 11px/1.35 Georgia,serif;color:#9a7188;opacity:.88}
.note-one{left:-150px;top:44px;transform:rotate(-4deg)}
.note-two{right:-148px;bottom:40px;transform:rotate(3deg)}
.typewriter-finish{font:10px/1.5 'Courier New',monospace;letter-spacing:.16em;color:#6f5b86}
.end-note{font:italic 12px/1.5 Georgia,serif;color:#9a7188;margin:10px 0 15px}
.essay-end a{font:10px/1.5 'Courier New',monospace}
@media(max-width:1050px){.manuscript-note,.pencil-note{display:none}}
@media(max-width:760px){.manuscript-page{right:16px;top:15px}.essay-head{padding-top:18px}.essay-paper{background:repeating-linear-gradient(0deg,rgba(52,43,99,.018) 0 1px,transparent 1px 28px),var(--paper)}}

/* =========================================================
   V6.52 — ESSAY READABILITY POLISH
   Quiet manuscript: narrower measure, slightly larger type,
   more paragraph air, clearer ending. No layout changes elsewhere.
   ========================================================= */
.essay-body{
  max-width:610px;
  margin:46px auto 50px;
  font-size:18px;
  line-height:1.95;
}
.essay-body p{margin:0 0 29px}
.essay-divider{margin:42px 0}
.essay-end{
  margin-top:56px;
  padding-top:30px;
  font-size:11px;
}
.typewriter-finish{font-size:11px;letter-spacing:.15em}
.end-note{font-size:13px;margin:11px 0 17px}
.essay-end a{font-size:11px;line-height:1.6}
@media(max-width:760px){
  .essay-body{max-width:100%;font-size:16px;line-height:1.9;margin:38px auto 42px}
  .essay-body p{margin-bottom:25px}
}

/* =========================================================
   ARCHIVE 44 v6.54 — PHYSICAL BASEMENT OFFICE
   Real asset composition; drawer behavior preserved.
   ========================================================= */
.archive-office-scene-v654{min-height:780px!important;padding:18px 0 8px!important;overflow:visible!important}
.archive-room-v654{position:relative;width:min(1080px,96vw);height:720px;margin:0 auto;overflow:hidden;border:1px solid rgba(246,217,120,.18);border-radius:3px;background:linear-gradient(180deg,#252833 0 58%,#1d1d24 58% 100%);box-shadow:inset 0 0 90px rgba(0,0,0,.42),0 24px 55px rgba(0,0,0,.28)}
.archive-room-v654:before{content:"";position:absolute;left:0;right:0;top:58%;height:2px;background:rgba(255,255,255,.05);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.archive-room-v654:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 24%,rgba(246,217,120,.07),transparent 32%),linear-gradient(90deg,rgba(121,217,220,.025),transparent 28%,transparent 72%,rgba(244,166,198,.025))}
.archive-asset-v654,.archive-object-v654 img{position:absolute;display:block;max-width:none;filter:drop-shadow(0 7px 8px rgba(0,0,0,.28))}
.archive-object-v654{position:absolute;z-index:8;padding:0;border:0;background:transparent;cursor:pointer}
.archive-object-v654 img{position:static;width:100%;height:auto}
.archive-object-v654:hover{filter:brightness(1.08)}
.archive-wall-label-v654{position:absolute;left:34px;top:22px;z-index:3;font:9px/1.2 monospace;letter-spacing:.16em;color:#d7d0bb;opacity:.55}
.archive-pipes-v654{width:310px;left:-34px;top:36px;opacity:.52}
.archive-fluorescent-v654{width:280px;left:385px;top:22px;opacity:.82}
.archive-ceiling-v654{width:150px;right:50px;top:-18px;opacity:.65}
.archive-door-v654{width:126px;right:35px;top:92px}
.archive-board-v654{width:195px;left:54px;top:165px;z-index:3;opacity:.9}
.archive-board-note-v654{position:absolute;left:101px;top:230px;z-index:4;transform:rotate(-3deg);font:8px/1.35 monospace;color:#211b1d;text-align:center;opacity:.8}
.archive-desk-v654{width:555px;left:270px;bottom:28px;z-index:3}
.archive-chair-v654{width:178px;left:205px;bottom:5px;z-index:7;transform:rotate(-4deg)}
.archive-computer-v654{width:148px;left:360px;bottom:238px}
.archive-lamp-v654{width:112px;left:655px;bottom:230px;z-index:6}
.archive-coffee-v654{width:54px;left:608px;bottom:248px;z-index:7}
.archive-phone-v654{width:83px;left:520px;bottom:244px;z-index:7;transform:rotate(2deg)}
.archive-rolodex-v654{width:78px;left:725px;bottom:203px}
.archive-papers-v654{width:145px;left:402px;bottom:48px;z-index:6;opacity:.82}
.archive-boxes-v654{width:165px;right:18px;bottom:8px;z-index:5}
.archive-unsorted-v654{position:absolute;left:420px;bottom:105px;z-index:9;transform:rotate(-4deg);padding:7px 10px;background:#efe1a9;color:#342B63;border:1px solid #342B63;box-shadow:2px 3px 0 rgba(0,0,0,.18);font:8px monospace}
.archive-unsorted-v654 b,.archive-unsorted-v654 span{display:block}.archive-unsorted-v654 span{margin-top:3px;font-size:7px;opacity:.7}
.archive-room-caption-v654{position:absolute;right:260px;top:128px;z-index:3;font:italic 11px Georgia,serif;color:#d7d0bb;opacity:.45}
.archive-cabinet-wrap-v654{position:absolute;width:255px;left:28px;bottom:12px;z-index:10}
.archive-cabinet-image-v654{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 10px rgba(0,0,0,.36))}
.archive-drawer-hotspot-v654{position:absolute!important;left:34%!important;width:57%!important;height:13%!important;margin:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;overflow:visible!important;z-index:12!important;color:transparent!important}
.archive-drawer-hotspot-v654 span{position:absolute;left:102%;top:50%;transform:translateY(-50%) translateX(-3px);white-space:nowrap;padding:4px 7px;background:#FFF9F3;color:#342B63;border:1px solid #342B63;font:7px monospace;letter-spacing:.05em;opacity:0;pointer-events:none;transition:.14s ease;box-shadow:2px 2px 0 rgba(0,0,0,.18)}
.archive-drawer-hotspot-v654:hover span,.archive-drawer-hotspot-v654:focus-visible span{opacity:1;transform:translateY(-50%) translateX(3px)}
.drawer-hotspot-1{top:23%!important}.drawer-hotspot-2{top:40%!important}.drawer-hotspot-3{top:53%!important}.drawer-hotspot-4{top:66%!important}.drawer-hotspot-5{top:77%!important}.drawer-hotspot-6{top:87%!important}
.archive-door-whisper-v654{position:absolute;right:25px;top:240px;z-index:20;padding:6px 8px;background:#171525;color:#F6D978;border:1px solid rgba(246,217,120,.35);font:8px monospace;opacity:0;transform:translateY(5px);transition:.18s ease;pointer-events:none}.archive-door-whisper-v654.show{opacity:1;transform:none}
.archive-terminal-v654,.archive-index-v654{position:absolute;z-index:30;width:210px;padding:12px 14px;background:#11151b;color:#79D9DC;border:1px solid #79D9DC;box-shadow:5px 7px 0 rgba(0,0,0,.3);font:9px/1.5 monospace}.archive-terminal-v654{left:390px;bottom:350px}.archive-index-v654{right:48px;bottom:150px;background:#FFF9F3;color:#342B63;border-color:#342B63}.archive-terminal-v654 b,.archive-terminal-v654 span,.archive-terminal-v654 small,.archive-index-v654 b,.archive-index-v654 span,.archive-index-v654 small{display:block}.archive-terminal-v654 span,.archive-index-v654 b{margin-top:6px;font-weight:bold}.archive-terminal-v654 small,.archive-index-v654 small{margin-top:7px;opacity:.65}.archive-terminal-v654.show,.archive-index-v654.show{animation:archivePop654 .16s ease-out}
@keyframes archivePop654{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.archive-office-scene-v654{min-height:590px!important}.archive-room-v654{height:560px;width:96vw}.archive-cabinet-wrap-v654{width:190px;left:4px}.archive-desk-v654{width:410px;left:135px;bottom:18px}.archive-chair-v654{width:135px;left:105px}.archive-computer-v654{width:112px;left:205px;bottom:183px}.archive-lamp-v654{width:85px;left:430px;bottom:175px}.archive-coffee-v654{width:40px;left:395px;bottom:187px}.archive-phone-v654{display:none}.archive-rolodex-v654{width:60px;left:475px;bottom:155px}.archive-board-v654{width:145px;left:18px;top:125px}.archive-board-note-v654{display:none}.archive-door-v654{width:92px;right:15px;top:75px}.archive-boxes-v654{width:120px;right:5px}.archive-pipes-v654{width:220px}.archive-fluorescent-v654{width:210px;left:190px}.archive-ceiling-v654{display:none}.archive-room-caption-v654{display:none}.archive-papers-v654{width:105px;left:250px}.archive-unsorted-v654{left:260px;bottom:82px}.archive-terminal-v654{left:185px;bottom:275px}.archive-index-v654{right:12px;bottom:125px}}
\n\n/* =========================================================\n   ARCHIVE 44 v6.55 — SCALE + PERSPECTIVE PASS\n   Cropped source art removes transparent-canvas scaling.\n   Functional drawer/terminal behavior intentionally unchanged.\n   ========================================================= */\n.archive-room-v654{height:720px}\n.archive-pipes-v654{width:330px;left:-12px;top:52px;opacity:.42;z-index:2}\n.archive-fluorescent-v654{width:300px;left:390px;top:36px;opacity:.78;z-index:2}\n.archive-ceiling-v654{display:none!important}\n.archive-door-v654{width:145px;right:54px;top:112px;z-index:4}\n.archive-board-v654{width:205px;left:52px;top:176px;z-index:3;opacity:.92}\n.archive-board-note-v654{left:103px;top:245px}\n.archive-desk-v654{width:520px;left:330px;bottom:18px;z-index:4}\n.archive-chair-v654{width:155px;left:286px;bottom:8px;z-index:8;transform:rotate(-3deg)}\n.archive-cabinet-wrap-v654{width:225px;left:52px;bottom:18px;z-index:10}\n.archive-computer-v654{width:145px;left:405px;bottom:272px;z-index:8}\n.archive-lamp-v654{width:132px;left:690px;bottom:255px;z-index:8}\n.archive-coffee-v654{width:46px;left:650px;bottom:278px;z-index:9}\n.archive-phone-v654{width:86px;left:566px;bottom:274px;z-index:9;transform:rotate(1deg)}\n.archive-rolodex-v654{width:72px;left:748px;bottom:266px;z-index:9}\n.archive-papers-v654{width:92px;left:282px;bottom:12px;z-index:7;opacity:.9;transform:rotate(-5deg)}\n.archive-boxes-v654{width:120px;right:22px;bottom:10px;z-index:5}\n.archive-unsorted-v654{left:286px;bottom:78px;z-index:11;transform:rotate(-5deg)}\n.archive-room-caption-v654{right:255px;top:155px}\n.archive-terminal-v654{left:420px;bottom:390px}\n.archive-index-v654{right:50px;bottom:155px}\n@media(max-width:760px){\n  .archive-room-v654{height:560px}\n  .archive-pipes-v654{width:235px;left:-18px;top:44px}\n  .archive-fluorescent-v654{width:220px;left:190px;top:34px}\n  .archive-door-v654{width:105px;right:18px;top:92px}\n  .archive-board-v654{width:150px;left:18px;top:145px}\n  .archive-desk-v654{width:390px;left:155px;bottom:18px}\n  .archive-chair-v654{width:116px;left:125px;bottom:8px}\n  .archive-cabinet-wrap-v654{width:168px;left:8px;bottom:16px}\n  .archive-computer-v654{width:108px;left:215px;bottom:211px}\n  .archive-lamp-v654{width:98px;left:430px;bottom:196px}\n  .archive-coffee-v654{width:34px;left:397px;bottom:212px}\n  .archive-phone-v654{display:none}\n  .archive-rolodex-v654{width:54px;left:476px;bottom:204px}\n  .archive-papers-v654{width:70px;left:180px;bottom:10px}\n  .archive-boxes-v654{width:86px;right:4px;bottom:8px}\n  .archive-unsorted-v654{left:184px;bottom:61px}\n  .archive-terminal-v654{left:205px;bottom:300px}\n  .archive-index-v654{right:10px;bottom:120px}\n}\n\n\n/* =========================================================
   ARCHIVE 44 v6.56 — ROOM POLISH PASS
   Desk objects seated on the desktop; architecture tightened.
   ========================================================= */
.archive-pipes-v654{width:300px;left:-58px;top:12px;opacity:.38;z-index:2}
.archive-fluorescent-v654{width:205px;left:400px;top:30px;opacity:.78;z-index:2}
.archive-switch-v656{width:27px;right:205px;top:205px;z-index:5;opacity:.82;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28))}
.archive-door-v654{width:150px;right:50px;top:150px;z-index:4}
.archive-computer-v654{width:145px;left:390px;bottom:298px;z-index:8}
.archive-phone-v654{width:86px;left:540px;bottom:300px;z-index:9;transform:rotate(1deg)}
.archive-coffee-v654{width:46px;left:625px;bottom:302px;z-index:9}
.archive-lamp-v654{width:125px;left:665px;bottom:292px;z-index:8}
.archive-rolodex-v654{width:68px;left:758px;bottom:298px;z-index:9}
.archive-papers-v654{width:78px;left:252px;bottom:18px;z-index:6;opacity:.82;transform:rotate(-7deg)}
.archive-unsorted-v654{left:250px;bottom:68px;z-index:11;transform:rotate(-7deg)}
.archive-boxes-v654{width:125px;right:72px;bottom:-4px;z-index:5;transform:rotate(1deg)}
@media(max-width:760px){
  .archive-pipes-v654{width:210px;left:-48px;top:12px}
  .archive-fluorescent-v654{width:155px;left:205px;top:26px}
  .archive-switch-v656{width:20px;right:120px;top:150px}
  .archive-door-v654{width:108px;right:16px;top:120px}
  .archive-computer-v654{width:108px;left:205px;bottom:228px}
  .archive-phone-v654{display:none}
  .archive-coffee-v654{width:34px;left:382px;bottom:230px}
  .archive-lamp-v654{width:92px;left:410px;bottom:220px}
  .archive-rolodex-v654{width:50px;left:480px;bottom:228px}
  .archive-papers-v654{width:58px;left:172px;bottom:10px}
  .archive-unsorted-v654{left:174px;bottom:54px}
  .archive-boxes-v654{width:88px;right:22px;bottom:-2px}
}

/* =========================================================
   ARCHIVE 44 v6.57 — FINAL PHYSICAL COHESION PASS
   Index card belongs to the Rolodex; UNSORTED belongs to the paper pile.
   ========================================================= */
.archive-papers-v654{width:88px;left:352px;bottom:15px;z-index:6;opacity:.86;transform:rotate(-5deg)}
.archive-unsorted-v654{left:365px;bottom:58px;z-index:11;transform:rotate(-4deg);padding:6px 9px;box-shadow:1px 2px 0 rgba(0,0,0,.16)}
.archive-index-v654{
  width:168px;
  right:auto;
  left:704px;
  bottom:365px;
  padding:10px 12px;
  background:#f4e7bc;
  color:#342B63;
  border:1px solid #7d6a48;
  box-shadow:3px 4px 0 rgba(0,0,0,.22);
  transform:rotate(1.5deg);
  font:8px/1.42 monospace;
}
.archive-index-v654::after{
  content:"";
  position:absolute;
  right:22px;
  bottom:-18px;
  width:1px;
  height:18px;
  background:#7d6a48;
  opacity:.55;
}
.archive-index-v654 b{margin-top:0!important;letter-spacing:.04em}
.archive-index-v654 small{font-size:7px}
@media(max-width:760px){
  .archive-papers-v654{width:66px;left:245px;bottom:9px}
  .archive-unsorted-v654{left:252px;bottom:44px;padding:5px 7px}
  .archive-index-v654{width:138px;left:auto;right:18px;bottom:270px;font-size:7px}
}

/* ============================================================
   V6.58 — FILE 001 / THE RABBIT-HOLE FILING SYSTEM
   ============================================================ */
.file001-v658{max-width:1040px}
.file-folder-v658{position:relative;margin:20px 0 30px;padding:54px 55px 48px;background:#d9c59c;border:1px solid #6d5d49;box-shadow:12px 13px 0 rgba(52,43,99,.22);color:#342B63;transform:rotate(-.15deg)}
.file-folder-v658:before{content:"";position:absolute;inset:10px;background:rgba(255,249,243,.2);border:1px solid rgba(109,93,73,.25);pointer-events:none}
.folder-tab-v658{position:absolute;left:28px;top:-25px;width:230px;padding:9px 14px 7px;background:#d9c59c;border:1px solid #6d5d49;border-bottom:0;font:700 10px monospace;letter-spacing:.08em}
.folder-paperclip-v658{position:absolute;right:55px;top:-8px;font:52px/1 Georgia,serif;transform:rotate(16deg);color:#706c72;opacity:.8}
.file-label-v658{display:inline-flex;flex-direction:column;padding:8px 12px;background:#FFF9F3;border:1px solid #8b7d68;font:700 10px monospace;letter-spacing:.08em}.file-label-v658 small{margin-top:3px;font-size:7px;font-weight:400}
.file-number-v658{position:absolute;right:45px;top:48px;font:700 52px/1 monospace;color:rgba(52,43,99,.13)}
.file-folder-v658 h1{position:relative;margin:30px 0 7px;font:700 56px/1 Georgia,serif;letter-spacing:.06em}.file-subject-v658{position:relative;margin:0;max-width:660px;font:12px/1.5 monospace}.file-stamp-v658{position:absolute;right:78px;bottom:43px;border:4px double #8c526f;padding:10px 15px;text-align:center;color:#8c526f;font:700 18px/1 monospace;transform:rotate(-7deg);opacity:.85}.file-stamp-v658 small{font-size:8px}.file-handnote-v658{position:absolute;right:245px;bottom:20px;font:italic 13px Georgia,serif;transform:rotate(2deg);color:#6d536d}
.file-desk-v658{position:relative;margin:0 0 28px;padding:34px 34px 42px;background:#342B63;border:1px solid #211a44;box-shadow:inset 0 0 35px rgba(0,0,0,.25)}
.file-start-v658{width:62%;margin:-8px 0 30px 12px;padding:18px 20px;background:#FFF9F3;border:1px solid #342B63;box-shadow:5px 5px 0 #F4A6C6;transform:rotate(-1deg);color:#342B63}.file-start-v658 b{font:700 12px monospace;letter-spacing:.08em}.file-start-v658 p{margin:8px 0 10px;font:14px/1.55 Georgia,serif}.file-start-v658 span{font:8px monospace;color:#9676D3;text-transform:uppercase}
.file-tabs-v658{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;align-items:start}.material-card-v658{appearance:none;text-align:left;min-height:158px;padding:25px 18px 17px;background:#FFF9F3;border:0;border-top:15px solid #B8A7E8;box-shadow:5px 6px 0 rgba(0,0,0,.24);color:#342B63;cursor:pointer;position:relative;transition:.15s ease}.material-card-v658:nth-child(2n){transform:rotate(.6deg)}.material-card-v658:nth-child(3n){transform:rotate(-.6deg)}.material-card-v658:hover{transform:translateY(-5px) rotate(0);box-shadow:7px 10px 0 rgba(0,0,0,.26)}.material-card-v658 i{position:absolute;right:13px;top:11px;font:700 24px monospace;color:#d7cfea}.material-card-v658 b{display:block;margin:0 30px 11px 0;font:700 12px monospace;letter-spacing:.07em}.material-card-v658 small{display:block;max-width:88%;font:12px/1.45 Georgia,serif;color:#5c5278}.material-card-v658 em{position:absolute;left:18px;bottom:14px;font:8px monospace;color:#9676D3;font-style:normal}.card-lyrics{border-top-color:#F4A6C6}.card-public{border-top-color:#79D9DC}.card-threads{border-top-color:#F6D978}.card-context{border-top-color:#CDECF1}.card-unsorted{border-top-color:#F8D5E4;background:#f8e5ec}
.file-margin-note-v658{width:210px;margin:27px 8px 0 auto;padding:13px 15px;background:#F6D978;color:#342B63;font:italic 11px/1.5 Georgia,serif;transform:rotate(2.5deg);box-shadow:3px 4px 0 rgba(0,0,0,.2)}
.file-working-v658{margin:30px 0;padding:23px 27px;background:#FFF9F3;border:1px solid #342B63;border-left:9px solid #79D9DC;box-shadow:5px 5px 0 #E7DFF5}.file-working-v658>div{display:flex;justify-content:space-between;gap:20px;font:9px monospace}.file-working-v658>div b{font-size:11px}.file-working-v658 p{max-width:780px;margin:15px 0 13px;font:14px/1.65 Georgia,serif}.file-working-v658 small{font:8px monospace;color:#9676D3}
.filetab-overlay-v658[hidden]{display:none}.filetab-overlay-v658{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:28px;background:rgba(26,21,52,.72);backdrop-filter:blur(5px)}.filetab-window-v658{width:min(650px,92vw);border:2px solid #342B63;background:#E7DFF5;box-shadow:13px 13px 0 rgba(0,0,0,.35);transform:rotate(-.2deg)}.filetab-bar-v658{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;background:#342B63;color:#FFF9F3;font:9px monospace;letter-spacing:.06em}.filetab-bar-v658 button{border:0;background:transparent;color:#FFF9F3;font:18px/1 monospace;cursor:pointer}.filetab-content-v658{padding:25px}.filetab-sheet-v658{min-height:260px;padding:27px 30px;background:#FFF9F3;border:1px solid #b6a9c9;color:#342B63;box-shadow:4px 4px 0 #F4A6C6}.filetab-sheet-v658>b{font:700 13px monospace;letter-spacing:.08em}.filetab-sheet-v658>p{font:15px/1.6 Georgia,serif}.filetab-empty-v658{margin:27px 0;padding:25px;border:1px dashed #9676D3;background:#fff;font:italic 13px/1.55 Georgia,serif;color:#6d638d}.filetab-sheet-v658>small{font:8px monospace;color:#9676D3}.filetab-open-v658{overflow:hidden}
@media(max-width:760px){.file-folder-v658{padding:45px 25px 65px}.file-folder-v658 h1{font-size:42px}.file-stamp-v658{right:28px;bottom:22px}.file-handnote-v658{display:none}.file-start-v658{width:auto;margin-left:0}.file-tabs-v658{grid-template-columns:1fr}.file-desk-v658{padding:25px 18px}.file-working-v658>div{display:block}.file-working-v658>div span{display:block;margin-top:5px}}

/* ============================================================
   V6.59 — FILE 001 / PHYSICAL RESEARCH DESK SHUSZH
   Content stays simple; CSS makes it haunted.
   ============================================================ */
.file001-v658{max-width:1180px;padding-bottom:70px}
.file001-v658 .case-path{margin-bottom:28px}
.file-folder-v658{margin:18px 4% -18px 2%;padding:58px 62px 58px;background:linear-gradient(103deg,#d6c092 0%,#e0cda6 62%,#cfb785 100%);box-shadow:15px 17px 0 rgba(33,26,68,.2),0 24px 45px rgba(52,43,99,.12);z-index:3;transform:rotate(-.65deg)}
.file-folder-v658:after{content:"ARCHIVE COPY";position:absolute;left:52%;top:24px;font:700 7px monospace;letter-spacing:.16em;color:rgba(77,63,52,.34);transform:rotate(1deg)}
.folder-tab-v658{left:36px;top:-28px;width:260px;background:#d6c092;padding:11px 16px 9px}
.file-folder-v658 h1{font-size:68px;margin-top:34px}.file-number-v658{font-size:70px;right:58px;top:45px}.file-handnote-v658{right:270px;bottom:22px;font-size:14px}
.file-desk-v658{min-height:720px;margin:0;padding:78px 55px 68px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.035),transparent 38%),linear-gradient(180deg,#29233f,#1f1a34 70%,#1a162b);border:1px solid #181326;box-shadow:inset 0 15px 50px rgba(0,0,0,.35),0 18px 30px rgba(52,43,99,.18);overflow:hidden}
.file-desk-v658:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 190px,rgba(255,255,255,.012) 191px 192px);pointer-events:none}
.file-start-v658{position:relative;z-index:5;width:48%;margin:-20px 0 12px 1%;padding:20px 23px 24px;box-shadow:7px 8px 0 rgba(244,166,198,.75),0 12px 25px rgba(0,0,0,.28);transform:rotate(-2.1deg)}
.file-start-v658:after{content:"START HERE";position:absolute;right:20px;top:-12px;padding:5px 9px;background:#F6D978;font:700 7px monospace;transform:rotate(3deg);box-shadow:2px 2px 0 rgba(0,0,0,.18)}
.file-tabs-v658{position:relative;z-index:4;display:block;height:490px;margin-top:-8px}
.material-card-v658{position:absolute;display:block;min-height:0;border:1px solid rgba(52,43,99,.55);border-top:0;box-shadow:8px 10px 0 rgba(0,0,0,.26),0 16px 30px rgba(0,0,0,.18);transition:transform .16s ease,box-shadow .16s ease;overflow:visible}
.material-card-v658:before{position:absolute;top:-25px;left:-1px;height:25px;padding:7px 13px 0;border:1px solid rgba(52,43,99,.55);border-bottom:0;background:inherit;font:700 7px monospace;letter-spacing:.08em;box-sizing:border-box}
.material-card-v658:hover{z-index:30!important;box-shadow:11px 15px 0 rgba(0,0,0,.29),0 22px 35px rgba(0,0,0,.24)}
.material-card-v658 i{top:10px;right:14px}.material-card-v658 b{font-size:11px}.material-card-v658 small{font-size:11px}.material-card-v658 em{font-size:7px}
.card-timeline{left:3%;top:68px;width:31%;height:185px;padding:29px 22px;background:#f8f1df;transform:rotate(-3deg);z-index:7}.card-timeline:before{content:"CHRONOLOGY";width:118px;background:#B8A7E8}.card-timeline:after{content:"199?  ·  200?  ·  20??";position:absolute;left:22px;right:22px;top:95px;border-top:1px solid #8c82a8;padding-top:11px;font:7px monospace;letter-spacing:.1em;color:#8c82a8}
.card-lyrics{left:25%;top:178px;width:34%;height:205px;padding:31px 23px;background:#fff8f2;transform:rotate(2.1deg);z-index:10}.card-lyrics:before{content:"LYRIC FILES";width:110px;background:#F4A6C6}.card-lyrics:after{content:"“                                      ”\A      underline it. come back later.";white-space:pre;position:absolute;left:24px;right:22px;bottom:46px;border-bottom:2px solid rgba(244,166,198,.55);font:italic 9px Georgia,serif;color:#8b6b80}
.card-public{right:5%;top:34px;width:31%;height:205px;padding:31px 23px;background:#edf8f7;transform:rotate(3deg);z-index:6}.card-public:before{content:"SOURCE MATERIAL";width:132px;background:#79D9DC}.card-public:after{content:"COPY\A01";white-space:pre;position:absolute;right:19px;bottom:18px;border:2px solid #79a9aa;padding:5px 8px;font:700 7px monospace;color:#679698;transform:rotate(-5deg)}
.card-threads{left:7%;top:305px;width:31%;height:175px;padding:29px 22px;background:#fff9df;transform:rotate(1.2deg);z-index:8}.card-threads:before{content:"CURRENT THREADS";width:130px;background:#F6D978}.card-threads:after{content:"↗     ↘       ↗\A   ?       !";white-space:pre;position:absolute;right:25px;bottom:35px;font:20px/1.2 monospace;color:rgba(150,118,211,.55);transform:rotate(-7deg)}
.card-context{right:25%;top:326px;width:31%;height:175px;padding:29px 22px;background:#eef8fb;transform:rotate(-1.5deg);z-index:9}.card-context:before{content:"REFERENCE";width:100px;background:#CDECF1}.card-context:after{content:"see also: history / symbols / literature";position:absolute;left:20px;right:20px;bottom:38px;padding-top:7px;border-top:1px dashed #94b9c0;font:italic 8px Georgia,serif;color:#6d8e94}
.card-unsorted{right:2%;top:245px;width:25%;height:185px;padding:29px 20px;background:#f8dfe9;transform:rotate(4.4deg);z-index:12}.card-unsorted:before{content:"DO NOT ORGANIZE YET";width:145px;background:#F8D5E4}.card-unsorted:after{content:"!!!\A2:14 AM\Awhat does this mean";white-space:pre;position:absolute;right:14px;bottom:38px;font:italic 8px/1.6 monospace;color:#9a6079;transform:rotate(-4deg)}
.file-margin-note-v658{position:absolute;z-index:20;right:37%;bottom:32px;width:190px;margin:0;transform:rotate(-4deg);box-shadow:5px 6px 0 rgba(0,0,0,.25)}
.file-working-v658{max-width:900px;margin:38px auto 30px;transform:rotate(.25deg)}
.filetab-overlay-v658{background:rgba(20,16,38,.82);backdrop-filter:blur(7px)}
.filetab-window-v658{width:min(820px,92vw);border:0;background:transparent;box-shadow:none;transform:none}
.filetab-bar-v658{width:90%;margin:0 auto -1px;padding:9px 13px;background:#29233f;border:1px solid #b9a7cf;border-bottom:0;box-shadow:12px 15px 30px rgba(0,0,0,.35)}
.filetab-content-v658{position:relative;padding:28px 42px 38px;background:#d5c091;border:1px solid #78684f;box-shadow:16px 19px 0 rgba(0,0,0,.3);transform:rotate(-.7deg)}
.filetab-content-v658:before{content:"FILE 001";position:absolute;left:25px;top:-24px;width:145px;height:24px;padding:7px 12px 0;background:#d5c091;border:1px solid #78684f;border-bottom:0;box-sizing:border-box;font:700 7px monospace;letter-spacing:.1em;color:#342B63}
.filetab-sheet-v658{position:relative;min-height:360px;padding:42px 48px 38px;background:#FFF9F3;border:1px solid #b7aa94;box-shadow:7px 8px 0 rgba(52,43,99,.18);transform:rotate(.9deg)}
.filetab-sheet-v658:before{content:"WORKING MATERIAL // DO NOT REFILE YET";position:absolute;right:25px;top:18px;font:700 6px monospace;letter-spacing:.12em;color:#b08aa0}
.filetab-sheet-v658>b{font-size:15px}.filetab-sheet-v658>p{max-width:620px;font-size:16px}.filetab-empty-v658{margin:34px 0 25px;padding:30px 32px;background:#fffdf9;border:1px dashed #a58dbd;box-shadow:inset 4px 0 0 #F4A6C6;font-size:14px}.filetab-sheet-v658>small{display:block;border-top:1px solid #e4d8c9;padding-top:12px}
@media(max-width:760px){.file001-v658{padding-left:14px;padding-right:14px}.file-folder-v658{margin:25px 0 0;padding:45px 24px 75px}.file-folder-v658 h1{font-size:44px}.file-desk-v658{min-height:auto;padding:50px 18px 35px;overflow:visible}.file-start-v658{width:auto;margin:0 0 45px}.file-tabs-v658{display:grid;height:auto;grid-template-columns:1fr;gap:38px}.material-card-v658{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;height:auto!important;min-height:155px!important;transform:rotate(-1deg)!important}.material-card-v658:nth-child(even){transform:rotate(1deg)!important}.file-margin-note-v658{position:relative;right:auto;bottom:auto;margin:38px 0 0 auto}.filetab-content-v658{padding:25px 18px}.filetab-sheet-v658{padding:38px 24px 28px}}


/* ============================================================
   V6.60 — FILE 001 / PHYSICAL RESEARCH DESK POLISH
   Scoped to case-001 only. The research content remains simple;
   CSS supplies the haunted desk illusion.
   ============================================================ */

.file001-desk-v660 {
  --desk-edge: rgba(20, 14, 34, .92);
  --desk-top: #342b52;
  --desk-top-2: #2b2547;
}

/* Turn the existing materials field into a physical work surface. */
.file001-desk-v660 .materials-desk,
.file001-desk-v660 .research-desk,
.file001-desk-v660 .materials-field,
.file001-desk-v660 .case-materials,
.file001-desk-v660 .file-materials {
  position: relative;
  overflow: visible;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.035) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 68%, rgba(255,255,255,.025) 0 1px, transparent 2px),
    linear-gradient(165deg, var(--desk-top) 0%, var(--desk-top-2) 100%) !important;
  border: 1px solid rgba(19, 13, 32, .72);
  border-radius: 3px;
  box-shadow:
    0 14px 0 var(--desk-edge),
    0 24px 32px rgba(18, 12, 31, .25),
    inset 0 1px 0 rgba(255,255,255,.055);
}

/* If the build uses the generic board as the dark materials field, give it the same depth. */
.file001-desk-v660 .material-board {
  position: relative;
  overflow: visible;
  background:
    radial-gradient(circle at 19% 23%, rgba(255,255,255,.03) 0 1px, transparent 2px),
    linear-gradient(165deg, var(--desk-top) 0%, var(--desk-top-2) 100%) !important;
  border: 1px solid rgba(19, 13, 32, .72);
  box-shadow: 0 13px 0 var(--desk-edge), 0 23px 30px rgba(18,12,31,.24);
}

/* Make the papers behave like one working pile instead of polite tiles. */
.file001-desk-v660 .material-card,
.file001-desk-v660 .material-sheet,
.file001-desk-v660 .research-item,
.file001-desk-v660 [data-material] {
  transform-origin: 50% 50%;
  transition: transform .18s ease, filter .18s ease;
}

.file001-desk-v660 .material-card:nth-of-type(1),
.file001-desk-v660 .material-sheet:nth-of-type(1),
.file001-desk-v660 .research-item:nth-of-type(1) { transform: rotate(-2.2deg) translate(10px, 12px); z-index: 4; }

.file001-desk-v660 .material-card:nth-of-type(2),
.file001-desk-v660 .material-sheet:nth-of-type(2),
.file001-desk-v660 .research-item:nth-of-type(2) { transform: rotate(1.7deg) translate(-14px, 24px); z-index: 5; }

.file001-desk-v660 .material-card:nth-of-type(3),
.file001-desk-v660 .material-sheet:nth-of-type(3),
.file001-desk-v660 .research-item:nth-of-type(3) { transform: rotate(-1.1deg) translate(9px, -7px); z-index: 3; }

.file001-desk-v660 .material-card:nth-of-type(4),
.file001-desk-v660 .material-sheet:nth-of-type(4),
.file001-desk-v660 .research-item:nth-of-type(4) { transform: rotate(2.1deg) translate(-18px, -3px); z-index: 6; }

.file001-desk-v660 .material-card:nth-of-type(5),
.file001-desk-v660 .material-sheet:nth-of-type(5),
.file001-desk-v660 .research-item:nth-of-type(5) { transform: rotate(-1.5deg) translate(13px, -17px); z-index: 4; }

.file001-desk-v660 .material-card:nth-of-type(6),
.file001-desk-v660 .material-sheet:nth-of-type(6),
.file001-desk-v660 .research-item:nth-of-type(6) { transform: rotate(2.7deg) translate(-8px, -18px); z-index: 7; }

/* Let START HERE join the mess instead of floating alone. */
.file001-desk-v660 .start-here,
.file001-desk-v660 .start-sheet,
.file001-desk-v660 .intro-sheet {
  transform: rotate(-2.5deg) translate(18px, 18px) !important;
  z-index: 8;
}

/* Restrained evidence that somebody actually works here. */
.file001-desk-v660 .materials-desk::before,
.file001-desk-v660 .research-desk::before,
.file001-desk-v660 .materials-field::before,
.file001-desk-v660 .case-materials::before,
.file001-desk-v660 .file-materials::before,
.file001-desk-v660 .material-board::before {
  content: "";
  position: absolute;
  width: 54px;
  height: 54px;
  right: 7%;
  top: 7%;
  border: 3px solid rgba(244, 166, 198, .13);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(246,217,120,.035);
  transform: scaleY(.62) rotate(-12deg);
  pointer-events: none;
  z-index: 1;
}

.file001-desk-v660 .materials-desk::after,
.file001-desk-v660 .research-desk::after,
.file001-desk-v660 .materials-field::after,
.file001-desk-v660 .case-materials::after,
.file001-desk-v660 .file-materials::after,
.file001-desk-v660 .material-board::after {
  content: "";
  position: absolute;
  width: 112px;
  height: 9px;
  left: 8%;
  bottom: 5%;
  border-radius: 7px 2px 2px 7px;
  background: linear-gradient(90deg, #f6d978 0 76%, #e7dff5 76% 88%, #342b63 88% 100%);
  box-shadow: 0 4px 7px rgba(18,12,31,.24);
  transform: rotate(-7deg);
  pointer-events: none;
  z-index: 2;
}

/* Preserve the satisfying pick-up interaction. */
.file001-desk-v660 .material-card:hover,
.file001-desk-v660 .material-sheet:hover,
.file001-desk-v660 .research-item:hover,
.file001-desk-v660 [data-material]:hover {
  filter: brightness(1.025);
}

/* On narrow screens, avoid aggressive overlaps. */
@media (max-width: 760px) {
  .file001-desk-v660 .material-card,
  .file001-desk-v660 .material-sheet,
  .file001-desk-v660 .research-item,
  .file001-desk-v660 [data-material],
  .file001-desk-v660 .start-here,
  .file001-desk-v660 .start-sheet,
  .file001-desk-v660 .intro-sheet {
    transform: none !important;
  }
}


/* =========================================================
   V6.62 — GHOST GIRL PHYSICS PASS
   The rooms stay real; Ghost Girl's visual language leaks in.
   Scoped decorative layer only. No furniture/layout changes.
   ========================================================= */
/* WRITER'S ROOM: a tiny impossible cloud/moon-world drifts at the edge. */
.ghost-physics-writer-v662{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.wr-dream-cloud-v662{position:absolute;width:11%;min-width:78px;right:1.8%;top:4.5%;opacity:.78;filter:saturate(.82) brightness(.98) drop-shadow(0 5px 8px rgba(52,43,99,.24));transform:rotate(2deg)}
.wr-dream-star-v662{position:absolute;color:#f4a6c6;font-family:Georgia,serif;text-shadow:0 0 9px rgba(244,166,198,.42);opacity:.78}
.wr-dream-star-v662.star-a{right:13.5%;top:8%;font-size:14px;animation:ghostPhysicsTwinkle662 4.8s ease-in-out infinite}
.wr-dream-star-v662.star-b{right:9.5%;top:18%;font-size:10px;color:#b8a7e8;animation:ghostPhysicsTwinkle662 5.7s 1.1s ease-in-out infinite}

/* ARCHIVE 44: bureaucracy, but unmistakably hers. */
.ghost-physics-archive-v662{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}
.archive-star-v662{position:absolute;font-family:Georgia,serif;line-height:1;opacity:.66;text-shadow:0 0 8px currentColor}
.archive-star-v662.star-one{left:30.5%;top:12%;color:#f4a6c6;font-size:13px;transform:rotate(-9deg);animation:ghostPhysicsTwinkle662 5.2s ease-in-out infinite}
.archive-star-v662.star-two{right:18.5%;top:31%;color:#79d9dc;font-size:10px;transform:rotate(8deg);animation:ghostPhysicsTwinkle662 6.1s 1.5s ease-in-out infinite}
.archive-smiley-v662{position:absolute;left:7.4%;bottom:22.5%;display:grid;place-items:center;width:25px;height:19px;border:1px solid rgba(52,43,99,.7);border-radius:46% 52% 48% 50%;background:#f6d978;color:#342b63;font:700 9px/1 "Courier New",monospace;box-shadow:0 2px 0 rgba(0,0,0,.22);transform:rotate(-8deg);opacity:.9}
.archive-cloud-sticker-v662{position:absolute;right:5.7%;bottom:13.5%;color:#cdecf1;font-size:23px;line-height:1;filter:drop-shadow(0 2px 0 rgba(52,43,99,.55));transform:rotate(5deg);opacity:.82}
/* Pastel paper-label contamination without changing the cabinet itself. */
.archive-drawer-hotspot-v654:nth-of-type(1) span{background:rgba(244,166,198,.88)!important;color:#342b63!important;border-color:rgba(52,43,99,.36)!important}
.archive-drawer-hotspot-v654:nth-of-type(2) span{background:rgba(184,167,232,.9)!important;color:#342b63!important;border-color:rgba(52,43,99,.36)!important}
.archive-drawer-hotspot-v654:nth-of-type(3) span{background:rgba(205,236,241,.9)!important;color:#342b63!important;border-color:rgba(52,43,99,.36)!important}
.archive-drawer-hotspot-v654:nth-of-type(4) span{background:rgba(246,217,120,.88)!important;color:#342b63!important;border-color:rgba(52,43,99,.36)!important}
.archive-drawer-hotspot-v654:nth-of-type(5) span{background:rgba(231,223,245,.92)!important;color:#342b63!important;border-color:rgba(52,43,99,.36)!important}
/* The old computer has one impossible lavender glow. */
.archive-computer-v654 img{filter:drop-shadow(0 5px 5px rgba(0,0,0,.55)) drop-shadow(0 0 5px rgba(150,118,211,.20))}
.archive-computer-v654:hover img{filter:drop-shadow(0 5px 5px rgba(0,0,0,.55)) drop-shadow(0 0 9px rgba(150,118,211,.38))}
@keyframes ghostPhysicsTwinkle662{0%,100%{opacity:.34;transform:scale(.92) rotate(-4deg)}50%{opacity:.9;transform:scale(1.08) rotate(4deg)}}
@media(max-width:760px){.wr-dream-cloud-v662{width:15%;right:1%;top:3%;opacity:.68}.wr-dream-star-v662.star-a{right:17%;top:6%}.wr-dream-star-v662.star-b{right:11%;top:15%}.archive-smiley-v662{left:3.5%;bottom:22%;transform:scale(.82) rotate(-8deg)}.archive-cloud-sticker-v662{right:3%;bottom:12%;font-size:18px}.archive-star-v662.star-one{left:31%;top:10%}.archive-star-v662.star-two{right:15%;top:29%}}
@media(prefers-reduced-motion:reduce){.wr-dream-star-v662,.archive-star-v662{animation:none!important}}

/* ============================================================
   V6.63 — GHOST GIRL PHYSICS / MAXIMALIST PASS
   The rooms remain physical. Her internet-dream reality leaks in.
   ============================================================ */
/* WRITER'S ROOM — dark academia with the old internet leaking through */
.ghost-physics-writer-v663{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.wr-moon-v663{position:absolute;left:3.5%;top:8%;font-size:clamp(24px,3.2vw,48px);color:#F6D978;text-shadow:0 0 14px rgba(246,217,120,.42);transform:rotate(-12deg)}
.wr-spark-v663{position:absolute;color:#F4A6C6;font-family:Georgia,serif;text-shadow:0 0 8px rgba(244,166,198,.35)}
.wr-spark-v663.s1{left:18%;top:12%;font-size:18px}.wr-spark-v663.s2{left:27%;top:27%;font-size:11px;color:#79D9DC}.wr-spark-v663.s3{right:31%;top:10%;font-size:20px;color:#B8A7E8}.wr-spark-v663.s4{right:5%;top:37%;font-size:12px;color:#F6D978}.wr-spark-v663.s5{left:10%;bottom:18%;font-size:13px;color:#B8A7E8}
.wr-message-v663{position:absolute;right:4.2%;top:8%;width:154px;background:#FFF9F3;border:2px solid #342B63;box-shadow:5px 5px 0 rgba(244,166,198,.75);transform:rotate(2deg);font:7px/1.35 monospace;color:#342B63}
.wr-message-v663 b{display:block;padding:5px 7px;background:#B8A7E8;border-bottom:2px solid #342B63;letter-spacing:.08em}.wr-message-v663 span{display:block;padding:9px 10px;font-size:8px}.wr-message-v663 i{position:absolute;right:6px;top:4px;font-style:normal}
.wr-file-v663{position:absolute;left:5%;bottom:13%;width:72px;height:53px;background:#F8D5E4;border:2px solid #342B63;box-shadow:4px 4px 0 rgba(121,217,220,.45);transform:rotate(-5deg)}
.wr-file-v663:before{content:"";position:absolute;left:-2px;top:-13px;width:35px;height:13px;background:#F4A6C6;border:2px solid #342B63;border-bottom:0}.wr-file-v663:after{content:"ideas.txt";position:absolute;left:9px;top:19px;font:7px monospace;color:#342B63}
.wr-heart-v663{position:absolute;right:20%;bottom:15%;padding:5px 8px;background:#CDECF1;border:2px solid #342B63;box-shadow:3px 3px 0 #F4A6C6;font:700 12px monospace;color:#F4A6C6;transform:rotate(5deg)}
.wr-dream-cloud-v662{width:13%!important;right:1.5%!important;top:25%!important;opacity:.88!important;filter:drop-shadow(3px 4px 0 rgba(52,43,99,.12))}
.wr-dream-star-v662.star-a{right:20%!important;top:20%!important;font-size:20px!important}.wr-dream-star-v662.star-b{right:13%!important;top:31%!important;font-size:14px!important}
@keyframes ghostDrift663{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-4px) rotate(var(--r,0deg))}}
.wr-message-v663{--r:2deg;animation:ghostDrift663 5.5s ease-in-out infinite}.wr-heart-v663{--r:5deg;animation:ghostDrift663 6.7s ease-in-out infinite reverse}

/* ARCHIVE 44 — paranormal bureaucracy increasingly contaminated by Ghost Girl */
.ghost-physics-archive-v663{position:absolute;inset:0;z-index:19;pointer-events:none;overflow:hidden}
.archive-net-window-v663{position:absolute;right:18%;top:7%;width:168px;background:#FFF9F3;border:2px solid #342B63;box-shadow:5px 5px 0 rgba(121,217,220,.35);transform:rotate(1.5deg);font:7px monospace;color:#342B63}
.archive-net-window-v663 b{display:block;padding:5px 7px;background:#F4A6C6;border-bottom:2px solid #342B63}.archive-net-window-v663 span{display:block;padding:9px}.archive-net-window-v663 em{font-style:normal;color:#9676D3}
.archive-folder-v663{position:absolute;right:4%;top:37%;width:78px;height:52px;background:#B8A7E8;border:2px solid #342B63;box-shadow:4px 4px 0 rgba(244,166,198,.5);transform:rotate(6deg)}
.archive-folder-v663:before{content:"";position:absolute;left:-2px;top:-13px;width:38px;height:13px;background:#9676D3;border:2px solid #342B63;border-bottom:0}.archive-folder-v663:after{content:"???";position:absolute;left:26px;top:17px;font:700 9px monospace;color:#342B63}
.archive-planet-v663{position:absolute;right:2%;bottom:5%;width:105px;opacity:.82;transform:rotate(-5deg);filter:drop-shadow(3px 4px 0 rgba(0,0,0,.18))}
.archive-mail-v663{position:absolute;left:28%;top:8%;padding:6px 9px;background:#F8D5E4;border:2px solid #342B63;box-shadow:3px 3px 0 rgba(246,217,120,.55);font:700 8px monospace;color:#342B63;transform:rotate(-3deg)}
.archive-mail-v663:after{content:"♥";margin-left:7px;color:#F4A6C6;font-size:12px}
.archive-star-v663{position:absolute;font-family:Georgia,serif;text-shadow:0 0 8px currentColor}.archive-star-v663.a{left:5%;top:10%;font-size:17px;color:#F4A6C6}.archive-star-v663.b{left:38%;top:25%;font-size:11px;color:#79D9DC}.archive-star-v663.c{right:8%;top:19%;font-size:20px;color:#F6D978}.archive-star-v663.d{right:30%;bottom:12%;font-size:13px;color:#B8A7E8}.archive-star-v663.e{left:18%;bottom:8%;font-size:10px;color:#F4A6C6}
.archive-tape-v663{position:absolute;left:4%;bottom:8%;padding:5px 9px;background:#F6D978;border:1px solid rgba(52,43,99,.55);font:700 7px monospace;color:#342B63;transform:rotate(-7deg);box-shadow:2px 2px 0 rgba(0,0,0,.15)}
.archive-smiley-v662{font-size:15px!important;padding:5px 7px!important;background:#F6D978!important;border:2px solid #342B63!important;border-radius:50%!important;box-shadow:3px 3px 0 #F4A6C6!important;color:#342B63!important}
.archive-cloud-sticker-v662{font-size:29px!important;color:#CDECF1!important;text-shadow:-1px -1px 0 #342B63,1px -1px 0 #342B63,-1px 1px 0 #342B63,1px 1px 0 #342B63!important}
.archive-board-note-v654{background:#F8D5E4!important;color:#342B63!important;border-color:#342B63!important;box-shadow:3px 3px 0 #B8A7E8!important}
.archive-unsorted-v654 b{background:#F4A6C6!important;color:#342B63!important}.archive-unsorted-v654 span{color:#CDECF1!important}
.archive-room-caption-v654{color:#B8A7E8!important}
.archive-net-window-v663{--r:1.5deg;animation:ghostDrift663 6s ease-in-out infinite}.archive-mail-v663{--r:-3deg;animation:ghostDrift663 7s ease-in-out infinite reverse}
@media(max-width:760px){.wr-message-v663{width:120px;right:2%;top:6%}.wr-file-v663{transform:scale(.78) rotate(-5deg);left:1%;bottom:8%}.wr-heart-v663{right:12%;bottom:8%}.archive-net-window-v663{width:130px;right:12%;top:5%}.archive-folder-v663{transform:scale(.72) rotate(6deg);right:1%;top:39%}.archive-planet-v663{width:72px}.archive-mail-v663{left:25%;top:5%;transform:scale(.8) rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){.wr-message-v663,.wr-heart-v663,.archive-net-window-v663,.archive-mail-v663{animation:none!important}}


/* =========================================================
   V6.64 — GHOST GIRL CONTROLS THE LAWS OF PHYSICS
   Maximalist Y2K + witchy leakage. Physical rooms remain intact.
   ========================================================= */
.ghost-girl-feral-v664,.archive-feral-v664{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ghost-girl-feral-v664{z-index:6}.archive-feral-v664{z-index:18}
.wr-grid-rip-v664,.archive-grid-rip-v664{position:absolute;width:29%;height:34%;opacity:.24;background-image:linear-gradient(rgba(244,166,198,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(184,167,232,.9) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(135deg,#000 15%,transparent 88%);transform:rotate(-4deg)}
.wr-grid-rip-v664{left:-2%;top:3%}.wr-grid-rip-v664.second{left:auto;right:-4%;top:auto;bottom:2%;transform:rotate(7deg);opacity:.18}
.wr-big-moon-v664{position:absolute;width:clamp(150px,19vw,285px);left:-4%;top:9%;opacity:.92;filter:drop-shadow(0 0 16px rgba(246,217,120,.3));transform:rotate(-10deg)}
.wr-heart-pop-v664{position:absolute;width:clamp(42px,4.8vw,72px);right:7%;top:32%;transform:rotate(7deg);filter:drop-shadow(4px 5px 0 rgba(52,43,99,.16))}
.wr-floppies-v664{position:absolute;width:clamp(105px,12vw,178px);left:28%;top:3%;transform:rotate(-7deg);filter:drop-shadow(3px 4px 0 rgba(52,43,99,.14))}
.wr-browser-v664{position:absolute;right:2%;bottom:5%;width:clamp(150px,16vw,205px);background:#fff9f3;border:2px solid #342b63;box-shadow:7px 7px 0 rgba(121,217,220,.5);transform:rotate(-2deg);font:8px/1.55 monospace;color:#342b63}
.wr-browser-v664 b{display:block;padding:5px 8px;background:linear-gradient(90deg,#f4a6c6,#b8a7e8);border-bottom:2px solid #342b63}.wr-browser-v664 span{display:block;padding:9px 11px}
.wr-occult-shelf-v664{position:absolute;left:-1%;bottom:2%;width:clamp(250px,28vw,390px);height:118px;border-bottom:5px solid #5c3f37;filter:drop-shadow(0 5px 3px rgba(20,12,18,.18))}
.wr-occult-shelf-v664 small{position:absolute;left:18px;bottom:-18px;font:7px monospace;color:#f8d5e4;letter-spacing:.08em}
.crystal,.a-crystal{position:absolute;bottom:5px;width:30px;height:58px;background:linear-gradient(135deg,#cdecf1,#9676d3 70%);clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);border:1px solid #342b63}.crystal.c1{left:28px;height:64px}.crystal.c2{left:66px;height:43px;background:linear-gradient(135deg,#f8d5e4,#f4a6c6)}.crystal.c3{left:98px;height:74px;background:linear-gradient(135deg,#fff9f3,#79d9dc)}
.candle,.a-candle{position:absolute;bottom:5px;width:18px;height:50px;background:#fff9f3;border:1px solid #342b63;border-radius:2px}.candle:before,.a-candle:before{content:"";position:absolute;width:11px;height:18px;left:3px;top:-17px;background:#f6d978;clip-path:polygon(50% 0,100% 70%,50% 100%,0 70%);filter:drop-shadow(0 0 5px #f6d978)}.candle.k1{left:162px;height:58px}.candle.k2{left:190px;height:38px}
.venus-bust{position:absolute;right:26px;bottom:5px;width:58px;height:76px;border-radius:50% 50% 8px 8px;background:#e7dff5;border:2px solid #342b63;display:grid;place-items:center;color:#9676d3;font:bold 34px Georgia}
.wr-rune-v664{position:absolute;font-family:Georgia;color:#f4a6c6;text-shadow:0 0 10px currentColor}.wr-rune-v664.r1{left:42%;top:15%;font-size:25px;color:#f6d978}.wr-rune-v664.r2{left:57%;top:8%;font-size:20px}.wr-rune-v664.r3{right:29%;top:28%;font-size:28px;color:#79d9dc}.wr-rune-v664.r4{left:16%;bottom:28%;font-size:19px;color:#b8a7e8}
/* Archive: pastel contamination gets more aggressive against the institutional basement. */
.archive-grid-rip-v664{right:-3%;top:0;width:34%;height:42%;opacity:.17;transform:rotate(4deg)}.archive-grid-rip-v664.second{right:auto;left:-5%;top:auto;bottom:-4%;transform:rotate(-8deg);opacity:.12}
.archive-heart-v664{position:absolute;width:58px;left:45%;top:5%;transform:rotate(-9deg);filter:drop-shadow(4px 5px 0 rgba(0,0,0,.2))}
.archive-floppy-v664{position:absolute;width:132px;right:-3%;top:19%;transform:rotate(8deg);filter:drop-shadow(4px 5px 0 rgba(0,0,0,.25))}
.archive-popup-v664{position:absolute;left:22%;bottom:4%;width:205px;background:#fff9f3;border:2px solid #342b63;box-shadow:7px 7px 0 rgba(244,166,198,.5);transform:rotate(2deg);font:8px monospace;color:#342b63}.archive-popup-v664 b{display:block;padding:5px 7px;background:#79d9dc;border-bottom:2px solid #342b63}.archive-popup-v664 span{display:block;padding:9px}.archive-popup-v664 i{position:absolute;right:8px;bottom:7px;color:#f4a6c6;font:bold 18px Georgia}
.archive-occult-v664{position:absolute;right:10%;bottom:1%;width:235px;height:92px;border-bottom:4px solid #342b63}.archive-occult-v664 small{position:absolute;right:8px;bottom:-17px;font:7px monospace;color:#b8a7e8}.archive-occult-v664 b{position:absolute;right:12px;bottom:5px;font:44px Georgia;color:#f6d978;text-shadow:0 0 8px rgba(246,217,120,.35)}
.a-crystal.ac1{left:16px;height:58px;width:28px}.a-crystal.ac2{left:51px;height:43px;width:27px;background:linear-gradient(135deg,#f8d5e4,#f4a6c6)}.a-candle.ak1{left:98px;height:52px;width:17px}.a-candle.ak2{left:124px;height:36px;width:17px}
.archive-smiley-big-v664{position:absolute;right:7%;bottom:27%;width:44px;height:44px;border-radius:50%;background:#f6d978;border:3px solid #342b63;color:#342b63;display:grid;place-items:center;font:28px/1 Arial;transform:rotate(8deg);box-shadow:4px 4px 0 rgba(244,166,198,.5)}
.archive-weird-v664{position:absolute;font-family:Georgia;text-shadow:0 0 9px currentColor}.archive-weird-v664.w1{left:8%;top:31%;font-size:27px;color:#f4a6c6}.archive-weird-v664.w2{left:35%;top:8%;font-size:24px;color:#f6d978}.archive-weird-v664.w3{right:34%;top:25%;font-size:19px;color:#79d9dc}.archive-weird-v664.w4{right:8%;top:8%;font-size:24px;color:#f4a6c6}
/* Let the rooms themselves pick up Ghost Girl light without repainting them. */
.writer-wall-v620:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 14% 26%,rgba(184,167,232,.15),transparent 23%),radial-gradient(circle at 86% 24%,rgba(244,166,198,.14),transparent 22%),radial-gradient(circle at 55% 8%,rgba(121,217,220,.08),transparent 20%);mix-blend-mode:screen}
.archive-room-v654:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 73% 22%,rgba(244,166,198,.09),transparent 25%),radial-gradient(circle at 15% 68%,rgba(184,167,232,.08),transparent 28%),radial-gradient(circle at 50% 45%,rgba(121,217,220,.05),transparent 26%)}
@keyframes feralFloat664{0%,100%{translate:0 0}50%{translate:0 -5px}}
.wr-heart-pop-v664,.archive-heart-v664,.archive-smiley-big-v664{animation:feralFloat664 5.5s ease-in-out infinite}.wr-floppies-v664,.archive-floppy-v664{animation:feralFloat664 7s ease-in-out infinite reverse}
@media(max-width:760px){.wr-occult-shelf-v664{transform:scale(.72);transform-origin:left bottom}.wr-browser-v664{width:135px;right:2%}.wr-big-moon-v664{width:120px;left:-5%;top:12%}.wr-heart-pop-v664{width:44px}.wr-floppies-v664{width:92px;left:25%}.archive-popup-v664{width:135px;left:20%}.archive-occult-v664{transform:scale(.72);transform-origin:right bottom}.archive-heart-v664{width:44px}.archive-floppy-v664{width:94px;right:-5%}.archive-smiley-big-v664{transform:scale(.72) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.wr-heart-pop-v664,.archive-heart-v664,.archive-smiley-big-v664,.wr-floppies-v664,.archive-floppy-v664{animation:none!important}}

/* V6.65 — SCALE HIERARCHY: one large impossible intrusion, then clustered evidence. */
.archive-planet-intrusion-v665{position:absolute;z-index:1;left:-7%;top:8%;width:clamp(170px,22vw,330px);opacity:.68;transform:rotate(-11deg);filter:drop-shadow(0 10px 18px rgba(20,12,18,.24));mix-blend-mode:screen}
.wr-big-moon-v664{z-index:0}
.wr-occult-shelf-v664,.archive-occult-v664{z-index:3}
.wr-heart-pop-v664,.archive-heart-v664{z-index:4}
.wr-floppies-v664,.archive-floppy-v664{z-index:2}
@media(max-width:760px){.archive-planet-intrusion-v665{width:150px;left:-10%;top:10%}}

/* =========================================================
   V6.66 — MAKE IT BELONG
   Composition/depth pass. Maximalism stays; objects now make
   contact with the physical rooms instead of floating above them.
   ========================================================= */
/* WRITER'S ROOM — the moon is behind the real window; the grid is a localized rupture. */
.wr-integrated-moon-v666{
  z-index:1!important; left:-2.5%!important; top:7%!important;
  width:clamp(165px,20vw,300px)!important; opacity:.88!important;
  transform:rotate(-12deg)!important;
}
.wr-grid-rip-v664{left:-1%!important;top:2%!important;width:38%!important;height:43%!important;opacity:.27!important;transform:rotate(-3deg)!important}
.wr-grid-rip-v664.second{left:auto!important;right:-3%!important;top:43%!important;bottom:auto!important;width:31%!important;height:42%!important;opacity:.20!important;transform:rotate(6deg)!important}
/* Floppies now collide with the note/window zone instead of occupying a clean patch. */
.wr-floppies-v664{left:27.5%!important;top:4.5%!important;width:clamp(108px,11.5vw,170px)!important;transform:rotate(-5deg)!important}
/* The little heart belongs to the browser cluster. */
.wr-heart-pop-v664{right:15.5%!important;top:auto!important;bottom:34%!important;width:clamp(38px,4.2vw,62px)!important;transform:rotate(-6deg)!important}
.wr-browser-v664{right:1.5%!important;bottom:6%!important;transform:rotate(-1.5deg)!important}
/* Altar = accumulated desk-side shrine, not a lineup. */
.wr-occult-shelf-v664{left:-2.5%!important;bottom:0!important;width:clamp(250px,27vw,380px)!important;height:126px!important;border-bottom:0!important;filter:drop-shadow(0 7px 6px rgba(20,12,18,.2))}
.wr-occult-shelf-v664:after{content:"";position:absolute;left:12px;right:38px;bottom:3px;height:8px;border-radius:50%;background:rgba(44,29,28,.38);filter:blur(3px)}
.wr-occult-shelf-v664 .c1{left:30px!important;bottom:4px!important;transform:rotate(-5deg)}
.wr-occult-shelf-v664 .c2{left:62px!important;bottom:2px!important;transform:rotate(7deg)}
.wr-occult-shelf-v664 .c3{left:91px!important;bottom:7px!important;transform:rotate(2deg)}
.wr-occult-shelf-v664 .k1{left:151px!important;bottom:3px!important;transform:rotate(-2deg)}
.wr-occult-shelf-v664 .k2{left:181px!important;bottom:1px!important;transform:rotate(4deg)}
.wr-occult-shelf-v664 .venus-bust{right:35px!important;bottom:0!important;transform:rotate(3deg)}
.wr-occult-shelf-v664 small{left:108px!important;bottom:8px!important;transform:rotate(-2deg);opacity:.82}

/* ARCHIVE — cloud/planet is physically behind the board/pipes, not pasted over them. */
.archive-integrated-planet-v666{
  z-index:3!important;left:-8%!important;top:8%!important;
  width:clamp(190px,24vw,345px)!important;opacity:.62!important;
  transform:rotate(-10deg)!important;mix-blend-mode:screen;
}
/* Keep the gorgeous grid fields; anchor them to actual zones of failure. */
.archive-grid-rip-v664{right:-2%!important;top:0!important;width:36%!important;height:45%!important;opacity:.19!important;transform:rotate(3deg)!important}
.archive-grid-rip-v664.second{right:auto!important;left:-4%!important;top:55%!important;bottom:auto!important;width:31%!important;height:39%!important;opacity:.14!important;transform:rotate(-6deg)!important}
/* Disk intrusion now enters through the door-side edge and is clipped by the room. */
.archive-floppy-v664{right:-6%!important;top:17%!important;width:138px!important;transform:rotate(7deg)!important}
/* Heart becomes a small annotation attached to the ceiling-light/message ecosystem. */
.archive-heart-v664{left:auto!important;right:8.2%!important;top:8.5%!important;width:44px!important;transform:rotate(8deg)!important}
.archive-smiley-big-v664{right:8.5%!important;bottom:26%!important;transform:rotate(6deg) scale(.88)!important}
/* Popup now tucks against the cabinet/desk zone instead of floating in dead space. */
.archive-popup-v664{left:22%!important;bottom:3.5%!important;transform:rotate(-1.5deg)!important}
/* Unauthorized ritual site: asymmetrical, half-hidden by the real evidence boxes. */
.archive-integrated-occult-v666{
  z-index:5!important;right:1.5%!important;bottom:3px!important;
  width:245px!important;height:108px!important;border-bottom:0!important;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.22));pointer-events:none;
}
.archive-integrated-occult-v666:after{content:"";position:absolute;left:12px;right:4px;bottom:2px;height:7px;border-radius:50%;background:rgba(52,43,99,.35);filter:blur(3px)}
.archive-integrated-occult-v666 .ac1{left:6px!important;bottom:2px!important;transform:rotate(-6deg)}
.archive-integrated-occult-v666 .ac2{left:38px!important;bottom:0!important;transform:rotate(5deg)}
.archive-integrated-occult-v666 .ak1{left:84px!important;bottom:1px!important;transform:rotate(-2deg)}
.archive-integrated-occult-v666 .ak2{left:111px!important;bottom:0!important;transform:rotate(3deg)}
.archive-integrated-occult-v666 b{right:27px!important;bottom:4px!important;transform:rotate(-8deg)}
.archive-integrated-occult-v666 small{right:10px!important;bottom:4px!important;transform:rotate(2deg);opacity:.72}

@media(max-width:760px){
 .wr-integrated-moon-v666{width:135px!important;left:-5%!important;top:10%!important}
 .wr-floppies-v664{left:25%!important;top:5%!important;width:94px!important}
 .wr-occult-shelf-v664{transform:scale(.70)!important;transform-origin:left bottom!important}
 .archive-integrated-planet-v666{width:165px!important;left:-11%!important;top:10%!important}
 .archive-integrated-occult-v666{transform:scale(.72)!important;transform-origin:right bottom!important;right:0!important}
}

/* =========================================================
   V6.67 — THE ROOM IS HAUNTED BY HER
   The room itself now participates in Ghost Girl's physics.
   ========================================================= */
/* Shared law: localized pastel light has physical consequences. */
.writers-room-v620:after{content:"";position:absolute;inset:0;z-index:18;pointer-events:none;background:radial-gradient(ellipse at 17% 33%,rgba(184,167,232,.20),transparent 24%),radial-gradient(ellipse at 80% 48%,rgba(244,166,198,.15),transparent 22%),radial-gradient(ellipse at 53% 63%,rgba(121,217,220,.09),transparent 24%);mix-blend-mode:screen;opacity:.82}
.archive-room-v654:before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse at 12% 29%,rgba(184,167,232,.13),transparent 24%),radial-gradient(ellipse at 79% 18%,rgba(244,166,198,.10),transparent 20%),radial-gradient(ellipse at 73% 72%,rgba(121,217,220,.08),transparent 20%);mix-blend-mode:screen}

/* WRITER: a trail from window -> work -> shrine. */
.wr-reality-seam-v667{position:absolute;z-index:3;left:21%;top:17%;width:29%;height:2px;background:linear-gradient(90deg,rgba(121,217,220,0),#79d9dc 25%,#f4a6c6 68%,rgba(244,166,198,0));transform:rotate(-7deg);box-shadow:0 0 10px rgba(184,167,232,.8);opacity:.72}
.wr-reality-seam-v667:before,.wr-reality-seam-v667:after{content:"";position:absolute;width:7px;height:7px;border:1px solid #b8a7e8;transform:rotate(45deg);top:-3px;background:rgba(248,213,228,.45)}
.wr-reality-seam-v667:before{left:34%}.wr-reality-seam-v667:after{left:72%}
.wr-desk-cache-v667{position:absolute;z-index:13;left:52%;bottom:22%;width:112px;padding:6px 8px 7px;background:rgba(255,249,243,.94);border:1px solid #342b63;box-shadow:4px 4px 0 rgba(121,217,220,.45);transform:rotate(2.5deg);font:7px/1.35 monospace;color:#342b63;pointer-events:none}
.wr-desk-cache-v667 b{display:block;margin:-6px -8px 5px;padding:3px 6px;background:#f8d5e4;border-bottom:1px solid #342b63;font-size:6px}.wr-desk-cache-v667 i{color:#9676d3;font-style:normal}
.wr-cloud-rest-v667{position:absolute;z-index:9;right:7%;top:27%;width:145px;opacity:.54;transform:rotate(7deg);filter:drop-shadow(0 7px 7px rgba(20,12,18,.16));pointer-events:none}
.wr-occult-shelf-v664{background:radial-gradient(ellipse at 45% 76%,rgba(244,166,198,.12),transparent 55%)}
.wr-occult-shelf-v664:before{content:"✦  cache of offerings  ♀";position:absolute;left:64px;top:14px;padding:3px 6px;background:rgba(184,167,232,.72);border:1px solid rgba(52,43,99,.65);font:6px monospace;color:#342b63;transform:rotate(-4deg);box-shadow:2px 2px 0 rgba(244,166,198,.4)}
.wr-browser-v664{box-shadow:6px 7px 0 rgba(184,167,232,.35),0 0 20px rgba(244,166,198,.16)!important}

/* ARCHIVE: the bureaucracy is being infected, not decorated. */
.archive-grid-bridge-v667{position:absolute;z-index:2;left:0;top:43%;width:42%;height:31%;opacity:.13;transform:rotate(-4deg);background-image:linear-gradient(rgba(184,167,232,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(184,167,232,.8) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(115deg,transparent 3%,#000 25%,#000 66%,transparent 91%);pointer-events:none}
.archive-evidence-tag-v667{position:absolute;z-index:12;right:13%;bottom:15%;padding:5px 8px 6px;background:#f8d5e4;border:1px solid #342b63;box-shadow:3px 4px 0 rgba(121,217,220,.42);transform:rotate(-5deg);font:7px/1.25 monospace;color:#342b63;pointer-events:none}.archive-evidence-tag-v667 b{display:block;color:#9676d3;font-size:6px;margin-bottom:2px}
.archive-file-ghost-v667{position:absolute;z-index:7;left:26%;top:42%;width:62px;height:43px;background:#b8a7e8;border:2px solid #342b63;box-shadow:4px 4px 0 rgba(244,166,198,.35);transform:rotate(7deg);opacity:.88;pointer-events:none}.archive-file-ghost-v667:before{content:"";position:absolute;left:5px;top:-9px;width:27px;height:10px;background:#b8a7e8;border:2px solid #342b63;border-bottom:0}.archive-file-ghost-v667:after{content:"GHOST_44";position:absolute;left:8px;top:15px;padding:2px 4px;background:#fff9f3;font:6px monospace;color:#342b63}
.archive-integrated-occult-v666{background:radial-gradient(ellipse at 45% 70%,rgba(184,167,232,.13),transparent 55%)}
.archive-integrated-occult-v666:before{content:"EVIDENCE / DO NOT CATALOG";position:absolute;left:54px;top:14px;padding:3px 5px;background:rgba(246,217,120,.84);border:1px solid #342b63;font:6px monospace;color:#342b63;transform:rotate(5deg);box-shadow:2px 2px 0 rgba(244,166,198,.4)}
.archive-net-window-v663{box-shadow:5px 6px 0 rgba(121,217,220,.24),0 0 18px rgba(244,166,198,.12)!important}

@keyframes ghostPulse667{0%,100%{opacity:.62}50%{opacity:.95}}
.wr-reality-seam-v667,.archive-grid-bridge-v667{animation:ghostPulse667 6.5s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.wr-reality-seam-v667,.archive-grid-bridge-v667{animation:none}}
@media(max-width:760px){.wr-cloud-rest-v667{width:105px;right:0;top:31%}.wr-desk-cache-v667{left:48%;bottom:23%;transform:scale(.82) rotate(2deg)}.wr-reality-seam-v667{width:35%;left:24%}.archive-file-ghost-v667{left:27%;top:44%;transform:scale(.78) rotate(7deg)}.archive-evidence-tag-v667{right:8%;bottom:17%;transform:scale(.82) rotate(-5deg)}}

/* =========================================================
   V6.68 — CONTROLLED CHAOS
   Ghost Girl authored the collision. No accidental tangencies.
   ========================================================= */
/* WRITER: window/moon -> desk/typewriter -> books/whisper. */
.wr-floppies-v664{left:28.5%!important;top:3.2%!important;width:clamp(100px,10.5vw,154px)!important;transform:rotate(-7deg)!important;filter:drop-shadow(0 5px 3px rgba(28,18,24,.18))}
.wr-cloud-rest-v667{right:3.5%!important;top:20.5%!important;width:132px!important;opacity:.42!important;transform:rotate(4deg)!important;z-index:4!important}
.wr-message-v663{right:3.2%!important;top:7%!important;transform:rotate(2deg)!important}
.wr-heart-pop-v664{right:17.5%!important;bottom:36%!important;width:48px!important;transform:rotate(-8deg)!important}
.wr-browser-v664{right:1.7%!important;bottom:7.5%!important;transform:rotate(-1deg)!important;z-index:11!important}
/* Cache is physically clipped to the far desk edge, not hovering in its center. */
.wr-desk-cache-v667{left:66.5%!important;bottom:28.2%!important;width:106px!important;z-index:14!important;transform:rotate(-2deg)!important;box-shadow:3px 4px 0 rgba(121,217,220,.38)!important}
/* Shrine sits behind the chair: a deliberate deep overlap instead of edge collisions. */
.wr-occult-shelf-v664{left:-4%!important;bottom:1.5%!important;width:clamp(230px,24vw,345px)!important;height:116px!important;z-index:5!important}
.wr-occult-shelf-v664:before{left:72px!important;top:7px!important;transform:rotate(-3deg)!important}
.wr-occult-shelf-v664 small{left:115px!important;bottom:5px!important}
/* Let the grids frame activity instead of slicing through it. */
.wr-grid-rip-v664{left:-1%!important;top:1%!important;width:28%!important;height:39%!important;opacity:.18!important;transform:rotate(-4deg)!important}
.wr-grid-rip-v664.second{left:auto!important;right:-2%!important;top:43%!important;width:28%!important;height:33%!important;opacity:.13!important;transform:rotate(5deg)!important}
.wr-reality-seam-v667{left:18%!important;top:20%!important;width:25%!important;opacity:.56!important}

/* ARCHIVE: breach -> evidence -> desk -> unauthorized ritual. */
.archive-integrated-planet-v666{left:-10%!important;top:7%!important;width:clamp(180px,22vw,315px)!important;opacity:.55!important;transform:rotate(-8deg)!important}
.archive-grid-rip-v664{right:-3%!important;top:1%!important;width:32%!important;height:39%!important;opacity:.17!important}
.archive-grid-rip-v664.second{left:-5%!important;top:56%!important;width:27%!important;height:34%!important;opacity:.12!important}
.archive-grid-bridge-v667{left:4%!important;top:47%!important;width:31%!important;height:24%!important;opacity:.09!important}
/* Door-side disks visibly enter from outside; no near-touch with door frame. */
.archive-floppy-v664{right:-8.5%!important;top:15%!important;width:128px!important;transform:rotate(8deg)!important}
.archive-heart-v664{right:8.5%!important;top:8%!important;width:39px!important}
.archive-smiley-big-v664{right:7.5%!important;bottom:24%!important;transform:rotate(5deg) scale(.82)!important}
/* Ghost file now belongs to the investigation desk, clearly overlapping its rear edge. */
.archive-file-ghost-v667{left:39%!important;top:48.5%!important;z-index:9!important;transform:rotate(-5deg)!important;opacity:.9!important}
/* Popup and evidence tag are separated into two readable clusters. */
.archive-popup-v664{left:21%!important;bottom:3.8%!important;width:205px!important;transform:rotate(-1deg)!important;z-index:12!important}
.archive-evidence-tag-v667{right:3.5%!important;bottom:4.2%!important;z-index:14!important;transform:rotate(3deg)!important}
/* Ritual is deeply behind evidence boxes; fewer competing exposed edges. */
.archive-integrated-occult-v666{right:-1%!important;bottom:1px!important;width:220px!important;height:96px!important;z-index:5!important}
.archive-integrated-occult-v666:before{left:22px!important;top:4px!important;transform:rotate(3deg)!important}
.archive-integrated-occult-v666 .ac1{left:18px!important}.archive-integrated-occult-v666 .ac2{left:48px!important}.archive-integrated-occult-v666 .ak1{left:90px!important}.archive-integrated-occult-v666 .ak2{left:117px!important}

/* Floating-page artifacts stay whimsical, but each has breathing room. */
.writers-room-shell-v620,.archive-shell-v654{isolation:isolate}

@media(max-width:760px){
 .wr-floppies-v664{left:27%!important;width:90px!important}.wr-cloud-rest-v667{right:1%!important;top:22%!important;width:92px!important}.wr-desk-cache-v667{left:62%!important;bottom:27%!important;transform:scale(.76) rotate(-2deg)!important}.wr-occult-shelf-v664{left:-7%!important;transform:scale(.66)!important}
 .archive-file-ghost-v667{left:38%!important;top:49%!important;transform:scale(.72) rotate(-5deg)!important}.archive-popup-v664{left:18%!important;bottom:4%!important;transform:scale(.82) rotate(-1deg)!important}.archive-evidence-tag-v667{right:1%!important;bottom:4%!important;transform:scale(.72) rotate(3deg)!important}.archive-integrated-occult-v666{transform:scale(.67)!important;right:-4%!important}
}

/* =========================================================
   V6.69 — THE IMPOSSIBLE BROWSER IS LEAKING
   Translate the Simple Patterns inspiration into the existing rooms:
   large pastel territories, chunky Y2K UI, graphic color mass.
   ========================================================= */
/* Shared chunky UI grammar — deliberately flat, outlined and tactile. */
.wr-y2k-territory-v669,.archive-y2k-territory-v669{position:absolute;inset:0;pointer-events:none;font-family:"Courier New",monospace;color:#342b63}
.wr-y2k-territory-v669{z-index:8}.archive-y2k-territory-v669{z-index:8}

/* WRITER — a pink/lavender internet territory occupies the wall but leaves the brown room legible. */
.wr-y2k-territory-v669:before{content:"";position:absolute;right:-3%;top:1.5%;width:39%;height:49%;border:2px solid rgba(52,43,99,.28);border-radius:3px;background:linear-gradient(135deg,rgba(255,226,155,.62),rgba(248,176,216,.67) 42%,rgba(199,180,255,.70) 76%,rgba(154,230,234,.48));background-image:linear-gradient(rgba(255,255,255,.48) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.48) 1px,transparent 1px),linear-gradient(135deg,rgba(255,226,155,.62),rgba(248,176,216,.67) 42%,rgba(199,180,255,.70) 76%,rgba(154,230,234,.48));background-size:24px 24px,24px 24px,100% 100%;box-shadow:-12px 12px 0 rgba(184,167,232,.10);opacity:.72;transform:rotate(1.2deg);clip-path:polygon(5% 0,100% 0,100% 94%,89% 94%,89% 100%,62% 96%,49% 100%,34% 94%,14% 98%,0 89%,3% 60%,0 33%)}
.wr-y2k-window-v669{position:absolute;right:6%;top:10%;width:190px;border:2px solid #342b63;background:#fff6fb;box-shadow:7px 7px 0 #79d9dc80;transform:rotate(-1.5deg)}
.wr-y2k-window-v669 b{display:block;padding:5px 8px;border-bottom:2px solid #342b63;background:linear-gradient(90deg,#f4a6c6,#b8a7e8,#79d9dc);font-size:7px;letter-spacing:.04em}.wr-y2k-window-v669 b:after{content:"  ● ● ×";float:right}.wr-y2k-window-v669 span{display:block;padding:10px 12px;font-size:8px;line-height:1.65;background:#fff9f3e8}
.wr-y2k-loading-v669{position:absolute;right:24%;top:35%;width:145px;padding:7px 9px 8px;border:2px solid #342b63;background:#ffe59f;box-shadow:5px 5px 0 #f4a6c699;transform:rotate(2deg);font-size:7px}.wr-y2k-loading-v669 b{display:block;margin-bottom:5px}.wr-y2k-loading-v669 span{display:inline-block;width:98px;height:8px;border:1px solid #342b63;background:#fff9f3;vertical-align:middle}.wr-y2k-loading-v669 span i{display:block;width:83%;height:100%;background:repeating-linear-gradient(90deg,#9676d3 0 6px,#f4a6c6 6px 10px)}.wr-y2k-loading-v669 small{margin-left:5px;font-size:6px}
.wr-y2k-mail-v669{position:absolute;right:2%;top:31%;padding:5px 8px;border:2px solid #342b63;background:#9de5e8;box-shadow:4px 4px 0 #f4a6c6;transform:rotate(-4deg);font-size:7px}.wr-y2k-mail-v669 strong{color:#e94b9b;font-size:12px}
.wr-y2k-file-v669{position:absolute;right:35%;top:17%;width:48px;height:56px;padding-top:34px;box-sizing:border-box;border:2px solid #342b63;background:#fff9f3;transform:rotate(5deg);text-align:center;font-size:5px}.wr-y2k-file-v669:before{content:"";position:absolute;left:9px;right:9px;top:15px;height:12px;background:repeating-linear-gradient(#342b63 0 1px,transparent 1px 4px)}
.wr-y2k-cursor-v669{position:absolute;right:3%;top:43%;font-size:25px;color:#fff9f3;-webkit-text-stroke:1px #342b63;transform:rotate(-28deg);filter:drop-shadow(3px 3px 0 #f4a6c6)}
/* Existing pieces now sit inside/around the territory instead of competing with it. */
.wr-grid-rip-v664.second{right:-3%!important;top:41%!important;width:38%!important;height:38%!important;opacity:.20!important}.wr-browser-v664{right:3%!important;bottom:7%!important;background:#fff7fb!important;box-shadow:6px 7px 0 #79d9dc70!important}.wr-heart-pop-v664{right:20%!important;bottom:35%!important}.wr-cloud-rest-v667{right:0!important;top:17%!important;width:155px!important;opacity:.56!important}.wr-message-v663{right:1.8%!important;top:5.5%!important}

/* ARCHIVE — the basement is being overwritten by the same OS, colder and bureaucratic. */
.archive-y2k-territory-v669:before{content:"";position:absolute;left:-2%;top:7%;width:42%;height:43%;border:2px solid rgba(52,43,99,.45);background-image:linear-gradient(rgba(255,255,255,.40) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.40) 1px,transparent 1px),linear-gradient(145deg,rgba(184,167,232,.73),rgba(121,217,220,.57) 45%,rgba(244,166,198,.60) 76%,rgba(246,217,120,.40));background-size:22px 22px,22px 22px,100% 100%;opacity:.52;transform:rotate(-1.5deg);clip-path:polygon(0 0,91% 3%,100% 17%,94% 39%,100% 59%,90% 78%,95% 100%,0 95%);box-shadow:10px 10px 0 rgba(244,166,198,.08)}
.archive-y2k-system-v669{position:absolute;left:31%;top:8%;width:190px;border:2px solid #342b63;background:#fff8fb;box-shadow:7px 7px 0 #79d9dc70;transform:rotate(1deg)}.archive-y2k-system-v669 b{display:block;padding:5px 7px;background:linear-gradient(90deg,#b8a7e8,#f4a6c6,#f6d978);border-bottom:2px solid #342b63;font-size:7px}.archive-y2k-system-v669 b:after{content:"  □ ×";float:right}.archive-y2k-system-v669>span{display:block;padding:9px 9px 4px;font-size:9px;font-weight:bold}.archive-y2k-system-v669 div{height:9px;margin:2px 9px 4px;border:1px solid #342b63;background:#fff9f3}.archive-y2k-system-v669 div i{display:block;width:68%;height:100%;background:repeating-linear-gradient(90deg,#79d9dc 0 7px,#b8a7e8 7px 12px)}.archive-y2k-system-v669 small{display:block;padding:0 9px 8px;font-size:6px}
.archive-y2k-mail-v669{position:absolute;left:5%;top:18%;padding:5px 9px;border:2px solid #342b63;background:#f6d978;box-shadow:4px 4px 0 #f4a6c6;transform:rotate(-3deg);font-size:7px}.archive-y2k-secret-v669{position:absolute;right:3%;bottom:11%;padding:8px 10px;border:2px solid #342b63;background:#f4a6c6;box-shadow:5px 5px 0 #b8a7e8;transform:rotate(4deg);font-size:7px;line-height:1.35}.archive-y2k-secret-v669 strong{font-size:9px}.archive-y2k-cursor-v669{position:absolute;left:38%;top:31%;font-size:24px;color:#fff9f3;-webkit-text-stroke:1px #342b63;transform:rotate(24deg);filter:drop-shadow(3px 3px 0 #79d9dc)}
.archive-grid-rip-v664{right:-3%!important;top:0!important;width:39%!important;height:43%!important;opacity:.23!important}.archive-grid-bridge-v667{left:0!important;top:42%!important;width:43%!important;height:30%!important;opacity:.14!important}.archive-net-window-v663{right:17%!important;top:7%!important;background:#fff7fb!important;box-shadow:5px 6px 0 #79d9dc66!important}.archive-integrated-planet-v666{left:-12%!important;top:3%!important;width:330px!important;opacity:.62!important}

/* A few large pastel light fields unify the new graphic territories with the physical art. */
.writers-room-v620:after{background:radial-gradient(ellipse at 79% 24%,rgba(244,166,198,.24),transparent 24%),radial-gradient(ellipse at 64% 50%,rgba(121,217,220,.13),transparent 23%),radial-gradient(ellipse at 18% 36%,rgba(184,167,232,.20),transparent 27%)!important;opacity:.95!important}
.archive-room-v654:before{background:radial-gradient(ellipse at 23% 25%,rgba(184,167,232,.23),transparent 29%),radial-gradient(ellipse at 72% 22%,rgba(244,166,198,.14),transparent 23%),radial-gradient(ellipse at 70% 72%,rgba(121,217,220,.13),transparent 23%)!important;opacity:.95!important}

@media(max-width:760px){.wr-y2k-territory-v669:before{width:43%;height:46%;opacity:.58}.wr-y2k-window-v669{right:3%;top:10%;transform:scale(.72) rotate(-1.5deg);transform-origin:top right}.wr-y2k-loading-v669{right:21%;top:34%;transform:scale(.68) rotate(2deg);transform-origin:top right}.wr-y2k-mail-v669{display:none}.wr-y2k-file-v669{transform:scale(.7) rotate(5deg)}.archive-y2k-territory-v669:before{width:44%;opacity:.43}.archive-y2k-system-v669{left:28%;transform:scale(.7) rotate(1deg);transform-origin:top left}.archive-y2k-mail-v669{transform:scale(.75) rotate(-3deg)}.archive-y2k-secret-v669{transform:scale(.72) rotate(4deg)}}

/* =========================================================
   V6.70 — GHOST_OS HAS TAKEN OVER
   Solid graphic Y2K incursions. No translucent PowerPoint wash.
   ========================================================= */
:root{--gt-pink:#f7a8d4;--gt-hot:#f45aaa;--gt-lav:#b9a7f2;--gt-aqua:#8fe2e7;--gt-yellow:#ffe58f;--gt-cream:#fff8e9;--gt-ink:#31275f}

/* kill the V6.69 wash; replace it with bounded, opaque graphic territory */
.wr-y2k-territory-v669:before{right:-1%!important;top:3%!important;width:35%!important;height:42%!important;opacity:1!important;border:3px solid var(--gt-ink)!important;border-radius:2px!important;background-color:var(--gt-pink)!important;background-image:linear-gradient(rgba(255,255,255,.58) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.58) 2px,transparent 2px),linear-gradient(145deg,#ffd995 0 18%,#f7a8d4 18% 58%,#b9a7f2 58% 82%,#8fe2e7 82%)!important;background-size:28px 28px,28px 28px,100% 100%!important;box-shadow:-10px 10px 0 #8fe2e7, -16px 16px 0 #fff8e9!important;clip-path:polygon(7% 0,100% 0,100% 100%,13% 100%,13% 92%,0 92%,4% 68%,0 48%,5% 28%,2% 12%)!important;transform:rotate(.5deg)!important}
.archive-y2k-territory-v669:before{left:-1%!important;top:7%!important;width:36%!important;height:37%!important;opacity:1!important;border:3px solid var(--gt-ink)!important;background-color:var(--gt-lav)!important;background-image:linear-gradient(rgba(255,255,255,.55) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.55) 2px,transparent 2px),linear-gradient(145deg,#8fe2e7 0 22%,#b9a7f2 22% 58%,#f7a8d4 58% 82%,#ffe58f 82%)!important;background-size:27px 27px,27px 27px,100% 100%!important;box-shadow:10px 10px 0 #f7a8d4,16px 16px 0 #fff8e9!important;clip-path:polygon(0 0,88% 0,88% 8%,100% 8%,94% 31%,100% 49%,91% 67%,98% 84%,87% 100%,0 100%)!important;transform:rotate(-.5deg)!important}

/* big graphic cloud masses: deliberately solid, outlined, and partially clipped */
.wr-y2k-territory-v669:after,.archive-y2k-territory-v669:after{content:"";position:absolute;background:var(--gt-cream);border:3px solid var(--gt-ink);border-radius:55% 48% 42% 45%;box-shadow:38px 8px 0 -4px var(--gt-cream),38px 8px 0 -1px var(--gt-ink),74px 1px 0 -8px var(--gt-cream),74px 1px 0 -5px var(--gt-ink);z-index:0}
.wr-y2k-territory-v669:after{right:25%;top:27%;width:78px;height:38px;transform:rotate(-2deg)}
.archive-y2k-territory-v669:after{left:22%;top:31%;width:82px;height:39px;transform:rotate(2deg)}

/* chunky browser objects */
.wr-y2k-window-v669{right:4%!important;top:8%!important;width:210px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-cream)!important;box-shadow:8px 8px 0 var(--gt-aqua)!important;transform:rotate(-1deg)!important;z-index:3}
.wr-y2k-window-v669 b{padding:7px 9px!important;border-bottom:3px solid var(--gt-ink)!important;background:var(--gt-lav)!important;font-size:7px!important}.wr-y2k-window-v669 span{padding:12px 13px!important;background:#fff8e9!important;font-size:8px!important}
.wr-y2k-loading-v669{right:21%!important;top:34%!important;width:158px!important;padding:9px 10px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-yellow)!important;box-shadow:7px 7px 0 var(--gt-pink)!important;z-index:4}
.wr-y2k-mail-v669{right:1.5%!important;top:34%!important;padding:7px 10px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-aqua)!important;box-shadow:6px 6px 0 var(--gt-hot)!important;font-size:8px!important;z-index:5}
.wr-y2k-file-v669{right:32%!important;top:15%!important;width:54px!important;height:64px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-cream)!important;z-index:4}
.wr-y2k-cursor-v669{right:3%!important;top:46%!important;font-size:32px!important;color:var(--gt-cream)!important;-webkit-text-stroke:2px var(--gt-ink)!important;filter:drop-shadow(4px 4px 0 var(--gt-hot))!important;z-index:5}

/* use the existing planet-cloud as a bold graphic object, not a ghostly wash */
.wr-cloud-rest-v667{right:-2%!important;top:20%!important;width:190px!important;opacity:1!important;filter:drop-shadow(5px 6px 0 rgba(49,39,95,.28))!important;z-index:7!important}
.wr-grid-rip-v664.second{display:none!important}
.wr-message-v663{right:2%!important;top:4%!important;z-index:12!important}

/* simplify tiny competing writer labels */
.wr-desk-cache-v667{opacity:.82!important;transform:scale(.9) rotate(-1deg)!important}
.wr-browser-v664{right:2%!important;bottom:7%!important;width:190px!important;border-width:2px!important;z-index:10!important}

/* Archive: solid breach + strong system window, less tiny label soup */
.archive-y2k-system-v669{left:29%!important;top:7%!important;width:205px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-cream)!important;box-shadow:8px 8px 0 var(--gt-aqua)!important;z-index:4!important}
.archive-y2k-system-v669 b{padding:7px 8px!important;border-bottom:3px solid var(--gt-ink)!important;background:var(--gt-pink)!important}.archive-y2k-system-v669>span{padding:11px 11px 5px!important;font-size:10px!important}.archive-y2k-system-v669 div{height:11px!important;margin:3px 11px 5px!important;border:2px solid var(--gt-ink)!important}.archive-y2k-system-v669 small{padding:0 11px 9px!important}
.archive-y2k-mail-v669{left:5%!important;top:17%!important;padding:7px 10px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-yellow)!important;box-shadow:6px 6px 0 var(--gt-hot)!important;font-size:8px!important;z-index:4!important}
.archive-y2k-secret-v669{right:3%!important;bottom:13%!important;padding:9px 11px!important;border:3px solid var(--gt-ink)!important;background:var(--gt-pink)!important;box-shadow:7px 7px 0 var(--gt-lav)!important;font-size:8px!important;z-index:12!important}
.archive-y2k-cursor-v669{left:38%!important;top:29%!important;font-size:31px!important;color:var(--gt-cream)!important;-webkit-text-stroke:2px var(--gt-ink)!important;filter:drop-shadow(4px 4px 0 var(--gt-aqua))!important;z-index:5!important}
.archive-integrated-planet-v666{left:-9%!important;top:2%!important;width:305px!important;opacity:1!important;filter:drop-shadow(6px 7px 0 rgba(49,39,95,.3))!important;z-index:6!important}
.archive-grid-rip-v664,.archive-grid-bridge-v667{display:none!important}

/* make a few existing artifacts read as graphic punctuation, not annotations */
.archive-smiley-big-v664{background:var(--gt-yellow)!important;border:3px solid var(--gt-ink)!important;color:var(--gt-ink)!important;box-shadow:5px 5px 0 var(--gt-lav)!important;width:43px!important;height:43px!important;line-height:39px!important;font-size:25px!important}
.archive-floppy-v664{right:-2%!important;top:14%!important;width:108px!important;z-index:10!important}
.archive-evidence-tag-v667{opacity:.9!important;right:3%!important;bottom:4%!important}

/* remove the pastel light wash from 6.69; color should come from objects */
.writers-room-v620:after{background:radial-gradient(ellipse at 62% 48%,rgba(244,166,198,.09),transparent 22%)!important;opacity:1!important}
.archive-room-v654:before{background:radial-gradient(ellipse at 72% 70%,rgba(121,217,220,.07),transparent 23%)!important;opacity:1!important}

@media(max-width:760px){
 .wr-y2k-territory-v669:before{width:39%!important;height:39%!important}.wr-y2k-window-v669{transform:scale(.72) rotate(-1deg)!important}.wr-y2k-loading-v669{transform:scale(.7) rotate(2deg)!important}.wr-cloud-rest-v667{width:135px!important}
 .archive-y2k-territory-v669:before{width:39%!important;height:34%!important}.archive-y2k-system-v669{transform:scale(.72) rotate(1deg)!important}.archive-integrated-planet-v666{width:230px!important}
}

/* =========================================================
   V6.71 — THESE ROOMS WERE ALWAYS HERS
   Palette integration: preserve architecture, recolor atmosphere.
   ========================================================= */
:root{--gg-plum:#4a3149;--gg-mauve:#72505f;--gg-blush:#a66f83;--gg-night:#211a2b;--gg-mint:#9bbfae;--gg-dustlav:#6f6885;--gg-archive:#343343}

/* WRITER'S ROOM — pastel dark academia, not a brown room with stickers. */
.writers-room-v620{
  background:linear-gradient(180deg,#2a1d2b 0%,#1c1723 100%)!important;
  border-color:#5e4566!important;
  box-shadow:inset 0 0 70px rgba(30,18,35,.34),0 20px 50px rgba(18,10,22,.34),0 0 0 2px rgba(247,168,212,.08)!important;
}
.writer-wall-v620{
  background:linear-gradient(90deg,#684b5c 0%,#795468 51.7%,#60465e 52.1%,#4f3d58 100%)!important;
}
.writer-wall-v620:before{
  background:linear-gradient(90deg,rgba(255,226,238,.07) 0%,rgba(207,190,255,.035) 49%,rgba(48,30,53,.05) 54%,rgba(28,22,42,.17) 100%),linear-gradient(180deg,rgba(247,168,212,.035),rgba(33,26,43,.19))!important;
}
.writer-wall-v620:after{background:linear-gradient(90deg,rgba(39,28,48,.35),rgba(235,204,235,.12))!important;box-shadow:1px 0 0 rgba(255,224,239,.05),-1px 0 0 rgba(30,22,39,.16)!important}
.writer-floor-v620{background:linear-gradient(102deg,#4c3547 0%,#5d4053 43%,#46364d 100%)!important}
.writer-floor-v620:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 112px,rgba(214,178,205,.08) 113px 116px),linear-gradient(180deg,rgba(247,168,212,.045),rgba(33,26,43,.16))}
.writer-floor-v620:after{background:linear-gradient(145deg,rgba(43,28,45,.20) 0%,rgba(43,28,45,.12) 27%,rgba(184,167,242,.035) 45%,transparent 45.5%)!important}
/* unify the antique illustration with the new world without flattening its line art */
.wr-desk-v620,.wr-chair-v644{filter:sepia(.08) saturate(.92) hue-rotate(300deg) brightness(1.04) drop-shadow(0 8px 8px rgba(24,14,28,.22))!important}
.wr-lamp-v620{filter:saturate(.92) hue-rotate(318deg) brightness(1.08) drop-shadow(0 0 10px rgba(255,229,143,.22))!important}
.wr-books-v620,.wr-art-v625,.wr-letters-v620{filter:saturate(.92) hue-rotate(322deg) brightness(1.04)!important}
.wr-window-v620{filter:saturate(1.12) hue-rotate(8deg) brightness(1.06) drop-shadow(0 0 12px rgba(143,226,231,.18))!important}
.wr-typewriter-v620{filter:saturate(1.08) hue-rotate(18deg) brightness(1.05) drop-shadow(0 7px 5px rgba(28,18,35,.24))!important}
/* ambient Ghost Girl light now belongs to the room itself */
.writers-room-v620:after{background:radial-gradient(ellipse at 19% 29%,rgba(143,226,231,.12),transparent 25%),radial-gradient(ellipse at 72% 30%,rgba(247,168,212,.16),transparent 29%),radial-gradient(ellipse at 53% 72%,rgba(185,167,242,.09),transparent 32%)!important;mix-blend-mode:screen}
.wr-wall-note-v620{color:#ffe7c4!important;text-shadow:0 1px 0 #39283d,0 0 8px rgba(247,168,212,.18)!important}
.wr-room-whisper-v620{color:#e7c9db!important}

/* ARCHIVE 44 — haunted pastel bureaucracy: still grimy, now unmistakably hers. */
.archive-room-v654{
  background:linear-gradient(180deg,#454456 0 58%,#2b2938 58% 100%)!important;
  border-color:rgba(185,167,242,.42)!important;
  box-shadow:inset 0 0 90px rgba(24,22,36,.42),0 24px 55px rgba(39,29,53,.25),0 0 0 2px rgba(143,226,231,.06)!important;
}
.archive-room-v654:before{background:radial-gradient(ellipse at 18% 28%,rgba(155,191,174,.10),transparent 27%),radial-gradient(ellipse at 70% 20%,rgba(247,168,212,.09),transparent 25%),radial-gradient(ellipse at 70% 72%,rgba(143,226,231,.10),transparent 26%)!important;mix-blend-mode:screen}
.archive-room-v654:after{background:linear-gradient(90deg,rgba(155,191,174,.035),transparent 30%,transparent 67%,rgba(247,168,212,.045)),radial-gradient(circle at 52% 22%,rgba(255,229,143,.055),transparent 34%)!important}
.archive-cabinet-v654,.archive-cabinet-wrap-v654{filter:saturate(.82) hue-rotate(28deg) brightness(1.08) drop-shadow(0 8px 7px rgba(20,18,30,.25))!important}
.archive-door-v654{filter:saturate(.78) hue-rotate(12deg) brightness(1.08) drop-shadow(0 6px 5px rgba(20,18,30,.22))!important}
.archive-board-v654{filter:saturate(.74) hue-rotate(314deg) brightness(1.08)!important}
.archive-desk-v654,.archive-chair-v654{filter:saturate(.68) hue-rotate(315deg) brightness(1.06) drop-shadow(0 7px 7px rgba(20,18,30,.22))!important}
.archive-computer-v654{filter:saturate(.9) hue-rotate(16deg) brightness(1.08) drop-shadow(0 0 9px rgba(143,226,231,.12))!important}
.archive-pipes-v654{filter:saturate(.58) hue-rotate(282deg) brightness(1.08)!important;opacity:.52!important}
.archive-fluorescent-v654{filter:saturate(.75) hue-rotate(305deg) brightness(1.08) drop-shadow(0 0 10px rgba(185,167,242,.16))!important}
.archive-boxes-v654{filter:saturate(.9) hue-rotate(325deg) brightness(1.06)!important}
.archive-room-caption-v654{color:#c8b7dc!important;text-shadow:0 0 8px rgba(247,168,212,.13)!important}

/* make the saturated breaches feel like the high-volume end of these palettes */
.wr-y2k-territory-v669:before{box-shadow:-10px 10px 0 #8fe2e7,-16px 16px 0 #fff8e9,0 0 34px rgba(247,168,212,.16)!important}
.archive-y2k-territory-v669:before{box-shadow:10px 10px 0 #f7a8d4,16px 16px 0 #fff8e9,0 0 30px rgba(143,226,231,.14)!important}

@media(max-width:760px){
 .writer-floor-v620:before{background:repeating-linear-gradient(90deg,transparent 0 70px,rgba(214,178,205,.07) 71px 73px),linear-gradient(180deg,rgba(247,168,212,.04),rgba(33,26,43,.15))}
}

/* =========================================================
   V6.72 — NOTHING IMPORTANT GETS EATEN
   Occlusion audit. Keep V6.71 palette; restore focal hierarchy.
   ========================================================= */
/* WRITER: keep the Y2K breach on the right wall and out of the window/typewriter path. */
.wr-y2k-territory-v669{z-index:6!important}
.wr-y2k-territory-v669:before{right:-2%!important;top:4%!important;width:31%!important;height:36%!important}
.wr-y2k-territory-v669:after{right:20%!important;top:29%!important;transform:scale(.86) rotate(-2deg)!important}
.wr-y2k-window-v669{right:2.5%!important;top:8%!important;width:190px!important;z-index:7!important}
.wr-y2k-loading-v669{right:18%!important;top:31%!important;width:142px!important;z-index:7!important}
.wr-y2k-mail-v669{right:1%!important;top:31.5%!important;z-index:8!important}
.wr-y2k-file-v669{right:29%!important;top:13%!important;z-index:7!important}
.wr-y2k-cursor-v669{right:2%!important;top:43%!important;z-index:8!important}
.wr-cloud-rest-v667{right:-5%!important;top:20%!important;width:165px!important;z-index:5!important}
.wr-message-v663{right:1.5%!important;top:2.5%!important;z-index:9!important}
.wr-floppies-v664{left:29%!important;top:2.8%!important;z-index:3!important}
.wr-heart-pop-v664{right:18%!important;bottom:34%!important;z-index:7!important}
.wr-browser-v664{right:1.5%!important;bottom:5%!important;width:178px!important;z-index:8!important}
.wr-occult-shelf-v664{z-index:4!important}
/* physical focal objects must always read above decorative contamination */
.wr-window-v620{z-index:10!important}
.wr-art-v625{z-index:9!important}
.wr-lantern-v620{z-index:9!important}
.wr-chair-v644{z-index:14!important}
.wr-desk-scene-v620{z-index:15!important}
.wr-books-v620{z-index:14!important}
.wr-desk-cache-v667{z-index:16!important;left:58%!important;bottom:26%!important;transform:scale(.82) rotate(-1deg)!important}

/* ARCHIVE: breach lives behind evidence architecture; interactive room objects stay legible. */
.archive-y2k-territory-v669{z-index:2!important}
.archive-y2k-territory-v669:before{left:-2%!important;top:6%!important;width:31%!important;height:31%!important}
.archive-y2k-territory-v669:after{left:18%!important;top:27%!important;transform:scale(.82) rotate(2deg)!important}
.archive-y2k-system-v669{left:28%!important;top:5%!important;width:188px!important;z-index:3!important}
.archive-y2k-mail-v669{left:3%!important;top:15%!important;z-index:3!important}
.archive-y2k-secret-v669{right:2%!important;bottom:18%!important;z-index:7!important}
.archive-y2k-cursor-v669{left:35%!important;top:27%!important;z-index:3!important}
.archive-integrated-planet-v666{left:-12%!important;top:1%!important;width:270px!important;z-index:1!important}
.archive-floppy-v664{right:-5%!important;top:13%!important;width:100px!important;z-index:5!important}
.archive-heart-v664{right:8%!important;top:7%!important;z-index:5!important}
.archive-popup-v664{left:24%!important;bottom:4%!important;width:180px!important;z-index:6!important}
.archive-integrated-occult-v666{z-index:4!important}
.archive-evidence-tag-v667{right:2%!important;bottom:2%!important;z-index:7!important}
/* architecture and controls above decorative breaches */
.archive-pipes-v654,.archive-fluorescent-v654{z-index:4!important}
.archive-board-v654{z-index:8!important}
.archive-board-note-v654{z-index:9!important}
.archive-door-v654{z-index:9!important}
.archive-desk-v654{z-index:9!important}
.archive-computer-v654{z-index:13!important}
.archive-chair-v654{z-index:13!important}
.archive-lamp-v654,.archive-coffee-v654,.archive-phone-v654,.archive-rolodex-v654{z-index:12!important}
.archive-boxes-v654{z-index:10!important}
.archive-cabinet-wrap-v654{z-index:15!important}

@media(max-width:760px){
 .wr-y2k-territory-v669:before{width:35%!important;height:34%!important}.wr-y2k-window-v669{transform:scale(.66) rotate(-1deg)!important}.wr-y2k-loading-v669{transform:scale(.64) rotate(2deg)!important}.wr-cloud-rest-v667{width:118px!important}.wr-desk-cache-v667{left:60%!important;bottom:27%!important;transform:scale(.68) rotate(-1deg)!important}
 .archive-y2k-territory-v669:before{width:34%!important;height:29%!important}.archive-y2k-system-v669{transform:scale(.66) rotate(1deg)!important}.archive-integrated-planet-v666{width:190px!important}.archive-popup-v664{transform:scale(.74) rotate(-1deg)!important;left:19%!important}
}

/* =========================================================
   V6.73 — FREE THE PASTEL FURNITURE
   Physical-world asset pass. Pastel is now furniture, not garnish.
   ========================================================= */
/* Lighten the CANVAS itself so pastel furniture is allowed to dominate. */
.writer-wall-v620{background:linear-gradient(90deg,#b98fa7 0%,#c59bb4 51.7%,#a985aa 52.1%,#907ca2 100%)!important}
.writer-wall-v620:before{background:linear-gradient(90deg,rgba(255,244,248,.16),rgba(214,230,255,.08) 48%,rgba(111,86,122,.05) 54%,rgba(74,58,92,.10)),linear-gradient(180deg,rgba(255,226,239,.10),rgba(93,72,104,.08))!important}
.writer-floor-v620{background:linear-gradient(102deg,#80657e 0%,#97748e 43%,#715e7d 100%)!important}
.writers-room-v620{background:linear-gradient(180deg,#72586f,#51445e)!important;border-color:#b895bd!important;box-shadow:inset 0 0 52px rgba(77,54,83,.16),0 18px 44px rgba(38,24,43,.25),0 0 0 2px rgba(247,168,212,.13)!important}
/* Keep one antique grounding anchor, but lift the huge desk/chair mass. */
.wr-desk-v620{filter:sepia(.04) saturate(.72) hue-rotate(300deg) brightness(1.28) contrast(.88) drop-shadow(0 8px 8px rgba(52,31,55,.20))!important}
.wr-chair-v644{filter:sepia(.03) saturate(.76) hue-rotate(300deg) brightness(1.24) contrast(.9) drop-shadow(0 8px 8px rgba(52,31,55,.18))!important}
.wr-lamp-v620{opacity:.18!important;filter:saturate(.6) brightness(1.25)!important}
/* Supplied Writer's Room assets become real physical anchors. */
.wr-pastel-bookcase-v673{position:absolute;left:1.5%;top:8%;width:19%;height:auto;z-index:8;filter:drop-shadow(0 9px 7px rgba(53,35,62,.18));transform:rotate(-.5deg)}
.wr-pastel-books-v673{position:absolute;left:25%;top:47%;width:11.5%;height:auto;z-index:13;filter:drop-shadow(0 6px 5px rgba(53,35,62,.18));transform:rotate(-3deg)}
.wr-heart-lamp-v673{position:absolute;right:4%;top:-17%;width:31%;height:auto;z-index:18;filter:drop-shadow(0 8px 6px rgba(53,35,62,.18));transform:rotate(1deg)}
/* Make room for the bookcase: window shifts inward instead of being covered. */
.wr-window-v620{left:17%!important;width:25%!important;z-index:10!important}.wr-wall-note-v620{left:35%!important}.wr-floppies-v664{left:31%!important}
/* Existing right-wall UI remains, but the physical heart lamp/books now own the desk zone. */
.wr-desk-cache-v667{left:61%!important;bottom:24%!important}.wr-occult-shelf-v664{left:2%!important;bottom:23%!important}

/* Archive: brighten the actual institutional envelope. */
.archive-room-v654{background:linear-gradient(180deg,#77758b 0 58%,#5e5a72 58% 100%)!important;border-color:#c9b7e6!important;box-shadow:inset 0 0 64px rgba(58,52,77,.20),0 20px 46px rgba(65,48,77,.20),0 0 0 2px rgba(143,226,231,.10)!important}
.archive-room-v654:after{background:linear-gradient(90deg,rgba(199,233,221,.08),transparent 30%,transparent 67%,rgba(255,192,219,.08)),radial-gradient(circle at 52% 22%,rgba(255,241,190,.08),transparent 34%)!important}
.archive-desk-v654{filter:saturate(.52) hue-rotate(315deg) brightness(1.38) contrast(.78) drop-shadow(0 7px 7px rgba(45,39,61,.18))!important}
.archive-chair-v654{filter:saturate(.62) hue-rotate(315deg) brightness(1.32) contrast(.82) drop-shadow(0 7px 7px rgba(45,39,61,.16))!important}
.archive-pipes-v654{filter:saturate(.45) hue-rotate(282deg) brightness(1.32)!important;opacity:.42!important}
/* FREE THE CABINET: supplied lavender furniture is a major physical mass. */
.archive-lavender-cabinet-v673{position:absolute;left:2.2%;bottom:4.5%;width:21%;height:auto;z-index:14;filter:drop-shadow(0 9px 7px rgba(45,39,61,.20));transform:rotate(-.4deg)}
/* Retain the original six drawer interaction map invisibly over the new cabinet zone. */
.archive-cabinet-wrap-v654{left:2.2%!important;bottom:4.5%!important;width:21%!important;height:44%!important;z-index:16!important;filter:none!important}
.archive-cabinet-image-v654{opacity:0!important}
.archive-cabinet-wrap-v654 .cabinet-drawer{opacity:0!important}
/* A second pale storage anchor replaces some of the dark evidence-box mass. */
.archive-cream-cabinet-v673{position:absolute;right:2.2%;bottom:2.5%;width:18%;height:auto;z-index:9;filter:drop-shadow(0 8px 6px rgba(45,39,61,.18));transform:rotate(.5deg)}
.archive-boxes-v654{right:12%!important;bottom:1%!important;width:15%!important;z-index:11!important;transform:scale(.86)!important}
.archive-integrated-occult-v666{right:2%!important;bottom:2%!important;z-index:12!important}.archive-evidence-tag-v667{right:3%!important;bottom:16%!important;z-index:13!important}
/* Mint/powder-blue physical anchors become brighter rather than murky. */
.archive-door-v654{filter:saturate(.82) hue-rotate(8deg) brightness(1.18)!important}.archive-computer-v654{filter:saturate(.9) hue-rotate(16deg) brightness(1.18) drop-shadow(0 0 10px rgba(143,226,231,.16))!important}
.archive-board-v654{filter:saturate(.66) hue-rotate(314deg) brightness(1.22)!important}
/* Reduce the large breach just enough to let the NEW physical pastel masses lead. */
.archive-y2k-territory-v669:before{width:27%!important;height:27%!important;opacity:.92}.wr-y2k-territory-v669:before{width:28%!important;height:33%!important;opacity:.94}

@media(max-width:760px){
 .wr-pastel-bookcase-v673{width:18%}.wr-pastel-books-v673{width:10%}.wr-heart-lamp-v673{width:27%;top:-12%}.wr-window-v620{left:16%!important}
 .archive-lavender-cabinet-v673,.archive-cabinet-wrap-v654{width:20%!important}.archive-cream-cabinet-v673{width:16%}.archive-boxes-v654{width:13%!important}
}

/* ==========================================================
   V6.74 — GHOST GIRL'S NATIVE ROOM
   Rebuilds the homepage room from the user's coherent Y2K
   asset family. Existing room interface remains functional.
   ========================================================== */
.ghost-bedroom-page{--gg-ink:#24304e;--gg-pink:#f58fc4;--gg-blush:#ffb0c6;--gg-mint:#b8f2c0;--gg-aqua:#75e2dc;--gg-teal:#25bdb5;--gg-yellow:#ffe15a;--gg-lilac:#c6b2ff;}
.ghost-bedroom-page .ghost-bedroom-room{
  min-height:760px!important;
  background:
    linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#ffd6e7 0 63%,#f6c7dc 63% 65%,#e8b5d0 65% 100%)!important;
  border:3px solid var(--gg-ink)!important;
  box-shadow:12px 14px 0 rgba(36,48,78,.13),0 28px 60px rgba(245,143,196,.18)!important;
}
.ghost-bedroom-room::before{top:63%!important;background:rgba(36,48,78,.2)!important}
.ghost-bedroom-room::after{bottom:-90px!important;height:260px!important;opacity:.34!important;background:repeating-linear-gradient(96deg,transparent 0 112px,rgba(36,48,78,.11) 114px 116px)!important}
.ghost-bedroom-room>.room-ceiling,
.ghost-bedroom-room>.room-left-wall,
.ghost-bedroom-room>.ghost-room-window-art,
.ghost-bedroom-room>.ghost-room-bed-art,
.ghost-bedroom-room>.room-rug,
.ghost-bedroom-room>.room-desk-scene,
.ghost-bedroom-room>.floor-outlet,
.ghost-bedroom-room>.floor-cord-bedroom,
.ghost-bedroom-room>.room-ghost,
.ghost-bedroom-room>.room-y2k,
.ghost-bedroom-room>.room-polaroid,
.ghost-bedroom-room>.room-burned-cd,
.ghost-bedroom-room>.room-away-message,
.ghost-bedroom-room>.room-caption{display:none!important}
.gg-native-room{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.gg-wall-grid{position:absolute;inset:0 0 37%;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(198,178,255,.1));}
.gg-window-glow{position:absolute;right:9%;top:11%;width:30%;height:37%;border-radius:28px;background:linear-gradient(180deg,#b9b5ff 0,#ef9bd0 52%,#ffd966 80%,#8ee5df);box-shadow:0 0 55px rgba(255,225,90,.22);overflow:hidden}
.gg-window-glow:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.72) 49% 51%,transparent 51%),linear-gradient(transparent 52%,rgba(255,255,255,.72) 52% 54%,transparent 54%)}
.gg-window-glow i{position:absolute;right:17%;top:10%;font:normal 46px Georgia;color:#fff7bd}.gg-window-glow b{position:absolute;color:white;font-size:20px}.gg-window-glow b:nth-of-type(1){left:20%;top:18%}.gg-window-glow b:nth-of-type(2){left:36%;top:32%}
.gg-curtains{position:absolute;right:5.5%;top:5%;width:39%;z-index:3;filter:drop-shadow(5px 8px rgba(36,48,78,.08))}
.gg-fan{position:absolute;left:42%;top:1.2%;width:18%;z-index:5;filter:drop-shadow(3px 4px rgba(36,48,78,.08));transform-origin:50% 43%;animation:ggFan 12s linear infinite}
@keyframes ggFan{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.gg-clock{position:absolute;left:5.5%;top:12%;width:8.5%;z-index:5;transform:rotate(-2deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-stay-weird{position:absolute;left:14%;top:11%;width:18%;z-index:4;transform:rotate(-3deg);filter:drop-shadow(4px 5px rgba(36,48,78,.08))}
.gg-heart-frame{position:absolute;left:31%;top:17%;width:9.5%;z-index:4;transform:rotate(3deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-shelf{position:absolute;left:4%;top:36%;width:15%;z-index:5;filter:drop-shadow(5px 7px rgba(36,48,78,.09))}
.gg-cd{position:absolute;left:7.8%;top:41%;width:9%;z-index:6;transform:rotate(-4deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-rug{position:absolute;left:38%;bottom:3.5%;width:41%;z-index:2;filter:drop-shadow(5px 7px rgba(36,48,78,.07))}
.gg-couch{position:absolute;left:46%;bottom:15%;width:40%;z-index:6;filter:drop-shadow(7px 9px rgba(36,48,78,.11))}
.gg-floor-lamp{position:absolute;right:2.5%;bottom:17%;width:12%;z-index:7;filter:drop-shadow(4px 6px rgba(36,48,78,.08))}
.gg-plant{position:absolute;right:16%;bottom:14%;width:8%;z-index:8;filter:drop-shadow(3px 4px rgba(36,48,78,.07))}
.gg-desk-zone{position:absolute;left:8%;bottom:4%;width:47%;height:48%;z-index:9}
.gg-desk{position:absolute;left:0;bottom:0;width:78%;filter:drop-shadow(7px 9px rgba(36,48,78,.12))}
.gg-imac{position:absolute;left:43%;top:2%;width:23%;z-index:3;filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-typewriter{position:absolute;left:20%;top:17%;width:24%;z-index:4;filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-coffee{position:absolute;left:9%;top:24%;width:8%;z-index:5;transform:rotate(-4deg)}
.gg-flip-phone{position:absolute;left:61%;top:27%;width:8%;z-index:5;transform:rotate(8deg)}
.gg-chair{position:absolute;left:48%;bottom:-5%;width:31%;z-index:7;filter:drop-shadow(5px 7px rgba(36,48,78,.1))}
.gg-room-whisper{position:absolute;left:2.2%;bottom:1.8%;font:700 8px "Courier New",monospace;color:var(--gg-ink);letter-spacing:.06em}.gg-room-whisper span{color:#21c7b9;text-shadow:0 0 8px #21c7b9}
/* Existing interaction controls remain, but become invisible hit areas over the new physical objects. */
.ghost-bedroom-room .hotspot-writing{left:18%!important;top:auto!important;bottom:22%!important;width:18%!important;height:17%!important;opacity:0!important;z-index:30!important}
.ghost-bedroom-room .room-hotspot{opacity:0!important;background:transparent!important;border:0!important;box-shadow:none!important;z-index:30!important}
.ghost-bedroom-room .hotspot-reading{left:52%!important;right:auto!important;top:auto!important;bottom:19%!important;width:30%!important;height:25%!important}
.ghost-bedroom-room .hotspot-music{left:4%!important;right:auto!important;top:36%!important;bottom:auto!important;width:15%!important;height:20%!important}
.ghost-bedroom-room .hotspot-tarot{left:30%!important;right:auto!important;top:14%!important;bottom:auto!important;width:12%!important;height:16%!important}
.ghost-bedroom-room .hotspot-cabinet{left:3%!important;right:auto!important;top:auto!important;bottom:4%!important;width:13%!important;height:16%!important}
.ghost-bedroom-room .hotspot-about{left:4%!important;right:auto!important;top:10%!important;bottom:auto!important;width:11%!important;height:18%!important}
.ghost-bedroom-room .hotspot-secret{right:2%!important;top:8%!important}
.ghost-bedroom-room .room-discovery-hint{z-index:31!important;background:#fff6bd!important;color:var(--gg-ink)!important;border-color:var(--gg-ink)!important}
.ghost-bedroom-room .room-ambient-status{z-index:31!important}
.ghost-bedroom-room .room-haunt,.ghost-bedroom-room .rabbit-clue{z-index:32!important}
@media(max-width:900px){.ghost-bedroom-page .ghost-bedroom-room{min-height:650px!important}.gg-curtains{width:43%;right:2%}.gg-couch{width:43%;left:44%}.gg-desk-zone{width:50%;left:5%}.gg-floor-lamp{right:0;width:13%}}
@media(max-width:700px){.ghost-bedroom-page .ghost-bedroom-room{min-height:560px!important}.gg-fan{width:22%;left:39%}.gg-stay-weird{width:20%}.gg-heart-frame{display:none}.gg-shelf{width:17%}.gg-couch{width:47%;left:42%;bottom:16%}.gg-desk-zone{width:54%;left:2%;bottom:3%}.gg-floor-lamp{width:15%}.gg-plant{width:9%;right:14%}.gg-clock{width:10%}}
@media(prefers-reduced-motion:reduce){.gg-fan{animation:none!important}}


/* ============================================================
   V6.75 — GHOST GIRL ACTUALLY LIVES HERE
   Personality pass over the V6.74 native room. Existing room
   architecture and interaction hit areas remain untouched.
   ============================================================ */
.gg-planet-cloud{position:absolute;left:32%;top:7%;width:15%;z-index:2;opacity:.94;filter:drop-shadow(3px 4px rgba(36,48,78,.07));transform:rotate(-2deg)}
.gg-floppies{position:absolute;left:25.5%;top:29%;width:8.5%;z-index:5;transform:rotate(5deg);filter:drop-shadow(3px 4px rgba(36,48,78,.09))}
.gg-heart-books{position:absolute;left:4.3%;top:44%;width:11.5%;z-index:7;filter:drop-shadow(4px 5px rgba(36,48,78,.09));transform:rotate(-1deg)}
.gg-pastel-books{position:absolute;right:24.5%;bottom:12.5%;width:8.5%;z-index:8;filter:drop-shadow(3px 4px rgba(36,48,78,.08));transform:rotate(3deg)}
.gg-peeking-ghost{position:absolute;right:-.5%;top:40%;width:8.5%;z-index:5;opacity:.96;filter:drop-shadow(3px 4px rgba(36,48,78,.08))}
.gg-witch-cluster{position:absolute;right:14.2%;bottom:17%;width:12%;height:12%;z-index:9}
.gg-crystal{position:absolute;bottom:0;display:block;width:22%;height:58%;background:linear-gradient(135deg,#f7c5ee 0 45%,#c8b4ff 46% 72%,#86e7df 73%);clip-path:polygon(50% 0,88% 30%,82% 100%,18% 100%,12% 30%);border-radius:3px;filter:drop-shadow(2px 3px rgba(36,48,78,.12))}
.gg-crystal-a{left:0;transform:rotate(-5deg)}.gg-crystal-b{left:20%;height:76%;width:24%;background:linear-gradient(135deg,#a5eee4,#c5b2ff 62%,#ffb2d5);transform:rotate(3deg)}.gg-crystal-c{left:43%;height:48%;background:linear-gradient(135deg,#ffe477,#ffb2d5 65%);transform:rotate(8deg)}
.gg-candle{position:absolute;right:17%;bottom:0;width:13%;height:58%;background:#fff7d2;border:2px solid #24304e;border-radius:2px}.gg-candle.short{right:0;height:40%}.gg-candle i{position:absolute;left:25%;top:-26%;width:50%;height:24%;background:#ffe15a;border:1.5px solid #24304e;clip-path:polygon(50% 0,100% 100%,0 100%)}
.gg-moon-charm{position:absolute;right:1%;top:-20%;font:700 26px Georgia;color:#ffe15a;text-shadow:2px 2px 0 #24304e}
.gg-digital-note{position:absolute;left:34%;top:28%;z-index:6;width:12%;padding:5px 7px 6px;background:#fff7cf;border:2px solid #24304e;box-shadow:4px 4px 0 #f58fc4;font:700 7px "Courier New",monospace;color:#24304e;transform:rotate(-2deg)}
.gg-digital-note b{display:block;background:#75e2dc;margin:-5px -7px 5px;padding:3px 5px;border-bottom:2px solid #24304e}.gg-digital-note span{display:block;color:#a35791}.gg-digital-note em{display:block;margin-top:4px;font-style:normal;font-weight:400}
/* Give the desk zone a touch more breathing room and seat the chair under it. */
.gg-desk-zone{left:6.5%;bottom:4.5%;width:48%}
.gg-chair{left:50%;bottom:-2%;width:29%}
.gg-typewriter{left:21%;top:15%;width:25%}
.gg-imac{left:45%;top:1%;width:22%}
/* Slightly tighten the living-room composition so rug reads beneath couch. */
.gg-rug{left:39%;bottom:4%;width:40%}.gg-couch{left:46%;bottom:16%;width:39%}
@media(max-width:900px){.gg-heart-books{width:12.5%}.gg-digital-note{display:none}.gg-witch-cluster{right:13%;}.gg-planet-cloud{width:16%}}
@media(max-width:700px){.gg-floppies,.gg-peeking-ghost{display:none}.gg-heart-books{width:13.5%;left:3%}.gg-witch-cluster{transform:scale(.82);transform-origin:bottom right}.gg-planet-cloud{left:31%;top:8%;width:18%}}

/* ============================================================
   V6.76 — PUT IT WHERE IT BELONGS
   Composition polish: intentional overlap only. The ceiling fan
   stays architectural; STAY WEIRD gets the impossible physics.
   ============================================================ */
/* Stop spinning the fan itself. Re-center it over the lounge/couch zone. */
.gg-fan{left:58.5%!important;top:1.3%!important;width:17%!important;animation:none!important;transform:rotate(0deg)!important;transform-origin:50% 43%!important;z-index:5!important}
/* Let the sign be the reality glitch: a slow end-over-end flip with a tiny hover. */
.gg-stay-weird{left:14%!important;top:10.5%!important;width:18%!important;z-index:7!important;transform-origin:50% 50%!important;animation:ggStayWeirdFlip 7.5s ease-in-out infinite!important;will-change:transform}
@keyframes ggStayWeirdFlip{
  0%,18%{transform:rotate(-3deg) rotateX(0deg) translateY(0)}
  45%,55%{transform:rotate(2deg) rotateX(180deg) translateY(-5px)}
  82%,100%{transform:rotate(-3deg) rotateX(360deg) translateY(0)}
}
/* Make the desk a readable physical surface. Everything on it stays inside the tabletop. */
.gg-desk-zone{left:5.8%!important;bottom:4.2%!important;width:49%!important;height:49%!important}
.gg-desk{left:0!important;bottom:0!important;width:80%!important;z-index:1!important}
.gg-imac{left:43.5%!important;top:7%!important;width:21%!important;z-index:4!important}
.gg-typewriter{left:21.5%!important;top:19%!important;width:23%!important;z-index:5!important}
.gg-coffee{left:11.5%!important;top:24%!important;width:6.5%!important;z-index:6!important;transform:rotate(-3deg)!important}
.gg-flip-phone{left:60%!important;top:27%!important;width:6.5%!important;z-index:6!important;transform:rotate(5deg)!important}
.gg-chair{left:50%!important;bottom:-1%!important;width:28%!important;z-index:7!important}
/* Resolve the V6.75 pile-ups into deliberate clusters. */
.gg-floppies{left:27%!important;top:34%!important;width:7.2%!important;z-index:6!important;transform:rotate(7deg)!important}
.gg-digital-note{left:35.5%!important;top:24%!important;width:11%!important;z-index:6!important}
.gg-heart-books{left:3.2%!important;top:47%!important;width:10.5%!important;z-index:7!important}
.gg-pastel-books{right:23%!important;bottom:9%!important;width:7.5%!important;z-index:8!important}
.gg-witch-cluster{right:12.5%!important;bottom:18.5%!important;width:10.5%!important;height:11%!important;z-index:9!important}
.gg-peeking-ghost{right:.8%!important;top:43%!important;width:7.5%!important;z-index:6!important}
.gg-planet-cloud{left:34%!important;top:6.5%!important;width:13%!important;z-index:3!important}
/* Keep the lounge as the dominant pink mass and let the rug clearly tuck under it. */
.gg-rug{left:38.5%!important;bottom:3.8%!important;width:41%!important;z-index:2!important}
.gg-couch{left:45.5%!important;bottom:16%!important;width:39.5%!important;z-index:6!important}
.gg-floor-lamp{right:2.2%!important;bottom:17%!important;width:11.5%!important;z-index:7!important}
.gg-plant{right:15.5%!important;bottom:14.5%!important;width:7.5%!important;z-index:8!important}
@media(max-width:900px){
 .gg-fan{left:57%!important;width:19%!important}
 .gg-desk-zone{left:4%!important;width:51%!important}
 .gg-heart-books{width:11.5%!important}
}
@media(max-width:700px){
 .gg-fan{left:55%!important;width:21%!important}
 .gg-stay-weird{width:20%!important}
 .gg-desk-zone{left:1%!important;width:56%!important}
 .gg-floppies,.gg-peeking-ghost{display:none!important}
}
@media(prefers-reduced-motion:reduce){.gg-stay-weird{animation:none!important;transform:rotate(-3deg)!important}}


/* ============================================================
   V6.77 — BUILD THE ROOM AROUND HER
   ============================================================ */
.ghost-bedroom-page .ghost-bedroom-room{background:linear-gradient(180deg,#ffd6e7 0 11%,#ffc9df 11% 64%,#d8b7e8 64% 100%)!important;perspective:1100px}
.gg-native-room:before{content:"";position:absolute;left:-2%;right:-2%;top:0;height:12%;background:linear-gradient(180deg,#ffe6ef 0%,#ffd5e5 100%);clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);border-bottom:2px solid rgba(36,48,78,.22);z-index:0}
.gg-native-room:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36%;background:repeating-linear-gradient(94deg,transparent 0 105px,rgba(73,52,100,.10) 106px 108px),linear-gradient(180deg,#dcbce9,#cba8df);border-top:3px solid rgba(36,48,78,.22);z-index:0}
.gg-wall-grid{inset:11% 0 36%!important;background:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px) 0 0/52px 52px,linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px) 0 0/52px 52px,linear-gradient(135deg,rgba(255,255,255,.08),rgba(198,178,255,.10))!important;opacity:.72}
.gg-fan{left:35%!important;top:.4%!important;width:16.5%!important;z-index:12!important}.gg-stay-weird{left:10.5%!important;top:12%!important;width:18%!important;z-index:12!important}
.gg-saturn{position:absolute;right:-2.5%;top:3.5%;width:20%;z-index:4;transform:rotate(5deg);filter:drop-shadow(5px 6px rgba(36,48,78,.10))}.gg-disco{position:absolute;left:54%;top:4%;width:9.5%;z-index:11;filter:drop-shadow(3px 5px rgba(36,48,78,.10));animation:ggDiscoFloat 5s ease-in-out infinite}@keyframes ggDiscoFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(5px) rotate(2deg)}}
.gg-yellow-eye{position:absolute;left:31%;top:18%;width:7.5%;z-index:7;transform:rotate(3deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}.gg-rainbow-star{position:absolute;right:31%;top:21%;width:6.8%;z-index:7;transform:rotate(-7deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}.gg-neon-breach{position:absolute;left:-2%;top:27%;width:19%;height:20%;overflow:hidden;z-index:1;opacity:.38;transform:skewY(-2deg);border-radius:0 22px 22px 0}.gg-neon-breach img{width:100%;height:100%;object-fit:cover}
.gg-pink-cabinet{position:absolute;left:1.2%;bottom:10%;width:11.5%;z-index:5;filter:drop-shadow(5px 7px rgba(36,48,78,.10))}.gg-skate{position:absolute;right:2.5%;top:35%;width:7.5%;z-index:8;transform:rotate(8deg);filter:drop-shadow(3px 4px rgba(36,48,78,.08))}.gg-rubiks{position:absolute;left:14.5%;top:43%;width:4.2%;z-index:8;transform:rotate(-7deg)}.gg-melting-smiley{position:absolute;right:13%;top:31%;width:4.6%;z-index:7;transform:rotate(4deg)}
.gg-shelf{left:2.8%!important;top:31%!important;width:13.5%!important;z-index:5!important}.gg-cd{left:6.2%!important;top:35.5%!important;width:7.4%!important;z-index:7!important}.gg-heart-books{left:2.4%!important;top:48%!important;width:9.2%!important}
.gg-desk-zone{left:7%!important;bottom:3.8%!important;width:48%!important;height:48%!important}.gg-imac{left:44%!important;top:8%!important;width:20%!important}.gg-typewriter{left:22%!important;top:20%!important;width:22%!important}.gg-coffee{left:12%!important;top:26%!important;width:5.7%!important}.gg-flip-phone{left:62%!important;top:28%!important;width:5.7%!important}.gg-desk-lamp{position:absolute;left:66%;top:12%;width:10%;z-index:5;filter:drop-shadow(2px 3px rgba(36,48,78,.08))}.gg-cds-ipod{position:absolute;left:47%;top:31%;width:12%;z-index:6;transform:rotate(2deg);filter:drop-shadow(2px 3px rgba(36,48,78,.07))}.gg-chair{left:51%!important;bottom:-1%!important;width:27%!important}
.gg-couch{left:45%!important;bottom:15.5%!important;width:39%!important}.gg-rug{left:38%!important;bottom:3.2%!important;width:42%!important}.gg-floor-lamp{right:3%!important;bottom:17%!important;width:10.8%!important}.gg-plant{right:15.5%!important;bottom:14.5%!important;width:7.2%!important}.gg-clock{left:4.5%!important;top:13%!important;width:7.8%!important}.gg-heart-frame{left:29.5%!important;top:28%!important;width:8%!important}.gg-planet-cloud,.gg-floppies,.gg-digital-note{display:none!important}
@media(max-width:900px){.gg-fan{left:33%!important;width:18%!important}.gg-saturn{width:22%!important}.gg-disco{left:53%;width:10.5%}.gg-pink-cabinet{width:12.5%}}@media(max-width:700px){.gg-saturn{right:-5%;width:25%!important}.gg-disco{display:none}.gg-yellow-eye{width:9%}.gg-rainbow-star{display:none}.gg-skate,.gg-rubiks,.gg-melting-smiley{display:none}.gg-desk-lamp{width:11%}.gg-cds-ipod{width:13%}}@media(prefers-reduced-motion:reduce){.gg-disco{animation:none!important}}

/* ============================================================
   V6.78 — COMPOSED EXCESS
   Browser-tested composition cleanup after V6.77 screen recording.
   No architecture/interactions changed: this pass is scale + placement.
   ============================================================ */

/* CEILING / UPPER HIERARCHY — give each statement object its own air */
.gg-fan{left:41.5%!important;top:1.2%!important;width:13.5%!important;z-index:10!important}
.gg-disco{left:56.5%!important;top:4.8%!important;width:7.2%!important;z-index:9!important}
.gg-saturn{right:1.8%!important;top:5.2%!important;width:13.2%!important;z-index:5!important;transform:rotate(7deg)!important}
.gg-stay-weird{left:8.5%!important;top:15.5%!important;width:14.5%!important;z-index:8!important}

/* LEFT WALL — turn the pile into three readable clusters */
.gg-clock{left:4.8%!important;top:10.8%!important;width:6.8%!important;z-index:7!important}
.gg-heart-frame{left:29%!important;top:22%!important;width:6.5%!important;z-index:6!important}
.gg-yellow-eye{left:32.2%!important;top:13.5%!important;width:5.6%!important;z-index:7!important}
.gg-rainbow-star{right:34.5%!important;top:23.5%!important;width:5.2%!important;z-index:7!important}
.gg-shelf{left:3.4%!important;top:31.5%!important;width:11.2%!important;z-index:5!important}
.gg-cd{left:5.5%!important;top:34.5%!important;width:5.8%!important;z-index:7!important}
.gg-rubiks{left:12.4%!important;top:39.5%!important;width:3.3%!important;z-index:8!important}
.gg-heart-books{left:3.1%!important;top:48.5%!important;width:7.5%!important;z-index:6!important}
.gg-neon-breach{left:-1%!important;top:31%!important;width:13%!important;height:16%!important;opacity:.22!important}

/* DESK — make the teal desk the second major anchor and seat everything on it */
.gg-desk-zone{left:6.2%!important;bottom:3.2%!important;width:51%!important;height:50%!important}
.gg-imac{left:43%!important;top:7%!important;width:17.5%!important;z-index:6!important}
.gg-typewriter{left:21%!important;top:22%!important;width:19.5%!important;z-index:7!important}
.gg-coffee{left:10.5%!important;top:25%!important;width:4.8%!important;z-index:7!important}
.gg-desk-lamp{left:64%!important;top:12%!important;width:8.2%!important;z-index:6!important}
.gg-cds-ipod{left:46%!important;top:31%!important;width:8.8%!important;z-index:7!important}
.gg-flip-phone{left:57%!important;top:29%!important;width:4.6%!important;z-index:7!important}
.gg-chair{left:52%!important;bottom:-2.5%!important;width:24%!important;z-index:10!important}

/* Give the beloved pink cabinet a deliberate home beside the desk, not underneath it */
.gg-pink-cabinet{left:1.2%!important;bottom:8.8%!important;width:9.2%!important;z-index:8!important}

/* LOUNGE — preserve the strongest composition, only clear its edges */
.gg-couch{left:46%!important;bottom:15.8%!important;width:38%!important;z-index:7!important}
.gg-rug{left:41%!important;bottom:3.4%!important;width:39%!important;z-index:3!important}
.gg-floor-lamp{right:2.2%!important;bottom:15.5%!important;width:8.7%!important;z-index:8!important}
.gg-plant{right:15.3%!important;bottom:13.8%!important;width:6.3%!important;z-index:9!important}
.gg-skate{right:3.3%!important;top:36.5%!important;width:5.2%!important;z-index:9!important;transform:rotate(7deg)!important}
.gg-melting-smiley{right:12.8%!important;top:31.5%!important;width:3.7%!important;z-index:8!important}

/* Existing clickable labels should read as labels, not collide with decor. */
.ghost-bedroom-page .room-hotspot[data-room="about"]{left:3%!important;top:9%!important}
.ghost-bedroom-page .room-hotspot[data-room="tarot"]{left:29%!important;top:10%!important}
.ghost-bedroom-page .room-hotspot[data-room="music"]{left:3.5%!important;top:29%!important}

/* Tiny objects are discoveries; don't let them become the silhouette. */
.gg-candles{transform:scale(.88);transform-origin:bottom center}
.gg-books{transform:scale(.9);transform-origin:bottom center}

@media(max-width:900px){
  .gg-fan{left:40%!important;width:15%!important}.gg-saturn{right:1%!important;width:15%!important}.gg-disco{left:56%!important;width:8%!important}
  .gg-desk-zone{left:4%!important;width:53%!important}.gg-pink-cabinet{width:10%!important}
}
@media(max-width:700px){
  .gg-fan{left:39%!important;width:17%!important}.gg-saturn{right:-1%!important;width:17%!important}.gg-stay-weird{width:16%!important}
  .gg-desk-zone{left:1.5%!important;width:57%!important}.gg-pink-cabinet{width:11%!important}
}


/* ============================================================
   V6.79 — MAKE IT A ROOM
   Architectural grounding + properly scaled desk life.
   ============================================================ */
/* Crown molding and baseboard make the pink field read as an actual room. */
.gg-crown-molding{position:absolute;left:0;right:0;top:10.4%;height:2.15%;z-index:3;pointer-events:none;background:linear-gradient(180deg,#fff8e8 0 24%,#f8c7df 25% 50%,#fff3df 51% 72%,#c99ad9 73% 100%);border-top:1px solid rgba(36,48,78,.16);border-bottom:2px solid rgba(36,48,78,.28);box-shadow:0 4px 0 rgba(255,255,255,.16),0 7px 10px rgba(72,46,89,.08)}
.gg-baseboard{position:absolute;left:0;right:0;top:62.4%;height:2.2%;z-index:4;pointer-events:none;background:linear-gradient(180deg,#fff8e8 0 32%,#f5bfd9 33% 64%,#d7a8df 65% 100%);border-top:2px solid rgba(36,48,78,.22);border-bottom:2px solid rgba(36,48,78,.22);box-shadow:0 5px 8px rgba(62,43,83,.09)}
/* Very light room-corner cues: architecture, not realism. */
.gg-wall-grid:before,.gg-wall-grid:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(82,58,104,.16) 20%,rgba(82,58,104,.08) 85%,transparent);pointer-events:none}.gg-wall-grid:before{left:18%}.gg-wall-grid:after{right:17%}

/* STAY WEIRD clears the clock and becomes its own wall statement. */
.gg-stay-weird{left:15.5%!important;top:15.1%!important;width:14.5%!important}

/* Desk objects should read as possessions, not tiny icons. */
.gg-desk-zone{left:5.6%!important;bottom:3.1%!important;width:52.5%!important;height:51%!important}
.gg-desk{width:81%!important;filter:drop-shadow(7px 10px rgba(36,48,78,.13))!important}
.gg-typewriter{left:18.5%!important;top:17.5%!important;width:24.5%!important;z-index:8!important;filter:drop-shadow(2px 4px rgba(36,48,78,.11))}
.gg-imac{left:44%!important;top:4.5%!important;width:21%!important;z-index:7!important;filter:drop-shadow(2px 4px rgba(36,48,78,.10))}
.gg-coffee{left:10.5%!important;top:22%!important;width:6.1%!important;z-index:9!important}
.gg-desk-lamp{left:65%!important;top:7%!important;width:11.2%!important;z-index:7!important}
.gg-flip-phone{left:59%!important;top:27%!important;width:5.3%!important;z-index:9!important}
/* Separate media pieces: a small lived-in cluster, no composite pile-up. */
.gg-colorful-cd,.gg-pastel-cd,.gg-ipod{position:absolute;z-index:9;filter:drop-shadow(2px 3px rgba(36,48,78,.09))}
.gg-colorful-cd{left:45.5%;top:29%;width:6.1%;transform:rotate(-10deg)}
.gg-pastel-cd{left:49.5%;top:30.5%;width:5.7%;transform:rotate(9deg)}
.gg-ipod{left:54%;top:27.5%;width:4.8%;transform:rotate(4deg)}
.gg-cds-ipod{display:none!important}
/* The chair was visually underscaled in 6.78. Pull it under the desk and restore presence. */
.gg-chair{left:50.5%!important;bottom:-4%!important;width:32.5%!important;z-index:10!important;filter:drop-shadow(5px 8px rgba(36,48,78,.13))!important}
/* Contact shadows: just enough to tell the eye what is sitting on the floor. */
.gg-pink-cabinet,.gg-couch,.gg-floor-lamp,.gg-plant{filter:drop-shadow(5px 8px rgba(55,39,78,.11))!important}
.gg-rug{filter:drop-shadow(0 5px 4px rgba(55,39,78,.07))!important}
@media(max-width:900px){.gg-desk-zone{left:3.5%!important;width:54%!important}.gg-chair{width:33%!important}.gg-stay-weird{left:15%!important}.gg-crown-molding{height:2%}}
@media(max-width:700px){.gg-desk-zone{left:1%!important;width:58%!important}.gg-chair{width:34%!important}.gg-colorful-cd{width:6.5%}.gg-pastel-cd{width:6.2%}.gg-ipod{width:5.3%}.gg-stay-weird{left:15%!important;width:16%!important}}

/* =========================================================
   V6.80 — DEPTH, NOT CLUTTER
   Screen-recording pass: give the room a true corner, deepen
   the floor, remove the redundant heart lamp/books composite,
   and ground the writing station without changing interactions.
   ========================================================= */
.ghost-bedroom-page .gg-native-room{isolation:isolate;overflow:hidden}
/* One architectural corner: a quiet vertical seam plus a broad, almost
   imperceptible change in wall value. This makes two wall planes. */
.gg-wall-corner{position:absolute;left:61.5%;top:12.5%;bottom:29.4%;width:1.4%;z-index:2;pointer-events:none;border-left:2px solid rgba(83,52,105,.20);background:linear-gradient(90deg,rgba(117,78,137,.07),rgba(255,255,255,.055) 46%,transparent 47%);box-shadow:-8px 0 18px rgba(95,62,118,.035)}
.gg-wall-corner:before{content:"";position:absolute;right:-2700%;top:0;width:2700%;height:100%;background:linear-gradient(90deg,rgba(189,144,207,.035),rgba(129,96,163,.075));pointer-events:none}
/* Floor now recedes toward the wall/floor seam instead of reading as one flat lavender panel. */
.gg-floor-depth{position:absolute;left:0;right:0;bottom:0;height:29.4%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 24%,rgba(91,61,122,.055));clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.gg-floor-depth:before,.gg-floor-depth:after{content:"";position:absolute;bottom:-10%;width:1px;height:125%;background:linear-gradient(180deg,rgba(82,55,111,.04),rgba(82,55,111,.18));transform-origin:bottom center}
.gg-floor-depth:before{left:28%;transform:rotate(15deg)}.gg-floor-depth:after{right:25%;transform:rotate(-16deg)}
/* Slightly stronger trim = the planes have edges. */
.gg-crown-molding{box-shadow:0 3px 0 rgba(255,255,255,.42),0 7px 12px rgba(72,46,89,.10)!important}
.gg-baseboard{box-shadow:0 -2px 0 rgba(255,255,255,.28),0 5px 9px rgba(74,49,101,.09)!important}
/* The heart/books/lamp composite was visually redundant and is removed in markup. */
.gg-heart-books{display:none!important}
/* Let the real yellow/pink desk lamp be the only desk lamp and give it presence. */
.gg-desk-lamp{left:67%!important;top:5.5%!important;width:12.4%!important;z-index:8!important}
/* Desk objects were visually tiny in the recording. Increase only the objects,
   not the desk, and keep their baselines on the desktop. */
.gg-imac{left:43%!important;top:4.5%!important;width:23%!important}
.gg-typewriter{left:19%!important;top:16.5%!important;width:26%!important}
.gg-coffee{left:8.5%!important;top:24%!important;width:6.5%!important}
.gg-flip-phone{left:61%!important;top:25.5%!important;width:6.3%!important}
.gg-colorful-cd{left:47%!important;top:29%!important;width:6.3%!important}
.gg-pastel-cd{left:53.5%!important;top:29.5%!important;width:6%!important}
.gg-ipod{left:59.5%!important;top:29%!important;width:5.1%!important}
/* Chair scale was still timid relative to the desk. */
.gg-chair{left:50%!important;bottom:-3.5%!important;width:34%!important;filter:drop-shadow(5px 7px 0 rgba(66,49,92,.10))!important}
/* Keep the sign clearly to the right of the clock, including during its flip. */
.gg-stay-weird{left:17.8%!important;top:15.2%!important;width:14.2%!important}
/* Ground major furniture with contact, not floating drop-shadow halos. */
.gg-desk-zone:after{content:"";position:absolute;left:8%;right:7%;bottom:1.2%;height:4.5%;z-index:0;background:radial-gradient(ellipse,rgba(68,47,91,.16),transparent 68%);filter:blur(2px);pointer-events:none}
.gg-couch{filter:drop-shadow(4px 7px 0 rgba(68,47,91,.09))!important}
.gg-pink-cabinet{filter:drop-shadow(4px 6px 0 rgba(68,47,91,.09))!important}
@media(max-width:900px){.gg-wall-corner{left:62%}.gg-chair{width:35%!important}.gg-desk-lamp{width:13%!important}}
@media(max-width:700px){.gg-wall-corner{left:63%;border-left-width:1px}.gg-chair{width:36%!important}.gg-stay-weird{left:17%!important;width:16%!important}}


/* =========================================================
   V6.81 — GRAVITY PASS
   Every ordinary object now has a believable surface/contact.
   Magic may float; furniture and possessions do not.
   ========================================================= */
/* DESK CLUSTER — typewriter is the focal point; secondary tools recede. */
.gg-desk-zone{left:6.2%!important;bottom:3.1%!important;width:52.5%!important;height:51%!important}
.gg-typewriter{left:28%!important;top:17.5%!important;width:29%!important;z-index:10!important;filter:drop-shadow(3px 4px rgba(36,48,78,.12))!important}
.gg-imac{left:49.5%!important;top:-1%!important;width:25.5%!important;z-index:7!important;filter:drop-shadow(3px 4px rgba(36,48,78,.10))!important}
.gg-coffee{left:11.5%!important;top:20.5%!important;width:6.8%!important;z-index:9!important;transform:rotate(-2deg)!important}
.gg-desk-lamp{left:67%!important;top:12.5%!important;width:12.5%!important;z-index:8!important;filter:drop-shadow(2px 4px rgba(36,48,78,.10))!important}
.gg-flip-phone{left:61.5%!important;top:26.5%!important;width:5.5%!important;z-index:9!important}
.gg-colorful-cd{left:48%!important;top:31.5%!important;width:5.2%!important;z-index:9!important}
.gg-pastel-cd{left:53.2%!important;top:31.5%!important;width:5%!important;z-index:9!important}
.gg-ipod{left:58.2%!important;top:28.5%!important;width:4.3%!important;z-index:9!important}
.gg-chair{left:49.5%!important;bottom:-4.5%!important;width:34.5%!important;z-index:11!important}
/* Filing cabinet gets its own floor footprint outside the desk leg. */
.gg-pink-cabinet{left:.8%!important;bottom:7.2%!important;width:7.4%!important;z-index:7!important;filter:drop-shadow(4px 7px 0 rgba(68,47,91,.10))!important}

/* MUSIC CLUSTER — cubby is the furniture; stereo and cube sit ON it. */
.gg-shelf{left:3.2%!important;top:30.5%!important;width:14.2%!important;z-index:5!important;filter:drop-shadow(3px 5px rgba(68,47,91,.08))!important}
.gg-cd{left:4.7%!important;top:30.1%!important;width:8.3%!important;z-index:7!important;transform:rotate(-1deg)!important;filter:drop-shadow(2px 3px rgba(36,48,78,.08))!important}
.gg-rubiks{left:12.2%!important;top:38.3%!important;width:3.8%!important;z-index:8!important;transform:rotate(5deg)!important}
/* The skate is a possession now, not unexplained anti-gravity. It leans beside the music cubby. */
.gg-skate{left:15.2%!important;right:auto!important;top:43.5%!important;width:5.3%!important;z-index:7!important;transform:rotate(-13deg)!important;transform-origin:bottom center!important;filter:drop-shadow(2px 4px rgba(36,48,78,.09))!important}

/* LOUNGE — remove the old CSS candle/moon cluster entirely; plant/books carry this edge. */
.gg-witch-cluster{display:none!important}
.gg-plant{right:15.1%!important;bottom:13.8%!important;width:6.4%!important;z-index:9!important}
.gg-pastel-books{right:20.7%!important;bottom:7.5%!important;width:6.7%!important;z-index:8!important}

/* READING remains clickable but no longer blankets the couch. */
.ghost-bedroom-room .hotspot-reading{left:57.5%!important;right:auto!important;top:auto!important;bottom:19.2%!important;width:13.5%!important;height:8.5%!important;min-width:0!important;padding:4px 7px!important}
.ghost-bedroom-room .hotspot-reading small{display:none!important}

/* Keep MUSIC label associated with the cubby without covering its contents. */
.ghost-bedroom-room .hotspot-music{left:3.6%!important;top:33.8%!important;width:11.5%!important;height:7.5%!important;bottom:auto!important;padding:4px 6px!important}
.ghost-bedroom-room .hotspot-music small{display:none!important}

@media(max-width:900px){
 .gg-pink-cabinet{width:7.8%!important}.gg-typewriter{width:30%!important}.gg-imac{width:26%!important}
 .ghost-bedroom-room .hotspot-reading{width:15%!important}
}
@media(max-width:700px){
 .gg-pink-cabinet{width:8.4%!important}.gg-skate{display:none!important}
 .ghost-bedroom-room .hotspot-reading{width:17%!important;left:56%!important}
}
\n\n/* =========================================================\n   V6.82 — DOLLHOUSE PASS\n   Straight-on coral desk resets the room perspective.\n   Furniture first; objects sit on a single readable plane.\n   ========================================================= */\n.gg-desk-zone{left:5.5%!important;bottom:2.7%!important;width:53%!important;height:49%!important}\n.gg-desk{left:0!important;bottom:0!important;width:82%!important;z-index:2!important;filter:drop-shadow(6px 9px 0 rgba(66,49,92,.11))!important}\n/* centered writing altar */\n.gg-typewriter{left:26.5%!important;top:14.5%!important;width:27.5%!important;z-index:8!important;filter:drop-shadow(2px 4px rgba(36,48,78,.11))!important}\n/* computer becomes a secondary tool at the left edge */\n.gg-imac{left:5.5%!important;top:9.5%!important;width:20%!important;z-index:6!important;filter:drop-shadow(2px 4px rgba(36,48,78,.09))!important}\n.gg-coffee{left:17.5%!important;top:25%!important;width:6.2%!important;z-index:9!important;transform:rotate(-2deg)!important}\n.gg-desk-lamp{left:60.5%!important;top:11%!important;width:10.5%!important;z-index:7!important;filter:drop-shadow(2px 4px rgba(36,48,78,.09))!important}\n/* keep tiny desk ephemera subordinate and physically on the desktop */\n.gg-flip-phone{left:70.5%!important;top:28%!important;width:4.6%!important;z-index:9!important}\n.gg-colorful-cd{left:55.5%!important;top:29.5%!important;width:4.5%!important;z-index:9!important}\n.gg-pastel-cd{left:59.8%!important;top:29.5%!important;width:4.3%!important;z-index:9!important}\n.gg-ipod{left:64.1%!important;top:27%!important;width:3.8%!important;z-index:9!important}\n/* cantilever chair overlaps just enough to create foreground depth without swallowing the desk */\n.gg-chair{left:56.5%!important;bottom:-5.5%!important;width:27.5%!important;z-index:11!important;filter:drop-shadow(5px 8px 0 rgba(66,49,92,.11))!important}\n/* Rubik's cube belongs to the music/cubby cluster now, not the writing surface. */\n.gg-rubiks{left:12.1%!important;top:38.2%!important;width:3.8%!important;z-index:8!important}\n/* cabinet stays clear of the new straight desk footprint */\n.gg-pink-cabinet{left:.6%!important;bottom:7.2%!important;width:7.1%!important;z-index:7!important}\n@media(max-width:900px){.gg-desk-zone{left:3.5%!important;width:55%!important}.gg-chair{width:28.5%!important}}\n@media(max-width:700px){.gg-desk-zone{left:1%!important;width:59%!important}.gg-chair{width:30%!important}.gg-imac{width:21%!important}}\n\n\n/* =========================================================
   V6.83 — PERSPECTIVE + CLEANUP PASS
   Straight-on writing station, stronger foreground chair,
   simplified storage zone. No new decorative clutter.
   ========================================================= */
/* The experimental wall-corner seam is retired. Architecture now comes
   from crown molding, baseboard, wall/floor break and floor recession. */
.gg-wall-corner{display:none!important}

/* Removed ordinary objects stay removed even if an older cached HTML copy appears. */
.gg-pink-cabinet,.gg-desk-lamp,.gg-cd,.gg-rubiks{display:none!important}

/* Writing station: one frontal visual language. */
.gg-desk-zone{left:5.2%!important;bottom:2.4%!important;width:53.5%!important;height:49.5%!important}
.gg-desk{left:0!important;bottom:0!important;width:82%!important;z-index:2!important}
/* Blue typewriter becomes the unmistakable focal point. */
.gg-typewriter{left:25.5%!important;top:10.8%!important;width:30.5%!important;z-index:9!important;transform:none!important;filter:drop-shadow(2px 4px rgba(36,48,78,.12))!important}
/* New front-facing pink computer is secondary and sits farther left/up. */
.gg-imac{left:3.8%!important;top:7.2%!important;width:22.5%!important;z-index:7!important;transform:none!important;filter:drop-shadow(2px 4px rgba(36,48,78,.09))!important}
/* Coffee is visibly supported by the desktop. */
.gg-coffee{left:17.2%!important;top:24.2%!important;width:6.1%!important;z-index:10!important;transform:rotate(-1deg)!important}
/* Tiny ephemera stays subordinate and has a clear desktop baseline. */
.gg-flip-phone{left:67.8%!important;top:28.3%!important;width:4.3%!important;z-index:9!important}
.gg-colorful-cd{left:56.2%!important;top:29.8%!important;width:4.3%!important;z-index:9!important}
.gg-pastel-cd{left:60.5%!important;top:29.8%!important;width:4.1%!important;z-index:9!important}
.gg-ipod{left:64.7%!important;top:27.4%!important;width:3.7%!important;z-index:9!important}
/* Chair is intentionally foreground-sized and overlaps the desk footprint. */
.gg-chair{left:52.5%!important;bottom:-8.5%!important;width:37%!important;z-index:12!important;filter:drop-shadow(6px 9px 0 rgba(66,49,92,.12))!important}

/* Music/storage cluster: let the cubby read as furniture instead of a sticker pile. */
.gg-shelf{left:3.1%!important;top:31.5%!important;width:13.8%!important;z-index:5!important;filter:drop-shadow(3px 5px rgba(68,47,91,.08))!important}
/* Skate now leans beside the cubby with a believable floorward direction. */
.gg-skate{left:15.4%!important;right:auto!important;top:43.8%!important;width:5.1%!important;z-index:6!important;transform:rotate(-13deg)!important;transform-origin:bottom center!important}

@media(max-width:900px){
 .gg-desk-zone{left:3.2%!important;width:55.5%!important}
 .gg-chair{width:38%!important;left:51.5%!important}
 .gg-imac{width:23.5%!important}
 .gg-typewriter{width:31.5%!important}
}
@media(max-width:700px){
 .gg-desk-zone{left:1%!important;width:59%!important}
 .gg-chair{width:39%!important;left:50.5%!important}
 .gg-imac{width:24%!important}
 .gg-typewriter{width:32%!important}
 .gg-skate{display:none!important}
}

/* =========================================================
   V6.84 — ROOM STAGING PASS
   Scale + breathing room + grounding. No new decorative clutter.
   ========================================================= */
/* Make the chair read as adult foreground furniture, not a miniature prop. */
.gg-chair{left:50.5%!important;bottom:-11%!important;width:45%!important;z-index:13!important;filter:drop-shadow(7px 10px 0 rgba(66,49,92,.13))!important}
/* Spread the desktop into three readable zones: computer / writing / music. */
.gg-imac{left:1.8%!important;top:3.2%!important;width:24.5%!important;z-index:7!important}
.gg-typewriter{left:27.5%!important;top:9.5%!important;width:31.5%!important;z-index:10!important}
.gg-coffee{left:18.7%!important;top:23.5%!important;width:6.3%!important;z-index:10!important}
.gg-colorful-cd{left:58.8%!important;top:29.2%!important;width:4.5%!important;z-index:9!important}
.gg-pastel-cd{left:63.4%!important;top:29.2%!important;width:4.3%!important;z-index:9!important}
.gg-ipod{left:68%!important;top:26.8%!important;width:4%!important;z-index:9!important}
.gg-flip-phone{left:72.4%!important;top:28.2%!important;width:4.2%!important;z-index:9!important}
/* Give the cubby and leaning skate their own patch of wall/floor. */
.gg-shelf{left:2.5%!important;top:31.2%!important;width:14.2%!important}
.gg-skate{left:17.2%!important;top:45%!important;width:5.2%!important;transform:rotate(-11deg)!important}
/* Lounge spacing: a little visible floor between couch, plant and lamp. */
.gg-plant{right:13.8%!important;bottom:13.3%!important;width:6.4%!important}
.gg-floor-lamp{right:1.3%!important;bottom:15.5%!important;width:8.7%!important}
/* Reading hotspot is a small couch tag, not a banner. */
.ghost-bedroom-room .hotspot-reading{left:59%!important;bottom:19.8%!important;width:11.5%!important;height:7.4%!important;padding:3px 6px!important}
/* Stronger but still soft contact cues at the wall/floor transition. */
.ghost-bedroom-room:after{content:"";position:absolute;left:0;right:0;bottom:31.7%;height:2.1%;pointer-events:none;z-index:1;background:linear-gradient(to bottom,rgba(89,61,111,.08),rgba(89,61,111,0));}
.gg-couch:after{content:""}
@media(max-width:900px){.gg-chair{width:46%!important;left:49.5%!important}.gg-imac{width:25%!important}.gg-typewriter{width:32%!important}}
@media(max-width:700px){.gg-chair{width:47%!important;left:48%!important}.gg-imac{width:25.5%!important}.gg-typewriter{width:33%!important}.ghost-bedroom-room .hotspot-reading{width:14%!important}}

/* =========================================================
   V6.85 — THE DEPTH PASS
   Architecture first. Remove temporary trinket noise and establish
   back / middle / foreground planes before decorating again.
   ========================================================= */
/* TEMPORARY EDITING TABLE: these beloved props come back after composition locks. */
.gg-skate,.gg-melting-smiley,.gg-saturn,.gg-rainbow-star,.gg-disco,
.gg-pastel-books,.gg-colorful-cd,.gg-pastel-cd,.gg-ipod{display:none!important}

/* Writing corner recedes: higher, a touch smaller, and clearly behind its chair. */
.gg-desk-zone{
  left:6.8%!important;
  bottom:8.7%!important;
  width:49.5%!important;
  height:47%!important;
  z-index:5!important;
}
.gg-desk{
  left:0!important;
  bottom:0!important;
  width:82%!important;
  z-index:3!important;
  filter:drop-shadow(0 8px 5px rgba(61,45,82,.12))!important;
}
/* A floor-contact ellipse, not an image halo: this is what tells the eye "furniture". */
.gg-desk-zone:after{
  content:"";
  position:absolute;
  left:3%;
  bottom:-1.5%;
  width:76%;
  height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(67,47,89,.18) 0%,rgba(67,47,89,.08) 48%,rgba(67,47,89,0) 76%);
  filter:blur(3px);
  z-index:1;
  pointer-events:none;
}
/* Four-object desk: computer / coffee / typewriter / phone. */
.gg-imac{left:3.5%!important;top:4%!important;width:23.5%!important;z-index:8!important}
.gg-typewriter{left:29%!important;top:10.2%!important;width:31%!important;z-index:10!important}
.gg-coffee{left:19.5%!important;top:23.8%!important;width:6.1%!important;z-index:10!important}
.gg-flip-phone{left:67.5%!important;top:28.2%!important;width:4.2%!important;z-index:9!important}
/* Chair is foreground: larger and lower than the receding desk. */
.gg-chair{
  left:51%!important;
  bottom:-18%!important;
  width:49%!important;
  z-index:15!important;
  filter:drop-shadow(0 10px 5px rgba(61,45,82,.15))!important;
}

/* Storage cubby becomes its own wall-side furniture zone. */
.gg-shelf{left:2.8%!important;top:34.5%!important;width:13.6%!important;z-index:5!important;filter:drop-shadow(0 6px 4px rgba(68,47,91,.11))!important}

/* Lounge remains the middle-depth anchor. Give the plant its own patch of floor. */
.gg-plant{right:13.1%!important;bottom:13.2%!important;width:6.3%!important;z-index:9!important;filter:drop-shadow(0 5px 3px rgba(61,45,82,.11))!important}
.gg-floor-lamp{right:1.1%!important;bottom:15.4%!important;width:8.7%!important;z-index:8!important;filter:drop-shadow(0 6px 4px rgba(61,45,82,.10))!important}
.gg-rug{filter:drop-shadow(0 5px 4px rgba(61,45,82,.08))!important}

/* Keep the architecture quiet but legible. */
.gg-floor-depth{opacity:.86!important}
.ghost-bedroom-room:after{height:2.6%!important;background:linear-gradient(to bottom,rgba(82,56,105,.10),rgba(82,56,105,0))!important}

@media(max-width:900px){
 .gg-desk-zone{left:4.8%!important;bottom:8.2%!important;width:51%!important}
 .gg-chair{left:50%!important;bottom:-17%!important;width:50%!important}
}
@media(max-width:700px){
 .gg-desk-zone{left:1.8%!important;bottom:7.5%!important;width:55%!important}
 .gg-chair{left:48%!important;bottom:-16%!important;width:51%!important}
}

/* =========================================================
   V6.86 — PERSPECTIVE LOCK
   Push the writing station farther back, anchor its feet to the
   lavender floor, and separate the foreground chair from couch.
   ========================================================= */
.gg-desk-zone{
  left:6.8%!important;
  bottom:13.8%!important;
  width:47.5%!important;
  height:45.5%!important;
  z-index:5!important;
}
.gg-desk{
  width:82%!important;
  filter:drop-shadow(0 7px 4px rgba(61,45,82,.10))!important;
}
/* Stronger, flatter contact shadow lives under/behind the legs rather than around the PNG. */
.gg-desk-zone:after{
  left:2%!important;
  bottom:-2.5%!important;
  width:77%!important;
  height:10%!important;
  background:radial-gradient(ellipse at center,rgba(57,39,79,.28) 0%,rgba(57,39,79,.15) 42%,rgba(57,39,79,.055) 62%,rgba(57,39,79,0) 79%)!important;
  filter:blur(3.5px)!important;
  transform:scaleY(.58)!important;
  transform-origin:center bottom!important;
}
/* Desktop composition: blue typewriter left; pink computer right and physically lower on the surface. */
.gg-typewriter{left:16.5%!important;top:12.2%!important;width:31%!important;z-index:10!important}
.gg-imac{left:47.5%!important;top:8.2%!important;width:24.5%!important;z-index:8!important}
.gg-coffee{left:7.5%!important;top:25.2%!important;width:6.2%!important;z-index:10!important}
.gg-flip-phone{left:68%!important;top:29%!important;width:4.2%!important;z-index:9!important}
/* Foreground chair clears the couch silhouette and opens a visible aisle into the room. */
.gg-chair{
  left:43.5%!important;
  bottom:-20%!important;
  width:50%!important;
  z-index:15!important;
  filter:drop-shadow(0 11px 5px rgba(61,45,82,.16))!important;
}
@media(max-width:900px){
 .gg-desk-zone{left:4.8%!important;bottom:13%!important;width:49%!important}
 .gg-chair{left:42%!important;bottom:-19%!important;width:51%!important}
}
@media(max-width:700px){
 .gg-desk-zone{left:1.8%!important;bottom:12%!important;width:53%!important}
 .gg-chair{left:39.5%!important;bottom:-18%!important;width:52%!important}
}

/* =========================================================
   V6.87 — FLOOR CONTACT / ROOM PLAN
   Lock the furniture to believable floor planes before the
   decorative possessions return.
   ========================================================= */
/* Remove temporary desk ephemera. */
.gg-flip-phone{display:none!important}

/* Push the writing station farther toward the rear wall. */
.gg-desk-zone{
  left:6.8%!important;
  bottom:17.2%!important;
  width:46.5%!important;
  height:44.5%!important;
  z-index:5!important;
}
.gg-desk{width:82%!important;z-index:3!important;filter:drop-shadow(0 5px 3px rgba(61,45,82,.09))!important}
/* A low floor-contact pool beneath the desk legs. */
.gg-desk-zone:after{
  content:""!important;
  position:absolute!important;
  left:1.5%!important;
  bottom:-3.8%!important;
  width:78%!important;
  height:12%!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(51,35,72,.34) 0%,rgba(51,35,72,.20) 36%,rgba(51,35,72,.075) 62%,rgba(51,35,72,0) 80%)!important;
  filter:blur(4px)!important;
  transform:scaleY(.48)!important;
  transform-origin:center bottom!important;
  z-index:1!important;
  pointer-events:none!important;
}
/* Keep the chair independent and visibly pulled out from the desk. */
.gg-chair{left:41.5%!important;bottom:-25%!important;width:50%!important;z-index:15!important;filter:drop-shadow(0 10px 5px rgba(61,45,82,.15))!important}

/* Lounge zone shifts right; rug grows toward the viewer beneath it. */
.gg-couch{left:49.2%!important;bottom:15.8%!important;width:38.5%!important;z-index:7!important}
.gg-rug{left:40.8%!important;bottom:2.2%!important;width:45.5%!important;z-index:3!important;filter:drop-shadow(0 5px 4px rgba(61,45,82,.08))!important}

/* Storage cubby becomes back-wall furniture: feet meet the baseboard/floor line. */
.gg-shelf{left:2.4%!important;top:auto!important;bottom:34.2%!important;width:13.2%!important;z-index:5!important;filter:drop-shadow(0 5px 3px rgba(61,45,82,.10))!important}
.gg-native-room:before{
  content:"";
  position:absolute;
  left:2.8%;
  bottom:33.5%;
  width:12.5%;
  height:2.3%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(57,39,79,.20),rgba(57,39,79,.07) 52%,transparent 76%);
  filter:blur(2px);
  transform:scaleY(.5);
  z-index:4;
  pointer-events:none;
}

@media(max-width:900px){
 .gg-desk-zone{left:4.8%!important;bottom:16.3%!important;width:48%!important}
 .gg-chair{left:40%!important;bottom:-23%!important;width:51%!important}
 .gg-couch{left:48%!important}.gg-rug{left:39.5%!important;width:47%!important}
}
@media(max-width:700px){
 .gg-desk-zone{left:1.8%!important;bottom:15.2%!important;width:52%!important}
 .gg-chair{left:37.5%!important;bottom:-21%!important;width:52%!important}
 .gg-couch{left:46.5%!important}.gg-rug{left:37.5%!important;width:49%!important}
}

/* =========================================================
   V6.88 — ROOM ZONES PASS
   Separate the writer/work zone from the cozy lounge zone.
   ========================================================= */
/* Writer zone: slide desk + its generated contact shadow right as one unit. */
.gg-desk-zone{left:9.6%!important;bottom:17.2%!important;width:46.5%!important;height:44.5%!important}
/* Chair is pulled toward the writing station again, but remains visibly independent. */
.gg-chair{left:39.5%!important;bottom:-20.5%!important;width:49%!important;z-index:15!important}

/* Cozy zone: shift the whole seating composition right and let the rug project forward. */
.gg-couch{left:51.0%!important;bottom:15.8%!important;width:38.5%!important}
.gg-rug{left:46.0%!important;bottom:1.0%!important;width:46.8%!important;z-index:3!important}
.gg-plant{right:10.6%!important;bottom:13.2%!important;width:6.3%!important;z-index:9!important}

/* Window treatment belongs on the wall, below the crown molding — not on the ceiling. */
.gg-curtains{right:6.0%!important;top:8.7%!important;width:36.5%!important;z-index:3!important}

@media(max-width:900px){
 .gg-desk-zone{left:7.2%!important;bottom:16.3%!important;width:48%!important}
 .gg-chair{left:38.5%!important;bottom:-19%!important;width:50%!important}
 .gg-couch{left:49.8%!important}.gg-rug{left:44%!important;width:48%!important}
 .gg-plant{right:9.5%!important}.gg-curtains{right:4%!important;top:9%!important;width:39%!important}
}
@media(max-width:700px){
 .gg-desk-zone{left:3.8%!important;bottom:15.2%!important;width:52%!important}
 .gg-chair{left:36%!important;bottom:-18%!important;width:51%!important}
 .gg-couch{left:48%!important}.gg-rug{left:41.5%!important;width:50%!important}
 .gg-plant{right:8.5%!important}.gg-curtains{right:2.5%!important;top:9.5%!important;width:41%!important}
}


/* =========================================================
   V6.89 — LIGHT + SHADOW PASS
   Environmental contact shadows ground the furniture on the
   lavender floor. These are floor-plane shadows, deliberately
   separate from the PNG artwork so the room avoids sticker halos.
   ========================================================= */
.gg-contact-shadow{
  position:absolute;
  display:block;
  pointer-events:none;
  user-select:none;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(62,42,84,.26) 0%,
    rgba(62,42,84,.15) 38%,
    rgba(62,42,84,.055) 63%,
    rgba(62,42,84,0) 80%);
  filter:blur(4px);
  transform-origin:center center;
}
/* Desk: broad rear-room pool. The feet feel planted without outlining the illustration. */
.gg-desk-zone:after{display:none!important}
.gg-shadow-desk{
  left:1.5%;bottom:-3.2%;width:79%;height:10%;z-index:1;
  transform:scaleY(.48) skewX(-3deg);
  background:radial-gradient(ellipse at center,rgba(55,37,77,.31) 0%,rgba(55,37,77,.18) 39%,rgba(55,37,77,.06) 64%,transparent 81%);
  filter:blur(4.5px);
}
/* Chair: a tighter foreground contact pool beneath the cantilever base. */
.gg-shadow-chair{
  left:41%;bottom:-23.5%;width:49%;height:9%;z-index:13;
  transform:scaleY(.42) rotate(-1deg);
  background:radial-gradient(ellipse at center,rgba(55,37,77,.28),rgba(55,37,77,.10) 52%,transparent 78%);
  filter:blur(4px);
}
.gg-chair{z-index:15!important}
/* Lounge shadows live below the furniture but above the floor. */
.gg-shadow-couch{left:53%;bottom:14.2%;width:34%;height:3.9%;z-index:5;transform:scaleY(.55);filter:blur(4px)}
.gg-shadow-lamp{right:1.1%;bottom:14.4%;width:9.2%;height:2.6%;z-index:6;transform:scaleY(.52);filter:blur(3px);background:radial-gradient(ellipse,rgba(55,37,77,.23),rgba(55,37,77,.07) 54%,transparent 78%)}
.gg-shadow-plant{right:10.4%;bottom:12.4%;width:6.7%;height:2.1%;z-index:7;transform:scaleY(.55);filter:blur(2.5px);background:radial-gradient(ellipse,rgba(55,37,77,.23),rgba(55,37,77,.07) 52%,transparent 78%)}
/* Cabinet/cubby: tight back-wall contact; replaces the older generic pseudo shadow. */
.gg-native-room:before{display:none!important}
.gg-shadow-shelf{left:2.6%;bottom:33.25%;width:12.8%;height:2.4%;z-index:4;transform:scaleY(.52);filter:blur(2.5px);background:radial-gradient(ellipse,rgba(55,37,77,.27),rgba(55,37,77,.09) 53%,transparent 79%)}
/* A whisper of ambient occlusion where wall/baseboard/floor meet. */
.ghost-bedroom-room:after{
  height:3.2%!important;
  background:linear-gradient(to bottom,rgba(71,47,94,.13) 0%,rgba(71,47,94,.055) 32%,rgba(71,47,94,0) 100%)!important;
  filter:blur(.4px);
}
/* Reduce image-edge shadows now that the room owns its lighting. */
.gg-desk{filter:drop-shadow(0 3px 2px rgba(61,45,82,.055))!important}
.gg-chair{filter:drop-shadow(0 3px 2px rgba(61,45,82,.06))!important}
.gg-couch{filter:drop-shadow(0 3px 2px rgba(61,45,82,.055))!important}
.gg-floor-lamp{filter:drop-shadow(0 2px 2px rgba(61,45,82,.045))!important}
.gg-plant{filter:drop-shadow(0 2px 2px rgba(61,45,82,.045))!important}
.gg-shelf{filter:drop-shadow(0 2px 2px rgba(61,45,82,.05))!important}
@media(max-width:900px){
  .gg-shadow-couch{left:51.5%;width:36%}.gg-shadow-plant{right:9.3%}.gg-shadow-shelf{width:13.2%}
}
@media(max-width:700px){
  .gg-shadow-couch{left:49.5%;width:38%}.gg-shadow-plant{right:8.3%}.gg-shadow-shelf{width:14%}
}


/* =========================================================
   V6.90 — CONTACT + CURTAIN PASS
   Tight contact shadows at furniture feet + curtains mounted
   visibly below the crown molding. Composition otherwise held.
   ========================================================= */
/* Give the curtain rod an unmistakable strip of wall above it. */
.gg-curtains{top:11.15%!important;right:6.0%!important;width:36.5%!important}

/* Keep the broad desk pool from V6.89, then add tight foot shadows.
   These are deliberately small/dark at the point of contact and
   feather outward so the desk legs read as planted on the floor. */
.gg-shadow-desk-leg{
  height:2.25%;width:9.5%;bottom:-1.8%;z-index:2;
  filter:blur(2.1px);
  transform:scaleY(.42) rotate(-3deg);
  background:radial-gradient(ellipse at center,
    rgba(48,31,69,.43) 0%,
    rgba(48,31,69,.24) 34%,
    rgba(48,31,69,.08) 60%,
    transparent 82%);
}
.gg-shadow-desk-leg-left{left:2.0%}
.gg-shadow-desk-leg-right{left:69.5%;transform:scaleY(.42) rotate(3deg)}

/* A second, tighter chair shadow sits immediately under the metal base. */
.gg-shadow-chair-contact{
  left:47.5%;bottom:-22.25%;width:37%;height:2.7%;z-index:14;
  transform:scaleY(.38) rotate(-1deg);
  filter:blur(2.2px);
  background:radial-gradient(ellipse at center,
    rgba(48,31,69,.39) 0%,rgba(48,31,69,.18) 43%,transparent 78%);
}

/* Slightly strengthen the floor-lamp's point of contact without making
   a visible halo around the illustration. */
.gg-shadow-lamp{
  bottom:14.25%!important;height:2.25%!important;width:8.4%!important;
  background:radial-gradient(ellipse,rgba(48,31,69,.31),rgba(48,31,69,.10) 50%,transparent 78%)!important;
  filter:blur(2.4px)!important;
}

@media(max-width:900px){
  .gg-curtains{right:4%!important;top:11.35%!important;width:39%!important}
  .gg-shadow-desk-leg-left{left:2%}.gg-shadow-desk-leg-right{left:69%}
}
@media(max-width:700px){
  .gg-curtains{right:2.5%!important;top:11.6%!important;width:41%!important}
  .gg-shadow-desk-leg{width:10.5%}
}

/* V6.91 — irregular haunted gallery, with pink breathing room */
.gg-gallery-v691{position:absolute;inset:0;pointer-events:none;z-index:6}
.gg-gallery-v691 .wall-obj{position:absolute;height:auto;object-fit:contain;filter:drop-shadow(2px 3px 1px rgba(66,45,78,.18));}
.wall-cameo{left:17%;top:12%;width:8.2%;transform:rotate(-5deg)}
.wall-skeleton{left:26%;top:34%;width:8.4%;transform:rotate(4deg)}
.wall-potions{left:69%;top:24%;width:13%;transform:rotate(-1deg)}
.wall-books{left:82%;top:17%;width:11%;transform:rotate(2deg)}
.wall-hat{left:84%;top:9%;width:7%;transform:rotate(8deg)}
.wall-sun{left:36%;top:15%;width:5%;transform:rotate(-7deg)}
.wall-photos{left:15%;top:33%;width:11%;transform:rotate(-5deg)}
.wall-crystal{left:65%;top:8%;width:4.5%}
@media(max-width:700px){.wall-cameo{width:9%}.wall-potions{width:14%}.wall-books{width:12%}.wall-skeleton{width:9%}}
/* V6.92: architecture-aware wall curation. Keep the window and curtains clear. */
.gg-gallery-v691{z-index:6}
.gg-gallery-v691 .wall-obj{filter:drop-shadow(1px 2px 1px rgba(66,45,78,.24))}
.wall-cameo{left:5%;top:11%;width:7%;transform:rotate(-5deg)}
.wall-skeleton{left:31%;top:39%;width:7%;transform:rotate(4deg)}
.wall-hat{left:40%;top:12%;width:5%;transform:rotate(6deg)}
.wall-sun{left:39%;top:29%;width:4.5%;transform:rotate(-8deg)}
.wall-photos{left:19%;top:38%;width:9%;transform:rotate(-4deg)}
/* These objects belong on shelving/furniture, not across the window. Reserve for the next pass. */
.wall-potions,.wall-books,.wall-crystal{display:none}
@media(max-width:700px){.wall-cameo{width:7%}.wall-skeleton{width:7%}.wall-hat{width:5%}}

/* V6.93 wall edit */
.wall-cameo{left:18%!important;top:15%!important;width:7.8%!important;transform:rotate(-6deg)!important}
.wall-skeleton{left:29%!important;top:33%!important;width:9.2%!important;transform:rotate(5deg)!important}
.gg-shelf{display:none!important}
@media(max-width:700px){.wall-cameo{width:8.2%!important}.wall-skeleton{width:10%!important}}

/* V6.94 — composed gallery wall and cleaner ceiling */
.gg-neon-breach,.gg-wall-grid,.gg-shelf{display:none!important}
.gg-stay-weird{left:28%!important;top:2.5%!important;width:15%!important;z-index:20!important}
.gg-clock{left:5%!important;top:17.5%!important;width:6.12%!important}
.wall-cameo{left:15%!important;top:18%!important;width:8.1%!important;transform:rotate(-3deg)!important}
.wall-photos{left:25%!important;top:21%!important;width:9.5%!important;transform:rotate(2deg)!important}
.wall-hat{left:36%!important;top:18%!important;width:5.5%!important;transform:rotate(4deg)!important}
.wall-sun{left:35%!important;top:32%!important;width:5%!important;transform:rotate(-3deg)!important}
.wall-skeleton{left:72%!important;top:20%!important;width:12%!important;transform:rotate(2deg)!important}
@media(max-width:700px){
.gg-stay-weird{left:26%!important;top:3%!important;width:18%!important}
.gg-clock{width:6.12%!important}
.wall-skeleton{width:12%!important}
}

/* V6.95 — clustered Victorian curiosity gallery over the writing desk.
   Positions are relative to the room canvas, not the viewport. */
.gg-stay-weird{left:12%!important;top:1.5%!important;width:14%!important;z-index:14!important}
.gg-clock{left:5.5%!important;top:22%!important;width:6.12%!important}
.wall-cameo{left:17.5%!important;top:18%!important;width:8.2%!important;transform:rotate(-4deg)!important}
.wall-skeleton{left:27%!important;top:17.5%!important;width:10.4%!important;transform:rotate(3deg)!important}
.wall-photos{left:16.5%!important;top:32%!important;width:8.5%!important;transform:rotate(-6deg)!important}
.wall-hat{left:38.2%!important;top:20%!important;width:5.5%!important;transform:rotate(6deg)!important}
.wall-sun{left:38%!important;top:32%!important;width:4.7%!important;transform:rotate(-8deg)!important}
@media(max-width:700px){
 .gg-stay-weird{left:11%!important;top:1.5%!important;width:15%!important}
 .wall-cameo{width:8.2%!important}.wall-skeleton{width:10.4%!important}
 .wall-photos{width:8.5%!important}.wall-hat{width:5.5%!important}
}

/* V6.96 — intentional mismatched gallery wall, scoped to the room.
   Preserve the ceiling sign animation, clock, furniture and architecture. */
.ghost-bedroom-page .wall-cameo{left:17.5%!important;top:18%!important;width:8.2%!important;transform:rotate(-4deg)!important}
.ghost-bedroom-page .gg-heart-frame{left:28.2%!important;top:19.5%!important;width:7.4%!important;transform:rotate(4deg)!important;z-index:9!important;display:block!important}
.ghost-bedroom-page .wall-skeleton{left:37%!important;top:23.5%!important;width:10.7%!important;transform:rotate(3deg)!important;z-index:8!important}
.ghost-bedroom-page .wall-photos{left:18.8%!important;top:32.5%!important;width:8.2%!important;transform:rotate(-5deg)!important}
.ghost-bedroom-page .wall-sun{left:33.7%!important;top:37%!important;width:4.2%!important;transform:rotate(-7deg)!important}
/* Shelves and loose charms are reserved for the later decoration pass. */
.ghost-bedroom-page .wall-potions,.ghost-bedroom-page .wall-books,.ghost-bedroom-page .wall-crystal,.ghost-bedroom-page .wall-hat{display:none!important}
@media(max-width:700px){
 .ghost-bedroom-page .gg-heart-frame{left:28.2%!important;top:19.5%!important;width:7.4%!important;display:block!important}
 .ghost-bedroom-page .wall-skeleton{left:37%!important;top:23.5%!important;width:10.7%!important}
}

/* V6.97 — clustered, mismatched wall curiosities; all room furniture preserved */
.ghost-bedroom-page .gg-gallery-v691{z-index:7!important}
.ghost-bedroom-page .wall-cameo{left:18%!important;top:18%!important;width:8.2%!important}
.ghost-bedroom-page .gg-heart-frame{left:28%!important;top:19%!important;width:7.4%!important;z-index:9!important}
.ghost-bedroom-page .wall-skeleton{left:36.2%!important;top:22%!important;width:10.2%!important;z-index:8!important}
.ghost-bedroom-page .wall-sun{left:32.2%!important;top:34.5%!important;width:4.1%!important}
.ghost-bedroom-page .wall-mini-frame{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;filter:drop-shadow(2px 3px 1px rgba(66,45,78,.22));z-index:8}
.ghost-bedroom-page .wall-mini-frame img{width:100%;height:100%;object-fit:cover;display:block}
.ghost-bedroom-page .wall-mini-portrait{left:25.2%;top:17.5%;width:3.1%;height:9%;padding:3px;border:4px ridge #cfa44b;background:#f7dfad;transform:rotate(5deg)}
.ghost-bedroom-page .wall-mini-book{left:25.5%;top:29%;width:4.3%;height:7%;padding:3px;border:4px solid #ad75b8;border-radius:3px;background:#e8c5f5;transform:rotate(-7deg)}
@media(max-width:700px){.ghost-bedroom-page .wall-mini-portrait{border-width:2px;padding:1px}.ghost-bedroom-page .wall-mini-book{border-width:2px;padding:1px}}

/* V6.98 — replace the bookshelf-as-art with a tiny ornate golden sun print */
.ghost-bedroom-page .wall-mini-sun{left:25.5%;top:29%;width:4.3%;height:7%;padding:3px;border:4px ridge #c99c43;border-radius:3px;background:#f6dfaa;transform:rotate(-7deg)}
.ghost-bedroom-page .wall-mini-sun img{object-fit:contain;background:#f9e8b9}
@media(max-width:700px){.ghost-bedroom-page .wall-mini-sun{border-width:2px;padding:1px}}

/* V6.99 — gallery spacing pass: frame edges do not collide.
   Positions are percentages of the existing room; no layout or animation changes. */
.ghost-bedroom-page .wall-cameo{left:18%!important;top:18%!important;width:8.2%!important;transform:rotate(-4deg)!important}
.ghost-bedroom-page .wall-photos{left:18.8%!important;top:32.5%!important;width:8.2%!important}
.ghost-bedroom-page .wall-mini-portrait{left:27.4%!important;top:15.8%!important;width:3.2%!important;height:8.2%!important;transform:rotate(4deg)!important}
.ghost-bedroom-page .wall-mini-sun{left:27.5%!important;top:28.1%!important;width:4%!important;height:7.2%!important;transform:rotate(-5deg)!important}
.ghost-bedroom-page .gg-heart-frame{left:32%!important;top:19.2%!important;width:7.1%!important;transform:rotate(3deg)!important}
.ghost-bedroom-page .wall-skeleton{left:40.3%!important;top:22.3%!important;width:10%!important;transform:rotate(2deg)!important}
.ghost-bedroom-page .wall-sun{left:34.2%!important;top:37.5%!important;width:3.6%!important;transform:rotate(-7deg)!important}

/* V7.00 — compact, staggered gallery composition; furniture untouched. */
.ghost-bedroom-page .wall-mini-portrait{left:26.9%!important;top:15.4%!important;transform:rotate(6deg)!important}
.ghost-bedroom-page .wall-mini-sun{left:28.3%!important;top:27.5%!important;transform:rotate(-9deg)!important}
.ghost-bedroom-page .wall-skeleton{left:39.1%!important;top:20.5%!important;width:10%!important;transform:rotate(2deg)!important}
.ghost-bedroom-page .wall-sun{left:36.1%!important;top:35.1%!important;width:3.6%!important;transform:rotate(-7deg)!important}

/* V7.01 — small-object polish; preserve existing gallery composition. */
/* The ghost illustration needs a readable opening, not a tiny thumbnail. */
.ghost-bedroom-page .wall-mini-portrait{
  left:26.3%!important;top:14.9%!important;
  width:4.35%!important;height:10.2%!important;
  padding:1px!important;border-width:3px!important;
  transform:rotate(5deg)!important;
}
.ghost-bedroom-page .wall-mini-portrait img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center center!important;
}
/* Remove legacy lamp silhouettes without touching the standing floor lamp. */
.ghost-bedroom-page .desk-lamp,
.ghost-bedroom-page .gg-desk-lamp{display:none!important}
/* Rest the cup on the desktop rather than letting it hover above the edge. */
.ghost-bedroom-page .gg-desk-zone .gg-coffee{
  left:7.5%!important;top:30%!important;width:6.2%!important;
  z-index:10!important;
}
/* Navigation lives on the left wall, away from the picture frames. */
.ghost-bedroom-room .hotspot-tarot{
  left:2.2%!important;right:auto!important;
  top:44%!important;bottom:auto!important;
  width:12%!important;height:8%!important;z-index:30!important;
}
@media(max-width:700px){
  .ghost-bedroom-page .wall-mini-portrait{border-width:2px!important}
  .ghost-bedroom-room .hotspot-tarot{left:1.5%!important;width:14%!important}
}
