:root{--fc-bg-ui: #1E2224;--fc-bg-ui-light: #2A2F32;--fc-border-ui: #2D3235;--fc-text-ui: #E5E7EB;--fc-text-ui-muted: #9CA3AF;--fc-bg-canvas: #FFFDF9;--fc-border-canvas: #EBE9E4;--fc-grid-color: rgba(184, 138, 68, .08);--fc-accent: #B88A44;--fc-accent-hover: #C99E57;--fc-accent-rgb: 184, 138, 68;--fc-danger: #b91c1c;--fc-danger-hover: #991b1b;--fc-font-sans: "IBM Plex Sans", sans-serif;--fc-font-mono: "IBM Plex Mono", monospace;--fc-sidebar-w: 260px}.underlay-calibration-status{margin:5px 0 8px;padding:6px 8px;border:1px solid rgba(181,106,0,.28);border-radius:5px;background:#b56a0014;color:#8a5100;font-size:10px;line-height:1.35}.underlay-calibration-status.is-calibrated{border-color:#248a3d47;background:#248a3d14;color:#248a3d}#btn-underlay-recognize:disabled{cursor:not-allowed;opacity:.5}.recognition-quality{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px;padding:7px 8px;border-radius:6px;background:#f4f6f7;font-size:10px}.recognition-quality__reliable{color:#248a3d}.recognition-quality__review{color:#b56a00}.recognition-low-toggle{display:flex;align-items:center;gap:6px;margin-bottom:9px;color:#8e3b34;font-size:10px;cursor:pointer}.recognition-low-toggle input{width:auto;margin:0}.recognition-review-hint{margin:0 0 8px;color:#5f686f;font-size:10px;line-height:1.35}.recognition-advanced{margin-bottom:9px;padding:6px 8px;border:1px solid #d8dde0;border-radius:6px;background:#f8f9fa;color:#4b5358;font-size:10px}.recognition-advanced summary{cursor:pointer;font-weight:600}.recognition-advanced .property-row{display:flex;align-items:center;gap:8px;margin-top:7px}.recognition-advanced .property-row label{flex:1}.recognition-advanced .property-row input{width:80px;margin:0}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{font-family:var(--fc-font-sans);background-color:var(--fc-bg-ui);color:var(--fc-text-ui);overflow:hidden;height:100vh}.app-container{display:flex;flex-direction:column;height:100vh}.top-bar{display:flex;align-items:center;justify-content:space-between;height:56px;background-color:var(--fc-bg-ui);border-bottom:1px solid var(--fc-border-ui);padding:0 16px;z-index:10}.logo{display:flex;align-items:center;gap:8px}.logo__icon{font-size:24px;color:var(--fc-accent)}.logo__text{font-size:18px;font-weight:700;letter-spacing:.5px}.logo__highlight{color:var(--fc-accent)}.controls-group,.actions-group{display:flex;align-items:center;gap:8px}.divider{width:1px;height:24px;background-color:var(--fc-border-ui);margin:0 4px}.input-label{font-size:12px;color:var(--fc-text-ui-muted);display:flex;align-items:center;gap:6px}.input-label select,.input-label input{background-color:var(--fc-bg-ui-light);border:1px solid var(--fc-border-ui);color:var(--fc-text-ui);padding:4px 8px;border-radius:4px;font-family:var(--fc-font-mono);font-size:12px;outline:none}.input-label input[type=number]{width:60px}.main-layout{display:flex;flex:1;height:calc(100vh - 88px);overflow:hidden}.sidebar-left{width:var(--fc-sidebar-w);background-color:var(--fc-bg-ui);border-right:1px solid var(--fc-border-ui);display:flex;flex-direction:column;overflow-y:auto}.sidebar-right{width:var(--fc-sidebar-w);background-color:var(--fc-bg-ui);border-left:1px solid var(--fc-border-ui);display:flex;flex-direction:column;overflow-y:auto}.toolbox-section{padding:16px;border-bottom:1px solid var(--fc-border-ui)}.toolbox-section h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--fc-text-ui-muted);margin-bottom:12px;font-weight:600}.tools-grid,.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.library-grid{grid-template-columns:repeat(2,1fr);gap:10px}.btn{background-color:var(--fc-bg-ui-light);border:1px solid var(--fc-border-ui);color:var(--fc-text-ui);padding:8px 16px;border-radius:4px;cursor:pointer;font-family:var(--fc-font-sans);font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;outline:none}.btn:hover{background-color:var(--fc-border-ui)}.btn--icon{width:32px;height:32px;padding:0;font-size:15px}.btn--active{color:var(--fc-accent);border-color:var(--fc-accent);background-color:#b88a4426}.btn--primary{background-color:var(--fc-accent);border-color:var(--fc-accent);color:#fff}.btn--primary:hover{background-color:var(--fc-accent-hover);border-color:var(--fc-accent-hover)}.btn--ghost{background-color:transparent;border-color:transparent;color:var(--fc-text-ui-muted)}.btn--ghost:hover{color:var(--fc-text-ui);background-color:#ffffff0d}.btn--danger{background-color:transparent;border-color:var(--fc-danger);color:var(--fc-danger)}.btn--danger:hover{background-color:var(--fc-danger);color:#fff}.btn--block{display:flex;width:100%}.tool-btn,.lib-item{background-color:var(--fc-bg-ui-light);border:1px solid var(--fc-border-ui);color:var(--fc-text-ui);padding:12px 6px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .15s ease;outline:none}.tool-btn:hover,.lib-item:hover{border-color:var(--fc-text-ui-muted)}.tool-btn--active{border-color:var(--fc-accent);background-color:#b88a4414;color:var(--fc-accent)}.tool-btn__icon,.lib-item__icon{font-size:20px}.btn--text-tool{font-family:var(--font-display);font-weight:700}.tool-btn__label,.lib-item__label{font-size:11px;text-align:center}.tabs{display:flex;border-bottom:1px solid var(--fc-border-ui);margin-bottom:12px}.tab-btn{flex:1;background:transparent;border:none;color:var(--fc-text-ui-muted);padding:8px 0;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;outline:none}.tab-btn--active{color:var(--fc-accent);border-bottom:2px solid var(--fc-accent)}.tab-content{overflow-y:auto}.file-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;border-top:1px solid var(--fc-border-ui);border-bottom:none}.workspace{flex:1;position:relative;background-color:var(--fc-bg-canvas);overflow:hidden}#editor-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.zoom-coordinates{position:absolute;bottom:16px;left:16px;background-color:#1e2224d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 12px;border-radius:6px;font-family:var(--fc-font-mono);font-size:11px;display:flex;gap:12px;color:var(--fc-text-ui);pointer-events:none;border:1px solid var(--fc-border-ui)}.presentation-header{position:absolute;top:0;left:0;right:0;padding:20px 30px;background-color:var(--fc-bg-canvas);border-bottom:2px solid var(--fc-border-canvas);display:flex;justify-content:space-between;align-items:center;color:#111;pointer-events:auto}.pres-logo{font-size:20px;font-weight:800;color:var(--fc-accent)}.pres-info{display:flex;gap:30px;font-size:13px}.pres-info div{margin-bottom:4px}.pres-info input{background:transparent;border:none;border-bottom:1px dashed #777777;font-weight:600;outline:none;padding:0 4px;color:#111}.inspector-section{padding:20px}.inspector-section h3{font-size:14px;font-weight:600;margin-bottom:16px;border-bottom:1px solid var(--fc-border-ui);padding-bottom:8px}.property-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.property-row label{font-size:12px;color:var(--fc-text-ui-muted)}.property-row input{background-color:var(--fc-bg-ui-light);border:1px solid var(--fc-border-ui);color:var(--fc-text-ui);padding:6px 10px;border-radius:4px;font-family:var(--fc-font-mono);font-size:13px;width:120px;outline:none;text-align:right}.property-row input[type=text]{text-align:left;font-family:var(--fc-font-sans);width:150px}.calculations-box{background-color:var(--fc-bg-ui-light);border-radius:6px;padding:12px;margin-top:20px;border:1px solid var(--fc-border-ui)}.calculations-box h4{font-size:11px;text-transform:uppercase;color:var(--fc-accent);margin-bottom:8px;letter-spacing:.5px}.calculations-box table{width:100%;font-size:12px;line-height:1.6}.calculations-box table td:last-child{text-align:right;font-family:var(--fc-font-mono)}.calculations-box .note{display:block;font-size:10px;color:var(--fc-text-ui-muted);margin-top:10px;line-height:1.2}.empty-state-text{font-size:12px;color:var(--fc-text-ui-muted);text-align:center;margin-top:40px;line-height:1.5}.bottom-bar{height:32px;background-color:var(--fc-bg-ui);border-top:1px solid var(--fc-border-ui);display:flex;align-items:center;padding:0 16px;font-size:12px;color:var(--fc-text-ui-muted);gap:24px}.summary-item span{font-family:var(--fc-font-mono);font-weight:600;color:var(--fc-text-ui)}.hidden{display:none!important}.flex-grow{flex-grow:1}.text-right{text-align:right}.btn--block{width:100%}.presentation-mode{--fc-sidebar-w: 0px}.presentation-mode .sidebar-left,.presentation-mode .sidebar-right,.presentation-mode .top-bar,.presentation-mode .bottom-bar{display:none!important}.presentation-mode .main-layout{height:100vh}.pres-controls-floating{position:absolute;top:16px;right:16px;display:flex;gap:8px;background-color:#1e2224d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px;border-radius:6px;border:1px solid var(--fc-border-ui);z-index:100}@media print{body{background-color:#fff!important;color:#000!important}.app-container,.main-layout{height:auto!important}.sidebar-left,.sidebar-right,.top-bar,.bottom-bar,.zoom-coordinates,.pres-controls-floating{display:none!important}.workspace{width:100vw!important;height:100vh!important;background-color:#fff!important}.presentation-header{display:flex!important;border-bottom:2px solid #000000!important}.presentation-header input{border-bottom:none!important}}:root{--plato-orange: #ff5a1f;--plato-orange-hover: #e84b13;--plato-graphite: #0f172a;--plato-slate: #475569;--plato-muted: #64748b;--plato-border: #cbd5e1;--plato-surface: #ffffff;--plato-app-bg: #eceef1;--plato-canvas: #f8fafc;--font-display: "Syne", sans-serif;--font-body: "Manrope", sans-serif;--font-numeric: "IBM Plex Mono", monospace;--fc-bg-ui: var(--plato-surface);--fc-bg-ui-light: #f8fafc;--fc-border-ui: var(--plato-border);--fc-text-ui: var(--plato-graphite);--fc-text-ui-muted: var(--plato-muted);--fc-bg-canvas: var(--plato-canvas);--fc-border-canvas: #e2e8f0;--fc-accent: var(--plato-orange);--fc-accent-hover: var(--plato-orange-hover);--fc-font-sans: var(--font-body);--fc-font-mono: var(--font-numeric);--fc-sidebar-w: 288px}body{font-family:var(--font-body);background:var(--plato-app-bg);color:var(--plato-graphite)}button,select,input[type=text]{font-family:var(--font-body)}input[type=number],.workflow-step span,.input-label select,.input-label input,.zoom-coordinates,.bottom-bar span,.summary-item,.recognition-quality strong,.recognition-low-toggle span,#underlay-calibration-status,#underlay-filename-text,.calculations-box td:last-child{font-family:var(--font-numeric);font-variant-numeric:tabular-nums}.top-bar{height:64px;padding:0 20px;background:var(--plato-surface);border-bottom-color:var(--plato-border);box-shadow:0 1px #0f172a0a}.logo{min-width:250px;gap:11px}.logo__mark{display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--plato-orange);color:var(--plato-orange);font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1}.logo__text{display:flex;align-items:baseline;gap:8px;color:var(--plato-graphite);font-family:var(--font-display);font-size:18px;letter-spacing:.02em}.logo__product{color:var(--plato-slate);font-family:var(--font-body);font-size:12px;font-weight:600}.controls-group,.actions-group,.header-inputs{display:flex;align-items:center;gap:8px}.controls-group{flex:1;justify-content:center}.header-inputs{gap:14px}.divider{background:#e2e8f0}.input-label{color:var(--plato-slate);font-size:11px;font-weight:600}.input-label select,.input-label input{height:34px;background:#f8fafc;border-color:#e2e8f0;color:var(--plato-graphite)}.main-layout{display:grid;grid-template-columns:288px minmax(0,1fr) 304px;height:calc(100vh - 104px)}.sidebar-left,.sidebar-right{width:auto;min-width:0;background:var(--plato-surface);color:var(--plato-graphite);scrollbar-color:#cbd5e1 transparent}.sidebar-left{border-right-color:var(--plato-border)}.sidebar-right{border-left-color:var(--plato-border)}.workflow-steps{padding:12px 10px;border-bottom:1px solid #e2e8f0}.workflow-step{display:grid;grid-template-columns:34px 1fr;width:100%;min-height:42px;align-items:center;border:0;border-left:3px solid transparent;background:transparent;color:var(--plato-slate);cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:600;text-align:left}.workflow-step span{color:#94a3b8;font-size:10px}.workflow-step:hover{background:#f8fafc}.workflow-step--active{border-left-color:var(--plato-orange);background:#fff5f0;color:var(--plato-graphite)}.workflow-step--active span{color:var(--plato-orange)}.workflow-group--inactive{display:none}.toolbox-section,.inspector-section{padding:18px;border-color:#e2e8f0}.toolbox-section h3,.inspector-section h3{margin-bottom:12px;color:var(--plato-graphite);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:0;text-transform:none}.section-intro{margin:-4px 0 14px;color:var(--plato-muted);font-size:11px;line-height:1.55;-webkit-user-select:text;user-select:text}#underlay-file-input{display:none}.btn{min-height:36px;border-color:#e2e8f0;border-radius:2px;background:#f8fafc;color:var(--plato-graphite);box-shadow:none}.btn:hover{border-color:#94a3b8;background:#f1f5f9}.btn--primary{border-color:var(--plato-orange);background:var(--plato-orange);color:#fff}.btn--primary:hover{border-color:var(--plato-orange-hover);background:var(--plato-orange-hover)}.btn:focus-visible,.tool-btn:focus-visible,.workflow-step:focus-visible,.start-choice:focus-visible{outline:3px solid rgba(255,90,31,.28);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.42}.btn--ghost{background:transparent;color:var(--plato-slate)}.btn--ghost:hover{background:#f1f5f9;color:var(--plato-graphite)}.btn--active,.tool-btn--active{border-color:var(--plato-orange);background:#fff5f0;color:var(--plato-orange)}.tool-btn,.lib-item{min-height:68px;border-color:#e2e8f0;border-radius:2px;background:#fff;color:var(--plato-graphite)}.tool-btn:hover,.lib-item:hover{border-color:var(--plato-orange);background:#fffaf7}.measurement-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbox-subheading{margin:14px 0 8px;color:#5a6065;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.measurement-preferences{display:grid;gap:10px;margin-top:14px}.measurement-preferences label{display:grid;grid-template-columns:16px 1fr;align-items:start;gap:8px;color:var(--plato-slate);font-size:11px;line-height:1.4;cursor:pointer}.measurement-preferences input{margin:2px 0 0;accent-color:var(--plato-orange)}.measurement-apply{margin-top:14px;justify-content:center}.tab-btn{color:var(--plato-muted);font-family:var(--font-body)}.tab-btn--active{border-color:var(--plato-orange);color:var(--plato-orange)}.workspace{min-width:0;background:var(--plato-canvas)}.planner-start{position:absolute;z-index:8;top:50%;left:50%;width:min(680px,calc(100% - 64px));padding:38px;transform:translate(-50%,-50%);border:1px solid #dbe2ea;background:#fffffff7;box-shadow:0 24px 64px #0f172a21}.planner-start__eyebrow{display:block;margin-bottom:10px;color:var(--plato-orange);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.planner-start h1,.mobile-continuation h1{margin-bottom:10px;color:var(--plato-graphite);font-family:var(--font-display);font-size:clamp(28px,3vw,42px);line-height:1.05}.planner-start>p{max-width:560px;color:var(--plato-slate);font-size:14px;line-height:1.6;-webkit-user-select:text;user-select:text}.planner-start__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 18px}.start-choice{display:grid;grid-template-columns:42px 1fr;min-height:94px;padding:16px;align-items:center;border:1px solid var(--plato-border);border-radius:2px;background:#fff;color:var(--plato-graphite);cursor:pointer;text-align:left}.start-choice:hover{border-color:var(--plato-orange);background:#fffaf7}.start-choice--primary{border-color:var(--plato-graphite);background:var(--plato-graphite);color:#fff}.start-choice--primary:hover{border-color:#1e293b;background:#1e293b}.start-choice__icon{grid-row:1 / 3;color:var(--plato-orange);font-family:var(--font-numeric);font-size:30px}.start-choice strong{font-size:13px}.start-choice small{color:#94a3b8;font-size:10px}.planner-start__note{padding-left:14px;border-left:2px solid var(--plato-orange);font-size:11px!important}.underlay-calibration-status{border-radius:2px}.calibration-panel{margin:10px 0 12px;padding:12px;border:1px solid #fed7c7;border-left:3px solid var(--plato-orange);background:#fffaf7}.calibration-panel__step{display:grid;grid-template-columns:28px 1fr;gap:6px;margin-bottom:9px;align-items:start;color:var(--plato-slate);font-size:10px;line-height:1.45}.calibration-panel__step span{color:var(--plato-orange);font-family:var(--font-numeric);font-size:9px}.calibration-panel label{font-size:10px;font-weight:700}#calibration-distance-cm{width:100%;height:38px;margin-bottom:8px;padding:0 10px;border:1px solid var(--plato-border);background:#fff;color:var(--plato-graphite);font-family:var(--font-numeric);font-variant-numeric:tabular-nums}.calibration-panel__error{margin-bottom:8px;color:#b91c1c;font-size:10px}.calibration-panel__actions{display:grid;grid-template-columns:1fr auto;gap:6px}.recognition-review-toolbar{position:absolute;z-index:7;top:16px;left:50%;display:flex;width:min(760px,calc(100% - 32px));min-height:52px;padding:8px;align-items:center;gap:10px;transform:translate(-50%);border:1px solid var(--plato-border);background:#fffffff5;box-shadow:0 12px 32px #0f172a1f}.recognition-review-toolbar .recognition-quality{margin:0;padding:0 4px;background:transparent;white-space:nowrap}.recognition-review-toolbar .recognition-low-toggle{margin:0 auto 0 0;color:var(--plato-slate);white-space:nowrap}.measurement-tool-status{position:absolute;z-index:6;top:16px;left:16px;padding:8px 10px;border:1px solid var(--plato-border);border-left:3px solid var(--plato-orange);background:#fffffff5;color:var(--plato-graphite);box-shadow:0 8px 24px #0f172a1a;font-size:11px;font-weight:600}.wall-tool-status,.measurement-tool-status--with-action{display:flex;align-items:center;gap:10px}.wall-tool-status .btn,.measurement-tool-status--with-action .btn{flex:0 0 auto;padding:5px 9px;font-size:11px}.recognition-quality i{font-size:8px;font-style:normal}.recognition-quality__reliable{color:#15803d}.recognition-quality__review{color:#b45309}.zoom-coordinates{border-color:#cbd5e1;border-radius:2px;background:#0f172ae6;color:#fff}.inspector-heading{padding:18px;border-bottom:1px solid #e2e8f0}.inspector-heading span{display:block;margin-bottom:3px;color:var(--plato-muted);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.inspector-heading strong{font-family:var(--font-display);font-size:15px}.empty-state-text{margin-top:14px;color:var(--plato-muted);text-align:left}.calculations-box{border-color:#e2e8f0;border-radius:2px;background:#f8fafc}.calculations-box h4{color:var(--plato-orange)}.measurement-result{display:flex;margin-bottom:16px;padding:12px;align-items:baseline;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;background:#f8fafc;color:var(--plato-slate);font-size:11px}.measurement-result strong{color:var(--plato-graphite);font-family:var(--font-numeric);font-size:14px;font-variant-numeric:tabular-nums}.bottom-bar{height:40px;padding:0 14px;border-top-color:var(--plato-border);background:var(--plato-graphite);color:#94a3b8;font-size:10px;gap:20px;overflow-x:auto;white-space:nowrap}.summary-item span{color:#fff}.mobile-continuation,.mobile-editor-placeholder{display:none}@media(max-width:1279px){.logo{min-width:auto}.logo__product,.header-inputs,.actions-group #btn-clear{display:none}.main-layout{grid-template-columns:268px minmax(0,1fr)}.sidebar-right{position:fixed;z-index:30;top:64px;right:0;bottom:40px;width:min(304px,88vw);transform:translate(calc(100% - 18px));box-shadow:-12px 0 28px #0f172a1f;transition:transform .16s ease}.sidebar-right:hover,.sidebar-right:focus-within{transform:translate(0)}}@media(max-width:767px),(max-width:1024px)and (max-height:500px){body{overflow-x:hidden}.mobile-editor-placeholder,.mobile-continuation{display:none!important}.app-container{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden}.top-bar{position:relative;top:0;height:52px;padding:0 12px;padding-top:env(safe-area-inset-top,0);gap:8px;justify-content:space-between;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.top-bar::-webkit-scrollbar{display:none}.logo{min-width:auto;font-size:14px;gap:6px}.logo__brand-row{gap:4px}.logo__name{font-size:14px}.logo__badge,.logo__tagline,.header-inputs,.actions-group>a,.actions-group #btn-clear,.actions-group #btn-presentation,.controls-group .divider,#btn-rotate-cw,#btn-rotate-ccw,#btn-snap-angle,#grid-step{display:none!important}.controls-group{gap:4px}.controls-group .btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.actions-group .btn{width:auto;min-width:44px;height:44px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-sizing:border-box;flex-shrink:0}.main-layout{display:flex;flex:1;min-height:0;position:relative;overflow:hidden}.sidebar-left,.sidebar-right{display:none}.workspace{display:flex;flex:1;position:relative;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}#editor-canvas{display:block;width:100%;height:100%;touch-action:none}.bottom-bar{display:none}.zoom-coordinates{bottom:72px;left:12px;font-size:10px;padding:3px 6px;background:#ffffffe0;color:var(--plato-graphite);border-color:var(--plato-border)}.planner-start{width:min(92vw,420px);padding:24px 18px;margin:auto}.planner-start__actions{grid-template-columns:1fr;gap:12px}.start-choice{min-height:60px;padding:14px 16px}}.template-toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%) translateY(12px);padding:8px 16px;background:var(--fc-bg-ui);color:var(--fc-text-ui);border:1px solid var(--fc-border-ui);border-radius:6px;font-size:13px;font-family:var(--fc-font-sans);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}.template-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.top-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;height:58px!important;padding:0 14px!important;gap:8px!important;background:var(--plato-surface)!important;border-bottom:1px solid var(--plato-border)!important;box-shadow:0 1px 2px #0f172a0a!important}.logo{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:auto!important;flex-shrink:0!important;gap:1px!important;text-decoration:none!important}.logo__brand-row{display:flex;align-items:center;gap:8px;line-height:1.1}.logo__name{font-family:var(--font-display, "Syne", sans-serif);font-size:19px;font-weight:800;color:var(--plato-graphite, #0F172A);letter-spacing:-.01em}.logo__accent{color:var(--plato-orange, #FF5A1F)}.logo__badge{font-family:var(--font-body, "Manrope", sans-serif);font-size:10px;font-weight:600;color:#64748b;background:#f1f5f9;border:1px solid #E2E8F0;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.logo__tagline{font-family:var(--font-body, "Manrope", sans-serif);font-size:8.5px;font-weight:600;color:#8e9ba8;text-transform:uppercase;letter-spacing:.08em;margin-top:1px}.controls-group{display:flex!important;align-items:center!important;gap:3px!important;flex:1!important;justify-content:center!important;min-width:0!important}.controls-group .btn--icon{width:30px!important;height:30px!important;padding:0!important;flex-shrink:0!important;font-size:14px!important}.header-inputs{display:flex!important;align-items:center!important;gap:6px!important;flex-shrink:0!important}.input-label{font-size:11px!important;color:var(--plato-slate)!important;white-space:nowrap!important}.input-label select,.input-label input{height:28px!important;font-size:11px!important;padding:2px 6px!important}.actions-group{display:flex!important;align-items:center!important;gap:5px!important;flex-shrink:0!important;flex-wrap:nowrap!important}.actions-group .btn{height:30px!important;line-height:30px!important;padding:0 9px!important;font-size:11px!important;font-weight:500!important;white-space:nowrap!important}#btn-share-project{font-weight:600!important;color:var(--plato-orange)!important;border-color:#ff5a1f59!important;background:#ff5a1f0f!important}#btn-share-project:hover{background:#ff5a1f24!important;border-color:var(--plato-orange)!important}.engineer-cta-block{display:grid;gap:8px;margin-top:12px}.engineer-cta-hint,.engineer-ready-notice{margin:0;font-size:11px;line-height:1.45}.engineer-cta-hint{color:var(--plato-slate)}.engineer-ready-notice{padding:10px 11px;border-left:3px solid var(--plato-orange);background:#ff5a1f14;color:var(--plato-graphite)}.engineer-ready-notice--visible{animation:engineer-ready-highlight .9s ease-out}@keyframes engineer-ready-highlight{0%{background:#ff5a1f38}to{background:#ff5a1f14}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-overlay.hidden{display:none}.modal-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--plato-border);border-radius:10px;background:var(--plato-surface);color:var(--plato-graphite);box-shadow:0 24px 72px #0f172a47}.modal-header,.engineer-modal-body,.export-modal-body{padding:24px}.modal-header{padding-right:56px;border-bottom:1px solid var(--plato-border)}.modal-title{margin:0 0 8px;font-family:var(--font-display);font-size:22px;line-height:1.2}.modal-subtitle{margin:0;color:var(--plato-slate);font-size:13px;line-height:1.55}.modal-close{position:absolute;top:16px;right:16px;z-index:1;width:32px;height:32px;border:1px solid var(--plato-border);border-radius:6px;background:var(--plato-surface);color:var(--plato-slate);cursor:pointer;font-size:22px;line-height:1}.modal-close:hover,.modal-close:focus-visible{border-color:var(--plato-orange);color:var(--plato-orange)}.modal-close:disabled{cursor:wait;opacity:.5}.engineer-preview-box{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:16px;margin-bottom:20px;padding:12px;border:1px solid var(--plato-border);background:var(--plato-canvas)}.engineer-preview-thumb{display:block;width:128px;max-height:96px;object-fit:contain;background:#fff}.engineer-summary-text{color:var(--plato-slate);font-size:12px;line-height:1.5}.engineer-form,.export-modal-body{display:grid;gap:16px}.form-group{display:grid;gap:7px}.form-group>label,.checkbox-label{color:var(--plato-graphite);font-size:12px;font-weight:600}.form-input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--plato-border);border-radius:6px;background:#fff;color:var(--plato-graphite);font:500 13px/1.4 var(--font-body);-webkit-user-select:text;user-select:text}.form-input:focus{border-color:var(--plato-orange);outline:3px solid rgba(255,90,31,.12)}.form-textarea{min-height:88px;resize:vertical}.checkbox-label{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}.checkbox-label input{flex:0 0 auto;margin-top:3px}.checkbox-label a{color:var(--plato-orange)}.engineer-status-msg{padding:10px 12px;border-radius:6px;background:var(--plato-canvas);font-size:12px;line-height:1.45}.export-modal-actions{display:grid;gap:8px}@media(max-width:1439px){.logo__badge,.logo__tagline,.header-inputs,.actions-group>a{display:none!important}}@media(max-width:1279px){.actions-group #btn-clear,.controls-group .divider,#btn-rotate-cw,#btn-rotate-ccw{display:none!important}}@media(max-width:767px){.controls-group,.actions-group{display:none!important}.modal-overlay{align-items:flex-end;padding:0}.modal-card{width:100%;max-height:92vh;border-radius:12px 12px 0 0}.modal-header,.engineer-modal-body,.export-modal-body{padding:20px}.engineer-preview-box{grid-template-columns:1fr}}.modal-card--narrow{width:min(420px,100%)}.draft-recovery-actions{display:flex;flex-direction:column;gap:10px;padding:0 24px 24px}.draft-recovery-actions__danger{color:var(--plato-danger, #dc2626);border-color:#dc262640}.draft-recovery-actions__danger:hover{background:#dc26260f}.mobile-toolbar-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;flex-direction:column;pointer-events:none}.mobile-menu-btn{display:inline-flex!important;align-items:center;justify-content:center;height:36px;min-width:44px;padding:0 10px;font-size:13px;font-weight:500;border:1px solid var(--plato-border);border-radius:6px;background:var(--plato-card);color:var(--plato-heading);cursor:pointer;flex-shrink:0;margin-left:auto}@media(min-width:768px)and (min-height:501px){.mobile-toolbar-wrapper,.mobile-sheet,.mobile-sheet-backdrop,.mobile-menu-btn{display:none!important}}@media(max-width:1024px)and (max-height:500px){.top-bar{height:40px!important;padding:0 8px!important}.logo__tagline{display:none!important}.mobile-tool-dock{padding:4px 8px!important;gap:6px!important}.mobile-dock-btn,.mobile-quick-btn{height:38px!important;min-width:38px!important}.mobile-stage-btn{height:38px!important;padding:0 8px!important;font-size:12px!important}.actions-group{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;flex-wrap:nowrap!important}.actions-group .btn{width:auto!important;min-width:44px!important;height:34px!important;padding:0 10px!important;font-size:11px!important;white-space:nowrap!important;box-sizing:border-box!important;flex-shrink:0!important;overflow:visible!important}}.mobile-action-bar{pointer-events:auto;margin:0 12px 8px;padding:8px 12px;border-radius:8px;background:#fffffff5;border:1px solid var(--plato-border);box-shadow:0 8px 24px #0f172a1f;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-action-bar__hint{font-size:12px;font-weight:500;color:var(--plato-slate)}.mobile-action-bar__buttons{display:flex;gap:8px}.mobile-action-bar__buttons .btn{min-height:40px;padding:0 12px;font-size:13px}.mobile-tool-dock{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;padding:4px 6px;padding-bottom:max(6px,env(safe-area-inset-bottom,6px));background:#fffffffa;border-top:1px solid var(--plato-border);box-shadow:0 -4px 16px #0f172a14;gap:3px;overflow:hidden;box-sizing:border-box;width:100%}.mobile-dock-btn{height:44px;min-width:35px;padding:0 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--plato-graphite);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);flex-shrink:0;box-sizing:border-box}.mobile-dock-btn--stage{border:1px solid var(--plato-border);background:var(--plato-canvas);padding:0 5px;align-items:flex-start;min-width:52px;max-width:64px}.mobile-dock-btn__badge{font-size:9px;text-transform:uppercase;color:#a1350e;font-weight:700;letter-spacing:.06em}.mobile-dock-btn--stage strong{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.mobile-dock-btn--icon{min-width:35px;max-width:40px;padding:0 2px}.mobile-dock-btn--icon span{font-size:15px;line-height:1}.mobile-dock-btn--icon small{font-size:8.5px;color:#334155;margin-top:1px;white-space:nowrap}.mobile-dock-quick-tools{display:flex;align-items:center;gap:3px;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;box-sizing:border-box}.mobile-dock-quick-tools::-webkit-scrollbar{display:none}.mobile-quick-btn{height:44px;min-width:30px;max-width:42px;padding:0 1px;border:1px solid var(--plato-border);border-radius:6px;background:#fff;color:var(--plato-graphite);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);box-sizing:border-box;flex-shrink:0}.mobile-quick-btn--active{background:var(--plato-graphite);color:#fff;border-color:var(--plato-graphite)}.mobile-quick-btn__icon{font-size:15px;line-height:1}.mobile-quick-btn__label{font-size:8px;white-space:nowrap;margin-top:1px}.mobile-cta-btn{height:44px;padding:0 12px;font-size:13px;font-weight:600;white-space:nowrap}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-sheet{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #0f172a2e;display:flex;flex-direction:column;max-height:90vh;max-height:90dvh;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .22s ease,visibility .22s ease;padding-bottom:max(16px,env(safe-area-inset-bottom,16px))}.mobile-sheet--open{transform:translateY(0);visibility:visible;pointer-events:auto}.mobile-sheet--half{height:52vh;height:52dvh}.mobile-sheet--full{height:88vh;height:88dvh}.mobile-sheet__handle-bar{height:24px;display:flex;align-items:center;justify-content:center;cursor:grab}.mobile-sheet__handle{width:36px;height:4px;border-radius:2px;background:#cbd5e1}.mobile-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px;border-bottom:1px solid var(--plato-border)}.mobile-sheet__title{margin:0;font-size:16px;font-family:var(--font-display);color:var(--plato-graphite)}.mobile-sheet__close{width:44px;height:44px;border:none;background:none;font-size:24px;line-height:1;color:var(--plato-slate);cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-sheet__content{flex:1;overflow-y:auto;padding:16px;padding-bottom:calc(max(24px,env(safe-area-inset-bottom,24px)) + 20px)!important;-webkit-overflow-scrolling:touch}.mobile-inspector-content{padding-bottom:24px}.mobile-inspector-content .inspector-section .btn--danger{margin-bottom:16px}@media(max-width:380px){.mobile-tool-dock{padding:4px;padding-bottom:max(6px,env(safe-area-inset-bottom,6px));gap:2px}.mobile-dock-btn--stage{min-width:46px;max-width:54px;padding:0 3px}.mobile-dock-btn--stage strong{font-size:10px}.mobile-dock-btn--icon{min-width:32px;max-width:35px;padding:0 1px}.mobile-dock-btn--icon span{font-size:14px}.mobile-dock-btn--icon small{font-size:7.5px;color:#1e293b}.mobile-dock-quick-tools{gap:2px}.mobile-quick-btn{min-width:28px;max-width:34px;padding:0 1px}.mobile-quick-btn__icon{font-size:13px}.mobile-quick-btn__label{font-size:7.5px}}
