*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent-color:#4a90d9;--text-color:#333;--bg-color:#fffffff2;--border-color:#0000001a}body{background:#ececec;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}body.is-preloading #scene{visibility:hidden}#loading-screen{z-index:1001;color:#333;background:#ececec;place-items:center;font-size:16px;display:grid;position:fixed;inset:0}#loading-screen[hidden]{display:none}#ui-overlay{z-index:999;pointer-events:none;position:fixed;top:0;left:0;right:0}#back-button{background:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;pointer-events:auto;font:inherit;color:var(--text-color);border-radius:4px;padding:10px 16px;font-weight:500;transition:transform .2s,box-shadow .2s;position:fixed;top:64px;left:20px;box-shadow:0 2px 10px #0000001a}#back-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}#back-button.hidden{display:none}#room-label{background:var(--bg-color);color:var(--text-color);opacity:.8;border-radius:4px;padding:10px 30px;font-size:14px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001a}#post-canvas{pointer-events:none;width:1200px;height:800px;position:fixed;top:0;left:-2000px}.post-panel,.category-panel,.info-panel{background:var(--bg-color);cursor:pointer;pointer-events:auto;border-radius:12px;width:300px;padding:24px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #00000026}.post-panel:hover,.category-panel:hover,.info-panel:hover{transform:translateY(-5px)scale(1.02);box-shadow:0 8px 30px #0003}.post-panel h3,.category-panel h3,.info-panel h3{color:var(--text-color);margin-bottom:12px;font-size:18px}.post-panel p,.category-panel p{color:#666;font-size:14px;line-height:1.5}.post-panel .meta,.category-panel .meta{color:#999;margin-top:12px;font-size:12px}.doorway-frame{background:linear-gradient(#8b7355 0%,#6b5344 100%);border:4px solid #5d4535;border-radius:8px;padding:8px}.post-room-content{background:var(--bg-color);border-radius:16px;width:500px;max-height:70vh;padding:32px;overflow-y:auto;box-shadow:0 8px 40px #00000040}.post-room-content h1{color:var(--text-color);margin-bottom:16px;font-size:28px}.post-room-content .post-date{color:#999;margin-bottom:24px;font-size:14px}.post-room-content .post-body{color:var(--text-color);font-size:16px;line-height:1.7}.post-room-content .post-body img{border-radius:8px;max-width:100%;margin:16px 0}
