:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue",sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;--blue:#007aff;--gray:#86868b;--line:#e9e9ed}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}a{color:var(--blue);text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #80bfff;outline-offset:3px}.shell{max-width:680px;margin:auto;min-height:100dvh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 12px;padding-top:max(24px,env(safe-area-inset-top))}.brand{display:flex;align-items:center;gap:10px;color:#1d1d1f;font-size:19px;font-weight:700;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--blue);color:white;font-size:24px}.brand-sub{font-size:11px;display:block;color:var(--gray);font-weight:500;letter-spacing:1px;margin-top:2px}.icon-button{display:grid;place-items:center;border:0;background:#e9e9ee;color:#606069;border-radius:50%;width:34px;height:34px;font-size:21px}main{padding:20px 24px 116px}h1{font-size:32px;letter-spacing:-1.2px;line-height:1.2;margin:10px 0 12px}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 12px}h3{font-size:16px;margin:0 0 8px}p{font-size:14px;line-height:1.7;margin:8px 0;color:#777781}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:700;margin:12px 0}.intro{margin-bottom:24px}.card{background:white;border:1px solid #eeeef1;border-radius:24px;padding:23px;margin:16px 0;box-shadow:0 4px 20px #20203503}.hero{background:linear-gradient(155deg,#fff 35%,#e8f3ff);position:relative;overflow:hidden;padding:26px}.hero h2{font-size:25px;margin-top:14px}.hero p{max-width:290px;margin-bottom:22px}.scan-art{height:126px;display:grid;place-items:center;position:relative}.phone{width:68px;height:112px;border:3px solid #92bdee;background:#f9fcff;border-radius:14px;transform:rotate(-8deg);padding:25px 9px;box-shadow:8px 12px 25px #adcbed50}.phone:before{content:"";position:absolute;top:7px;left:24px;width:20px;height:4px;border-radius:8px;background:#9bbde0}.phone i{display:block;height:3px;background:#bdd5f1;margin:7px 0;border-radius:3px}.scan-line{width:150px;height:2px;background:#007aff;box-shadow:0 0 15px #007aff;position:absolute;top:62px}.scan-art:before,.scan-art:after{content:"";position:absolute;width:142px;height:99px;border:1px solid #b1d6ff;border-radius:20px}.scan-art:after{width:192px;height:126px;border-style:dashed;opacity:.4}.button,button.primary{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:white;padding:15px 20px;border-radius:15px;min-height:49px;font-size:15px;font-weight:600;text-align:center}.wide{width:100%}.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;background:#edf4ff;color:#0074ed;padding:14px 18px;border-radius:14px;font-weight:600;min-height:46px}.quiet{border:0;color:var(--blue);background:transparent;font-size:14px;padding:8px}.danger{color:#df3b32}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.row.start{align-items:flex-start}.stack{display:flex;flex-direction:column;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric{font-size:28px;font-weight:700;letter-spacing:-1px;margin:4px 0}.muted{color:var(--gray)}.small{font-size:12px;line-height:1.7}.section-title{margin-top:28px;display:flex;justify-content:space-between;align-items:center}.section-title h2{margin:0}.tip{display:flex;gap:12px;padding:18px 0;color:#777781;font-size:12px;line-height:1.7}.tip-icon{background:#e7edf6;color:var(--blue);border-radius:10px;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,680px);display:flex;justify-content:space-around;background:#fafafaeF;border-top:1px solid #e5e5ea;backdrop-filter:blur(20px);padding:10px 12px max(12px,env(safe-area-inset-bottom));z-index:10}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#96969d;min-width:72px}.tabbar a span{font-size:25px;line-height:28px}.tabbar a.active{color:var(--blue)}.back{display:inline-flex;margin:0 0 12px;font-size:14px}.pick-area{text-align:center;border:1.5px dashed #c5d8ef;background:#fafdff;padding:32px 20px;border-radius:20px;margin:22px 0}.large-icon{display:grid;place-items:center;margin:0 auto 15px;width:64px;height:64px;background:#e6f1ff;border-radius:20px;font-size:32px;color:var(--blue)}.hidden{display:none!important}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.thumb{position:relative;min-width:0;background:#f0f0f3;border-radius:12px;overflow:hidden}.thumb img{width:100%;height:112px;object-fit:cover;display:block}.thumb .tools{display:flex;justify-content:space-around;background:white;padding:3px}.thumb button{border:0;background:transparent;color:var(--blue);padding:6px;font-size:12px}.thumb .number{position:absolute;top:5px;left:5px;background:#0009;color:white;font-size:10px;padding:2px 6px;border-radius:6px}.notice{background:#fff6e7;border:1px solid #fae4bb;color:#8b6524;border-radius:14px;padding:14px;font-size:12px;line-height:1.75;overflow-wrap:anywhere;margin:14px 0}.notice.blue{background:#eef6ff;color:#3d678c;border-color:#d9eaff}.field-label{display:block;font-size:13px;font-weight:600;margin:16px 0 8px}input:not([type=file]),textarea{width:100%;background:#f8f8fa;border:1px solid #e4e4e9;border-radius:12px;padding:13px;color:#1d1d1f;min-width:0}textarea{min-height:145px;resize:vertical;line-height:1.6;font-size:13px}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;background:#f6f7f9;border-radius:12px;padding:14px;line-height:1.7;max-height:290px;overflow:auto}.badge{display:inline-block;padding:5px 9px;border-radius:8px;background:#edf5ff;color:#2376cd;font-size:10px;white-space:nowrap}.badge.green{background:#edf8f1;color:#36835c}.badge.gray{background:#f0f0f3;color:#86868b}.progress-ring{width:112px;height:112px;border:7px solid #e9f2ff;border-top-color:#007aff;border-radius:50%;display:grid;place-items:center;margin:26px auto;animation:spin 2s linear infinite}.progress-ring span{animation:spin 2s linear infinite reverse;font-size:24px}.center{text-align:center}.steps{padding:0;list-style:none;margin:20px 0}.steps li{display:flex;gap:12px;line-height:1.6;font-size:13px;margin:15px 0;align-items:flex-start}.step-num{display:grid;place-items:center;border-radius:50%;background:#edf4ff;color:#007aff;font-size:11px;font-weight:600;min-width:25px;height:25px}.result-hero{background:linear-gradient(150deg,#fff,#edf6ff)}.result-title{font-size:23px;line-height:1.45;letter-spacing:-.7px;margin:16px 0 10px}.match{padding:18px 0;border-bottom:1px solid var(--line)}.match:last-child{border-bottom:0;padding-bottom:0}.match h3{font-size:15px;line-height:1.5}.match p{font-size:12px}.bar{height:5px;border-radius:4px;background:#edf1f6;margin:12px 0;overflow:hidden}.bar progress{width:100%;height:5px;display:block;appearance:none;border:0}.bar progress::-webkit-progress-bar{background:#edf1f6}.bar progress::-webkit-progress-value{background:#69a9fa;border-radius:4px}.bar progress::-moz-progress-bar{background:#69a9fa}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-grid dt{font-size:11px;color:#8e8e96;margin-bottom:5px}.info-grid dd{font-size:13px;margin:0;overflow-wrap:anywhere}.history-item{display:block;color:inherit;padding:19px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item h3{margin:8px 0 5px}.history-item p{font-size:12px;margin:3px 0}.empty{text-align:center;padding:30px 8px}.loading{display:grid;place-items:center;padding:80px 10px}.spinner{height:28px;width:28px;border:3px solid #dcebff;border-top-color:#007aff;border-radius:50%;display:inline-block;animation:spin 1s linear infinite}.divider{height:1px;background:var(--line);margin:20px 0}details{margin-top:16px}summary{cursor:pointer;font-size:13px;color:#007aff;padding:8px 0}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 18px;border-radius:14px;color:white;background:#25252beF;z-index:50;font-size:13px;line-height:1.6;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}.login{padding-top:30px}.login .large-icon{margin:0 0 30px}.error-text{color:#c5453e;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.page-actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.page-actions>*{flex:1}.privacy-note{font-size:11px;color:#9999a1;text-align:center;margin-top:26px}.photo-link img{max-width:100%;max-height:340px;object-fit:contain;border-radius:10px}.status-list p{border-top:1px solid var(--line);padding:10px 0;margin:0}.pill{display:inline-block;width:7px;height:7px;border-radius:50%;background:#30b978;margin-right:5px}.rule-row{padding:14px 0;border-bottom:1px solid var(--line)}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:600px){main{padding:24px 40px 120px}.topbar{padding:26px 40px 12px}.hero{padding:32px}.scan-art{float:right;width:180px;height:168px}.hero h2{max-width:280px}.hero .button{width:100%}h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

#search-form button{flex:0 0 auto;white-space:nowrap}
