@layer reset,base,theme,components,utilities;@layer theme{:root{--surface-bg-light: #fbf8ff;--surface-bg-dark: #160826;--surface-card-light: #ffffff;--surface-card-dark: #230e3b;--surface-elevated-light: #f3eafc;--surface-elevated-dark: #321552;--text-primary-light: #230741;--text-primary-dark: #f7effe;--text-muted-light: #5c4973;--text-muted-dark: #cdb8e6;--border-subtle-light: #e0d5ea;--border-subtle-dark: #49286e;--color-primary-light: #8f56c0;--color-primary-dark: #b37ae3;--color-primary-hover-light: #7940ab;--color-primary-hover-dark: #c492ee;--color-accent-light: #de9669;--color-accent-dark: #e6a67e;--color-danger-light: #d9385a;--color-danger-dark: #f26482;--color-spotter-light: #d97736;--color-spotter-dark: #de9669;--surface-bg: var(--surface-bg-light);--surface-card: var(--surface-card-light);--surface-elevated: var(--surface-elevated-light);--text-primary: var(--text-primary-light);--text-muted: var(--text-muted-light);--border-subtle: var(--border-subtle-light);--color-primary: var(--color-primary-light);--color-primary-hover: var(--color-primary-hover-light);--color-accent: var(--color-accent-light);--color-danger: var(--color-danger-light);--color-spotter: var(--color-spotter-light);--shadow-card: 0 10px 30px -10px rgba(50, 16, 83, .1);@media(prefers-color-scheme:dark){--surface-bg: var(--surface-bg-dark);--surface-card: var(--surface-card-dark);--surface-elevated: var(--surface-elevated-dark);--text-primary: var(--text-primary-dark);--text-muted: var(--text-muted-dark);--border-subtle: var(--border-subtle-dark);--color-primary: var(--color-primary-dark);--color-primary-hover: var(--color-primary-hover-dark);--color-accent: var(--color-accent-dark);--color-danger: var(--color-danger-dark);--color-spotter: var(--color-spotter-dark);--shadow-card: 0 12px 32px -8px rgba(10, 2, 20, .55)}@supports (color: light-dark(white,black)){--surface-bg: light-dark(var(--surface-bg-light), var(--surface-bg-dark));--surface-card: light-dark(var(--surface-card-light), var(--surface-card-dark));--surface-elevated: light-dark(var(--surface-elevated-light), var(--surface-elevated-dark));--text-primary: light-dark(var(--text-primary-light), var(--text-primary-dark));--text-muted: light-dark(var(--text-muted-light), var(--text-muted-dark));--border-subtle: light-dark(var(--border-subtle-light), var(--border-subtle-dark));--color-primary: light-dark(var(--color-primary-light), var(--color-primary-dark));--color-primary-hover: light-dark(var(--color-primary-hover-light), var(--color-primary-hover-dark));--color-accent: light-dark(var(--color-accent-light), var(--color-accent-dark));--color-danger: light-dark(var(--color-danger-light), var(--color-danger-dark));--color-spotter: light-dark(var(--color-spotter-light), var(--color-spotter-dark))}color-scheme:light dark;accent-color:var(--color-primary);--radius-md: .75rem;--radius-lg: 1.15rem}html[data-theme=light]{color-scheme:light;--surface-bg: var(--surface-bg-light);--surface-card: var(--surface-card-light);--surface-elevated: var(--surface-elevated-light);--text-primary: var(--text-primary-light);--text-muted: var(--text-muted-light);--border-subtle: var(--border-subtle-light);--color-primary: var(--color-primary-light);--color-primary-hover: var(--color-primary-hover-light);--color-accent: var(--color-accent-light);--color-danger: var(--color-danger-light);--color-spotter: var(--color-spotter-light);--shadow-card: 0 10px 30px -10px rgba(50, 16, 83, .1)}html[data-theme=dark]{color-scheme:dark;--surface-bg: var(--surface-bg-dark);--surface-card: var(--surface-card-dark);--surface-elevated: var(--surface-elevated-dark);--text-primary: var(--text-primary-dark);--text-muted: var(--text-muted-dark);--border-subtle: var(--border-subtle-dark);--color-primary: var(--color-primary-dark);--color-primary-hover: var(--color-primary-hover-dark);--color-accent: var(--color-accent-dark);--color-danger: var(--color-danger-dark);--color-spotter: var(--color-spotter-dark);--shadow-card: 0 12px 32px -8px rgba(10, 2, 20, .55)}}@layer base{[hidden]{display:none!important}body{background-color:var(--surface-bg);background-image:radial-gradient(circle at 85% 0%,color-mix(in oklab,var(--color-primary),transparent 90%),transparent 45%);color:var(--text-primary);line-height:1.5;margin:0;padding-block-end:5.75rem}h1,h2{text-wrap:balance;margin:0;letter-spacing:-.015em}p{text-wrap:pretty;margin:0}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}}@layer components{.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding-block:.85rem;padding-inline:1.25rem;background-color:var(--surface-card);border-block-end:1px solid var(--border-subtle);box-shadow:0 2px 12px #3210530d}.brand-group{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:inherit}.header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.nav-link{display:inline-flex;align-items:center;min-block-size:2.3rem;padding-inline:.85rem;border-radius:999px;text-decoration:none;font-size:.88rem;font-weight:700;color:var(--text-muted);transition:background-color .15s ease,color .15s ease}.nav-link:hover{color:var(--text-primary);background-color:var(--surface-elevated)}.nav-link.is-active{background-color:color-mix(in oklab,var(--color-primary),transparent 84%);color:var(--color-primary)}.brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;border-radius:999px;background:linear-gradient(135deg,#f2ddfa,#d9acf5);padding:.15rem;box-shadow:0 3px 10px #8f56c040;flex-shrink:0}.brand-logo{inline-size:100%;block-size:100%;border-radius:999px;object-fit:cover;display:block}.app-header h1{font-size:clamp(1.2rem,1.05rem + 1vw,1.5rem);font-weight:800;color:var(--text-primary)}.subtitle{font-size:.84rem;color:var(--text-muted)}.theme-switcher{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;background-color:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:999px}.theme-btn{display:inline-flex;align-items:center;gap:.35rem;min-block-size:2.1rem;padding-inline:.7rem;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.theme-btn:hover{color:var(--text-primary)}.theme-btn.is-active{background-color:var(--surface-card);color:var(--text-primary);box-shadow:0 2px 6px #32105324}.theme-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-main{max-inline-size:62rem;margin-inline:auto;padding-block:1.25rem;padding-inline:.9rem;display:grid;gap:1.15rem}.upload-card,.workspace-card,.content-card{background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.15rem;box-shadow:var(--shadow-card);contain:layout style}.content-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;margin-block-end:1.15rem;padding-block-end:.85rem;border-block-end:1px solid var(--border-subtle)}.empty-docs-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.25rem 1rem;text-align:center;color:var(--text-muted);background-color:color-mix(in oklab,var(--surface-elevated),transparent 45%);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.stored-docs-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.stored-doc-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);background-color:color-mix(in oklab,var(--surface-elevated),transparent 35%);border:1px solid var(--border-subtle)}.stored-doc-info{display:flex;align-items:center;gap:.75rem}.stored-doc-icon{font-size:1.45rem}.stored-doc-name{display:block;font-size:.94rem;color:var(--text-primary)}.stored-doc-meta{display:block;font-size:.78rem;color:var(--text-muted)}.stored-doc-actions{display:flex;align-items:center;gap:.5rem}.stored-doc-delete{color:var(--color-danger);border-color:color-mix(in oklab,var(--color-danger),transparent 65%)}.about-hero{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem;margin-block-end:1rem;padding-block-end:1rem;border-block-end:1px solid var(--border-subtle)}.about-mascot{inline-size:4.5rem;block-size:4.5rem;border-radius:999px;border:2px solid var(--border-subtle);background-color:#fff;object-fit:cover}.prose-block{display:grid;gap:.75rem;color:var(--text-primary);font-size:.95rem}.site-footer{max-inline-size:62rem;margin-inline:auto;padding-block:1.25rem;padding-inline:.9rem;color:var(--text-muted);font-size:.85rem}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1.15rem;background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-weight:600}.footer-link{color:var(--color-primary);text-decoration:none;font-weight:700}.footer-link:hover{text-decoration:underline}.upload-zone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem;padding:1.25rem;border:2px dashed var(--border-subtle);border-radius:var(--radius-md);background-color:color-mix(in oklab,var(--surface-elevated),transparent 45%);transition:border-color .2s ease,background-color .2s ease}.upload-zone:hover{border-color:var(--color-primary);background-color:color-mix(in oklab,var(--surface-elevated),transparent 15%)}.upload-hero{display:flex;align-items:center;gap:.95rem}.upload-mascot{inline-size:3.6rem;block-size:3.6rem;border-radius:999px;object-fit:cover;border:2px solid var(--border-subtle);background-color:#fff;flex-shrink:0}.upload-copy h2{font-size:1.1rem;font-weight:700;margin-block-end:.2rem}.upload-copy p{font-size:.9rem;color:var(--text-muted)}.upload-actions{display:flex;flex-wrap:wrap;gap:.65rem}.file-label{display:inline-flex;align-items:center;justify-content:center;min-block-size:2.8rem;padding-inline:1.2rem;border-radius:999px;background:linear-gradient(135deg,#8f56c0,#6d32a0);color:#fff;font-weight:700;font-size:.92rem;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 12px #8f56c052;transition:transform .12s ease,box-shadow .12s ease}.file-label:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8f56c06b}.file-label input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-block-size:2.75rem;min-inline-size:2.75rem;padding-block:.5rem;padding-inline:1.15rem;border-radius:999px;border:1px solid transparent;font-family:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .12s ease,background-color .15s ease}.btn:focus-visible,.file-label:has(input:focus-visible),.signature-overlay:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.46;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#8f56c0,#6d32a0);color:#fff;box-shadow:0 4px 12px #8f56c047}.btn-accent{background:linear-gradient(135deg,#de9669,#c87442);color:#230741;box-shadow:0 4px 12px #de96694d}.btn-secondary{background-color:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.btn-outline{background-color:transparent;color:var(--text-primary);border-color:var(--border-subtle)}.btn-sm{min-block-size:2.25rem;padding-inline:.8rem;font-size:.84rem}.error-banner{margin-block-start:.75rem;padding:.65rem .9rem;border-radius:var(--radius-md);background-color:color-mix(in oklab,var(--color-danger),transparent 86%);color:var(--color-danger);font-size:.88rem;font-weight:600}.workspace-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-block-end:.9rem}.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.spotter-badge{font-size:.8rem;font-weight:700;padding-block:.25rem;padding-inline:.7rem;border-radius:999px;background-color:color-mix(in oklab,var(--color-primary),transparent 84%);color:var(--color-primary)}.page-controls{display:inline-flex;align-items:center;gap:.5rem}.page-indicator-pill{font-size:.84rem;font-weight:700;padding-inline:.45rem;color:var(--text-muted)}.stage-scroll-wrapper{display:flex;justify-content:center;background-color:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.85rem;overflow:auto}.document-stage{position:relative;display:inline-block;max-inline-size:100%;box-shadow:0 8px 24px #23074129;background-color:#fff;border-radius:.25rem;user-select:none}.document-canvas{display:block;max-inline-size:100%;block-size:auto}.spotted-target-box{position:absolute;inset-inline-start:var(--spot-x, 50%);inset-block-start:var(--spot-y, 75%);inline-size:var(--spot-w, 34%);block-size:var(--spot-h, 8.5%);border:2px dashed var(--color-spotter);background-color:#de966924;border-radius:.4rem;pointer-events:none}.spotted-tag{position:absolute;inset-block-start:-1.4rem;inset-inline-start:0;background-color:var(--color-spotter);color:#fff;font-size:.7rem;font-weight:700;padding-block:.12rem;padding-inline:.48rem;border-radius:.3rem;white-space:nowrap}.signature-overlay{position:absolute;inset-inline-start:var(--sig-x, 50%);inset-block-start:var(--sig-y, 75%);inline-size:var(--sig-w, 34%);block-size:var(--sig-h, 8.5%);border:2px solid #8f56c0;background-color:#8f56c014;border-radius:.4rem;cursor:grab;touch-action:none;display:flex;align-items:center;justify-content:center}.signature-overlay[hidden]{display:none}.signature-overlay.is-dragging{cursor:grabbing;background-color:#8f56c02e}.signature-preview-img{inline-size:100%;block-size:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.overlay-remove-btn,.overlay-resize-handle{position:absolute;inline-size:1.75rem;block-size:1.75rem;border-radius:999px;border:none;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;cursor:pointer}.overlay-remove-btn{inset-block-start:-.85rem;inset-inline-end:-.85rem;background-color:var(--color-danger);color:#fff}.overlay-resize-handle{inset-block-end:-.85rem;inset-inline-end:-.85rem;background-color:#8f56c0;color:#fff;cursor:nwse-resize}@media(pointer:coarse){.overlay-remove-btn,.overlay-resize-handle{inline-size:2.25rem;block-size:2.25rem}}.bottom-action-bar{position:fixed;inset-inline:0;inset-block-end:0;background-color:color-mix(in oklab,var(--surface-card),transparent 8%);backdrop-filter:blur(8px);border-block-start:1px solid var(--border-subtle);padding-block:.7rem;padding-inline:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;z-index:20}.signature-dialog{inline-size:min(94vw,36rem);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:0;background-color:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-card)}.signature-dialog::backdrop{background-color:#23074194;backdrop-filter:blur(3px)}.dialog-inner{padding:1.2rem;display:grid;gap:1rem}.dialog-header{display:flex;align-items:center;justify-content:space-between}.btn-icon{min-inline-size:2.25rem;min-block-size:2.25rem;border-radius:999px;border:1px solid var(--border-subtle);background:transparent;color:inherit;cursor:pointer}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background-color:var(--surface-elevated);padding:.3rem;border-radius:999px}.tab-btn{min-block-size:2.4rem;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-weight:700;cursor:pointer}.tab-btn.is-active{background-color:var(--surface-card);color:var(--text-primary);box-shadow:0 2px 6px #3210531f}.helper-text{font-size:.86rem;color:var(--text-muted);margin-block-end:.65rem}.pad-container{position:relative;border:2px solid var(--border-subtle);border-radius:var(--radius-md);background-color:#fff;overflow:hidden}.signature-pad-canvas{display:block;inline-size:100%;block-size:11.5rem;touch-action:none;cursor:crosshair}.pad-baseline{position:absolute;inset-inline:1.5rem;inset-block-end:2.5rem;border-block-end:1px dashed #d9acf5;pointer-events:none}.pad-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-block-start:.75rem}.ink-selector{border:none;padding:0;margin:0;display:flex;gap:.6rem}.ink-option{display:inline-flex;align-items:center;gap:.35rem;padding-block:.3rem;padding-inline:.7rem;border-radius:999px;border:1px solid var(--border-subtle);font-size:.82rem;cursor:pointer}.ink-option:has(:checked){border-color:var(--color-primary);background-color:color-mix(in oklab,var(--color-primary),transparent 86%);font-weight:700}.sig-upload-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-end:.75rem}.processed-preview-wrap{margin-block-start:.85rem}.preview-caption{display:block;font-size:.8rem;font-weight:700;color:var(--color-primary);margin-block-end:.4rem}.checkerboard-preview{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:repeating-conic-gradient(#f3eafc 0 25%,#fff 0 50%) 0 / 1rem 1rem;display:flex;justify-content:center}.checkerboard-preview img{max-inline-size:100%;block-size:auto;object-fit:contain}.dialog-footer{display:flex;justify-content:flex-end;gap:.65rem;padding-block-start:.5rem;border-block-start:1px solid var(--border-subtle)}}[hidden]{display:none!important}.signature-overlay:not([hidden]){display:flex}
