.u-section-1 .u-sheet-1 {
  min-height: 2828px;
}

.u-section-1 .u-custom-html-1 {
  min-height: 2771px;
  height: auto;
  width: 1986px;
  margin: 24px -423px 33px;
}

@media (max-width: 1199px) {
  .u-section-1 .u-custom-html-1 {
    width: 940px;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-custom-html-1 {
    width: 720px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-custom-html-1 {
    width: 540px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-custom-html-1 {
    width: 340px;
  }
} /* Lightweight page shell (standalone only) */
html, body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: #eef1f6;
}
.standalone-shell {
  min-height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 28px 16px 60px;
  box-sizing: border-box;
}
/* Keep the tool centered like on the site */
#qp-floorplan {
  max-width: 1100px;
  width: 100%;
}
.qp-sizehint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(20,25,35,.92);color:#fff;padding:6px 10px;border-radius:10px;font-weight:800;font-size:12px;pointer-events:none;z-index:1000001;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.18);will-change:transform,left,top;}.qp-sizehint.qp-rotation-live{font-size:15px;padding:8px 12px;}.qp-palette-ghost{position:fixed;left:0;top:0;transform:translate3d(-9999px,-9999px,0);z-index:999999;pointer-events:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:rgba(255,255,255,.92);border:2px solid rgba(15,23,42,.92);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.22);overflow:hidden;will-change:transform;contain:layout style paint;}.qp-palette-ghost svg{width:100%;height:100%;display:block;}.qp-palette-ghost-label{font:800 10px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:#0f172a;text-align:center;padding:2px 4px;pointer-events:none;}
.qp-submenu{border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;padding:8px;margin-bottom:10px;}
.qp-submenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:900;}
.qp-submenu summary::-webkit-details-marker{display:none;}
.qp-submenu-items{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;}
/* Smaller sofa preview thumbnails (60% smaller) */
.qp-preview{width:32.2px;height:32.2px;flex:0 0 32.2px;border-radius:13.8px;}
.qp-preview svg{width:12px;height:12px;}
.qp-dragging{opacity:.65;}
/* ============================================================
   v12 UNIFIED LAYOUT — single source of truth for all modes
   ============================================================ */
