.xingxu-app { display:flex; flex-direction:column; height:100%; min-height:0; background:var(--mw-surface); color:var(--mw-ink); }
.xingxu-header { display:flex; align-items:center; justify-content:space-between; padding:18px 20px 12px; }
.xingxu-header small,.xingxu-meta { font-size:11px; letter-spacing:.04em; color:var(--mw-text-muted); }
.xingxu-header h1 { font-size:25px; margin:4px 0 0; font-weight:600; }
.xingxu-wallet { display:flex; gap:8px; align-items:baseline; padding:10px 20px 18px; border-bottom:1px solid var(--mw-hairline); }
.xingxu-wallet strong { font-size:27px; font-weight:500; margin-left:auto; color:var(--mw-accent); }
.xingxu-wallet span { font-size:12px; color:var(--mw-text-secondary); }
.xingxu-tabs { display:flex; flex-shrink:0; border-bottom:1px solid var(--mw-hairline); }
.xingxu-tabs button { flex:1; border:0; background:transparent; padding:13px 2px; color:var(--mw-text-secondary); }
.xingxu-tabs button.active { color:var(--mw-accent); box-shadow:inset 0 -2px var(--mw-accent); }
.xingxu-body { overflow:auto; min-height:0; padding:14px; flex:1; overscroll-behavior:contain; }
.xingxu-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.xingxu-toolbar .primary { padding:9px 12px; font-size:12px; }
.xingxu-filters { display:flex; gap:5px; flex-wrap:wrap; }
.xingxu-filters button { border:0; background:transparent; padding:7px 8px; font-size:12px; color:var(--mw-text-muted); }
.xingxu-filters button.active { background:var(--mw-accent-soft); color:var(--mw-accent); border-radius:6px; }
.xingxu-card { display:block; width:100%; text-align:left; background:var(--mw-surface-solid); border:1px solid var(--mw-hairline); border-radius:var(--mw-radius); padding:15px; margin:0 0 12px; color:inherit; overflow-wrap:anywhere; }
button.xingxu-card { cursor:pointer; transition:background var(--mw-duration); }
button.xingxu-card:hover { background:var(--mw-rose-soft); }
.xingxu-card h2 { font-size:16px; margin:7px 0; font-weight:600; }
.xingxu-card p { font-size:13px; line-height:1.65; color:var(--mw-text-secondary); margin:6px 0 12px; white-space:pre-wrap; }
button.xingxu-card p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.xingxu-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; margin-top:10px; }
.xingxu-card-foot strong { color:var(--mw-accent); }
.xingxu-card progress { width:100%; height:5px; accent-color:var(--mw-accent); }
.xingxu-copy { line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.xingxu-goal,.xingxu-ledger { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--mw-hairline); font-size:13px; }
.xingxu-goal span,.xingxu-ledger span { flex:1; min-width:100px; }
.xingxu-onboarding { padding:18px; background:var(--mw-rose-soft); border-radius:var(--mw-radius); margin-bottom:16px; }
.xingxu-onboarding h2 { font-size:17px; margin:0 0 8px; }
.xingxu-onboarding p { font-size:13px; line-height:1.7; }
.xingxu-binding-list { max-height:36vh; overflow:auto; }
.xingxu-binding { display:flex; align-items:flex-start; gap:10px; padding:12px 0; border-bottom:1px solid var(--mw-hairline); }
.xingxu-binding input { width:auto; flex-shrink:0; }
.xingxu-binding small { display:block; margin-top:5px; color:var(--mw-text-muted); font-size:11px; overflow-wrap:anywhere; }
.xingxu-selected { display:flex; flex-wrap:wrap; gap:5px; }
.xingxu-chip { border:0; border-radius:5px; padding:6px 8px; background:var(--mw-accent-soft); color:var(--mw-accent); font-size:11px; }
.xingxu-error { padding:12px 0; font-size:12px; color:var(--mw-danger); }
.xingxu-error pre { max-height:200px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
