:root{--canvas:#090908;--surface:#1e1d1a;--surface-panel:#252422;--surface-elevated:#2c2a26;--surface-card:#22201d;--accent:#eb5e28;--accent-hover:#f06a35;--accent-active:#c84615;--accent-glow:#eb5e282e;--accent-glow-strong:#eb5e2859;--ink:#fffcf2;--body:#a8a29e;--muted:#918b83;--border-soft:#ffffff14;--border-medium:#ffffff24;--border-strong:#ffffff38;--success:#10b981;--success-glow:#10b98140;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--canvas);color:var(--ink);font-family:var(--font-sans);min-height:100vh;position:relative;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{flex-direction:column;flex:1;display:flex}body:before{content:"";opacity:.048;pointer-events:none;z-index:0;background-image:url(/popcorn-pattern.svg);background-repeat:repeat;background-size:460px 460px;position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#11100fcc}::-webkit-scrollbar-thumb{background:#33302b;border:1px solid #ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a453e}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.label-micro{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.label-micro-accent{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.tactile-panel{background-color:var(--surface);border:1px solid var(--border-soft);border-radius:16px;transition:border-color .2s,box-shadow .2s;position:relative;box-shadow:inset 0 1px #ffffff14,0 16px 36px #000000a6,0 4px 10px #0006}.tactile-panel:hover{border-color:#ffffff24}.tactile-recessed{border:1px solid var(--border-soft);background-color:#0000008c;border-radius:12px;box-shadow:inset 0 2px 5px #000000a6,inset 0 1px 2px #000000d9}.tactile-btn{color:var(--ink);border:1px solid var(--border-soft);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.tactile-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff40;transform:translateY(-1px)}.tactile-btn:active:not(:disabled),.tactile-btn.pressed{background:#ffffff05;transform:translateY(1px)}.tactile-btn:disabled{opacity:.4;cursor:not-allowed}.tactile-btn-accent{color:#fffcf2;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#f06a35 0%,#eb5e28 100%);border:1px solid #ffffff40;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:13px;font-weight:700;transition:transform 60ms,background .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff59,0 4px #9c3008}.tactile-btn-accent:hover:not(:disabled){background:linear-gradient(#ff7a45 0%,#f06830 100%);box-shadow:inset 0 1px #ffffff73,0 4px #9c3008}.tactile-btn-accent:active:not(:disabled),.tactile-btn-accent.pressed{transform:translateY(3px);box-shadow:inset 0 1px #ffffff26,0 1px #9c3008,0 3px 8px #00000080}.tactile-btn-imdb{color:#000;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#f5c518 0%,#e3b616 100%);border:1px solid #fff6;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:13px;font-weight:800;transition:transform 60ms,background .15s,box-shadow 60ms;display:inline-flex;box-shadow:inset 0 1px #fff9,0 4px #9c7c0c}.tactile-btn-imdb:hover:not(:disabled){background:linear-gradient(#ffe054 0%,#f5c518 100%);box-shadow:inset 0 1px #ffffffb3,0 4px #9c7c0c}.tactile-btn-imdb:active:not(:disabled),.tactile-btn-imdb.pressed{transform:translateY(4px);box-shadow:inset 0 2px 4px #0003,0 0 #9c7c0c}.tactile-btn-google{color:#1f1f1f;font-family:var(--font-sans);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff 0%,#eceff1 100%);border:1px solid #ffffffe6;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:13px;font-weight:700;transition:transform 60ms,background .15s,box-shadow 60ms;display:inline-flex;box-shadow:inset 0 1px #fff,0 4px #9aa0a6}.tactile-btn-google:hover:not(:disabled){background:linear-gradient(#fff 0%,#f8f9fa 100%);box-shadow:inset 0 1px #fff,0 4px #9aa0a6}.tactile-btn-google:active:not(:disabled),.tactile-btn-google.pressed{transform:translateY(4px);box-shadow:inset 0 2px 4px #00000026,0 0 #9aa0a6}.tactile-btn-accent:disabled{color:#ffffff59;cursor:not-allowed;background:#23221f;border-color:#00000080;box-shadow:inset 0 4px 12px #00000080,inset 0 1px 2px #000c,0 1px #ffffff0d;transform:none!important}.modal-close-btn{color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#363632;border:1px solid #ffffff1f;border-radius:12px;outline:none;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s,box-shadow .15s,color .15s;display:flex;box-shadow:inset 0 1px #ffffff1a,0 4px 12px #0009,0 1px 3px #0006}.modal-close-btn:hover{color:#fff;background:linear-gradient(#ef4444 0%,#dc2626 100%);border-color:#ffffff4d;transform:translateY(-2px)scale(1.05);box-shadow:inset 0 1px #fff6,0 6px 18px #ef444480,0 2px 6px #00000080}.modal-close-btn:active{transform:translateY(2px)scale(.95);box-shadow:inset 0 1px 2px #0006,0 1px 2px #0009}.taste-chip{color:#ffffffd1;font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0006;border:1px solid #ffffff1f;border-radius:8px;outline:none;align-items:center;gap:4px;padding:6px 11px;font-size:11.5px;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:inset 0 1px 2px #00000080}.taste-chip:hover{color:var(--ink);background:#ffffff0f;border-color:#eb5e2866;transform:translateY(-1px)}.taste-chip.active{color:#fff;background:linear-gradient(#f06830 0%,#eb5e28 100%);border-color:#ffffff24;box-shadow:inset 0 1px #ffffff26,0 2px 6px #eb5e2859}.taste-chip.active:hover{background:linear-gradient(#f77038 0%,#eb5e28 100%);box-shadow:inset 0 1px #fff3,0 3px 10px #eb5e2873}.taste-chip:active{transform:translateY(1px)scale(.96);box-shadow:inset 0 2px 4px #000c}.glass-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background-color:#090808bf;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scanline{pointer-events:none;opacity:0;background:#eb5e2833;width:100%;height:2px;position:absolute;top:-100%;left:0}.scanning .scanline{opacity:1;animation:1.8s cubic-bezier(.4,0,.2,1) infinite scanAnim}@keyframes scanAnim{0%{opacity:0;top:0%}20%{opacity:1}80%{opacity:1}to{opacity:0;top:100%}}.genre-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.cursor{color:var(--accent);margin-left:2px;font-weight:700;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.app-container{width:100%;max-width:1380px;margin:0 auto;padding:24px 20px 60px}.recommendations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (width<=1100px){.recommendations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (width<=768px){.recommendations-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:16px;margin:0 -20px;padding:6px 20px 24px;display:flex;overflow-x:auto}.recommendations-grid::-webkit-scrollbar{display:none}.recommendations-grid>*{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 84vw;min-width:270px;max-width:330px}.mobile-scroll-hint{display:flex!important}}.mobile-scroll-hint{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;opacity:.85;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;display:none}.tactile-chip{background:var(--surface-elevated);border:1px solid var(--border-soft);color:var(--ink);font-family:var(--font-mono);letter-spacing:.05em;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 2px 5px #0000004d}.tactile-chip:hover{border-color:#fff3}.recommendation-card-link{color:inherit;cursor:pointer;flex-direction:column;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s;display:flex}.recommendation-card-link:hover{border-color:#eb5e2873;transform:translateY(-4px)}.recommendation-card-link:active{transform:translateY(-1px)}.skeleton-card{background-color:var(--surface);border:1px solid var(--border-soft);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex;position:relative;overflow:hidden}.skeleton-card:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff08 50%,#fff0 100%);animation:1.8s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-block{background-color:#ffffff0a;border-radius:6px}@keyframes crtOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(12px)}}.crt-overlay{animation:.35s ease-out forwards crtOverlayFadeIn}@keyframes crtTurnOn{0%{filter:brightness(35)contrast(3);opacity:.95;transform:scale(.005,.004);box-shadow:0 0 50px 20px #fff,0 0 100px 40px #64c8ffe6}18%{filter:brightness(30)contrast(3);opacity:1;transform:scale(.015,.003);box-shadow:0 0 60px 25px #fff,0 0 130px 50px #64c8fff2}42%{filter:brightness(18)contrast(2.5);opacity:1;transform:scaleY(.0035);box-shadow:0 0 45px 12px #fffffff2,0 0 95px 30px #64c8ffd9}72%{filter:brightness(2.6)contrast(1.4);opacity:1;transform:scale(1.012,1.018);box-shadow:0 0 30px 8px #ffffff73,0 24px 48px #0009}88%{filter:brightness(1.15)contrast(1.08);opacity:1;transform:scale(.996);box-shadow:0 24px 48px #00000080}to{filter:brightness()contrast();opacity:1;transform:scale(1);box-shadow:0 24px 48px #00000080}}.crt-modal{transform-origin:50%;will-change:transform, filter, box-shadow, opacity;backface-visibility:hidden;animation:.46s cubic-bezier(.18,.9,.32,1) forwards crtTurnOn}@keyframes crtOverlayFadeOut{0%{opacity:1;-webkit-backdrop-filter:blur(12px)}65%{opacity:.85}to{opacity:0;-webkit-backdrop-filter:blur()}}.crt-overlay-closing{animation:.42s ease-in forwards crtOverlayFadeOut}@keyframes crtTurnOff{0%{filter:brightness()contrast();opacity:1;transform:scale(1);box-shadow:0 24px 48px #00000080}28%{filter:brightness(16)contrast(2.5);opacity:1;transform:scaleY(.0035);box-shadow:0 0 40px 12px #fffffff2,0 0 95px 30px #64c8ffd9}58%{filter:brightness(28)contrast(3);opacity:1;transform:scale(.015,.003);box-shadow:0 0 55px 20px #fff,0 0 120px 40px #64c8fff2}80%{filter:brightness(35)contrast(3);opacity:.85;transform:scale(.004);box-shadow:0 0 45px 15px #fff,0 0 90px 30px #64c8ffd9}to{filter:brightness(0);box-shadow:none;opacity:0;transform:scale(.001)}}.crt-modal-closing{transform-origin:50%;will-change:transform, filter, box-shadow, opacity;backface-visibility:hidden;animation:.42s cubic-bezier(.75,0,.25,1) forwards crtTurnOff}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{color:var(--accent);margin-left:2px;font-weight:300;transition:opacity .5s;animation:1.3s infinite cursorBlink;display:inline-block}.typewriter-cursor.finished{visibility:hidden;opacity:0!important;animation:none!important}.app-footer{background:#232320;border-top:1px solid #ffffff14;width:100%;margin-top:auto;padding:18px 0}.app-footer-inner{max-width:1200px;margin:0 auto;padding:0 20px}.footer-brand-wrap{justify-content:space-between;align-items:center;gap:14px;width:100%;display:flex}.footer-logo-link{flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.footer-tmdb-logo{opacity:.85;width:auto;height:17px;transition:opacity .15s,transform .15s;display:block}.footer-logo-link:hover .footer-tmdb-logo{opacity:1;transform:scale(1.04)}.footer-text-group{flex:1;justify-content:space-between;align-items:center;gap:14px;margin-left:12px;display:flex}.footer-link{color:var(--muted);font-family:var(--font-mono);align-items:center;font-size:13.5px;text-decoration:none;transition:color .15s,opacity .15s,transform .15s;display:inline-flex}.footer-link:hover{transform:translateY(-1px);color:var(--ink)!important}.author-link{color:var(--muted);font-family:var(--font-mono);align-items:center;font-size:13.5px;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex;position:relative}.author-link strong{color:var(--ink);margin-left:4px;font-weight:600;transition:color .15s}.author-link:after{content:"";background-color:var(--accent);transform-origin:100%;width:100%;height:1.5px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.author-link:hover{transform:translateY(-1px);color:var(--ink)!important}.author-link:hover strong{color:var(--accent)!important}.author-link:hover:after{transform-origin:0;transform:scaleX(1)}.animated-placeholder{pointer-events:none;font-family:var(--font-sans);color:var(--muted);-webkit-user-select:none;user-select:none;white-space:pre-wrap;word-break:break-word;font-size:17px;line-height:1.6;position:absolute;top:16px;left:18px;right:18px;overflow:hidden}.placeholder-enter{animation:.38s cubic-bezier(.16,1,.3,1) forwards placeholderSlideIn}.placeholder-exit{animation:.25s cubic-bezier(.7,0,.84,0) forwards placeholderSlideOut}@keyframes placeholderSlideIn{0%{opacity:0;filter:blur(1px);transform:translateY(7px)}to{opacity:.58;filter:blur();transform:translateY(0)}}@keyframes placeholderSlideOut{0%{opacity:.58;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(1px);transform:translateY(-7px)}}.hero-headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);text-align:center;flex-direction:column;align-items:center;margin-bottom:12px;font-size:clamp(28px,4.8vw,48px);font-weight:800;line-height:1.25;display:flex}.hero-line{white-space:nowrap;max-width:100%;display:block}.hero-animated-slot{text-align:left;vertical-align:bottom;white-space:nowrap;width:clamp(230px,28vw,370px);display:inline-block}@media (width<=768px){.app-container{padding:3.5vh 16px 36px!important}.tactile-panel{border-radius:18px!important;padding:18px 14px!important}.model-selector-group{display:none!important}.hero-headline{margin-bottom:8px!important;font-size:clamp(17px,5.1vw,24px)!important;line-height:1.28!important}.hero-line{white-space:nowrap!important}.hero-animated-slot{width:clamp(125px,36vw,175px)!important;display:inline-block!important}.action-row{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.action-row .tactile-btn-accent{justify-content:center!important;width:100%!important;padding:14px 20px!important;font-size:13.5px!important}.quick-vibes-strip{scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;width:100%!important;padding-bottom:2px!important;overflow-x:auto!important}.quick-vibes-strip::-webkit-scrollbar{display:none}.results-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.results-header .tactile-btn{justify-content:center!important;width:100%!important}.modal-overlay-pad{padding:8px!important}.modal-container{aspect-ratio:auto!important;border-radius:20px!important;height:auto!important;max-height:94vh!important;padding:8px!important;overflow-y:auto!important}.modal-inner-screen{flex-direction:column!important;height:auto!important;min-height:520px!important;display:flex!important}.modal-hud-content{background:linear-gradient(#0a0a0a80 0%,#0a0a0a 8%)!important;margin-top:130px!important;padding:20px 14px 16px!important;position:relative!important}.modal-cta-col{flex:100%!important;min-width:100%!important}.app-footer{padding:12px 0!important}.app-footer-inner{padding:0 16px!important}.footer-brand-wrap{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;display:flex!important}.footer-logo-link{flex-shrink:0!important;justify-content:center!important;align-self:center!important;align-items:center!important;display:flex!important}.footer-tmdb-logo{width:auto!important;height:22px!important}.footer-text-group{flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:3px!important;margin-left:0!important;display:flex!important}.footer-link,.author-link{text-align:left!important;white-space:nowrap!important;font-size:11px!important;line-height:1.35!important}}
