:root{color-scheme:light;--background:#f5f7fb;--panel:#ffffff;--panel-strong:#111827;--muted:#6b7280;--border:#d9e0ea;--accent:#2563eb;--accent-weak:#dbeafe;--danger:#dc2626}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);border-radius:10px;background:#fff;color:#172033;cursor:pointer;padding:8px 12px;transition:.12s ease}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.5}.primary-button,button[data-active=true]{background:var(--accent);border-color:var(--accent);color:#fff}.page-shell{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:14px 22px;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand h1{font-size:18px;margin:0}.brand p{color:var(--muted);font-size:13px;margin:2px 0 0}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar-group{display:contents}.toolbar-group-label{align-self:center;border-left:1px solid rgba(148,163,184,.45);color:#64748b;font-size:11px;font-weight:700;letter-spacing:.04em;padding-left:8px;text-transform:uppercase}.main-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:16px;padding:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:16px}.panel h2{font-size:15px;margin:0 0 12px}.help-list,.panel p{color:var(--muted);font-size:13px;line-height:1.6}.upload-box{align-items:center;border:1.5px dashed #9fb3d2;border-radius:16px;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:160px;padding:18px;text-align:center}.upload-box input{max-width:100%}.viewer-wrap{align-items:center;display:flex;flex-direction:column;gap:20px;min-height:calc(100vh - 120px);overflow:auto}.pdf-page-card{background:#dce3ef;border:1px solid var(--border);border-radius:14px;padding:14px}.pdf-page-title{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:12px;justify-content:space-between;margin:0 0 8px}.page-rotate-controls{display:inline-flex;gap:6px}.page-rotate-controls button{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#334155;cursor:pointer;font-size:12px;font-weight:700;padding:4px 9px}.page-rotate-controls button:hover{border-color:#2563eb;color:#1d4ed8}.pdf-page-stage{background:#fff;box-shadow:0 14px 40px rgba(15,23,42,.18);position:relative}.pdf-canvas{display:block}.overlay-stage{inset:0;position:absolute}.form-row{display:grid;gap:6px;margin-bottom:12px}.form-row label{color:#334155;font-size:12px;font-weight:700}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border);border-radius:10px;padding:8px 10px;width:100%}.form-row textarea{min-height:90px;resize:vertical}.overlay-json{background:#0f172a;border-radius:12px;color:#e2e8f0;font-size:11px;max-height:220px;overflow:auto;padding:12px;white-space:pre-wrap}.empty-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:360px;text-align:center}.status-line{color:var(--muted);font-size:12px;margin:10px 0 0}.version-hint{color:#64748b;font-size:11px}.boot-hint,.version-hint{grid-column:1/-1;margin:0}.boot-hint{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e3a8a;font-size:12px;line-height:1.7;padding:10px 12px}.boot-hint--ready{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;font-size:13px;padding:10px}@media (max-width:1120px){.main-grid{grid-template-columns:1fr}}.file-button,.secondary-button{align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;color:#172033;cursor:pointer;display:inline-flex;justify-content:center;padding:8px 12px;transition:.12s ease}.file-button:hover,.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.file-button input{display:none}.secondary-button{margin-bottom:12px;width:100%}.editor-main{min-height:calc(100vh - 72px);padding:12px 16px 40px}.editor-main--empty{display:grid;place-items:start center;padding-top:60px}.upload-hero{align-items:center;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 280px;max-width:760px;width:min(100%,760px)}.upload-hero h2{font-size:28px;line-height:1.15;margin:8px 0}.upload-hero p{color:var(--muted);line-height:1.7;margin:0}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-box--hero{min-height:180px}.canvas-status-bar{align-items:center;background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:flex;font-size:12px;gap:16px;justify-content:space-between;margin:0 auto 12px;max-width:1280px;padding:8px 14px}.canvas-status-bar span:first-child{color:#334155;font-weight:700;white-space:nowrap}.workspace-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 300px;margin:0 auto;max-width:1500px}.viewer-wrap{min-width:0;padding:0 0 90px}.pdf-page-card{max-width:100%}.overlay-stage{overflow:visible}.inline-text-editor{background:transparent;border:1.5px solid #2563eb;border-radius:2px;box-shadow:0 8px 22px rgba(37,99,235,.16);font-family:inherit;line-height:1.22;margin:0;outline:none;overflow:auto;padding:0;position:absolute;resize:none;z-index:12}.inline-text-editor--comment{background:rgba(254,243,199,.96);border-color:#f59e0b}.properties-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:16px;position:sticky;top:86px}.properties-panel h2{font-size:15px;margin:0 0 12px}.properties-empty{color:var(--muted);font-size:13px;line-height:1.6;margin:0}@media (max-width:1180px){.workspace-layout{grid-template-columns:1fr}.properties-panel{order:-1;position:static}}@media (max-width:820px){.header{align-items:flex-start;flex-direction:column}.toolbar{width:100%}.upload-hero{grid-template-columns:1fr}.canvas-status-bar{align-items:flex-start;border-radius:16px;flex-direction:column}}.export-name-field{align-items:center;background:#f8fafc;border:1px solid var(--border);border-radius:10px;color:#475569;display:inline-flex;gap:7px;padding:5px 8px}.export-name-field span{font-size:12px;font-weight:700;white-space:nowrap}.export-name-field input{background:#fff;border:1px solid #dbe3ef;border-radius:8px;color:#172033;min-width:190px;padding:5px 8px}.export-name-field input:disabled{opacity:.55}.toolbar-link{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:#172033;display:inline-flex;justify-content:center;padding:8px 12px;text-decoration:none;transition:.12s ease}.toolbar-link:hover{border-color:var(--accent);color:var(--accent)}.tools-shell{margin:0 auto;max-width:1180px;min-height:100vh;padding:24px}.tools-header{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.tools-header h1{font-size:28px;letter-spacing:-.03em;margin:4px 0 6px}.tools-header p{color:var(--muted);line-height:1.6;margin:0;max-width:720px}.tools-tabs{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.tools-tabs button{align-items:flex-start;display:flex;flex-direction:column;gap:5px;min-height:92px;padding:16px;text-align:left}.tools-tabs button span{color:var(--muted);font-size:13px;line-height:1.45}.tools-tabs button[data-active=true] span{color:rgba(255,255,255,.84)}.tools-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 340px}.tool-card,.tool-result{min-height:380px}.tool-card-heading h2,.tool-result h2{font-size:18px;margin:4px 0 8px}.tool-card-heading p,.tool-note,.tool-result p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.tool-stack{display:flex;flex-direction:column;gap:14px;margin-top:18px}.compact-upload{min-height:130px}.file-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.file-list li{align-items:center;background:#f8fafc;border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:10px}.file-list span{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.file-list small{color:var(--muted);font-size:12px}.file-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.file-actions button{padding:6px 8px}.range-row{gap:8px}.range-row span{color:#334155;font-size:13px;font-weight:700}.tool-result--success{border-color:#86efac}.tool-result--warning{border-color:#fbbf24}.tool-result--error{border-color:#fca5a5}.tool-boundary{background:#f8fafc;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:6px;margin-top:18px;padding:12px}.tool-boundary strong{font-size:13px}.tool-boundary span{color:var(--muted);font-size:12px;line-height:1.55}@media (max-width:900px){.tools-header{align-items:flex-start;flex-direction:column}.tools-grid,.tools-tabs{grid-template-columns:1fr}}.compression-mode-grid,.preset-grid{display:grid;gap:10px}.compression-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compression-mode-grid button,.preset-grid button{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-height:76px;padding:12px;text-align:left}.compression-mode-grid span,.preset-grid span{color:var(--muted);font-size:12px;line-height:1.45}.compression-mode-grid button[data-active=true] span,.preset-grid button[data-active=true] span{color:rgba(255,255,255,.84)}@media (max-width:680px){.compression-mode-grid,.preset-grid{grid-template-columns:1fr}}