.xc2-page{background:linear-gradient(180deg,#eaf3ff 0%,#f4f8ff 45%,#f7faff 100%);min-height:100vh}
.xc2-head{position:relative;max-width:560px;margin:0 auto;padding:10px 16px 4px}.xc2-head h1{margin:26px 0 2px;font-size:26px;font-weight:900;color:#0b1b3f}.xc2-head p{margin:0;color:#475569;font-size:13.5px}
.xc2-back{position:absolute;left:16px;top:6px;font-size:30px;color:#0b1b3f;text-decoration:none}
.xc2-acts{position:absolute;right:16px;top:44px;display:flex;gap:8px}.xc2-acts button{width:36px;height:36px;border-radius:10px;border:1px solid #dbe5f2;background:#fff;cursor:pointer}
.xc2-page #bridge-panel{max-width:560px;margin:0 auto;padding:10px 12px 100px}
.xc2-page .xc-surface,.xc2-page .xc-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.xc2-page .xc-note{display:none}
.xc2-page .swap-pay-block{background:#fff!important;border:1px solid #e3ecf8!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(30,64,175,.07)!important;padding:14px!important;color:#0b1b3f!important}
.xc2-page .swap-pay-label,.xc2-page .swap-balance{color:#475569!important}
.xc2-page .swap-amount-input{color:#0b1b3f!important;font-weight:900!important;background:transparent!important}
.xc2-page .xc-pill{background:#f5f8fd!important;border:1px solid #dbe5f2!important;color:#0b1b3f!important;border-radius:12px!important}
.xc2-page .swap-flip-btn{background:#fff!important;border:1px solid #dbe5f2!important;color:#1d4ed8!important;box-shadow:0 4px 12px rgba(30,64,175,.12)!important}
.xc2-page .swap-usd-est{color:#64748b!important}
.xc2-mode,.xc2-confirm{background:#fff;border:1px solid #e3ecf8;border-radius:18px;box-shadow:0 8px 24px rgba(30,64,175,.07);padding:14px;margin-top:12px;color:#0b1b3f}
.xc2-mode h3,.xc2-confirm h3{margin:0 0 10px;font-size:15px;font-weight:800}
.xc2-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.xc2-tiles button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border:1.5px solid #e3ecf8;border-radius:14px;background:#fff;color:#0b1b3f;cursor:pointer}
.xc2-tiles button.on{border-color:#2563eb;background:#f1f6ff}.xc2-tiles small{font-size:11px;color:#2563eb}
.xc2-soon{background:#fef3c7;color:#b45309!important;border-radius:999px;padding:1px 7px;font-weight:700}
.xc2-tip{margin:10px 0 0;background:#ecfdf3;color:#15803d;border-radius:10px;padding:8px 10px;font-size:12.5px}
.xc2-hide{display:none!important}
.xc2-path{border:1.5px solid #bbf7d0;background:#f6fef9;border-radius:14px;padding:10px;margin-bottom:8px}
.xc2-path-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}.xc2-best{font-style:normal;background:#22c55e;color:#fff;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:800}
.xc2-nodes{display:flex;align-items:center;justify-content:space-between;gap:4px;text-align:center}.xc2-nodes span{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0}
.xc2-nodes i{font-style:normal;font-weight:800;background:#e8f0ff;border-radius:999px;padding:5px 9px;font-size:12px}.xc2-nodes i.r{background:#0b1b3f;color:#fff}.xc2-nodes small{font-size:11px;color:#64748b;overflow-wrap:anywhere}.xc2-nodes>b{color:#94a3b8}
.xc2-rows{margin:0}.xc2-rows>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eef2f7;font-size:13px}.xc2-rows dt{color:#64748b}.xc2-rows dd{margin:0;font-weight:700;text-align:right}
.xc2-page #bridge-action-btn{background:linear-gradient(180deg,#123a8a,#0b2a6b)!important;color:#fff!important;border:0!important;border-radius:14px!important;min-height:52px;font-weight:800;font-size:16px}
.xc2-page #bridge-action-btn[disabled]{opacity:.75}
.xc2-success{max-width:560px;margin:0 auto;padding:10px 14px 100px;text-align:center;color:#0b1b3f}
.xc2-demo{background:#fef3c7;color:#b45309;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700}
.xc2-ok{width:84px;height:84px;margin:14px auto 8px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#4ade80,#16a34a);color:#fff;font-size:44px;font-weight:900;box-shadow:0 0 0 14px rgba(34,197,94,.12)}
.xc2-success h2{margin:4px 0}.xc2-success>p{color:#64748b;margin:0 0 12px}
.xc2-prog{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #e3ecf8;border-radius:16px;padding:14px 6px;margin:0 0 12px;font-size:13px;font-weight:700;color:#94a3b8}
.xc2-prog li::before{content:"";display:block;width:22px;height:22px;margin:0 auto 6px;border-radius:50%;background:#e5ebf3}
.xc2-prog .done{color:#16a34a}.xc2-prog .done::before{background:#22c55e}.xc2-prog .cur{color:#2563eb}.xc2-prog .cur::before{background:#2563eb}
.xc2-success .xc2-rows{background:#fff;border:1px solid #e3ecf8;border-radius:16px;padding:6px 14px;text-align:left;margin-bottom:12px}
.xc2-note{background:#eef5ff;border-radius:14px;padding:12px;text-align:left;margin-bottom:12px}.xc2-note p{margin:4px 0 0;font-size:12.5px;color:#475569}
.xc2-cta{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:14px;background:#e8eef7;color:#0b1b3f;font-weight:800;text-decoration:none}
/* Unified with /swap (Owner 10-20): same 交易 hero + navy card; bridge panel sits in the white inner card */
.xc2-shell{max-width:560px;margin:0 auto;padding:10px 12px 100px}
.xc2-shell .xc2-body{background:#fff;border-radius:16px;padding:12px;color:#0f172a}
.xc2-page .xc2-shell #bridge-panel{max-width:none;margin:0;padding:0}
.xc2-page .xc2-shell .swap-pay-block{background:#f4f8ff!important;border:1px solid #e3edfb!important;border-radius:14px!important;box-shadow:none!important;padding:10px 12px!important}
.xc2-page .xc2-shell .xc-pill{background:#fff!important;border:1px solid #e3edfb!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.xc2-page .xc2-shell .swap-amount-input{font-size:24px!important}
.xc2-page .xc2-shell .swap-flip-btn{border-color:#d6e5ff!important;color:#1d6ff2!important;box-shadow:0 4px 12px rgba(37,99,235,.15)!important}
.xc2-shell .xc2-mode,.xc2-shell .xc2-confirm{background:#f7faff;border:1px solid #e3edfb;box-shadow:none;border-radius:14px}
.xc2-shell .xc2-tiles button{border-color:#e3edfb;border-radius:12px}.xc2-shell .xc2-tiles button.on{border-color:#2f80ff;background:#eaf2ff}
.xc2-page .xc2-shell #bridge-action-btn{background:linear-gradient(90deg,#22b8ff,#2f80ff 45%,#1d4fe0)!important;box-shadow:0 8px 20px rgba(29,95,224,.35)}
.xc2-shell .xc2-body{padding:0;background:transparent}
.xc2-shell .xc2-body .xc-surface,.xc2-shell .xc2-body #bridge-panel>*{margin:0!important}
.xc2-shell .xc2-body #bridge-panel{background:#fff;border-radius:16px;padding:12px!important}
/* r3: single layer, same as swap */
.xc2-shell .xc2-body,.xc2-shell .xc2-body #bridge-panel,.xc2-shell .xc2-body .xc-surface,.xc2-shell .xc2-body .xc-card,.xc2-shell .xc2-body .jdex-section{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.xc2-shell .xc2-body #bridge-panel{padding:0!important}
.xc2-shell .xc2-body{padding:12px!important;background:#fff!important}
.xc2-page .xc2-shell .swap-pay-block{border:0!important;background:#f5f7fb!important}
.xc2-shell .xc2-mode,.xc2-shell .xc2-confirm{background:#f5f7fb;border:0}
