:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--radius: 12px;--border-w: 1px;--font: "DM Sans", system-ui, -apple-system, sans-serif;--bottom-nav-h: 64px;--error: #dc2626}[data-theme=night],:root:not([data-theme=day]){--bg: #000000;--text: #ffffff;--muted: #9ca3af;--card: #111111;--border: #333333;--input-bg: #0a0a0a;--positive: #ffffff;--negative: #dc2626}[data-theme=day]{--bg: #ffffff;--text: #000000;--muted: #6b7280;--card: #f3f4f6;--border: #e5e7eb;--input-bg: #ffffff;--positive: #000000;--negative: #dc2626}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}body,#root{min-height:100dvh}.app-shell{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 12px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 12px) calc(var(--safe-left) + 16px);background:var(--bg);color:var(--text)}.app-shell.is-mobile{padding-bottom:calc(var(--safe-bottom) + var(--bottom-nav-h) + 8px)}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--border)}.app-title{margin:4px 0 0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.eyebrow{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.app-main{flex:1;display:flex;flex-direction:column;gap:20px}.screen{display:flex;flex-direction:column;gap:20px}.screen-title{margin:8px 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.screen-subtitle{margin:8px 0 0;color:var(--muted);line-height:1.5;max-width:36rem}.card{background:var(--card);border:var(--border-w) solid var(--border);border-radius:var(--radius);padding:16px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:var(--border-w) solid var(--border);border-radius:999px;background:var(--card);color:var(--text);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:var(--border-w) solid var(--border);border-radius:var(--radius);padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;background:transparent;color:var(--text)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-ghost{background:transparent}.btn-block{width:100%}.btn-sm{padding:8px 12px;font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed}.field-label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:600}.field-input,.field-textarea{width:100%;border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--input-bg);color:var(--text);padding:12px;font:inherit;margin-bottom:8px}.field-textarea{resize:vertical;min-height:120px;line-height:1.5}.field-hint,.muted{color:var(--muted);font-size:.8125rem}.field-error{color:var(--error);font-size:.875rem;margin:8px 0 0}.field-success{color:var(--text);font-size:.875rem}.app-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:16px;border:var(--border-w) solid var(--error);color:var(--error);border-radius:var(--radius)}.empty-state,.empty-inline{color:var(--muted);text-align:center;padding:32px 16px;line-height:1.5}.balance-hero{text-align:center;padding:32px 20px}.balance-value{font-size:clamp(2rem,8vw,3rem);font-weight:700;letter-spacing:-.04em;margin:12px 0}.balance-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.balance-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:var(--border-w) solid var(--border);border-radius:999px;font-size:.8125rem;font-weight:600}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-label{margin:0 0 4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-value{margin:0;font-size:1.125rem;font-weight:700}.section-block{display:flex;flex-direction:column;gap:12px}.section-title{margin:0 0 8px;font-size:1rem;font-weight:700}.reward-list,.ledger-list,.wallet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.reward-item,.ledger-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.reward-desc,.ledger-desc{margin:0;font-weight:600}.reward-date,.ledger-meta{margin:4px 0 0;font-size:.8125rem;color:var(--muted)}.reward-amount,.ledger-amount{font-weight:700;white-space:nowrap}.positive{color:var(--positive)}.negative{color:var(--negative)}.profile-header{display:flex;align-items:center;gap:12px}.profile-name{margin:0;font-weight:700}.wallet-list-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:var(--border-w) solid var(--border)}.wallet-list-item:last-child{border-bottom:none}.invite-url{margin-top:12px;font-size:.75rem;word-break:break-all;color:var(--muted)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--bottom-nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;background:var(--bg);border-top:var(--border-w) solid var(--border)}.bottom-nav-item{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer}.bottom-nav-item.active{color:var(--text)}.desktop-tabs{display:flex;gap:8px;margin-top:24px;padding-top:16px;border-top:var(--border-w) solid var(--border)}.desktop-tab{padding:10px 16px;border:var(--border-w) solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font-weight:600;cursor:pointer}.desktop-tab.active{background:var(--text);color:var(--bg);border-color:var(--text)}.ai-chat{display:flex;flex-direction:column;gap:12px;min-height:360px}.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:8px}.ai-messages{flex:1;display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto;padding:4px 0}.ai-bubble{max-width:92%;padding:12px;border:var(--border-w) solid var(--border);border-radius:var(--radius);line-height:1.45;white-space:pre-wrap}.ai-bubble-user{align-self:flex-end;background:var(--text);color:var(--bg);border-color:var(--text)}.ai-bubble-assistant{align-self:flex-start;background:var(--card)}.ai-input-row{display:flex;gap:8px;align-items:center}.ai-input-row .field-input{margin:0;flex:1}
