/* Rooms share one clock, but each keeps its own furniture and stationery. */
:root{--scene-wood:#a57649;--scene-cream:#fff4db;--scene-brown:#70492d;--night-paper:#fff2d9}
.theme-control{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-7px 0 25px;font-size:11px;color:var(--muted)}
.theme-options{display:flex;border:1px solid #d6c5a3;background:#f5ead5;border-radius:99px;padding:3px;box-shadow:0 2px 0 #b4966420}
.theme-options button{min-height:38px;min-width:57px;border-radius:99px;padding:6px 15px;color:#8b7659}
.theme-options button[aria-pressed=true]{background:#fffdf5;color:#6e603d;box-shadow:0 2px 6px #6a4e2520}
.theme-control [data-theme-status]{min-width:105px}
.explorer-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;align-items:start}
.room-frame.friends-town{position:sticky;top:16px;padding:0;overflow:visible;border:1px solid #cfb28b;transform:none;border-radius:22px;background:#fff1d7;box-shadow:0 4px 0 #d0b88a44,0 16px 30px #65431b0c}
.room-stage{position:relative;overflow:hidden;border-radius:21px 21px 0 0;isolation:isolate;aspect-ratio:1024/1392;background:#e8c895}
.mail-room .room-stage{aspect-ratio:1024/1374}
.garden-room .room-stage{aspect-ratio:2/3}
.room-stage>.interior-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.scene-name{position:absolute;left:7%;top:4.5%;width:38%;text-align:center;color:#684020;text-shadow:0 1px #ffe9bd}
.scene-name h1{font-family:ui-rounded,"Hiragino Maru Gothic ProN","PingFang SC",sans-serif;font-size:clamp(19px,2.8vw,30px);font-weight:750;line-height:1.5;letter-spacing:2px}
.scene-name p{font-size:clamp(9px,1vw,12px);letter-spacing:1px}
.mail-room .scene-name{left:24%;top:4.2%;width:48%}
.garden-room .scene-name{left:10%;top:1.4%;width:80%;border-radius:50%;background:#fff5dcf0;padding:5px 10px 8px}
.garden-room .scene-name h1{font-size:clamp(22px,3vw,33px)}
.scene-hint{text-align:center;font-size:10px;color:#9b805b;padding:0 12px 12px}
.room-frame .resident-toolbar{padding:13px 15px 6px;position:relative;z-index:2}
.room-frame .resident-modes button{min-height:42px;background:#fff9ec;color:#795a3c;font-size:12px}
.room-frame .resident-target{color:#967956}
.room-stage button{touch-action:manipulation}
.room-stage button:focus-visible{outline:3px dashed #a45636;outline-offset:3px}
.scene-loading-note{display:none;position:absolute;bottom:5%;left:6%;right:6%;font-size:12px;text-align:center;border:1px dashed #c4a976;background:#fff8e9ed;padding:12px;border-radius:10px;pointer-events:none;color:#775d3e}
.room-stage:has(.interior-image[data-scene-image=failed]) .scene-loading-note{display:block}
.wall-frame{position:absolute;width:13.5%;height:10.6%;padding:0;display:flex;flex-direction:column;border:0;overflow:visible;color:#795d40}
.wall-frame.frame-1{left:9%;top:18.4%}.wall-frame.frame-2{left:29.3%;top:18.4%}
.wall-frame.frame-3{left:9%;top:33.3%}.wall-frame.frame-4{left:29.3%;top:33.3%}
.wall-frame>img,.wall-frame>.frame-placeholder{height:73%;width:100%;object-fit:cover;background:#f1e3ce;border:2px solid #fff9ec;box-shadow:0 1px 4px #5d412d24}
.frame-placeholder{display:grid;place-items:center;color:#b79d80}
.frame-placeholder svg{width:25px;height:25px;opacity:.65}
.wall-frame>span:last-child{background:#fff5dfee;display:block;margin-top:3px;padding:2px 3px;border-radius:3px;border:1px solid #c9a578;max-width:100%;font-size:10px;overflow:hidden;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;width:100%}
.scene-scrapbook{position:absolute;left:22%;top:74%;width:65%;height:20%;background:linear-gradient(90deg,#fff7e3 48.6%,#dcc39c 49%,#ffefd1 50%,#fff4d9 52%);border:2px solid #b18253;border-radius:5px 8px 9px 5px;box-shadow:0 4px 0 #795235,0 7px 0 #e1c396;transform:rotate(5deg);padding:5%;padding-bottom:0;color:#755535}
.scene-scrapbook::before{content:'';position:absolute;inset:5px;border:1px dashed #cbb384;pointer-events:none;border-radius:4px}
.book-preview{position:absolute;inset:5% 6% 26%;padding:0;display:grid;grid-template-columns:46% 49%;gap:5%;text-align:left;color:inherit}
.book-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#efdfc4;border:4px solid #fffdf4;box-shadow:0 1px 3px #895d3c35;overflow:hidden;min-width:0;color:#b49b7d}
.book-photo img{width:100%;height:100%;object-fit:cover}.book-photo svg{width:28px;height:28px}
.book-photo small{font-size:10px}.book-caption{display:flex;flex-direction:column;min-width:0;gap:3px}
.book-caption>b{font-size:clamp(11px,1.3vw,17px);letter-spacing:1px}.book-caption time{font-size:10px;color:#a37e52}
.book-caption>span{font-size:clamp(10px,1.1vw,13px);line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.book-caption>small{font-size:9px;margin-top:auto;color:#9c7f50}
.scene-create{position:absolute;right:5%;bottom:4%;display:flex;gap:4px;align-items:center;justify-content:center;font-size:12px;border:1px solid #d2a361;background:#ffe2ab;color:#795731;border-radius:99px;min-height:34px;padding:3px 12px;box-shadow:0 2px 0 #c59c6544;transform:rotate(-2deg)}
.scene-create svg{width:14px;height:14px}
.scene-collection{scroll-margin-top:20px;min-width:0;padding:18px 0}
.collection-heading{margin-bottom:23px}.collection-heading .eyebrow{letter-spacing:2px;font-size:9px;margin-bottom:5px;color:#9f8259}
.collection-heading h2{font-size:25px;letter-spacing:1px;color:var(--ink)}
.collection-heading p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:8px}
.journal-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px;align-items:end}
.journal-tools label{display:flex;flex-direction:column;gap:5px;flex:1;color:var(--muted);font-size:11px;min-width:110px}
.journal-tools input,.journal-tools select{background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:0;width:100%;height:42px;padding:6px 9px;color:var(--ink);font-size:14px}
.journal-add,.post-write,.garden-write{margin-bottom:24px;width:100%}
.scrapbook-timeline{display:grid;gap:26px;position:relative}
.scrapbook-entry{padding:20px 17px;background:repeating-linear-gradient(transparent 0 29px,#dfd5bd24 30px),var(--card);border-radius:6px 15px 15px 5px;box-shadow:3px 4px 0 #d9c9a83c;min-width:0}
.entry-head{flex-wrap:wrap;gap:5px}.entry-head .entry-actions{margin-left:auto}.entry-author{flex-wrap:wrap;min-width:0}
.entry-author time{margin-left:3px;color:#9c7854;font-size:11px}
.featured-mark{font-size:9px;border:1px solid #caae76;padding:0 4px;border-radius:99px;background:#fff0c9;color:#93713d}
.icon-button[aria-pressed=true]{color:#a87837;background:#f8ebc9}
.entry-memory{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:15px;align-items:start}
.entry-memory .photo-grid{margin:0;padding:3px;background:#fff9ec;border:1px solid #decba8;grid-template-columns:1fr 1fr;transform:rotate(-1deg)}
.entry-memory .photo-grid.single{grid-template-columns:1fr}
.entry-memory .photo-grid.single button{aspect-ratio:4/5;max-height:420px}
.entry-memory .photo-grid.single img{object-fit:cover}
.entry-memory .photo-grid button{border-radius:2px}
.entry-memory .photo-grid button:first-child:nth-last-child(n+3){grid-column:1/-1;aspect-ratio:4/3}
.memory-caption{min-width:0;border-left:1px dashed #dbcaaf;padding-left:12px}
.memory-caption h3{font-size:17px;overflow-wrap:anywhere}
.memory-caption .entry-body{font-size:13px;line-height:1.95}
.memory-placeholder{background:#eee5d2;aspect-ratio:4/5;padding:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;color:#a58f73;border:5px solid #fffbf2;box-shadow:1px 2px 0 #cbb99744}
.memory-placeholder span{font-size:10px}.memory-placeholder svg{width:30px;height:30px}
.mail-cubby{position:absolute;top:21%;width:19%;height:14.5%;color:#664426;display:flex;flex-direction:column;align-items:center;justify-content:start;font-size:clamp(11px,1.5vw,17px);font-weight:600;padding:1% 2px;gap:10px;text-shadow:0 1px #ffebc6}
.cubby-received{left:7%}.cubby-sent{left:28%}.mail-cubby::before{content:'';position:absolute;left:0;right:0;top:0;height:24%;border-radius:6px;background:#ffedcae6;z-index:-1;border:1px solid #bc9361}
.mail-cubby .unread-pill{font-size:10px;box-shadow:0 1px 4px #5b33172e}
.birthday-envelope{position:absolute;left:3%;top:63.5%;width:20%;height:10%;display:flex;align-items:center;justify-content:end;flex-direction:column;font-size:12px;font-weight:650;color:#7c4f36;text-shadow:0 1px #ffedc9;padding:0 0 4px}
.birthday-envelope svg{background:#f8ddd1;border:1px solid #c69078;border-radius:50%;padding:4px;width:30px;height:30px;color:#b47462}
.birthday-envelope span{background:#ffedce;border:1px solid #bd996a;border-radius:4px;padding:0 5px;transform:rotate(-8deg)}
.counter-letter{position:absolute;left:17%;top:74%;width:62%;height:19%;text-align:left;padding:3% 5%;display:flex;flex-direction:column;color:#a27347;gap:7px;background:#fff2d9df;border:1px dashed #c4a578;border-radius:7px;box-shadow:0 2px 0 #d4b18140;transform:rotate(-.5deg)}
.counter-letter>span{font-family:"Songti SC",serif;font-size:clamp(15px,1.7vw,22px);letter-spacing:1px}.counter-letter>small{font-size:10px;color:#af9370}
.counter-letter>b{display:flex;align-items:center;gap:5px;margin-top:auto;align-self:end;border:1px solid #d19164;background:#e9ab78;color:#fff7e5;border-radius:99px;padding:3px 14px;font-size:12px;min-height:37px;white-space:nowrap}
.counter-letter>b svg{width:15px;height:15px}
.post-collection{border-top:4px solid #aa8055;padding:24px 18px;background:linear-gradient(90deg,#ead7b521,transparent),#f7eedd;border-radius:4px 4px 13px 13px;color:#664b34;box-shadow:0 4px 0 #bda68540}
.post-collection .collection-heading h2{color:#725136}.post-collection .filters .filter.active{background:#efddc3;color:#7e5937;border-color:#d7b994}
.post-write{background:#b78358}.post-write:hover{background:#916a47}
.envelope-list{display:grid;gap:20px}
.real-envelope{position:relative;width:100%;min-height:150px;background:linear-gradient(25deg,#f4e4c8,transparent 50%),#fffaed;border:1px solid #d3b68f;border-radius:3px;box-shadow:2px 4px 0 #cead7b24;padding:30px 18px 20px;text-align:left;overflow:hidden;color:#70583d}
.envelope-flap{position:absolute;left:0;right:0;top:0;height:28px;background:linear-gradient(11deg,transparent 49%,#d5bb9550 50%,#fff5e3 52%);clip-path:polygon(0 0,100% 0,50% 100%);border-top:1px solid #c8a67d}
.envelope-content{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:25px}.envelope-content b{font-family:"Songti SC",serif;font-size:19px;overflow-wrap:anywhere}.envelope-content small{font-size:10px;color:#a38a69}
.envelope-stamp{position:absolute;right:12px;top:12px;border:2px dotted #b8a17d;background:#e9eedb;color:#839365;padding:3px;transform:rotate(8deg)}
.envelope-seal{position:absolute;right:18px;bottom:18px;background:#c68778;color:#fff8ea;box-shadow:inset 0 0 0 2px #e4b1a3,0 2px 0 #a7735d33;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:15px}
.special-envelope{background:#fae9dd;border-color:#d4aa94}.special-envelope .envelope-seal{background:#d58b82}
.delivery-animation{display:none;position:absolute;left:6%;right:6%;bottom:24%;padding:10px 14px;gap:8px;background:#fff5e9f2;border:1px solid #c29a72;border-radius:15px;z-index:9;align-items:center;justify-content:center;color:#947044;box-shadow:0 5px 20px #512f1f22}
.is-delivering .delivery-animation{display:flex}.delivery-character{width:50px;flex-shrink:0}.delivery-envelope{font-size:24px;background:#f5dfc2;border:1px solid #c9a579;padding:0 8px;animation:mail-hop .7s ease-in-out infinite}.delivery-animation strong{font-size:12px}
.mail-room[data-delivery-step=chii] .town-character.chii,.mail-room[data-delivery-step=hachi] .town-character.hachi,.mail-room[data-delivery-step=usagi] .town-character.usagi{box-shadow:0 0 30px #fff3b7aa;transform:translateY(-4px)}
@keyframes mail-hop{50%{transform:translate(5px,-5px) rotate(8deg)}}
.tree-wish-tag{position:absolute;left:var(--tag-x);top:var(--tag-y);width:13%;height:11%;background:linear-gradient(95deg,#fff2cd,#fff7dd);color:#7b6545;border:1px solid #ae8556;border-radius:3px 3px 5px 5px;transform:rotate(var(--tag-turn));box-shadow:2px 3px 4px #55351025;display:flex;align-items:center;justify-content:center;padding:8% 2% 2%;z-index:4}
.tree-wish-tag:nth-of-type(even){background:linear-gradient(95deg,#f5cebd,#ffecd9)}
.tag-copy{font-size:clamp(11px,1.2vw,14px);writing-mode:vertical-rl;line-height:1.5;max-height:90%;max-width:100%;overflow:hidden;text-orientation:upright;letter-spacing:2px;overflow-wrap:anywhere}
.tag-ribbon{position:absolute;top:-19px;left:calc(50% - 3px);height:25px;width:6px;border-left:2px solid #b66f55;border-right:2px solid #b66f55;transform:rotate(2deg)}
.tag-ribbon::after{content:'';position:absolute;top:12px;left:-6px;width:14px;height:8px;border:2px solid #c57f63;border-radius:50%;transform:rotate(-20deg);background:#e9b698}
.wish-flower{position:relative;display:inline-block;width:38px;height:38px;flex-shrink:0;vertical-align:middle;filter:drop-shadow(0 1px 0 #a95f3e38)}
.wish-flower i{position:absolute;width:17px;height:22px;left:11px;top:0;background:#f6b9a8;border:1px solid #d99582;border-radius:60%;transform-origin:50% 19px}
.wish-flower i:nth-child(2){transform:rotate(72deg)}.wish-flower i:nth-child(3){transform:rotate(144deg)}.wish-flower i:nth-child(4){transform:rotate(216deg)}.wish-flower i:nth-child(5){transform:rotate(288deg)}
.wish-flower b{position:absolute;width:10px;height:10px;background:#e8bd63;border:1px solid #d6a950;border-radius:50%;left:15px;top:14px}
.tree-wish-tag>.wish-flower{position:absolute;right:-18px;top:-17px;animation:bloom-open .65s cubic-bezier(.2,.7,.3,1.3) both}
@keyframes bloom-open{from{opacity:0;transform:scale(.2) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.wish-book-object,.wish-basket-object{position:absolute;top:76%;width:32%;height:12%;padding:2%;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff1d5e8;border:1px solid #ac8055;color:#7b5937;box-shadow:0 3px 0 #9f78433b;font-size:18px;font-weight:600;z-index:2;line-height:1.5}
.wish-book-object{left:8%;transform:rotate(-4deg)}.wish-basket-object{left:64%;transform:rotate(4deg)}
.wish-book-object svg,.wish-basket-object svg{width:23px;height:23px}.wish-book-object small{font-size:10px;font-weight:400;margin-top:3px}
.garden-progress{display:flex;gap:20px;margin:0 0 24px;padding-bottom:20px;border-bottom:1px dashed #c6c6a4;color:#899063}
.garden-progress>span{flex:1;font-family:Georgia,serif;font-size:35px}.garden-progress small{display:block;font-family:inherit;font-size:11px;color:var(--muted)}
.wish-journal-list{display:grid;gap:25px}.wish-journal-page{position:relative;border:1px solid #c9ccb1;border-radius:7px 7px 18px 7px;padding:19px;background:#fffdf0;box-shadow:3px 4px 0 #bbc0a132;color:#6b644b}
.wish-journal-page::before{content:'';position:absolute;inset:5px;border:1px dashed #d9d9bd;border-radius:5px 5px 14px 5px;pointer-events:none}
.wish-journal-page.completed{background:#f3f4e3;border-color:#aebc98}.wish-page-heading{display:flex;gap:12px;width:100%;align-items:center;text-align:left;padding:0 0 12px;min-width:0;position:relative;z-index:1}
.wish-page-heading>span:nth-child(2){flex:1;min-width:0}.wish-page-heading h3{font-family:"Songti SC",serif;font-size:20px;overflow-wrap:anywhere}.wish-page-heading small{font-size:10px;color:#9b9579}
.wish-page-heading>span:first-child>.icon{width:30px;height:30px;color:#9da87c}.wish-page-heading>.icon{width:17px;height:17px;color:#aba386}
.wish-page-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px;border-top:1px dashed #d6d6bf;padding-top:8px;position:relative;z-index:1}
.wish-page-actions .text-button{font-size:11px}.wish-detail-state{display:flex;align-items:center;gap:8px;color:#8a8f65;font-size:13px;margin:18px 0}.wish-detail .wish-body{font-size:15px;margin:18px 0;line-height:2}.wish-detail>.muted{margin-top:15px}
.room-stage .scene-residents{position:absolute;inset:0;height:auto;width:100%;padding:0;display:block;pointer-events:none;z-index:3;isolation:auto}
.scene-residents .town-character{position:absolute;display:block;pointer-events:auto;width:25%;height:21%;border-radius:40%;padding:0;bottom:auto}
.daily-room .scene-residents .chii{left:8%;top:44%}.daily-room .scene-residents .hachi{left:42%;top:56%;height:16%}.daily-room .scene-residents .usagi{left:70%;top:36%;height:25%}
.mail-room .scene-residents .chii{left:1%;top:46%}.mail-room .scene-residents .hachi{left:32%;top:38%;height:20%}.mail-room .scene-residents .usagi{left:71%;top:32%;height:26%}
.garden-room .scene-residents .chii{left:8%;top:54%;height:18%}.garden-room .scene-residents .hachi{left:46%;top:54%;height:18%}.garden-room .scene-residents .usagi{left:69%;top:39%;height:23%}
.scene-residents .resident-motion{opacity:0;position:absolute;left:7%;top:4%;width:86%;height:auto;pointer-events:none;transition:opacity .12s}
.scene-residents .is-pet .resident-motion,.scene-residents .is-feed .resident-motion{opacity:1;background:radial-gradient(ellipse,#fff4dd 25%,#fff3dbdc 50%,#fff4dc00 72%);border-radius:50%;filter:drop-shadow(0 4px 5px #714e3025)}
.scene-residents .resident-name{font-size:10px;bottom:-4%;left:50%;transform:translateX(-50%);opacity:0;background:#fff5e6ef;transition:opacity .15s;white-space:nowrap}
.scene-residents .is-selected .resident-name,.scene-residents .town-character:focus-visible .resident-name{opacity:1}
.scene-residents .resident-reaction{bottom:96%;font-size:12px;max-width:150px;min-width:70px;padding:7px 10px;white-space:normal;z-index:5;box-shadow:0 3px 0 #e7cb9d6b;color:#795832}
.scene-residents .hachi .resident-reaction{bottom:105%}.scene-residents .usagi .resident-reaction{left:30%}
/* Functional objects win where an illustrated resident's transparent hit area overlaps. */
.room-stage .birthday-envelope{z-index:4}
#modal[data-scene=daily]{border-color:#c9aa7e;background:linear-gradient(90deg,#f7eedcdd,transparent 12%),#fff8e9;box-shadow:4px 6px 0 #b6976c55,0 16px 80px #42332155;color:#69543c}
#modal[data-scene=daily] .dialog-header{border-bottom:1px dashed #cfbb98;padding-bottom:12px}
#modal[data-scene=mail],#modal[data-scene=birthday]{background:#fff5e3;border-color:#bd976f;color:#73573c;box-shadow:0 0 0 5px #fff5e355,0 14px 70px #46332266;border-radius:4px 4px 15px 4px}
#modal[data-scene=mail] .dialog-header h2{color:#805b3e}
.stationery-form{position:relative}.stationery-stamp{position:absolute;right:2px;top:-15px;border:3px dotted #c5b78e;color:#a5ad7d;font-size:28px;line-height:1.5;padding:0 10px;opacity:.7;pointer-events:none}
.stationery-form .field:first-of-type{padding-right:50px}.stationery-form textarea{background:repeating-linear-gradient(transparent 0 32px,#decca455 33px),#fffbf2;line-height:33px;min-height:210px;border-radius:2px}
.stationery-form .modal-actions .button[type=submit]{background:#c18d66;min-width:120px}
#modal[data-scene=wishes]{background:#fbf9e9;border-color:#b9bd96;border-radius:15px 6px 20px 6px;box-shadow:4px 5px 0 #acb68c55,0 16px 80px #26362455;color:#62664d}
#modal[data-scene=wishes] .dialog-header{border-bottom:1px dashed #c6c9a9;padding-bottom:10px}
#modal .scrapbook-entry{margin-top:20px}#modal .entry-memory{gap:12px}#modal .memory-caption h3{font-size:16px}
html[data-theme=night]{--paper:#273740;--card:#fff2db;--ink:#f4e6cc;--muted:#c0b69e;--line:#697064;--green:#a6b08c;--green-dark:#e3d4ac;background:#273740;color-scheme:light}
html[data-theme=night] body{background-color:#273740;background-image:linear-gradient(#283842ed,#293a43ed),url('/static/assets/v2/paper-pattern.svg')}
html[data-theme=night] .site-header{background:#293b43ed;border-color:#697164}
html[data-theme=night] .desktop-nav{background:#38494c;border-color:#6f7664}html[data-theme=night] .desktop-nav .nav-item.active{background:#eedbb6;color:#675236}
html[data-theme=night] .brand-mark{background:#485744;border-color:#a3ab7d;color:#eddfb7}
html[data-theme=night] .avatar{color:#6f6446;border-color:#42534f}
html[data-theme=night] .theme-options{background:#41524f;border-color:#879078}.theme-options button{transition:background .15s}
html[data-theme=night] .theme-options button{color:#ddd2b7}html[data-theme=night] .theme-options button[aria-pressed=true]{background:#f1dfbb;color:#725c3c}
html[data-theme=night] .hero-copy .counter-value strong,html[data-theme=night] .counter-foot b{color:#f4dca7}
html[data-theme=night] .button{background:#87916e;color:#fff9e9}html[data-theme=night] .button.secondary{background:#e5d7b9;color:#705c3e}
html[data-theme=night] .paper-card,html[data-theme=night] .scrapbook-entry{color:#715d40;border-color:#b8a785;--ink:#715d40;--muted:#998567;--green-dark:#788158;--line:#d7c8aa}
html[data-theme=night] .paper-card p,html[data-theme=night] .paper-card time{color:inherit}
html[data-theme=night] .room-frame.friends-town{background:#c9a67d;border-color:#a38460;box-shadow:0 4px 0 #1e283175,0 16px 35px #151e2840}
html[data-theme=night] .room-frame .resident-toolbar{background:#f6e4c5}
html[data-theme=night] .room-frame .scene-hint{background:#f6e4c5;border-radius:0 0 20px 20px;color:#94754e}
html[data-theme=night] .scene-name{color:#684020;text-shadow:0 1px #ffd692}
html[data-theme=night] .garden-room .scene-name{background:#f8e6c5ee}
html[data-theme=night] .scene-scrapbook{background:linear-gradient(90deg,#fff0ce 48.5%,#c5a875 49%,#fff0cb 52%);box-shadow:0 4px 0 #68432a,0 6px 15px #f1b74a22}
html[data-theme=night] .tree-wish-tag{box-shadow:0 0 13px #efc16635,2px 3px 4px #1d222e55;background:#ffedc0;color:#795b35}
html[data-theme=night] .post-collection{background:#f1e0c2;--ink:#725b3c;--muted:#a78e67;--line:#cbb38f;--green-dark:#7c8058}
html[data-theme=night] .wish-journal-page{background:#f9edcd;color:#74623e;border-color:#c2b685}html[data-theme=night] .wish-journal-page.completed{background:#e9e8c8}
html[data-theme=night] .journal-tools input,html[data-theme=night] .journal-tools select{color:#755e40;border-color:#bca77e}
html[data-theme=night] .mobile-nav{background:#2e4047f5;border-color:#717b6a;color:#dcd4ba}html[data-theme=night] .mobile-nav .nav-item.active{background:#eddbb7;color:#765f3c}
html[data-theme=night] dialog:not(#lightbox){--ink:#725b3e;--muted:#9c8664;--line:#d5c3a0;--green:#92966d;--green-dark:#7c8057;color:#725b3e}
html[data-theme=night] .login-form-area{color:#eadbbd}html[data-theme=night] .profile-option{color:#786348}
html[data-theme=night] .town-note{background:#e6ca8e;color:#806740}
html[data-theme=night] .site-footer{text-shadow:none;color:#aab1a0}html[data-theme=night] .site-footer p{text-shadow:none}
@media(max-width:850px){.explorer-grid{gap:23px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.room-frame .resident-toolbar{display:block}.scene-name h1{font-size:23px}.scene-name p{font-size:10px}.entry-memory{gap:10px}.memory-caption{padding-left:9px}.memory-caption h3{font-size:16px}.memory-caption .entry-body{font-size:12px}.collection-heading h2{font-size:23px}.scene-collection{padding-top:9px}.post-collection{padding:18px 13px}.tree-wish-tag{width:14%;height:10%}.wish-book-object,.wish-basket-object{font-size:16px}.theme-control{margin-bottom:23px}}
@media(max-width:650px){
 .theme-control{justify-content:space-between;margin:0 0 22px;gap:5px}.theme-options button{padding:6px 13px;min-width:52px}.theme-control [data-theme-status]{font-size:10px;text-align:right;min-width:95px}
 body[data-view=daily] .main,body[data-view=mail] .main,body[data-view=wishes] .main{padding:14px 12px 20px}
 .explorer-grid{display:flex;flex-direction:column;gap:26px}.room-frame.friends-town{width:100%;position:relative;top:auto;border-radius:16px}.room-stage{border-radius:15px 15px 0 0}
 .scene-name h1{font-size:21px;letter-spacing:1px}.scene-name p{font-size:9px;letter-spacing:.5px}.garden-room .scene-name h1{font-size:24px}.garden-room .scene-name p{font-size:10px}
 .room-frame .resident-toolbar{padding:10px 9px 5px;display:flex;gap:4px}.room-frame .resident-modes{gap:5px}.room-frame .resident-modes button{min-height:42px;padding:5px 12px;font-size:11px;gap:4px}.room-frame .resident-target{font-size:9px;text-align:right;line-height:1.7;margin:0;max-width:115px}.scene-hint{font-size:9px;padding-bottom:9px}
 .wall-frame>span:last-child{font-size:8px;margin-top:2px;border-radius:3px;padding:1px}.frame-placeholder svg{width:19px;height:19px}
 .scene-scrapbook{top:74%;height:21%;width:66%;left:21.5%;border-width:1.5px;padding:3%;box-shadow:0 3px 0 #795235,0 5px 0 #e1c396}
 .book-preview{bottom:30%;gap:6%}.book-photo{border-width:3px}.book-photo svg{width:20px;height:20px}.book-photo small{font-size:8px}.book-caption{gap:2px}.book-caption>b{font-size:11px;letter-spacing:.5px}.book-caption time{font-size:8px}.book-caption>span{font-size:10px;line-height:1.4;-webkit-line-clamp:2}.book-caption>small{font-size:8px;white-space:nowrap}
 .scene-create{font-size:10px;min-height:32px;padding:3px 9px;bottom:3%;right:4%;gap:3px}.scene-create svg{width:12px;height:12px}
 .scene-collection{width:100%;padding:10px 6px;scroll-margin-top:15px}.collection-heading{margin-bottom:19px}.collection-heading h2{font-size:24px}.collection-heading p{font-size:12px}.collection-heading .eyebrow{font-size:9px}
 .journal-add,.post-write,.garden-write{min-height:44px;font-size:13px;margin-bottom:23px}.journal-tools label{font-size:11px}.journal-tools input,.journal-tools select{font-size:16px}
 .scrapbook-entry{padding:15px 13px}.entry-memory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}.entry-author{font-size:10px;gap:5px}.entry-author time{font-size:10px;margin-left:0}.entry-head .entry-actions{gap:0}.entry-head .icon-button{width:32px;height:38px}.entry-head .entry-author{max-width:calc(100% - 95px)}.entry-author .avatar{display:none}
 .memory-caption h3{font-size:16px;line-height:1.6}.memory-caption .entry-body{font-size:12px;line-height:1.9}.entry-memory .photo-grid{padding:3px;gap:3px}.entry-memory .photo-grid.single button{aspect-ratio:4/5}.memory-placeholder{padding:8px}.memory-placeholder span{font-size:9px}
 .mail-cubby{font-size:12px;padding-top:1px;gap:9px}.mail-cubby .unread-pill{font-size:8px;padding:0 4px}.mail-cubby::before{height:25%;border-radius:4px}
 .birthday-envelope{font-size:11px}.birthday-envelope svg{width:24px;height:24px;padding:3px}.birthday-envelope span{font-size:10px}
 .counter-letter{left:17%;top:74.5%;width:62%;height:18.7%;padding:3% 4%;gap:5px}.counter-letter>span{font-size:15px}.counter-letter>small{font-size:9px}.counter-letter>b{min-height:34px;font-size:11px;padding:3px 10px}
 .post-collection{padding:22px 14px;border-radius:4px 4px 12px 12px}.real-envelope{min-height:140px}.envelope-content b{font-size:20px}.envelope-content small{font-size:11px;line-height:1.7}.envelope-list{gap:17px}
 .tree-wish-tag{width:14%;height:10.3%;padding:5% 2% 2%}.tag-copy{font-size:12px;letter-spacing:1px;line-height:1.4}.tag-ribbon{top:-15px;height:20px;width:5px}.tag-ribbon::after{top:9px;width:12px;height:7px;left:-6px}
 .tree-wish-tag>.wish-flower{transform:scale(.78);transform-origin:center;right:-19px;top:-20px}.wish-book-object,.wish-basket-object{font-size:15px;border-radius:5px;height:12%;top:76%;padding:2%}.wish-book-object svg,.wish-basket-object svg{width:20px;height:20px}.wish-book-object small{font-size:9px}
 .garden-progress{gap:12px;margin-bottom:20px}.garden-progress>span{font-size:32px}.wish-journal-page{padding:18px}.wish-page-heading h3{font-size:21px}.wish-page-actions{gap:12px}.wish-page-actions .text-button{min-height:38px;font-size:12px}
 .scene-residents .resident-reaction{font-size:11px;max-width:130px;padding:5px 7px;min-width:65px}.scene-residents .resident-name{font-size:9px}.scene-residents .chii .resident-reaction{left:75%}
 .mobile-nav .nav-item{min-height:48px;min-width:55px;font-size:10px;padding:5px 11px}.mobile-nav .nav-item svg{width:23px;height:23px}.mobile-nav{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
 dialog:not(#lightbox){width:calc(100% - 18px);padding:20px 16px;max-height:calc(100dvh - 26px - env(safe-area-inset-top) - env(safe-area-inset-bottom));scroll-padding-bottom:25px}
 #modal .entry-memory{gap:9px}.field input,.field textarea,.field select{font-size:16px}.modal-close{min-width:38px;min-height:38px}.stationery-stamp{font-size:24px}.stationery-form .field:first-of-type{padding-right:38px}.modal-actions{gap:7px}.modal-actions .button{font-size:12px;padding:10px 12px;min-height:43px;flex:1}.modal-actions{position:relative;padding-bottom:env(safe-area-inset-bottom)}
 .delivery-animation{padding:6px 9px}.delivery-character{width:44px}.delivery-animation strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.wish-flower,.delivery-envelope{animation:none!important}.scene-residents .resident-motion{transition:none}}
