:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--secondary-color:#ec4899;--bg-gradient-start:#0f172a;--bg-gradient-end:#1e1b4b;--card-bg:#1e293bb3;--card-bg-highlight:#334155cc;--card-border:#ffffff1a;--text-main:#f8fafc;--text-muted:#94a3b8;--success-color:#10b981;--accent-color:#f59e0b;--danger-color:#ef4444}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}body{background:linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));color:var(--text-main);-webkit-font-smoothing:antialiased;justify-content:center;align-items:flex-start;min-height:100vh;padding:1rem;display:flex;overflow-x:hidden}#root{width:100%;max-width:480px;margin:0 auto;padding-top:1rem;padding-bottom:2rem}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:24px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 25px 50px -12px #00000080}h1,h2,h3{font-weight:700;line-height:1.2}p{line-height:1.5}.section-title{color:var(--text-main);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.2rem;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.header{text-align:center;margin-bottom:1.75rem}.logo{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.85rem;display:inline-flex;box-shadow:0 8px 20px #ec489966}.title-glow{background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.7rem;font-weight:800;line-height:1.3}.subtitle{color:var(--text-muted);font-size:.88rem;line-height:1.6}.ticket-group-container{border-bottom:1px solid var(--card-border)}.ticket-group-container:last-child{border-bottom:none}.ticket-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 0;display:flex}.ticket-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.ticket-name-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.ticket-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.ticket-name{font-size:1.05rem;font-weight:700}.ticket-price-badge{color:var(--text-muted);background:#ffffff12;border:1px solid #ffffff1a;border-radius:99px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.ticket-meta{color:var(--text-muted);font-size:.78rem;line-height:1.3}.bday-subpanel{border-radius:10px;margin-bottom:.9rem;padding:.6rem .75rem;animation:.25s forwards slideUp}.bday-subpanel-row{justify-content:space-between;align-items:center;padding:.3rem 0;display:flex}.bday-subpanel-row+.bday-subpanel-row{border-top:1px solid #ffffff0a}.bday-label{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.82rem;display:flex}.counter-group{background:#0003;border-radius:99px;flex-shrink:0;align-items:center;gap:.6rem;padding:.3rem;display:flex}.counter-group.mini{gap:.35rem;padding:.2rem}.counter-btn{background:var(--card-bg-highlight);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .18s;display:flex}.counter-group.mini .counter-btn{width:24px;height:24px}.counter-group.mini .counter-value{font-size:.82rem}.counter-btn:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.08)}.counter-btn:active:not(:disabled){transform:scale(.94)}.counter-btn:disabled{opacity:.4;cursor:not-allowed}.counter-value{text-align:center;min-width:22px;font-weight:700}.glass-select{border:1px solid var(--card-border);width:100%;color:var(--text-main);appearance:none;cursor:pointer;background:#00000040;border-radius:12px;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:all .2s}.glass-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}.glass-select option{background:var(--bg-gradient-start);color:#fff}.result-card{background:linear-gradient(135deg,#141e37f2,#0a1228f2);border:1px solid #818cf859;position:relative;overflow:hidden;box-shadow:0 10px 40px #818cf826}.result-card:before{content:"";background:linear-gradient(90deg,#818cf8,#c084fc,#f472b6);height:3px;position:absolute;top:0;left:0;right:0}.result-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.total-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.72rem}.total-persons{color:#fff;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:99px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}.total-price{text-align:center;color:#fff;letter-spacing:-.5px;margin-bottom:1.5rem;font-size:2.6rem;font-weight:800;line-height:1}.breakdown-box{background:#00000040;border-radius:14px;margin-bottom:1.25rem;padding:.25rem .75rem}.breakdown-item{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.breakdown-item:last-child{border-bottom:none}.breakdown-left{align-items:center;gap:.5rem;min-width:0;display:flex}.breakdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.breakdown-name{color:var(--text-main);white-space:nowrap;font-size:.95rem;font-weight:700}.breakdown-promo{color:var(--text-muted);margin-left:.2rem;font-size:.75rem}.breakdown-val{flex-shrink:0;margin-left:.5rem;font-size:1rem;font-weight:700}.checkout-hint{color:#fff9;letter-spacing:.5px;background:#6366f11a;border:1px dashed #6366f159;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-bottom:.75rem;padding:.8rem 1rem;font-size:.9rem;display:flex}.disclaimer{color:var(--text-muted);text-align:center;opacity:.7;font-size:.68rem;line-height:1.4}.section-title{color:var(--text-main);letter-spacing:1px;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:1.2rem;font-weight:800;display:flex}
