:root{--accent: #a52019;--on-accent: #ffffff;--accent-hover: rgba(255, 255, 255, .12);--accent-active: rgba(255, 255, 255, .22);--surface: #ecece7;--surface-raised: #f5f5f1;--line: rgba(74, 20, 15, .12);--line-strong: rgba(74, 20, 15, .22);--text: #2b211e;--text-muted: #6a5852;--text-disabled: #b3a9a4;--hover: #e2e1d8;--pressed: #d6d4c9;--checked: rgba(165, 32, 25, .14);--checked-line: rgba(165, 32, 25, .55);--focus: #2563eb;--ui-font: "EvacPlan UI", "Segoe UI", system-ui, sans-serif;--ui-font-size: 12px;--ribbon-band-height: 30px;--ribbon-body-height: 96px;--ribbon-band-button: 28px;--ribbon-top-reach: 4px;--window-bg: var(--surface-raised);--window-fg: var(--text);--window-radius: 8px;--window-shadow: 0 16px 40px rgba(74, 20, 15, .2);--window-border: 0 solid transparent;--window-backdrop: rgba(43, 33, 30, .18);--window-padding: 16px;--window-gap: 10px;--window-viewport-gap: 16px;--window-width: 360px;--window-title-size: var(--ui-font-size);--window-title-weight: 700;--window-titlebar-height: 28px;--window-close-size: 28px;--window-actions-gap: 8px;--window-button-height: 28px;--window-button-padding: 0 14px;--window-control-border: 1px solid var(--line-strong);--window-control-radius: 4px;--window-control-bg: var(--surface);--window-input-height: 30px;--window-input-padding: 0 8px;--window-input-bg: #fff;--window-floating-border: 1px solid var(--line-strong);--window-floating-shadow: 0 12px 32px rgba(74, 20, 15, .22);--window-floating-pad-y: 10px;--window-floating-pad-x: 12px;--layer-floating: 30;--layer-modal: 60}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%}html,body{position:fixed;inset:0;overscroll-behavior:none}html,body,#root{margin:0;height:100%;font-family:var(--ui-font);font-size:12px;color:var(--text);background:var(--surface);overflow:hidden}.app{display:flex;flex-direction:column;height:100%}.boot{display:grid;place-items:center;height:100%;color:var(--text-muted);font-size:14px;padding:0 16px;text-align:center}.ribbon{flex:none;background:var(--surface);user-select:none;font-family:var(--ui-font);font-size:12px;color:var(--text)}.rb-band{display:flex;align-items:stretch;height:30px;padding:0 4px;background:var(--accent);color:var(--on-accent)}.rb-quick,.rb-right{display:flex;align-items:center}.rb-right{margin-left:auto}.rb-band-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:1px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--on-accent);font:inherit;cursor:default}.rb-band-btn{position:relative}.rb-band-btn:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:4px}.rb-band-btn:hover:not(:disabled){background:var(--accent-hover)}.rb-band-btn:active:not(:disabled){background:var(--accent-active)}.rb-zoom-value{width:52px;font-variant-numeric:tabular-nums}.rb-collapse{margin-left:8px}.rb-band-sep{align-self:center;width:1px;height:14px;margin:0 4px 0 8px;background:#fff6}.rb-tabs{display:flex;align-items:stretch;padding-top:2px;overflow:hidden}.rb-tab{position:relative;padding:0 12px;border:0;border-radius:3px 3px 0 0;background:transparent;color:var(--on-accent);font:inherit;white-space:nowrap;cursor:default}.rb-tab:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:4px}.rb-tab.contextual{font-weight:700}.rb-tab:hover:not(.active){background:var(--accent-hover)}.rb-tab.active{background:var(--surface);color:var(--text)}.rb-tab.active-collapsed:after{content:"";position:absolute;left:8px;right:8px;bottom:1px;height:2px;background:var(--on-accent)}.rb-body{display:flex;height:96px;padding-left:4px;border-bottom:1px solid var(--line-strong);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.rb-pane{display:flex;flex:none}.rb-body[hidden],.rb-pane[hidden]{display:none}.rb-group{position:relative;display:flex;flex-direction:column;align-items:center;flex:none;padding:3px 4px 0;margin-right:4px}.rb-group.rb-fixed{padding-right:8px;margin-right:8px}.rb-active-tool{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;min-width:92px;padding:0 4px}.rb-active-name{font-size:11px;font-weight:700;color:var(--brand, #a52019);text-align:center;white-space:nowrap}.rb-finish{height:26px;border-radius:5px;border:1px solid var(--brand, #a52019);background:var(--brand, #a52019);color:#fff;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}.rb-finish:hover{filter:brightness(1.08)}.rb-group.off .rb-caption{opacity:.5}.rb-group:after{content:"";position:absolute;right:-3px;top:6px;bottom:6px;width:1px;background:var(--line-strong)}.rb-columns{display:flex;gap:2px;height:72px}.rb-column{display:flex;flex-direction:column;align-items:stretch}.rb-caption{margin-top:auto;padding-bottom:3px;font-size:11px;line-height:15px;color:var(--text-muted);white-space:nowrap}.rb-btn{position:relative;display:flex;align-items:center;border:0;padding:0;background:transparent;color:var(--text);font:inherit;white-space:nowrap;cursor:default;isolation:isolate}.rb-btn:before{content:"";position:absolute;inset:1px;z-index:-1;border-radius:4px}.rb-btn:hover:not(:disabled):before{background:var(--hover)}.rb-btn.checked:before{background:var(--checked);box-shadow:inset 0 0 0 1px var(--checked-line)}.rb-btn:active:not(:disabled):before{background:var(--pressed)}.rb-btn:disabled{color:var(--text-disabled)}.rb-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-1px;border-radius:4px}.rb-large{flex-direction:column;justify-content:flex-start;min-width:48px;height:72px;padding:4px 5px 0}.rb-lines{display:flex;flex-direction:column;align-items:center;margin-top:6px;line-height:14px}.rb-line{display:inline-flex;align-items:center}.rb-small{height:24px;padding:0 8px 0 4px;gap:4px}.rb-icon{justify-content:center;width:30px;height:30px}.rb-icon.menu{width:41px;justify-content:flex-start;padding-left:5px}.rb-chevron{flex:none;color:currentColor}.rb-small .rb-chevron{margin-left:auto}.icon{position:relative;display:inline-block;flex:none}.icon>i,.icon>img{position:absolute;inset:0;display:block}.icon>img{width:100%;height:100%}.icon-svg>svg{display:block;width:100%;height:100%}.rb-pen{display:flex;align-items:center;gap:6px;height:72px;padding:0 2px}.rb-pen.off{opacity:.5}.rb-pen-preview{flex:none;width:56px;height:64px;border:1px solid var(--line-strong);border-radius:4px;background:#fff}.rb-pen-preview.dark{background:#6b7280}.rb-pen-rows{display:flex;flex-direction:column;justify-content:space-between;height:66px}.rb-pen-colors,.rb-pen-presets,.rb-pen-width{display:flex;align-items:center;gap:4px;height:20px}.rb-pen-chip{flex:none;width:16px;height:16px;padding:0;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-muted);font-size:13px;line-height:14px;text-align:center}.rb-pen-chip.other{background:#fff}.rb-pen-chip[aria-pressed=true],.rb-pen-dot[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.rb-pen-label,.rb-pen-unit{color:var(--text-muted);font-size:11px}.rb-pen-width input[type=range]{width:104px;margin:0;accent-color:var(--accent)}.rb-pen-value{width:38px;height:18px;padding:0 3px;border:1px solid var(--line-strong);border-radius:3px;background:#fff;color:var(--text);font:inherit;font-size:11px;text-align:right}.rb-pen-value:focus{border-color:var(--accent);outline:none}.rb-pen-dot{display:grid;place-items:center;flex:none;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:transparent}.rb-pen-dot:hover:not(:disabled),.rb-pen-chip:hover:not(:disabled){filter:brightness(.92)}.rb-pen-dot>span{border-radius:50%;box-shadow:0 0 0 1px #0000002e}.rb-group.rb-fixed{padding-top:0;padding-bottom:0}.rb-fixed>.rb-columns{height:100%}.rb-fixed .rb-column:has(>.rb-fixed-tool){justify-content:stretch}.rb-fixed-tool{flex:1 1 0;width:46px;height:auto;min-height:0;justify-content:center;align-items:center}.rb-fixed-tool>.icon{width:34px!important;height:34px!important}.rb-band .rb-band-btn,.rb-band .rb-tab{cursor:pointer}.rb-band .rb-band-btn:disabled{cursor:default}.app-body{display:flex;flex:1;min-height:0}.plan{position:relative;background:#fff;flex:1;min-width:0;overflow:hidden;overflow:clip;touch-action:none}.plan canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.plan canvas.plan-page{pointer-events:none}.plan-frame{position:relative;flex:1;min-width:0;display:flex;overflow:hidden;overflow:clip}.ruler-h,.ruler-v{position:absolute;top:0;left:0;z-index:4;display:block;pointer-events:none}.ruler-h{z-index:5;width:100%}.ruler-v{height:100%}.status{flex:none;display:flex;align-items:center;gap:16px;height:26px;padding:0 12px;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:11.5px;white-space:nowrap}.status-message{color:var(--text);overflow:hidden;text-overflow:ellipsis}.status-right{margin-left:auto;display:flex;align-items:center;gap:16px;min-width:0;font-variant-numeric:tabular-nums}.status-text{overflow:hidden;text-overflow:ellipsis}.status-selection{flex:0 1 auto;min-width:0}.status-toggles,.status-zoom{flex:none;display:flex;align-items:center;gap:2px}.status-zoom{margin-left:-4px}.status-btn{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 1px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);font:inherit}.status-toggles .status-btn{width:24px}.status-btn:hover{background:var(--hover)}.status-btn:active{background:var(--pressed)}.status-btn.on{background:var(--checked);border-color:var(--checked-line)}.status-percent{width:52px}.status-slider{display:flex;align-items:center;width:118px;height:22px;padding:0 4px;touch-action:none}.status-track{position:relative;flex:1;height:2px;background:var(--line-strong)}.status-real{position:absolute;top:-3px;width:1px;height:8px;background:var(--text-muted)}.status-knob{position:absolute;top:50%;width:11px;height:11px;border:1.5px solid var(--surface-raised);border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-sizing:border-box}@media(max-width:900px){.status-format,.status-toggles{display:none}}@media(max-width:640px){.status-selection,.status-slider{display:none}}.rail{flex:none;display:flex;flex-direction:column;width:48px;padding-top:6px;background:var(--accent);user-select:none}.rail-section{display:flex;flex-direction:column}.rail-section+.rail-section{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.16);margin-inline:0}.rail-bottom{margin-top:auto;padding-bottom:6px;border-top:1px solid rgba(255,255,255,.14)}.rail-btn{display:grid;place-items:center;width:48px;height:44px;padding:0;border:0;background:transparent;cursor:default}.rail-btn:hover{background:var(--accent-hover)}.rail-btn.on{background:var(--surface);border-radius:6px 0 0 6px;margin-left:4px;width:44px}.rail-btn.on .icon>i{background:var(--accent)!important}.side-panel{flex:none;display:flex;flex-direction:column;gap:6px;width:216px;padding:6px 6px 0;border-right:1px solid var(--line-strong);background:var(--surface);min-height:0}.side-head{display:flex;align-items:center;gap:6px;height:21px}.side-title{font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-count{color:var(--text-muted);font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.side-close{margin-left:auto;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised)}.side-search,.side-select,.side-size-value{height:28px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised);color:var(--text);font:inherit;min-width:0}.side-search:focus,.side-select:focus,.side-size-value:focus{outline:2px solid var(--focus);outline-offset:-1px}.side-size{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:10px}.side-size input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.side-size-value{width:42px;height:24px;padding:0 4px;text-align:center;font-size:11px}.side-grid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;align-content:start;overflow-y:auto;padding-bottom:6px;scrollbar-width:thin}.side-cell{box-sizing:border-box;min-width:0;padding:3px;border:0;border-radius:4px;background:transparent;cursor:grab;touch-action:none}.side-panel.drag-out{opacity:0;pointer-events:none;transition:opacity .12s}.side-cell img{display:block;width:100%;height:auto;aspect-ratio:1;min-width:0;object-fit:contain}.rb-menu{position:fixed;z-index:50;min-width:200px;max-height:calc(100vh - 140px);overflow-y:auto;padding:4px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 8px 24px #4a140f24;font-family:var(--ui-font);font-size:12px}.rb-menu-row{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 10px 0 6px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:default}.rb-menu-row:hover:not(:disabled),.rb-menu-row:focus-visible{background:var(--hover);outline:none}.rb-menu-row.checked{font-weight:700}.rb-menu-row:disabled{color:var(--text-disabled)}.rb-check{width:16px;text-align:center;color:var(--accent)}.rb-swatch{flex:none;width:16px;height:16px;border:1px solid var(--line-strong);border-radius:3px}.rb-swatch.none{background:linear-gradient(to top right,transparent calc(50% - 1px),#d52b1e calc(50% - 1px),#d52b1e calc(50% + 1px),transparent calc(50% + 1px)),#fff}.rb-menu-sep{height:1px;margin:4px 6px;background:var(--line-strong)}.ask-text{margin:0 0 12px;max-width:360px;white-space:pre-line;line-height:1.45}.ask-veil{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;place-items:center;background:var(--window-backdrop);padding:var(--window-viewport-gap)}.ask{display:flex;flex-direction:column;gap:var(--window-gap);width:min(var(--window-width),100%);padding:var(--window-padding);border:var(--window-border);border-radius:var(--window-radius);background:var(--window-bg);color:var(--window-fg);box-shadow:var(--window-shadow)}.ask input{height:var(--window-input-height);padding:var(--window-input-padding);border:var(--window-control-border);border-radius:var(--window-control-radius);font:inherit;background:var(--window-input-bg)}.ask-buttons{display:flex;justify-content:flex-end;gap:var(--window-actions-gap)}.ask-buttons button{height:var(--window-button-height);padding:var(--window-button-padding);border:var(--window-control-border);border-radius:var(--window-control-radius);background:var(--window-control-bg);font:inherit}.ask-buttons button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.typing-input{position:absolute;left:0;top:0;width:1px;height:1em;padding:0;border:0;opacity:0;resize:none;overflow:hidden;pointer-events:none;font-size:16px}.win-titlebar{display:flex;align-items:center;gap:var(--window-actions-gap);min-height:var(--window-titlebar-height);margin:calc(-1 * var(--window-padding)) calc(-1 * var(--window-padding)) 0;padding:4px 6px 4px var(--window-padding);border-radius:var(--window-radius) var(--window-radius) 0 0;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.win:focus{outline:none}.win-titlebar:active{cursor:grabbing}.win-titlebar:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.win-title{flex:1;min-width:0;overflow:hidden;font-size:var(--window-title-size);font-weight:var(--window-title-weight);white-space:nowrap;text-overflow:ellipsis}.win-close{display:grid;place-items:center;flex:none;width:var(--window-close-size);height:var(--window-close-size);padding:0;border:0;border-radius:var(--window-control-radius);background:transparent;color:var(--text-muted);cursor:pointer}.win-close:hover{background:var(--hover);color:var(--window-fg)}.win-close:active{background:var(--pressed)}.win-close:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}@media(pointer:coarse){.win-close{position:relative}.win-close:before{content:"";position:absolute;inset:-8px}}.calib-bar>.win-titlebar{margin:calc(-1 * var(--window-floating-pad-y)) calc(-1 * var(--window-floating-pad-x)) 0;padding-left:var(--window-floating-pad-x)}.side-list{flex:1;overflow-y:auto;margin:0 -6px;scrollbar-width:thin}.side-row{display:flex;align-items:center;gap:6px;min-height:30px;padding:4px 14px;border-left:3px solid transparent;cursor:default}.side-row:hover{background:#b1014212;border-left-color:#b10142}.side-row.selected{background:#a520191f}.side-row.soft .side-row-name{color:var(--text-muted)}.side-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-row-name.wrap{white-space:normal}.side-row-state{color:var(--text-muted);font-size:10.5px;white-space:nowrap}.side-row.layer{padding-left:8px;gap:2px}.layer-toggle{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent}.layer-toggle:hover{background:var(--hover)}.side-hint{margin:4px 2px;color:var(--text-muted);line-height:1.45}.side-hint.ok{color:#16a34a;font-weight:700}.side-button{height:28px;margin-bottom:6px;border:1px solid var(--accent);border-radius:5px;background:transparent;color:var(--accent);font:inherit;font-weight:700}.side-button:hover{background:var(--checked)}.side-check{display:flex;align-items:center;gap:6px;color:var(--text)}.check-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#f59e0b}.check-dot.error{background:#ef4444}.check-fix{flex:none;height:22px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised);color:var(--accent);font:inherit;font-size:11px;font-weight:700}.side-row.check.inert:hover{background:transparent;border-left-color:transparent}.check-fix:disabled,.side-button:disabled{border-color:var(--line-strong);color:var(--text-muted)}.prop-name{font-size:14px;font-weight:700;margin:4px 2px}.prop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 8px}.prop-field{display:flex;flex-direction:column;gap:2px;min-width:0;color:#4b5563}.prop-box{display:flex;align-items:center;height:28px;border:1px solid #d5d9e0;border-radius:5px;background:#fff}.prop-box input{flex:1;width:100%;min-width:0;height:100%;padding:0 6px;border:0;background:transparent;font:inherit;color:#111827}.prop-box input:disabled{background:#eef0f3}.prop-box em{padding-right:6px;font-style:normal;color:var(--text-muted)}.survey-actions{display:flex;gap:6px}.survey-actions .side-button{flex:1}.survey-group+.survey-group{margin-top:6px}.survey-head{display:flex;align-items:center;gap:6px;padding:6px 14px 2px;font-weight:700}.survey-dot{flex:none;width:10px;height:10px;border-radius:50%}.survey-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-label{flex:none;min-width:42px;padding:1px 5px;border:1.5px solid;border-radius:9px;font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.survey-remove{flex:none;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-size:15px;visibility:hidden}.survey-row:hover .survey-remove,.survey-remove:focus-visible{visibility:visible}.survey-remove:hover{background:#a520191f;color:#a52019}.survey-qr{flex:none;height:20px;padding:0 5px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised);color:var(--text-muted);font:inherit;font-size:10px;font-weight:700;visibility:hidden}.survey-row:hover .survey-qr,.survey-qr:focus-visible{visibility:visible}.survey-qr:hover{color:var(--text);border-color:var(--accent)}.survey-sealed{display:grid;place-items:center;flex:none;width:20px}.pages-bar{position:relative;flex:none;display:flex;align-items:stretch;height:30px;padding:0 8px 0 56px;background:var(--surface);border-top:1px solid var(--line-strong);user-select:none}.pages-tabs{display:flex;align-items:flex-start;gap:0;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}.pages-tabs::-webkit-scrollbar{display:none}.page-tab{position:relative;flex:none;height:26px;max-width:220px;margin-right:-6px;padding:0 18px;border:0;border-radius:0 0 9px 9px;background:transparent;color:var(--text-muted);font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;touch-action:none}.page-tab+.page-tab:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line-strong)}.page-tab:hover{background:var(--hover)}.page-tab:hover:before,.page-tab.active:before,.page-tab.active+.page-tab:before,.page-tab:hover+.page-tab:before{background:transparent}.page-tab.active{z-index:2;background:#fff;color:var(--text);box-shadow:0 1px 3px #4a140f2e;margin-top:-1px;height:27px}.page-tab.dragging{z-index:3;opacity:.92;box-shadow:0 4px 12px #4a140f38;transition:none}.page-tab-color{position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:2px;background:var(--tab-color)}input.page-rename{width:160px;padding:0 10px;border:1px solid var(--accent);outline:none;color:var(--text);cursor:text}.page-add{flex:none;display:grid;place-items:center;width:24px;height:22px;margin:2px 0 0 10px;padding:0;border:0;border-radius:4px;background:transparent}.page-add:hover,.pages-arrow:hover,.pages-goto:hover{background:var(--hover)}.pages-arrow{flex:none;width:20px;margin:3px 2px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-size:16px;line-height:1}.pages-goto{flex:none;margin:3px 0 3px auto;padding:0 8px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}.pages-sync{flex:none;display:flex;align-items:center;gap:4px;margin-left:8px;color:var(--text-muted);white-space:nowrap}.pages-list{position:absolute;right:80px;bottom:32px;width:300px;padding:6px}.pages-search{width:100%;height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit}.pages-list-rows{max-height:320px;overflow-y:auto}.pages-list-n{width:26px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}.pages-list-name{flex:1;overflow:hidden;text-overflow:ellipsis}.pages-list-size{color:var(--text-muted);font-size:11px}.rb-menu-row kbd{margin-left:auto;padding-left:16px;color:var(--text-muted);font:inherit}.rb-more{margin-left:auto;color:var(--text-muted)}.rb-symbol{flex:none;width:16px;height:16px;color:var(--text)}.rb-symbol.wide{width:40px}.rb-symbol svg{display:block;width:100%;height:100%}.ask label{white-space:pre-line;line-height:1.4}.minimap-zone{position:absolute;z-index:3;pointer-events:none}.minimap-zone[hidden]{display:none}.minimap-hit{position:absolute;inset:0;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}.minimap-close{position:absolute;display:grid;place-items:center;padding:0;border:0;background:transparent;pointer-events:auto;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}.minimap-close span{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;box-shadow:0 1px 4px #4a140f29;color:var(--text-muted);font-size:15px;line-height:1}.minimap-close:hover span{color:var(--accent)}.minimap-close:focus-visible{outline:none}.minimap-close:focus-visible span{outline:2px solid var(--focus);outline-offset:2px}.code-dialog{width:min(680px,100%)}.code-dialog h2{margin:0;font-size:15px}.code-body{display:flex;gap:16px;flex-wrap:wrap}.code-fields{flex:1 1 280px;display:flex;flex-direction:column;gap:8px}.code-fields label{display:flex;flex-direction:column;gap:3px;color:var(--text-muted)}.code-fields select,.code-fields input:not([type]),.code-fields input[inputmode],.code-fields textarea{height:28px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit;color:var(--text)}.code-fields textarea{height:auto;padding:6px 8px;resize:vertical}.code-fields fieldset{border:1px solid var(--line);border-radius:5px;padding:6px 8px}.code-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.code-row button{height:26px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font:inherit}.code-side{flex:0 1 260px;display:flex;flex-direction:column;gap:6px}.code-preview{width:100%;max-width:260px;aspect-ratio:1;border-radius:6px}.code-counter,.code-dims{margin:0;color:var(--text-muted);font-size:11px}.code-advice{margin:0;white-space:pre-line;line-height:1.4}.code-advice.alarm{color:#b91c1c}.code-fields label.side-check{flex-direction:row;align-items:center}.rb-toggle{position:relative}.rb-toggle.on,.rb-armed{background:#ffffff3d;box-shadow:inset 0 0 0 1px #ffffff80}.rb-toggle:not(.on) .icon{opacity:.55}.rb-toggle:not(.on):after{content:"";position:absolute;left:7px;right:7px;top:50%;height:1.5px;background:#fffc;transform:rotate(-40deg)}.side-cell{position:relative;transition:transform .3s cubic-bezier(.25,.1,.25,1),opacity .12s}.side-cell:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:6px;background:#fff;box-shadow:0 8px 18px #2b211e38;opacity:0;transition:opacity .3s cubic-bezier(.25,.1,.25,1)}@media(hover:hover)and (pointer:fine){.side-cell:hover{z-index:1;transform:scale(1.1);transition-duration:.22s,.12s;background:transparent}.side-cell:hover:after{opacity:1;transition-duration:.22s}.side-cell.lifted{z-index:2;transform:scale(1.18);transition-duration:.18s,.12s}.side-cell.lifted:after{opacity:1}}@media(hover:none),(pointer:coarse){.side-cell{transition:none;-webkit-touch-callout:none}.side-cell:active{opacity:.7}}.side-cell.held{opacity:.35}.pictogram-ghost{position:fixed;left:0;top:0;z-index:100;opacity:.8;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 10px rgba(43,33,30,.25))}.size-sample{position:absolute;left:calc(100% + 10px);top:120px;z-index:20;display:grid;place-items:center;width:max(56px,calc(var(--side) + 16px));height:max(56px,calc(var(--side) + 16px));border-radius:8px;background:#fff;box-shadow:0 8px 24px #2b211e2e;pointer-events:none}.size-sample img{width:var(--side);height:var(--side)}.side-panel{position:relative}.context-root{position:fixed;inset:0;z-index:70;pointer-events:none}.context-menu{position:fixed;min-width:230px;max-width:360px;padding:4px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 8px 24px #4a140f29;font-family:var(--ui-font);font-size:12px;color:var(--text);outline:none;pointer-events:auto}.context-row{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border-radius:4px;white-space:nowrap;cursor:default}.context-row.active:not(.disabled),.context-row[aria-expanded=true]{background:var(--hover)}.context-row.disabled{color:var(--text-disabled)}.context-check{display:grid;place-items:center;color:var(--accent);font-weight:600}.context-label{overflow:hidden;text-overflow:ellipsis}.context-keys{padding-left:18px;color:var(--text-muted)}.context-row.disabled .context-keys{color:var(--text-disabled)}.context-sep{height:1px;margin:4px 8px;background:var(--line-strong)}.float-bar{position:absolute;left:0;top:0;z-index:5;display:flex;flex-direction:column;gap:3px;padding:3px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 4px 14px #4a140f29;will-change:transform;user-select:none}.float-row{display:flex;align-items:center;justify-content:center;gap:2px}.float-row.second{justify-content:stretch}.float-btn{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text)}.float-btn:hover:not(:disabled),.float-menu-btn:hover{background:var(--hover)}.float-btn.on{background:var(--checked);box-shadow:inset 0 0 0 1px var(--checked-line)}.float-sep{width:1px;height:20px;margin:0 2px;background:var(--line-strong)}.float-menu-btn{display:flex;align-items:center;justify-content:space-between;gap:4px;height:28px;padding:0 6px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font:inherit;white-space:nowrap;overflow:hidden}.float-menu-btn.wide{flex:1 1 30%;min-width:80px}.float-menu-btn.wide:first-child{flex:1 1 70%}.float-menu-btn span:first-child{overflow:hidden;text-overflow:ellipsis}.float-caret{color:var(--text-muted);font-size:10px}.float-letter{font-weight:700;font-size:14px;line-height:1;margin-top:-4px}.float-bar-color{position:absolute;left:6px;right:6px;bottom:4px;height:4px;border-radius:1px;box-shadow:inset 0 0 0 1px #00000026}.float-bar-color.none{background:linear-gradient(to top right,transparent calc(50% - 1px),#d52b1e calc(50% - 1px),#d52b1e calc(50% + 1px),transparent calc(50% + 1px)),#fff}.app-body{position:relative}.plan,.plan canvas{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media(max-width:760px){.rb-tabs{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rb-tabs::-webkit-scrollbar{display:none}.rb-body{-webkit-overflow-scrolling:touch}.rail{width:44px}.rail-btn{width:44px;height:42px}.side-panel{height:100%;width:min(calc(100vw - 44px),264px);box-shadow:6px 0 22px #4a140f33}.dock-right .side-panel{box-shadow:-6px 0 22px #4a140f33}.size-sample{left:auto;right:10px;top:150px;max-width:min(70vw,480px);max-height:min(60vh,480px);overflow:hidden}.pages-bar{padding-left:48px;padding-bottom:env(safe-area-inset-bottom,0px);height:calc(36px + env(safe-area-inset-bottom,0px))}.pages-sync span{display:none}}@media(max-width:760px),(max-height:520px){.rb-quick,.rb-quick+.rb-band-sep,.rb-right{display:none}.rb-band{padding-top:env(safe-area-inset-top,0px);height:calc(30px + env(safe-area-inset-top,0px))}}@media(max-width:760px),(max-height:520px){.rb-body{height:68px}.rb-group{padding:2px 3px 0;margin-right:2px}.rb-group:after{top:5px;bottom:5px}.rb-columns{height:52px}.rb-caption{padding-bottom:1px;font-size:9.5px;line-height:12px}.rb-large{min-width:40px;height:52px;padding:2px 3px 0}.rb-large>.icon{width:22px!important;height:22px!important}.rb-lines{margin-top:2px;font-size:10.5px;line-height:11px}.rb-small{height:17px;padding:0 5px 0 2px;gap:3px;font-size:11px}.rb-small .icon{width:14px!important;height:14px!important}.rb-icon{width:25px;height:25px}.rb-icon>.icon{width:18px!important;height:18px!important}.rb-icon.menu{width:34px}.rb-active-tool{min-width:78px;gap:2px}.rb-active-name{font-size:10px}.rb-finish{height:22px;font-size:10.5px}.rb-tab{font-size:12px}.rb-fixed-tool{width:36px}.rb-fixed-tool>.icon{width:26px!important;height:26px!important}.rb-pen{height:52px;gap:4px}.rb-pen-preview{width:40px;height:48px}.rb-pen-rows{height:52px}.rb-pen-colors,.rb-pen-presets,.rb-pen-width{gap:3px;height:16px}.rb-pen-chip{width:14px;height:14px;font-size:11px;line-height:12px}.rb-pen-dot{width:16px;height:16px}.rb-pen-label,.rb-pen-unit{font-size:9.5px}.rb-pen-width input[type=range]{width:84px;height:14px}.rb-pen-value{width:32px;height:15px;font-size:10px}}@media(pointer:coarse){.rb-band-btn{width:36px;height:32px}.float-btn{width:38px;height:38px}.float-menu-btn{height:38px}.page-tab{height:32px}.rb-menu-row,.context-row{height:40px}}.home{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow-y:auto;padding:16px;background:var(--surface)}.home-card{width:min(600px,100%);padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 2px 6px #2b211e0d,0 6px 18px #2b211e0a}.home-brand{color:var(--accent);font-size:22px;font-weight:700;line-height:1.1}.home-subtitle{margin:4px 0 18px;color:var(--text-muted);font-size:12px}.home-resume{display:flex;align-items:center;width:100%;min-height:60px;margin-bottom:12px;padding:0 16px;border:0;border-radius:6px;background:var(--accent);color:#fff;font:inherit;text-align:left;cursor:pointer}.home-resume:hover{background:#8c1b15}.home-resume-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.home-resume-text strong{font-size:13px}.home-resume-text span{overflow:hidden;color:#ffffffe6;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.home-chevron{font-size:22px;line-height:1}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-button{height:34px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface-raised);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.home-button:hover{border-color:var(--accent);background:var(--hover)}.home-heading{margin:22px 0 6px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.home-list{margin:0 -8px;padding:0;list-style:none}.home-none{padding:12px 8px;color:var(--text-muted)}.home-row{display:flex;align-items:center;gap:12px;width:100%;height:56px;padding:0 10px 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-touch-callout:none}@media(hover:hover)and (pointer:fine){.home-row:hover{background:#f1f0ea}}.home-thumb{display:grid;flex:none;place-items:center;width:60px;height:42px}.home-thumb img{max-width:60px;max-height:42px;border:1px solid var(--line-strong);background:#fff}.home-row.pinned .home-thumb img{border:1.5px solid var(--accent)}.home-page-icon{width:14px;height:18px;border:1.2px solid var(--text-muted);border-radius:1px 5px 1px 1px}.home-row.pinned .home-page-icon{border-color:var(--accent)}.home-row-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.home-row-text strong{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.home-row.missing strong{color:var(--text-muted)}.home-missing{color:var(--accent);font-size:10.5px}.home-date{flex:none;color:var(--text-muted);font-size:10.5px}.home-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.home-reopen{display:flex;align-items:center;gap:8px;font-size:12px}.home-reopen input{accent-color:var(--accent)}.home-link{border:0;background:none;color:var(--text-muted);font:inherit;text-decoration:underline;cursor:pointer}@media(max-width:760px){.home-card{padding:20px 16px}.home-date{display:none}}.ask-buttons .choice{min-width:72px}.font-picker{position:fixed;left:0;top:0;z-index:70;display:flex;flex-direction:column;width:min(320px,calc(100vw - 16px));height:min(440px,calc(100vh - 16px));border:1px solid var(--line-strong);border-radius:6px;background:#fff;box-shadow:0 10px 28px #4a140f2e}.font-search{height:28px;margin:8px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;font:inherit}.font-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:4px}.font-header{padding:8px 10px 4px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.font-row{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;overflow:hidden;border:0;background:transparent;color:var(--text);text-align:left;white-space:nowrap;cursor:default}.font-row.hot{background:var(--hover)}.font-row.current{box-shadow:inset 3px 0 0 var(--accent)}.font-sample path{fill:var(--text)}.font-sample.soft path{fill:var(--text-muted)}.font-fallback{display:flex;align-items:center;gap:10px;font-size:12.5px}.font-foot{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-top:1px solid var(--line)}.font-more{height:26px;padding:0 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised);font:inherit;cursor:pointer}.font-more:hover{border-color:var(--accent)}.rb-icon-box{position:relative;display:inline-flex;flex:none}.rb-swatch{position:absolute;left:0;right:0;bottom:-4px;height:4px;border:1px solid var(--line-strong)}.rb-swatch.none{background:linear-gradient(to top right,#fff calc(50% - 1px),#d52b1e calc(50% - 1px) calc(50% + 1px),#fff calc(50% + 1px))}.rb-field{gap:4px;cursor:default}.rb-field-box{width:40px;height:20px;padding:0 4px;border:1px solid var(--line-strong);border-radius:3px;background:#fff;color:var(--text);font:inherit;text-align:right}.rb-field-box:focus{border-color:var(--accent);outline:none}.rb-field-unit{color:var(--text-muted);font-size:11px}.rb-field.off .rb-field-box{color:var(--text-disabled)}.replace-bar{display:flex;flex:none;flex-direction:column;gap:4px;padding:8px;border-top:1px solid var(--line-strong);background:var(--surface)}.replace-bar strong{overflow:hidden;font-size:11.5px;white-space:nowrap;text-overflow:ellipsis}.replace-bar span{color:var(--text-muted);font-size:10px}.replace-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.replace-buttons button{height:28px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-raised);font:inherit;cursor:pointer}.side-grid.choosing .side-cell{cursor:pointer}.cell-editor{position:absolute;z-index:6;padding:2px 4px;border:1.5px solid var(--accent);border-radius:0;background:#fff;color:#000;font-family:var(--ui-font);line-height:1.2;resize:none;outline:none}.form-dialog{width:min(440px,100%)}.form-title{font-size:13px}.form-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px}.form-row input{min-width:0}.form-note{color:var(--text-muted);font-size:11px;line-height:1.4}@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:2px}}.layer-rename{flex:1;min-width:0;height:22px;padding:0 4px;border:1px solid var(--accent);border-radius:3px;font:inherit}.side-section{padding:10px 6px 4px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.layer-background select{width:100%;height:26px;font:inherit}.layer-hint{margin:12px 6px;color:var(--text-muted);font-size:10.5px;line-height:1.4}.notes{display:flex;flex-direction:column;gap:6px;padding:8px 6px}.notes-name{font-weight:700}.notes-label{display:flex;justify-content:space-between;margin-top:6px;color:var(--text-muted);font-size:11px}.notes-note{height:120px;padding:4px 6px;border:1px solid var(--line-strong);border-radius:0;font:inherit;resize:vertical}.notes-link{display:flex;gap:4px}.notes-link input{flex:1;min-width:0;height:26px;padding:0 6px;border:1px solid var(--line-strong);font:inherit}.notes-link a{display:grid;place-items:center;width:26px;border:1px solid var(--line-strong);color:var(--accent);text-decoration:none}.notes-why{margin:0;color:var(--accent);font-size:11px}.notes-help{margin:4px 0 0;color:var(--text-muted);font-size:10.5px;line-height:1.4}.side-empty{margin:12px 8px;color:var(--text-muted)}.prop-layer{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:6px;margin:6px 6px 2px}.prop-layer select,.prop-font{min-width:0;height:26px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit;text-align:left}.prop-arrange,.prop-buttons{display:flex;flex-wrap:wrap;gap:4px;margin:6px}.prop-btn{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--text);font:inherit}.prop-btn.wide{flex:1}.prop-btn.on{border-color:var(--accent);background:var(--checked)}.prop-btn:disabled{color:var(--text-disabled);background:var(--surface)}.glyph-b{font-weight:700}.glyph-i{font-style:italic}.glyph-u{text-decoration:underline}.prop-gap{width:8px}.prop-swatch{width:24px;height:24px;border:1px solid var(--line-strong);border-radius:5px}.prop-swatch.on{outline:2px solid var(--accent);outline-offset:1px}.prop-section{margin:12px 6px 4px;font-weight:700}.prop-note{margin:0 6px 6px;overflow:hidden;color:var(--text-muted);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.settings .side-list{padding:0 6px 12px}.settings-section .side-section{padding:10px 2px 4px}.settings-rows{display:flex;flex-direction:column;gap:4px}.settings-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.settings-row{display:flex;align-items:center;gap:6px;min-height:22px;padding:2px 6px;border:1px solid var(--line);border-radius:2px;background:var(--surface-raised);color:var(--text);font:inherit;font-size:11px;text-align:left}.settings-row>span{flex:1;min-width:0}.settings-row:hover{background:var(--hover)}.settings-row.on{border-color:var(--accent)}.settings-tick{flex:none;color:var(--accent)}.settings-row.segment{justify-content:center;padding:2px 3px;border-color:var(--line-strong);font-size:10.5px;text-align:center}.settings-row.segment>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-row.segment.on{border-color:var(--accent);background:var(--accent);color:#fff}.settings-dialog{width:min(560px,100%);max-height:calc(100dvh - 32px)}.settings-dialog select{height:28px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit}.dialog-table{flex:1 1 auto;min-height:120px;max-height:300px;overflow:auto;border:1px solid var(--line-strong);border-radius:4px;background:#fff}.dialog-table-head,.dialog-table-row{display:grid;align-items:center;gap:8px;padding:3px 8px}.dialog-table-head{position:sticky;top:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:11px}.dialog-table-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-table-row:hover{background:var(--hover)}.dialog-table-row.selected{background:var(--checked)}.fonts-grid{grid-template-columns:16px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}.bars-grid{grid-template-columns:16px minmax(0,1fr)}.shortcuts-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.dialog-file{color:var(--text-muted)}.dialog-check{display:flex;align-items:center;gap:6px}.dialog-tools{flex-wrap:wrap;justify-content:flex-start}.ask-buttons button:disabled{color:var(--text-disabled)}.shortcuts-dialog{width:min(720px,100%)}.shortcuts-filters{display:flex;gap:8px}.shortcuts-filters .form-row{flex:1}.shortcuts-state{min-height:2.9em;margin:0;color:var(--text-muted);font-size:11px;line-height:1.45}@media(max-width:520px){.shortcuts-filters{flex-direction:column}.shortcuts-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shortcuts-grid>span:nth-child(3){display:none}}.composer{width:min(940px,100%);height:min(640px,calc(100dvh - 32px))}.composer-body{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.composer-library{display:flex;flex-direction:column;gap:6px;min-height:0}.composer-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-strong)}.composer-tabs button{flex:1;height:28px;padding:0 4px;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;background:transparent;font:inherit;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-tabs button.on{border-color:var(--line-strong);background:#fff;font-weight:700}.composer-list{flex:1;min-height:120px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));align-content:start;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:4px;background:#fff}.composer-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit;font-size:10px;touch-action:pan-y}.composer-item:hover{background:var(--hover)}.composer-item img{width:48px;height:48px;object-fit:contain;pointer-events:none}.composer-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-draft{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.composer-layout{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.composer-layout label{display:flex;align-items:center;gap:6px}.composer-cells{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;container-type:size}.composer-cells.column{flex-direction:column}.composer-cell{--side: min(calc(100cqw / var(--count)), 100cqh);flex:none;display:grid;place-items:center;width:var(--side);height:var(--side);padding:6px;border:1px dotted #b8b2ac;background:#f7f7f4;color:#6e5c55;font:inherit;font-size:11px;overflow:hidden}.composer-cells.column .composer-cell{--side: min(100cqw, calc(100cqh / var(--count)))}.composer-cell img{width:100%;height:100%;object-fit:contain;pointer-events:none}.composer-cell.chosen{border:3px solid #b10142}.composer-cell.target{border:3px solid #c47a95}.composer-tools{display:flex;flex-wrap:wrap;gap:6px}.composer-tools button{height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font:inherit}.composer-tools button:disabled{color:var(--text-disabled)}.composer-name{grid-template-columns:48px 1fr}.composer-hint{min-height:2.9em;margin:0;color:var(--text-muted);font-size:11px;line-height:1.45}.composer-hint.problem{color:#b91c1c}.composer-buttons .composer-close{margin-right:auto}.composer-ask{margin-right:auto;align-self:center}@media(max-width:720px){.composer{height:calc(100dvh - 32px);overflow:auto}.composer-body{grid-template-columns:1fr}.composer-list{max-height:30dvh}.composer-cells{min-height:160px}}.app-body{overflow:hidden}.rail{position:relative;z-index:25}.dock{flex:none;display:flex;min-height:0;position:relative;z-index:4}.dock-right .side-panel{border-right:0;border-left:1px solid var(--line-strong)}.dock.slide-out{position:absolute;top:0;bottom:0;z-index:21}.dock-right.slide-out{right:0}.dock.slide-in,.dock.slide-out{will-change:transform}.dock-left.slide-in{animation:dock-in-left .18s cubic-bezier(.2,0,0,1)}.dock-left.slide-out{animation:dock-out-left .18s cubic-bezier(.4,0,1,1) forwards}.dock-right.slide-in{animation:dock-in-right .18s cubic-bezier(.2,0,0,1)}.dock-right.slide-out{animation:dock-out-right .18s cubic-bezier(.4,0,1,1) forwards}@keyframes dock-in-left{0%{transform:translate(-100%)}}@keyframes dock-out-left{to{transform:translate(-100%)}}@keyframes dock-in-right{0%{transform:translate(100%)}}@keyframes dock-out-right{to{transform:translate(100%)}}@media(max-width:760px){.dock,.dock.slide-out{position:absolute;top:0;bottom:0;left:44px;z-index:20}.dock-right,.dock-right.slide-out{left:auto!important;right:0}}@media(prefers-reduced-motion:reduce){.dock.slide-in,.dock.slide-out{animation:none}}.calib-bar{position:fixed;left:0;top:0;z-index:var(--layer-floating);display:flex;flex-direction:column;gap:8px;width:min(530px,calc(100vw - 16px));padding:var(--window-floating-pad-y) var(--window-floating-pad-x);border:var(--window-floating-border);border-radius:var(--window-radius);background:var(--window-bg);color:var(--window-fg);box-shadow:var(--window-floating-shadow);font-size:var(--ui-font-size)}.calib-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.calib-row>span{min-width:0}.calib-pick{width:40px;height:24px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font:inherit;font-weight:700}.calib-pick.on{border-color:#d52b1e;background:#d52b1e;color:#fff}.calib-distance{width:120px;height:26px;padding:0 6px;border:1px solid var(--line-strong);border-radius:4px;font:inherit;background:#fff}.calib-row select{height:26px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit}.calib-result{min-height:2.9em;margin:0;white-space:pre-line;line-height:1.4}.calib-result.alarm{color:#b3261e}.calib-buttons{display:flex;flex-wrap:wrap;gap:6px}.calib-buttons button{height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font:inherit}.calib-buttons button.primary{margin-left:auto;border-color:var(--accent);background:var(--accent);color:#fff}.calib-buttons button:disabled{opacity:.5}.calib-warning{margin:0;color:#b45309;font-size:11px;line-height:1.4}.measure-bar{width:min(560px,calc(100vw - 16px))}.measure-modes{display:inline-flex;gap:2px}.calib-pick.wide{width:auto;padding:0 10px;font-weight:400}.measure-finish{margin-left:auto;height:26px;padding:0 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);font:inherit}.calib-buttons .measure-close{margin-left:auto}.form-row select{min-width:0;height:30px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit}.map-dialog{width:min(780px,100%);height:min(720px,calc(100dvh - 32px));position:relative}.map-search{position:relative}.map-search input{width:100%;box-sizing:border-box}.map-hits{position:absolute;left:0;right:0;top:100%;z-index:5;display:flex;flex-direction:column;border:1px solid var(--line-strong);border-radius:4px;background:#fff;box-shadow:0 8px 20px #4a140f2e}.map-hits button{padding:6px 8px;border:0;background:transparent;font:inherit;text-align:left}.map-hits button:hover,.map-hits button:focus{background:var(--hover);outline:none}.map-message{min-height:1.3em;margin:-4px 0 0;color:var(--text-muted);font-size:11px}.map-message.error{color:#b3261e}.map-centre{min-height:1.3em;margin:-6px 0 0;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;user-select:text}.map-area{position:relative;flex:1;min-height:160px}.map-canvas{position:absolute;border:1px solid var(--line-strong);box-sizing:border-box;cursor:grab;touch-action:none;outline:none}.map-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.map-zoom{position:absolute;left:calc(var(--map-x, 0px) + 8px);top:calc(var(--map-y, 0px) + 8px);display:flex;flex-direction:column;gap:2px}.map-zoom button{width:26px;height:26px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit;font-size:16px;line-height:1}.map-choices{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px}.map-choices>span{min-width:70px;color:var(--text-muted)}.map-choices label{display:inline-flex;align-items:center;gap:4px}.map-buttons{align-items:center}.map-hint{flex:1;min-width:0;overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.map-failure{position:absolute;left:50%;top:50%;z-index:6;width:min(360px,90%);padding:14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);box-shadow:0 16px 40px #4a140f40;transform:translate(-50%,-50%)}.map-failure p{margin:0 0 10px;white-space:pre-line}@media(max-width:520px){.map-hint{display:none}}.launcher,.launcher *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:default}.launcher{--m: clamp(12px, 4vmin, 28px);position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:max(var(--m),env(safe-area-inset-top,0px)) max(var(--m),env(safe-area-inset-right,0px)) max(var(--m),env(safe-area-inset-bottom,0px)) max(var(--m),env(safe-area-inset-left,0px));overflow:auto;background:#ecece7;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.launcher.closing{opacity:0;transition:opacity var(--fade-out) ease-in;pointer-events:none}.launcher.still,.launcher.still.closing{transition:none}.launcher-card{position:relative;width:min(640px,100%,calc((100vh - 2 * var(--m)) * 640 / 408));width:min(640px,100%,calc((100dvh - 2 * var(--m)) * 640 / 408));aspect-ratio:640 / 408;container-type:inline-size;--u: .15625cqw ;--su: var(--u);overflow:hidden;border-radius:calc(18 * var(--u));background:linear-gradient(152deg,#ffffff1a,#fff0 24%,#11000300 74%,#11000338),radial-gradient(circle at 106% 90%,#49060c9e,#49060c00 66%),radial-gradient(circle at 10% 5%,#e05443c7,#c1302b80 27%,#8e161b33 56%,#8e161b00 78%),linear-gradient(147deg,#b92f2b,#8e171d 42%,#681016 72%,#44080c);box-shadow:0 9px 18px #00000047,inset 0 0 0 1px #ffebe52b;color:#fff8f5;opacity:0;transition:opacity .24s ease-out}.launcher.ready .launcher-card{opacity:1}.launcher-content{position:absolute;inset:0;opacity:0}.launcher.ready .launcher-content{opacity:1;transition:opacity .22s ease-out var(--lead)}.launcher-rings{position:absolute;inset:0;background:repeating-radial-gradient(ellipse 132% 100% at 100% 110%,#ffdfd400 0 calc(40 * var(--u)),#ffdfd40d calc(40.5 * var(--u)),#ffdfd400 calc(41.5 * var(--u)));pointer-events:none}.lt{position:absolute;line-height:1;white-space:nowrap}.lt.detail,.lt.legal{overflow:hidden;text-overflow:ellipsis}.lt.legal{white-space:normal;line-height:1.38}.lt.legal p{margin:0 0 calc(5 * var(--u))}.lt.strong{font-weight:700}.lt.muted{color:#fff8f5a8}.lt.subtle{color:#fff8f570}.lt.bright{color:#fff8f5d6}.lt.accent{color:#ffd36a}.lt.caps{letter-spacing:.12em}.lt.end{text-align:right}.launcher-rule{position:absolute;left:calc(36 * var(--u));right:calc(36 * var(--u));height:1px;background:linear-gradient(90deg,#fff6f100,#fff6f133 8%,#fff6f124 78%,#fff6f100)}.launcher-btn{position:absolute;bottom:calc(22 * var(--u));height:calc(32 * var(--u));border-radius:calc(9 * var(--u));border:1px solid rgba(255,248,245,.26);background:#fff8f50d;color:#fff8f5;font:inherit;font-size:calc(11.5 * var(--u));padding:0;transition:background-color .12s,border-color .12s}.launcher-btn:hover{background:#fff8f529;border-color:#fff8f58c}.launcher-btn.primary{background:linear-gradient(#fffdfb,#f2e7e3);border-color:#ffffff73;color:#6f1217;font-weight:700;box-shadow:0 calc(3 * var(--u)) 0 #1a000333}.launcher-btn.primary:hover{background:linear-gradient(#fffdfb,#fff)}.launcher-btn:focus-visible{outline:2px solid #ffd36a;outline-offset:1px}.launcher-symbol{position:absolute;left:calc(37 * var(--su));top:calc(34 * var(--su));height:calc(64 * var(--su));width:auto;aspect-ratio:auto;overflow:visible}.launcher-name{position:absolute;line-height:1;white-space:nowrap;color:#fff8f5}.launcher-name .w-evac{font-family:var(--ui-font);font-weight:900}.launcher-name .w-plan{font-family:var(--ui-font);font-weight:400}.launcher-name{clip-path:inset(-20% 100% -20% 0);animation:sig-wipe .62s cubic-bezier(.16,1,.3,1) calc(.3s + var(--lead)) both}@keyframes sig-wipe{to{clip-path:inset(-20% -2% -20% 0)}}.sig-outline{stroke-dasharray:1 2;stroke-dashoffset:1;opacity:0;animation:sig-draw .65s cubic-bezier(.42,0,.58,1) calc(var(--d) + var(--lead)) both,sig-outline 1s linear calc(var(--d) + var(--lead)) both}.sig-fill{opacity:0;animation:sig-appear .55s cubic-bezier(.16,1,.3,1) calc(var(--d) + var(--lead)) both}.launcher-card.settled .sig-outline{display:none}.launcher-card.settled .sig-fill{animation:none;opacity:1}.launcher-card.settled .launcher-name{animation:none;clip-path:none}@keyframes sig-draw{to{stroke-dashoffset:0}}@keyframes sig-outline{0%{opacity:0}8%{opacity:1}75%{opacity:1}to{opacity:0}}@keyframes sig-appear{0%{opacity:0}to{opacity:1}}.launcher-spinner,.launcher-mark{position:absolute;left:calc(37 * var(--u));top:calc(191.5 * var(--u));width:calc(16 * var(--u));height:calc(16 * var(--u));box-sizing:border-box;border-radius:50%}.launcher-spinner{border:calc(2 * var(--u)) solid rgba(255,248,245,.22);border-top-color:#fff8f5;will-change:transform;animation:launcher-spin .9s linear infinite}.launcher-mark.done{background:radial-gradient(circle,#ffd36a 0 calc(4.2 * var(--u)),rgba(255,211,106,.2) calc(4.6 * var(--u)) calc(8 * var(--u)),transparent calc(8.3 * var(--u)))}.launcher-mark.warn{background:#ffd36a}.launcher-mark.warn:after{content:"!";position:absolute;inset:0;display:grid;place-items:center;color:#5a0d10;font-weight:800;font-size:calc(12 * var(--u));line-height:1}@keyframes launcher-spin{to{transform:rotate(360deg)}}.launcher-steps{position:absolute;left:calc(37 * var(--u));top:calc(166 * var(--u));width:calc(566 * var(--u));display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,calc(14.5 * var(--u)));grid-auto-flow:column;column-gap:calc(24 * var(--u));font-size:calc(10.5 * var(--u));line-height:calc(14.5 * var(--u))}.launcher-step{display:flex;align-items:center;gap:calc(8 * var(--u));white-space:nowrap;color:#fff8f566;transition:color .16s ease-out}.launcher-step.done{color:#fff8f5d6}.launcher-step.current{color:#fff8f5;font-weight:700}.launcher-step.failed{color:#ffd36a}.launcher-step-mark{flex:none;width:calc(8 * var(--u));height:calc(8 * var(--u));box-sizing:border-box;border-radius:50%;border:1px solid rgba(255,248,245,.35)}.launcher-step.done .launcher-step-mark{border:0;background:#ffd36a}.launcher-step.current .launcher-step-mark{border:0;background:#fff8f5;will-change:opacity;animation:launcher-pulse .9s ease-in-out infinite alternate}.launcher-step.failed .launcher-step-mark{border:0;background:#ffd36a;border-radius:2px}@keyframes launcher-pulse{0%{opacity:1}to{opacity:.25}}.launcher-track{position:absolute;left:calc(36 * var(--u));top:calc(266 * var(--u));width:calc(512 * var(--u));height:calc(7 * var(--u));border-radius:calc(3.5 * var(--u));background:#2b040861;box-shadow:inset 0 0 0 1px #fff1cb24;overflow:hidden}.launcher-fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#f7bd43,#ffd86e 52%,#ffe49b);box-shadow:inset 0 1px #fff6;transform-origin:left center;will-change:transform;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.launcher-shine{position:absolute;inset:0}.launcher-glint{position:absolute;top:0;bottom:0;left:calc(-70 * var(--u));width:calc(70 * var(--u));background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);will-change:transform;animation:launcher-glint 1.1s linear infinite}@keyframes launcher-glint{to{transform:translate(calc(582 * var(--u)))}}.launcher.still .launcher-card,.launcher.still .launcher-card *{animation:none!important;transition:none!important}.launcher.still .sig-outline{display:none}.launcher.still .sig-fill{opacity:1}.launcher.still .launcher-name{clip-path:none}.perf-box{position:fixed;right:8px;bottom:60px;z-index:90;padding:6px 8px;border-radius:6px;background:#141414c7;color:#fff;font:11px/1.4 ui-monospace,monospace;white-space:pre;pointer-events:none}.prop-position{display:flex;justify-content:flex-end;margin:-4px 0 6px}.prop-anchor{display:grid;grid-template-columns:repeat(3,12px);gap:3px;padding:3px;border:1px solid var(--line);border-radius:4px}.prop-anchor button{width:12px;height:12px;padding:0;border:1px solid var(--text-muted);border-radius:2px;background:var(--surface);cursor:pointer}.prop-anchor button.on{border-color:var(--brand, #a52019);background:var(--brand, #a52019)}.launcher.portrait{--cw: min(calc(100vw - 2 * var(--m)), 500px);grid-template-rows:minmax(0,1fr)}.launcher.portrait .launcher-card{width:var(--cw);height:100%;min-height:calc(var(--cw) * 530 / 360);align-self:stretch;aspect-ratio:auto;--u: calc(100cqw / 360);--su: calc(var(--u) * .78);--shift: max(0px, calc((100% - 525 * var(--u)) / 2))}.launcher.portrait .launcher-rule{left:calc(28 * var(--u));right:calc(28 * var(--u))}.launcher.portrait .launcher-steps{left:calc(28 * var(--u));top:calc(140 * var(--u) + var(--shift));width:calc(304 * var(--u));grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:calc(16 * var(--u));grid-auto-flow:row;font-size:calc(11 * var(--u));line-height:calc(16 * var(--u))}.launcher.portrait .launcher-track{left:calc(28 * var(--u));top:calc(330 * var(--u) + var(--shift));width:calc(252 * var(--u))}.launcher.portrait .lt.detail{white-space:normal;line-height:1.3}.app.is-page-full .ribbon,.app.is-page-full .rail,.app.is-page-full .dock,.app.is-page-full .pages-bar,.app.is-page-full .status,.app.is-page-full .float-bar,.app.is-page-full .ruler-h,.app.is-page-full .ruler-v{display:none}.full-exit{position:fixed;top:12px;right:14px;z-index:60;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#141414b8;color:#fff;font-family:var(--ui-font);font-size:12px;cursor:pointer;transition:opacity .4s}.full-exit.asleep{opacity:0}.full-exit kbd{font:inherit;color:#ffffffb3}.rail-btn,.side-panel button,.side-cell,.side-row,.side-select,.side-check,.side-panel input[type=checkbox],.side-panel input[type=range]{cursor:pointer}.side-panel button:disabled{cursor:default}
