:root{--ff-bg-base:#0f0f1a;--ff-bg-surface:#17172a;--ff-bg-surface-hover:#1e1e35;--ff-border:#252540;--ff-text-primary:#d8d8e8;--ff-text-secondary:#44445a;--ff-coral:#ff4d6d;--ff-coral-dim:#1f0d12;--ff-teal:#00c2c2;--ff-teal-dim:#001f1f;--ff-error:var(--ff-coral);--ff-error-dim:var(--ff-coral-dim);--ff-success:var(--ff-teal);--ff-success-dim:var(--ff-teal-dim);--ff-info:var(--ff-text-primary);--ff-info-dim:var(--ff-bg-surface-hover);--ff-font-display:"Bebas Neue", sans-serif;--ff-font-ui:"Space Grotesk", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--ff-bg-base);color:var(--ff-text-primary);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--ff-coral);outline-offset:2px}#root{min-height:100vh}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--ff-bg-base)}::-webkit-scrollbar-thumb{background:var(--ff-border);border-radius:2px}.ff-app{background:var(--ff-bg-base);min-height:100vh;color:var(--ff-text-primary);font-family:var(--ff-font-ui);position:relative}.ff-noise{opacity:.035;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}.ff-toast{z-index:100;font-size:13px;font-family:var(--ff-font-ui);letter-spacing:.02em;border:1px solid var(--ff-border);background:var(--ff-bg-surface);color:var(--ff-text-primary);border-radius:8px;padding:10px 18px;animation:.2s slideIn;position:fixed;top:20px;right:20px}.ff-toast--error{background:var(--ff-error-dim);border-color:var(--ff-error)}.ff-toast--success{background:var(--ff-success-dim);border-color:var(--ff-success)}.ff-toast--info{background:var(--ff-info-dim);border-color:var(--ff-info)}.ff-header{z-index:10;border-bottom:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-bg-base) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;display:flex;position:relative}.ff-brand{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.ff-wordmark{letter-spacing:1px;align-items:baseline;gap:0;font-family:Oswald,sans-serif;font-size:32px;font-weight:700;line-height:1;display:flex}.ff-wordmark__fast{color:var(--ff-text-primary)}.ff-wordmark__forward{color:var(--ff-coral)}.ff-version{color:var(--ff-text-secondary);font:500 10px/1.2 var(--ff-font-ui);letter-spacing:.12em;text-transform:uppercase}.ff-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ff-nav__button{min-height:40px;color:var(--ff-text-secondary);font:500 13px/1 var(--ff-font-ui);background:0 0;border:1px solid #0000;border-radius:20px;padding:8px 16px;transition:color .15s,background .15s,border-color .15s}.ff-nav__button:hover,.ff-nav__button:focus-visible{color:var(--ff-text-primary)}.ff-nav__button--active{background:var(--ff-coral);color:var(--ff-text-primary)}.ff-main{z-index:1;max-width:1040px;margin:0 auto;padding:28px 24px 40px;position:relative}.ff-status-grid{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;display:grid;overflow:hidden}.ff-status-card{flex-direction:column;gap:10px;min-height:118px;padding:14px 16px;display:flex}.ff-status-card+.ff-status-card{border-left:1px solid var(--ff-border)}.ff-status-label{font:500 10px/1.2 var(--ff-font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--ff-text-secondary)}.ff-status-value{letter-spacing:.8px;color:var(--ff-text-primary);font-family:Oswald,sans-serif;font-size:28px;font-weight:700;line-height:1}.ff-status-subtext{font:400 10px/1.4 var(--ff-font-ui);color:var(--ff-text-secondary)}.ff-status-action{margin-top:auto}.ff-button-secondary{border:1px solid var(--ff-border);min-height:36px;color:var(--ff-text-secondary);font:500 12px/1 var(--ff-font-ui);background:0 0;border-radius:8px;padding:8px 12px;transition:border-color .15s,color .15s,background .15s}.ff-button-secondary:hover,.ff-button-secondary:focus-visible{border-color:var(--ff-coral);color:var(--ff-text-primary);background:var(--ff-coral-dim)}.ff-button-secondary:disabled{opacity:.6}.ff-panel{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:8px;margin-bottom:24px;padding:20px}.ff-section-label{font:500 10px/1.2 var(--ff-font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--ff-text-secondary);margin-bottom:12px}.ff-mood-row{gap:10px;display:flex}.ff-input{box-sizing:border-box;background:var(--ff-bg-surface);border:1px solid var(--ff-border);width:100%;min-height:42px;color:var(--ff-text-primary);font:400 14px/1.4 var(--ff-font-ui);border-radius:8px;padding:10px 14px}.ff-input::placeholder{color:var(--ff-text-secondary)}.ff-button-primary{border:1px solid var(--ff-coral);background:var(--ff-coral);min-height:42px;color:var(--ff-text-primary);font:600 13px/1 var(--ff-font-ui);border-radius:8px;padding:10px 18px;transition:filter .15s,transform .15s}.ff-button-primary:hover,.ff-button-primary:focus-visible{filter:brightness(1.04);transform:translateY(-1px)}.ff-loading-pulse{animation:1s infinite pulse;display:inline-block}.ff-button-primary:disabled{filter:none;opacity:.6;transform:none}.ff-chip-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ff-chip{border:1px solid var(--ff-border);min-height:32px;color:var(--ff-text-secondary);font:500 11px/1 var(--ff-font-ui);background:0 0;border-radius:999px;padding:6px 10px;transition:border-color .15s,color .15s}.ff-chip:hover,.ff-chip:focus-visible{border-color:var(--ff-coral);color:var(--ff-text-primary)}.ff-recommendations{margin-bottom:28px}.ff-recommendation-note{color:var(--ff-text-secondary);font:400 13px/1.5 var(--ff-font-ui);margin-bottom:14px}.ff-recommendation-list{flex-direction:column;gap:8px;display:flex}.ff-recommendation-card{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:8px;align-items:flex-start;gap:16px;padding:14px 18px;transition:border-color .15s;display:flex}.ff-recommendation-card:hover{border-color:var(--ff-coral)}.ff-recommendation-rank{text-align:center;min-width:36px;color:var(--ff-text-secondary);font:400 24px/1 var(--ff-font-display);padding-top:2px}.ff-recommendation-body{flex:1}.ff-recommendation-heading{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.ff-recommendation-title{color:var(--ff-text-primary);font:500 15px/1.3 var(--ff-font-ui)}.ff-recommendation-where{color:var(--ff-text-secondary);font:500 10px/1.2 var(--ff-font-ui);letter-spacing:1.5px;text-transform:uppercase}.ff-recommendation-mood{border:1px solid var(--ff-border);color:var(--ff-text-secondary);font:500 10px/1.2 var(--ff-font-ui);border-radius:999px;padding:2px 8px}.ff-recommendation-reason{color:var(--ff-text-secondary);font:400 13px/1.5 var(--ff-font-ui)}.ff-recommendation-actions{gap:6px;padding-top:2px;display:flex}.ff-icon-button{border:1px solid var(--ff-border);width:28px;height:28px;color:var(--ff-text-secondary);font:500 14px/1 var(--ff-font-ui);background:0 0;border-radius:8px;transition:border-color .15s,color .15s,background .15s}.ff-icon-button:hover,.ff-icon-button:focus-visible{border-color:var(--ff-coral);color:var(--ff-text-primary);background:var(--ff-coral-dim)}.ff-catalog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ff-catalog-controls{flex:1;align-items:center;gap:10px;display:flex}.ff-catalog-title{color:var(--ff-text-primary);font:600 13px/1.2 var(--ff-font-ui)}.ff-filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.ff-filter-tab{min-height:32px;color:var(--ff-text-secondary);font:500 11px/1 var(--ff-font-ui);background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 12px;transition:border-color .15s,color .15s,background .15s}.ff-filter-tab--active{border-color:var(--ff-coral);background:var(--ff-coral-dim);color:var(--ff-coral)}.ff-catalog-search{width:220px;margin-left:auto}.ff-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:400px;display:grid;overflow-y:auto}.ff-card{background:var(--ff-bg-surface);border:1px solid var(--ff-border);cursor:pointer;border-radius:8px;padding:10px 12px;transition:border-color .15s}.ff-card:hover{border-color:var(--ff-coral)}.ff-card-title{color:var(--ff-text-primary);font:500 12px/1.35 var(--ff-font-ui);margin-bottom:6px}.ff-card-meta{color:var(--ff-text-secondary);font:400 10px/1.3 var(--ff-font-ui);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ff-source-badge{font:500 10px/1.2 var(--ff-font-ui);border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 6px;display:inline-flex}.ff-source-badge--streaming{color:var(--ff-teal);background:var(--ff-teal-dim)}.ff-source-badge--plex{color:var(--ff-text-secondary);background:var(--ff-bg-surface);border-color:var(--ff-border)}.ff-card-rating{color:var(--ff-coral);font:500 10px/1.2 var(--ff-font-ui);margin-top:6px}.ff-catalog-footnote{text-align:center;color:var(--ff-text-secondary);font:400 11px/1.4 var(--ff-font-ui);margin-top:10px}.ff-page-kicker{color:var(--ff-text-secondary);font:500 11px/1.2 var(--ff-font-ui);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.ff-page-kicker--spaced{margin-bottom:20px}.ff-watched-section{margin-top:32px}.ff-empty-state{color:var(--ff-text-secondary);font:italic 400 14px/1.5 var(--ff-font-ui)}.ff-list{flex-direction:column;gap:8px;display:flex}.ff-list-card{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:8px;align-items:center;gap:14px;padding:12px 16px;display:flex}.ff-list-card--muted{background:var(--ff-bg-base);opacity:.7}.ff-list-body{flex:1}.ff-list-title{color:var(--ff-text-primary);font:500 14px/1.35 var(--ff-font-ui)}.ff-list-title--muted{color:var(--ff-text-secondary);font-size:13px}.ff-list-meta{color:var(--ff-text-secondary);font:400 11px/1.4 var(--ff-font-ui);margin-top:2px}.ff-button-outline-coral{border:1px solid var(--ff-coral);min-height:32px;color:var(--ff-coral);font:500 12px/1 var(--ff-font-ui);background:0 0;border-radius:8px;padding:4px 12px}.ff-button-ghost{color:var(--ff-text-secondary);background:0 0;border:0}.ff-button-ghost--icon{padding:4px;font-size:16px}.ff-section-stack{flex-direction:column;gap:20px;display:flex}.ff-settings-container{max-width:520px}.ff-settings-card{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:8px;padding:20px}.ff-settings-card__title{color:var(--ff-text-secondary);font:500 12px/1.2 var(--ff-font-ui);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.ff-form-stack{flex-direction:column;gap:10px;display:flex}.ff-form-label{color:var(--ff-text-secondary);font:500 11px/1.2 var(--ff-font-ui);letter-spacing:.1em;margin-bottom:5px;display:block}.ff-input--mono{font-family:var(--ff-font-ui)}.ff-helper-text{color:var(--ff-text-secondary);font:400 11px/1.8 var(--ff-font-ui)}.ff-helper-text--spaced{margin-bottom:12px}.ff-wrap-row{flex-wrap:wrap;gap:6px;display:flex}.ff-wrap-row--spaced{margin-bottom:12px}.ff-wrap-row--wide{gap:10px}.ff-tag{background:var(--ff-bg-surface-hover);border:1px solid var(--ff-border);color:var(--ff-text-secondary);font:500 11px/1.2 var(--ff-font-ui);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;display:flex}.ff-tag__remove{color:var(--ff-text-secondary);background:0 0;border:0;padding:0;font-size:14px;line-height:1}.ff-control-row{gap:8px;display:flex}.ff-control-row .ff-input{flex:1}.ff-badge-neutral{background:var(--ff-bg-surface-hover);border:1px solid var(--ff-border);color:var(--ff-text-secondary);font:500 12px/1.2 var(--ff-font-ui);border-radius:8px;padding:6px 14px}.ff-streaming-note{margin-top:10px}.ff-button-danger{border:1px solid var(--ff-coral);min-height:32px;color:var(--ff-coral);font:500 11px/1 var(--ff-font-ui);background:0 0;border-radius:8px;margin-top:12px;padding:6px 14px}@media (width<=820px){.ff-header{flex-direction:column;align-items:flex-start}.ff-main{padding-inline:16px}.ff-status-grid{grid-template-columns:1fr}.ff-status-card+.ff-status-card{border-left:0;border-top:1px solid var(--ff-border)}.ff-mood-row,.ff-catalog-header,.ff-catalog-controls{flex-direction:column;align-items:stretch}.ff-catalog-search{width:100%;margin-left:0}.ff-recommendation-card{flex-direction:column}.ff-recommendation-actions{padding-top:0}}
