:root{--ink-0: #07060a;--ink-1: #0c0a09;--ink-2: #131110;--ink-3: #1a1714;--ink-4: #251f1a;--ink-edge: #2f2820;--paper-0: #f0e9d8;--paper-1: #e6dec9;--paper-2: #b8aea0;--paper-3: #8a8175;--paper-4: #5a5247;--accent: #c9a35a;--accent-glow: #d3b478;--accent-soft: #896f3d;--accent-deep: #5a4929;--user-b: #c9a35a;--user-c: #a8c0d4;--grain: .16;--serif-display: "Playfair Display", "Cormorant Garamond", Georgia, serif;--serif-italic: "Cormorant Garamond", "Playfair Display", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--shadow-card: 0 30px 60px -20px #000, 0 12px 30px -10px #000, 0 0 0 1px rgba(255,220,160,.04);--shadow-card-lifted: 0 50px 100px -30px #000, 0 30px 60px -20px #000, 0 0 80px -10px rgba(217,182,108,.25)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink-0);color:var(--paper-1);font-family:var(--sans);font-size:14px;line-height:1.5;overflow:hidden;height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 20%,rgba(60,45,30,.18),transparent 60%),radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.6),transparent 60%);pointer-events:none;z-index:1}button{font-family:inherit}input,textarea{font-family:inherit;color:inherit}.film-grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:9999;animation:grain-jitter .7s steps(4) infinite}@keyframes grain-jitter{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,2%)}to{transform:translate(0)}}.app{position:relative;display:grid;grid-template-columns:232px 1fr;height:100vh;z-index:2}.main{position:relative;overflow-y:auto;overflow-x:hidden;height:100vh}.main-inner{padding:28px 56px 80px;max-width:1280px;margin:0 auto}.rail{background:linear-gradient(180deg,var(--ink-1) 0%,var(--ink-0) 100%);border-right:1px solid var(--ink-edge);display:flex;flex-direction:column;padding:26px 18px 22px;position:relative;height:100vh}.rail-mark{display:flex;align-items:center;gap:11px;margin-bottom:26px;padding:0 4px}.rail-mark-text{font-family:var(--serif-italic);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-1);font-weight:500;line-height:1.15}.rail-mark-text em{display:block;font-size:8.5px;letter-spacing:.36em;color:var(--paper-3);font-style:normal;margin-top:4px;font-family:var(--mono)}.rail-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:24px}.rail-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;color:var(--paper-2);background:transparent;border:none;text-align:left;cursor:pointer;font-size:13px;letter-spacing:.03em;transition:all .2s ease;position:relative}.rail-nav-item:hover{color:var(--paper-0);background:#ffdca00a}.rail-nav-item.active{color:var(--paper-0);background:linear-gradient(90deg,rgba(201,163,90,.12),transparent)}.rail-nav-item.active:before{content:"";position:absolute;left:-18px;top:11px;bottom:11px;width:2px;background:var(--accent)}.rail-nav-item .nav-count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--paper-3);letter-spacing:.06em}.rail-streak{margin-top:auto;border-top:1px solid var(--ink-edge);padding-top:20px}.rail-streak-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.rail-streak-label{font-family:var(--mono);font-size:9px;letter-spacing:.32em;color:var(--paper-3);text-transform:uppercase}.rail-streak-num{font-family:var(--serif-display);font-size:26px;color:var(--accent);line-height:1;font-style:italic;font-family:var(--serif-italic)}.rail-streak-num sup{font-family:var(--mono);font-size:8px;color:var(--paper-3);letter-spacing:.25em;margin-left:4px;top:-10px;font-style:normal}.rail-streak-strip{display:flex;gap:14px;align-items:stretch;margin-bottom:14px;min-height:0}.rail-strip-col{width:36px;flex-shrink:0}.rail-strip-side{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4px}.rail-users{display:flex;gap:10px;padding-top:14px;border-top:1px solid var(--ink-edge)}.rail-user{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--paper-2);letter-spacing:.06em}.rail-about-btn{display:flex;align-items:center;gap:6px;margin-top:12px;background:transparent;border:none;cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-4);padding:0;transition:color .15s}.rail-about-btn:hover{color:var(--paper-2)}.about-modal{max-width:480px;padding:36px 40px 32px}.about-tmdb{display:flex;flex-direction:column;gap:12px;padding:20px;margin-bottom:24px;background:#ffffff08;border:1px solid var(--ink-edge)}.about-tmdb-logo{height:20px;width:auto}.about-tmdb-text{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--paper-3);line-height:1.6;margin:0}.about-link{color:var(--accent);text-decoration:none}.about-link:hover{text-decoration:underline}.about-foot{padding-top:20px;border-top:1px solid var(--ink-edge);margin-top:0}.about-signout-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--ink-edge);cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-3);padding:8px 14px;transition:color .15s,border-color .15s}.about-signout-btn:hover{color:var(--paper-0);border-color:var(--paper-3)}.bottom-tab-about{background:transparent;border:none;cursor:pointer}.filmstrip{display:flex;flex-direction:column;gap:3px;padding:6px 4px;position:relative;background:#0a0807;border-radius:1px}.filmstrip:before,.filmstrip:after{content:"";position:absolute;top:0;bottom:0;width:4px;background-image:repeating-linear-gradient(180deg,transparent 0 6px,rgba(201,163,90,.18) 6px 10px)}.filmstrip:before{left:-2px}.filmstrip:after{right:-2px}.fs-frame{background:var(--ink-2);border:1px solid rgba(201,163,90,.08);position:relative;overflow:hidden}.fs-frame-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.fs-frame-w{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;color:var(--paper-4);position:relative;z-index:2}.fs-hit{background:linear-gradient(135deg,color-mix(in oklab,var(--accent),black 20%),color-mix(in oklab,var(--accent),black 50%));border-color:#ffdca04d}.fs-hit .fs-frame-w{color:#000000a6;font-weight:600}.fs-hit .fs-frame-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(255,230,180,.4),transparent 70%);z-index:1}.fs-current{box-shadow:inset 0 0 0 1px var(--accent),0 0 10px -1px var(--accent)}.fs-miss .fs-frame-w{color:var(--paper-4);opacity:.4}.filmstrip-compact .fs-frame-w{display:none}.filmstrip-compact .fs-frame{border-color:#c9a35a0f}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;padding-bottom:22px;border-bottom:1px solid var(--ink-edge)}.page-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:var(--paper-3);text-transform:uppercase;margin-bottom:10px}.page-title{font-family:var(--serif-display);font-weight:400;font-size:42px;line-height:1;letter-spacing:-.01em;color:var(--paper-0);margin:0}.page-title em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.btn{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:12px 22px;background:transparent;color:var(--paper-1);border:1px solid var(--ink-edge);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.btn:hover{border-color:var(--accent);color:var(--paper-0)}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.btn-primary{background:linear-gradient(180deg,color-mix(in oklab,var(--accent),white 6%),var(--accent) 60%,color-mix(in oklab,var(--accent),black 25%));color:var(--ink-0);border-color:var(--accent);font-weight:600;box-shadow:0 1px #ffffff26 inset,0 -2px 6px #0006 inset,0 6px 18px #c9a35a40}.btn-primary:hover{color:var(--ink-0);box-shadow:0 1px #fff3 inset,0 -2px 6px #0006 inset,0 10px 30px #c9a35a80}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--paper-2)}.btn-ghost:hover{color:var(--paper-0);border-color:var(--ink-edge)}.btn-lg{font-size:13px;padding:18px 38px}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--ink-edge);color:var(--paper-2);background:transparent;border-radius:999px;white-space:nowrap}.pill-sm{font-size:8.5px;padding:3px 8px;letter-spacing:.18em}.pill-genre{color:var(--paper-1);border-color:var(--accent-deep)}.pill-mood{font-family:var(--serif-italic);font-style:italic;text-transform:none;letter-spacing:.04em;font-size:11px;color:var(--accent);border-color:transparent;padding:2px 0}.pill-mood:before{content:"—";margin-right:6px;color:var(--paper-4)}.pill-click{cursor:pointer;transition:all .18s ease}.pill-click:hover{color:var(--paper-0);border-color:var(--accent)}.pill-active{color:var(--ink-0);background:var(--accent);border-color:var(--accent)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;overflow:hidden;flex-shrink:0;font-family:var(--serif-display);font-weight:500;border:1px solid transparent}.avatar-fill{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.avatar-ring{border-width:1px;padding:1px}.stars{display:inline-flex;gap:2px;align-items:center}.star-wrap{position:relative;display:inline-block;line-height:0}.star-hit{position:absolute;top:0;height:100%;width:50%;background:transparent;border:none;padding:0;cursor:pointer;z-index:2}.star-hit-l{left:0}.star-hit-r{right:0}.stars-num{font-family:var(--mono);font-size:10px;color:var(--paper-3);letter-spacing:.1em;margin-left:8px}.poster{width:100%;height:100%;display:block;background:var(--ink-2);object-fit:cover}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--ink-0);z-index:100}.login-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,rgba(201,163,90,.16),transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.8),transparent 60%);pointer-events:none}.login-card{position:relative;width:min(440px,90vw);text-align:center;padding:56px 40px}.login-mark{display:flex;justify-content:center;margin-bottom:24px}.login-title{font-family:var(--serif-display);font-weight:400;font-size:56px;letter-spacing:-.01em;line-height:1;margin:0 0 14px;color:var(--paper-0)}.login-title em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.login-tag{font-family:var(--mono);font-size:10px;letter-spacing:.5em;color:var(--paper-3);text-transform:uppercase;margin-bottom:40px}.login-tag:before,.login-tag:after{content:"—";margin:0 14px;color:var(--paper-4)}.login-google{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid var(--ink-edge);background:transparent;color:var(--paper-1);font-size:13px;letter-spacing:.04em;cursor:pointer;margin-bottom:18px;transition:all .2s ease}.login-google:hover{border-color:var(--accent)}.login-foot{font-family:var(--serif-italic);font-style:italic;color:var(--paper-3);font-size:14px;margin-top:36px}.login-foot span{color:var(--accent)}.login-allowed{display:flex;justify-content:center;gap:10px;margin-top:12px}.tonight{display:grid;grid-template-columns:1fr;align-items:start;padding:0 0 48px;position:relative}.tonight.is-revealed .tonight-title,.tonight.is-revealed .tonight-sub{display:none}.tonight.is-revealed .tonight-eyebrow{margin-bottom:16px;text-align:left}.tonight.is-revealed .tonight-grid{display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:40px;align-items:center}.tonight.is-revealed .stage{height:380px;margin:0}.tonight.is-revealed .card{transform:scale(.78);transform-origin:center}.tonight.is-revealed .reveal{text-align:left;max-width:none;margin:0}.tonight.is-revealed .reveal-genres{justify-content:flex-start}.tonight.is-revealed .reveal-syn{margin:0 0 22px}.tonight.is-revealed .reveal-cta{justify-content:flex-start}.tonight.is-revealed .draw-btn-wrap{display:none}.tonight-eyebrow{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.5em;color:var(--paper-3);text-transform:uppercase;margin-bottom:8px}.tonight-eyebrow span{color:var(--accent)}.tonight-title{text-align:center;font-family:var(--serif-display);font-weight:400;font-size:56px;letter-spacing:-.015em;margin:0 0 4px;color:var(--paper-0);line-height:1}.tonight-title em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.tonight-sub{text-align:center;font-family:var(--serif-italic);font-style:italic;font-size:17px;color:var(--paper-3);margin-bottom:28px}.tonight-streak-badge{position:absolute;top:-8px;right:0;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--ink-edge);background:#140f0ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.tonight-streak-badge-num{font-size:18px}.tonight-streak-badge-label{font-size:8px}.tonight-streak-badge-icon{color:var(--accent)}.tonight-streak-badge-num{font-family:var(--serif-display);font-size:22px;color:var(--paper-0);line-height:1}.tonight-streak-badge-label{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-3);display:block}.stage{position:relative;display:flex;justify-content:center;align-items:center;perspective:1800px;width:100%;height:460px;margin:12px 0 16px;transition:height .5s ease}.tonight.is-revealed .stage{height:280px}.tonight.is-revealed .card{transform:scale(.62);transform-origin:center}.stage-floor{position:absolute;width:480px;height:80px;bottom:20px;background:radial-gradient(ellipse,rgba(0,0,0,.7),transparent 70%);filter:blur(6px);z-index:0}.stage-bloom{position:absolute;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(217,182,108,.28),transparent 50%);opacity:0;transition:opacity 1.2s ease;pointer-events:none;z-index:0;filter:blur(10px)}.stage-bloom.bloom-active{opacity:1}.stage-bloom.bloom-mega{opacity:1;background:radial-gradient(circle,rgba(255,230,180,.55),rgba(217,182,108,.2) 40%,transparent 60%)}.deck{position:absolute;z-index:1}.deck-ghost{position:absolute;top:0;left:0;width:280px;height:420px;background:var(--ink-3);border:1px solid var(--ink-edge);opacity:0;pointer-events:none;transform-origin:center;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .45s ease}.card{position:relative;width:280px;height:420px;cursor:pointer;z-index:2;will-change:transform}.card.flipping{animation:card-flip var(--flip-ms, 2.2s) cubic-bezier(.5,0,.5,1) both}.card.prerolling{animation:card-preroll 1.1s cubic-bezier(.4,0,.2,1)}.card.shuffling{animation:card-shake .6s ease-in-out}.card.idle:hover{transform:translateY(-4px) rotate(-.5deg);transition:transform .4s ease}@keyframes card-flip{0%{transform:perspective(1800px) rotateY(0) scale(1)}45%{transform:perspective(1800px) rotateY(-80deg) scale(1.04);filter:brightness(1.15)}55%{transform:perspective(1800px) rotateY(80deg) scale(1.04);filter:brightness(1.15)}to{transform:perspective(1800px) rotateY(0) scale(1)}}@keyframes card-preroll{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.015) rotate(-1deg)}70%{transform:translateY(-6px) scale(1.02) rotate(.8deg)}to{transform:translateY(0) scale(1)}}@keyframes card-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-1.5deg) translate(-4px)}40%{transform:rotate(1.5deg) translate(4px)}60%{transform:rotate(-1deg) translate(-2px)}80%{transform:rotate(1deg) translate(2px)}}.face{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:var(--shadow-card);overflow:hidden;opacity:0}.face[data-shown="1"]{opacity:1}.face-back{background:var(--ink-2);display:flex;align-items:center;justify-content:center}.face-front{background:var(--ink-1)}.face-front .poster{width:100%;height:100%}.cb-grain{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,#281e1499,#000000d9 70%),linear-gradient(180deg,#15110d,#0a0807)}.cb-grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,rgba(201,163,90,.06) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(201,163,90,.04) 0 1px,transparent 1px 5px);mix-blend-mode:overlay}.cb-mono{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.cb-mono-mark{width:92px;height:92px;border-radius:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative}.cb-mono-mark:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px dashed rgba(201,163,90,.4);border-radius:50%}.cb-mono-mark:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(201,163,90,.3);border-radius:50%}.cb-mono-letter{font-family:var(--serif-italic);font-style:italic;font-size:56px;color:var(--accent)}.cb-mono-text{font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:var(--accent-soft);text-transform:uppercase}.cb-mono-sub{font-family:var(--serif-italic);font-style:italic;color:var(--paper-3);font-size:11px;margin-top:6px}.cb-deco{position:relative;width:100%;height:100%;background:radial-gradient(ellipse at 50% 50%,#1a1410,#0a0807 80%);overflow:hidden}.cb-deco svg{position:absolute;top:0;right:0;bottom:0;left:0}.cb-tarot{position:relative;width:100%;height:100%;background:linear-gradient(180deg,#3c281466,#000000b3),var(--ink-2);padding:22px}.cb-tarot-frame{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center}.cb-tarot-frame:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(201,163,90,.3)}.cb-tarot-center{font-family:var(--serif-italic);font-style:italic;font-size:90px;color:var(--accent);line-height:1}.cb-tarot-roman{font-family:var(--serif-display);font-size:14px;letter-spacing:.4em;color:var(--accent-soft);margin-top:14px}.cb-tarot-corner{position:absolute;font-family:var(--serif-italic);font-style:italic;font-size:22px;color:var(--accent-soft)}.cb-tarot-corner.tl{top:26px;left:26px}.cb-tarot-corner.br{bottom:26px;right:26px;transform:rotate(180deg)}.reveal{position:relative;z-index:3;margin-top:4px;max-width:600px;width:100%;margin-inline:auto;text-align:center;display:none}.reveal.show{display:block}.reveal-meta{font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:var(--paper-3);text-transform:uppercase;margin-bottom:8px}.reveal-meta span{color:var(--accent)}.reveal-title{font-family:var(--serif-display);font-weight:400;font-size:36px;line-height:1.05;letter-spacing:-.01em;color:var(--paper-0);margin:0 0 8px}.reveal-title em{font-family:var(--serif-italic);font-style:italic}.reveal-genres{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.reveal-syn{font-family:var(--serif-italic);font-style:italic;font-size:15px;line-height:1.5;color:var(--paper-2);max-width:520px;margin:0 auto 22px}.reveal-cta{display:flex;gap:14px;justify-content:center}.draw-btn-wrap{text-align:center}.draw-btn{position:relative;font-family:var(--serif-display);font-size:18px;letter-spacing:.6em;text-transform:uppercase;padding:22px 56px 22px 62px;background:transparent;border:1px solid var(--accent);color:var(--paper-0);cursor:pointer;overflow:hidden;transition:all .3s ease}.draw-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(217,182,108,.18),transparent);transform:translate(-100%);transition:transform .6s ease}.draw-btn:hover:before{transform:translate(100%)}.draw-btn:hover{box-shadow:0 0 28px #d9b66c59;color:var(--accent-glow)}.draw-btn:disabled{opacity:.4;cursor:wait}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.confetti span{position:absolute;top:-10px;width:8px;height:18px;background:var(--accent);opacity:.9;animation:confetti-fall 2.4s ease-in forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:.9}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.list-search-row{margin-bottom:18px}.list-search-input{background:transparent;border:none;border-bottom:1px solid var(--ink-edge);padding:8px 0;font-size:14px;font-family:var(--serif-display);color:var(--paper-0);outline:none;width:280px;transition:border-color .2s ease}.list-search-input:focus{border-bottom-color:var(--accent)}.list-search-input::placeholder{color:var(--paper-4);font-style:italic;font-family:var(--serif-italic)}.list-search-input::-webkit-search-cancel-button{cursor:pointer}.list-toolbar{display:flex;gap:18px;align-items:center;margin-bottom:28px;flex-wrap:wrap}.list-toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.list-toolbar-label{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:var(--paper-3);text-transform:uppercase;margin-right:6px}.list-toolbar .spacer{flex:1}.list-count{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--paper-3);text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:28px 24px}.gcard{position:relative;cursor:pointer;transition:transform .3s ease}.gcard:hover{transform:translateY(-3px)}.gcard-poster{aspect-ratio:2/3;position:relative;overflow:hidden;box-shadow:0 12px 30px -10px #000,0 0 0 1px #ffdca00a}.gcard-poster:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.7));opacity:0;transition:opacity .3s ease}.gcard:hover .gcard-poster:after{opacity:1}.gcard-info{margin-top:14px;padding:0 2px}.gcard-title{font-family:var(--serif-display);font-weight:400;font-size:17px;line-height:1.2;color:var(--paper-0);margin:0 0 4px}.gcard-meta{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--paper-3);text-transform:uppercase;margin-bottom:8px}.gcard-meta span{color:var(--accent)}.gcard-tags{display:flex;gap:4px;flex-wrap:wrap}.gcard-added{display:flex;align-items:center;gap:6px;font-family:var(--serif-italic);font-style:italic;font-size:12px;color:var(--paper-3);margin-top:8px}.gcard-actions{display:flex;margin-top:10px}.gcard-action-btn{padding:4px 10px;font-size:11px;gap:5px;color:var(--paper-4);border-color:var(--paper-6)}.gcard-action-btn:hover{color:var(--paper-2);border-color:var(--paper-4)}.gcard-editor{margin-top:10px;display:flex;flex-direction:column;gap:8px}.gcard-editor-row{display:flex;flex-direction:column;gap:4px}.gcard-editor-label{font-family:var(--mono);font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--paper-4)}.gcard-editor-actions{display:flex;gap:6px;margin-top:4px}.tag-input-sm{padding:5px 6px;min-height:32px}.tag-input-sm input{font-size:11px;min-width:60px;padding:2px 4px}.chip-sm{padding:2px 7px;font-size:8px;gap:4px}.streaming-badges{position:absolute;bottom:7px;right:6px;display:flex;flex-direction:column;gap:3px;align-items:flex-end;z-index:2}.streaming-badge{width:24px;height:24px;border-radius:5px;padding:4px;object-fit:contain;display:block}.streaming-badge-text{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;font-weight:700;color:#fff;letter-spacing:0}.tag-suggestions{display:flex;flex-wrap:wrap;gap:4px}.tag-suggestion{background:transparent;border:1px solid var(--ink-edge);cursor:pointer;font-family:var(--mono);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--paper-4);padding:3px 8px;transition:all .15s ease}.tag-suggestion:hover{color:var(--paper-1);border-color:var(--paper-4)}.tag-suggestion.selected{color:var(--accent);border-color:var(--accent);background:#c9a35a14}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#050403c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center;padding:40px}.modal{width:min(880px,100%);max-height:90vh;overflow-y:auto;background:var(--ink-1);border:1px solid var(--ink-edge);padding:40px 44px;position:relative;box-shadow:0 40px 80px -20px #000}.modal-close{position:absolute;top:18px;right:18px;background:transparent;border:1px solid transparent;color:var(--paper-3);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--paper-0);border-color:var(--ink-edge)}.modal-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:var(--paper-3);text-transform:uppercase;margin-bottom:8px}.modal-title{font-family:var(--serif-display);font-weight:400;font-size:36px;line-height:1;color:var(--paper-0);margin:0 0 28px}.modal-title em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.field{margin-bottom:22px;position:relative}.field-label{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:var(--paper-3);text-transform:uppercase;display:block;margin-bottom:8px}.field-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--ink-edge);padding:10px 0;font-size:18px;font-family:var(--serif-display);color:var(--paper-0);outline:none;transition:border-color .2s ease}.field-input:focus{border-bottom-color:var(--accent)}.field-input::placeholder{color:var(--paper-4);font-style:italic;font-family:var(--serif-italic)}.date-input-bare{color-scheme:dark}.date-input-bare::-webkit-calendar-picker-indicator{display:none}.field-textarea{width:100%;background:transparent;border:1px solid var(--ink-edge);padding:12px;font-size:14px;font-family:var(--serif-italic);font-style:italic;color:var(--paper-1);outline:none;resize:vertical;min-height:70px;transition:border-color .2s ease}.field-textarea:focus{border-color:var(--accent)}.suggest{position:absolute;top:100%;left:0;right:0;background:var(--ink-2);border:1px solid var(--ink-edge);border-top:none;z-index:10;max-height:360px;overflow-y:auto}.suggest-item{display:flex;gap:14px;padding:12px 14px;border-bottom:1px solid var(--ink-edge);cursor:pointer;align-items:center;transition:background .15s ease}.suggest-item:hover{background:#ffdca00f}.suggest-poster{width:40px;height:60px;flex-shrink:0;overflow:hidden}.suggest-text{flex:1}.suggest-title{font-family:var(--serif-display);font-size:16px;color:var(--paper-0);line-height:1.1}.suggest-meta{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--paper-3);text-transform:uppercase;margin-top:4px}.preview-row{display:grid;grid-template-columns:200px 1fr;gap:36px;margin-bottom:28px;padding:24px;background:var(--ink-2);border:1px solid var(--ink-edge)}.preview-poster{aspect-ratio:2/3;overflow:hidden}.preview-fields{display:flex;flex-direction:column;gap:16px}.tag-input{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--ink-edge);min-height:44px;align-items:center}.tag-input input{flex:1;min-width:100px;background:transparent;border:none;outline:none;color:var(--paper-1);font-size:13px;padding:4px 6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--ink-3);border:1px solid var(--ink-edge);font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-1)}.chip button{background:transparent;border:none;color:var(--paper-3);cursor:pointer;padding:0;margin-left:2px;line-height:1}.chip button:hover{color:var(--accent)}.modal-foot{display:flex;gap:14px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid var(--ink-edge)}.history-month{display:grid;grid-template-columns:80px 1fr;gap:32px;margin-bottom:48px;padding-top:28px;border-top:1px solid var(--ink-edge)}.history-month:first-of-type{padding-top:0;border-top:none}.history-month-label{font-family:var(--serif-italic);font-style:italic;font-size:20px;color:var(--accent);line-height:1.1;position:sticky;top:32px;align-self:start}.history-month-label em{display:block;font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.3em;color:var(--paper-4);margin-top:4px}.history-entries{display:flex;flex-direction:column;gap:32px}.entry{display:grid;grid-template-columns:130px 1fr;gap:28px;padding:24px;background:var(--ink-1);border:1px solid var(--ink-edge);transition:border-color .2s ease}.entry:hover{border-color:var(--accent-deep)}.entry-poster{aspect-ratio:2/3;overflow:hidden}.entry-body{display:flex;flex-direction:column;gap:12px}.entry-date{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--paper-3);text-transform:uppercase}.entry-date-edit{display:inline-flex;gap:6px;align-items:center;margin-left:8px;letter-spacing:0;text-transform:none}.entry-date-input{font-family:var(--mono);font-size:10px;color:var(--paper-1);background:var(--ink-3);border:1px solid var(--ink-edge);border-radius:3px;padding:3px 6px}.entry-date-input:focus{outline:none;border-color:var(--accent)}.entry-date-error{font-family:var(--mono);font-size:10px;color:#d07070}.entry-title{font-family:var(--serif-display);font-weight:400;font-size:26px;line-height:1;color:var(--paper-0);margin:0}.entry-title em{font-family:var(--serif-italic);font-style:italic}.entry-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:var(--paper-3);text-transform:uppercase}.entry-meta span{color:var(--accent)}.entry-ratings{display:grid;grid-template-columns:1fr 1px 1fr;gap:22px;margin-top:6px;padding-top:16px;border-top:1px dashed var(--ink-edge)}.entry-ratings:before{content:"";grid-column:2;background:var(--ink-edge)}.entry-rating{display:flex;flex-direction:column;gap:8px}.entry-rating-head{display:flex;align-items:center;gap:10px}.entry-rating-who{font-family:var(--serif-italic);font-style:italic;font-size:14px;color:var(--paper-1)}.entry-rating-review{font-family:var(--serif-italic);font-style:italic;font-size:13.5px;line-height:1.5;color:var(--paper-2)}.entry-rating-empty{font-family:var(--mono);font-size:9px;letter-spacing:.25em;color:var(--paper-4);text-transform:uppercase;cursor:pointer}.entry-rating-empty:hover{color:var(--accent)}.entry-review-edit{display:flex;flex-direction:column}.entry-review-textarea{font-family:var(--serif-italic);font-style:italic;font-size:13px;line-height:1.55;color:var(--paper-1);background:var(--ink-3);border:1px solid var(--ink-edge);border-radius:3px;padding:8px 10px;resize:vertical;width:100%;box-sizing:border-box}.entry-review-textarea:focus{outline:none;border-color:var(--accent)}.entry-review-textarea::placeholder{color:var(--paper-4)}.entry-status{display:inline-block;font-family:var(--mono);font-size:8px;letter-spacing:.25em;text-transform:uppercase;padding:2px 6px;border-radius:2px;margin-left:8px;vertical-align:middle}.entry-status--pending{background:var(--ink-2);color:var(--paper-3)}.entry-status--abandoned{background:color-mix(in srgb,#b94040 20%,var(--ink-2));color:#d07070}.delete-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:16px;background:var(--ink-1);border:1px solid var(--ink-edge);border-radius:6px;padding:10px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--paper-2);white-space:nowrap;box-shadow:0 4px 24px #0006}.delete-toast em{font-family:var(--serif-italic);font-style:italic;color:var(--paper-1)}@media(max-width:767px){.delete-toast{bottom:72px}}.streak-grid{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start}.streak-stat{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--ink-edge)}.streak-stat:last-child{border-bottom:none}.streak-stat-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.4em;color:var(--paper-3);text-transform:uppercase;margin-bottom:8px}.streak-stat-val{font-family:var(--serif-display);font-weight:400;font-size:72px;line-height:1;color:var(--paper-0);letter-spacing:-.02em}.streak-stat-val em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.streak-stat-sub{font-family:var(--serif-italic);font-style:italic;color:var(--paper-3);font-size:14px;margin-top:6px}.year-strip{display:grid;grid-template-columns:repeat(26,1fr);gap:4px;background:var(--ink-2);padding:20px;border:1px solid var(--ink-edge)}.year-cell{aspect-ratio:1;background:var(--ink-3);position:relative}.year-cell.hit{background:linear-gradient(135deg,color-mix(in oklab,var(--accent),black 25%),color-mix(in oklab,var(--accent),black 55%))}.year-cell.this-week{box-shadow:inset 0 0 0 1px var(--accent),0 0 8px #c9a35a80}.user-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.user-stat-card{padding:24px;border:1px solid var(--ink-edge);background:var(--ink-1)}.user-stat-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.user-stat-name{font-family:var(--serif-display);font-size:20px;color:var(--paper-0)}.user-stat-name em{font-family:var(--serif-italic);font-style:italic;color:var(--paper-3);font-size:13px;display:block}.user-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--ink-edge);font-size:12px}.user-stat-row:last-child{border-bottom:none}.user-stat-row span:first-child{font-family:var(--mono);font-size:9px;letter-spacing:.25em;color:var(--paper-3);text-transform:uppercase}.user-stat-row span:last-child{font-family:var(--serif-display);color:var(--paper-0);font-size:18px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--ink-edge),transparent);margin:28px 0}.scroll-y::-webkit-scrollbar{width:6px}.scroll-y::-webkit-scrollbar-track{background:transparent}.scroll-y::-webkit-scrollbar-thumb{background:var(--ink-edge);border-radius:3px}.main::-webkit-scrollbar{width:6px}.main::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:3px}.pull-indicator{position:sticky;top:0;left:50%;transform:translate(-50%);z-index:250;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ink-1);border:1px solid var(--ink-edge);border-radius:50%;color:var(--accent);margin:8px auto -44px;pointer-events:none}.pull-indicator--spinning{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{to{transform:translate(-50%) rotate(360deg)}}.bottom-tabs{display:none}@media(max-width:767px){.rail{display:none}.app{grid-template-columns:1fr}.main-inner{padding:20px 16px 80px}.bottom-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--ink-1);border-top:1px solid var(--ink-edge);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px 8px;color:var(--paper-3);text-decoration:none;transition:color .15s}.bottom-tab.active{color:var(--accent)}.bottom-tab-icon{position:relative;display:flex;align-items:center;justify-content:center}.bottom-tab-count{position:absolute;top:-4px;right:-8px;background:var(--accent);color:var(--ink-0);font-family:var(--mono);font-size:8px;line-height:1;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}.bottom-tab-label{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.tonight-eyebrow{letter-spacing:.15em}.tonight-title{font-size:36px}.stage{height:340px}.card{transform:scale(.78);transform-origin:center}.tonight.is-revealed .tonight-grid{display:block}.tonight.is-revealed .stage{height:260px;margin:0 0 16px}.tonight.is-revealed .card{transform:scale(.65);transform-origin:center}.tonight.is-revealed .tonight-eyebrow{text-align:center}.tonight.is-revealed .reveal{text-align:center;max-width:100%;margin:0 auto}.tonight.is-revealed .reveal-genres{justify-content:center}.tonight.is-revealed .reveal-syn{margin:0 auto 22px}.tonight.is-revealed .reveal-cta{justify-content:center;flex-wrap:wrap}.draw-btn{padding:18px 40px 18px 46px;font-size:16px;letter-spacing:.4em}.page-head{flex-direction:column;align-items:flex-start;gap:12px}.page-title{font-size:32px}.history-month{grid-template-columns:1fr;gap:8px}.history-month-label{position:static}.entry{grid-template-columns:80px 1fr;gap:14px;padding:14px}.entry-ratings{grid-template-columns:1fr;gap:16px}.entry-ratings:before{display:none}.streak-grid{grid-template-columns:1fr;gap:28px}.streak-stat-val{font-size:56px}.user-stats{grid-template-columns:1fr}}.movie-detail-layout{display:flex;gap:32px;align-items:flex-start;margin-bottom:28px}.movie-detail-poster{flex:0 0 160px}.movie-detail-body{flex:1;min-width:0}.movie-detail-meta{font-family:var(--mono);font-size:11px;color:var(--paper-3);letter-spacing:.08em;margin-bottom:16px}.movie-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.movie-detail-streaming{display:flex;align-items:center;gap:8px;margin-bottom:18px}.movie-detail-synopsis{font-family:var(--serif-italic);font-style:italic;font-size:14px;color:var(--paper-2);line-height:1.65;margin-bottom:0}.movie-detail-history{border-top:1px solid var(--ink-edge);padding-top:24px;margin-top:28px}.movie-detail-section-label{font-family:var(--mono);font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--paper-3);margin-bottom:16px}.movie-detail-watch{display:flex;align-items:center;gap:24px;padding:10px 0;border-bottom:1px solid var(--ink-edge)}.movie-detail-watch:last-child{border-bottom:none}.movie-detail-watch-date{font-family:var(--mono);font-size:10px;color:var(--paper-2);letter-spacing:.05em;flex:0 0 180px}.movie-detail-watch-ratings{display:flex;gap:20px}.movie-detail-watch-rating{display:flex;align-items:center;gap:8px}.movie-detail-poster-link{cursor:pointer;display:block}@media(max-width:640px){.movie-detail-layout{flex-direction:column}.movie-detail-poster{width:120px}.movie-detail-watch{flex-direction:column;align-items:flex-start;gap:8px}.movie-detail-watch-date{flex:none}}@media(prefers-reduced-motion:reduce){.card.flipping,.card.prerolling,.card.shuffling{animation:none}.card.idle:hover{transform:none;transition:none}.stage-bloom{transition:none}.confetti span{animation:none;opacity:0}.draw-btn{transition:none}.draw-btn:before{transition:none}.deck-ghost{transition:none}}
