:root{color:#1d1d1f;background:#eef1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%}.app-shell{min-height:100vh;padding:18px 16px 34px;background:linear-gradient(180deg,#f8f9fb,#eef1f5)}.phone-shell{position:relative;width:min(100%,430px);min-height:calc(100vh - 52px);margin:0 auto;padding:36px 12px 88px;overflow:hidden;border:1px solid rgba(214,219,226,.9);border-radius:34px;background:linear-gradient(180deg,#fff,#f8f9fb 70%,#fff);box-shadow:0 24px 70px #36404e29}.mini-header{display:flex;justify-content:center;align-items:center;min-height:46px;margin-bottom:4px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.brand-mark span{display:inline-grid;place-items:center;width:26px;height:32px;background:#0879eb;color:#fff;font-size:21px;font-weight:850;line-height:1}.brand-mark strong{min-width:0;overflow:hidden;color:#191a1f;font-size:25px;font-weight:900;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.login-pill{display:flex;align-items:center;justify-content:center;gap:8px;width:min(320px,calc(100% - 38px));min-height:40px;margin:10px auto 12px;padding:0 16px;border:1px solid #cfe2fb;border-radius:999px;background:#eef6ff;color:#0879eb;font-size:15px;font-weight:850}.login-copy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-dot{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#fff;color:#0879eb;font-size:13px;font-weight:900}.backend-pill{width:min(366px,100%);min-height:30px;margin:-2px auto 12px;padding:7px 12px;border:1px solid #e1e5eb;border-radius:999px;background:#fff;color:#707780;font-size:11px;font-weight:850;line-height:1.25;text-align:center}.backend-pill.connected{border-color:#bfe8d9;background:#eefbf6;color:#147555}.flow-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 14px;padding:6px;border:1px solid #dde2ea;border-radius:16px;background:#fff}.flow-step{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:46px;border:0;border-radius:12px;background:transparent;color:#747982;font-size:13px;font-weight:850;white-space:nowrap}.flow-step span{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#eceef1;color:#73777d;font-size:12px}.flow-step.active{background:#0879eb;color:#fff}.flow-step.active span{background:#ffffff3d;color:#fff}.work-card,.queue-card,.page-card{border:1px solid #dde2ea;border-radius:18px;background:#fff;box-shadow:0 10px 34px #2b34400f}.flow-panel{padding:18px 14px 16px}.page-card{margin-top:14px;padding:18px 14px}.step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.step-head.split{display:grid;grid-template-columns:1fr auto}.step-head p{margin:0 0 4px;color:#0879eb;font-size:15px;font-weight:900}.step-head h1{margin:0;color:#1d1d1f;font-size:30px;font-weight:900;line-height:1.08;letter-spacing:0}.step-head strong{align-self:center;max-width:180px;overflow:hidden;color:#686d75;font-size:16px;font-weight:850;text-align:right;text-overflow:ellipsis;white-space:nowrap}.head-upload-button{align-self:center;min-width:144px;max-width:190px;min-height:42px;padding:0 14px;border:1px solid #c5defa;border-radius:999px;background:#edf5ff;color:#0879eb;font-size:15px;font-weight:900;white-space:nowrap}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;align-items:stretch;width:100%;margin-bottom:12px}.search-row label{position:relative;display:block;min-width:0}.search-row label:before{content:"";position:absolute;left:17px;top:50%;width:18px;height:18px;border:3px solid #858b94;border-radius:50%;transform:translateY(-58%)}.search-row label:after{content:"";position:absolute;left:34px;top:35px;width:13px;height:3px;border-radius:999px;background:#858b94;transform:rotate(45deg)}.search-row label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.search-row input{width:100%;height:58px;padding:0 42px 0 54px;border:1px solid #dde2ea;border-radius:14px;outline:none;background:#fff;color:#1d1d1f;font-size:17px;font-weight:700}.search-row input::placeholder{color:#9a9fa8}.search-row>button{width:100%;height:58px;min-width:0;border:0;border-radius:14px;background:#0879eb;color:#fff;font-size:15px;font-weight:900}.search-clear{position:absolute;right:10px;top:50%;z-index:2;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;background:transparent;color:#838892;font-size:22px;font-weight:500;line-height:1;transform:translateY(-50%)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 9px}.section-title h2{margin:0;color:#20242a;font-size:17px;font-weight:900}.section-title span{color:#6f747c;font-size:12px;font-weight:850}.letter-add{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1.5px solid #1d1d1f;border-radius:50%;background:transparent;color:#1d1d1f;font-size:20px;font-weight:650;line-height:1}.letter-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;width:100%;margin-bottom:12px}.letter-grid button{display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:1;padding:0;border:1px solid #e1e5eb;border-radius:50%;background:#fff;color:#1d1d1f;font-size:19px;font-weight:850}.letter-grid button.selected{border-color:#0879eb;background:#eef6ff;color:#0879eb;box-shadow:inset 0 0 0 1px #0879eb47}.horizontal-list{display:flex;gap:9px;margin:0 -14px;padding:0 14px 5px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.horizontal-list::-webkit-scrollbar{display:none}.brand-card{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-width:104px;height:50px;padding:0 14px 0 10px;border:1px solid #e1e5eb;border-radius:999px;background:#fff;color:#1d1d1f;scroll-snap-align:start}.brand-card.selected{border-color:#0879eb;background:#eef6ff;color:#0879eb;box-shadow:inset 0 0 0 1px #0879eb40}.brand-logo{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 35% 30%,#5ce2c5,#08796f 70%);color:#fff;font-size:14px;font-weight:900}.brand-logo img{width:100%;height:100%;object-fit:contain}.brand-card strong{max-width:96px;overflow:hidden;font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.vehicle-card,.color-card,.scene-card,.angle-card{border:1px solid #e1e5eb;background:#fff;color:#1d1d1f;text-align:left;scroll-snap-align:start}.vehicle-card,.color-card{flex:0 0 150px;min-height:134px;padding:10px;border-radius:14px}.vehicle-card.selected,.color-card.selected,.scene-card.selected,.angle-card.selected{border-color:#0879eb;background:#eef6ff;color:#0879eb;box-shadow:inset 0 0 0 1px #0879eb47}.asset-thumb,.color-thumb,.scene-card img,.angle-card img{display:block;width:100%;object-fit:cover;background:linear-gradient(180deg,#fafafa,#eef1f5)}.asset-thumb{height:74px;border-radius:11px;object-fit:contain}.vehicle-card strong,.color-card strong,.scene-card strong,.angle-card strong{display:block;overflow:hidden;margin-top:8px;font-size:14px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.vehicle-card small,.color-card small{display:block;overflow:hidden;margin-top:3px;color:#777d85;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.mini-car{position:relative;display:block;height:74px;border-radius:11px;background:linear-gradient(180deg,#fafafa,#eef1f5);overflow:hidden}.mini-car.large{height:108px;min-width:170px}.mini-car:before,.mini-car:after{content:"";position:absolute}.mini-car:before{left:13%;right:13%;bottom:24%;height:30%;border:1px solid rgba(32,37,45,.12);border-radius:40px 46px 14px 14px;background:#fff;box-shadow:inset 0 -9px 16px #21283017}.mini-car:after{left:31%;bottom:48%;width:38%;height:25%;border:1px solid rgba(32,37,45,.08);border-radius:34px 32px 4px 4px;background:#f7f8fa;transform:skew(-18deg)}.filter-row{display:flex;gap:8px;margin:0 -14px;padding:0 14px 5px;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-row::-webkit-scrollbar{display:none}.filter-row button{flex:0 0 auto;min-height:38px;max-width:170px;padding:0 14px;overflow:hidden;border:1px solid #e1e5eb;border-radius:999px;background:#fff;color:#2b3037;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.filter-row button.selected{border-color:#0879eb;background:#eef6ff;color:#0879eb;box-shadow:inset 0 0 0 1px #0879eb38}.swatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.color-card{display:block;width:100%;min-height:152px}.color-thumb,.swatch{height:82px;border-radius:12px}.swatch{display:block;width:100%;box-shadow:inset 0 0 0 1px #ffffff73,0 8px 20px #2532411f}.upload-preview-card,.locked-scene,.confirm-card{display:grid;grid-template-columns:136px minmax(0,1fr);gap:14px;align-items:center;margin:12px 0;padding:12px;border:1px solid #cfe2fb;border-radius:16px;background:#f6faff}.upload-preview-card img,.confirm-card img{width:100%;height:94px;object-fit:cover;border-radius:12px;background:#fff}.upload-preview-card strong,.locked-scene strong,.confirm-card strong{display:block;color:#1d1d1f;font-size:17px;font-weight:900;line-height:1.28}.upload-preview-card p,.locked-scene p,.confirm-card p{margin:4px 0 0;color:#676d76;font-size:13px;font-weight:750;line-height:1.38}.mini-outline-button{min-height:34px;margin-top:10px;padding:0 12px;border:1px solid #cfe2fb;border-radius:999px;background:#fff;color:#0879eb;font-size:12px;font-weight:900}.scene-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.scene-switch button{height:44px;border:1px solid #e1e5eb;border-radius:999px;background:#fff;color:#555b64;font-size:14px;font-weight:900}.scene-switch button.selected{border-color:#0879eb;background:#0879eb;color:#fff}.scene-card{flex:0 0 150px;min-height:124px;padding:10px;border-radius:14px}.scene-card img,.scene-fallback{width:100%;height:76px;border-radius:12px}.scene-fallback,.angle-fallback{display:block;background:linear-gradient(135deg,rgba(8,121,235,.18),transparent 45%),linear-gradient(180deg,#f7f8fa,#e8edf5)}.scene-add{display:grid;place-items:center;text-align:center}.scene-add span{display:grid;place-items:center;width:42px;height:42px;border:1.5px solid #1d1d1f;border-radius:12px;color:#1d1d1f;font-size:26px;font-weight:500}.angle-card{position:relative;flex:0 0 132px;min-height:118px;padding:10px;border-radius:14px}.angle-card img,.angle-fallback{width:100%;height:68px;border-radius:12px}.angle-card.disabled{color:#9ca1aa;background:#f5f6f8}.checkmark{position:absolute;right:8px;top:8px;display:none;place-items:center;width:22px;height:22px;border-radius:50%;background:#0879eb;color:#fff;font-size:12px;font-weight:900}.angle-card.selected .checkmark{display:grid}.locked-scene{display:block;padding:16px}.advanced-card{margin-top:12px;border:1px solid #e1e5eb;border-radius:16px;background:#fff;overflow:hidden}.advanced-card.open{border-color:#cfe2fb;background:#f9fcff}.advanced-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:0;background:transparent;color:#1d1d1f;text-align:left}.advanced-head strong{display:block;font-size:17px;font-weight:900}.advanced-head span{display:block;margin-top:3px;color:#737983;font-size:12px;font-weight:750}.advanced-head em{flex:0 0 auto;color:#0879eb;font-size:13px;font-style:normal;font-weight:900}.advanced-body{display:grid;gap:8px;padding:0 14px 14px}.advanced-option,.wheel-upload{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:58px;padding:10px;border:1px solid #e1e5eb;border-radius:14px;background:#fff;color:#1d1d1f;text-align:left}.advanced-option>span,.wheel-upload>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef0f4;color:transparent}.advanced-option.selected{border-color:#0879eb;background:#eef6ff}.advanced-option.selected>span{background:#0879eb;color:#fff}.advanced-option strong,.wheel-upload strong{display:block;overflow:hidden;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.advanced-option p,.wheel-upload p{margin:3px 0 0;color:#747a84;font-size:12px;font-weight:750}.wheel-upload img{width:36px;height:36px;border-radius:10px;object-fit:cover}.status-message{margin-top:12px;padding:10px 12px;border:1px solid #d9e8fb;border-radius:12px;background:#f4f9ff;color:#315d91;font-size:12px;font-weight:800;line-height:1.45}.flow-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.flow-actions.dual{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.back-button,.primary-button{min-width:0;min-height:58px;border:0;border-radius:14px;font-size:17px;font-weight:900}.back-button{background:#f0f1f4;color:#52575f}.primary-button{min-width:min(100%,230px);padding:0 18px;background:#1d1d1f;color:#fff}.home-page{padding-top:2px}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:14px;align-items:center;min-height:198px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0879ebeb,#161f2ef5),#0879eb;color:#fff;overflow:hidden}.home-hero span{color:#ffffffb8;font-size:12px;font-weight:900;text-transform:uppercase}.home-hero h1{margin:8px 0;font-size:25px;font-weight:900;line-height:1.12;letter-spacing:0}.home-hero p{margin:0;color:#ffffffc7;font-size:13px;font-weight:750;line-height:1.42}.home-hero img{width:150px;height:110px;object-fit:contain;border-radius:14px;background:#ffffff26}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.home-actions button{min-height:150px;padding:14px;border:1px solid #dde2ea;border-radius:18px;background:#fff;color:#1d1d1f;text-align:left;box-shadow:0 10px 34px #2b34400f}.home-actions span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef6ff;color:#0879eb;font-size:13px;font-weight:900}.home-actions strong{display:block;margin-top:18px;font-size:20px;font-weight:900}.home-actions p{margin:7px 0 0;color:#6f747d;font-size:12px;font-weight:750;line-height:1.4}.home-cases{margin-top:16px}.case-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.case-reference-card{position:relative;min-width:0;padding:0 0 12px;overflow:hidden;border:1px solid #dde2ea;border-radius:16px;background:#fff;color:#1d1d1f;text-align:left;box-shadow:0 10px 28px #2b34400f}.case-reference-image{display:block;width:100%;height:116px;object-fit:cover;border-radius:0;background:linear-gradient(180deg,#fafafa,#eef1f5)}.case-reference-card>span{display:inline-grid;place-items:center;max-width:calc(100% - 20px);min-height:22px;margin:9px 10px 0;padding:0 8px;overflow:hidden;border-radius:999px;background:#eef6ff;color:#0879eb;font-size:10px;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap}.case-reference-card strong{display:block;margin:7px 10px 0;overflow:hidden;color:#1d1d1f;font-size:14px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.case-reference-card p{margin:4px 10px 0;overflow:hidden;color:#6f747d;font-size:11px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.queue-card{padding:14px}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #eef0f3}.queue-item:first-of-type{border-top:0}.queue-item strong{display:block;overflow:hidden;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.queue-item span{color:#6f747c;font-size:12px;font-weight:800}.progress{height:8px;overflow:hidden;border-radius:999px;background:#eef0f3}.progress span{display:block;height:100%;border-radius:inherit;background:#0879eb}.account-card{display:grid;justify-items:center;gap:10px;text-align:center}.account-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#0879eb;color:#fff;font-size:25px;font-weight:900}.account-card h1{margin:2px 0 0;font-size:24px;font-weight:900}.account-card p{width:min(280px,100%);margin:0;color:#6f747c;font-size:13px;font-weight:750;line-height:1.45}.tabbar{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:74px;padding:7px 10px 12px;border-top:1px solid #e6e8ed;background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tabbar button{display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:#8a9099;font-size:12px;font-weight:850}.tabbar span{position:relative;display:block;width:23px;height:23px;color:currentColor}.tabbar button:nth-child(1) span:before{content:"";position:absolute;left:4px;top:8px;width:15px;height:12px;border:1.8px solid currentColor;border-top:0;border-radius:2px 2px 5px 5px}.tabbar button:nth-child(1) span:after{content:"";position:absolute;left:5px;top:3px;width:13px;height:13px;border-left:1.8px solid currentColor;border-top:1.8px solid currentColor;transform:rotate(45deg)}.tabbar button:nth-child(2) span:before{content:"";position:absolute;left:2px;right:2px;bottom:5px;height:8px;border:1.8px solid currentColor;border-radius:8px 8px 4px 4px}.tabbar button:nth-child(2) span:after{content:"";position:absolute;left:6px;top:4px;width:11px;height:8px;border:1.8px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}.tabbar button:nth-child(3) span:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1.8px solid currentColor;border-radius:5px}.tabbar button:nth-child(3) span:after{content:"";position:absolute;left:8px;top:8px;width:7px;height:7px;border:1.6px solid currentColor;border-radius:50%}.tabbar button:nth-child(4) span:before{content:"";position:absolute;left:8px;top:3px;width:7px;height:7px;border:1.8px solid currentColor;border-radius:50%}.tabbar button:nth-child(4) span:after{content:"";position:absolute;left:4px;right:4px;bottom:4px;height:9px;border:1.8px solid currentColor;border-radius:10px 10px 4px 4px}.tabbar button.active{color:#0879eb}.footer-note{width:min(100%,430px);margin:12px auto 0;color:#7e858f;font-size:12px;font-weight:700;line-height:1.5;text-align:center}@media (max-width: 720px){.app-shell{padding:0}.phone-shell{width:100%;max-width:none;min-height:100vh;border:0;border-radius:0;box-shadow:none}.tabbar{position:fixed;z-index:30}.footer-note{display:none}}@media (max-width: 390px){.phone-shell{padding-left:10px;padding-right:10px}.brand-mark strong{font-size:22px}.flow-step{gap:3px;font-size:11px}.flow-step span{width:20px;height:20px;flex-basis:20px}.flow-panel{padding-left:12px;padding-right:12px}.step-head.split{grid-template-columns:1fr}.head-upload-button{justify-self:start;min-width:0;width:100%}.letter-grid{gap:6px}.letter-grid button{font-size:18px}.search-row{grid-template-columns:minmax(0,1fr) 66px}.search-row>button{font-size:13px}.home-hero{grid-template-columns:1fr}.home-hero img,.home-hero .mini-car.large{width:100%;min-width:0}.upload-preview-card,.confirm-card{grid-template-columns:1fr}}
