:root{--color-bg:#0e0f13;--color-surface:#16181f;--color-surface-raised:#1e2129;--color-border:#2a2e3a;--color-text:#e8eaf0;--color-text-muted:#9aa1b0;--color-text-faint:#6b7280;--color-primary:#ff4d4f;--color-primary-hover:#ff7172;--color-accent:#4d8dff;--color-success:#52c41a;--color-warning:#faad14;--color-danger:#ff4d4f;--color-live:#ff4d4f;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", Menlo, monospace;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-2xl:38px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-1:0 1px 3px #0006;--shadow-2:0 4px 14px #00000073;--shadow-live:0 0 0 2px #ff4d4f59, 0 4px 20px #ff4d4f40;--transition-fast:.12s ease;--transition-base:.2s ease}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-1)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);display:inline-flex}.btn:hover{background:var(--color-border)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-md)}.input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--text-sm);color:var(--color-text-muted)}.error-text{color:var(--color-danger);font-size:var(--text-sm);min-height:1.4em}.live-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-live);color:#fff;font-size:var(--text-xs);letter-spacing:.06em;font-weight:700;display:inline-flex}.muted{color:var(--color-text-muted)}.app-header{z-index:50;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#0e0f13d9;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text);font-weight:800;display:inline-flex}.brand:hover{text-decoration:none}.brand-dot{background:var(--color-live);width:10px;height:10px;box-shadow:0 0 12px var(--color-live);border-radius:50%;display:inline-block}.app-header nav{gap:var(--space-4);align-items:center;margin-left:auto;display:flex}.app-header nav a{color:var(--color-text-muted);font-size:var(--text-sm)}.app-header nav a:hover{color:var(--color-text);text-decoration:none}.app-footer{margin-top:var(--space-8);padding:var(--space-6) var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-faint);font-size:var(--text-sm);gap:var(--space-4);flex-wrap:wrap;display:flex}.container{max-width:1280px;padding:0 var(--space-5);margin:0 auto}.hero{padding:var(--space-8) 0 var(--space-6);background:radial-gradient(1000px 400px at 20% -10%,#ff4d4f2e,#0000),radial-gradient(800px 400px at 90% -20%,#4d8dff24,#0000)}.hero h1{letter-spacing:-.03em;margin:0 0 var(--space-2);font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.05}.hero p{color:var(--color-text-muted);font-size:var(--text-lg);margin:0 0 var(--space-5);max-width:640px}.search-bar{gap:var(--space-2);max-width:560px;display:flex}.search-bar input{padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--text-md);flex:1}.search-bar input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.section-title{font-size:var(--text-xl);margin:var(--space-6) 0 var(--space-4);letter-spacing:-.02em;align-items:center;gap:var(--space-2);font-weight:700;display:flex}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (max-width:640px){.card-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.stream-card{color:inherit;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);transition:transform var(--transition-base), box-shadow var(--transition-base);display:block;overflow:hidden}.stream-card:hover{box-shadow:var(--shadow-2);text-decoration:none;transform:translateY(-3px)}.stream-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#1e2129 0%,#14161c 100%);position:relative;overflow:hidden}.stream-thumb img{object-fit:cover;width:100%;height:100%;display:block}.stream-thumb .thumb-fallback{color:var(--color-text-faint);font-size:var(--text-xs);letter-spacing:.1em;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.badge-live{top:var(--space-2);left:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);background:var(--color-live);color:#fff;font-size:var(--text-xs);letter-spacing:.08em;align-items:center;gap:6px;font-weight:700;display:inline-flex;position:absolute}.badge-live:before{content:"";background:#fff;border-radius:50%;width:7px;height:7px;animation:1.4s infinite pulse}.badge-soon{top:var(--space-2);left:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-xs);background:#0009;font-weight:600;position:absolute}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.stream-meta{padding:var(--space-3) var(--space-3) var(--space-4)}.stream-meta h3{margin:0 0 var(--space-1);font-size:var(--text-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.stream-meta .store-name{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.stream-meta .stats{gap:var(--space-3);margin-top:var(--space-2);color:var(--color-text-faint);font-size:var(--text-xs);display:flex}.store-card{color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--transition-fast);display:block}.store-card:hover{border-color:var(--color-accent);text-decoration:none}.store-card h3{margin:0 0 var(--space-1)}.empty-state{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-faint);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.product-card{color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:transform var(--transition-base);display:block;overflow:hidden}.product-card:hover{text-decoration:none;transform:translateY(-3px)}.product-card img{object-fit:cover;width:100%;height:180px;display:block}.product-card .product-body{padding:var(--space-3)}.product-card h3{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:600}
