@charset "UTF-8";:root{--brand: #0a7d4b;--brand-contrast: #ffffff;--bg: #ffffff;--card: #ffffff;--text: #1c1f23;--muted: #7a7f87;--border: #ececf0;--radius: 14px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px rgba(16, 24, 40, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:center;min-height:76px;padding:10px 64px;background:#fff;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;justify-content:center}.brand-logo{max-height:56px;max-width:220px;width:auto;object-fit:contain}.brand-name{font-weight:800;font-size:1.15rem;text-align:center;color:var(--brand);letter-spacing:.3px}.cart-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--brand);color:var(--brand-contrast)}.cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.content{max-width:720px;margin:0 auto;padding:14px 14px 96px}.page-title{margin:6px 4px 14px;font-size:1.2rem;font-weight:700}.subtitle{color:var(--muted);font-size:.92rem}.richtext>:first-child{margin-top:0}.richtext>:last-child{margin-bottom:0}.richtext p{margin:0 0 .4em}.richtext ul,.richtext ol{margin:0 0 .4em;padding-left:1.2em}.richtext img{max-width:100%;height:auto}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 18px;margin:10px 14px 14px;background:#fff;border:1px solid var(--border);border-radius:999px;color:var(--text);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,border-color .15s ease,transform .05s ease}.back-link:hover{background:#f7f8fa;border-color:#d6d6d3}.back-link:active{transform:translateY(1px)}.back-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.banner-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:12px 16px;margin:12px 14px 0;border-radius:12px;font-size:.92rem}.empty{text-align:center;color:var(--muted);padding:48px 16px}.row-list{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s ease}.row:last-child{border-bottom:none}.row:active{background:#f7f8fa}.row .thumb{flex:0 0 150px;width:150px;height:150px;border-radius:14px;background:#f0f1f4 center/cover no-repeat}@media (max-width: 560px){.row .thumb{flex:0 0 120px;width:120px;height:120px}}@media (max-width: 400px){.row .thumb{flex:0 0 104px;width:104px;height:104px}}.skeleton-row{cursor:default;pointer-events:none}.skeleton-box{background:linear-gradient(90deg,#eef0f3 25%,#e3e6ea 37%,#eef0f3 63%);background-size:400% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite;border-radius:8px}.row .thumb.skeleton-box{background:linear-gradient(90deg,#eef0f3 25%,#e3e6ea 37%,#eef0f3 63%);background-size:400% 100%}.skeleton-line{height:13px;margin:9px 0}.skeleton-line.lg{height:16px;width:62%}.skeleton-line.sm{width:40%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.skeleton-box{animation:none}}.row .body{flex:1;min-width:0}.row .name{font-weight:700;font-size:.98rem;text-transform:uppercase;letter-spacing:.3px;margin:0}.row .name.normal{text-transform:none;letter-spacing:0}.row .desc{color:var(--muted);font-size:.85rem;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row .price{font-weight:700;color:var(--brand);white-space:nowrap}.row .chev{color:#c2c6cd;font-size:1.3rem}.row.soldout{opacity:.5}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef7f1;color:#15803d}.badge.warn{background:#fff7ed;color:#c2410c}.badge.muted{background:#f1f5f9;color:#64748b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:13px 18px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit}.btn-primary{background:var(--brand);color:var(--brand-contrast);width:100%}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:#fff;border:1px solid var(--border);color:var(--text)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.stepper button{width:40px;height:40px;border:none;background:#fff;font-size:1.25rem;cursor:pointer}.stepper span{min-width:34px;text-align:center;font-weight:700}.detail-hero{aspect-ratio:16/10;border-radius:var(--radius);background:#f0f1f4 center/cover no-repeat;box-shadow:var(--shadow)}.detail-name{font-size:1.4rem;font-weight:800;margin:16px 0 6px}.detail-price{font-size:1.35rem;font-weight:800;color:var(--brand)}.section-label{font-weight:700;margin:18px 0 8px}.variation{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;cursor:pointer}.variation.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 24px #1018280f}.actionbar .total{font-weight:800;font-size:1.1rem;white-space:nowrap}.line{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;margin-bottom:10px}.line .body{flex:1;min-width:0}.summary{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-top:8px}.summary .row{display:flex;justify-content:space-between;padding:6px 0;border:none;cursor:default}.summary .row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-weight:800;font-size:1.1rem}.field{margin-bottom:14px}.field label{display:block;font-weight:600;margin-bottom:6px;font-size:.92rem}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:1rem;font-family:inherit;background:#fff}.footer{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;color:var(--muted);font-size:.8rem;padding:22px 16px 16px}.footer-text{margin:2px 0}.footer a{color:inherit;text-decoration:underline}.confirm{text-align:center;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 20px;margin-top:24px}.confirm .check{width:64px;height:64px;border-radius:50%;background:var(--brand);color:var(--brand-contrast);display:grid;place-items:center;margin:0 auto 16px;font-size:2rem}
