.panel-desktop{position:fixed;bottom:32px;left:20px;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 4px 20px #00000026;border:1px solid #e0e0e0;z-index:999;min-width:200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#333}.panel-mobile{position:fixed;left:var(--layout-toolbar-width, 0);right:0;bottom:var(--mobile-panel-bottom, 24px);background:#fff;box-shadow:0 -2px 8px #0000001f;border-top:1px solid #e0e0e0;z-index:999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#333}.panel-title{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#555}.panel-desktop .panel-title{margin-bottom:8px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:40px;border-bottom:1px solid #eee}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-desktop .panel-row+.panel-row{margin-top:6px}.panel-mobile .panel-row{padding:0 16px;height:44px;border-top:1px solid #eee}.panel-row-inner{display:flex;align-items:center;gap:4px}.panel-row.derived span,.panel-row.derived input{color:#888}.panel-sep{height:1px;background:#eee;margin:8px 0}.panel-mobile .panel-sep{display:none}.panel-input{width:80px;padding:3px 6px;border:1px solid #ddd;border-radius:4px;font-size:13px}.panel-input[readonly]{background:#f9f9f9}.panel-select{padding:3px 6px;border:1px solid #ddd;border-radius:4px;font-size:13px}.panel-btn{padding:4px 12px;border:1px solid #ccc;background:#fff;border-radius:5px;cursor:pointer;font-size:12px}.panel-btn:hover{background:#f5f5f5}.panel-btn.active{background:#fff3e0;border-color:#ff9800;color:#e65100}.panel-more-btn{padding:4px 12px;border:1px solid #ccc;background:#fff;border-radius:5px;cursor:pointer;font-size:13px}.panel-more-btn:hover{background:#f5f5f5}.panel-seg-group{display:flex;gap:4px}.panel-seg-btn{padding:3px 8px;border-radius:5px;border:1.5px solid #ccc;background:#fff;cursor:pointer;font-size:12px}.panel-seg-btn.active{background:#2196f3;color:#fff;border-color:#1976d2}.panel-seg-btn:hover:not(.active){background:#f5f5f5}.account-menu.svelte-1mzjx0{position:fixed;top:0;right:12px;height:var(--layout-topbar-height);z-index:1002;display:flex;align-items:center}.account-menu-trigger.svelte-1mzjx0{width:32px;height:32px;background:#2c3e50;border:none;border-radius:50%;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.account-menu-trigger.svelte-1mzjx0 .material-icons:where(.svelte-1mzjx0){font-size:28px}.account-menu-dropdown.svelte-1mzjx0{position:absolute;top:100%;right:0;min-width:150px;background:#fff;color:#333;border-radius:4px;box-shadow:0 4px 12px #00000026;overflow:hidden}.account-menu-item.svelte-1mzjx0{display:block;width:100%;padding:12px 16px;border:none;background:transparent;text-align:left;font:inherit;font-size:13px;cursor:pointer;color:inherit}.account-menu-item.svelte-1mzjx0:hover{background:#f8f9fa}@media(pointer:coarse){.account-menu.svelte-1mzjx0{right:52px}}.auth-loading.svelte-12qhfyh{min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#666;font-size:14px}:root{--layout-toolbar-width: 0px;--layout-topbar-height: 56px;--layout-logo-size: 32px;--layout-logo-slot: 52px;--mobile-panel-bottom: 24px}@media print{@page{margin:0}@page floorplan-landscape{size:A4 landscape;margin:0}@page floorplan-portrait{size:A4 portrait;margin:0}html,body{height:auto;overflow:visible;background:#fff}.print-hidden,.file-menu,.project-title-wrap,.mobile-drawer,.tools-panel,#right-panel-host,.status-bar,.room-area-total,#three-canvas-wrapper,#solver-loading,.overlay,.backdrop,dialog{display:none!important}body:has(#floorplan-print-root) #canvas-wrapper,body:has(#floorplan-print-root) #three-canvas-wrapper,body:has(#floorplan-print-root) .app-stage{display:none!important}#floorplan-print-root{display:block!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important}#floorplan-print-root .print-floor-page{box-sizing:border-box;padding:10mm;break-inside:avoid;page-break-inside:avoid}#floorplan-print-root .print-floor-page.has-page-break{break-after:page;page-break-after:always}#floorplan-print-root .print-floor-page.orientation-landscape{page:floorplan-landscape;width:297mm}#floorplan-print-root .print-floor-page.orientation-portrait{page:floorplan-portrait;width:210mm}#floorplan-print-root .print-floor-title{margin:0 0 4mm;font-size:12pt;font-weight:600;color:#111}#floorplan-print-root .print-floor-image{display:block;width:auto;max-width:100%;height:auto;object-fit:contain;object-position:center;print-color-adjust:exact;-webkit-print-color-adjust:exact}#floorplan-print-root .print-floor-page.orientation-landscape .print-floor-image{max-height:176mm}#floorplan-print-root .print-floor-page.orientation-portrait .print-floor-image{max-height:263mm}#canvas-wrapper{position:relative;inset:0 auto auto 0;width:100%;height:100vh;background:none!important}#grid-canvas{display:none!important}#c{cursor:default}}#floorplan-print-root{display:none}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#canvas-wrapper,#three-canvas-wrapper,.app-stage{position:fixed;top:var(--layout-topbar-height);left:0;right:0;bottom:0}#canvas-wrapper{background-color:#fff}.app-stage{background-color:#e8eef3}#grid-canvas{position:absolute;top:0;left:0;pointer-events:none}#c{width:100%;height:100%;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:crosshair;background:transparent}body.panning canvas{cursor:grabbing!important}.file-menu{position:fixed;top:0;left:0;right:0;height:var(--layout-topbar-height);background:#2c3e50;color:#fff;display:flex;align-items:stretch;gap:0;z-index:1000;box-shadow:0 2px 4px #0000001a}.app-logo{flex-shrink:0;align-self:center;margin-left:10px;margin-right:10px;width:var(--layout-logo-size);height:var(--layout-logo-size);padding:3px;background:#fff;border-radius:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}.app-logo img{display:block;width:100%;height:100%;object-fit:contain}.app-logo.app-logo-full{width:auto;max-width:180px;height:calc(var(--layout-logo-size) + 6px);padding:4px 8px}.app-logo.app-logo-full img{width:auto;max-height:100%}.file-menu-nav{display:flex;align-items:flex-end;height:100%;padding-bottom:2px;box-sizing:border-box}html[data-project-title="1"] .file-menu-nav{padding-top:24px}.file-menu-item{position:relative;padding:4px 12px;cursor:pointer;transition:background-color .2s;font-size:12px;line-height:1.2;border-radius:4px 4px 0 0}.file-menu-item:hover{background:#34495e}.file-submenu{position:absolute;top:100%;left:0;background:#fff;color:#333;min-width:150px;box-shadow:0 4px 12px #00000026;border-radius:4px;display:none;z-index:1001}.file-menu-item:hover .file-submenu{display:block}.file-submenu-item{display:block;width:100%;padding:10px 14px;cursor:pointer;transition:background-color .2s;border:none;border-bottom:1px solid #eee;background:transparent;font-size:12px;font-family:inherit;color:inherit;text-align:left;box-sizing:border-box}.file-submenu-item:last-child{border-bottom:none}.file-submenu-item:hover{background:#f8f9fa}.file-submenu-item:disabled{color:#999;cursor:default;background:transparent}.file-submenu-item:disabled:hover{background:transparent}.file-submenu-item.danger{color:#dc3545}.file-submenu-item.danger:hover{background:#f8d7da}@media(hover:none){.file-menu-item:hover .file-submenu{display:none}.file-menu-item.open .file-submenu{display:block}}.tools-panel{position:fixed;top:calc(var(--layout-topbar-height) + 10px);left:20px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:8px;z-index:999;border:1px solid #e0e0e0}.tool-btn{width:48px;height:48px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.tool-btn.active{background:#007bff;color:#fff;border-color:#007bff;box-shadow:0 2px 8px #007bff4d}.tool-btn:hover{background:#f8f9fa;border-color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tool-btn.active:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff66}.tool-btn .material-icons{font-size:24px}.tool-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;background:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none;visibility:hidden;opacity:0;transition:opacity 0s,visibility 0s;transition-delay:0s}.tool-btn[data-tooltip]:hover:after{visibility:visible;opacity:1;transition-delay:.6s}.status-bar{position:fixed;bottom:0;left:0;right:0;height:24px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;align-items:center;padding:0 16px;font-size:12px;color:#666;z-index:998}.status-item{margin-right:20px}.status-item.success{color:#28a745}.status-item.error{color:#dc3545}.status-item.info{color:#17a2b8}#footprint-toggle-btn.active{border-color:#4caf50!important;color:#4caf50!important;background:#4caf501f}#server-history-overlay{position:fixed;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1100;min-width:220px;max-height:320px;overflow-y:auto}#server-history-overlay ul{list-style:none;margin:0;padding:0}#server-history-overlay li{padding:10px 14px;font-size:13px;color:#333;cursor:pointer;border-bottom:1px solid #eee}#server-history-overlay li:last-child{border-bottom:none}#server-history-overlay li:hover{background:#f0f7ff}#server-history-overlay .history-empty{padding:12px 14px;color:#999;font-size:13px;cursor:default}@media(pointer:coarse){:root{--layout-toolbar-width: 52px;--layout-topbar-height: 40px;--layout-logo-size: 28px;--layout-logo-slot: 48px}#canvas-wrapper,#three-canvas-wrapper{left:var(--layout-toolbar-width)}.tools-panel{left:0;top:var(--layout-topbar-height);bottom:var(--mobile-panel-bottom);width:var(--layout-toolbar-width);padding:6px 4px;border-radius:0;border-top:none;border-bottom:none;border-left:none;border-right:1px solid #e0e0e0;box-shadow:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.tool-btn{width:40px;height:40px}.tool-btn .material-icons{font-size:20px}.tool-btn:hover{transform:none}.mobile-drawer{position:fixed;top:var(--layout-topbar-height);left:0;right:0;max-height:calc(100vh - var(--layout-topbar-height));max-height:calc(100dvh - var(--layout-topbar-height));background:#fff;box-shadow:0 4px 16px #0000002e;z-index:1100;border-bottom-left-radius:12px;border-bottom-right-radius:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.mobile-drawer::-webkit-scrollbar{display:none}.drawer-section-title{padding:8px 16px 4px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #eee}.drawer-section-title:first-child{border-top:none}.drawer-item{display:block;width:100%;padding:14px 20px;font-size:16px;font-family:inherit;color:#222;background:transparent;border:none;text-align:left;cursor:pointer;box-sizing:border-box}.drawer-item:active,.drawer-item:hover{background:#f0f7ff}.drawer-item:disabled{color:#999;cursor:default;background:transparent}.drawer-item:disabled:hover,.drawer-item:disabled:active{background:transparent}.drawer-item.danger{color:#dc3545}.drawer-item.active-state{color:#007bff}.burger-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer;padding:4px 8px;line-height:1}.tool-btn[data-tooltip]:after{display:none}}
