@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";.link-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid rgba(55,53,47,.09);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.link-button:hover{background:#37352f0a;border-color:#37352f29}.link-button:active{background:#37352f14}.link-button-icon{width:40px;height:40px;border-radius:8px;background:#37352f0a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--button-color, #37352F)}.link-button-icon svg{width:22px;height:22px}.link-button-text{flex:1;min-width:0}.link-button-label{display:block;font-size:15px;font-weight:500;color:#37352f;line-height:1.3}.link-button-sublabel{display:block;font-size:13px;color:#787774;margin-top:2px}.link-button-arrow{color:#c4c4c4;flex-shrink:0;transition:all .15s}.link-button:hover .link-button-arrow{color:#787774;transform:translate(2px)}@media (max-width: 480px){.link-button{padding:10px 12px}.link-button-icon{width:36px;height:36px}.link-button-icon svg{width:20px;height:20px}.link-button-label{font-size:14px}.link-button-sublabel{font-size:12px}}.language-toggle{display:flex;background:#fffc;border-radius:20px;padding:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000000f}.lang-btn{padding:6px 14px;font-size:13px;font-weight:500;color:#888;background:transparent;border-radius:17px;transition:all .2s}.lang-btn:hover:not(.active){color:#666}.lang-btn.active{background:#ff6b6b;color:#fff;box-shadow:0 2px 8px #ff6b6b4d}.share-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f0f99;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.share-modal{background:#fff;border-radius:3px 3px 0 0;width:100%;max-width:420px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0f0f0f0d,0 3px 6px #0f0f0f1a,0 9px 24px #0f0f0f33}.share-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(55,53,47,.09)}.share-modal-header h3{font-size:14px;font-weight:500;margin:0;color:#37352f}.share-modal-header .close-btn{width:24px;height:24px;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#787774}.share-modal-header .close-btn:hover{background:#37352f14;color:#37352f}.share-modal-content{flex:1;overflow-y:auto;padding:12px}.photo-section{margin-bottom:12px}.photo-buttons{display:flex;gap:8px}.photo-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 12px;background:#37352f0a;border-radius:3px;color:#787774;font-size:12px;font-weight:500;transition:background .1s}.photo-btn:hover{background:#37352f14;color:#37352f}.photo-btn svg{width:20px;height:20px}.camera-preview{position:relative;border-radius:3px;overflow:hidden;background:#000}.camera-preview video{width:100%;height:240px;object-fit:cover}.camera-controls{position:absolute;bottom:0;left:0;right:0;padding:16px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,#0009)}.cancel-camera{color:#fff;font-size:14px;width:50px}.capture-btn{width:56px;height:56px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.capture-btn:active{transform:scale(.95)}.capture-ring{width:44px;height:44px;background:#fff;border-radius:50%;border:2px solid #37352F}.photo-preview{position:relative;border-radius:3px;overflow:hidden}.photo-preview img{width:100%;height:180px;object-fit:cover}.remove-photo{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#0009;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff}.remove-photo:hover{background:#eb5757}.review-section{background:#37352f0a;border-radius:3px;padding:12px}.review-label{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:500;color:#787774}.review-label svg{width:14px;height:14px}.regenerate-btn{margin-left:auto;display:flex;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:3px;font-size:12px;color:#787774;box-shadow:0 0 0 1px #37352f17}.regenerate-btn:hover:not(:disabled){background:#37352f0a}.regenerate-btn:disabled{opacity:.5}.spin{animation:spin .8s linear infinite}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.review-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;color:#787774;font-size:12px}.review-textarea{width:100%;padding:10px;font-size:14px;line-height:1.5;border:none;border-radius:3px;background:#fff;resize:none;color:#37352f;box-shadow:0 0 0 1px #37352f17}.review-textarea:focus{box-shadow:0 0 0 1px #2383e2,0 0 0 3px #2383e226}.share-modal-actions{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(55,53,47,.09)}.copy-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#37352f0a;border-radius:3px;font-size:14px;font-weight:500;color:#37352f}.copy-btn:hover{background:#37352f14}.share-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:#2383e2;border-radius:3px;font-size:14px;font-weight:500;color:#fff}.share-btn:hover:not(:disabled){background:#0e71d2}.share-btn:disabled{opacity:.6}@media (min-width: 480px){.share-modal-overlay{align-items:center;padding:20px}.share-modal{border-radius:3px;max-height:70vh}}@supports (padding-bottom: env(safe-area-inset-bottom)){.share-modal-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}:root{--lw-bg: #F6F5F2;--lw-card: #FFFFFF;--lw-text: #1A1A1A;--lw-text-secondary: #6B6B6B;--lw-text-muted: #9E9E9E;--lw-border: rgba(0,0,0,.06);--lw-radius: 16px;--lw-radius-sm: 12px;--lw-shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.03);--lw-shadow-hover: 0 2px 8px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06);--lw-font-cn: "Noto Sans SC", "PingFang SC", -apple-system, sans-serif;--lw-font-en: "Plus Jakarta Sans", -apple-system, sans-serif}*{box-sizing:border-box}.landing-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:0;background:var(--lw-bg);font-family:var(--lw-font-cn);-webkit-font-smoothing:antialiased}.language-toggle-wrapper{position:fixed;top:12px;right:12px;z-index:50}.landing-content{width:100%;max-width:420px;padding:0 16px 40px}.landing-header{text-align:center;padding:48px 0 32px;animation:fadeUp .5s ease-out}.business-logo{width:88px;height:88px;border-radius:50%;object-fit:cover;margin-bottom:16px;border:3px solid #fff;box-shadow:0 2px 12px #00000014}.business-logo-placeholder{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:3px solid #fff;box-shadow:0 2px 12px #00000014;font-family:var(--lw-font-en)}.business-name{font-size:24px;font-weight:700;color:var(--lw-text);margin:0 0 6px;letter-spacing:-.01em;line-height:1.3}.business-tagline{font-size:14px;color:var(--lw-text-secondary);margin:0;font-weight:400;line-height:1.5}.links-grid{display:flex;flex-direction:column;gap:10px;animation:fadeUp .5s ease-out .1s both}.link-card{display:flex;align-items:center;gap:14px;background:var(--lw-card);border-radius:var(--lw-radius);padding:16px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:var(--lw-shadow);border:1px solid var(--lw-border);-webkit-tap-highlight-color:transparent}.link-card:active{transform:scale(.98)}@media (hover: hover){.link-card:hover{box-shadow:var(--lw-shadow-hover);transform:translateY(-1px)}}.link-card-icon{width:48px;height:48px;min-width:48px;border-radius:var(--lw-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.link-card-icon svg{width:22px;height:22px}.link-card-content{flex:1;min-width:0}.link-card-content h3{font-size:15px;font-weight:600;color:var(--lw-text);margin:0 0 2px;line-height:1.3}.link-card-content p{font-size:12px;color:var(--lw-text-muted);margin:0;line-height:1.4}.link-card-btn{padding:7px 14px;border-radius:20px;font-size:12px;font-weight:600;background:#f3f3f1;color:var(--lw-text);white-space:nowrap;transition:background .15s;border:none;cursor:pointer;font-family:var(--lw-font-cn)}.link-card-btn:hover{background:#eaeae8}.landing-footer{margin-top:40px;padding:20px 0;font-size:12px;color:var(--lw-text-muted);text-align:center;animation:fadeUp .5s ease-out .3s both}.landing-footer a{color:var(--lw-text-secondary);text-decoration:none;font-weight:500}.landing-footer a:hover{color:var(--lw-text)}.loading-spinner{width:24px;height:24px;border:2.5px solid rgba(0,0,0,.08);border-top-color:var(--lw-text);border-radius:50%;animation:spin .6s linear infinite;margin:40vh auto}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:30vh 20px}.error-state h2{font-size:48px;font-weight:700;color:var(--lw-text);margin:0 0 8px;font-family:var(--lw-font-en)}.error-state p{font-size:15px;color:var(--lw-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0;animation:fadeIn .2s ease-out}@media (min-width: 481px){.modal-overlay{align-items:center;padding:16px}}.wechat-card-modal{background:#fff;border-radius:20px 20px 0 0;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}@media (min-width: 481px){.wechat-card-modal{border-radius:20px;animation:scaleIn .25s ease-out}}.wechat-card-header{background:linear-gradient(135deg,#07c160,#06ad56);padding:32px 24px 48px;text-align:center;position:relative}.wechat-card-logo{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);box-shadow:0 4px 12px #00000026}.wechat-card-logo-placeholder{width:72px;height:72px;border-radius:50%;background:#fff3;color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto;border:3px solid rgba(255,255,255,.3)}.wechat-card-body{padding:24px;text-align:center;margin-top:-24px;background:#fff;border-radius:20px 20px 0 0;position:relative}.wechat-card-name{font-size:20px;font-weight:700;color:var(--lw-text);margin:0 0 4px}.wechat-card-tagline{font-size:13px;color:var(--lw-text-muted);margin:0 0 16px}.wechat-card-id{display:inline-flex;align-items:center;gap:6px;background:#f6f5f2;padding:8px 16px;border-radius:20px;font-size:13px;color:var(--lw-text-secondary);margin-bottom:16px}.wechat-id-value{font-weight:600;color:var(--lw-text);font-family:var(--lw-font-en)}.wechat-copy-btn{display:block;width:100%;padding:12px;background:#07c160;color:#fff;border-radius:var(--lw-radius-sm);font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background .15s;margin-bottom:20px;font-family:var(--lw-font-cn)}.wechat-copy-btn:hover{background:#06ad56}.wechat-qr-section{padding-top:16px;border-top:1px solid var(--lw-border)}.wechat-qr-small{width:160px;height:160px;border-radius:var(--lw-radius-sm);margin-bottom:8px}.wechat-qr-hint{font-size:12px;color:var(--lw-text-muted);margin:0}.wechat-card-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;z-index:2;transition:background .15s}.wechat-card-close:hover{background:#ffffff59}.keyword-modal{background:#fff;border-radius:20px 20px 0 0;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;padding:24px 20px;padding-bottom:max(24px,env(safe-area-inset-bottom));position:relative;animation:slideUp .3s ease-out}@media (min-width: 481px){.keyword-modal{border-radius:20px;animation:scaleIn .25s ease-out}}.keyword-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--lw-text-muted);background:#f3f3f1;border:none;cursor:pointer;transition:background .15s}.keyword-modal-close:hover{background:#eaeae8;color:var(--lw-text)}.keyword-modal-header{text-align:center;margin-bottom:20px}.keyword-modal-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.keyword-modal-header h3{font-size:17px;font-weight:700;color:var(--lw-text);margin:0;line-height:1.4}.keyword-input{width:100%;padding:13px 16px;border:1.5px solid #E8E8E6;border-radius:var(--lw-radius-sm);font-size:15px;margin-bottom:18px;transition:border-color .2s;background:#fafaf9;font-family:var(--lw-font-cn)}.keyword-input:focus{outline:none;border-color:#c0c0be;background:#fff}.keyword-input::placeholder{color:#bdbdbd}.keyword-section{margin-bottom:20px}.keyword-label{font-size:12px;color:var(--lw-text-muted);margin:0 0 10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.keyword-tags{display:flex;flex-wrap:wrap;gap:8px}.keyword-tag{padding:7px 14px;border:1.5px solid #E8E8E6;border-radius:20px;font-size:13px;color:var(--lw-text-secondary);background:#fff;transition:all .18s;cursor:pointer;font-family:var(--lw-font-cn)}.keyword-tag:hover{border-color:#d1d1cf;background:#fafaf9}.keyword-tag.selected{color:#fff;border-color:transparent}.generate-btn{width:100%;padding:14px;border-radius:var(--lw-radius-sm);font-size:15px;font-weight:600;color:#fff;border:none;cursor:pointer;transition:opacity .15s,transform .15s;font-family:var(--lw-font-cn)}.generate-btn:hover:not(:disabled){opacity:.92}.generate-btn:active:not(:disabled){transform:scale(.98)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generated-section{margin-top:20px;animation:fadeUp .3s ease-out}.generated-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--lw-text-muted);margin-bottom:8px;font-weight:500}.generated-text{background:#fafaf9;border:1.5px solid #E8E8E6;border-radius:var(--lw-radius-sm);padding:14px;font-size:14px;line-height:1.7;color:var(--lw-text);margin-bottom:14px;white-space:pre-wrap}.copy-open-btn{width:100%;padding:14px;border-radius:var(--lw-radius-sm);font-size:15px;font-weight:600;color:#fff;border:none;cursor:pointer;transition:opacity .15s,transform .15s;font-family:var(--lw-font-cn)}.copy-open-btn:hover{opacity:.92}.copy-open-btn:active{transform:scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeUp .4s ease-out both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@media (max-width: 480px){.landing-header{padding:40px 0 24px}.business-logo,.business-logo-placeholder{width:76px;height:76px}.business-name{font-size:22px}.link-card{padding:14px}.link-card-icon{width:44px;height:44px;min-width:44px}.link-card-icon svg{width:20px;height:20px}}.wifi-modal{background:#fff;border-radius:20px 20px 0 0;max-width:400px;width:100%;padding:32px 24px;padding-bottom:max(32px,env(safe-area-inset-bottom));position:relative;animation:slideUp .3s ease-out;text-align:center}@media (min-width: 481px){.wifi-modal{border-radius:20px;animation:scaleIn .25s ease-out}}.wifi-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--lw-text-muted);background:#f3f3f1;border:none;cursor:pointer;transition:background .15s}.wifi-modal-close:hover{background:#eaeae8;color:var(--lw-text)}.wifi-modal-icon{width:56px;height:56px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.wifi-modal-title{font-size:18px;font-weight:700;color:var(--lw-text);margin:0 0 24px}.wifi-info-row{background:#fafaf9;border:1.5px solid #E8E8E6;border-radius:var(--lw-radius-sm);padding:14px 16px;margin-bottom:10px;text-align:left}.wifi-info-label{font-size:11px;font-weight:600;color:var(--lw-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.wifi-info-value{display:flex;align-items:center;justify-content:space-between;gap:10px}.wifi-info-value span{font-size:16px;font-weight:600;color:var(--lw-text);word-break:break-all}.wifi-password-text{font-family:var(--lw-font-en),monospace;letter-spacing:.03em}.wifi-copy-btn{padding:5px 12px;border-radius:16px;font-size:12px;font-weight:600;background:#3b82f6;color:#fff;border:none;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0;font-family:var(--lw-font-cn)}.wifi-copy-btn:hover{background:#2563eb}.wifi-qr-wrapper{display:flex;justify-content:center;padding:16px;background:#fff;border-radius:var(--lw-radius-sm);border:1.5px solid #E8E8E6;margin-bottom:8px}.wifi-qr-hint{font-size:13px;color:var(--lw-text-secondary);margin:0 0 16px;line-height:1.5}.wifi-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px}.wifi-divider:before,.wifi-divider:after{content:"";flex:1;height:1px;background:#e8e8e6}.wifi-divider span{font-size:11px;color:var(--lw-text-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.links-container{display:flex;flex-direction:column;gap:10px}*{margin:0;padding:0;box-sizing:border-box}:root{--text: #37352F;--text-secondary: #787774;--text-muted: #9B9A97;--bg: #FFFFFF;--bg-hover: rgba(55, 53, 47, .04);--bg-active: rgba(55, 53, 47, .08);--border: rgba(55, 53, 47, .09);--accent: #2383E2;--radius: 3px}body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:transparent}input,textarea,select{font-family:inherit;border:none;outline:none}::selection{background:#2383e240}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#d3d1cb;border-radius:10px;border:2px solid white}::-webkit-scrollbar-thumb:hover{background:#aeaca6}
