:root{--app-height:100dvh;--dock-height:70px}.mobile-workbench{height:var(--app-height);overflow:hidden;background:#18212d;-webkit-tap-highlight-color:transparent}.mobile-workbench button,.mobile-workbench input,.mobile-workbench select{min-height:44px}.mobile-workbench textarea,.mobile-workbench input,.mobile-workbench select{font-size:16px}.mobile-workbench .shell,body.mobile-workbench[data-view=chat] .shell{height:var(--app-height);max-height:var(--app-height);min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom))}.mobile-workbench .sidebar{display:none}.mobile-workbench .main{min-width:0;height:100%;overflow:hidden}.mobile-workbench .topbar{padding:calc(8px + env(safe-area-inset-top)) 14px 8px;min-height:58px;gap:10px;background:#18212d;color:#f7f7ef;flex-shrink:0}.mobile-workbench .topbar>b{font:24px Smiley,sans-serif;flex:1}.mobile-workbench .topbar>div{display:flex;gap:5px}.mobile-workbench .topbar small{display:none}.mobile-workbench .topbar button{color:#d9f0f3;background:#314552;padding:7px 10px;box-shadow:inset 0 1px #fff2,inset 0 -2px #070e1666}.mobile-workbench .topbar>[data-pwa-history]{padding:10px}.mobile-workbench .topbar svg{width:21px;height:21px}.mobile-workbench .content{padding:23px 20px;overscroll-behavior:contain}.mobile-workbench h1{font-size:29px}.mobile-workbench h2{font-size:24px}.mobile-workbench .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}.mobile-workbench .section-head>button{flex-shrink:0}.mobile-workbench .toolbar{flex-wrap:wrap;gap:9px}.mobile-workbench .toolbar>button{flex:1;min-width:140px}.mobile-workbench .form-grid{grid-template-columns:minmax(0,1fr)}.mobile-workbench .task-actions{flex-wrap:wrap}.mobile-workbench .task-actions button{min-height:44px}.mobile-workbench .report-metrics{flex-wrap:wrap}.mobile-workbench .usage-panels{grid-template-columns:minmax(0,1fr)}.mobile-workbench .usage-big{font-size:38px}.mobile-workbench .facts{padding-left:140px!important;padding-top:10px!important;min-height:180px}.mobile-workbench .facts:before{width:135px!important;height:170px!important;top:5px!important;bottom:auto!important}.mobile-workbench .facts .row{align-items:start;gap:8px;flex-wrap:wrap}.mobile-workbench .facts strong{overflow-wrap:anywhere}.mobile-workbench .offline-banner{font-size:12px;padding:9px 14px;line-height:1.5}.mobile-workbench .inspector{display:none}.mobile-workbench.inspector-expanded .inspector{display:block;position:fixed;top:calc(60px + env(safe-area-inset-top));bottom:calc(var(--dock-height) + env(safe-area-inset-bottom));right:0;width:min(340px,100vw);z-index:70;overflow:auto;overscroll-behavior:contain;box-shadow:-6px 8px 30px #0c19295c}.mobile-workbench #pwa-dock{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--dock-height) + env(safe-area-inset-bottom));padding:5px 5px calc(5px + env(safe-area-inset-bottom));z-index:60;background:#18212d;color:#c1d2db;border-top:1px solid #495d6b}.mobile-workbench #pwa-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:6px 1px;background:transparent;color:inherit;box-shadow:none;font:12px Smiley,sans-serif;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}.mobile-workbench #pwa-dock button[aria-current=page]{background:#a8e1e9;color:#182c3a}.mobile-workbench #pwa-dock svg{width:22px;height:22px;stroke-width:1.7}.mobile-workbench #pwa-record-tabs{display:flex;gap:5px;margin-bottom:23px}.mobile-workbench #pwa-record-tabs button{flex:1;font:18px Smiley,sans-serif}.pwa-dialog{border:0;margin:auto;width:calc(100vw - 28px);max-width:600px;max-height:calc(var(--app-height) - 50px);padding:20px;background:#f8f6ec;color:#24313f;box-shadow:0 18px 60px #091a3266}.pwa-dialog::backdrop{background:#111d2ca8}.pwa-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.pwa-dialog header>button{background:#314957;color:#f4f5ed}.pwa-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pwa-menu-grid button{font:20px Smiley,sans-serif;min-height:65px;background:#e0e7e9;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}#pwa-sessions{height:min(75dvh,680px);background:#18212d;color:#eff3eb;overflow:hidden}#pwa-sessions>.sessions{display:flex!important;height:calc(100% - 60px);gap:8px;min-height:0}#pwa-sessions .sessions>.section-head{display:none}#pwa-sessions #session-list{flex:1;min-height:0}#pwa-sessions .session-row{grid-template-columns:minmax(0,1fr) 44px}#pwa-sessions .session{width:100%;text-align:left;padding:11px 8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#d8e7ed;background:transparent;box-shadow:none}#pwa-sessions .conversation-tabs>button{font-size:13px}.mobile-workbench .vn-stage{min-height:0}.mobile-workbench .vn-scene-title{top:18px;left:18px;gap:8px}.mobile-workbench .vn-scene-title h1{font-size:23px}.mobile-workbench .vn-tools{top:58px;right:14px;left:auto;gap:5px}.mobile-workbench .vn-tools button{min-height:40px;padding:7px 10px;font-size:12px}.mobile-workbench .vn-tools button>svg{display:none}.mobile-workbench .vn-role-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));top:105px;left:14px;right:14px;width:auto;gap:5px}.mobile-workbench .vn-role-select>button{min-height:52px;padding:6px 8px;gap:5px}.mobile-workbench .vn-role-art{width:28px;height:38px;background-size:78px auto}.mobile-workbench .vn-role-select strong{font-size:19px}.mobile-workbench .vn-role-select small,.mobile-workbench .vn-role-select svg{display:none}.mobile-workbench .vn-portrait{left:8%;bottom:225px;top:160px;width:65%;height:auto;max-height:none}.mobile-workbench .vn-stage[data-role=puck] .vn-portrait{left:20%;bottom:190px;top:165px;width:50%;height:auto}.mobile-workbench .vn-dialogue{left:12px;right:12px;bottom:12px;padding:12px 14px 9px;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%);max-height:55%;display:flex;flex-direction:column}.mobile-workbench .vn-nameplate{min-height:39px;margin:-12px -14px 8px;padding:6px 14px;max-width:75%;gap:10px}.mobile-workbench .vn-nameplate>strong{font-size:23px}.mobile-workbench .vn-nameplate>span{font-size:10px}.mobile-workbench .vn-nameplate>time{display:none}.mobile-workbench .vn-response{min-height:38px;max-height:90px;margin-bottom:8px;padding-right:0;flex-shrink:1}.mobile-workbench .vn-response p{font-size:14px;line-height:1.65}.mobile-workbench .vn-copy-reply{top:4px;right:7px;min-height:34px;font-size:11px;padding:5px 8px}.mobile-workbench .vn-bottom{display:block;padding-top:8px}.mobile-workbench .vn-choices{display:none}.mobile-workbench .vn-composer>label{display:none}.mobile-workbench .vn-composer{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:4px 7px}.mobile-workbench .vn-composer>textarea{grid-column:1;height:47px;min-height:47px;max-height:95px;padding:9px;font-size:16px}.mobile-workbench .vn-composer footer{grid-column:1/-1;gap:5px;margin-top:1px;min-height:36px;flex-wrap:nowrap}.mobile-workbench .vn-composer button{min-width:0;min-height:36px;padding:5px 9px;font-size:15px}.mobile-workbench #vn-send{grid-column:2;grid-row:1;min-height:47px;min-width:0;width:52px;font-size:17px;padding:7px}.mobile-workbench #vn-input-hint{display:none}.mobile-workbench .vn-composer footer small{font-size:10px}.mobile-workbench .task-permission{min-width:117px;max-width:150px}.mobile-workbench .task-permission select{min-height:33px;height:33px;font-size:11px;padding:3px 5px}.mobile-workbench .vn-paste,.mobile-workbench .vn-clear{font-size:12px}.mobile-workbench .vn-history{left:10px;right:10px;top:58px;bottom:12px;width:auto;z-index:18}.mobile-workbench .vn-history-content{padding:0 14px 14px}.mobile-workbench .vn-pose-library{left:10px;right:10px;top:58px;bottom:12px;width:auto;z-index:18}.mobile-workbench .vn-job{font-size:11px;margin-bottom:8px;padding:6px 8px;gap:6px;max-height:68px}.mobile-workbench .vn-job>span{max-height:44px}.mobile-workbench .vn-job button{min-height:36px}.mobile-workbench #permission-approval{max-height:calc(var(--app-height) - 30px);padding:20px}.mobile-workbench #permission-approval>header{margin:-20px -20px 18px;padding:15px 20px}.mobile-workbench #permission-approval h2{font-size:25px}.mobile-workbench #permission-approval footer{position:sticky;bottom:-20px;background:#f8f6ec;padding:12px 0;margin-bottom:-10px}.mobile-workbench #toast{bottom:calc(82px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);font-size:13px}.keyboard-open #pwa-dock{display:none}.keyboard-open .shell{padding-bottom:0!important}.keyboard-open .vn-tools,.keyboard-open .vn-role-select,.keyboard-open .vn-scene-title{display:none}.keyboard-open .vn-portrait{top:0!important;bottom:120px!important}.keyboard-open .vn-dialogue{max-height:82%;bottom:8px}.keyboard-open .vn-response{max-height:55px}.keyboard-open #toast{bottom:15px}
#pwa-gate{height:var(--app-height);overflow:auto;background:#f7f7ef;color:#18212d;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.gate-brand{display:flex;align-items:center;gap:12px;background:#18212d;color:#f7f7ef;padding:calc(22px + env(safe-area-inset-top)) 24px 22px;font:28px Smiley,sans-serif}.gate-mark{color:#a8e1e9;border:1px solid #6f8794;padding:7px;transform:skew(-5deg)}.gate-mark svg{display:block;width:27px;height:27px;transform:skew(5deg)}.gate-art{height:210px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;background:#e3e8e9 url('assets/dialogue/manor-salon.png') center 36%/cover}.gate-art img{width:31%;height:200px;object-fit:contain;filter:drop-shadow(0 4px 5px #11283b4d)}.gate-art img:last-child{width:27%;height:130px}.gate-content{max-width:550px;padding:26px 24px;margin:auto}.gate-content h1{font-size:32px;margin-bottom:14px}.gate-content>p{font-size:14px;line-height:1.85;color:#4c606b}.gate-content form{margin-top:27px;display:grid;gap:14px}.gate-content form label{display:grid;gap:8px;font-size:13px}.gate-content input{width:100%;min-height:48px;padding:12px;font-size:17px}.gate-content #pwa-code{letter-spacing:.13em;font-variant-numeric:tabular-nums}.gate-content form .primary{font:20px Smiley,sans-serif;min-height:49px}.gate-content #pwa-pair-error{line-height:1.8;color:#933f2f;font-size:13px}.gate-content .gate-guide{margin-top:18px;font-size:12px}.gate-content>button{margin:12px 0;min-height:44px}.gate-content summary{font-size:13px;min-height:44px;display:list-item;padding-top:12px;color:#17697c}.gate-content details p{font-size:13px;line-height:1.8;color:#4c606b}.gate-content #pwa-offline-summary{font-size:13px;line-height:1.8;padding:15px;background:#efdfbb;color:#684c22}
@media(min-width:700px){.mobile-workbench .content{padding:30px}.mobile-workbench .vn-portrait{left:15%;width:48%;bottom:220px}.mobile-workbench .vn-role-select{left:auto;width:300px;top:105px}.mobile-workbench .vn-dialogue{left:26px;right:26px;bottom:20px;max-height:50%}.mobile-workbench .vn-response p{font-size:16px}.mobile-workbench .vn-scene-title h1{font-size:27px}#pwa-dock{padding-inline:max(5px,calc((100vw - 700px)/2))!important}}
@media(max-height:650px) and (max-width:699px){.mobile-workbench .vn-scene-title{top:8px}.mobile-workbench .vn-tools{top:8px}.mobile-workbench .vn-role-select{top:53px}.mobile-workbench .vn-portrait{top:105px;bottom:185px}.mobile-workbench .vn-dialogue{max-height:63%}.mobile-workbench .vn-response{max-height:58px}.mobile-workbench .vn-nameplate{min-height:34px}.mobile-workbench .vn-nameplate>span{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-workbench *{scroll-behavior:auto!important}}
.mobile-workbench .task-permission select{min-height:44px;height:44px;font-size:16px}.mobile-workbench .vn-composer footer button{min-height:44px}.mobile-workbench .vn-copy-reply{min-height:44px}.mobile-workbench #pwa-sessions .conversation-more{min-height:44px}.mobile-workbench .vn-response{max-height:94px}
@media(max-height:740px) and (max-width:699px){.mobile-workbench:not(.keyboard-open) .vn-scene-title{top:9px;left:14px}.mobile-workbench:not(.keyboard-open) .vn-scene-title h1{font-size:20px}.mobile-workbench:not(.keyboard-open) .vn-tools{top:7px;right:12px}.mobile-workbench:not(.keyboard-open) .vn-tools button{padding-inline:8px}.mobile-workbench:not(.keyboard-open) .vn-role-select{top:57px}.mobile-workbench:not(.keyboard-open) .vn-portrait{top:112px;bottom:212px}.mobile-workbench:not(.keyboard-open) .vn-stage[data-role=puck] .vn-portrait{top:119px;bottom:205px}}
@media(max-height:500px) and (min-width:650px){.mobile-workbench{--dock-height:56px}.mobile-workbench:not(.keyboard-open) .topbar{min-height:48px;padding-top:3px;padding-bottom:3px}.mobile-workbench:not(.keyboard-open) .offline-banner{padding-block:5px;font-size:11px}.mobile-workbench:not(.keyboard-open) .vn-scene-title{top:9px;left:14px}.mobile-workbench:not(.keyboard-open) .vn-scene-title h1{font-size:20px}.mobile-workbench:not(.keyboard-open) .vn-tools{top:7px;right:12px}.mobile-workbench:not(.keyboard-open) .vn-role-select{left:12px;right:auto;top:auto;bottom:8px;width:33%;gap:4px}.mobile-workbench:not(.keyboard-open) .vn-role-select>button{padding:5px;min-height:44px}.mobile-workbench:not(.keyboard-open) .vn-role-select strong{font-size:16px}.mobile-workbench:not(.keyboard-open) .vn-role-art{width:21px;height:30px}.mobile-workbench:not(.keyboard-open) .vn-portrait,.mobile-workbench:not(.keyboard-open) .vn-stage[data-role=puck] .vn-portrait{left:6%;width:27%;top:37px;bottom:52px}.mobile-workbench:not(.keyboard-open) .vn-dialogue{left:38%;right:12px;top:56px;bottom:8px;max-height:none;padding:8px 12px}.mobile-workbench:not(.keyboard-open) .vn-nameplate{min-height:44px;margin:-8px -12px 4px;padding:3px 12px}.mobile-workbench:not(.keyboard-open) .vn-nameplate>strong{font-size:20px}.mobile-workbench:not(.keyboard-open) .vn-nameplate>span{display:none}.mobile-workbench:not(.keyboard-open) .vn-response{min-height:22px;max-height:40px;margin-bottom:4px}.mobile-workbench:not(.keyboard-open) .vn-response p{font-size:13px;line-height:1.55}.mobile-workbench:not(.keyboard-open) .vn-copy-reply{top:0;right:7px;min-height:44px}.mobile-workbench:not(.keyboard-open) .vn-bottom{padding-top:5px}.mobile-workbench:not(.keyboard-open) .vn-composer>textarea,.mobile-workbench:not(.keyboard-open) #vn-send{min-height:44px;height:44px}.mobile-workbench:not(.keyboard-open) .vn-job{max-height:35px;margin-bottom:3px;padding:3px 5px}}
