*{box-sizing:border-box}html{height:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:-webkit-fill-available}body{min-height:100%;color:#e8eaef;background:#0f1115;min-height:100dvh;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}#app{height:100%;min-height:0;max-height:100dvh;max-height:-webkit-fill-available;display:flex;overflow:hidden}.sidebar-backdrop{display:none}.sidebar{background:linear-gradient(165deg,#161a22 0%,#12151a 100%);border-right:1px solid #2a3140;flex-direction:column;flex-shrink:0;gap:.75rem;width:300px;min-height:0;padding:1rem 1.1rem;display:flex}.sidebar-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sidebar-header h1{letter-spacing:.02em;margin:0;font-size:1.15rem;font-weight:600}.sidebar-close{color:#9aa3b2;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin:-8px -8px -8px 0;padding:0;font-size:1.75rem;line-height:1;display:none}.sidebar-close:active{background:#252a35}.btn-sidebar-toggle{color:#e8eaef;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1c222c;border:1px solid #3a4558;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-6px 0 -6px -4px;padding:0;display:none}.btn-sidebar-toggle:active{background:#252a35}.btn-sidebar-toggle__icon{font-size:1.25rem;line-height:1}.hint{color:#9aa3b2;margin:0;font-size:.8rem;line-height:1.45}.hint code{background:#252a35;border-radius:4px;padding:.1em .35em;font-size:.85em}.file-actions{gap:.5rem;display:flex}.btn{cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;background:#3d7eff;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:.35rem .7rem;font-size:.8rem;font-weight:500;transition:background .15s;display:inline-flex}.btn:hover{background:#5b91ff}.btn.secondary{color:#e8eaef;background:#2c3545}.btn.secondary:hover{background:#3a4558}.file-list{flex:1;min-height:120px;margin:0;padding:0;list-style:none;overflow-y:auto}.file-list li{cursor:pointer;color:#c5cad6;word-break:break-all;border:1px solid #0000;border-radius:8px;margin-bottom:4px;padding:.55rem .65rem;font-size:.82rem}.file-list li:hover{background:#252a35}.file-list li.active{color:#fff;background:#1e2a42;border-color:#3d7eff}.file-list li.empty{cursor:default;color:#6b7280}.file-list li.empty:hover{background:0 0}.formats{flex-wrap:wrap;gap:6px;display:flex}.tag{color:#8b95a8;background:#252a35;border-radius:4px;padding:.2rem .45rem;font-size:.68rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.toolbar{padding:.65rem max(1rem, env(safe-area-inset-right)) .65rem max(1rem, env(safe-area-inset-left));padding-top:max(.65rem, env(safe-area-inset-top));background:#141820;border-bottom:1px solid #2a3140;flex-wrap:wrap;flex-shrink:0;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.btn-label-short{display:none}@media (width>=768px){.toolbar{flex-wrap:wrap}.btn-sidebar-toggle{display:none}.modes{order:1}#btn-fit{order:2}#btn-clear-annotations{order:3}#btn-fullscreen{order:4}.status{order:5;margin-left:4px}}.modes{gap:6px;display:flex}.mode{color:#b8c0d0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1c222c;border:1px solid #3a4558;border-radius:8px;min-height:38px;padding:.35rem .75rem;font-size:.82rem}.mode:hover{border-color:#5a6578}.mode.active{color:#fff;background:#243049;border-color:#3d7eff}.mode:disabled{opacity:.45;cursor:not-allowed}.status{color:#8b95a8;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:.78rem}.toolbar>.status{margin-left:4px}.canvas-wrap{flex:1;min-height:200px;position:relative}#c{touch-action:none;width:100%;height:100%;display:block}.dwg-viewer{z-index:6;touch-action:none;cursor:grab;background:#f8fafc;position:absolute;inset:0;overflow:hidden}.dwg-viewer.hidden{display:none}.dwg-viewer.dragging{cursor:grabbing}.dwg-viewer svg{transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;position:absolute;top:0;left:0}.measure-hud{color:#00e5ff;text-shadow:0 0 4px #0f172af2,0 0 8px #0f172ad9,0 1px 2px #0f172ae6;pointer-events:none;background:0 0;border:none;border-radius:0;padding:.5rem .75rem;font-size:.85rem;position:absolute;bottom:48px;left:12px}.measure-hud__text{display:inline-block}.measure-hud__actions{pointer-events:auto;gap:.4rem;margin-top:.35rem;display:flex}.measure-hud__btn{color:#c7f6ff;cursor:pointer;background:#0f172a80;border:1px solid #00e5ff59;border-radius:8px;padding:.32rem .52rem;font-size:.78rem;line-height:1}.measure-hud__btn--ok{color:#d4ffe4;border-color:#38dd768c}.measure-hud.hidden{display:none}.hint-bar{padding:.45rem 1rem;padding-bottom:max(.45rem, env(safe-area-inset-bottom));color:#8b95a8;background:#141820;border-top:1px solid #2a3140;flex-shrink:0;font-size:.78rem}@media (width<=1024px){.btn-label-full{display:none}.btn-label-short{display:inline}#app{flex-direction:column}.main{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.canvas-wrap{flex:1;order:1;min-height:0}.toolbar{padding:.45rem max(.5rem, env(safe-area-inset-right)) max(.55rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));padding-top:max(.4rem, env(safe-area-inset-top));order:2;flex-wrap:unset;border-top:1px solid #2a3140;border-bottom:none;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.45rem .35rem;display:grid;overflow:visible}.btn-sidebar-toggle{grid-area:1/1;margin:0}.status{white-space:normal;overflow-wrap:anywhere;word-break:break-word;grid-area:1/2;min-width:0;max-width:none;font-size:.78rem;line-height:1.25;display:block!important}#btn-fit{grid-area:1/3;min-height:34px;padding:.22rem .45rem}#btn-clear-annotations{grid-area:1/4;min-height:34px;padding:.22rem .45rem}#btn-fullscreen{grid-area:1/5;min-height:34px;padding:.22rem .45rem}.modes{flex-flow:row;grid-area:2/1/auto/-1;gap:8px;width:100%;min-width:0;padding-bottom:0;display:flex;overflow:visible}.mode{flex:1;min-width:0;min-height:36px;padding:.28rem .32rem;font-size:.8rem;font-weight:600}.hint-bar{display:none!important}.sidebar-backdrop{z-index:180;opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent;background:#0000007a;transition:opacity .25s;display:block;position:fixed;inset:0}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:200;width:min(100% - 48px,320px);max-width:100vw;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));border-right:1px solid #2a3140;padding-right:1.1rem;transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #00000059}body.sidebar-open .sidebar{transform:translate(0)}.sidebar-close,.btn-sidebar-toggle{display:inline-flex}.measure-hud{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:calc(7.25rem + env(safe-area-inset-bottom));width:auto;max-width:none;font-size:.8rem;line-height:1.35}.formats{flex-wrap:wrap;gap:4px}.tag{font-size:.62rem}.file-list li{align-items:center;min-height:48px;padding:.75rem .7rem;font-size:.88rem;display:flex}.file-actions label.btn{justify-content:center;width:100%}}@media (width<=1024px) and (orientation:landscape){html,body{overscroll-behavior:none;height:100dvh;max-height:100dvh;overflow:hidden!important}#app,.main{height:100dvh;max-height:100dvh;overflow:hidden!important}.toolbar{z-index:10;border-top:none;flex-wrap:nowrap;flex-shrink:0;order:1;align-items:center;gap:6px;padding:6px 8px;display:flex;position:relative;overflow:visible}.status{white-space:nowrap;overflow-wrap:anywhere;word-break:break-word;flex:auto;order:7;max-width:100%;font-size:.72rem;line-height:1.2;overflow:visible;margin-left:4px!important;display:inline-block!important}.canvas-wrap{order:2;height:calc(100dvh - 46px);max-height:calc(100dvh - 46px);overflow:hidden}.btn-sidebar-toggle{border-radius:8px;order:1;width:34px!important;min-width:34px!important;height:30px!important}.modes{display:contents}.mode{white-space:nowrap;border-radius:8px;flex:none;width:auto;min-height:30px;padding:.14rem .28rem;font-size:.7rem}#btn-fit,#btn-clear-annotations{border-radius:8px;min-height:30px;padding:.14rem .34rem;font-size:.7rem}#btn-fit{order:3}#mode-view{order:2}#mode-measure{order:4}#mode-annotate{order:5}#btn-clear-annotations{order:6}.measure-hud{bottom:calc(6.5rem + env(safe-area-inset-bottom))}.hint-bar{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:12;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:#141820e0;border:1px solid #2a3140;border-radius:8px;padding:4px 8px;font-size:.72rem;line-height:1.2;position:absolute;overflow:hidden;display:block!important}}@media (orientation:landscape) and (height<=500px) and (width<=1024px){.sidebar-backdrop{z-index:180;opacity:0;pointer-events:none;background:#0000007a;transition:opacity .25s;display:block;position:fixed;inset:0}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:200;width:min(100% - 48px,320px);max-width:100vw;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));border-right:1px solid #2a3140;padding-right:1.1rem;transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #00000059}body.sidebar-open .sidebar{transform:translate(0)}.btn-sidebar-toggle,.sidebar-close{display:inline-flex!important}.main{flex:1;width:100%;min-height:0}}@media (width>=768px){.sidebar-header h1{flex:1}}body.drawer-mode .sidebar-backdrop{z-index:180;opacity:0;pointer-events:none;background:#0000007a;transition:opacity .25s;inset:0;display:block!important;position:fixed!important}body.drawer-mode.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}body.drawer-mode .sidebar{z-index:200;visibility:hidden;pointer-events:none;width:min(100% - 48px,320px);max-width:100vw;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));border-right:1px solid #2a3140;padding-right:1.1rem;transition:transform .28s cubic-bezier(.32,.72,0,1);top:0;bottom:0;left:0;box-shadow:8px 0 32px #00000059;position:fixed!important;transform:translate(calc(-100% - 24px))!important}body.drawer-mode.sidebar-open .sidebar{visibility:visible;pointer-events:auto;transform:translate(0)!important}body.drawer-mode .btn-sidebar-toggle{width:38px;min-width:38px;height:38px;margin:0;display:inline-flex!important}body.drawer-mode .sidebar-close{display:inline-flex!important}
