html{scroll-behavior:smooth}:root{--primary-navy: #0f172a;--secondary-navy: #1e293b;--accent-gold: #fbbf24;--text-gold: #fde68a;--text-white: #f1f5f9;--danger-red: #ef4444;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(251, 191, 36, .2)}body{font-family:Inter,"Noto Serif TC",system-ui,sans-serif;margin:0;padding:0;background-color:var(--primary-navy);background-image:linear-gradient(#0f172af2,#0f172afa),url(https://www.transparenttextures.com/patterns/asfalt-dark.png);color:var(--text-white);line-height:1.6}.app-main-wrapper{width:100%;overflow-x:hidden;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.hero-section{position:relative;width:100%;height:60vh;min-height:400px;overflow:hidden;margin-bottom:-4.5rem;z-index:1}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.9)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000 40%,#0009);display:block;padding-bottom:0;z-index:20;pointer-events:none}.hero-content{position:absolute;bottom:120px;width:100%;left:0;text-align:center;color:#fff;text-shadow:0 4px 10px rgba(0,0,0,.8);animation:fadeInUp 1.2s ease-out;padding:0 20px;box-sizing:border-box;z-index:50;pointer-events:auto}.hero-content h1{color:#fff;margin:0;font-family:Playfair Display,serif;font-size:4rem;border-bottom:none;text-shadow:0 4px 20px rgba(0,0,0,.8)}.hero-content .subtitle{color:#fffffff2;margin-top:1rem;font-family:"Noto Serif TC",serif;font-size:1.5rem;letter-spacing:.25em;font-weight:300;text-shadow:0 2px 8px rgba(0,0,0,.8)}.content-container{position:relative;max-width:900px;margin:0 auto;padding:0 1.5rem 4rem;z-index:10;margin-top:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-content h1{font-size:1.8rem}.hero-content .subtitle{font-size:.8rem;margin-bottom:.3rem;letter-spacing:.1em}.hero-section{margin-bottom:-4rem;height:60vh;min-height:450px;position:relative}.hero-overlay{display:block;padding-bottom:0;pointer-events:none}.hero-content{position:absolute;bottom:90px;width:100%;left:0;text-align:center;z-index:50;pointer-events:auto;text-shadow:0 4px 20px rgba(0,0,0,.8)}.content-container{margin-top:0;padding-top:0}}.glass-card{background:#ffffffe6;box-shadow:0 20px 60px #0000001a}h1{font-family:Playfair Display,serif;font-size:3.5rem;font-weight:700;color:var(--accent-gold);margin-bottom:.5rem;text-shadow:0 4px 15px rgba(251,191,36,.2);letter-spacing:-.02em;border:none;padding-bottom:0}.subtitle{font-family:"Noto Serif TC",serif;text-align:center;color:var(--text-gold);font-size:1.2rem;margin-bottom:2rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;opacity:.9}.nowrap{white-space:nowrap}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0003;margin-bottom:2rem;transition:transform .3s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000004d;border-color:#fbbf2466}h1,h2,h3{color:var(--accent-gold);margin-top:0}.subtitle-tag{display:inline-block;font-size:.9rem;color:var(--text-gold);background:#fbbf241a;padding:4px 12px;border-radius:20px;margin-left:12px;vertical-align:middle;font-family:Inter,sans-serif;letter-spacing:.05em;border:1px solid rgba(251,191,36,.2);transform:translateY(-3px);text-shadow:none;font-weight:400}.form-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.4rem;font-weight:500;color:var(--text-gold);font-size:.95rem}input[type=text],input[type=number]{width:100%;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:#0003;color:#fff;transition:all .2s}input[type=number]{width:100px;padding:8px 25px 8px 8px;text-align:right;border-radius:6px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin-right:-18px;opacity:0;cursor:pointer;transition:opacity .2s}input[type=number]:hover::-webkit-inner-spin-button,input[type=number]:hover::-webkit-outer-spin-button,input[type=number]:focus::-webkit-inner-spin-button,input[type=number]:focus::-webkit-outer-spin-button{opacity:1}.warning-text{color:#ef4444;font-size:.75rem;margin-top:4px;animation:fadeIn .3s ease;text-align:right;white-space:nowrap}.item-right{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.input-wrapper{display:flex;align-items:center;gap:8px}.unit-label{position:static;color:var(--text-gold);font-size:1rem;pointer-events:none;transform:none}input:focus{outline:none;border-color:var(--accent-gold);background-color:#0006;box-shadow:0 0 0 2px #fbbf2433}.price-table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:1rem;border:none}.price-table th,.price-table td{border:none;padding:16px 12px;text-align:center;color:var(--text-white);font-family:Inter,sans-serif;letter-spacing:.05em}.price-table th{background-color:transparent;color:var(--accent-gold);font-weight:400;text-transform:uppercase;font-size:.85rem;letter-spacing:.1em;border-bottom:1px solid rgba(251,191,36,.3);padding-bottom:10px}.price-table td{border-bottom:1px solid rgba(255,255,255,.03);transition:all .3s ease}.price-tag{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700}.price-table tr.active-tier{background-color:#fbbf241a;box-shadow:0 0 15px #fbbf240d}.price-table tr.active-tier td{color:var(--accent-gold);border-bottom:1px solid rgba(251,191,36,.5)}.price-table td:first-child{font-weight:300;opacity:.9}.price-table tr.active-tier td:first-child{font-weight:700;opacity:1}.current-tier-badge{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:.75rem;background:var(--accent-gold);color:var(--primary-navy);padding:3px 8px;border-radius:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 5px #0003;animation:fadeInBadge .5s ease-out}@keyframes fadeInBadge{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes fadeInBadgeMobile{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.current-tier-badge{position:static;display:inline-block;margin-top:5px;transform:none;animation:fadeInBadgeMobile .5s ease-out}.price-table td[style*=relative]{display:flex;flex-direction:column;align-items:center;justify-content:center}}.card-preview-container{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.card-item{flex:1;min-width:250px;text-align:center}.card-images{position:relative;height:200px;perspective:1000px;cursor:pointer}.card-img:hover{transform:scale(1.05);box-shadow:0 12px 24px #0003}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out;animation:fadeIn .3s ease}.lightbox-img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 0 50px #ffd70033;animation:scaleIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.card-preview-row{display:flex;justify-content:center;gap:10px}.card-preview-row img{width:45%;border-radius:8px;box-shadow:0 8px 16px #00000026;transition:transform .3s ease,box-shadow .3s ease;cursor:zoom-in}.card-preview-row img:hover{transform:scale(1.05);box-shadow:0 12px 24px #0003}.total-section{text-align:center;font-family:"Noto Serif TC",serif;font-size:1.1rem;color:var(--text-gold);margin-top:2rem;padding:1.5rem;background:#0003;border-radius:12px;border:1px dashed rgba(251,191,36,.3);box-shadow:none}.submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,var(--accent-gold),#d97706);color:#0f172a;border:none;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .2s;box-shadow:0 4px 15px #fbbf244d}.submit-btn:hover{transform:scale(1.02);box-shadow:0 5px 15px #d32f2f66}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.live-counter{position:fixed;bottom:0;padding-bottom:env(safe-area-inset-bottom,0px);left:0;width:100%;background:#0f172afa;border-top:1px solid var(--accent-gold);color:var(--accent-gold);padding-top:15px;padding-left:0;padding-right:0;text-align:center;font-weight:700;z-index:1000;box-shadow:0 -4px 20px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0;right:auto}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:600px){.card-preview-container{flex-direction:column}}.designer-footer{text-align:center;margin-top:4rem;padding:2rem 0;border-top:1px solid rgba(0,0,0,.05);font-family:Playfair Display,serif;font-style:italic;font-size:.9rem;color:#888}.designer-footer a{color:#555;text-decoration:none;transition:all .3s ease;position:relative}.designer-footer a:after{content:"";position:absolute;width:100%;height:1px;bottom:-2px;left:0;background-color:var(--gold-metallic);transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease-out}.designer-footer a:hover{color:var(--primary-red)}.designer-footer a:hover:after{transform:scaleX(1);transform-origin:bottom left}.cards-selection-grid{display:flex;flex-direction:column;gap:1.5rem}.card-item-compact{display:flex;align-items:center;justify-content:space-between;background:#0003;padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);gap:.5rem}.item-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.thumb-img{width:60px;height:60px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid rgba(251,191,36,.3)}.item-details{display:flex;flex-direction:column}.item-title{color:var(--text-gold);font-weight:600;font-size:1rem}.view-back-link{font-size:.8rem;color:#94a3b8;text-decoration:underline;cursor:pointer}.intro-card{text-align:center;padding:3rem 2rem}.intro-text{font-family:"Noto Serif TC",serif;font-size:1.1rem;line-height:2;max-width:600px;margin:0 auto;color:var(--text-white);opacity:.9}.drop-cap{font-size:3rem;float:left;line-height:.8;padding-right:10px;color:var(--accent-gold);font-family:Playfair Display,serif}.product-highlights{display:flex;justify-content:center;gap:8px;margin-top:1.5rem;flex-wrap:wrap}.highlight-badge{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:var(--accent-gold);padding:6px 12px;border-radius:20px;font-size:.85rem;display:flex;align-items:center;gap:4px;font-weight:500;white-space:nowrap}.highlight-badge.warning{background:#ef44441a;border-color:#ef444466;color:#f87171}@media(max-width:600px){.product-highlights{justify-content:center;gap:8px}.highlight-badge{font-size:.75rem;padding:3px 8px}}.stats-row{display:flex;flex-direction:column;align-items:center}.stats-detail{font-size:.8rem;font-weight:400;color:#94a3b8;margin-top:2px}@media(min-width:600px){.stats-row{flex-direction:row;justify-content:center;gap:10px}.stats-detail{margin-top:0}}.premium-summary{background:#0006!important;border:1px solid rgba(251,191,36,.3)!important;padding:2rem!important;text-align:left}.summary-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;font-size:1rem;color:#ccc;font-family:Inter,sans-serif}.summary-row{display:flex;justify-content:space-between;align-items:center}.summary-plus{text-align:center;color:var(--text-gold);font-size:1.2rem;line-height:.8;opacity:.7}.summary-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.total-count-row .summary-value{color:var(--accent-gold);font-size:1.3rem;font-weight:700}.tier-notification{background:#fbbf241a;color:var(--accent-gold);text-align:center;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:1.1rem;border:1px solid rgba(251,191,36,.2);box-shadow:0 4px 12px #0000001a}.final-price-block{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed rgba(251,191,36,.3);padding-top:1.5rem;margin-top:.5rem}.final-amount-label{font-size:1.2rem;color:var(--text-white);font-weight:700}.final-amount{font-size:2.8rem;color:#ef4444;font-weight:700;font-family:Playfair Display,serif;text-shadow:0 4px 15px rgba(239,68,68,.3);line-height:1}.total-section div span{font-weight:400;color:inherit!important}.total-section div span.summary-value,.total-section div span.final-amount{color:inherit!important}.main-order-row{margin-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:10px}.main-order-row .summary-value{color:var(--text-white);font-size:1.2rem;font-weight:700}.pricing-context{display:flex;align-items:flex-start;gap:8px;background:#0003;padding:8px 12px;border-radius:6px;margin-bottom:15px;font-size:.85rem;color:#94a3b8;line-height:1.4}.context-icon{font-size:1rem;opacity:.7;margin-top:2px}.context-text strong{color:var(--text-gold)}.estimated-note{text-align:right;font-size:.85rem;color:#94a3b8;margin-top:.8rem;font-weight:300;letter-spacing:.05em}.large-preview-section{margin-top:3rem;border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}.preview-title{text-align:center;color:var(--text-gold);margin-bottom:1.5rem;font-family:"Noto Serif TC",serif}.large-preview-grid{display:flex;flex-direction:column;gap:2rem}.preview-group{background:#0003;padding:1rem;border-radius:12px}.preview-label{text-align:center;color:var(--accent-gold);margin-bottom:1.5rem;font-family:Playfair Display,"Noto Serif TC",serif;font-size:1.5rem;font-weight:700;letter-spacing:.05em;text-shadow:0 2px 10px rgba(0,0,0,.5);position:relative;padding-bottom:15px}.preview-label:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,transparent,var(--accent-gold),transparent)}.preview-imgs{display:flex;gap:10px;justify-content:center}.swipe-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 20px;gap:1.5rem;scrollbar-width:none;-ms-overflow-style:none;position:relative}.swipe-caption{text-align:center;color:var(--text-gold);font-size:.9rem;margin-top:5px;font-weight:500;letter-spacing:.05em}@media(min-width:768px){.swipe-indicator{display:none}}.swipe-container::-webkit-scrollbar{display:none}.swipe-card{flex:0 0 85%;scroll-snap-align:center;position:relative;transition:transform .3s ease}.swipe-card img{width:100%;border-radius:12px;box-shadow:0 8px 20px #0000004d}.hanging-indent{padding-left:1.25em;text-indent:-1.25em;margin-bottom:.4rem;line-height:1.5}@media(max-width:600px){.hanging-indent{font-size:.85rem}}.printing-note{font-size:.8rem;color:#64748b;margin-top:2rem;text-align:center;font-style:italic;opacity:.8;border-top:1px dashed rgba(255,255,255,.1);padding-top:1rem}@media(min-width:768px){.swipe-card{flex:0 0 45%}}.floating-action-group{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom,0px));right:20px;display:flex;flex-direction:row;align-items:center;gap:12px;z-index:1000;pointer-events:none}.floating-action-group *{pointer-events:auto}.countdown-bubble{background:#0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(251,191,36,.2);padding:4px 12px;border-radius:30px;box-shadow:0 4px 15px #0003;text-align:center;animation:fadeIn .5s ease-out;white-space:nowrap;display:flex;flex-direction:column;justify-content:center}.countdown-label{font-size:.55rem;color:var(--text-gold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:-2px;opacity:.7}.countdown-time{font-size:.8rem;color:#fff;font-weight:700;font-family:Inter,sans-serif}.floating-order-btn{background:linear-gradient(135deg,var(--accent-gold),#d97706);color:var(--primary-navy);width:50px;height:50px;border-radius:50%;font-weight:700;font-size:1.5rem;box-shadow:0 4px 20px #fbbf2466;cursor:pointer;text-decoration:none;display:flex;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;border:2px solid rgba(255,255,255,.2);animation:floatBtn 2s infinite ease-in-out;flex-shrink:0}.floating-order-btn:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 25px #fbbf2499}@keyframes floatBtn{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@media(max-width:600px){.floating-action-group{bottom:calc(75px + env(safe-area-inset-bottom,0px));right:15px;gap:8px}.floating-order-btn{width:56px;height:56px}}.large-preview-grid-stacked{display:flex;flex-direction:column;gap:2rem}.preview-group-stacked{background:#0003;padding:1.5rem;border-radius:12px;text-align:center}.large-preview-img-stacked{width:100%;max-width:500px;border-radius:8px;box-shadow:0 4px 15px #0000004d;margin-bottom:10px;cursor:zoom-in}.large-preview-img-stacked:last-child{margin-bottom:0}@media(max-width:768px){.admin-container{padding:10px!important}.admin-card{padding:1rem!important}.admin-title-row{flex-direction:column;align-items:flex-start!important;gap:10px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%;box-sizing:border-box}.admin-table tr{background:#ffffff0d;margin-bottom:20px;border-radius:12px;padding:15px;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 4px 15px #0000004d}.admin-table td{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0!important;border:none!important;gap:10px}.admin-table td:before{content:attr(data-label);font-weight:700;color:var(--text-gold);font-size:.8rem;text-transform:uppercase;min-width:90px;flex-shrink:0}.admin-table td:not([data-label=姓名]){text-align:right;word-break:break-all;flex-grow:1}.admin-table td[data-label=姓名]{border-bottom:1px solid rgba(255,255,255,.1)!important;padding-bottom:12px!important;margin-bottom:10px;font-size:1.3rem;text-align:left!important;display:block}.admin-table td[data-label=姓名]:before{display:none}.admin-table td[data-label=預估應付]{margin-top:10px;padding-top:15px!important;border-top:1px dashed rgba(255,255,255,.2)!important;font-size:1.1rem}}.savings-opportunity{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#34d399;padding:10px;border-radius:8px;margin-top:10px;font-size:.9rem;text-align:center;line-height:1.5;animation:fadeIn .5s ease}.savings-opportunity strong{color:#fff;font-weight:700}.item-title-container{display:inline-flex;gap:6px;color:var(--text-gold);font-weight:600;font-size:1rem}@media(max-width:600px){.item-title-container{flex-direction:column;gap:0}.card-item-compact{flex-direction:row;align-items:center}}@media(max-width:420px){.card-item-compact{flex-direction:column;align-items:flex-start;gap:.8rem}.item-left{width:100%}.item-right{width:100%;align-items:flex-start;padding-left:76px;margin-top:-10px}.item-title-container{flex-direction:column}}.scenario-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:15px;font-size:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.scenario-table th,.scenario-table td{padding:10px;text-align:right;border-bottom:1px solid rgba(255,255,255,.05);color:#fff}.scenario-table th{background:#0000004d;color:var(--text-gold);font-weight:500;font-size:.85rem}.scenario-table th:first-child,.scenario-table td:first-child{text-align:left}.scenario-table tr:last-child td{border-bottom:none}.scenario-table .current-scenario{background:#fbbf2426}.scenario-table .current-tag{display:inline-block;font-size:.75rem;padding:2px 6px;background:var(--accent-gold);color:var(--primary-navy);border-radius:4px;margin-left:6px;font-weight:700}
