*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #050505;--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .08);--border-bright: rgba(255, 255, 255, .2);--gold: #c9a84c;--gold-light: #e8d5a3;--gold-dim: rgba(201, 168, 76, .18);--gold-border: rgba(201, 168, 76, .3);--text: #f0ede8;--subtext: rgba(240, 237, 232, .45);--success: #5ec994;--error: #e25858;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius: 20px}html[data-theme=light]{--bg: #f4ede5;--surface: rgba(0, 0, 0, .04);--surface-hover: rgba(0, 0, 0, .07);--border: rgba(0, 0, 0, .1);--border-bright: rgba(0, 0, 0, .22);--gold: #9c6f1e;--gold-light: #7a5614;--gold-dim: rgba(156, 111, 30, .1);--gold-border: rgba(156, 111, 30, .2);--text: #1c1208;--subtext: rgba(28, 18, 8, .46);--success: #2d8f5e;--error: #c03030}html[data-theme=light] body{background:var(--bg)}html[data-theme=light] .screen-header{background:#f4ede5eb;border-bottom-color:#00000012}html[data-theme=light] .result-photo-wrap{background:#111}html[data-theme=light] .qr-card,html[data-theme=light] .product-card,html[data-theme=light] .welcome-card{background:#ffffffa6;border-color:#00000014}html[data-theme=light] .tabs{background:#0000000a}html[data-theme=light] .btn-secondary{background:#ffffffb3;color:var(--text)}html[data-theme=light] .back-btn{color:var(--subtext)}html[data-theme=light] .compare-btn{background:#ffffffd1;border-color:#0000001f;color:var(--text)}html[data-theme=light] .rec-card{background:#ffffffb3;border-color:#00000014}html[data-theme=light] .camera-fs{background:#000}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.theme-toggle{position:fixed;bottom:28px;right:28px;z-index:300;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--subtext);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:all .2s;font-family:var(--font)}.theme-toggle:hover{border-color:var(--gold-border);color:var(--gold);background:var(--gold-dim)}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}.welcome-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.welcome-bg video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.3}.welcome-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 15% 55%,rgba(201,168,76,.13) 0%,transparent 55%),radial-gradient(ellipse 60% 80% at 85% 30%,rgba(140,80,220,.08) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 50% 95%,rgba(60,100,200,.06) 0%,transparent 50%);animation:meshShift 14s ease-in-out infinite alternate}@keyframes meshShift{0%{transform:scale(1) translate(0);opacity:1}to{transform:scale(1.07) translate(-20px);opacity:.75}}.welcome-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px}.welcome-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0505058c,#05050533 45%,#05050533 55%,#050505bf)}.welcome-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}.welcome-eyebrow{font-size:10px;font-weight:700;letter-spacing:7px;color:var(--gold);text-transform:uppercase;margin-bottom:20px;opacity:.85}.welcome-title{font-size:clamp(52px,8vw,88px);font-weight:800;letter-spacing:-3px;line-height:1;margin-bottom:18px;background:linear-gradient(140deg,#fff,#e8d5a3 45%,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-sub{font-size:18px;color:var(--subtext);font-weight:300;letter-spacing:.3px;margin-bottom:60px}.welcome-options{display:flex;align-items:center;gap:20px}.welcome-card{display:flex;align-items:center;gap:18px;padding:26px 32px;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:22px;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);min-width:210px;font-family:var(--font);color:var(--text);text-align:left}.welcome-card:hover{background:#ffffff17;border-color:var(--gold-border);transform:translateY(-5px);box-shadow:0 24px 64px #00000073,0 0 0 1px var(--gold-dim)}.welcome-card-icon{width:50px;height:50px;border-radius:14px;background:var(--gold-dim);border:1px solid var(--gold-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}.welcome-card:hover .welcome-card-icon{background:#c9a84c47}.welcome-card-icon svg{width:22px;height:22px;color:var(--gold)}.welcome-card-text{display:flex;flex-direction:column;gap:5px}.welcome-card-text span{font-size:16px;font-weight:600;line-height:1}.welcome-card-text small{font-size:12px;color:var(--subtext);font-weight:400}.welcome-or{font-size:12px;color:var(--subtext);opacity:.45;flex-shrink:0}.welcome-footer{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-size:10px;color:#ffffff2e;letter-spacing:2.5px;text-transform:uppercase;white-space:nowrap}.screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.screen-header{padding:18px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#050505d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:10}.screen-logo{font-size:13px;font-weight:700;letter-spacing:4px;color:var(--gold);text-transform:uppercase}.step-dots{display:flex;align-items:center;gap:7px}.step-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .35s cubic-bezier(.4,0,.2,1)}.step-dot.active{background:var(--gold);width:22px;border-radius:3px}.step-dot.done{background:var(--success)}.back-btn{display:flex;align-items:center;gap:6px;padding:7px 15px;background:transparent;border:1px solid var(--border);border-radius:9px;color:var(--subtext);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .2s}.back-btn:hover{border-color:var(--border-bright);color:var(--text)}.screen-main{flex:1;display:flex;align-items:center;justify-content:center;padding:52px 40px}.catalog-main{align-items:flex-start;padding-top:40px;overflow-y:auto}.result-screen-main{align-items:flex-start;padding:28px 40px 60px;overflow-y:auto}.result-layout{width:100%;max-width:min(560px,92vw);display:flex;flex-direction:column;gap:32px;margin:0 auto}.camera-fs{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1}.camera-fs-media{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.camera-fs-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}.camera-fs-img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}.camera-fs-top{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,transparent 100%)}.camera-fs-bottom{position:absolute;bottom:0;left:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 28px 40px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%)}.camera-corners{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.camera-corners:before,.camera-corners:after,.camera-corners span:before,.camera-corners span:after{content:"";position:absolute;width:28px;height:28px;border-color:var(--gold);border-style:solid;opacity:.7}.camera-corners:before{top:16px;left:16px;border-width:2px 0 0 2px;border-radius:5px 0 0}.camera-corners:after{top:16px;right:16px;border-width:2px 2px 0 0;border-radius:0 5px 0 0}.camera-corners span:before{bottom:16px;left:16px;border-width:0 0 2px 2px;border-radius:0 0 0 5px}.camera-corners span:after{bottom:16px;right:16px;border-width:0 2px 2px 0;border-radius:0 0 5px}.countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10}.countdown-num{font-size:110px;font-weight:800;color:var(--gold);line-height:1;animation:countPop 1s cubic-bezier(.4,0,.2,1) both}@keyframes countPop{0%{transform:scale(1.6);opacity:0}25%{transform:scale(.92);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(.7);opacity:0}}.capture-btn{width:70px;height:70px;border-radius:50%;border:3px solid var(--gold);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;position:relative}.capture-btn:after{content:"";width:50px;height:50px;border-radius:50%;background:var(--gold);transition:all .18s}.capture-btn:hover{border-color:var(--gold-light)}.capture-btn:hover:after{width:46px;height:46px;background:var(--gold-light)}.capture-btn:active:after{width:40px;height:40px;background:#fff}.capture-btn:disabled{opacity:.4;cursor:not-allowed}.camera-actions{display:flex;gap:14px;align-items:center;justify-content:center}.camera-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 40px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.camera-error p{color:var(--subtext);font-size:14px;line-height:1.6}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:400px;text-align:center}.qr-wrap h2{font-size:30px;font-weight:700;letter-spacing:-.5px}.qr-wrap>p{color:var(--subtext);font-size:14px;line-height:1.65}.qr-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:32px;display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.qr-img{width:196px;height:196px;border-radius:12px;background:#fff;padding:10px;display:block}.qr-skeleton{width:196px;height:196px;border-radius:12px;background:var(--border);animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}.qr-waiting{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--subtext)}.qr-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;animation:qrPulse 1.6s ease-in-out infinite}@keyframes qrPulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.qr-expire{font-size:11px;color:var(--subtext);opacity:.5}.catalog-wrap{max-width:960px;width:100%}.catalog-wrap h2{font-size:30px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.catalog-wrap>p{color:var(--subtext);margin-bottom:28px;font-size:14px}.tabs{display:inline-flex;gap:3px;background:#ffffff0a;border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:28px}.tab{padding:9px 24px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--subtext);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font)}.tab.active{background:var(--gold-dim);border-color:var(--gold-border);color:var(--gold-light)}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1200px){.product-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 880px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.product-grid{grid-template-columns:repeat(2,1fr)}}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.product-card:hover{border-color:var(--border-bright);transform:translateY(-3px);box-shadow:0 14px 40px #00000080}.product-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-dim),0 14px 40px #00000080}.product-card.coming-soon{opacity:.55;cursor:not-allowed}.product-card.coming-soon:hover{transform:none;box-shadow:none;border-color:var(--border)}.catalog-toast{position:fixed;bottom:36px;left:50%;transform:translate(-50%);background:#141414eb;border:1px solid var(--gold-border);color:var(--gold-light);font-size:13px;font-weight:500;padding:12px 24px;border-radius:40px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:100;white-space:nowrap;animation:toastIn .25s cubic-bezier(.4,0,.2,1) both}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.product-img{width:100%;height:220px;object-fit:cover;display:block}.product-info{padding:13px 14px}.product-name{font-size:13px;font-weight:600;margin-bottom:2px}.product-brand{font-size:11px;color:var(--subtext);margin-bottom:8px}.product-price{font-size:13px;font-weight:600;color:var(--gold-light)}.product-badge-soon{position:absolute;top:10px;right:10px;background:#000000b8;color:var(--subtext);font-size:9px;font-weight:600;padding:3px 8px;border-radius:4px;border:1px solid var(--border);letter-spacing:.8px;text-transform:uppercase}.check-badge{position:absolute;top:10px;right:10px;background:var(--gold);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#000}.loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:80px 40px;text-align:center;width:100%;max-width:500px}.loader-visual{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.loader-ring-outer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--border)}.loader-ring-outer:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid transparent;border-top-color:var(--gold);border-right-color:#c9a84c4d;animation:ringRotate 2.2s linear infinite}@keyframes ringRotate{to{transform:rotate(360deg)}}.loader-ring-inner{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;border:1px solid var(--border)}.loader-ring-inner:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:1px solid transparent;border-bottom-color:#c9a84c80;animation:ringRotate 3s linear infinite reverse}.loader-center{font-size:22px;position:relative;z-index:1;animation:centerPulse 3s ease-in-out infinite}@keyframes centerPulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.loader-threads{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.loader-thread{position:absolute;width:2px;border-radius:1px;background:linear-gradient(to bottom,transparent,var(--gold),transparent)}.loader-thread:nth-child(1){height:44px;left:43px;animation:threadDrift 2s ease-in-out infinite}.loader-thread:nth-child(2){height:56px;left:55px;animation:threadDrift 2s ease-in-out infinite .3s;opacity:.7}.loader-thread:nth-child(3){height:36px;left:67px;animation:threadDrift 2.4s ease-in-out infinite .6s;opacity:.5}@keyframes threadDrift{0%{transform:translateY(-18px);opacity:0}30%{opacity:1}70%{opacity:1}to{transform:translateY(18px);opacity:0}}.loader-text{display:flex;flex-direction:column;align-items:center;gap:10px}.loader-title{font-size:22px;font-weight:600;letter-spacing:-.3px}.loader-phase{font-size:13px;color:var(--subtext);min-height:18px;animation:phaseIn .4s ease-out both}@keyframes phaseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.loader-bar{width:280px;height:2px;background:var(--border);border-radius:1px;overflow:hidden}.loader-bar-fill{height:100%;background:linear-gradient(90deg,rgba(201,168,76,.4),var(--gold));border-radius:1px;position:relative;transition:width 1s linear}.loader-bar-fill:after{content:"";position:absolute;top:0;right:-4px;width:32px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:barShimmer 1.8s ease-in-out infinite}@keyframes barShimmer{0%{opacity:0;transform:translate(-32px)}40%{opacity:1}to{opacity:0;transform:translate(12px)}}.result-wrap{max-width:940px;width:100%}.result-wrap h2{font-size:30px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.result-sub{color:var(--subtext);font-size:14px;margin-bottom:32px}.result-view{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:min(560px,92vw)}.result-photo-wrap{position:relative;width:100%;height:calc(100vh - 230px);max-height:740px;min-height:320px;border-radius:20px;overflow:hidden;background:#000;user-select:none;-webkit-user-select:none}.result-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;transition:opacity .18s ease}.result-photo-after{opacity:1;z-index:1}.result-photo-after.hidden{opacity:0}.result-photo-before{opacity:0;z-index:2;pointer-events:none}.result-photo-before.visible{opacity:1;pointer-events:auto}.result-photo-label{position:absolute;top:14px;left:14px;z-index:10;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:20px;transition:all .18s ease;pointer-events:none}.label-after{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold-light)}.label-before{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text)}.compare-btn{position:absolute;bottom:16px;right:16px;z-index:10;display:flex;align-items:center;gap:7px;padding:9px 14px;background:#0a0a0ab8;border:1px solid rgba(255,255,255,.12);border-radius:30px;color:var(--subtext);font-size:11px;font-weight:500;cursor:pointer;font-family:var(--font);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .18s;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.compare-btn svg{width:15px;height:15px;flex-shrink:0}.compare-btn:active,.compare-btn:focus{background:#1e1e1ee6;border-color:#ffffff40;color:var(--text);outline:none}.result-meta{text-align:center}.result-meta-name{font-size:18px;font-weight:600;letter-spacing:-.2px;margin-bottom:4px}.result-meta-brand{font-size:13px;color:var(--subtext)}.result-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.error-state{padding:48px 40px;text-align:center;background:#e258580d;border:1px solid rgba(226,88,88,.15);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:20px}.error-state p{color:var(--error);font-size:13px;line-height:1.6;max-width:460px}.rec-section{width:100%;padding-bottom:8px}.rec-heading{font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.rec-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -4px;padding-left:4px;padding-right:4px}.rec-row::-webkit-scrollbar{display:none}.rec-card{flex-shrink:0;width:148px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);font-family:var(--font);text-align:left}.rec-card:hover{border-color:var(--gold-border);transform:translateY(-3px);box-shadow:0 10px 30px #00000059}.rec-card:active{transform:scale(.97)}.rec-img-wrap{width:100%;aspect-ratio:3 / 4;overflow:hidden;background:#111}.rec-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.rec-card:hover .rec-img{transform:scale(1.04)}.rec-info{padding:10px 11px 11px}.rec-name{font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.rec-price{font-size:11px;color:var(--gold);font-weight:600}.mobile-upload{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:28px;text-align:center}.mobile-brand{font-size:10px;font-weight:700;letter-spacing:6px;color:var(--gold);text-transform:uppercase}.mobile-upload h1{font-size:26px;font-weight:700;letter-spacing:-.5px}.mobile-upload>p{color:var(--subtext);font-size:14px;line-height:1.65;max-width:300px}.mobile-drop-zone{width:100%;max-width:300px;aspect-ratio:3 / 4;border:2px dashed var(--border);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .2s;background:var(--surface);position:relative;overflow:hidden}.mobile-drop-zone:hover{border-color:var(--gold-border);background:var(--gold-dim)}.mobile-drop-zone img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:20px}.mobile-drop-icon{font-size:38px}.mobile-drop-text{font-size:15px;font-weight:600}.mobile-drop-sub{font-size:12px;color:var(--subtext)}.mobile-actions{display:flex;gap:12px;align-items:center}.mobile-pick{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-pick-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;pointer-events:none}.mobile-pick-icon{font-size:56px}.mobile-pick-label{font-size:22px;font-weight:700;letter-spacing:-.3px}.mobile-pick-sub{font-size:14px;color:var(--subtext)}.mobile-success{display:flex;flex-direction:column;align-items:center;gap:16px}.mobile-success-icon{width:68px;height:68px;border-radius:50%;background:#5ec9941f;border:2px solid var(--success);display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--success)}.btn{padding:12px 26px;border-radius:11px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.btn-primary{background:var(--gold-dim);color:var(--gold-light);border:1px solid var(--gold-border)}.btn-primary:hover{background:#c9a84c4d;border-color:#c9a84c80;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-bright);background:var(--surface-hover)}.btn-ghost{background:transparent;color:var(--subtext);border:none;padding:10px 16px}.btn-ghost:hover{color:var(--text)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn-lg{padding:15px 34px;font-size:15px;border-radius:13px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;animation:lightboxIn .18s ease both}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:16px;cursor:default;box-shadow:0 40px 80px #000000b3;animation:lightboxImgIn .22s cubic-bezier(.4,0,.2,1) both}@keyframes lightboxImgIn{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:var(--font);z-index:1001}.lightbox-close:hover{background:#fff3;color:#fff}.screen-caption{font-size:12px;color:var(--subtext);text-align:center;min-height:18px;letter-spacing:.2px}.caption-cycle{display:inline-block;animation:captionFade .45s ease both}@keyframes captionFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.loader-fact{font-size:11px;color:var(--subtext);opacity:.5;text-align:center;max-width:260px;letter-spacing:.3px;animation:captionFade .5s ease both}.result-tap-hint{font-size:11px;color:var(--subtext);opacity:.45;letter-spacing:.3px;margin-top:-8px}.result-expand-hint{position:absolute;top:14px;right:14px;z-index:10;width:30px;height:30px;border-radius:50%;background:#0a0a0a99;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:.7}.result-expand-hint svg{width:13px;height:13px;color:#ffffffb3}.result-photo{cursor:zoom-in}.qr-status-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--subtext)}.qr-received{color:var(--success);font-weight:600}@media (max-width: 860px){.welcome-options{flex-direction:column;align-items:center;gap:12px;width:100%;padding:0 24px}.welcome-card{width:100%;max-width:340px;justify-content:flex-start}.welcome-sub{margin-bottom:40px}.screen-main{padding:32px 24px}.catalog-wrap{max-width:100%}.loader-wrap{padding:48px 24px}.loader-bar{max-width:240px}}@media (max-width: 600px){.welcome-eyebrow{font-size:9px;letter-spacing:5px;margin-bottom:16px}.welcome-title{letter-spacing:-1.5px}.welcome-sub{font-size:15px;margin-bottom:32px}.welcome-footer{font-size:9px}.screen-header{padding:14px 18px}.screen-logo{font-size:11px;letter-spacing:3px}.back-btn{font-size:11px;padding:6px 12px}.step-dots{gap:5px}.step-dot{width:5px;height:5px}.step-dot.active{width:16px}.screen-main{padding:24px 18px}.camera-fs-top{padding:14px 18px}.camera-fs-bottom{padding:24px 18px 32px;gap:10px}.capture-btn{width:62px;height:62px}.capture-btn:after{width:44px;height:44px}.qr-wrap h2{font-size:24px}.qr-wrap>p{font-size:13px}.qr-img,.qr-skeleton{width:172px;height:172px}.catalog-wrap h2{font-size:24px}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-img{height:170px}.result-photo-wrap{height:calc(100vh - 260px);min-height:280px}.result-meta-name{font-size:16px}.result-actions{gap:10px}.result-actions .btn{font-size:12px;padding:10px 18px}.loader-wrap{padding:40px 16px;gap:28px}.loader-visual{width:100px;height:100px}.loader-ring-outer{top:0;right:0;bottom:0;left:0}.loader-ring-inner{top:15px;right:15px;bottom:15px;left:15px}.loader-title{font-size:18px}.loader-phase{font-size:12px}.loader-bar{max-width:200px}.mobile-upload{padding:24px 16px}.mobile-drop-zone{max-width:260px}}@media (max-width: 380px){.welcome-title{letter-spacing:-1px}.welcome-card{padding:20px 22px}.welcome-card-icon{width:42px;height:42px}.welcome-card-text span{font-size:14px}.camera-heading h2{font-size:20px}.product-img{height:140px}.product-info{padding:10px 11px}.product-name{font-size:12px}}
