/* Same document and business state on every screen; panels are not duplicated. */
.mobile-nav,.mobile-guide{display:none}
@media (max-width:820px), (hover:none) and (pointer:coarse) and (max-width:1100px){
 html{scroll-padding-bottom:90px}body{padding-bottom:calc(82px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
 button,input,select,textarea{font-size:16px}button{min-height:44px;touch-action:manipulation}
 input,select{min-height:44px}input[type=checkbox]{min-height:22px;width:22px;height:22px;flex-shrink:0}
 .top{padding:12px max(12px,env(safe-area-inset-left));height:auto;gap:10px;flex-wrap:wrap}
 .top .brand-mark{width:34px;height:38px}.top h1{font-size:16px}.top small{font-size:10px}.top nav{margin-left:auto;gap:2px}.top .nav{padding:6px 8px;font-size:13px}.access{display:none}
 main{padding:16px 10px 24px;max-width:100%;min-width:0}.intro{gap:12px;align-items:stretch;flex-direction:column;margin-bottom:16px}.intro h2{font-size:20px;letter-spacing:0}.intro p{font-size:12px}.intro .actions{justify-content:flex-start;flex-wrap:wrap}.intro .actions button{font-size:13px;flex:1}
 .toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px}.toolbar label{min-width:0!important}.toolbar select{width:100%;font-size:14px}.toolbar .check{margin:0;font-size:13px}.toolbar .view-switch{margin:0;justify-self:end}.toolbar .view-switch button{padding:6px;font-size:12px}.toolbar #source{display:none}
 .workspace{display:block;min-width:0}.workspace>.panel{min-width:0;scroll-margin-top:10px}
 body[data-mobile-panel=canvas] .workspace>.library,body[data-mobile-panel=canvas] .workspace>.inspector,
 body[data-mobile-panel=library] .workspace>.canvas-panel,body[data-mobile-panel=library] .workspace>.inspector,
 body[data-mobile-panel=inspector] .workspace>.canvas-panel,body[data-mobile-panel=inspector] .workspace>.library{display:none}
 .mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr;gap:6px;padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#fffefbf5;border-top:1px solid #ded7ce;box-shadow:0 -5px 16px #35261812}
 .mobile-nav button{min-width:0;font-size:13px;padding:7px 3px;min-height:46px}.mobile-nav[hidden]{display:none}
 .canvas-title{padding:12px;display:block}.canvas-title h3{font-size:15px}.canvas-title small{display:block;font-size:11px;margin-top:4px}.canvas-title .actions{margin-top:10px;justify-content:flex-start;gap:6px}.canvas-title .actions button{font-size:12px;flex:1;min-height:44px}
 .stats{gap:12px;justify-content:space-between;padding:10px;font-size:10px;flex-wrap:wrap}.stats b{font-size:15px}
 .canvas-scroll{padding:12px 4px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .mobile-guide{display:block;padding:9px 10px;font-size:11px;color:#776c60;background:#faf7f0}
 .scene.end,.scene.floor{width:100%;min-width:342px;padding:30px 18px 45px 42px}
 .scene .row-label{left:-43px;width:35px;font-size:11px}.scene .row-label small{font-size:9px}.scene .side-zone.left{left:12px}.scene .side-zone.right{right:0}.scene .side-zone{width:16px;top:65px;bottom:80px}
 .scene.posm-mode .zone{min-height:32px}.scene.posm-mode .row-zone{height:28px;bottom:-8px;min-height:28px}.scene.posm-mode .side-zone{min-width:26px}
 .canvas-footer{padding:10px;font-size:10px;flex-direction:column;gap:5px}
 .library .tabs{padding:10px}.library .tabs button{font-size:14px;min-height:44px}.library .filters{grid-template-columns:1fr;display:grid;gap:10px}.library .filters input,.library .filters select{width:100%;font-size:16px}
 .library-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:none;overflow:visible;padding:10px}
 .library-items .asset-card{width:100%;min-width:0;min-height:150px;margin:0;padding:26px 7px 10px;display:flex;flex-direction:column;text-align:center;gap:6px;font-size:12px;overflow-wrap:anywhere}.library-items .asset-card .thumb{width:55px;height:62px}.library-items .asset-card>span{min-width:0}.library-items .category-badge{font-size:11px}.library .link{min-height:44px}.library .hint{font-size:12px;line-height:1.6}
 .inspector{display:block;padding:16px}.inspector label{font-size:13px}.inspector label input,.inspector label select{font-size:16px;width:100%}.inspector input[type=range]{padding:8px 0}.inspector .notice,.inspector .hint{font-size:13px}.inspector button{font-size:14px}
 dialog{width:calc(100vw - 16px);max-width:680px;max-height:calc(100dvh - 24px);padding:16px;margin:auto;overscroll-behavior:contain}dialog h2{font-size:20px}dialog label{font-size:13px}dialog label input,dialog label select{font-size:16px}dialog .actions{flex-wrap:wrap;gap:8px}dialog .actions button{flex:1;min-width:80px;font-size:14px}.asset-form-grid{grid-template-columns:1fr;gap:16px}.plan-item{align-items:flex-start}.plan-item b{overflow-wrap:anywhere}
 #assetPage .intro{display:grid;grid-template-columns:1fr 1fr}#assetPage .intro>div{grid-column:1/-1}#assetPage .intro>button{font-size:13px;padding:7px;min-width:0}
 .asset-panel{padding:10px;overflow:visible}.asset-panel>.tabs,.asset-panel>input{width:100%;margin:0 0 12px;padding-left:0;padding-right:0}.asset-panel>input{padding:10px}
 #assetList .asset-table,#assetList tbody{display:block}#assetList thead{display:none}#assetList tr{display:grid;grid-template-columns:52px minmax(0,1fr);border:1px solid var(--line);border-radius:9px;padding:10px;gap:7px;margin-bottom:10px}
 #assetList td{display:block!important;padding:0;border:0;overflow-wrap:anywhere;min-width:0}#assetList td:first-child{grid-row:1/3}#assetList td:nth-child(4){grid-column:1/-1}#assetList td:nth-child(5){grid-column:1}#assetList td:last-child{text-align:right}#assetList td .tag{font-size:11px}
 .bulk-dialog textarea{font-size:16px}.bulk-dialog .class-tags{gap:6px 12px}.bulk-dialog .file-button{width:100%}.bulk-dialog .file-button input{max-width:100%;width:100%;font-size:14px}.bulk-drop{font-size:12px}.bulk-scroll{max-height:none;overflow:visible}.bulk-scroll table,.bulk-scroll tbody{display:block;min-width:0}.bulk-scroll thead{display:none}.bulk-scroll tr{display:block;margin:14px 0;border:1px solid var(--line);border-radius:9px;padding:10px}.bulk-scroll td,.bulk-dialog .asset-table td:nth-child(4){display:block;min-width:0;max-width:none;width:100%;padding:8px 0;border:0}.bulk-scroll td:nth-child(2){min-width:0}.bulk-scroll td:before{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.bulk-scroll td:nth-child(1):before{content:'图片关联'}.bulk-scroll td:nth-child(2):before{content:'名称 / 口味'}.bulk-scroll td:nth-child(3):before{content:'克重（g）'}.bulk-scroll td:nth-child(4):before{content:'产品分类'}.bulk-scroll td:nth-child(5):before{content:'更新确认'}.bulk-scroll td:nth-child(6):before{content:'校验 / 进度'}
 #toast{bottom:calc(85px + env(safe-area-inset-bottom));font-size:13px;max-width:calc(100vw - 24px);width:max-content}
}
