*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-warm-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;background:0 0;border:none;font-family:inherit}#root{height:100dvh}.plot-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;box-shadow:var(--shadow-card);flex-direction:column;width:100%;display:flex;overflow:hidden}.plot-card:active{transform:scale(.97)}.plot-card--self{border-color:var(--color-leaf);border-width:2px}.plot-card--drifting{filter:saturate(.35)brightness(.92);transition:filter 2s}.plot-card--virtual{filter:opacity(.75)}.plot-card__stage-label{font-family:var(--font-pixel);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3) 0;text-transform:lowercase;letter-spacing:.02em;font-size:9px}.plot-card__plot{padding:var(--space-3);background:linear-gradient(to bottom, var(--color-seedling) 0%, var(--color-warm-white) 100%);flex:1;justify-content:center;align-items:center;min-height:88px;display:flex}.plot-card--self .plot-card__plot{background:linear-gradient(to bottom, #d4edbb 0%, var(--color-warm-white) 100%)}.plot-card__elements{gap:var(--space-1);flex-wrap:wrap;justify-content:center;align-items:flex-end;display:flex}.plot-card__element{font-size:1.5rem;line-height:1;display:inline-block}.plot-card__footer{padding:var(--space-2) var(--space-3) var(--space-3);align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);display:flex}.plot-card__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);flex:1}.plot-card__virtual-badge,.plot-card__drift-badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--weight-medium)}.plot-card__virtual-badge{background:var(--color-sky);color:#4a7a8a}.plot-card__drift-badge{background:var(--color-border);color:var(--color-text-secondary)}.sheet-backdrop{z-index:var(--z-sheet);pointer-events:none;transition:background var(--duration-sheet-open) ease;background:0 0;position:absolute;inset:0}.sheet-backdrop--open{pointer-events:all;background:#3d2b1f73}.sheet{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-overflow-scrolling:touch;max-height:80vh;transition:transform var(--duration-sheet-open) var(--ease-sheet);box-shadow:var(--shadow-sheet);padding-bottom:max(var(--space-6), env(safe-area-inset-bottom));position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet--open{transform:translateY(0)}.sheet__handle{background:var(--color-border);border-radius:var(--radius-full);width:36px;height:4px;margin:var(--space-3) auto var(--space-2);flex-shrink:0}.sheet__title{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text-primary);text-align:center;padding:0 var(--space-6) var(--space-3);margin:0}.sheet__content{padding:0 var(--space-4)}.fp-plot{background:linear-gradient(to bottom, var(--color-seedling) 0%, var(--color-warm-white) 100%);border-radius:var(--radius-md);height:120px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.fp-plot--drifting{filter:saturate(.35)brightness(.92)}.fp-plot--virtual{filter:opacity(.7)}.fp-plot__elements{gap:var(--space-2);align-items:flex-end;display:flex}.fp-plot__element{font-size:2rem;line-height:1}.fp-header{text-align:center;margin-bottom:var(--space-5)}.fp-name{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.fp-growth-bar{gap:var(--space-1);margin-bottom:var(--space-2);justify-content:center;display:flex}.fp-growth-bar__segment{background:var(--color-border);border-radius:var(--radius-full);max-width:40px;height:6px;transition:background var(--duration-fast) ease;flex:1}.fp-growth-bar__segment--filled{background:var(--color-leaf)}.fp-growth-bar__segment--active{background:var(--color-ember)}.fp-stage-label{font-family:var(--font-pixel);color:var(--color-text-secondary);text-transform:lowercase;font-size:9px}.fp-phone{margin-bottom:var(--space-4)}.fp-phone__row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-warm-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);text-align:left;display:flex}.fp-phone__icon{flex-shrink:0;font-size:1.1rem}.fp-phone__value{font-size:var(--text-sm);color:var(--color-text-primary);flex:1}.fp-phone__edit-hint{font-size:var(--text-xs);color:var(--color-text-secondary);flex-shrink:0}.fp-phone__edit{align-items:center;gap:var(--space-2);display:flex}.fp-phone__input{padding:var(--space-3) var(--space-3);border:1.5px solid var(--color-ember);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);box-sizing:border-box;outline:none;flex:1}.fp-phone__save{padding:var(--space-2) var(--space-3);background:var(--color-ember);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none}.fp-phone__cancel{padding:var(--space-2) var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;line-height:1}.fp-actions{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.btn{width:100%;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--duration-fast) ease, opacity var(--duration-fast) ease;font-family:var(--font-body);border:none}.btn:active{opacity:.9;transform:scale(.97)}.btn--primary{background:var(--color-ember);color:#fff}.btn--secondary{color:var(--color-ember);border:1.5px solid var(--color-ember);background:0 0}.btn--ghost{color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-3);background:0 0}.fp-section{margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.fp-section__title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-2)}.fp-section__empty{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.fp-section__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.fp-section__header .fp-section__title{margin-bottom:0}.fp-section__add{font-size:var(--text-sm);color:var(--color-ember);cursor:pointer;font-family:var(--font-body);font-weight:var(--weight-medium);background:0 0;border:none;padding:0}.fp-section__note{font-size:var(--text-xs);color:var(--color-text-secondary);margin:var(--space-2) 0 0;font-style:italic}.fp-reminder-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fp-reminder-row{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.4}.fp-plan-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fp-plan-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.fp-plan-row__content{font-size:var(--text-sm);color:var(--color-text-primary);flex:1}.fp-plan-row__remove{font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;flex-shrink:0;line-height:1}.fp-add-plan{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.fp-add-plan__input{width:100%;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);box-sizing:border-box;transition:border-color var(--duration-fast) ease;outline:none}.fp-add-plan__input:focus{border-color:var(--color-ember)}.fp-add-plan__actions{gap:var(--space-2);display:flex}.fp-add-plan__actions .btn{flex:1}.tend-actions{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.tend-action{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-warm-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);transition:transform var(--duration-fast) ease, border-color var(--duration-fast) ease;display:flex}.tend-action:active:not(:disabled){transform:scale(.98)}.tend-action:not(:disabled):hover{border-color:var(--color-leaf)}.tend-action--done{opacity:.5;cursor:default}.tend-action--animating{border-color:var(--color-leaf);animation:.15s forwards tend-pulse}@keyframes tend-pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.tend-action__emoji{flex-shrink:0;font-size:1.5rem;line-height:1}.tend-action__label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-primary);text-align:left;flex:1}.tend-action__points{font-size:var(--text-sm);color:var(--color-points);font-weight:var(--weight-medium);flex-shrink:0}.tend-action--done .tend-action__points{color:var(--color-text-secondary)}.tend-action__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tend-action__dot--ready{background:var(--color-leaf)}.tend-action__dot--done{background:var(--color-border)}.tend-note{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-2)}.reach-out__context{font-size:var(--text-sm);color:var(--color-success);font-weight:var(--weight-medium);text-align:center;padding:var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.reach-out__title{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text-primary);text-align:center;margin:0 0 var(--space-4)}.reach-out__options{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.reach-out__option{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--color-warm-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);text-align:left;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;display:flex}.reach-out__option:active{border-color:var(--color-ember);transform:scale(.97)}.reach-out__option-emoji{flex-shrink:0;font-size:1.5rem;line-height:1}.reach-out__option-text{flex-direction:column;flex:1;gap:2px;display:flex}.reach-out__option-label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-primary)}.reach-out__option-description{font-size:var(--text-sm);color:var(--color-text-secondary)}.reach-out__option-arrow{color:var(--color-text-secondary);flex-shrink:0;font-size:1.25rem}.reach-out__option--disabled{opacity:.5;cursor:default}.reach-out__option--disabled:active{border-color:var(--color-border);transform:none}.reach-out__dismiss{width:100%;padding:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;text-align:center;margin-bottom:var(--space-2);background:0 0;border:none;display:block}.reach-out__dismiss:active{opacity:.6}.add-friend{gap:var(--space-4);padding-bottom:var(--space-2);flex-direction:column;display:flex}.add-friend__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.add-friend__optional{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:none;letter-spacing:0;font-weight:var(--weight-normal)}.add-friend__input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);box-sizing:border-box;transition:border-color var(--duration-fast) ease;outline:none}.add-friend__input:focus{border-color:var(--color-ember)}.add-friend__emojis{gap:var(--space-2);grid-template-columns:repeat(8,1fr);display:grid}.add-friend__emoji{padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;background:0 0;border:2px solid #0000;font-size:1.4rem;line-height:1}.add-friend__emoji--selected{border-color:var(--color-ember);background:var(--color-seedling)}.add-friend__error{font-size:var(--text-sm);color:var(--color-ember);margin:0}.add-friend__note{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin:0;line-height:1.5}.add-reminder{gap:var(--space-4);padding-bottom:var(--space-2);flex-direction:column;display:flex}.add-reminder__types{gap:var(--space-2);flex-direction:column;display:flex}.add-reminder__type{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease}.add-reminder__type--selected{border-color:var(--color-ember);background:var(--color-seedling)}.add-reminder__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.add-reminder__input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);box-sizing:border-box;transition:border-color var(--duration-fast) ease;outline:none}.add-reminder__input:focus{border-color:var(--color-ember)}.add-reminder__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.add-reminder__chip{padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-warm-white);cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease}.add-reminder__chip--selected{border-color:var(--color-ember);background:var(--color-seedling);color:var(--color-soil)}.add-reminder__note{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-style:italic}.points-toast{background:var(--color-points);color:#fff;font-family:var(--font-pixel);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);z-index:var(--z-toast);pointer-events:none;white-space:nowrap;font-size:11px;animation:1.1s forwards toast-rise;position:absolute;top:20%;left:50%;transform:translate(-50%)}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%)translateY(0)}15%{opacity:1;transform:translate(-50%)translateY(-10px)}70%{opacity:1;transform:translate(-50%)translateY(-20px)}to{opacity:0;transform:translate(-50%)translateY(-32px)}}.garden{background:var(--color-warm-white);flex-direction:column;height:100%;display:flex}.garden__header{padding:var(--space-5) var(--space-4) var(--space-3);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.garden__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0}.garden__points{background:var(--color-seedling);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);align-items:baseline;gap:3px;display:flex}.garden__points-value{font-family:var(--font-pixel);color:var(--color-soil);font-size:11px}.garden__points-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:var(--weight-medium)}.garden__grid{-webkit-overflow-scrolling:touch;padding:0 var(--space-4) var(--space-6);flex:1;overflow-y:auto}.garden__self-plot{margin-bottom:var(--space-4)}.garden__self-plot .plot-card__plot{min-height:110px}.garden__loading{flex:1;justify-content:center;align-items:center;font-size:2rem;animation:1.5s ease-in-out infinite pulse;display:flex}.garden__empty{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-6) var(--space-4);margin:0;line-height:1.6}.garden__header-right{align-items:center;gap:var(--space-3);display:flex}.garden__signout{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.garden__add-friend{width:100%;margin-top:var(--space-4);padding:var(--space-3);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-body);transition:border-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0}.garden__add-friend:hover{border-color:var(--color-ember);color:var(--color-ember)}.garden__friend-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.signin{height:100%;padding:var(--space-6);background:var(--color-warm-white);justify-content:center;align-items:center;display:flex}.signin__card{text-align:center;width:100%;max-width:360px}.signin__logo,.signin__sent-emoji{margin-bottom:var(--space-4);font-size:3rem;display:block}.signin__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.signin__subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--space-8);line-height:1.5}.signin__form{gap:var(--space-4);flex-direction:column;display:flex}.signin__field{gap:var(--space-2);text-align:left;flex-direction:column;display:flex}.signin__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.signin__input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);transition:border-color var(--duration-fast) ease;background:#fff;outline:none}.signin__input:focus{border-color:var(--color-ember)}.signin__error{font-size:var(--text-sm);color:var(--color-ember);margin:0}.signin__submit{padding:var(--space-4);background:var(--color-ember);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:opacity var(--duration-fast) ease;margin-top:var(--space-2);border:none}.signin__submit:disabled{opacity:.5;cursor:default}.signin__resend,.signin__switch{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;text-decoration:underline}.dev-console{color:#e0e0e0;z-index:9999;background:#1a1a1a;border:2px solid #444;border-radius:6px;flex-direction:column;width:min(480px,95vw);height:60vh;font-family:Courier New,Courier,monospace;font-size:12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 40px #0009}.dev-console__backdrop{z-index:9998;background:#00000080;position:fixed;inset:0}.dev-console__bar{background:#111;border-bottom:1px solid #333;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.dev-console__title{color:#6baa3e;font-size:11px;font-weight:700}.dev-console__close{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px}.dev-console__log{flex-direction:column;flex:1;gap:3px;padding:8px 12px;display:flex;overflow-y:auto}.dev-console__empty{color:#555;font-style:italic}.dev-console__entry{gap:8px;line-height:1.4;display:flex}.dev-console__time{color:#555;flex-shrink:0}.dev-console__msg{word-break:break-all;white-space:pre-wrap}.dev-console__entry--info .dev-console__msg{color:#e0e0e0}.dev-console__entry--warn .dev-console__msg{color:#e2613a}.dev-console__entry--error .dev-console__msg{color:#ff6b6b}.dev-console__actions{background:#111;border-top:1px solid #333;flex-direction:column;flex-shrink:0;gap:6px;padding:8px 12px;display:flex}.dev-console__row{align-items:center;gap:6px;display:flex}.dev-console__btn{color:#ccc;cursor:pointer;white-space:nowrap;background:#2a2a2a;border:1px solid #444;border-radius:3px;padding:4px 10px;font-family:inherit;font-size:11px;transition:background .1s}.dev-console__btn:hover{color:#6baa3e;background:#333;border-color:#6baa3e}.dev-console__select{color:#ccc;background:#2a2a2a;border:1px solid #444;border-radius:3px;flex:1;min-width:0;padding:4px 6px;font-family:inherit;font-size:11px}:root{--color-soil:#7a5c4e;--color-leaf:#6baa3e;--color-sky:#a8d4e6;--color-warm-white:#fdf6ec;--color-ember:#e2613a;--color-drift:#b0ac9e;--color-seedling:#d4edbb;--color-text-primary:#3d2b1f;--color-text-secondary:#8c7b70;--color-surface:#fff9f0;--color-border:#e8d9c8;--color-success:#5a9e47;--color-points:#c97d2a;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-pixel:"Press Start 2P", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--weight-normal:400;--weight-medium:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-card:0 1px 4px #3d2b1f14;--shadow-sheet:0 -4px 24px #3d2b1f1f;--duration-fast:.15s;--duration-sheet-open:.28s;--duration-sheet-close:.22s;--duration-tend-delay:.6s;--ease-sheet:cubic-bezier(.32, .72, 0, 1);--tab-bar-height:56px;--z-map:1;--z-tab-bar:10;--z-sheet:20;--z-nudge:30;--z-toast:40}.app{background:var(--color-warm-white);flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.app__content{-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.screen{height:100%;padding:var(--space-4)}.tab-bar{height:var(--tab-bar-height);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:var(--z-tab-bar);flex-shrink:0;display:flex}.tab-bar__tab{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;color:var(--color-text-secondary);transition:color var(--duration-fast) ease;flex-direction:column;flex:1;display:flex}.tab-bar__tab--active{color:var(--color-ember)}.tab-bar__tab--active .tab-bar__label{font-weight:var(--weight-medium)}.tab-bar__emoji{font-size:1.25rem;line-height:1}.tab-bar__label{font-size:var(--text-xs);letter-spacing:.02em}.app--loading{justify-content:center;align-items:center}.app__loading-emoji{font-size:2.5rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
