:root{--color-bg: #14110f;--color-bg-subtle: #1c1815;--color-surface: #1a1613;--color-card: #1a1613;--color-border: #332c24;--color-border-strong: #6e5d45;--color-text: #f5f0e8;--color-text-2: #c9bfb0;--color-muted: #8f8576;--color-gold: #c9a86a;--color-gold-dark: #a88954;--color-gold-light: #e3cf9f;--color-wine: #cf5c6e;--color-success: #6bae7f;--color-warning: #d6a24e;--color-danger: #e0697a;--color-primary: var(--color-gold);--color-primary-dark: #a88954;--color-primary-light: #1c1815;--shadow-card: 0 1px 0 0 rgba(0, 0, 0, .4), 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-elevated: 0 8px 24px -12px rgba(0, 0, 0, .7), 0 2px 6px -2px rgba(0, 0, 0, .5);--shadow-bottom-bar: 0 -1px 0 0 rgba(0, 0, 0, .5);--radius-card: 2px;--radius-sm: 2px;--radius-chip: 999px;--radius-input: 2px;--font-display: "Playfair Display", Georgia, serif;--font-serif: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Inter", sans-serif;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Inter", sans-serif;--font-mono: "Inter", "SF Mono", ui-monospace, "PingFang SC", monospace;--bottom-tabs-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;height:100%;background:var(--color-bg)}body{font-family:var(--font-sans);color:var(--color-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}img{display:block;max-width:100%}.font-serif{font-family:var(--font-serif);letter-spacing:.01em}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.eyebrow{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted)}.hairline-gold{display:block;width:24px;height:1px;background:var(--color-gold)}.hairline-row{height:1px;background:var(--color-border)}.app-shell{max-width:480px;margin:0 auto;min-height:100%;background:var(--color-bg);position:relative;padding-bottom:calc(var(--bottom-tabs-h) + var(--safe-bottom))}.app-shell.no-tabs{padding-bottom:0}.section-title{padding:32px 16px 12px;font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:.01em;display:flex;align-items:flex-end;justify-content:space-between;color:var(--color-text)}.section-title .more{font-family:var(--font-sans);font-size:12px;color:var(--color-muted);font-weight:400;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--color-border);padding-bottom:1px}.card{background:var(--color-card);border-radius:var(--radius-card);border:1px solid var(--color-border);padding:16px;margin:12px 16px;box-shadow:none}.row{display:flex;align-items:center}.row.between{justify-content:space-between}.row.gap{gap:12px}.text-muted{color:var(--color-muted);font-size:12px}.text-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.truncate-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{color:var(--color-text);font-weight:600;font-size:16px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.01em}.price .yen,.price-yen{color:var(--color-gold);font-weight:500;margin-right:1px}.price.lg{font-size:20px}.price.xl{font-size:32px;letter-spacing:-.02em}.price.xl .yen,.price.xl .price-yen{font-size:22px}.list-price{color:var(--color-muted);font-size:12px;text-decoration:line-through;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.brand-tag{color:var(--color-text-2);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.name{font-size:13px;font-weight:400;line-height:1.45;margin:6px 0 0;color:var(--color-text);letter-spacing:0}.product-card-h{display:flex;gap:12px;background:var(--color-card);border-radius:var(--radius-card);border:1px solid var(--color-border);padding:12px;margin:16px;box-shadow:none;color:inherit}.product-card-h__body{flex:1;min-width:0}.product-card-h.skeleton{display:block}.product-card-compact{width:148px;flex-shrink:0;background:var(--color-card);border-radius:var(--radius-card);border:1px solid var(--color-border);padding:8px;box-shadow:none;color:inherit}.product-card-compact__body{padding-top:10px}.scroll-lane{display:flex;gap:16px;padding:4px 16px 12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.scroll-lane::-webkit-scrollbar{display:none}.scroll-lane>*{scroll-snap-align:start}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 16px;border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.category-grid__item{background:var(--color-bg-subtle);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:32px 16px 20px;text-align:center;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;aspect-ratio:4 / 5}.category-grid__icon{font-size:22px;line-height:1;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;margin-bottom:auto;padding-top:8px}.category-grid__label{margin-top:16px;font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--color-text);letter-spacing:.01em}.category-grid__sub{margin-top:4px;font-size:11px;color:var(--color-muted);letter-spacing:.04em}.brand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 16px;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.brand-chip{display:flex;align-items:center;gap:12px;background:var(--color-card);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0;padding:16px 14px;box-shadow:none;color:inherit}.brand-chip img{width:36px;height:36px;border-radius:0;object-fit:contain;background:var(--color-bg-subtle)}.brand-chip__name{font-family:var(--font-serif);font-size:15px;font-weight:500;letter-spacing:.01em;color:var(--color-text)}.brand-chip__sub{color:var(--color-muted);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.banner{margin:24px 16px;border-radius:0;overflow:hidden;border:1px solid var(--color-border)}.banner__slide{height:180px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--color-text);font-family:var(--font-serif);font-size:24px;font-weight:500;letter-spacing:.01em;padding:24px;position:relative}.banner__slide .sub{font-family:var(--font-sans);font-size:13px;font-weight:400;color:var(--color-text-2);margin-top:8px;letter-spacing:.01em}.banner__slide .cta{display:inline-block;margin-top:12px;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--color-text);letter-spacing:.06em;border-bottom:1px solid var(--color-gold);padding-bottom:2px;width:max-content}.banner__slide.s1{background:linear-gradient(135deg,#1f1a18,#2a211a);border-left:2px solid var(--color-gold)}.banner__slide.s2{background:linear-gradient(135deg,#1a1613,#241d18);border-left:2px solid var(--color-gold-dark)}.banner__slide.s3{background:linear-gradient(135deg,#2a211a,#14110f);border-left:2px solid var(--color-gold)}.banner__slide.s1 .sub,.banner__slide.s2 .sub,.banner__slide.s3 .sub{color:var(--color-gold-light)}.banner__slide.s1 .cta,.banner__slide.s2 .cta,.banner__slide.s3 .cta{color:var(--color-text);border-bottom-color:var(--color-gold)}.bottom-tabs-wrap{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:50;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:none;padding-bottom:var(--safe-bottom)}.sticky-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--color-surface);border-top:1px solid var(--color-border);padding:10px 16px calc(10px + var(--safe-bottom));display:flex;gap:8px;z-index:40;box-shadow:none}.empty{padding:80px 0;text-align:center;font-family:var(--font-sans);font-size:16px;color:var(--color-muted);letter-spacing:.02em}.history-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.flash-strip{margin:24px 0 12px;background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:14px 0 10px;color:var(--color-text)}.flash-strip__header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px;gap:12px}.flash-strip__title{display:flex;align-items:baseline;gap:10px;font-family:var(--font-serif);font-style:normal;font-size:17px;font-weight:600;color:var(--color-wine);letter-spacing:.08em}.flash-strip__countdown{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:.04em}.flash-strip__countdown .colon{color:var(--color-gold);margin:0 1px}.flash-strip__lane{display:flex;gap:14px;padding:0 16px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.flash-strip__lane::-webkit-scrollbar{display:none}.flash-card{flex-shrink:0;width:132px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:8px;color:var(--color-text)}.flash-card__body{padding-top:8px}.flash-card__name{font-size:12px;line-height:1.35;height:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-text)}.flash-card__price-row{display:flex;align-items:baseline;gap:6px;margin-top:6px}.flash-card__price{color:var(--color-text);font-weight:600;font-size:15px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.flash-card__price .yen{color:var(--color-gold);margin-right:1px}.flash-card__orig{color:var(--color-muted);font-size:11px;text-decoration:line-through;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.flash-card__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.flash-card__badge{font-size:10px;padding:2px 0;font-family:var(--font-mono);font-feature-settings:"tnum";letter-spacing:.04em;color:var(--color-text-2);background:transparent}.flash-card__badge.active{color:var(--color-wine);font-weight:600}.flash-card__badge.upcoming{color:var(--color-gold-dark);font-weight:600}.flash-card__badge.ended{color:var(--color-muted)}.flash-card__drop{font-size:11px;background:transparent;color:var(--color-wine);font-weight:600;padding:0;border-radius:0;border:none;letter-spacing:.04em;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.stat{background:var(--color-bg);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0;padding:14px 6px;text-align:center}.stat__label{font-size:10px;color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase}.stat__value{font-size:15px;font-weight:600;margin-top:6px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.stat__value.muted{color:var(--color-text)}.stat__value.accent{color:var(--color-wine)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}.chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-chip);padding:6px 14px;font-size:12px;font-weight:500;color:var(--color-text);letter-spacing:.02em;font-family:var(--font-sans)}.chip.active{background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-border-strong);font-weight:600}.editorial-meta{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;background:var(--color-bg)}.editorial-meta__label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.editorial-meta__rule{flex:0 0 32px;height:1px;background:var(--color-gold);margin-left:12px}.product-card-h,.product-card-compact,.brand-chip,.category-grid__item,.chip,.flash-card{transition:transform .12s ease,box-shadow .12s ease}.product-card-h:active,.product-card-compact:active,.brand-chip:active,.category-grid__item:active,.flash-card:active{transform:scale(.985)}.chip:active{transform:scale(.96)}@keyframes fadeRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scroll-lane,.stat-grid,.banner,.flash-strip{animation:fadeRise .32s ease-out both}@media (prefers-reduced-motion: reduce){.product-card-h,.product-card-compact,.brand-chip,.category-grid__item,.chip,.flash-card,.scroll-lane,.stat-grid,.banner,.flash-strip{animation:none;transition:none}}.rv-search{background:transparent!important;padding:10px 16px!important}.rv-search__content{background:var(--color-surface)!important;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius-input)!important;box-shadow:none!important}.rv-search__field input{font-family:var(--font-sans)!important;font-size:16px!important;color:var(--color-text)!important}.rv-cell{background:var(--color-card)!important;border-radius:0!important}.rv-nav-bar{background:var(--color-bg)!important;border-bottom:1px solid var(--color-border);box-shadow:none!important}.rv-nav-bar__title{font-family:var(--font-serif)!important;letter-spacing:.05em;font-weight:500!important;font-size:17px!important;color:var(--color-text)!important}.rv-nav-bar__text{color:var(--color-text)!important}.rv-button--primary{background:var(--color-text)!important;border-color:var(--color-text)!important;border-radius:0!important;font-weight:600!important;letter-spacing:.04em}.rv-button--plain.rv-button--primary{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-text)!important}.rv-tag{border-radius:0!important;font-family:var(--font-sans)!important;letter-spacing:.04em}.rv-tabs__line{background-color:var(--color-gold)!important;height:1px!important}
