:root{--color-bg:#fff;--color-surface:#f4f5f7;--color-surface-strong:#e8eaed;--color-primary:#111;--color-primary-pressed:#2b2b2b;--color-primary-fg:#fff;--color-text:#111;--color-text-secondary:#555b63;--color-text-tertiary:#9aa0a6;--color-border:#e3e5e8;--color-divider:#f0f1f3;--color-danger:#e5484d;--color-dim:#11111173;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", Roboto, sans-serif;--text-title:1.375rem;--text-lg:1.125rem;--text-base:1rem;--text-sm:.875rem;--text-xs:.75rem;--app-max-width:480px;--header-h:56px;--tabbar-h:60px;--safe-bottom:env(safe-area-inset-bottom,0px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--shadow-card:0 1px 3px #1111110f;--shadow-modal:0 8px 24px #11111129;--duration:.2s;--ease:cubic-bezier(.3, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);-webkit-font-smoothing:antialiased;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.app-shell{max-width:var(--app-max-width);background:var(--color-bg);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.app-content{padding:var(--space-4);padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-4));flex:1}@keyframes slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.screen-list{animation:slide-left var(--duration) var(--ease)}.screen-modal{animation:slide-up var(--duration) var(--ease)}.screen-fade{animation:fade-in var(--duration) var(--ease)}
