:root{--desk:#e3e5ea;--panel:#fbfbfc;--panel-2:#eff1f4;--ink:#1b1f27;--muted:#5b6372;--line:#d2d6de;--accent:#2753c4;--accent-ink:#fff;--accent-soft:#e2e9fa;--warn:#8a5a00;--danger:#c0262d;--danger-ink:#fff;--ok:#1d7a4b;--swatch-ring:color-mix(in srgb, var(--ink) 30%, var(--line));--page-shadow:0 1px 2px #12162024, 0 8px 28px #1216201a;--ui-font:-apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ui-font);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px}@media (prefers-color-scheme:dark){:root{--desk:#111318;--panel:#1a1d24;--panel-2:#22262f;--ink:#e6e8ed;--muted:#9aa1ae;--line:#313743;--accent:#86a6ff;--accent-ink:#0c1222;--accent-soft:#232d49;--warn:#e9b65c;--danger:#ff8080;--danger-ink:#111318;--ok:#62d39c;--swatch-ring:color-mix(in srgb, var(--ink) 45%, var(--line));--page-shadow:0 1px 2px #00000080, 0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{height:var(--app-height,100%)}body{background:var(--desk);overscroll-behavior:none}.startup-state{text-align:center;place-items:center;gap:16px;min-height:100%;padding:24px;display:grid}.startup-state h1{margin:0 0 12px;font-size:22px}.startup-state p{max-width:36em;color:var(--muted);line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100%;height:var(--app-height,100dvh);grid-template:"top""tools""context""work"minmax(0,1fr)/minmax(0,1fr);display:grid;position:relative}.workspace{z-index:0;grid-area:work;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.workspace.has-sidebar{grid-template-columns:172px minmax(0,1fr)}.topbar,.tooldock{background:var(--panel);-webkit-user-select:none;user-select:none;position:relative}.topbar{z-index:12;grid-area:top}.toolbar-row.topbar{padding-top:max(8px, env(safe-area-inset-top));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.app:not(.has-doc) .topbar{border-bottom:1px solid var(--line)}.tooldock{z-index:11;grid-area:tools}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.brand{flex:1 1 0;align-items:center;gap:10px;min-width:0;display:flex}@media (min-width:1280px){.brand{min-width:320px}}@media (max-width:1500px){.app.has-doc .brand-version{display:none}}.brand-mark{flex:none;width:18px;height:22px}.brand>.icon-btn,.brand>.brand-home,.brand>.link-btn{flex:none}.brand-home{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;margin-left:-6px;padding:4px 6px;display:flex}.brand-home:hover{background:var(--panel-2)}.brand-name{letter-spacing:.01em;white-space:nowrap;font-weight:650}.brand-version{background:var(--panel-2);color:var(--muted);letter-spacing:.02em;cursor:default;border-radius:999px;flex:none;align-self:center;margin-left:-4px;padding:1px 6px;font-size:12px}.file-chip{background:var(--panel-2);min-width:0;max-width:280px;color:var(--muted);border-radius:999px;align-items:baseline;gap:8px;padding:3px 10px;font-size:13px;display:inline-flex}.file-name{white-space:nowrap;min-width:0;color:var(--ink);display:inline-flex}.file-name-head{text-overflow:ellipsis;min-width:0;overflow:hidden}.file-name-tail{flex:none}.file-meta{font-variant-numeric:tabular-nums;flex:none}.link-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:2px 4px;font-size:13px}.link-btn:hover:not(:disabled){text-decoration:underline}.toolbar-tools{gap:8px;padding-top:0}.tool-scroller{flex-wrap:wrap;flex:auto;gap:8px;min-width:0;display:flex}.tool-group{background:var(--panel-2);border-radius:10px;gap:1px;padding:2px;display:flex}.tool-btn{min-width:48px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:5px 6px 4px;font-size:12px;line-height:1.2;display:flex}.tool-btn:hover{color:var(--ink)}.tool-btn:is([aria-pressed=true],[aria-expanded=true]){background:var(--panel);color:var(--accent);box-shadow:0 1px 2px #0000001f}.undo-group{gap:2px;display:flex}.menu{display:flex;position:relative}.menu-fixed{z-index:70}.menu-panel{z-index:30;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);box-shadow:0 12px 32px #0000002e}.menu-left{left:0}.menu-right{right:0}.mark-menu{grid-template-columns:repeat(2,1fr);gap:2px;width:190px;display:grid}.mark-option{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.mark-option:hover{background:var(--panel-2)}.mark-option svg{width:18px;height:18px}.context-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);flex-wrap:wrap;grid-area:context;align-items:center;gap:6px 16px;min-height:42px;padding:5px 12px;display:flex}.context-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.context-bar .segmented{background:color-mix(in srgb, var(--line) 60%, var(--panel-2))}.context-bar .hint{min-width:0;color:var(--muted);flex:260px;margin:0;font-size:12.5px}.context-bar .hint b{color:var(--ink);font-weight:650}.context-bar .hint.is-selected{text-overflow:ellipsis;white-space:nowrap;flex-basis:96px;overflow:hidden}.size-chip{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px}.choice:has(input:checked) .size-chip{color:var(--ink)}button.size-chip{padding:0}.context-note{color:var(--muted);font-size:12px}.context-label{color:var(--muted);white-space:nowrap;font-size:12.5px}.source-note{background:var(--accent-soft);max-width:260px;color:var(--accent);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;padding:3px 9px;font-size:12px;overflow:hidden}.source-note.is-open{white-space:normal;border-radius:12px;max-width:none}.seg-btn.font-serif{font-family:Noto Serif TC,Songti TC,serif}.seg-btn.font-kai{font-family:LXGW WenKai TC,Kaiti TC,BiauKai,serif}.seg-icon{padding:4px 7px}.toggle-btn{width:30px;height:30px;font-size:15px}.toggle-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.check-inline{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.check-inline input{accent-color:var(--accent);margin:0}.stroke-sample{vertical-align:middle;background:currentColor;border-radius:2px;width:14px;margin-right:2px;display:inline-block}.eraser-sample{vertical-align:middle;background:currentColor;border-radius:50%;margin-right:2px;display:inline-block}.segmented{background:var(--panel-2);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.seg-btn:hover{color:var(--ink)}.seg-btn:is([aria-checked=true],[aria-pressed=true]){background:var(--panel);color:var(--accent);box-shadow:0 1px 2px #0000001f}.field{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.context-bar :is(.field,.check-inline){white-space:nowrap;flex:none}.field input{border:1px solid var(--line);background:var(--panel);text-align:right;font-variant-numeric:tabular-nums;border-radius:6px;width:52px;padding:4px 6px}.unit{font-size:12px}.swatches{align-items:center;gap:6px;display:inline-flex}.swatch{--swatch:transparent;border:2px solid var(--panel);background:var(--swatch);width:24px;height:24px;box-shadow:0 0 0 1px var(--swatch-ring);cursor:pointer;border-radius:50%;padding:0;position:relative}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--accent)}.swatch-custom{background:conic-gradient(#e5484d,#f5a524,#30a46c,#0091ff,#8e4ec6,#e5484d);overflow:hidden}.swatch[style*=none],.swatch-none{background:var(--panel)}.swatch-none:after{content:"";background:linear-gradient(to bottom right, transparent 44%, var(--danger,#d92d20) 44%, var(--danger,#d92d20) 56%, transparent 56%);border-radius:50%;position:absolute;inset:1px}.swatch-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.zoom{align-items:center;gap:4px;display:flex}.zoom-value{text-align:center;min-width:52px;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:13px}.zoom-value:hover,.zoom-value[aria-expanded=true]{border-color:var(--line);background:var(--panel)}.zoom-menu .menu-item{justify-content:space-between;padding:8px 12px;font-size:14px}.zoom-menu .menu-item[aria-current]{color:var(--accent);font-weight:600}.menu-key{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.menu-separator{background:var(--line);height:1px;margin:4px 6px}.topbar-nav{align-items:center;gap:8px;display:flex}@media (pointer:coarse) and (max-width:1279px){.topbar-nav .zoom{gap:0}.topbar-nav .zoom>.icon-btn{display:none}}.actions .btn{padding-inline:10px}.page-jump{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex;position:relative}.page-jump.is-out-of-range input{border-color:var(--danger);animation:.4s page-jump-shake}.page-jump-warn{z-index:31;background:var(--danger);color:var(--panel);border-radius:6px;padding:2px 7px;font-size:12px;line-height:1.4;position:absolute;top:calc(100% + 4px);left:0}.page-jump-warn:empty{display:none}@media (prefers-reduced-motion:reduce){.page-jump.is-out-of-range input{animation:none}}@keyframes page-jump-shake{0%,to{transform:none}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.page-jump input{border:1px solid var(--line);background:var(--panel);width:46px;color:var(--ink);font:inherit;text-align:center;border-radius:6px;padding:4px 2px 4px 6px}.page-jump input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.page-jump input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.icon-btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1}.icon-btn-lg{width:34px;height:34px;color:var(--muted);background:0 0;border-color:#0000;border-radius:7px;place-items:center;display:grid}.icon-btn-lg:hover:not(:disabled){background:var(--panel-2);color:var(--ink)}.icon-btn-lg[aria-pressed=true]{background:var(--panel-2);color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:default}.actions{gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-2)}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn:disabled{opacity:.6;cursor:default}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}.btn-lg{padding:10px 20px;font-size:15px;transition:transform .14s,background .14s}.btn-small{gap:4px;padding:3px 8px;font-size:12px}.badge{background:var(--accent-ink);min-width:20px;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:12px;line-height:18px}.desk{isolation:isolate;overscroll-behavior:contain;min-width:0;min-height:0;padding:28px 16px calc(72px + env(safe-area-inset-bottom));flex-direction:column;align-items:safe center;display:flex;position:relative;overflow:auto}.desk:has(.welcome){padding-bottom:calc(20px + env(safe-area-inset-bottom))}.pages{flex-direction:column;align-items:safe center;gap:28px;display:flex}.page-frame{flex-direction:column;align-items:center;gap:8px;margin:0;display:flex}.page-frame figcaption{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.page{box-shadow:var(--page-shadow);background:#fff;flex:none;position:relative}.page canvas{width:100%;height:100%;display:block}.page-overlay{touch-action:none;position:absolute;inset:0}.page-overlay:is(.tool-select,.tool-text,.tool-edit-text,.tool-note,.tool-place){touch-action:pan-x pan-y}.page-overlay:is(.tool-text,.tool-edit-text){cursor:text}.page-overlay:is(.tool-whiteout,.tool-redact,.tool-cut,.tool-edit-image,.tool-highlight,.tool-underline,.tool-strike,.tool-arrow,.tool-rect,.tool-ink,.tool-note,.tool-place){cursor:crosshair;-webkit-user-select:none;user-select:none}.anno-whiteout.is-locked,.page-overlay:not(.tool-select) :is(.anno-whiteout,.anno-redact,.anno-highlight,.anno-image,.anno-rect,.anno-mark,.vector-hit),.page-overlay:not(.tool-select,.tool-text,.tool-edit-text,.tool-note) :is(.anno-text,.anno-note){pointer-events:none}.text-layer{z-index:0;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;pointer-events:none;--min-font-size:1;--scale-round-x:1px;--scale-round-y:1px;line-height:1;position:absolute;inset:0;overflow:clip}.text-layer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.text-layer>:not(.markedContent),.text-layer .markedContent span:not(.markedContent){--font-height:0;--scale-x:1;--rotate:0deg;font-size:calc(var(--total-scale-factor) * var(--min-font-size) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(calc(1 / var(--min-font-size)))}.text-layer .markedContent{display:contents}.page-overlay.tool-select .text-layer :is(span,br){pointer-events:auto}.text-layer ::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}.run-delete{border:1px solid var(--line);background:var(--panel);color:var(--danger,#d92d20);cursor:pointer;pointer-events:auto;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;box-shadow:0 1px 3px #0000002e}.run-delete:hover{background:var(--danger,#d92d20);color:#fff;border-color:#0000}.run-delete svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;fill:none;width:12px;height:12px}.anno{position:absolute}.anno-whiteout{z-index:1}.anno-highlight{z-index:2}.anno-image{z-index:3}.anno-rect{z-index:4}.anno-mark{z-index:5}.vector-layer{z-index:6}.anno-text{z-index:7}.anno-note{z-index:8}.anno-redact{z-index:9}.decoration-layer{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.decoration-text,.decoration-watermark{white-space:pre;font-kerning:none;font-variant-ligatures:none;font-feature-settings:"kern" 0, "liga" 0, "calt" 0;position:absolute}.decoration-seal{position:absolute;overflow:hidden}.decoration-seal img{max-width:none;position:absolute;top:0}.anno-text-body{white-space:pre;font-kerning:none;font-variant-ligatures:none;font-feature-settings:"kern" 0, "liga" 0, "calt" 0;outline-offset:2px;cursor:text;min-width:4px;caret-color:var(--accent);border-radius:1px;outline:1px solid #0000;margin:0;padding:0;font-weight:400}.anno-text-body:empty:before{content:attr(data-placeholder);color:#00000059}.anno-text:hover .anno-text-body{outline:1px dashed color-mix(in srgb, var(--accent) 70%, transparent)}.anno-text.is-selected .anno-text-body,.anno-text-body:focus{outline:1px solid var(--accent)}.anno-grip{background:var(--accent);cursor:grab;opacity:0;touch-action:none;border-radius:50%;width:11px;height:11px;margin-top:-5.5px;transition:opacity .12s;position:absolute;top:50%;left:-16px;box-shadow:0 0 0 2px #fff}.anno-text:hover .anno-grip,.anno-text.is-selected .anno-grip{opacity:1}@media (hover:none){.anno-text:not(.is-selected) .anno-grip{pointer-events:none}}.anno-grip:active{cursor:grabbing}.anno-handle{z-index:1;background:var(--accent);cursor:nwse-resize;touch-action:none;border:2px solid #fff;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-7px;right:-7px}.anno-handle-x{cursor:ew-resize;top:50%;bottom:auto;right:-7px;translate:0 -50%}.eraser-mark{z-index:9;border:1.5px solid var(--accent);pointer-events:none;background:#ffffff59;border-radius:50%;position:absolute}.anno-size-tip{background:var(--ink);color:var(--desk);font:12px/1.4 var(--ui-font);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:5px;padding:2px 7px;position:absolute;top:calc(100% + 12px);right:-7px}.anno-text.is-scaling .anno-text-body{cursor:nwse-resize}.anno-whiteout,.anno-redact,.anno-highlight,.anno-image,.anno-rect,.anno-mark{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.anno-whiteout{background:#fff;outline:1px dashed #2753c4b3}.anno-whiteout:not(.is-locked):hover{outline-color:#2753c4f2}.anno-whiteout.is-locked{outline-color:#0000002e}.anno-redact{background:repeating-linear-gradient(135deg,#000000d1 0 6px,#303030d1 6px 12px);outline:1.5px solid #d92d20}.anno-redact-label{color:#fff;pointer-events:none;font-size:12px;line-height:1.3;position:absolute;top:2px;left:4px}.anno-highlight{mix-blend-mode:multiply}.anno-image img,.anno-mark svg{pointer-events:none;width:100%;max-width:none;height:100%;display:block}.anno-rect-stroke{pointer-events:none;border-style:solid;position:absolute}:is(.anno-image,.anno-highlight,.anno-rect,.anno-mark):hover{outline:1px dashed color-mix(in srgb, var(--accent) 70%, transparent)}:is(.anno-whiteout,.anno-highlight,.anno-image,.anno-rect,.anno-mark).is-selected{outline:1px solid var(--accent);outline-offset:1px}.anno-redact.is-selected{outline:2px solid var(--accent)}.anno-mark.is-selected{outline-offset:4px}.anno-mark .anno-handle{bottom:-14px;right:-14px}.vector-layer,.draft-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.draft-layer{z-index:11}.vector-hit{fill:none;stroke:#0000;pointer-events:stroke;cursor:move;touch-action:none}.vector-outline{stroke:color-mix(in srgb, var(--accent) 35%, transparent);stroke-linecap:round}.vector-handle{fill:#fff;stroke:var(--accent);pointer-events:all;cursor:grab;touch-action:none}.vector-box{fill:none;stroke:var(--accent)}.anno-note{cursor:move;filter:drop-shadow(0 1px 1px #0000004d);touch-action:none}.anno-note svg{width:100%;height:100%;display:block}.anno-note.is-selected{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.note-popover{z-index:13;border:1px solid var(--line);background:var(--panel);border-radius:10px;width:220px;padding:8px;position:absolute;box-shadow:0 8px 24px #0000002e}.note-popover textarea{border:1px solid var(--line);background:var(--panel);width:100%;height:96px;font:13px/1.5 var(--ui-font);resize:vertical;border-radius:6px;padding:6px 8px;display:block}.note-popover .anno-delete{top:-10px;right:-10px}.run-hover{z-index:10;outline:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:3px;position:absolute}.anno-draft{z-index:11;pointer-events:none;position:absolute}.anno-delete{z-index:12;background:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;top:-24px;right:-24px}.anno-delete svg{width:10px;height:10px;stroke:var(--desk);stroke-width:1.8px;stroke-linecap:round}.anno-delete:hover{background:var(--danger)}.form-layer{pointer-events:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:absolute;inset:0}.form-field{color:#111;pointer-events:auto;background:#2753c414;border:0;border-bottom:1px solid #2753c473;border-radius:2px;margin:0;padding:0 3px;position:absolute}textarea.form-field{resize:none;padding-top:2px;line-height:1.25}.form-check{accent-color:#2753c4;background:0 0;border:0;padding:0}.form-field:focus{background:#ffffffeb;outline:2px solid #2753c4}.form-field.is-filled:not(:focus,.is-focused){background:#ffffff8c;border-bottom-color:#2753c4e6}.form-layer.is-inert .form-field{pointer-events:none}.blank-layer{pointer-events:none;position:absolute;inset:0}.blank-field{box-sizing:border-box;cursor:text;pointer-events:auto;background:#2753c412;border-bottom:1px dashed #2753c480;border-radius:2px;position:absolute}.blank-field:hover{background:#2753c429;outline:1.5px solid #2753c4b3}.blank-check{cursor:pointer;border:1px dashed #2753c499}.blank-comb{background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--cells,1) - 1px), #2753c440 calc(100% / var(--cells,1) - 1px), #2753c440 calc(100% / var(--cells,1)))}.form-comb{padding:0;overflow:hidden}.form-comb.is-focused{background:#ffffffeb;outline:2px solid #2753c4}.form-comb-cell{box-sizing:border-box;text-align:center;white-space:pre;color:#111;pointer-events:none;border-left:1px dotted #2753c44d;height:100%;position:absolute;top:0}.form-comb-cell:first-child{border-left:0}.form-comb-cell.is-selected{background:#2753c438}.form-comb-cell:is(.is-caret,.is-caret-end):after{content:"";background:#2753c4;width:1.5px;animation:1s step-end infinite comb-caret;position:absolute;top:15%;bottom:15%}.form-comb-cell.is-caret:after{left:0}.form-comb-cell.is-caret-end:after{right:0}@keyframes comb-caret{50%{opacity:0}}.form-comb-input{color:#0000;caret-color:#0000;width:100%;height:100%;font:inherit;background:0 0;border:0;outline:0;margin:0;padding:0;position:absolute;inset:0}.form-comb-input::selection{background:0 0}.form-comb.is-composing .form-comb-input{color:#111;caret-color:#111;background:#fff;padding:0 3px}.form-layer.is-inert .form-comb-input{pointer-events:none}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.sidebar-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:10px 10px 8px;font-size:13px;font-weight:600;display:flex}.sidebar-title{white-space:nowrap}.sidebar-count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.sidebar-head-actions{flex:100%;gap:4px;display:flex}.sidebar-head-actions .btn{flex:1;justify-content:center}.range-input-narrow{text-align:center;width:56px}.batch-preview{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:6px;width:auto;max-width:100%;max-height:min(452px,55dvh);margin-top:8px;display:block}.sidebar-selection{background:var(--accent-soft);flex-wrap:wrap;gap:6px}.selection-actions{flex-wrap:wrap;flex:100%;gap:4px;display:flex}.selection-actions .btn{padding-inline:7px;font-weight:500}.thumb-tick{z-index:1;background:color-mix(in srgb, var(--panel) 85%, transparent);cursor:pointer;border-radius:6px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:4px;left:4px}.thumb-tick input{cursor:pointer;margin:0}.thumb-item.is-ticked .thumb{outline:2px solid var(--accent);outline-offset:1px}.thumb-list{flex-direction:column;gap:22px;margin:0;padding:6px 10px 40px;list-style:none;display:flex;overflow-y:auto}.thumb-item{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.thumb{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:4px;padding:0;line-height:0;display:block;box-shadow:0 1px 3px #0000002e}@media (hover:hover){.thumb[draggable=true]{cursor:grab}.thumb-list.is-reordering .thumb{cursor:grabbing}}.thumb-grip{z-index:1;background:color-mix(in srgb, var(--panel) 85%, transparent);color:var(--muted);letter-spacing:-.2em;opacity:0;pointer-events:none;border-radius:5px;padding:1px 3px;font-size:12px;line-height:1.2;transition:opacity .12s;position:absolute;top:6px;left:calc(50% + 34px)}.thumb-item.is-current .thumb-grip,.thumb-item:is(:hover,:focus-within) .thumb-grip{opacity:1}.sidebar-tip{border-top:1px solid var(--line);color:var(--muted);text-align:center;flex:none;margin:0;padding:6px 10px;font-size:12px}.thumb canvas{display:block}.thumb-item.is-current .thumb{border-color:var(--accent)}.thumb-item.is-dragging{opacity:.4}.thumb-footer{justify-content:space-between;align-items:center;width:120px;display:flex}.thumb-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.thumb-item.is-current .thumb-number{color:var(--accent);font-weight:600}.thumb-actions{opacity:.7;gap:1px;transition:opacity .12s;display:flex}.thumb-item.is-current .thumb-actions,.thumb-item:is(:hover,:focus-within) .thumb-actions{opacity:1}.mini-btn{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.thumb-actions .mini-danger{margin-left:4px}.thumb-more{width:44px;height:44px;margin:-8px -10px -8px 0}.thumb-more[aria-expanded=true]{background:var(--panel-2);color:var(--ink)}.page-menu .menu-item{min-height:44px}.menu-item-danger{color:var(--danger)}.menu-item-danger .icon{color:inherit}.page-menu .menu-item-danger{border-top:1px solid var(--line);border-radius:0 0 6px 6px;margin-top:4px}.mini-btn:hover:not(:disabled){background:var(--panel-2);color:var(--ink)}.mini-danger:hover:not(:disabled){color:var(--danger)}.mini-btn:disabled{opacity:.35;cursor:default}.insert-gap{z-index:1;border:1px solid var(--line);background:var(--panel);min-width:28px;height:20px;color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:12px;line-height:1;transition:color .12s;display:flex;position:absolute;bottom:-21px;left:50%;transform:translate(-50%)}.insert-gap-label{display:none}.thumb-item.is-current .insert-gap,.thumb-item:is(:hover,:focus-within) .insert-gap{color:var(--ink)}.thumb-item.is-current .insert-gap-label,.thumb-item:is(:hover,:focus-within) .insert-gap-label{display:inline}.thumb-list.is-reordering .thumb-item .insert-gap{opacity:0}.insert-gap:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.drop-line{background:var(--accent);border-radius:2px;height:3px;position:absolute;left:4px;right:4px}.drop-before{top:-10px}.drop-after{bottom:-10px}.draft-list{text-align:left;flex-direction:column;gap:8px;width:100%;margin-bottom:32px;display:flex}.draft-card{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);text-align:left;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;width:100%;padding:14px 16px;display:flex}.install-tip{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);text-align:left;border-radius:12px;align-items:flex-start;gap:10px;width:100%;margin-bottom:24px;padding:12px 6px 12px 14px;display:flex}.install-tip-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.install-tip-title{font-weight:600}.install-tip-body{color:var(--muted);font-size:13px;line-height:1.6}.install-tip-body .icon,.dialog-note .icon{vertical-align:-3px;color:var(--accent);margin:0 2px}.install-tip .btn-primary{align-self:center}.draft-text{flex-direction:column;gap:2px;min-width:0;display:flex}.draft-label{color:var(--accent);font-size:12px;font-weight:600}.draft-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}.draft-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.draft-actions{flex:none;gap:12px;display:flex}.welcome{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:900px;margin:auto 0;padding-block:28px 24px;display:flex}.welcome-intro{flex-direction:column;align-items:center;min-width:0;margin-bottom:22px;display:flex}.welcome h1{text-wrap:balance;margin:0 0 6px;font-size:25px;font-weight:650}.welcome p{color:var(--muted);text-wrap:pretty;margin:0;line-height:1.7}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0;padding:0;list-style:none;display:grid}.tool-slot{min-width:0;display:flex}.tool-card{border:1px solid var(--line);background:var(--panel);min-height:104px;font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;flex-grow:1;gap:7px;padding:16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.tool-card:disabled{opacity:.55;cursor:default}.tool-card.is-main{border:1.5px solid var(--accent)}.tool-head{color:var(--ink);align-items:center;gap:10px;font-size:15.5px;font-weight:650;display:flex}.tool-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;transition:transform .16s,background .16s,color .16s;display:grid}.tool-card.is-main .tool-icon{background:var(--accent);color:var(--accent-ink)}.tool-body{color:var(--muted);font-size:13px;line-height:1.6}@media (hover:hover){.tool-card:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-3px);box-shadow:0 8px 20px #12162017}.tool-card:hover:not(:disabled) .tool-icon{background:var(--accent);color:var(--accent-ink);transform:scale(1.08)rotate(-4deg)}.btn-lg:hover:not(:disabled){transform:translateY(-1px)}}.welcome .fineprint{font-size:13px}.welcome-drop{text-wrap:pretty;margin-top:18px}.tool-page{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:560px;margin:0;padding-block:0 24px;display:flex}.tool-page-head{align-self:stretch;align-items:center;gap:12px;margin-bottom:10px;display:flex}.tool-back{align-items:center;gap:4px;padding-left:8px;display:inline-flex}.tool-page h1{text-wrap:balance;align-items:center;gap:10px;margin:0;font-size:24px;font-weight:650;display:flex}.tool-page p{color:var(--muted);text-wrap:pretty;margin:0;line-height:1.7}.tool-drop{border:2px dashed var(--line);background:var(--panel);border-radius:16px;flex-direction:column;align-self:stretch;align-items:center;gap:12px;margin:12px 0 6px;padding:28px 20px;display:flex}.tool-drop-lead{font-size:15px;color:var(--ink)!important}.tool-drop.tool-drop-touch{background:0 0;border:0;margin:8px 0 4px;padding:0}.tool-drop-touch .btn-lg{justify-content:center;width:100%;max-width:360px;min-height:48px}.tool-note{padding:0 4px}.welcome .welcome-credit{color:var(--muted);letter-spacing:.02em;margin:26px 0 0;font-size:12px}.drop-veil{z-index:50;border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent-soft) 85%, transparent);pointer-events:none;border-radius:14px;place-items:center;display:grid;position:absolute;inset:12px}.drop-veil span{color:var(--accent);font-size:18px;font-weight:600}.notice{z-index:60;background:var(--ink);width:max-content;max-width:min(100% - 32px,max(50%,28rem));color:var(--desk);border-radius:10px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.notice-error{background:var(--danger);color:var(--danger-ink)}.notice-ok .btn{color:var(--ink)}.notice-info,.notice-progress{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-variant-numeric:tabular-nums}.notice-close{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:18px;line-height:1}.notice-wide{width:max-content;max-width:min(720px,100% - 32px)}.dialog{border:1px solid var(--line);background:var(--panel);width:min(440px,100% - 32px);max-height:calc(100% - 32px);color:var(--ink);border-radius:14px;padding:0;box-shadow:0 24px 64px #00000047}.dialog::backdrop{background:#0f121973}.dialog form{flex-direction:column;display:flex}.dialog-title{margin:0;padding:18px 20px 4px;font-size:17px;font-weight:650}.dialog-body{flex-direction:column;gap:18px;padding:12px 20px 8px;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px 18px;display:flex}@media (max-width:560px){.dialog-batch .dialog-actions .btn-primary{flex:100%;order:-1;justify-content:center}}.dialog-spacer{flex:1}.dialog-field{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.dialog-label{color:var(--muted);letter-spacing:.02em;margin-bottom:2px;padding:0;font-size:12.5px;font-weight:600;display:block}.dialog-note{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.dialog-error{color:var(--danger);margin:0;font-size:13px}.choice{cursor:pointer;align-items:center;gap:8px;min-height:30px;display:flex}.choice input[type=radio]{accent-color:var(--accent);margin:0}.range-input,.name-field input{border:1px solid var(--line);background:var(--panel);border-radius:7px;min-width:0;padding:6px 9px}.range-input{flex:1;margin-left:4px}.range-input[aria-invalid=true]{border-color:var(--danger)}.name-field{align-items:center;gap:6px;display:flex}.name-field input{font-variant-numeric:tabular-nums;flex:1}.name-ext{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.segmented-block{display:flex}.segmented-block .seg-btn{flex:1;justify-content:center}.seg-stacked{flex-direction:column;gap:0;padding-block:6px;line-height:1.3}.seg-stacked small{font-size:12.5px}.dialog-signature,.dialog-wide{width:min(620px,100% - 32px)}.dialog-section{margin:6px 0 -8px;font-size:13px;font-weight:650}.dialog-section:first-child{margin-top:0}.text-input{border:1px solid var(--line);background:var(--panel);border-radius:7px;min-width:0;padding:6px 9px}.text-input[aria-invalid=true]{border-color:var(--danger)}.password-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:4px;display:grid}.password-grid .dialog-error,.password-grid .dialog-note{grid-column:1/-1}.password-grid .text-input{width:100%}.password-row{align-items:center;gap:6px;min-width:0;display:flex}.password-row .text-input{flex:1;min-width:0}.password-row .btn-small{flex:none}.password-lead{color:var(--ink);margin:0 0 8px;font-size:13px}.date-row,.upload-row,.install-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.install-row{justify-content:space-between}.format-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;display:grid}.format-option{border:1px solid var(--line);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.format-option input{accent-color:var(--accent);margin:0}.format-option.is-checked{border-color:var(--accent);background:var(--accent-soft)}.asset-list{flex-wrap:wrap;gap:10px;display:flex}.asset-tile{position:relative}.asset-thumb{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:120px;height:58px;padding:6px;display:grid}.asset-thumb:hover{border-color:var(--accent)}.asset-thumb img{object-fit:contain;width:100%;height:100%;min-height:0}.asset-forget{background:var(--ink);width:20px;height:20px;color:var(--desk);opacity:0;cursor:pointer;border:0;border-radius:50%;padding:0;font-size:14px;line-height:1;position:absolute;top:-7px;right:-7px}.asset-tile:hover .asset-forget{opacity:1}.asset-forget:focus-visible{opacity:1}.checker{background-color:#fff;background-image:linear-gradient(45deg,#e9ebef 25%,#0000 25%),linear-gradient(-45deg,#e9ebef 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e9ebef 75%),linear-gradient(-45deg,#0000 75%,#e9ebef 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.stamp-preview{border:1px solid var(--line);border-radius:10px;place-items:center;min-height:150px;padding:12px;display:grid;overflow:hidden}.stamp-preview canvas{max-width:100%;max-height:200px}input[type=range]{width:100%;accent-color:var(--accent)}.range-value{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px}.example-box{background:var(--panel-2);border-radius:8px;margin:0;padding:10px 12px}code{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}.mapping-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.mapping-table{border-collapse:collapse;width:100%;font-size:13px}.mapping-table th{background:var(--panel-2);color:var(--muted);text-align:left;white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:600}.mapping-table code{white-space:nowrap}.mapping-table td{border-top:1px solid var(--line);padding:6px 10px}.mapping-table select{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:100%;min-width:110px;padding:4px 6px}.mapping-table select[aria-invalid=true]{border-color:var(--danger)}.sample-cell{max-width:180px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signature-toolbar{align-items:center;gap:14px;display:flex}.signature-pad{border:1px solid var(--line);background:#fff;border-radius:10px;position:relative;overflow:hidden}.signature-pad canvas{aspect-ratio:5/2;cursor:crosshair;touch-action:none;width:100%;display:block}@media (max-width:720px) and (orientation:portrait){.signature-pad canvas{aspect-ratio:5/3}}.signature-line{color:#9aa1ae;pointer-events:none;border-bottom:1px solid #c9ced8;font-size:14px;line-height:1.6;position:absolute;bottom:26%;left:7%;right:7%}.signature-placeholder{color:#aab0bb;pointer-events:none;place-items:center;font-size:15px;display:grid;position:absolute;inset:0 0 26%}.signature-recent{flex-direction:column;gap:8px;display:flex}.folder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.folder-name{border:1px solid var(--line);background:var(--panel-2);overflow-wrap:anywhere;border-radius:7px;flex:160px;align-items:center;gap:8px;min-width:0;padding:7px 10px;font-weight:600;display:inline-flex}.folder-name.is-default{color:var(--muted);font-weight:400}.folder-name svg{fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;flex:none}.check-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check-row input{accent-color:var(--accent);margin:3px 0 0}.check-row span{flex-direction:column;gap:3px;font-weight:600;display:flex}.check-row small{color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.dialog-details{border:1px solid var(--line);border-radius:9px}.dialog-details summary{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.dialog-details summary::-webkit-details-marker{display:none}.dialog-details summary .icon{color:var(--muted);transition:transform .12s}.dialog-details:not([open]) summary .icon{transform:rotate(-90deg)}.details-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500}.details-body{flex-direction:column;gap:12px;padding:4px 12px 12px;display:flex}.search-hit{z-index:10;mix-blend-mode:multiply;pointer-events:none;background:#ffc40059;border-radius:2px;position:absolute}.search-hit.is-active{background:#ff8c0073;box-shadow:0 0 0 2px #f08c00}.search-bar{z-index:5;border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:6px;width:min(420px,100% - 36px);padding:6px 8px;display:flex;position:absolute;top:10px;right:18px;box-shadow:0 8px 24px #00000029}.search-row{align-items:center;gap:4px;display:flex}.search-replace{gap:6px}.search-toggle{color:var(--muted);flex:none;padding-inline:4px 8px}.search-toggle:hover:not(:disabled),.search-toggle[aria-expanded=true]{color:var(--ink)}.search-input{flex:1;min-width:0}.search-status{min-width:54px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.search-toggle .icon{transition:transform .12s;transform:rotate(-90deg)}.search-toggle[aria-expanded=true] .icon{transform:none}.btn-danger-text{color:var(--danger)}.decoration-dialog{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;display:grid}.decoration-fields{flex-direction:column;gap:18px;min-width:0;display:flex}.decoration-preview-column{flex-direction:column;gap:8px;display:flex}.decoration-preview{border:1px solid var(--line);background:#fff;flex:none;position:relative;overflow:hidden}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12.5px}.chip:hover{border-color:var(--accent);color:var(--ink)}.inline-fields{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.field select{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:4px 6px}select.text-input{width:100%}.edge-text-row{align-items:center;gap:8px;display:flex}.edge-text-row .text-input{flex:1}.edge-preview{background:var(--panel-2);border-radius:8px;flex-direction:column;gap:4px;margin:0;padding:8px 10px;font-size:13px;list-style:none;display:flex}.edge-preview li{gap:10px;min-width:0;display:flex}.edge-preview-slot{color:var(--muted);flex:none}.range-labels{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.asset-choice[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.seal-preview{gap:6px;max-width:260px;display:flex;overflow-x:auto}.seal-preview-page{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:4px;font-size:12px;display:flex}.seal-preview-strip{background:#fff;border-right:1px dashed #9aa1ae;position:relative;overflow:hidden}.seal-preview-strip img{max-width:none;position:absolute;top:0}@media (max-width:560px){.decoration-dialog{grid-template-columns:minmax(0,1fr)}}.compact-only,.sidebar-backdrop{display:none}.action-menu{flex-direction:column;min-width:170px;display:flex}.menu-item{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.menu-item:hover:not(:disabled){background:var(--panel-2)}.menu-item:disabled{opacity:.45;cursor:default}.menu-item .icon{color:var(--muted)}.print-root{display:none}@page{margin:0}@media print{html,body{background:#fff;height:auto}#root{display:none}.print-root{display:block}.print-sheet{break-after:page;overflow:hidden}.print-sheet:last-child{break-after:auto}.print-sheet img{width:100%;max-width:none;height:100%;display:block}}@media (pointer:coarse){.menu-key{display:none}.tool-btn{min-width:52px;min-height:48px}.icon-btn{width:36px;height:36px}.icon-btn-lg{width:40px;height:40px}.btn{min-height:44px}.btn-small{min-height:32px}.context-bar .btn-small{min-height:44px}.link-btn{min-height:44px;padding-inline:10px}p .link-btn{min-height:0;padding-inline:4px;position:relative}p .link-btn:before{content:"";position:absolute;inset:-10px -6px}.seg-btn{min-height:34px;padding:6px 12px}.seg-icon{padding:6px 10px}.toggle-btn{width:38px;height:38px}.swatches{gap:8px}.swatch{width:36px;height:36px}.field input{width:64px;padding:7px 8px}.context-bar .field input[type=range]{flex:none;width:160px}.check-inline input{width:20px;height:20px}.choice{gap:12px;min-height:44px}.check-row{min-height:44px}.choice input[type=radio],.check-row input{flex:none;width:20px;height:20px}.dialog-details summary{min-height:44px}.notice{padding-block:6px}.notice-close{flex:none;width:44px;height:44px}.mark-option{padding:11px 10px;font-size:15px}.anno-delete{width:32px;height:32px;top:-38px;right:-12px}.note-popover .anno-delete{top:-16px;right:-16px}.desk{padding-top:44px}.desk:has(.tool-page){padding-top:20px}.anno-delete svg{width:12px;height:12px}.anno-handle{width:16px;height:16px;bottom:-9px;right:-9px}.anno-handle-x{border-radius:50%;top:-8px;right:-34px;translate:none}.anno-mark.is-selected{outline-offset:8px}.anno-mark .anno-handle{bottom:-26px;right:-26px}.anno-mark .anno-delete{top:-42px}.anno-grip{width:16px;height:16px;margin-top:-8px;left:-24px}.anno-handle:after,.anno-grip:after{content:"";position:absolute;inset:-12px}.anno-mark .anno-handle:after{inset:-4px -12px -12px -4px}.anno-handle-x:after{inset:-12px -12px -4px -4px}.thumb-footer{width:124px}.selection-actions .btn{min-height:44px}.insert-gap{min-width:32px}}@media (hover:none){.thumb-actions,.asset-forget{opacity:1}}@keyframes scroll-fade-start{0%{opacity:0}6%,to{opacity:1}}@keyframes scroll-fade-end{0%,94%{opacity:1}to{opacity:0}}@media (max-width:720px),(max-height:500px) and (max-width:1000px) and (pointer:coarse){.app{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top""work""context""tools"}.wide-only{display:none}.menu.compact-only{display:flex}.toolbar-row.topbar{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));border-bottom:1px solid var(--line);flex-wrap:nowrap;gap:6px}.brand{flex:auto;gap:6px;min-width:0}.app.has-doc .brand-home,.app.has-doc .brand-version,.file-meta{display:none}.file-chip{min-width:0;max-width:none;padding-inline:6px}.actions{flex:none;gap:2px;margin-left:0}.actions .btn-primary{padding-inline:8px}.toolbar-row.tooldock{padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);flex-wrap:nowrap;gap:0}.tool-scroller{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;gap:6px;overflow-x:auto}.tool-scroller::-webkit-scrollbar{display:none}.tool-group{flex:none}.dock-nav{border-left:1px solid var(--line);flex:none;align-items:center;gap:6px;margin-left:6px;padding-left:8px;display:flex}.dock-nav .page-jump-warn{top:auto;bottom:calc(100% + 6px)}@media (pointer:coarse){.dock-nav .zoom{gap:0}.dock-nav .zoom>.icon-btn{display:none}}@supports (animation-timeline:scroll()){.tool-scroller:before,.tool-scroller:after,.context-group:before,.context-group:after{content:"";z-index:2;opacity:0;pointer-events:none;flex:none;align-self:stretch;width:28px;animation:none;animation-timeline:scroll(inline);position:sticky}.tool-scroller:before,.context-group:before{animation-name:scroll-fade-start;left:0}.tool-scroller:after,.context-group:after{animation-name:scroll-fade-end;right:0}.tool-scroller:before{background:linear-gradient(to right, var(--panel), transparent);margin-right:-34px}.tool-scroller:after{background:linear-gradient(to left, var(--panel), transparent);margin-left:-34px}.context-group:before{background:linear-gradient(to right, var(--panel-2), transparent);margin-right:-38px}.context-group:after{background:linear-gradient(to left, var(--panel-2), transparent);margin-left:-38px}}.tooldock .menu-panel{top:auto;left:auto;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));max-height:calc(100dvh - 92px - env(safe-area-inset-bottom));position:fixed;overflow-y:auto}.context-bar{min-height:0;padding:6px max(10px, env(safe-area-inset-right)) 6px max(10px, env(safe-area-inset-left));border-bottom:0;gap:6px 10px}.context-bar:not(:has(>*)){display:none}.context-bar .hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-basis:100%;order:-1;font-size:12px;display:-webkit-box;overflow:hidden}.context-bar .hint.is-selected{white-space:normal;flex-basis:100%}.context-bar:has(#field-size) .hint{display:none}.context-group{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.context-group::-webkit-scrollbar{display:none}.context-group>*{flex:none}.workspace.has-sidebar{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:2;width:190px;position:absolute;inset:0 auto 0 0;box-shadow:8px 0 24px #0003}.sidebar-backdrop{z-index:1;background:#0f121959;display:block;position:absolute;inset:0}.desk{padding:16px 8px 32px}@media (pointer:coarse){.desk{padding-top:44px}}.pages{gap:18px}.notice{grid-area:work;place-self:end center;max-width:calc(100% - 32px);position:relative;bottom:12px;left:auto;transform:none}.welcome{padding-inline:8px}.welcome h1{font-size:21px}.desk:has(.tool-page){padding:16px 12px 32px}.tool-page h1{font-size:22px}.tool-grid{gap:9px}.tool-slot.tool-edit,.tool-slot.tool-compress{grid-column:1/-1}.tool-card{min-height:88px;padding:13px}.tool-head{font-size:14.5px}.tool-body{font-size:13px}}@media (max-width:900px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-height:620px){.welcome{padding-block:12px 18px}.welcome h1{font-size:22px}.welcome-intro{margin-bottom:16px}.tool-card{min-height:0;padding:12px 14px}.welcome-drop{margin-top:14px}.welcome .welcome-credit{margin-top:18px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.dialog form{max-height:calc(100vh - 34px);max-height:calc(100dvh - 34px)}.dialog-title,.dialog-actions{flex:none}.dialog-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.dialog-body>*{flex-shrink:0}.dialog-actions{border-top:1px solid var(--line)}.choice-text{flex-wrap:wrap;flex:auto;align-items:center;gap:2px 8px;min-width:0;display:inline-flex}.choice-tag{white-space:nowrap;border-radius:999px;padding:0 7px;font-size:12.5px;font-weight:600;line-height:20px}.choice-tag-good{background:var(--accent-soft);color:var(--accent)}.choice-tag-warn{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.quality-choice .seg-btn{white-space:normal;text-align:center;min-width:0;padding-inline:4px}.dialog-callout{border:1px solid var(--line);background:var(--panel-2);overflow-wrap:anywhere;border-radius:9px;margin:0;padding:9px 11px;font-size:13px;line-height:1.55}.summary-hint{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:400;overflow:hidden}.check-row small.cleanup-found{color:var(--ink)}@media (max-width:420px){.choice:has(.choice-text){flex-wrap:wrap}.choice:has(.choice-text) .choice-text{flex-basis:calc(100% - 26px)}.choice:has(.choice-text) .size-chip{margin-left:26px}@media (pointer:coarse){.choice:has(.choice-text) .choice-text{flex-basis:calc(100% - 32px)}.choice:has(.choice-text) .size-chip{margin-left:32px}}}
