:root{--paper:#fffaf1;--ink:#573d30;--muted:#917b6b;--line:#ecdfcf;--accent:#d4783b;--app-height:100dvh;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:#142539}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #46889a;outline-offset:3px}[hidden],.hidden{display:none!important}#app{height:var(--app-height);display:flex;flex-direction:column;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}.topbar{height:64px;flex:none;display:flex;align-items:center;gap:12px;padding:0 20px;background:#211e2c;color:#ffefd7;z-index:9}.brand{display:flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;color:#fff4dc;font-weight:950;font-size:26px;letter-spacing:-1px}.brand b{color:#ffc96b}.brand-icon{width:36px;height:40px;display:flex;align-items:center}.brand-sub{font-size:10px;letter-spacing:2px;color:#d4be9d}.header-spacer{flex:1;min-width:0}.server-indicator{font-size:11px;white-space:nowrap}.server-indicator i,.dot,.status-spot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#68d6a2}.chip-button{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid #5d4d55;border-radius:14px;background:#302936;color:#fff2dc;font-size:12px;white-space:nowrap}.chip-button strong{color:#ffd27c}.account-button{background:#f3ca7e;color:#513624;border-color:#f3ca7e;font-weight:900}.layout{position:relative;flex:1;min-height:0;display:flex}.world-shell{position:relative;flex:1;min-width:0;background:radial-gradient(ellipse at center,#2a4050,#122238);overflow:hidden}#world{display:block;width:100%;height:100%;touch-action:none;outline:none}.world-shade{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px #0c172244}.scene-header{position:absolute;top:16px;left:16px;right:185px;pointer-events:none}.scene-heading{max-width:285px;padding:16px 18px;border:1px solid #ffffff20;border-radius:20px;background:#16243ad9;color:#fff3d6;backdrop-filter:blur(8px)}.scene-label{font-size:10px;letter-spacing:1px;font-weight:900;color:#ffdc8b}.scene-heading h1{font-size:21px;line-height:1.25;margin:8px 0}.scene-heading p{font-size:12px;margin:0;color:#dfceb4}.scene-mini-stats{display:none}.zoom-controls{position:absolute;left:14px;top:180px;z-index:3;display:grid;gap:7px}.zoom-controls button{height:44px;width:44px;border:1px solid #ead8bb;border-radius:13px;background:#fff8eb;color:#63472d;font-size:24px;box-shadow:0 5px 14px #11213530}.quick-dock{position:absolute;right:14px;top:16px;z-index:4;display:grid;gap:8px}.dock-btn{display:flex;align-items:center;gap:8px;min-height:48px;min-width:138px;padding:8px 13px;border:1px solid #f4d6a6;border-radius:16px;background:#fff8eeed;color:#62482f;font-weight:900;font-size:12px;box-shadow:0 6px 18px #1524372c}.chibi-icon{display:inline-block;width:28px;height:28px;object-fit:contain;vertical-align:middle;flex:none}.brand-icon .chibi-icon{width:36px;height:40px}.chip-button .chibi-icon{width:21px;height:21px}.scene-bottom{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;max-width:calc(100% - 20px)}.toolbar{display:flex;gap:4px;padding:6px;border:1px solid #ffffff3b;border-radius:20px;background:#282336ed;box-shadow:0 8px 20px #0c17264d}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:60px;min-height:58px;padding:6px;border:0;border-radius:14px;color:#ffe9c4;background:transparent}.tool.primary{background:#f0bf77;color:#553522}.tool span{height:29px}.tool small{font-size:10px;font-weight:900}.tool .chibi-icon{width:29px;height:29px}.mobile-tool{display:none}.scene-help{position:absolute;bottom:100px;left:16px;border-radius:12px;background:#222437c7;color:#fff4da;padding:10px 12px;font-size:10px;pointer-events:none}.minimap{position:absolute;bottom:100px;right:14px;padding:9px;border:1px solid #fff3;border-radius:14px;background:#28273ad9;z-index:3;color:#fff0ce}.minimap-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;font-weight:900;letter-spacing:1px}.minimap button{border:0;background:transparent;color:inherit;min-width:30px;min-height:28px}.minimap canvas{display:block;width:165px;height:100px;border-radius:9px}.minimap.collapsed canvas{display:none}.notice{position:absolute;left:50%;top:14px;transform:translate(-50%,-10px);max-width:calc(100% - 28px);z-index:30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;border-radius:13px;padding:11px 16px;background:#fff3d8;color:#71482d;font-size:12px;font-weight:800;box-shadow:0 6px 24px #10203835}.notice.show{opacity:1;transform:translate(-50%,0)}.statusbar{height:26px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#b7babd;background:#191e2c;font-size:9px}.statusbar a{color:#efd19e}.art-loading{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#ffefd2;background:#17273bec;font-weight:900}.art-loading button{padding:11px 18px;border:0;border-radius:12px;background:#f2c881;color:#62462d}.art-loading:before{content:'';width:24px;height:24px;border:3px solid #f1cb8360;border-top-color:#f6cf86;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.sidebar{position:absolute;top:12px;right:12px;bottom:12px;width:390px;max-width:calc(100% - 24px);z-index:10;display:flex;flex-direction:column;min-height:0;border:1px solid #e7d5bb;border-radius:24px;background:var(--paper);box-shadow:0 12px 50px #0e1b3a60;overflow:hidden;transform:translateX(calc(100% + 30px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.sidebar.is-open{transform:translateX(0);opacity:1;pointer-events:auto}.side-top{flex:none;display:flex;align-items:center;justify-content:space-between;padding:17px 18px 12px;background:var(--paper)}.eyebrow{color:#ac7c51;font-size:9px;font-weight:950;letter-spacing:1.5px}.side-top h2{font-size:21px;margin:4px 0;color:#6a422c;letter-spacing:-.5px}.side-top h2 span{color:#d99b4a}.icon-btn,.modal-close{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#f1e6d6;color:#75543b;font-size:25px}.tabs{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0 12px 11px;border-bottom:1px solid var(--line)}.tab{display:flex;justify-content:center;align-items:center;gap:4px;min-height:42px;border:0;border-radius:12px;background:transparent;color:#907760;font-size:11px;font-weight:900}.tab .chibi-icon{width:21px;height:21px}.tab.active{color:#764320;background:#f9e4c5}.tab-panel{display:none;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.tab-panel.active{display:flex;flex-direction:column}.section-explainer{padding:12px 16px;color:#8a7460;font-size:12px;line-height:1.5;flex:none}.chat-note{flex:none;margin:12px 14px 0;padding:11px;border-radius:12px;background:#fff0ce;color:#8f6539;font-size:11px;line-height:1.5}.chat-messages{display:flex;flex-direction:column;gap:15px;flex:1;min-height:0;padding:14px;overflow:auto;overscroll-behavior:contain}.chat-row{display:flex;align-items:flex-start;gap:9px}.chat-avatar{display:grid;place-items:center;width:33px;height:38px;border-radius:11px;background:#f7e4c4;flex:none}.chat-avatar img{width:26px;height:34px;object-fit:contain}.chat-content{flex:1;min-width:0}.chat-content header{display:flex;gap:8px;align-items:baseline}.chat-content b{font-size:12px}.chat-content time{font-size:9px;color:#9e8d79}.chat-content p{margin:4px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.chat-empty{padding:22px 15px;border-radius:14px;background:#f5ede1;color:#9b8268;text-align:center;font-size:12px;line-height:1.6}.chat-form{flex:none;display:flex;gap:8px;padding:11px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.chat-form input{flex:1;min-width:0;border:1px solid #e5d8c7;border-radius:13px;background:white;padding:12px;font-size:16px}.chat-form button{width:46px;min-height:46px;border:0;border-radius:13px;background:#ce7a42;color:white;font-size:20px}.report-link{border:0;background:transparent;color:#9b7e67;text-decoration:underline;padding:4px 0;font-size:10px}.menu-list{display:grid;gap:9px;padding:0 12px 14px;overflow:auto}.menu-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #eee1cf;border-radius:16px;background:#fffdf9}.menu-art{width:64px;height:64px;display:grid;place-items:center;flex:none;border-radius:13px;background:#fff2da}.food-thumb{width:60px;height:60px;object-fit:contain}.menu-main{flex:1;min-width:0}.menu-main b{font-size:13px}.menu-main small{display:block;margin-top:3px;font-size:10px;color:#9d826a}.menu-main strong{display:block;margin-top:5px;font-size:12px;color:#b66c32}.small-action{min-height:44px;padding:8px 12px;border:0;border-radius:12px;background:#d78548;color:white;font-size:12px;font-weight:900}.panel-footer{flex:none;padding:12px 16px;border-top:1px solid var(--line);font-size:11px;line-height:1.5;color:#9a7d63}.music-form{display:grid;gap:12px;padding:0 16px 14px}.music-form label,.form-field{display:grid;gap:6px;font-size:12px;font-weight:800;color:#836d59}.music-form input,.form-field input,.form-field select{width:100%;padding:11px 12px;min-height:46px;border:1px solid #e6d8c6;border-radius:12px;background:white;color:#574031;font-size:16px}.music-list{padding:0 16px 16px}.music-item{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.music-item b{display:block}.music-item small{color:#9e8267}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:11px 16px;border:1px solid #e8d8bf;border-radius:13px;background:#fffaf0;color:#805331;font-size:13px;font-weight:900}.btn-primary{color:white;background:#ce7d42;border-color:#ce7d42;box-shadow:0 3px 0 #b56835}.btn-secondary{background:#fae8cb;border-color:#fae8cb;color:#966235}.btn-full{width:100%}.demo-banner{border-radius:12px;background:#fff0cf;color:#94683a;font-size:12px;line-height:1.5;padding:11px;margin-bottom:12px}
.modal-root{position:fixed;inset:0;z-index:30;pointer-events:none}.modal-root.has-modal{display:flex;align-items:center;justify-content:center;padding:12px;background:#131c2b9c;backdrop-filter:blur(5px);pointer-events:auto}.modal{position:relative;width:100%;max-width:520px;max-height:calc(var(--app-height) - 24px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid #ead7b9;border-radius:24px;background:var(--paper);box-shadow:0 20px 80px #0e17286b}.modal.wide{max-width:860px}.modal-close{position:sticky;float:right;right:0;top:0;z-index:8;margin:-10px -10px 0 6px}.modal h3{margin:5px 35px 9px 0;font-size:24px;line-height:1.25;color:#71452d}.modal p{font-size:12px;line-height:1.6;color:#977d64}.modal-form{display:grid;gap:13px;min-width:0}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.join-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.join-preview-panel{position:sticky;top:0;text-align:center;padding:12px;border-radius:20px;background:#f9eaca}.join-caption{font-weight:950;font-size:13px;color:#805631}.join-caption-secondary{font-size:10px;line-height:1.5;margin-top:5px;color:#9a7c5c}.join-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;color:#8b6a4d}.join-check input{width:20px;height:20px;flex:none;accent-color:#c67a3e}.join-form fieldset{min-width:0}.join-step[hidden]{display:none}.join-step{display:grid;gap:13px}.join-progress{display:flex;justify-content:space-between;font-size:11px;font-weight:900;color:#99764f}.join-progress .active{color:#885022}.join-actions{display:flex;gap:8px}.join-actions>*{flex:1}.avatar-controls{display:grid;gap:10px;overflow:visible;padding:0 16px 16px}.avatar-preview{position:relative;display:flex;align-items:center;justify-content:center;height:185px;flex:none;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at center,#fffbec,#f7e6c6)}.avatar-preview canvas{width:174px;height:186px;object-fit:contain;transform-origin:50% 90%;animation:breathe 3.5s ease-in-out infinite}.avatar-controls>.avatar-preview{position:sticky;top:0;z-index:2;box-shadow:0 7px 14px #9c754815}.join-preview-panel .avatar-preview{height:235px;background:transparent}.join-preview-panel canvas{height:230px;width:auto}.avatar-save{position:sticky;bottom:0;z-index:3;padding:10px 0 max(5px,env(safe-area-inset-bottom));background:var(--paper)}.avatar-save .btn{width:100%}.cosmetic-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:5px 0}.cosmetic-tab{min-height:42px;padding:6px 2px;border:1px solid #e6d6bd;border-radius:13px;color:#896344;background:#fff8e9;font-size:11px;font-weight:950}.cosmetic-tab[aria-pressed=true]{color:#fff7df;background:#85583a;border-color:#85583a}.cosmetic-page{display:grid;gap:12px;padding-top:9px}.cosmetic-group{min-width:0;border:0;padding:0;margin:0}.cosmetic-group legend{padding:0;margin:0 0 8px;font-size:12px;font-weight:950;color:#826043}.cosmetic-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.cosmetic-card{position:relative;min-width:0;min-height:96px;padding:6px 4px 8px;border:2px solid #eadcc7;border-radius:15px;background:#fffdf7;color:#795538;transition:background .15s,border-color .15s}.cosmetic-card canvas{display:block;pointer-events:none;width:100%;height:64px;object-fit:contain}.choice-label{display:block;font-size:10px;line-height:1.3;font-weight:900}.cosmetic-card[aria-pressed=true]{border-color:#c48941;background:#ffedbf;box-shadow:0 0 0 2px #f1d18d44}.cosmetic-card[aria-pressed=true]:after{content:'✓';position:absolute;top:2px;right:5px;color:#825422;font-size:12px;font-weight:950}.color-options{grid-template-columns:repeat(6,minmax(0,1fr))}.color-card{min-height:56px;padding:6px 2px;border-radius:12px}.color-swatch{display:block;width:25px;height:25px;margin:0 auto 4px;border-radius:50%;box-shadow:inset 0 0 0 1px #0001,0 2px 3px #73563322}.color-card .choice-label{font-size:8px}.color-card:after{font-size:10px!important;right:2px!important}.preview-poses{display:flex;justify-content:center;gap:6px;margin:13px 0 8px}.preview-poses button{min-height:36px;padding:6px 12px;border:1px solid #e8d7be;border-radius:20px;background:#fff8e9;color:#9b744d;font-size:10px;font-weight:850}.preview-poses button[aria-pressed=true]{background:#f4dfb8;color:#784e2a}.picker-hint{font-size:10px!important;line-height:1.5;color:#a28465;margin:4px 0 0;min-height:30px}.avatar-picker [hidden]{display:none!important}body[data-art-state=loading] .avatar-preview:after{content:'Đang chuẩn bị nhân vật…';position:absolute;color:#98734a;font-size:12px}body[data-art-state=loading] .avatar-preview canvas{visibility:hidden}@keyframes breathe{50%{transform:translateY(-2px) rotate(.4deg)}}
@media(max-width:1120px){.brand-sub{display:none}.server-indicator{display:none}}
@media(max-width:1023px),(max-height:540px){.topbar{height:58px;gap:7px;padding:0 10px}.brand{font-size:21px;gap:4px}.brand-icon{width:28px;height:34px}.brand-icon .chibi-icon{width:28px;height:34px}.chip-button{min-height:38px;padding:7px 9px;font-size:11px;gap:5px}.chip-button .chibi-icon{width:18px;height:18px}.online-label,.account-button span,.brand-sub,.statusbar,.scene-header,.scene-help{display:none}.account-button{width:38px;justify-content:center}.account-button .chibi-icon{width:25px;height:29px}.zoom-controls{top:12px;left:10px;gap:6px}.zoom-controls button{height:42px;width:42px}.quick-dock{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:10px;right:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.dock-btn{min-width:0;min-height:61px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px 2px;border-radius:15px;font-size:10px}.dock-btn .chibi-icon{width:29px;height:29px}.scene-bottom{bottom:calc(84px + env(safe-area-inset-bottom));width:auto}.toolbar{gap:4px;padding:4px}.tool{min-width:52px;min-height:54px;padding:4px}.tool small{font-size:9px}.tool .chibi-icon{width:26px;height:26px}#openMenu,#toggleChat{display:none}.minimap{bottom:auto;top:12px;right:10px;padding:6px}.minimap canvas{width:96px;height:58px}.minimap-title{font-size:8px}.notice{top:148px;font-size:11px}.sidebar{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-width:none;height:calc(var(--app-height) * .92);max-height:880px;border-radius:23px 23px 0 0;transform:translateY(105%)}.sidebar.is-open{transform:translateY(0)}.side-top{padding:11px 15px 7px}.side-top h2{font-size:20px}.side-top .eyebrow{font-size:8px}.tabs{padding:0 10px 7px}.tab{min-height:40px;font-size:10px}.tab .chibi-icon{width:20px;height:20px}.layout:has(.sidebar.is-open) .quick-dock,.layout:has(.sidebar.is-open) .minimap,.layout:has(.sidebar.is-open) .scene-bottom{visibility:hidden}.section-explainer{padding:10px 15px;font-size:11px}.avatar-controls{padding:0 14px 14px}.avatar-controls>.avatar-preview{height:176px}.avatar-controls>.avatar-preview canvas{height:175px;width:auto}.cosmetic-card{min-height:91px}.cosmetic-card canvas{height:59px}.color-card{min-height:54px}.modal-root.has-modal{padding:6px}.modal{max-height:calc(var(--app-height) - 12px);padding:17px;border-radius:22px}.modal h3{font-size:20px}.modal-close{min-width:40px;min-height:40px;margin:-7px -6px 0 4px}.join-layout{display:block}.join-preview-panel{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;padding:5px 10px;margin:12px 0}.join-preview-panel .avatar-preview{height:130px;min-width:110px}.join-preview-panel canvas{height:136px;width:auto}.join-caption-text{max-width:150px;text-align:left}.join-caption-secondary{font-size:9px}.join-form{gap:11px}.join-progress{font-size:10px}.modal-grid{grid-template-columns:1fr}.menu-art{width:61px;height:61px}.menu-main b{font-size:12px}.small-action{padding:7px 10px}.music-form input,.form-field input,.form-field select,.chat-form input{font-size:16px}}
@media(max-width:360px){.topbar{gap:5px;padding:0 7px}.brand{font-size:18px}.brand-icon{width:24px}.chip-button{padding:6px;gap:3px;font-size:10px}.cosmetic-options{gap:5px}.cosmetic-card{padding:5px 2px}.choice-label{font-size:9px}.cosmetic-tabs{gap:3px}.cosmetic-tab{font-size:10px}.color-swatch{width:22px;height:22px}.color-card .choice-label{font-size:7px}}
@media(max-height:540px) and (max-width:940px){.sidebar{height:var(--app-height);max-height:none;border-radius:0}.avatar-controls>.avatar-preview{height:108px}.avatar-controls>.avatar-preview canvas{height:108px}.join-preview-panel{float:left;width:32%;margin-right:12px}.cosmetic-card canvas{height:48px}.scene-bottom{bottom:74px}.quick-dock{bottom:6px}.dock-btn{min-height:52px}.side-top{padding:6px 12px}.tabs{padding-bottom:3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.selected-color{font-weight:700;color:#a18568}.color-card .choice-label{display:none}.color-card{min-height:46px;padding:8px 2px}.color-swatch{margin-bottom:0}.color-card:after{top:0!important;right:3px!important}@media(max-width:360px){.color-options{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-label{font-size:10px}}
.avatar-controls .cosmetic-tabs{position:static;background:var(--paper);padding-bottom:8px}.cosmetic-card{scroll-margin-top:245px}@media(max-width:1023px){.avatar-controls .cosmetic-tabs{top:auto}.cosmetic-card{scroll-margin-top:238px}}@media(max-height:540px) and (max-width:940px){.avatar-controls{grid-template-columns:135px minmax(0,1fr);grid-template-rows:152px auto;column-gap:14px;align-items:start}.avatar-controls>.avatar-preview{grid-column:1;grid-row:1;height:148px}.avatar-controls>.avatar-preview canvas{height:146px}.avatar-controls>.avatar-picker{grid-column:2;grid-row:1 / span 2;min-width:0}.avatar-controls>.avatar-save{grid-column:1;grid-row:2;top:158px;bottom:auto;align-self:start;padding-top:3px}.avatar-controls .cosmetic-tabs{top:auto}.cosmetic-card{scroll-margin-top:48px}}

/* v0.7: independent preview, choices and save area; no overlapping sticky controls. */
#panel-style{overflow:hidden}#panel-style .section-explainer{padding-bottom:8px}
#avatarEditor{flex:1;min-height:0;display:flex;flex-direction:column}
.avatar-controls{flex:1;min-height:0;display:grid;grid-template-rows:185px minmax(0,1fr) auto;gap:8px;overflow:hidden;padding-bottom:8px}
.avatar-controls>.avatar-preview{position:relative;top:auto;grid-row:1}
.avatar-controls>.avatar-picker{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 3px 12px;grid-row:2}
.avatar-controls .cosmetic-tabs{position:sticky;top:0;z-index:2;padding-top:4px;box-shadow:0 4px 0 var(--paper)}
.avatar-controls>.avatar-save{position:static;grid-row:3;padding:4px 0 max(5px,env(safe-area-inset-bottom))}
.join-form .cosmetic-tabs{position:static;top:auto}.join-form .cosmetic-card{scroll-margin-top:12px}
.orientation-tip{position:absolute;left:64px;right:10px;top:12px;z-index:4;display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e8c587;border-radius:14px;background:#fff5deed;color:#68472e;box-shadow:0 4px 14px #10203530;font-size:11px;font-weight:850}.orientation-tip small{display:block;font-size:9px;font-weight:600;line-height:1.5}.rotate-symbol{font-size:29px}.orientation-tip button{margin-left:auto;flex:none;min-width:36px;min-height:36px;border:0;border-radius:50%;background:#efdfc3;color:#775332;font-size:22px}
.layout:has(.sidebar.is-open) .orientation-tip{visibility:hidden}
@media(min-width:941px){.scene-header{top:12px;right:175px}.scene-heading{max-width:none;width:max-content;padding:8px 13px;border-radius:12px}.scene-heading h1{font-size:15px;margin:3px 0}.scene-heading p{display:none}.zoom-controls{top:105px}.sidebar{width:400px}.scene-help{bottom:96px}.minimap canvas{height:auto;aspect-ratio:3400 / 2040}}
@media(max-width:1023px){.avatar-controls{grid-template-rows:156px minmax(0,1fr) auto}.avatar-controls>.avatar-preview{height:156px}.avatar-controls>.avatar-preview canvas{height:156px}.minimap{top:100px}.server-indicator{display:none}}
@media(max-height:540px) and (max-width:940px){.avatar-controls{grid-template-columns:135px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.avatar-controls>.avatar-preview{grid-column:1;grid-row:1;height:148px}.avatar-controls>.avatar-picker{grid-column:2;grid-row:1 / span 2}.avatar-controls>.avatar-save{grid-column:1;grid-row:2}.minimap{top:12px}.join-preview-panel{position:static}.cosmetic-tabs{top:0}}
@media(max-height:540px) and (max-width:940px) and (orientation:landscape){.scene-bottom{left:10px;bottom:6px;transform:none;max-width:235px}.quick-dock{left:250px;right:10px;bottom:6px;gap:6px}.dock-btn{min-height:58px}.toolbar{min-height:58px}.tool{min-width:51px}.layout:has(.sidebar.is-open) .zoom-controls{visibility:hidden}}
.avatar-controls .cosmetic-card{scroll-margin-top:58px;scroll-margin-bottom:8px}
@media(max-width:1023px) and (max-height:650px) and (orientation:portrait){.avatar-controls{grid-template-rows:100px minmax(0,1fr) auto}.avatar-controls>.avatar-preview{height:100px}.avatar-controls>.avatar-preview canvas{height:108px}.section-explainer{padding-top:7px;padding-bottom:7px}}
/* v0.8: the rendered venue has no tool overlay. Desktop tools live below it. */
.venue-frame{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
.venue-frame>.world-shell{flex:1;min-height:0;width:100%}
.venue-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;flex:none;padding:8px 12px;background:#211f2e;border-top:1px solid #4d4252}
.venue-tools .zoom-controls,.venue-tools .quick-dock,.venue-tools .scene-bottom{position:static;inset:auto;transform:none;visibility:visible!important;max-width:none;width:auto;z-index:auto}
.venue-tools .zoom-controls{display:flex;gap:5px}.venue-tools .zoom-controls button{width:44px;height:44px}
.venue-tools .quick-dock{display:flex;gap:5px}.venue-tools .dock-btn{min-width:72px;min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px 8px;font-size:10px;border-radius:12px}.venue-tools .dock-btn .chibi-icon{width:25px;height:25px}
.venue-tools .toolbar{min-height:54px;padding:3px;border-radius:14px;box-shadow:none}.venue-tools .tool{min-width:54px;min-height:48px}.venue-tools .tool small{font-size:9px}
.tools-toggle{display:none}
.sidebar{position:relative;inset:auto;display:none;transform:none;opacity:1;pointer-events:auto;flex:none;max-width:42%;margin:0;border-radius:0;border-width:0 0 0 1px;box-shadow:none;transition:none}
.sidebar.is-open{display:flex;transform:none}
.menu-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px}.menu-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8px}.menu-actions .small-action{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;gap:3px;padding:8px;font-size:12px}.menu-actions small{display:block;font-size:10px;font-weight:650}.gift-action{background:#f9e7c9;color:#81502e;border:1px solid #dfbc87}.checkout-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:14px;padding:16px;background:#f8e9ce;font-size:13px}.checkout-summary strong{font-size:20px;color:#9a5428;white-space:nowrap}.checkout-error{color:#9a4f2e!important}
.orientation-tip{left:12px;max-width:340px;right:12px}.notice{z-index:12}
@media(max-width:1023px),(max-height:540px){
 .tools-toggle{display:flex;width:40px;justify-content:center}.tools-toggle span,#onlineButton{display:none}.topbar{gap:7px}.tools-toggle .chibi-icon{width:23px;height:23px}.venue-tools{display:none;gap:7px;padding:7px 8px max(7px,env(safe-area-inset-bottom))}.venue-frame.tools-open .venue-tools{display:flex}.venue-tools .zoom-controls{gap:4px}.venue-tools .zoom-controls button{width:40px;height:40px}.venue-tools .quick-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.venue-tools .dock-btn{min-width:0;min-height:48px;padding:4px}.venue-tools .toolbar{min-height:48px}.venue-tools .tool{min-width:43px;min-height:44px}.venue-tools .scene-bottom{flex:1}.venue-tools .toolbar{justify-content:space-around}.venue-tools #openMenu,.venue-tools #toggleChat{display:none}.venue-tools .quick-dock{order:3}.venue-tools .zoom-controls{order:1}.venue-tools .scene-bottom{order:2}
 .sidebar{position:fixed;inset:auto 0 0;max-width:none;width:100%;height:calc(var(--app-height) * .94);border-radius:22px 22px 0 0;box-shadow:0 -8px 35px #101d3545}.sidebar.is-open{display:flex}.layout:has(.sidebar.is-open) .orientation-tip{visibility:hidden}.menu-actions .small-action{min-height:48px}
}
@media(max-height:540px) and (max-width:940px) and (orientation:landscape){.venue-tools{flex-wrap:nowrap;padding:5px 8px;gap:8px}.venue-tools .zoom-controls{flex:none}.venue-tools .quick-dock{width:auto;display:flex;flex:1}.venue-tools .dock-btn{flex:1;min-width:52px}.venue-tools .scene-bottom{flex:none}.venue-tools .tool{min-width:43px}.sidebar{height:var(--app-height);border-radius:0}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.menu-main b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.avatar-preview canvas{animation:none}}
.venue-tools #openMenu,.venue-tools #toggleChat{display:none}
@media(max-width:1023px),(max-height:540px){.tools-toggle{width:48px;min-height:44px;flex-direction:column;gap:0;padding:2px}.tools-toggle span{display:block!important;font-size:8px;line-height:1.1;font-weight:900}.tools-toggle .chibi-icon{width:22px;height:22px}}
@media(max-height:540px) and (max-width:660px) and (orientation:landscape){.venue-tools{flex-wrap:wrap;gap:5px}.venue-tools .quick-dock{width:100%;flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.venue-tools .scene-bottom{flex:1}.venue-tools .toolbar{justify-content:space-around}.venue-tools .dock-btn{min-width:0;min-height:44px}}
@media(max-height:540px) and (max-width:940px) and (orientation:landscape){.avatar-controls>.avatar-preview{height:100%;max-height:148px;min-height:0}.avatar-controls>.avatar-preview canvas{height:100%;max-height:146px;width:auto}}
/* v0.9: community links sit beside the logo; mobile retains the compact header. */
.social-links{display:flex;align-items:center;gap:6px;margin-left:6px}.social-links a{display:flex;align-items:center;gap:6px;min-height:38px;padding:5px 10px;border:1px solid #665762;border-radius:12px;color:#fff0d3;text-decoration:none;font-size:11px;font-weight:850}.social-links a:hover{background:#493746}.social-links .chibi-icon{width:24px;height:24px}.facebook-mark{display:grid;place-items:center;width:23px;height:24px;border-radius:7px;background:#2876d5;color:white;font:bold 25px Arial;line-height:1;padding-top:4px;overflow:hidden}
@media(max-width:1300px){.brand-sub{display:none}.server-indicator{display:none}}
@media(max-width:1100px){.social-links a>span:not(.facebook-mark){display:none}.social-links a{width:38px;justify-content:center;padding:5px}}
@media(max-width:1023px),(max-height:540px){.social-links{display:none}.venue-tools .zoom-controls{flex-wrap:wrap;max-width:176px}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Install is always optional and never covers the venue. */
[hidden]{display:none!important}.install-button{white-space:nowrap;min-height:44px}.pwa-banner{position:fixed;z-index:1000;left:50%;top:76px;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;background:#fff2d6;color:#503824;border:1px solid #d7af73;border-radius:16px;padding:12px;box-shadow:0 6px 24px #0004;font-size:14px}.pwa-banner button{padding:10px;border:0;border-radius:10px;font:inherit;font-weight:800;background:#805a3c;color:white;cursor:pointer}.install-help{position:fixed;inset:0;z-index:2000;background:#142539bb;display:grid;place-items:center;padding:16px}.install-help>div{background:#fff9ef;color:#68452f;border-radius:24px;padding:24px;max-width:420px;line-height:1.6}.install-help h2{font-size:24px}.install-help button{min-height:48px}.install-button{order:0}@media(max-width:1023px),(max-height:540px){.install-button{width:44px;min-width:44px;padding:8px;order:2}.install-button span{display:none}.topbar{gap:5px}.pwa-banner{top:64px}}

/* v0.11: consistent controls, safe areas, bounded chat and compact landscape panels. */
.install-icon{display:block;flex:none}.install-button{justify-content:center;align-items:center;flex-shrink:0}.install-short{display:none}
.topbar{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.chat-window-note{flex:none;padding:5px 14px;color:#8b725e;font-size:10px;background:#fbf0dd}.chat-new{align-self:center;flex:none;min-height:40px;padding:8px 18px;margin:6px;border:1px solid #d5ae72;border-radius:20px;background:#f5dba9;color:#68462e;font-weight:800}.chat-messages{overflow-anchor:none;min-width:0}.chat-content{min-width:0;overflow-wrap:anywhere}.chat-form{padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat-form button{min-width:44px;min-height:44px}.chat-form input{min-width:0}
.install-help{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.install-help>div{max-height:calc(var(--app-height) - 24px);overflow:auto}.install-help button{width:100%}
.modal-root.has-modal{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.modal{max-height:calc(var(--app-height) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))}
@media(max-width:1023px),(max-height:540px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px 56px 44px;gap:4px;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));align-items:center}
 .topbar .brand{grid-column:1;grid-row:1;min-width:0;font-size:20px;gap:3px;justify-self:start}.brand-icon,.brand-icon .chibi-icon{width:25px;height:30px}.topbar .header-spacer,.topbar .social-links,.topbar .brand-sub,.topbar .server-indicator,.topbar #onlineButton{display:none}
 .topbar #installApp,.topbar #toolsToggle,.topbar #walletButton,.topbar #accountButton{grid-row:1;order:0;width:100%;height:44px;min-width:0;min-height:44px;max-height:44px;padding:3px;justify-content:center;align-items:center;margin:0;border-radius:12px;box-sizing:border-box;line-height:1.1}
 .topbar #installApp{grid-column:2;flex-direction:column;gap:2px}.topbar #toolsToggle{grid-column:3;flex-direction:column;gap:2px}.topbar #walletButton{grid-column:4;flex-direction:column;gap:2px}.topbar #accountButton{grid-column:5}
 .install-button .install-full,.wallet-unit{display:none}.install-short{display:block!important;font-size:8px;font-weight:800}.install-icon{width:19px;height:19px}.tools-toggle .chibi-icon{width:19px;height:19px}.tools-toggle span{font-size:8px}.wallet .chibi-icon{width:16px;height:16px}#coinBalance{display:block;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
 .venue-tools{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.venue-tools .zoom-controls button{width:44px;height:44px}.venue-tools .tool{min-width:44px;min-height:44px}.close-sidebar,.modal-close{min-width:44px;min-height:44px}.tab{min-height:44px}.cosmetic-tab{min-height:44px}.orientation-tip button{min-width:44px;min-height:44px;flex:none}.side-top{flex:none;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.tabs{flex:none}.chat-note{flex:none}.panel-footer{flex:none;padding-bottom:max(12px,env(safe-area-inset-bottom))}.avatar-save{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .sidebar{height:calc(var(--app-height) - env(safe-area-inset-top));max-height:none}.sidebar .tab-panel{min-height:0}.menu-card{min-width:0}.menu-main{min-width:0;overflow-wrap:anywhere}.menu-actions{gap:6px}.menu-actions .small-action{font-size:11px;padding:8px 5px}.checkout-summary{flex-wrap:wrap}.pwa-banner{top:calc(68px + env(safe-area-inset-top));white-space:normal;max-width:calc(100vw - 24px)}
}
@media(max-width:360px){.topbar .brand{font-size:18px}.topbar{grid-template-columns:minmax(0,1fr) 44px 44px 52px 44px}.brand-icon,.brand-icon .chibi-icon{width:23px;height:28px}#coinBalance{max-width:45px}}
@media(max-height:540px) and (max-width:940px) and (orientation:landscape){
 .topbar{height:calc(52px + env(safe-area-inset-top))}.sidebar{height:calc(var(--app-height) - env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border-radius:16px 16px 0 0}.side-top{padding-top:5px;padding-bottom:2px}.side-top .eyebrow{display:none}.side-top h2{font-size:18px;margin:0}.tabs{padding-bottom:3px}.chat-note{padding:5px 12px;font-size:10px}.chat-window-note{padding:3px 12px}.chat-form{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.tab{min-height:44px}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.section-explainer{padding:7px 12px}
}
@media(max-width:1023px),(max-height:540px){.report-link{min-height:44px;min-width:44px}.music-form .btn{min-height:44px}.cosmetic-tab{white-space:normal;line-height:1.2}.notice{max-width:calc(100% - 24px);overflow-wrap:anywhere}}
.world-shell{isolation:isolate}.sidebar{z-index:20}@media(max-width:1023px),(max-height:540px){.layout:has(.sidebar.is-open) .notice{display:none}}
.modal-root.has-modal,.install-help{top:var(--viewport-offset-top,0px);bottom:auto;height:var(--app-height)}
@media(max-width:1023px),(max-height:540px){.sidebar{bottom:var(--keyboard-inset,0px)}}
.join-next-actions{display:grid;gap:8px}.modal-close{position:sticky;top:0;z-index:8}
@media(max-width:1023px),(max-height:540px){.join-next-actions{position:sticky;bottom:-1px;z-index:5;padding:8px 0 2px;background:var(--paper);box-shadow:0 -5px 12px var(--paper)}.join-next-actions button{min-height:46px}.join-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.join-actions button{min-width:0;white-space:normal}}
@media(max-width:1023px),(max-height:540px){.join-actions{position:sticky;bottom:0;background:var(--paper);padding:8px 0;z-index:5}.join-modal:has([data-join-step="2"]:not([hidden])) .join-preview-panel{display:none}}
.topbar .chip-button{min-height:44px}.account-button{max-width:180px}.account-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.social-links a{min-height:44px}
@media(min-width:781px) and (max-width:1100px){.social-links a{width:44px}.online-label{display:none}.account-button{max-width:150px}}
/* Status messages have their own layout row rather than covering venue/panel controls. */
#app>.pwa-banner{position:static;inset:auto;transform:none;z-index:auto;width:100%;max-width:none;margin:0;display:flex;justify-content:center;align-items:center;gap:10px;flex:none;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));border-radius:0;border-width:0 0 1px;box-shadow:none;font-size:12px;line-height:1.4}
#app>.pwa-banner button{flex:none;min-height:44px;min-width:44px}
@media(max-width:1023px),(max-height:540px){#app:has(.sidebar.is-open)>.pwa-banner{display:none}}
/* Public information remains reachable without covering the venue. */
.statusbar.site-footer{display:flex;align-items:center;gap:8px 18px;min-height:44px;height:auto;flex:none;padding:0 max(16px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));font-size:10px}.footer-status{flex:none}.site-footer .footer-links{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:0;gap:0 14px;flex-wrap:wrap}.site-footer a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;color:#efd19e;font-size:10px}.site-footer .hidden{display:none!important}
@media(max-width:1023px),(max-height:540px){.statusbar.site-footer{display:flex;min-height:44px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));overflow:hidden}.site-footer .footer-status{display:none}.site-footer .footer-links{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:16px;scrollbar-width:thin}.site-footer a{flex:none;font-size:11px}.site-footer .footer-links:focus-within{scroll-behavior:auto}}
/* Desktop workspace: camera left, persistent conversations right, actions bottom-center. */
.camera-rail{display:flex;flex:none;align-items:flex-start;width:64px;padding:14px 10px;background:#211f2e;border-right:1px solid #514452}.camera-rail .zoom-controls{position:static;display:flex;flex-direction:column;gap:10px}.camera-rail .zoom-controls button{width:44px;height:44px;margin:0;box-shadow:none}
@media(min-width:1024px) and (min-height:541px){.layout{display:flex}.venue-frame{flex:1;min-width:0}.venue-tools{min-height:64px;justify-content:center;padding:8px 12px}.venue-tools .quick-dock{display:none}.venue-tools .scene-bottom{flex:none}.venue-tools .toolbar{min-height:48px}.venue-tools .tool{min-width:68px;min-height:48px}.sidebar{display:flex;width:clamp(300px,26vw,380px);max-width:none;border-radius:0}.close-sidebar{display:none}.sidebar .tabs{flex:none}.sidebar .tab-panel{min-height:0}.side-top{flex:none}.site-footer .footer-status{display:none}}
@media(max-width:1023px),(max-height:540px){.camera-rail{display:none}.venue-tools .quick-dock{display:grid}.venue-tools .zoom-controls{display:flex}.sidebar{display:none}.sidebar.is-open{display:flex}}

@media(max-width:1023px),(max-height:540px){.venue-tools .zoom-controls{flex-wrap:nowrap;max-width:none;flex:none;gap:4px}}
/* v0.13: a single icon rail leaves the whole venue available by default. */
.layout{isolation:auto}.venue-frame{flex:1;min-width:0}.camera-rail{display:none}
.venue-tools.tool-rail{display:flex;position:relative;inset:auto;order:2;flex:none;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;width:56px;min-height:0;max-height:100%;padding:8px 6px;gap:10px;overflow-y:auto;overscroll-behavior:contain;background:#211f2e;border:0;border-left:1px solid #4d4252;scrollbar-width:thin}
.tool-rail .quick-dock,.tool-rail .toolbar,.tool-rail .zoom-controls{display:flex!important;position:static;inset:auto;flex:none;flex-direction:column;flex-wrap:nowrap;width:100%;max-width:none;gap:4px;order:0;visibility:visible!important;transform:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.tool-rail .toolbar,.tool-rail .zoom-controls{padding-top:8px;border-top:1px solid #514453}
.tool-rail .dock-btn,.tool-rail .tool{display:flex;align-items:center;justify-content:center;flex:none;width:40px;min-width:0;height:38px;min-height:38px;padding:5px;gap:0;border:0;border-radius:10px;background:transparent;box-shadow:none;color:#ffebc9}
.tool-rail .dock-btn:hover,.tool-rail .tool:hover{background:#4b3c4d}.tool-rail .dock-btn.is-active,.tool-rail .tool.primary{background:#f0c579;color:#553522}.tool-rail .dock-btn .chibi-icon,.tool-rail .tool .chibi-icon{width:26px;height:26px}.tool-rail .tool>span{height:26px}
.tool-rail .dock-btn>span,.tool-rail .tool small{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.tool-rail .zoom-controls button{width:32px;height:32px;min-width:32px;min-height:32px;align-self:center;font-size:19px;line-height:1;padding:0;border-radius:9px;box-shadow:none;background:#fff4df;color:#654830}
.tool-rail #openMenu,.tool-rail #toggleChat{display:none!important}
.sidebar{display:none;position:absolute;inset:8px 64px 8px auto;width:min(380px,calc(100% - 80px));max-width:none;height:auto;max-height:none;z-index:25;transform:none;border:1px solid #e7d5bb;border-radius:18px;box-shadow:0 8px 35px #10203955}
.sidebar.is-open{display:flex;transform:none}.close-sidebar{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;width:36px;height:36px}.sidebar .side-top{padding:12px 14px 8px}.sidebar .side-top h2{font-size:20px}.sidebar .eyebrow{display:none}.sidebar .tabs{padding-bottom:8px}.sidebar .tab-panel{min-height:0}
.statusbar.site-footer{height:26px;min-height:26px;padding:0 10px;font-size:10px}.site-footer .footer-status{display:none}.site-footer .footer-links{flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;gap:14px;scrollbar-width:none}.site-footer a{font-size:10px;height:26px;min-height:26px;flex:none}
@media(max-width:1023px),(max-height:540px){
 .venue-tools.tool-rail{display:none;position:absolute;right:0;top:0;bottom:0;max-height:100%;height:auto;width:58px;padding:6px;gap:8px;z-index:12;box-shadow:-4px 0 16px #11213544}
 .layout:has(.venue-frame.tools-open) .venue-tools.tool-rail{display:flex}.tool-rail .dock-btn,.tool-rail .tool{width:44px;min-width:44px;height:44px;min-height:44px}.tool-rail .zoom-controls button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:19px}.tool-rail .quick-dock,.tool-rail .toolbar,.tool-rail .zoom-controls{display:flex!important;width:44px;flex-direction:column;gap:3px}
 .sidebar{position:fixed;inset:auto 0 var(--keyboard-inset,0px);width:100%;height:calc(var(--app-height) - env(safe-area-inset-top));max-height:none;border-radius:18px 18px 0 0}.close-sidebar{min-width:44px;min-height:44px}.layout:has(.sidebar.is-open) .tool-rail{display:none!important}.statusbar.site-footer{height:28px;min-height:28px;padding-bottom:0}.site-footer .footer-links{justify-content:flex-start;gap:14px}.site-footer a{height:28px;min-height:28px;font-size:10px}
}
@media(max-height:540px) and (orientation:landscape){
 .venue-tools.tool-rail{width:116px;gap:5px;padding:5px 10px}.tool-rail .quick-dock,.tool-rail .toolbar,.tool-rail .zoom-controls{display:grid!important;grid-template-columns:repeat(2,44px);width:92px;gap:3px}.tool-rail .toolbar,.tool-rail .zoom-controls{padding-top:5px}.tool-rail .dock-btn,.tool-rail .tool,.tool-rail .zoom-controls button{height:44px;min-height:44px;width:44px}.sidebar .side-top{padding-top:5px;padding-bottom:3px}
}
@media(max-width:1023px),(max-height:540px){.statusbar.site-footer{height:calc(28px + env(safe-area-inset-bottom));min-height:calc(28px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}
