*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:#0b0f14;color:#e5e7eb}.container{max-width:1000px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.brand{font-weight:800;letter-spacing:.3px}.brand,.link{color:#93c5fd}.link{text-decoration:none}.link:hover{text-decoration:underline}.card{background:#0f141b;border:1px solid #1f2937;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;background:#2563eb;color:#fff;border:none;cursor:pointer;font-weight:600;transition:transform .06s ease,opacity .2s}.btn:active{transform:translateY(1px)}.btn.secondary{background:#1f2937;color:#e5e7eb;border:1px solid #374151}.input{width:100%;padding:12px 14px;border-radius:12px;background:#0b0f14;color:#e5e7eb;border:1px solid #243042}.row{display:flex;gap:12px;flex-wrap:wrap}.badge{padding:6px 10px;border-radius:10px;background:#111827;border:1px solid #1f2937;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tile{border-radius:14px;background:#111827;border:1px solid #1f2937;overflow:hidden;aspect-ratio:16/9}.tile video{width:100%;height:100%;display:block;object-fit:cover;opacity:0;transform:scale(.98);animation:fadeIn .25s ease forwards}.tile .paused{border-radius:inherit}@keyframes fadeIn{to{opacity:1;transform:none}}.toolbar{left:0;right:0;bottom:16px;gap:12px}.overlay,.toolbar{position:fixed;display:flex;justify-content:center}.overlay{inset:0;align-items:center;padding:24px;background:rgba(2,6,12,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;animation:fade .18s ease both}.modal{width:min(560px,100%);background:#0f141b;border:1px solid #1f2937;border-radius:18px;padding:20px 24px;box-shadow:0 20px 50px rgba(0,0,0,.5)}@keyframes fade{0%{opacity:0}to{opacity:1}}.pop-in{animation:popIn .25s ease both}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.pop-out{animation:popOut .25s ease both}@keyframes popOut{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.96) translateY(8px)}}.ring{position:relative}.ring:after{content:"";position:absolute;inset:-6px;border-radius:18px;border:2px solid #2563eb;opacity:0;animation:ring .8s ease 1}@keyframes ring{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.14)}}.dot{width:8px;height:8px;border-radius:999px;background:#93c5fd;display:inline-block}.dot+.dot{margin-left:6px}.loading .dot{animation:bounce 1s ease-in-out infinite}.loading .dot:nth-child(2){animation-delay:.12s}.loading .dot:nth-child(3){animation-delay:.24s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.toasts{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:8px}.toast{background:#0f141b;border:1px solid #1f2937;color:#e5e7eb;border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:toastIn .18s ease both;font-size:14px}.toast.good{border-color:#14532d}.toast.bad{border-color:#7f1d1d}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tile{position:relative}.tile .paused{position:absolute;inset:0;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(8,13,19,.78);border:1px dashed #374151;font-weight:700;letter-spacing:.3px;color:#9ca3af}.mic-badge{position:absolute;left:10px;bottom:10px;padding:4px 8px;font-size:12px;line-height:1;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid hsla(0,0%,100%,.25);color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width:900px){.container{max-width:100%;padding:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid{grid-template-columns:1fr}.toolbar{bottom:8px;padding:0 8px}.btn{padding:10px 14px;font-size:14px}}