body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:#f5f5f5;color:#333;overflow-x:hidden}#app{width:500px;max-width:100%;margin:auto}.header{background-color:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.header .logo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;overflow:hidden}.header .logo img{width:100%;height:100%;object-fit:contain;display:block}.header .info{min-width:0;flex:1 1 auto}.header .info h3{margin:0;font-size:18px;line-height:1.2;font-weight:700;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header .info small{display:block;margin-top:4px;font-size:12px;line-height:1.3;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.btn{border-radius:10px;font-weight:600;transition:all .2s ease}.btn:active{transform:scale(0.97);opacity:.9}.page{min-height:100vh;width:100%;position:relative}.page.active{display:block}#welcome-page{position:fixed;top:0;left:0;z-index:999;opacity:1;transition:opacity .8s ease-out}#welcome-page.fade-out{opacity:0}#welcome-page.page.active{display:flex}.tab-bar{border-top:1px solid #e5e5e5;background-color:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.menu-item{transition:transform .2s ease}.menu-item:active{transform:scale(0.98)}.badge{font-size:10px;padding:2px 6px;border-radius:10px;background-color:#ff4742;color:#fff;font-weight:bold}@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide-in{animation:slideInRight .3s forwards}.slide-out{animation:slideOutRight .3s forwards}.loading{display:inline-block;width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:50;opacity:0;transition:opacity .3s ease}.modal.show{display:flex;opacity:1}.modal.show .modal-content{transform:scale(1)}.modal .modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;transform:scale(0.9);transition:transform .3s ease}.category-scroll{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:5px}.category-scroll::-webkit-scrollbar{display:none}.category-container{display:inline-flex;padding:0 10px}.category-btn{flex-shrink:0;white-space:nowrap}.image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;color:#9ca3af;font-size:2rem;border-radius:8px}.image-fallback i{color:#d1d5db}.menuDetail .van-action-sheet__header{font-size:16px;font-weight:600;color:#333;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.menuDetail .van-action-sheet__content{padding:16px 16px 80px 16px;max-height:70vh;overflow-y:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.list-transition-enter-active,.list-transition-leave-active{transition:opacity .3s ease,transform .3s ease}.list-transition-enter-from{opacity:0;transform:translateY(20px)}.list-transition-leave-to{opacity:0;transform:translateY(20px)}.addBtn{width:26px;height:26px}.btn:active{transform:scale(0.97);opacity:.9}.btn-primary{background-color:#4285f4;color:#fff}.btn-success{background-color:#34a853;color:#fff}.btn-warning{background-color:#fbbc05;color:#333}.btn-danger{background-color:#ea4335;color:#fff}.btn-light{background-color:#f8f9fa;color:#333}.btn-dark{background-color:#212529;color:#fff}.resultPage{display:grid;grid-template-rows:repeat(2, 1fr);align-items:center;justify-content:center;text-align:center;padding:30px 0;gap:0px}.resultPage .van-icon{font-size:30px;color:#ff4743}.resultPage .detail{display:grid;grid-template-rows:repeat(2, 1fr);align-items:center;gap:15px;font-size:18px}