.shell{height:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column}.shell-main{flex:1;min-height:0;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top)) 20px 16px;display:flex;flex-direction:column;gap:10px}.shell-header{height:44px;flex:none;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.2em;text-transform:uppercase}.avatar-btn{width:var(--touch);height:var(--touch);border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center}.avatar{width:34px;height:34px;border-radius:17px;background:var(--hairline);border:1px solid var(--chip-border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.tabbar{flex:none;display:flex;padding:8px 8px calc(16px + env(safe-area-inset-bottom));min-height:80px;background:var(--ground);border-top:1px solid var(--hairline)}.tab{position:relative;flex:1;min-width:0;min-height:var(--touch);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);text-decoration:none}.tab-label{font-size:11px;font-weight:500}.tab.active{color:var(--accent)}.tab.active .tab-label{font-weight:600}.tab-indicator{position:absolute;top:-9px;width:24px;height:2px;border-radius:1px;background:transparent}.tab.active .tab-indicator{background:var(--accent)}:root{--ground: #0a0b0a;--card: #141614;--border: #232622;--track: #242823;--hairline: #1d201c;--chip-border: #2c302b;--outline: #3a3f38;--text: #f2f1ec;--muted: #8f948c;--check: #6e746c;--accent: #c6f06b;--on-accent: #0a0b0a;--bubble-user: #1e2a12;--bubble-user-border: #3a5220;--font-body: "Barlow", system-ui, sans-serif;--font-display: "Barlow Condensed", "Barlow", sans-serif;--radius-card: 18px;--radius-hero: 20px;--touch: 44px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums}.label{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.title{margin:0;font-family:var(--font-display);font-weight:700;font-size:36px;line-height:34px;letter-spacing:.02em;text-transform:uppercase}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px}.btn-primary{min-height:var(--touch);padding:0 22px;border:none;border-radius:22px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:15px}.btn-outline{min-height:var(--touch);padding:0 18px;border-radius:22px;background:transparent;border:1px solid var(--outline);color:var(--text);font-weight:500;font-size:15px}
