.app{flex-direction:column;height:100%;display:flex}.topbar{align-items:center;gap:var(--sp-2);height:52px;padding:0 var(--sp-3);background:var(--bg-chrome);border-bottom:1px solid var(--border);flex:none;display:flex}.topbar__brand{align-items:center;gap:var(--sp-2);letter-spacing:.2px;font-weight:650;font-size:var(--fs-lg);white-space:nowrap;padding-left:var(--sp-1);color:inherit;border-radius:var(--r-sm);text-decoration:none;display:inline-flex}.topbar__brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar__mark{flex:none;width:20px;height:20px}.topbar__file{color:var(--fg-dim);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;max-width:34ch;padding-left:var(--sp-2);border-left:1px solid var(--border);margin-left:var(--sp-1);overflow:hidden}.topbar__badge{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);background:var(--badge-bg);color:var(--badge-fg);border-radius:var(--r-full);white-space:nowrap;padding:3px 10px 3px 8px;display:inline-flex}.topbar__badge .icon{width:14px;height:14px}.topbar__badge--offline{color:var(--fg-dim);font-variant-numeric:tabular-nums;background:0 0}.topbar__badge--offline[data-state=ready]{color:var(--badge-fg);background:var(--badge-bg)}@media (max-width:900px){.topbar__badge--offline{display:none}}.topbar__spacer{flex:1}.topbar__privacy{font-size:var(--fs-sm);color:var(--fg-dim)}.topbar__group{padding:0 var(--sp-2);margin:0 var(--sp-1);border-left:1px solid var(--border);border-right:1px solid var(--border);align-items:center;gap:2px;display:flex}.topbar__pages{align-items:center;gap:var(--sp-1);font-size:var(--fs-md);color:var(--fg-dim);white-space:nowrap;margin-left:var(--sp-2);display:inline-flex}.topbar__page-input{width:3.5ch;height:26px;padding:0 var(--sp-1);text-align:center;font:inherit;font-variant-numeric:tabular-nums;color:var(--fg);background:var(--field-bg);border:1px solid var(--border);border-radius:var(--r-sm);outline:none}.topbar__page-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-softer)}.topbar__page-total{font-variant-numeric:tabular-nums}.topbar__page-input--shake{border-color:var(--danger);animation:.35s shake}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}.workspace{--rail-thickness:52px;--rail-tool:38px;--rail-tool-min:32px;flex:1;min-height:0;display:flex}.btn,.format-bar__toggle,.format-bar__step,.format-bar__clear,.image-bar__btn,.shape-menu__item,.sidebar__tab{justify-content:center;align-items:center;gap:var(--sp-2);min-width:var(--control-h);height:var(--control-h);padding:0 var(--sp-2);font:inherit;font-size:var(--fs-md);color:var(--fg);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;transition:background-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled),.format-bar__toggle:hover:not(:disabled),.format-bar__step:hover:not(:disabled),.format-bar__clear:hover:not(:disabled),.image-bar__btn:hover:not(:disabled),.shape-menu__item:hover:not(:disabled),.sidebar__tab:hover:not(:disabled){background:var(--bg-hover)}.btn[aria-pressed=true],.format-bar__toggle[aria-pressed=true],.shape-menu__item[aria-checked=true],.sidebar__tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.btn:focus-visible,.format-bar__toggle:focus-visible,.format-bar__step:focus-visible,.format-bar__clear:focus-visible,.image-bar__btn:focus-visible,.shape-menu__item:focus-visible,.sidebar__tab:focus-visible,.zoom-presets__menu button:focus-visible,.overflow-menu__list button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.btn--icon{width:var(--control-h);padding:0}.btn--sm{min-width:28px;height:28px}.btn--sm.btn--icon{width:28px}.btn:active:not(:disabled){background:var(--bg-active)}.btn:disabled,.image-bar__btn:disabled{opacity:.38;cursor:default}.btn--text{padding:0 var(--sp-2);font-variant-numeric:tabular-nums}.btn--primary{padding:0 var(--sp-3);color:var(--fg);background:var(--btn-bg);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--btn-bg-hover)}.btn--dirty:not(:disabled){color:var(--accent-fg);background:var(--accent)}.btn--dirty:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 85%, var(--fg))}.btn--danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.tool-rail{width:var(--rail-thickness);padding:var(--sp-2) 0;background:var(--bg-chrome);border-right:1px solid var(--border);flex-direction:column;flex:none;align-items:center;gap:2px;display:flex;overflow:hidden auto}.tool-rail .shape-menu{display:contents}.tool-rail .btn--rail{flex:0 1 var(--rail-tool);width:var(--rail-tool);height:var(--rail-tool);min-width:var(--rail-tool-min);min-height:var(--rail-tool-min);border-radius:var(--r-md)}.tool-rail__sep{width:24px;height:1px;margin:var(--sp-1) 0;background:var(--border);flex:none}.tool-rail__segmented{background:var(--field-bg);border-radius:var(--r-sm);flex-direction:column;flex:none;gap:1px;padding:2px;display:flex}.tool-rail__segmented button{min-width:34px;padding:var(--sp-1) 2px;font:inherit;font-size:var(--fs-xs);color:var(--fg-dim);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:none}.tool-rail__segmented button:hover{background:var(--bg-hover)}.tool-rail__segmented button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.tool-rail__segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.view-bar{height:40px;padding:0 var(--sp-2);background:var(--bg-chrome);border-top:1px solid var(--border);flex:none;justify-content:center;align-items:center;gap:2px;display:flex;overflow-x:auto}.view-bar__sep{width:1px;height:18px;margin:0 var(--sp-1);background:var(--border);flex:none}.view-bar__zoom{min-width:52px;font-size:var(--fs-sm);color:var(--fg-dim)}.overflow-menu{display:inline-flex;position:relative}.overflow-menu__list{top:calc(100% + var(--sp-1));z-index:var(--z-menu);min-width:220px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-2);position:absolute;right:0}.overflow-menu__list button{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);font:inherit;font-size:var(--fs-md);text-align:left;color:var(--fg);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;display:flex}.overflow-menu__list button:hover{background:var(--bg-hover)}.overflow-menu__list button span:first-child{flex:1}.overflow-menu__list .overflow-menu__narrow{display:none}.overflow-menu__indent{padding-left:calc(var(--icon-size) + var(--sp-2))}.overflow-menu__sep{height:1px;margin:var(--sp-1) 0;background:var(--border)}.overflow-menu__kbd{font:inherit;font-size:var(--fs-xs);color:var(--fg-subtle);border:1px solid var(--border);border-radius:var(--r-xs);padding:1px 5px}.viewer-region{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.app-main>.drop-zone,.app-main>.drop-zone-wrap,.app-main>.page-skeleton,.app-main>.error-panel{margin:auto}.viewer-stage{overscroll-behavior:contain;flex:1;position:relative;overflow:auto}.viewer-stage--single{scroll-snap-type:y mandatory}.viewer-stage--single .page-slot{scroll-snap-align:center;scroll-snap-stop:always}.viewer-content{will-change:transform;margin:0 auto;position:relative}.page-slot{background:linear-gradient(100deg, var(--skeleton-a) 40%, var(--skeleton-b) 50%, var(--skeleton-a) 60%);border-radius:var(--r-2xs);box-shadow:var(--shadow-page);background-size:200% 100%;animation:1.2s infinite shimmer;position:absolute;left:50%;translate:-50%}@media (prefers-reduced-motion:reduce){.page-slot{animation:none}}.page-view{background:var(--paper);border-radius:var(--r-2xs);width:100%;height:100%}.page-slot--pulse{animation:1.2s ease-out page-pulse}@keyframes page-pulse{0%{box-shadow:0 0 0 3px var(--accent), var(--shadow-page)}to{box-shadow:var(--shadow-page)}}@media (prefers-reduced-motion:reduce){.page-slot--pulse{animation:none}}.page-view canvas{border-radius:var(--r-2xs);display:block}:root[data-night-filter] .page-view canvas,:root[data-night-filter] .thumb-canvas canvas{filter:invert(.92)hue-rotate(180deg)}.text-layer{transform-origin:0 0;color:#0000;z-index:var(--z-text);-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;caret-color:#0000;line-height:1;position:absolute;top:0;left:0;overflow:hidden}.text-layer .pdf-line{transform-origin:0 0;white-space:pre;cursor:text;position:absolute}.text-layer .pdf-line>span{transform-origin:0 0;white-space:pre;position:absolute}.text-layer ::selection{background:color-mix(in srgb, var(--accent) 35%, transparent);color:#0000}.text-layer .text-hl{color:#0000;background:color-mix(in srgb, var(--mark-bg) 55%, transparent);border-radius:var(--r-2xs)}.text-layer .text-hl--active{background:color-mix(in srgb, var(--mark-active-bg) 78%, transparent);box-shadow:0 0 0 1px var(--mark-active-ring)}.debug-overlay{transform-origin:0 0;pointer-events:none;z-index:var(--z-debug);position:absolute;top:0;left:0;overflow:hidden}.debug-overlay__block,.debug-overlay__line,.debug-overlay__span{box-sizing:border-box;position:absolute}.debug-overlay__line{outline:1px dashed color-mix(in srgb, var(--dbg-line) 55%, transparent)}.debug-overlay__span{outline:1px solid color-mix(in srgb, var(--dbg-span) 70%, transparent)}.debug-overlay__block-label{white-space:nowrap;color:var(--obj-tip-fg);background:color-mix(in srgb, var(--dbg-block) 80%, #000);border-radius:var(--r-2xs);padding:0 2px;font:7px/9px ui-monospace,monospace;position:absolute;bottom:100%;right:0}.debug-overlay__label{white-space:nowrap;color:var(--obj-tip-fg);background:color-mix(in srgb, var(--dbg-span) 80%, #000);border-radius:var(--r-2xs);padding:0 2px;font:7px/9px ui-monospace,monospace;position:absolute;top:-9px;left:0}.patch-canvas{pointer-events:none;position:absolute;top:0;left:0}.viewer-stage--edit .text-layer{pointer-events:none;-webkit-user-select:none;user-select:none}.edit-layer{transform-origin:0 0;z-index:var(--z-edit);--px:calc(1px / var(--zoom,1));position:absolute;top:0;left:0}.edit-layer__hit--blocked,.resize-layer__frame--blocked,.block-layer__outline,.block-layer__image{--dash-w:var(--px);--dash-on:calc(3 * var(--px));--dash-off:calc(3 * var(--px));--dash-step:calc(var(--dash-on) + var(--dash-off));background-image: repeating-linear-gradient(to right, var(--dash-color) 0 var(--dash-on), transparent var(--dash-on) var(--dash-step)),  repeating-linear-gradient(to right, var(--dash-color) 0 var(--dash-on), transparent var(--dash-on) var(--dash-step)),  repeating-linear-gradient(to bottom, var(--dash-color) 0 var(--dash-on), transparent var(--dash-on) var(--dash-step)),  repeating-linear-gradient(to bottom, var(--dash-color) 0 var(--dash-on), transparent var(--dash-on) var(--dash-step));background-size:100% var(--dash-w), 100% var(--dash-w), var(--dash-w) 100%, var(--dash-w) 100%;background-position:0 0,0 100%,0 0,100% 0;background-repeat:no-repeat;border:none;outline:none}.edit-layer__edited{box-sizing:border-box;background-image:repeating-linear-gradient(to right, color-mix(in srgb, var(--accent) 75%, transparent) 0 calc(2 * var(--px)), transparent calc(2 * var(--px)) calc(4 * var(--px)));background-size:100% calc(2 * var(--px));pointer-events:none;background-position:0 100%;background-repeat:no-repeat;border:none;position:absolute}.edit-layer__hit{box-sizing:border-box;border-radius:calc(2 * var(--px));pointer-events:none;position:absolute}.edit-layer__hit--ok{box-shadow:0 0 0 calc(1.5 * var(--px)) var(--obj-ok);background-color:color-mix(in srgb, var(--obj-ok) 10%, transparent)}.edit-layer__hit--blocked{--dash-color:color-mix(in srgb, var(--obj-blocked) 85%, transparent);--dash-w:calc(1.5 * var(--px));background-color:color-mix(in srgb, var(--obj-blocked) 8%, transparent)}.edit-layer__hit--quiet{box-shadow:none;background:0 0}.edit-layer__ghost{box-sizing:border-box;border-radius:calc(2 * var(--px));box-shadow:0 0 0 calc(1.5 * var(--px)) color-mix(in srgb, var(--accent) 90%, transparent);background-color:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;position:absolute}.edit-layer__tip{bottom:calc(100% + 4 * var(--px));font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(16 * var(--px));white-space:nowrap;color:var(--obj-tip-fg);background:var(--obj-tip-bg);padding:calc(2 * var(--px)) calc(7 * var(--px));border-radius:calc(4 * var(--px));box-shadow:0 calc(2 * var(--px)) calc(8 * var(--px)) #00000059;position:absolute;left:0}.resize-layer{transform-origin:0 0;z-index:var(--z-edit);pointer-events:none;--px:calc(1px / var(--zoom,1));position:absolute;top:0;left:0}.resize-layer__frame{box-sizing:border-box;--stroke:var(--px);--stroke-color:color-mix(in srgb, var(--sel-strong) 75%, transparent);box-shadow:0 0 0 calc(.5 * var(--stroke)) var(--stroke-color), inset 0 0 0 calc(.5 * var(--stroke)) var(--stroke-color);z-index:var(--z-chrome);border-radius:calc(2 * var(--px));pointer-events:none;outline:none;position:absolute}.resize-layer__frame[data-editing=true]{--stroke-color:var(--sel-strong)}.resize-layer__frame--overflow{--stroke:calc(1.25 * var(--px));--stroke-color:var(--obj-danger);background:color-mix(in srgb, var(--obj-danger) 8%, transparent)}.resize-layer__frame--blocked{--dash-color:color-mix(in srgb, var(--obj-blocked) 80%, transparent);box-shadow:none}.resize-layer__handle{--dot:calc(6 * var(--px));--ring:var(--px);width:var(--dot);height:var(--dot);margin:calc(-.5 * var(--dot)) 0 0 calc(-.5 * var(--dot));box-sizing:border-box;background:var(--paper);box-shadow:inset 0 0 0 var(--ring) var(--sel-strong);border-radius:var(--px);pointer-events:auto;z-index:var(--z-handle);border:none;position:absolute}.resize-layer__handle:before{content:"";inset:calc(-5 * var(--px));position:absolute}.resize-layer__handle[data-thin]:before{inset:calc(-1 * var(--halo,0px))}.block-layer__chrome{z-index:var(--z-chrome)}.resize-layer__word{box-sizing:border-box;background:color-mix(in srgb, var(--sel) 16%, transparent);border-radius:var(--px);pointer-events:none;height:1em;position:absolute}.resize-layer__warn,.resize-layer__reason{bottom:calc(100% + 4 * var(--px));font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(16 * var(--px));white-space:nowrap;color:var(--obj-tip-fg);background:var(--obj-tip-bg);padding:calc(2 * var(--px)) calc(7 * var(--px));border-radius:calc(4 * var(--px));box-shadow:0 calc(2 * var(--px)) calc(8 * var(--px)) #00000059;pointer-events:none;position:absolute;left:0}.resize-layer__warn{color:var(--obj-tip-fg);background:var(--obj-danger-strong)}.resize-layer__size{top:calc(100% + 3 * var(--px));font-family:ui-monospace,monospace;font-size:calc(10 * var(--px));line-height:calc(14 * var(--px));white-space:nowrap;color:var(--obj-tip-fg);background:color-mix(in srgb, var(--obj-tip-bg) 82%, transparent);padding:var(--px) calc(5 * var(--px));border-radius:calc(3 * var(--px));pointer-events:none;position:absolute;right:0}.block-layer__outline{box-sizing:border-box;--dash-color:color-mix(in srgb, var(--sel) 40%, transparent);border-radius:calc(2 * var(--px));pointer-events:none;position:absolute}.block-layer__outline--fallback{--dash-color:color-mix(in srgb, var(--obj-blocked) 40%, transparent)}.block-layer__outline--framed{--dash-color:transparent}.block-layer__image{box-sizing:border-box;--dash-color:color-mix(in srgb, var(--obj-image) 75%, transparent);border-radius:calc(2 * var(--px));pointer-events:none;position:absolute}.block-layer__image--locked{--dash-on:var(--px);--dash-off:calc(2 * var(--px))}.block-layer__image--ghost{box-shadow:inset 0 0 0 calc(1.5 * var(--px)) color-mix(in srgb, var(--accent) 90%, transparent);background-image:none;background-color:color-mix(in srgb, var(--accent) 10%, transparent);transform-origin:0 0}.block-layer__image--ghost[data-snapped=true]{box-shadow:inset 0 0 0 calc(1.5 * var(--px)) var(--obj-image);background-color:color-mix(in srgb, var(--obj-image) 14%, transparent)}.block-layer__image--live,.block-layer__image--live[data-snapped=true]{background-color:#0000}.block-layer__image-cover{pointer-events:none;position:absolute}.block-layer__image-pixels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.block-layer__image--live[data-covered=false] .block-layer__image-pixels{opacity:.85}.block-layer__surface{box-sizing:border-box;box-shadow:inset 0 0 0 calc(1.5 * var(--px)) color-mix(in srgb, var(--obj-image) 90%, transparent);border-radius:calc(2 * var(--px));pointer-events:auto;background-color:color-mix(in srgb, var(--obj-image) 6%, transparent);position:absolute}.block-layer__surface--locked{cursor:pointer;background-color:color-mix(in srgb, var(--obj-blocked) 10%, transparent)}.block-layer__surface--selected{box-shadow:inset 0 0 0 calc(1.5 * var(--px)) var(--obj-image), 0 0 0 calc(1 * var(--px)) color-mix(in srgb, var(--obj-image) 35%, transparent);background-color:color-mix(in srgb, var(--obj-image) 10%, transparent)}.block-layer__angle{top:calc(-22 * var(--px));padding:0 calc(5 * var(--px));font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(17 * var(--px));white-space:nowrap;color:var(--obj-tip-fg);background:var(--obj-image);border-radius:calc(3 * var(--px));pointer-events:none;transform-origin:0 100%;position:absolute;left:0}.block-layer__surface--text{box-shadow:none;cursor:move;background-color:#0000;border-radius:0}.block-layer__edge{pointer-events:auto;cursor:move;position:absolute}.block-layer__rotate{width:calc(15 * var(--px));height:calc(15 * var(--px));margin:calc(-7.5 * var(--px)) 0 0 calc(-7.5 * var(--px));box-sizing:border-box;background:var(--paper);box-shadow:inset 0 0 0 calc(1.25 * var(--px)) var(--obj-image), 0 calc(1 * var(--px)) calc(3 * var(--px)) #00000040;pointer-events:auto;cursor:grab;z-index:var(--z-handle);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.block-layer__rotate:hover{background:var(--obj-image)}.block-layer__rotate:active{cursor:grabbing}.block-layer__rotate:before{content:"";inset:calc(-5 * var(--px));border-radius:50%;position:absolute}.block-layer__rotate-icon{color:var(--obj-image);pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1;display:flex}.block-layer__rotate-icon .icon,.block-layer__delete .icon{width:calc(11 * var(--px));height:calc(11 * var(--px))}.block-layer__rotate:hover .block-layer__rotate-icon{color:var(--obj-tip-fg)}.block-layer__rotate-stem{width:var(--px);margin-left:calc(-.5 * var(--px));background:var(--obj-image);opacity:.75;pointer-events:none;z-index:var(--z-chrome);position:absolute}.block-layer__delete{width:calc(15 * var(--px));height:calc(15 * var(--px));margin:calc(-7.5 * var(--px)) 0 0 calc(-7.5 * var(--px));box-sizing:border-box;font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(13 * var(--px));color:var(--obj-tip-fg);background:var(--obj-danger-strong);pointer-events:auto;cursor:pointer;border:none;border-radius:50%;padding:0;position:absolute}.block-editor{z-index:var(--z-caret);--px:1px;pointer-events:auto;position:absolute}.block-editor__input{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;border-radius:calc(2 * var(--px));caret-color:currentColor;cursor:text;letter-spacing:normal;word-spacing:normal;text-transform:none;padding-left:var(--caret-pad-left,0px);text-indent:var(--caret-text-indent,0px);font-variant:normal;font-kerning:auto;font-optical-sizing:auto;font-size-adjust:none;font-feature-settings:normal;font-variation-settings:normal;outline:none;font-stretch:100%;position:absolute;top:0;left:0;overflow:visible}.block-editor__input[data-placed]{text-indent:0;padding-left:0}.block-editor__collide{top:calc(100% + 4 * var(--px));font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(16 * var(--px));white-space:nowrap;color:var(--obj-warn-fg);background:var(--obj-warn-bg);padding:calc(2 * var(--px)) calc(7 * var(--px));border-radius:calc(4 * var(--px));box-shadow:0 calc(2 * var(--px)) calc(8 * var(--px)) #00000059;pointer-events:none;z-index:var(--z-chrome);position:absolute;left:0}.edit-overlay{z-index:var(--z-caret);--px:1px;position:absolute}.edit-overlay__input{white-space:pre;box-shadow:0 0 0 calc(1.5 * var(--px)) var(--accent);border-radius:calc(2 * var(--px));caret-color:currentColor;font-variant:normal;font-kerning:auto;font-optical-sizing:auto;font-size-adjust:none;font-feature-settings:normal;font-variation-settings:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;outline:none;font-style:normal;font-weight:400;font-stretch:100%;position:absolute;top:0;left:0;overflow:visible}.edit-overlay__meter{top:calc(100% + 4 * var(--px));font-family:var(--font-ui);font-size:calc(11 * var(--px));line-height:calc(16 * var(--px));white-space:nowrap;color:var(--obj-tip-fg);background:var(--obj-over-bg);padding:calc(2 * var(--px)) calc(7 * var(--px));border-radius:calc(4 * var(--px));box-shadow:0 calc(2 * var(--px)) calc(8 * var(--px)) #00000059;z-index:var(--z-chrome);position:absolute;left:0}.search-bar{z-index:var(--z-searchbar);background:var(--bg-chrome);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--e-2);align-items:center;gap:8px;padding:6px 8px;display:flex;position:absolute;top:12px;right:16px}.search-bar__input{background:var(--field-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);width:220px;height:30px;font-size:var(--fs-lg);padding:0 10px}.search-bar__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-bar__count{font-size:var(--fs-sm);color:var(--fg-dim);font-variant-numeric:tabular-nums;text-align:right;min-width:64px}.search-bar__indexing{opacity:.75}.search-bar__nav{gap:2px;display:flex}.search-bar__nav button,.search-bar__close{background:var(--btn-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;min-width:28px;height:28px;font-size:var(--fs-md)}.search-bar__nav button:hover:not(:disabled),.search-bar__close:hover{background:var(--btn-bg-hover)}.search-bar__nav button:disabled{opacity:.4;cursor:default}.search-bar__nav button:focus-visible,.search-bar__close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.topbar__page-input--shake,.pw-dialog--shake{animation:none}}.pw-dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-chrome);color:var(--fg);max-width:360px;box-shadow:var(--e-3);padding:0}.pw-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pw-dialog--shake{animation:.4s shake}.pw-dialog__form{flex-direction:column;gap:10px;margin:0;padding:22px 24px;display:flex}.pw-dialog__title{font-size:var(--fs-xl);margin:0}.pw-dialog__text{font-size:var(--fs-md);color:var(--fg-dim);margin:0}.pw-dialog__input{border-radius:var(--r-md);border:1px solid var(--border);background:var(--btn-bg);height:36px;color:var(--fg);font-size:var(--fs-lg);padding:0 12px}.pw-dialog__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pw-dialog__input[aria-invalid=true]{border-color:var(--danger)}.pw-dialog__error{color:var(--danger);font-size:var(--fs-sm);margin:0}.pw-dialog__actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.pw-dialog__cancel,.pw-dialog__submit{border-radius:var(--r-md);cursor:pointer;height:34px;font-size:var(--fs-lg);border:1px solid var(--border);padding:0 16px}.pw-dialog__cancel{background:var(--btn-bg);color:var(--fg)}.pw-dialog__submit{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.pw-dialog__submit:disabled{opacity:.5;cursor:default}.pw-dialog__cancel:focus-visible,.pw-dialog__submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.consent-dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-chrome);color:var(--fg);max-width:420px;box-shadow:var(--e-3);padding:0}.consent-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.consent-dialog__body{flex-direction:column;gap:10px;padding:22px 24px;display:flex}.consent-dialog__title{font-size:var(--fs-xl);margin:0}.consent-dialog__text{font-size:var(--fs-md);color:var(--fg-dim);margin:0}.consent-dialog__warn{font-size:var(--fs-md);border-radius:var(--r-md);color:var(--fg);background:color-mix(in srgb, var(--danger) 14%, transparent);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);margin:0;padding:9px 11px}.consent-dialog__actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.consent-dialog__cancel,.consent-dialog__cover{border-radius:var(--r-md);cursor:pointer;height:34px;font-size:var(--fs-lg);border:1px solid var(--border);padding:0 16px}.consent-dialog__cancel{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.consent-dialog__cover{background:var(--btn-bg);color:var(--fg)}.consent-dialog__cancel:focus-visible,.consent-dialog__cover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.popover{z-index:var(--z-popover);position:fixed}.zoom-presets__menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-2);flex-direction:column;gap:1px;min-width:110px;padding:4px;display:flex}.zoom-presets__menu button{color:var(--fg);border-radius:var(--r-sm);text-align:left;cursor:pointer;height:28px;font-size:var(--fs-md);background:0 0;border:none;padding:0 10px}.zoom-presets__menu button:hover{background:var(--btn-bg-hover)}.zoom-presets__sep{background:var(--border);height:1px;margin:3px 0}.cmd-palette{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-chrome);color:var(--fg);width:min(560px,92vw);box-shadow:var(--e-3);margin-top:12vh;padding:0}.cmd-palette::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmd-palette__body{flex-direction:column;display:flex}.cmd-palette__head{border-bottom:1px solid var(--border);align-items:center;display:flex}.cmd-palette__input{min-width:0;height:48px;color:var(--fg);font-size:var(--fs-xl);border-radius:var(--r-lg) 0 0 0;background:0 0;border:none;flex:1;padding:0 16px}.cmd-palette__close{margin-right:var(--sp-2);color:var(--fg-dim);flex:none}.cmd-palette__input:focus-visible{outline:none}.cmd-palette__list{flex-direction:column;gap:1px;max-height:340px;padding:6px;display:flex;overflow:auto}.cmd-row{color:var(--fg);border-radius:var(--r-md);cursor:pointer;text-align:left;font-size:var(--fs-lg);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.cmd-row--active{background:color-mix(in srgb, var(--accent) 20%, transparent)}.cmd-row__hint{font-size:var(--fs-sm);color:var(--fg-dim);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px}.cmd-palette__empty{color:var(--fg-dim);text-align:center;font-size:var(--fs-md);padding:16px}.props-dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-chrome);color:var(--fg);width:min(440px,92vw);box-shadow:var(--e-3);padding:0}.props-dialog::backdrop{background:var(--backdrop)}.props-dialog__body{padding:20px 24px}.props-dialog__title{font-size:var(--fs-xl);margin:0 0 14px}.props-dialog__list{gap:8px;margin:0;display:grid}.props-dialog__row{font-size:var(--fs-md);grid-template-columns:120px 1fr;gap:12px;display:grid}.props-dialog__row dt{color:var(--fg-dim)}.props-dialog__row dd{overflow-wrap:anywhere;margin:0}.props-dialog__loading{color:var(--fg-dim)}.props-dialog__actions{justify-content:flex-end;margin-top:18px;display:flex}.props-dialog__actions button{background:var(--btn-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;height:32px;padding:0 16px}.toasts{max-width:calc(100vw - 32px);z-index:var(--z-toast);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast{border-radius:var(--r-md);background:var(--bg-chrome);min-width:260px;max-width:460px;color:var(--fg);border:1px solid var(--border);border-left:3px solid var(--fg-dim);box-shadow:var(--e-2);font-size:var(--fs-md);align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.toast--error{border-left-color:var(--danger)}.toast--success{border-left-color:var(--ok)}.toast--info{border-left-color:var(--accent)}.toast__text{flex:1}.toast__action{background:var(--btn-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;height:28px;font-size:var(--fs-md);padding:0 10px}.toast__close{color:var(--fg-dim);cursor:pointer;font-size:var(--fs-md);background:0 0;border:none}.toast__action:focus-visible,.toast__close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.drop-zone-wrap{align-items:center;gap:var(--sp-3);padding:var(--sp-4);flex-direction:column;display:flex}.drop-zone__sample{color:var(--accent);font-weight:600}.drop-zone__legal{max-width:44ch;font-size:var(--fs-sm);color:var(--fg-subtle);text-align:center;margin:0}.drop-zone__legal a{color:inherit;text-underline-offset:2px;text-decoration:underline}.drop-zone__legal a:hover{color:var(--fg)}.drop-zone{text-align:center;border:2px dashed var(--fg-subtle);border-radius:var(--r-xl);cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto;padding:64px 48px;transition:border-color .15s,background .15s,transform .15s}.drop-zone:hover,.drop-zone:focus-visible,.drop-zone--active{border-color:var(--accent);background:var(--accent-softer)}.drop-zone--active{transform:scale(1.02)}.drop-zone__icon{width:64px;height:64px;color:var(--accent);background:var(--accent-softer);border-radius:var(--r-full);place-items:center;margin:0 auto;display:grid}.drop-zone h1{font-size:var(--fs-2xl);margin:12px 0 4px}.drop-zone p{color:var(--fg-dim);margin:4px 0}.drop-zone__browse{color:var(--accent);text-decoration:underline}.drop-zone__privacy{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--fg-subtle);margin-top:var(--sp-5);display:inline-flex}.drop-zone__privacy .icon{width:14px;height:14px}.drop-zone__hint{font-size:var(--fs-xs);color:var(--fg-subtle);margin-top:var(--sp-2);display:block}.drop-zone__hint kbd{font:inherit;border:1px solid var(--border);border-radius:var(--r-xs);padding:1px 5px}@media (max-width:640px){.drop-zone{padding:var(--sp-6) var(--sp-4);margin:var(--sp-4)}}.page-strip{flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.page-canvas{background:var(--paper);box-shadow:var(--shadow-page);border-radius:var(--r-2xs)}.page-canvas canvas{border-radius:var(--r-2xs);display:block}.page-skeleton{aspect-ratio:210/297;border-radius:var(--r-2xs);background:linear-gradient(100deg, var(--skeleton-a) 40%, var(--skeleton-b) 50%, var(--skeleton-a) 60%);background-size:200% 100%;width:min(70vw,744px);margin:24px auto;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position-x:-200%}}@media (prefers-reduced-motion:reduce){.page-skeleton{animation:none}}.error-panel{text-align:center;color:var(--danger);max-width:48ch;margin:auto}.error-panel p{color:var(--fg-dim)}.sidebar{background:var(--bg-chrome);border-right:1px solid var(--border);flex-direction:column;flex:none;width:232px;min-height:0;display:flex}.sidebar__tabs{border-bottom:1px solid var(--border);gap:2px;padding:6px;display:flex}.sidebar__tab{height:30px;color:var(--fg-dim);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-lg);background:0 0;border:1px solid #0000;flex:1}.sidebar__tab:hover{background:var(--bg-hover);color:var(--fg)}.sidebar__tab--active{background:var(--accent-soft);border-color:var(--accent);color:var(--fg)}.sidebar__tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sidebar__body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.thumb-rail{height:100%;padding:10px 0;overflow:auto}.thumb-rail__content{position:relative}.thumb-row{cursor:pointer;border-radius:var(--r-sm);flex-direction:column;align-items:center;gap:3px;padding:4px 0;display:flex;position:absolute;left:0;right:0}.thumb-row:hover .thumb-box{outline:2px solid var(--border-strong)}.thumb-row--active .thumb-box{outline:2px solid var(--accent)}.thumb-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.thumb-box{background:var(--paper);box-shadow:var(--e-1);border-radius:var(--r-2xs);overflow:hidden}.thumb-canvas{width:100%;height:100%}.thumb-canvas canvas{display:block}.thumb-label{font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums}.thumb-row--active .thumb-label{color:var(--fg)}.outline-panel{font-size:var(--fs-md);padding:6px 4px}.outline-panel--empty{color:var(--fg-dim);text-align:center;padding:24px 16px}.outline-item__row{align-items:flex-start;gap:2px;display:flex}.outline-item__toggle{width:18px;height:22px;color:var(--fg-dim);cursor:pointer;font-size:var(--fs-xs);background:0 0;border:none;flex:none}.outline-item__toggle--leaf{cursor:default}.outline-item__label{text-align:left;color:var(--fg);cursor:pointer;border-radius:var(--r-xs);text-overflow:ellipsis;-webkit-line-clamp:2;background:0 0;border:none;-webkit-box-orient:vertical;flex:1;padding:2px 4px;line-height:1.35;display:-webkit-box;overflow:hidden}.outline-item__label:hover{background:var(--bg-hover)}.outline-item__label:focus-visible,.outline-item__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.outline-item__ext{color:var(--accent)}.results-panel{flex-direction:column;gap:2px;padding:6px 4px;display:flex}.results-panel--empty{color:var(--fg-dim);text-align:center;padding:24px 16px}.results-panel__cta{background:var(--accent-soft);border:1px solid var(--accent);color:var(--fg);border-radius:var(--r-sm);cursor:pointer;padding:8px 14px}.result-row{text-align:left;color:var(--fg);cursor:pointer;border-radius:var(--r-sm);font-size:var(--fs-sm);background:0 0;border:none;align-items:baseline;gap:8px;padding:6px;line-height:1.35;display:flex}.result-row:hover{background:var(--bg-hover)}.result-row--active{background:var(--accent-soft)}.result-row:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.result-row__page{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none}.result-row__ctx{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-row__ctx mark{background:color-mix(in srgb, var(--mark-bg) 60%, transparent);color:inherit;border-radius:var(--r-2xs)}.format-bar{z-index:var(--z-bar);border-radius:var(--r-lg);background:var(--bg-chrome);border:1px solid var(--border);box-shadow:var(--e-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:0 8px;display:flex;position:fixed}.format-bar__swatch{border:1px solid var(--swatch-ring);border-radius:var(--r-full);cursor:pointer;width:22px;height:22px;padding:0}.format-bar__swatch:hover{transform:scale(1.12)}.format-bar__swatch:focus-visible,.format-bar__clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.format-bar__swatch--on{box-shadow:0 0 0 2px var(--bg-chrome), 0 0 0 4px var(--sel-strong)}.format-bar__sep{background:var(--border);width:1px;height:20px;margin:0 2px}.format-bar__clear{width:22px;height:22px;font-size:var(--fs-lg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-full);cursor:pointer;background:0 0;padding:0;line-height:1}.format-bar__clear:hover{background:var(--bg-hover)}.format-bar__step{width:22px;height:22px;font-size:var(--fs-lg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:0;line-height:1}.format-bar__step:hover{background:var(--bg-hover)}.format-bar__step:focus-visible,.format-bar__size:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.format-bar__size{min-width:34px;height:24px;font-family:var(--font-ui);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;color:var(--fg);border-radius:var(--r-sm);cursor:text;background:0 0;border:1px solid #0000;padding:0 3px}.format-bar__size:hover{border-color:var(--border)}.format-bar__size--typing,.format-bar__size--typing:hover{background:var(--bg-stage);border-color:var(--accent)}.format-bar__size-all{background:var(--accent-soft)}.format-bar__size-draft:after{content:"";vertical-align:text-bottom;background:currentColor;width:1px;height:1.1em;margin-left:1px;animation:1s step-end infinite size-caret;display:inline-block}@keyframes size-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.format-bar__size-draft:after{animation:none}}.format-bar__toggle{width:24px;height:24px;font-family:Georgia,Times New Roman,serif;font-size:var(--fs-lg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:0;line-height:1}.format-bar__toggle:hover{background:var(--bg-hover)}.format-bar__toggle--on{color:var(--accent-fg);background:var(--sel-strong);border-color:var(--sel-strong)}.format-bar__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.format-bar__family{width:116px;height:24px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:0 6px;display:flex}.format-bar__family:hover,.format-bar__family[aria-expanded=true]{background:var(--bg-stage)}.format-bar__family-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.format-bar__family-caret,.colour-button__caret{border-left:3.5px solid #0000;border-right:3.5px solid #0000;border-top:4px solid var(--fg-dim);width:0;height:0}.colour-button{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;align-items:center;gap:4px;height:26px;padding:0 5px;display:inline-flex}.colour-button:hover,.colour-button[aria-expanded=true]{background:var(--bg-hover)}.colour-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.colour-button__chip{border:1px solid var(--swatch-ring);border-radius:var(--r-full);width:16px;height:16px}.colour-button__chip--empty{background:linear-gradient(to top right, transparent calc(50% - 1px), var(--fg-dim) calc(50% - 1px), var(--fg-dim) calc(50% + 1px), transparent calc(50% + 1px))}.colour-button__glyph{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.colour-button__letter{color:var(--fg);font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700;line-height:1}.colour-button__bar{width:18px;height:5px;box-shadow:0 0 0 1px var(--border-strong);border-radius:1.5px}.colour-button__bar--empty{background:repeating-linear-gradient(-45deg, var(--fg-dim) 0 2px, transparent 2px 4px)}.colour-palette{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--e-2);-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;padding:8px;display:flex}.colour-palette__grid{grid-template-columns:repeat(5,22px);gap:6px;display:grid}.colour-palette__none{height:26px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;--icon-size:16px;background:0 0;align-items:center;gap:6px;padding:0 6px;display:flex}.colour-palette__none:hover:not(:disabled){background:var(--bg-hover)}.colour-palette__none[aria-checked=true]{color:var(--accent);border-color:var(--accent)}.colour-palette__none:disabled{opacity:.45;cursor:default}.font-picker{z-index:var(--z-nested);color:var(--fg);background:var(--bg-chrome);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-2);font-family:var(--font-ui);font-size:var(--fs-md);flex-direction:column;gap:4px;padding:6px;display:flex;position:fixed}.font-picker__search{height:26px;color:var(--fg);background:var(--bg-stage);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;padding:0 8px}.font-picker__list{flex:1;min-height:0;overflow-y:auto}.font-picker__heading{color:var(--fg-dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 2px}.font-picker__option{border-radius:var(--r-sm);cursor:pointer;height:30px;font-size:var(--fs-lg);align-items:center;gap:6px;padding:0 8px;line-height:1;display:flex}.font-picker__option[data-active=true]{background:var(--accent);color:var(--accent-fg)}.font-picker__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.font-picker__tick{border:2px solid;border-width:0 2px 2px 0;width:6px;height:10px;margin-inline-end:2px;transform:rotate(45deg)}.font-picker__empty{color:var(--fg-dim);padding:10px 8px}.font-picker__grant{height:28px;color:var(--fg);background:var(--bg-stage);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font:inherit;text-align:left;padding:0 8px}.font-picker__grant:hover{border-color:var(--accent)}.font-picker__note{color:var(--fg-dim);font-size:var(--fs-xs);padding:6px 8px;line-height:1.35}.add-text-layer{transform-origin:0 0;z-index:var(--z-add);cursor:crosshair;--px:calc(1px / var(--zoom,1));position:absolute;top:0;left:0}.add-text-layer__band{pointer-events:none;box-shadow:inset 0 0 0 var(--px) var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);position:absolute}.add-image-layer{transform-origin:0 0;z-index:var(--z-add);cursor:crosshair;--px:calc(1px / var(--zoom,1));position:absolute;top:0;left:0}.add-image-layer__ghost{pointer-events:none;opacity:.65;outline:var(--px) dashed var(--accent);outline-offset:0;position:absolute}.add-image-layer__band{pointer-events:none;box-shadow:inset 0 0 0 var(--px) var(--accent);position:absolute}.block-layer__shape-ghost{z-index:var(--z-chrome);pointer-events:none;opacity:.85;position:absolute;top:0;left:0;overflow:visible}.add-shape-layer{transform-origin:0 0;z-index:var(--z-add);cursor:crosshair;--px:calc(1px / var(--zoom,1));position:absolute;top:0;left:0}.add-shape-layer[data-kind=ink]{cursor:cell}.add-shape-layer__ghost{pointer-events:none;opacity:.7;position:absolute;top:0;left:0;overflow:visible}.add-shape-layer__band{pointer-events:none;box-shadow:inset 0 0 0 var(--px) var(--accent);position:absolute}.shape-bar{gap:3px}.shape-bar__width{align-items:center}.shape-bar__rule{border-radius:var(--r-2xs);background:currentColor;width:15px;display:block}.image-bar__btn.shape-bar__menu{gap:3px;width:auto;min-width:28px;padding:0 5px}.shape-bar__value{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.shape-bar__choices{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);min-width:96px;box-shadow:var(--e-2);flex-direction:column;gap:1px;padding:4px;display:flex}.shape-bar__choices button{text-align:left;height:28px;font-family:var(--font-ui);font-size:var(--fs-md);color:var(--fg);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;padding:0 10px}.shape-bar__choices button:hover{background:var(--btn-bg-hover)}.shape-bar__choices button[aria-checked=true]{color:var(--accent);background:var(--accent-soft)}.shape-bar__choices button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shape-menu{display:inline-flex}.shape-menu__grid{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--e-2);grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;display:grid}.icon-menu{border-radius:var(--r-md);background:var(--surface);max-height:min(440px,70vh);box-shadow:var(--e-2);flex-direction:column;gap:8px;padding:8px;display:flex;overflow-y:auto}.icon-menu__heading{font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--fg-dim);margin:0 2px 4px}.icon-menu__grid{grid-template-columns:repeat(8,32px);gap:2px;display:grid}.icon-menu__status{font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--fg-dim);padding:12px}.icon-menu__glyph,.icon-bar__glyph{fill:currentColor;pointer-events:none;width:18px;height:18px}.icon-bar__size{text-align:center;min-width:38px}.shape-menu__item{border-radius:var(--r-sm);width:32px;height:32px;font-size:var(--fs-xl);cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.shape-menu__item:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.shape-menu__item[aria-checked=true]{background:color-mix(in srgb, var(--accent) 22%, transparent)}.shape-menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.image-bar{z-index:var(--z-bar);border-radius:var(--r-lg);background:var(--bg-chrome);border:1px solid var(--border);box-shadow:var(--e-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:2px;padding:0 6px;display:flex;position:fixed}.image-bar__btn{width:28px;height:26px;font-family:var(--font-ui);font-size:var(--fs-lg);color:var(--fg);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.image-bar__btn:hover:not(:disabled){background:var(--bg-hover)}.image-bar__btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.image-bar__btn:disabled{opacity:.35;cursor:default}.image-bar__btn--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.image-bar__angle{min-width:34px;font-family:var(--font-ui);font-size:var(--fs-xs);text-align:center;color:var(--fg-dim);font-variant-numeric:tabular-nums;padding:0 2px}.image-bar__sep{background:var(--border);width:1px;height:16px;margin:0 3px}.sidebar-scrim{z-index:var(--z-pill);cursor:default;background:var(--backdrop);border:none;padding:0;animation:.12s scrim-in;display:none;position:absolute;inset:0}@keyframes scrim-in{0%{opacity:0}}@media (max-width:1200px){.sidebar{width:200px}}@media (max-width:900px){.workspace{position:relative}.sidebar-scrim{z-index:var(--z-menu);display:block}.sidebar{width:264px;max-width:82vw;z-index:var(--z-menu);box-shadow:var(--e-3);animation:.16s drawer-in;position:absolute;top:0;bottom:0;left:0}@keyframes drawer-in{0%{transform:translate(-100%)}}.topbar__file{max-width:22ch}}@media (max-width:640px){.workspace{flex-direction:column}.viewer-region{order:1}.tool-rail{width:100%;height:var(--rail-thickness);padding:0 var(--sp-1);border-right:none;border-top:1px solid var(--border);flex-direction:row;order:2;gap:0;overflow:auto hidden}.tool-rail .btn--rail{margin-inline:auto}.tool-rail__sep{width:1px;height:24px;margin:0 var(--sp-1)}.tool-rail__segmented{flex-direction:row}.sidebar,.sidebar-scrim{bottom:var(--rail-thickness)}.topbar{height:48px;padding:0 var(--sp-1);gap:2px}.topbar__pages{margin-left:var(--sp-1)}.topbar__file,.topbar__page-total{display:none}.topbar__brand{font-size:var(--fs-md);padding-left:0}.topbar__group{gap:0;margin:0;padding:0}.topbar__badge-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar__badge{padding:3px}.topbar .topbar__wide{display:none}.overflow-menu__list .overflow-menu__narrow{display:flex}.view-bar{height:44px;padding:0 var(--sp-1);gap:0}.view-bar__sep{margin:0 2px}.search-bar__input{width:min(200px,40vw)}}@media (max-width:420px){.topbar__name{display:none}.topbar .btn--icon{width:min(40px, var(--control-h));min-width:min(40px, var(--control-h))}.topbar .btn--primary{padding:0 var(--sp-2)}}@media (pointer:coarse){:root{--control-h:44px;--icon-size:22px}.btn--sm{min-width:38px;height:38px}.btn--sm.btn--icon{width:38px}.workspace{--rail-thickness:64px;--rail-tool:48px}.tool-rail__segmented button{min-height:36px}.sidebar__tab{height:40px}}.translit-popup{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-width:190px;max-width:min(360px,100vw - 16px);box-shadow:var(--e-2);font-family:var(--font-ui);color:var(--fg);-webkit-user-select:none;user-select:none;padding:4px}.translit-popup__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;padding:4px 8px 6px;display:flex}.translit-popup__latin{font-size:var(--fs-md);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}.translit-popup__lang{font-size:var(--fs-xs);color:var(--fg-dim);white-space:nowrap}.translit-popup__list{margin:0;padding:0;list-style:none}.translit-popup__option{border-radius:var(--r-sm);cursor:pointer;min-height:32px;font-size:var(--fs-xl);align-items:center;gap:10px;padding:4px 8px;line-height:1.5;display:flex}.translit-popup__option:hover{background:var(--btn-bg-hover)}.translit-popup__option[data-active=true]{background:var(--accent-soft)}.translit-popup__option--latin{font-size:var(--fs-md);color:var(--fg-dim)}.translit-popup__key{border:1px solid var(--border);border-radius:var(--r-xs);min-width:18px;font-family:var(--font-ui);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:center;color:var(--fg-dim);flex:none;padding:0 4px;line-height:16px}.translit-popup__option[data-active=true] .translit-popup__key{border-color:var(--accent);color:var(--accent)}.translit-popup__tag{font-size:var(--fs-xs);color:var(--fg-dim);margin-left:auto}.translit-popup__foot{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--fg-dim);margin-top:2px;padding:6px 8px 2px}.typing-lang__badge{font-size:var(--fs-lg);pointer-events:none;font-weight:600;line-height:1}.typing-lang__menu{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-width:220px;box-shadow:var(--e-2);font-family:var(--font-ui);flex-direction:column;gap:1px;padding:4px;display:flex}.typing-lang__item{border-radius:var(--r-sm);color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding:6px 10px;display:grid}.typing-lang__item:hover{background:var(--btn-bg-hover)}.typing-lang__item[aria-checked=true]{background:var(--accent-soft)}.typing-lang__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.typing-lang__native{font-size:var(--fs-lg)}.typing-lang__name{font-size:var(--fs-sm);color:var(--fg-dim)}.typing-lang__example{font-size:var(--fs-xs);color:var(--fg-dim);grid-column:1/-1}.typing-lang__hint{font-size:var(--fs-xs);color:var(--fg-dim);margin:4px 10px 2px}.typing-lang__forget{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--fg);font-family:var(--font-ui);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;margin:2px 6px 4px;padding:6px 8px}.typing-lang__forget:hover{background:var(--btn-bg-hover)}
@font-face{font-family:pdfstudio-arimo;src:url(/fonts/Arimo-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-arimo;src:url(/fonts/Arimo-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-arimo;src:url(/fonts/Arimo-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-arimo;src:url(/fonts/Arimo-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-tinos;src:url(/fonts/Tinos-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-tinos;src:url(/fonts/Tinos-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-tinos;src:url(/fonts/Tinos-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-tinos;src:url(/fonts/Tinos-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-cousine;src:url(/fonts/Cousine-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-cousine;src:url(/fonts/Cousine-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-cousine;src:url(/fonts/Cousine-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-cousine;src:url(/fonts/Cousine-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-carlito;src:url(/fonts/Carlito-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-carlito;src:url(/fonts/Carlito-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-carlito;src:url(/fonts/Carlito-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-carlito;src:url(/fonts/Carlito-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-caladea;src:url(/fonts/Caladea-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-caladea;src:url(/fonts/Caladea-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-caladea;src:url(/fonts/Caladea-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-caladea;src:url(/fonts/Caladea-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-noto-sans;src:url(/fonts/NotoSans-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-noto-sans;src:url(/fonts/NotoSans-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-noto-sans;src:url(/fonts/NotoSans-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-noto-sans;src:url(/fonts/NotoSans-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-gelasio;src:url(/fonts/Gelasio-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-gelasio;src:url(/fonts/Gelasio-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-gelasio;src:url(/fonts/Gelasio-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-gelasio;src:url(/fonts/Gelasio-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-selawik;src:url(/fonts/Selawik-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-selawik;src:url(/fonts/Selawik-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-eb-garamond;src:url(/fonts/EBGaramond-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-eb-garamond;src:url(/fonts/EBGaramond-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-eb-garamond;src:url(/fonts/EBGaramond-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-eb-garamond;src:url(/fonts/EBGaramond-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-libre-franklin;src:url(/fonts/LibreFranklin-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-libre-franklin;src:url(/fonts/LibreFranklin-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-libre-franklin;src:url(/fonts/LibreFranklin-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-libre-franklin;src:url(/fonts/LibreFranklin-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-urw-palatino;src:url(/fonts/P052-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-urw-palatino;src:url(/fonts/P052-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-urw-palatino;src:url(/fonts/P052-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-urw-palatino;src:url(/fonts/P052-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-urw-gothic;src:url(/fonts/URWGothic-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-urw-gothic;src:url(/fonts/URWGothic-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-urw-gothic;src:url(/fonts/URWGothic-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-urw-gothic;src:url(/fonts/URWGothic-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-comic-neue;src:url(/fonts/ComicNeue-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-comic-neue;src:url(/fonts/ComicNeue-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-comic-neue;src:url(/fonts/ComicNeue-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-comic-neue;src:url(/fonts/ComicNeue-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-inconsolata;src:url(/fonts/Inconsolata-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-inconsolata;src:url(/fonts/Inconsolata-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-poppins;src:url(/fonts/Poppins-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-poppins;src:url(/fonts/Poppins-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-poppins;src:url(/fonts/Poppins-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-poppins;src:url(/fonts/Poppins-BoldItalic.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-anton;src:url(/fonts/Anton-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-noto-sans-bengali;src:url(/fonts/NotoSansBengali-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-noto-sans-bengali;src:url(/fonts/NotoSansBengali-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-kalpurush;src:url(/fonts/Kalpurush-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-hind-siliguri;src:url(/fonts/HindSiliguri-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-hind-siliguri;src:url(/fonts/HindSiliguri-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-tiro-bangla;src:url(/fonts/TiroBangla-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-tiro-bangla;src:url(/fonts/TiroBangla-Italic.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:pdfstudio-noto-sans-devanagari;src:url(/fonts/NotoSansDevanagari-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-noto-sans-devanagari;src:url(/fonts/NotoSansDevanagari-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-lohit-devanagari;src:url(/fonts/Lohit-Devanagari-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-lohit-bengali;src:url(/fonts/Lohit-Bengali-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-arya;src:url(/fonts/Arya-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-arya;src:url(/fonts/Arya-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-laila;src:url(/fonts/Laila-Regular.ttf?v=2026-10-07)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:pdfstudio-laila;src:url(/fonts/Laila-Bold.ttf?v=2026-10-07)format("truetype");font-weight:700;font-style:normal;font-display:swap}
