:root{--primary:#2b7cff;--primary-dark:#1a5fd0;--pill-bg:#e0e7ff;--pill-bg-hover:#c7d2fe;--accent-bg:#eaf0ff;--text:#333;--muted:#667;--border:#e2e6ee;--bg:#f7f9fc;--shadow:0 2px 6px #00000014}*{box-sizing:border-box}body{color:var(--text);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Ctext x='30' y='120' font-size='44' opacity='0.05' transform='rotate(-18 110 110)'%3E%F0%9F%94%91%3C/text%3E%3Ctext x='140' y='210' font-size='26' opacity='0.04' transform='rotate(12 160 200)'%3E%F0%9F%9A%97%3C/text%3E%3C/svg%3E");margin:0;font-family:PingFang TC,Noto Sans TC,Arial,system-ui,sans-serif}a{color:var(--primary);text-decoration:none}img{max-width:100%}h1{color:var(--primary);font-size:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.3s ease-in fadeIn}.site-header{box-shadow:var(--shadow);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1.2rem;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;color:var(--primary);flex-direction:column;font-size:1.45rem;font-weight:800;line-height:1.3;display:flex}.brand small{letter-spacing:.1em;color:var(--muted);font-size:.78rem;font-weight:400}.header-actions{align-items:center;gap:.5rem;display:flex}.support-link{color:#fff;white-space:nowrap;background:#06c755;border-radius:999px;padding:.5rem 1rem;font-weight:700;transition:all .2s ease-in-out;box-shadow:0 2px 4px #00000014}.support-link:hover{opacity:.9;transform:translateY(-2px)}.cart-link{background:var(--pill-bg);white-space:nowrap;border-radius:999px;padding:.5rem 1rem;font-weight:700;transition:all .2s ease-in-out;position:relative;box-shadow:0 2px 4px #00000014}.cart-link:hover{background:var(--pill-bg-hover);transform:translateY(-2px)}.cart-badge{background:var(--primary);color:#fff;border-radius:999px;margin-left:.3rem;padding:.1rem .45rem;font-size:.75rem}.fly-item{object-fit:cover;z-index:999;pointer-events:none;border-radius:50%;width:48px;height:48px;transition:transform .7s cubic-bezier(.3,-.4,.7,1),opacity .7s ease-in;position:fixed;box-shadow:0 4px 12px #00000040}@keyframes cartBump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.cart-bump{animation:.35s ease-out cartBump}.container{max-width:960px;margin:0 auto;padding:1.2rem}.site-footer{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.85rem}button{font:inherit;cursor:pointer;background:var(--pill-bg);color:var(--primary);border:none;border-radius:999px;padding:.5rem 1rem;font-weight:700;transition:all .2s ease-in-out;box-shadow:0 2px 4px #00000014}button:hover{background:var(--pill-bg-hover);transform:translateY(-2px)}button.primary{background:var(--primary);color:#fff;padding:.6rem 1.5rem}button.primary:hover{background:var(--primary-dark)}button.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.link-btn{box-shadow:none;color:#c33;background:0 0;border:none;padding:.2rem;font-weight:400}.link-btn:hover{background:0 0;text-decoration:underline;transform:none}.page-intro h1{margin-bottom:.2rem}.page-intro p{color:var(--muted);margin-top:0;font-size:.92rem}.filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;display:flex}.filter-bar button.active{background:var(--primary);color:#fff}.brand-bar{box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-bottom:1rem;padding:.7rem}.brand-bar button{padding:.4rem .85rem;font-size:.88rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.product-card{box-shadow:var(--shadow);color:var(--text);background:#fff;border-radius:12px;flex-direction:column;transition:all .2s ease-in-out;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f}.card-img{aspect-ratio:1;background:#f1f3f8;position:relative}.card-img img{object-fit:cover;width:100%;height:100%;display:block}.hot-badge{color:#fff;background:#ff5d3a;border-radius:999px;padding:.18rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:.5rem;left:.5rem;box-shadow:0 2px 6px #0003}.hot-badge.inline{margin-left:.4rem;display:inline-block;position:static}.soldout-badge{color:#555;letter-spacing:.2em;background:#ffffff8c;justify-content:center;align-items:center;font-size:1.05rem;font-weight:800;display:flex;position:absolute;inset:0}.product-card.soldout .card-img img{filter:grayscale()}.card-body{flex-direction:column;flex:1;padding:.7rem .85rem .85rem;display:flex}.brand-tag{background:var(--accent-bg);color:var(--primary);border-radius:999px;align-self:flex-start;margin-bottom:.35rem;padding:.12rem .55rem;font-size:.72rem;font-weight:700}.card-body h3{margin:0 0 .5rem;font-size:.95rem;font-weight:500}.card-bottom{justify-content:space-between;align-items:center;gap:.4rem;margin-top:auto;display:flex}.card-bottom button{white-space:nowrap;padding:.38rem .75rem;font-size:.82rem}.price{color:var(--primary);font-weight:700}.product-detail{box-shadow:var(--shadow);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;display:grid}.detail-img{aspect-ratio:1;background:#f1f3f8;border-radius:10px;overflow:hidden}.detail-img img{object-fit:contain;width:100%;height:100%;display:block}.gallery-thumbs{gap:.6rem;margin-top:.6rem;display:flex}.gallery-thumb{border:2px solid var(--border);box-shadow:none;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;width:78px;padding:.3rem;display:flex}.gallery-thumb:hover{border-color:var(--pill-bg-hover);background:#fff;transform:none}.gallery-thumb.active{border-color:var(--primary)}.gallery-thumb img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}.gallery-thumb span{color:var(--muted);font-size:.72rem;font-weight:500}.gallery-thumb.active span{color:var(--primary);font-weight:700}.compare-hint{background:var(--accent-bg);color:var(--text);border-radius:8px;padding:.55rem .8rem;font-size:.86rem}.detail-info h1{color:var(--text);margin:.3rem 0 .5rem;font-size:1.3rem}.detail-info .description{color:var(--muted);font-size:.92rem}.detail-info .price{font-size:1.5rem}.detail-info .stock{color:var(--muted);font-size:.9rem}.detail-info .primary{width:100%;margin:1rem 0 .8rem;display:block}.back-link{font-size:.9rem}.compare-box{background:var(--accent-bg);border-radius:10px;margin:1rem 0;padding:.9rem;font-size:.9rem}.compare-box p{margin:0 0 .4rem}.compare-box img{background:#fff;border-radius:8px;max-width:150px;display:block}.ask-line{color:var(--muted);font-size:.9rem}.qty-row{align-items:center;gap:.7rem;display:inline-flex}.qty-row button{padding:.15rem .65rem;font-weight:700}.cart-list{flex-direction:column;gap:.7rem;display:flex}.cart-item{box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1.1rem;display:flex}.cart-item-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cart-item-info strong{font-size:.95rem}.cart-item-actions{align-items:center;gap:.9rem;margin-left:auto;display:flex}.cart-summary{background:var(--accent-bg);border-radius:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.2rem;margin-top:1.2rem;padding:.9rem 1.1rem;display:flex}.table-scroll{overflow-x:auto}.cart-table{border-collapse:separate;border-spacing:0;width:100%;box-shadow:var(--shadow);background:#fff;border-radius:12px;overflow:hidden}.cart-table th,.cart-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem .9rem}.cart-table tr:last-child td{border-bottom:none}.cart-table th{background:var(--accent-bg);font-size:.9rem;font-weight:600}.checkout-form{max-width:480px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;gap:.9rem;padding:1.5rem;display:flex}.checkout-layout{grid-template-columns:1.15fr 1fr;align-items:start;gap:1.2rem;display:grid}.col-title{color:var(--primary);margin:0 0 .6rem;font-size:1.05rem}.checkout-form{max-width:none;margin-top:0}.checkout-form h2{color:var(--primary);margin:0;font-size:1.05rem}.continue-shopping{margin:.8rem 0 0;font-size:.9rem}.checkout-form label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}.checkout-form input,.checkout-form textarea,.checkout-form select{font:inherit;border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;font-size:16px}.checkout-form input:focus,.checkout-form textarea:focus{outline:2px solid var(--primary);border-color:#0000}.checkout-summary{background:var(--accent-bg);border-radius:10px;padding:.8rem;font-size:.92rem}.summary-row{justify-content:space-between;padding:.15rem 0;display:flex}.summary-row.total{border-top:1px solid #d5ddf5;margin-top:.4rem;padding-top:.5rem;font-weight:700}.order-complete .total-line{font-size:1.1rem}.qa-link{background:var(--pill-bg);color:var(--primary);white-space:nowrap;border-radius:999px;padding:.5rem 1rem;font-weight:700;transition:all .2s ease-in-out;box-shadow:0 2px 4px #00000014}.qa-link:hover{background:var(--pill-bg-hover);transform:translateY(-2px)}.faq-list{flex-direction:column;gap:.8rem;max-width:760px;display:flex}.faq-card{box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:1rem 1.2rem}.faq-q{color:var(--primary);margin:0 0 .4rem;font-weight:700}.faq-a{white-space:pre-wrap;margin:0}.video-frame{aspect-ratio:16/9;margin-top:.8rem;position:relative}.video-frame iframe{border:0;border-radius:10px;width:100%;height:100%;position:absolute;inset:0}.faq-video{border-radius:10px;width:100%;max-width:560px;margin-top:.8rem;display:block}.message{text-align:center;color:var(--muted);padding:2rem 0}.message.error{color:#c33}.muted{color:var(--muted);font-size:.85rem}@media (width<=640px){.container{padding:.9rem}.brand{font-size:1.12rem}.brand small{font-size:.66rem}.support-link,.cart-link{padding:.45rem .7rem;font-size:.85rem}.product-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.card-body{padding:.55rem .65rem .7rem}.card-bottom{flex-direction:column;align-items:stretch}.card-bottom .price{text-align:left}.card-bottom button{width:100%}.product-detail{grid-template-columns:1fr;padding:1rem}.cart-item{flex-direction:column;align-items:stretch}.cart-item-actions{justify-content:space-between;margin-left:0}.cart-summary{justify-content:space-between}.checkout-form{padding:1.1rem}.checkout-layout{grid-template-columns:1fr}.header-actions{gap:.35rem}.qa-link{padding:.45rem .6rem;font-size:.85rem}}.admin-header{flex-wrap:wrap;gap:1rem}.admin-header .brand{color:var(--text);font-size:1rem}.admin-nav{gap:1rem;margin-left:.5rem;margin-right:auto;display:flex}.admin-nav a{color:var(--muted);font-weight:500}.admin-nav a.active{color:var(--primary)}.admin-user{color:var(--muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.admin-user button{padding:.3rem .8rem;font-size:.85rem}.admin-login{margin:3rem auto}.admin-login h1{text-align:center;margin-top:0;font-size:1.2rem}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-panels{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=640px){.admin-panels{grid-template-columns:1fr}}.panel{box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-bottom:1rem;padding:1rem 1.2rem}.panel h2{color:var(--text);margin-top:0;font-size:1rem}.panel .field{flex-direction:column;gap:.3rem;margin-bottom:.8rem;font-size:.9rem;display:flex}.panel select,.panel input{font:inherit;border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;font-size:16px}.form-preview{border:1px solid var(--border);border-radius:8px;max-width:160px;margin-top:.4rem}.upload-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.upload-grid{grid-template-columns:1fr}}.upload-grid label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}.flag-row{gap:1.5rem;display:flex}.checkbox-label{align-items:center;flex-direction:row!important;gap:.4rem!important}.checkbox-label input{width:1.1rem;height:1.1rem}.faq-form textarea{font:inherit;border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;font-size:16px}.inactive-row td{color:#aab}.inactive-row .thumb{opacity:.4}.thumb{object-fit:cover;border-radius:6px;width:48px;height:36px;display:block}.row-actions{gap:.4rem;display:flex}.row-actions button{padding:.3rem .7rem;font-size:.82rem}.status-badge{background:var(--bg);border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.status-pending{color:#7a5b00;background:#fff3cd}.status-paid{color:#124f9c;background:#d8ecff}.status-shipped{color:#4b2ea8;background:#e2d9ff}.status-done{color:#14683a;background:#d9f2e0}.status-cancelled{color:#8f1f1f;background:#f3d6d6}.category-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem;display:flex}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .7rem;font-size:.9rem;display:inline-flex}.chip-x{box-shadow:none;color:#c33;background:0 0;border:none;padding:0 .1rem;font-size:1rem}.chip-x:hover{background:0 0;transform:none}.inline-form{gap:.5rem;display:flex}.inline-form input{font:inherit;border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;font-size:16px}
