*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark: #0f172a;--bg-card: #1e293b;--accent: #38bdf8;--accent-dim: #0ea5e9;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;padding:2rem;max-width:420px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #0006}.card h1{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.card .label{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.ip-display{display:block;font-family:JetBrains Mono,monospace;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600;color:var(--accent);background:#38bdf81a;padding:1rem 1.5rem;border-radius:.5rem;margin-bottom:1rem;word-break:break-all}.card .muted{font-size:.75rem;color:var(--text-muted)}.btn-link{display:inline-block;margin-top:.5rem;padding:.75rem 1.5rem;background:var(--accent);color:var(--bg-dark);text-decoration:none;border:none;cursor:pointer;font-family:inherit;font-weight:600;border-radius:.5rem;font-size:1rem;transition:opacity .2s}.btn-link:hover{opacity:.9}.jellyfin-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-dark)}.btn-back{position:absolute;top:1rem;left:1rem;z-index:10;padding:.5rem 1rem;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:.5rem;font-family:inherit;font-size:.875rem;cursor:pointer}.btn-back:hover{background:var(--border)}.jellyfin-iframe{flex:1;width:100%;border:none}.card.error{border-color:#ef4444}.card.error p,.card.error .error-message{color:#fca5a5;word-break:break-word}.pulse{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}
