:root{--bg-top: #dce9f8;--bg-bottom: #f4f8fc;--card-top: #1f4f8c;--card-bottom: #2d6bb3;--line: rgba(180, 210, 245, .45);--text: #f4f8ff;--muted: #b7cce8;--panel: rgba(160, 198, 240, .22);--btn: #1a4a86;--ok: #7dffb2;--warn: #ffd28a;--danger: #ff9b9b;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}button,input{font:inherit}.page{min-height:100vh;display:grid;place-items:center;padding:28px 16px 40px}.order-page{gap:16px}.page-foot{color:#6d87a8;font-size:12px;text-align:center}.order-card{width:min(100%,420px);border-radius:22px;padding:22px 18px 18px;background:linear-gradient(180deg,var(--card-top),var(--card-bottom));box-shadow:0 24px 60px #14305a47}.order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}.order-kicker{margin:0 0 8px;color:var(--muted);font-size:13px}.mode-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;background:#ffffff24}.mode-transfer{color:#d7ffe8}.mode-approve{color:#dce9ff}.mode-permission{color:var(--warn)}.address-verify{text-align:right;color:var(--muted);font-size:12px;line-height:1.5;max-width:58%}.address-verify code,.meta-line code,.order-row strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.order-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.order-row em{color:var(--text);font-style:normal;text-align:right}.amount-box,.permission-box{margin-top:16px;border-radius:14px;background:var(--panel);padding:16px}.amount-dash{height:0;border-top:1px dashed rgba(255,255,255,.45);margin-bottom:14px}.amount-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.amount-line span,.permission-box p{margin:0;color:var(--muted);font-size:14px}.amount-line strong{font-size:22px;letter-spacing:-.03em}.amount-line b{font-size:13px;font-weight:700}.permission-box strong{display:block;margin:8px 0;font-size:16px}.permission-box small{color:var(--warn);line-height:1.5}.secure-bar{margin-top:12px;border-radius:12px;background:var(--panel);padding:12px;display:flex;justify-content:center;align-items:center;gap:8px;color:var(--ok);font-size:13px}.secure-bar i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #7dffb22e}.meta-line{margin-top:14px;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.action-hint{margin:18px 0 12px;text-align:center;color:var(--muted);font-size:13px}.qr-panel{text-align:center;margin-bottom:14px}.qr-panel p{margin:0 0 10px;color:var(--muted);font-size:13px}.qr-frame{width:188px;height:188px;margin:0 auto;border-radius:16px;background:#fff;padding:10px}.qr-frame img{width:100%;height:100%;display:block}.primary-action{width:100%;height:52px;border:0;border-radius:12px;background:var(--btn);color:#fff;font-weight:700;cursor:pointer}.primary-action:disabled{opacity:.72;cursor:not-allowed}.primary-action.done{background:#1d6b4d}.status-text{margin:12px 0 0;text-align:center;font-size:13px}.status-text.error{color:var(--danger)}.status-text.success{color:var(--ok)}.status-text.connecting,.status-text.confirming{color:var(--muted)}.tx-link{display:block;margin-top:10px;text-align:center;color:#d7e8ff;font-size:13px}.expiry{margin:14px 0 0;text-align:center;color:var(--muted);font-size:12px}.home-card{width:min(100%,460px);border-radius:20px;padding:28px 22px;background:linear-gradient(180deg,var(--card-top),var(--card-bottom));box-shadow:0 20px 50px #14305a3d}.home-card h1{margin:0 0 12px;font-size:28px}.home-card p,.home-card li{color:var(--muted);line-height:1.65}.home-card ul{margin:18px 0;padding-left:18px}.home-card b{color:var(--text)}.home-tip code{color:#fff;background:#0000002e;padding:2px 8px;border-radius:6px}.error-card h1{color:var(--danger)}@media(max-width:480px){.order-card{padding:18px 14px 16px}.amount-line strong{font-size:20px}}
