/* bleeds controls, matched to the latest WQR visual system */
:root{--text:#1d1d1f;--muted:#76767d;--line:#e8e8ec;--accent:#000;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:var(--text);background:#f5f5f7;font-size:14px}
body{background:#f5f5f7;color:var(--text)}
button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #8b8b8b;outline-offset:2px}
.top{background:#fff;border-color:var(--line);height:72px;padding:0 30px}.layout{height:calc(100vh - 72px)}
.brand{font-size:22px;font-weight:650;letter-spacing:-1px;display:flex;align-items:center;gap:8px}.mark{width:32px;height:32px;border-radius:9px;background:#1d1d1f;font-size:21px;margin-right:0}.subbrand{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:8px}
.privacy{color:var(--muted);font-size:10px;letter-spacing:.6px}
.primary,.secondary,.quiet,.tools button{transition:background .15s,border-color .15s,color .15s;box-shadow:none}
.primary{background:#1d1d1f;border:1px solid #1d1d1f;color:white;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:600}.primary:hover:not(:disabled){background:#39393d}
.secondary,.quiet,.tools button{border:1px solid #e2e2e7;background:#fff;color:#1d1d1f;border-radius:9px;font-size:12px;font-weight:550}.secondary:hover:not(:disabled),.quiet:hover:not(:disabled),.tools button:hover{background:#f4f4f6;border-color:#d1d1d7}.quiet{border:0;background:transparent;color:var(--muted)}
.sidebar{width:352px;background:#fff;border-color:var(--line);padding:26px 25px 36px}.sidehead,.sectiontitle{color:#77777f;letter-spacing:.85px;font-size:10px;font-weight:650}.sectiontitle{color:#38383d;margin-bottom:17px}.sidehead{margin-bottom:18px}#stateBadge{background:#f1f1f4;color:#73737a;border-radius:7px;padding:6px 9px}
.upload{background:#fafafa;border:1px dashed #c9c9d1;border-radius:12px;padding:23px 9px;gap:8px}.upload.drag{border-color:#1d1d1f;background:#f0f2f6}.upload strong{font-size:13px;font-weight:550}.upload small,.upload span,.filename{color:var(--muted)}.uploadicon{font-weight:300;font-size:27px}
section{border-color:var(--line);padding-top:22px;margin-top:23px}label{color:#44444b;font-size:12px;font-weight:550;margin-bottom:15px}
input[type=number],select{width:100%;height:39px;border:1px solid #e2e2e7;background:#fafafa;color:var(--text);border-radius:9px;padding:0 12px;margin-top:8px;outline:none;font-size:12px;font-weight:450;box-shadow:none}
input[type=number]:focus,select:focus{background:#fff;border-color:#1d1d1f}
select{appearance:none;-webkit-appearance:none;padding-right:37px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%236b6b73' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px}
.pair{gap:12px}.linkbutton{color:#3e3e43;font-weight:600;font-size:11px;text-decoration:underline;text-underline-offset:3px}.hint{color:var(--muted);font-size:11px;line-height:1.55}
.segmented{background:#f1f1f4;border:0;border-radius:10px;padding:4px;gap:2px}.segmented button{color:var(--muted);font-size:12px;font-weight:550;border-radius:7px;padding:10px 8px}.segmented .selected{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px #00000010}.segmented button:hover:not(.selected){color:#333}
.metric{background:#f5f5f7;border-radius:9px;padding:13px}.metric span{color:var(--muted)}.metric strong{font-weight:600}
.rangeRow{gap:13px}.rangeRow input[type=range]{accent-color:#1d1d1f;cursor:pointer;min-width:0}.rangeRow output{font-size:12px;color:#424248;font-variant-numeric:tabular-nums}
.buttonrow{gap:8px}.buttonrow button{padding:10px 5px}.check{font-size:11px;color:var(--muted);font-weight:500}.check input{accent-color:#1d1d1f}
.workspacebar{background:#fff;border-color:var(--line);height:60px;padding:0 24px}.workspacebar strong{font-weight:600}.workspacebar span{color:var(--muted)}.tools{gap:9px}.tools button{padding:7px 11px}.tools #zoomLabel{font-variant-numeric:tabular-nums;color:#555}
.viewport{background-color:#f5f5f7;background-image:radial-gradient(#d6d6da .8px,transparent .8px)}.status{background:#fff;border-color:var(--line);color:var(--muted)}
.empty h1{font-size:27px;font-weight:600;letter-spacing:-1px}.empty p{color:var(--muted)}.emptyIcon{color:#9e9ea5}
#toast{background:#1d1d1f;border-radius:10px}
@media(max-width:850px){.sidebar{width:290px;padding:20px 16px}.workspacebar{padding:0 12px}.tools{gap:5px}}
@media(max-width:650px){.layout{height:auto}.sidebar{width:100%}.top{padding:0 14px}}

/* Match WQR's final compact slider: thin filled track and circular thumb. */
.rangeRow input[type="range"]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:28px;margin:0;padding:0;border:0;background:transparent;outline:none;cursor:pointer;accent-color:initial}
.rangeRow input[type="range"]::-webkit-slider-runnable-track{height:3px;border:0;border-radius:3px;background:linear-gradient(to right,#1d1d1f 0 var(--range-fill,31.03%),#d5dbe4 var(--range-fill,31.03%) 100%)}
.rangeRow input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4.5px;border:0;border-radius:50%;background:#1d1d1f;box-shadow:none}
.rangeRow input[type="range"]::-moz-range-track{height:3px;border:0;border-radius:3px;background:#d5dbe4}
.rangeRow input[type="range"]::-moz-range-progress{height:3px;border-radius:3px;background:#1d1d1f}
.rangeRow input[type="range"]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#1d1d1f}
.rangeRow output{flex:0 0 38px;min-width:38px;text-align:right;font-size:11px;color:#737c8a}
.mark svg{display:block}

.workspace-summary{font-size:12px;font-weight:600;letter-spacing:.01em;white-space:normal;line-height:1.5}

/* v23: WQR-style sidebar branding and workspace dimension separators */
.layout{height:100vh;min-height:550px}
.sidebar{padding-top:22px}
.sidebar-brand{padding:0 0 23px;margin-bottom:22px;border-bottom:1px solid #ebebed}
.sidebar-brand .brand{display:flex;align-items:center;font-size:29px;letter-spacing:-1.5px;gap:9px}
.sidebar-brand .mark{margin-right:0;flex-shrink:0}
.sidebar-actions{display:flex;gap:9px;margin-top:14px;align-items:center}
.sidebar-actions button{flex:1;min-width:0;white-space:nowrap}
.sidebar-actions .primary{padding:11px 10px}
.workspace-summary{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.workspace-summary span{color:#666870!important;font-size:11px;white-space:nowrap}
.workspace-summary i{display:block;width:1px;height:18px;flex:0 0 1px;background:#dedee2}
.workspacebar{height:auto;min-height:58px;padding-top:10px;padding-bottom:10px}
@media(max-width:1100px){.workspace-summary{gap:8px}.workspace-summary span{font-size:10px!important}}
@media(max-width:750px){.workspacebar{align-items:flex-start;flex-wrap:wrap}.workspace-summary{width:100%}.workspace-summary span{display:inline!important}.sidebar-brand{margin-bottom:16px}}

/* v24 — compact WQR-style document panel */
.sidebar{padding:20px 20px 30px!important}
.sidebar-brand{padding:0 0 16px!important;margin-bottom:17px!important}
.sidebar-brand .brand{font-size:23px!important;letter-spacing:-1.05px!important;gap:8px!important}
.sidebar-brand .mark{width:31px!important;height:31px!important;border-radius:9px!important}
.sidebar-brand .mark svg{width:22px;height:22px}
.sidehead{font-size:11px!important;letter-spacing:0!important;text-transform:none;margin-bottom:11px!important;color:#45454b!important}
#stateBadge{font-size:9px!important;padding:4px 7px!important}
.upload{padding:15px 9px!important;gap:4px!important;border-radius:10px!important}
.uploadicon{font-size:23px!important;line-height:1.2}
.upload strong{font-size:12px!important}
.upload small{font-size:11px!important}
.upload span{font-size:9px!important;margin-top:3px!important}
.file-preview{display:flex;align-items:center;gap:10px;margin-top:12px;border:1px solid #e8e8ec;border-radius:9px;padding:7px;background:#fafafa;min-width:0}
.file-preview.hidden{display:none!important}
.file-thumb{width:51px;height:51px;flex:0 0 51px;background:#ececf0;border-radius:5px;overflow:hidden;display:grid;place-items:center}
.file-thumb img{width:100%;height:100%;object-fit:contain}
.file-meta{min-width:0;flex:1}
.file-meta .filename{margin:0;color:#26262a;font-size:11px;font-weight:600}
.file-meta span{display:block;color:#8a8a91;font-size:10px;margin-top:5px}
.file-preview .quiet{flex:0 0 auto;padding:6px 9px!important;font-size:13px}
.sidebar-export{width:100%;margin-top:11px!important}
section{margin-top:18px!important;padding-top:17px!important}
.empty{max-width:280px!important}
.empty h1{font-size:20px!important;margin:9px 0 4px!important}
.empty p{font-size:12px!important;margin:0 0 17px!important}
.emptyIcon svg{width:43px;height:43px}

/* v25: remove branding divider and close the space below the logo */
.sidebar-brand{border-bottom:0!important;padding-bottom:0!important;margin-bottom:19px!important}

/* Replace the upload tile with the artwork preview after import. */
.upload.hidden{display:none!important}
.file-preview:not(.hidden){margin-top:8px}
.file-meta{min-width:0;flex:1}
#fileDimensions{display:block;white-space:normal;line-height:1.45}

/* v32 — Match WQR typography, including native dropdown menus in Safari. */
:root,html,body,button,input,select,option,optgroup,textarea,output,label {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
}
select, select option, select optgroup {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}
select { font-size: 12px !important; }

/* WQR-style undo: same shape as Reset, with subdued disabled state. */
.workspacebar .tools #undo.undo-button{margin-left:18px;width:auto;min-width:78px;height:35px;padding:0 16px;border:1px solid #e1e3e8;border-radius:10px;background:#fff;color:#59616c;font-size:12px;font-weight:550;line-height:1;display:inline-flex;align-items:center;justify-content:center;opacity:1;white-space:nowrap;box-shadow:none}
.workspacebar .tools #undo.undo-button:disabled{background:#f0f1f4;border-color:#f0f1f4;color:#a2a9b3;opacity:1;cursor:not-allowed}
.workspacebar .tools #undo.undo-button:hover:not(:disabled){background:#f6f7f9;border-color:#d2d5dc}
@media(max-width:1100px){.workspacebar .tools #undo.undo-button{margin-left:10px;min-width:68px;padding:0 12px}}

/* v39: compact matching Fit/Undo controls; override earlier undo dimensions */
.workspacebar .tools{gap:8px}
.workspacebar .tools #zoomFit,
.workspacebar .tools #undo.undo-button{box-sizing:border-box;flex:0 0 auto;height:35px;min-width:0;width:auto;margin:0;padding:0 13px;border-radius:10px;font-size:12px;line-height:1;white-space:nowrap}
.workspacebar .tools #undo.undo-button{border:1px solid #e1e3e8;background:#fff;color:#59616c;font-weight:550}
.workspacebar .tools #undo.undo-button:disabled{opacity:1;background:#f0f1f4;border-color:#f0f1f4;color:#a2a9b3}
@media(max-width:1100px){.workspacebar .tools #undo.undo-button{margin:0;min-width:0;padding:0 13px}}

/* Pass 85: full-width sidebar dividers and stronger section hierarchy. */
.sidebar section{
  position:relative;
  border-top:0!important;
  padding-top:22px!important;
  margin-top:23px!important;
}
.sidebar section::before{
  content:"";
  position:absolute;
  top:0;
  left:-20px;
  right:-20px;
  height:1px;
  background:#e3e4e8;
  pointer-events:none;
}
.sidebar section .sectiontitle{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:19px;
  color:#2f3037;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.05px;
  line-height:1.3;
}
.sidebar section .sectiontitle::before{content:none!important;display:none!important;}
@media(max-width:850px){
  .sidebar section::before{left:-20px;right:-20px;}
}

/* Pass 87: remove native/macOS double focus halos, including on mouse click. */
.sidebar select:focus,.sidebar select:focus-visible,
.sidebar input:focus,.sidebar input:focus-visible,
.sidebar button:focus,.sidebar button:focus-visible,
.sidebar .segmented button:focus,.sidebar .segmented button:focus-visible{
 outline:0!important;outline-offset:0!important;box-shadow:none!important;
 -webkit-box-shadow:none!important;
}
.sidebar select:focus,.sidebar select:focus-visible{border-color:#e2e2e7!important;background:#fafafa!important}

/* Pass 89: unify toolbar zoom with the sidebar range control. */
.workspacebar .tools input.zoom-slider[type="range"]{
  -webkit-appearance:none;appearance:none;display:block;flex:0 0 82px;
  width:82px;height:28px;margin:0;padding:0;border:0;background:transparent;
  outline:0;box-shadow:none;cursor:pointer;accent-color:initial;
}
.workspacebar .tools input.zoom-slider[type="range"]::-webkit-slider-runnable-track{
  height:3px;border:0;border-radius:3px;
  background:linear-gradient(to right,#1d1d1f 0 var(--range-fill,10.26%),#d5dbe4 var(--range-fill,10.26%) 100%);
}
.workspacebar .tools input.zoom-slider[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:12px;height:12px;
  margin-top:-4.5px;border:0;border-radius:50%;background:#1d1d1f;box-shadow:none;
}
.workspacebar .tools input.zoom-slider[type="range"]::-moz-range-track{height:3px;border:0;border-radius:3px;background:#d5dbe4}
.workspacebar .tools input.zoom-slider[type="range"]::-moz-range-progress{height:3px;border-radius:3px;background:#1d1d1f}
.workspacebar .tools input.zoom-slider[type="range"]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#1d1d1f}
.workspacebar .tools #zoomLabel{min-width:46px;text-align:right;font-size:12px;font-weight:650;line-height:1;color:#25262a;font-variant-numeric:tabular-nums;letter-spacing:0}
@media(max-width:1100px){.workspacebar .tools input.zoom-slider[type="range"]{width:66px;flex-basis:66px}}

/* Pass 92: single-piece fraction glyphs keep the numerator, slash and denominator together. */
#bleedButtons button{font-size:19px!important;font-weight:650!important;line-height:1.15!important;letter-spacing:0!important;}
#bleedButtons .bleed-fraction{display:inline-flex;align-items:baseline;justify-content:center;white-space:nowrap;font-size:20px;font-weight:650;letter-spacing:0;line-height:1;}
#bleedButtons .bleed-inch{font-size:.75em;font-weight:650;margin-left:.04em;line-height:1;}

/* Pass 93: use supplied vector logo in top-left brand. */
.sidebar-brand .brand-logo{display:block;width:145px;max-width:100%;height:auto;}

/* Pass 94: match original top-left brand icon height (~31px). */
.sidebar-brand .brand-logo{width:108px;}

/* Workspace: dimensions above the preview, controls below it. */
.workspacebar{justify-content:flex-start}
.status{height:auto;min-height:58px;padding:10px 24px;gap:16px}
.status .tools{margin-left:auto;display:flex;align-items:center;flex-shrink:0}
.status .tools #zoomFit,.status .tools #undo.undo-button{box-sizing:border-box;height:35px;padding:0 13px;border:1px solid #e1e3e8;border-radius:10px;background:#fff;color:#59616c;font-size:12px;white-space:nowrap}
.status .tools #undo.undo-button:disabled{background:#f0f1f4;color:#a2a9b3}
.status .tools input.zoom-slider[type=range]{width:110px}
.status .tools #zoomLabel{min-width:46px;text-align:right;font-size:12px;font-weight:650;color:#25262a}
@media(max-width:1050px){.status{flex-wrap:wrap}.status .tools{margin-left:auto}.status-guides{flex-wrap:wrap}}
@media(max-width:650px){.status{padding:10px 12px}.status .tools{width:100%;justify-content:flex-end}.status .tools input.zoom-slider[type=range]{width:85px}}

/* Center dimensions and restore compact toolbar buttons. */
.workspacebar{justify-content:center!important;}
.workspacebar .workspace-summary{justify-content:center!important;width:100%;}
.status .tools #zoomFit,.status .tools #undo.undo-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:52px!important;height:35px!important;margin:0!important;padding:0 13px!important;font-size:12px!important;font-weight:600!important;line-height:1!important;border-radius:9px!important;box-shadow:none!important;opacity:1!important;}
.status .tools #undo.undo-button:disabled{opacity:1!important;background:#f0f1f4!important;border-color:#e9eaed!important;color:#a2a9b3!important;}
.status .tools{gap:8px;}

/* Mobile footer: prevent controls from clipping or extending beyond viewport. */
.status{min-width:0;box-sizing:border-box}
.status-guides{min-width:0}
.status .tools{min-width:0}
@media(max-width:650px){
 .status{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;padding:14px 16px!important;overflow:visible!important}
 .status-guides{display:flex!important;flex-wrap:wrap!important;gap:12px 16px!important;width:100%!important}
 .status-guides .check{font-size:12px!important;white-space:nowrap!important}
 .status .tools{display:flex!important;width:100%!important;min-width:0!important;justify-content:flex-end!important;gap:10px!important;margin:0!important;flex-wrap:nowrap!important}
 .status .tools #zoomLabel{margin-right:auto!important;min-width:0!important;text-align:left!important}
 .status .tools #zoomFit,.status .tools #undo.undo-button{min-width:58px!important;max-width:none!important;flex-shrink:0!important}
 .workspace{min-width:0!important;width:100%!important}
}
/* Refine bleed fraction typography and raise inch marks. */
#bleedButtons .bleed-fraction{font-weight:550;}
#bleedButtons .bleed-inch{font-weight:550;font-size:.68em;position:relative;top:-.22em;margin-left:.045em;}

/* Anchored application shell: only the settings panel scrolls. */
html,body{height:100%;height:100dvh;overflow:hidden!important;overscroll-behavior:none;}
body{position:fixed;inset:0;width:100%;}
.layout{height:100%!important;min-height:0!important;display:flex!important;overflow:hidden!important;}
.sidebar{height:100%;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.workspace{height:100%;min-height:0;overflow:hidden!important;}
.viewport{min-height:0;overscroll-behavior:contain;touch-action:none;}
.workspacebar,.status{flex-shrink:0;}
@media(max-width:650px){.layout{flex-direction:column!important}.sidebar{width:100%!important;height:auto!important;flex:0 0 auto;max-height:42dvh!important;overflow-y:auto!important;border-right:0;border-bottom:1px solid #e7e7e9}.workspace{flex:1 1 0!important;height:auto!important;min-height:0!important}.workspacebar{height:auto;min-height:52px;padding:10px 12px}.workspace-summary{flex-wrap:wrap;row-gap:5px}.status{flex-shrink:0}}
/* Scale progress: a single track, with its fill calculated from the actual thumb center. */
.rangeRow #scale[type=range]{--track-progress:9.09%;background:transparent!important;}
.rangeRow #scale[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#1d1d1f 0 var(--track-progress),#d5dbe4 var(--track-progress) 100%)!important;}
.rangeRow #scale[type=range]::-moz-range-track{background:#d5dbe4!important;}
.rangeRow #scale[type=range]::-moz-range-progress{background:#1d1d1f!important;}

/* Compact top-left logo */
.sidebar-brand .brand-logo{width:84px!important;max-width:100%;height:auto;}

/* Guide visibility: option 6 outlined pill buttons */
.status-guides{display:flex;align-items:center;gap:8px!important}
.status-guides .check{--guide-color:#222226;--guide-bg:#f3f3f4;display:inline-flex!important;align-items:center!important;justify-content:center;gap:8px!important;padding:7px 12px!important;border:1px solid #d7d8de;border-radius:999px;background:#fff;color:#777984;font-weight:600!important;font-size:12px!important;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.status-guides .check:has(#showTrim){--guide-color:#e53945;--guide-bg:#fff0f1}
.status-guides .check:has(#showSafe){--guide-color:#2477ec;--guide-bg:#eef5ff}
.status-guides .check:has(input:checked){border-color:var(--guide-color);background:var(--guide-bg);color:var(--guide-color)}
.status-guides .check::before{content:'';width:13px;height:13px;flex:none;border:2px dashed currentColor;border-radius:3px;opacity:.7}
.status-guides .check:has(input:checked)::before{border-style:solid;opacity:1}
.status-guides .check input[type=checkbox]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;appearance:none!important;-webkit-appearance:none!important}
.status-guides .check input[type=checkbox]::after{display:none!important}
.status-guides .check:focus-within{outline:2px solid #8aa9ed;outline-offset:2px}
@media(max-width:600px){.status-guides{gap:6px!important}.status-guides .check{padding:7px 9px!important;font-size:11px!important;gap:5px!important}.status-guides .check::before{width:11px;height:11px}}

/* Four balanced corner marks: no dash wrapping artifacts. */
.status-guides .check:not(:has(input:checked))::before{
 border:0!important;width:17px;height:17px;opacity:1;
 background:center / contain no-repeat url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M3%207V3H7%20M13%203H17V7%20M17%2013V17H13%20M7%2017H3V13%22%20fill%3D%22none%22%20stroke%3D%22%23999ba5%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
@media(max-width:600px){.status-guides .check:not(:has(input:checked))::before{width:15px;height:15px}}

/* About dialog — isolated from artwork and extension modes */
.bleeds-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.bleeds-brand-row .brand-logo{min-width:0;max-width:84px}.about-open{border:1px solid #e1e3e8;border-radius:9px;background:#fff;padding:8px 11px;font-size:11px;font-weight:650;color:#555b65;white-space:nowrap}.about-open:hover{background:#f5f6f8}.about-open span{margin-left:3px}.about-overlay[hidden]{display:none!important}.about-overlay{position:fixed;inset:0;z-index:10000;background:rgba(18,21,28,.48);display:flex;align-items:center;justify-content:center;padding:20px}.about-panel{width:min(100%,620px);max-height:min(88vh,850px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 80px #0003;overflow:hidden;outline:0}.about-head{display:flex;justify-content:space-between;align-items:flex-start;padding:27px 32px 18px;border-bottom:1px solid #eceef1}.about-eyebrow{font-size:10px;letter-spacing:1.4px;color:#969ba5;font-weight:800}.about-head h2{margin:7px 0 0;font-size:29px;letter-spacing:-1.2px;color:#202329}.about-close{border:0;background:#f2f3f5;color:#555;font-size:24px;width:35px;height:35px;border-radius:10px;line-height:1}.about-scroll{overflow:auto;padding:23px 32px 28px;color:#5b6069;font-size:13px;line-height:1.75}.about-scroll p{margin:0 0 15px}.about-scroll .about-intro{font-size:15px;color:#32363e;line-height:1.65}.about-scroll h3{font-size:14px;color:#22262d;margin:25px 0 8px}.about-scroll ol{padding-left:21px;margin:8px 0}.about-scroll li{margin:0 0 9px}.about-scroll strong{color:#292d34}.about-tip{background:#f4f5f7;border:1px solid #e9ebee;border-radius:12px;padding:15px 17px;margin:15px 0}.about-feature{padding:10px 0;border-bottom:1px solid #eef0f2}.about-feature p{margin:3px 0 0}.about-footer{padding:17px 32px;text-align:center;border-top:1px solid #eceef1;color:#8a8f98;font-size:11px;letter-spacing:.15px}.about-footer strong{color:#31363f}.about-visible{overflow:hidden}@media(max-width:600px){.about-overlay{padding:10px}.about-panel{max-height:94vh;border-radius:13px}.about-head{padding:20px 21px 14px}.about-scroll{padding:18px 21px}.about-footer{padding:15px 21px}}

/* Compact About header; optically centered close icon */
.about-head{justify-content:flex-end;align-items:center;padding:14px 18px 8px;border-bottom:0}
.about-close{display:flex;align-items:center;justify-content:center;flex:0 0 35px;padding:0;line-height:normal;cursor:pointer}
.about-close svg{display:block;flex:none}
.about-scroll{padding-top:12px}
@media(max-width:600px){.about-head{padding:12px 14px 6px}.about-scroll{padding-top:12px}}

/* About: align opening text horizontally with close control */
.about-head{justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 22px 8px}
.about-head .about-intro{margin:0;flex:1;min-width:0;color:#32363e;font-size:15px;line-height:1.65;font-weight:400}
.about-head .about-close{flex:0 0 35px;margin:0}
.about-scroll{padding-top:10px}
@media(max-width:600px){.about-head{padding:16px 16px 6px;gap:12px}.about-head .about-intro{font-size:14px;line-height:1.55}.about-scroll{padding-top:10px}}

/* About dialog typography and rhythm — layout only; rendering modes untouched */
#aboutDialog .about-head{display:flex;align-items:flex-start;gap:18px;padding:24px 26px 0;border:0}
#aboutDialog .about-head .about-intro{margin:0;flex:1;min-width:0;font-size:15px;line-height:1.55;font-weight:400;color:#32363e}
#aboutDialog .about-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:10px;line-height:1;cursor:pointer}
#aboutDialog .about-close svg{display:block}
#aboutDialog .about-scroll{padding:0 26px 24px;font-size:13px;line-height:1.65;color:#5b6069;overflow-y:auto;min-height:0}
#aboutDialog .about-scroll h3{margin:23px 0 9px;font-size:15px;line-height:1.35;color:#22262d;font-weight:700}
#aboutDialog .about-scroll h3:first-child{margin-top:23px}
#aboutDialog .about-scroll p{margin:0 0 13px}
#aboutDialog .about-tip{margin:16px 0 8px;padding:15px 17px;line-height:1.6}
#aboutDialog .about-scroll ol{margin:8px 0 4px;padding-left:22px}
#aboutDialog .about-scroll li{margin:0 0 9px;padding-left:2px}
#aboutDialog .about-feature{padding:10px 0}
#aboutDialog .about-feature p{margin:4px 0 0}
#aboutDialog .about-footer{padding:15px 26px}
@media(max-width:600px){
 #aboutDialog .about-head{padding:19px 20px 0;gap:12px}
 #aboutDialog .about-head .about-intro{font-size:14px;line-height:1.5}
 #aboutDialog .about-scroll{padding:0 20px 22px;font-size:13px}
 #aboutDialog .about-scroll h3:first-child{margin-top:20px}
 #aboutDialog .about-footer{padding:14px 20px}
}

/* Mobile dimension summary: single compact row; desktop remains unchanged. */
@media (max-width: 650px) {
  .workspacebar {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 7px 8px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .workspacebar .workspace-summary {
    display: flex !important;
    flex-flow: row nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(3px, 1.2vw, 8px) !important;
    line-height: 1.2;
  }
  .workspacebar .workspace-summary span {
    display: inline !important;
    font-size: clamp(9px, 2.45vw, 11px) !important;
    font-weight: 600;
    letter-spacing: -0.025em;
    white-space: nowrap !important;
  }
  .workspacebar .workspace-summary i {
    display: block !important;
    width: 1px;
    height: 15px;
    flex: 0 0 1px;
  }
}

/* Compact single-row guide and viewport controls on phones. */
@media (max-width:650px){
 .status{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:6px!important;padding:9px 9px!important;min-height:54px!important;overflow:hidden!important;}
 .status-guides{display:flex!important;flex:0 1 auto!important;width:auto!important;min-width:0!important;flex-wrap:nowrap!important;gap:4px!important;}
 .status-guides .check{flex:0 0 auto!important;gap:4px!important;padding:6px 7px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;margin:0!important;}
 .status-guides .check::before{width:10px!important;height:10px!important;border-width:1.5px!important;border-radius:2px!important;}
 .status-guides .check:not(:has(input:checked))::before{width:12px!important;height:12px!important;}
 .status .tools{display:flex!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;justify-content:flex-end!important;gap:4px!important;margin:0!important;flex-wrap:nowrap!important;}
 .status .tools #zoomLabel{margin:0 2px 0 0!important;min-width:0!important;font-size:11px!important;white-space:nowrap!important;}
 .status .tools #zoomFit,.status .tools #undo.undo-button{flex:0 0 auto!important;min-width:0!important;height:31px!important;padding:0 8px!important;font-size:11px!important;border-radius:8px!important;}
}
@media (max-width:375px){
 .status{padding-inline:5px!important;gap:3px!important;}
 .status-guides{gap:3px!important;}
 .status-guides .check{padding:5px!important;font-size:10px!important;gap:3px!important;}
 .status .tools{gap:3px!important;}
 .status .tools #zoomLabel{font-size:10px!important;}
 .status .tools #zoomFit,.status .tools #undo.undo-button{padding:0 6px!important;font-size:10px!important;}
}
