:root{--navy: #1a1008;--navy-soft: #3d2200;--accent: #ff6b1a;--accent-light: #fff0e8;--accent-mid: #ffd8c0;--bg-body: #ffffff;--white: #ffffff;--surface-soft: #fff7f2;--border-color: #ffe0cc;--text-main: #1a1008;--text-muted: #8a6a5a;--radius: 16px;--transition-bounce: all .2s cubic-bezier(.34, 1.56, .64, 1);--transition-smooth: all .18s ease}.hidden{display:none!important}.page-title{text-align:center;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800;margin-bottom:36px;color:var(--navy);position:relative;display:inline-block;left:50%;transform:translate(-50%)}.page-title:after{content:"";position:absolute;bottom:-6px;left:15%;width:70%;height:5px;background:var(--accent);border-radius:10px;opacity:.5}.badge{display:inline-block;padding:5px 14px;border-radius:12px;font-size:.8rem;font-weight:800;border:2px solid var(--navy);box-shadow:2px 2px 0 var(--navy);transition:var(--transition-bounce)}.badge-open{background:#dcfce7;color:#15803d}.badge-closed{background:#fee2e2;color:#dc2626}.divider{border:none;border-top:2px dashed var(--accent-mid);margin:32px 0}.footer{text-align:center;padding:48px 24px;font-size:.85rem;color:var(--text-muted);border-top:1px solid var(--accent-mid)}.footer p+p{margin-top:6px}.footer .disclaimer{font-size:.75rem;opacity:.8;max-width:800px;margin:8px auto 0}.empty-state{text-align:center;color:#8a6a5a;padding:4rem 20px;font-size:1rem;background:var(--white);border:2px dashed var(--accent-mid);border-radius:var(--radius);margin:20px 0}.hover-lift{transition:var(--transition-bounce)}.hover-lift:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--navy)!important}@keyframes checkmark-draw{0%{stroke-dashoffset:60}to{stroke-dashoffset:0}}@keyframes circle-scale{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.success-circle{animation:circle-scale .45s cubic-bezier(.34,1.56,.64,1) forwards}.success-check{stroke-dasharray:60;stroke-dashoffset:60;animation:checkmark-draw .4s ease .3s forwards}.footer{margin-top:40px;padding:30px 20px;text-align:center;color:#8a6a5a;font-size:.85rem;border-top:1px solid #ffe0cc;line-height:1.6}.disclaimer{margin-top:8px;font-size:.75rem;color:#c4a898}#toast-container{position:fixed;inset:24px auto auto 50%;transform:translate(-50%);z-index:99999;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;min-width:260px;max-width:380px;padding:14px 18px;background:#fff;border:2px solid #1e293b;border-radius:14px;box-shadow:4px 4px #1e293b;font-family:Noto Sans TC,sans-serif;font-size:.92rem;font-weight:600;color:#1e293b;opacity:0;transform:translateY(-120%) scale(.9);transition:opacity .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1);will-change:transform,opacity}.toast.show{opacity:1;transform:translateY(0) scale(1)}.toast.hide{opacity:0;transform:translateY(-120%) scale(.9);transition:opacity .22s ease,transform .22s ease}.toast-icon{font-size:1.2rem;flex-shrink:0;line-height:1}.toast-msg{flex:1;line-height:1.4}.toast-close{background:none;border:none;font-size:1rem;cursor:pointer;color:#94a3b8;padding:0;line-height:1;transition:color .15s;flex-shrink:0}.toast-close:hover{color:#1e293b}.toast-success{border-color:#15803d;box-shadow:4px 4px #15803d}.toast-success .toast-icon{color:#15803d}.toast-error{border-color:#dc2626;box-shadow:4px 4px #dc2626}.toast-error .toast-icon{color:#dc2626}.toast-warning{border-color:#d97706;box-shadow:4px 4px #d97706}.toast-warning .toast-icon{color:#d97706}.toast-info{border-color:#2563eb;box-shadow:4px 4px #2563eb}.toast-info .toast-icon{color:#2563eb}.ripple-host{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;width:10px;height:10px;transform:scale(0);animation:ripple-anim .6s ease-out forwards;pointer-events:none;background:#fff6;will-change:transform,opacity}@keyframes ripple-anim{0%{transform:scale(0);opacity:.7}to{transform:scale(20);opacity:0}}.ripple-dark{background:#1e293b26}@keyframes fadeSlideUp{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;scale:.94}to{opacity:1;scale:1}}.anim-fade-up{animation:fadeSlideUp .45s cubic-bezier(.22,1,.36,1) both}.anim-fade-up-d1{animation-delay:.06s}.anim-fade-up-d2{animation-delay:.12s}.anim-fade-up-d3{animation-delay:.18s}.anim-fade-up-d4{animation-delay:.24s}.anim-scale-in{animation:scaleIn .38s cubic-bezier(.34,1.56,.64,1) both}.count-up{display:inline-block;transition:transform .1s ease}#lightbox-overlay{position:fixed;inset:0;z-index:100000;background:#0f172aeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .28s ease}#lightbox-overlay.open{opacity:1;pointer-events:auto}#lightbox-inner{position:relative;max-width:min(90vw,900px);max-height:90vh;border:2.5px solid #f59e0b;border-radius:18px;overflow:hidden;box-shadow:0 0 0 4px #f59e0b33,8px 8px #1e293b;transform:scale(.88);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}#lightbox-overlay.open #lightbox-inner{transform:scale(1)}#lightbox-img{display:block;max-width:100%;max-height:88vh;object-fit:contain;border-radius:16px}#lightbox-close{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#1e293b;color:#f59e0b;border:2px solid #f59e0b;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .18s cubic-bezier(.34,1.56,.64,1);z-index:10}#lightbox-close:hover{transform:rotate(90deg) scale(1.15);background:#f59e0b;color:#1e293b}.menu-img-wrap img{cursor:zoom-in!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease!important}.menu-img-wrap img:hover{transform:scale(1.015) translateY(-3px)!important;box-shadow:6px 10px #1e293b!important}@keyframes numPop{0%{transform:scale(1)}40%{transform:scale(1.25)}70%{transform:scale(.95)}to{transform:scale(1)}}.num-pop{animation:numPop .4s cubic-bezier(.34,1.56,.64,1) both}
