:root{--bg: #0b0c10;--card: #11131a;--text: #eef0f7;--muted: rgba(238, 240, 247, .7);--border: rgba(238, 240, 247, .12);--brand: #7c5cff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*:focus{outline:none}*:focus-visible{outline:2px solid var(--brand);outline-offset:2px}html{min-height:100%;background:radial-gradient(1200px 600px at 50% -10%,rgba(124,92,255,.35),transparent 70%),var(--bg)}body{margin:0;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:transparent;color:var(--text)}a{color:inherit;text-decoration:none}.page{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:10;background:#0b0c10bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:14px 14px 12px}.brand{font-weight:800;letter-spacing:.3px;margin-bottom:0}.nav{display:flex;align-items:center;justify-content:flex-start}.back{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:#11131a80;color:#eef0f7eb;font-weight:800}.back:active{transform:scale(.98)}.tabs{margin-top:10px;display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tab{flex:none;font-size:12px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:#11131a80;color:#eef0f7eb}.tab.active{border-color:#7c5cff59;background:#7c5cff2e;color:#eae7ff}.tabs::-webkit-scrollbar{display:none}.main{padding:14px;flex:1}.detailPage .main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.error{border:1px solid rgba(255,104,104,.35);background:#ff68681f;color:#ffd1d1;padding:10px 12px;border-radius:12px;margin-bottom:12px}.loading{font-size:12px;color:var(--muted);margin-bottom:12px}.empty{padding:28px 12px;text-align:center;color:var(--muted);border:1px dashed rgba(238,240,247,.18);border-radius:16px;background:#11131a59}.grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 460px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:12px;border-radius:16px;background:#11131ab8;border:1px solid var(--border);transition:transform .12s ease,border-color .12s ease,background .12s ease}.cardLink{cursor:pointer}.card:hover{border-color:#7c5cff4d;background:#11131ae6}.card:active{transform:scale(.98)}.cardMedia{width:104px;height:104px;border-radius:14px;overflow:hidden;border:1px solid rgba(238,240,247,.1);background:#ffffff0a}.cardImg{width:100%;height:100%;object-fit:cover;display:block}.cardBody{display:flex;flex-direction:column;min-width:0}.cardTitle{font-weight:650;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cardMeta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;gap:12px;flex-wrap:wrap}.price{font-weight:800;font-size:1.1rem;color:#fff;white-space:nowrap}.cta{font-size:13px;padding:8px 16px;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;flex:none;margin-left:auto;transition:opacity .12s ease}.cta:active{opacity:.8}.tags{margin-top:6px;display:flex;gap:4px;flex-wrap:wrap}.coupon{margin-top:10px;display:flex;align-items:center;gap:6px;min-width:0;background:#7c5cff14;border:1px dashed rgba(124,92,255,.3);padding:4px 4px 4px 10px;border-radius:8px}.couponLabel{font-size:10px;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex:none}.couponCode{font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.couponCopy{margin-left:auto;font-size:11px;padding:6px 0;width:64px;flex:none;border-radius:6px;border:none;background:#7c5cff26;color:var(--brand);font-weight:700;cursor:pointer;transition:background .12s ease;text-align:center}.couponCopy:hover{background:#7c5cff40}.couponCopy:active{transform:scale(.96)}.tag{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(238,240,247,.12);color:#eef0f7bf}.footer{padding:16px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.detail{display:flex;flex-direction:column;gap:12px}.detailImg{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;border:1px solid rgba(238,240,247,.1);background:#ffffff0a}.detailTitle{font-weight:750;line-height:1.25}.detailMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.detailPriceRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detailPrice{font-weight:800;font-size:1.5rem;color:#ef4444;letter-spacing:-.02em;text-shadow:0 0 20px rgba(239,68,68,.25)}.detailPrice:before{content:"";display:inline-block;width:3px;height:1.1em;background:linear-gradient(180deg,#ef4444,#dc2626);border-radius:2px;margin-right:8px;vertical-align:middle}.detailListPrice{font-size:.95rem;color:#eef0f780;text-decoration:line-through;text-decoration-color:#eef0f766}.detailDiscount{font-size:11px;font-weight:800;color:#fff;background:#ef4444;border:none;padding:4px 10px;border-radius:999px;letter-spacing:.02em}.detailSource{font-size:11px;font-weight:700;color:#eef0f7d9;padding:4px 12px;border-radius:999px;border:1px solid rgba(238,240,247,.15);background:#ffffff0d;text-transform:uppercase;letter-spacing:.5px}.detailCta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 14px;border-radius:14px;background:var(--brand);color:#fff;font-weight:800}.detailCtaBar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#0b0c10d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.codes{margin-top:10px;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;border:1px solid rgba(238,240,247,.12);background:#11131a80}.codesTitle{font-size:12px;font-weight:800;color:#eef0f7e6}.codeRow{display:flex;align-items:center;gap:10px}.codeValue{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800;font-size:13px;letter-spacing:.3px;color:#a78bff;background:#7c5cff1a;padding:4px 10px;border-radius:6px}.codeMeta{font-size:12px;color:#4ade80;font-weight:600;white-space:nowrap}.codeCopy{margin-left:auto;font-size:12px;padding:8px 12px;border-radius:999px;border:1px solid rgba(238,240,247,.14);background:#ffffff05;color:#eef0f7eb}@media (min-width: 640px){.header{padding:16px 20px 14px}.main,.footer{padding:20px}.detail{max-width:600px;margin:0 auto}.detailImg{max-width:480px;margin:0 auto}.detailTitle{font-size:1.1rem}}@media (min-width: 900px){.header{padding:18px 24px 16px}.nav{max-width:1200px;margin:0 auto}.main{max-width:1200px;margin:0 auto;width:100%;padding:32px 24px}.detailCtaBar{display:flex;justify-content:center}.detailCtaBar .detailCta{max-width:360px}.footer{padding:24px;text-align:center}.detail{max-width:none;display:grid;grid-template-columns:450px minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:min-content;gap:0 48px;align-items:start}.detailImg{position:static;max-width:none;margin:0;grid-column:1;grid-row:1 / span 10}.detailTitle{grid-column:2;font-size:1.35rem;font-weight:800;line-height:1.35;margin-bottom:8px}.detailMeta{grid-column:2;margin-bottom:16px}.detailPrice{font-size:1.75rem}.detailPrice:before{width:4px;height:1.2em;margin-right:10px}.detailListPrice{font-size:1.05rem}.detailDiscount{font-size:12px;padding:4px 12px}.detailSource{font-size:12px;padding:5px 14px}.codes{grid-column:2;margin-top:0;margin-bottom:16px;padding:12px 16px}.codesTitle{font-size:14px;margin-bottom:6px}.codeRow{gap:14px;padding:4px 0}.codeValue{font-size:15px}.codeMeta{font-size:13px}.codeCopy{padding:9px 16px;font-size:13px}.detailCta{grid-column:2;width:100%;max-width:100%;padding:15px 24px;font-size:1.05rem;margin-top:0}}@media (min-width: 1400px){.main{max-width:1400px;padding:40px 32px}.detail{grid-template-columns:540px minmax(0,1fr);gap:20px 60px}.detailTitle{font-size:1.5rem}.detailPrice{font-size:1.75rem}}
