:root{--ts-cream:#f5f0eb;--ts-cream-deep:#ece4da;--ts-navy:#2d3d4b;--ts-navy-soft:#44525e;--ts-navy-muted:#8a95a0;--ts-green:#82c074;--ts-green-light:#d6edd0;--ts-green-deep:#5fa453;--ts-white:#fff;--ts-hairline:#e3dcd2;--ts-result-negative:#3da35d;--ts-result-positive:#d64a47;--ts-result-invalid:#e8b84b;--ts-font:Nunito, ui-rounded, system-ui, -apple-system, sans-serif;--ts-fw-regular:400;--ts-fw-medium:600;--ts-fw-bold:700;--ts-fw-black:800;--ts-text-hero:2rem;--ts-text-title:1.5rem;--ts-text-lg:1.125rem;--ts-text-base:1rem;--ts-text-sm:.875rem;--ts-text-xs:.75rem;--ts-space-1:4px;--ts-space-2:8px;--ts-space-3:12px;--ts-space-4:16px;--ts-space-5:24px;--ts-space-6:32px;--ts-space-8:48px;--ts-radius-sm:8px;--ts-radius-md:16px;--ts-radius-lg:24px;--ts-radius-pill:999px;--ts-shadow-sm:0 1px 2px #2d3d4b0f;--ts-shadow-md:0 4px 16px #2d3d4b14;--ts-shadow-lg:0 12px 32px #2d3d4b1f;--ts-ease:cubic-bezier(.4, 0, .2, 1);--ts-dur-fast:.15s;--ts-dur-base:.25s;--ts-dur-slow:.4s;--ts-screen-max:480px;--ts-tabbar-h:72px;--ts-touch-min:44px}.taste-safe-stage,.taste-safe-stage *{box-sizing:border-box}.taste-safe-stage{min-height:100dvh;color:var(--ts-navy);font-family:var(--ts-font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#d6d1c9;justify-content:center;align-items:center;padding:20px;display:flex;overflow:hidden}.taste-safe-phone{background:#1c2630;border-radius:46px;flex-shrink:0;width:402px;height:min(858px,100dvh - 40px);padding:13px;overflow:hidden;box-shadow:0 30px 80px #2d3d4b52}.taste-safe-screen{background:var(--ts-cream);border-radius:34px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.taste-safe-status-bar{background:var(--ts-cream);height:34px;color:var(--ts-navy);font-size:13px;font-weight:var(--ts-fw-black);letter-spacing:.02em;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 22px;display:flex}.taste-safe-status-icons{align-items:center;gap:6px;display:inline-flex}.taste-safe-status-signal{align-items:flex-end;gap:2px;height:11px;display:inline-flex}.taste-safe-status-signal span{background:currentColor;border-radius:1px;width:3px}.taste-safe-status-signal span:first-child{height:5px}.taste-safe-status-signal span:nth-child(2){height:7px}.taste-safe-status-signal span:nth-child(3){height:9px}.taste-safe-status-signal span:nth-child(4){height:11px}.taste-safe-status-battery{border:1.2px solid;border-radius:3px;width:24px;height:12px;position:relative}.taste-safe-status-battery:before{content:"";background:currentColor;border-radius:1px;position:absolute;inset:2px 5px 2px 2px}.taste-safe-status-battery:after{content:"";background:currentColor;border-radius:0 1px 1px 0;width:2px;height:4px;position:absolute;top:3px;right:-3px}.taste-safe-screen-body{flex:1;min-height:0;position:relative;overflow:hidden}.taste-safe-screen-transition{height:100%;animation:taste-safe-screen-in .32s var(--ts-ease) both}.taste-safe-tab-bar{z-index:15;height:calc(var(--ts-tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--ts-hairline);background:#fffffff5;flex:none;display:flex;position:relative;box-shadow:0 -7px 24px #2d3d4b0d}.taste-safe-tab-bar button{min-width:0;color:var(--ts-navy-muted);cursor:pointer;font-family:var(--ts-font);font-size:.67rem;font-weight:var(--ts-fw-medium);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 2px 3px;display:flex;position:relative}.taste-safe-tab-bar button[aria-current=page]{color:var(--ts-green-deep);font-weight:var(--ts-fw-black)}.taste-safe-tab-bar__active-indicator{background:0 0;border-radius:0 0 4px 4px;width:29px;height:3px;position:absolute;top:0}.taste-safe-tab-bar button[aria-current=page] .taste-safe-tab-bar__active-indicator{background:var(--ts-green)}.taste-safe-tab-bar button:focus-visible{outline-offset:-4px;outline:3px solid #5fa45359}.taste-safe-brand-mark{width:var(--taste-safe-mark-size,80px);height:var(--taste-safe-mark-size,80px);object-fit:contain;display:block}.taste-safe-icon{flex:none;display:block}.taste-safe-button{justify-content:center;align-items:center;gap:var(--ts-space-2);width:100%;min-height:52px;padding:0 var(--ts-space-5);border-radius:var(--ts-radius-pill);box-shadow:var(--ts-shadow-sm);cursor:pointer;font-family:var(--ts-font);font-size:var(--ts-text-lg);font-weight:var(--ts-fw-bold);transition:transform var(--ts-dur-fast) var(--ts-ease), filter var(--ts-dur-fast) var(--ts-ease);-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;display:inline-flex}.taste-safe-button:active{filter:brightness(.95);transform:scale(.975)}.taste-safe-button:focus-visible,.scan-home-screen__help:focus-visible,.pre-scan-sheet__close:focus-visible,.capture-source-screen__back:focus-visible,.captured-photo-review-screen__header button:focus-visible{outline-offset:3px;outline:3px solid #5fa45359}.taste-safe-button:disabled,.capture-source-screen__back:disabled{cursor:wait;opacity:.62}.taste-safe-button--primary{background:var(--ts-navy);color:var(--ts-white)}.taste-safe-button--accent{background:var(--ts-green);color:var(--ts-navy)}.taste-safe-button--secondary{border-color:var(--ts-navy);box-shadow:none;color:var(--ts-navy);background:0 0}.taste-safe-button--ghost{box-shadow:none;color:var(--ts-navy-soft);background:0 0}.startup-screen{justify-content:center;align-items:center;gap:var(--ts-space-4);height:100%;padding:var(--ts-space-6);background:var(--ts-cream);text-align:center;flex-direction:column;display:flex;position:relative;overflow:hidden}.startup-screen:before{content:"";border:72px solid #82c0740f;border-radius:50%;width:420px;height:420px;position:absolute;top:2%;right:-46%}.startup-screen>*{position:relative}.startup-screen__logo{width:min(190px,62%);height:auto}.startup-screen p{max-width:250px;color:var(--ts-navy-soft);font-size:var(--ts-text-base);font-weight:var(--ts-fw-medium);margin:0;line-height:1.5}.startup-screen__loading-dots{bottom:var(--ts-space-6);gap:7px;display:flex;position:absolute}.startup-screen__loading-dots span{background:var(--ts-green);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite startup-dot-pulse}.startup-screen__loading-dots span:nth-child(2){animation-delay:.14s}.startup-screen__loading-dots span:nth-child(3){animation-delay:.28s}.taste-safe-mascot{color:var(--ts-green);filter:drop-shadow(0 12px 22px #5fa45329);flex:none;display:block}.taste-safe-mascot__sprout{fill:var(--ts-green-deep)}.taste-safe-mascot__face circle{fill:var(--ts-navy);stroke:none}.taste-safe-mascot__face path{fill:none;stroke:var(--ts-navy);stroke-linecap:round;stroke-width:3.4px}.disclaimer-screen,.tutorial-screen,.how-to-test-screen,.ready-to-scan-screen{background:var(--ts-cream);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.disclaimer-screen__header{padding:var(--ts-space-5) var(--ts-space-4) var(--ts-space-3)}.disclaimer-screen__header h1,.how-to-test-screen__header h1{color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-black);margin:0;line-height:1.15}.disclaimer-screen__header p,.how-to-test-screen__header p{color:var(--ts-navy-muted);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-medium);margin:5px 0 0}.disclaimer-screen__content{min-height:0;padding:0 var(--ts-space-4) var(--ts-space-5);scrollbar-width:none;outline:none;flex:1;overflow-y:auto}.disclaimer-screen__content::-webkit-scrollbar{display:none}.disclaimer-screen__content:focus-visible{outline-offset:-4px;outline:3px solid #5fa45347}.disclaimer-screen__card{align-items:flex-start;gap:var(--ts-space-3);margin-bottom:var(--ts-space-3);padding:var(--ts-space-4);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-sm);background:#ffffffd6;border:1px solid #e3dcd2db;display:flex}.disclaimer-screen__card>span{background:var(--ts-green-light);width:34px;height:34px;color:var(--ts-green-deep);border-radius:10px;flex:none;place-items:center;display:grid}.disclaimer-screen__card h2{color:var(--ts-navy);font-size:var(--ts-text-base);font-weight:var(--ts-fw-bold);margin:0}.disclaimer-screen__card p{color:var(--ts-navy-soft);font-size:var(--ts-text-sm);margin:5px 0 0;line-height:1.48}.disclaimer-screen__footer{padding:var(--ts-space-3) var(--ts-space-4) calc(var(--ts-space-5) + env(safe-area-inset-bottom));background:var(--ts-cream);box-shadow:0 -10px 24px #2d3d4b0f}.disclaimer-screen__footer>p{margin:0 0 var(--ts-space-2);color:var(--ts-navy-muted);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold);justify-content:center;align-items:center;gap:7px;display:flex}.disclaimer-screen__footer .taste-safe-button:disabled{cursor:not-allowed}.tutorial-screen,.ready-to-scan-screen{overflow:hidden}.tutorial-screen:before,.ready-to-scan-screen:before{content:"";border:64px solid #82c0740f;border-radius:50%;width:380px;height:380px;position:absolute;top:-8%;right:-42%}.tutorial-screen__header{padding:var(--ts-space-4) var(--ts-space-4) 0;justify-content:space-between;align-items:center;display:flex;position:relative}.tutorial-screen__header>span{color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);letter-spacing:.06em;text-transform:uppercase}.tutorial-screen__header button{min-height:var(--ts-touch-min);padding:0 var(--ts-space-2);color:var(--ts-navy-muted);cursor:pointer;font:inherit;font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold);background:0 0;border:0}.tutorial-screen__card{justify-content:center;align-items:center;gap:var(--ts-space-4);min-height:0;padding:0 var(--ts-space-6);text-align:center;flex-direction:column;flex:1;display:flex;position:relative}.tutorial-screen__card h1{color:var(--ts-navy);font-size:var(--ts-text-hero);font-weight:var(--ts-fw-black);letter-spacing:-.02em;margin:0;line-height:1.12}.tutorial-screen__card p{max-width:310px;color:var(--ts-navy-soft);font-size:var(--ts-text-base);margin:0;line-height:1.55}.tutorial-screen__footer{gap:var(--ts-space-4);padding:var(--ts-space-3) var(--ts-space-4) calc(var(--ts-space-5) + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.tutorial-screen__dots{justify-content:center;align-items:center;gap:7px;display:flex}.tutorial-screen__dots span{border-radius:var(--ts-radius-pill);background:var(--ts-navy-muted);opacity:.38;width:8px;height:8px;transition:width var(--ts-dur-fast), opacity var(--ts-dur-fast)}.tutorial-screen__dots span.is-active{background:var(--ts-green);opacity:1;width:24px}.how-to-test-screen__header{justify-content:space-between;align-items:center;gap:var(--ts-space-3);padding:var(--ts-space-4) var(--ts-space-4) var(--ts-space-3);display:flex}.how-to-test-screen__header h1{font-size:var(--ts-text-base);white-space:nowrap;line-height:1.2}.how-to-test-screen__header-actions{align-items:center;gap:var(--ts-space-2);display:flex}.how-to-test-screen__step-badge{border-radius:var(--ts-radius-pill);background:var(--ts-green-light);color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);white-space:nowrap;padding:6px 10px}.how-to-test-screen__header button{width:var(--ts-touch-min);height:var(--ts-touch-min);background:var(--ts-cream-deep);color:var(--ts-navy);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.how-to-test-screen__progress{padding:0 var(--ts-space-4);gap:5px;display:flex}.how-to-test-screen__progress span{border-radius:var(--ts-radius-pill);background:var(--ts-cream-deep);height:5px;transition:background var(--ts-dur-fast);flex:1}.how-to-test-screen__progress span.is-complete{background:var(--ts-green)}.how-to-test-screen__content{min-height:0;padding:var(--ts-space-4) var(--ts-space-6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.how-to-test-screen__illustration{width:142px;height:142px;margin-bottom:var(--ts-space-5);background:var(--ts-green-light);color:var(--ts-green-deep);border:8px solid #d6edd08f;border-radius:50%;place-items:center;display:grid;box-shadow:0 12px 30px #5fa4531f}.how-to-test-screen__content h2{color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-black);margin:0;line-height:1.16}.how-to-test-screen__content p{max-width:315px;margin:var(--ts-space-2) 0 0;color:var(--ts-navy-soft);font-size:var(--ts-text-base);line-height:1.55}.how-to-test-screen__footer{gap:var(--ts-space-2);padding:var(--ts-space-3) var(--ts-space-4) calc(var(--ts-space-5) + env(safe-area-inset-bottom));display:flex}.how-to-test-screen__footer .taste-safe-button--ghost{border-color:var(--ts-hairline);background:#ffffff94;flex:0 0 34%;width:auto}.ready-to-scan-screen{padding:var(--ts-space-6) var(--ts-space-5) calc(var(--ts-space-5) + env(safe-area-inset-bottom));text-align:center}.ready-to-scan-screen__content{justify-content:center;align-items:center;gap:var(--ts-space-3);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ready-to-scan-screen__check{background:var(--ts-green-light);width:42px;height:42px;color:var(--ts-green-deep);border-radius:50%;place-items:center;display:grid}.ready-to-scan-screen h1{margin:var(--ts-space-2) 0 0;color:var(--ts-navy);font-size:var(--ts-text-hero);font-weight:var(--ts-fw-black);line-height:1.12}.ready-to-scan-screen p{max-width:280px;color:var(--ts-navy-soft);font-size:var(--ts-text-base);margin:0;line-height:1.5}.scan-home-screen{height:100%;padding:var(--ts-space-6) var(--ts-space-5);background:var(--ts-cream);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.scan-home-screen__backdrop{color:var(--ts-green);opacity:.07;pointer-events:none;transform-origin:50%;position:absolute;top:8%;right:-35%;transform:scale(2)rotate(-8deg)}.scan-home-screen__help{z-index:3;top:var(--ts-space-3);right:var(--ts-space-4);border:1.5px solid var(--ts-hairline);background:var(--ts-white);width:40px;height:40px;color:var(--ts-navy-soft);cursor:pointer;font-family:var(--ts-font);font-size:18px;font-weight:var(--ts-fw-black);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.scan-home-screen__content{justify-content:center;align-items:center;gap:var(--ts-space-3);flex-direction:column;flex:1;display:flex;position:relative}.scan-home-screen__content h1,.capture-source-screen__heading h1,.captured-photo-ready-screen__content h1{margin:var(--ts-space-3) 0 0;color:var(--ts-navy);font-size:var(--ts-text-hero);font-weight:var(--ts-fw-black);letter-spacing:-.025em;line-height:1.12}.scan-home-screen__content p,.capture-source-screen__heading p,.captured-photo-ready-screen__content>p:not(.captured-photo-ready-screen__step){max-width:280px;color:var(--ts-navy-soft);font-size:var(--ts-text-base);margin:0;line-height:1.5}.scan-home-screen__action{width:100%;padding-bottom:max(0px, env(safe-area-inset-bottom));position:relative}.pre-scan-sheet__backdrop{z-index:20;animation:taste-safe-backdrop-in var(--ts-dur-base) var(--ts-ease) both;background:#2d3d4b66;align-items:flex-end;display:flex;position:absolute;inset:0}.pre-scan-sheet{width:100%;padding:var(--ts-space-3) var(--ts-space-4) calc(var(--ts-space-5) + env(safe-area-inset-bottom));border-radius:var(--ts-radius-lg) var(--ts-radius-lg) 0 0;background:var(--ts-white);box-shadow:var(--ts-shadow-lg);animation:taste-safe-sheet-up var(--ts-dur-base) var(--ts-ease) both}.pre-scan-sheet__handle{width:40px;height:4px;margin:0 auto var(--ts-space-3);border-radius:var(--ts-radius-pill);background:var(--ts-hairline)}.pre-scan-sheet__heading{justify-content:space-between;align-items:center;gap:var(--ts-space-3);margin-bottom:var(--ts-space-3);display:flex}.pre-scan-sheet__heading h2{color:var(--ts-navy);font-size:var(--ts-text-lg);font-weight:var(--ts-fw-black);margin:0}.pre-scan-sheet__close,.capture-source-screen__back,.captured-photo-review-screen__header button{width:var(--ts-touch-min);height:var(--ts-touch-min);color:var(--ts-navy-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.pre-scan-sheet__reminders{gap:var(--ts-space-3);margin-bottom:var(--ts-space-4);flex-direction:column;display:flex}.pre-scan-sheet__reminder{align-items:flex-start;gap:var(--ts-space-3);display:flex}.pre-scan-sheet__reminder-icon{background:var(--ts-green-light);width:38px;height:38px;color:var(--ts-green-deep);border-radius:10px;flex:none;place-items:center;display:grid}.pre-scan-sheet__reminder h3{color:var(--ts-navy);font-size:var(--ts-text-base);font-weight:var(--ts-fw-bold);margin:0}.pre-scan-sheet__reminder p{color:var(--ts-navy-soft);font-size:var(--ts-text-sm);margin:2px 0 0;line-height:1.45}.pre-scan-sheet__actions{gap:var(--ts-space-2);flex-direction:column;display:flex}.capture-source-screen{height:100%;padding:var(--ts-space-3) var(--ts-space-5) var(--ts-space-6);background:var(--ts-cream);flex-direction:column;display:flex;position:relative}.capture-source-screen__back{margin-left:calc(var(--ts-space-2) * -1)}.capture-source-screen__heading{align-items:center;gap:var(--ts-space-2);margin-top:var(--ts-space-3);text-align:center;flex-direction:column;display:flex}.capture-source-screen__heading h1{margin-bottom:0;font-size:1.75rem}.capture-source-screen__icon,.captured-photo-ready-screen__icon{background:var(--ts-green-light);width:76px;height:76px;color:var(--ts-green-deep);border-radius:50%;flex:none;place-items:center;display:grid}.capture-source-screen__guidance{align-items:flex-start;gap:var(--ts-space-2);margin-top:var(--ts-space-4);padding:var(--ts-space-3);border-radius:var(--ts-radius-md);color:var(--ts-navy-soft);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-medium);background:#d6edd09e;border:1px solid #5fa45333;line-height:1.4;display:flex}.capture-source-screen__guidance .taste-safe-icon{color:var(--ts-green-deep);flex:none}.capture-source-screen__error{margin-top:var(--ts-space-3);padding:var(--ts-space-3);border-radius:var(--ts-radius-md);color:var(--ts-navy-soft);font-size:var(--ts-text-sm);background:#d64a4714;border:1px solid #d64a4738;flex-direction:column;gap:2px;line-height:1.4;display:flex}.capture-source-screen__error strong{color:var(--ts-result-positive)}.capture-source-screen__actions{gap:var(--ts-space-3);padding-top:var(--ts-space-5);padding-bottom:max(0px, env(safe-area-inset-bottom));flex-direction:column;margin-top:auto;display:flex}.captured-photo-review-screen{gap:var(--ts-space-3);height:100%;min-height:0;padding:var(--ts-space-3) var(--ts-space-4) var(--ts-space-4);background:var(--ts-cream);flex-direction:column;display:flex}.captured-photo-review-screen__header{align-items:center;gap:var(--ts-space-2);display:flex}.captured-photo-review-screen__header button{margin-left:calc(var(--ts-space-2) * -1)}.captured-photo-review-screen__header div{min-width:0}.captured-photo-review-screen__header span{color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;display:block}.captured-photo-review-screen__header h1{color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-black);margin:0;line-height:1.15}.captured-photo-review-screen__preview{border-radius:var(--ts-radius-lg);background:radial-gradient(circle at 50% 35%, #465662 0, #293843 72%), var(--ts-navy);min-height:0;box-shadow:var(--ts-shadow-md);border:1px solid #ffffff24;flex:1;margin:0;position:relative;overflow:hidden}.captured-photo-review-screen__preview img{object-fit:contain;width:100%;height:100%;display:block}.captured-photo-review-screen__preview figcaption{right:var(--ts-space-3);bottom:var(--ts-space-3);border-radius:var(--ts-radius-pill);color:var(--ts-white);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c2630c7;padding:6px 10px;position:absolute}.captured-photo-review-screen__checklist{flex-direction:column;gap:5px;display:flex}.captured-photo-review-screen__checklist p{align-items:center;gap:var(--ts-space-2);color:var(--ts-navy-soft);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-medium);margin:0;line-height:1.35;display:flex}.captured-photo-review-screen__checklist .taste-safe-icon{color:var(--ts-green-deep)}.captured-photo-review-screen__actions{gap:var(--ts-space-1);padding-bottom:max(0px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.captured-photo-review-screen__actions .taste-safe-button--ghost{min-height:44px}.captured-photo-ready-screen{height:100%;padding:var(--ts-space-6) var(--ts-space-5);background:radial-gradient(circle at 50% 28%, #d6edd0b8, transparent 42%), var(--ts-cream);text-align:center;flex-direction:column;display:flex;position:relative}.captured-photo-ready-screen__content{justify-content:center;align-items:center;gap:var(--ts-space-3);flex-direction:column;flex:1;display:flex}.captured-photo-ready-screen__icon{width:88px;height:88px;box-shadow:0 12px 32px #5fa4532e}.captured-photo-ready-screen__step{margin:var(--ts-space-3) 0 calc(var(--ts-space-2) * -1);color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);letter-spacing:.06em;text-transform:uppercase}.captured-photo-ready-screen__content h1{font-size:1.8rem}.captured-photo-ready-screen__privacy{margin-top:var(--ts-space-3);border-radius:var(--ts-radius-pill);color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);background:#ffffffbd;padding:10px 14px}.captured-photo-ready-screen__actions{gap:var(--ts-space-1);padding-bottom:max(0px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.browser-camera-screen{height:100%;color:var(--ts-white);background:#182129;position:relative;overflow:hidden}.browser-camera-screen__video,.browser-camera-screen__shade{width:100%;height:100%;position:absolute;inset:0}.browser-camera-screen__video{object-fit:contain}.browser-camera-screen__shade{pointer-events:none;background:linear-gradient(#0c1217b8 0,#0000 28%),linear-gradient(0deg,#0c1217c7 0,#0000 31%)}.browser-camera-screen__header{z-index:4;align-items:center;gap:var(--ts-space-2);padding:var(--ts-space-3) var(--ts-space-4);grid-template-columns:44px 1fr 44px;display:grid;position:absolute;top:0;left:0;right:0}.browser-camera-screen__header button{width:42px;height:42px;color:var(--ts-white);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.browser-camera-screen__header>span:nth-child(2){border-radius:var(--ts-radius-pill);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;justify-self:center;padding:7px 13px}.browser-camera-screen__live-dot{color:#ffffffd1;font-size:9px;font-weight:var(--ts-fw-black);letter-spacing:.08em;justify-content:center;align-items:center;gap:4px;display:inline-flex}.browser-camera-screen__live-dot:before{background:var(--ts-result-positive);content:"";border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #d64a472e}.browser-camera-screen__instruction{z-index:3;top:68px;right:var(--ts-space-5);left:var(--ts-space-5);text-align:center;text-shadow:0 2px 12px #0000008c;position:absolute}.browser-camera-screen__instruction h1{color:var(--ts-white);font-size:var(--ts-text-lg);font-weight:var(--ts-fw-black);margin:0;line-height:1.2}.browser-camera-screen__instruction p{border-radius:var(--ts-radius-pill);color:#fffffff0;width:fit-content;max-width:320px;font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121a20a3;border:1px solid #ffffff24;margin:7px auto 0;padding:7px 11px;line-height:1.4}.browser-camera-screen__target{z-index:2;width:min(76%,290px);height:min(63%,500px);position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.browser-camera-screen__target:before{content:"";border-radius:18px;position:absolute;inset:0;box-shadow:0 0 0 999px #070b0e3b}.browser-camera-screen__corner{z-index:2;filter:drop-shadow(0 2px 6px #00000059);width:36px;height:36px;transition:border-color var(--ts-dur-base);border-style:solid;border-color:#ffffffe6;position:absolute}.browser-camera-screen__target[data-quality-state=ready] .browser-camera-screen__corner{border-color:#7be28f}.browser-camera-screen__target[data-quality-state=warning] .browser-camera-screen__corner{border-color:#f2c45d}.browser-camera-screen__corner--top-left{border-width:3px 0 0 3px;border-radius:14px 0 0;top:-2px;left:-2px}.browser-camera-screen__corner--top-right{border-width:3px 3px 0 0;border-radius:0 14px 0 0;top:-2px;right:-2px}.browser-camera-screen__corner--bottom-left{border-width:0 0 3px 3px;border-radius:0 0 0 14px;bottom:-2px;left:-2px}.browser-camera-screen__corner--bottom-right{border-width:0 3px 3px 0;border-radius:0 0 14px;bottom:-2px;right:-2px}.browser-camera-screen__cassette-guide{aspect-ratio:.27;width:auto;height:94%;transition:border-color var(--ts-dur-base), box-shadow var(--ts-dur-base);border:2px solid #ffffff75;border-radius:13px 13px 18px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.browser-camera-screen__target[data-quality-state=ready] .browser-camera-screen__cassette-guide{border-color:#7be28f;box-shadow:0 0 0 3px #7be28f2e,0 0 24px #7be28f33}.browser-camera-screen__target[data-quality-state=warning] .browser-camera-screen__cassette-guide{border-color:#f2c45ddb}.browser-camera-screen__scan-line{z-index:4;border-radius:var(--ts-radius-pill);height:3px;animation:browser-camera-scan-line 2.3s var(--ts-ease) infinite;pointer-events:none;background:linear-gradient(90deg,#0000,#fffffff2 18%,#7be28ffa 50%,#fffffff2 82%,#0000);position:absolute;top:8%;left:5%;right:5%;box-shadow:0 0 12px #7be28fad}.browser-camera-screen__cassette-guide:after{content:"";background:#ffffff29;width:1px;position:absolute;top:39%;bottom:28%;left:50%;transform:translate(-50%)}.browser-camera-screen__cassette-qr{aspect-ratio:1;background-color:#0000;background-image:linear-gradient(90deg,#fff3 50%,#0000 50%),linear-gradient(#fff3 50%,#0000 50%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:5px 5px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff42;width:25%;position:absolute;top:11%;left:50%;transform:translate(-50%)}.browser-camera-screen__cassette-reference-bar{background:#ffffff52;border-radius:2px;width:72%;height:3px;position:absolute;top:33%;left:50%;transform:translate(-50%)}.browser-camera-screen__cassette-windows,.browser-camera-screen__cassette-wells{justify-content:space-between;width:72%;display:flex;position:absolute;left:50%;transform:translate(-50%)}.browser-camera-screen__cassette-windows{height:30%;top:40%}.browser-camera-screen__cassette-window{background:linear-gradient(#0000 29%,#ffffff29 30% 32%,#0000 33% 59%,#ffffff1f 60% 62%,#0000 63%);border:1px solid #fff3;border-radius:3px;width:39%;height:100%}.browser-camera-screen__cassette-wells{height:9%;top:81%}.browser-camera-screen__cassette-well{border-radius:var(--ts-radius-pill);border:1px solid #fff3;width:33%;height:100%}.browser-camera-screen__countdown{z-index:4;width:78px;height:78px;color:var(--ts-white);font-size:2.25rem;font-weight:var(--ts-fw-black);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121a20c2;border:3px solid #ffffffd1;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #7be28f2e}.browser-camera-screen__quality-checks{z-index:4;right:var(--ts-space-3);bottom:calc(86px + env(safe-area-inset-bottom));left:var(--ts-space-3);grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid;position:absolute}.browser-camera-screen__quality-checks>span{border-radius:var(--ts-radius-pill);color:#ffffffc2;min-width:0;font-size:.64rem;font-weight:var(--ts-fw-bold);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121a20ad;border:1px solid #ffffff24;justify-content:center;align-items:center;gap:4px;padding:7px 4px;display:flex}.browser-camera-screen__quality-checks b{background:#ffffff1f;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.66rem;display:grid}.browser-camera-screen__quality-checks>span[data-state=pass]{color:#b9f3c4;border-color:#7be28f59}.browser-camera-screen__quality-checks>span[data-state=pass] b{color:var(--ts-white);background:#3da35da6}.browser-camera-screen__quality-checks>span[data-state=warning]{color:#f7d98f;border-color:#f2c45d61}.browser-camera-screen__quality-checks>span[data-state=warning] b{background:#a47615b8}.browser-camera-screen__loading{z-index:5;align-items:center;gap:var(--ts-space-2);border-radius:var(--ts-radius-pill);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121a20d1;padding:9px 13px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.browser-camera-screen__spinner{border:2px solid #ffffff4d;border-top-color:var(--ts-green);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite browser-camera-spin}.browser-camera-screen__error{z-index:5;right:var(--ts-space-4);bottom:126px;left:var(--ts-space-4);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-md);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);text-align:center;background:#d64a47eb;padding:10px 13px;line-height:1.4;position:absolute}.browser-camera-screen__capture-controls{z-index:4;right:0;bottom:calc(var(--ts-space-3) + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;left:0}.browser-camera-screen__automatic-capture-note,.browser-camera-screen__manual-capture{border-radius:var(--ts-radius-pill);min-height:46px;color:var(--ts-white);font-family:var(--ts-font);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121a20b8;border:1px solid #fff3}.browser-camera-screen__automatic-capture-note{align-items:center;gap:8px;padding:0 15px;display:inline-flex}.browser-camera-screen__automatic-capture-note>span{background:#7be28f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #7be28f29}.browser-camera-screen__manual-capture{cursor:pointer;border-color:#ffffff9e;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.browser-camera-screen__manual-capture:disabled{cursor:not-allowed;opacity:.5}.browser-camera-screen__capture-controls small{color:#ffffffb8;font-size:.65rem;font-weight:var(--ts-fw-bold)}.browser-camera-screen__shutter{border:4px solid var(--ts-white);cursor:pointer;width:72px;height:72px;transition:opacity var(--ts-dur-fast), transform var(--ts-dur-fast);-webkit-tap-highlight-color:transparent;background:#ffffff2b;border-radius:50%;place-items:center;padding:0;display:grid}.browser-camera-screen__shutter span{background:var(--ts-white);border-radius:50%;width:54px;height:54px}.browser-camera-screen__shutter:active:not(:disabled){transform:scale(.94)}.browser-camera-screen__shutter:disabled{cursor:wait;opacity:.45}.browser-camera-screen__capture-controls>span{color:#ffffffd1;font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);text-shadow:0 1px 8px #000000a6}.browser-camera-screen__header button:focus-visible,.browser-camera-screen__shutter:focus-visible,.browser-camera-screen__manual-capture:focus-visible{outline:3px solid var(--ts-green);outline-offset:3px}.analysis-error-screen{height:100%;padding:var(--ts-space-6) var(--ts-space-5);background:radial-gradient(circle at 50% 28%, #82c0742e, transparent 34%), var(--ts-cream);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.analysis-progress-screen{height:100%;min-height:0;padding:var(--ts-space-7) var(--ts-space-5) var(--ts-space-6);background:var(--ts-cream);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.analysis-progress-screen:before{content:"";border:76px solid #82c07412;border-radius:50%;width:520px;height:720px;position:absolute;top:8%;right:-68%;transform:rotate(20deg)}.analysis-error-screen--with-capture-diagnostics{justify-content:flex-start;overflow-y:auto}.analysis-progress-screen__test-chip{z-index:1;border-radius:var(--ts-radius-pill);box-shadow:var(--ts-shadow-sm);color:var(--ts-navy);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold);background:#ffffffeb;padding:7px 14px;position:relative}.analysis-progress-screen__mascot{z-index:1;margin-top:var(--ts-space-6);animation:analysis-mascot-bob 2s var(--ts-ease) infinite;position:relative}.analysis-progress-screen h1{z-index:1;margin:var(--ts-space-5) 0 var(--ts-space-6);color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-bold);text-align:center;line-height:1.2;position:relative}.analysis-error-screen__content{flex-direction:column;align-items:center;width:100%;display:flex}.analysis-error-screen__content>p{margin:0 0 var(--ts-space-2);color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);letter-spacing:.08em;text-transform:uppercase}.analysis-error-screen h1{margin:0;font-size:1.7rem;line-height:1.1}.analysis-error-screen__content>span{max-width:300px;margin-top:var(--ts-space-4);color:var(--ts-navy-soft);font-size:var(--ts-text-base);font-weight:var(--ts-fw-medium);line-height:1.5}.analysis-progress-screen__steps{z-index:1;gap:var(--ts-space-3);flex-direction:column;width:min(100%,320px);margin:0;padding:0;list-style:none;display:flex;position:relative}.analysis-progress-screen__steps li{align-items:center;gap:var(--ts-space-3);color:var(--ts-navy-muted);font-size:var(--ts-text-base);font-weight:var(--ts-fw-medium);transition:color var(--ts-dur-fast), opacity var(--ts-dur-fast);display:flex}.analysis-progress-screen__steps li[data-state=complete],.analysis-progress-screen__steps li[data-state=active]{color:var(--ts-navy)}.analysis-progress-screen__steps li[data-state=active]{font-weight:var(--ts-fw-bold)}.analysis-progress-screen__steps li[data-state=pending]{opacity:.48}.analysis-progress-screen__step-indicator{width:26px;height:26px;color:var(--ts-navy-muted);border-radius:50%;flex:none;place-items:center;display:grid}.analysis-progress-screen__steps li[data-state=complete] .analysis-progress-screen__step-indicator{background:var(--ts-green-light);color:var(--ts-green-deep)}.analysis-progress-screen__spinner{border:2.4px solid var(--ts-cream-deep);border-top-color:var(--ts-green-deep);border-radius:50%;width:17px;height:17px;animation:.75s linear infinite browser-camera-spin}.analysis-progress-screen__pending-dot{background:var(--ts-navy-muted);border-radius:50%;width:7px;height:7px}.analysis-progress-screen__progress{z-index:1;width:min(100%,320px);height:6px;margin-top:var(--ts-space-6);border-radius:var(--ts-radius-pill);background:var(--ts-cream-deep);position:relative;overflow:hidden}.analysis-progress-screen__progress>span{border-radius:inherit;background:var(--ts-green);height:100%;transition:width var(--ts-dur-base) var(--ts-ease);display:block;box-shadow:0 0 12px #5fa45359}.analysis-error-screen__icon{width:76px;height:76px;margin-bottom:var(--ts-space-5);color:#a47615;background:#e8b84b33;border-radius:50%;place-items:center;display:grid}.analysis-error-screen__actions{gap:var(--ts-space-2);width:100%;max-width:320px;margin-top:var(--ts-space-6);flex-direction:column;display:flex}.analysis-error-screen__diagnostics{width:min(100%,320px);margin-top:var(--ts-space-5);padding:var(--ts-space-3) var(--ts-space-4);border-radius:var(--ts-radius-md);color:var(--ts-navy-soft);text-align:left;background:#ffffff8c;border:1px solid #2d3d4a24}.analysis-error-screen__diagnostics summary{cursor:pointer;font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold)}.analysis-error-screen__diagnostics dl{gap:var(--ts-space-2);margin:var(--ts-space-3) 0 0;font-size:var(--ts-text-xs);display:grid}.analysis-error-screen__diagnostics div{gap:2px;display:grid}.analysis-error-screen__diagnostics dt{color:var(--ts-navy-muted);font-weight:var(--ts-fw-bold)}.analysis-error-screen__diagnostics dd{overflow-wrap:anywhere;margin:0}.capture-diagnostics{width:min(100%,350px);margin-top:var(--ts-space-5);border-radius:var(--ts-radius-md);color:var(--ts-navy-soft);text-align:left;background:#ffffff9e;border:1px solid #2d3d4a24;overflow:hidden}.capture-diagnostics>summary{color:var(--ts-navy);cursor:pointer;font-size:var(--ts-text-sm);font-weight:var(--ts-fw-black);padding:13px 14px}.capture-diagnostics>p{color:var(--ts-navy-muted);font-size:.68rem;font-weight:var(--ts-fw-medium);margin:0;padding:0 14px 12px;line-height:1.45}.capture-diagnostics__metadata{background:#ffffffb8;border:1px solid #2d3d4a17;border-radius:10px;margin:0 10px 12px;display:grid;overflow:hidden}.capture-diagnostics__metadata>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:7px 9px;display:grid}.capture-diagnostics__metadata>div+div{border-top:1px solid #2d3d4a12}.capture-diagnostics__metadata dt,.capture-diagnostics__metadata dd{margin:0;font-size:.64rem;line-height:1.35}.capture-diagnostics__metadata dt{color:var(--ts-navy-muted);font-weight:var(--ts-fw-bold)}.capture-diagnostics__metadata dd{color:var(--ts-navy);font-weight:var(--ts-fw-black);text-align:right}.capture-diagnostics__images{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 10px 12px;display:grid}.capture-diagnostics__images figure{background:#ffffffc7;border:1px solid #2d3d4a17;border-radius:10px;min-width:0;margin:0;overflow:hidden}.capture-diagnostics__images img{object-fit:contain;background:#d8d3cc;width:100%;height:118px;display:block}.capture-diagnostics__images figcaption{gap:3px;padding:7px;font-size:.58rem;line-height:1.3;display:grid}.capture-diagnostics__images strong{color:var(--ts-navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.capture-diagnostics__images span{color:var(--ts-navy-muted);font-weight:var(--ts-fw-bold)}.capture-diagnostics__images a,.capture-diagnostics__report-download{color:var(--ts-green-deep);font-weight:var(--ts-fw-black);overflow-wrap:anywhere}.capture-diagnostics__report-download{text-align:center;background:#5fa4531a;border-radius:9px;margin:0 10px 12px;padding:9px 10px;font-size:.68rem;display:block}.analysis-result-screen{--analysis-result-color:var(--ts-navy);--analysis-result-tint:var(--ts-cream-deep);background:var(--ts-cream);scrollbar-width:thin;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden auto}.analysis-result-screen[data-result=negative]{--analysis-result-color:var(--ts-result-negative);--analysis-result-tint:#e4f3e8}.analysis-result-screen[data-result=positive]{--analysis-result-color:var(--ts-result-positive);--analysis-result-tint:#fae8e6}.analysis-result-screen[data-result=invalid]{--analysis-result-color:#b2831e;--analysis-result-tint:#fbf1d7}.analysis-result-screen[data-result=unreadable]{--analysis-result-color:var(--ts-navy-soft);--analysis-result-tint:#e8ecef}.analysis-result-screen__top-bar{z-index:10;justify-content:space-between;align-items:center;padding:16px;display:flex;position:absolute;top:0;left:0;right:0}.analysis-result-screen__top-bar>button{width:42px;height:42px;color:var(--ts-navy);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;background:#ffffffed;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 4px 15px #0f171f29}.analysis-result-screen__top-bar>button:focus-visible,.analysis-result-screen__verdict-toggle:focus-visible,.analysis-evidence-details summary:focus-visible{outline-offset:3px;outline:3px solid #82c0748a}.analysis-result-screen__test-chip{border-radius:var(--ts-radius-pill);max-width:calc(100% - 58px);min-height:42px;color:var(--ts-navy);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffed;align-items:center;gap:8px;padding:6px 13px;display:flex;box-shadow:0 4px 15px #0f171f29}.analysis-result-screen__test-chip>span{min-width:0;line-height:1.05;display:grid}.analysis-result-screen__test-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--ts-text-sm);font-weight:var(--ts-fw-black);overflow:hidden}.dual-cassette-result-hero{background:radial-gradient(120% 90% at 50% 18%,#415565 0%,#2d3d4b 58%,#1e2a34 100%);flex:none;place-items:center;width:100%;height:clamp(430px,56svh,500px);min-height:430px;margin:0;padding:84px 0 50px;display:grid;position:relative;overflow:hidden}.analysis-result-screen[data-verdict-collapsed=true] .dual-cassette-result-hero{flex-basis:calc(100% - 100px);height:calc(100% - 100px);min-height:510px}.dual-cassette-result-hero__vignette{background:radial-gradient(78% 64% at 50% 42%,#0000 38%,#050b104d 100%);position:absolute;inset:0}.dual-cassette-result-hero__device{z-index:1;width:104px;height:266px;position:relative}.dual-cassette-result-hero__body{background:linear-gradient(150deg,#fbfaf8,#e7e1d9);border-radius:20px;position:absolute;inset:0;box-shadow:0 22px 45px #0000006b,inset 0 2px #ffffffc2}.dual-cassette-result-hero__position-heading{z-index:3;width:50%;color:var(--ts-white);text-align:center;line-height:1.15;position:absolute;top:-44px}.dual-cassette-result-hero__position-heading[data-side=left]{left:0}.dual-cassette-result-hero__position-heading[data-side=right]{left:50%}.dual-cassette-result-hero__position-heading strong,.dual-cassette-result-hero__position-heading span{white-space:nowrap;display:block}.dual-cassette-result-hero__position-heading strong{font-size:.69rem;font-weight:var(--ts-fw-black)}.dual-cassette-result-hero__position-heading span{color:#ffffff9e;font-size:.61rem;font-weight:var(--ts-fw-bold);margin-top:3px}.dual-cassette-result-hero__brand,.dual-cassette-result-hero__test-name,.dual-cassette-result-hero__manufacturer{color:#8d877e;font-weight:var(--ts-fw-black);text-align:center;position:absolute;left:0;right:0}.dual-cassette-result-hero__brand{color:#6c675f;letter-spacing:.06em;font-size:.5rem;top:2.2%}.dual-cassette-result-hero__test-name{letter-spacing:.02em;font-size:.42rem;top:7%}.dual-cassette-result-hero__qr{background:#fbfaf8;border-radius:2px;width:28px;height:28px;padding:2px;position:absolute;top:11.6%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #0000001f}.dual-cassette-result-hero__printed-bar{background:linear-gradient(#4a5561,#2b3540);border-radius:2px;width:80%;height:3.5%;position:absolute;top:24.5%;left:10%;box-shadow:inset 0 1px #ffffff29}.dual-cassette-result-hero__window{background:linear-gradient(#fcfbf9,#f1ece4);border-radius:7px;width:36%;height:48%;position:absolute;top:30%;overflow:hidden;box-shadow:inset 0 2px 7px #00000040}.dual-cassette-result-hero__window[data-side=left]{left:10%}.dual-cassette-result-hero__window[data-side=right]{left:54%}.dual-cassette-result-hero__visible-line{border-radius:3px;position:absolute;left:3px;right:3px;transform:translateY(-50%)}.dual-cassette-result-hero__visible-line[data-line=C]{background:linear-gradient(90deg,#7fbfe0,#5aa6cf);height:8px;top:33.33%}.dual-cassette-result-hero__visible-line[data-line=T]{background:linear-gradient(90deg,#d36b78,#c44f5d);height:9px;top:64.58%}.dual-cassette-result-hero__printed-line-label{position:absolute;left:0;right:0;transform:translateY(-50%)}.dual-cassette-result-hero__printed-line-label[data-line=C]{top:46%}.dual-cassette-result-hero__printed-line-label[data-line=T]{top:61%}.dual-cassette-result-hero__printed-line-label i{color:#8a847a;width:10%;font-size:.45rem;font-style:normal;font-weight:var(--ts-fw-bold);text-align:center;position:absolute}.dual-cassette-result-hero__printed-line-label i[data-side=left]{left:0}.dual-cassette-result-hero__printed-line-label i[data-side=right]{right:0}.dual-cassette-result-hero__manufacturer{letter-spacing:.04em;font-size:.4rem;top:80.5%}.dual-cassette-result-hero__sample-well{background:linear-gradient(#efeae2,#d5cec3);border-radius:9px;width:11%;height:11%;position:absolute;top:86.5%;box-shadow:inset 0 2px 4px #0000004f}.dual-cassette-result-hero__sample-well[data-side=left]{left:22.5%}.dual-cassette-result-hero__sample-well[data-side=right]{left:66.5%}.dual-cassette-result-hero__annotation{--line-state-color:#b2831e;z-index:4;position:absolute;transform:translateY(-50%)}.dual-cassette-result-hero__annotation[data-state=positive]{--line-state-color:var(--ts-result-positive)}.dual-cassette-result-hero__annotation[data-state=negative]{--line-state-color:var(--ts-result-negative)}.dual-cassette-result-hero__annotation-box{border:2px solid var(--line-state-color);background:color-mix(in srgb, var(--line-state-color) 16%, transparent);border-radius:6px;height:29px;display:block;box-shadow:0 0 0 1px #00000021}.dual-cassette-result-hero__annotation-leader{background:color-mix(in srgb, var(--line-state-color) 72%, transparent);width:25px;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.dual-cassette-result-hero__annotation[data-side=left] .dual-cassette-result-hero__annotation-leader{right:100%}.dual-cassette-result-hero__annotation[data-side=right] .dual-cassette-result-hero__annotation-leader{left:100%}.dual-cassette-result-hero__annotation-reading{border:2px solid var(--line-state-color);border-radius:var(--ts-radius-pill);min-width:91px;color:var(--ts-white);white-space:nowrap;background:#1b2630eb;align-items:center;gap:7px;padding:5px 8px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 5px 14px #00000038}.dual-cassette-result-hero__annotation[data-side=left] .dual-cassette-result-hero__annotation-reading{right:calc(100% + 25px)}.dual-cassette-result-hero__annotation[data-side=right] .dual-cassette-result-hero__annotation-reading{left:calc(100% + 25px)}.dual-cassette-result-hero__annotation-reading strong{background:var(--line-state-color);width:24px;height:24px;font-size:.72rem;font-weight:var(--ts-fw-black);border-radius:7px;place-items:center;display:grid}.dual-cassette-result-hero__annotation-reading b{font-size:var(--ts-text-sm);font-weight:var(--ts-fw-black)}.dual-cassette-result-hero__legend{z-index:3;border-radius:var(--ts-radius-pill);color:#ffffffeb;font-size:.66rem;font-weight:var(--ts-fw-bold);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18222bc2;gap:13px;margin:0;padding:7px 11px;display:flex;position:absolute;bottom:43px;left:16px}.dual-cassette-result-hero__legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.dual-cassette-result-hero__legend i{border:2px solid #b2831e;border-radius:4px;width:12px;height:12px}.dual-cassette-result-hero__legend i[data-state=negative]{border-color:var(--ts-result-negative)}.dual-cassette-result-hero__legend i[data-state=positive]{border-color:var(--ts-result-positive)}.analysis-result-screen__verdict{z-index:6;padding:0 var(--ts-space-4) 26px;background:var(--analysis-result-tint);border-radius:28px 28px 0 0;flex-direction:column;flex:none;margin-top:-25px;display:flex;position:relative;box-shadow:0 -12px 34px #121d2626}.analysis-result-screen__verdict-toggle{color:var(--analysis-result-color);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-self:stretch;align-items:center;gap:3px;padding:9px 0 1px;display:flex}.analysis-result-screen__verdict-toggle>span{border-radius:var(--ts-radius-pill);background:color-mix(in srgb, var(--analysis-result-color) 43%, var(--ts-hairline));width:42px;height:5px}.analysis-result-screen__verdict-toggle[aria-expanded=false] svg{transform:rotate(180deg)}.analysis-result-screen__identity-warning{border-radius:var(--ts-radius-md);color:var(--ts-navy);font-size:.76rem;font-weight:var(--ts-fw-bold);background:#fff8e1d1;border:1px solid #b2831e4d;align-items:flex-start;gap:8px;margin:4px 0 14px;padding:10px 12px;line-height:1.38;display:flex}.analysis-result-screen__identity-warning svg{color:#9a7118;flex:none;margin-top:1px}.analysis-result-screen__heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.analysis-result-screen__result-icon{background:var(--analysis-result-color);width:58px;height:58px;box-shadow:var(--ts-shadow-md);color:var(--ts-white);border-radius:50%;place-items:center;display:grid}.analysis-result-screen__heading h1,.analysis-result-screen__heading p{margin:0}.analysis-result-screen__heading h1{overflow-wrap:anywhere;color:var(--analysis-result-color);font-size:2rem;font-weight:var(--ts-fw-black);letter-spacing:-.025em;line-height:1}.analysis-result-screen__heading p{color:var(--ts-navy-soft);font-size:.74rem;font-weight:var(--ts-fw-bold);margin-top:5px;line-height:1.3}.analysis-result-screen__heading p span{color:var(--ts-navy-muted)}.analysis-result-screen__heading .taste-safe-mascot{color:var(--analysis-result-color);filter:drop-shadow(0 9px 16px #2d3d4b21)}.analysis-result-screen__verdict-details{gap:var(--ts-space-3);padding-top:var(--ts-space-4);display:grid}.analysis-result-screen__verdict-details[hidden]{display:none}.analysis-result-screen__confidence{gap:7px var(--ts-space-3);color:var(--ts-navy);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-black);grid-template-columns:1fr auto;display:grid}.analysis-result-screen__confidence strong{color:var(--analysis-result-color);font-size:var(--ts-text-lg)}.analysis-result-screen__confidence>div{border-radius:var(--ts-radius-pill);background:#ffffff75;grid-column:1/-1;height:10px;overflow:hidden}.analysis-result-screen__confidence>div span{border-radius:inherit;background:var(--analysis-result-color);height:100%;display:block}.analysis-result-screen__message,.analysis-result-screen__reason{align-items:flex-start;gap:10px;display:flex}.analysis-result-screen__message{border:1px solid color-mix(in srgb, var(--analysis-result-color) 22%, transparent);border-radius:var(--ts-radius-md);background:#ffffffa8;padding:14px}.analysis-result-screen__message svg,.analysis-result-screen__reason svg{color:var(--analysis-result-color);flex:none;margin-top:1px}.analysis-result-screen__message p,.analysis-result-screen__reason p{color:var(--ts-navy);font-weight:var(--ts-fw-bold);margin:0;line-height:1.42}.analysis-result-screen__message p{font-size:var(--ts-text-sm)}.analysis-result-screen__reason{padding:0 3px}.analysis-result-screen__reason p{font-size:.78rem}.analysis-result-screen__side-list{gap:var(--ts-space-2);display:grid}.analysis-result-screen__side{border:1px solid color-mix(in srgb, var(--analysis-result-color) 18%, transparent);border-radius:var(--ts-radius-md);background:#ffffff87;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.analysis-result-screen__side-number{background:var(--ts-navy);width:22px;height:22px;color:var(--ts-white);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.analysis-result-screen__side-name{min-width:0;display:grid}.analysis-result-screen__side-name b,.analysis-result-screen__side-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-result-screen__side-name b{color:var(--ts-navy);font-size:.77rem;font-weight:var(--ts-fw-black)}.analysis-result-screen__side-name small{color:var(--ts-navy-muted);margin-top:2px;font-size:.62rem}.analysis-result-screen__side-lines{gap:9px;display:flex}.analysis-result-screen__side-lines>span{align-items:center;gap:4px;display:inline-flex}.analysis-result-screen__side-lines b{width:20px;height:20px;color:var(--ts-white);background:#b2831e;border-radius:6px;place-items:center;font-size:.68rem;display:grid}.analysis-result-screen__side-lines span[data-state=positive] b{background:var(--ts-result-positive)}.analysis-result-screen__side-lines span[data-state=negative] b{background:var(--ts-result-negative)}.analysis-result-screen__side-lines small{color:var(--ts-navy-soft);font-size:.62rem;font-weight:var(--ts-fw-bold)}.analysis-evidence-details{border-radius:var(--ts-radius-md);background:#ffffff6b;border:1px solid #2d3d4b1a;overflow:hidden}.analysis-evidence-details summary{color:var(--ts-navy);cursor:pointer;font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);padding:12px 14px}.analysis-evidence-details>p{color:var(--ts-navy-muted);font-size:.66rem;font-weight:var(--ts-fw-medium);margin:0;padding:0 14px 12px;line-height:1.45}.analysis-evidence-details__metadata{background:#ffffff8f;border:1px solid #2d3d4b14;border-radius:12px;gap:0;margin:0 10px 12px;display:grid;overflow:hidden}.analysis-evidence-details__metadata>div{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:10px;padding:8px 10px;display:grid}.analysis-evidence-details__metadata>div+div{border-top:1px solid #2d3d4b12}.analysis-evidence-details__metadata dt,.analysis-evidence-details__metadata dd{min-width:0;margin:0;font-size:.64rem;line-height:1.35}.analysis-evidence-details__metadata dt{color:var(--ts-navy-muted);font-weight:var(--ts-fw-bold)}.analysis-evidence-details__metadata dd{color:var(--ts-navy);font-weight:var(--ts-fw-black);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-evidence-details__crop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px 12px;display:grid}.analysis-evidence-details__crop{margin:0}.analysis-evidence-details__crop>div{min-height:165px;box-shadow:var(--ts-shadow-sm);background:#ded8d0;border:1px solid #2d3d4b17;border-radius:12px;position:relative;overflow:hidden}.analysis-evidence-details__crop img{object-fit:contain;width:100%;height:100%;min-height:165px;display:block}.analysis-evidence-details__crop figcaption{color:var(--ts-navy-soft);font-size:.62rem;font-weight:var(--ts-fw-bold);text-align:center;margin:0;padding-top:6px}.analysis-evidence-details__boundary{background:color-mix(in srgb, currentColor 13%, transparent);min-width:24px;min-height:18px;font-size:.58rem;font-weight:var(--ts-fw-black);border:2px solid;border-radius:5px;place-items:center;display:grid;position:absolute;box-shadow:0 0 0 1px #ffffffb8}.analysis-evidence-details__boundary[data-state=positive]{color:var(--ts-result-positive)}.analysis-evidence-details__boundary[data-state=negative]{color:var(--ts-result-negative)}.analysis-evidence-details__boundary[data-state=unknown]{color:#b2831e}.analysis-result-screen__actions{gap:var(--ts-space-2);padding-top:2px;display:grid}.analysis-result-screen__action-row{gap:var(--ts-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analysis-result-screen__action-row>:only-child{grid-column:1/-1}.analysis-result-screen__action-row .taste-safe-button{min-width:0;font-size:var(--ts-text-sm);padding-inline:12px}.analysis-result-screen__save-error{color:var(--ts-result-positive);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);text-align:center;margin:0}.analysis-result-screen__share-message{color:var(--ts-navy-soft);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);text-align:center;margin:0}.analysis-result-screen__rating{padding-top:var(--ts-space-3);border-top:1px solid color-mix(in srgb, var(--analysis-result-color) 22%, transparent);text-align:center;justify-items:center;gap:8px;display:grid}.analysis-result-screen__rating p{color:var(--ts-navy-soft);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold);margin:0}.analysis-result-screen__rating>div{gap:5px;display:flex}.analysis-result-screen__rating>div button,.analysis-result-screen__rating-later{cursor:pointer;font-family:var(--ts-font);background:0 0;border:0;padding:0}.analysis-result-screen__rating>div button{color:#dba324}.analysis-result-screen__rating>div button[aria-pressed=false]{color:#dba32457}.analysis-result-screen__rating-later,.analysis-result-screen__rating>span{color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold)}.primary-screen-header{z-index:5;align-items:center;gap:var(--ts-space-2);min-height:58px;padding:var(--ts-space-2) var(--ts-space-4);background:color-mix(in srgb, var(--ts-cream) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e3dcd2b8;grid-template-columns:minmax(0,1fr) auto;display:grid;position:sticky;top:0}.primary-screen-header[data-action-position=start]{grid-template-columns:auto minmax(0,1fr)}.primary-screen-header h1{color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-black);letter-spacing:-.02em;margin:0}.primary-screen-header__action{width:42px;height:42px;color:var(--ts-navy-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.history-screen,.history-detail-screen,.primary-content-screen{background:var(--ts-cream);height:100%;position:relative;overflow:hidden auto}.history-screen--empty{flex-direction:column;display:flex;overflow:hidden}.history-screen__backdrop,.primary-content-screen__backdrop{color:var(--ts-green);opacity:.055;pointer-events:none;position:absolute;bottom:-8%;right:-35%;transform:scale(1.55)rotate(-8deg)}.history-screen__empty-content{justify-content:center;align-self:center;align-items:center;gap:var(--ts-space-3);width:100%;max-width:310px;padding:var(--ts-space-5);text-align:center;flex-direction:column;flex:1;display:flex;position:relative}.history-screen__empty-content h2,.history-screen__empty-content p{margin:0}.history-screen__empty-content h2{color:var(--ts-navy);font-size:var(--ts-text-title);font-weight:var(--ts-fw-black)}.history-screen__empty-content p{color:var(--ts-navy-soft);line-height:1.5}.history-screen__empty-content .taste-safe-button{margin-top:var(--ts-space-2)}.history-screen__list{gap:var(--ts-space-3);padding:var(--ts-space-4);display:grid;position:relative}.history-screen__filters{z-index:4;gap:var(--ts-space-2);padding:var(--ts-space-2) var(--ts-space-4) var(--ts-space-3);border-bottom:1px solid var(--ts-hairline);background:color-mix(in srgb, var(--ts-cream) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;top:58px}.history-filter-menu{min-width:0;position:relative}.history-filter-menu__trigger{justify-content:space-between;align-items:center;gap:var(--ts-space-2);border:1.5px solid var(--ts-hairline);border-radius:var(--ts-radius-pill);background:var(--ts-white);width:100%;min-height:48px;color:var(--ts-navy-soft);cursor:pointer;font-family:var(--ts-font);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-black);text-align:left;transition:border-color var(--ts-dur-fast), box-shadow var(--ts-dur-fast), color var(--ts-dur-fast);padding:0 15px;display:flex}.history-filter-menu__trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-filter-menu__trigger .taste-safe-icon{color:var(--ts-green-deep);transition:transform var(--ts-dur-fast);flex:none}.history-filter-menu[data-open=true] .history-filter-menu__trigger{border-color:var(--ts-green);color:var(--ts-navy);box-shadow:0 0 0 3px #82c0742e}.history-filter-menu[data-open=true] .history-filter-menu__trigger .taste-safe-icon{transform:rotate(180deg)}.history-filter-menu__trigger:focus-visible,.history-filter-menu__option:focus-visible{outline-offset:2px;outline:3px solid #5fa45347}.history-filter-menu__options{z-index:20;border:1.5px solid var(--ts-green-light);border-radius:var(--ts-radius-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffffa;gap:3px;width:max-content;min-width:100%;max-width:calc(100vw - 32px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 34px #2d3d4b2e}.history-filter-menu:last-child .history-filter-menu__options{left:auto;right:0}.history-filter-menu__option{min-height:44px;color:var(--ts-navy-soft);cursor:pointer;font-family:var(--ts-font);font-size:var(--ts-text-sm);font-weight:var(--ts-fw-bold);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:11px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:8px 11px;display:grid}.history-filter-menu__option:hover,.history-filter-menu__option:focus-visible{background:color-mix(in srgb, var(--ts-green-light) 48%, white)}.history-filter-menu__option[aria-selected=true]{background:var(--ts-green-light);color:var(--ts-green-deep);font-weight:var(--ts-fw-black)}.history-filter-menu__check{justify-content:center;align-items:center;display:inline-flex}.history-result-card{gap:var(--ts-space-3);width:100%;padding:var(--ts-space-4);border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-sm);color:var(--ts-navy);cursor:pointer;font-family:var(--ts-font);text-align:left;background:#ffffffd1;display:grid}.history-result-card__heading{align-items:center;gap:var(--ts-space-2);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.history-result-card__allergen,.history-result-card__status{align-items:center;gap:6px;display:inline-flex}.history-result-card__allergen{min-width:0;color:var(--ts-navy)}.history-result-card__allergen strong{font-size:var(--ts-text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-result-card__status{border-radius:var(--ts-radius-pill);background:var(--ts-cream-deep);color:var(--ts-navy-soft);font-size:.64rem;font-weight:var(--ts-fw-black);white-space:nowrap;padding:5px 8px}.history-result-card__status[data-result=negative]{color:var(--ts-result-negative);background:#e4f3e8}.history-result-card__status[data-result=positive]{color:var(--ts-result-positive);background:#fbe7e6}.history-result-card__status[data-result=invalid]{color:#9b7015;background:#fbf2dc}.history-result-card__metadata{justify-content:space-between;gap:var(--ts-space-3);color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);display:flex}.history-result-card__metadata span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-detail-screen{--history-detail-color:var(--ts-navy-soft)}.history-detail-screen[data-result=negative]{--history-detail-color:var(--ts-result-negative)}.history-detail-screen[data-result=positive]{--history-detail-color:var(--ts-result-positive)}.history-detail-screen[data-result=invalid]{--history-detail-color:#9b7015}.history-detail-screen__content{padding:var(--ts-space-5) var(--ts-space-4) var(--ts-space-6);text-align:center;flex-direction:column;align-items:center;display:flex}.history-detail-screen__result-icon{background:var(--history-detail-color);width:68px;height:68px;box-shadow:var(--ts-shadow-md);color:var(--ts-white);border-radius:50%;place-items:center;display:grid}.history-detail-screen__content h1{margin:var(--ts-space-3) 0 0;color:var(--history-detail-color);font-size:1.85rem;font-weight:var(--ts-fw-black)}.history-detail-screen__content>p{margin:5px 0 var(--ts-space-5);color:var(--ts-navy-soft);font-weight:var(--ts-fw-bold)}.history-detail-screen__metadata{border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);text-align:left;background:#ffffffc2;width:100%;margin:0;overflow:hidden}.history-detail-screen__metadata>div{gap:var(--ts-space-3);grid-template-columns:.85fr 1.15fr;padding:11px 13px;display:grid}.history-detail-screen__metadata>div+div{border-top:1px solid var(--ts-hairline)}.history-detail-screen__metadata dt,.history-detail-screen__metadata dd{font-size:var(--ts-text-xs);margin:0}.history-detail-screen__metadata dt{color:var(--ts-navy-muted);font-weight:var(--ts-fw-bold)}.history-detail-screen__metadata dd{overflow-wrap:anywhere;color:var(--ts-navy);font-weight:var(--ts-fw-black);text-align:right}.history-detail-screen__positions{gap:var(--ts-space-2);width:100%;margin-top:var(--ts-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history-detail-screen__positions>div{border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);text-align:left;background:#ffffffc2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:11px;display:grid}.history-detail-screen__positions strong{width:26px;height:26px;color:var(--ts-white);font-size:var(--ts-text-xs);background:#b2831e;border-radius:7px;place-items:center;display:grid}.history-detail-screen__positions div[data-state=positive] strong{background:var(--ts-result-positive)}.history-detail-screen__positions div[data-state=negative] strong{background:var(--ts-result-negative)}.history-detail-screen__positions span,.history-detail-screen__positions small{color:var(--ts-navy-soft);font-size:.67rem;font-weight:var(--ts-fw-bold)}.history-detail-screen__actions{width:100%;margin-top:var(--ts-space-4)}.history-detail-screen__actions p{margin:var(--ts-space-2) 0 0;color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold)}.primary-content-screen__content{gap:var(--ts-space-3);padding:var(--ts-space-4) var(--ts-space-4) var(--ts-space-6);display:grid;position:relative}.information-screen__link-card,.information-screen__article,.information-screen__notice,.settings-screen__group>div{border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-sm);background:#fffc}.information-screen__link-card{align-items:center;gap:var(--ts-space-3);width:100%;padding:var(--ts-space-3) var(--ts-space-4);color:var(--ts-navy);cursor:pointer;font-family:var(--ts-font);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.information-screen__link-card>span:first-child,.information-screen__article-icon{background:var(--ts-green-light);width:42px;height:42px;color:var(--ts-green-deep);border-radius:12px;place-items:center;display:grid}.information-screen__link-card>span:nth-child(2){gap:2px;display:grid}.information-screen__link-card strong{font-size:var(--ts-text-base)}.information-screen__link-card small{color:var(--ts-navy-muted);font-size:var(--ts-text-xs);line-height:1.35}.information-screen__article{padding:var(--ts-space-4)}.information-screen__article h2{margin:var(--ts-space-3) 0 var(--ts-space-2);color:var(--ts-navy);font-size:var(--ts-text-lg);font-weight:var(--ts-fw-black)}.information-screen__article p,.information-screen__article li,.information-screen__notice p{color:var(--ts-navy-soft);font-size:var(--ts-text-sm);line-height:1.5}.information-screen__article p{margin:0}.information-screen__article ul{gap:var(--ts-space-2);margin:var(--ts-space-3) 0 0;padding-left:20px;display:grid}.information-screen__notice{align-items:flex-start;gap:var(--ts-space-2);padding:var(--ts-space-3);display:flex}.information-screen__notice svg{color:var(--ts-green-deep);flex:none}.information-screen__notice p{margin:0}.information-screen__external-link{text-decoration:none}.information-screen__divider{height:1px;margin:var(--ts-space-1) var(--ts-space-2);background:var(--ts-hairline)}.information-subpage__content{gap:var(--ts-space-3);padding:var(--ts-space-4) var(--ts-space-4) var(--ts-space-6);display:grid;position:relative}.information-subpage__lead{margin:0 0 var(--ts-space-1);color:var(--ts-navy-soft);font-size:var(--ts-text-sm);line-height:1.55}.information-screen__allergen-list,.information-screen__faq-list,.information-screen__science-steps{gap:var(--ts-space-3);display:grid}.information-screen__allergen-list article,.information-screen__faq-list article,.information-screen__science-steps article,.information-screen__source-card{border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-sm);background:#ffffffd1}.information-screen__allergen-list article{align-items:center;gap:var(--ts-space-3);padding:var(--ts-space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.information-screen__allergen-list article>span,.information-screen__science-steps article>span{background:var(--ts-green-light);width:38px;height:38px;color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);border-radius:12px;place-items:center;display:grid}.information-screen__allergen-list h2,.information-screen__allergen-list p,.information-screen__science-steps h2,.information-screen__science-steps p,.information-screen__source-card h2,.information-screen__source-card p{margin:0}.information-screen__allergen-list h2,.information-screen__science-steps h2,.information-screen__source-card h2{color:var(--ts-navy);font-size:var(--ts-text-base);font-weight:var(--ts-fw-black)}.information-screen__allergen-list p,.information-screen__allergen-list small,.information-screen__science-steps p,.information-screen__source-card p{color:var(--ts-navy-muted);font-size:var(--ts-text-xs);line-height:1.45}.information-screen__allergen-list small{font-weight:var(--ts-fw-bold)}.information-screen__faq-list article{overflow:hidden}.information-screen__faq-list article>button{align-items:center;gap:var(--ts-space-3);width:100%;padding:var(--ts-space-4);color:var(--ts-navy);cursor:pointer;font-family:var(--ts-font);text-align:left;background:0 0;border:0;display:flex}.information-screen__faq-list article>button strong{font-size:var(--ts-text-base);flex:1}.information-screen__faq-list article>button[aria-expanded=true] svg{transform:rotate(180deg)}.information-screen__faq-list article>p{padding:0 var(--ts-space-4) var(--ts-space-4);color:var(--ts-navy-soft);font-size:var(--ts-text-sm);margin:0;line-height:1.55}.information-screen__science-steps article{align-items:flex-start;gap:var(--ts-space-3);padding:var(--ts-space-4);display:flex}.information-screen__science-steps article>span{width:30px;height:30px;font-size:var(--ts-text-sm);border-radius:50%;flex:none}.information-screen__science-steps p{color:var(--ts-navy-soft);margin-top:4px}.information-screen__source-card{align-items:flex-start;gap:var(--ts-space-3);padding:var(--ts-space-4);display:flex}.information-screen__source-card>span{background:var(--ts-green-light);width:44px;height:44px;color:var(--ts-green-deep);border-radius:13px;flex:none;place-items:center;display:grid}.information-screen__source-card p{color:var(--ts-navy-soft);margin-top:5px}.information-screen__source-card a{margin-top:var(--ts-space-2);color:var(--ts-green-deep);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);display:inline-block}.settings-screen__group{margin-bottom:var(--ts-space-2)}.settings-screen__group>h2{color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);letter-spacing:.08em;text-transform:uppercase;margin:0 8px 7px}.settings-screen__group>div{overflow:hidden}.settings-screen__value-row,.settings-screen__button-row,.settings-screen__explanation{align-items:center;gap:var(--ts-space-3);min-height:56px;padding:var(--ts-space-3) var(--ts-space-4);display:flex}.settings-screen__value-row+.settings-screen__value-row,.settings-screen__button-row,.settings-screen__explanation{border-top:1px solid var(--ts-hairline)}.settings-screen__value-row span,.settings-screen__button-row span{color:var(--ts-navy);font-size:var(--ts-text-base);font-weight:var(--ts-fw-bold);flex:1}.settings-screen__value-row strong{color:var(--ts-navy-muted);font-size:var(--ts-text-sm)}.settings-screen__button-row{width:100%;color:var(--ts-navy-soft);cursor:pointer;font-family:var(--ts-font);text-align:left;background:0 0}.settings-screen__explanation{border-top:0;align-items:flex-start}.settings-screen__explanation svg{color:var(--ts-green-deep);flex:none}.settings-screen__explanation p{color:var(--ts-navy-soft);font-size:var(--ts-text-sm);margin:0;line-height:1.5}.settings-screen__version{margin:var(--ts-space-3) 0 0;color:var(--ts-navy-muted);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);text-align:center}.settings-screen__content{gap:var(--ts-space-4)}.settings-screen__row{align-items:center;gap:var(--ts-space-3);width:100%;min-height:56px;padding:var(--ts-space-3) var(--ts-space-4);color:var(--ts-navy-soft);font-family:var(--ts-font);text-align:left;background:0 0;border:0;display:flex}.settings-screen__row+.settings-screen__row,.settings-screen__rating-panel,.settings-screen__storage-note{border-top:1px solid var(--ts-hairline)}.settings-screen__row>span{color:var(--ts-navy);font-size:var(--ts-text-base);font-weight:var(--ts-fw-bold);flex:1}.settings-screen__action-row{cursor:pointer}.settings-screen__language{border-radius:var(--ts-radius-pill);background:var(--ts-cream-deep);padding:3px;display:flex}.settings-screen__language button{border-radius:var(--ts-radius-pill);color:var(--ts-navy-muted);font-family:var(--ts-font);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-black);background:0 0;border:0;padding:5px 11px}.settings-screen__language button[aria-pressed=true]{background:var(--ts-white);box-shadow:var(--ts-shadow-sm);color:var(--ts-navy)}.settings-screen__language button:disabled{opacity:.42}.settings-screen__toggle{border-radius:var(--ts-radius-pill);background:var(--ts-hairline);cursor:pointer;opacity:1;border:0;flex:none;width:46px;height:28px;padding:0;transition:background .16s;position:relative}.settings-screen__toggle[data-checked=true]{background:var(--ts-green)}.settings-screen__toggle:disabled{cursor:wait;opacity:.58}.settings-screen__toggle span{background:var(--ts-white);width:22px;height:22px;box-shadow:var(--ts-shadow-sm);border-radius:50%;transition:transform .16s;position:absolute;top:3px;left:3px}.settings-screen__toggle[data-checked=true] span{transform:translate(18px)}.settings-screen__save-error{color:var(--ts-red);font-size:var(--ts-text-xs);text-align:center;margin:0}.settings-screen__rating-panel{padding:var(--ts-space-3);justify-items:center;gap:8px;display:grid}.settings-screen__rating-panel p,.settings-screen__rating-panel span{color:var(--ts-navy-soft);font-size:var(--ts-text-xs);font-weight:var(--ts-fw-bold);margin:0}.settings-screen__rating-panel>div{gap:5px;display:flex}.settings-screen__rating-panel button{color:#dba324;cursor:pointer;background:0 0;border:0;padding:0}.settings-screen__rating-panel button[aria-pressed=false]{color:#dba32457}.settings-screen__count{color:var(--ts-green-deep);font-size:var(--ts-text-base)}.settings-screen__storage-note{padding:var(--ts-space-3) var(--ts-space-4);color:var(--ts-navy-muted);font-size:var(--ts-text-xs);line-height:1.5}.settings-legal-page__content{gap:var(--ts-space-3);padding:var(--ts-space-5) var(--ts-space-4) var(--ts-space-6);display:grid;position:relative}.settings-legal-page__icon{width:62px;height:62px;margin-bottom:var(--ts-space-2);background:var(--ts-green-light);color:var(--ts-green-deep);border-radius:50%;place-items:center;display:grid}.settings-legal-page__content p{padding:var(--ts-space-4);border:1px solid var(--ts-hairline);border-radius:var(--ts-radius-md);color:var(--ts-navy-soft);font-size:var(--ts-text-sm);background:#ffffffd1;margin:0;line-height:1.58}@keyframes analysis-pulse{0%,to{opacity:.32;transform:scale(.82)}50%{opacity:.9;transform:scale(1.06)}}@keyframes analysis-mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes browser-camera-scan-line{0%{opacity:0;top:8%}14%,86%{opacity:1}to{opacity:0;top:92%}}@keyframes browser-camera-spin{to{transform:rotate(360deg)}}@keyframes startup-dot-pulse{0%,to{opacity:.32;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes taste-safe-backdrop-in{0%{opacity:0}}@keyframes taste-safe-sheet-up{0%{transform:translateY(100%)}}@keyframes taste-safe-screen-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pre-scan-sheet,.pre-scan-sheet__backdrop,.taste-safe-screen-transition,.analysis-progress-screen__mascot,.analysis-progress-screen__spinner,.browser-camera-screen__scan-line,.browser-camera-screen__spinner,.startup-screen__loading-dots span{animation:none}}@media (width<=480px){.taste-safe-stage{min-height:100svh;padding:0}.taste-safe-phone{width:100vw;height:100svh;box-shadow:none;border-radius:0;padding:0}.taste-safe-screen{border-radius:0}.taste-safe-status-bar{display:none}}@media (width<=350px){.history-screen__filters{grid-template-columns:minmax(0,1fr)}.history-filter-menu:last-child .history-filter-menu__options{left:0;right:auto}}:root{color:#18342d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f5f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.application-shell{width:min(980px,100% - 32px);margin:0 auto;padding:48px 0 80px}.application-header{max-width:720px;margin-bottom:32px}.application-eyebrow,.step-label{color:#26735f;letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:750}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2rem,7vw,3.5rem);line-height:1}h2{margin-bottom:0;font-size:1.35rem}.application-header>p:last-child{color:#597069;font-size:1.05rem;line-height:1.6}.inspection-panel{background:#fff;border:1px solid #d6e0dc;border-radius:20px;overflow:hidden;box-shadow:0 18px 48px #1f473b14}.reference-bar-inspection-panel,.deskew-inspection-panel,.dual-test-crop-inspection-panel,.canonical-crop-inspection-panel,.workflow-diagnostic-inspection-panel{margin-top:24px}.inspection-panel__heading{border-bottom:1px solid #e3e9e6;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.image-file-picker{color:#fff;cursor:pointer;background:#1d6656;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-size:.9rem;font-weight:700;display:inline-flex;position:relative}.image-file-picker:focus-within{outline-offset:3px;outline:3px solid #24856c47}.detection-status-badge{color:#155b48;letter-spacing:.03em;text-transform:uppercase;background:#e1f3eb;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:.78rem;font-weight:750;display:inline-flex}.image-file-picker input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.status-message{color:#63756f;background:#f7f9f8;margin:0;padding:14px 24px;font-size:.9rem}.status-message[data-status=ready]{color:#155b48;background:#eaf6f1}.status-message[data-status=error]{color:#923b32;background:#fff0ed}.inspection-result{grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:24px;padding:24px;display:grid}.inspection-result[hidden]{display:none}.source-image-preview-container{background-color:#0000;background-image:linear-gradient(45deg,#e7ece9 25%,#0000 25%),linear-gradient(-45deg,#e7ece9 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e7ece9 75%),linear-gradient(-45deg,#0000 75%,#e7ece9 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:14px;place-items:center;min-height:320px;display:grid;overflow:hidden}.source-image-preview-container img{object-fit:contain;width:100%;max-height:560px;display:block}.reference-bar-preview-container{background:#14221e;border-radius:14px;place-items:center;min-height:320px;display:grid;overflow:auto}.reference-bar-preview-container canvas{width:100%;height:auto;display:block}.deskew-explanation{background:#f7faf8;border-bottom:1px solid #e3e9e6;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:28px;padding:24px;display:grid}.deskew-explanation__summary p:last-child,.deskew-scope-note p{color:#526a62;margin-bottom:0;line-height:1.6}.deskew-explanation__label{color:#1d6656;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:750}.deskew-explanation__sequence{counter-reset:deskew-step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.deskew-explanation__sequence li{counter-increment:deskew-step;grid-template-columns:88px minmax(0,1fr);gap:14px;display:grid}.deskew-explanation__sequence strong:before{content:counter(deskew-step, decimal-leading-zero) "  ";color:#7e9890;font-variant-numeric:tabular-nums}.deskew-explanation__sequence span{color:#5f746d;line-height:1.5}.deskew-angle-rail{background:#edf7f3;border:1px solid #bdd7ce;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:24px 24px 0;padding:18px 22px;display:grid}.deskew-angle-rail>div{gap:4px;display:grid}.deskew-angle-rail>div:last-child{text-align:right}.deskew-angle-rail span:not(.deskew-angle-rail__direction){color:#5b746c;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.deskew-angle-rail strong{color:#154f42;font-variant-numeric:tabular-nums;font-size:1.35rem}.deskew-angle-rail__direction{color:#26735f;font-size:1.6rem}.deskew-preview-container{background:#14221e;border-radius:14px;place-items:center;min-height:320px;display:grid;overflow:auto}.deskew-preview-container img{width:100%;height:auto;display:block}.deskew-scope-note{background:#fff7e8;border-left:4px solid #d59a37;border-radius:0 12px 12px 0;margin:0 24px 24px;padding:18px 20px}.deskew-scope-note strong{color:#795517;margin-bottom:4px;display:block}.crop-explanation{background:#f7faf8;border-bottom:1px solid #e3e9e6;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:28px;padding:24px;display:grid}.crop-explanation p:last-child,.crop-export-footer p{color:#526a62;margin-bottom:0;line-height:1.6}.crop-geometry-summary{background:#cfe0d9;border:1px solid #cfe0d9;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-self:start;gap:1px;margin:0;display:grid;overflow:hidden}.crop-geometry-summary div{background:#fff;min-width:0;padding:14px}.crop-geometry-summary dt{color:#71827d;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:750}.crop-geometry-summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:750}.split-preview-section{gap:14px;padding:24px;display:grid}.split-preview-legend{color:#536b63;flex-wrap:wrap;gap:10px 18px;font-size:.78rem;font-weight:700;display:flex}.split-preview-legend span{align-items:center;gap:7px;display:inline-flex}.split-preview-legend span:before{content:"";background:#7d958d;border-radius:50%;width:9px;height:9px}.split-preview-legend span[data-color=left]:before{background:#31d09b}.split-preview-legend span[data-color=axis]:before{background:#f04f9a}.split-preview-legend span[data-color=right]:before{background:#ffb84d}.split-preview-legend span[data-color=sample]:before{background:#ffe17a;box-shadow:inset 0 0 0 1px #bca24a}.split-preview-container{background:#14221e;border-radius:14px;place-items:center;min-height:360px;max-height:720px;display:grid;overflow:auto}.split-preview-container img{object-fit:contain;width:100%;height:auto;display:block}.dual-crop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 24px 24px;display:grid}.crop-result-card{background:#fbfcfb;border:1px solid #dce6e2;border-radius:16px;align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.crop-result-card__heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.crop-result-card__heading p{color:#657a73;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.72rem;font-weight:750}.crop-result-card__heading strong{font-variant-numeric:tabular-nums}.crop-result-card__heading>span{color:#76571c;letter-spacing:.05em;text-transform:uppercase;background:#fff7e6;border:1px solid #d2b36e;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800}.crop-result-card__preview{background:#172720;border-radius:12px;grid-template-rows:minmax(0,1fr);place-items:center;height:520px;display:grid;overflow:hidden}.crop-result-card__preview img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.export-download-link{color:#175a49;background:#fff;border:1px solid #96b8ad;border-radius:999px;justify-content:center;justify-self:start;align-items:center;min-height:42px;padding:0 15px;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}.export-download-link:hover{background:#edf7f3;border-color:#26735f}.export-download-link:focus-visible{outline-offset:3px;outline:3px solid #24856c47}.crop-export-footer{background:#fff7e8;border-left:4px solid #d59a37;border-radius:0 12px 12px 0;justify-content:space-between;align-items:center;gap:24px;margin:0 24px 24px;padding:18px 20px;display:flex}.crop-export-footer strong{color:#795517;margin-bottom:4px;display:block}.canonical-explanation{background:#f7faf8;border-bottom:1px solid #e3e9e6;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;padding:24px;display:grid}.canonical-explanation p:last-child,.canonical-export-footer p{color:#526a62;margin-bottom:0;line-height:1.6}.canonical-explanation__sequence{gap:12px;margin:0;padding:0;list-style:none;display:grid}.canonical-explanation__sequence li{grid-template-columns:116px minmax(0,1fr);gap:12px;display:grid}.canonical-explanation__sequence strong{color:#1d6656}.canonical-explanation__sequence span{color:#5f746d;line-height:1.5}.canonical-crop-grid{padding-top:24px}.canonical-crop-card .crop-result-card__heading>span{color:#155b48;background:#e7f5ef;border-color:#9bc8b9}.canonical-crop-preview__stage{max-width:100%;height:100%;position:relative}.canonical-crop-preview__stage img{width:auto;max-width:100%}.canonical-c-glyph-overlay{pointer-events:none;border:2px solid #f04f9a;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #14221e8c}.canonical-geometry-summary{background:#cfe0d9;border:1px solid #cfe0d9;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 24px 24px;display:grid;overflow:hidden}.canonical-geometry-summary div{background:#fff;min-width:0;padding:14px}.canonical-geometry-summary dt{color:#71827d;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:750}.canonical-geometry-summary dd{font-variant-numeric:tabular-nums;margin:0;font-weight:750}.canonical-export-footer{background:#fff0f6;border-left:4px solid #f04f9a;border-radius:0 12px 12px 0;justify-content:space-between;align-items:center;gap:24px;margin:0 24px 24px;padding:18px 20px;display:flex}.canonical-export-footer strong{color:#84305b;margin-bottom:4px;display:block}.workflow-diagnostic-explanation{background:#f7faf8;border-bottom:1px solid #e3e9e6;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;padding:24px;display:grid}.workflow-diagnostic-explanation p:last-child,.workflow-diagnostic-actions p,.workflow-diagnostic-footer p{color:#526a62;margin-bottom:0;line-height:1.6}.workflow-diagnostic-sequence{gap:12px;margin:0;padding:0;list-style:none;display:grid}.workflow-diagnostic-sequence li{grid-template-columns:116px minmax(0,1fr);gap:12px;display:grid}.workflow-diagnostic-sequence strong{color:#1d6656}.workflow-diagnostic-sequence span{color:#5f746d;line-height:1.5}.workflow-diagnostic-actions{border-bottom:1px solid #e3e9e6;align-items:center;gap:18px;padding:20px 24px;display:flex}.workflow-run-button{color:#fff;cursor:pointer;background:#1d6656;border:0;border-radius:999px;flex:none;min-height:44px;padding:0 18px;font-weight:750}.workflow-run-button:hover:not(:disabled){background:#154f42}.workflow-run-button:focus-visible{outline-offset:3px;outline:3px solid #24856c47}.workflow-run-button:disabled{cursor:wait;opacity:.68}.workflow-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px;display:grid}.workflow-side-result-card{background:#fbfcfb;border:1px solid #dce6e2;border-radius:16px;align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.workflow-side-result-card__heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.workflow-side-result-card__heading p{color:#657a73;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:750}.workflow-side-result-card__heading strong{overflow-wrap:anywhere;font-size:.88rem}.workflow-side-result-card__heading>span{color:#586b65;letter-spacing:.04em;text-transform:uppercase;background:#edf1ef;border-radius:999px;flex:none;padding:5px 9px;font-size:.68rem;font-weight:800}.workflow-side-result-card__heading>span[data-status=completed]{color:#155b48;background:#e1f3eb}.workflow-side-result-card__heading>span[data-status=failed]{color:#923b32;background:#fff0ed}.workflow-side-result-card__heading>span[data-status=preparing],.workflow-side-result-card__heading>span[data-status=sending]{color:#76571c;background:#fff7e6}.workflow-prediction-preview{background:#172720;border-radius:12px;place-items:center;height:520px;display:grid;overflow:hidden}.workflow-prediction-preview__stage{max-width:100%;height:100%;display:inline-flex;position:relative}.workflow-prediction-preview__stage img{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}.workflow-prediction-boundary{pointer-events:none;border:2px solid #31d09b;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #14221e99}.workflow-prediction-boundary>span{color:#10241e;background:#31d09b;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:850;display:grid;position:absolute;top:-24px;left:-2px}.workflow-prediction-boundary[data-state=positive]{border-color:#e65151}.workflow-prediction-boundary[data-state=positive]>span{color:#fff;background:#e65151}.workflow-prediction-boundary[data-state=negative]{border-color:#36a463}.workflow-prediction-boundary[data-state=negative]>span{color:#fff;background:#36a463}.workflow-prediction-boundary[data-state=unknown]{border-style:dashed;border-color:#e0a332}.workflow-prediction-boundary[data-state=unknown]>span{color:#49330d;background:#f8d991}.workflow-request-summary{background:#dce6e2;border:1px solid #dce6e2;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.workflow-request-summary div{background:#fff;min-width:0;padding:11px}.workflow-request-summary dt{color:#71827d;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:.65rem;font-weight:750}.workflow-request-summary dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:.78rem;font-weight:750}.workflow-prediction-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.workflow-prediction-list li{background:#fff;border:1px solid #dce6e2;border-radius:10px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.workflow-prediction-list li>span{color:#124b3e;background:#dff5ec;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:850;display:grid}.workflow-prediction-list div{gap:2px;display:grid}.workflow-prediction-list small{color:#71827d;font-variant-numeric:tabular-nums}.workflow-prediction-list b{color:#155b48;font-variant-numeric:tabular-nums}.workflow-side-error{color:#923b32;background:#fff0ed;border-radius:10px;margin:0;padding:12px}.workflow-interpretation-panel{background:#f7faf8;border:1px solid #dce6e2;border-left:5px solid #26735f;border-radius:14px;gap:16px;margin:0 24px 24px;padding:20px;display:grid}.workflow-interpretation-panel[data-result=positive]{background:#fff7f5;border-left-color:#d84b4b}.workflow-interpretation-panel[data-result=negative]{background:#f2fbf5;border-left-color:#2d9b5a}.workflow-interpretation-panel[data-result=invalid],.workflow-interpretation-panel[data-result=unreadable]{background:#fffaf0;border-left-color:#d89a28}.workflow-interpretation-panel__summary{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);align-items:start;gap:20px;display:grid}.workflow-interpretation-panel__summary h3,.workflow-interpretation-panel__summary p{margin:0}.workflow-interpretation-panel__summary p:last-child{color:#526a62;line-height:1.6}.workflow-interpretation-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-interpretation-side-grid article{background:#fff;border:1px solid #dce6e2;border-radius:11px;min-width:0;padding:14px}.workflow-interpretation-side-grid article>strong{margin-bottom:10px;display:block}.workflow-interpretation-side-grid dl{gap:7px;margin:0;display:grid}.workflow-interpretation-side-grid dl div{border-top:1px solid #e7ece9;justify-content:space-between;align-items:baseline;gap:12px;padding-top:7px;display:flex}.workflow-interpretation-side-grid dt{color:#63766f;font-size:.74rem;font-weight:800}.workflow-interpretation-side-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:.78rem;font-weight:750}.workflow-interpretation-side-grid article>p{color:#76571c;margin:10px 0 0;font-size:.78rem;line-height:1.5}.workflow-raw-response{background:#fff;border:1px solid #dce6e2;border-radius:10px;overflow:hidden}.workflow-raw-response summary{cursor:pointer;color:#1d6656;padding:12px;font-size:.8rem;font-weight:750}.workflow-raw-response pre{color:#d9eee7;white-space:pre-wrap;overflow-wrap:anywhere;background:#14221e;border-top:1px solid #dce6e2;max-height:320px;margin:0;padding:12px;font-size:.72rem;line-height:1.55;overflow:auto}.workflow-log-panel{background:#f7faf8;border:1px solid #dce6e2;border-radius:14px;margin:0 24px 24px;padding:18px}.workflow-log-panel>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.workflow-log-panel__empty{color:#667b74;margin:14px 0 0}.workflow-log-panel ol{background:#dce6e2;border:1px solid #dce6e2;border-radius:10px;gap:1px;margin:14px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.workflow-log-panel li{background:#fff;grid-template-columns:90px 50px minmax(0,1fr);gap:12px;padding:10px 12px;font-size:.78rem;display:grid}.workflow-log-panel time,.workflow-log-panel li>span{color:#63766f;font-variant-numeric:tabular-nums;font-weight:750}.workflow-log-panel li>span{color:#26735f}.workflow-log-panel li p{margin:0}.workflow-diagnostic-footer{background:#edf7f3;border-left:4px solid #26735f;border-radius:0 12px 12px 0;justify-content:space-between;align-items:center;gap:24px;margin:0 24px 24px;padding:18px 20px;display:flex}.workflow-diagnostic-footer strong{color:#155b48;margin-bottom:4px;display:block}.source-image-metadata{background:#e0e7e4;border:1px solid #e0e7e4;border-radius:14px;align-content:start;align-self:start;gap:1px;margin:0;display:grid;overflow:hidden}.source-image-metadata div{background:#fff;padding:16px}.source-image-metadata dt{color:#71827d;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:700}.source-image-metadata dd{overflow-wrap:anywhere;margin:0;font-weight:650}@media (width<=720px){.application-shell{width:min(100% - 20px,980px);padding-top:28px}.inspection-panel__heading,.inspection-result,.deskew-explanation,.crop-explanation,.canonical-explanation,.workflow-diagnostic-explanation,.workflow-result-grid,.dual-crop-grid{grid-template-columns:1fr}.inspection-panel__heading{flex-direction:column;align-items:stretch}.source-image-preview-container{min-height:240px}.deskew-explanation__sequence li{grid-template-columns:76px minmax(0,1fr)}.deskew-angle-rail{gap:10px;margin:18px 18px 0;padding:16px}.deskew-angle-rail strong{font-size:1.05rem}.deskew-scope-note{margin:0 18px 18px}.crop-geometry-summary{grid-template-columns:1fr}.canonical-explanation__sequence li,.workflow-diagnostic-sequence li{grid-template-columns:104px minmax(0,1fr)}.canonical-geometry-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 18px 18px}.split-preview-section{padding:18px}.split-preview-container{min-height:260px}.dual-crop-grid{padding:0 18px 18px}.crop-result-card__preview{height:460px}.crop-export-footer,.canonical-export-footer{flex-direction:column;align-items:stretch;margin:0 18px 18px}.workflow-diagnostic-actions,.workflow-diagnostic-footer{flex-direction:column;align-items:stretch}.workflow-log-panel,.workflow-interpretation-panel{margin:0 18px 18px}.workflow-interpretation-panel__summary,.workflow-interpretation-side-grid{grid-template-columns:1fr}.workflow-log-panel li{grid-template-columns:78px 44px minmax(0,1fr);gap:8px}.workflow-diagnostic-footer{margin:0 18px 18px}}
