:root{color-scheme:dark;--ink:#f1e6d0;--muted:#b8b5c2;--gold:#d8b775;--border:#736043;--bg:#111722;--panel:#1c2030}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e9cc91;outline-offset:4px}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #d8b77533;background:#151b2b;position:relative;z-index:5}.brand{display:flex;gap:13px;align-items:center;font-size:12px;letter-spacing:2.4px;font-weight:600}.brand-icon{font:42px Georgia;color:var(--gold)}.brand small{display:block;font:italic 14px Georgia;letter-spacing:.3px;font-weight:400;color:#c8bdac;margin-top:5px}.subtle{border:1px solid #d8b77540;border-radius:30px;background:transparent;padding:9px 14px;font-size:12px}.dot{display:inline-block;background:#b5c9a0;width:6px;height:6px;border-radius:50%;margin-left:5px}.intro{text-align:center;padding:38px 20px 25px;background:radial-gradient(ellipse at top,#3b344847,transparent)}.eyebrow{font-size:10px;color:var(--gold);letter-spacing:2.5px;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(30px,5vw,48px);margin:12px 0}h2{font-size:30px}h3{font-size:22px}.intro p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0}.tag{display:inline-block;padding:6px 11px;border:1px solid #c9af7d40;background:#1d2235;border-radius:20px;font-size:10px;color:#dcc9a9;margin-top:10px}.map-frame{position:relative;max-width:900px;margin:0 auto 40px;border:1px solid #aa92534d;border-radius:200px 200px 18px 18px;overflow:hidden;box-shadow:0 0 90px #0005}.world{position:relative;width:100%;aspect-ratio:1000/1700;background:#20363b url('assets/map.svg') center/100% 100% no-repeat}.world:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#11172233,transparent 18%,transparent 85%,#11172299)}.district{position:absolute;left:0;right:0;text-align:center;font:small-caps 20px Georgia;color:#ebd4a2;text-shadow:0 2px 5px #000;letter-spacing:4px;pointer-events:none}.district.capital{top:5.8%}.district.culture{top:34%}.marker{position:absolute;transform:translate(-50%,-50%);background:#171b2fe8;border:1px solid #aa8d59;border-radius:8px;padding:9px 13px;min-height:44px;box-shadow:0 4px 15px #0006;white-space:nowrap;font-family:Georgia,serif;font-size:15px;transition:transform .2s,background .2s}.marker:hover{transform:translate(-50%,-55%);background:#41354d}.marker .pin{display:block;position:absolute;left:calc(50% - 4px);bottom:100%;width:8px;height:8px;border-radius:50%;background:#f6d99c;box-shadow:0 0 14px #e7b857;margin-bottom:7px}.marker.pending{border-color:#8e929078;color:#d4d1c9;background:#1c282ce8}.marker.pending .pin{background:#97a7a4;box-shadow:none}.map-footer{padding:20px;display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:11px;background:#19232d}.legend-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:6px}.legend-dot.gray{background:#97a7a4}.bottom{position:fixed;z-index:8;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:clamp(4px,3vw,32px);padding:9px 12px calc(10px + env(safe-area-inset-bottom));background:#151b2bf5;backdrop-filter:blur(16px);border-top:1px solid #d8b77544}.bottom button{width:100px;border:0;background:transparent;color:#b9b6c1;font-size:10px;padding:3px 0}.bottom button span{display:block;font-size:24px;line-height:29px;margin-bottom:3px}.bottom button.active{color:#f1ce8a}main{padding-bottom:85px}dialog{position:fixed;width:min(520px,calc(100% - 30px));max-height:86dvh;overflow:auto;background:linear-gradient(145deg,#292a3d,#151c28);color:var(--ink);border:1px solid #ac905c;border-radius:18px;padding:30px;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#070b16b8;backdrop-filter:blur(5px)}dialog p{font-size:14px;line-height:1.8;color:#c9c5cf}.close{position:absolute;top:10px;right:13px;border:0;background:transparent;font-size:28px;color:#cabd9f;min-width:40px;min-height:40px}.gold{border:1px solid #b69358;border-radius:8px;background:linear-gradient(120deg,#e8c98c,#b8955e);color:#23202a;font-weight:600;padding:13px 20px;min-height:46px}.outline{border:1px solid #8c7653;border-radius:8px;background:#252638;padding:12px 17px;min-height:44px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.scene-page{max-width:1300px;margin:auto;padding:25px 22px}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:20px}.breadcrumbs button{border:0;background:transparent;color:var(--gold);padding:10px 0}.scene-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.scene-head h1{font-size:34px;margin:0}.scene-wrap{border:1px solid #897049;border-radius:12px;overflow:hidden;background:#121621}.scene-scroll{overflow-x:auto;overscroll-behavior-x:contain}.scene-canvas{position:relative;min-width:850px}.scene-canvas img{display:block;width:100%;height:auto}.hotspot{position:absolute;background:#22182925;color:transparent;border:1px solid #ebc87c66;border-radius:7px;box-shadow:inset 0 0 20px #ebc87c10}.hotspot:hover,.hotspot:focus-visible{background:#edcf7940;color:transparent;border-color:#f8d58a}.scene-caption{font-size:12px;color:var(--muted);line-height:1.8;padding:15px 18px;border-top:1px solid #88704855}.scene-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.note{padding:16px 20px;background:#202637;border:1px solid #6d5c414d;border-radius:10px;font-size:13px;line-height:1.8;color:#c9c5ce}.catalog-tools{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0}input,select,textarea{background:#111725;color:var(--ink);border:1px solid #7d715d;border-radius:7px;padding:12px;min-height:44px}input{min-width:0;flex:1}textarea{width:100%;min-height:110px;resize:vertical}label{display:block;font-size:12px;color:#d2c6b2;margin:15px 0 6px}.book-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.book-card{padding:20px 12px;border:1px solid #7d6a4e;background:linear-gradient(145deg,#333044,#1d2330);border-radius:9px;text-align:center;min-height:210px}.book-card .book-symbol{font-size:49px;color:#cbb47c;display:block;margin:7px}.book-card strong{display:block;font-family:Georgia;font-size:17px;margin:15px 0 8px}.book-card small{color:var(--muted);font-size:11px}.book-card:hover{border-color:#efd295}.save-state{color:#c8d7b4;min-height:24px;font-size:13px;margin-top:15px}.empty{padding:30px;text-align:center;color:var(--muted)}.small{font-size:12px;color:var(--muted);line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid select,.form-grid input{width:100%}.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.book-layout .scene-canvas{min-width:0}.book-layout .scene-wrap{align-self:start}.book-form{padding:20px;background:#202536;border:1px solid #726144;border-radius:12px}.book-form h2{margin:0 0 10px}.mobile-hint{display:none}.preview-thumb{width:100%;border-radius:9px;border:1px solid #8c7552;margin:10px 0}.map-tail{text-align:center;font:italic 15px Georgia;color:#b8b1be;padding:5px 15px 25px}@media(min-width:1000px){.map-frame{max-width:760px}.world{background-size:100% 100%}}@media(max-width:700px){.topbar{height:70px;padding:0 18px}.brand{font-size:10px;letter-spacing:1.5px}.brand-icon{font-size:33px}.subtle{padding:8px 10px;font-size:10px}.intro{padding:26px 15px 20px}.intro p:not(.eyebrow){font-size:12px}.map-frame{border-radius:100px 100px 10px 10px;margin:0 8px 25px}.marker{font-size:11px;padding:6px 8px;min-height:40px;max-width:145px;white-space:normal;text-align:center}.district{font-size:12px;letter-spacing:2px}.map-footer{font-size:10px;gap:12px;padding:16px 8px}.scene-page{padding:16px 14px}.scene-head h1{font-size:28px}.scene-head{flex-wrap:wrap}.scene-head .tag{font-size:9px}.mobile-hint{display:block;font-size:11px;color:#d8c69f;margin:12px 0}.book-grid{grid-template-columns:repeat(2,1fr);gap:10px}.book-card{min-height:180px}.book-layout{grid-template-columns:1fr}.book-layout .scene-canvas{min-width:740px}.scene-actions button{flex:1;font-size:12px}.bottom button{font-size:9px}.form-grid{grid-template-columns:1fr}.catalog-tools input{flex-basis:100%}dialog{padding:26px 23px}.scene-caption{font-size:11px}.world{min-height:690px}h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Version 0.2: complete scenes, direct navigation, continent and movable furniture. */
.world{aspect-ratio:1000/1600;background-image:url('assets/continent-v2.svg');background-color:#203c4c;min-height:0}.map-frame{border-radius:20px}.district.capital{top:9%}.district.culture{top:41%}.future-neighbours{position:absolute;top:15%;width:100%;text-align:center;font-size:11px;color:#f0e1c3;text-shadow:0 2px 4px #000}.scene-canvas,.book-layout .scene-canvas{min-width:0!important;width:100%}.scene-scroll{overflow:hidden}.scene-canvas img{width:100%;height:auto;max-width:100%}.mobile-hint{display:none!important}.hotspot{background:transparent;box-shadow:none;border:1px solid transparent}.hotspot:hover,.hotspot:focus-visible{border:2px solid #f8d58a;background:#edcf7920}.scene-caption{font-size:11px;padding:10px 14px}.scene-head{margin-bottom:12px}.scene-page .scene-head h1{font-size:clamp(23px,3vw,34px)}.room-stage{position:relative;width:100%;aspect-ratio:3/2;background:#111727;border:1px solid #897049;border-radius:12px;overflow:hidden}.room-stage>img{display:block;width:100%;height:100%;object-fit:fill}.room-stage>svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.room-controls{padding-top:10px}.room-object{cursor:grab;outline:none}.room-object.selected image{filter:drop-shadow(0 0 7px #f3d27f)}.room-object:focus-visible image{filter:drop-shadow(0 0 12px #fff)}.room-inventory{display:flex;gap:10px;flex-wrap:wrap}.inventory-item{flex:1;min-width:100px;display:flex;align-items:center;gap:8px;border:1px solid #796546;border-radius:9px;padding:7px 12px;background:#202536;text-align:left;font-size:12px}.inventory-item.chosen{border-color:#e2c079;background:#3c3448}.inventory-item img{width:45px;height:52px;object-fit:contain}.inventory-item small{display:block;color:#bdb5c6;font-size:10px;margin-top:4px}.room-tool-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.room-tool-row button{padding:9px 15px}.scene-actions{margin:12px 0}.room-controls .small{margin:0 0 12px}.room-stage{max-height:calc(100dvh - 255px);aspect-ratio:3/2;width:auto;margin:auto}.room-stage>img{width:100%;height:100%}@media(max-width:700px){.scene-page{padding:12px 10px}.scene-actions button{min-width:120px}.scene-head .tag{margin-top:0}.scene-caption{line-height:1.5}.scene-page h1{margin:8px 0}.scene-wrap{border-radius:8px}.room-stage{width:100%;max-height:none}.room-tool-row{gap:5px}.room-tool-row button{padding:8px 11px;min-width:44px}.inventory-item{padding:5px;gap:4px;min-width:90px}.inventory-item img{width:34px;height:44px}.inventory-item span{font-size:11px}.future-neighbours{font-size:9px}.marker{min-height:38px;font-size:11px}.world{min-height:0}}@media(max-height:550px) and (orientation:landscape){.topbar{height:46px}.scene-page{padding:6px 10px}.breadcrumbs{margin-bottom:2px}.scene-head{margin-bottom:5px}.scene-head h1{font-size:20px!important}.scene-canvas{max-height:calc(100dvh - 145px);width:fit-content;margin:auto}.scene-canvas img{max-height:calc(100dvh - 145px);width:auto;max-width:100%;object-fit:contain}.scene-caption{display:none}.scene-actions{margin:5px 0}.scene-actions button{padding:5px 10px;min-height:35px}.bottom{padding-top:2px;padding-bottom:3px}.bottom button span{font-size:18px;line-height:20px}.room-stage{height:calc(100dvh - 140px);width:auto;max-height:none}.room-controls{padding-top:5px}.room-controls .small{font-size:11px}}
.room-stage{width:min(100%,calc((100dvh - 255px)*1.5));max-height:none;height:auto;aspect-ratio:3/2}.room-stage>img{position:absolute;inset:0;width:100%;height:100%}@media(max-width:700px){.room-stage{width:100%}}@media(max-height:550px) and (orientation:landscape){.room-stage{width:min(100%,calc((100dvh - 140px)*1.5));height:auto}}
.room-stage{width:min(100%,calc((100dvh - 330px)*1.5))}@media(max-width:700px){.room-stage{width:100%}}@media(max-height:550px) and (orientation:landscape){.room-stage{width:min(100%,calc((100dvh - 160px)*1.5))}}
.scene-canvas{--available-scene-height:calc(100dvh - 280px);width:min(100%,calc(var(--available-scene-height)*var(--scene-ratio,1.777)));max-width:100%;max-height:none;aspect-ratio:var(--scene-ratio,1.777);margin:auto}.scene-canvas img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}.book-layout .scene-canvas{width:100%}@media(max-height:550px) and (orientation:landscape){.scene-canvas{--available-scene-height:calc(100dvh - 175px)}.scene-canvas img{width:100%;height:100%;max-height:none}}
/* Version 0.3: atlas with regional maps, fullscreen and personal spaces. */
[hidden]{display:none!important}.topbar{height:66px;gap:12px}.topbar .brand{margin-right:auto}.topbar .subtle{white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.7}.atlas-page{padding:20px 22px 15px;max-width:1500px;margin:auto}.atlas-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.atlas-heading .eyebrow{margin:0 0 6px}.atlas-heading h1{font-size:clamp(23px,3vw,37px);margin:0}.atlas-stage{position:relative;width:min(100%,calc((100dvh - 245px)*1.5));aspect-ratio:3/2;margin:auto;overflow:hidden;border:1px solid #b99a60;border-radius:10px;background:#1a2935;box-shadow:0 10px 50px #0005}.atlas-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.atlas-region-hits{position:absolute;inset:0;width:100%;height:100%}.atlas-region-hits a path{fill:#f3d59b05;stroke:#e0bc6f;stroke-width:3;stroke-dasharray:5 6;opacity:.65;transition:fill .2s}.atlas-region-hits a:hover path,.atlas-region-hits a:focus path{fill:#f3d59b40;stroke-width:6;opacity:1}.region-label{position:absolute;transform:translate(-50%,-50%);border:1px solid #d4b278;border-radius:8px;background:#1b2030ed;box-shadow:0 5px 15px #0006;padding:12px 18px;text-align:center;min-height:48px}.region-label strong{font:21px Georgia;color:#f3d398}.region-label small{display:block;font-size:10px;margin-top:5px;color:#d5c6b5}.capital-label{left:33%;top:36%}.culture-label{left:66%;top:66%}.atlas-cloud-label{position:absolute;left:63%;top:11%;font:italic 16px Georgia;color:#333343;background:#e1dfdf80;padding:5px 10px;border-radius:20px}.atlas-note{text-align:center;font-size:11px;color:#c6becb;margin:12px 0 0}.atlas-place{position:absolute;transform:translate(-50%,-50%);min-height:42px;padding:7px 11px;border:1px solid #d0b07b;border-radius:7px;background:#172337ed;max-width:30%;font:14px Georgia;text-align:center;box-shadow:0 4px 14px #0005}.atlas-place small{display:block;font:9px system-ui;margin-top:4px;color:#c8d4b5}.atlas-place.closed{background:#2b2832ed;border-color:#948778;opacity:.92}.atlas-place.closed small{color:#d6b791}.friends-reserve{position:absolute;left:50%;top:19%;transform:translate(-50%,-50%);text-align:center;background:#1a2737cf;border:1px dashed #c4ae80;padding:8px 12px;border-radius:8px;max-width:55%}.friends-reserve span{font:16px Georgia;color:#ead5af}.friends-reserve small{display:block;color:#d2cbd5;font:9px system-ui;margin-top:4px}.closed-hotspot{opacity:1!important;pointer-events:none}.hotspot-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block;background:#302732e8;border:1px solid #ba9473;border-radius:4px;color:#e6c9a3;padding:4px 6px;font:10px system-ui;white-space:nowrap}.entry-form{max-width:800px;margin:auto}.entry-form input,.entry-form select{width:100%}.resident-sign{position:absolute;left:29%;top:16.2%;width:19%;height:6.2%;border:1px solid #c89a54;border-radius:5px;background:linear-gradient(120deg,#392638,#543724);font-family:Georgia,serif;font-size:clamp(9px,1.2vw,17px);color:#f5d38d;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:2px 5px;box-shadow:0 2px 6px #0007}.guestbook-hit{position:absolute;left:44.6%;top:28%;width:8.7%;height:16%;border:0;background:transparent}.guestbook-hit:focus-visible,.guestbook-hit:hover{outline:2px solid #dfc17f;outline-offset:0;border-radius:7px}.guestbook-hit span{position:absolute;top:95%;left:50%;transform:translateX(-50%);font:clamp(8px,.9vw,13px) Georgia;background:#251e32ee;border:1px solid #b99861;color:#edce92;white-space:nowrap;padding:4px 6px;border-radius:5px}.room-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(215px,25%);gap:10px 18px}.room-page>.breadcrumbs,.room-page>.scene-head{grid-column:1/-1;margin:0}.room-page .room-stage{width:min(100%,calc((100dvh - 225px)*1.5));grid-column:1;align-self:start}.room-page .room-controls{grid-column:2;padding:4px 0;align-self:center}.room-page .room-inventory{display:grid;grid-template-columns:1fr;gap:7px}.room-page .inventory-item{padding:5px 9px}.room-page .inventory-item img{width:34px;height:42px}.room-page .room-tool-row{gap:5px}.room-page .room-tool-row button{padding:8px 10px}.room-page .room-controls .actions{margin-top:12px}.room-page .room-controls .actions button{width:100%;padding:10px}.room-page .save-state{font-size:11px}.resident-details{font-size:13px}.resident-details>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ae92632e;padding:10px 0}.resident-details dt{color:#cbb992}.resident-details dd{margin:0;text-align:right}.resident-details~ol{font-size:14px;line-height:1.7;padding-left:23px}#resident-dialog input,#resident-dialog select,#guestbook-dialog input,#guestbook-dialog select{width:100%}#resident-dialog h3{font-size:21px;margin:22px 0 8px}#guestbook-form>button{margin-top:14px}.guestbook-entries{max-height:240px;overflow:auto;margin:15px 0}.guestbook-entries article{padding:14px;border:1px solid #806648;border-radius:8px;background:#161e2c;margin:8px 0}.guestbook-entries article>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.guestbook-entries article>div>span{color:#cab58e}.guestbook-entries article p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0;font-family:Georgia;line-height:1.6}.start-screen,.rotate-screen{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;background:radial-gradient(ellipse at 50% 20%,#554565,#172336 60%,#0c1520)}.start-screen h1{font-size:clamp(32px,5vw,64px)}.start-screen p,.rotate-screen p{color:#d1c5d3;line-height:1.8}.start-screen .gold{margin:16px 0}.rotate-screen{z-index:29;background:#151e30f5;backdrop-filter:blur(16px)}.rotate-screen .gold,.rotate-screen .outline{display:block;margin:12px auto}.rotate-icon{font-size:65px;color:#dec084}.screen-toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);max-width:90%;z-index:40;border:1px solid #b89c65;background:#252739f5;color:#f4e3c5;border-radius:9px;padding:12px 18px;font-size:12px;text-align:center}.immersive .topbar{height:44px;padding:0 20px}.immersive .brand-icon{font-size:28px}.immersive .brand small{display:none}.immersive .bottom{padding:3px 10px calc(4px + env(safe-area-inset-bottom))}.immersive .bottom button span{font-size:18px;line-height:20px;margin-bottom:0}.immersive main{padding-bottom:50px}.immersive .atlas-page{padding:8px 15px}.immersive .atlas-heading{margin-bottom:7px}.immersive .atlas-heading h1{font-size:24px}.immersive .atlas-heading .eyebrow{font-size:8px;margin-bottom:3px}.immersive .atlas-stage{width:min(100%,calc((100dvh - 155px)*1.5))}.immersive .atlas-note{margin-top:6px;font-size:10px}.immersive .scene-page{padding-top:8px}.immersive .scene-canvas{--available-scene-height:calc(100dvh - 185px)}.immersive .room-page .room-stage{width:min(100%,calc((100dvh - 140px)*1.5))}.immersive .scene-caption{display:none}.immersive .scene-head h1{font-size:24px!important}.immersive .room-page>.breadcrumbs{display:none}.immersive .room-page .room-controls .small{font-size:10px}.immersive .room-page .inventory-item img{width:26px;height:30px}.immersive .room-page .inventory-item{font-size:10px}.immersive .room-page .room-tool-row button{min-height:35px;padding:5px 9px}.immersive .room-page .room-controls .actions{margin-top:7px}.immersive .room-page .room-controls .actions button{min-height:34px;padding:6px 10px;font-size:11px}@media(max-width:700px) and (orientation:portrait){.topbar{padding:0 12px;gap:6px}.topbar .brand{font-size:9px}.topbar .brand-icon{font-size:26px}.topbar .brand small{font-size:11px}.topbar .subtle{font-size:9px;padding:8px}.atlas-page{padding:16px 9px}.atlas-heading{gap:8px}.atlas-heading h1{font-size:25px}.atlas-stage{width:100%}.region-label{padding:7px 10px;min-height:42px;max-width:48%}.region-label strong{font-size:15px}.region-label small{font-size:8px}.atlas-cloud-label{font-size:10px;left:53%;top:9%}.atlas-place{font-size:10px;padding:5px 7px;max-width:32%;min-height:36px}.atlas-place small{font-size:7px}.friends-reserve span{font-size:12px}.friends-reserve small{font-size:8px}.room-page{display:block}.room-page .room-stage{width:100%;margin-top:12px}.room-page .room-controls{margin-top:12px}.room-page .room-inventory{display:flex}.room-page .room-controls .actions button{width:auto}.room-page .breadcrumbs{margin-bottom:10px}.resident-sign{font-size:9px}.hotspot-status{font-size:7px;padding:2px 3px}}@media(max-height:550px) and (orientation:landscape){.topbar{height:42px}.topbar .brand-icon{font-size:25px}.topbar .brand small{display:none}.atlas-page{padding:8px 12px}.atlas-heading{margin-bottom:5px}.atlas-heading h1{font-size:23px}.atlas-heading .eyebrow{font-size:8px;margin-bottom:2px}.atlas-stage,.immersive .atlas-stage{width:min(100%,calc((100dvh - 140px)*1.5))}.atlas-note{font-size:9px;margin-top:5px}.region-label{padding:7px 12px}.region-label strong{font-size:16px}.region-label small{font-size:8px}.atlas-place{font-size:10px;padding:5px 7px;min-height:32px}.atlas-place small{font-size:7px}.friends-reserve span{font-size:12px}.friends-reserve small{font-size:8px}.atlas-cloud-label{font-size:10px}.room-page{padding:6px 10px;grid-template-columns:minmax(0,1fr) 220px;gap:5px 10px}.room-page>.breadcrumbs{display:none}.room-page .scene-head h1{font-size:20px!important}.room-page .room-stage,.immersive .room-page .room-stage{width:min(100%,calc((100dvh - 125px)*1.5))}.room-page .room-controls .small{font-size:9px;line-height:1.4;margin-bottom:6px}.room-page .inventory-item{padding:3px 5px}.room-page .inventory-item img{width:24px;height:28px}.room-page .inventory-item span{font-size:10px}.room-page .inventory-item small{font-size:8px}.room-page .room-tool-row{margin-top:7px;gap:4px}.room-page .room-tool-row button{padding:5px 8px;min-height:30px;font-size:11px}.room-page .room-controls .actions{gap:5px;margin-top:6px}.room-page .room-controls .actions button{min-height:30px;padding:5px 9px;font-size:11px}.room-page .save-state{margin:6px 0 0;font-size:9px}.resident-sign{font-size:10px}.guestbook-hit span{font-size:8px}}
.atlas-building-hit{position:absolute;border:1px solid transparent;border-radius:20px;background:transparent}.atlas-building-hit:hover,.atlas-building-hit:focus-visible{border-color:#e6c77b;background:#e8d09018}.personal-book-cover{min-height:330px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #bd9b5f;border-radius:12px;background:radial-gradient(ellipse at top,#624c79,#26223c 65%);box-shadow:inset 0 0 0 9px #d5b77e16}.personal-book-cover>span{font-size:10px;letter-spacing:2px;color:#dac08b}.personal-book-cover h2{font-size:33px;overflow-wrap:anywhere}.personal-book-cover small{display:block;font-size:11px;color:#c4bbc9;margin-top:8px}
.room-page .room-stage{margin:0 auto}@media(max-height:550px) and (orientation:landscape){.room-page{grid-template-columns:minmax(0,1fr) 250px;align-items:start}.room-page .room-stage,.immersive .room-page .room-stage{width:min(100%,calc((100dvh - 155px)*1.5));margin:0 auto}.room-page .room-controls{padding:0;align-self:start}.room-page .room-controls .small{font-size:8px;line-height:1.25;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.room-page .inventory-item{padding:2px 5px}.room-page .inventory-item img{height:25px;width:23px}.room-page .room-inventory{gap:5px}.room-page .room-tool-row{gap:4px;margin-top:6px}.room-page .room-tool-row button{min-width:26px;min-height:28px;padding:4px 7px}.room-page .room-controls .actions button{min-height:26px;padding:4px 8px}.room-page .save-state{font-size:9px;margin-top:5px}.atlas-stage,.immersive .atlas-stage{width:min(100%,calc((100dvh - 155px)*1.5))}}
/* Version 0.4: small map labels and controls placed inside the illustrations. */
.atlas-place{padding:3px 6px;min-height:0;font-size:11px;max-width:27%;border-radius:4px;border-color:#d0b07b99;background:#172337cc;box-shadow:0 2px 7px #0006}.atlas-place.open small{display:none}.atlas-place.closed small{font-size:7px;margin-top:2px}.friends-reserve{padding:4px 7px;background:#1a2737a8;max-width:36%}.friends-reserve span{font-size:12px}.friends-reserve small{display:none}.live-shelves{container-type:inline-size}.shelf-back,.live-search,.shelf-topic,.shelf-slot,.shelf-see-all{position:absolute;min-height:0;cursor:pointer}.shelf-back{left:1.5%;top:4%;width:18%;height:6%;border:0;background:transparent;color:#f5d999;font:1.7cqw Georgia}.live-level{position:absolute;left:47%;top:3%;width:13%;text-align:center;color:#fce3a8;font:4.4cqw Georgia}.live-library-title{position:absolute;left:43.5%;top:11.9%;width:18%;text-align:center;color:#3b2922;font:bold 1.45cqw Georgia}.live-search{left:83%;top:60%;width:12%;height:15%;background:transparent;border:0;font:1.9cqw Georgia;color:#f9d598;line-height:1.3}.shelf-topic{left:12.4%;width:12.2%;padding:2px 4px;background:transparent;border:0;color:#f7dfad;font:clamp(7px,1.38cqw,19px) Georgia;line-height:1.1;text-align:center;overflow:hidden}.shelf-topic small{font:0.65em system-ui;display:block;margin-top:3px;color:#d0bb93}.shelf-live-row{position:absolute;left:29.8%;width:36.8%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4%;align-items:stretch}.shelf-slot{position:relative;width:100%;height:100%;border:1px solid #ad884c;border-radius:3px;background:linear-gradient(130deg,#665071,#252337);box-shadow:inset 3px 0 0 #d4ae6b50,1px 3px 4px #0005;color:#ecd4a4;padding:2px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.shelf-slot.filled{background:linear-gradient(130deg,hsl(var(--book-hue) 30% 38%),#212639)}.shelf-slot .shelf-cover-mark{font:2cqw Georgia;line-height:1}.shelf-slot strong{font:clamp(5px,.92cqw,13px) Georgia;line-height:1.1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px}.shelf-see-all{left:67.4%;width:6.5%;height:5.6%;font:clamp(6px,1.03cqw,15px) Georgia;background:linear-gradient(#f9e7ba,#d6b57a);border:1px solid #9c733e;border-radius:5px;color:#342525;padding:1px 3px;white-space:nowrap}.shelf-catalog{margin-top:24px}.programme-note{font-size:11px;text-align:center}.programme-note a{color:#dac18a;text-decoration:underline;text-underline-offset:3px}.picker-books{display:grid;gap:8px}.picker-books button{text-align:left}.picker-books small{display:block;color:#bcb3c6;font-size:11px;margin-top:5px}.illustrated-search{container-type:inline-size;--available-scene-height:calc(100dvh - 210px)}.illustrated-search-page>.breadcrumbs{display:none}.illustrated-search-page .scene-head{margin-bottom:8px}.illustrated-search-page .scene-head h1{font-size:24px}.search-frame{background:#201b2b}.painted-tabs{position:absolute;left:26.8%;top:19.8%;width:65.4%;height:11.8%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5%}.painted-tab{min-height:0;border:1px solid #b79b6b;border-radius:6px;background:linear-gradient(130deg,#f8e8c5,#e2c69e);color:#2b2130;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px #eed3a2,0 2px 3px #49312855}.painted-tab>span{font:3.4cqw Georgia;color:#6f467f;line-height:1}.painted-tab>strong{font:bold italic 1.8cqw Georgia;margin-top:3px;white-space:nowrap}.painted-tab.active{background:linear-gradient(130deg,#6d447e,#382242);color:#ffe3a8;box-shadow:inset 0 0 0 2px #d7b473,0 0 5px #a96b2d}.painted-tab.active>span{color:#e7c281}.painted-input,.painted-submit{position:absolute;top:40.1%;height:4.9%;min-height:0;margin:0;font:1.65cqw Georgia}.painted-input{left:27.3%;width:51.1%;border:1px solid #ab875a;border-radius:30px;padding:0 2.2%;background:#f9ebd4;color:#352836;appearance:none}.painted-input::placeholder{color:#665448;opacity:1}.painted-submit{left:79.6%;width:13.2%;padding:1px 3px;border:1px solid #ca9d4d;border-radius:24px;background:linear-gradient(120deg,#64416e,#2f203a);color:#ffe0a0;font-style:italic}.painted-filters{position:absolute;left:40.8%;top:48.7%;width:51.8%;height:3.3%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.3%}.painted-filters select,.painted-filters .sample-scope{width:100%;min-height:0;height:100%;font:1.03cqw Georgia;color:#463027;border:1px solid #bd9a6c;border-radius:20px;background:#f5dfba;padding:0 4px;overflow:hidden}.painted-filters .sample-scope{display:flex;align-items:center;justify-content:center;border:0;background:transparent}.painted-results{position:absolute;left:26.3%;top:62%;width:67.1%;height:19.1%;padding:.8%;background:linear-gradient(120deg,#f7e9d1,#e8cfaa);border:1px solid #bf985d;border-radius:7px;overflow:hidden;color:#382b34}.painted-result-heading{display:flex;justify-content:space-between;align-items:center;font:bold 1.05cqw Georgia;height:15%;margin-bottom:2%}.painted-result-heading small{font:.9cqw system-ui;color:#73604c}.painted-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2%;height:79%}.painted-result-card{min-height:0;text-align:center;background:#fff3dc;border:1px solid #b68c56;border-radius:4px;color:#342738;padding:3px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.painted-result-card .tiny-cover{display:flex;align-items:center;justify-content:center;width:34%;height:36%;background:linear-gradient(120deg,hsl(var(--cover-hue) 32% 34%),#202037);border:1px solid #c29c63;border-radius:2px;font:1.7cqw Georgia;color:#e9cf99}.painted-result-card strong{font:bold 1.05cqw Georgia;line-height:1.05;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.painted-result-card small{font:.85cqw Georgia;line-height:1.05;color:#6e5a47;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.painted-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3%;font:1.35cqw Georgia;line-height:1.4}.painted-empty p{font:1.25cqw Georgia;line-height:1.4;max-width:85%;margin:8px 0}.painted-pager{position:absolute;left:48%;top:84.1%;height:3.3%;width:31%;background:#f4e0be;border:1px solid #bc9668;border-radius:20px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;color:#543a36;font:1.1cqw Georgia}.painted-pager:empty{display:none}.painted-pager button{min-height:0;padding:0 3px;height:100%;border:0;background:transparent;color:#52344f;font:1.4cqw Georgia}.search-back{position:absolute;left:1.3%;top:3.5%;width:24.5%;height:4.5%;min-height:0;border:0;background:transparent;color:#f6d997;font:1.55cqw Georgia;padding:0}.cinema-search-title{position:absolute;left:38%;top:13.1%;width:41%;height:9%;margin:0;display:flex;justify-content:center;align-items:center;text-align:center;color:#ffe0a0;font:3.1cqw Georgia}.film-search .painted-tabs{left:31.5%;top:29.5%;width:60.9%;height:5.6%;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.4%}.film-search .painted-tab{border:0;box-shadow:none;border-radius:8px;background:transparent;color:#f8dea3;flex-direction:row;gap:4px;padding:0}.film-search .painted-tab span{display:none}.film-search .painted-tab strong{font:1.55cqw Georgia;margin:0}.film-search .painted-tab.active{background:#bf8a3a33;box-shadow:inset 0 0 0 2px #f8d488,0 0 8px #f8cb7c80}.film-search .painted-input{left:32%;top:39.2%;width:43.5%;height:5%;border:0;background:#fcf0d5;font:1.6cqw Georgia;padding:0 1%}.film-search .painted-submit{left:79.3%;top:39.1%;width:12.9%;height:4.9%;background:transparent;border:0;font:1.7cqw Georgia}.film-search .painted-filters{left:32%;top:48.3%;width:60%;height:2.8%;gap:5%;}.film-search .painted-filters select,.film-search .sample-scope{border:0;background:#f7e5c2;font-size:1.15cqw}.film-search .painted-results{left:31.5%;top:55%;width:61%;height:25.6%;border:0;border-radius:4px;padding:1%}.film-search .painted-result-heading{font:1.4cqw Georgia}.film-search .painted-result-heading small{font-size:1.05cqw}.film-search .film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.film-search .painted-result-card strong{font-size:1.5cqw}.film-search .painted-result-card small{font-size:1.2cqw}.film-search .painted-result-card .tiny-cover{font-size:2.7cqw;width:28%;height:40%}.film-search .painted-pager{left:48%;top:83%;width:30%;height:2.8%;font-size:1.2cqw}.film-search .search-back{left:3%;top:3%;width:14%;height:4%;font-size:1.35cqw}.immersive .illustrated-search-page .scene-head{display:none}.immersive .illustrated-search{--available-scene-height:calc(100dvh - 110px)}@media(max-width:700px) and (orientation:portrait){.atlas-place{font-size:8px;padding:2px 4px;max-width:25%}.atlas-place.closed small{font-size:6px}.friends-reserve span{font-size:9px}.illustrated-search-page .scene-head h1{font-size:19px}.programme-note{font-size:9px}.painted-tab{border-radius:3px}.painted-tab strong{margin-top:0}.painted-result-card{gap:1px;padding:1px}.painted-results{border-radius:3px}.painted-input{font-size:1.8cqw}.painted-empty p{margin:3px 0}}@media(max-height:550px) and (orientation:landscape){.atlas-place{font-size:8px;padding:2px 4px;min-height:0}.atlas-place.closed small{font-size:6px}.illustrated-search{--available-scene-height:calc(100dvh - 135px)}.illustrated-search-page .scene-head h1{font-size:18px!important}.illustrated-search-page .scene-head{margin-bottom:5px}.immersive .illustrated-search{--available-scene-height:calc(100dvh - 95px)}.live-shelves{--available-scene-height:calc(100dvh - 150px)}}
.book-search .search-back{color:transparent}.painted-sort{position:absolute;left:67.2%;top:58.5%;height:2.2%;width:14.3%;min-height:0;border:1px solid #bc9668;border-radius:20px;background:#f6e0bb;color:#463027;font:1.05cqw Georgia;padding:0 4px}.painted-count{position:absolute;left:85.8%;top:58.4%;height:2.6%;width:7.7%;background:#f4dfbc;color:#4b3532;font:1.05cqw Georgia;display:flex;justify-content:center;align-items:center}.painted-theme-footer{position:absolute;left:26.4%;top:83.5%;width:67%;height:5.3%;background:#f3dfbc;border:1px solid #bd9868;border-radius:20px;padding:.4% 2%;display:flex;gap:2%;align-items:center}.painted-theme-footer button{border:1px solid #be9f78;border-radius:20px;min-height:0;height:90%;font:1.05cqw Georgia;color:#55404c;background:#f8ead2;padding:0 2%}.book-search .painted-pager{left:64%;width:27%;top:84.4%;height:3.4%;background:#f3dfbc}.film-search .search-back{padding-left:10%}
.shelf-topic{font-size:clamp(6px,1.1cqw,17px);line-height:1.05}.film-search .search-back{left:5%;width:12%;padding:0;font-size:1.25cqw;white-space:nowrap}
.painted-tab>strong{font-size:clamp(8px,1.8cqw,24px);white-space:normal;line-height:1.05}.painted-tab>span{font-size:clamp(11px,3.4cqw,38px)}.painted-input{font-size:clamp(10px,1.65cqw,20px)}.painted-submit{font-size:clamp(8px,1.65cqw,20px)}.painted-filters select,.painted-filters .sample-scope{font-size:clamp(6px,1.03cqw,14px)}.painted-result-card strong{font-size:clamp(6px,1.05cqw,15px)}.painted-result-card small{font-size:clamp(5px,.85cqw,12px)}.painted-result-heading{font-size:clamp(6px,1.05cqw,14px)}.painted-empty,.painted-empty p{font-size:clamp(8px,1.25cqw,17px)}.film-search .painted-tab strong{font-size:clamp(8px,1.55cqw,20px)}.film-search .painted-input{font-size:clamp(10px,1.6cqw,20px)}.film-search .painted-submit{font-size:clamp(8px,1.7cqw,22px)}.film-search .painted-result-card strong{font-size:clamp(8px,1.5cqw,20px)}.film-search .painted-result-card small{font-size:clamp(7px,1.2cqw,16px)}
/* Version 0.5: local return paths, house displays and restrained decorative motion. */
.scene-page>.breadcrumbs,.immersive .scene-page>.breadcrumbs{display:flex!important;flex-wrap:wrap;gap:4px 9px;margin:0 0 10px;min-height:26px;font-size:11px}.breadcrumbs button{padding:5px 0;min-height:26px}.breadcrumbs .back-parent{color:#f3d494;font-weight:600}.breadcrumbs>span{opacity:.45}.room-page>.breadcrumbs{grid-column:1/-1}.scene-page.illustrated-search-page>.breadcrumbs{display:flex}.scene-canvas{--available-scene-height:calc(100dvh - 300px)}.room-stage{container-type:inline-size}.resident-sign{left:33.1%;top:25%;width:8.5%;height:6.3%;border:2px solid #b5894d;border-radius:38% 38% 8% 8%;background:linear-gradient(135deg,#7b512b,#382713 65%,#6b4626);box-shadow:inset 0 0 0 2px #e4bf7655,0 3px 5px #170e16aa;color:#f8dfa4;font:1.05cqw Georgia;text-shadow:0 1px 2px #160b08;transform:skewY(-11deg);padding:3px;white-space:normal;line-height:1.05;overflow-wrap:anywhere}.guestbook-hit span{display:none}.home-display{position:absolute;border:0;background:transparent;padding:0;border-radius:1px;overflow:hidden}.home-display-book{transform:rotate(-12deg) skewY(-12deg)}.home-display-film{transform:skewY(14deg)}.home-display:hover,.home-display:focus-visible{outline:2px solid #f7d68b;outline-offset:1px}.home-display img{width:100%;height:100%;object-fit:cover;display:block}.home-display.customized{background:linear-gradient(120deg,#755179,#34263f);border:1px solid #d4af70;box-shadow:inset 2px 0 #cba35b66}.home-display span{font:clamp(4px,.77cqw,12px) Georgia;color:#ffe5ab;display:flex;align-items:center;justify-content:center;text-align:center;padding:2px;height:100%;overflow-wrap:anywhere;line-height:1.08}#display-title{width:100%}#display-image{width:100%;font-size:12px}#display-preview img{display:block;max-width:140px;max-height:200px;object-fit:contain;margin:15px auto}.live-level{left:40%;top:4.1%;width:20%;font:2.1cqw Georgia;line-height:1;text-align:center}.live-library-title{left:42%;top:12.3%;width:16%;font:1.25cqw Georgia}.shelf-topic{font:clamp(6px,1.13cqw,16px) Georgia;line-height:1.14;padding:3px 5px;text-wrap:balance;display:flex;flex-direction:column;align-items:center;justify-content:center}.shelf-topic small{font-size:.65em;margin-top:3px}.shelf-live-row{left:28%;width:43%;gap:3.8%}.shelf-see-all{left:72%;width:6%;height:5%;font-size:1cqw}.live-search{left:83%;top:61%;font-size:1.6cqw}.series-catalog{margin-top:22px}.ambient-art{position:absolute;inset:0;display:block;background-image:var(--art);background-size:100% 100%;pointer-events:none;mask-image:var(--ambient-mask);-webkit-mask-image:var(--ambient-mask);animation:quiet-breath 7s ease-in-out infinite;transform-origin:88% 62%}.ambient-cinema,.ambient-cine-search{animation-duration:8.5s;transform-origin:23% 70%}.ambient-map{animation:quiet-clouds 24s ease-in-out infinite;transform-origin:center}.ambient-search{transform-origin:15% 60%}.ambient-live-shelves{transform-origin:90% 60%}@keyframes quiet-breath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-.09%) scale(1.0015)}}@keyframes quiet-clouds{0%,100%{transform:translateX(-.12%)}50%{transform:translateX(.12%)}}@media(prefers-reduced-motion:reduce){.ambient-art{animation:none!important;display:none}}@media(max-height:550px) and (orientation:landscape){.scene-page>.breadcrumbs,.immersive .scene-page>.breadcrumbs{font-size:9px;gap:3px 7px;min-height:22px;margin-bottom:4px}.breadcrumbs button{min-height:22px;padding:3px 0}.scene-canvas{--available-scene-height:calc(100dvh - 195px)}.live-shelves{--available-scene-height:calc(100dvh - 175px)}.illustrated-search{--available-scene-height:calc(100dvh - 160px)}.room-page .room-stage,.immersive .room-page .room-stage{width:min(100%,calc((100dvh - 180px)*1.5))}.immersive .illustrated-search{--available-scene-height:calc(100dvh - 120px)}}
.atlas-stage>.cafe-clearing{clip-path:polygon(38% 63%,62% 63%,62% 81%,38% 81%);pointer-events:none}
@media(max-height:550px) and (orientation:landscape){.room-page .room-inventory{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.room-page .inventory-item{min-width:0;flex-direction:column;justify-content:center;gap:2px;text-align:center;padding:4px 2px}.room-page .inventory-item span{font-size:8px;overflow-wrap:anywhere}.room-page .inventory-item small{font-size:7px;margin-top:2px}.room-page .room-controls .actions{display:grid;grid-template-columns:1.5fr 1fr}.room-page .room-controls .actions button{font-size:9px;padding:4px;min-height:30px}}
.shelf-topic:has(small){font-size:clamp(5px,.88cqw,13px);line-height:1.05;padding:1px 4px}.shelf-topic:has(small) small{font-size:.62em;line-height:1.1;margin-top:2px}
/* Version 0.6: wide immersive scenes, front-facing cottage and live decoration. */
.topbar{gap:8px}.topbar .brand{min-width:0}.topbar #sound-toggle{white-space:nowrap}.scene-page h1{font-size:clamp(20px,2.5vw,32px)}.atlas-heading.region-heading>div{order:3;text-align:right;margin-left:auto}.atlas-heading.region-heading>button[data-go="map"]{order:0}.atlas-heading.region-heading .atlas-fit{order:1}.atlas-fit{font-size:11px;min-height:30px;padding:5px 10px}.atlas-stage{overflow:auto;scrollbar-width:thin;container-type:inline-size}.atlas-map-content{position:relative;width:100%;aspect-ratio:3/2;container-type:inline-size}.atlas-map-content>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.atlas-map-content>.cafe-clearing{clip-path:polygon(38% 63%,62% 63%,62% 81%,38% 81%);pointer-events:none}.atlas-map-content .atlas-region-hits{position:absolute;inset:0;width:100%;height:100%}.atlas-stage.fit-map{overflow:hidden}.atlas-stage.fit-map .atlas-map-content{width:100%;height:100%;aspect-ratio:3/2;margin:auto}.room-stage>img{object-fit:fill}.room-finish-layer{pointer-events:none!important}.room-page .resident-sign{left:29.1%;top:31.2%;width:6.2%;height:3.3%;border:0;border-radius:50%;background:transparent;box-shadow:none;transform:none;font:clamp(5px,.9cqw,14px) Georgia;color:#f8dfaa;text-shadow:0 1px 1px #422815;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.resident-sign:hover{filter:brightness(1.3)}.room-page .guestbook-hit{left:42%;top:37.5%;width:7.5%;height:14.8%}.home-display-book,.home-display-film{transform:none}.home-display-book{transform:rotate(-5deg)}.home-display-film{border-radius:0}.home-display.customized{border-width:1px}.furniture-thumb{display:block;width:100%;height:100%;overflow:visible}.room-page .inventory-item .furniture-thumb{width:35px;height:40px;flex-shrink:0}.live-level{left:46%;top:2%;width:10%;font:4.25cqw Georgia;line-height:1.1}.live-library-title{left:42%;top:12.3%;width:16%;font:bold 1.45cqw Georgia}.shelf-live-row{left:31%;width:34%;gap:5.5%}.shelf-slot{background:none!important;border:0;box-shadow:none;padding:0;border-radius:0;overflow:visible;display:block}.shelf-cover-art{display:block;width:100%;height:100%;border:1px solid #cda25f;box-shadow:1px 3px 4px #17101aaa;object-fit:fill}.shelf-slot:hover .shelf-cover-art,.shelf-slot:focus-visible .shelf-cover-art{filter:brightness(1.18);outline:1px solid #f6d38f}.shelf-slot strong{position:absolute;left:-6%;bottom:0;width:112%;max-width:none;background:#241c32eb;border:1px solid #b1915e;color:#f7e4bb;padding:2px;font:clamp(5px,.72cqw,12px) Georgia;-webkit-line-clamp:2}.shelf-topic{left:12.4%;width:12.2%;font-size:clamp(6px,1.18cqw,18px);line-height:1.13}.shelf-topic:has(small){font-size:clamp(5px,.88cqw,13px)}.shelf-see-all{left:67.2%;width:6.4%;top:auto;height:5.4%;font:1.1cqw Georgia;border:1px solid #96703d;box-shadow:inset 0 0 0 2px #ead3a0;border-radius:6px}.live-search{left:83%;top:60%;width:12%;height:15%;font:1.85cqw Georgia}.shop-catalog{container-type:inline-size}.shop-category-panel{position:absolute;left:20.3%;top:35.4%;width:53.7%;height:59%;padding:1.4%;border:1px solid #e5bc6e;border-radius:8px;background:radial-gradient(ellipse at top,#48304c,#20192c 75%);box-shadow:inset 0 0 15px #b1773144;color:#f2ddad;overflow:auto;scrollbar-width:thin}.shop-category-panel h2{font:2cqw Georgia;margin:0 0 1.4%;line-height:1.05}.shop-category-tabs{display:flex;gap:3%;height:7%;margin-bottom:2%}.shop-category-tabs button{min-height:0;font:1cqw Georgia;border:1px solid #b9935f;background:#211a2c;border-radius:4px;padding:1px 6px}.shop-category-tabs button[aria-current]{background:#71503f;color:#ffdfa1}.shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4%;height:70%}.shop-products.five-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:3%}.shop-product{min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #9e784b;border-radius:6px;background:#f0d8a708;color:#ffe4ad;padding:3px;overflow:hidden}.shop-product .furniture-thumb{width:95%;height:76%;min-height:0}.shop-product strong{font:clamp(6px,.94cqw,15px) Georgia;text-align:center;line-height:1.1;margin-top:2px}.finish-product>svg{width:100%;height:72%;min-height:0;border-radius:4px}.shop-category-panel p{font:.85cqw Georgia;color:#cebfac;margin:2% 0}.restore-finish{border:0;background:transparent;color:#edd3a0;font:.9cqw Georgia;text-decoration:underline;padding:1px;min-height:0}.shop-category-back{position:absolute;left:3%;top:3%;background:#291f37;border:1px solid #b99059;border-radius:6px;padding:.6% 1%;font:1.3cqw Georgia;color:#f7d59a}.furniture-dialog-preview{height:230px;max-width:330px;margin:auto}.finish-dialog-preview{height:230px;width:230px;max-width:100%;margin:15px auto}.finish-dialog-preview>svg{width:100%;height:100%;border-radius:10px}.expression-frame{position:absolute;inset:0;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat;opacity:0;animation:character-blink 8.7s linear infinite}.expression-cinema{animation-duration:7.3s;animation-delay:1.2s}.expression-shop{animation-duration:9.1s;animation-delay:2s}.expression-owl{animation-duration:11s;animation-delay:1.8s}.expression-cat{animation:cat-wake 15s ease-in-out infinite}.cat-breath{position:absolute;inset:0;background:url(assets/08_boutique_GOBELIN.png) center/100% 100%;clip-path:ellipse(5.8% 3.9% at 59.5% 26.4%);pointer-events:none;transform-origin:59.5% 29%;animation:cat-breathe 5.5s ease-in-out infinite;z-index:0}.expression-cat{z-index:1}.ambient-art{animation-duration:6s}.ambient-shop{animation-duration:7s}.scene-canvas::after,.room-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 30% 24%,#ffd48b25,transparent 45%),radial-gradient(ellipse at 85% 40%,#bdbdff0c,transparent 42%);mix-blend-mode:screen;opacity:.1;animation:room-light 9s ease-in-out infinite}.capital-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.flying-bird{position:absolute;width:2.4%;height:auto;left:-5%;top:14%;fill:#2b2631;animation:bird-flight 21s linear infinite;filter:drop-shadow(0 1px 1px #f7e8c566)}.bird-1{top:17%;animation-delay:1s;width:1.9%}.bird-2{top:12%;animation-delay:2s;width:1.7%}.wing-left{transform-origin:20px 15px;animation:wing-left .8s ease-in-out infinite alternate}.wing-right{transform-origin:20px 15px;animation:wing-right .8s ease-in-out infinite alternate}.capital-cloud{position:absolute;left:-30%;top:3%;width:34%;height:12%;background:radial-gradient(ellipse,#f4eced33,transparent 70%);animation:capital-cloud 45s linear infinite}.cloud-two{top:18%;animation-duration:57s;animation-delay:-23s;opacity:.55}.film-level-badge{position:absolute;z-index:3;width:3.2%;height:4.6%;min-width:0;min-height:0;border:1px solid #e8c784;border-radius:30% 30% 50% 50%;background:linear-gradient(#715080,#31223d);box-shadow:0 2px 4px #100b1b99;color:#ffe6a3;padding:1px;font:bold clamp(5px,.85cqw,13px) Georgia;line-height:1;cursor:pointer}.film-level-badge span{display:block}.film-poster-cell{position:relative;min-width:0;min-height:0}.film-poster-cell>.painted-result-card{width:100%;height:100%}.film-poster-cell>.film-level-badge{right:2%;top:2%;width:18%;height:24%;font-size:1.05cqw}.level-choice-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level-choice-list label{border:1px solid #b29562;border-radius:8px;padding:12px;display:flex;align-items:center;justify-content:center;gap:7px}.level-choice-list input{flex:none;min-height:20px;width:20px;height:20px;margin:0;accent-color:#cbaa6d}@keyframes character-blink{0%,86%,90%,93%,100%{opacity:0}87%,89%,91%,92%{opacity:1}}@keyframes cat-wake{0%,57%,77%,100%{opacity:0}62%,72%{opacity:1}}@keyframes cat-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.02)}}@keyframes quiet-breath{0%,100%{transform:translateY(0)}50%{transform:translateY(-.25%)}}@keyframes room-light{0%,100%{opacity:.08}50%{opacity:.52}}@keyframes bird-flight{0%{transform:translate(-4cqw,1cqw)}68%,100%{transform:translate(115cqw,-6cqw)}}@keyframes wing-left{from{transform:rotate(-12deg)}to{transform:rotate(18deg)}}@keyframes wing-right{from{transform:rotate(12deg)}to{transform:rotate(-18deg)}}@keyframes capital-cloud{to{transform:translateX(140cqw)}}
/* Fullscreen stays useful even in browsers that retain their own chrome. */
.immersive .topbar{position:fixed;right:5px;top:3px;left:auto;height:26px;padding:0;border:0;background:#151b2bc9;border-radius:20px;z-index:12;gap:4px}.immersive .topbar .brand,.immersive .topbar #about{display:none}.immersive .topbar .subtle{font-size:10px;min-height:25px;padding:3px 8px}.immersive .bottom{padding:3px 8px calc(3px + env(safe-area-inset-bottom));height:43px}.immersive .bottom button{font-size:8px}.immersive .bottom button span{font-size:17px;line-height:18px;margin:0}.immersive main{padding:0 0 45px}.immersive .scene-page,.immersive .atlas-page{max-width:none;width:100%;padding:3px 4px}.immersive .scene-page>.breadcrumbs{padding-right:180px;min-height:26px;margin-bottom:3px;font-size:10px}.immersive .scene-head,.immersive .scene-caption,.immersive .programme-note,.immersive .scene-actions,.immersive .atlas-note{display:none}.immersive .scene-canvas,.immersive .illustrated-search,.immersive .live-shelves{width:100%;max-width:none;max-height:none;margin:0;--available-scene-height:none}.immersive .scene-wrap{border-radius:4px}.immersive .atlas-heading{height:30px;margin:0 175px 3px 0;gap:8px}.immersive .atlas-heading h1{font-size:15px}.immersive .atlas-heading .eyebrow{display:none}.immersive .atlas-heading .outline{font-size:10px;padding:4px 8px;min-height:25px}.immersive .atlas-stage{width:100%;height:calc(100dvh - 83px);aspect-ratio:auto;margin:0;border-radius:4px;overflow:auto}.immersive .atlas-map-content{width:100%;height:auto;min-width:calc((100dvh - 83px)*1.5);aspect-ratio:3/2}.immersive .atlas-stage.fit-map .atlas-map-content{width:calc((100dvh - 83px)*1.5);min-width:0;max-width:100%;height:100%;margin:auto}.immersive .room-page{display:block}.immersive .room-page .room-stage{width:100%;max-height:none;aspect-ratio:3/2;margin:0}.immersive .room-page .room-controls{position:sticky;bottom:43px;z-index:7;background:#161b2bec;border:1px solid #a68a5b77;border-radius:7px;padding:5px;display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,1fr);gap:5px}.immersive .room-page .room-controls>.small,.immersive .room-page .save-state{display:none}.immersive .room-page .room-inventory{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:4px}.immersive .room-page .inventory-item{flex:0 0 78px;min-width:0;min-height:42px;flex-direction:row;padding:2px 4px;font-size:8px}.immersive .room-page .inventory-item .furniture-thumb{width:22px;height:28px}.immersive .room-page .inventory-item span{font-size:8px}.immersive .room-page .inventory-item small{font-size:6px}.immersive .room-page .room-tool-row{margin:0;align-self:center;gap:3px;grid-column:2}.immersive .room-page .room-tool-row button{font-size:10px;min-height:27px;padding:3px 6px}.immersive .room-page .room-controls .actions{display:flex;gap:5px;margin:0;grid-column:1/-1}.immersive .room-page .room-controls .actions button{width:auto;flex:1;min-height:28px;padding:4px 6px;font-size:10px}.immersive .room-page .room-controls:has(.room-tool-row) .actions{grid-column:2;grid-row:2}.immersive .room-page .room-controls:not(:has(.room-tool-row)){display:block}.immersive .room-page .room-controls:not(:has(.room-tool-row)) .actions{display:flex;flex-wrap:nowrap}.immersive .atlas-fit{white-space:nowrap}.scene-canvas{container-type:inline-size}
@media(max-width:700px){.topbar .brand{font-size:8px;letter-spacing:1px}.topbar .brand small{font-size:9px}.topbar #about{display:none}.topbar .subtle{font-size:9px;padding:5px 7px}.scene-page h1,.scene-page .scene-head h1{font-size:20px}.atlas-heading h1{font-size:20px}.atlas-heading .eyebrow{font-size:8px}.atlas-heading{flex-wrap:wrap}.atlas-heading.region-heading>div{flex:1}.atlas-heading.region-heading>button{font-size:10px;padding:5px 8px}.scene-page>.breadcrumbs{font-size:10px}.room-page .room-stage{max-height:none}.level-choice-list{grid-template-columns:repeat(2,1fr)}}
@media(max-height:550px) and (orientation:landscape){.topbar{height:35px}.scene-page{padding:4px 6px}.scene-page .scene-head h1{font-size:17px!important}.scene-head{margin-bottom:4px}.scene-caption{display:none}.scene-canvas,.live-shelves,.illustrated-search{width:100%;max-height:none;--available-scene-height:none}.atlas-heading h1{font-size:17px}.atlas-heading .eyebrow{display:none}.room-page .room-stage{width:100%;max-height:none}.room-page .inventory-item .furniture-thumb{width:24px;height:26px}.immersive .scene-page>.breadcrumbs{margin-bottom:2px}.immersive .room-page .room-stage{width:100%;max-height:none}.immersive .atlas-heading h1{font-size:14px}}
@media(prefers-reduced-motion:reduce){.expression-frame,.cat-breath,.capital-sky,.scene-canvas::after,.room-stage::after{animation:none!important;display:none}.wing-left,.wing-right,.flying-bird,.capital-cloud{animation:none!important}}
.scene-fit-toggle{margin-left:auto;border:1px solid #b99b62!important;border-radius:5px;background:#262337!important;padding:3px 8px!important;min-height:24px;font-size:10px;color:#e7cca0}.immersive .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 90px)*var(--scene-ratio,1.777)));margin:auto}.immersive .scene-fit-mode .room-stage{width:min(100%,calc((100dvh - 150px)*1.5));margin:auto}.immersive .scene-actions{display:flex;position:sticky;bottom:43px;z-index:7;gap:5px;padding:4px;background:#171b2bed;margin:0;border:1px solid #b2975b55}.immersive .scene-actions button{flex:1;min-width:0;font-size:10px;min-height:28px;padding:4px 6px}body[data-place="home"] #room-grid{pointer-events:none;touch-action:pan-y}
.room-page .resident-sign{overflow:visible}.resident-sign>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;height:100%}.resident-sign::before{content:"";position:absolute;inset:-50% -90% -250%;background:transparent}
/* Living scenes, shared reliable dialog controls, and uncluttered cinema. */
dialog .close{z-index:20;position:sticky;float:right;top:0;right:0;margin:-16px -10px 0 5px;background:#211f30ed;border:1px solid #b79a67;border-radius:50%;width:44px;height:44px;line-height:36px;padding:0;touch-action:manipulation}dialog h2{padding-right:35px}dialog [data-close]{touch-action:manipulation}
body[data-place="cinema"] .scene-actions{display:none!important}body[data-place="cinema"] .scene-scroll{overflow:hidden}body[data-place="cinema"] .scene-canvas.cinema-without-sidebar{width:110%;max-width:none;margin-left:-10%;clip-path:inset(0 0 0 9.1%)}
body[data-place="films"] .scene-page{max-width:none;padding:6px 8px}body[data-place="films"] .scene-head,body[data-place="films"] .mobile-hint,body[data-place="films"] .scene-caption{display:none}body[data-place="films"] .scene-actions{margin:5px 0}body[data-place="films"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 135px)*var(--scene-ratio)));min-width:0;margin:auto}body.immersive[data-place="films"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 110px)*var(--scene-ratio)));min-width:0}body[data-place="films"] .scene-page>.breadcrumbs{margin-bottom:5px}
.expression-frame{animation-duration:4.3s}.expression-cinema{animation-duration:3.7s}.expression-shop{animation-duration:4.8s}.expression-owl{animation-duration:5.7s}.expression-cat{animation:cat-wake 8s ease-in-out infinite}.cat-breath{animation-duration:2.8s}.ambient-library,.ambient-search,.ambient-live-shelves{animation:character-sway 3.8s ease-in-out infinite}.ambient-cinema,.ambient-cine-search{animation:character-sway 3.1s ease-in-out infinite}.ambient-shop{animation:character-sway 3.6s ease-in-out infinite}.flying-bird{animation-duration:14s}.wing-left,.wing-right{animation-duration:.45s}.capital-cloud{background:radial-gradient(ellipse,#f4eced70,transparent 70%);animation-duration:30s}.cloud-two{animation-duration:39s}
.map-life{position:absolute;inset:0;pointer-events:none;overflow:hidden}.living-water{position:absolute;overflow:hidden;border-radius:50%;background:linear-gradient(120deg,transparent,#a5e1f21b,transparent);animation:water-glimmer 3s ease-in-out infinite alternate}.living-water i{position:absolute;left:10%;top:30%;width:68%;height:7%;border-radius:50%;border-top:1px solid #d3f3ff9c;animation:water-ripple 2.3s ease-out infinite}.living-water i:nth-child(2){top:50%;left:20%;animation-delay:-.8s}.living-water i:nth-child(3){top:72%;left:5%;animation-delay:-1.6s}.boat-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sailing-boat{position:absolute;left:5.86%;top:35.64%;width:2.6%;height:5.86%;overflow:visible;transform-origin:50% 85%;animation:boat-sail 8s ease-in-out infinite alternate;filter:drop-shadow(0 2px 1px #163c5277)}
.house-weather{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 2s;clip-path:path('M0 0H0V0Z')}.room-stage .house-weather{clip-path:polygon(0 0,100% 0,100% 18%,50% 2.8%,0 18%,0 100%,3% 100%,3% 18%,0 18%)}.house-weather:before{content:"";position:absolute;inset:0;background:#abc8ed0a}.house-weather.snowing{opacity:1}.house-weather i{position:absolute;top:-10%;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#edf4ff;box-shadow:0 0 3px #fff8;animation:snow-fall var(--fall) var(--delay) linear infinite}.room-stage{isolation:isolate}.room-stage .house-weather{z-index:0}.house-weather i{animation-play-state:paused}.house-weather.snowing i{animation-play-state:running}
@keyframes character-sway{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(.1%,-.28%) rotate(.12deg)}70%{transform:translate(-.08%,-.1%) rotate(-.08deg)}}
@keyframes boat-sail{0%{transform:translate(0,0) rotate(-3deg)}35%{transform:translate(.6cqw,.2cqw) rotate(3deg)}70%{transform:translate(1.2cqw,0) rotate(-2deg)}100%{transform:translate(1.8cqw,-.3cqw) rotate(2deg)}}
@keyframes water-ripple{from{transform:translateX(-10%) scaleX(.5);opacity:0}35%{opacity:.85}to{transform:translateX(20%) scaleX(1.2);opacity:0}}
@keyframes water-glimmer{to{opacity:.5;filter:brightness(1.15)}}@keyframes snow-fall{to{transform:translate(25px,115cqh)}}
@media(prefers-reduced-motion:reduce){.map-life,.house-weather{display:none!important}.ambient-art{animation:none!important}.house-weather{transition:none}}

.room-stage .house-weather{clip-path:url(#weather-outside)}
body[data-place="films"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 185px)*var(--scene-ratio)))}body[data-place="films"] .scene-fit-mode .scene-actions{display:none}body.immersive[data-place="films"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 115px)*var(--scene-ratio)))}
body[data-place="film"] .scene-page{max-width:none;padding:6px 8px}body[data-place="film"] .scene-head,body[data-place="film"] .mobile-hint,body[data-place="film"] .scene-caption{display:none}body[data-place="film"] .scene-fit-mode .scene-actions{display:none}body[data-place="film"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 185px)*var(--scene-ratio)));margin:auto}body.immersive[data-place="film"] .scene-fit-mode .scene-canvas{width:min(100%,calc((100dvh - 115px)*var(--scene-ratio)))}body[data-place="film"] .scene-page>.breadcrumbs{margin-bottom:5px}
body[data-place="cinema"] .scene-fit-mode .scene-scroll{width:min(100%,calc((100dvh - 245px)*1.95));margin:auto}body.immersive[data-place="cinema"] .scene-fit-mode .scene-scroll{width:min(100%,calc((100dvh - 115px)*1.95))}
/* Softer expressions: fixed face, just one eye movement per long cycle. */
.expression-frame{animation:gentle-blink 10s linear infinite}.expression-library{animation-duration:11s}.expression-cinema{animation-duration:9.5s}.expression-shop{animation:shop-eyes 12s ease-in-out infinite!important}.expression-owl{animation-duration:13s}.expression-cat{animation:cat-wake 20s ease-in-out infinite}.cat-breath{animation-duration:5s}.ambient-shop{display:none!important}.ambient-library,.ambient-cinema,.ambient-search,.ambient-cine-search,.ambient-live-shelves{animation-duration:7s}
@keyframes gentle-blink{0%,67%,72%,100%{opacity:0}68%,71%{opacity:1}}@keyframes shop-eyes{0%,20%,59%,100%{opacity:0}24%,55%{opacity:1}}
/* Always enter room editing with the whole room fitted beside its tools. */
body[data-place="layout"] .room-page{max-width:none;grid-template-columns:minmax(0,1fr) clamp(180px,23vw,290px);padding:6px 10px;align-items:start}body[data-place="layout"] .room-page>.scene-head{display:none}body[data-place="layout"] .room-page>.breadcrumbs{display:flex!important;min-height:28px;margin-bottom:2px}body[data-place="layout"] .room-stage,body.immersive[data-place="layout"] .room-stage{width:min(100%,calc((100dvh - 195px)*1.5));margin:0 auto;min-width:0;align-self:start}body.immersive[data-place="layout"] .room-stage{width:min(100%,calc((100dvh - 130px)*1.5))}body[data-place="layout"] .room-controls{align-self:start;max-height:calc(100dvh - 160px);overflow:auto;padding:0 3px;scrollbar-width:thin}body.immersive[data-place="layout"] .room-controls{max-height:calc(100dvh - 125px)}body[data-place="layout"] .room-inventory{max-height:32dvh;overflow:auto}body[data-place="layout"] .room-controls .small{font-size:10px;line-height:1.4;margin-top:0}body[data-place="layout"] .inventory-item small{font-size:9px}body[data-place="layout"] .room-controls .actions{margin-top:7px}body[data-place="layout"] .room-tool-row{margin-top:7px}body[data-place="layout"] .room-tool-row button,body[data-place="layout"] .room-controls .actions button{min-height:32px;padding:5px 9px}body[data-place="layout"] .room-controls .save-state{font-size:10px}
.school-shield{position:absolute;top:26.2%;width:9.8%;height:9%;padding:0;border:0;background:transparent;filter:drop-shadow(0 2px 2px #1a1010aa)}.school-shield svg{width:100%;height:100%;display:block;overflow:visible}.school-shield:hover{filter:brightness(1.15) drop-shadow(0 0 4px #d6b36a)}.live-level.level-shield{left:45%;top:1%;width:12%;height:12.2%;line-height:1}.level-shield svg{display:block;width:100%;height:100%}
.test-purse{position:absolute;left:2.8%;top:27%;width:14.5%;text-align:center;color:#ffdf91;text-shadow:0 2px 3px #10071a}.test-purse strong{display:block;font:bold 4.5cqw Georgia;line-height:1}.test-purse span{display:block;font:1.35cqw Georgia}.test-purse small{font:.8cqw system-ui}.test-balance{position:absolute;right:1.2%;top:2.4%;width:13.4%;height:7.5%;border-radius:12px;border:1px solid #e5bb65;background:linear-gradient(#3b213d,#1e182e);color:#ffe1a0;text-align:center;font:bold 1.5cqw Georgia;padding:.4%}.test-balance small{display:block;font:.75cqw system-ui}.shop-catalog .shop-products.five-products{grid-template-rows:repeat(3,minmax(0,1fr))}.shop-catalog .shop-category-back{left:21%;top:29%;font:1.1cqw Georgia}.shop-catalog .test-purse{top:26%}
.upgrade-explanation{padding:14px 18px;background:#292237;border:1px solid #b28b4e;border-radius:10px;font-size:14px;line-height:1.7}.upgrade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.upgrade-card{padding:14px;border:1px solid #856944;border-radius:14px;background:linear-gradient(#30243c,#191f2e);text-align:center;overflow:hidden}.upgrade-card.current{border-color:#f0ca7a;box-shadow:0 0 18px #b78c3a33}.upgrade-card h2{margin:10px 0;font-size:27px}.upgrade-card strong{color:#f4d89f;font-size:13px}.upgrade-card p{font-size:11px;color:#c2b9c9;line-height:1.5;min-height:32px}.upgrade-card button{font-size:12px;width:100%;padding:8px;min-height:38px}.upgrade-house{height:150px;position:relative;overflow:hidden}.upgrade-house img{position:absolute;width:400%;max-width:none;height:100%;object-fit:cover;left:calc(var(--house-offset)*-100%)}
.home-mailbox{position:absolute;left:8%;top:42%;width:5%;height:10%;padding:0;border:0;background:transparent;filter:drop-shadow(0 2px 3px #170d1888);z-index:2}.home-mailbox svg{width:100%;height:100%;display:block}.home-mailbox:hover{filter:brightness(1.2) drop-shadow(0 0 3px #e8be72)}.mail-count{position:absolute;right:-10%;top:-6%;border-radius:50%;background:#c4506c;color:white;min-width:18px;min-height:18px;display:grid;place-items:center;font:11px system-ui}.mail-list{display:grid;gap:14px;margin:20px 0}.mail-item{border:1px solid #8c6b45;border-radius:10px;padding:16px;background:#211e30}.mail-item>small{font-size:11px;color:#cdb78f}.mail-item h3{margin:8px 0;font-size:22px}.mail-item p{white-space:pre-wrap;overflow-wrap:anywhere}.mail-gift{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mail-gift .furniture-thumb{width:65px;height:70px}.mail-gift>span{font-size:13px}.mail-gift button{font-size:12px;padding:8px 12px;min-height:34px}#test-mail-form input,#test-mail-form select{width:100%}
@media(max-width:700px) and (orientation:portrait){body[data-place="layout"] .room-page{grid-template-columns:1fr}body[data-place="layout"] .room-controls{grid-column:1;max-height:none;overflow:visible}body[data-place="layout"] .room-stage{width:100%}body[data-place="layout"] .room-inventory{grid-template-columns:repeat(2,minmax(0,1fr));max-height:180px}body[data-place="layout"] .room-controls .actions{display:flex}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-house{height:100px}}
@media(max-height:550px) and (orientation:landscape){body[data-place="layout"] .room-page{grid-template-columns:minmax(0,1fr) 220px}body[data-place="layout"] .room-controls .small{font-size:8px}body[data-place="layout"] .room-controls .actions button{min-height:27px;font-size:10px}body[data-place="layout"] .room-controls .save-state{font-size:8px}.upgrade-grid{gap:8px;margin:10px 0}.upgrade-card{padding:8px}.upgrade-house{height:85px}.upgrade-card h2{font-size:20px;margin:5px 0}}
@media(prefers-reduced-motion:reduce){.expression-frame,.expression-shop{animation:none!important;display:none!important}}
.shop-expansion-note{position:absolute;left:79.6%;top:77.3%;width:17.2%;height:14.1%;margin:0;padding:.9%;display:flex;align-items:center;justify-content:center;border-radius:15%;background:radial-gradient(#ffeac2,#f0ca8d);color:#372319;text-align:center;font:1.04cqw Georgia;line-height:1.25}
.room-stage>svg[width="0"]{width:0;height:0;pointer-events:none;touch-action:auto}
body[data-place="layout"] .room-page{display:grid}body[data-place="layout"] .room-controls{display:block;position:static;border:0;background:transparent;border-radius:0}body[data-place="layout"] .room-inventory{display:grid;grid-template-columns:1fr;overflow-x:hidden;overflow-y:auto}body[data-place="layout"] .room-controls .actions{display:flex;flex-direction:column}body[data-place="layout"] .room-controls .small,body[data-place="layout"] .room-controls .save-state{display:block}body[data-place="layout"] .room-stage{grid-column:1}body[data-place="layout"] .room-controls{grid-column:2}
@media(max-width:700px) and (orientation:portrait){body[data-place="layout"] .room-controls{grid-column:1}body[data-place="layout"] .room-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}}
.shop-house-size{position:absolute;left:78.5%;top:62.7%;width:19%;height:4.4%;display:flex;align-items:center;justify-content:center;background:#281a30;color:#f3d799;border-radius:5px;font:1.05cqw Georgia;text-align:center}
/* The entire left purse image is replaced by live featured products. */
.shop-offer-panel{position:absolute;left:.7%;top:22.1%;width:19%;height:71.8%;padding:1.2% 1%;border:2px solid #dab46e;border-radius:6% 6% 10% 10%;background:radial-gradient(ellipse at 50% 0,#503456,#21182f 75%);box-shadow:inset 0 0 0 3px #b5853e55,0 0 8px #dba24d44;display:grid;grid-template-rows:7% 26% 7% 24% 24% 6%;gap:1%;color:#f8dfa9;overflow:hidden;z-index:2}.shop-offer-panel h2{font:bold 1.45cqw Georgia;line-height:1;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#ffe0a0;text-shadow:0 1px 2px #130a1e}.shop-offer-panel>p{font:.62cqw Georgia;text-align:center;margin:0;display:flex;align-items:center;justify-content:center;color:#d6c3b2}.daily-offer-card{position:relative;border:1px solid #9d7b50;border-radius:6px;background:linear-gradient(130deg,#4e3551,#241e35);color:#f9e1b0;padding:3% 4%;min-height:0;display:grid;grid-template-columns:36% 1fr;grid-template-rows:1fr auto;align-items:center;gap:3% 5%;text-align:left;box-shadow:inset 0 0 10px #b1874517;overflow:hidden}.daily-offer-card:hover,.daily-offer-card:focus-visible{border-color:#ffe4a2;background:linear-gradient(130deg,#67415e,#30243c)}.daily-offer-picture{grid-row:1/-1;display:block;min-height:0;height:100%;width:100%}.daily-offer-picture>svg{display:block;width:100%;height:100%;max-height:100%;border-radius:4px}.daily-offer-name{font:1.01cqw Georgia;line-height:1.15;padding-top:5%;overflow-wrap:anywhere}.offer-test-price{font:.73cqw system-ui;color:#d4e4af;line-height:1.1;padding-bottom:5%}.offer-discount{position:absolute;top:0;right:0;border-radius:0 4px 0 7px;padding:2% 5%;background:#a94668;color:#fff0cf;border-left:1px solid #e3bd79;border-bottom:1px solid #e3bd79;font:bold .87cqw system-ui}.daily-offer-card:has(.offer-discount) .daily-offer-name{padding-top:20%}.room-page .home-display-book{transform:none!important;border-radius:0}
.room-stage>.left-wall-shelf-layer{pointer-events:none!important;touch-action:auto}
body[data-place="layout"] .room-page .room-controls{display:block;position:static;grid-column:2;border:0;background:transparent;border-radius:0;overflow-x:hidden;overflow-y:auto;padding:0 3px}body[data-place="layout"] .room-page .room-inventory{display:grid;grid-template-columns:1fr;overflow-x:hidden;overflow-y:auto;gap:7px}body[data-place="layout"] .room-page .room-controls .actions{display:flex;flex-direction:column;gap:5px;margin-top:7px}body[data-place="layout"] .room-page .room-controls .small,body[data-place="layout"] .room-page .room-controls .save-state{display:block}body[data-place="layout"] .room-page .inventory-item{width:100%;min-width:0;text-align:left}body[data-place="layout"] .room-page .inventory-item span{min-width:0}
@media(max-width:700px) and (orientation:portrait){body[data-place="layout"] .room-page .room-controls{grid-column:1}body[data-place="layout"] .room-page .room-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Candlelight stays attached to the drawn flame; only its halo and tip move. */
.warm-lights-layer{position:absolute;inset:0;pointer-events:none!important;overflow:hidden;z-index:1}.warm-light-source{position:absolute;width:0;height:0;pointer-events:none}.warm-light-aura{position:absolute;display:block;left:0;top:0;width:var(--light-width,6cqw);height:var(--light-width,6cqw);transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff3bd30 0%,#ffca6d28 22%,#e99c3f12 48%,transparent 74%);mix-blend-mode:screen;opacity:.65;animation:candle-aura var(--light-speed,2.9s) var(--light-delay,0s) ease-in-out infinite}.warm-light-source{--light-width:calc(var(--glow-size)*1)}.warm-light-aura{width:6cqw;height:6cqw}.light-candle .warm-light-aura{width:5cqw;height:6cqw}.candle-flame-shimmer{position:absolute;left:-.18cqw;top:-.75cqw;width:.36cqw;height:1.2cqw;border-radius:70% 25% 60% 40%;background:linear-gradient(#fff8d066,#ffce5e18);mix-blend-mode:screen;transform-origin:50% 100%;animation:candle-tip var(--light-speed,2.9s) var(--light-delay,0s) ease-in-out infinite;opacity:.4}.sprite-candle-glow{mix-blend-mode:screen;animation:sprite-candle var(--light-speed,2.7s) var(--light-delay,0s) ease-in-out infinite}.sprite-flame-shimmer{animation:sprite-candle 2.1s ease-in-out infinite}
@keyframes candle-aura{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.96)}19%{opacity:.67;transform:translate(-49%,-51%) scale(1.03)}41%{opacity:.51;transform:translate(-51%,-49%) scale(.99)}64%{opacity:.76;transform:translate(-50%,-52%) scale(1.07)}83%{opacity:.58;transform:translate(-49%,-50%) scale(1.01)}}@keyframes candle-tip{0%,100%{opacity:.28;transform:skewX(-5deg) scaleY(.93)}26%{opacity:.48;transform:skewX(7deg) scaleY(1.06)}53%{opacity:.34;transform:skewX(-3deg) scaleY(.98)}78%{opacity:.53;transform:skewX(4deg) scaleY(1.04)}}@keyframes sprite-candle{0%,100%{opacity:.55}24%{opacity:.8}47%{opacity:.62}72%{opacity:.92}}
.start-screen{isolation:isolate;overflow:hidden;background:#15162b}.welcome-fresco{position:absolute;inset:0;z-index:-2;background:#15162b url('assets/welcome-fresco-v10.png') center/cover no-repeat}.start-screen::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d142624,transparent 25%,#100f2524 50%,transparent 75%,#0d142624),radial-gradient(ellipse at 50% 49%,#0c10254a,transparent 60%);pointer-events:none}.welcome-content{max-width:670px;padding:32px 36px;border-radius:28px;background:radial-gradient(ellipse,#11152bba,transparent 75%);text-shadow:0 2px 16px #090b1b}.start-screen .eyebrow{color:#edd09a;font-size:11px}.start-screen h1{font-size:clamp(34px,5.3vw,72px);color:#fff0d2;margin:14px 0;line-height:1.08}.start-screen .welcome-content>p:not(.eyebrow){color:#eee1d1}.start-screen .gold{padding:15px 32px;box-shadow:0 0 26px #f1c56b2e;border-color:#f0d390;background:linear-gradient(115deg,#f4db9d,#caa15f)}
@media(max-width:700px) and (orientation:portrait){.welcome-fresco{background-position:48% center}.welcome-content{padding:25px 15px}.start-screen .eyebrow{font-size:9px}}@media(max-height:550px) and (orientation:landscape){.welcome-content{padding:10px 20px}.start-screen h1{font-size:38px}.start-screen p{margin:8px 0}.start-screen .gold{margin:9px 0;min-height:42px;padding:10px 24px}}
@media(prefers-reduced-motion:reduce){.warm-light-aura,.candle-flame-shimmer,.sprite-candle-glow,.sprite-flame-shimmer{animation:none!important}.candle-flame-shimmer{display:none}}
.scene-canvas,.room-stage{container-type:inline-size}.warm-light-source .warm-light-aura{width:var(--light-size,6cqw);height:calc(var(--light-size,6cqw)*1.15)}
.welcome-fresco{inset:auto;left:50%;top:50%;width:max(100vw,calc(100dvh * 1.777));height:auto;aspect-ratio:1672/941;transform:translate(-50%,-50%);background-size:100% 100%;container-type:inline-size}
