:root,[data-theme=coral]{color-scheme:light;--h-primary: #ff6b6b;--h-primary-soft: #ffe3e3;--h-success: #4ecdc4;--h-success-soft: #d9f7f4;--h-bg: #fafafa;--h-surface: #ffffff;--h-text: #1f2937;--h-text-muted: #6b7280;--h-border: #e5e7eb;--h-danger: #ef4444;--h-warning: #f59e0b;--h-radius: 16px;--h-shadow: 0 8px 24px rgb(31 41 55 / 8%)}[data-theme=midnight]{color-scheme:dark;--h-primary: #8b5cf6;--h-primary-soft: #2a1f4d;--h-accent: #ec4899;--h-success: #34d399;--h-success-soft: #12352c;--h-bg: #0f172a;--h-surface: #1e293b;--h-text: #e2e8f0;--h-text-muted: #94a3b8;--h-border: #334155;--h-danger: #f87171;--h-warning: #fbbf24;--h-shadow: 0 8px 24px rgb(0 0 0 / 45%)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:var(--h-bg);color:var(--h-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{min-height:100dvh}.page{padding:20px 16px 32px;max-width:720px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.title{margin:0 0 4px;font-size:26px;line-height:1.2}.title--small{font-size:20px}.muted{color:var(--h-text-muted);font-size:14px;line-height:1.4;margin:4px 0}.error{margin:12px 0;padding:10px 12px;border:1px solid var(--h-danger);border-radius:12px;color:var(--h-danger);font-size:14px}.btn{min-height:44px;padding:10px 16px;border:0;border-radius:12px;background:var(--h-border);color:var(--h-text);font-size:15px;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--h-primary);color:#fff}.btn--ghost{background:transparent;border:1px solid var(--h-border)}.btn--danger{background:transparent;border:1px solid var(--h-danger);color:var(--h-danger)}.btn--block{display:block;width:100%;margin-top:12px}.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--h-border);border-radius:12px;background:var(--h-surface);color:var(--h-text);font-size:15px;outline:none}.input:focus{border-color:var(--h-primary)}.input--area{resize:vertical;min-height:88px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;color:var(--h-text-muted)}.row{display:flex;align-items:center;gap:10px;margin-top:12px}.row>.input{flex:1}.row--between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px;margin-top:12px}.stack--tight{gap:4px;margin-top:0}.list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px}.card{background:var(--h-surface);border:1px solid var(--h-border);border-radius:var(--h-radius);box-shadow:var(--h-shadow);padding:16px}.card--link{display:block;transition:transform .12s ease}.card--link:active{transform:scale(.99)}.item-card{display:flex;flex-direction:column;background:var(--h-surface);border:1px solid var(--h-border);border-radius:var(--h-radius);overflow:hidden}.item-card__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--h-border)}.item-card__body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 14px}.item-card__title{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail__image{width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:var(--h-bg)}.preview__image{width:88px;height:88px;object-fit:cover;border-radius:12px;background:var(--h-bg);flex:0 0 auto}.price-tag{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.price-tag__current{font-size:17px;font-weight:700}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--h-success-soft);color:var(--h-success);font-size:12px;font-weight:600}.badge--muted{background:var(--h-bg);color:var(--h-text-muted)}.badge--danger{background:transparent;color:var(--h-danger);border:1px solid var(--h-danger)}.badge--success{display:inline-flex;margin:8px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{padding:6px 10px;border-radius:999px;border:1px solid var(--h-border);background:var(--h-surface);color:var(--h-text-muted);font-size:12px}.chip--success{border-color:var(--h-success);color:var(--h-success)}.chip--button{cursor:pointer}.chip--active{border-color:var(--h-primary);color:var(--h-primary);background:var(--h-primary-soft)}.empty{padding:20px;border:1px dashed var(--h-border);border-radius:var(--h-radius);text-align:center}.skeleton{border-radius:12px;background:linear-gradient(90deg,var(--h-border) 25%,var(--h-surface) 50%,var(--h-border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton--title{height:28px;width:55%;margin-bottom:16px}.skeleton--card{height:120px}.skeleton--line{height:16px;width:70%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sparkline{width:100%;height:96px}.sparkline--empty{display:flex;align-items:center;justify-content:center;color:var(--h-text-muted);font-size:13px;border:1px dashed var(--h-border);border-radius:12px;height:96px}.switch{position:relative;width:52px;height:30px;border:0;border-radius:999px;background:var(--h-border);cursor:pointer;flex:0 0 auto;transition:background .15s ease}.switch__dot{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--h-surface);box-shadow:0 1px 4px #0003;transition:transform .15s ease}.switch.is-on{background:var(--h-success)}.switch.is-on .switch__dot{transform:translate(22px)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;gap:4px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--h-surface);background:color-mix(in srgb,var(--h-surface) 92%,transparent);border-top:1px solid var(--h-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar__item{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;min-height:48px;justify-content:center;border-radius:12px;color:var(--h-text-muted);font-size:11px}.tabbar__item.is-active{color:var(--h-primary);background:var(--h-primary-soft)}.tabbar__icon{font-size:18px;line-height:1}
