:root{--color-primary:#00b578;--color-primary-text:#006d4c;--color-primary-soft:#e6f7ef;--color-primary-strong:#009865;--color-price:#f04a3e;--color-price-soft:#ffeeec;--color-bg:#fff;--color-bg-subtle:#f5f5f7;--color-bg-card:#fff;--color-bg-mask:#00000052;--color-text:#1d1f26;--color-text-secondary:#4e5969;--color-text-tertiary:#86909c;--color-text-tertiary-strong:#5f6773;--color-text-disabled:#c9cdd4;--color-text-inverse:#fff;--color-border:#e5e6eb;--color-divider:#f2f3f5;--color-danger:#f04a3e;--color-warning:#b45e00;--color-info:#165dff;--color-tabbar-bg:#ffffffeb;--color-card-shadow:#0000000a;--color-primary-dark:var(--color-primary-text);--color-accent:#ff9500;--color-bg-soft:var(--color-bg-subtle);--color-text-muted:var(--color-text-tertiary);--color-success:var(--color-primary);--color-error:var(--color-price);--radius:14px;--shadow-sm:0 1px 2px var(--color-card-shadow);--shadow-md:0 4px 12px var(--color-card-shadow);--shadow-card:0 4px 12px var(--color-card-shadow);--shadow-tabbar:0 -1px 4px var(--color-card-shadow);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.6;overflow:hidden}body{height:100dvh}#__nuxt{height:100%}a{color:var(--color-primary-text);text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app-shell{background:var(--color-bg);max-width:480px;height:100dvh;max-height:100dvh;padding-top:var(--safe-top);flex-direction:column;margin:0 auto;position:relative;box-shadow:0 0 40px #0000000a}.app-shell,.app-shell__page{display:flex;overflow:hidden}.app-shell__page{flex-direction:column;flex:1;min-height:0}.tabbar-height{height:calc(56px + var(--safe-bottom))}.page-enter-active,.page-leave-active{transition:opacity .25s,transform .25s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}
