:root{color-scheme:dark;--bg-canvas: #0a0a0d;--surface-1: #131317;--surface-2: #1b1b21;--surface-3: #26262e;--surface-glass: rgba(19, 19, 23, .72);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text-primary: #f4f4f6;--text-secondary: #a8a8b3;--text-tertiary: #6c6c78;--brand-violet: #7c3aed;--brand-magenta: #d6249f;--brand-orange: #f2760c;--brand-amber: #fbbf24;--brand-gradient: linear-gradient(120deg, var(--brand-violet) 0%, var(--brand-magenta) 40%, var(--brand-orange) 75%, var(--brand-amber) 100%);--brand-gradient-soft: linear-gradient(120deg, rgba(124, 58, 237, .18) 0%, rgba(214, 36, 159, .18) 40%, rgba(242, 118, 12, .18) 75%, rgba(251, 191, 36, .18) 100%);--brand-solid: #d6249f;--success: #22c55e;--success-bg: rgba(34, 197, 94, .12);--success-border: rgba(34, 197, 94, .35);--danger: #f0475a;--danger-bg: rgba(240, 71, 90, .12);--danger-border: rgba(240, 71, 90, .35);--warning: #f2a30c;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 20px 40px -20px rgba(0, 0, 0, .6);--ease-out: cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{color-scheme:light;--bg-canvas: #f7f7f9;--surface-1: #ffffff;--surface-2: #f1f1f4;--surface-3: #e6e6ec;--surface-glass: rgba(255, 255, 255, .78);--border: rgba(15, 15, 20, .1);--border-strong: rgba(15, 15, 20, .18);--text-primary: #17171c;--text-secondary: #55555f;--text-tertiary: #86868f;--brand-gradient-soft: linear-gradient(120deg, rgba(124, 58, 237, .1) 0%, rgba(214, 36, 159, .1) 40%, rgba(242, 118, 12, .1) 75%, rgba(251, 191, 36, .1) 100%)}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;font-weight:600;font-size:.95rem;padding:11px 22px;cursor:pointer;transition:transform .15s var(--ease-out),background .15s var(--ease-out),border-color .15s var(--ease-out),opacity .15s var(--ease-out);text-decoration:none;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--brand-gradient);color:#0a0a0d}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--surface-2)}.btn-sm{padding:7px 14px;font-size:.85rem}.input{width:100%;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;padding:11px 14px;transition:border-color .15s var(--ease-out)}.input:focus{outline:none;border-color:var(--brand-solid)}.input::placeholder{color:var(--text-tertiary)}.label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-brand{background:var(--brand-gradient-soft);color:var(--text-primary);border:1px solid var(--border-strong)}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.text-gradient{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app-shell{min-height:100%;display:flex;flex-direction:column}.page-shell{flex:1;display:flex;flex-direction:column}a{color:inherit}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em}p{margin:0;color:var(--text-secondary);line-height:1.6}::selection{background:var(--brand-solid);color:#fff}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 48px))}.toast{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 16px;font-size:.9rem;color:var(--text-primary);box-shadow:var(--shadow-card);cursor:pointer;animation:toast-in .2s var(--ease-out)}.toast-success{border-color:var(--success-border)}.toast-error{border-color:var(--danger-border)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.navbar{position:sticky;top:0;z-index:100;background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.navbar-inner{display:flex;align-items:center;gap:28px;height:64px}.navbar-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;text-decoration:none;color:var(--text-primary)}.navbar-brand-icon{color:var(--brand-solid)}.navbar-links{display:flex;align-items:center;gap:4px;flex:1}.navbar-link{padding:8px 12px;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .15s var(--ease-out),background .15s var(--ease-out)}.navbar-link:hover,.navbar-link.active{color:var(--text-primary);background:var(--surface-2)}.navbar-actions{display:flex;align-items:center;gap:8px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s var(--ease-out),background .15s var(--ease-out)}.theme-toggle:hover{color:var(--text-primary);background:var(--surface-2)}.language-switcher{position:relative}.language-switcher-trigger{width:auto;padding:0 10px;gap:5px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.language-switcher-code{line-height:1}.language-switcher-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:220px;max-height:340px;overflow-y:auto;padding:6px;margin:0;list-style:none;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.language-switcher-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer;transition:background .15s var(--ease-out)}.language-switcher-option:hover{background:var(--surface-2)}.language-switcher-option.active{color:var(--brand-solid)}.language-switcher-native{flex:1}.language-switcher-name{font-size:.75rem;color:var(--text-tertiary)}.footer{border-top:1px solid var(--border);padding:40px 0;margin-top:80px}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}.footer-brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text-primary)}.footer-tagline{font-size:.85rem;flex:1;min-width:200px}.footer-links{display:flex;gap:20px;font-size:.85rem}.footer-links a{color:var(--text-secondary);text-decoration:none}.footer-links a:hover{color:var(--text-primary)}.footer-copy{width:100%;font-size:.78rem;color:var(--text-tertiary);margin-top:8px}.hero{position:relative;overflow:hidden;padding:88px 0 64px}.hero:before{content:"";position:absolute;inset:-20% -10% auto -10%;height:480px;background:var(--brand-gradient-soft);filter:blur(80px);z-index:-1;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}@media (max-width: 900px){.hero-inner{grid-template-columns:1fr}}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.hero-title{font-size:clamp(2.1rem,4.2vw,3.2rem);line-height:1.08}.hero-subtitle{font-size:1.08rem;max-width:520px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.mockup-frame{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-1);box-shadow:var(--shadow-card);overflow:hidden}.mockup-chrome{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--border)}.mockup-dot{width:9px;height:9px;border-radius:50%;background:var(--surface-3)}.mockup-canvas{position:relative;aspect-ratio:4 / 3;background:linear-gradient(135deg,#10021f,#4a0f6b 22%,#b5177a 46%,#f2760c 72%,#fdd35a)}.mockup-crosshair{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0006}.mockup-crosshair:before,.mockup-crosshair:after{content:"";position:absolute;background:#fff}.mockup-crosshair:before{left:50%;top:-8px;width:2px;height:8px;transform:translate(-50%)}.mockup-crosshair:after{top:50%;left:100%;height:2px;width:8px;transform:translateY(-50%)}.mockup-readout{position:absolute;background:#0a0a0dbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;color:#fff}.features-section{padding:64px 24px}.section-title{font-size:1.6rem;margin-bottom:32px}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 900px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.features-grid{grid-template-columns:1fr}}.feature-card{padding:24px;display:flex;flex-direction:column;gap:10px}.feature-icon{color:var(--brand-solid);margin-bottom:4px}.feature-card h3{font-size:1.02rem}.feature-card p{font-size:.88rem}.cta-band{margin:24px auto 80px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--brand-gradient-soft)}.pricing-page{padding:72px 24px 100px}.pricing-header{max-width:640px;margin:0 auto 40px;text-align:center}.pricing-header p{margin-top:12px}.billing-toggle{display:inline-flex;margin:24px auto 0;padding:4px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px}.billing-toggle button{border:none;background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.billing-toggle button.active{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-card)}.save-chip{font-size:.68rem;font-weight:700;color:var(--success);background:var(--success-bg);padding:2px 6px;border-radius:999px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:760px;margin:0 auto}@media (max-width: 720px){.pricing-grid{grid-template-columns:1fr}}.plan-card{position:relative;padding:32px;display:flex;flex-direction:column}.plan-card-pro{border-color:var(--brand-solid);background:linear-gradient(180deg,var(--brand-gradient-soft) 0%,var(--surface-1) 60%)}.plan-badge{position:absolute;top:20px;right:20px}.plan-card h2{font-size:1.15rem}.plan-price{font-size:2.4rem;font-weight:800;margin:12px 0 6px}.plan-price span{font-size:.95rem;font-weight:500;color:var(--text-tertiary)}.plan-blurb{font-size:.88rem;margin-bottom:20px}.plan-features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px;flex:1}.plan-features li{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--text-primary)}.plan-features svg{color:var(--success);flex-shrink:0}.plan-cta{width:100%}.pricing-footnote{max-width:620px;margin:36px auto 0;text-align:center;font-size:.82rem;color:var(--text-tertiary)}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 24px}.auth-card{width:100%;max-width:400px;padding:36px 32px}.auth-title{font-size:1.4rem}.auth-subtitle{margin-top:6px;margin-bottom:24px;font-size:.88rem}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-submit{margin-top:4px;width:100%}.auth-switch{margin-top:20px;text-align:center;font-size:.85rem}.auth-switch a{color:var(--brand-solid);font-weight:600;text-decoration:none}.auth-password-row{display:flex;align-items:baseline;justify-content:space-between}.auth-inline-link{font-size:.8rem;color:var(--brand-solid);text-decoration:none;font-weight:500}.account-page{padding:56px 24px 100px;max-width:860px}.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}@media (max-width: 640px){.account-grid{grid-template-columns:1fr}}.account-card{padding:24px}.account-card h2{font-size:1rem;margin-bottom:16px}.account-fields{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}.account-fields dt{color:var(--text-tertiary);font-size:.85rem}.account-fields dd{margin:0;font-size:.9rem;color:var(--text-primary)}.account-renewal{margin-top:10px;font-size:.85rem}.account-cta{margin-top:16px}.saved-scans-card{padding:24px}.saved-scans-card h2{font-size:1rem;margin-bottom:16px}.saved-scans-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.saved-scans-list li{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.saved-scans-list li:last-child{border-bottom:none}.scan-filename{font-size:.92rem;color:var(--text-primary);margin:0}.scan-meta{font-size:.78rem;color:var(--text-tertiary);margin:2px 0 0}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer}.icon-btn:hover{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.report-templates-card{padding:24px;margin-top:16px}.report-templates-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.report-templates-header h2{font-size:1rem;margin:0}.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.template-list li{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.template-list li:last-child{border-bottom:none}.template-name{font-size:.92rem;color:var(--text-primary);margin:0}.template-company{font-size:.78rem;color:var(--text-tertiary);margin:2px 0 0}.template-actions{display:flex;gap:8px}.template-form{display:flex;flex-direction:column;gap:16px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.template-logo-row{display:flex;align-items:center;gap:12px}.template-logo-preview{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1)}.template-checkbox-list{display:flex;flex-direction:column;gap:8px}.template-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.template-form-actions{display:flex;justify-content:flex-end;gap:8px}.viewer-page{padding-bottom:80px}.viewer-header{padding:40px 24px 24px}.viewer-subtitle{font-size:.92rem;margin-top:4px}.viewer-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.viewer-main{flex:1;min-width:320px;display:flex;flex-direction:column;gap:16px}.viewer-sidebar{width:320px;display:flex;flex-direction:column;gap:16px}.dropzone{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--text-secondary)}.dropzone-compact{min-height:220px}.compare-page{padding:40px 24px 80px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}@media (max-width: 860px){.compare-grid{grid-template-columns:1fr}}.compare-pane{padding:20px;display:flex;flex-direction:column;gap:12px}.compare-pane-label{font-size:.95rem;margin:0}.compare-summary{padding:20px;margin-top:24px}.compare-summary h2{font-size:1rem;margin-bottom:12px}.compare-summary-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:.9rem}.compare-summary-row:last-child{border-bottom:none}.compare-summary-delta span:last-child{color:var(--brand-solid);font-weight:600}.compare-upgrade-hint{margin:16px 0 24px;color:var(--text-secondary);max-width:480px}.viewer-status{color:var(--text-secondary)}.viewer-error{color:var(--danger);max-width:480px;text-align:center}.privacy-note{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);font-size:.82rem;line-height:1.5}.thermal-canvas-wrap{position:relative;width:100%;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-strong);background:#000}.thermal-canvas-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.thermal-canvas-overlay{cursor:crosshair;touch-action:none}.canvas-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#0a0a0dcc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-strong);border-radius:999px;padding:6px 14px;font-size:.78rem;color:var(--text-primary);pointer-events:none;white-space:nowrap}.video-scrubber{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:10px;background:var(--surface-2);border-radius:var(--radius-md)}.video-scrubber-slider{flex:1;accent-color:var(--brand-solid)}.video-scrubber-count{font-size:.78rem;color:var(--text-tertiary);white-space:nowrap;min-width:70px;text-align:right}.viewer-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.viewer-toolbar-actions{display:flex;align-items:center;gap:8px}.template-select{width:auto;padding:7px 10px;font-size:.85rem}.measurement-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;flex:1}.tool-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:var(--surface-2);color:var(--text-secondary);font-size:.88rem;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.tool-btn:hover{color:var(--text-primary)}.tool-btn-active{background:var(--brand-solid);color:#fff}.tool-btn-locked{opacity:.6}.tool-btn-locked svg{color:var(--brand-solid)}.toolbar-divider{width:1px;align-self:stretch;background:var(--border);margin:2px}.wand-tolerance{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary);padding:0 4px}.wand-tolerance input[type=range]{width:90px}.measurement-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:12px}.measurement-count{font-size:.78rem;color:var(--text-tertiary)}.viewer-panel{padding:18px;display:flex;flex-direction:column;gap:14px}.viewer-field{display:flex;flex-direction:column;gap:4px}.viewer-field-row{display:flex;gap:10px}.viewer-field-row .viewer-field{flex:1}.unit-toggle{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:fit-content}.unit-toggle button{border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer}.unit-toggle button.active{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-card)}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text-secondary);cursor:pointer}.scene-range-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.scene-range-value{color:var(--text-primary);font-weight:600}.measurement-list{display:flex;flex-direction:column;gap:8px}.measurement-hint{font-size:.85rem}.measurement-row{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem}.measurement-row-head{margin-bottom:4px}.measurement-row-label{font-weight:600;color:var(--brand-solid)}.measurement-row-value{color:var(--text-primary)}.measurement-row-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;color:var(--text-primary)}
