@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&display=swap";:root,[data-theme=dark]{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#141d2e;--bg-card-hover:#1a2540;--bg-drop:#0d1525;--bg-drop-active:#111e35;--border:#1e2d45;--border-accent:#2a3f60;--text-primary:#e8edf5;--text-secondary:#8899b4;--text-tertiary:#4a5f7a;--text-mono:#a8c0e0;--accent-blue:#4361ee;--accent-blue-glow:#4361ee26;--accent-blue-dim:#2d45b0;--signal-green:#22c55e;--signal-orange:#f59e0b;--signal-retry:#06b6d4;--signal-red:#ef4444;--signal-neutral:#4a5f7a;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 24px #4361ee33}[data-theme=light]{--bg-primary:#f0f4f8;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-drop:#f8fafc;--bg-drop-active:#eef2ff;--border:#e2e8f0;--border-accent:#c7d2fe;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-mono:#334155;--accent-blue:#4361ee;--accent-blue-glow:#4361ee14;--accent-blue-dim:#3451d1;--signal-green:#16a34a;--signal-orange:#d97706;--signal-retry:#0891b2;--signal-red:#dc2626;--signal-neutral:#94a3b8;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-glow:0 0 24px #4361ee1f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;min-width:0;max-width:860px;margin:0 auto;padding:clamp(1.25rem,4vw,2rem) clamp(1rem,4vw,1.5rem) 4rem}.main-admin{max-width:1280px}.main-history{max-width:1120px}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 1.5rem 0 clamp(3rem,6vw,7rem);transition:background-color .3s;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;width:100%;height:64px;margin:0;display:flex;position:relative}.header-brand{align-items:center;min-width:0;display:flex}.logo{letter-spacing:0;align-items:baseline;gap:.4rem;font-family:DM Sans,sans-serif;font-size:1.5rem;font-weight:600;display:inline-flex}.logo-faux{color:var(--text-primary)}.logo-scan{color:var(--accent-blue)}.logo-wordmark{white-space:nowrap}.logo-version{color:var(--text-tertiary);font-family:DM Mono,monospace;font-size:.68rem;font-weight:500}.header-right{align-items:center;gap:1.25rem;min-width:0;display:flex}.header-link{border:1px solid var(--accent-blue);background:var(--accent-blue);color:#fff;min-height:2rem;box-shadow:var(--shadow-glow);border-radius:8px;justify-content:center;align-items:center;padding:.35rem .8rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.header-link:hover,.header-link:focus-visible{background:var(--accent-blue-dim);border-color:var(--accent-blue-dim);color:#fff;transform:translateY(-1px)}.login-signin-button{justify-content:center;min-height:2rem;margin-bottom:1rem;padding:.35rem .8rem;font-size:.8rem}.login-key-form{gap:.5rem;width:100%;max-width:400px;display:flex}.header-nav{border:1px solid var(--border);background:var(--bg-drop);border-radius:8px;align-items:center;display:inline-flex;overflow:hidden}.header-nav-button{min-height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:.35rem .75rem;font-family:DM Sans,sans-serif;font-size:.8rem}.header-nav-button.active{background:var(--accent-blue);color:#fff}.header-tagline{max-width:38%;color:var(--text-secondary);letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}@media (width<=600px){.header{padding:0 1rem}.header-inner{flex-direction:column;align-items:flex-start;gap:.7rem;height:auto;padding:.85rem 0}.header-brand{flex-direction:column;align-items:flex-start;gap:.15rem;width:100%}.logo{font-size:1.35rem;line-height:1.1}.header-right{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.55rem;width:100%}.header-nav{flex:100%;width:100%}.header-nav-button{flex:1}.header-link,.header-right .btn-ghost{flex:auto}.header-link,.header-nav-button,.header-right .btn{justify-content:center;min-width:0}.header-right .theme-toggle{margin-left:auto}.header-tagline{letter-spacing:.04em;white-space:normal;text-align:left;width:100%;max-width:none;font-size:.65rem;position:static;transform:none}}@media (width<=760px){.header{position:static}}.admin-panel{flex-direction:column;gap:1rem;animation:.4s fadeUp;display:flex}.admin-panel-header{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.section-eyebrow{letter-spacing:.12em;color:var(--accent-blue);font-family:DM Mono,monospace;font-size:.7rem;display:block}.admin-panel h1{letter-spacing:0;font-size:1.6rem;font-weight:600}.admin-tabs{border:1px solid var(--border);background:var(--bg-drop);border-radius:8px;width:fit-content;display:inline-flex;overflow:hidden}.admin-tab{min-height:2.25rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:.45rem 1rem;font-family:DM Sans,sans-serif;font-size:.85rem}.admin-tab.active{background:var(--accent-blue);color:#fff}.success-banner{color:var(--signal-green);background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;padding:.875rem 1.25rem;font-size:.875rem}.admin-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.admin-form,.admin-table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.admin-form{flex-direction:column;gap:.9rem;padding:1rem;display:flex}.admin-form label{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.admin-form input,.admin-form select{border:1px solid var(--border);background:var(--bg-drop);width:100%;min-height:2.5rem;color:var(--text-primary);border-radius:8px;padding:.55rem .7rem;font-family:DM Sans,sans-serif;font-size:.9rem}.admin-form input:focus,.admin-form select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow);outline:none}.admin-form select:disabled{opacity:.65;cursor:not-allowed}.admin-field-help{color:var(--text-tertiary);font-size:.72rem;line-height:1.4}.admin-checkbox{align-items:center;flex-direction:row!important}.admin-checkbox input{width:1rem;min-height:1rem}.admin-warning{color:var(--signal-orange);background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:8px;padding:.75rem;font-size:.78rem;line-height:1.4}.admin-password-requirements{border:1px solid var(--border);background:var(--bg-drop);color:var(--text-tertiary);border-radius:8px;gap:.35rem;margin-top:-.4rem;padding:.75rem;font-size:.78rem;display:grid}.admin-password-requirements span{font-family:DM Mono,monospace}.admin-password-requirements .met{color:var(--signal-green)}.admin-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.admin-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.85rem .9rem;font-size:.85rem}.admin-table th{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.65rem}.admin-table td{color:var(--text-secondary)}.admin-table tr:last-child td{border-bottom:0}.nowrap{white-space:nowrap}.admin-actions-cell{min-width:340px}.admin-pill{background:var(--accent-blue-glow);min-height:1.5rem;color:var(--accent-blue);border-radius:999px;align-items:center;padding:.2rem .55rem;font-family:DM Mono,monospace;font-size:.72rem;display:inline-flex}.table-action{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .7rem}.table-action:hover{border-color:var(--border-accent);color:var(--text-primary)}.admin-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.table-action-danger{color:var(--signal-red);border-color:#ef444459}.table-action-danger:hover:not(:disabled){color:#fff;background:var(--signal-red);border-color:var(--signal-red)}.table-action:disabled{opacity:.45;cursor:not-allowed}@media (width<=760px){.admin-panel-header{flex-direction:column;align-items:flex-start}.admin-layout{grid-template-columns:1fr}}.theme-toggle{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.15rem;width:64px;min-width:64px;height:34px;padding:.2rem;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:var(--accent-blue-glow)}.theme-toggle-option{width:27px;height:26px;color:var(--text-tertiary);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.theme-toggle-option svg{width:16px;height:16px}.theme-toggle-option.active{background:var(--accent-blue);color:#fff;box-shadow:var(--shadow-glow)}.upload-section{margin-top:2.5rem}.drop-zone{border:2px dashed var(--border-accent);background:var(--bg-drop);cursor:pointer;border-radius:16px;transition:all .2s;overflow:hidden}.drop-zone:hover:not(.has-file){border-color:var(--accent-blue);background:var(--bg-drop-active);box-shadow:var(--shadow-glow)}.drop-zone.dragging{border-color:var(--accent-blue);background:var(--bg-drop-active);box-shadow:var(--shadow-glow);transform:scale(1.01)}.drop-zone.has-file{cursor:default;border-style:solid;border-color:var(--border)}.drop-zone.locked{cursor:not-allowed;border-color:var(--border);background:color-mix(in srgb, var(--bg-drop) 86%, var(--bg-card))}.drop-zone.locked.dragging{box-shadow:none;transform:none}.drop-zone.locked .preview-img,.drop-zone.locked .preview-placeholder{opacity:.72}.drop-prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:4rem 2rem;display:flex}.upload-icon{color:var(--text-tertiary);margin-bottom:.75rem;transition:color .2s}.drop-zone:hover .upload-icon{color:var(--accent-blue)}.drop-title{color:var(--text-primary);font-size:1.1rem;font-weight:500}.drop-sub{color:var(--text-secondary);font-size:.875rem}.drop-formats{color:var(--text-tertiary);letter-spacing:.06em;overflow-wrap:anywhere;text-align:center;margin-top:.5rem;font-family:DM Mono,monospace;font-size:.75rem}.file-preview{flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.preview-img{object-fit:contain;max-width:100%;max-height:300px;box-shadow:var(--shadow-md);border-radius:8px}.file-info{text-align:center;flex-direction:column;align-items:center;gap:.25rem;max-width:100%;display:flex}.file-name{color:var(--text-primary);overflow-wrap:anywhere;max-width:100%;font-family:DM Mono,monospace;font-size:.875rem}.file-size{color:var(--text-tertiary);font-size:.75rem}.file-scan-note{max-width:min(32rem,90vw);color:var(--text-tertiary);text-align:center;font-size:.78rem;line-height:1.4}.file-scan-note-warning{color:var(--text-secondary)}.file-drop-more-note{color:var(--accent-blue)}.file-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}.upload-lock-note{color:var(--text-secondary);text-align:center;font-size:.8rem;line-height:1.4}.batch-selection{gap:1rem;padding:1.5rem;display:grid}.batch-header{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 94%, var(--accent-blue));box-shadow:var(--shadow-md);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:1rem;margin:-.5rem -.5rem 0;padding:.75rem;display:flex}.batch-header h2{color:var(--text-primary);margin:.25rem 0 .35rem;font-size:1.15rem;font-weight:600}.batch-header p{max-width:39rem;color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.5}.batch-progress-count{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;flex:none;padding:.45rem .65rem;font-family:DM Mono,monospace;font-size:.72rem}.batch-toolbar-actions{flex:none;justify-items:end;gap:.65rem;display:grid}.batch-primary-actions{justify-content:flex-end;width:auto}.batch-primary-actions .btn{white-space:nowrap}.batch-file-list{overscroll-behavior:contain;gap:.55rem;max-height:min(56vh,42rem);margin:0;padding:0 .25rem 0 0;list-style:none;display:grid;overflow-y:auto}.batch-file-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-drop) 70%, var(--bg-card));border-radius:8px;grid-template-columns:4.25rem minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.batch-preview-frame{border:1px solid var(--border);background:var(--bg-card);border-radius:7px;place-items:center;width:4.25rem;height:4.25rem;display:grid;overflow:hidden}.batch-preview-img{object-fit:contain;width:100%;height:100%}.batch-preview-placeholder{color:var(--text-tertiary);text-align:center;padding:.35rem;font-size:.62rem;line-height:1.3}.batch-file-copy{gap:.15rem;min-width:0;display:grid}.batch-file-error{color:var(--signal-red);font-size:.75rem;line-height:1.35}.batch-preview-error{color:var(--text-tertiary);font-size:.75rem;line-height:1.35}.batch-file-progress{background:color-mix(in srgb, var(--border) 72%, transparent);border-radius:999px;width:min(100%,14rem);height:.25rem;margin-top:.25rem;display:block;overflow:hidden}.batch-file-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-blue), var(--signal-green));height:100%;transition:width .45s;display:block}.batch-scan-id{flex-wrap:wrap;align-items:baseline;gap:.25rem .45rem;margin-top:.18rem;display:flex}.batch-scan-id code{color:var(--text-mono);word-break:break-all;font-family:DM Mono,monospace;font-size:.67rem}.batch-file-status{text-align:right;text-transform:uppercase;min-width:6.5rem;font-family:DM Mono,monospace;font-size:.7rem;font-weight:500}.batch-file-status.running-stage{text-transform:none;min-width:10rem}.batch-file-actions{justify-content:flex-end;gap:.45rem;min-width:6.4rem;display:flex}.batch-file-actions .btn{padding:.38rem .55rem;font-size:.74rem}.batch-finish-note{color:var(--text-secondary);text-align:center;margin:0;font-size:.82rem}.history-page{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:clamp(1rem,3vw,1.5rem);animation:.4s fadeUp}.history-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.history-title{color:var(--text-primary);margin:.25rem 0 .35rem;font-size:1.55rem;font-weight:600}.history-description{max-width:650px;color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.history-refresh{padding:.45rem .8rem;font-size:.78rem}.history-toolbar{border:1px solid var(--border);background:var(--bg-drop);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.75rem;display:flex}.history-privacy-note{color:var(--text-secondary);margin:0;font-size:.78rem}.history-view-switcher{border:1px solid var(--border);background:var(--bg-card);border-radius:7px;display:inline-flex;overflow:hidden}.history-view-button{border:0;border-right:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;padding:.42rem .65rem;font-family:DM Sans,sans-serif;font-size:.76rem}.history-view-button:last-child{border-right:0}.history-view-button.active{background:var(--accent-blue);color:#fff}.history-filters{flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:1rem;display:flex}.history-filter-field{color:var(--text-secondary);gap:.3rem;font-size:.72rem;font-weight:500;display:grid}.history-filter-field input,.history-filter-field select{border:1px solid var(--border);background:var(--bg-drop);min-height:2.25rem;color:var(--text-primary);font:inherit;border-radius:7px;padding:.4rem .55rem;font-size:.8rem}.history-filter-field input:focus,.history-filter-field select:focus{outline:2px solid var(--accent-blue);outline-offset:1px}.history-sort-field select{min-width:150px}.history-page-size-field select{min-width:122px}.history-clear-filters{min-height:2.25rem;font-size:.76rem}.history-result-note{color:var(--text-tertiary);margin:-.4rem 0 1rem;font-size:.74rem}.history-empty{border:1px dashed var(--border);color:var(--text-secondary);border-radius:9px;margin:0;padding:1rem;font-size:.88rem}.history-collection{gap:.85rem;display:grid}.history-scroll-pane{scrollbar-gutter:stable;max-height:min(68vh,720px);padding-right:.35rem;overflow-y:auto}.history-pagination{color:var(--text-secondary);justify-content:center;align-items:center;gap:.8rem;margin-top:1rem;font-size:.8rem;display:flex}.history-pagination .btn{min-width:5.5rem}.history-card{background:var(--bg-drop);border:1px solid var(--border);border-radius:9px;min-width:0;overflow:hidden}.history-card-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;transition:border-color .15s,background .15s,transform .15s}.history-card-action:hover:not(:disabled),.history-card-action:focus-visible{border-color:var(--border-accent);background:var(--bg-card)}.history-card-action:hover:not(:disabled){transform:translateY(-1px)}.history-card-action:disabled{cursor:wait;opacity:.75}.history-view-icons{grid-template-columns:repeat(auto-fill,minmax(142px,1fr))}.history-view-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.history-view-gallery{grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}.history-view-list{gap:.45rem}.history-view-list .history-card{grid-template-columns:minmax(130px,180px) minmax(180px,250px) minmax(0,1fr) auto;align-items:center;display:grid}.history-view-list .history-details{display:contents}.history-view-list .history-status,.history-view-list .history-date,.history-view-list .history-id,.history-view-list .history-open-report{padding:.7rem .85rem}.history-thumb{object-fit:contain;object-position:center;background:var(--bg-secondary);width:100%;height:96px;display:block}.history-thumb-empty{color:var(--text-tertiary);justify-content:center;align-items:center;font-size:.72rem;display:flex}.history-view-columns .history-card{grid-template-columns:126px minmax(0,1fr);display:grid}.history-view-columns .history-thumb{height:100%;min-height:104px}.history-view-gallery .history-thumb{height:160px}.history-view-icons .history-details{text-align:center}.history-view-icons .history-id{display:none}.history-open-report{color:var(--accent-blue);font-size:.74rem;font-weight:500}.history-details{flex-direction:column;gap:.3rem;padding:.65rem;display:flex}.history-status{letter-spacing:.05em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.66rem;font-weight:600}.history-date{color:var(--text-secondary);font-size:.73rem}.history-id{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.saved-report-banner{border:1px solid var(--border-accent);background:var(--bg-card);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:.9rem 1rem;display:flex}.saved-report-banner p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.82rem}.saved-report-actions{gap:.5rem;display:flex}@media (width<=760px){.history-header{flex-direction:column}.history-toolbar{flex-direction:column;align-items:flex-start}.history-view-switcher{width:100%}.history-view-button{flex:1}.history-filters,.history-filter-field,.history-filter-field input,.history-filter-field select,.history-clear-filters{width:100%}.history-view-columns,.history-view-gallery{grid-template-columns:1fr}.history-view-list .history-card{display:block}.history-view-list .history-details{display:flex}.history-view-list .history-status,.history-view-list .history-date,.history-view-list .history-id,.history-view-list .history-open-report{padding:0}.saved-report-banner,.saved-report-actions{flex-direction:column;align-items:stretch}}.btn{cursor:pointer;white-space:nowrap;text-align:center;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;max-width:100%;padding:.6rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.btn-primary:hover:not(:disabled){background:var(--accent-blue-dim);border-color:var(--accent-blue-dim);transform:translateY(-1px);box-shadow:0 4px 12px #4361ee4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--border-accent);color:var(--text-primary);background:var(--bg-card)}.btn-stop{color:var(--signal-red);border-color:color-mix(in srgb, var(--signal-red) 45%, var(--border))}.btn-stop:hover:not(:disabled){color:var(--signal-red);border-color:var(--signal-red);background:color-mix(in srgb, var(--signal-red) 8%, transparent)}.btn-large{padding:.8rem 1.75rem;font-size:.95rem}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.scan-progress-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 94%, var(--accent-blue)), var(--bg-card));border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:1rem;margin-top:1.25rem;padding:1.25rem;animation:.4s fadeUp;display:flex;position:relative;overflow:hidden}.scan-progress-card:before{content:"";background:linear-gradient(90deg, var(--accent-blue), var(--signal-green), var(--signal-orange));height:3px;position:absolute;inset:0 0 auto}.scan-progress-card.retry-pending{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 92%, var(--signal-retry)), var(--bg-card));border-color:color-mix(in srgb, var(--signal-retry) 36%, var(--border))}.scan-progress-card.retry-pending:before{background:var(--signal-retry)}.scan-progress-card~.upload-section{margin-top:1rem}.scan-progress-summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.scan-progress-ring{aspect-ratio:1;background:conic-gradient(var(--accent-blue) var(--scan-progress-arc), color-mix(in srgb, var(--border) 76%, transparent) var(--scan-progress-arc));width:4.75rem;color:var(--text-primary);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.scan-progress-ring:after{content:"";border:1px solid var(--border);border-radius:inherit;background:var(--bg-card);box-shadow:inset 0 0 18px color-mix(in srgb, var(--accent-blue) 10%, transparent);position:absolute;inset:.42rem}.scan-progress-ring span{z-index:1;font-family:DM Mono,monospace;font-size:.95rem;font-weight:500;position:relative}.scan-progress-card.retry-pending .scan-progress-ring{background:conic-gradient(var(--signal-retry) var(--scan-progress-arc), color-mix(in srgb, var(--border) 76%, transparent) var(--scan-progress-arc))}.scan-progress-copy{min-width:0}.scan-progress-copy h2{color:var(--text-primary);margin-top:.2rem;font-size:1.18rem;font-weight:600;line-height:1.25}.scan-progress-copy p{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem;line-height:1.5}.scan-progress-meta{min-width:9rem;color:var(--text-secondary);text-align:right;gap:.35rem;display:grid}.scan-progress-meta span,.scan-progress-meta code{font-family:DM Mono,monospace;font-size:.72rem}.scan-progress-meta code{color:var(--text-mono);word-break:break-all}.scan-progress-bar{background:color-mix(in srgb, var(--border) 72%, transparent);border-radius:999px;height:.55rem;overflow:hidden}.scan-progress-bar-fill{width:var(--scan-progress-percent);border-radius:inherit;background:linear-gradient(90deg, var(--accent-blue), var(--signal-green));height:100%;transition:width .45s;position:relative;overflow:hidden}.scan-progress-card.retry-pending .scan-progress-bar-fill{background:var(--signal-retry)}.scan-progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.8s ease-in-out infinite scanBarShine;position:absolute;inset:0}.scan-stage-details{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-drop) 76%, var(--bg-card));border-radius:8px}.scan-stage-details summary{min-height:2.75rem;color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;list-style:none;display:flex}.scan-stage-details summary::-webkit-details-marker{display:none}.scan-stage-details summary:after{content:"›";color:var(--text-tertiary);font-size:1rem;line-height:1;transition:transform .15s}.scan-stage-details[open] summary{border-bottom:1px solid var(--border)}.scan-stage-details[open] summary:after{transform:rotate(90deg)}.scan-stage-details summary span:first-child{color:var(--text-primary);font-size:.85rem;font-weight:600}.scan-stage-details summary span:last-child{color:var(--text-tertiary);white-space:nowrap;margin-left:auto;font-family:DM Mono,monospace;font-size:.7rem}.scan-stage-list{gap:0;list-style:none;display:grid}.scan-stage-item{border-bottom:1px solid var(--border);min-width:0;min-height:2.75rem;color:var(--text-secondary);grid-template-columns:1.2rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .85rem;display:grid}.scan-stage-item:last-child{border-bottom:0}.scan-stage-item.active{background:color-mix(in srgb, var(--accent-blue-glow) 70%, var(--bg-card));color:var(--text-primary)}.scan-stage-marker{border:1px solid var(--border-accent);width:1rem;height:1rem;color:var(--text-tertiary);background:var(--bg-card);border-radius:50%;place-items:center;margin-top:.15rem;display:grid;position:relative}.scan-stage-item.active .scan-stage-marker{border-color:var(--accent-blue);box-shadow:0 0 0 4px var(--accent-blue-glow)}.scan-stage-item.active .scan-stage-marker:after{content:"";border-radius:inherit;background:var(--accent-blue);width:.42rem;height:.42rem;animation:1.4s ease-in-out infinite scanPulse}.scan-stage-item.complete .scan-stage-marker{border-color:var(--signal-green);background:var(--signal-green)}.scan-stage-item.complete .scan-stage-marker:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.32rem;height:.54rem;margin-top:-.08rem;transform:rotate(45deg)}.scan-stage-content{gap:.3rem;min-width:0;display:grid}.scan-stage-topline{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.scan-stage-label{color:var(--text-primary);overflow-wrap:anywhere;font-size:.82rem;font-weight:600;line-height:1.25}.scan-stage-state{color:var(--text-tertiary);text-transform:uppercase;flex:none;font-family:DM Mono,monospace;font-size:.62rem}.scan-stage-item.active .scan-stage-state{color:var(--accent-blue)}.scan-stage-item.complete .scan-stage-state{color:var(--signal-green)}@keyframes scanBarShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes scanPulse{0%,to{opacity:.75;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}@media (width<=760px){.scan-progress-card{margin-top:.75rem;padding:1rem}.scan-progress-summary{grid-template-columns:auto minmax(0,1fr)}.scan-progress-ring{width:4rem}.scan-progress-copy h2{font-size:1rem}.scan-progress-copy p{font-size:.82rem}.scan-progress-meta{text-align:left;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);min-width:0}.scan-stage-item{padding:.6rem .75rem}}@media (width<=360px){.scan-progress-meta{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.scan-progress-card,.scan-progress-bar-fill{transition:none;animation:none}.scan-progress-bar-fill:after,.scan-stage-item.active .scan-stage-marker:after{animation:none}}.error-banner{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-top:1rem;padding:.875rem 1.25rem;font-size:.875rem}.results-section{flex-direction:column;gap:1rem;margin-top:2rem;animation:.4s fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.status-banner{text-align:center;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.875rem;padding:1rem 1.5rem;display:flex}.status-label{letter-spacing:.08em;overflow-wrap:anywhere;min-width:0;font-family:DM Mono,monospace;font-size:1rem;font-weight:500}.result-grid{grid-template-columns:1fr 2fr;gap:1rem;display:grid}.result-grid-single{grid-template-columns:1fr}@media (width<=600px){.upload-section{margin-top:1rem}.drop-prompt{padding:2.75rem 1rem}.file-preview,.batch-selection{padding:1rem}.batch-header{flex-direction:column}.batch-file-list{max-height:min(52vh,32rem)}.batch-toolbar-actions{justify-items:start;width:100%}.batch-primary-actions{justify-content:flex-start;width:100%}.batch-file-row{grid-template-columns:4.25rem minmax(0,1fr)}.batch-file-status{text-align:left;grid-column:2}.batch-file-actions{grid-column:2;justify-content:flex-start;min-width:0}.file-actions .btn,.login-key-form .btn{flex:100%;width:100%}.login-key-form{flex-wrap:wrap}.status-banner{padding:.9rem 1rem}.status-label{font-size:.82rem}.result-card{padding:1rem}.result-grid{grid-template-columns:1fr}.confidence-score{font-size:2rem}.signals-header,.signal-group-summary,.signal-tools,.signal-item{padding-inline:1rem}.session-modal{width:calc(100vw - 2rem);padding:1.5rem}.session-modal-actions .btn{flex:100%;width:100%}}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex}.result-source-preview-card{align-items:center;gap:.85rem}.result-source-preview-card .card-label{align-self:flex-start}.result-source-preview-img{object-fit:contain;max-width:100%;max-height:min(460px,60vh);box-shadow:var(--shadow-md);border-radius:8px}.result-source-preview-placeholder{border:1px dashed var(--border);width:100%;color:var(--text-tertiary);text-align:center;border-radius:8px;padding:2rem 1rem;font-size:.82rem}.card-label{letter-spacing:.1em;color:var(--text-tertiary);text-transform:uppercase;font-family:DM Mono,monospace;font-size:.65rem}.confidence-card{text-align:center;justify-content:center;align-items:center}.confidence-score{font-family:DM Mono,monospace;font-size:2.5rem;font-weight:500;line-height:1}.score-denom{opacity:.6;font-size:1rem}.recommendation-text{color:var(--text-secondary);font-size:.9rem;font-style:italic;line-height:1.6}.recommendation-detail{color:var(--text-primary);margin-top:.5rem;font-style:normal;font-weight:600}.scan-id-row{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.scan-id-label{letter-spacing:.1em;color:var(--text-tertiary);text-transform:uppercase;white-space:nowrap;font-family:DM Mono,monospace;font-size:.65rem}.scan-id{color:var(--text-mono);word-break:break-all;min-width:0;font-family:DM Mono,monospace;font-size:.78rem}.scan-version-row{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;display:flex}.signals-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:visible}.signals-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.signal-count{color:var(--text-tertiary);font-family:DM Mono,monospace;font-size:.75rem}.signal-groups{flex-direction:column;display:flex}.signal-group{border-bottom:1px solid var(--border)}.signal-group:last-child{border-bottom:0}.signal-group-summary{cursor:pointer;grid-template-columns:.75rem minmax(0,1fr) auto 1rem;align-items:center;gap:.75rem;min-height:3rem;padding:.75rem 1.5rem;list-style:none;transition:background .15s;display:grid}.signal-group-summary::-webkit-details-marker{display:none}.signal-group-summary:hover{background:var(--bg-card-hover)}.signal-group-summary:after{content:"›";color:var(--text-tertiary);grid-area:1/4;font-size:1.2rem;transition:transform .15s;transform:rotate(0)}.signal-group[open] .signal-group-summary:after{transform:rotate(90deg)}.signal-group-dot{background:currentColor;border-radius:999px;width:.55rem;height:.55rem}.signal-group-label{min-width:0;color:var(--text-primary);font-size:.9rem;font-weight:600}.signal-group-count{color:var(--text-tertiary);grid-area:1/3;font-family:DM Mono,monospace;font-size:.7rem}.signal-tools{border-top:1px solid var(--border);background:var(--bg-card-hover);flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem .75rem 2.65rem;display:flex}.signal-tool{border:1px solid var(--border);background:var(--bg-card);border-radius:6px;align-items:center;gap:.35rem;min-height:1.6rem;padding:.2rem .45rem;display:inline-flex}.signal-tool-name{color:var(--text-secondary);overflow-wrap:anywhere;font-family:DM Mono,monospace;font-size:.68rem}.signal-tool-info{border:1px solid var(--border);width:1rem;height:1rem;color:var(--text-tertiary);cursor:help;border-radius:999px;outline:none;place-items:center;font-family:DM Mono,monospace;font-size:.65rem;line-height:1;display:inline-grid;position:relative}.signal-tool-info:hover,.signal-tool-info:focus-visible{color:var(--accent-blue);border-color:var(--accent-blue)}.signal-tool-info:after{content:attr(data-tooltip);z-index:10;border:1px solid var(--border);background:var(--bg-card);width:min(18rem,75vw);color:var(--text-secondary);box-shadow:var(--shadow-lg);text-align:left;white-space:normal;opacity:0;pointer-events:none;border-radius:8px;padding:.65rem .75rem;font-family:inherit;font-size:.78rem;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%,.25rem)}.signal-tool-info:hover:after,.signal-tool-info:focus-visible:after{opacity:1;transform:translate(-50%)}.signals-list{border-top:1px solid var(--border);padding:.5rem 0;list-style:none}.signal-item{align-items:flex-start;gap:.75rem;padding:.5rem 1.5rem .5rem 2.65rem;transition:background .15s;display:flex}.signal-item:hover{background:var(--bg-card-hover)}.signal-dot{flex-shrink:0;margin-top:.35rem;font-size:.6rem}.signal-text{color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-size:.875rem;line-height:1.5}.signal-link{color:var(--accent-blue);text-underline-offset:.15em;text-decoration:underline}.signal-link:hover{color:var(--accent-blue-dim)}.result-actions{flex-wrap:wrap;justify-content:center;gap:.875rem;display:flex}.plan-action-tooltip{outline:none;max-width:100%;display:inline-flex;position:relative}.plan-action-tooltip.is-visible{cursor:help}.plan-action-tooltip:after{content:attr(data-tooltip);z-index:10;border:1px solid var(--border);background:var(--bg-card);width:min(16rem,75vw);color:var(--text-secondary);box-shadow:var(--shadow-lg);text-align:left;white-space:normal;opacity:0;pointer-events:none;border-radius:8px;padding:.65rem .75rem;font-size:.78rem;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%,.25rem)}.plan-action-tooltip.is-visible:hover:after,.plan-action-tooltip.is-visible:focus-visible:after{opacity:1;transform:translate(-50%)}.footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;gap:.25rem;padding:1.5rem;display:flex}.footer p{color:var(--text-tertiary);font-size:.8rem}.footer-disclaimer{opacity:.7;font-size:.7rem!important}.preview-placeholder{border:1px dashed var(--border-accent);background:var(--bg-drop);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:200px;height:200px;display:flex}.gps-card{gap:.75rem}.gps-location-name{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.gps-coords{color:var(--text-tertiary);font-family:DM Mono,monospace;font-size:.75rem}.gps-map{border:1px solid var(--border);z-index:1;border-radius:8px;width:100%;height:250px}.heatmap-card{gap:1rem}.heatmap-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.heatmap-title-wrap{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.heatmap-title-dot{flex:none}.heatmap-title{white-space:nowrap}.heatmap-title-info{flex:none}.heatmap-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem}.heatmap-badge{border:1px solid color-mix(in srgb, var(--heatmap-badge-color,var(--signal-orange)) 45%, transparent);background:color-mix(in srgb, var(--heatmap-badge-color,var(--signal-orange)) 12%, transparent);min-width:2.5rem;min-height:1.75rem;color:var(--heatmap-badge-color,var(--signal-orange));letter-spacing:.08em;border-radius:8px;justify-content:center;align-items:center;padding:.25rem .55rem;font-family:DM Mono,monospace;font-size:.72rem;font-weight:500;display:inline-flex}.heatmap-copy{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.heatmap-frame{border:1px solid var(--border-accent);background:0 0;border-radius:8px;place-items:center;display:grid;overflow:hidden}.heatmap-image{object-fit:contain;background:0 0;width:100%;max-height:420px;display:block}.heatmap-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem .85rem;width:100%;padding:.85rem 1rem .2rem;display:flex}.heatmap-legend-item{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.38rem;font-family:DM Mono,monospace;font-size:.72rem;line-height:1;display:inline-flex}.heatmap-legend-swatch{border-radius:3px;width:.78rem;height:.78rem;box-shadow:0 0 0 1px #ffffff1f}.heatmap-legend-low{background:#1a9850}.heatmap-legend-moderate{background:#fee08b}.heatmap-legend-high{background:#f46d43}.heatmap-legend-maximum{background:#d73027}.heatmap-legend-note{width:100%;color:var(--text-tertiary);text-align:center;padding:0 1rem .9rem;font-size:.78rem;line-height:1.45}.heatmap-placeholder{width:100%;min-height:260px;color:var(--text-secondary);justify-content:center;align-items:center;gap:.65rem;font-size:.9rem;display:flex}.heatmap-placeholder-muted{color:var(--text-tertiary)}.session-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.session-modal{background:var(--bg-card);border:1px solid var(--border-accent);text-align:center;width:90%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:16px;padding:2rem 2.5rem;animation:.2s scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.session-modal-icon{margin-bottom:.75rem;font-size:2.5rem}.session-modal-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.session-modal-body{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.session-countdown{color:var(--signal-orange);font-family:DM Mono,monospace;font-size:1.05rem;font-weight:700;transition:color .3s}.session-countdown--urgent{color:var(--signal-red)}.session-modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.session-toast{z-index:1001;background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);box-shadow:var(--shadow-lg);white-space:normal;border-radius:8px;align-items:center;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);padding:.75rem 1.25rem;font-size:.875rem;animation:.3s fadeInUp;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@media (width<=600px){.btn{white-space:normal}.result-card{padding:1rem}.confidence-score{font-size:2rem}.session-modal{width:calc(100vw - 2rem);padding:1.5rem}.session-modal-actions .btn{flex:100%;width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.marketing-app{background:linear-gradient(180deg, #0a0e1a8c, var(--bg-primary) 36rem), var(--bg-primary)}[data-theme=light] .marketing-app{background:linear-gradient(180deg, #f0f4f833, var(--bg-primary) 36rem), var(--bg-primary)}.marketing-header{z-index:100;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:0 1.5rem 0 clamp(3rem,6vw,7rem);display:flex;position:sticky;top:0}.marketing-header-tagline{max-width:34%}.marketing-brand{align-items:center;min-width:0;display:flex}.marketing-logo{white-space:nowrap;text-decoration:none}.marketing-nav{z-index:2;background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);align-items:center;gap:1rem;padding-left:.5rem;display:flex;position:relative}.marketing-nav a{min-height:2rem;color:var(--text-secondary);align-items:center;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.marketing-nav a:not(.marketing-nav-app){border-bottom:2px solid color-mix(in srgb, var(--accent-blue) 45%, transparent)}.marketing-nav a:hover{color:var(--text-primary)}.marketing-nav a:not(.marketing-nav-app):hover{border-bottom-color:var(--accent-blue)}.marketing-nav-app{border:1px solid var(--accent-blue);background:var(--accent-blue);min-height:2rem;box-shadow:var(--shadow-glow);border-radius:8px;justify-content:center;align-items:center;padding:.35rem .8rem;display:inline-flex;color:#fff!important;font-size:.8rem!important;transition:background .15s,border-color .15s,transform .15s!important}.marketing-nav-app:hover,.marketing-nav-app:focus-visible{background:var(--accent-blue-dim);border-color:var(--accent-blue-dim);transform:translateY(-1px);color:#fff!important}.marketing-hero{border-bottom:1px solid var(--border);isolation:isolate;align-items:center;min-height:min(760px,100vh - 68px);display:flex;position:relative;overflow:hidden}.marketing-hero:before{content:"";z-index:-2;background:linear-gradient(90deg, var(--bg-primary) 0%, color-mix(in srgb, var(--bg-primary) 88%, transparent) 52%, #2563eb24 100%), radial-gradient(circle at 82% 52%, #0ea5e921, transparent 30rem);position:absolute;inset:0}.marketing-hero-inner{grid-template-columns:minmax(0,1.12fr) minmax(20rem,24rem);align-items:start;gap:clamp(3rem,8vw,7rem);width:min(1120px,100%);margin:0 auto;padding:5rem 1.5rem 7rem;display:grid}.marketing-hero-copy-block{align-self:start;min-width:0;padding-top:clamp(3rem,8vh,5.5rem)}.marketing-kicker{color:var(--accent-blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem;font-family:DM Mono,monospace;font-size:.78rem;font-weight:500}.marketing-hero h1{letter-spacing:0;max-width:58rem;font-size:clamp(4rem,12vw,8.5rem);line-height:.9}.marketing-hero-copy{max-width:42rem;color:var(--text-secondary);margin-top:1.5rem;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55}.marketing-hero-actions{flex-wrap:wrap;gap:.875rem;margin-top:2rem;display:flex}.preview-carousel{align-self:start;width:100%;position:relative}.preview-example-label{color:var(--text-tertiary);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:.65rem;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500}.marketing-product-preview{border:1px solid var(--border-accent);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 96%, #0ea5e9), var(--bg-card));min-height:28rem;box-shadow:var(--shadow-lg);border-radius:8px;padding:1rem;position:relative}.marketing-product-preview:after{content:"";filter:blur(18px);background:#0ea5e933;border-radius:999px;height:1.25rem;position:absolute;inset:auto 2rem -1.25rem}.preview-nav{border:1px solid var(--border-accent);background:var(--bg-card);width:2rem;height:2rem;color:var(--text-primary);box-shadow:var(--shadow-md);cursor:pointer;border-radius:8px;place-items:center;font-size:1.35rem;line-height:1;transition:border-color .15s,color .15s,transform .15s;display:grid}.preview-nav:hover,.preview-nav:focus-visible{border-color:var(--accent-blue);color:var(--accent-blue);transform:scale(1.04)}.preview-confidence-row{grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;margin:.75rem -2rem 0;display:grid}.preview-window-bar{gap:.45rem;padding:.35rem 0 1rem;display:flex}.preview-window-bar span{background:var(--border-accent);border-radius:50%;width:.65rem;height:.65rem}.preview-drop{border:1px dashed var(--border-accent);background:var(--bg-drop);border-radius:8px;align-items:center;gap:1rem;min-height:6rem;padding:.85rem;display:flex}.preview-image-icon{border:1px solid var(--border);width:3.75rem;height:3.75rem;color:var(--accent-blue);background:var(--accent-blue-glow);border-radius:8px;flex:none;place-items:center;display:grid}.preview-image-icon svg{width:2rem;height:2rem}.preview-thumbnail{border:1px solid var(--border);background:var(--bg-card);object-fit:cover;border-radius:8px;flex:none;width:3.75rem;height:3.75rem}.preview-drop strong,.preview-grid strong,.preview-status strong{color:var(--text-primary);display:block}.preview-drop span,.preview-grid span,.preview-status span,.preview-signal-row span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.66rem;display:block}.preview-status{border:1px solid var(--preview-status-color,var(--accent-blue));background:var(--preview-status-bg,var(--accent-blue-glow));border-radius:8px;align-items:center;gap:.75rem;min-height:4.7rem;margin-top:1rem;padding:.9rem;display:flex}.preview-status strong{color:var(--preview-status-color,var(--accent-blue));margin-top:.25rem;font-size:1rem;line-height:1.25}.preview-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.preview-grid>div{border:1px solid var(--border);background:var(--bg-drop);border-radius:8px;padding:.85rem}.preview-grid strong{color:var(--preview-status-color,var(--text-primary));margin-top:.2rem;font-size:.95rem}.preview-signals{gap:.5rem;margin-top:.75rem;display:grid}.preview-signal-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 82%, var(--bg-drop));border-radius:8px;grid-template-columns:5.5rem 1fr;align-items:center;gap:.75rem;min-height:2.6rem;padding:.6rem .75rem;display:grid}.preview-signal-row p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.preview-download{text-align:center;justify-content:center;align-items:center;width:100%;margin-top:.85rem;display:inline-flex}.marketing-contact-form .btn{text-align:center;justify-content:center;align-items:center;display:inline-flex}.marketing-honeypot{display:none}.marketing-form-message{color:var(--text-secondary);font-size:.9rem}.marketing-form-confirmation{border:1px solid color-mix(in srgb, var(--signal-green) 45%, var(--border));background:color-mix(in srgb, var(--signal-green) 12%, var(--bg-card));box-shadow:0 12px 32px color-mix(in srgb, var(--signal-green) 12%, transparent);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:1rem;animation:.18s ease-out marketing-confirmation-in;display:grid}.marketing-form-confirmation-icon{background:var(--signal-green);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.marketing-form-confirmation-icon svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.marketing-form-confirmation strong{color:var(--text-primary);font-size:.95rem;line-height:1.25;display:block}.marketing-form-confirmation p{color:var(--text-secondary);margin-top:.2rem;font-size:.9rem;line-height:1.45}.marketing-form-message-success{color:var(--signal-green)}.marketing-form-message-error{color:var(--signal-red)}@keyframes marketing-confirmation-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.preview-dots{justify-content:center;gap:.45rem;margin-top:1rem;display:flex}.preview-dot{border:1px solid var(--border-accent);background:var(--bg-card);cursor:pointer;border-radius:999px;width:.55rem;height:.55rem;transition:background .15s,border-color .15s,transform .15s}.preview-dot:hover,.preview-dot:focus-visible{border-color:var(--accent-blue)}.preview-dot-active{background:var(--accent-blue);border-color:var(--accent-blue);transform:scale(1.15)}.marketing-band{z-index:2;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1120px;margin:-4rem auto 0;padding:0 1.5rem;display:grid;position:relative}.marketing-summary>div{border:1px solid var(--border);background:var(--bg-card);min-height:10rem;padding:1.5rem}.marketing-stat{color:var(--text-primary);margin-bottom:.7rem;font-size:1rem;font-weight:700;display:block}.marketing-summary p,.marketing-card p,.marketing-section p,.marketing-contact-form input,.marketing-contact-form textarea{color:var(--text-secondary)}.marketing-section{width:min(1120px,100%);margin:0 auto;padding:6rem 1.5rem 0}.marketing-two-col{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.marketing-section h2{max-width:46rem;color:var(--text-primary);letter-spacing:0;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}.marketing-section p{max-width:42rem;font-size:1rem;line-height:1.75}.marketing-signal-list{gap:.75rem;display:grid}.marketing-signal{border:1px solid var(--border);background:var(--bg-card);min-height:3.5rem;color:var(--text-secondary);border-radius:8px;align-items:center;gap:.875rem;padding:.9rem 1rem;display:flex}.marketing-signal span{background:var(--signal-green);border-radius:50%;flex:none;width:.65rem;height:.65rem;box-shadow:0 0 0 4px #22c55e1f}.marketing-section-heading{margin-bottom:2rem}.marketing-card-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.marketing-card{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;min-height:13rem;padding:1.25rem}.marketing-card h3{color:var(--text-primary);margin-bottom:.75rem;font-size:1.05rem}.marketing-card p{font-size:.92rem;line-height:1.65}.marketing-report{align-items:stretch}.marketing-report h2{max-width:42rem}.marketing-report-preview{border:1px solid var(--border);background:var(--bg-drop);min-height:30rem;box-shadow:var(--shadow-md);border-radius:8px;padding:1rem}.marketing-report-page{border:1px solid var(--border);background:var(--bg-secondary);border-radius:4px;gap:.9rem;min-height:28rem;padding:1.15rem;display:grid}.marketing-report-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.85rem;display:flex}.marketing-report-header strong{color:var(--text-primary);font-size:1.1rem;display:block}.marketing-report-header span,.marketing-report-meta span,.marketing-report-status span,.marketing-report-confidence span,.marketing-report-map-label span,.marketing-report-recommendation span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.62rem;display:block}.marketing-report-meta{gap:.55rem;display:grid}.marketing-report-meta>div{min-width:0}.marketing-report-meta strong{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:.15rem;font-size:.75rem;display:block}.marketing-report-result-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:.65rem;display:grid}.marketing-report-status{background:#16a34a14;border:1px solid #16a34a6b;border-radius:8px;padding:.85rem}.marketing-report-confidence{border:1px solid var(--border);background:var(--bg-drop);border-radius:8px;padding:.85rem}.marketing-report-status strong,.marketing-report-confidence strong{color:var(--signal-green);margin-top:.2rem;font-size:1rem;display:block}.marketing-report-map{border:1px solid var(--border);background:#f4f2ea;border-radius:8px;min-height:8.5rem;position:relative;overflow:hidden}.marketing-report-map-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.marketing-report-map-pin{z-index:2;background:var(--accent-blue);width:.85rem;height:.85rem;box-shadow:0 0 0 6px var(--accent-blue-glow);border:2px solid #fff;border-radius:50%;position:absolute;top:38%;left:54%}.marketing-report-map-label{z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:.75rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.marketing-report-map-label strong{color:var(--text-primary);margin-top:.2rem;font-size:.9rem;display:block}.marketing-report-map-label p{color:var(--text-secondary);margin-top:.1rem;font-size:.75rem;line-height:1.3}.marketing-report-findings{gap:.4rem;display:grid}.marketing-report-findings h3{color:var(--text-primary);font-size:.85rem}.marketing-report-findings p{color:var(--text-secondary);padding-left:1rem;font-size:.78rem;line-height:1.35;position:relative}.marketing-report-findings p:before{content:"";background:var(--signal-green);border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:.48rem;left:0}.marketing-report-recommendation{border:1px solid var(--border);background:var(--bg-drop);border-radius:8px;padding:.75rem}.marketing-report-recommendation p{color:var(--text-secondary);margin-top:.25rem;font-size:.78rem;line-height:1.45}.marketing-report-copy-list{gap:.65rem;margin-top:1.25rem;display:grid}.marketing-report-copy-list p{color:var(--text-secondary);padding-left:1rem;font-size:.94rem;line-height:1.55;position:relative}.marketing-report-copy-list p:before{content:"";background:var(--accent-blue);border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:.62rem;left:0}.marketing-limitations{padding-bottom:1rem}.marketing-limits-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;display:grid}.marketing-limits-grid p{border-left:3px solid var(--signal-orange);background:var(--bg-card);min-height:9rem;padding:1.15rem;font-size:.92rem}.marketing-pilot{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:start;gap:clamp(2rem,6vw,5rem);padding-bottom:6rem;display:grid}.marketing-contact-form{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;gap:.85rem;padding:1.25rem;display:grid}.marketing-contact-form input,.marketing-contact-form textarea{border:1px solid var(--border);background:var(--bg-drop);width:100%;color:var(--text-primary);font:inherit;border-radius:8px;padding:.85rem .95rem}.marketing-contact-form textarea{resize:vertical}.marketing-contact-form input:focus,.marketing-contact-form textarea:focus{outline:2px solid var(--accent-blue);outline-offset:1px}.marketing-footer{background:var(--bg-secondary)}@media (width<=980px){.marketing-band,.marketing-card-grid,.marketing-limits-grid{grid-template-columns:repeat(2,1fr)}.marketing-two-col,.marketing-pilot,.marketing-hero-inner{grid-template-columns:1fr}.marketing-product-preview{max-width:34rem}}@media (width>=721px) and (width<=1240px){.marketing-header{flex-wrap:wrap;gap:.55rem 1rem;min-height:0;padding:.75rem 1rem}.marketing-brand{justify-content:space-between;gap:1rem;width:100%}.marketing-header-tagline{text-align:right;white-space:nowrap;max-width:none;position:static;transform:none}.marketing-nav{justify-content:flex-end;gap:.75rem;width:100%}}@media (width<=720px){.marketing-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.85rem 1rem}.marketing-brand{flex-direction:column;align-items:flex-start;gap:.15rem;width:100%}.marketing-logo{font-size:1.35rem;line-height:1.1}.marketing-header-tagline{letter-spacing:.04em;text-align:left;white-space:normal;width:100%;max-width:none;font-size:.65rem;position:static;transform:none}.marketing-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.marketing-nav a{border:1px solid var(--border);background:var(--bg-drop);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:2.25rem;padding:.45rem .55rem;font-size:.78rem;display:inline-flex}.marketing-nav .theme-toggle{justify-self:end;width:64px;min-width:64px}.marketing-nav .marketing-nav-app{border-color:var(--accent-blue);background:var(--accent-blue);box-shadow:var(--shadow-glow);color:#fff!important}.marketing-hero{min-height:calc(100vh - 112px)}.marketing-hero-inner{padding:4rem 1rem 6rem}.marketing-hero h1{font-size:3.6rem}.marketing-band,.marketing-card-grid,.marketing-limits-grid{grid-template-columns:1fr}.marketing-band{margin-top:-3rem;padding:0 1rem}.marketing-section{padding:4rem 1rem 0}.marketing-pilot{padding-bottom:4rem}}@media (width<=540px){.marketing-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-nav .theme-toggle{grid-column:2}}@media (width<=360px){.marketing-hero h1{font-size:3.15rem}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.marketing-header{flex-direction:row;align-items:center;gap:.75rem;padding:.55rem .85rem}.marketing-brand{flex:none;width:auto}.marketing-logo{font-size:1.25rem;line-height:1.1}.marketing-header-tagline{display:none}.marketing-nav{flex:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.marketing-nav a{border:1px solid var(--border);background:var(--bg-drop);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:2rem;padding:.35rem .4rem;font-size:.72rem;display:inline-flex}.marketing-nav .theme-toggle{grid-column:auto;justify-self:end;width:64px;min-width:64px;height:32px}.marketing-nav .marketing-nav-app{border-color:var(--accent-blue);background:var(--accent-blue);box-shadow:var(--shadow-glow);color:#fff!important}.marketing-hero{min-height:calc(100vh - 58px)}.marketing-hero-inner{padding-top:2.5rem}}
