:root{--bg-color: #0f172a;--text-color: #f8fafc;--text-muted: #94a3b8;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--accent-color: #3b82f6;--accent-glow: rgba(59, 130, 246, .5);--error-color: #ef4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-color);min-height:100vh;display:flex;justify-content:center;align-items:center;background-image:radial-gradient(circle at 15% 50%,rgba(59,130,246,.15),transparent 25%),radial-gradient(circle at 85% 30%,rgba(139,92,246,.15),transparent 25%)}#app{width:100%;max-width:1200px;padding:2rem;display:flex;justify-content:center;align-items:center;min-height:100vh}.glass{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 4px 30px #0000001a}.preview-container{width:100%;max-width:900px;display:flex;flex-direction:column;gap:1.5rem}.state-container{padding:3rem;text-align:center;max-width:500px;width:100%}.header{text-align:left;padding:0 1rem}.title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.description{color:var(--text-muted);font-size:1.1rem;line-height:1.5}.media-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;padding:.5rem;transition:transform .3s ease,box-shadow .3s ease}.media-wrapper:hover{transform:translateY(-5px);box-shadow:0 10px 40px var(--accent-glow)}.media-player{width:100%;height:100%;border-radius:18px;object-fit:cover;background-color:#000}.iframe-player{border:none}.loader{border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--accent-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.error-card{border-color:#ef44444d}.icon-error{width:60px;height:60px;background:#ef44441a;color:var(--error-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.error-card h2{color:var(--text-color);margin-bottom:.75rem}.error-card p{color:var(--text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.title{font-size:1.5rem}.description{font-size:1rem}#app{padding:1rem}}
