:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f1419;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:100vw;min-height:100vh;background:#0f1419;overflow:hidden}#root{width:100vw;height:100vh}.movie-map-container{display:flex;flex-direction:column;align-items:center;padding:0;background:linear-gradient(135deg,#080808f2,#10101aeb,#0a121af2);min-height:100vh;width:100vw;color:#fff;position:relative;overflow:hidden}.left-drawers-stack{position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:row;align-items:flex-start;z-index:2000;pointer-events:none}.left-drawers-stack>*{pointer-events:auto}.left-drawers-stack .simple-panel.left-drawer{margin-left:68px}@media (max-width:760px){.left-drawers-stack .simple-panel.left-drawer{margin-left:56px}}.simple-panel.left-drawer{position:relative;width:300px;max-width:320px;height:100vh;background:linear-gradient(165deg,#101622,#0d1220 55%,#0a0f19);border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 18px -6px #000000a6;padding:10px 10px 80px;display:flex;flex-direction:column}.unified-drawer{font-family:Inter,Segoe UI,sans-serif;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.unified-drawer h3{font-weight:600;letter-spacing:.5px}.unified-drawer .simple-list{padding-right:4px}.unified-drawer .simple-list::-webkit-scrollbar{width:6px}.unified-drawer .simple-list::-webkit-scrollbar-track{background:#ffffff0a}.unified-drawer .simple-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.unified-drawer .simple-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.simple-panel.left-drawer .simple-content{flex:1;overflow-y:auto}.simple-tabs.compact{display:flex;gap:6px;margin:2px 0 10px}.simple-tabs.compact .simple-tab{flex:1;padding:6px 4px;font-size:.55rem;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);letter-spacing:.5px}.simple-tabs.compact .simple-tab.active{background:linear-gradient(135deg,#4b3fa8,#2d254f);border-color:#ffd77859;color:#fff}.simple-tabs.compact .simple-tab:hover{background:#ffffff1f}.poster-wall{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;overflow:hidden;opacity:.05;pointer-events:none}@keyframes posterWallFloat{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-5px) translate(3px)}50%{transform:translateY(-10px) translate(-2px)}75%{transform:translateY(-3px) translate(4px)}}@keyframes posterGlow{0%,to{filter:grayscale(.4) sepia(.1) brightness(.9)}33%{filter:grayscale(.3) sepia(.2) brightness(1)}66%{filter:grayscale(.5) sepia(.15) brightness(.95)}}.movie-map-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(120,119,198,.15) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(255,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,206,84,.05) 0%,transparent 50%),linear-gradient(135deg,#0c0c0c33,#1a1a2e26,#0e1b2e33);pointer-events:none;z-index:5}.top-logout-container{position:fixed;top:20px;right:20px;z-index:1001;pointer-events:auto}.legend-stack{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.legend-toggle-btn{background:#14141ceb;border-color:#78b4ff4d}.legend-toggle-btn:hover{background:#283c5ad9;border-color:#8cc8ff8c}.canvas-stage{position:relative;width:100%;display:flex;justify-content:center}.canvas-stage canvas{position:relative;z-index:10}.legend-circle-btn{position:relative}.legend-circle-btn.active{background:#4678c859;border-color:#a0d2ffa6;box-shadow:0 0 18px #78b9ff73}.legend-circle-btn.active:hover{background:#5a8cdc73}@media (max-width: 640px){.legend-circle-btn{font-size:1.05rem}}.genre-legend-overlay{position:fixed;top:110px;right:20px;width:320px;max-height:60vh;background:#0a0e19eb;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px 16px 18px;z-index:1200;box-shadow:0 8px 32px #0009,0 0 24px #508cff40;display:flex;flex-direction:column;gap:12px;animation:fadeIn .25s ease-out}.legend-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.legend-title{font-size:.9rem;font-weight:600;letter-spacing:.5px;background:linear-gradient(90deg,#78a6ff,#c77dff);-webkit-background-clip:text;background-clip:text;color:transparent}.legend-close{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.legend-close:hover{background:#ffffff26;border-color:#8cc8ff73}.legend-families{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px}.legend-families::-webkit-scrollbar{width:6px}.legend-families::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.legend-families::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#78a6ff,#c77dff);border-radius:3px}.legend-family{display:flex;flex-direction:column;gap:6px}.family-name{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:#9db7e8;font-weight:600}.family-genres{display:flex;flex-wrap:wrap;gap:6px}.genre-item{display:inline-flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:4px 8px 4px 6px;font-size:.6rem;font-weight:500;letter-spacing:.4px;color:#e7ecf5;transition:all .25s ease;cursor:default}.genre-item:hover{background:#ffffff1a;border-color:#8cc8ff66}.swatch{width:14px;height:14px;border-radius:6px;box-shadow:0 0 0 2px #00000059,0 0 8px #ffffff26;flex-shrink:0}.g-label{white-space:nowrap}@media (max-width: 640px){.genre-legend-overlay{position:fixed;top:auto;bottom:20px;right:10px;width:260px;max-height:50vh;padding:12px 14px 16px}.legend-stack{top:10px;right:10px}}.btn-logout-top{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#000000eb;border:2px solid rgba(255,255,255,.2);border-radius:25px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003}.btn-logout-top:hover{background:#dc3545e6;border-color:#dc3545cc;transform:translateY(-2px);box-shadow:0 6px 20px #dc35454d}.btn-logout-top:active{transform:translateY(0);box-shadow:0 2px 10px #dc354566}.logout-icon{font-size:1.1rem;transition:transform .3s ease}.btn-logout-top:hover .logout-icon{transform:scale(1.1)}.logout-text{text-transform:uppercase;letter-spacing:.5px;font-weight:600}.panel-toggle-btn{position:fixed;top:20px;left:20px;z-index:100;display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#1e293be6,#334155cc);border:1px solid rgba(148,163,184,.3);border-radius:12px;color:#e2e8f0;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0003}.panel-toggle-btn:hover{background:linear-gradient(135deg,#334155e6,#475569cc);border-color:#94a3b880;transform:translateY(-1px);box-shadow:0 6px 16px #0000004d}.toggle-icon{font-size:12px;transition:transform .3s ease}.toggle-text{font-size:13px;white-space:nowrap}.category-controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;justify-content:center;width:100%;max-width:600px}.category-btn{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.2);color:#ffffffe6;padding:10px 16px;border-radius:20px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0003;white-space:nowrap;position:relative;overflow:hidden}.category-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.category-btn:hover:before{left:100%}.category-btn:hover{background:linear-gradient(135deg,#fff3,#ffffff1a);border-color:#fff6;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.category-btn.active{background:linear-gradient(135deg,#4a90e2,#357abd);border-color:#4a90e2;color:#fff;box-shadow:0 6px 20px #4a90e266;transform:translateY(-1px)}.category-btn.active:hover{background:linear-gradient(135deg,#5ba0f2,#4689cd);transform:translateY(-2px);box-shadow:0 8px 25px #4a90e299}@keyframes titleGlow{0%{text-shadow:0 0 20px rgba(255,215,0,.5)}to{text-shadow:0 0 40px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.6)}}.btn-fit-screen{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 12px;border-radius:50%;cursor:pointer;font-size:1.2em;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:45px;height:45px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #fff3}.btn-fit-screen:hover{background:#fff3;border-color:#ffffff80;transform:scale(1.05);box-shadow:0 0 25px #fff6}.btn-fit-screen:active{transform:scale(.95)}.btn-fit-screen{margin-right:8px}.btn-fit-screen:hover{background:#87cefa33;border-color:#87cefa80;box-shadow:0 0 25px #87cefa66}.btn-logout{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:2px solid rgba(255,107,107,.3);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #ff6b6b33;white-space:nowrap}.btn-logout:hover{background:linear-gradient(135deg,#ee5a52,#ff6b6b);border-color:#ff6b6b80;transform:translateY(-2px);box-shadow:0 4px 20px #ff6b6b66}.btn-logout:active{transform:translateY(0)}.help-text{font-size:.9em;opacity:.8;margin:10px 0 0;color:#ffffffe6}.legend{display:flex;justify-content:center;gap:20px;margin:15px 0;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;background:#ffffff1a;padding:8px 12px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.legend-item:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.legend-color{width:16px;height:16px;border-radius:50%;border:2px solid white;box-shadow:0 0 10px currentColor}.drawer-and-canvas{display:flex;justify-content:flex-end;align-items:flex-start;flex-direction:row-reverse;width:100%;gap:60px}canvas{background:radial-gradient(circle at 15% 25%,rgba(80,79,138,.2) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(155,79,138,.15) 0%,transparent 50%),radial-gradient(circle at 45% 60%,rgba(155,126,54,.1) 0%,transparent 50%),radial-gradient(circle at 75% 25%,rgba(107,31,174,.15) 0%,transparent 50%),radial-gradient(circle at 25% 80%,rgba(39,90,186,.18) 0%,transparent 50%),radial-gradient(ellipse at center,#131822f2,#080c14fa 70%,#020308),linear-gradient(135deg,#050505,#0f0f1a,#0c1520,#081c35,#070f1a);box-shadow:0 0 50px #000c,inset 0 0 50px #ffffff1a,0 0 100px #4299e14d,0 0 200px #9333ea33;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;z-index:10;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:block}.canvas-wrapper{position:fixed;inset:0 0 0 68px;width:auto;height:auto;display:flex;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden}@media (max-width:700px){.canvas-wrapper{left:56px}}.canvas-shell{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.canvas-shell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(120,119,198,.28) 0%,transparent 55%),radial-gradient(circle at 82% 72%,rgba(255,119,198,.2) 0%,transparent 55%),radial-gradient(circle at 38% 64%,rgba(255,206,84,.14) 0%,transparent 55%),radial-gradient(circle at 72% 28%,rgba(107,31,174,.22) 0%,transparent 55%),radial-gradient(circle at 28% 78%,rgba(39,90,186,.26) 0%,transparent 55%),linear-gradient(160deg,#05070d,#08111c 30%,#06192a 55%,#051225 75%,#05070d);box-shadow:0 0 60px #000000d9,inset 0 0 60px #ffffff12,0 0 120px #4299e138,0 0 240px #9333ea29;border-radius:0;pointer-events:none;opacity:.98}.canvas-shell:after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.9;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) .6px,transparent .9px,transparent 2px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.35) 0,transparent 60%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.28) 0,transparent 65%),radial-gradient(circle at 65% 40%,rgba(255,255,255,.18) 0,transparent 55%);filter:brightness(1.05) contrast(1.15) saturate(1.05)}.search-overlay{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:5000;display:flex;align-items:center}@media (max-width:900px){.search-overlay{top:14px}}@media (max-width:700px){.search-overlay{top:10px;width:100%;left:0;transform:none;justify-content:center;padding:0 10px}}.search-flex{display:flex;align-items:center;gap:14px;background:#0000008c;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);padding:10px 22px 10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:28px;box-shadow:0 8px 32px -8px #000000a6,0 0 0 1px #ffffff0d inset}.search-flex .search-container{width:640px;max-width:640px}@media (max-width:1100px){.search-flex .search-container{width:540px;max-width:540px}}@media (max-width:900px){.search-flex .search-container{width:460px;max-width:460px}}@media (max-width:700px){.search-flex{width:100%;padding:8px 14px;border-radius:22px}.search-flex .search-container{width:100%;max-width:100%}}.btn-reset-view{background:linear-gradient(145deg,#ffffff26,#ffffff0d);border:1px solid rgba(255,255,255,.25);color:#e3ecf5;font-size:.75rem;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600;letter-spacing:.5px;transition:.3s}.btn-reset-view:hover{background:linear-gradient(145deg,#ffffff40,#ffffff14);transform:translateY(-2px)}.btn-reset-view:active{transform:translateY(0)}svg{background:radial-gradient(circle at 15% 25%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(255,119,198,.2) 0%,transparent 50%),radial-gradient(circle at 45% 60%,rgba(255,206,84,.15) 0%,transparent 50%),radial-gradient(circle,#0f1419,#1a1a2e,#060911);border-radius:15px;box-shadow:0 10px 30px #00000080,0 0 50px #4299e14d}.movie-node text{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:500;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.7);fill:#fff}.link{pointer-events:none}.bookmark{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.tooltip{position:absolute;background:#000000f2;color:#fff;padding:12px;border-radius:12px;font-size:13px;pointer-events:none;z-index:1000;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);max-width:1200px;box-shadow:0 8px 32px #000c,0 0 20px #ffffff1a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.tooltip .cluster-top-movies{display:flex;flex-direction:row;gap:6px;margin:6px 0 4px;align-items:flex-start}.tooltip .cluster-top-movie-item{text-align:center;font-size:10px;line-height:1.1;color:#eee;display:flex;flex-direction:column;align-items:center}.tooltip .cluster-top-movie-item img{width:48px;height:72px;object-fit:cover;border-radius:4px;border:1px solid #333;box-shadow:0 2px 4px #00000080;margin-bottom:3px}.tooltip .cluster-top-movie-item .ctm-title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;max-width:54px;word-break:break-word}.tooltip:before{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);border-radius:12px;z-index:-1}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{background:linear-gradient(145deg,#2a2a2af2,#1a1a1af2),radial-gradient(circle at 20% 20%,rgba(66,153,225,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,119,198,.1) 0%,transparent 50%);padding:30px;border-radius:20px;min-width:400px;max-width:90vw;color:#fff;box-shadow:0 20px 40px #000000b3,0 0 50px #ffffff1a,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.modal-content:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);border-radius:20px;z-index:-1}.modal-content h3{margin:0 0 20px;color:gold;font-size:1.5em;text-shadow:0 0 20px rgba(255,215,0,.5)}.modal-content p{margin:10px 0;line-height:1.5;color:#ffffffe6}.interaction-buttons{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:25px;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:14px;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn:hover:before{width:100%;height:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000004d}.btn-seen{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;box-shadow:0 0 20px #4caf504d}.btn-seen:hover{box-shadow:0 0 30px #4caf5080,0 10px 25px #0000004d}.btn-want{background:linear-gradient(45deg,#ff9800,#f57c00);color:#fff;box-shadow:0 0 20px #ff98004d}.btn-want:hover{box-shadow:0 0 30px #ff980080,0 10px 25px #0000004d}.btn-primary{background:linear-gradient(45deg,#2196f3,#1976d2);color:#fff;box-shadow:0 0 20px #2196f34d}.btn-primary:hover{box-shadow:0 0 30px #2196f380,0 10px 25px #0000004d}.btn-secondary{background:linear-gradient(45deg,#666,#555);color:#fff;box-shadow:0 0 20px #6666664d}.btn-secondary:hover{box-shadow:0 0 30px #66666680,0 10px 25px #0000004d}.btn-close{background:linear-gradient(45deg,#666,#555);color:#fff;margin-top:20px;width:100%;box-shadow:0 0 20px #6666664d}.btn-close:hover{box-shadow:0 0 30px #66666680,0 10px 25px #0000004d}.form-input{width:100%;padding:15px;margin:10px 0;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;font-size:14px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input::placeholder{color:#fff9}.form-input:focus{outline:none;border-color:gold;background:#fff3;box-shadow:0 0 20px #ffd7004d}.form-buttons{display:flex;gap:10px;margin-top:20px}.form-buttons .btn{flex:1}@media (max-width: 768px){.movie-map-container{padding:10px}.top-logout-container{top:15px;right:15px}.btn-logout-top{padding:10px 16px;font-size:.85rem;border-radius:20px}.logout-text{display:none}.poster-item{width:90px;height:135px}.legend{gap:10px}.legend-item{padding:6px 8px;font-size:.9em}.controls-header{flex-direction:column;gap:10px}.category-controls{gap:8px;margin-bottom:15px}.category-btn{padding:8px 12px;font-size:.8rem;min-width:0}.modal-content{min-width:auto;width:90vw;max-width:400px;padding:20px;margin:20px}.interaction-buttons{flex-direction:column;gap:8px}.btn{padding:14px 20px;font-size:16px;min-height:48px}canvas{border-radius:10px}.help-text{font-size:.8em;text-align:center;padding:0 10px}}@media (max-width: 480px){.movie-map-container{padding:0}.top-logout-container{top:10px;right:10px}.btn-logout-top{padding:8px 12px;font-size:.8rem;border-radius:18px;min-width:44px;justify-content:center}.poster-item{width:70px;height:105px}.controls-header h2{font-size:1.4em}.category-controls{flex-direction:column;gap:5px}.category-btn{width:100%;text-align:center;padding:10px 16px}.modal-content{width:95vw;padding:15px;margin:10px;max-height:90vh;overflow-y:auto}.form-buttons{flex-direction:column;gap:8px}.btn{width:100%;min-height:50px;font-size:16px}.user-welcome{font-size:.75rem}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes starTwinkle{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes nebulaFlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cosmicPulse{0%,to{box-shadow:0 0 20px #fff3}50%{box-shadow:0 0 40px #fff6}}.keyboard-help-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.3);border-radius:20px;padding:25px;box-shadow:0 20px 40px #000c,0 0 60px #40e0d04d,inset 0 1px #fff3;animation:slideInFromTop .4s ease-out;min-width:350px;max-width:90vw}.keyboard-help-overlay:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(64,224,208,.2),transparent);border-radius:20px;z-index:-1}.keyboard-help-content h4{margin:0 0 20px;color:#40e0d0;font-size:1.4rem;text-align:center;text-shadow:0 0 20px rgba(64,224,208,.5);font-weight:600}.keyboard-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:20px}.shortcut-group{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.shortcut-group:hover{background:#ffffff1a;border-color:#40e0d04d;transform:translateY(-1px)}.shortcut-keys{font-family:Courier New,monospace;font-weight:700;color:gold;background:#ffd7001a;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,215,0,.3);font-size:.9rem;white-space:nowrap}.shortcut-desc{color:#ffffffe6;font-size:.9rem;text-align:right;font-weight:500}.keyboard-tip{text-align:center;margin:15px 0 0;font-size:.9rem;color:#ffffffb3;padding:10px;background:#40e0d01a;border-radius:8px;border:1px solid rgba(64,224,208,.2)}.keyboard-tip strong{color:#40e0d0;font-family:Courier New,monospace;background:#40e0d01a;padding:2px 6px;border-radius:4px;border:1px solid rgba(64,224,208,.3)}@media (max-width: 768px){.keyboard-help-overlay{min-width:auto;width:95vw;max-width:none;padding:20px}.keyboard-shortcuts{grid-template-columns:1fr;gap:10px}.shortcut-group{padding:10px}.keyboard-help-content h4{font-size:1.2rem}.shortcut-keys,.shortcut-desc{font-size:.85rem}}@media (max-width: 480px){.keyboard-help-overlay{width:98vw;padding:15px;top:45%}.keyboard-help-content h4{font-size:1.1rem;margin-bottom:15px}.shortcut-group{padding:8px;flex-direction:column;gap:4px;text-align:center}.shortcut-desc{text-align:center}.keyboard-tip{font-size:.8rem;padding:8px}}.modal-content{animation:fadeIn .3s ease-out}.interaction-actions-modern{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.interaction-current-state{display:inline-flex;align-items:center;gap:6px;padding:8px 12px 7px;border-radius:999px;font-size:.65rem;letter-spacing:.5px;background:linear-gradient(135deg,#ffd70040,#ffa50026);border:1px solid rgba(255,215,0,.4);color:#fff;box-shadow:0 2px 10px -2px #00000080}.interaction-current-state .ics-icon{font-size:.95rem;line-height:1}.interaction-current-state.state-watched{background:linear-gradient(135deg,#46c87840,#28a05a33);border-color:#50d2828c}.interaction-current-state.state-watchlist{background:linear-gradient(135deg,#ffd70040,#ffa5002e)}.ia-btn{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:Orbitron,"Exo 2",sans-serif;font-size:.7rem;padding:10px 14px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff;cursor:pointer;letter-spacing:.5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .25s ease;min-width:90px}.ia-btn:hover{background:#ffffff1a;border-color:#ffd70059;box-shadow:0 4px 14px -4px #0000008c;transform:translateY(-2px)}.ia-btn:active{transform:translateY(0)}.ia-icon{font-size:1rem;line-height:1}.ia-label{pointer-events:none}.ia-primary{background:linear-gradient(135deg,#2d254f,#4b3fa8);border-color:#8c6eff80}.ia-primary:hover{background:linear-gradient(135deg,#3a2f6a,#5c4ed3)}.ia-danger{background:linear-gradient(135deg,#522323,#7a2d2d);border-color:#7a2d2d}.ia-danger:hover{background:linear-gradient(135deg,#6a2b2b,#993939)}.modal-content.movie-detail-modal{display:grid;grid-template-columns:160px 1fr;gap:24px;max-width:780px}.movie-detail-poster{width:160px;height:240px;border-radius:12px;overflow:hidden;box-shadow:0 4px 22px -4px #0009;background:#121826;position:relative}.movie-detail-poster img{width:100%;height:100%;object-fit:cover;display:block}.movie-detail-body{display:flex;flex-direction:column}.movie-detail-body h3{font-size:1.4rem;line-height:1.2;margin-bottom:6px}.movie-detail-modal{animation:fadeIn .35s ease-out}.movie-detail-modal .interaction-actions-modern{margin-top:14px}.movie-detail-modal .btn-close{margin-top:18px}@media (max-width: 640px){.modal-content.movie-detail-modal{grid-template-columns:1fr}.movie-detail-poster{width:100%;height:300px}}.movie-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:14px 0 6px}.meta-pill{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:8px;font-size:.55rem;letter-spacing:.6px;color:#cfd6e5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.meta-pill strong{display:block;font-size:.6rem;color:gold;margin-bottom:2px;font-weight:600}.meta-value{font-weight:700;color:#e0e6f2;font-size:small}.movie-description{font-size:.7rem;line-height:1.4;color:#dce2ee;max-height:160px;overflow:auto;padding-right:4px}.movie-description::-webkit-scrollbar{width:6px}.movie-description::-webkit-scrollbar-track{background:#00000040}.movie-description::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:3px}.movie-node circle{transition:all .2s ease;animation:starTwinkle 2s ease-in-out infinite}.movie-node:hover circle{filter:brightness(1.2) drop-shadow(0 0 10px currentColor);animation:starTwinkle .5s ease-in-out infinite}.btn:hover{animation:cosmicPulse 1s ease-in-out infinite}.legend-item:hover .legend-color{animation:nebulaFlow 2s linear infinite}.map-controls{display:flex}:root{--drawer-bg-gradient: linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 25%, #16213e 55%, #0f3460 78%, #0e1b2e 100%);--drawer-border-accent: rgba(255, 215, 0, .35);--drawer-border-soft: rgba(255, 215, 0, .2);--drawer-glow-color: rgba(255, 215, 0, .25);--drawer-text-primary: #fff;--drawer-text-dim: rgba(255,255,255,.7);--drawer-radius: 12px;--drawer-blur: 18px;--drawer-width: 380px;--drawer-header-height: 64px}@keyframes shimmerDrawerTitle{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.constellation-drawer{position:fixed;top:0;right:calc(-1 * var(--drawer-width) - 20px);width:var(--drawer-width);max-width:92vw;height:100vh;background:var(--drawer-bg-gradient);box-shadow:-5px 0 15px #00000059;border-left:2px solid var(--drawer-border-accent);backdrop-filter:blur(var(--drawer-blur));-webkit-backdrop-filter:blur(var(--drawer-blur));display:flex;flex-direction:column;padding:0 0 85px;transition:right .45s cubic-bezier(.77,.2,.18,.98);z-index:2500;font-family:Orbitron,"Exo 2",sans-serif;overflow:hidden;border-top-left-radius:var(--drawer-radius);border-bottom-left-radius:var(--drawer-radius)}.constellation-drawer.open{right:0}.constellation-drawer-header{height:var(--drawer-header-height);display:flex;align-items:center;justify-content:space-between;padding:18px 22px 16px;background:linear-gradient(135deg,#ffd7002e,#ffa50014);border-bottom:1px solid var(--drawer-border-soft);position:relative;box-shadow:0 4px 18px -6px #00000073}.constellation-drawer-header h3{margin:0;font-size:1.15rem;letter-spacing:1px;font-weight:600;background:linear-gradient(45deg,gold,orange,gold);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerDrawerTitle 3.2s ease-in-out infinite;text-shadow:0 0 18px var(--drawer-glow-color);display:flex;align-items:center;gap:6px}.constellation-drawer-embedded{display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:15px}.constellation-content{display:flex;flex-direction:column;overflow-y:auto;gap:10px;width:calc(100% + 12px);margin-right:-12px;padding-right:12px;box-sizing:border-box}.constellation-drawer-embedded .constellation-form{padding:4px 2px 2px}.constellation-drawer-embedded .constellation-footer{margin-top:4px}.constellation-drawer .constellation-movie-item:hover{border-color:#b4d7ff8c;background:linear-gradient(150deg,#3c5a8c59,#1923378c);transform:translateY(-2px);box-shadow:0 0 0 1px #ffffff0d,0 8px 18px -8px #000000b3}.constellation-drawer .thumb-wrapper{width:50px;height:74px;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 2px 4px -1px #0009,0 5px 18px -6px #0000008c}.constellation-drawer .movie-title{font-size:.68rem;font-weight:600;letter-spacing:.5px}.constellation-drawer .movie-genres{font-size:.5rem;text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-top:4px}.constellation-drawer .btn-remove{width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.15);color:#ffb3b3;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.35s}.constellation-drawer .btn-remove:hover{background:linear-gradient(145deg,#ff5a5a66,#ff5a5a33);color:#fff;border-color:#ff8c8c99}.constellation-drawer .empty-hint{background:linear-gradient(120deg,#ffffff0a,#ffffff05);border:1px dashed rgba(140,180,240,.35);padding:18px 14px;border-radius:14px;font-size:.6rem;letter-spacing:.5px}.btn-close-x{background:#ffd700e0;border:none;color:#000;cursor:pointer;font-size:14px;line-height:1;width:40px;height:40px;border-radius:8px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059;transition:all .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-close-x:hover{background:gold;transform:translateY(-2px);box-shadow:0 4px 14px #00000073}.constellation-form{display:flex;flex-direction:column;gap:10px;padding:14px 18px 6px}.constellation-input,.constellation-textarea{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);color:var(--drawer-text-primary);border-radius:8px;padding:10px 12px;font-size:.75rem;font-family:inherit;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.constellation-input:focus,.constellation-textarea:focus{outline:none;border-color:var(--drawer-border-accent);box-shadow:0 0 0 2px #ffd70040;background:#ffffff12}.constellation-movie-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) rgba(255,255,255,.04);width:calc(100% + 12px);margin-right:-12px;padding-right:12px;box-sizing:border-box}.constellation-movie-item{display:flex;flex-shrink:0;gap:10px;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;position:relative;transition:all .3s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.constellation-movie-item:hover{background:#ffffff14;border-color:var(--drawer-border-accent);box-shadow:0 4px 14px -4px #00000080;transform:translateY(-2px)}.thumb-wrapper{width:46px;height:66px;flex-shrink:0;overflow:hidden;border-radius:6px;background:#222;display:flex;align-items:center;justify-content:center;position:relative}.thumb-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.thumb-fallback{font-size:.75rem;color:#aaa}.movie-meta{flex:1;min-width:0}.movie-title{font-size:.68rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.movie-genres{font-size:.5rem;text-transform:uppercase;letter-spacing:.5px;color:#7aa2ff;opacity:.75;margin-top:4px}.btn-remove{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#bbb;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.btn-remove:hover{background:#ffd70033;color:#fff;border-color:var(--drawer-border-accent)}.empty-hint{font-size:.65rem;color:#89b;padding:12px 8px;text-align:center}.constellation-footer{position:absolute;bottom:0;left:0;right:0;padding:14px 18px 18px;background:linear-gradient(to top,#0c1222f2,#0c1222d9 65%,#0c122200);display:flex;flex-direction:column;gap:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-save-constellation{width:100%}.msg{font-size:.6rem;text-align:center;padding:6px 8px;border-radius:6px}.msg.error{background:#432020;color:#ff9d9d;border:1px solid #7a2d2d}.msg.success{background:#203f2a;color:#a6ffb5;border:1px solid #2d7a4b}.zoom-controls{position:fixed;bottom:24px;right:24px;z-index:4000;display:flex;flex-direction:column;align-items:center;gap:0;background:#000000d9;border:1px solid rgba(255,255,255,.15);border-radius:20px;overflow:hidden;box-shadow:0 4px 18px -4px #000000b3,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.zoom-btn{appearance:none;border:none;width:46px;height:46px;font-size:1.65rem;font-weight:600;font-family:Inter,Segoe UI,sans-serif;color:#fff;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s ease,transform .25s ease}.zoom-btn:focus{outline:none;box-shadow:0 0 0 2px #ffd70059 inset}.zoom-btn:hover{background:#ffffff14}.zoom-btn:active{transform:translateY(2px)}.zoom-separator{width:70%;height:1px;background:linear-gradient(90deg,#fff0,#ffffff59,#fff0);opacity:.6}@media (max-width:700px){.zoom-controls{bottom:14px;right:14px}.zoom-btn{width:42px;height:42px;font-size:1.45rem}}.search-bar{position:relative;width:100%;max-width:400px;z-index:1000}.search-input-container{position:relative;display:flex;align-items:center}.search-input{width:100%;color:#fff;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 40px 12px 16px;border-width:2px;border-style:solid;border-color:#fff3;border-image:initial;border-radius:25px;background:#000c;outline:none;transition:.3s}.search-input:focus{background:linear-gradient(145deg,#ffd7001f,#ffffff14);box-shadow:inset 0 2px 8px #ffd7001a;transform:scale(1.01)}.search-input::placeholder{color:#ffffff80;font-weight:400;font-style:italic;transition:all .3s ease}.search-input:focus::placeholder{color:#ffd70099;transform:translate(2px)}.search-clear{position:absolute;right:10px;background:linear-gradient(145deg,#ffffff26,#ffffff14);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fffc;cursor:pointer;font-size:12px;font-weight:600;padding:6px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0003;z-index:2}.search-clear:hover{background:linear-gradient(145deg,#ffd70040,#ffa50026);border-color:#ffd7004d;color:gold;transform:scale(1.15) rotate(90deg);box-shadow:0 4px 15px #ffd70033}.search-clear:active{transform:scale(1.05) rotate(90deg)}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#000000f2;border:1px solid rgba(255,215,0,.3);border-radius:16px;margin-top:12px;max-height:320px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 12px 40px #000c,0 0 20px #ffd7001a;z-index:1001;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-dropdown::-webkit-scrollbar{width:6px}.search-dropdown::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.search-dropdown::-webkit-scrollbar-thumb{background:#ffd70080;border-radius:3px}.search-dropdown::-webkit-scrollbar-thumb:hover{background:#ffd700b3}.search-result{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.1)}.search-result:last-child{border-bottom:none}.search-result:hover,.search-result.selected{background:#ffd7001a;border-left:3px solid #FFD700}.search-result-content{flex:1;min-width:0}.search-result-title{font-size:14px;font-weight:500;color:#fff;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-genre{font-size:12px;color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-icon{font-size:18px;margin-left:12px;opacity:.7;transition:opacity .2s ease}.search-result:hover .search-result-icon,.search-result.selected .search-result-icon{opacity:1}.search-highlight{background:#ffd7004d;color:gold;font-weight:700;padding:1px 2px;border-radius:2px}.search-no-results{padding:24px 16px;text-align:center;color:#fff9}.search-no-results-icon{font-size:32px;margin-bottom:12px;opacity:.5}.search-no-results-text{font-size:14px;margin-bottom:4px;color:#fffc}.search-no-results-hint{font-size:12px;color:#ffffff80}@media (max-width: 768px){.search-bar{max-width:100%}.search-input-container{border-radius:25px;box-shadow:0 6px 25px #00000080,inset 0 1px #ffffff1a}.search-input{padding:12px 40px 12px 16px;font-size:16px;letter-spacing:.2px}.search-clear{right:8px;width:24px;height:24px;font-size:11px}.search-input-container:hover{transform:translateY(-1px)}.search-input-container:focus-within{transform:translateY(-2px) scale(1.01)}.search-dropdown{max-height:240px}.search-result{padding:10px 14px}.search-result-title{font-size:13px}.search-result-genre{font-size:11px}}.fd-body{flex:1;overflow-y:auto;scroll-behavior:smooth;padding-bottom:8px}.fd-footer{padding:10px 0 4px;margin-top:8px;border-top:1px solid rgba(255,215,0,.25);background:linear-gradient(145deg,#0a0f1966,#19233c40);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fd-footer-inner{display:flex;flex-direction:column;gap:10px}@keyframes fdShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.fd-section{padding:14px 4px 14px 2px;border-bottom:1px solid rgba(255,215,0,.18);position:relative}.fd-section:last-of-type{border-bottom:none}.fd-section:before{content:"";position:absolute;inset:0;padding:1px;border-radius:12px;background:linear-gradient(120deg,#ffd70059,#ffa50026 35%,#78a0ff2e 70%,#ffd70059);opacity:0;pointer-events:none;transition:opacity .4s ease;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.fd-section:hover:before{opacity:.45}.fd-label{display:block;font-size:.62rem;letter-spacing:.08em;font-weight:600;margin:0 0 6px 2px;text-transform:uppercase;color:#ffd700d9}input[type=text],input[type=number]{width:100%;background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 10px;color:#e6edf5;font-size:.75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}input[type=text]:focus,input[type=number]:focus{outline:none;border-color:#ffd700a6;box-shadow:0 0 0 1px #ffd70059,0 0 12px -2px #ffd70073}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chips.scrollable{max-height:120px;overflow-y:auto;padding-right:4px}.chip{--chip-bg:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.03));--chip-border:rgba(255,255,255,.25);--chip-color:rgba(255,255,255,.85);background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--chip-color);font-size:.58rem;padding:5px 9px;border-radius:18px;cursor:pointer;letter-spacing:.5px;transition:background .35s ease,transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease;backdrop-filter:blur(4px) saturate(160%);-webkit-backdrop-filter:blur(4px) saturate(160%)}.chip:hover{transform:translateY(-2px);box-shadow:0 6px 14px -2px #00000059,0 0 0 1px #ffffff26}.chip.active{--chip-bg:linear-gradient(145deg,rgba(255,215,0,.45),rgba(255,165,0,.25));--chip-border:rgba(255,215,0,.65);--chip-color:#111;box-shadow:0 6px 14px -2px #ffd70059,0 0 0 1px #ffd70059,0 0 18px -4px #ffd70073;transform:translateY(-2px)}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.genre-item{position:relative;background:linear-gradient(140deg,#ffffff1a,#ffffff05);border:1px solid rgba(255,255,255,.18);color:#e6e6e6;font-size:.5rem;padding:6px;border-radius:10px;cursor:pointer;letter-spacing:.4px;line-height:1.1;min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center;text-transform:uppercase;font-weight:600;-webkit-user-select:none;user-select:none;transition:background .35s ease,transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease}.genre-item.active{background:linear-gradient(145deg,var(--genre-color,#FFD700),rgba(255,165,0,.55));color:#111;box-shadow:0 6px 14px -2px #ffd70059,0 0 0 1px #ffd70073,0 0 20px -4px #ffd70073;border-color:#ffd700a6}.genre-item:hover:not(.active){transform:translateY(-2px);box-shadow:0 6px 14px -2px #00000059,0 0 0 1px #ffffff26}.btn-secondary{--btn-bg:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.05));--btn-border:rgba(255,255,255,.25);--btn-color:#fff;position:relative;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-color);font-size:.6rem;cursor:pointer;padding:9px 14px;border-radius:10px;font-weight:600;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:4px;min-width:46px;outline:none;transition:background .35s ease,transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease;-webkit-backdrop-filter:blur(6px) saturate(160%);backdrop-filter:blur(6px) saturate(160%)}.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 6px 14px -2px #00000080,0 0 0 1px #ffffff26}.btn-secondary:focus-visible{box-shadow:0 0 0 2px #000,0 0 0 3px #ffd700e6;border-color:gold}.fd-body::-webkit-scrollbar{width:8px}.fd-body::-webkit-scrollbar-track{background:#00000040}.fd-body::-webkit-scrollbar-thumb{background:#ffd70059;border-radius:4px}.fd-body::-webkit-scrollbar-thumb:hover{background:#ffd7008c}@media (max-width:750px){.genre-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.simple-toggle-bar{z-index:1000;background:linear-gradient(135deg,#0c0c0c,#1a1a2e,#16213e);border-top-right-radius:12px;border-bottom-right-radius:12px;box-shadow:2px 0 15px #0006;border-right:2px solid rgba(255,215,0,.3);border-top:1px solid rgba(255,215,0,.2);border-bottom:1px solid rgba(255,215,0,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.simple-toggle-btn{background:transparent;border:none;color:#ffd700e6;cursor:pointer;font-size:18px;font-weight:700;padding:20px 12px;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.simple-toggle-btn:hover{color:gold;background:#ffd7001a}.simple-panel{width:var(--drawer-width, 400px);max-width:90vw;height:100vh;background:var(--drawer-bg-gradient, linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 25%, #16213e 50%, #0f3460 75%, #0e1b2e 100%));box-shadow:-5px 0 15px #00000059;border-left:2px solid var(--drawer-border-accent, rgba(255, 215, 0, .3));backdrop-filter:blur(var(--drawer-blur, 20px));-webkit-backdrop-filter:blur(var(--drawer-blur, 20px));z-index:1000;display:flex;flex-direction:column;overflow:hidden;font-family:Orbitron,"Exo 2",sans-serif;border-top-right-radius:var(--drawer-radius, 12px);border-bottom-right-radius:var(--drawer-radius, 12px)}.simple-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 16px;background:linear-gradient(135deg,#ffd7002e,#ffa50014);color:var(--drawer-text-primary, #fff);border-bottom:1px solid var(--drawer-border-soft, rgba(255,215,0,.25));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1;box-shadow:0 4px 18px -6px #00000073}.simple-header h3{margin:0;font-size:1.15rem;font-weight:600;background:linear-gradient(45deg,gold,orange,gold);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerDrawerTitle 3.2s ease-in-out infinite;text-shadow:0 0 18px var(--drawer-glow-color, rgba(255,215,0,.25));letter-spacing:1px}.simple-close-btn{background:#ffd700e6;border:none;border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;color:#000;box-shadow:0 2px 8px #0000004d;transition:all .2s ease;z-index:1001}.simple-close-btn:hover{background:gold;transform:scale(1.05);box-shadow:0 3px 12px #0006}.simple-tabs{display:flex;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,215,0,.2);padding:0}.simple-tab{flex:1;background:transparent;border:none;color:#ffffffb3;padding:15px 8px;cursor:pointer;font-size:11px;font-weight:500;transition:all .3s ease;border-bottom:2px solid transparent;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-tab:hover{background:#ffd7001a;color:#ffffffe6;border-bottom-color:#ffd7004d}.simple-tab.active{background:#ffd70033;color:gold;border-bottom-color:gold;box-shadow:0 2px 8px #ffd70033}.simple-content{flex:1;overflow-y:auto;padding:0}.simple-empty{padding:60px 30px;text-align:center;color:#fff9}.simple-empty p{margin:10px 0;font-size:1rem;color:#ffffffb3}.simple-list{padding:0}.simple-movie-item.row-layout{display:flex;flex-direction:row;position:relative;background:linear-gradient(135deg,#ffffff0f,#ffffff05);margin:12px 16px;border-radius:14px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease;overflow:hidden;min-height:110px}.simple-movie-item .simple-movie-body{display:flex;flex-direction:column;flex:1;gap:6px;padding:10px 14px 10px 4px}.simple-movie-item:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(120deg,#ffd70073,#ffa50026 35%,#78a0ff2e 70%,#ffd70066);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.55;transition:opacity .4s ease}.simple-movie-item:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(255,215,0,.15),transparent 60%),radial-gradient(circle at 85% 80%,rgba(0,140,255,.12),transparent 65%);opacity:.4;mix-blend-mode:screen;pointer-events:none;transition:opacity .4s ease}.simple-movie-item:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 10px 28px -6px #0000008c,0 0 0 1px #ffd70026,0 0 22px -4px #ffd70059}.simple-movie-item:hover:before{opacity:1}.simple-movie-item:hover:after{opacity:.55}.simple-movie-poster{position:relative;flex-shrink:0;width:60px;height:90px;border-radius:8px;overflow:hidden;margin:12px 0 8px 12px}.poster-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.poster-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#ffd70033,#ffa5001a);display:flex;align-items:center;justify-content:center;font-size:24px;color:#ffd700b3;border:1px solid rgba(255,215,0,.3)}.hover-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer}.simple-movie-poster:hover .hover-overlay{opacity:1}.simple-movie-poster:hover .poster-image{transform:scale(1.05)}.view-details-text{color:gold;font-size:11px;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}.simple-movie-info{flex:1;min-width:calc(100% - 90px);padding:12px 12px 4px 0;cursor:pointer}.simple-movie-info h4{margin:0 0 8px;color:#fff;font-size:.85rem;font-weight:600;line-height:1.3}.simple-movie-item.row-layout{display:flex;flex-direction:row;position:relative;background:linear-gradient(135deg,#ffffff0f,#ffffff05);margin:12px 16px;border-radius:14px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease;overflow:hidden;min-height:110px;gap:18px;align-items:stretch}.simple-movie-info p{margin:0 0 8px;color:#fff9;font-size:.8rem}.movie-genres{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.movie-genres .simple-movie-poster{position:relative;flex-shrink:0;width:72px;height:108px;border-radius:10px;overflow:hidden;margin:12px 0 12px 12px;box-shadow:0 4px 14px -4px #0000008c}.genre-tag{background:#ffd70033;color:gold;padding:2px 8px;border-radius:12px;font-size:.5rem;font-weight:500;border:1px solid rgba(255,215,0,.3)}.genre-tag .simple-movie-item .simple-movie-body{display:flex;flex-direction:column;flex:1;gap:6px;padding:12px 14px 12px 0;min-width:0}.genre-tag .simple-actions.inline{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap;align-items:center}.genre-tag .simple-actions.inline .action-btn{padding:6px 10px;min-width:38px;font-size:11px;border-radius:8px}.genre-tag .simple-actions.inline .action-btn.locate:hover,.genre-tag .simple-actions.inline .action-btn.delete:hover{transform:translateY(-2px)}.simple-movie-item .simple-movie-body{padding:10px 12px 10px 0}.simple-rating{margin:8px 0;font-size:.8rem;color:gold;font-weight:500}.simple-rating .simple-actions.inline .action-btn{padding:6px 10px;min-width:36px}.simple-rating .simple-movie-poster{width:68px;height:102px}.simple-actions.inline{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.simple-actions .action-btn{--btn-bg: rgba(255,255,255,.08);--btn-border: rgba(255,255,255,.25);--btn-color: rgba(255,255,255,.85);position:relative;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-color);font-size:13px;cursor:pointer;padding:10px 14px;border-radius:10px;font-weight:500;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:4px;min-width:46px;outline:none;transition:background .35s ease,transform .35s cubic-bezier(.4,.14,.3,1),box-shadow .35s ease,border-color .35s ease;backdrop-filter:blur(6px) saturate(160%);-webkit-backdrop-filter:blur(6px) saturate(160%)}.simple-actions .action-btn .icon{filter:drop-shadow(0 0 4px rgba(0,0,0,.35))}.simple-actions .action-btn.locate{--btn-bg: linear-gradient(145deg, rgba(0,132,255,.25), rgba(0,80,200,.15));--btn-border: rgba(0,132,255,.45);--btn-color: #d9efff;box-shadow:0 0 #0084ff66}.simple-actions .action-btn.locate:hover{transform:translateY(-3px);box-shadow:0 6px 14px -2px #0084ff66,0 0 0 1px #00a2ff80,0 0 18px -4px #0084ff80;border-color:#00a2ffa6}.simple-actions .action-btn.delete{--btn-bg: linear-gradient(145deg, rgba(255,60,60,.25), rgba(120,0,0,.25));--btn-border: rgba(255,60,60,.45);--btn-color: #ffecec;box-shadow:0 0 #ff3c3c66}.simple-actions .action-btn.delete:hover{transform:translateY(-3px) rotate(-6deg);box-shadow:0 6px 16px -2px #ff3c3c73,0 0 0 1px #ff5a5a80,0 0 20px -4px #ff3c3c73;border-color:#ff5a5ab3}.simple-actions .action-btn:active{transform:translateY(-1px) scale(.95);box-shadow:0 3px 8px -1px #00000080 inset}.simple-actions .action-btn:focus-visible{box-shadow:0 0 0 2px #000,0 0 0 3px #ffd700e6;border-color:gold}@media (max-width: 520px){.simple-panel{width:88vw}.simple-movie-item{margin:10px}.simple-movie-info{min-width:100%;padding-right:12px}.simple-movie-item.row-layout{flex-direction:row}.simple-movie-item .simple-movie-body{padding:10px 12px 10px 4px}.simple-actions.inline{margin-top:4px}.simple-actions .action-btn{min-width:42px;padding:8px 12px}}.simple-content::-webkit-scrollbar{width:6px}.simple-movie-item.row-layout{align-items:center}.simple-content::-webkit-scrollbar-track{background:#0003}.simple-content::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:3px}.simple-content::-webkit-scrollbar-thumb:hover{background:#ffd70080}.star-rating,.star-rating.integer{display:inline-flex;align-items:center;gap:4px;--star-size: 22px;font-family:Orbitron,"Exo 2",sans-serif;--color-empty:#888c92;--color-low:#ff6b5e;--color-mid:#ffb347;--color-high:#ffd860;--color-perfect:#7dde7f}.star-rating.integer.readonly button{cursor:default}.star-full{background:transparent;border:none;padding:0;margin:0;font-size:var(--star-size);line-height:1;color:var(--color-empty);cursor:pointer;transition:transform .18s ease,color .25s ease,text-shadow .25s ease;filter:drop-shadow(0 0 2px rgba(0,0,0,.35))}.star-full.filled{color:var(--color-high);text-shadow:0 0 4px rgba(0,0,0,.35)}.star-full:hover:not(:disabled){transform:scale(1.18)}.star-rating.integer .star-full:active{transform:scale(.95)}.star-full:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:2px;border-radius:4px}.star-rating-int-text{font-size:.55rem;opacity:.9;margin-left:4px;letter-spacing:.5px;min-width:26px;text-align:right;font-weight:600;color:var(--color-high)}.star-rating.integer.rating-tier-none .star-full.filled{color:var(--color-empty);text-shadow:none}.star-rating.integer.rating-tier-none .star-rating-int-text{color:var(--color-empty)}.star-rating.integer.rating-tier-low .star-full.filled{color:var(--color-low);text-shadow:0 0 5px rgba(255,107,94,.45)}.star-rating.integer.rating-tier-low .star-rating-int-text{color:var(--color-low)}.star-rating.integer.rating-tier-mid .star-full.filled{color:var(--color-mid);text-shadow:0 0 5px rgba(255,179,71,.45)}.star-rating.integer.rating-tier-mid .star-rating-int-text{color:var(--color-mid)}.star-rating.integer.rating-tier-high .star-full.filled{color:var(--color-high);text-shadow:0 0 6px rgba(255,216,96,.55)}.star-rating.integer.rating-tier-high .star-rating-int-text{color:var(--color-high)}.star-rating.integer.rating-tier-perfect .star-full.filled{color:var(--color-perfect);text-shadow:0 0 6px rgba(125,222,127,.55)}.star-rating.integer.rating-tier-perfect .star-rating-int-text{color:var(--color-perfect)}.star-rating.integer:not(.readonly):hover .star-full{color:#616161}.star-rating.integer:not(.readonly) .star-full:hover,.star-rating.integer:not(.readonly) .star-full:hover~.star-full{color:var(--color-empty)}.star-rating.integer.readonly .star-full{cursor:default}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:68px;background:linear-gradient(180deg,#0b0e15,#121a2a 55%,#0b0e15);border-right:1px solid rgba(255,255,255,.08);z-index:3000;display:flex;flex-direction:column}.sb-inner{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 6px 14px;gap:14px}.sb-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ffd86b,#ff9d2d);display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 16px -4px #0009;margin-top:4px}.sb-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px;width:100%}.sb-btn{position:relative;width:100%;border:none;background:#ffffff0d;color:#e4ecf5;cursor:pointer;border-radius:14px;padding:10px 4px 8px;font-size:.55rem;font-weight:600;letter-spacing:.5px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:.35s;box-shadow:0 2px 6px -2px #0000008c}.sb-btn .sb-icn{font-size:1.15rem;line-height:1}.sb-btn.active,.sb-btn:hover{background:linear-gradient(145deg,#2d3a55,#192233);color:#fff;box-shadow:0 4px 14px -4px #000000a6,0 0 0 1px #ffffff1f}.sb-btn.active{background:linear-gradient(145deg,#4b3fa8,#2d254f);box-shadow:0 4px 16px -4px #4632a0a6,0 0 0 1px #ffd77866}.sb-btn:active{transform:translateY(1px)}.sb-lbl{font-size:.55rem;opacity:.85;text-transform:uppercase}@media (max-width: 760px){.app-sidebar{width:56px}.sb-logo{width:40px;height:40px;font-size:1.2rem}.sb-btn{border-radius:12px}}.constellations-list{padding:4px 2px 18px;display:flex;flex-direction:column}.constellation-card{position:relative;border:1px solid rgba(120,160,220,.28);background:linear-gradient(145deg,#32466e2e,#161e3059);border-radius:14px;padding:10px 10px 8px;margin:0 0 12px;cursor:pointer;overflow:hidden;transition:border-color .35s,background .4s,transform .35s;display:flex;flex-direction:column}.constellation-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(180,220,255,.18),transparent 65%);opacity:0;transition:opacity .5s;pointer-events:none}.constellation-card:hover{border-color:#b4d7ff8c;background:linear-gradient(150deg,#3c5a8c59,#1923378c)}.constellation-card:hover:before{opacity:1}.constellation-card.active{border-color:#ffd778bf;box-shadow:0 0 0 1px #ffd77840,0 0 14px -2px #ffc85a59}.constellation-card.constellation-create-card{border-style:solid}.constellation-card.constellation-create-card .plus-thumb{font-size:1.4rem;font-weight:400;color:#ffffffe6;display:flex;align-items:center;justify-content:center;letter-spacing:1px}.constellation-thumbs{display:flex;gap:6px;margin:2px 0 6px}.constellation-thumb{width:50px;height:74px;background:#101726;border-radius:8px;overflow:hidden;position:relative;flex-shrink:0;box-shadow:0 0 0 1px #ffffff0a,0 2px 4px -1px #0009,0 5px 18px -6px #0000008c;display:flex;align-items:center;justify-content:center;font-size:.5rem;color:#b7c8dd}.constellation-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}.constellation-meta h4{margin:0 0 2px;font-size:.7rem;font-weight:600;letter-spacing:.5px;color:#fff}.constellation-meta p{margin:0}.constellation-count{font-size:.5rem;opacity:.75;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.constellation-desc{font-size:.5rem;opacity:.55;line-height:1.2}.constellation-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px}.constellation-actions button{background:linear-gradient(130deg,#ffd782,#ffaf3f);color:#1b2028;font-weight:600;font-size:.55rem;border:none;padding:6px 10px 5px;border-radius:30px;cursor:pointer;letter-spacing:.4px;box-shadow:0 2px 6px -2px #0000008c,0 0 0 1px #ffffff47 inset;transition:.35s}.constellation-actions button:hover{transform:translateY(-2px);box-shadow:0 5px 14px -5px #000000a6,0 0 0 1px #fff6 inset}.constellation-actions button:active{transform:translateY(0)}@media (max-width:1100px){.constellation-thumb{width:44px;height:64px}}@media (max-width:780px){.constellation-thumb{width:40px;height:58px}}:root{--drawer-bg: linear-gradient(160deg,#111722 0%,#101722 30%,#0c131d 65%,#0a121c 100%);--drawer-border: rgba(255,255,255,.08);--drawer-border-accent: rgba(170,200,255,.25);--drawer-shadow: 0 8px 28px -6px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05);--drawer-radius: 0 14px 14px 0;--drawer-header-bg: linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));--drawer-header-border: rgba(255,255,255,.07);--drawer-scroll-track: transparent;--drawer-scroll-thumb: rgba(110,140,180,.45);--drawer-scroll-thumb-hover: rgba(150,190,240,.55);--drawer-text: #e3ecf5;--drawer-title-size: 15px;--drawer-transition: cubic-bezier(.4,.14,.3,1);--drawer-accent: #ffd86b;--drawer-accent-glow: 0 0 0 1px rgba(255,216,107,.35),0 0 14px -2px rgba(255,216,107,.4);--drawer-gradient-accent: linear-gradient(135deg,#292f47,#3a4664 45%,#1a2133);--drawer-glass: linear-gradient(140deg,rgba(255,255,255,.06),rgba(255,255,255,.02));--drawer-noise-opacity: .18;--drawer-star-size: 1.4px;--drawer-star-color: rgba(255,255,255,.9);--drawer-star-twinkle: 4s}.app-drawer{top:0;bottom:0;transform:translate(-110%);transition:transform .45s var(--drawer-transition),box-shadow .45s var(--drawer-transition),backdrop-filter .45s ease;background:var(--drawer-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-right:1px solid var(--drawer-border);box-shadow:var(--drawer-shadow);display:flex;flex-direction:column;z-index:180;color:var(--drawer-text);font-size:14px;overflow:hidden;border-radius:var(--drawer-radius);isolation:isolate;position:fixed}.app-drawer:before,.app-drawer:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}.app-drawer:before{background:radial-gradient(circle at 18% 22%,rgba(120,155,255,.12),transparent 60%),radial-gradient(circle at 82% 78%,rgba(255,140,220,.1),transparent 60%),radial-gradient(circle at 65% 35%,rgba(255,210,120,.1),transparent 55%);mix-blend-mode:screen;opacity:.85}.app-drawer:after{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,var(--drawer-noise-opacity)) 0 1px,transparent 1px 4px),radial-gradient(circle at 10% 15%,rgba(255,255,255,.25) 0,transparent 55%),radial-gradient(circle at 90% 85%,rgba(255,255,255,.18) 0,transparent 60%);background-size:280px 280px,800px 800px,900px 900px;mix-blend-mode:overlay;opacity:.22;animation:drawerNoiseFloat 24s linear infinite}.app-drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--drawer-header-border);font-weight:600;letter-spacing:.5px;background:var(--drawer-header-bg);position:relative}.drawer-header .header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.drawer-header .header-action-btn{background:linear-gradient(145deg,#ffffff24,#ffffff0d);border:1px solid rgba(255,255,255,.25);color:var(--drawer-text);font-size:.6rem;padding:6px 10px;border-radius:8px;cursor:pointer;letter-spacing:.5px;font-weight:600;transition:background .3s var(--drawer-transition),transform .3s var(--drawer-transition)}.drawer-header .header-action-btn:hover{background:linear-gradient(145deg,#ffffff3d,#ffffff14);transform:translateY(-2px)}.drawer-header .header-action-btn:active{transform:translateY(0)}.drawer-title{font-size:var(--drawer-title-size);letter-spacing:.5px}.drawer-close{background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.25);color:var(--drawer-text);cursor:pointer;font-size:14px;line-height:1;opacity:.85;transition:background .3s var(--drawer-transition),transform .35s var(--drawer-transition),opacity .25s;padding:6px 10px;border-radius:8px;display:flex;align-items:center;gap:4px;font-weight:600;letter-spacing:.5px}.drawer-close:hover{opacity:1;background:linear-gradient(145deg,#ffffff38,#ffffff14);transform:translateY(-2px)}.drawer-close:active{transform:translateY(0)}.drawer-body{flex:1;overflow-y:auto;padding:14px 16px 24px;scrollbar-width:thin;scrollbar-color:var(--drawer-scroll-thumb) var(--drawer-scroll-track);position:relative}.drawer-body::-webkit-scrollbar{width:9px}.drawer-body::-webkit-scrollbar-track{background:var(--drawer-scroll-track)}.drawer-body::-webkit-scrollbar-thumb{background:var(--drawer-scroll-thumb);border-radius:20px;border:1px solid rgba(255,255,255,.08)}.drawer-body::-webkit-scrollbar-thumb:hover{background:var(--drawer-scroll-thumb-hover)}.drawer-footer{padding:10px 16px 14px;border-top:1px solid var(--drawer-header-border);background:linear-gradient(180deg,#fff0,#ffffff0f)}@keyframes drawerNoiseFloat{0%{background-position:0 0,0 0,0 0}50%{background-position:140px 140px,200px 200px,300px 300px}to{background-position:280px 280px,400px 400px,600px 600px}}@keyframes starTwinkleDrawer{0%,to{opacity:.7}50%{opacity:1}}@media (max-width: 700px){.app-drawer{left:56px!important;width:270px!important}}.galaxy-drawer-root{position:fixed;top:0;left:68px;width:300px;max-width:85vw;height:100vh;background:linear-gradient(165deg,#101622,#0d1220 55%,#0a0f19);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-right:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.05);box-shadow:4px 0 18px -6px #000000a6,0 0 0 1px #ffffff0d inset;transform:translate(-110%);transition:transform .45s cubic-bezier(.4,.14,.3,1),box-shadow .45s ease;z-index:2600;display:flex;flex-direction:column;font-family:Inter,Segoe UI,sans-serif}.galaxy-drawer-root.open{transform:translate(0)}@media (max-width:760px){.galaxy-drawer-root{left:56px;width:260px}}.galaxy-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.12)}.gd-title{font-size:1rem;letter-spacing:.5px;background:linear-gradient(90deg,#e3f2ff,#b1cfff 55%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}.gd-close-btn{background:none;border:1px solid rgba(150,180,255,.3);color:#d3e2ff;padding:4px 10px;font-size:.75rem;border-radius:6px;cursor:pointer;transition:.25s}.gd-close-btn:hover{background:#ffffff14;border-color:#c8dcff8c}.galaxy-drawer-content{flex:1;overflow-y:auto;padding:4px 14px 22px;scrollbar-width:thin;scrollbar-color:rgba(120,150,210,.4) transparent}.galaxy-drawer-content::-webkit-scrollbar{width:6px}.galaxy-drawer-content::-webkit-scrollbar-track{background:#ffffff0d}.galaxy-drawer-content::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:3px}.galaxy-drawer-content::-webkit-scrollbar{width:9px}.galaxy-drawer-content::-webkit-scrollbar-track{background:transparent}.galaxy-drawer-content::-webkit-scrollbar-thumb{background:linear-gradient(var(--scroll-angle,180deg),rgba(120,150,210,.45),rgba(90,120,180,.35));border-radius:20px}.gd-status{font-size:.7rem;opacity:.75;padding:6px 4px}.gd-status.small{font-size:.55rem}.gd-error{font-size:.6rem;color:#ff8686;padding:4px 2px}.gd-galaxy-card{position:relative;border:1px solid rgba(120,160,220,.28);background:linear-gradient(145deg,#32466e2e,#161e3059);border-radius:14px;padding:12px 12px 10px;margin:0 0 14px;cursor:pointer;overflow:hidden;transition:border-color .35s,background .4s,transform .35s}.gd-galaxy-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(180,220,255,.18),transparent 65%);opacity:0;transition:opacity .5s;pointer-events:none}.gd-galaxy-card:hover{border-color:#b4d7ff8c;background:linear-gradient(150deg,#3c5a8c59,#1923378c)}.gd-galaxy-card:hover:before{opacity:1}.gd-galaxy-card.active{border-color:#ffd778bf;box-shadow:0 0 0 1px #ffd77840,0 0 14px -2px #ffc85a59}.gd-card-main{display:flex;gap:12px;align-items:stretch}.gd-meta{flex:1;min-width:0}.gd-id-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.gd-galaxy-id{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.5px;color:#fff}.gd-count{font-size:.55rem;opacity:.8;background:#ffffff14;padding:2px 6px;border-radius:20px}.gd-rating-line{font-size:.6rem;font-weight:500;color:#d8e9ff;letter-spacing:.5px;opacity:.85}.gd-top-movies-strip{display:flex;gap:8px;margin-top:8px}.gd-thumb{width:56px;height:84px;margin:0;background:#101726;border-radius:8px;overflow:hidden;position:relative;flex-shrink:0;box-shadow:0 0 0 1px #ffffff0a,0 2px 4px -1px #0009,0 5px 18px -6px #0000008c;transition:transform .35s,box-shadow .35s}.gd-thumb img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(1.05) contrast(1.02)}.gd-thumb:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 0 0 1px #ffffff1f,0 6px 18px -4px #000000a6,0 12px 32px -12px #000000a6}.gd-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.55rem;padding:4px;text-align:center;color:#b7c8dd}.gd-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.gd-bottom-actions{margin-top:14px;display:flex;justify-content:center}.gd-goto-large{--c1:#ffe7b1;--c2:#ffb851;--c3:#ff9d2d;background:linear-gradient(135deg,var(--c1),var(--c2) 55%,var(--c3));color:#1a1f29;font-weight:700;letter-spacing:.8px;border:none;padding:12px 22px 11px;font-size:.7rem;border-radius:50px;cursor:pointer;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 16px -6px #000000b3,0 0 0 1px #ffffff59 inset,0 0 0 1px #0009;transition:.45s}.gd-goto-large:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 0%,rgba(255,255,255,.7),transparent 70%);mix-blend-mode:overlay;opacity:.4;transition:.5s}.gd-goto-large:hover{transform:translateY(-3px);box-shadow:0 8px 26px -8px #000000bf,0 0 0 1px #ffffff73 inset}.gd-goto-large:hover:before{opacity:.65}.gd-goto-large:active{transform:translateY(0)}.gd-reco-wrap{margin-top:12px;padding:10px 8px 12px;background:linear-gradient(160deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:12px;animation:fadeSlide .5s cubic-bezier(.4,.13,.2,1)}.gd-reco-title{font-size:.6rem;font-weight:600;letter-spacing:.75px;margin:0 0 6px;color:#ffe7b1;text-transform:uppercase}.gd-reco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px 8px}.gd-reco-card{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 4px 6px;border-radius:10px;position:relative;background:#141c2c59;border:1px solid rgba(140,170,230,.15);transition:.35s}.gd-reco-card:hover{background:#28375873;border-color:#aad2ff66;box-shadow:0 4px 14px -6px #0009,0 0 0 1px #ffffff14;transform:translateY(-3px)}.gd-reco-poster{width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #ffffff1f,0 2px 8px -2px #0000008c;background:#0d141f}.gd-reco-poster img{width:100%;height:100%;object-fit:cover;display:block}.gd-reco-fallback{font-size:.55rem;line-height:1.15;display:flex;align-items:center;justify-content:center;padding:4px;color:#c7d8ef;text-align:center}.gd-reco-caption{font-size:.5rem;font-weight:500;line-height:1.1;text-align:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d5e6ff}.gd-persist-actions{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:6px}.gd-goto-persist{background:linear-gradient(130deg,#ffd782,#ffaf3f);color:#1b2028;font-weight:600;font-size:.55rem;border:none;padding:6px 10px 5px;border-radius:30px;cursor:pointer;letter-spacing:.4px;box-shadow:0 2px 6px -2px #0000008c,0 0 0 1px #ffffff47 inset;transition:.35s}.gd-goto-persist:hover{transform:translateY(-2px);box-shadow:0 5px 14px -5px #000000a6,0 0 0 1px #fff6 inset}.gd-goto-persist:active{transform:translateY(0)}@keyframes fadeSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.galaxy-drawer-root{width:300px}.gd-thumb{width:48px;height:72px}}@media (max-width: 780px){.galaxy-drawer-root{width:260px}.gd-galaxy-id{font-size:.7rem}}.poster-wall{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;overflow:hidden;pointer-events:none}.poster-item{position:absolute;width:120px;height:180px}.poster-item img{width:100%;height:100%;object-fit:cover;border-radius:6px;box-shadow:0 2px 8px #0003;filter:grayscale(.4) sepia(.1) brightness(.9)}.poster-wall{z-index:1}.poster-item img{filter:grayscale(.7) sepia(.1) brightness(.6)}@media (max-width: 768px){.poster-item{width:80px;height:120px}}@media (max-width: 480px){.poster-item{width:60px;height:90px}}.login-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0c0c0c,#1a1a2e,#16213e,#0f3460,#0e1b2e);overflow:hidden;z-index:10000}.login-card{background:#000000d9;border:2px solid rgba(255,215,0,.3);border-radius:20px;padding:40px;width:100%;max-width:420px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 50px #ffd70033,inset 0 0 50px #ffffff0d;position:relative;z-index:10001;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#FFD700,transparent,#FFD700);border-radius:22px;z-index:-1;opacity:.3;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.6}}.login-header{text-align:center;margin-bottom:30px}.login-title{font-size:2.5rem;font-weight:700;background:linear-gradient(45deg,gold,orange,gold);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s ease-in-out infinite;margin:0 0 10px;text-shadow:0 0 30px rgba(255,215,0,.5)}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-subtitle{color:#fffc;font-size:1rem;margin:0;font-style:italic}.auth-mode-toggle{display:flex;background:#0009;border-radius:12px;padding:4px;margin-bottom:30px;border:1px solid rgba(255,255,255,.1)}.mode-button{flex:1;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:#ffffffb3;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.mode-button:hover:not(:disabled){color:#ffffffe6;background:#ffffff0d}.mode-button.active{background:linear-gradient(135deg,gold,orange);color:#000;font-weight:600;box-shadow:0 2px 10px #ffd7004d}.mode-button:disabled{opacity:.5;cursor:not-allowed}.login-form,.form-group{margin-bottom:20px}.form-label{display:block;color:#ffffffe6;font-size:.9rem;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:14px 16px;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#0009;color:#fff;font-size:1rem;outline:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.form-input:focus{border-color:gold;box-shadow:0 0 20px #ffd7004d;background:#000c}.form-input::placeholder{color:#ffffff80}.form-input:disabled{opacity:.6;cursor:not-allowed}.error-message{display:flex;align-items:center;color:#ff6b6b;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:8px;padding:12px;margin-bottom:20px;font-size:.9rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-icon{margin-right:8px;font-size:1.1rem}.success-message{display:flex;align-items:center;color:#4caf50;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:12px;margin-bottom:20px;font-size:.9rem;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-icon{margin-right:8px;font-size:1.1rem;font-weight:700}.login-button{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,gold,orange);color:#000;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;box-shadow:0 4px 20px #ffd7004d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #ffd70066;background:linear-gradient(135deg,orange,gold)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button.loading{pointer-events:none}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-radius:50%;border-top-color:#000;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:20px}.footer-text{color:#fff9;font-size:.85rem;margin:0 0 15px;font-style:italic}.demo-info{background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:8px;padding:12px;margin-top:10px}.demo-title{color:gold;font-size:.9rem;font-weight:600;margin:0 0 5px}.demo-credentials{color:#fffc;font-size:.85rem;margin:0}.demo-credentials strong{color:gold;font-family:Courier New,monospace}@media (max-width: 480px){.login-card{margin:20px;padding:30px 25px;max-width:none}.login-title{font-size:2rem}.form-input,.login-button{padding:12px 14px}}.onboarding-container{padding:2rem;color:#fff;background:linear-gradient(135deg,#0c0c0c,#1a1a2e,#16213e);min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;font-family:Segoe UI,system-ui,sans-serif}.onboarding-container h1{margin:0 0 .75rem;font-size:2rem;color:gold;text-align:center;letter-spacing:.5px}.onboarding-progress-bar{width:100%;max-width:520px;height:8px;background:#1f2a44;border-radius:4px;overflow:hidden;margin:.5rem auto 1.25rem;position:relative;box-shadow:0 0 0 1px #2e3b55 inset,0 2px 4px #0006}.onboarding-progress-fill{height:100%;background:linear-gradient(90deg,gold,#ffae42,gold);background-size:300% 100%;animation:progressShimmer 6s linear infinite;transition:width .35s ease}@keyframes progressShimmer{0%{background-position:0 0}to{background-position:300% 0}}.onboarding-current-wrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.onboarding-current-card{background:#1f2a44;border:1px solid #2e3b55;border-radius:18px;padding:1.75rem 1.5rem 2rem;width:100%;max-width:520px;box-shadow:0 6px 18px -6px #0009,0 0 0 1px #ffd7000d;position:relative;display:flex;flex-direction:column;align-items:center;animation:cardEnter .4s ease}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-current-poster{width:220px;height:330px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #00000080,0 0 0 1px #2e3b55;margin-bottom:1rem;background:#0c0c0c}.onboarding-movie-title{font-size:1.35rem;margin:0 0 .35rem;text-align:center;font-weight:600;letter-spacing:.5px}.onboarding-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;opacity:.75;margin-bottom:1rem}.onboarding-rate-block{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:.25rem 0 1.25rem;width:100%}.onboarding-hint{font-size:.65rem;opacity:.55;text-align:center;line-height:1.2;max-width:240px}.onboarding-actions{display:flex;gap:.75rem;width:100%;justify-content:center;margin-top:.25rem}.onboarding-actions button{font-family:inherit;font-size:.85rem;font-weight:500;letter-spacing:.4px;padding:.65rem 1.1rem;border-radius:10px;border:1px solid #2e3b55;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;background:#243356;color:#f5f5f5;transition:background .25s,transform .15s}.onboarding-actions button:hover:not(:disabled){background:#2d4470}.onboarding-actions button:active:not(:disabled){transform:translateY(1px)}.onboarding-actions button:disabled{opacity:.45;cursor:default}.onboarding-skip{background:#3a2a2a}.onboarding-skip:hover:not(:disabled){background:#4b3535}.onboarding-next{background:linear-gradient(135deg,#ffb400,gold);color:#1a1605;border:1px solid #e2c146}.onboarding-next:hover:not(:disabled){background:linear-gradient(135deg,#ffc733,#ffe070)}.onboarding-skip-all{margin-top:1.25rem;background:none;border:none;color:#999;cursor:pointer;font-size:.7rem;letter-spacing:1px;text-transform:uppercase;transition:color .2s}.onboarding-skip-all:hover{color:#ccc}.placeholder{width:220px;height:330px;background:#394867;border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:.7rem;color:#ccc;opacity:.6;margin-bottom:1rem}.onboarding-rate-block .star-rating.integer{--star-size: 30px}.onboarding-rate-block .star-rating-int-text{font-size:.65rem;margin-left:.4rem}@media (max-width: 560px){.onboarding-current-card{padding:1.25rem 1rem 1.5rem}.onboarding-current-poster,.placeholder{width:180px;height:270px}.onboarding-movie-title{font-size:1.15rem}}.App{width:100%;height:100vh;margin:0;padding:0;overflow:hidden}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#0f1419;overflow:hidden}#root{width:100%;height:100vh}
