:root{--bg:#0b0d14;--surface:#151926;--surface-2:#1d2333;--border:#ffffff14;--text:#e8ecf4;--dim:#8a93a8;--accent:#4da3ff;--star:#f0b429}*{box-sizing:border-box;margin:0}body{color:var(--text);background:linear-gradient(#0b0d14 0%,#10131f 100%);min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{max-width:1180px;margin:0 auto;padding:20px 20px 60px}.topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.brand{cursor:pointer;letter-spacing:-.5px;color:var(--text);background:0 0;border:none;font-size:26px;font-weight:800}.brand span{color:var(--accent)}.topbar-right{align-items:center;gap:10px;display:flex}.whoami{color:var(--dim);font-size:14px}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:14px}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#081120;font-weight:600}.searchbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.searchbar input{background:var(--surface);max-width:460px;color:var(--text);border:1px solid var(--border);border-radius:10px;flex:1;padding:11px 14px;font-size:15px}.searchbar input:focus{outline:2px solid var(--accent)}.source-note{color:var(--dim);font-size:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:14px;padding:0;transition:transform .15s,border-color .15s;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-3px)}.card img{object-fit:cover;width:100%;height:210px;display:block}.cover-fallback{background:var(--surface-2);height:210px;color:var(--dim);text-align:center;justify-content:center;align-items:center;padding:12px;font-size:18px;font-weight:700;display:flex}.card-body{padding:12px 14px 14px}.card-body h3{font-size:15px;line-height:1.3}.meta{color:var(--dim);margin-top:4px;font-size:12.5px}.detail .back{margin-bottom:18px}.detail-hero{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.detail-hero img{border-radius:14px;width:340px;max-width:100%}.detail-hero h2{margin-bottom:6px;font-size:28px}.community{color:var(--dim);margin-top:12px;font-size:14px}.community b{color:var(--star)}.plot{color:#c6cdd9;max-width:820px;margin:20px 0;line-height:1.65}.rate-row{flex-wrap:wrap;align-items:center;gap:4px;margin:16px 0 22px;display:flex}.rate-row>span:first-child{color:var(--dim);margin-right:8px;font-size:14px}.star{cursor:pointer;color:#3a4157;background:0 0;border:none;padding:2px;font-size:24px;transition:color .1s}.star.on,.star:hover{color:var(--star)}.mine{color:var(--star);margin-left:10px;font-weight:700}.auth{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:380px;margin:40px auto;padding:26px}.auth h2{margin-bottom:16px}.auth label{color:var(--dim);margin-bottom:12px;font-size:13px;display:block}.auth input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;margin-top:5px;padding:10px 12px;font-size:15px;display:block}.hint{color:var(--dim);margin-bottom:10px;font-size:12.5px}.auth-actions{gap:10px;margin-top:6px;display:flex}.switch{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:13.5px}.error{color:#ff7b72;margin:10px 0;font-size:14px}.empty{color:var(--dim);text-align:center;padding:60px 0}.foot{color:var(--dim);text-align:center;margin-top:48px;font-size:12.5px}.hero{border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:60px;min-height:82vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(at 20% 30%,#783cdc73,#0000 55%),radial-gradient(at 80% 20%,#3278ff59,#0000 50%),radial-gradient(at 60% 85%,#dc3ca04d,#0000 55%),linear-gradient(160deg,#171033 0%,#0b0d14 70%);animation:18s ease-in-out infinite alternate heroDrift;position:absolute;inset:-40px}@keyframes heroDrift{0%{transform:scale(1)translate(0)}to{transform:scale(1.12)translate(2%,-2%)}}.hero-title,.hero .auth{z-index:1;position:relative}.hero-title h1{letter-spacing:-2px;text-shadow:0 6px 40px #0009;font-size:clamp(44px,7vw,76px);font-weight:900}.hero-title h1 span{color:var(--accent)}.hero-title p{color:#c9d2e4;margin-top:6px;font-size:17px}.ps-glyphs{gap:22px;margin-top:26px;font-size:34px;display:flex}.ps-glyphs span{opacity:.85;animation:3.2s ease-in-out infinite glyphFloat}.g-cross{color:#7db9ff}.g-circle{color:#ff6b81;animation-delay:.4s}.g-square{color:#e08cff;animation-delay:.8s}.g-triangle{color:#6ee7a8;animation-delay:1.2s}@keyframes glyphFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero .auth{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#151926e0;min-width:340px;margin:0;box-shadow:0 20px 60px #00000080}@media (prefers-reduced-motion:reduce){.hero-bg,.ps-glyphs span{animation:none}}.detail-links{gap:12px;margin-top:4px;display:flex}.cover-fallback span{color:#ffffffeb;text-shadow:0 2px 12px #00000080;font-size:19px;font-weight:800}.hero-collage{grid-template-columns:repeat(6,1fr);gap:6px;padding:6px;animation:22s ease-in-out infinite alternate heroDrift;display:grid;position:absolute;inset:0}.hero-collage img,.hero-tile{object-fit:cover;border-radius:8px;width:100%;height:100%;min-height:130px;display:block}.hero-scrim{background:linear-gradient(160deg,#171033d1 0%,#0b0d14e0 70%);position:absolute;inset:0}.review-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:720px;margin:26px 0;padding:18px 20px}.review-box h3{margin-bottom:10px}.review-box textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:10px;margin:10px 0;padding:10px 12px;font-family:inherit;font-size:14px;display:block}.locked-note{color:var(--dim)}.locked-note b{color:var(--star)}.reviews{max-width:720px}.reviews h3{margin-bottom:12px}.review{border-top:1px solid var(--border);padding:12px 2px}.review p{color:#c6cdd9;margin-top:6px;font-size:14.5px;line-height:1.5}.review-head{align-items:baseline;gap:12px;display:flex}.review-user{font-size:14px;font-weight:600}.review-score{color:var(--star);font-size:13.5px;font-weight:700}.review-date{color:var(--dim);margin-left:auto;font-size:12px}
