:root{--accent:#a52019;--on-accent:#fff;--accent-hover:#ffffff1f;--accent-active:#ffffff38;--surface:#ecece7;--surface-raised:#f5f5f1;--line:#4a140f1f;--line-strong:#4a140f38;--text:#2b211e;--text-muted:#6a5852;--text-disabled:#b3a9a4;--hover:#e2e1d8;--pressed:#d6d4c9;--checked:#a5201924;--checked-line:#a520198c;--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 #4a140f33;--window-border:0 solid transparent;--window-backdrop:#2b211e2e;--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:30px;--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 #4a140f38;--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{overscroll-behavior:none;position:fixed;inset:0}html,body,#root{height:100%;font-family:var(--ui-font);color:var(--text);background:var(--surface);margin:0;font-size:12px;overflow:hidden}.app{flex-direction:column;height:100%;display:flex}.boot{height:100%;color:var(--text-muted);text-align:center;place-items:center;padding:0 16px;font-size:14px;display:grid}.ribbon{background:var(--surface);-webkit-user-select:none;user-select:none;font-family:var(--ui-font);color:var(--text);flex:none;font-size:12px}.rb-band{background:var(--accent);height:30px;color:var(--on-accent);align-items:stretch;padding:0 4px;display:flex}.rb-quick,.rb-right{align-items:center;display:flex}.rb-right{margin-left:auto}.rb-band-btn{width:28px;height:28px;color:var(--on-accent);font:inherit;cursor:default;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;margin-top:1px;padding:0;display:inline-flex;position:relative}.rb-band-btn:before{content:"";height:4px;position:absolute;bottom:100%;left:0;right:0}.rb-band-btn:hover:not(:disabled){background:var(--accent-hover)}.rb-band-btn:active:not(:disabled){background:var(--accent-active)}.rb-zoom-value{font-variant-numeric:tabular-nums;width:52px}.rb-collapse{margin-left:8px}.rb-logo{--logo-h:18px;height:var(--logo-h);-webkit-user-select:none;user-select:none;flex:none;align-self:center;align-items:flex-start;margin:0 10px 0 6px;display:flex}.rb-logo img{height:var(--logo-h);width:auto;display:block}.rb-logo-name{margin-left:calc(var(--logo-h) * 23.333 / 80);font-family:var(--ui-font);font-size:var(--logo-h);white-space:nowrap;color:#fff8f5;line-height:1}.rb-logo-name .w-evac{font-weight:900}.rb-logo-name .w-plan{font-weight:400}@media (max-width:760px),(max-height:520px){.rb-logo{--logo-h:16px;margin:0 8px 0 4px}}.rb-band-sep{background:#fff6;align-self:center;width:1px;height:14px;margin:0 4px 0 8px}.rb-tabs{align-items:stretch;padding-top:2px;display:flex;overflow:hidden}.rb-tab{color:var(--on-accent);font:inherit;white-space:nowrap;cursor:default;background:0 0;border:0;border-radius:3px 3px 0 0;padding:0 12px;position:relative}.rb-tab:before{content:"";height:4px;position:absolute;bottom:100%;left:0;right:0}.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:"";background:var(--on-accent);height:2px;position:absolute;bottom:1px;left:8px;right:8px}.rb-body{border-bottom:1px solid var(--line-strong);scrollbar-width:thin;height:96px;padding-left:4px;display:flex;overflow:auto hidden}.rb-pane{flex:none;display:flex}.rb-body[hidden],.rb-pane[hidden]{display:none}.rb-group{flex-direction:column;flex:none;align-items:center;margin-right:4px;padding:3px 4px 0;display:flex;position:relative}.rb-group.rb-fixed{margin-right:8px;padding-right:8px}.rb-active-tool{flex-direction:column;justify-content:center;align-items:stretch;gap:4px;min-width:92px;padding:0 4px;display:flex}.rb-active-name{color:var(--brand,#a52019);text-align:center;white-space:nowrap;font-size:11px;font-weight:700}.rb-finish{border:1px solid var(--brand,#a52019);background:var(--brand,#a52019);color:#fff;height:26px;font:inherit;cursor:pointer;border-radius:5px;font-size:11.5px;font-weight:700}.rb-finish:hover{filter:brightness(1.08)}.rb-group.off .rb-caption{opacity:.5}.rb-group:after{content:"";background:var(--line-strong);width:1px;position:absolute;top:6px;bottom:6px;right:-3px}.rb-columns{gap:2px;height:72px;display:flex}.rb-column{flex-direction:column;align-items:stretch;display:flex}.rb-caption{color:var(--text-muted);white-space:nowrap;margin-top:auto;padding-bottom:3px;font-size:11px;line-height:15px}.rb-btn{color:var(--text);font:inherit;white-space:nowrap;cursor:default;isolation:isolate;background:0 0;border:0;align-items:center;padding:0;display:flex;position:relative}.rb-btn:before{content:"";z-index:-1;border-radius:4px;position:absolute;inset:1px}.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{flex-direction:column;align-items:center;margin-top:6px;line-height:14px;display:flex}.rb-line{align-items:center;display:inline-flex}.rb-small{gap:4px;height:24px;padding:0 8px 0 4px}.rb-icon{justify-content:center;width:30px;height:30px}.rb-icon.menu{justify-content:flex-start;width:41px;padding-left:5px}.rb-chevron{color:currentColor;flex:none}.rb-small .rb-chevron{margin-left:auto}.icon{flex:none;display:inline-block;position:relative}.icon>i,.icon>img{display:block;position:absolute;inset:0}.icon>img{width:100%;height:100%}.icon-svg>svg{width:100%;height:100%;display:block}.rb-pen{align-items:center;gap:6px;height:72px;padding:0 2px;display:flex}.rb-pen.off{opacity:.5}.rb-pen-preview{border:1px solid var(--line-strong);background:#fff;border-radius:4px;flex:none;width:56px;height:64px}.rb-pen-preview.dark{background:#6b7280}.rb-pen-rows{flex-direction:column;justify-content:space-between;height:66px;display:flex}.rb-pen-colors,.rb-pen-presets,.rb-pen-width{align-items:center;gap:4px;height:20px;display:flex}.rb-pen-chip{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--text-muted);text-align:center;border-radius:50%;flex:none;padding:0;font-size:13px;line-height:14px}.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;accent-color:var(--accent);margin:0}.rb-pen-value{border:1px solid var(--line-strong);width:38px;height:18px;color:var(--text);font:inherit;text-align:right;background:#fff;border-radius:3px;padding:0 3px;font-size:11px}.rb-pen-value:focus{border-color:var(--accent);outline:none}.rb-pen-dot{background:0 0;border:0;border-radius:3px;flex:none;place-items:center;width:18px;height:18px;padding:0;display:grid}.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;justify-content:center;align-items:center;width:46px;height:auto;min-height:0}.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{flex:1;min-height:0;display:flex}.plan{touch-action:none;background:#fff;flex:1;min-width:0;position:relative;overflow:clip}.plan canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.plan canvas.plan-page{pointer-events:none}.plan-frame{flex:1;min-width:0;display:flex;position:relative;overflow:clip}.ruler-h,.ruler-v{z-index:4;pointer-events:none;display:block;position:absolute;top:0;left:0}.ruler-h{z-index:5;width:100%}.ruler-v{height:100%}.status{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);white-space:nowrap;flex:none;align-items:center;gap:16px;font-size:11.5px;display:flex}.status-message{color:var(--text);text-overflow:ellipsis;overflow:hidden}.status-right{font-variant-numeric:tabular-nums;align-items:center;gap:16px;min-width:0;margin-left:auto;display:flex}.status-text{text-overflow:ellipsis;overflow:hidden}.status-selection{flex:0 auto;min-width:0}.status-toggles,.status-zoom{flex:none;align-items:center;gap:2px;display:flex}.status-zoom{margin-left:-4px}.status-btn{min-width:22px;height:20px;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0 1px;display:inline-flex}.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{touch-action:none;align-items:center;width:118px;height:22px;padding:0 4px;display:flex}.status-track{background:var(--line-strong);flex:1;height:2px;position:relative}.status-real{background:var(--text-muted);width:1px;height:8px;position:absolute;top:-3px}.status-knob{border:1.5px solid var(--surface-raised);background:var(--accent);box-sizing:border-box;border-radius:50%;width:11px;height:11px;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (max-width:900px){.status-format,.status-toggles{display:none}}@media (max-width:640px){.status-selection,.status-slider{display:none}}.rail{background:var(--accent);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;width:48px;padding-top:6px;display:flex}.rail-section{flex-direction:column;display:flex}.rail-section+.rail-section{margin-top:6px;border-top:1px solid #ffffff29;margin-inline:0;padding-top:6px}.rail-bottom{border-top:1px solid #ffffff24;margin-top:auto;padding-bottom:6px}.rail-btn{cursor:default;background:0 0;border:0;place-items:center;width:48px;height:44px;padding:0;display:grid}.rail-btn:hover{background:var(--accent-hover)}.rail-btn.on{background:var(--surface);border-radius:6px 0 0 6px;width:44px;margin-left:4px}.rail-btn.on .icon>i{background:var(--accent)!important}.side-panel{border-right:1px solid var(--line-strong);background:var(--surface);flex-direction:column;flex:none;gap:6px;width:216px;min-height:0;padding:6px 6px 0;display:flex}.side-head{align-items:center;gap:6px;height:21px;display:flex}.side-title{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.side-count{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.side-close{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:4px;place-items:center;width:22px;height:22px;margin-left:auto;padding:0;display:grid}.side-search,.side-select,.side-size-value{border:1px solid var(--line-strong);background:var(--surface-raised);height:28px;color:var(--text);font:inherit;border-radius:4px;min-width:0;padding:0 8px}.side-search:focus,.side-select:focus,.side-size-value:focus{outline:2px solid var(--focus);outline-offset:-1px}.side-size{color:var(--text-muted);align-items:center;gap:6px;font-size:10px;display:flex}.side-size input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.side-size-value{text-align:center;width:42px;height:24px;padding:0 4px;font-size:11px}.side-grid{scrollbar-width:thin;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:2px;padding-bottom:6px;display:grid;overflow-y:auto}.side-cell{box-sizing:border-box;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:4px;min-width:0;padding:3px}.side-panel.drag-out{opacity:0;pointer-events:none;transition:opacity .12s}.side-cell img{aspect-ratio:1;object-fit:contain;width:100%;min-width:0;height:auto;display:block}.rb-menu{z-index:50;background:var(--surface-raised);border:1px solid var(--line-strong);min-width:200px;max-height:calc(100vh - 140px);font-family:var(--ui-font);border-radius:6px;padding:4px;font-size:12px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #4a140f24}.rb-menu-row{width:100%;height:28px;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:default;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 10px 0 6px;display:flex}.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{text-align:center;width:16px;color:var(--accent)}.rb-swatch{border:1px solid var(--line-strong);border-radius:3px;flex:none;width:16px;height:16px}.rb-menu-sep{background:var(--line-strong);height:1px;margin:4px 6px}.ask-text{white-space:pre-line;max-width:360px;margin:0 0 12px;line-height:1.45}.ask-veil{z-index:var(--layer-modal);box-sizing:border-box;background:var(--window-backdrop);padding:max(var(--window-viewport-gap), env(safe-area-inset-top)) max(var(--window-viewport-gap), env(safe-area-inset-right)) max(var(--window-viewport-gap), env(safe-area-inset-bottom)) max(var(--window-viewport-gap), env(safe-area-inset-left));overscroll-behavior:contain;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0}.ask{box-sizing:border-box;width:min(var(--window-width), 100%);border:var(--window-border);border-radius:var(--window-radius);background:var(--window-bg);min-width:0;max-width:100%;min-height:0;max-height:100%;color:var(--window-fg);box-shadow:var(--window-shadow);flex-direction:column;display:flex;position:relative}.win-body{gap:var(--window-gap);overscroll-behavior:contain;overflow-wrap:break-word;min-width:0;min-height:0;padding:var(--window-gap) var(--window-padding) var(--window-padding);flex-direction:column;flex:auto;display:flex;overflow:auto}.win-body.with-foot{padding-bottom:var(--window-gap)}.win-foot{min-width:0;padding:0 var(--window-padding) var(--window-padding);flex:none}@supports (animation-timeline:scroll()){.win{timeline-scope:--win-scroll}.win-body{scroll-timeline:--win-scroll block}.win-body~.win-foot{animation:linear both win-more-below;animation-timeline:--win-scroll}.win-titlebar{animation:linear both win-more-above;animation-timeline:--win-scroll}}@keyframes win-more-below{0%,99%{box-shadow:0 -1px 0 var(--line)}to{box-shadow:none}}@keyframes win-more-above{0%{box-shadow:none}1%,to{box-shadow:0 1px 0 var(--line)}}.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{justify-content:flex-end;align-items:center;gap:var(--window-actions-gap);flex-wrap:wrap;display:flex}.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{opacity:0;resize:none;pointer-events:none;border:0;width:1px;height:1em;padding:0;font-size:16px;position:absolute;top:0;left:0;overflow:hidden}.win-titlebar{--win-logo-h:18px;align-items:center;column-gap:var(--window-actions-gap);height:var(--window-titlebar-height);border-radius:var(--window-radius) var(--window-radius) 0 0;background:var(--accent);color:var(--on-accent);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);padding:0 10px;display:grid}.win-signature{pointer-events:none;grid-column:1;justify-self:start;align-items:flex-start;min-width:0;display:flex;overflow:hidden}.win-signature img{height:var(--win-logo-h);width:auto;display:block}.win-signature-name{margin-left:calc(var(--win-logo-h) * 23.333 / 80);font-family:var(--ui-font);font-size:var(--win-logo-h);white-space:nowrap;color:#fff8f5;line-height:1}.win-signature-name .w-evac{font-weight:900}.win-signature-name .w-plan{font-weight:400}.win:focus{outline:none}.win-titlebar:active{cursor:grabbing}.win-titlebar:focus-visible{outline:2px solid var(--on-accent);outline-offset:-2px}.win-title{min-width:0;font-size:var(--window-title-size);font-weight:var(--window-title-weight);text-align:center;white-space:nowrap;text-overflow:ellipsis;grid-column:2;overflow:hidden}.win-close{width:var(--window-close-size);height:var(--window-close-size);border-radius:var(--window-control-radius);color:var(--on-accent);cursor:pointer;background:0 0;border:0;flex:none;grid-column:3;justify-self:end;place-items:center;padding:0;display:grid}.win-close:hover{background:var(--accent-hover);color:var(--on-accent)}.win-close:active{background:var(--accent-active)}.win-close:focus-visible{outline:2px solid var(--on-accent);outline-offset:-2px}@media (pointer:coarse){.win-close{position:relative}.win-close:before{content:"";position:absolute;inset:-8px}}@media (max-width:760px),(max-height:520px){:root{--window-viewport-gap:8px;--window-padding:12px}.win-titlebar,.win-titlebar:active{cursor:default}.win-foot .ask-buttons>button{flex:auto;min-width:88px}}@media (pointer:coarse){:root{--window-button-height:36px;--window-input-height:36px;--window-titlebar-height:36px;--window-close-size:32px}.win-titlebar{--win-logo-h:20px}}.calib-bar>.win-titlebar{margin:calc(-1 * var(--window-floating-pad-y)) calc(-1 * var(--window-floating-pad-x)) 0;padding:0 var(--window-floating-pad-x)}.side-list{scrollbar-width:thin;flex:1;margin:0 -6px;overflow-y:auto}.side-row{cursor:default;border-left:3px solid #0000;align-items:center;gap:6px;min-height:30px;padding:4px 14px;display:flex}.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{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-row-name.wrap{white-space:normal}.side-row-state{color:var(--text-muted);white-space:nowrap;font-size:10.5px}.side-row.layer{gap:2px;padding-left:8px}.layer-toggle{background:0 0;border:0;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;display:grid}.layer-toggle:hover{background:var(--hover)}.side-hint{color:var(--text-muted);margin:4px 2px;line-height:1.45}.side-hint.ok{color:#16a34a;font-weight:700}.side-button{border:1px solid var(--accent);height:28px;color:var(--accent);font:inherit;background:0 0;border-radius:5px;margin-bottom:6px;font-weight:700}.side-button:hover{background:var(--checked)}.side-check{color:var(--text);align-items:center;gap:6px;display:flex}.check-dot{background:#f59e0b;border-radius:50%;flex:none;width:8px;height:8px}.check-dot.error{background:#ef4444}.check-fix{border:1px solid var(--line-strong);background:var(--surface-raised);height:22px;color:var(--accent);font:inherit;border-radius:4px;flex:none;padding:0 8px;font-size:11px;font-weight:700}.side-row.check.inert:hover{background:0 0;border-left-color:#0000}.check-fix:disabled,.side-button:disabled{border-color:var(--line-strong);color:var(--text-muted)}.prop-name{margin:4px 2px;font-size:14px;font-weight:700}.prop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.prop-field{color:#4b5563;flex-direction:column;gap:2px;min-width:0;display:flex}.prop-box{background:#fff;border:1px solid #d5d9e0;border-radius:5px;align-items:center;height:28px;display:flex}.prop-box input{width:100%;min-width:0;height:100%;font:inherit;color:#111827;background:0 0;border:0;flex:1;padding:0 6px}.prop-box input:disabled{background:#eef0f3}.prop-box em{color:var(--text-muted);padding-right:6px;font-style:normal}.survey-actions{gap:6px;display:flex}.survey-actions .side-button{flex:1}.survey-group+.survey-group{margin-top:6px}.survey-head{align-items:center;gap:6px;padding:6px 14px 2px;font-weight:700;display:flex}.survey-dot{border-radius:50%;flex:none;width:10px;height:10px}.survey-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.survey-label{font-variant-numeric:tabular-nums;text-align:center;border:1.5px solid;border-radius:9px;flex:none;min-width:42px;padding:1px 5px;font-weight:700}.survey-remove{width:22px;height:22px;color:var(--text-muted);visibility:hidden;background:0 0;border:0;border-radius:4px;flex:none;padding:0;font-size:15px}.survey-row:hover .survey-remove,.survey-remove:focus-visible{visibility:visible}.survey-remove:hover{color:#a52019;background:#a520191f}.survey-qr{border:1px solid var(--line-strong);background:var(--surface-raised);height:20px;color:var(--text-muted);font:inherit;visibility:hidden;border-radius:4px;flex:none;padding:0 5px;font-size:10px;font-weight:700}.survey-row:hover .survey-qr,.survey-qr:focus-visible{visibility:visible}.survey-qr:hover{color:var(--text);border-color:var(--accent)}.survey-sealed{flex:none;place-items:center;width:20px;display:grid}.pages-bar{background:var(--surface);border-top:1px solid var(--line-strong);-webkit-user-select:none;user-select:none;flex:none;align-items:stretch;height:30px;padding:0 8px 0 56px;display:flex;position:relative}.pages-tabs{scrollbar-width:none;flex:0 auto;align-items:flex-start;gap:0;min-width:0;display:flex;overflow-x:auto}.pages-tabs::-webkit-scrollbar{display:none}.page-tab{max-width:220px;height:26px;color:var(--text-muted);font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:default;touch-action:none;background:0 0;border:0;border-radius:0 0 9px 9px;flex:none;margin-right:-6px;padding:0 18px;position:relative;overflow:hidden}.page-tab+.page-tab:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:6px;bottom:6px;left:0}.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:0 0}.page-tab.active{z-index:2;color:var(--text);background:#fff;height:27px;margin-top:-1px;box-shadow:0 1px 3px #4a140f2e}.page-tab.dragging{z-index:3;opacity:.92;transition:none;box-shadow:0 4px 12px #4a140f38}.page-tab-color{background:var(--tab-color);border-radius:2px;height:3px;position:absolute;bottom:2px;left:10px;right:10px}input.page-rename{border:1px solid var(--accent);width:160px;color:var(--text);cursor:text;outline:none;padding:0 10px}.page-add{background:0 0;border:0;border-radius:4px;flex:none;place-items:center;width:24px;height:22px;margin:2px 0 0 10px;padding:0;display:grid}.page-add:hover,.pages-arrow:hover,.pages-goto:hover{background:var(--hover)}.pages-arrow{width:20px;color:var(--text-muted);background:0 0;border:0;border-radius:4px;flex:none;margin:3px 2px;padding:0;font-size:16px;line-height:1}.pages-goto{color:var(--text-muted);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border:0;border-radius:4px;flex:none;margin:3px 0 3px auto;padding:0 8px}.pages-sync{color:var(--text-muted);white-space:nowrap;flex:none;align-items:center;gap:4px;margin-left:8px;display:flex}.pages-list{width:300px;padding:6px;position:absolute;bottom:32px;right:80px}.pages-search{border:1px solid var(--line-strong);width:100%;height:26px;font:inherit;background:#fff;border-radius:4px;margin-bottom:4px;padding:0 8px}.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{text-overflow:ellipsis;flex:1;overflow:hidden}.pages-list-size{color:var(--text-muted);font-size:11px}.rb-menu-row kbd{color:var(--text-muted);font:inherit;margin-left:auto;padding-left:16px}.rb-more{color:var(--text-muted);margin-left:auto}.rb-symbol{width:16px;height:16px;color:var(--text);flex:none}.rb-symbol.wide{width:40px}.rb-symbol svg{width:100%;height:100%;display:block}.ask label{white-space:pre-line;line-height:1.4}.minimap-zone{z-index:3;pointer-events:none;position:absolute}.minimap-zone[hidden]{display:none}.minimap-hit{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer;position:absolute;inset:0}.minimap-close{pointer-events:auto;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.minimap-close span{border:1px solid var(--line-strong);width:20px;height:20px;color:var(--text-muted);background:#fff;border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;box-shadow:0 1px 4px #4a140f29}.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:680px}.code-dialog h2{margin:0;font-size:15px}.code-body{flex-wrap:wrap;gap:16px;display:flex}.code-fields{flex-direction:column;flex:280px;gap:8px;display:flex}.code-fields label{color:var(--text-muted);flex-direction:column;gap:3px;display:flex}.code-fields select,.code-fields input:not([type]),.code-fields input[inputmode],.code-fields textarea{border:1px solid var(--line-strong);height:28px;font:inherit;color:var(--text);background:#fff;border-radius:4px;padding:0 8px}.code-fields textarea{resize:vertical;height:auto;padding:6px 8px}.code-fields fieldset{border:1px solid var(--line);border-radius:5px;padding:6px 8px}.code-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.code-row button{border:1px solid var(--line-strong);background:var(--surface);height:26px;font:inherit;border-radius:4px}.code-side{flex-direction:column;flex:0 260px;gap:6px;display:flex}.code-preview{aspect-ratio:1;border-radius:6px;width:100%;max-width:260px}.code-counter,.code-dims{color:var(--text-muted);margin:0;font-size:11px}.code-advice{white-space:pre-line;margin:0;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:"";background:#fffc;height:1.5px;position:absolute;top:50%;left:7px;right:7px;transform:rotate(-40deg)}.side-cell{transition:transform .3s,opacity .12s;position:relative}.side-cell:after{content:"";z-index:-1;opacity:0;background:#fff;border-radius:6px;transition:opacity .3s;position:absolute;inset:0;box-shadow:0 8px 18px #2b211e38}@media (hover:hover) and (pointer:fine){.side-cell:hover{z-index:1;background:0 0;transition-duration:.22s,.12s;transform:scale(1.1)}.side-cell:hover:after{opacity:1;transition-duration:.22s}.side-cell.lifted{z-index:2;transition-duration:.18s,.12s;transform:scale(1.18)}.side-cell.lifted:after{opacity:1}}@media (hover:none),(pointer:coarse){.side-cell{-webkit-touch-callout:none;transition:none}.side-cell:active{opacity:.7}}.side-cell.held{opacity:.35}.pictogram-ghost{z-index:100;opacity:.8;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 10px #2b211e40);position:fixed;top:0;left:0}.size-sample{z-index:20;width:max(56px, calc(var(--side) + 16px));height:max(56px, calc(var(--side) + 16px));pointer-events:none;background:#fff;border-radius:8px;place-items:center;display:grid;position:absolute;top:120px;left:calc(100% + 10px);box-shadow:0 8px 24px #2b211e2e}.size-sample img{width:var(--side);height:var(--side)}.side-panel{position:relative}.context-root{z-index:70;pointer-events:none;position:fixed;inset:0}.context-menu{background:var(--surface-raised);border:1px solid var(--line-strong);min-width:230px;max-width:360px;font-family:var(--ui-font);color:var(--text);pointer-events:auto;border-radius:6px;outline:none;padding:4px;font-size:12px;position:fixed;box-shadow:0 8px 24px #4a140f29}.context-row{white-space:nowrap;cursor:default;border-radius:4px;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;display:grid;position:relative}.context-row.active:not(.disabled),.context-row[aria-expanded=true]{background:var(--hover)}.context-row.disabled{color:var(--text-disabled)}.context-check{color:var(--accent);place-items:center;font-weight:600;display:grid}.context-label{text-overflow:ellipsis;overflow:hidden}.context-keys{color:var(--text-muted);padding-left:18px}.context-row.disabled .context-keys{color:var(--text-disabled)}.context-sep{background:var(--line-strong);height:1px;margin:4px 8px}.float-bar{z-index:5;background:var(--surface-raised);border:1px solid var(--line-strong);will-change:transform;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;gap:3px;padding:3px;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 14px #4a140f29}.float-row{justify-content:center;align-items:center;gap:2px;display:flex}.float-row.second{justify-content:stretch}.float-btn{width:28px;height:28px;color:var(--text);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid;position:relative}.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{background:var(--line-strong);width:1px;height:20px;margin:0 2px}.float-menu-btn{border:1px solid var(--line);height:28px;color:var(--text);font:inherit;white-space:nowrap;background:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:0 6px;display:flex;overflow:hidden}.float-menu-btn.wide{flex:30%;min-width:80px}.float-menu-btn.wide:first-child{flex:70%}.float-menu-btn span:first-child{text-overflow:ellipsis;overflow:hidden}.float-caret{color:var(--text-muted);font-size:10px}.float-letter{margin-top:-4px;font-size:14px;font-weight:700;line-height:1}.float-bar-color{border-radius:1px;height:4px;position:absolute;bottom:4px;left:6px;right:6px;box-shadow:inset 0 0 0 1px #00000026}.float-bar-color.none{background:linear-gradient(to top right,#0000 calc(50% - 1px),#d52b1e calc(50% - 1px) calc(50% + 1px),#0000 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{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;min-width:0;overflow-x:auto}.rb-tabs::-webkit-scrollbar{display:none}.rb-body{-webkit-overflow-scrolling:touch}.rail{width:38px;padding-top:4px}.rail-btn{width:38px;height:36px}.rail-btn.on{width:35px;margin-left:3px}.rail-btn .icon{transform:scale(.82)}.side-panel{border-bottom:1px solid var(--line-strong);border-bottom-right-radius:8px;flex:0 auto;gap:4px;width:min(100vw - 38px,208px);padding:4px;font-size:12px;box-shadow:6px 4px 22px #4a140f33}.dock-right .side-panel{border-bottom-right-radius:0;border-bottom-left-radius:8px;box-shadow:-6px 4px 22px #4a140f33}.side-head{height:20px}.side-search,.side-select{height:26px;padding:0 6px;font-size:12px}.side-size-value{width:38px;height:22px}.side-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding-bottom:2px}.side-cell{padding:2px}.size-sample{max-width:min(70vw,480px);max-height:min(60vh,480px);top:150px;left:auto;right:10px;overflow:hidden}.pages-bar{padding-left:42px;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))}.rb-body{height:68px}.rb-group{margin-right:2px;padding:2px 3px 0}.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{gap:3px;height:17px;padding:0 5px 0 2px;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{gap:2px;min-width:78px}.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{gap:4px;height:52px}.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{z-index:30;background:var(--surface);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.home-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(600px,100%);padding:28px;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{color:var(--text-muted);margin:4px 0 18px;font-size:12px}.home-resume{background:var(--accent);color:#fff;width:100%;min-height:60px;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:6px;align-items:center;margin-bottom:12px;padding:0 16px;display:flex}.home-resume:hover{background:#8c1b15}.home-resume-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.home-resume-text strong{font-size:13px}.home-resume-text span{color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.home-chevron{font-size:22px;line-height:1}.home-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-button{border:1px solid var(--line-strong);background:var(--surface-raised);height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:5px;font-size:12px}.home-button:hover{border-color:var(--accent);background:var(--hover)}.home-heading{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin:22px 0 6px;font-size:10px;font-weight:700}.home-list{margin:0 -8px;padding:0;list-style:none}.home-none{color:var(--text-muted);padding:12px 8px}.home-row{border:0;border-bottom:1px solid var(--line);width:100%;height:56px;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-touch-callout:none;background:0 0;border-radius:4px;align-items:center;gap:12px;padding:0 10px 0 12px;display:flex}@media (hover:hover) and (pointer:fine){.home-row:hover{background:#f1f0ea}}.home-thumb{flex:none;place-items:center;width:60px;height:42px;display:grid}.home-thumb img{border:1px solid var(--line-strong);background:#fff;max-width:60px;max-height:42px}.home-row.pinned .home-thumb img{border:1.5px solid var(--accent)}.home-page-icon{border:1.2px solid var(--text-muted);border-radius:1px 5px 1px 1px;width:14px;height:18px}.home-row.pinned .home-page-icon{border-color:var(--accent)}.home-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-row-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.home-row.missing strong{color:var(--text-muted)}.home-missing{color:var(--accent);font-size:10.5px}.home-date{color:var(--text-muted);flex:none;font-size:10.5px}.home-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.home-reopen{align-items:center;gap:8px;font-size:12px;display:flex}.home-reopen input{accent-color:var(--accent)}.home-link{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}@media (max-width:760px){.home-card{padding:20px 16px}.home-date{display:none}}.ask-buttons .choice{min-width:72px}.font-picker{z-index:70;border:1px solid var(--line-strong);background:#fff;border-radius:6px;flex-direction:column;width:min(320px,100vw - 16px);height:min(440px,100vh - 16px);display:flex;position:fixed;top:0;left:0;box-shadow:0 10px 28px #4a140f2e}.font-search{border:1px solid var(--line-strong);height:28px;font:inherit;border-radius:4px;margin:8px;padding:0 8px}.font-list{flex:1;min-height:0;padding-bottom:4px;overflow-y:auto}.font-header{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;padding:8px 10px 4px;font-size:10px;font-weight:700}.font-row{width:100%;height:30px;color:var(--text);text-align:left;white-space:nowrap;cursor:default;background:0 0;border:0;align-items:center;padding:0 10px;display:flex;overflow:hidden}.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{align-items:center;gap:10px;font-size:12.5px;display:flex}.font-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.font-more{border:1px solid var(--line-strong);background:var(--surface-raised);height:26px;font:inherit;cursor:pointer;border-radius:4px;padding:0 10px}.font-more:hover{border-color:var(--accent)}.rb-icon-box{flex:none;display:inline-flex;position:relative}.rb-swatch{border:1px solid var(--line-strong);height:4px;position:absolute;bottom:-4px;left:0;right:0}.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{cursor:default;gap:4px}.rb-field-box{border:1px solid var(--line-strong);width:40px;height:20px;color:var(--text);font:inherit;text-align:right;background:#fff;border-radius:3px;padding:0 4px}.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{border-top:1px solid var(--line-strong);background:var(--surface);flex-direction:column;flex:none;gap:4px;padding:8px;display:flex}.replace-bar strong{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.replace-bar span{color:var(--text-muted);font-size:10px}.replace-buttons{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.replace-buttons button{border:1px solid var(--line-strong);background:var(--surface-raised);height:28px;font:inherit;cursor:pointer;border-radius:4px}.side-grid.choosing .side-cell{cursor:pointer}.cell-editor{z-index:6;border:1.5px solid var(--accent);color:#000;font-family:var(--ui-font);resize:none;background:#fff;border-radius:0;outline:none;padding:2px 4px;line-height:1.2;position:absolute}.form-dialog{width:440px}.form-title{font-size:13px}.form-row{grid-template-columns:110px 1fr;align-items:center;gap:8px;display:grid}.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{border:1px solid var(--accent);min-width:0;height:22px;font:inherit;border-radius:3px;flex:1;padding:0 4px}.side-section{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;padding:10px 6px 4px;font-size:10px;font-weight:700}.layer-background select{width:100%;height:26px;font:inherit}.layer-hint{color:var(--text-muted);margin:12px 6px;font-size:10.5px;line-height:1.4}.notes{flex-direction:column;gap:6px;padding:8px 6px;display:flex}.notes-name{font-weight:700}.notes-label{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.notes-note{border:1px solid var(--line-strong);height:120px;font:inherit;resize:vertical;border-radius:0;padding:4px 6px}.notes-link{gap:4px;display:flex}.notes-link input{border:1px solid var(--line-strong);min-width:0;height:26px;font:inherit;flex:1;padding:0 6px}.notes-link a{border:1px solid var(--line-strong);width:26px;color:var(--accent);place-items:center;text-decoration:none;display:grid}.notes-why{color:var(--accent);margin:0;font-size:11px}.notes-help{color:var(--text-muted);margin:4px 0 0;font-size:10.5px;line-height:1.4}.side-empty{color:var(--text-muted);margin:12px 8px}.prop-layer{grid-template-columns:60px 1fr;align-items:center;gap:6px;margin:6px 6px 2px;display:grid}.prop-layer select,.prop-font{border:1px solid var(--line-strong);min-width:0;height:26px;font:inherit;text-align:left;background:#fff;border-radius:4px}.prop-arrange,.prop-buttons{flex-wrap:wrap;gap:4px;margin:6px;display:flex}.prop-btn{border:1px solid var(--line-strong);min-width:28px;height:28px;color:var(--text);font:inherit;background:#fff;border-radius:5px;place-items:center;padding:0 6px;display:grid}.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{border:1px solid var(--line-strong);border-radius:5px;width:24px;height:24px}.prop-swatch.on{outline:2px solid var(--accent);outline-offset:1px}.prop-section{margin:12px 6px 4px;font-weight:700}.prop-note{color:var(--text-muted);white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 6px 6px;display:-webkit-box;overflow:hidden}.settings .side-list{padding:0 6px 12px}.settings-section .side-section{padding:10px 2px 4px}.settings-rows{flex-direction:column;gap:4px;display:flex}.settings-segments{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.settings-row{border:1px solid var(--line);background:var(--surface-raised);min-height:22px;color:var(--text);font:inherit;text-align:left;border-radius:2px;align-items:center;gap:6px;padding:2px 6px;font-size:11px;display:flex}.settings-row>span{flex:1;min-width:0}.settings-row:hover{background:var(--hover)}.settings-row.on{border-color:var(--accent)}.settings-tick{color:var(--accent);flex:none}.settings-row.segment{border-color:var(--line-strong);text-align:center;justify-content:center;padding:2px 3px;font-size:10.5px}.settings-row.segment>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-row.segment.on{border-color:var(--accent);background:var(--accent);color:#fff}.settings-dialog{width:560px}.settings-dialog select{border:1px solid var(--line-strong);height:28px;font:inherit;background:#fff;border-radius:4px}.dialog-table{border:1px solid var(--line-strong);background:#fff;border-radius:4px;flex:auto;min-height:120px;max-height:300px;overflow:auto}.dialog-table-head,.dialog-table-row{align-items:center;gap:8px;padding:3px 8px;display:grid}.dialog-table-head{border-bottom:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:11px;position:sticky;top:0}.dialog-table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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{align-items:center;gap:6px;display:flex}.dialog-tools{flex-wrap:wrap;justify-content:flex-start}.ask-buttons button:disabled{color:var(--text-disabled)}.shortcuts-dialog{width:720px}.shortcuts-filters{gap:8px;display:flex}.shortcuts-filters .form-row{flex:1}.shortcuts-state{min-height:2.9em;color:var(--text-muted);margin:0;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:940px;height:640px}.composer-body{flex:1;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:300px;display:grid}.composer-library{flex-direction:column;gap:6px;min-height:0;display:flex}.composer-tabs{border-bottom:1px solid var(--line-strong);gap:2px;display:flex}.composer-tabs button{height:28px;font:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:4px 4px 0 0;flex:1;padding:0 4px;font-size:11px;overflow:hidden}.composer-tabs button.on{border-color:var(--line-strong);background:#fff;font-weight:700}.composer-list{border:1px solid var(--line-strong);background:#fff;border-radius:4px;flex:1;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));align-content:start;gap:4px;min-height:120px;padding:4px;display:grid;overflow:auto}.composer-item{font:inherit;touch-action:pan-y;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-size:10px;display:flex}.composer-item:hover{background:var(--hover)}.composer-item img{object-fit:contain;pointer-events:none;width:48px;height:48px}.composer-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.composer-draft{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.composer-layout{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.composer-layout label{align-items:center;gap:6px;display:flex}.composer-cells{flex:1;justify-content:center;align-items:center;min-height:120px;display:flex;container-type:size}.composer-cells.column{flex-direction:column}.composer-cell{--side:min(calc(100cqw / var(--count)), 100cqh);width:var(--side);height:var(--side);color:#6e5c55;font:inherit;background:#f7f7f4;border:1px dotted #b8b2ac;flex:none;place-items:center;padding:6px;font-size:11px;display:grid;overflow:hidden}.composer-cells.column .composer-cell{--side:min(100cqw, calc(100cqh / var(--count)))}.composer-cell img{object-fit:contain;pointer-events:none;width:100%;height:100%}.composer-cell.chosen{border:3px solid #b10142}.composer-cell.target{border:3px solid #c47a95}.composer-tools{flex-wrap:wrap;gap:6px;display:flex}.composer-tools button{border:1px solid var(--line-strong);background:var(--surface);height:28px;font:inherit;border-radius:4px;padding:0 10px}.composer-tools button:disabled{color:var(--text-disabled)}.composer-name{grid-template-columns:48px 1fr}.composer-hint{min-height:2.9em;color:var(--text-muted);margin:0;font-size:11px;line-height:1.45}.composer-hint.problem{color:#b91c1c}.composer-buttons .composer-close{margin-right:auto}.composer-ask{align-self:center;margin-right:auto}@media (max-width:720px){.composer-body{flex:none;grid-template-columns:1fr}.composer-list{max-height:30dvh}.composer-cells{min-height:160px}}.app-body{overflow:hidden}.rail{z-index:25;position:relative}.dock{z-index:4;flex:none;min-height:0;display:flex;position:relative}.dock-right .side-panel{border-right:0;border-left:1px solid var(--line-strong)}.dock.slide-out{z-index:21;position:absolute;top:0;bottom:0}.dock-right.slide-out{right:0}.dock.slide-in,.dock.slide-out{will-change:transform}.dock-left.slide-in{animation:.18s cubic-bezier(.2,0,0,1) dock-in-left}.dock-left.slide-out{animation:.18s cubic-bezier(.4,0,1,1) forwards dock-out-left}.dock-right.slide-in{animation:.18s cubic-bezier(.2,0,0,1) dock-in-right}.dock-right.slide-out{animation:.18s cubic-bezier(.4,0,1,1) forwards dock-out-right}@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{z-index:20;flex-direction:column;max-height:100%;position:absolute;top:0;bottom:auto;left:38px}.dock-right,.dock-right.slide-out{right:0;left:auto!important}}@media (prefers-reduced-motion:reduce){.dock.slide-in,.dock.slide-out{animation:none}}.calib-bar{z-index:var(--layer-floating);width:min(530px,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);flex-direction:column;gap:8px;display:flex;position:fixed;top:0;left:0}.calib-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calib-row>span{min-width:0}.calib-pick{border:1px solid var(--line-strong);background:var(--surface);width:40px;height:24px;font:inherit;border-radius:4px;font-weight:700}.calib-pick.on{color:#fff;background:#d52b1e;border-color:#d52b1e}.calib-distance{border:1px solid var(--line-strong);width:120px;height:26px;font:inherit;background:#fff;border-radius:4px;padding:0 6px}.calib-row select{border:1px solid var(--line-strong);height:26px;font:inherit;background:#fff;border-radius:4px}.calib-result{white-space:pre-line;min-height:2.9em;margin:0;line-height:1.4}.calib-result.alarm{color:#b3261e}.calib-buttons{flex-wrap:wrap;gap:6px;display:flex}.calib-buttons button{border:1px solid var(--line-strong);background:var(--surface);height:28px;font:inherit;border-radius:4px;padding:0 10px}.calib-buttons button.primary{border-color:var(--accent);background:var(--accent);color:#fff;margin-left:auto}.calib-buttons button:disabled{opacity:.5}.calib-warning{color:#b45309;margin:0;font-size:11px;line-height:1.4}.measure-bar{width:min(560px,100vw - 16px)}.measure-modes{gap:2px;display:inline-flex}.calib-pick.wide{width:auto;padding:0 10px;font-weight:400}.measure-finish{border:1px solid var(--line-strong);background:var(--surface);height:26px;font:inherit;border-radius:4px;margin-left:auto;padding:0 10px}.calib-buttons .measure-close{margin-left:auto}.form-row select{border:1px solid var(--line-strong);min-width:0;height:30px;font:inherit;background:#fff;border-radius:4px}.map-dialog{width:780px;height:720px}.map-search{position:relative}.map-search input{box-sizing:border-box;width:100%}.map-hits{z-index:5;border:1px solid var(--line-strong);background:#fff;border-radius:4px;flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #4a140f2e}.map-hits button{font:inherit;text-align:left;background:0 0;border:0;padding:6px 8px}.map-hits button:hover,.map-hits button:focus{background:var(--hover);outline:none}.map-message{min-height:1.3em;color:var(--text-muted);margin:-4px 0 0;font-size:11px}.map-message.error{color:#b3261e}.map-centre{min-height:1.3em;color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;margin:-6px 0 0;font-size:11px}.map-area{flex:1;min-height:160px;position:relative}.map-canvas{border:1px solid var(--line-strong);box-sizing:border-box;cursor:grab;touch-action:none;outline:none;position:absolute}.map-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.map-zoom{left:calc(var(--map-x,0px) + 8px);top:calc(var(--map-y,0px) + 8px);flex-direction:column;gap:2px;display:flex;position:absolute}.map-zoom button{border:1px solid var(--line-strong);width:26px;height:26px;font:inherit;background:#fff;border-radius:4px;font-size:16px;line-height:1}.map-choices{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.map-choices>span{min-width:70px;color:var(--text-muted)}.map-choices label{align-items:center;gap:4px;display:inline-flex}.map-buttons{align-items:center}.map-hint{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.map-failure{z-index:6;border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:8px;width:min(360px,90%);padding:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 40px #4a140f40}.map-failure p{white-space:pre-line;margin:0 0 10px}@media (max-width:520px){.map-hint{display:none}}.pdfp-dialog{width:1120px;height:780px}.pdfp-files{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pdfp-chip{border:1px solid var(--line-strong);background:#fff;border-radius:14px;align-items:stretch;max-width:260px;display:inline-flex;overflow:hidden}.pdfp-chip.on{border-color:var(--checked-line);background:var(--checked)}.pdfp-chip.bad{border-color:#b3261e}.pdfp-chip button{font:inherit;background:0 0;border:0}.pdfp-chip-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex-direction:column;min-width:0;padding:2px 4px 2px 10px;display:flex;overflow:hidden}.pdfp-chip-name small{color:var(--text-muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.pdfp-chip.bad small{color:#b3261e}.pdfp-chip-x{color:var(--text-muted);padding:0 8px;font-size:15px!important}.pdfp-add{border:1px dashed var(--line-strong);width:28px;height:28px;font:inherit;background:0 0;border-radius:50%;padding:0;font-size:18px;line-height:1}.pdfp-tools,.pdfp-target,.pdfp-mode,.pdfp-bar{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;display:flex}.pdfp-tools label,.pdfp-target label,.pdfp-mode label,.pdfp-filter label,.pdfp-same,.pdfp-grid-toggle{align-items:center;gap:4px;display:inline-flex}.pdfp-range input{width:120px}.pdfp-range.bad input{border-color:#b3261e;outline-color:#b3261e}.pdfp-filter{height:26px;font:inherit}.pdfp-count{margin-left:auto;font-weight:700}.pdfp-main{flex:1;grid-template-columns:128px minmax(0,1fr);gap:12px;min-height:400px;display:grid}.pdfp-picker{contain:size;border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.pdfp-step{background:var(--surface-raised);height:24px;color:var(--text-muted);font:inherit;cursor:pointer;border:0;flex:none;font-size:10px}.pdfp-step:first-child{border-bottom:1px solid var(--line)}.pdfp-step:last-child{border-top:1px solid var(--line)}.pdfp-step:hover:not(:disabled){background:var(--hover);color:var(--text)}.pdfp-grid{overscroll-behavior:contain;outline:none;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:6px;min-height:0;padding:6px;display:grid;overflow-y:auto}.pdfp-grid:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.pdfp-cell{font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:3px;padding:4px;font-size:11px;display:flex}.pdfp-cell:hover{background:var(--hover)}.pdfp-cell.on{border-color:var(--accent);background:var(--checked)}.pdfp-cell.focus{outline:2px solid var(--focus);outline-offset:1px}.pdfp-thumb{background:#fff;justify-content:center;align-items:center;width:100%;max-height:140px;display:flex;overflow:hidden;box-shadow:0 1px 3px #2b211e40}.pdfp-thumb img{object-fit:contain;width:100%;height:100%}.pdfp-thumb em{color:var(--text-muted);text-align:center;padding:4px;font-size:10px}.pdfp-num{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.pdfp-check{border:1px solid var(--line-strong);color:#fff;background:#fff;border-radius:3px;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;line-height:1;display:inline-flex}.pdfp-cell.on .pdfp-check{border-color:var(--accent);background:var(--accent)}.pdfp-mark{color:var(--accent)}.pdfp-side{flex-direction:column;gap:6px;min-width:0;min-height:0;display:flex}.pdfp-area{border:1px solid var(--line-strong);border-radius:4px;flex:1;min-height:200px;position:relative;overflow:hidden}.pdfp-area canvas{touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.pdfp-area canvas.pan{cursor:grab}.pdfp-area canvas.pan:active{cursor:grabbing}.pdfp-area canvas.straighten{cursor:crosshair}.pdfp-area canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.pdfp-bar button{border:1px solid var(--line-strong);min-width:28px;height:26px;font:inherit;background:#fff;border-radius:4px;padding:0 8px}.pdfp-bar button.armed{border-color:var(--accent);background:var(--checked);font-weight:700}.pdfp-sep{background:var(--line-strong);width:1px;height:18px}.pdfp-rotate{flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.pdfp-rotate-part{align-items:center;gap:6px;min-width:0;display:inline-flex}.pdfp-rotate-label{color:var(--text-muted)}.pdfp-quarters{border:1px solid var(--line-strong);border-radius:4px;display:inline-flex;overflow:hidden}.pdfp-quarters button{white-space:nowrap;border:0;border-left:1px solid var(--line);min-width:40px;height:26px;font:inherit;font-variant-numeric:tabular-nums;background:#fff;padding:0 6px}.pdfp-quarters button:first-child{border-left:0}.pdfp-quarters button.on{background:var(--accent);color:var(--on-accent);font-weight:700}.pdfp-fine button,.pdfp-straighten{white-space:nowrap;border:1px solid var(--line-strong);min-width:26px;height:26px;font:inherit;background:#fff;border-radius:4px;padding:0 7px}.pdfp-straighten.armed{border-color:var(--accent);background:var(--checked);font-weight:700}.pdfp-fine input[type=range]{width:160px;accent-color:var(--accent)}.pdfp-angle{align-items:center;gap:2px;display:inline-flex}.pdfp-angle input{text-align:right;width:48px}.pdfp-zoom{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}.pdfp-hint{min-height:1.3em;color:var(--text-muted);margin:0;font-size:11px}.pdfp-ask{border:1px solid var(--checked-line);background:var(--checked);border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.pdfp-ask span{flex:1}.pdfp-buttons{align-items:center}.pdfp-progress{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}@media (max-width:760px),(max-height:520px){.pdfp-main{grid-template-columns:84px minmax(0,1fr);gap:8px;min-height:300px}.pdfp-area{min-height:180px}.pdfp-grid{gap:4px;padding:4px}.pdfp-cell{padding:2px;font-size:10px}.pdfp-hint,.pdfp-progress:empty{display:none}.pdfp-rotate{gap:6px 10px}.pdfp-fine{flex:100%}.pdfp-fine input[type=range]{flex:1;width:auto;min-width:80px}.pdfp-count{margin-left:0}.pdfp-main{flex:1 0 auto;grid-template:"picker mode""picker area"minmax(220px,1fr)"rotate rotate""bar bar""same same""ask ask"/84px minmax(0,1fr);gap:8px;min-height:0}.pdfp-side{display:contents}.pdfp-picker{grid-area:picker}.pdfp-mode{grid-area:mode}.pdfp-area{grid-area:area;min-height:220px}.pdfp-rotate{grid-area:rotate}.pdfp-bar{grid-area:bar}.pdfp-same{grid-area:same}.pdfp-side>.pdfp-ask{grid-area:ask}.pdfp-fine{flex-wrap:wrap}.pdfp-fine input[type=range]{flex:100%;order:10;width:auto;margin:2px 0 0}}@media (pointer:coarse){.pdfp-check{width:20px;height:20px;font-size:13px}.pdfp-step{height:32px;font-size:12px}.pdfp-quarters button,.pdfp-fine button,.pdfp-straighten{height:34px}}.route-dialog{width:760px}.route-preview{border:1px solid var(--line-strong);background:#fff;border-radius:4px;height:120px;margin:0;padding:8px}.route-preview svg{width:100%;height:100%}.route-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;display:grid}.route-group{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:8px;min-width:0;padding:8px 12px 12px;display:flex}.route-group legend{padding:0 4px;font-weight:700}.route-label{color:var(--text-muted)}.route-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label""range num";align-items:center;gap:4px 8px;display:grid}.route-row .route-label{grid-area:label}.route-row input[type=range]{grid-area:range;width:100%}.route-num{text-align:right;font-variant-numeric:tabular-nums;grid-area:num;width:64px}.route-spacing{flex-wrap:wrap;gap:6px 16px;display:flex}.route-check{align-items:center;gap:6px;display:inline-flex}.ask .route-check input:not([type]),.ask .route-check input[inputmode]{width:64px}.route-swatches,.route-inks{flex-wrap:wrap;gap:6px;display:flex}.route-swatch{border:1px solid var(--line-strong);cursor:pointer;border-radius:50%;width:28px;height:28px;position:relative;overflow:hidden}.route-swatch.on{outline:2px solid var(--focus);outline-offset:2px}.route-custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.route-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.route-shapes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.route-shape,.route-ink{border:1px solid var(--line-strong);min-height:34px;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;display:flex}.route-shape.on,.route-ink.on{border-color:var(--accent);background:var(--checked);font-weight:700}.route-shape:disabled,.route-ink:disabled{opacity:.45;cursor:default}.route-shape-icon{flex:none;width:56px;height:16px}.route-shape-icon svg{width:100%;height:100%}.route-ink-dot{border:1px solid var(--line-strong);background:linear-gradient(135deg,#fff 50%,#000 50%);border-radius:50%;flex:none;width:14px;height:14px}.route-buttons .route-standard{margin-right:auto}.route-problem{color:#b3261e;flex:120px;min-width:0}.route-problem:empty{display:none}@media (max-width:760px){.route-columns{grid-template-columns:minmax(0,1fr)}.route-preview{height:96px}}.layouts-dialog{width:min(720px,100vw - 32px)}.layouts-intro,.layouts-current{color:var(--text-muted);margin:0 0 10px;line-height:1.45}.layouts-current{color:var(--text);font-weight:600}.layouts-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:min(56vh,520px);padding:2px;display:grid;overflow:auto}.layouts-card{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:6px;flex-direction:column;align-items:stretch;gap:4px;padding:8px;display:flex}.layouts-card:hover{background:var(--hover)}.layouts-card.chosen{border-color:var(--checked-line);background:var(--checked);box-shadow:0 0 0 1px var(--checked-line)}.layouts-card:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.layouts-card img{aspect-ratio:420/297;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:3px;width:100%}.layouts-name{font-weight:700}.layouts-format{color:var(--text-muted);font-size:11px}.layouts-desc{color:var(--text-muted);line-height:1.35}.layouts-dialog .ask-buttons .layouts-import{margin-right:auto}.north-dialog .north-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:min(60vh,520px);padding:2px;display:grid;overflow-y:auto}.north-card{border:1px solid var(--line,#d9d9d9);background:var(--surface,#fff);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.north-card:hover{border-color:var(--accent,#0078d4)}.north-card.chosen{border-color:var(--accent,#0078d4);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,#0078d4) 35%, transparent)}.north-card:focus-visible{outline:2px solid var(--accent,#0078d4);outline-offset:2px}.north-card img{object-fit:contain;background:#fff;border-radius:4px;width:72px;height:72px}.north-name{font-size:12px;line-height:1.25}.north-licence{opacity:.65;font-size:11px}.stamps-dialog .north-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.stamp-preview{background:#fff;border-radius:4px;width:168px;height:96px}.task-window{width:440px}.task-steps{flex-direction:column;gap:6px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.task-step{color:var(--text-disabled);grid-template-columns:18px 1fr;align-items:baseline;column-gap:6px;display:grid}.task-step.doing,.task-step.done,.task-step.failed{color:var(--text)}.task-step.doing .task-label{font-weight:700}.task-mark{border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;line-height:1;display:inline-flex}.task-step.done .task-mark{color:#fff;background:#2e7d32;border-color:#2e7d32}.task-step.failed .task-mark{color:#fff;background:#b3261e;border-color:#b3261e}.task-step.doing .task-mark{border-color:#a5201940;border-top-color:var(--accent);animation:.8s linear infinite task-spin}@keyframes task-spin{to{transform:rotate(360deg)}}.task-note{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:2;font-size:11px}.task-bar{background:#a5201924;border-radius:2px;height:4px;margin-top:4px;position:relative;overflow:hidden}.task-bar>span{background:var(--accent);transform-origin:0;border-radius:2px;transition:transform .16s ease-out;position:absolute;inset:0;transform:scaleX(0)}.task-bar.sweep>span{background:linear-gradient(90deg,#a5201900,#a52019,#a5201900);width:40%;animation:1s cubic-bezier(.45,0,.55,1) infinite task-sweep;transform:none}@keyframes task-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.task-window.failed .task-bar>span{background:#b3261e}.task-foot{color:var(--text-muted);gap:8px;margin:0;font-size:11px;display:flex}.task-status{flex:1;min-width:0}.task-status.failed{color:#b3261e;white-space:pre-wrap}.task-status.done{color:#2e7d32}.task-time{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.task-step.doing .task-mark,.task-bar.sweep>span{animation: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);z-index:55;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));-webkit-font-smoothing:antialiased;background:#ecece7;place-items:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:grid;position:fixed;inset:0;overflow:auto}.launcher.closing{opacity:0;transition:opacity var(--fade-out) ease-in;pointer-events:none}.launcher.still,.launcher.still.closing{transition:none}.launcher-card{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;--u:calc(100cqw / 640);--su:var(--u);border-radius:calc(18 * var(--u));color:#fff8f5;opacity:0;background:linear-gradient(152deg,#ffffff1a 0%,#fff0 24%,#11000300 74%,#11000338 100%),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 0%,#8e171d 42%,#681016 72%,#44080c 100%);transition:opacity .24s ease-out;position:relative;overflow:hidden;box-shadow:0 9px 18px #00000047,inset 0 0 0 1px #ffebe52b;container-type:inline-size}.launcher.ready .launcher-card{opacity:1}.launcher-content{opacity:0;position:absolute;inset:0}.launcher.ready .launcher-content{opacity:1;transition:opacity .22s ease-out var(--lead)}.launcher-rings{background:repeating-radial-gradient(ellipse 132% 100% at 100% 110%, #ffdfd400 0, #ffdfd400 calc(40 * var(--u)), #ffdfd40d calc(40.5 * var(--u)), #ffdfd400 calc(41.5 * var(--u)));pointer-events:none;position:absolute;inset:0}.lt{white-space:nowrap;line-height:1;position:absolute}.lt.detail,.lt.legal{text-overflow:ellipsis;overflow:hidden}.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{left:calc(36 * var(--u));right:calc(36 * var(--u));background:linear-gradient(90deg,#fff6f100,#fff6f133 8%,#fff6f124 78%,#fff6f100);height:1px;position:absolute}.launcher-btn{bottom:calc(22 * var(--u));height:calc(32 * var(--u));border-radius:calc(9 * var(--u));color:#fff8f5;font:inherit;font-size:calc(11.5 * var(--u));background:#fff8f50d;border:1px solid #fff8f542;padding:0;transition:background-color .12s,border-color .12s;position:absolute}.launcher-btn:hover{background:#fff8f529;border-color:#fff8f58c}.launcher-btn.primary{color:#6f1217;box-shadow:0 calc(3 * var(--u)) 0 #1a000333;background:linear-gradient(#fffdfb,#f2e7e3);border-color:#ffffff73;font-weight:700}.launcher-btn.primary:hover{background:linear-gradient(#fffdfb,#fff)}.launcher-btn:focus-visible{outline-offset:1px;outline:2px solid #ffd36a}.launcher-symbol{left:calc(37 * var(--su));top:calc(34 * var(--su));height:calc(64 * var(--su));aspect-ratio:auto;width:auto;position:absolute;overflow:visible}.launcher-name{white-space:nowrap;color:#fff8f5;line-height:1;position:absolute}.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:1px;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{opacity:1;animation:none}.launcher-card.settled .launcher-name{clip-path:none;animation: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{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%;position:absolute}.launcher-spinner{border:calc(2 * var(--u)) solid #fff8f538;will-change:transform;border-top-color:#fff8f5;animation:.9s linear infinite launcher-spin}.launcher-mark.done{background:radial-gradient(circle, #ffd36a 0 calc(4.2 * var(--u)), #ffd36a33 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:"!";color:#5a0d10;font-weight:800;font-size:calc(12 * var(--u));place-items:center;line-height:1;display:grid;position:absolute;inset:0}@keyframes launcher-spin{to{transform:rotate(360deg)}}.launcher-steps{left:calc(37 * var(--u));top:calc(166 * var(--u));width:calc(566 * var(--u));grid-template-columns:1fr 1fr;grid-template-rows:repeat(6, calc(14.5 * var(--u)));column-gap:calc(24 * var(--u));font-size:calc(10.5 * var(--u));line-height:calc(14.5 * var(--u));grid-auto-flow:column;display:grid;position:absolute}.launcher-step{align-items:center;gap:calc(8 * var(--u));white-space:nowrap;color:#fff8f566;transition:color .16s ease-out;display:flex}.launcher-step.done{color:#fff8f5d6}.launcher-step.current{color:#fff8f5;font-weight:700}.launcher-step.failed{color:#ffd36a}.launcher-step-mark{width:calc(8 * var(--u));height:calc(8 * var(--u));box-sizing:border-box;border:1px solid #fff8f559;border-radius:50%;flex:none}.launcher-step.done .launcher-step-mark{background:#ffd36a;border:0}.launcher-step.current .launcher-step-mark{will-change:opacity;background:#fff8f5;border:0;animation:.9s ease-in-out infinite alternate launcher-pulse}.launcher-step.failed .launcher-step-mark{background:#ffd36a;border:0;border-radius:2px}@keyframes launcher-pulse{0%{opacity:1}to{opacity:.25}}.launcher-track{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;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #fff1cb24}.launcher-fill{border-radius:inherit;transform-origin:0;will-change:transform;background:linear-gradient(90deg,#f7bd43,#ffd86e 52%,#ffe49b);transition:transform .26s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;box-shadow:inset 0 1px #fff6}.launcher-shine{position:absolute;inset:0}.launcher-glint{top:0;bottom:0;left:calc(-70 * var(--u));width:calc(70 * var(--u));will-change:transform;background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);animation:1.1s linear infinite launcher-glint;position:absolute}@keyframes launcher-glint{to{transform:translateX(calc(582 * var(--u)))}}.launcher.still .launcher-card,.launcher.still .launcher-card *{transition:none!important;animation:none!important}.launcher.still .sig-outline{display:none}.launcher.still .sig-fill{opacity:1}.launcher.still .launcher-name{clip-path:none}.perf-box{z-index:90;color:#fff;white-space:pre;pointer-events:none;background:#141414c7;border-radius:6px;padding:6px 8px;font:11px/1.4 ui-monospace,monospace;position:fixed;bottom:60px;right:8px}.prop-position{justify-content:flex-end;margin:-4px 0 6px;display:flex}.prop-anchor{border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(3,12px);gap:3px;padding:3px;display:grid}.prop-anchor button{border:1px solid var(--text-muted);background:var(--surface);cursor:pointer;border-radius:2px;width:12px;height:12px;padding:0}.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);aspect-ratio:auto;--u:calc(100cqw / 360);--su:calc(var(--u) * .78);--shift:max(0px, calc((100% - 525 * var(--u)) / 2));align-self:stretch}.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-rows:none;grid-template-columns:1fr;grid-auto-rows:calc(16 * var(--u));font-size:calc(11 * var(--u));line-height:calc(16 * var(--u));grid-auto-flow:row}.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{z-index:60;color:#fff;height:32px;font-family:var(--ui-font);cursor:pointer;background:#141414b8;border:1px solid #ffffff40;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;transition:opacity .4s;display:inline-flex;position:fixed;top:12px;right:14px}.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}.rb-menu .rb-swatch{border:1px solid var(--line-strong);border-radius:3px;flex:none;width:16px;height:16px;position:static}.rb-menu .rb-swatch.none{background:linear-gradient(to top right,#0000 calc(50% - 1px),#d52b1e calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),#fff}.minimap-zone.svelte-urn26t canvas.carte:where(.svelte-urn26t){pointer-events:none;background:#fff;display:block;position:absolute;top:0;left:0;box-shadow:0 1px 8px #4a140f29}.fenetre-texte.svelte-1mkq19f{z-index:90;box-sizing:border-box;border:1px solid var(--bord);background:var(--surface);max-height:min(60vh,520px);color:var(--texte);box-shadow:var(--ombre);border-radius:12px;flex-direction:column;display:flex;position:fixed}.barre.svelte-1mkq19f{border:0;border-bottom:1px solid var(--bord);flex:none;padding:4px 6px}.barre.svelte-1mkq19f .ql-picker-options{z-index:2;max-height:240px;overflow-y:auto}.barre.svelte-1mkq19f .ql-picker.ql-font{width:130px}.barre.svelte-1mkq19f .ql-picker.ql-size{width:70px}.barre.svelte-1mkq19f .ql-formats{margin-right:8px}.zone.svelte-1mkq19f{border:0;flex:1;min-height:90px;overflow-y:auto}.zone.svelte-1mkq19f .ql-editor{min-height:90px;font-family:var(--police);font-size:var(--taille);color:var(--couleur)}footer.svelte-1mkq19f{border-top:1px solid var(--bord);color:var(--doux);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}footer.svelte-1mkq19f label:where(.svelte-1mkq19f){align-items:center;gap:6px;display:flex}footer.svelte-1mkq19f input:where(.svelte-1mkq19f){border:1px solid var(--bord);background:var(--fond);width:72px;height:28px;color:var(--texte);border-radius:6px;padding:0 6px}.valider.svelte-1mkq19f{background:var(--accent);color:#fff;border:0;border-radius:8px;height:30px;padding:0 14px;font-weight:600}.feuille.svelte-1mkq19f{border-width:1px 0 0;border-radius:14px 14px 0 0;box-shadow:0 -6px 24px #141e3224}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f){padding:4px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) .ql-formats{margin-right:2px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) button{width:36px;height:34px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) .ql-picker{height:34px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) .ql-picker.ql-font{width:116px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) .ql-picker.ql-size{width:66px}.feuille.svelte-1mkq19f .barre:where(.svelte-1mkq19f) .ql-picker-options{max-height:168px}.feuille.svelte-1mkq19f .zone:where(.svelte-1mkq19f),.feuille.svelte-1mkq19f .zone:where(.svelte-1mkq19f) .ql-editor{min-height:64px}.feuille.svelte-1mkq19f footer:where(.svelte-1mkq19f){padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))}.feuille.svelte-1mkq19f footer:where(.svelte-1mkq19f) input:where(.svelte-1mkq19f){height:34px;font-size:16px}.feuille.svelte-1mkq19f .valider:where(.svelte-1mkq19f){height:38px;padding:0 18px;font-size:15px}:root{--espace:#fff;--damier:#e4e4e4}.plan.svelte-fq8vi4{min-height:0}.zone-saisie.svelte-fq8vi4{opacity:0;resize:none;pointer-events:none;caret-color:#0000;color:#0000;white-space:pre;background:0 0;border:0;width:2px;height:20px;margin:0;padding:0;font-size:16px;position:absolute;top:0;left:0;overflow:hidden}.plan.svelte-fq8vi4>canvas.plan-aids:where(.svelte-fq8vi4){touch-action:none}.fond-presentation.svelte-1c2mlyy{pointer-events:none;position:absolute;box-shadow:0 0 0 100000px #2b2b2e}img.svelte-1n2jq88,picture.svelte-1n2jq88{display:block}.icone.svelte-5327c0{flex:none;display:inline-block;position:relative}.icone.svelte-5327c0>i:where(.svelte-5327c0),.icone.svelte-5327c0>img:where(.svelte-5327c0),.icone.svelte-5327c0>picture,.icone.svelte-5327c0>img{width:100%;height:100%;display:block;position:absolute;inset:0}.icone.svelte-5327c0 picture img{width:100%;height:100%}
