@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-ext-700-normal-DYOwVNan.woff2)format("woff2"),url(/assets/manrope-latin-ext-700-normal-eVCcYqtJ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-ext-800-normal-DdFx7KEb.woff2)format("woff2"),url(/assets/manrope-latin-ext-800-normal-BQAQsuQc.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}:root{--bg:#0d1210;--surface:#161d1b;--surface-2:#1e2724;--surface-border:#ffffff12;--hairline:#ffffff17;--text:#f4fbf9;--muted:#93a6a1;--muted-dim:#6c7f7a;--teal:#14d6be;--teal-strong:#0ec2ab;--teal-ink:#06201c;--teal-dim-bg:#14d6be21;--orange:#ff6a45;--orange-ink:#2a0e06;--orange-dim-bg:#ff6a4526;--danger:#ff6b5b;--danger-bg:#ff5a4626;--font-display:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, monospace;--radius-lg:22px;--radius-md:16px;--radius-sm:10px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0;padding:0}#root{height:100dvh}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none}:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app{background:var(--bg);flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex}.app-header{padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 16px;background:var(--bg);color:var(--text);border-bottom:1px solid var(--hairline);align-items:center;gap:10px;display:flex}.app-header .brand-mark{background:linear-gradient(155deg, var(--teal) 0%, var(--teal-strong) 100%);width:32px;height:32px;color:var(--teal-ink);transition:background .25s var(--ease);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-header.accent-orange .brand-mark{background:linear-gradient(155deg, var(--orange) 0%, #e8552e 100%);color:var(--orange-ink)}.app-header h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:800}.app-header .subtitle{color:var(--muted);margin:1px 0 0;font-size:.78rem}.app-main{-webkit-overflow-scrolling:touch;flex:1;padding:18px 16px 8px;overflow-y:auto}.bottom-nav{background:var(--bg);border-top:1px solid var(--hairline);padding:6px 10px calc(env(safe-area-inset-bottom,0px) + 6px);gap:6px;display:flex}.nav-btn{border-radius:var(--radius-sm);color:var(--muted-dim);transition:color .18s var(--ease), background-color .18s var(--ease), transform .12s var(--ease);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px 6px;font-size:.72rem;font-weight:600;display:flex}.nav-btn:active{transform:scale(.95)}.nav-btn.active.tab-listing{color:var(--teal);background:var(--teal-dim-bg)}.nav-btn.active.tab-reply{color:var(--orange);background:var(--orange-dim-bg)}.nav-btn svg{color:inherit}.screen{flex-direction:column;gap:16px;padding-bottom:12px;display:flex}.screen-intro h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 2px;font-size:1.3rem}.screen-intro p{color:var(--muted);margin:0;font-size:.88rem}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.anim-in{animation:rise-in .28s var(--ease) both}.anim-in-delay-1{animation:rise-in .28s var(--ease) both;animation-delay:40ms}.anim-in-delay-2{animation:rise-in .28s var(--ease) both;animation-delay:80ms}.hero-card{text-align:left;border-radius:var(--radius-lg);background:linear-gradient(155deg, var(--surface-2) 0%, var(--surface) 100%);width:100%;transition:transform .15s var(--ease), box-shadow .15s var(--ease);border:none;align-items:center;gap:14px;padding:22px 20px;display:flex;position:relative;box-shadow:0 14px 32px -14px #0000008c}.hero-card:active{transform:scale(.98);box-shadow:0 8px 20px -12px #00000080}.hero-card .hero-icon{background:var(--teal-dim-bg);width:56px;height:56px;color:var(--teal);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hero-card .hero-text{flex-direction:column;gap:2px;display:flex}.hero-card .hero-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:1.12rem;font-weight:800}.hero-card .hero-sub{color:var(--muted);font-size:.83rem}.hero-card .hero-badge{background:var(--orange);color:var(--orange-ink);text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:3px 9px;font-size:.66rem;font-weight:800;position:absolute;top:14px;right:16px}.photo-hero{border-radius:var(--radius-lg);aspect-ratio:5/4;background:var(--surface);position:relative;overflow:hidden;box-shadow:0 14px 32px -14px #0009}.photo-hero-img{object-fit:cover;width:100%;height:100%;display:block}.photo-hero-scrim{background:linear-gradient(#0000 30%,#0000001a 55%,#000000b8 100%);flex-direction:column;justify-content:flex-end;padding:14px;display:flex;position:absolute;inset:0}.photo-hero-count{color:#fff;font-size:.9rem;font-weight:700}.photo-hero-strip{gap:6px;margin-top:8px;display:flex}.photo-hero-thumb{object-fit:cover;border:1.5px solid #ffffff59;border-radius:8px;width:34px;height:34px}.photo-hero-retake{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#0d121099;border:none;border-radius:20px;align-items:center;gap:5px;padding:7px 12px;font-size:.78rem;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.photo-hero-retake:active{transform:scale(.95)}.photo-hero.scanning .photo-hero-img{filter:saturate(.85)brightness(.9)}.photo-hero.scanning:after{content:"";pointer-events:none;background:linear-gradient(#0000,#14d6be59,#14d6be0d);height:45%;animation:1.7s ease-in-out infinite scan-sweep;position:absolute;left:0;right:0}@keyframes scan-sweep{0%{transform:translateY(-100%)}to{transform:translateY(220%)}}.primary-btn{background:linear-gradient(155deg, var(--teal) 0%, var(--teal-strong) 100%);color:var(--teal-ink);border-radius:var(--radius-sm);font-size:1rem;font-weight:800;font-family:var(--font-body);transition:transform .12s var(--ease), box-shadow .12s var(--ease), opacity .15s ease;border:none;padding:15px;box-shadow:0 8px 20px -10px #14d6be80}.primary-btn:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 12px -8px #14d6be66}.primary-btn:disabled{opacity:.45;box-shadow:none}.accent-orange .primary-btn{background:linear-gradient(155deg, var(--orange) 0%, #e8552e 100%);color:var(--orange-ink);box-shadow:0 8px 20px -10px #ff6a4580}.secondary-btn{background:var(--surface);color:var(--text);border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);transition:transform .12s var(--ease), background-color .15s ease;padding:13px;font-size:.95rem;font-weight:700}.secondary-btn:active{background:var(--surface-2);transform:scale(.97)}.link-btn{color:var(--teal);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-size:.88rem;font-weight:600;display:flex}.accent-orange .link-btn{color:var(--orange)}.hint{color:var(--muted);margin:0;font-size:.83rem}.error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:.88rem}.notice{background:var(--orange-dim-bg);color:#ffb69e;border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:11px 13px;font-size:.88rem;font-weight:500;display:flex}.loading-status{align-items:center;gap:10px;padding:4px 2px;display:flex}.loading-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.1s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.loading-status p{color:var(--text);margin:0;font-size:.92rem;font-weight:600}.skeleton-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-direction:column;gap:9px;padding:14px;display:flex}.skeleton-bar{background:linear-gradient(100deg, var(--surface-2) 30%, #ffffff14 50%, var(--surface-2) 70%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}.skeleton-bar.w-40{width:40%}.skeleton-bar.w-70{width:70%}.skeleton-bar.w-90{width:90%}.skeleton-bar.w-55{width:55%}.skeleton-bar.w-30{width:30%}.result{flex-direction:column;gap:14px;display:flex}.result-heading{align-items:center;gap:8px;display:flex}.result-heading .badge-dot{background:var(--teal);width:8px;height:8px;box-shadow:0 0 8px var(--teal);border-radius:50%}.result h2{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.15rem}.observations{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:11px 13px;font-size:.85rem}.observations summary{cursor:pointer;color:var(--muted);font-weight:600}.observations ul{margin:8px 0 0;padding-left:18px}.confidence{color:var(--muted);font-size:.8rem}.tag-field{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:14px;position:relative;box-shadow:0 6px 18px -12px #00000080}.tag-field-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.tag-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.copy-btn{background:var(--teal-dim-bg);color:var(--teal);transition:background-color .15s ease, color .15s ease, transform .15s var(--ease);border:none;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:6px 11px;font-size:.76rem;font-weight:700;display:flex}.copy-btn:active{transform:scale(.93)}.copy-btn.copied{background:var(--teal);color:var(--teal-ink)}.copy-btn .icon-pop{animation:pop .32s var(--ease)}@keyframes pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}60%{opacity:1;transform:scale(1.2)rotate(4deg)}to{transform:scale(1)rotate(0)}}.tag-field-value{white-space:pre-wrap;color:var(--text);margin:0;font-size:.98rem;line-height:1.45}.tag-field-value.mono{font-family:var(--font-data);color:var(--teal);font-size:1.05rem;font-weight:500}.field-label{color:var(--muted);font-size:.85rem;font-weight:600}.textarea{border:1.5px solid var(--surface-border);border-radius:var(--radius-md);resize:vertical;background:var(--surface);width:100%;padding:13px;font-family:inherit;font-size:1rem;transition:border-color .15s}.textarea:focus-visible{border-color:var(--orange);outline-color:var(--orange)}.chat-thread{flex-direction:column;gap:10px;display:flex}.chat-bubble{border-radius:var(--radius-md);max-width:86%;padding:12px 14px;font-size:.95rem;line-height:1.45}.chat-bubble.incoming{background:var(--surface);border:1px solid var(--surface-border);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.reply{background:linear-gradient(155deg, var(--orange) 0%, #e8552e 100%);color:var(--orange-ink);border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}.chat-bubble.holding{background:var(--surface-2);border:1px solid var(--surface-border);color:var(--text);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble-label{text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:4px;font-size:.68rem;font-weight:700}.chat-bubble .copy-btn{margin-top:9px}.chat-bubble.reply .copy-btn{color:var(--orange-ink);background:#2a0e062e}.chat-bubble.reply .copy-btn.copied{background:var(--orange-ink);color:var(--orange)}.chat-bubble.holding .copy-btn{background:var(--orange-dim-bg);color:var(--orange)}.history-section{border-top:1px solid var(--hairline);margin-top:6px;padding-top:14px}.history-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.history-item{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:10px;display:flex;box-shadow:0 6px 16px -12px #00000080}.history-thumb{object-fit:cover;background:var(--surface-2);border-radius:12px;flex-shrink:0;width:52px;height:52px}.history-swatch{width:52px;height:52px;color:var(--teal-ink);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.history-info{flex:1;min-width:0}.history-info strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.92rem;display:block;overflow:hidden}.history-price{font-family:var(--font-data);color:var(--teal);font-size:.83rem;font-weight:500}.history-empty{text-align:center;color:var(--muted);background:var(--surface);border:1.5px dashed var(--surface-border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.history-empty .tag-icon-wrap{background:var(--teal-dim-bg);width:46px;height:46px;color:var(--teal);border-radius:13px;justify-content:center;align-items:center;display:flex}.history-empty strong{color:var(--text);font-size:.92rem}.history-empty p{max-width:26ch;margin:0;font-size:.82rem}
