@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=Playfair+Display:wght@500;600&display=swap";body{margin:0;min-height:100vh}a{color:inherit}:root{--gv-primary: #fc4e46;--gv-primary-hover: #e0453e;--gv-primary-dark: #d03d36;--gv-blue: #0d6abe;--gv-blue-light: #1e7ed8;--gv-green: #00bd6f;--gv-green-dark: #00a460;--gv-yellow: #ffd13c;--gv-orange: #ff7043;--gv-neutral-0: #ffffff;--gv-neutral-25: #fcfcfd;--gv-neutral-50: #f8f9fb;--gv-neutral-100: #f2f4f7;--gv-neutral-200: #e4e7ec;--gv-neutral-300: #d0d5dd;--gv-neutral-400: #98a2b3;--gv-neutral-500: #667085;--gv-neutral-600: #475467;--gv-neutral-700: #344054;--gv-neutral-800: #1d2939;--gv-neutral-900: #101828;--bg: #f9fafb;--panel: var(--gv-neutral-0);--ink: var(--gv-neutral-900);--ink-light: var(--gv-neutral-700);--muted: var(--gv-neutral-500);--muted-light: var(--gv-neutral-400);--line: var(--gv-neutral-200);--line-light: var(--gv-neutral-100);--shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow: 0 8px 32px -8px rgba(0, 0, 0, .12), 0 2px 8px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 20px 60px -20px rgba(0, 0, 0, .14), 0 4px 16px -4px rgba(0, 0, 0, .08);--shadow-xl: 0 32px 80px -24px rgba(0, 0, 0, .18), 0 8px 24px -8px rgba(0, 0, 0, .1);--heading-tight: -.025em;--heading-loose: -.01em;--spring: cubic-bezier(.16, 1, .3, 1);--transition-fast: .14s cubic-bezier(.16, 1, .3, 1);--transition: .24s cubic-bezier(.16, 1, .3, 1);--transition-slow: .36s cubic-bezier(.16, 1, .3, 1);--border-radius-sm: 6px;--border-radius: 10px;--border-radius-lg: 14px;--border-radius-xl: 20px}*{box-sizing:border-box}.update-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:var(--gv-neutral-0);border-radius:10px;box-shadow:0 8px 24px #0003;font-size:14px;white-space:nowrap;animation:ub-slide .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes ub-slide{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.update-banner-text{font-weight:500}.update-banner-btn{background:var(--gv-primary);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer}.update-banner-btn:hover{background:var(--gv-primary-hover)}.update-banner-dismiss{background:none;border:none;color:#ffffff80;font-size:14px;cursor:pointer;padding:2px 4px;line-height:1;transition:color var(--transition-fast)}.update-banner-dismiss:hover{color:#fff}.page{min-height:unset;color:var(--ink);background:var(--bg);padding:32px;font-family:Satoshi,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shell-head{max-width:1400px;margin:0 auto 24px;position:relative}.brand-row{display:flex;align-items:center;gap:14px}.brand-logo{height:34px;width:auto}.brand-divider{width:1px;height:30px;background:var(--line)}.eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gv-primary);font-weight:700;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:18px;height:2px;background:var(--gv-primary);border-radius:1px}.shell-head h1{margin:0 0 6px;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:var(--heading-tight);font-weight:800;color:var(--gv-neutral-900)}.muted{color:var(--muted)}.stage-bar{max-width:1400px;margin:0 auto 28px;display:flex;align-items:center;gap:0;position:relative}.stage-bar:before{display:none}.stage-item{display:flex;align-items:center;gap:10px;padding:10px 20px 10px 0;position:relative;background:none;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity var(--transition-fast);flex-shrink:0}.stage-item:not(:last-child):after{content:"";display:block;width:32px;height:1px;background:var(--line);margin-left:10px;flex-shrink:0}.stage-item.active{border:none;background:none;box-shadow:none;transform:none}.stage-item.done{border:none;background:none;box-shadow:none}.stage-index{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);background:var(--panel);border:1.5px solid var(--line);transition:transform var(--transition-fast),opacity var(--transition-fast);flex-shrink:0}.stage-item.active .stage-index{background:var(--gv-primary);border-color:var(--gv-primary);color:#fff}.stage-item.done .stage-index{background:var(--gv-green);border-color:var(--gv-green);color:#fff}.stage-label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:var(--heading-loose);transition:color var(--transition-fast)}.stage-item.active .stage-label{color:var(--ink)}.stage-item.done .stage-label{color:var(--gv-green)}.workspace{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:24px;align-items:start}.workspace.has-results{grid-template-columns:0fr minmax(0,1fr);gap:0}.workspace.has-results .left-rail{overflow:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease}.left-rail{transition:opacity .3s ease}.show-upload-btn{display:none}.workspace.has-results .show-upload-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 14px;margin-bottom:12px}.left-rail{display:grid;gap:18px;position:sticky;top:20px}.upload-card,.rail-card,.results-area,.panel,.empty-state,.compare-block,.ocr-card,.preflight-card,.summary-card{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.upload-card:hover,.rail-card:hover,.panel:hover,.ocr-card:hover,.preflight-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.upload-card,.rail-card,.panel,.ocr-card,.preflight-card,.summary-card{padding:16px}.card-title{font-size:18px;line-height:1.3;letter-spacing:var(--heading-tight);font-weight:700;color:var(--ink);margin-bottom:2px}.card-sub{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.dropzone{display:block;border:1.5px dashed var(--gv-neutral-300);border-radius:var(--border-radius);padding:20px 16px;text-align:center;background:var(--gv-neutral-50);cursor:pointer;margin-top:12px;margin-bottom:8px;line-height:1.4;font-weight:500;position:relative;overflow:hidden;transition:transform var(--transition-fast)}.dropzone:hover{border-color:var(--gv-primary);background:#fc4e4608;transform:translateY(-1px)}.dropzone:active{transform:scale(.99)}.dropzone:focus-within{outline:none;border-color:var(--gv-primary);box-shadow:0 0 0 3px #fc4e461a}.dropzone input{display:none}.file-meta{display:block;color:var(--muted);font-size:12px;margin-top:6px;margin-bottom:6px;word-break:break-word}.primary{width:100%;margin-top:16px;background:var(--gv-primary);color:#fff;border:none;padding:15px 20px;border-radius:var(--border-radius);font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;position:relative;overflow:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast);box-shadow:0 1px 3px #fc4e464d,0 4px 14px #fc4e4626}.primary:hover{opacity:.92;transform:translateY(-1px)}.primary:active{transform:translateY(0) scale(.98);opacity:1}.primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{display:flex;align-items:center;justify-content:center;gap:8px}.status{margin-top:14px;font-size:13px;color:var(--ink-light);font-weight:500;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gv-neutral-25);border-radius:var(--border-radius);border:1px solid var(--line-light);transition:transform var(--transition-fast),opacity var(--transition-fast);line-height:1.4;min-height:44px}.status-icon{display:flex;align-items:center;font-size:16px;flex-shrink:0}.status-error{background:linear-gradient(135deg,#fc4e4614,#fc4e460a);border-color:#fc4e4633;color:#dc2626}.status-success{background:linear-gradient(135deg,#00bd6f14,#00bd6f0a);border-color:#00bd6f33;color:#059669}.status-loading{background:#fc4e460a;border-color:#fc4e4626;color:var(--gv-primary)}.status-info{background:var(--gv-neutral-50);border-color:var(--line);color:var(--ink-light)}.error-panel{border-color:#fc4e4633!important;background:linear-gradient(135deg,#fc4e4608,#fc4e4603)!important}.error-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.error-icon{font-size:20px;flex-shrink:0;margin-top:2px}.error-header h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#dc2626}.error-header p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.error-details{margin-top:12px;border-top:1px solid rgba(252,78,70,.1);padding-top:12px}.error-details summary{cursor:pointer;font-weight:500;color:var(--ink-light);margin-bottom:8px;padding:4px 0;transition:color var(--transition-fast)}.error-details summary:hover{color:var(--ink)}.empty-panel{border-color:var(--line)!important;background:var(--gv-neutral-25)!important}.empty-content{text-align:center;padding:20px}.empty-icon{font-size:32px;display:block;margin-bottom:12px;opacity:.8}.empty-content h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--ink)}.empty-content p{color:var(--muted);font-size:14px;line-height:1.5;max-width:400px;margin:0 auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.page{animation:fadeIn .48s var(--spring) forwards}.shell-head{animation:fadeInUp .56s var(--spring) forwards;animation-delay:60ms;opacity:0;animation-fill-mode:forwards}.stage-bar{animation:fadeInUp .56s var(--spring) forwards;animation-delay:.12s;opacity:0;animation-fill-mode:forwards}.left-rail{animation:fadeInUp .56s var(--spring) forwards;animation-delay:.18s;opacity:0;animation-fill-mode:forwards}.results-area{animation:fadeInUp .56s var(--spring) forwards;animation-delay:.24s;opacity:0;animation-fill-mode:forwards}.stage-item:nth-child(1){animation:fadeIn .4s var(--spring) forwards;animation-delay:.16s;opacity:0}.stage-item:nth-child(2){animation:fadeIn .4s var(--spring) forwards;animation-delay:.22s;opacity:0}.stage-item:nth-child(3){animation:fadeIn .4s var(--spring) forwards;animation-delay:.28s;opacity:0}.upload-card{animation:fadeInUp .48s var(--spring) forwards;animation-delay:.24s;opacity:0;animation-fill-mode:forwards}.rail-card{animation:fadeInUp .48s var(--spring) forwards;animation-delay:.3s;opacity:0;animation-fill-mode:forwards}.results-section{animation:fadeInUp .36s var(--spring) forwards}.summary-card:nth-child(1){animation-delay:60ms}.summary-card:nth-child(2){animation-delay:.1s}.summary-card:nth-child(3){animation-delay:.14s}.summary-card:nth-child(4){animation-delay:.18s}.summary-card:nth-child(5){animation-delay:.22s}.summary-card{animation:fadeInUp .36s var(--spring) forwards;opacity:0;animation-fill-mode:forwards}.meta-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.value{font-size:14px;font-weight:700}.results-area{padding:18px;min-height:560px}.empty-state,.loading-state{padding:32px;text-align:center}.loading-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px;flex-direction:column}@media(min-width:640px){.loading-header{flex-direction:row;text-align:left}}.loading-content{display:grid;gap:20px;max-width:600px;margin:32px auto 0}.scanning-progress{max-width:560px;margin:48px auto 0}.sp-active{display:flex;align-items:center;gap:16px;margin-bottom:20px}.sp-pulse{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;will-change:transform}.sp-pulse-ring{position:absolute;inset:0;border:1.5px solid rgba(252,78,70,.35);border-radius:50%;animation:sp-ring 2s cubic-bezier(.4,0,.6,1) infinite}.sp-pulse-core{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--gv-primary);border-radius:50%;color:#fff;box-shadow:0 2px 10px #fc4e4647;animation:sp-core 2.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes sp-ring{0%{transform:scale(.85);opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes sp-core{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.sp-active-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.sp-step-name{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:var(--heading-loose);animation:sp-fade-up .3s var(--spring) both;will-change:opacity,transform}.sp-step-detail{font-size:13px;color:var(--muted);animation:sp-fade-up .3s 60ms var(--spring) both}@keyframes sp-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sp-pct{font-size:13px;font-weight:600;color:var(--ink-light);font-variant-numeric:tabular-nums;flex-shrink:0}.sp-bar-track{height:3px;background:var(--gv-neutral-200);border-radius:2px;overflow:hidden;margin-bottom:28px}.sp-bar-fill{height:100%;background:var(--gv-blue);border-radius:2px;transition:width .4s var(--spring);will-change:transform;position:relative;overflow:hidden}.sp-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);transform:translate(-100%);animation:sp-shimmer 1.8s cubic-bezier(.4,0,.6,1) infinite}@keyframes sp-shimmer{to{transform:translate(200%)}}.sp-pipeline{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:0}.sp-pip{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;animation:sp-fade-up .28s var(--spring) both;animation-delay:calc(var(--i, 0) * 50ms)}.sp-pip:before{content:"";position:absolute;top:6px;left:calc(50% + 7px);right:calc(-50% + 7px);height:1px;background:var(--line)}.sp-pip:last-child:before{display:none}.sp-pip-dot{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:center;margin-bottom:6px;position:relative;z-index:1;transition:border-color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.sp-pip--done .sp-pip-dot{background:var(--gv-green);border-color:var(--gv-green);color:#fff}.sp-pip--active .sp-pip-dot{background:var(--gv-blue);border-color:var(--gv-blue);box-shadow:0 0 0 3px #0d6abe26}.sp-pip-label{font-size:10px;font-weight:500;color:var(--muted);text-align:center;line-height:1.2;transition:color var(--transition-fast)}.sp-pip--done .sp-pip-label{color:var(--gv-green)}.sp-pip--active .sp-pip-label{color:var(--ink);font-weight:600}.sp-pip--pending{opacity:.45}@media(max-width:640px){.scanning-progress{margin-top:32px}.sp-step-name{font-size:15px}.sp-pip-label{font-size:9px}.sp-pip-dot{width:11px;height:11px}}*:focus{outline:none}.primary:focus,.ghost:focus,.tab:focus{outline:2px solid var(--gv-primary);outline-offset:2px}.dropzone:focus-within{box-shadow:0 0 0 3px #fc4e461f;outline:none}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{box-shadow:var(--shadow-lg),0 0 0 4px #fc4e4633}input[type=range]:focus::-moz-range-thumb{box-shadow:var(--shadow-lg),0 0 0 4px #fc4e4633}@media(prefers-contrast:high){:root{--line: #000000;--muted: #000000;--ink: #000000}.badge,.tab.active{border-width:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.primary:before,.dropzone:before,.ghost:before{display:none}.scanning-step.active .step-icon{animation:none}.progress-fill:before{animation:none}.pulse-ring,.pulse-core{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:6px;left:6px;background:var(--ink);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transform:translateY(-46px);transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.keyboard-nav .tab:focus,.keyboard-nav .primary:focus,.keyboard-nav .ghost:focus{outline:2px solid var(--gv-primary);outline-offset:2px}@media(pointer:coarse){.tab,.primary,.ghost,.badge{min-height:44px;min-width:44px}}.seo-footer{margin-top:60px;padding:40px 32px;background:var(--gv-neutral-50);border-top:1px solid var(--line-light)}.faq-section{max-width:1400px;margin:0 auto}.faq-section .container{max-width:1200px;margin:0 auto}.faq-eyebrow{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gv-primary);margin:0 0 12px}.faq-section h2{text-align:center;margin-bottom:40px;font-size:32px;font-weight:700;color:var(--ink);letter-spacing:var(--heading-tight)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.faq-item{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius);padding:24px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.faq-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.faq-item--disclaimer{border-color:var(--line);background:var(--gv-neutral-50, #fafafa);grid-column:1 / -1}.faq-item--disclaimer h3{color:var(--ink-light);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.faq-item--disclaimer p{font-size:13px;line-height:1.6}.faq-item h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--ink);line-height:1.3}.faq-item p{margin:0;color:var(--ink-light);font-size:14px;line-height:1.6}.seo-keywords{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid var(--line-light)}@media(max-width:900px){.seo-footer{padding:32px 20px;margin-top:40px}.faq-section h2{font-size:24px;margin-bottom:24px}.faq-grid{grid-template-columns:1fr;gap:16px}.faq-item{padding:20px}.faq-item h3{font-size:16px}.faq-item p{font-size:13px}.preflight-hero-card{padding:24px 20px}.cost-savings{flex-direction:column;text-align:center;gap:4px}.issue-item,.issues-summary{flex-direction:column;gap:8px}}.empty-state h2,.loading-header h2{margin:0 0 8px;font-size:28px;line-height:1.08;letter-spacing:-.02em;font-weight:700}.loading-header p{margin:4px 0 0;font-size:14px}.results-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.results-topbar h2,.panel-head h3{margin:0}.results-topbar h2{font-size:30px;line-height:1.04;letter-spacing:-.02em;font-weight:700}.results-topbar .muted{margin:8px 0 0;font-size:14px}.panel-head h3{font-size:21px;line-height:1.18;letter-spacing:var(--heading-tight);font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:0;padding:0;border:none;background:none;border-bottom:1px solid var(--line);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}.tab{border:none;background:transparent;color:var(--muted);border-radius:0;font-size:13px;font-weight:600;padding:10px 18px;cursor:pointer;position:relative;transition:color var(--transition-fast);white-space:nowrap}.tab:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gv-primary);transform:scaleX(0);transition:transform var(--transition);transform-origin:center}.tab:hover{color:var(--ink);background:none;transform:none}.tab.active{color:var(--ink);background:none;border:none;box-shadow:none;transform:none}.tab.active:after{transform:scaleX(1)}.results-section{margin-top:16px;display:grid;gap:16px}.summary-grid{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr 1fr;gap:12px}.summary-card{min-height:86px;display:grid;align-content:center}.panel{display:grid;gap:14px;padding:18px}.panel-head p{margin:6px 0 0;font-size:14px;line-height:1.45}.analysis-body{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff}.analysis-body h2,.analysis-body h3,.analysis-body h4{margin-top:10px}.analysis-body p,.analysis-body li{line-height:1.6;color:#344054}.analysis-body strong{color:var(--ink)}.preflight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preflight-hero-card{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius-lg);padding:32px;margin-bottom:24px;box-shadow:var(--shadow)}.readiness-score-container{display:flex;align-items:center;gap:32px}.readiness-score{flex-shrink:0}.score-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--gv-green) 0deg,var(--gv-green) calc(var(--score, 0) * 3.6deg),var(--gv-neutral-200) calc(var(--score, 0) * 3.6deg));display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-lg)}.score-circle:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--panel)}.score-value{font-size:32px;font-weight:700;color:var(--ink);z-index:1;line-height:1}.score-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;z-index:1;margin-top:2px}.readiness-details h3{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--ink)}.readiness-subtitle{margin:0 0 16px;font-size:16px;color:var(--ink-light);line-height:1.4}.cost-savings{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#00bd6f1a;border:1px solid rgba(0,189,111,.2);border-radius:var(--border-radius);color:#059669}.savings-icon{font-size:20px}.savings-subtitle{font-size:12px;opacity:.8;margin-left:4px}.preflight-summary-enhanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card{padding:20px;border-radius:var(--border-radius);border:1px solid var(--line-light);display:flex;align-items:center;gap:16px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.summary-card.success{background:#00bd6f0d;border-color:#00bd6f26}.summary-card.warning{background:#ffd13c12;border-color:#ffd13c33}.summary-card.error{background:#fc4e460d;border-color:#fc4e4626}.summary-card.info{background:var(--gv-neutral-25);border-color:var(--line-light)}.summary-icon{font-size:28px;flex-shrink:0}.summary-content{flex:1}.summary-content .label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.summary-content .value{font-size:24px;font-weight:700;color:var(--ink);line-height:1}.summary-content .percentage{font-size:11px;color:var(--muted-light);margin-top:2px}.preflight-lite-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.preflight-lite-pages{display:grid;gap:12px}.preflight-pages-enhanced{display:grid;gap:20px}.preflight-page-card{border:1px solid var(--line-light);border-radius:var(--border-radius);padding:20px;background:var(--panel);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.preflight-page-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.page-header{margin-bottom:16px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-title h4{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--border-radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-badge.ok{background:#00bd6f26;color:#059669;border:1px solid rgba(0,189,111,.3)}.status-badge.warn{background:#ffd13c26;color:#b45309;border:1px solid rgba(255,209,60,.3)}.status-badge.error{background:#fc4e4626;color:#dc2626;border:1px solid rgba(252,78,70,.3)}.page-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-item{text-align:center;padding:12px;background:var(--gv-neutral-25);border-radius:var(--border-radius-sm)}.metric-label{font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;letter-spacing:.03em}.metric-value{font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:4px}.metric-value.warn{color:#b45309}.metric-value.ok{color:#059669}.dpi-warning{font-size:14px}.issues-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-light)}.issues-summary{display:flex;gap:12px;margin-bottom:12px}.issue-count{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--border-radius-sm);font-size:12px;font-weight:600}.issue-count.error{background:#fc4e461a;color:#dc2626}.issue-count.warning{background:#ffd13c1a;color:#b45309}.issues-list{display:grid;gap:8px}.issue-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--gv-neutral-25);border-radius:var(--border-radius-sm);border-left:3px solid var(--line)}.issue-item.fail{border-left-color:var(--gv-primary);background:#fc4e460a}.issue-item.review{border-left-color:var(--gv-yellow);background:#ffd13c0a}.issue-severity{font-size:16px;flex-shrink:0;margin-top:1px}.issue-content{flex:1}.issue-message{font-size:14px;color:var(--ink);margin-bottom:4px;line-height:1.4}.issue-recommendation{font-size:12px;color:var(--muted);font-style:italic;line-height:1.3}.more-issues{text-align:center;padding:8px;color:var(--muted);font-size:12px}.no-issues{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;background:#00bd6f14;border:1px solid rgba(0,189,111,.2);border-radius:var(--border-radius);color:#059669;font-weight:500}.empty-preflight{text-align:center;padding:40px 20px}.empty-preflight .empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}.empty-preflight h3{margin:0 0 12px;font-size:20px;color:var(--ink)}.empty-preflight p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}.empty-preflight ul{text-align:left;max-width:400px;margin:0 auto;color:var(--ink-light);font-size:14px;line-height:1.5}.preflight-lite-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfdff}.preflight-lite-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.preflight-lite-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.preflight-lite-issues{display:grid;gap:8px}.preflight-issue{display:flex;align-items:flex-start;gap:8px}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--border-radius);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#0f172a14;transition:transform var(--transition-fast),opacity var(--transition-fast);border:1px solid transparent}.badge.ok{background:#00bd6f1a;color:#15803d;border-color:#00bd6f33}.badge.ok:hover{opacity:.85;transform:translateY(-1px)}.badge.warn{background:#ffd13c26;color:#b45309;border-color:#ffd13c40}.badge.warn:hover{opacity:.85;transform:translateY(-1px)}.badge.missing{background:#6b72801a;color:#374151;border-color:#6b728033}.badge.missing:hover{opacity:.85;transform:translateY(-1px)}.badge.critical{background:#ef44441a;color:#b91c1c;border-color:#ef444440}.badge.critical:hover{opacity:.85;transform:translateY(-1px)}.ocr-filter-bar{display:flex;justify-content:flex-end;margin-bottom:12px}.ocr-filter-btn{font-size:12px;font-weight:600;padding:5px 14px;border-radius:20px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast)}.ocr-filter-btn:hover{border-color:#ef444466;color:#b91c1c}.ocr-filter-btn.active{background:#ef44441a;border-color:#ef444466;color:#b91c1c}.sb-wrap{display:inline-flex;position:relative}.sb-clickable{cursor:pointer}.sb-clickable:hover{filter:brightness(.92);transform:translateY(-1px)}.dp{position:fixed;z-index:600;width:360px;max-width:calc(100vw - 16px);background:#fff;border-radius:16px;box-shadow:0 24px 64px #0000001f,0 2px 8px #0000000f;overflow:hidden;animation:dp-in .16s cubic-bezier(.34,1.4,.64,1) both;font-family:Satoshi,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11"}@keyframes dp-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0f0f0}.dp-title{font-size:12px;font-weight:600;color:#111;display:flex;align-items:center;gap:8px;min-width:0;flex:1;flex-wrap:wrap}.dp-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;border:1px solid;white-space:nowrap;flex-shrink:0}.dp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dp-close{width:26px;height:26px;border-radius:6px;border:none;background:#f5f5f5;color:#888;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px}.dp-close:hover{background:#e8e8e8;color:#333}.dp-tabs{display:flex;padding:0 18px;gap:2px;background:#fafafa;border-bottom:1px solid #f0f0f0}.dp-tab{font-size:11px;font-weight:500;color:#999;padding:8px 12px;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.dp-tab.active{color:#111;border-bottom-color:#111;font-weight:600}.dp-tab:hover:not(.active){color:#555}.dp-body{padding:16px 18px}.dp-inline{font-size:13px;line-height:2;color:#1a1a1a;word-break:break-word}.dp-word{word-break:break-word}.dp-word-same{color:#1a1a1a}.dp-word-removed{background:#fee2e2;color:#dc2626;border-radius:4px;padding:1px 4px;font-weight:500;text-decoration:line-through;margin:0 1px}.dp-word-added{background:#dcfce7;color:#16a34a;border-radius:4px;padding:1px 4px;font-weight:500;margin:0 1px}.dp-sbs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dp-side{border-radius:10px;padding:12px 14px}.dp-side-orig{background:#fef2f2}.dp-side-proof{background:#f0fdf4}.dp-side-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.dp-side-label-orig{color:#dc2626}.dp-side-label-proof{color:#16a34a}.dp-side-text{font-size:12px;line-height:1.65;color:#333;word-break:break-word}.dp-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 16px}.dp-chip{font-size:10px;font-weight:600;padding:3px 9px;border-radius:20px}.dp-chip-removed{background:#fee2e2;color:#dc2626}.dp-chip-added{background:#dcfce7;color:#16a34a}.dp-chip-neutral{background:#f3f4f6;color:#6b7280}.ocr-list,.compare-list{display:grid;gap:18px}.ocr-table{display:grid;gap:8px}.ocr-card{display:grid;gap:14px}.ocr-card>.card-title{margin:2px 0 0}.ocr-card>.ocr-table{margin-top:2px}.ocr-row{display:grid;grid-template-columns:1.2fr 1.4fr 1.4fr .6fr;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-size:13px;position:relative;overflow:visible}.ocr-row.header{font-weight:700;background:var(--gv-neutral-100);margin-bottom:2px}.ocr-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;border-radius:8px 0 0 8px}.ocr-row.ocr-row-same:before{background:#00bd6fd9}.ocr-row.ocr-row-changed:before{background:#fc4e46d9}.ocr-row.ocr-row-missing:before{background:#0d6abed9}.ocr-field{font-weight:700}.nutrition-block{margin-top:16px;padding-top:10px;border-top:1px solid rgba(208,213,221,.45);display:grid;gap:12px}.nutrition-block+.nutrition-block{margin-top:18px}.nutrition-block>.label{margin:0 0 10px;font-size:16px;line-height:1.25;letter-spacing:-.01em;text-transform:none;color:var(--gv-neutral-900);font-weight:700}.nutrition-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:var(--gv-neutral-50)}.nutrition-meta .label{margin-bottom:4px}.nutrition-meta .value{line-height:1.2}.report-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.compare-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-light)}.compare-header h3{margin:0;font-size:11px;font-weight:700;color:var(--ink-light);text-transform:uppercase;letter-spacing:.08em}section.compare-block{padding:0;overflow:hidden}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#fc4e4614;color:var(--gv-primary)}.ghost{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:9px 16px;border:1px solid var(--line);border-radius:var(--border-radius);color:var(--ink-light);text-decoration:none;font-size:13px;font-weight:500;background:var(--panel);cursor:pointer;position:relative;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-sm)}.ghost:hover{border-color:var(--gv-neutral-400);color:var(--ink);transform:translateY(-1px)}.stage-bar:before{display:none!important}.ghost:active{transform:translateY(0) scale(.96)}.ghost:focus{outline:none;box-shadow:var(--shadow),0 0 0 3px #0d6abe1a}.compare-stage{position:relative;overflow:hidden;background:#111;cursor:col-resize}.compare-stage img{width:100%;height:auto;display:block}.compare-stage .overlay{position:absolute;inset:0}.compare-stage .overlay img{width:100%;height:100%;object-fit:fill}.compare-stage input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:col-resize;z-index:5;-webkit-appearance:none}.slider-divider{position:absolute;top:0;bottom:0;width:3px;background:#fff;transform:translate(-50%);pointer-events:none;z-index:9;box-shadow:0 0 12px #00000080}.slider-divider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 2px 16px #00000059;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.9)}.slider-divider-handle svg{display:block;color:#1d2939}.slider-corner-label{position:absolute;top:14px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.slider-corner-left{left:14px;background:#0000008c;color:#ffffffe6}.slider-corner-right{right:14px;background:#fc4e46bf;color:#fff}.compare-body{display:flex;align-items:flex-start}.compare-body .compare-stage{flex:1 1 0;min-width:0}.compare-body.has-sidebar .compare-stage{flex:1 1 0}.findings-sidebar{width:280px;flex-shrink:0;border-left:1px solid var(--line);background:var(--gv-neutral-25);display:flex;flex-direction:column;max-height:640px}.findings-sidebar-head{padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);flex-shrink:0}.findings-list{overflow-y:auto;flex:1;padding:8px;display:flex;flex-direction:column;gap:6px}.finding-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--border-radius);padding:10px 12px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border-left:3px solid transparent}.finding-card:hover{border-color:var(--line);box-shadow:var(--shadow-sm)}.finding-card.active{box-shadow:var(--shadow)}.finding-card.sev-critical{border-left-color:#ef4444}.finding-card.sev-warning{border-left-color:#f97316}.finding-card.sev-review{border-left-color:#eab308}.finding-card.sev-info{border-left-color:#3b82f6}.finding-card.active.sev-critical{background:#ef44440a}.finding-card.active.sev-warning{background:#f973160a}.finding-card.active.sev-review{background:#eab3080a}.finding-card.active.sev-info{background:#3b82f60a}.finding-card-header{display:flex;align-items:center;gap:7px;margin-bottom:4px}.finding-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.finding-cat{font-size:12px;font-weight:600;color:var(--ink);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finding-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:4px;flex-shrink:0}.finding-badge.sev-critical{background:#ef44441f;color:#dc2626}.finding-badge.sev-warning{background:#f973161f;color:#ea580c}.finding-badge.sev-review{background:#eab3081f;color:#ca8a04}.finding-badge.sev-info{background:#3b82f61f;color:#2563eb}.finding-desc{font-size:11.5px;color:var(--ink-light);line-height:1.45}.finding-diff{margin-top:8px;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line-light);padding-top:8px}.finding-version{display:flex;flex-direction:column;gap:2px}.fv-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.finding-version.before .fv-value{color:#dc2626}.finding-version.after .fv-value{color:#16a34a}.fv-value{font-size:12px;font-weight:500;color:var(--ink);word-break:break-word}.box-layer{position:absolute;inset:0;pointer-events:none;z-index:20}.diff-box{position:absolute;border:2px solid var(--gv-primary);border-radius:var(--border-radius-sm);box-shadow:0 0 0 1px #fc4e4633,var(--shadow-sm);pointer-events:auto;transition:transform var(--transition-fast),opacity var(--transition-fast);opacity:.85}.diff-box:hover{opacity:1;transform:scale(1.02);box-shadow:0 0 0 2px #fc4e4666,var(--shadow);border-color:var(--gv-primary-dark);z-index:5}.diff-label{position:absolute;left:-4px;top:-8px;background:linear-gradient(135deg,#101828f2,#101828e6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:600;padding:4px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);z-index:15;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px #0003;transition:transform var(--transition-fast),opacity var(--transition-fast);display:flex;align-items:center;gap:4px;line-height:1.2}.diff-label:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.diff-box[data-change=changed] .diff-label:before{background:linear-gradient(135deg,#fc4e46,#ff6b47);box-shadow:0 0 4px #fc4e4666}.diff-box[data-change=same] .diff-label:before{background:linear-gradient(135deg,#00bd6f,#26d97f);box-shadow:0 0 4px #00bd6f66}.diff-box[data-change=missing] .diff-label:before{background:linear-gradient(135deg,#8b45c1,#a855f7);box-shadow:0 0 4px #8b45c166}.diff-box[data-change=added] .diff-label:before{background:linear-gradient(135deg,#0d6abe,#1e90ff);box-shadow:0 0 4px #0d6abe66}.diff-box[data-severity=critical] .diff-label{background:linear-gradient(135deg,#fc4e46f2,#ff6b47e6);border-color:#ffffff4d;animation:label-glow 2s ease-in-out infinite}.diff-box[data-severity=critical] .diff-label:before{background:#fff;animation:pulse-dot 1.5s ease-in-out infinite}.diff-box[data-severity=warning] .diff-label{background:linear-gradient(135deg,#ffd13cf2,#fbbf24e6);color:#101828e6;border-color:#fff3}.diff-box[data-severity=warning] .diff-label:before{background:#101828cc}.diff-box:hover .diff-label{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #00000040}@keyframes label-glow{0%,to{box-shadow:0 4px 12px #0003,0 0 8px #fc4e464d}50%{box-shadow:0 4px 12px #0003,0 0 16px #fc4e4699}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}.annotation-legend{margin:16px 0;padding:16px;background:linear-gradient(135deg,#f8fafccc,#f1f5f999);border:1px solid rgba(226,232,240,.8);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:12px;letter-spacing:.3px}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--muted)}.legend-indicator{width:16px;height:16px;border-radius:4px;border:2px solid;position:relative;flex-shrink:0}.legend-indicator[data-type=changed]{border-color:#fc4e46cc;background:#fc4e461f}.legend-indicator[data-type=same]{border-color:#00bd6fcc;background:#00bd6f1f}.legend-indicator[data-type=missing]{border-color:#8b45c1cc;background:#8b45c11f}.legend-indicator[data-type=critical]{border-color:#fc4e46;background:#fc4e4633;border-width:3px;animation:pulse-border 2s ease-in-out infinite}.legend-indicator[data-type=warning]{border-color:#fb923ce6;background:#fb923c26}.legend-indicator[data-type=review]{border-color:#ffd13cd9;background:#ffd13c1f}.legend-indicator[data-type=info]{border-color:#0d6abeb3;background:#0d6abe1f}.legend-indicator[data-type=critical]:before{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:linear-gradient(135deg,#fc4e46,#ff6b47);border-radius:50%;box-shadow:0 1px 3px #fc4e4666}.diff-popover{position:absolute;min-width:240px;max-width:320px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:14px 16px;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;z-index:15;animation:popover-appear .2s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(8px) scale(.95)}@keyframes popover-appear{to{opacity:1;transform:translateY(0) scale(1)}}.popover-title{font-weight:700;margin-bottom:6px}.popover-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:5px}.popover-container{position:absolute;z-index:20;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1)}.popover-container.expanded{z-index:25}.popover-container:after{content:"";position:absolute;width:0;height:0;border:8px solid transparent;pointer-events:none;z-index:-1}.popover-container:after{top:-16px;left:50%;transform:translate(-50%);border-bottom-color:#101828f2}.popover-container.above:after{top:100%;left:50%;transform:translate(-50%);border-top-color:#101828f2;border-bottom-color:transparent}.popover-container.left:after{top:20px;left:100%;transform:translateY(-50%);border-left-color:#101828f2;border-bottom-color:transparent}.popover-container.right:after{top:20px;right:100%;transform:translateY(-50%);border-right-color:#101828f2;border-bottom-color:transparent}.compare-header-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compare-header-controls .ghost{margin-top:0;padding:6px 12px;font-size:12px}.visual-tab-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.visual-tab-title h3{margin:0 0 4px;font-size:18px;font-weight:700}.visual-tab-title p{margin:0;font-size:13px}.visual-tab-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.annotation-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.annotation-toggle input{display:none}.toggle-track{width:40px;height:22px;border-radius:999px;background:var(--gv-neutral-300);position:relative;flex-shrink:0}.annotation-toggle input:checked+.toggle-track{background:var(--gv-primary)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.annotation-toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle-label{font-size:13px;font-weight:600;color:var(--ink-light)}.annotation-legend-inline{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius)}.annotation-legend-inline .legend-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-light);font-weight:500}.pan-controls{display:flex;align-items:center;gap:8px}.pan-button{font-size:13px;padding:6px 12px}.pan-button.active{background:#6ee7b726;color:#6ee7b7;border-color:#6ee7b766}.pan-offset-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#6ee7b7;font-variant-numeric:tabular-nums}.pan-reset{font-size:11px;padding:2px 8px;opacity:.7}.pan-reset:hover{opacity:1}.compare-stage.pan-mode{cursor:grab;-webkit-user-select:none;user-select:none}.compare-stage.pan-mode:active{cursor:grabbing}.diff-box{cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1);border-radius:4px;position:relative;overflow:hidden}.diff-box[data-change=changed]{border:2px solid rgba(252,78,70,.8);background:#fc4e461f;box-shadow:0 2px 8px #fc4e4633}.diff-box[data-change=same]{border:2px solid rgba(0,189,111,.8);background:#00bd6f1f;box-shadow:0 2px 8px #00bd6f33}.diff-box[data-change=missing]{border:2px solid rgba(139,69,193,.8);background:#8b45c11f;box-shadow:0 2px 8px #8b45c133}.diff-box[data-change=added]{border:2px solid rgba(13,106,190,.8);background:#0d6abe1f;box-shadow:0 2px 8px #0d6abe33}.diff-box[data-severity=critical]{border:3px solid rgba(252,78,70,1)!important;background:#fc4e4626!important;box-shadow:0 0 0 1px #fc4e464d,0 2px 8px #fc4e4640!important;animation:pulse-border 2s ease-in-out infinite}.diff-box[data-severity=warning]{border:2px solid rgba(251,146,60,.9)!important;background:#fb923c1f!important;box-shadow:0 2px 8px #fb923c33!important}.diff-box[data-severity=review]{border:2px solid rgba(255,209,60,.85)!important;background:#ffd13c1a!important;box-shadow:0 2px 8px #ffd13c26!important}.diff-box[data-severity=info]{border:2px solid rgba(13,106,190,.7)!important;background:#0d6abe1a!important;box-shadow:0 2px 8px #0d6abe26!important}.diff-box[data-severity=critical]:before{content:"";position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:linear-gradient(135deg,#fc4e46,#ff6b47);border-radius:50%;box-shadow:0 2px 4px #fc4e4666;z-index:10}.diff-box[data-severity=warning]{border-style:dashed}.diff-box:hover{transform:scale(1.03) translateZ(0);border-width:3px;box-shadow:0 4px 16px #00000026,0 2px 8px #0000001a}.diff-box[data-change=changed]:hover{background:#fc4e462e;box-shadow:0 4px 16px #fc4e464d}.diff-box[data-change=same]:hover{background:#00bd6f2e;box-shadow:0 4px 16px #00bd6f4d}.diff-box[data-change=missing]:hover{background:#8b45c12e;box-shadow:0 4px 16px #8b45c14d}.diff-box[data-change=added]:hover{background:#0d6abe2e;box-shadow:0 4px 16px #0d6abe4d}.diff-box.active{border-width:3px;transform:scale(1.02)}.diff-box[data-change=changed].active{border-color:#fc4e46;background:#fc4e4633}.diff-box[data-change=same].active{border-color:#00bd6f;background:#00bd6f33}.diff-box[data-change=missing].active{border-color:#8b45c1;background:#8b45c133}.diff-box[data-change=added].active{border-color:#0d6abe;background:#0d6abe33}@keyframes pulse-border{0%,to{border-color:#fc4e46cc}50%{border-color:#fc4e46}}.diff-popover-compact{position:relative;min-width:240px;max-width:320px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:14px 16px;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;animation:popover-appear .2s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(8px) scale(.95)}.diff-popover-expanded{position:relative;min-width:380px;max-width:500px;max-height:600px;background:#101828fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;animation:popover-appear .2s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(8px) scale(.95);overflow:hidden}.popover-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);background:#101828cc}.popover-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.popover-title{font-weight:700;font-size:14px;line-height:1.3}.popover-expand,.popover-collapse{background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;line-height:1;transition:transform var(--transition-fast),opacity var(--transition-fast)}.popover-expand:hover,.popover-collapse:hover{color:#fff;background:#ffffff1a;transform:scale(1.05)}.severity-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.severity-badge.critical{background:#fc4e4626;color:#ffb3af;border:1px solid rgba(252,78,70,.3)}.severity-badge.warning{background:#ffd13c26;color:#ffd980;border:1px solid rgba(255,209,60,.3)}.severity-badge.info{background:#0d6abe26;color:#80c7ff;border:1px solid rgba(13,106,190,.3)}.severity-badge.review{background:#ffd13c26;color:#ffd980;border:1px solid rgba(255,209,60,.3)}.popover-description{font-size:13px;line-height:1.5;color:#ffffffd9;margin:0}.popover-description.muted{color:#ffffff73;font-style:italic}.version-before .version-value{color:#fc4e46e6}.version-after .version-value{color:#6ee7b7e6}.popover-content{max-height:540px;overflow-y:auto;padding:0}.popover-section{padding:16px;border-bottom:1px solid rgba(255,255,255,.05)}.popover-section:last-child{border-bottom:none}.popover-section h4{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3}.change-comparison{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.version-data{display:flex;justify-content:space-between;align-items:center;gap:12px}.version-label{font-size:11px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px;min-width:60px}.version-value{font-size:13px;font-weight:500;color:#fff;text-align:right;flex:1;word-break:break-word}.change-status{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.change-status.warn{background:#ffd13c26;color:#ffd980;border:1px solid rgba(255,209,60,.3)}.change-status.ok{background:#00bd6f26;color:#80d6b8;border:1px solid rgba(0,189,111,.3)}.change-status.missing{background:#fc4e4626;color:#ffb3af;border:1px solid rgba(252,78,70,.3)}.field-details,.color-metrics,.tech-details{display:flex;flex-direction:column;gap:8px}.field-meta,.metric-row,.tech-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-label,.metric-label,.tech-label{font-size:11px;color:#fff9;min-width:80px}.field-value,.metric-value,.tech-value{font-size:12px;font-weight:500;color:#fff;text-align:right}.metric-value.error{color:#ffb3af}.metric-value.warn{color:#ffd980}.metric-value.ok{color:#80d6b8}.metric-value.grade-f{color:#ffb3af;font-weight:700}.metric-value.grade-d{color:#ffb3af}.metric-value.grade-c{color:#ffd980}.metric-value.grade-b{color:#80d6b8}.metric-value.grade-a{color:#80d6b8;font-weight:700}.analysis-content{display:flex;flex-direction:column;gap:8px}.analysis-point{font-size:12px;line-height:1.4;color:#fff;padding-left:8px;border-left:2px solid rgba(255,255,255,.2)}.analysis-text{font-size:12px;line-height:1.4;color:#ffffffe6}.expand-hint{font-size:10px;color:#ffffff80;text-align:center;margin-top:8px;font-style:italic}.debug-controls{margin-bottom:20px;padding:12px;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius)}.debug-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.debug-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--gv-primary);cursor:pointer}.debug-label{font-size:14px;font-weight:600;color:var(--ink)}.debug-hint{font-size:12px;color:var(--muted);margin-top:4px;margin-left:24px}.debug-info{margin-bottom:20px}.debug-message{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius);color:var(--ink)}.debug-icon{font-size:24px}.debug-message strong{color:var(--gv-blue);font-weight:700}.debug-message div:last-child{font-size:13px;color:var(--muted);margin-top:2px}.debug-actions{display:flex;gap:12px;align-items:center}.debug-actions .ghost{padding:10px 16px;font-size:13px;min-width:auto}.diff-card{margin:0;border-top:1px solid var(--line-light);border-radius:0;overflow:hidden}.diff-card img{width:100%;display:block}.diff-title{padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.heatmap-legend{background:var(--gv-neutral-50);border:1px solid var(--line-light);padding:16px;border-radius:10px;margin-top:12px}.legend-gradient{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.gradient-bar{flex:1;min-width:180px;height:24px;background:linear-gradient(to right,#00f,#0ff,#0f0,#ff0,red);border-radius:3px;border:1px solid rgba(148,163,184,.2)}.threshold-markers{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.threshold{padding:4px 8px;border-radius:3px;font-weight:600}.threshold.ok{background:#00bd6f33;color:#15803d}.threshold.acceptable{background:#0d6abe33;color:#1e40af}.threshold.warn{background:#ffd13c59;color:#b45309}.threshold.critical{background:#fc4e4633;color:#991b1b}.quality-grade{font-size:24px;font-weight:700;padding:12px 20px;border-radius:8px;display:inline-block;margin:12px 0}.quality-grade.excellent{background:#00bd6f33;color:#15803d}.quality-grade.good{background:#0d6abe33;color:#1e40af}.quality-grade.fair{background:#ffd13c59;color:#b45309}.quality-grade.poor{background:#fc4e4633;color:#991b1b}.legend-stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.diff-pre{background:#0f172a;color:#dbeafe;border-radius:8px;padding:12px;white-space:pre-wrap;max-height:520px;overflow:auto}.skeleton-container{width:100%}.skeleton-text-block{display:grid;gap:8px}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:4px;animation:skeleton-shimmer 2s infinite ease-in-out}.skeleton-card{border:1px solid var(--line-light);border-radius:var(--border-radius);padding:16px;background:var(--panel)}.skeleton-header{height:20px;width:40%;background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:4px;margin-bottom:12px;animation:skeleton-shimmer 2s infinite ease-in-out}.skeleton-content{display:grid;gap:8px}.skeleton-image{background:linear-gradient(90deg,var(--gv-neutral-200) 25%,var(--gv-neutral-100) 50%,var(--gv-neutral-200) 75%);background-size:200% 100%;border-radius:var(--border-radius);animation:skeleton-shimmer 2s infinite ease-in-out}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(hover:none)and (pointer:coarse){.tab,.ghost,.primary{min-height:44px}.stage-item{min-height:60px}.compare-stage input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.compare-stage input[type=range]::-moz-range-thumb{width:24px;height:24px}.dropzone{min-height:80px;padding:20px 16px}}.loading-spinner{display:inline-flex;align-items:center;justify-content:center}.loading-spinner-sm{width:16px;height:16px}.loading-spinner-md{width:24px;height:24px}.loading-spinner-lg{width:32px;height:32px}.spinner-ring{width:100%;height:100%;border:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-primary .spinner-ring{border-top-color:var(--gv-primary);border-right-color:var(--gv-primary)}.loading-spinner-white .spinner-ring{border-top-color:#ffffffe6;border-right-color:#fff9}.loading-spinner-blue .spinner-ring{border-top-color:var(--gv-primary);border-right-color:var(--gv-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.workspace{grid-template-columns:1fr;gap:24px}.left-rail{position:static;grid-template-columns:1fr 1fr;align-items:start;gap:18px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-bar:before{left:12%;right:12%}}@media(max-width:900px){.page{padding:20px 16px}.shell-head{margin-bottom:20px}.shell-head h1{font-size:clamp(24px,6vw,36px)}.brand-row{align-items:flex-start;gap:12px}.brand-logo{height:28px}.left-rail{grid-template-columns:1fr;gap:16px}.stage-bar{gap:8px;margin-bottom:20px}.stage-item{padding:12px 14px;gap:8px}.stage-index{width:28px;height:28px;font-size:12px}.stage-label{font-size:13px}.tabs{gap:2px;padding:4px}.tab{padding:8px 12px;font-size:12px}.summary-grid,.preflight-grid,.ocr-row,.nutrition-meta,.preflight-lite-summary,.preflight-lite-metrics,.preflight-summary-enhanced{grid-template-columns:1fr}.readiness-score-container{flex-direction:column;text-align:center;gap:20px}.score-circle{width:100px;height:100px}.score-circle:before{width:75px;height:75px}.score-value{font-size:24px}.readiness-details h3{font-size:22px}.page-metrics-grid{grid-template-columns:1fr}.results-topbar,.report-header,.compare-header{flex-direction:column;align-items:flex-start;gap:12px}.results-topbar h2{font-size:24px}.compare-stage input[type=range]{left:12px;right:12px;bottom:12px}.loading-header{flex-direction:column;text-align:center}}@media(max-width:640px){.page{padding:16px 12px}.shell-head{margin-bottom:16px}.eyebrow{font-size:10px}.eyebrow:before{width:16px}.shell-head h1{font-size:clamp(20px,8vw,28px);margin-bottom:4px}.brand-row{flex-direction:column;align-items:flex-start;gap:8px}.brand-divider{display:none}.stage-bar{gap:6px;margin-bottom:16px}.stage-item{padding:10px 12px;flex-direction:column;text-align:center;gap:6px}.stage-index{width:24px;height:24px;font-size:11px}.stage-label{font-size:11px}.workspace{gap:16px}.results-area,.empty-state,.loading-state{padding:20px 16px}.upload-card,.rail-card,.panel,.ocr-card,.preflight-card,.summary-card{padding:14px}.tabs{gap:2px;padding:3px;flex-wrap:wrap}.tab{padding:6px 10px;font-size:11px;min-width:0;flex:1}.primary{padding:14px 16px;font-size:13px}.dropzone{padding:16px 12px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.summary-card{min-height:76px;padding:12px}.card-title{font-size:16px}.card-sub{font-size:12px}.results-topbar h2{font-size:20px}.panel-head h3{font-size:18px}.diff-popover{min-width:200px;max-width:280px;padding:12px}.diff-popover-compact{min-width:200px;max-width:280px;padding:12px 14px}.diff-popover-expanded{min-width:320px;max-width:90vw;max-height:80vh}.popover-header,.popover-section{padding:12px}.popover-section h4{font-size:11px}.debug-controls{padding:10px;margin-bottom:16px}.debug-message{padding:12px;gap:10px}.debug-icon{font-size:20px}.debug-actions{flex-direction:column;gap:8px}.debug-actions button{width:100%}.annotation-legend{margin:12px 0;padding:12px}.legend-title{font-size:12px;margin-bottom:10px}.legend-items{gap:12px}.legend-item{font-size:11px}.legend-indicator{width:14px;height:14px}.popover-container{max-width:95vw}.diff-popover-expanded{max-width:95vw;max-height:80vh}.diff-popover-compact{max-width:90vw}.popover-container:after{border-width:6px}.popover-container.above:after{top:100%;margin-top:-12px}.compare-header-controls{flex-direction:column;gap:8px;align-items:stretch}.ocr-row{grid-template-columns:1fr;gap:8px;padding:10px}.ocr-field{font-weight:700;color:var(--ink);border-bottom:1px solid var(--line-light);padding-bottom:4px;margin-bottom:4px}}.label-type-toggle{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius);margin-bottom:12px}.label-type-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.label-type-options{display:flex;gap:6px}.label-type-btn{flex:1;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--border-radius-sm);background:var(--panel);color:var(--ink-light);font-size:13px;font-weight:500;cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast);text-align:center}.label-type-btn:hover{border-color:var(--gv-primary);color:var(--gv-primary);background:#fff5f5}.label-type-btn.active{border-color:var(--gv-primary);background:var(--gv-primary);color:#fff;box-shadow:0 1px 4px #fc4e464d}.label-type-hint{font-size:11px;color:var(--muted);line-height:1.4}.label-type-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--border-radius-sm);font-size:13px;font-weight:500;margin-bottom:16px}.label-type-banner.cosmetic{background:linear-gradient(135deg,#fdf2ff,#f9e8ff);border:1px solid #e8b4f8;color:#7c3aed}.label-type-banner.supplement{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;color:#15803d}.findings-list{display:flex;flex-direction:column;gap:10px}.finding-card{border:1px solid var(--line);border-radius:var(--border-radius-sm);padding:12px 14px;background:var(--panel);border-left:4px solid var(--line)}.finding-card.severity-p0{border-left-color:#fc4e46;background:#fff8f8}.finding-card.severity-p1{border-left-color:#ff7043;background:#fff9f5}.finding-card.severity-p2{border-left-color:#ffd13c;background:#fffef0}.finding-card.severity-p3{border-left-color:#98a2b3;background:var(--gv-neutral-50)}.finding-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.severity-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em}.sev-p0{background:#fde8e8;color:#c0392b}.sev-p1{background:#fde8d8;color:#d35400}.sev-p2{background:#fef9e7;color:#9b7a00}.sev-p3{background:#f0f0f0;color:#667085}.finding-category{font-size:13px;font-weight:600;color:var(--ink)}.finding-owner{font-size:12px;color:var(--muted);margin-left:auto;background:var(--gv-neutral-100);padding:2px 8px;border-radius:4px}.finding-desc{font-size:13px;color:var(--ink-light);line-height:1.5;margin-bottom:8px}.finding-diff{display:flex;flex-direction:column;gap:4px;background:var(--gv-neutral-50);border-radius:var(--border-radius-sm);padding:8px 10px;font-size:12px}.diff-before{color:#c0392b}.diff-after{color:#27ae60}.finding-diff .diff-label{font-weight:600;margin-right:4px}.inci-diff-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.inci-diff{padding:8px 12px;border-radius:var(--border-radius-sm);font-size:13px;line-height:1.5}.inci-diff.added{background:#eafaf1;border:1px solid #a9dfbf;color:#1e8449}.inci-diff.removed{background:#fdedec;border:1px solid #f1948a;color:#c0392b}.inci-diff.order{background:#fef9e7;border:1px solid #f9e79f;color:#9b7a00}.inci-diff .diff-label{font-weight:700;margin-right:6px}.inci-full-list{margin-top:8px}.inci-full-list summary{cursor:pointer;font-size:12px;color:var(--ink-light);font-weight:500;padding:4px 0}.inci-pre{font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius-sm);padding:10px;margin-top:6px;color:var(--ink-light);max-height:250px;overflow-y:auto}.translate-results{display:flex;flex-direction:column;gap:1.5rem}.tr-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tr-header-left{display:flex;align-items:center;gap:1rem}.tr-verdict{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-right:1.25rem;border-right:1px solid var(--line)}.tr-verdict-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-light)}.tr-verdict-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tr-verdict-value{font-size:.9rem;font-weight:700}.tr-title{font-size:1.25rem;font-weight:700;margin:0}.tr-subtitle{margin:.2rem 0 0;font-size:.8rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;max-width:500px}.tr-subtitle-file-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);background:var(--gv-neutral-100, #f3f4f6);padding:1px 6px;border-radius:3px;border:1px solid var(--line)}.tr-subtitle-sep{font-size:.72rem;color:var(--ink-light);font-weight:500}.tr-stat-bar{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:var(--border-radius);overflow:hidden}.tr-stat{flex:1;min-width:80px;padding:.75rem 1rem;border-right:1px solid var(--line);border-bottom:3px solid transparent;background:var(--surface)}.tr-stat:last-child{border-right:none}.tr-stat-value{font-size:1.3rem;font-weight:700;color:var(--ink);line-height:1}.tr-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);margin-top:.3rem}.tr-lang-pills{display:flex;flex-wrap:wrap;gap:.5rem}.tr-lang-pill{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem .3rem .6rem;background:var(--surface)}.tr-lang-pill--pass{border-color:#c8e6c9}.tr-lang-pill--fail{border-color:var(--line)}.tr-lang-pill--active{background:#f0f0f0;border-color:#999}.tr-lang-pill--active .tr-lang-pill-name{color:var(--ink)}.tr-lang-pill--active .tr-lang-pill-badge{background:#e0e0e0;color:#333}.tr-lang-pill-name{font-size:.8rem;font-weight:600;color:var(--ink)}.tr-lang-pill-badge{font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:999px}.tr-lang-pill-badge--pass{background:#e8f5e9;color:#2e7d32}.tr-lang-pill-badge--fail{background:#f5f5f5}.tr-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.tr-view-toggle{display:flex;border:1px solid var(--line);border-radius:var(--border-radius-sm);overflow:hidden}.tr-view-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.78rem;font-weight:500;background:var(--surface);border:none;border-right:1px solid var(--line);cursor:pointer;color:var(--ink-light);transition:opacity .15s,transform .15s}.tr-view-btn:last-child{border-right:none}.tr-view-btn.active{background:var(--gv-neutral-100, #f3f4f6);color:var(--ink);font-weight:700}.tr-filter{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.tr-filter-label{font-size:.75rem;font-weight:600;color:var(--ink-light)}.tr-filter-btn{padding:.3rem .65rem;font-size:.72rem;font-weight:600;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;color:var(--ink-light);transition:opacity .15s,transform .15s}.tr-filter-btn.active{background:var(--gv-neutral-100, #f3f4f6);color:var(--ink);border-color:var(--gv-neutral-300, #d1d5db);font-weight:700}.tr-filter-btn.active[data-sev]{background:var(--surface)}.tr-matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--border-radius)}.tr-matrix{width:100%;border-collapse:collapse;font-size:.82rem}.tr-matrix-field-head{text-align:left;padding:.75rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);background:var(--gv-neutral-50, #f9fafb);border-bottom:2px solid var(--line);position:sticky;left:0;min-width:200px;z-index:2}.tr-matrix-lang-head{text-align:center;padding:.6rem .75rem;background:var(--gv-neutral-50, #f9fafb);border-bottom:2px solid var(--line);border-left:1px solid var(--line);min-width:130px}.tr-matrix-lang-name{font-size:.78rem;font-weight:700;color:var(--ink)}.tr-matrix-lang-status{font-size:.65rem;font-weight:600;margin-top:3px}.tr-matrix-lang-status.pass{color:#2e7d32}.tr-matrix-lang-status.fail{color:#616161}.tr-matrix-row{cursor:pointer;transition:opacity .1s}.tr-matrix-row:hover td{filter:brightness(.97)}.tr-matrix-row td{border-bottom:1px solid var(--line)}.tr-matrix-row.expanded td{border-bottom:none}.tr-matrix-field-cell{padding:.7rem 1rem;background:var(--surface);border-right:2px solid var(--line);position:sticky;left:0;z-index:1}.tr-matrix-field-name{font-size:.8rem;font-weight:500;color:var(--ink)}.tr-matrix-cell{text-align:center;padding:.6rem .5rem;border-left:1px solid var(--line);vertical-align:middle}.tr-cell-pass{background:#fff;text-align:center;vertical-align:middle}.tr-cell-ok{color:#15803d;font-weight:700;font-size:1rem}.tr-cell-error{cursor:pointer}.tr-cell-sev-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:middle}.tr-cell-sev-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.tr-matrix-detail-row td{border-bottom:2px solid var(--line);padding:0}.tr-matrix-detail-spacer{background:var(--gv-neutral-50);border-right:2px solid var(--line);position:sticky;left:0;z-index:1}.tr-matrix-detail-cell{padding:.875rem;vertical-align:top;border-left:1px solid var(--line);background:var(--surface);min-width:130px}.tr-detail-pass{background:#f0fdf4}.tr-detail-ok{font-size:.75rem;color:#15803d;font-weight:600}.tr-detail-spec,.tr-detail-proof,.tr-detail-translated{display:flex;flex-direction:column;margin-bottom:.5rem}.tr-detail-dl{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);margin-bottom:2px}.tr-detail-dd{font-size:.78rem;color:var(--ink);line-height:1.4;word-break:break-word}.tr-detail-desc{font-size:.75rem;color:var(--ink-light);line-height:1.5;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.tr-list{border:1px solid var(--line);border-radius:var(--border-radius);overflow:hidden}.tr-list-item{border-bottom:1px solid var(--line);background:var(--surface)}.tr-list-item:last-child{border-bottom:none}.tr-list-title-row{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem}.tr-list-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tr-list-sev{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.tr-list-field{font-size:.85rem;font-weight:600;color:var(--ink);flex:1;min-width:0}.tr-list-lang-chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;background:var(--gv-neutral-50, #f9fafb);color:var(--ink-light);padding:2px 8px 2px 5px;border-radius:4px;border:1px solid var(--line);margin-left:auto}.tr-list-lang-flag{display:flex;align-items:center}.tr-list-lang-flag .tr-flag{width:16px;height:auto}.tr-list-conf{font-size:.68rem;color:var(--ink-light);margin-left:auto}.tr-list-compare{display:grid;grid-template-columns:1fr 1px 1fr;padding:.7rem 1rem;gap:0;background:var(--gv-neutral-50, #f9fafb);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tr-list-col{padding:0 1rem;min-width:0}.tr-list-col:first-child{padding-left:0}.tr-list-col:last-child{padding-right:0}.tr-list-divider{width:1px;background:var(--line);align-self:stretch}.tr-list-col-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-light);margin-bottom:3px}.tr-list-col-value{font-size:.82rem;color:var(--ink);line-height:1.5;word-break:break-word}.tr-list-col-meaning{font-size:.75rem;color:var(--ink-light);margin-top:4px;line-height:1.4}.tr-copy-action{display:flex;align-items:baseline;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.78rem;color:var(--ink-light);line-height:1.5;background:var(--surface);border:none;cursor:pointer;text-align:left;transition:background .12s}.tr-copy-action:hover{background:var(--gv-neutral-100, #f3f4f6)}.tr-copy-action--copied{background:#e8f5e9}.tr-copy-action-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);white-space:nowrap;flex-shrink:0}.tr-copy-action-text{flex:1;min-width:0}.tr-copy-action-icon{flex-shrink:0;color:var(--ink-light);opacity:.5;display:flex;align-items:center;margin-left:auto;padding-left:.5rem;align-self:center}.tr-copy-action:hover .tr-copy-action-icon{opacity:1}.tr-copy-action-confirm{font-size:.68rem;font-weight:700;color:#2e7d32;flex-shrink:0;align-self:center}.translate-notes{border:1px solid var(--line);border-radius:var(--border-radius);overflow:hidden}.translate-notes-title{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light);padding:.55rem .875rem;background:var(--gv-neutral-50, #f9fafb);border-bottom:1px solid var(--line)}.translate-notes-list{margin:0;padding:.6rem .875rem .6rem 1.75rem;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-light);line-height:1.55}.translate-no-findings{text-align:center;padding:3rem 1rem;color:var(--ink-light)}.translate-no-findings .empty-icon{font-size:2.5rem;color:#15803d;margin-bottom:.75rem}.translate-no-findings h4{margin:0 0 .375rem;font-size:1rem;color:var(--ink)}.tr-popover{width:420px;max-width:calc(100vw - 24px)}.tr-pop-lang{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;background:var(--gv-neutral-100);color:var(--ink-light);padding:2px 8px 2px 5px;border-radius:4px;border:1px solid var(--line);margin-left:4px}.tr-pop-lang-flag{display:flex;align-items:center}.tr-pop-lang-flag .tr-flag{width:16px;height:auto}.tr-pop-type{font-size:.68rem;color:var(--ink-light);text-transform:capitalize;margin-left:auto;padding-right:.25rem}.tr-pop-meaning{display:flex;flex-direction:column;gap:3px;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.tr-pop-meaning-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-light)}.tr-pop-meaning-val{font-size:.8rem;color:var(--ink-light);line-height:1.4}.tr-matrix-row{cursor:default}.tr-matrix-row:hover td{filter:none}.tr-pop-pass-body{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1.25rem 1.25rem;text-align:center}.tr-pop-pass-icon{opacity:.9}.tr-pop-pass-msg{font-size:.82rem;color:var(--ink-light);line-height:1.55;margin:0;max-width:280px}.tr-pop-pass-msg strong{color:var(--ink)}.tr-cell-pass:hover{background:#f9fafb;transition:background .15s}.tr-pass-icon{display:block;margin:0 auto}.tr-flag{width:20px;height:auto;border-radius:2px;display:block;box-shadow:0 0 0 1px #00000014}.tr-multi-flag{display:flex;align-items:center;gap:2px}.tr-multi-flag .tr-flag{width:14px}.tr-lang-pill-icon{display:flex;align-items:center}.tr-matrix-lang-icon{display:flex;justify-content:center;align-items:center;margin-bottom:4px}.gen-results{display:flex;flex-direction:column;gap:1.5rem}.gen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.gen-header-left{display:flex;align-items:center;gap:1rem}.gen-title{font-size:1.25rem;font-weight:700;letter-spacing:var(--heading-tight);color:var(--ink);margin:0 0 .2rem}.gen-subtitle{font-size:.8rem;color:var(--muted);margin:0}.gen-confidence-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;white-space:nowrap}.gen-stat-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius)}.gen-stat{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:.4rem .75rem;border-bottom:2px solid transparent}.gen-stat-value{font-size:1.1rem;font-weight:700;color:var(--ink);line-height:1.2}.gen-stat-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.gen-lang-tabs{display:flex;gap:.375rem;flex-wrap:wrap;padding-bottom:.25rem}.gen-lang-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink-light);font-size:.8rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.gen-lang-tab:hover{background:var(--gv-neutral-50);border-color:var(--gv-neutral-300)}.gen-lang-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.gen-lang-tab-flag{display:flex;align-items:center}.gen-lang-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:.68rem;font-weight:700;background:#fff3;color:inherit}.gen-lang-tab.active .gen-lang-tab-count{background:#ffffff40}.gen-lang-tab-count--warn{background:#fff8e1;color:#f57f17}.gen-lang-tab.active .gen-lang-tab-count--warn{background:#fff8e14d;color:#ffe082}.gen-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--border-radius)}.gen-table{width:100%;border-collapse:collapse;font-size:.82rem}.gen-table th{padding:.6rem .85rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--gv-neutral-50);border-bottom:1px solid var(--line);white-space:nowrap}.gen-table td{padding:.65rem .85rem;vertical-align:top;border-bottom:1px solid var(--line-light);color:var(--ink);line-height:1.45}.gen-table tr:last-child td{border-bottom:none}.gen-table tr:hover td{background:var(--gv-neutral-50);transition:background var(--transition-fast)}.gen-table-field-name{font-weight:600;color:var(--ink)}.gen-table-source{color:var(--ink-light);font-size:.8rem}.gen-table-translation{color:var(--ink)}.gen-table-conf{font-size:.78rem;color:var(--muted);white-space:nowrap}.gen-table-conf--high{color:#2e7d32;font-weight:600}.gen-table-conf--med{color:#f57f17;font-weight:600}.gen-table-conf--low{color:#c62828;font-weight:600}.gen-review-flag{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#fff8e1;color:#f57f17;border:1px solid #ffe082;cursor:default;white-space:nowrap}.gen-review-ok{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;color:#2e7d32;font-weight:600}.gen-export{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius)}.gen-export-label{font-size:.8rem;color:var(--ink-light);flex:1}.gen-export-btns{display:flex;gap:.5rem;flex-wrap:wrap}.gen-copy-cell{display:inline-flex;align-items:flex-start;gap:.4rem;background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;text-align:left;color:var(--ink);font-size:inherit;font-family:inherit;line-height:1.4;width:100%;transition:background .15s}.gen-copy-cell:hover{background:var(--gv-neutral-50)}.gen-copy-cell--copied{background:#e8f5e9}.gen-copy-cell-text{flex:1}.gen-copy-cell-icon{flex-shrink:0;margin-top:2px;color:var(--ink-light);opacity:0;transition:opacity .15s}.gen-copy-cell:hover .gen-copy-cell-icon,.gen-copy-cell--copied .gen-copy-cell-icon{opacity:1}.gen-table-source,.gen-copy-cell-text{font-family:Noto Sans,Noto Sans Arabic,Noto Sans JP,Noto Sans SC,Noto Sans KR,sans-serif;font-size:.82rem;line-height:1.5}.gen-table tr[data-lang=Arabic] .gen-copy-cell,.gen-table tr[data-rtl=true] .gen-copy-cell,.gen-table tr[data-lang=Arabic] .gen-table-source,.gen-table tr[data-rtl=true] .gen-table-source{direction:rtl;text-align:right;font-family:Noto Sans Arabic,Noto Sans,sans-serif}.gen-cta{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:var(--border-radius)}.gen-cta-label{font-size:.8rem;color:var(--gv-blue);flex:1}.gen-lang-selector{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.gen-lang-selector-label{font-size:.75rem;font-weight:600;color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.gen-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;color:var(--muted);text-align:center;font-size:.85rem}.gen-notes{padding:.75rem 1rem;background:var(--gv-neutral-50);border:1px solid var(--line);border-radius:var(--border-radius);font-size:.8rem;color:var(--ink-light);line-height:1.55}.gen-notes-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.home-layout{max-width:1280px;margin:0 auto;padding:0 32px 80px}.home-loading{max-width:640px;margin:60px auto 0}.home-split{display:grid;grid-template-columns:300px 1fr;gap:0;min-height:540px;background:var(--panel);border:1px solid var(--line-light);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.home-modes{border-right:1px solid var(--line-light);padding:28px 0;display:flex;flex-direction:column;background:var(--gv-neutral-50)}.home-modes-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 20px 12px}.home-mode-card{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast);animation:fadeUp .4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 70ms);will-change:transform}.home-mode-card:hover{background:var(--gv-neutral-100)}.home-mode-card:active{transform:translateY(1px)}.home-mode-card.active{background:#fc4e460a;border-left-color:var(--gv-primary)}.home-mode-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--gv-neutral-100);color:var(--ink-light);transition:background var(--transition-fast),color var(--transition-fast)}.home-mode-card.active .home-mode-icon{background:#fc4e461a;color:var(--gv-primary)}.home-mode-body{display:flex;flex-direction:column;gap:2px;min-width:0}.home-mode-title{font-size:.875rem;font-weight:600;color:var(--ink);letter-spacing:var(--heading-tight)}.home-mode-desc{font-size:.75rem;color:var(--muted);line-height:1.4}.home-upload{padding:36px 40px;display:flex;flex-direction:column;gap:24px}.home-upload-heading{display:flex;flex-direction:column;gap:6px}.home-upload-title{font-size:1.4rem;font-weight:700;letter-spacing:var(--heading-tight);color:var(--ink);margin:0}.home-upload-sub{font-size:.875rem;color:var(--muted);margin:0;max-width:55ch}.home-dropzones{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px;border:1.5px dashed var(--gv-neutral-300);border-radius:var(--border-radius-lg);background:var(--gv-neutral-50);cursor:pointer;text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast);min-height:140px}.home-dropzone input[type=file]{display:none}.home-dropzone:hover{border-color:var(--gv-primary);background:#fc4e4605}.home-dropzone--filled{border-style:solid;border-color:var(--gv-green);background:#00bd6f08}.home-dz-icon{color:var(--muted);transition:color var(--transition-fast)}.home-dropzone:hover .home-dz-icon{color:var(--gv-primary)}.home-dropzone--filled .home-dz-icon{color:var(--gv-green)}.home-dz-label{font-size:.875rem;font-weight:600;color:var(--ink)}.home-dz-hint{font-size:.75rem;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-dropzone--filled .home-dz-hint{color:var(--gv-green-dark);font-weight:500}.home-subopts{display:flex;flex-direction:column;gap:8px}.home-subopts-label{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.home-subopts-pills{display:flex;flex-wrap:wrap;gap:8px}.home-pill{font-size:.8rem;font-weight:500;padding:5px 14px;border-radius:999px;border:1px solid var(--line);background:var(--gv-neutral-50);color:var(--ink-light);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.home-pill:hover{border-color:var(--gv-neutral-400);color:var(--ink)}.home-pill.active{border-color:var(--ink);background:var(--ink);color:var(--gv-neutral-0)}.home-pill:active{transform:translateY(1px)}.home-subopts-hint{font-size:.75rem;color:var(--muted);line-height:1.4}.home-submit-row{padding-top:4px}.home-submit-btn{padding:11px 28px;font-size:.9375rem;font-weight:700;border-radius:var(--border-radius);width:auto;margin-top:0}.home-submit-btn:active{transform:translateY(1px)}@media(max-width:860px){.home-split{grid-template-columns:1fr}.home-modes{border-right:none;border-bottom:1px solid var(--line-light);padding:16px 0;flex-direction:row;overflow-x:auto}.home-modes-label{display:none}.home-mode-card{flex-shrink:0;border-left:none;border-bottom:3px solid transparent;flex-direction:column;gap:6px;padding:12px 16px}.home-mode-card.active{border-left-color:transparent;border-bottom-color:var(--gv-primary)}.home-mode-desc{display:none}.home-upload{padding:24px 20px}.home-dropzones{grid-template-columns:1fr}.home-layout{padding:0 16px 60px}}
