:root{--rpx:.5px;--app-width:375px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:#e6e9df;color:#302d27}#app{width:var(--app-width);height:100dvh;margin:auto;position:relative;transform:translateZ(0);overflow:hidden;background:#faf8f3}button,input,textarea{font:inherit}button{cursor:pointer;border:0;display:block;max-width:100%;margin:0 auto;padding:0 14px;background:#eee;line-height:2.5;text-align:center;color:inherit}button:disabled{cursor:default;opacity:.55}input,textarea{display:block;max-width:100%;border:0;outline-offset:2px}img{object-fit:contain}wx-component{display:contents}wx-text{display:inline;white-space:pre-wrap}wx-scroll{display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}wx-checkgroup{display:block}input[type=checkbox]{display:inline-block;width:20px;height:20px;accent-color:#648ca3;margin:0 6px;flex-shrink:0}button img{pointer-events:none}.boot{padding:30px;text-align:center}.web-field{width:100%;height:42px;margin:10px 0;padding:8px 12px;border:1px solid #d9ddcf;border-radius:12px;background:white;font-size:16px}.web-auth-actions{display:flex;gap:8px;margin-top:12px}.web-auth-actions button{flex:1;font-size:15px;line-height:2.8;border-radius:12px;background:#e4e9dc}.web-help{font-size:13px;line-height:1.6;color:#69735e}.web-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:#26352860;padding:24px}.web-modal-box{width:100%;max-width:390px;background:#fafaf5;border-radius:20px;padding:24px;box-shadow:0 15px 50px #0003}.web-modal-box h2{font-size:19px;margin:0 0 14px}.web-modal-box p{font-size:15px;white-space:pre-wrap;line-height:1.7;max-height:60vh;overflow:auto}.web-modal-actions{display:flex;gap:12px;margin-top:20px}.web-modal-actions button{flex:1;border-radius:12px;background:#e5eadb;min-height:44px;font-size:15px}.web-toast{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);background:#26332deb;color:white;padding:14px 22px;border-radius:14px;z-index:6000;max-width:85vw;text-align:center;font-size:15px}.web-account{position:absolute;right:12px;top:10px;z-index:100;font-size:13px;background:#f6f8eecc;border-radius:12px;line-height:30px;padding:0 12px}.web-file-label{font-size:14px;line-height:1.6;display:block;margin:10px 0;color:#55674e}.web-file-label input{font-size:13px;margin-top:5px;max-width:100%}.web-import{font-size:13px;padding:5px 12px;border-radius:12px;background:#e5eadb;line-height:30px;margin:4px auto}.web-error{font-size:14px;color:#a34532;line-height:1.5;min-height:20px}

/* The wallpaper fills the display; only controls avoid the iOS safe areas. */
:root{--page-art:url('/assets/opening-exact/forest.jpg');--app-height:100vh}
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background-image:var(--page-art);background-position:center;background-size:cover;background-repeat:no-repeat}
body::before{content:"";position:fixed;inset:0;background-image:var(--page-art);background-position:center;background-size:cover;pointer-events:none}
#app{position:fixed;inset:0;height:auto;margin:0 auto;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);background:transparent!important;transform:translateZ(0)}
.page-host{height:100%;position:relative}
#app .forest-background,#app .desktop-background,#app .profile-background,#app .manage-background,#app .rooms-background,#app .tool-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover!important;object-position:center}
#app .home{height:100%;background:transparent}
#app .overlay{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,var(--app-height))}
#app .sheet{max-height:calc(var(--visible-height,var(--app-height)) - var(--safe-top));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(18px + var(--safe-bottom))}
#app .web-account{top:calc(10px + var(--safe-top))}
.web-modal{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.web-modal-box{max-height:100%;overflow-y:auto}
#app .web-data-actions{bottom:calc(85px + var(--safe-bottom))!important}
