:root{--color-canvas:#f6f7f9;--color-surface:#fff;--color-surface-hover:#fcfdfe;--color-surface-subtle:#f8fafc;--color-ink:#182027;--color-ink-secondary:#374151;--color-muted:#59636d;--color-muted-light:#94a3b8;--color-border:#dce1e7;--color-border-subtle:#eef1f5;--color-border-focus:#135fd1;--color-accent:#135fd1;--color-accent-hover:#0f4eb0;--color-accent-active:#0c3e8f;--color-accent-light:#eaf2fc;--color-accent-tint:#f0f6ff;--color-amber-ink:#92400e;--color-amber-bg:#fef3c7;--color-amber-border:#fde68a;--color-error-ink:#b91c1c;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-success-ink:#15803d;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--font-family-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-h1:clamp(34px, 4.5vw, 52px);--line-height-tight:1.15;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.6;--letter-spacing-h1:-.035em;--letter-spacing-h2:-.025em;--letter-spacing-h3:-.015em;--letter-spacing-normal:0em;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-modal:0 20px 25px -5px #0000001a, 0 8px 10px -6px #00000014;--content-max-width:1400px;--reading-max-width:72ch;--touch-target-min:44px;--transition-fast:.15s ease;--transition-normal:.2s ease;--checker-size:16px;--checker-color-1:#fff;--checker-color-2:#f0f2f5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-canvas);color:var(--color-ink);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);flex-direction:column;min-height:100vh;display:flex}.container{width:90%;max-width:var(--content-max-width);margin-left:auto;margin-right:auto}@media (min-width:1600px){.container{width:85%}}@media (max-width:640px){.container{width:95%}}h1,h2,h3,h4,h5,h6{color:var(--color-ink);font-weight:600;line-height:var(--line-height-tight)}h1{font-size:var(--font-size-h1);letter-spacing:var(--letter-spacing-h1)}h2{font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-h2)}h3{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-h3)}p{color:var(--color-ink-secondary);line-height:var(--line-height-normal)}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#announcements{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:40;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;gap:var(--spacing-4);height:64px;display:flex}.brand{align-items:center;gap:var(--spacing-2);color:var(--color-ink);font-weight:700;font-size:var(--font-size-xl);letter-spacing:-.04em;text-decoration:none;display:flex}.brand:hover{color:var(--color-ink);text-decoration:none}.brand-emblem{border-radius:var(--radius-xs);background-color:var(--color-accent);color:#fff;width:24px;height:24px;font-size:var(--font-size-xs);letter-spacing:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.brand-name{text-transform:lowercase}.brand-badge{color:var(--color-muted);background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px 6px;font-size:11px;font-weight:500}.site-nav{align-items:center;gap:var(--spacing-1);display:flex}.nav-link{color:var(--color-muted);font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);font-weight:500;text-decoration:none}.nav-link:hover{color:var(--color-ink);background-color:var(--color-surface-subtle);text-decoration:none}.header-actions{align-items:center;gap:var(--spacing-3);display:flex}.btn-nav-primary{justify-content:center;align-items:center;gap:var(--spacing-2);background-color:var(--color-accent);color:#fff;font-size:var(--font-size-sm);border-radius:var(--radius-md);min-height:38px;transition:background-color var(--transition-fast);white-space:nowrap;padding:8px 16px;font-weight:500;display:inline-flex}.btn-nav-primary:hover{background-color:var(--color-accent-hover);color:#fff;text-decoration:none}@media (max-width:768px){.site-nav{display:none}.header-container{height:56px}.btn-nav-primary{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:8px 12px}}.workbench-section{padding-top:var(--spacing-6);padding-bottom:var(--spacing-12)}.workbench-intro{margin-bottom:var(--spacing-5);max-width:var(--reading-max-width)}.workbench-title{margin-bottom:var(--spacing-2)}.workbench-subtitle{color:var(--color-muted);font-size:var(--font-size-base);align-items:center;gap:var(--spacing-2);flex-wrap:wrap;display:flex}.privacy-badge{background-color:var(--color-success-bg);color:var(--color-success-ink);border:1px solid var(--color-success-border);font-size:var(--font-size-xs);border-radius:var(--radius-full);align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.error-banner{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-ink);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);justify-content:space-between;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);display:flex}.error-banner[hidden]{display:none!important}.btn-dismiss{color:var(--color-error-ink);font-size:var(--font-size-sm);border-radius:var(--radius-xs);padding:4px 8px;font-weight:600}.btn-dismiss:hover{background-color:#b91c1c1a}.workbench-empty{background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-12) var(--spacing-6);text-align:center;transition:border-color var(--transition-normal), background-color var(--transition-normal)}.workbench-empty[hidden]{display:none!important}.workbench-empty.is-dragover{border-color:var(--color-accent);background-color:var(--color-accent-tint)}.dropzone-inner{align-items:center;gap:var(--spacing-4);flex-direction:column;max-width:480px;margin:0 auto;display:flex}.dropzone-icon{border-radius:var(--radius-md);background-color:var(--color-accent-light);width:56px;height:56px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.dropzone-icon svg{width:28px;height:28px}.dropzone-text h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-1);font-weight:600}.dropzone-text p{color:var(--color-muted);font-size:var(--font-size-sm)}.btn-primary-action{background-color:var(--color-accent);color:#fff;font-size:var(--font-size-base);min-height:var(--touch-target-min);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast), transform var(--transition-fast);padding:12px 24px;font-weight:600}.btn-primary-action:hover{background-color:var(--color-accent-hover)}.dropzone-hint{font-size:var(--font-size-xs);color:var(--color-muted)}.workbench-parsing{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-12) var(--spacing-6);text-align:center}.workbench-parsing[hidden]{display:none!important}.parsing-card{align-items:center;gap:var(--spacing-4);flex-direction:column;max-width:420px;margin:0 auto;display:flex}.progress-track{background-color:var(--color-border-subtle);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar{background-color:var(--color-accent);border-radius:var(--radius-full);width:0%;height:100%;transition:width .2s}.progress-meta{width:100%;font-size:var(--font-size-xs);color:var(--color-muted);justify-content:space-between;display:flex}.btn-secondary{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-ink);font-size:var(--font-size-sm);min-height:var(--touch-target-min);border-radius:var(--radius-md);transition:background-color var(--transition-fast), border-color var(--transition-fast);padding:8px 16px;font-weight:500}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-subtle);border-color:var(--color-muted-light)}.workbench-loaded{gap:var(--spacing-4);flex-direction:column;display:flex}.workbench-loaded[hidden]{display:none!important}.workbench-toolbar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4);justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.doc-info-cluster{align-items:center;gap:var(--spacing-3);flex-wrap:wrap;min-width:0;display:flex}.doc-title-wrap{align-items:center;gap:var(--spacing-2);min-width:0;display:flex}.doc-name{font-weight:600;font-size:var(--font-size-base);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.doc-meta-badge{font-size:var(--font-size-xs);color:var(--color-muted);background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-xs);white-space:nowrap;padding:2px 8px}.status-pill{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:2px 8px;font-weight:600}.pill-editable{background-color:var(--color-success-bg);color:var(--color-success-ink);border:1px solid var(--color-success-border)}.pill-readonly{background-color:var(--color-surface-subtle);color:var(--color-muted);border:1px solid var(--color-border)}.pill-dirty{background-color:var(--color-amber-bg);color:var(--color-amber-ink);border:1px solid var(--color-amber-border)}.doc-actions-cluster{align-items:center;gap:var(--spacing-2);flex-wrap:wrap;display:flex}.workbench-workspace{gap:var(--spacing-4);grid-template-columns:1fr 380px;min-height:600px;display:grid}.canvas-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;min-height:500px;display:flex;position:relative;overflow:hidden}.canvas-toolbar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-3);justify-content:space-between;align-items:center;gap:var(--spacing-2);z-index:10;display:flex}.canvas-toolbar-group{align-items:center;gap:var(--spacing-1);display:flex}.btn-tool{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-ink);font-size:var(--font-size-xs);border-radius:var(--radius-xs);justify-content:center;align-items:center;min-height:32px;padding:4px 10px;font-weight:600;display:inline-flex}.btn-tool:hover:not(:disabled){background-color:var(--color-surface-subtle)}.zoom-readout{font-size:var(--font-size-xs);color:var(--color-muted);text-align:center;-webkit-user-select:none;user-select:none;min-width:48px;font-weight:600}.canvas-viewport{cursor:grab;background-color:var(--checker-color-1);background-image:linear-gradient(45deg, var(--checker-color-2) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-color-2) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-color-2) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-color-2) 75%);background-size:var(--checker-size) var(--checker-size);background-position:0 0, 0 calc(var(--checker-size) / 2), calc(var(--checker-size) / 2) calc(-1 * var(--checker-size) / 2), calc(-1 * var(--checker-size) / 2) 0px;padding:var(--spacing-6);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.canvas-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.canvas-stage{box-shadow:var(--shadow-md);margin:auto;line-height:0;display:inline-block}.preview-image{width:100%;max-width:none;height:100%;display:block}.inspector-panel{gap:var(--spacing-4);flex-direction:column;display:flex}.warnings-card{background-color:var(--color-amber-bg);border:1px solid var(--color-amber-border);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-4);color:var(--color-amber-ink);font-size:var(--font-size-xs)}.warnings-card[hidden]{display:none!important}.warnings-header{margin-bottom:var(--spacing-1);align-items:center;gap:var(--spacing-1);font-weight:700;display:flex}.warnings-list{padding-left:var(--spacing-4);flex-direction:column;gap:2px;display:flex}.layers-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.layers-header{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.layers-header h3{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:700}.layers-list{flex-direction:column;flex:1;max-height:520px;display:flex;overflow-y:auto}.layers-empty{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-muted);font-size:var(--font-size-sm)}.layer-row{padding:6px var(--spacing-3);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm);align-items:center;gap:var(--spacing-2);transition:background-color var(--transition-fast);display:flex}.layer-row:hover{background-color:var(--color-surface-subtle)}.layer-row.is-hidden{opacity:.5}.layer-row.is-updating{pointer-events:none;opacity:.6}.btn-layer-vis{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--color-muted);border-radius:var(--radius-xs);justify-content:center;align-items:center;display:inline-flex}.btn-layer-vis:hover{color:var(--color-ink);background-color:#0000000d}.icon-vis{background-position:50%;background-repeat:no-repeat;width:16px;height:16px;display:inline-block}.icon-eye{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359636d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}.icon-eye-off{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.88 9.88a3 3 0 1 0 4.24 4.24'/%3E%3Cpath d='M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68'/%3E%3Cpath d='M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61'/%3E%3Cline x1='2' x2='22' y1='2' y2='22'/%3E%3C/svg%3E")}.layer-type-badge{border-radius:var(--radius-xs);letter-spacing:.05em;padding:1px 4px;font-size:10px;font-weight:700}.badge-text{background-color:var(--color-accent-light);color:var(--color-accent)}.badge-group{color:#92400e;background-color:#fef3c7}.badge-image{color:#7e22ce;background-color:#f3e8ff}.badge-other{background-color:var(--color-surface-subtle);color:var(--color-muted)}.layer-info{flex-direction:column;flex:1;min-width:0;display:flex}.layer-name{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.layer-text-preview{font-size:var(--font-size-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.layer-actions{align-items:center;gap:var(--spacing-1);display:flex}.btn-edit-text{background-color:var(--color-accent-light);color:var(--color-accent);border-radius:var(--radius-xs);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.btn-edit-text:hover{background-color:var(--color-accent);color:#fff}.layer-status-tag{color:var(--color-muted-light);border-radius:var(--radius-xs);padding:1px 6px;font-size:10px;font-weight:500}dialog{border-radius:var(--radius-lg);width:90%;max-width:520px;box-shadow:var(--shadow-modal);background:0 0;border:none;margin:auto;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#18202766}.dialog-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);gap:var(--spacing-4);flex-direction:column;display:flex}.dialog-header h3{font-size:var(--font-size-xl);font-weight:600}.dialog-warning-box{background-color:var(--color-amber-bg);border:1px solid var(--color-amber-border);color:var(--color-amber-ink);padding:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.dialog-field{gap:var(--spacing-2);flex-direction:column;display:flex}.dialog-field label{font-size:var(--font-size-sm);color:var(--color-ink);font-weight:600}.dialog-textarea{width:100%;min-height:120px;padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-ink);background-color:var(--color-surface);resize:vertical}.dialog-textarea:focus{border-color:var(--color-border-focus);outline:none}.dialog-actions{justify-content:flex-end;align-items:center;gap:var(--spacing-3);display:flex}.btn-danger{background-color:var(--color-error-ink);color:#fff;font-size:var(--font-size-sm);min-height:var(--touch-target-min);border-radius:var(--radius-md);padding:8px 16px;font-weight:600}.btn-danger:hover{background-color:#991b1b}@media (max-width:960px){.workbench-workspace{grid-template-columns:1fr}.canvas-container{min-height:420px}.layers-list{max-height:360px}}@media (max-width:640px){.workbench-toolbar{flex-direction:column;align-items:stretch}.doc-info-cluster{justify-content:space-between}.doc-actions-cluster{justify-content:flex-start}.btn-tool,.btn-layer-vis,.btn-primary-action,.btn-secondary{min-height:var(--touch-target-min)}}.content-section{padding-top:var(--spacing-12);padding-bottom:var(--spacing-12);border-top:1px solid var(--color-border)}.content-header{margin-bottom:var(--spacing-8);max-width:var(--reading-max-width)}.content-header h2{margin-bottom:var(--spacing-2)}.content-header p{color:var(--color-muted);font-size:var(--font-size-lg)}.features-grid{gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.feature-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);gap:var(--spacing-2);flex-direction:column;display:flex}.feature-icon{border-radius:var(--radius-md);background-color:var(--color-accent-light);width:40px;height:40px;color:var(--color-accent);margin-bottom:var(--spacing-2);justify-content:center;align-items:center;display:flex}.feature-icon svg{width:20px;height:20px}.feature-card h3{font-size:var(--font-size-lg);font-weight:600}.feature-card p{color:var(--color-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.compatibility-matrix{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.compat-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);text-align:left}.compat-table th,.compat-table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-subtle)}.compat-table th{background-color:var(--color-surface-subtle);color:var(--color-ink);font-weight:600}.compat-table tr:last-child td{border-bottom:none}.compat-badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.compat-supported{background-color:var(--color-success-bg);color:var(--color-success-ink);border:1px solid var(--color-success-border)}.compat-readonly{background-color:var(--color-amber-bg);color:var(--color-amber-ink);border:1px solid var(--color-amber-border)}.faq-list{max-width:var(--reading-max-width);gap:var(--spacing-3);flex-direction:column;display:flex}.faq-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden}.faq-item[open]{border-color:var(--color-muted-light)}.faq-summary{padding:var(--spacing-4);font-weight:600;font-size:var(--font-size-base);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}.faq-summary::-webkit-details-marker{display:none}.faq-summary:after{content:"+";font-size:var(--font-size-xl);color:var(--color-muted);transition:transform var(--transition-fast);font-weight:400}.faq-item[open] .faq-summary:after{content:"−"}.faq-content{padding:0 var(--spacing-4) var(--spacing-4) var(--spacing-4);color:var(--color-ink-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.privacy-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-8);max-width:var(--reading-max-width)}.privacy-card h2{margin-bottom:var(--spacing-2)}.privacy-card p{font-size:var(--font-size-base);color:var(--color-ink-secondary);margin-bottom:var(--spacing-4)}.privacy-specs{gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.spec-item{border-left:2px solid var(--color-accent);padding-left:var(--spacing-3)}.spec-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-ink)}.spec-desc{font-size:var(--font-size-xs);color:var(--color-muted)}.site-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-12) 0 var(--spacing-8) 0;margin-top:auto}.footer-top{gap:var(--spacing-8);margin-bottom:var(--spacing-8);grid-template-columns:2fr 1fr 1fr;display:grid}.footer-brand h4{font-size:var(--font-size-base);text-transform:lowercase;margin-bottom:var(--spacing-2);font-weight:700}.footer-brand p{color:var(--color-muted);font-size:var(--font-size-sm);max-width:40ch}.footer-col h5{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:var(--spacing-3)}.footer-links{gap:var(--spacing-2);flex-direction:column;list-style:none;display:flex}.footer-links a{color:var(--color-ink-secondary);font-size:var(--font-size-sm);text-decoration:none}.footer-links a:hover{color:var(--color-accent);text-decoration:underline}.footer-bottom{border-top:1px solid var(--color-border-subtle);padding-top:var(--spacing-6);justify-content:space-between;align-items:center;gap:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-muted);flex-wrap:wrap;display:flex}@media (max-width:768px){.footer-top{gap:var(--spacing-6);grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}body:has(#workbench-loaded:not([hidden])) .hero-section{padding-block:18px 22px}body:has(#workbench-loaded:not([hidden])) .hero-section h1{max-width:none;font-size:clamp(22px,2.2vw,30px)}#workbench,#faq{scroll-margin-top:78px}#btn-export-png{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}#btn-export-png:hover:not(:disabled){background:var(--color-accent-hover)}@media (max-width:768px){body:has(#workbench-loaded:not([hidden])) .hero-section{padding-block:16px}body:has(#workbench-loaded:not([hidden])) .hero-subtitle{display:none}#workbench,#faq{scroll-margin-top:66px}}
