:root{color-scheme:light;--bg:#f9f8f5;--surface:#fff;--surface-alt:#f3f2ef;--border:#e0ddd8;--border-strong:#c8c4be;--ink:#2e3a4a;--ink-muted:#7a8a9a;--ink-faint:#a0aab4;--brand:#5878a8;--brand-hover:#486898;--brand-light:#eef2f8;--brand-ink:#fff;--accent:#e8925a;--accent-hover:#d4803e;--accent-light:#fdf3ec;--success:#3a9a6e;--warning:#d4903a;--danger:#c44040;--select:#5878a8;--select-bg:#5878a814;--shadow-sm:0 1px 3px #2e3a4a0f;--shadow-md:0 2px 8px #2e3a4a17;--shadow-lg:0 4px 20px #2e3a4a1f;--font-heading:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}@font-face{font-family:LingadooPreview;src:url(/assets/LiberationSans-Regular-cbskN6YR.ttf);font-style:normal;font-weight:400}@font-face{font-family:LingadooPreview;src:url(/assets/LiberationSans-Bold-BPt4bU5Z.ttf);font-style:normal;font-weight:700}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3{font-family:var(--font-heading)}input[type=file],select,input[type=number]{font:inherit}input[type=number],select{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 10px}input[type=number]:disabled,select:disabled{opacity:.65;color:var(--ink-muted);background:var(--surface-alt);cursor:not-allowed}button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{opacity:.55;cursor:not-allowed}.error{color:var(--danger);margin:0;font-weight:600}.home-view{flex-direction:column;align-items:center;max-width:560px;margin:0 auto;padding:80px 20px 48px;display:flex}.home-title{text-align:center;margin-bottom:40px}.home-title h1{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:2.2rem;font-weight:700}.home-title p{color:var(--ink-muted);margin:8px 0 0;font-size:1rem}.compatibility-card{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);text-align:start;border-radius:14px;margin-bottom:24px;padding:16px 18px}.compatibility-card-blocked{background:#c440400f;border-color:#c440403d}.compatibility-card-limited,.compatibility-card-checking{background:#d4903a14;border-color:#d4903a3d}.compatibility-card-title{color:var(--ink);margin-bottom:6px;font-size:.98rem;font-weight:700}.compatibility-card-text{color:var(--ink-muted);margin:0;line-height:1.45}.compatibility-card-list{color:var(--ink);gap:6px;margin:10px 0 0;padding-inline-start:18px;display:grid}.drop-zone{border:2px dashed var(--border-strong);text-align:center;cursor:pointer;width:100%;color:var(--ink-muted);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;transition:border-color .2s,background .2s,transform .15s;display:flex}.drop-zone:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);transform:scale(1.01)}.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-light);color:var(--accent);border-style:solid;transform:scale(1.02)}.drop-zone-icon{opacity:.6;width:56px;height:56px;margin-bottom:4px}.drop-zone:hover .drop-zone-icon,.drop-zone.drag-over .drop-zone-icon{opacity:1}.drop-zone-text{font-size:1rem;font-weight:500}.drop-zone-browse{opacity:.7;font-size:.85rem}.home-steps{gap:24px;width:100%;margin-top:40px;display:flex}[dir=rtl] .home-steps{direction:rtl}.home-step{text-align:center;flex:1}.home-step-number{background:var(--brand-light);width:28px;height:28px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-flex}.home-step-label{color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:600}.home-step-desc{color:var(--ink-muted);font-size:12px;line-height:1.4}.public-links{color:var(--ink-muted);justify-content:center;align-items:center;gap:10px;margin-top:28px;font-size:.86rem;display:flex}.public-links a{color:var(--brand-hover);font-weight:600;text-decoration:none}.public-links a:hover{text-decoration:underline}.doc-list{flex-direction:column;gap:1px;display:flex}.doc-list-header{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:8px;font-size:.85rem;font-weight:600}.doc-list-row{cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;transition:background .1s;display:flex}.doc-list-row:hover{background:var(--surface-alt)}.doc-list-row-info{flex:1}.doc-list-row-name{color:var(--ink);font-size:.95rem;font-weight:500}.doc-list-row-meta{color:var(--ink-muted);margin-top:2px;font-size:.8rem}.doc-list-row-id{color:var(--ink-muted);background:var(--surface-alt);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:none;max-width:180px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.72rem;overflow:hidden}.editor-view{grid-template-rows:auto auto 1fr 28px;height:100vh;display:grid;overflow:hidden}.editor-body{grid-template-columns:160px 1fr 260px;display:grid;overflow:hidden}.app-bar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;min-height:52px;padding:0 16px;display:flex;box-shadow:0 1px 3px #2e3a4a0a}.app-bar--with-versions{align-items:flex-start;padding-top:8px;padding-bottom:8px}.app-bar-brand{font-family:var(--font-heading);color:var(--brand);border-right:1px solid var(--border);user-select:none;margin-right:8px;padding-right:12px;font-size:15px;font-weight:700;line-height:52px}.app-bar-center{flex:1;justify-items:center;gap:6px;min-width:0;display:grid}.app-bar-title{text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--ink-muted);font-size:13px;font-weight:500;overflow:hidden}.app-bar-actions{align-items:center;gap:8px;display:flex}.app-bar-source-link{color:var(--brand-hover);font-size:.85rem;font-weight:600;text-decoration:none}.app-bar-source-link:hover{text-decoration:underline}.editor-version-switcher{justify-items:center;gap:6px;width:100%;min-width:0;display:grid}.editor-version-tabs{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.editor-version-tab{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-version-tab:hover{border-color:var(--brand);color:var(--ink);box-shadow:inset 0 0 0 1px #465f8e26}.editor-version-tab--active{background:var(--surface);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);color:var(--ink)}.editor-version-badge{color:#0f7a53;letter-spacing:.01em;background:#0f7a531f;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:700}.editor-version-note{color:var(--ink-faint);text-align:center;font-size:12px}.editor-main{grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.editor-notices{background:var(--bg);flex-direction:column;gap:8px;padding:12px 18px 0;display:flex}.editor-notice{white-space:normal;word-break:break-word;border:1px solid #0000;border-radius:12px;width:100%;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.45;box-shadow:0 1px 2px #0f172a0a}.editor-notice.info{color:#39506f;background:#5878a81a;border-color:#5878a838}.editor-notice.warning{color:#8a4b00;background:#f59e0b24;border-color:#d9770647}.pdf-viewer-screen{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.pdf-viewer-body{flex:1;padding:20px}.pdf-viewer-frame{border:1px solid var(--border);width:100%;height:calc(100vh - 92px);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px}.editor-sidebar{border-right:1px solid var(--border);background:var(--surface-alt);padding:10px;overflow-y:auto}.editor-canvas{background:var(--bg);justify-content:center;align-items:flex-start;padding:24px;display:flex;overflow-y:auto}.editor-canvas.cursor-crosshair,.editor-canvas.cursor-crosshair .overlay-block{cursor:crosshair}.editor-properties{border-left:1px solid var(--border);background:var(--surface);padding:12px;overflow-y:auto}.sidebar-header{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);padding:4px 2px 10px;font-size:11px;font-weight:600}.status-bar{border-top:1px solid var(--border);background:var(--surface);color:var(--ink-muted);justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;display:flex}.status-meta{align-items:center;gap:12px;display:inline-flex}.status-message{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:50vw;overflow:hidden}.status-dirty{color:var(--warning);font-weight:500}.status-clean{color:var(--success)}.btn-primary{background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand);cursor:pointer;border-radius:8px;align-items:center;height:32px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 3px #5878a840}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 2px 6px #5878a84d}.btn-primary:active{transform:translateY(1px);box-shadow:0 0 #5878a800}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;height:32px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,transform .1s;display:inline-flex}.btn-secondary:hover{background:var(--surface-alt)}.btn-secondary:active{transform:translateY(1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;height:32px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.btn-ghost:hover{background:var(--surface-alt);color:var(--ink)}.btn-danger{background:var(--surface);color:var(--danger);border:1px solid var(--danger);cursor:pointer;border-radius:8px;align-items:center;height:32px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,transform .1s;display:inline-flex}.btn-danger:hover{background:#fef2f2}.btn-danger:active{transform:translateY(1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.segmented-control button:focus-visible{outline:2px solid var(--brand);outline-offset:-1px}.page-thumb:focus-visible,.drop-zone:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes modal-enter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.modal-loading{flex-direction:column;align-items:center;gap:14px;display:flex}.modal-loading__spinner{border:3px solid #fff3;border-top-color:#ffffffd9;border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}.modal-loading__label{color:#ffffffbf;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.9rem}.modal-overlay{z-index:100;backdrop-filter:blur(6px);background:#0006;justify-content:center;align-items:center;animation:.2s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:12px;width:90vw;max-width:720px;max-height:85vh;padding:24px;animation:.25s ease-out modal-enter;overflow-y:auto}.modal-content--page-picker{flex-direction:column;width:min(960px,94vw);max-width:min(960px,94vw);height:min(85vh,920px);display:flex;overflow:hidden}.modal-content--candidate-chooser{flex-direction:column;width:min(1120px,94vw);max-width:min(1120px,94vw);height:min(85vh,920px);display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.modal-close{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;font-size:18px;transition:background .15s,color .15s;display:flex}.modal-close:hover{color:var(--ink);background:var(--surface-alt)}.upload-single-page{align-items:center;gap:24px;padding:8px 0;display:flex}.upload-single-page-thumb{border:2px solid var(--border);border-radius:8px;flex:none;width:180px;overflow:hidden}.upload-single-page-thumb img{width:100%;display:block}.upload-single-page-info{flex:1;min-width:0}.upload-page-picker{flex:auto;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;min-height:0;display:grid}.page-thumb-grid-wrap{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-alt) 70%, white);overscroll-behavior:contain;border-radius:14px;min-height:0;padding:6px;overflow:auto}.page-thumb-grid-wrap--dragging{cursor:crosshair}.page-thumb-grid{user-select:none;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));align-content:start;gap:8px;margin-bottom:0;display:grid}.page-thumb-grid--dragging .page-thumb{transition:border-color 80ms,background 80ms}.page-thumb{border:2px solid var(--border);cursor:pointer;background:var(--surface);user-select:none;touch-action:manipulation;border-radius:8px;width:100%;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.page-thumb:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:scale(1.03)}.page-thumb-grid-wrap--dragging .page-thumb:hover{box-shadow:none;transform:none}.page-thumb.selected{border-color:var(--brand);background:var(--brand-light)}.page-thumb.active{border-color:var(--brand);box-shadow:var(--shadow-sm)}.page-thumb.warning{border-color:#d977068c}.page-thumb.warning.active{box-shadow:0 0 0 1px #d9770638, var(--shadow-sm);border-color:#d97706e6}.page-thumb img{pointer-events:none;user-select:none;-webkit-user-drag:none;width:100%;display:block}.page-thumb-number{color:#fff;background:#00000080;border-radius:3px;padding:1px 5px;font-size:11px;font-weight:500;position:absolute;bottom:4px;left:4px}.page-thumb-warning{color:#fff;background:#d97706f0;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #78350f47}.original-thumb-loupe{z-index:80;background-color:var(--surface);pointer-events:none;background-repeat:no-repeat;border:1px solid #0f172a24;border-radius:18px;width:200px;height:200px;position:fixed;overflow:hidden;box-shadow:0 14px 36px #0f172a33}.original-thumb-loupe:after{content:"";border-radius:inherit;border:1px solid #ffffff73;position:absolute;inset:0}.original-thumb-loupe-label{z-index:1;color:#fff;letter-spacing:.01em;background:#0f172ab8;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:10px;left:10px}.page-thumb-checkbox{border:2px solid var(--border-strong);background:var(--surface);width:20px;height:20px;color:var(--brand-ink);border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.page-thumb.selected .page-thumb-checkbox{background:var(--brand);border-color:var(--brand)}.page-thumb.dirty:after{content:"";background:var(--warning);border-radius:50%;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.page-selection-footer{border-top:1px solid var(--border);background:linear-gradient(to bottom, #fff0, var(--surface) 20px);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:12px;display:flex}.page-selection-meta{gap:4px;min-width:0;display:grid}.page-selection-count{color:var(--ink-muted);font-size:.9rem;font-weight:600}.page-selection-hint{color:var(--ink-faint);font-size:.8rem}.page-selection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.page-selection-bulk-actions{flex-wrap:wrap;gap:8px;display:flex}.candidate-chooser{flex:auto;grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px;height:100%;min-height:0;display:grid}.candidate-chooser-header{gap:6px;display:grid}.candidate-chooser-header h3{color:var(--ink);margin:0;font-size:1rem}.candidate-chooser-header p{color:var(--ink-muted);margin:0;font-size:.9rem}.candidate-tab-bar{flex-wrap:wrap;gap:8px;display:flex}.candidate-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.candidate-tab:hover{border-color:var(--brand);color:var(--ink)}.candidate-tab--active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.candidate-tab-badge{color:#0f7a53;letter-spacing:.01em;background:#0f7a531f;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:700}.candidate-tab--active .candidate-tab-badge{color:var(--brand-ink);background:#ffffff40}.candidate-preview-area{grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0;display:grid;overflow:hidden}.candidate-preview-viewport{border:1px solid var(--border);overscroll-behavior:contain;scrollbar-gutter:stable both-edges;background:#fff;border-radius:12px;height:min(50vh,520px);min-height:0;max-height:min(50vh,520px);position:relative;overflow:auto}.candidate-preview-viewport--zoomed{cursor:grab}.candidate-preview-viewport--zoomed:active{cursor:grabbing}.candidate-preview-surface{width:100%;min-width:100%}.candidate-preview-image{user-select:none;width:100%;max-width:none;display:block}.candidate-preview-nav{width:40px;color:var(--ink-muted);cursor:pointer;z-index:2;background:#ffffffb3;border:none;justify-content:center;align-items:center;font-size:1.6rem;transition:background .15s,color .15s;display:flex;position:absolute;top:0;bottom:0}.candidate-preview-nav:hover{color:var(--ink);background:#ffffffeb}.candidate-preview-nav--prev{left:0}.candidate-preview-nav--next{right:0}.candidate-preview-empty{border:1px dashed var(--border);width:100%;min-height:200px;color:var(--ink-faint);background:var(--surface-alt);border-radius:12px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.candidate-page-dots{justify-content:center;align-items:center;gap:6px;display:flex}.candidate-page-dot{background:var(--border-strong);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s,transform .15s}.candidate-page-dot:hover{background:var(--ink-muted)}.candidate-page-dot--active{background:var(--brand);transform:scale(1.25)}.candidate-preview-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;min-height:24px;display:flex}.candidate-zoom-hint{color:var(--ink-faint);font-size:.75rem}.candidate-zoom-reset{color:var(--brand);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.75rem}.candidate-zoom-reset:hover{background:var(--brand-light)}.candidate-preview-footer{text-align:center;gap:6px;padding-top:4px;display:grid}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes progress-pulse-fast{0%,to{opacity:1}50%{opacity:.65}}@keyframes phase-icon-pop{0%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes phase-complete-flash{0%{background:#3a9a6e1f}to{background:0 0}}.progress-content{flex-direction:column;justify-content:center;min-height:280px;display:flex}.progress-bar{background:var(--surface-alt);border-radius:999px;width:100%;height:6px;margin-bottom:20px;overflow:hidden}.progress-bar-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .4s ease-out;animation:1.5s ease-in-out infinite progress-pulse}.progress-bar-fill--amber{background:var(--warning);animation:1s ease-in-out infinite progress-pulse-fast}.progress-status-row{justify-content:space-between;align-items:center;min-height:1.4em;max-height:2em;margin:0 0 16px;font-size:.9rem;transition:opacity .4s ease-out,max-height .4s ease-out;display:flex;overflow:hidden}.progress-status-row--hidden{opacity:0;max-height:0;margin:0}.rotating-message{color:var(--ink-muted);font-style:italic;transition:opacity .3s}.rotating-message--fading{opacity:0}.progress-elapsed{color:var(--ink-faint);flex-shrink:0;margin-left:12px;font-size:.85rem;animation:.5s ease-out fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.phase-list{margin:0;padding:8px 0 0;list-style:none}.phase-item{padding:6px 0;font-size:.9rem}.phase-item-row{align-items:center;gap:8px;display:flex}.phase-icon{text-align:center;flex-shrink:0;width:18px;transition:transform .3s ease-out;display:inline-block}.phase-icon-pop{animation:.3s ease-out phase-icon-pop}.phase-label{flex-shrink:0}.phase-done .phase-icon{color:var(--success)}.phase-active .phase-icon{color:var(--brand)}.phase-active--amber .phase-icon{color:var(--warning)}.phase-pending{color:var(--ink-faint)}.phase-complete-anim{animation:.5s ease-out phase-complete-flash}.phase-page-counter{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8rem}.phase-sub-bar{background:var(--surface-alt);border-radius:999px;flex:1;min-width:40px;height:3px;margin:0 4px;overflow:hidden}.phase-sub-bar-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .4s ease-out}.phase-sub-bar--amber .phase-sub-bar-fill{background:var(--warning)}.enhancement-section{opacity:0;max-height:0;transition:max-height .6s ease-out,opacity .5s ease-out .1s;overflow:hidden}.enhancement-section--visible{opacity:1;max-height:200px}.enhancement-divider{border:none;border-top:1px dashed var(--border);margin:12px 0}.enhancement-notice{color:var(--ink-muted);margin:0 0 12px;font-size:.85rem;line-height:1.4}.prop-label{text-transform:none;letter-spacing:normal;color:var(--ink-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.prop-textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;border-radius:6px;min-height:60px;padding:8px;font-size:13px}.prop-textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #5878a82e}.prop-section{margin-bottom:16px}.prop-divider{border:none;border-top:1px solid var(--border);margin:12px 0}.prop-empty-state{text-align:center;color:var(--ink-faint);flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.prop-empty-state svg{opacity:.5;margin-bottom:12px}.prop-empty-state p{margin:0;font-size:12px;line-height:1.4}.prop-input{border:1px solid var(--border);width:100%;font:inherit;border-radius:6px;height:32px;padding:6px 8px;font-size:13px}.prop-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #5878a82e}.segmented-control{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented-control button{background:var(--surface);color:var(--ink-muted);cursor:pointer;border:none;border-right:1px solid var(--border);height:30px;padding:4px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.segmented-control button:last-child{border-right:none}.segmented-control button:hover{background:var(--surface-alt);color:var(--ink)}.segmented-control button.active{background:var(--brand);color:var(--brand-ink)}.segmented-control button:disabled{opacity:.5;cursor:not-allowed}.preview-stage{background:#fff;border:1px solid #d9e2ec;width:100%;margin:0 auto;scroll-margin-top:24px;position:relative;box-shadow:0 10px 30px #1723341f}.preview-pages{flex-direction:column;gap:14px;width:min(100%,1180px);display:flex}.preview-stage.active-page{box-shadow:0 0 0 2px #0f7a534d,0 10px 30px #1723341f}.preview-loading{justify-content:center;align-items:center;min-height:220px;display:flex}.preview-image{background:#fff;border:0;width:100%;display:block}.overlay-layer{pointer-events:auto;position:absolute;top:0;left:0}.table-layer{pointer-events:none;position:absolute;inset:0}.graphic-preview{pointer-events:none;z-index:0;transform-origin:50%;background-repeat:no-repeat;position:absolute}.graphic-preview.flipped{transform:scaleX(-1)}.graphic-preview-cover{pointer-events:none;z-index:0;background:#fff;position:absolute}.table-cell-fill,.table-border-line{box-sizing:border-box;pointer-events:none;position:absolute}.graphic-region{box-sizing:border-box;cursor:pointer;user-select:none;pointer-events:auto;z-index:1;background:0 0;border:none;position:absolute}.graphic-region:hover{background:#7850c814}.graphic-region.selected{background:#7850c81f;border:2px solid #7850c8e6}.graphic-region.flipped{border-color:#28a050cc}.overlay-block{box-sizing:border-box;cursor:move;user-select:none;z-index:2;background:0 0;border:1px solid #0000;position:absolute;overflow:hidden}.overlay-block.redacted{background:#dc262614;border-color:#dc2626e6}.overlay-block.nudged{background:#2563eb1a;border:2px solid #2563ebcc}.overlay-block.bidi-reconstructed-debug,.overlay-block.bidi-reconstructed-debug.nudged{background:#facc1538;box-shadow:inset 0 0 0 2px #ca8a04e6}.nudge-ghost{box-sizing:border-box;pointer-events:none;z-index:1;background:#f59e0b0f;border:2px dashed #f59e0bcc;position:absolute}.logo-debug-region{box-sizing:border-box;pointer-events:none;z-index:1;background:#f472b629;border:2px solid #ec4899eb;position:absolute}.tight-bbox-source{box-sizing:border-box;pointer-events:none;z-index:1;background:#a855f70f;border:2px dashed #a855f7d9;position:absolute}.tight-bbox-proposed{box-sizing:border-box;pointer-events:none;z-index:1;background:#16a34a0d;border:2px solid #16a34ae6;position:absolute}.overlay-block.selected{border-width:2px;border-color:var(--select);background:var(--select-bg);box-shadow:inset 0 0 0 1px #2563eb33}.overlay-block:hover:not(.selected){border:1px dashed #5878a880}.overlay-block:active{cursor:grabbing}.overlay-block-fill{pointer-events:none;z-index:0;position:absolute;inset:0}.overlay-label{white-space:pre;pointer-events:none;color:#122333;text-rendering:geometricprecision;z-index:1;padding:1px;position:absolute;inset:0;overflow:visible}.overlay-line{white-space:pre;pointer-events:none;color:inherit;text-rendering:geometricprecision;position:absolute}.resize-handle{cursor:nwse-resize;pointer-events:auto;z-index:3;background:#1c63d5;border:1px solid #fff;border-radius:2px;width:10px;height:10px;display:none;position:absolute;bottom:0;right:0;transform:translate(50%,50%)}.overlay-block.selected .resize-handle{display:block}.resize-handle--tl{cursor:nwse-resize;inset:0 auto auto 0;transform:translate(-50%,-50%)}.resize-handle--tr{cursor:nesw-resize;inset:0 0 auto auto;transform:translate(50%,-50%)}.resize-handle--bl{cursor:nesw-resize;inset:auto auto 0 0;transform:translate(-50%,50%)}.resize-handle--tl,.resize-handle--tr,.resize-handle--bl{display:none}.overlay-block.selected .resize-handle--tl,.overlay-block.selected .resize-handle--tr,.overlay-block.selected .resize-handle--bl{display:block}.lasso-rect{border:1px solid var(--select);pointer-events:none;z-index:10;background:#5878a814;position:absolute}.creation-rect{pointer-events:none;z-index:10;background:#1c63d514;border:2px solid #1c63d5;position:absolute}.overlay-inline-editor{z-index:5;box-sizing:border-box;color:#122333;resize:none;pointer-events:auto;background:#fffffff5;border:2px solid #1c63d5;border-radius:2px;outline:none;margin:0;padding:1px 2px;position:absolute;overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:4px;min-height:40px;padding:4px 16px;display:flex}.editor-toolbar-group{align-items:center;gap:2px;display:flex}.editor-toolbar-group--format{flex-wrap:wrap;gap:12px}.editor-toolbar-separator{background:var(--border);width:1px;height:24px;margin:0 6px}.toolbar-btn{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;line-height:1;transition:background .1s,border-color .1s;display:inline-flex}.toolbar-btn:hover:not(:disabled){background:var(--hover-bg,#0000000f);border-color:var(--border)}.toolbar-btn--active{background:var(--select-bg);border-color:var(--select);color:var(--select)}.toolbar-btn:disabled{opacity:.35;cursor:default}.toolbar-btn-label{font-size:12px;font-weight:500}.toolbar-btn-text{font-size:13px;font-weight:600}.toolbar-btn-text--bold{font-size:15px;font-weight:800}.toolbar-btn--compact{justify-content:center;min-width:34px;padding-inline:6px}.toolbar-btn--fit{background:#5878a814;border-radius:7px;padding-inline:10px}.toolbar-font-stepper{align-items:center;gap:4px;padding:0 2px 0 0;display:inline-flex}.toolbar-number-input{width:58px;height:28px;color:var(--ink);font:inherit;text-align:right;background:0 0;border:none;outline:none;font-size:12px;font-weight:600}.toolbar-number-input::placeholder{color:var(--ink-faint)}.toolbar-number-input:disabled{cursor:default}.toolbar-size-cluster--disabled{opacity:.58}.toolbar-number-suffix{color:var(--ink-muted);margin-right:2px;font-size:12px;font-weight:600}.toolbar-size-cluster{border:1px solid var(--border);background:linear-gradient(#ffffffe6,#f5f7faf2);border-radius:10px;align-items:stretch;gap:10px;padding:4px 8px;display:inline-flex;box-shadow:inset 0 1px #fffc}.toolbar-size-cluster__label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);align-items:center;padding-right:2px;font-size:11px;font-weight:700;display:inline-flex}.toolbar-size-cluster__controls{align-items:center;gap:4px;display:inline-flex}.toolbar-size-cluster__divider{background:var(--border);width:1px;height:22px;margin:0 2px}.editor-toolbar-subseparator{background:color-mix(in srgb, var(--border) 70%, transparent);width:1px;height:22px;margin:0 2px}.editor-toolbar-cluster{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.editor-toolbar-cluster--disabled{opacity:.58}.color-swatches{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.color-swatch{border:2px solid var(--border);cursor:pointer;border-radius:4px;width:24px;height:24px;padding:0;transition:border-color .1s}.color-swatch:hover:not(:disabled){border-color:var(--ink-muted)}.color-swatch--active{border-color:var(--select);box-shadow:0 0 0 1px var(--select)}.color-swatch:disabled{opacity:.5;cursor:default}.color-swatch--custom{cursor:pointer;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative}.color-swatch--custom input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.prop-checkbox{cursor:pointer;align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.btn-sm{padding:4px 10px;font-size:12px}.region-drag-rect{pointer-events:none;z-index:10;background:#7850c80f;border:2px dashed #7850c8cc;position:absolute}.region-selection{z-index:10;pointer-events:none;background:#7850c814;border:2px dashed #7850c8e6;position:absolute}.region-selection-actions{background:var(--surface);border:1px solid var(--border);pointer-events:auto;white-space:nowrap;border-radius:6px;gap:4px;padding:4px;display:flex;position:absolute;bottom:-36px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}
