/* The preview's simulator is unchanged; only replace its surrounding app shell. */
body{margin:0;background:#f5f4f8;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;overflow:hidden}
.training-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 20px;background:white;border-bottom:1px solid #ddd;font:14px/1.5 system-ui}
.training-toolbar a{color:#7554c8}.training-toolbar span{color:#777;margin-left:auto}
.training-storage{font:12px/1.5 system-ui;text-align:center;color:#666;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
#root.product.wx-training-mode{width:100%;max-width:none;min-height:0!important;height:100%;overflow:hidden}
#root .wx-training-stage{width:100%;height:100%;min-height:0}
#root .wx-simulator{height:100%;min-height:0;max-height:100%}
body:has(#root.pc.wx-training-mode) .product-dialog.wx-modal{left:50%}
.training-error{padding:24px;text-align:center}
.training-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:1000;background:#222;color:white;padding:12px;max-width:90vw;border-radius:10px}
.training-toolbar .training-gate-status:empty{display:none}
.training-toolbar .training-gate-status:not(:empty){position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:1001;width:max-content;max-width:90vw;margin:0;padding:12px;border-radius:10px;background:#222;color:#fff;font-size:14px}
@media(max-width:600px){.training-toolbar{padding:8px 12px;gap:6px}.training-toolbar span{width:100%;margin:0;font-size:11px}.training-storage{padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom))}}
