:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#78788014;--text:#1d1d1f;--text-2:#86868b;--separator:#78788029;--tint:#007aff;--danger:#ff3b30;--glass-dark:#1c1c1e8c;--radius-l:20px;--radius-m:14px;--ease-apple:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:14px;overflow:hidden}#root{height:100dvh}button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.page{max-width:760px;height:100dvh;padding:calc(48px + env(safe-area-inset-top)) max(32px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-left));animation:page-in .3s var(--ease-apple);flex-direction:column;margin:0 auto;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-head h1{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700}.page-head p{color:var(--text-2);margin:6px 0 0;font-size:14px}.row-head{align-items:center;gap:12px;display:flex}.row-head h1{flex:1;font-size:24px}.glass-btn{background:var(--glass-dark);color:#fff;-webkit-backdrop-filter:blur(20px)saturate(180%);width:36px;height:36px;transition:transform .15s var(--ease-apple), opacity .15s;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.glass-btn:active{opacity:.8;transform:scale(.92)}.text-btn{color:var(--tint);font-size:14px}.text-btn.danger{color:var(--danger)}.card-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:center;gap:20px;display:grid}.feature-card{border:1px solid var(--separator);background:var(--surface);text-align:center;transition:transform .25s var(--ease-apple), box-shadow .25s var(--ease-apple);border-radius:24px;flex-direction:column;align-items:center;gap:14px;padding:34px 20px 28px;display:flex;box-shadow:0 1px 2px #0000000a,0 8px 28px #0000000d}@media (hover:hover) and (pointer:fine){.feature-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px #0000000d,0 14px 36px #0000001a}}.feature-card:active{transform:scale(.97)}.feature-icon{width:62px;height:62px;color:var(--tint);background:linear-gradient(135deg,#007aff24,#007aff0f);border-radius:17px;justify-content:center;align-items:center;display:inline-flex}.feature-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.feature-desc{color:var(--text-2);margin-top:-8px;font-size:12.5px}.scan-page{animation:page-in .3s var(--ease-apple);background:#000;position:fixed;inset:0}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-beam{pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#0a84fff2 22%,#5ac8fff2 50%,#0a84fff2 78%,#0000);border-radius:3px;width:min(84vw,680px);height:2.5px;animation:2.6s ease-in-out infinite beam;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:0 0 14px #0a84ffbf}@keyframes beam{0%{opacity:0;top:14%}12%{opacity:1}50%{top:62%}88%{opacity:1}to{opacity:0;top:14%}}.scan-guide{z-index:2;text-align:center;color:#ffffffd9;letter-spacing:.02em;text-shadow:0 1px 6px #00000080;pointer-events:none;width:90%;font-size:14px;position:absolute;top:66%;left:50%;transform:translate(-50%)}.scan-veil{z-index:3;color:#ffffffbf;text-align:center;white-space:pre-wrap;background:#000;justify-content:center;align-items:center;padding:32px;font-size:14px;display:flex;position:absolute;inset:0}.scan-topbar{z-index:20;padding:calc(14px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 14px max(16px, env(safe-area-inset-left));background:linear-gradient(#00000073,#0000);display:flex;position:absolute;top:0;left:0;right:0}.hint-pill{bottom:calc(108px + env(safe-area-inset-bottom));z-index:6;background:var(--glass-dark);color:#fff;text-align:center;-webkit-backdrop-filter:blur(20px)saturate(180%);max-width:70%;animation:page-in .25s var(--ease-apple);border-radius:100px;padding:8px 16px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.scan-toolbar{bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;background:var(--glass-dark);-webkit-backdrop-filter:blur(24px)saturate(180%);border-radius:100px;gap:4px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000059}.tool-btn{color:#fff;width:84px;transition:background .15s, transform .15s var(--ease-apple);border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;font-size:11px;display:flex}@media (hover:hover) and (pointer:fine){.tool-btn:hover:not(:disabled){background:#ffffff1f}}.tool-btn:active:not(:disabled){transform:scale(.94)}.tool-btn:disabled{opacity:.4;cursor:default}.result-body{flex-direction:column;flex:1;gap:16px;min-height:0;margin-top:24px;display:flex}.qr-card{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--separator);align-self:center;padding:14px;box-shadow:0 1px 2px #0000000a,0 8px 28px #0000000d}.qr-card img{border-radius:10px;width:168px;height:168px;display:block}.result-text{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--separator);word-break:break-all;white-space:pre-wrap;-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding:16px 18px;font-size:14px;line-height:1.65;overflow:auto}.result-tip{text-align:center;color:var(--tint);animation:fade-in .2s var(--ease-apple);margin-top:12px;font-size:13px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.result-actions{gap:10px;padding:16px 0 4px;display:flex}.action-btn{background:var(--surface);border:1px solid var(--separator);color:var(--text);transition:transform .15s var(--ease-apple), opacity .15s;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:13px 0 11px;font-size:12px;display:flex}.action-btn:active:not(:disabled){transform:scale(.95)}.action-btn:disabled{opacity:.4;cursor:default}.action-btn svg{color:var(--tint)}.empty{color:var(--text-2);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.record-list{flex-direction:column;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.record-item{background:var(--surface);cursor:pointer;transition:transform .15s var(--ease-apple), background .15s;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;display:flex}.record-item:active{transform:scale(.98)}.record-qr{background:var(--surface-2);width:42px;height:42px;color:var(--tint);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.record-qr img{object-fit:cover;border-radius:10px;width:100%;height:100%}.record-body{flex:1;min-width:0}.record-content{word-break:break-all;-webkit-line-clamp:3;-webkit-user-select:text;user-select:text;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.record-meta{color:var(--text-2);align-items:center;gap:10px;margin-top:6px;font-size:12px;display:flex}.record-meta .copied{color:var(--tint)}@media (width<=640px){.page{padding:calc(20px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.page-head h1{font-size:27px}.row-head h1{font-size:20px}.glass-btn{width:40px;height:40px}.card-grid{grid-template-columns:1fr;gap:14px}.feature-card{border-radius:20px;padding:28px 18px 24px}.feature-icon{border-radius:16px;width:56px;height:56px}.record-list{gap:8px;margin-top:16px}.record-item{border-radius:14px;padding:12px 14px}.result-body{gap:12px;margin-top:16px}.qr-card{padding:10px}.qr-card img{width:140px;height:140px}.result-text{padding:14px 15px}.result-actions{gap:8px;padding-top:12px}.action-btn{border-radius:14px;padding:11px 4px 10px;font-size:11px}}@media (width<=360px){.tool-btn{width:74px;font-size:10.5px}.scan-beam{width:88vw}}@media (height<=520px){.scan-guide{display:none}.scan-beam{animation:2.6s ease-in-out infinite beam-short}@keyframes beam-short{0%{opacity:0;top:12%}12%{opacity:1}50%{top:52%}88%{opacity:1}to{opacity:0;top:12%}}.result-body{gap:10px;margin-top:12px}.qr-card{padding:8px}.qr-card img{width:104px;height:104px}.result-actions{padding-top:8px}.action-btn{flex-direction:row;justify-content:center;gap:8px;padding:10px 8px}.feature-card{text-align:left;flex-direction:row;justify-content:flex-start;gap:16px;padding:20px 22px}.card-grid{align-content:center}}@media (width>=900px){.card-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width>=1200px){.page{max-width:820px}}.install-mask{z-index:100;animation:fade-in .25s var(--ease-apple);background:#000000eb;position:fixed;inset:0}.install-wechat{height:100%;position:relative}.install-arrow{top:calc(6px + env(safe-area-inset-top));position:absolute;right:22px}.install-wechat-text{top:calc(96px + env(safe-area-inset-top));color:#fff;text-align:right;margin:0;font-size:15px;line-height:1.9;position:absolute;right:22px}.install-wechat-text b{color:#ffd60a;font-weight:600}.install-wechat-close{bottom:calc(36px + env(safe-area-inset-bottom));color:#fff;border:1px solid #ffffff80;border-radius:100px;padding:11px 34px;font-size:14px;position:absolute;left:50%;transform:translate(-50%)}.install-backdrop{z-index:100;animation:fade-in .25s var(--ease-apple);background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.install-sheet{width:100%;padding:22px 22px calc(24px + env(safe-area-inset-bottom));background:var(--surface);animation:sheet-up .32s var(--ease-apple);border-radius:22px 22px 0 0;position:relative}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-sheet-close{background:var(--surface-2);width:30px;height:30px;color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:16px}.install-sheet-title{letter-spacing:-.01em;font-size:18px;font-weight:700}.install-sheet-desc{color:var(--text-2);margin:6px 0 18px;font-size:13px}.install-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{align-items:center;gap:12px;font-size:14px;line-height:1.4;display:flex}.step-num{background:var(--tint);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12.5px;font-weight:600;display:flex}.step-text{flex:1}.step-share{color:var(--tint);flex:none}.install-sheet-btn{background:var(--tint);color:#fff;border-radius:14px;width:100%;margin-top:22px;padding:14px;font-size:15px;font-weight:600}.install-sheet-btn:active{opacity:.85}
