:root{--bg:#f2f4f7;--panel:#ffffff;--text:#101828;--muted:#667085;--line:#eaecf0;--primary:#155eef;--primary-strong:#1447c0;--primary-light:#eff4ff;--accent:#f59e0b;--success:#079455;--danger:#d92d20;--shadow-sm:0 1px 2px rgb(16 24 40/6%);--shadow:0 4px 24px rgb(16 24 40/10%);--shadow-lg:0 20px 60px rgb(16 24 40/14%);--radius-panel:16px;--radius-control:10px;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",sans-serif;--font-display:"Iowan Old Style","Palatino Linotype","Noto Serif SC","Songti SC",Georgia,serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body)}body{overflow-x:hidden}button,input{font:inherit}a{color:inherit}.cashier-shell,.home-shell{min-height:100vh;padding:32px 20px}.home-shell{display:grid;place-items:center}.cashier-shell{display:flex;align-items:center}.cashier-panel{width:min(100%,432px);margin:0 auto;border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--shadow-lg);overflow:hidden}.cashier-head{position:relative;padding:40px 32px 0;text-align:center}.cashier-head-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--primary-light)}.cashier-head-title{margin:16px 0 0;font-size:20px;font-weight:700;line-height:1.4;color:var(--text)}.cashier-head-desc{margin:6px 0 0;font-size:15px;color:var(--muted);line-height:1.5}.cashier-body{padding:24px 32px 0}.cashier-info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.cashier-info-row+.cashier-info-row{border-top:1px solid var(--line)}.cashier-info-label{font-size:14px;color:var(--muted)}.cashier-info-value{font-size:14px;font-weight:600;color:var(--text);text-align:right;word-break:break-all;max-width:60%}.cashier-amount{font-size:24px!important;font-weight:700;color:var(--text)}.cashier-divider{height:1px;background:var(--line);margin:20px 0 0}.cashier-status-area{padding:20px 32px 0}.cashier-status-card{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--radius-control);background:#f9fafb}.cashier-status-card.paying{background:#fffbeb;border:1px solid #fef3c7}.cashier-status-card.paid{background:#ecfdf5;border:1px solid #d1fae5}.cashier-status-card.failed{background:#fef2f2;border:1px solid #fecaca}.cashier-status-text{flex:1 1}.cashier-status-text strong{display:block;font-size:15px;font-weight:600}.cashier-status-text p{margin:2px 0 0;font-size:13px;color:var(--muted)}.cashier-status-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.cashier-spinner{width:22px;height:22px;border:2.5px solid #e5e7eb;border-top:2.5px solid var(--primary);border-radius:50%;animation:cashier-spin .8s linear infinite}.cashier-check{background:var(--success)}.cashier-check,.cashier-error-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font-size:16px;font-weight:700}.cashier-error-icon{background:var(--danger)}.cashier-qr{display:grid;place-items:center;grid-gap:0;gap:0;padding:12px 32px 0}.cashier-qr-box{padding:20px;border:1px solid var(--line);border-radius:12px;background:#ffffff}.cashier-qr-label{margin:16px 0 0;font-size:14px;font-weight:600;color:var(--text)}.cashier-qr-hint{margin:4px 0 0;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}.cashier-actions{padding:24px 32px 0;display:flex;flex-direction:column;gap:10px}.cashier-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;border:0;border-radius:var(--radius-control);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}.cashier-btn-primary{background:var(--primary);color:#fff}.cashier-btn-primary:hover{background:var(--primary-strong)}.cashier-btn-primary:disabled{cursor:not-allowed;opacity:.5}.cashier-btn-outline{border:1px solid var(--line);background:var(--panel);color:var(--text)}.cashier-btn-outline:hover{background:#f9fafb}.cashier-btn-ghost{background:transparent;color:var(--muted)}.cashier-btn-ghost:hover{color:var(--text)}.cashier-btn-text{background:transparent;color:var(--primary);font-weight:500;height:auto;padding:0}.cashier-btn-text:hover{color:var(--primary-strong)}.cashier-foot{padding:16px 32px 32px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.cashier-foot-btn{background:transparent;border:0;font-size:13px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.cashier-foot-btn:hover{background:#f2f4f7;color:var(--text)}.cashier-foot-btn:disabled{cursor:not-allowed;opacity:.5}.cashier-error-box{margin:0 32px;padding:12px 16px;border-radius:var(--radius-control);background:#fef2f2;color:var(--danger);font-size:14px;line-height:1.5}@keyframes cashier-spin{to{transform:rotate(1turn)}}.landing{position:relative;min-height:100vh;background:#0a0f1a;color:#f0f2f5;font-family:var(--font-body);overflow:hidden}.landing-bg{position:fixed;inset:0;pointer-events:none}.landing-bg-glow{position:absolute;border-radius:50%;filter:blur(120px)}.landing-bg-glow-1{width:600px;height:600px;top:-200px;right:-100px;background:rgb(21 94 239/12%)}.landing-bg-glow-2{width:500px;height:500px;bottom:-150px;left:-150px;background:rgb(21 94 239/8%)}.landing-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255/4%) 1px,transparent 0),linear-gradient(90deg,rgb(255 255 255/4%) 1px,transparent 0);background-size:48px 48px;mask-image:radial-gradient(ellipse at 50% 0,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0,black 30%,transparent 70%)}.landing-content{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 24px}.landing-header{justify-content:space-between;padding:24px 0}.landing-header,.landing-logo{display:flex;align-items:center}.landing-logo{gap:10px;font-size:18px;font-weight:700}.landing-domain{font-size:13px;color:rgb(240 242 245/50%);font-weight:500;letter-spacing:.02em}.landing-hero{padding:80px 0 64px;text-align:center}.landing-title{margin:0;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.15;letter-spacing:-.03em}.landing-title-sub{display:block;margin-top:16px;font-size:clamp(18px,2.5vw,22px);font-weight:400;color:rgb(240 242 245/55%);letter-spacing:0}.landing-desc{max-width:560px;margin:24px auto 0;font-size:16px;line-height:1.7;color:rgb(240 242 245/60%)}.landing-notice{display:inline-flex;align-items:center;gap:8px;margin-top:32px;padding:10px 18px;border-radius:8px;background:rgb(255 255 255/6%);font-size:13px;color:rgb(240 242 245/55%);line-height:1.5}.landing-features{padding:24px 0 80px}.landing-features-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.landing-feature-card{padding:24px;border:1px solid rgb(255 255 255/8%);border-radius:12px;background:rgb(255 255 255/3%);transition:background .2s}.landing-feature-card:hover{background:rgb(255 255 255/6%)}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgb(21 94 239/15%);color:#578eff}.landing-feature-title{margin:16px 0 0;font-size:17px;font-weight:700;line-height:1.4}.landing-feature-desc{margin:8px 0 0;font-size:14px;line-height:1.65;color:rgb(240 242 245/50%)}.landing-footer{padding:24px 0 48px;text-align:center;font-size:13px;color:rgb(240 242 245/30%)}.home-panel{width:min(100%,520px);margin:0 auto;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--shadow);padding:36px}.home-panel h1{margin:0;font-size:32px;line-height:1.18}.home-panel p{color:var(--muted)}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.home-link{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:0;border-radius:var(--radius-control);background:var(--primary);color:#ffffff;cursor:pointer;font-weight:700;text-decoration:none}.home-link.secondary{border:1px solid var(--line);background:#f9fafb;color:var(--text)}@media (max-width:640px){.landing-hero{padding:48px 0 40px}.landing-features-grid{grid-template-columns:1fr}.landing-feature-card{padding:20px}}@media (max-width:560px){.cashier-shell,.home-shell{padding:0}.cashier-panel,.home-panel{min-height:100vh;border:0;border-radius:0;box-shadow:none}.home-panel{padding:28px 22px}.cashier-head{padding:32px 24px 0}.cashier-body{padding:20px 24px 0}.cashier-status-area{padding:16px 24px 0}.cashier-qr{padding:8px 24px 0}.cashier-actions{padding:20px 24px 0}.cashier-foot{padding:12px 24px 24px}.cashier-error-box{margin:0 24px}}