.draft-row{flex:none;text-align:center;padding:4px 12px;font-size:11px;color:var(--muted);min-height:24px}.draft-row .error{color:var(--bad)}.draft-loading .app{pointer-events:none;opacity:.65}.flow-selected{flex-wrap:wrap}.flow-selected #deleteSelected:not(:disabled){color:var(--bad)}.preview-3d{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:999px;padding:8px 16px;font:600 12px var(--f-body);cursor:pointer;min-height:38px;flex:none}.custom-sticker{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.custom-sticker p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.custom-sticker .btn{align-self:flex-start}.custom-sticker [role=status]{font-size:12px;color:var(--ok)}.custom-sticker [role=status].error{color:var(--bad)}.custom-sticker a{font-size:12px;color:var(--pop)}
@media(min-width:761px){.constructor-shell .stage{gap:8px;padding-top:18px}.constructor-shell .stage-head,.constructor-shell .stage>#tip{display:none}.constructor-shell .stage>.preview-upload{align-self:flex-start;max-width:calc(100% - 175px);font-size:12px}.constructor-shell .stage>.preview-3d{position:absolute;right:20px;top:18px;font-size:11px;min-height:44px}.constructor-shell #cv{height:auto;min-height:200px;max-height:100%;width:auto;flex:1;object-fit:contain}.constructor-shell .flow-selected{gap:5px}.constructor-shell .flow-selected>span{max-width:100px}.constructor-shell .meta{gap:2px}}
.case-viewer{color:#f4f4f2;background:#151619;border:1px solid #363840;border-radius:28px;max-width:680px;width:calc(100% - 24px);max-height:94dvh;padding:22px;overflow:auto;box-shadow:0 30px 150px #0009}.case-viewer::backdrop{background:#07090bdd;backdrop-filter:blur(8px)}.case-viewer header{display:flex;justify-content:space-between;align-items:center;gap:12px}.case-viewer h2{font:700 20px var(--f-body);margin:0}.case-viewer button{border:1px solid #424550;border-radius:999px;padding:9px 15px;background:#24262c;color:#fff;cursor:pointer;min-height:40px}.case-viewer p{color:#b5b7c2;font-size:12px;line-height:1.5}.case-orbit{height:min(53dvh,440px);min-height:230px;display:grid;place-items:center;perspective:1100px;touch-action:none;cursor:grab;overflow:hidden;background:radial-gradient(ellipse at center,#2a2e4444,transparent 66%);border-radius:20px;outline-offset:-3px}.case-orbit:active{cursor:grabbing}.case-solid{position:relative;transform-style:preserve-3d;width:180px;height:360px;will-change:transform;pointer-events:none}.case-slice,.case-face,.case-screen{position:absolute;inset:0;border-radius:25px;backface-visibility:hidden}.case-slice{background:#34363c;border:1px solid #767983;backface-visibility:visible}.case-face{background:#202126;transform:translateZ(10px);overflow:hidden;box-shadow:inset 0 0 0 2px #9da0aa88}.case-face canvas{display:block;width:100%;height:100%;object-fit:fill}.case-screen{transform:rotateY(180deg) translateZ(10px);background:linear-gradient(135deg,#0d1022,#282a42 52%,#090a0e);border:5px solid #35363c;display:grid;place-items:center;font:700 20px var(--f-body);color:#767a8a}.case-screen:before{content:'';position:absolute;top:7px;left:36%;width:28%;height:12px;border-radius:12px;background:#08090c}.case-view-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.case-viewer .case-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.case-controls label{font-size:12px;color:#b5b7c2;display:flex;flex-direction:column;gap:6px}.case-controls input{width:100%;accent-color:#8094ff;min-height:34px}.case-viewer .case-disclaimer{font-size:11px;color:#9195a4;text-align:center;margin-bottom:0}
@media(max-width:760px){
  /* A single document scroll: no nested vertical toolbox or fixed-height viewport. */
  html:has(body.constructor-shell){overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:12px}
  body.constructor-shell{height:auto;min-height:100dvh;overflow:visible;display:block}
  .constructor-shell .app{height:auto;min-height:0;flex:none;overflow:visible;padding:10px 12px 20px;gap:16px}
  .constructor-shell .side{height:auto;min-height:0;overflow:visible;flex:none}
  .constructor-shell .flow-scroll{height:auto;min-height:0;overflow:visible;overscroll-behavior:auto;padding-bottom:16px;scrollbar-gutter:auto}
  .constructor-shell .stage{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;padding:16px 12px;gap:10px;overflow:visible}
  .constructor-shell #cv{width:min(100%,230px);height:400px;max-height:54dvh;max-width:100%;min-height:240px;flex:none;order:1;touch-action:none!important}
  .constructor-shell .preview-upload{order:0;width:100%;max-width:340px;min-height:44px;font-size:13px}
  .constructor-shell #uploadStatus{order:2;font-size:12px;max-width:100%}.constructor-shell .flow-selected{order:3;width:100%;gap:6px}.constructor-shell .flow-selected>span{flex-basis:100%;font-size:11px}.constructor-shell .flow-selected button{min-height:40px;font-size:12px;padding:7px 12px}
  .constructor-shell .preview-3d{order:4;min-height:40px}.constructor-shell .meta{order:5;font-size:11px}.constructor-shell #tip{order:6;font-size:11px;display:block}.constructor-shell .flow-enlarge{display:none}
  .constructor-shell .flow-foot{position:sticky;bottom:0;z-index:20;background:var(--surface);box-shadow:0 -8px 30px #0002;min-height:65px}
  .constructor-shell .tabs{position:static;min-height:88px;gap:5px}.constructor-shell .tab{font-size:12px;min-height:40px}
  .constructor-shell .mzs-packs,.constructor-shell .flow-packs [data-r=packs]{max-height:none;overflow:visible}
  .constructor-shell.brush-on .stage{height:auto;max-height:none;min-height:0;display:flex}.constructor-shell.brush-on #cv{height:440px;max-height:60dvh;min-height:280px;order:1}.constructor-shell.brush-on .brush-preview-done{position:static;align-self:center;order:2;min-height:42px}.constructor-shell.brush-on .preview-3d{display:none}
  .case-viewer{padding:16px;border-radius:22px}.case-orbit{height:46dvh}.case-solid{width:150px;height:300px}.draft-row{font-size:10px}
}
.brush-on .preview-3d{display:none}.case-viewer header>button{flex:none;white-space:nowrap}.jump-preview{display:none}@media(max-width:760px){.case-view-actions{display:grid;grid-template-columns:repeat(3,1fr)}.case-view-actions button{font-size:11px;padding:8px;min-height:44px}.jump-preview:not([hidden]){display:block;position:fixed;z-index:21;right:12px;bottom:84px;border:1px solid #8393ff88;background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 16px;min-height:42px;box-shadow:0 6px 24px #0004;font:600 12px var(--f-body);cursor:pointer}}
@media(prefers-reduced-motion:reduce){html:has(body.constructor-shell){scroll-behavior:auto}}