/* --- CSS custom properties --- */
:root {
         /* dock width in normal mode */
       /* header height */
  
  
}
/* ---- Shell & app frame ---- */
html, body { height:100%; margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:#eef1f6; }
body { overflow-x:hidden; }
.standalone-shell { min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:24px 16px 60px; box-sizing:border-box; }
#qp-floorplan { width:100%; max-width:1200px; }
/* ---- App card ---- */
.qp-app {
  width:100%; margin:0 auto;
  border:1px solid rgba(0,0,0,.08); border-radius:14px;
  background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.10);
  overflow:hidden; font-family:Roboto,Arial,sans-serif;
  display:flex; flex-direction:column;
}
/* ---- Header ---- */
.qp-header {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
  padding:10px 16px; min-height:56px; box-sizing:border-box;
  background:linear-gradient(180deg,#fff,#f8faff);
  border-bottom:1px solid rgba(0,0,0,.09); flex-shrink:0;
}
.qp-header-left { display:flex; flex-direction:column; gap:1px; min-width:0; }
.qp-header-right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }
.qp-header-actions-direct { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.qp-title { font-weight:900; font-size:17px; color:#0f172a; letter-spacing:-.2px; white-space:nowrap; }
.qp-subtitle { font-size:11.5px; color:rgba(15,23,42,.45); font-weight:500; }
.qp-sep { width:1px; height:24px; background:rgba(0,0,0,.12); flex-shrink:0; }
/* ---- Main layout: dock | center | dock ---- */
.qp-main {
  display:grid;
  grid-template-columns: 60px minmax(0,1fr) 60px;
  grid-template-rows: 1fr;
  align-items:stretch;
  height:clamp(560px, calc(100vh - 56px - 48px), 900px);
  min-height:0;
  overflow:hidden;
  position:relative;
  flex:1 1 auto;
}
/* ---- Docks ---- */
.qp-dock {
  position:relative; z-index:80;
  flex:0 0 60px; width:60px;
  align-self:stretch;
  background:#f0f4f8;
  display:flex; flex-direction:column; align-items:center;
  gap:8px; padding:12px 10px;
  overflow-y:auto; overflow-x:visible;
  overscroll-behavior:contain; scrollbar-width:thin;
  box-sizing:border-box;
}
.qp-dock-left  { grid-column:1; border-right:1px solid rgba(0,0,0,.08); }
.qp-dock-right { grid-column:3; border-left:1px solid rgba(0,0,0,.08); }
.qp-dockbtn {
  width:52px; height:52px; min-height:52px; flex:0 0 auto;
  border-radius:15px; border:1px solid rgba(0,0,0,.12);
  background:#fff; cursor:pointer; font-size:22px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.07);
  transition:background .12s, box-shadow .12s, transform .07s;
  overflow:visible;
}
.qp-dockbtn:hover { background:#e8eeff; box-shadow:0 2px 8px rgba(0,0,0,.10); }
.qp-dockbtn:active { transform:scale(.94); }
.qp-dockbtn.qp-active { background:linear-gradient(135deg,#1e3a6e,#1f2b4d); color:#fff; border-color:#1e3a6e; box-shadow:0 4px 12px rgba(30,58,110,.30); }
.qp-dockbtn.qp-dock-toggle { font-size:18px; font-weight:900; }
.qp-transform-dock { display:none; }
#qp-floorplan.qp-has-selected-item .qp-transform-dock { display:flex; }
/* ---- Body (between the two docks) ---- */
.qp-body {
  grid-column:2; display:flex; flex-direction:column;
  min-width:0; min-height:0; height:100%; overflow:hidden;
}
/* ---- Canvas centre ---- */
/* qp-canvas-area is a direct child of qp-main in col 2 */
.qp-canvas-area {
  grid-column:2; grid-row:1;
  display:flex; flex-direction:column; flex:1 1 auto;
  min-width:0; min-height:0; background:#fff; overflow:hidden;
}
.qp-canvas-toolbar {
  display:flex; align-items:center; gap:8px; flex-wrap:nowrap;
  padding:7px 12px; flex-shrink:0; overflow-x:auto;
  border-bottom:1px solid rgba(0,0,0,.07); background:#f8fafc;
  scrollbar-width:thin;
}
.qp-pill {
  font-size:12px; font-weight:600; color:#334155;
  background:#fff; border:1px solid rgba(0,0,0,.09);
  padding:4px 10px; border-radius:999px; white-space:nowrap;
  flex-shrink:0; box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.qp-pill b { color:#0f172a; font-weight:800; }
.qp-stage {
  flex:1 1 auto; min-height:0; min-width:0;
  position:relative; padding:8px; overflow:hidden;
}
#qp-canvas {
  display:block; width:100%; height:100%;
  background:#fff; border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
}
.qp-floatbox { position:absolute; pointer-events:none; background:rgba(31,43,77,.92); color:#fff; padding:6px 8px; border-radius:10px; font-size:12px; font-weight:800; transform:translate(12px,12px); white-space:nowrap; z-index:5; }
.qp-status { position:absolute; left:14px; bottom:14px; font-size:11.5px; font-weight:600; color:rgba(15,23,42,.70); background:rgba(255,255,255,.96); border:1px solid rgba(0,0,0,.08); padding:6px 10px; border-radius:10px; pointer-events:none; box-shadow:0 4px 16px rgba(0,0,0,.08); }
/* ---- Drawers (slide over the canvas from each dock edge) ---- */
/* Fixed positioning ensures drawers are never clipped by overflow:hidden on qp-main */
.qp-drawer {
  position:fixed;
  top:var(--qp-drawer-top, 56px); bottom:0;
  width:min(310px, calc(100vw - (60px * 2) - 8px));
  max-width:340px;
  background:#f8fafc; z-index:1000;
  overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  box-shadow:4px 0 32px rgba(0,0,0,.14);
  transition:transform .18s ease;
  padding-bottom:16px;
  will-change:transform;
}
.qp-left.qp-drawer  { left:60px;  transform:translateX(-110%); border-right:1px solid rgba(0,0,0,.08); }
.qp-right.qp-drawer { right:60px; transform:translateX(110%);  border-left:1px solid rgba(0,0,0,.08); }
/* Open states — use !important to beat any fullscreen specificity */
#qp-floorplan.qp-open-left  .qp-left.qp-drawer  { transform:translateX(0) !important; }
#qp-floorplan.qp-open-right .qp-right.qp-drawer { transform:translateX(0) !important; }
/* Keep resize gutters hidden — drawers are used instead */
.qp-resize-left, .qp-resize-right { display:none !important; }
/* ---- Left panel internals ---- */
.qp-left  { padding:14px; }
.qp-right { padding:12px; }
.qp-panelhead { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; border-bottom:1px solid rgba(0,0,0,.07); position:sticky; top:0; background:#f8fafc; z-index:3; }
.qp-paneltitle { font-weight:900; color:#0f172a; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.qp-collapse { height:30px; width:34px; border-radius:10px; border:1px solid rgba(0,0,0,.12); background:#fff; cursor:pointer; font-weight:900; display:none !important; }
.qp-toolgroup { margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid rgba(0,0,0,.07); }
.qp-toolgroup:last-child { border-bottom:none; }
.qp-group-title { font-size:11px; font-weight:800; color:rgba(15,23,42,.40); letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
.qp-tools { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.qp-tool {
  border:1px solid rgba(0,0,0,.11); background:#fff; border-radius:10px;
  padding:10px 8px; cursor:pointer; font-weight:700; font-size:12px; color:#1e293b;
  display:flex; align-items:center; gap:6px; justify-content:flex-start;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.qp-tool:hover { background:#f0f4ff; border-color:rgba(37,99,235,.25); }
.qp-tool.qp-active { background:linear-gradient(135deg,#1e3a6e,#1f2b4d); color:#fff; border-color:#1e3a6e; box-shadow:0 4px 12px rgba(30,58,110,.28); }
.qp-tool .qp-ico { display:inline-grid; place-items:center; flex:0 0 auto; }
.qp-tool .qp-txt { font-weight:700; font-size:12px; }
.qp-hint { font-size:11.5px; color:rgba(15,23,42,.50); margin-top:8px; line-height:1.4; font-weight:500; }
.qp-inline { display:flex; align-items:center; gap:8px; font-size:12.5px; color:#334155; margin:5px 0; font-weight:600; }
.qp-inline input[type="checkbox"] { accent-color:#2563eb; }
.qp-row { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; align-items:flex-end; }
.qp-field { display:flex; flex-direction:column; gap:5px; flex:1; font-size:12px; color:rgba(27,31,42,.75); }
.qp-field input, .qp-field select { border:1px solid rgba(0,0,0,.14); border-radius:9px; padding:7px 9px; font-size:12.5px; background:#fff; color:#1e293b; }
.qp-scale-badge { margin-top:8px; font-size:12px; font-weight:700; color:#334155; background:linear-gradient(135deg,#f0f4ff,#eef1fb); border:1px solid rgba(37,99,235,.15); border-radius:9px; padding:7px 10px; }
#qp-zoom-label { font-weight:900; color:#2563eb; }
.qp-thickness { display:flex; flex-direction:column; gap:4px; }
.qp-thickness label { display:flex; align-items:center; gap:8px; font-size:12.5px; margin:3px 0; color:#334155; font-weight:600; }
.qp-thickness input[type="radio"] { accent-color:#2563eb; }
.qp-custom { display:flex; align-items:center; gap:7px; margin-top:6px; }
.qp-custom span { font-size:12px; font-weight:600; color:#475569; }
.qp-custom input { width:80px; border:1px solid rgba(0,0,0,.14); border-radius:9px; padding:7px 9px; font-size:12.5px; background:#fff; }
.qp-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
/* ---- Right panel internals ---- */
.qp-tabs { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:10px; }
.qp-tab { border:1px solid rgba(0,0,0,.10); background:#fff; padding:8px 6px; border-radius:9px; font-weight:700; font-size:12px; cursor:pointer; color:#334155; }
.qp-tab:hover { background:#f0f4ff; }
.qp-tab.qp-active { background:linear-gradient(135deg,#1e3a6e,#1f2b4d); color:#fff; border-color:#1e3a6e; box-shadow:0 3px 10px rgba(30,58,110,.22); }
.qp-tabpanel { display:none; }
.qp-tabpanel.qp-active { display:block; }
.qp-library { display:grid; grid-template-columns:1fr; gap:7px; }
.qp-libitem { display:flex; align-items:center; gap:10px; border:1px solid rgba(0,0,0,.09); background:#fff; border-radius:11px; padding:9px 10px; cursor:pointer; text-align:left; font-weight:700; font-size:12.5px; color:#1e293b; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.qp-libitem:hover { background:#f0f4ff; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.qp-icon { width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg,#f0f4ff,#e8eeff); border:1px solid rgba(37,99,235,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.qp-preview { width:32px; height:32px; flex:0 0 32px; border-radius:8px; background:#f0f4ff; border:1px solid rgba(37,99,235,.12); }
.qp-preview svg { width:12px; height:12px; }
.qp-legend { display:flex; flex-direction:column; gap:9px; }
.qp-legrow { font-size:12.5px; color:#334155; font-weight:600; display:flex; align-items:center; gap:10px; }
.qp-swatch { width:22px; height:12px; border-radius:4px; border:1px solid rgba(0,0,0,.20); flex-shrink:0; }
.qp-sw-wall { background:rgba(0,0,0,.70); }
.qp-sw-room { background:rgba(55,120,255,.18); }
.qp-sw-window { background:rgba(70,160,255,.30); }
.qp-sw-door { background:rgba(255,150,70,.30); }
.qp-sw-fixture { background:rgba(0,0,0,.12); }
.qp-compassbox { display:flex; flex-direction:column; gap:10px; }
.qp-compass-preview { display:flex; justify-content:center; }
#qp-compass-preview { border:1px solid rgba(0,0,0,.09); border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.qp-submenu { border:1px solid rgba(0,0,0,.09); border-radius:10px; background:#fff; padding:8px; margin-bottom:4px; }
.qp-submenu summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; font-weight:700; font-size:12.5px; }
.qp-submenu summary::-webkit-details-marker { display:none; }
.qp-submenu-items { display:grid; grid-template-columns:1fr; gap:6px; margin-top:8px; }
/* ---- Buttons ---- */
.qp-btn {
  border:1px solid rgba(0,0,0,.12); background:#fff; padding:8px 12px;
  border-radius:10px; font-weight:700; font-size:12.5px; color:#1e293b; cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.qp-btn:hover { background:#f1f5ff; box-shadow:0 2px 8px rgba(0,0,0,.09); }
.qp-btn:active { transform:translateY(1px); box-shadow:none; }
.qp-btn.qp-btn-primary { background:linear-gradient(160deg,#3b82f6,#2563eb); color:#fff; border-color:#2563eb; box-shadow:0 4px 14px rgba(37,99,235,.32); }
.qp-btn.qp-btn-primary:hover { background:linear-gradient(160deg,#2563eb,#1d4ed8); }
#qp-fullscreen { background:linear-gradient(160deg,#1e293b,#0f172a); color:#fff; border-color:#0f172a; box-shadow:0 4px 12px rgba(15,23,42,.22); font-size:12px; }
#qp-fullscreen:hover { background:linear-gradient(160deg,#334155,#1e293b); }
#qp-header-undo, #qp-header-redo { font-size:12px; padding:7px 10px; }
#qp-undo, #qp-redo { color:#334155; }
#qp-clear { color:#dc2626; border-color:rgba(220,38,38,.2); }
#qp-clear:hover { background:#fff0f0; }
#qp-export-png { color:#059669; border-color:rgba(5,150,105,.2); }
#qp-export-png:hover { background:#f0fff8; }
#qp-mirror-x, #qp-flip-y { font-size:16px; }
.qp-mini { height:30px; padding:0 8px; border-radius:9px; border:1px solid rgba(0,0,0,.12); background:#fff; cursor:pointer; font-weight:700; font-size:12px; }
.qp-mini:hover { background:#f0f4ff; }
/* Door controls pill */
.qp-door-controls { display:flex; align-items:center; gap:4px; padding:4px 8px; background:#fff3e0; border:1px solid rgba(234,88,12,.2); border-radius:999px; }
.qp-door-controls .qp-mini { height:26px; padding:0 8px; font-size:12px; font-weight:700; border-radius:7px; border:1px solid rgba(234,88,12,.25); background:rgba(255,237,213,.6); color:#c2410c; }
.qp-door-controls .qp-mini:hover { background:rgba(255,237,213,1); }
/* File menu */
.qp-filemenu { position:relative; display:none; }
.qp-filemenu-btn { min-width:80px; font-weight:800; }
.qp-filemenu-panel { position:absolute; right:0; top:calc(100%+8px); min-width:190px; padding:8px; background:#fff; border:1px solid rgba(0,0,0,.14); border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,.20); display:none; z-index:200; }
.qp-filemenu.qp-open .qp-filemenu-panel { display:block; }
.qp-filemenu-item { width:100%; display:flex; align-items:center; justify-content:flex-start; gap:8px; border:0; background:#fff; border-radius:10px; padding:10px 12px; cursor:pointer; font:700 13px/1.2 Roboto,Arial,sans-serif; color:#1b1f2a; }
.qp-filemenu-item:hover { background:#f2f5ff; }
.qp-filemenu-sep { height:1px; background:rgba(0,0,0,.08); margin:6px 0; }
/* Popover */
.qp-popover { position:fixed; z-index:500; width:220px; background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.18); padding:12px; display:none; }
.qp-popover.qp-show { display:block; }
.qp-popover-title { font-weight:900; font-size:11px; margin-bottom:10px; color:rgba(15,23,42,.45); letter-spacing:.1em; text-transform:uppercase; }
.qp-popover-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.qp-popover-btn { border:1px solid rgba(0,0,0,.11); border-radius:9px; padding:8px 10px; background:#fff; cursor:pointer; font-weight:700; font-size:12px; }
.qp-popover-btn:hover { background:#f0f4ff; }
.qp-popover-row { display:flex; gap:8px; }
#qp-thick-popover-custom { flex:1; border:1px solid rgba(0,0,0,.14); border-radius:10px; padding:8px 10px; font-weight:700; }
.qp-popover-hint { margin-top:10px; font-size:11.5px; color:rgba(0,0,0,.55); font-weight:700; }
/* Size hint */
.qp-sizehint { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:rgba(20,25,35,.92); color:#fff; padding:6px 10px; border-radius:10px; font-weight:800; font-size:12px; pointer-events:none; z-index:1000001; white-space:nowrap; box-shadow:0 8px 24px rgba(0,0,0,.18); will-change:transform,left,top; }
.qp-sizehint.qp-rotation-live { font-size:15px; padding:8px 12px; }
/* Touch */
#qp-canvas, #qp-stage { touch-action:none; -webkit-user-select:none; user-select:none; overscroll-behavior:contain; }
html.qp-noscroll, body.qp-noscroll { overflow:hidden !important; height:100% !important; }
#qp-floorplan, #qp-floorplan * { -webkit-tap-highlight-color:transparent; }
/* Misc */
.qp-dragging { opacity:.65; }
#addCompassBtn { display:none !important; }
.qp-toolbar { flex-wrap:wrap; gap:8px; }
/* Rotate overlay */
.qp-rotate-overlay { position:absolute; inset:0; display:none; z-index:200; align-items:center; justify-content:center; padding:24px; background:rgba(255,255,255,.95); backdrop-filter:saturate(180%) blur(6px); }
.qp-rotate-overlay.qp-show { display:flex; }
.qp-rotate-overlay-inner { max-width:420px; border:1px solid rgba(0,0,0,.10); border-radius:18px; padding:18px 16px; box-shadow:0 20px 60px rgba(0,0,0,.14); background:#fff; text-align:center; }
.qp-rotate-icon { font-size:34px; margin-bottom:10px; }
.qp-rotate-title { font-weight:800; font-size:17px; margin-bottom:6px; color:#0f172a; }
.qp-rotate-text { font-weight:500; font-size:13px; color:#334155; line-height:1.35; margin-bottom:12px; }
.qp-rotate-btn { appearance:none; border:1px solid rgba(15,23,42,.18); background:#f8fafc; color:#0f172a; border-radius:12px; padding:10px 12px; font-weight:700; font-size:13px; cursor:pointer; }
.qp-rotate-hint { display:none; }
/* Global transitions */
.qp-tool,.qp-btn,.qp-tab,.qp-libitem,.qp-dockbtn,.qp-mini { transition:background .12s ease,box-shadow .12s ease,transform .07s ease,border-color .12s ease,color .12s ease; }
/* Hide floating restore pills only in fullscreen/mobile-tablet mode */
#qp-floorplan.qp-fullscreen-active .qp-float,
#qp-floorplan:fullscreen .qp-float,
#qp-floorplan:-webkit-full-screen .qp-float{
  display:none !important;
}
/* ====================================================
   FULLSCREEN MODE — one authoritative block
   ==================================================== */
#qp-floorplan.qp-fullscreen-active,
#qp-floorplan:fullscreen,
#qp-floorplan:-webkit-full-screen {
  position:fixed !important; inset:0 !important;
  width:100dvw !important; height:100dvh !important;
  max-width:none !important; margin:0 !important;
  border-radius:0 !important; border:none !important;
  display:flex !important; flex-direction:column !important;
  background:#eef1f6 !important; overflow:hidden !important;
  z-index:2147483000 !important;
}
/* Header — compact */
#qp-floorplan.qp-fullscreen-active .qp-header,
#qp-floorplan:fullscreen .qp-header,
#qp-floorplan:-webkit-full-screen .qp-header {
  min-height:52px !important; padding:7px 14px !important;
  flex-shrink:0 !important; flex-wrap:nowrap !important;
}
#qp-floorplan.qp-fullscreen-active .qp-subtitle,
#qp-floorplan:fullscreen .qp-subtitle,
#qp-floorplan:-webkit-full-screen .qp-subtitle { display:none !important; }
#qp-floorplan.qp-fullscreen-active .qp-header-actions-direct,
#qp-floorplan:fullscreen .qp-header-actions-direct,
#qp-floorplan:-webkit-full-screen .qp-header-actions-direct { display:none !important; }
#qp-floorplan.qp-fullscreen-active .qp-filemenu { display:block !important; }
/* Main — fill remaining height, keep 3 cols: dock | canvas | dock */
#qp-floorplan.qp-fullscreen-active .qp-main,
#qp-floorplan:fullscreen .qp-main,
#qp-floorplan:-webkit-full-screen .qp-main {
  display:grid !important;
  grid-template-columns: 60px minmax(0,1fr) 60px !important;
  grid-template-rows: 1fr !important;
  height:calc(100dvh - 52px) !important;
  min-height:0 !important; max-height:none !important;
  flex:1 1 auto !important; overflow:hidden !important;
}
/* Docks — stretch full height, always visible */
#qp-floorplan.qp-fullscreen-active .qp-dock,
#qp-floorplan:fullscreen .qp-dock,
#qp-floorplan:-webkit-full-screen .qp-dock {
  position:relative !important; align-self:stretch !important;
  width:60px !important; flex:0 0 60px !important;
  height:100% !important; max-height:100% !important;
  overflow-y:auto !important; overflow-x:hidden !important;
  display:flex !important; flex-direction:column !important;
  align-items:center !important; gap:6px !important;
  padding:8px 6px !important; box-sizing:border-box !important;
  visibility:visible !important; opacity:1 !important; z-index:20 !important;
}
/* Dock buttons in fullscreen */
#qp-floorplan.qp-fullscreen-active .qp-dockbtn,
#qp-floorplan:fullscreen .qp-dockbtn,
#qp-floorplan:-webkit-full-screen .qp-dockbtn {
  width:50px !important; height:50px !important; min-height:50px !important;
  font-size:20px !important; border-radius:14px !important; flex:0 0 auto !important;
  overflow:visible !important;
}
/* Body — the middle column */
#qp-floorplan.qp-fullscreen-active .qp-body,
#qp-floorplan:fullscreen .qp-body,
#qp-floorplan:-webkit-full-screen .qp-body {
  grid-column:2 !important; display:flex !important; flex-direction:column !important;
  min-width:0 !important; min-height:0 !important;
  height:100% !important; overflow:hidden !important;
  padding:0 !important;
}
/* Canvas area and stage fill */
#qp-floorplan.qp-fullscreen-active .qp-center,
#qp-floorplan.qp-fullscreen-active .qp-canvas-area,
#qp-floorplan:fullscreen .qp-center,
#qp-floorplan:fullscreen .qp-canvas-area,
#qp-floorplan:-webkit-full-screen .qp-center,
#qp-floorplan:-webkit-full-screen .qp-canvas-area {
  flex:1 1 auto !important; min-width:0 !important; min-height:0 !important;
  display:flex !important; flex-direction:column !important;
}
#qp-floorplan.qp-fullscreen-active .qp-stage,
#qp-floorplan:fullscreen .qp-stage,
#qp-floorplan:-webkit-full-screen .qp-stage {
  flex:1 1 auto !important; min-width:0 !important; min-height:0 !important;
  padding:6px !important; overflow:hidden !important;
}
#qp-floorplan.qp-fullscreen-active #qp-canvas,
#qp-floorplan:fullscreen #qp-canvas,
#qp-floorplan:-webkit-full-screen #qp-canvas {
  display:block !important; width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
}
/* Hide canvas toolbar & status in fullscreen — more drawing space */
#qp-floorplan.qp-fullscreen-active .qp-canvas-toolbar,
#qp-floorplan:fullscreen .qp-canvas-toolbar,
#qp-floorplan:-webkit-full-screen .qp-canvas-toolbar { display:none !important; }
#qp-floorplan.qp-fullscreen-active .qp-status,
#qp-floorplan:fullscreen .qp-status,
#qp-floorplan:-webkit-full-screen .qp-status { display:none !important; }
/* Drawers in fullscreen — fixed, full-height, always visible when open */
#qp-floorplan.qp-fullscreen-active .qp-left.qp-drawer,
#qp-floorplan:fullscreen .qp-left.qp-drawer,
#qp-floorplan:-webkit-full-screen .qp-left.qp-drawer {
  position:fixed !important;
  left:60px !important;
  top:var(--qp-drawer-top, 52px) !important; bottom:0 !important;
  width:min(300px, calc(100vw - 60px - 10px)) !important;
  max-width:300px !important; height:auto !important; max-height:none !important;
  z-index:1000 !important;
  overflow-y:auto !important; overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  transform:translateX(-110%) !important;
}
#qp-floorplan.qp-fullscreen-active .qp-right.qp-drawer,
#qp-floorplan:fullscreen .qp-right.qp-drawer,
#qp-floorplan:-webkit-full-screen .qp-right.qp-drawer {
  position:fixed !important;
  right:60px !important;
  top:var(--qp-drawer-top, 52px) !important; bottom:0 !important;
  width:min(290px, calc(100vw - 60px - 10px)) !important;
  max-width:290px !important; height:auto !important; max-height:none !important;
  z-index:1000 !important;
  overflow-y:auto !important; overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  transform:translateX(110%) !important;
}
/* Open states in fullscreen — these MUST beat everything above */
#qp-floorplan.qp-fullscreen-active.qp-open-left .qp-left.qp-drawer,
#qp-floorplan:fullscreen.qp-open-left .qp-left.qp-drawer,
#qp-floorplan.qp-open-left .qp-left.qp-drawer {
  transform:translateX(0) !important;
}
#qp-floorplan.qp-fullscreen-active.qp-open-right .qp-right.qp-drawer,
#qp-floorplan:fullscreen.qp-open-right .qp-right.qp-drawer,
#qp-floorplan.qp-open-right .qp-right.qp-drawer {
  transform:translateX(0) !important;
}
/* Tabs in fullscreen drawers — 2 col */
#qp-floorplan.qp-fullscreen-active .qp-tabs,
#qp-floorplan:fullscreen .qp-tabs,
#qp-floorplan:-webkit-full-screen .qp-tabs { grid-template-columns:1fr 1fr !important; }
/* ====================================================
   MOBILE LANDSCAPE (non-fullscreen, narrow viewport)
   ==================================================== */
@media (max-width:950px) and (orientation:landscape) {
  html, body { overflow:hidden !important; }
  .standalone-shell { padding:0 !important; min-height:100dvh !important; }
  #qp-floorplan { width:100vw !important; max-width:none !important; border-radius:0 !important; }
  #qp-floorplan .qp-header { min-height:40px !important; padding:5px 10px !important; }
  #qp-floorplan .qp-title { font-size:14px !important; }
  #qp-floorplan .qp-subtitle { display:none !important; }
  #qp-floorplan .qp-main {
    height:calc(100dvh - 40px) !important; min-height:0 !important;
    grid-template-columns:60px minmax(0,1fr) 60px !important;
    overflow:hidden !important;
  }
}
/* ====================================================
   TABLET / SMALL DESKTOP  (> 820px, not landscape phone)
   ==================================================== */
@media (max-width:1100px) and (min-width:821px) {
  :root {  }
  .qp-dockbtn { width:46px; height:46px; min-height:46px; font-size:20px; }
}
/* ====================================================
   MOBILE PORTRAIT  (≤ 820px)
   ==================================================== */
@media (max-width:820px) and (orientation:portrait) {
  :root {  }
  html, body { overflow-x:hidden; }
  .standalone-shell { padding:0 !important; }
  #qp-floorplan { width:100vw !important; max-width:none !important; border-radius:0 !important; height:100dvh !important; display:flex !important; flex-direction:column !important; }
  .qp-app { border-radius:0 !important; height:100dvh !important; }
  .qp-header { position:sticky; top:0; z-index:60; padding:8px 12px !important; min-height:52px !important; }
  .qp-main { height:calc(100dvh - 52px) !important; min-height:0 !important; }
  .qp-dockbtn { width:44px !important; height:44px !important; min-height:44px !important; font-size:18px !important; }
  .qp-drawer { width:min(290px, calc(100vw - 60px - 8px)) !important; }
}
/* Keep the File menu visible above the canvas in compact/mobile-tablet workspaces
   and remove the extra Panels button there too */
@media (max-width:950px) {
  #qp-floorplan .qp-header {
    position:relative !important;
    z-index:1600 !important;
    overflow:visible !important;
  }
  #qp-floorplan .qp-header-right,
  #qp-floorplan .qp-filemenu {
    overflow:visible !important;
  }
  #qp-floorplan .qp-filemenu {
    display:block !important;
    position:relative;
    z-index:1700;
  }
  #qp-floorplan .qp-filemenu-panel {
    position:fixed !important;
    top:calc(env(safe-area-inset-top) + 58px) !important;
    right:max(12px, env(safe-area-inset-right)) !important;
    left:auto !important;
    z-index:2147483602 !important;
  }
  #qp-show-panels {
    display:none !important;
  }
}
#qp-floorplan.qp-mobile-tablet-mode .qp-header {
  position:relative !important;
  z-index:1600 !important;
  overflow:visible !important;
}
#qp-floorplan.qp-mobile-tablet-mode .qp-header-right,
#qp-floorplan.qp-mobile-tablet-mode .qp-filemenu {
  overflow:visible !important;
}
#qp-floorplan.qp-mobile-tablet-mode .qp-filemenu {
  display:block !important;
  position:relative;
  z-index:1700;
}
#qp-floorplan.qp-mobile-tablet-mode .qp-filemenu-panel {
  position:fixed !important;
  top:calc(env(safe-area-inset-top) + 58px) !important;
  right:max(12px, env(safe-area-inset-right)) !important;
  left:auto !important;
  z-index:2147483602 !important;
}
#qp-floorplan.qp-mobile-tablet-mode #qp-show-panels {
  display:none !important;
}
/* ====================================================
   FORCED LANDSCAPE (mobile fallback, CSS rotation)
   ==================================================== */
#qp-floorplan.qp-force-landscape {
  position:fixed !important; inset:0 auto auto 0 !important;
  width:100dvh !important; height:100dvw !important;
  max-width:none !important; margin:0 !important; border-radius:0 !important;
  transform-origin:top left; transform:rotate(90deg) translateY(-100%);
  z-index:2147483000; display:flex !important; flex-direction:column !important;
  background:#eef1f6 !important;
}
#qp-floorplan.qp-force-landscape .qp-main { height:calc(100dvw - 52px) !important; }
/* ====================================================
   Nicepage embed compatibility
   ==================================================== */
.u-section-1 .u-sheet-1 { width:min(1140px,calc(100vw - 32px)); min-height:auto !important; }
.u-custom-html-1 { height:auto !important; min-height:auto !important; overflow:visible !important; padding:0 !important; }
.u-section-1,.u-section-1 .u-sheet-1,.u-section-1 .u-layout-wrap,.u-section-1 .u-custom-html { overflow:visible !important; }
/* ====================================================
   IMMERSIVE / CASINO-STYLE APP CHROME
   ==================================================== */
body.qp-casino-mode {
  background:
    radial-gradient(circle at 12% 18%, rgba(59,130,246,.22), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(14,165,233,.16), transparent 24%),
    radial-gradient(circle at 52% 100%, rgba(168,85,247,.14), transparent 34%),
    linear-gradient(180deg, #07111f 0%, #0b1324 42%, #09101c 100%) !important;
  color: #e5eefc;
}
body.qp-casino-mode::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 18%, rgba(0,0,0,.1));
}
body.qp-casino-mode .standalone-shell {
  padding: 0 !important;
  min-height: 100dvh !important;
}
body.qp-casino-mode #qp-floorplan {
  width: 100vw !important;
  max-width: none !important;
}
body.qp-casino-mode .qp-app {
  min-height: 100dvh;
  border: none !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(12,20,34,.96), rgba(9,15,27,.98)) !important;
  box-shadow: 0 0 0 1px rgba(148,163,184,.08), 0 30px 120px rgba(0,0,0,.55) !important;
}
body.qp-casino-mode .qp-header {
  background:
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.02)),
    linear-gradient(90deg, rgba(30,41,59,.94), rgba(15,23,42,.94)) !important;
  border-bottom: 1px solid rgba(148,163,184,.14) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.04);
}
body.qp-casino-mode .qp-title {
  color: #f8fbff !important;
  font-size: 20px !important;
  letter-spacing: .02em;
  text-transform: uppercase;
}
body.qp-casino-mode .qp-subtitle {
  color: rgba(191,219,254,.7) !important;
}
body.qp-casino-mode .qp-sep { background: rgba(148,163,184,.18) !important; }
body.qp-casino-mode .qp-main {
  height: calc(100dvh - 56px) !important;
  background: linear-gradient(180deg, rgba(7,12,22,.3), rgba(7,12,22,0));
}
body.qp-casino-mode .qp-dock {
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(12,18,32,.92)) !important;
  border-color: rgba(148,163,184,.12) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
body.qp-casino-mode .qp-dockbtn {
  border: 1px solid rgba(148,163,184,.18) !important;
  background: linear-gradient(180deg, rgba(30,41,59,.96), rgba(17,24,39,.96)) !important;
  color: #e2e8f0 !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
body.qp-casino-mode .qp-dockbtn:hover {
  background: linear-gradient(180deg, rgba(37,99,235,.92), rgba(29,78,216,.92)) !important;
  color: #fff !important;
}
body.qp-casino-mode .qp-dockbtn.qp-active {
  background: linear-gradient(180deg, #38bdf8, #2563eb) !important;
  border-color: rgba(147,197,253,.7) !important;
  color: white !important;
  box-shadow: 0 0 0 1px rgba(191,219,254,.2), 0 10px 28px rgba(37,99,235,.35) !important;
}
body.qp-casino-mode .qp-canvas-area {
  background: radial-gradient(circle at 50% 0%, rgba(56,189,248,.08), transparent 24%), #0a1120 !important;
}
body.qp-casino-mode .qp-canvas-toolbar {
  background: linear-gradient(180deg, rgba(15,23,42,.84), rgba(15,23,42,.55)) !important;
  border-bottom: 1px solid rgba(148,163,184,.12) !important;
}
body.qp-casino-mode .qp-pill {
  background: rgba(15,23,42,.82) !important;
  border-color: rgba(148,163,184,.15) !important;
  color: #cbd5e1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 16px rgba(0,0,0,.14);
}
body.qp-casino-mode .qp-pill b { color: #f8fafc !important; }
body.qp-casino-mode .qp-stage { padding: 10px !important; background: transparent !important; }
body.qp-casino-mode #qp-canvas {
  border-radius: 18px !important;
  border: 1px solid rgba(125,211,252,.16) !important;
  background: linear-gradient(180deg, #f9fbff 0%, #f3f7fd 100%) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.25), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
body.qp-casino-mode .qp-status {
  background: rgba(15,23,42,.9) !important;
  color: #e2e8f0 !important;
  border-color: rgba(148,163,184,.16) !important;
}
body.qp-casino-mode .qp-left.qp-drawer,
body.qp-casino-mode .qp-right.qp-drawer {
  background: linear-gradient(180deg, rgba(10,15,28,.97), rgba(10,15,28,.94)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.42) !important;
}
body.qp-casino-mode .qp-panelhead {
  background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.92)) !important;
  border-bottom-color: rgba(148,163,184,.12) !important;
}
body.qp-casino-mode .qp-paneltitle,
body.qp-casino-mode .qp-group-title { color: rgba(191,219,254,.78) !important; }
body.qp-casino-mode .qp-tool,
body.qp-casino-mode .qp-btn,
body.qp-casino-mode .qp-tab,
body.qp-casino-mode .qp-libitem,
body.qp-casino-mode .qp-submenu,
body.qp-casino-mode .qp-field input,
body.qp-casino-mode .qp-field select,
body.qp-casino-mode .qp-mini,
body.qp-casino-mode .qp-filemenu-panel,
body.qp-casino-mode .qp-filemenu-item {
  background: linear-gradient(180deg, rgba(22,31,49,.96), rgba(15,23,42,.96)) !important;
  color: #e2e8f0 !important;
  border-color: rgba(148,163,184,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 18px rgba(0,0,0,.18);
}
body.qp-casino-mode .qp-tool:hover,
body.qp-casino-mode .qp-btn:hover,
body.qp-casino-mode .qp-tab:hover,
body.qp-casino-mode .qp-libitem:hover,
body.qp-casino-mode .qp-mini:hover,
body.qp-casino-mode .qp-filemenu-item:hover {
  background: linear-gradient(180deg, rgba(30,41,59,.98), rgba(22,31,49,.98)) !important;
}
body.qp-casino-mode .qp-tool.qp-active,
body.qp-casino-mode .qp-tab.qp-active,
body.qp-casino-mode .qp-btn.qp-btn-primary {
  background: linear-gradient(180deg, #38bdf8, #2563eb) !important;
  color: #fff !important;
  border-color: rgba(147,197,253,.65) !important;
}
body.qp-casino-mode .qp-inline,
body.qp-casino-mode .qp-hint,
body.qp-casino-mode .qp-legrow,
body.qp-casino-mode .qp-scale-badge {
  color: #cbd5e1 !important;
}
body.qp-casino-mode .qp-scale-badge {
  background: linear-gradient(180deg, rgba(14,165,233,.18), rgba(37,99,235,.14)) !important;
  border-color: rgba(125,211,252,.16) !important;
}
body.qp-casino-mode #qp-zoom-label { color: #7dd3fc !important; }
body.qp-casino-mode .qp-icon,
body.qp-casino-mode .qp-preview {
  background: linear-gradient(180deg, rgba(14,165,233,.14), rgba(37,99,235,.12)) !important;
  border-color: rgba(125,211,252,.18) !important;
}
body.qp-casino-mode .qp-floatbox { background: rgba(2,8,23,.92) !important; }
body.qp-casino-mode .qp-filemenu-btn { min-width: 92px; }
body.qp-casino-mode #qp-fullscreen {
  background: linear-gradient(180deg, #0f172a, #020617) !important;
  border-color: rgba(148,163,184,.18) !important;
}
body.qp-casino-mode #qp-fullscreen:hover {
  background: linear-gradient(180deg, #1e293b, #0f172a) !important;
}
@media (max-width: 820px) {
  body.qp-casino-mode .qp-header { padding: 8px 10px !important; }
  body.qp-casino-mode .qp-title { font-size: 16px !important; }
  body.qp-casino-mode .qp-subtitle { display: none !important; }
}
/* ====================================================
   CASINO+ POLISH PASS (v3)
   ==================================================== */
:root {
  
  
  
}
@media (max-width: 1100px) {
  :root {  }
}
@media (max-width: 820px) {
  :root {  }
}
body.qp-casino-mode .qp-header {
  position: relative;
  overflow: hidden;
}
body.qp-casino-mode .qp-header::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(125,211,252,.45), transparent);
}
body.qp-casino-mode .qp-dock {
  width: 60px !important;
  flex-basis: 60px !important;
  overflow: visible !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
body.qp-casino-mode .qp-dock-left {
  padding-left: max(8px, env(safe-area-inset-left)) !important;
  padding-right: 8px !important;
}
body.qp-casino-mode .qp-dock-right {
  padding-left: 8px !important;
  padding-right: max(8px, env(safe-area-inset-right)) !important;
}
body.qp-casino-mode .qp-dockbtn {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
  font-size: 0 !important;
  transform-origin: center center;
}
body.qp-casino-mode .qp-dockbtn > * {
  position: relative;
  z-index: 2;
}
body.qp-casino-mode .qp-dockbtn::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  opacity: 0;
  transition: opacity .18s ease;
}
body.qp-casino-mode .qp-dockbtn::after {
  content: '';
  position: absolute;
  top: -120%;
  left: -45%;
  width: 52%;
  height: 260%;
  transform: rotate(22deg);
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.34), rgba(255,255,255,0));
  opacity: 0;
  transition: transform .58s ease, opacity .22s ease;
}
body.qp-casino-mode .qp-dockbtn:hover::before { opacity: 1; }
body.qp-casino-mode .qp-dockbtn:hover::after {
  opacity: .95;
  transform: translateX(148px) rotate(22deg);
}
body.qp-casino-mode .qp-dockbtn:hover {
  transform: translateY(-1px) scale(1.03);
}
body.qp-casino-mode .qp-dockbtn.qp-active {
  animation: qpDockPulse 2.2s ease-in-out infinite;
}
body.qp-casino-mode .qp-svgicon {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.qp-casino-mode .qp-svgicon-fill {
  fill: currentColor;
  stroke: none;
}
body.qp-casino-mode .qp-dockbtn .qp-iconwrap,
body.qp-casino-mode .qp-pillicon,
body.qp-casino-mode .qp-btnicon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.qp-casino-mode .qp-stage {
  isolation: isolate;
}
body.qp-casino-mode .qp-stage::before,
body.qp-casino-mode .qp-stage::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
  filter: blur(38px);
  opacity: .55;
}
body.qp-casino-mode .qp-stage::before {
  width: 280px;
  height: 180px;
  left: 2%;
  top: 2%;
  background: radial-gradient(circle, rgba(56,189,248,.22), rgba(56,189,248,0) 70%);
}
body.qp-casino-mode .qp-stage::after {
  width: 260px;
  height: 200px;
  right: 3%;
  bottom: 2%;
  background: radial-gradient(circle, rgba(168,85,247,.16), rgba(168,85,247,0) 72%);
}
body.qp-casino-mode .qp-left.qp-drawer,
body.qp-casino-mode .qp-right.qp-drawer {
  opacity: 0;
  filter: blur(10px);
  transition:
    transform .34s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    filter .30s ease,
    box-shadow .24s ease !important;
}
body.qp-casino-mode #qp-floorplan.qp-open-left .qp-left.qp-drawer,
body.qp-casino-mode #qp-floorplan.qp-open-right .qp-right.qp-drawer {
  opacity: 1;
  filter: blur(0);
}
body.qp-casino-mode .qp-left.qp-drawer { transform-origin: left center; }
body.qp-casino-mode .qp-right.qp-drawer { transform-origin: right center; }
body.qp-casino-mode .qp-tool,
body.qp-casino-mode .qp-btn,
body.qp-casino-mode .qp-tab,
body.qp-casino-mode .qp-libitem,
body.qp-casino-mode .qp-mini {
  transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
}
body.qp-casino-mode .qp-tool:hover,
body.qp-casino-mode .qp-btn:hover,
body.qp-casino-mode .qp-tab:hover,
body.qp-casino-mode .qp-libitem:hover,
body.qp-casino-mode .qp-mini:hover {
  transform: translateY(-1px);
}
body.qp-casino-mode .qp-float {
  position: absolute;
  top: 18px !important;
  z-index: 90;
  height: 36px;
  min-width: 112px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(125,211,252,.2);
  background: linear-gradient(180deg, rgba(10,18,32,.92), rgba(6,11,22,.88));
  color: #e2e8f0;
  box-shadow: 0 14px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  cursor: pointer;
  font: 800 12px/1 Roboto, Arial, sans-serif;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .16s ease, box-shadow .16s ease, opacity .18s ease;
}
body.qp-casino-mode .qp-float:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 18px 36px rgba(0,0,0,.4), 0 0 0 1px rgba(125,211,252,.16), inset 0 1px 0 rgba(255,255,255,.05);
}
body.qp-casino-mode .qp-float .qp-svgicon {
  width: 16px;
  height: 16px;
}
body.qp-casino-mode .qp-float-left {
  left: max(14px, env(safe-area-inset-left)) !important;
  right: auto !important;
}
body.qp-casino-mode .qp-float-right {
  right: max(14px, env(safe-area-inset-right)) !important;
  left: auto !important;
}
body.qp-casino-mode .qp-float.qp-visible {
  display: inline-flex !important;
  animation: qpFloatIn .24s cubic-bezier(.22,1,.36,1);
}
body.qp-casino-mode .qp-float-label {
  font: 800 12px/1 Roboto, Arial, sans-serif;
  letter-spacing: .04em;
}
body.qp-casino-mode .qp-dock,
body.qp-casino-mode .qp-header,
body.qp-casino-mode .qp-canvas-toolbar {
  backdrop-filter: blur(12px);
}
body.qp-casino-mode .qp-dockbtn,
body.qp-casino-mode .qp-btn,
body.qp-casino-mode .qp-tab,
body.qp-casino-mode .qp-libitem,
body.qp-casino-mode .qp-tool,
body.qp-casino-mode .qp-mini {
  position: relative;
}
body.qp-casino-mode .qp-dockbtn:active,
body.qp-casino-mode .qp-btn:active,
body.qp-casino-mode .qp-tab:active,
body.qp-casino-mode .qp-libitem:active,
body.qp-casino-mode .qp-tool:active,
body.qp-casino-mode .qp-mini:active {
  transform: translateY(1px) scale(.97);
}
body.qp-casino-mode .qp-stage canvas {
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.08), 0 0 0 1px rgba(56,189,248,.06), 0 18px 40px rgba(2,6,23,.18);
  transition: box-shadow .22s ease, transform .22s ease;
}
body.qp-casino-mode .qp-stage:hover canvas {
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.08), 0 0 0 1px rgba(56,189,248,.16), 0 26px 60px rgba(2,6,23,.24);
}
body.qp-casino-mode .qp-header-right {
  gap: 10px;
}
body.qp-casino-mode #qp-show-panels {
  min-width: 124px;
  justify-content: center;
  background: linear-gradient(180deg, rgba(14,116,144,.28), rgba(7,89,133,.18));
  border-color: rgba(125,211,252,.26);
  color: #e0f2fe;
}
body.qp-casino-mode #qp-show-panels .qp-btnicon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.qp-casino-mode #qp-show-panels.qp-attn {
  animation: qpPanelsPulse 1.8s ease-in-out infinite;
}
body.qp-casino-mode .qp-float.qp-visible {
  animation: qpFloatIn .24s cubic-bezier(.22,1,.36,1), qpPanelsPulse 2.4s ease-in-out infinite;
}
body.qp-casino-mode .qp-dockbtn .qp-iconwrap {
  width: 24px;
  height: 24px;
}
body.qp-casino-mode .qp-left.qp-drawer,
body.qp-casino-mode .qp-right.qp-drawer {
  box-shadow: 0 24px 60px rgba(2,6,23,.46), 0 0 0 1px rgba(148,163,184,.08);
}
@keyframes qpPanelsPulse {
  0%,100% { box-shadow: 0 10px 22px rgba(2,132,199,.14), 0 0 0 1px rgba(125,211,252,.08); }
  50% { box-shadow: 0 14px 28px rgba(2,132,199,.24), 0 0 0 1px rgba(125,211,252,.18), 0 0 18px rgba(56,189,248,.15); }
}
body.qp-casino-mode #qp-show-panels {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.qp-casino-mode #qp-show-panels.qp-attn {
  border-color: rgba(125,211,252,.3) !important;
  box-shadow: 0 0 0 1px rgba(125,211,252,.08), 0 10px 20px rgba(2,132,199,.12) !important;
}
body.qp-casino-mode .qp-boot-overlay {
  position: absolute;
  inset: 0;
  z-index: 2200;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 30% 30%, rgba(56,189,248,.18), transparent 24%),
    radial-gradient(circle at 70% 70%, rgba(168,85,247,.14), transparent 28%),
    linear-gradient(180deg, rgba(4,10,20,.96), rgba(5,12,24,.94));
  transition: opacity .48s ease, visibility .48s ease;
}
body.qp-casino-mode.qp-boot-complete .qp-boot-overlay {
  opacity: 0;
  visibility: hidden;
}
body.qp-casino-mode .qp-boot-card {
  width: min(460px, calc(100vw - 48px));
  padding: 28px 26px;
  border-radius: 28px;
  border: 1px solid rgba(125,211,252,.18);
  background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(8,15,28,.92));
  box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
  text-align: center;
}
body.qp-casino-mode .qp-boot-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(125,211,252,.16);
  background: rgba(15,23,42,.7);
  color: rgba(191,219,254,.92);
  font: 800 11px/1 Roboto, Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.qp-casino-mode .qp-boot-title {
  margin: 18px 0 8px;
  color: #f8fbff;
  font: 900 32px/1.05 Roboto, Arial, sans-serif;
  letter-spacing: .01em;
}
body.qp-casino-mode .qp-boot-text {
  margin: 0 auto 18px;
  max-width: 34ch;
  color: rgba(191,219,254,.78);
  font: 500 14px/1.45 Roboto, Arial, sans-serif;
}
body.qp-casino-mode .qp-boot-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(30,41,59,.9);
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.35);
}
body.qp-casino-mode .qp-boot-bar > span {
  display: block;
  height: 100%;
  width: 100%;
  transform: translateX(-72%);
  background: linear-gradient(90deg, rgba(56,189,248,.18), rgba(56,189,248,1), rgba(168,85,247,.92));
  animation: qpBootLoad 1.2s cubic-bezier(.22,1,.36,1) forwards;
}
body.qp-casino-mode .qp-boot-sub {
  margin-top: 12px;
  color: rgba(148,163,184,.88);
  font: 700 11px/1 Roboto, Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.qp-casino-mode .qp-canvas-toolbar {
  scrollbar-color: rgba(125,211,252,.3) transparent;
}
body.qp-casino-mode .qp-canvas-toolbar::-webkit-scrollbar,
body.qp-casino-mode .qp-drawer::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
body.qp-casino-mode .qp-canvas-toolbar::-webkit-scrollbar-thumb,
body.qp-casino-mode .qp-drawer::-webkit-scrollbar-thumb {
  background: rgba(125,211,252,.24);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
@keyframes qpDockPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(191,219,254,.18), 0 10px 28px rgba(37,99,235,.34); }
  50% { box-shadow: 0 0 0 1px rgba(191,219,254,.32), 0 0 24px rgba(56,189,248,.16), 0 12px 30px rgba(37,99,235,.42); }
}
@keyframes qpFloatIn {
  from { opacity: 0; transform: translateY(-6px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes qpBootLoad {
  from { transform: translateX(-72%); }
  to { transform: translateX(0%); }
}
/* Mode chooser overlay */
body.qp-mode-chooser-active #qp-floorplan {
  visibility: hidden;
}
body:not(.qp-mode-chooser-active) .qp-mode-chooser{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.qp-mode-chooser {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  background:
    radial-gradient(circle at top, rgba(59,130,246,.18), transparent 38%),
    linear-gradient(180deg, #0f172a 0%, #09101d 100%);
}
.qp-mode-chooser-card {
  width: min(980px, 100%);
  border-radius: 28px;
  border: 1px solid rgba(148,163,184,.16);
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(8,15,29,.98));
  box-shadow: 0 28px 90px rgba(0,0,0,.38);
  padding: 28px;
  color: #e5eefc;
}
.qp-mode-chooser-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(30,41,59,.9);
  border: 1px solid rgba(125,211,252,.16);
  font: 800 12px/1 Roboto,Arial,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.qp-mode-chooser-title {
  margin: 18px 0 8px;
  font: 900 clamp(28px,4vw,44px)/1.05 Roboto,Arial,sans-serif;
  letter-spacing: -.03em;
  color: #f8fbff;
}
.qp-mode-chooser-text {
  margin: 0 0 22px;
  max-width: 760px;
  color: rgba(226,232,240,.82);
  font: 500 15px/1.5 Roboto,Arial,sans-serif;
}
.qp-mode-chooser-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.qp-mode-btn {
  appearance: none;
  border: 1px solid rgba(125,211,252,.18);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.92)),
    linear-gradient(135deg, rgba(59,130,246,.16), rgba(34,197,94,.08));
  color: #f8fbff;
  padding: 22px;
  min-height: 220px;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 16px 50px rgba(2,6,23,.36);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.qp-mode-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(125,211,252,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 24px 60px rgba(2,6,23,.44);
}
.qp-mode-btn:active { transform: translateY(0); }
.qp-mode-btn-ico {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(30,41,59,.96), rgba(15,23,42,.96));
  border: 1px solid rgba(148,163,184,.18);
  margin-bottom: 18px;
}
.qp-mode-btn-ico .qp-svgicon {
  width: 34px;
  height: 34px;
  stroke: #dbeafe;
}
.qp-mode-btn-title {
  display: block;
  font: 900 24px/1.1 Roboto,Arial,sans-serif;
  margin-bottom: 10px;
}
.qp-mode-btn-text {
  display: block;
  color: rgba(226,232,240,.82);
  font: 500 14px/1.45 Roboto,Arial,sans-serif;
}
@media (max-width: 760px){
  .qp-mode-chooser-grid { grid-template-columns: 1fr; }
  .qp-mode-btn { min-height: 180px; }
  .qp-mode-chooser-card { padding: 22px; border-radius: 22px; }
}
/* In-app label modal (programmatically created to preserve fullscreen safely) */
.qp-label-modal{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.58);backdrop-filter:blur(8px)}
.qp-label-modal.qp-show{display:flex}
.qp-label-card{width:min(420px,calc(100vw - 32px));border-radius:20px;padding:18px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg, rgba(15,23,42,.98), rgba(8,15,29,.98));box-shadow:0 24px 80px rgba(0,0,0,.42);color:#f8fbff;font-family:Roboto,Arial,sans-serif}
.qp-label-title{font:900 20px/1.1 Roboto,Arial,sans-serif;margin:0 0 8px}
.qp-label-text{font:500 13px/1.45 Roboto,Arial,sans-serif;color:rgba(226,232,240,.82);margin:0 0 14px}
.qp-label-input{width:100%;box-sizing:border-box;border-radius:12px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);outline:none;background:rgba(15,23,42,.88);color:#fff;font:700 14px/1.2 Roboto,Arial,sans-serif}
.qp-label-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.qp-label-btn{appearance:none;border:1px solid rgba(148,163,184,.18);cursor:pointer;border-radius:12px;padding:10px 14px;font:800 13px/1 Roboto,Arial,sans-serif;background:linear-gradient(180deg, rgba(30,41,59,.96), rgba(15,23,42,.96));color:#e2e8f0}
.qp-label-btn:hover{filter:brightness(1.08)}
.qp-label-btn-primary{background:linear-gradient(180deg, #38bdf8, #2563eb);color:#fff;border-color:rgba(147,197,253,.65)}
/* Universal button hit-area fix:
   make the actual button/card receive the tap, not just inner icon/text nodes */
button,
.qp-btn,
.qp-dockbtn,
.qp-tool,
.qp-tab,
.qp-libitem,
.qp-mode-btn,
.qp-filemenu-item,
.qp-mini,
.qp-collapse,
.qp-rotate-btn {
  pointer-events: auto !important;
  touch-action: manipulation;
}
button *,
.qp-btn *,
.qp-dockbtn *,
.qp-tool *,
.qp-tab *,
.qp-libitem *,
.qp-mode-btn *,
.qp-filemenu-item *,
.qp-mini *,
.qp-collapse *,
.qp-rotate-btn * {
  pointer-events: none !important;
}
/* Also disable hit-testing on decorative overlays/pseudo-elements so the whole button face
   works consistently with a mouse on desktop as well as touch on mobile. */
.qp-btn::before,
.qp-btn::after,
.qp-dockbtn::before,
.qp-dockbtn::after,
.qp-tool::before,
.qp-tool::after,
.qp-tab::before,
.qp-tab::after,
.qp-libitem::before,
.qp-libitem::after,
.qp-mode-btn::before,
.qp-mode-btn::after,
.qp-filemenu-item::before,
.qp-filemenu-item::after,
.qp-mini::before,
.qp-mini::after,
.qp-collapse::before,
.qp-collapse::after,
.qp-rotate-btn::before,
.qp-rotate-btn::after,
.qp-iconwrap,
.qp-iconwrap *,
.qp-ico,
.qp-ico *,
.qp-txt,
.qp-txt *,
.qp-icon,
.qp-icon *,
.qp-preview,
.qp-preview * {
  pointer-events: none !important;
}
/* Keep form controls interactive where they are meant to be edited directly */
label,
label *,
input,
select,
option {
  pointer-events: auto !important;
} 