.poster[data-astro-cid-3cpxmm42]{all:unset;cursor:pointer;flex-shrink:0;width:var(--card-w);display:block}.poster[data-astro-cid-3cpxmm42]:focus-visible .poster-frame[data-astro-cid-3cpxmm42]{outline:2px solid var(--accent);outline-offset:4px}.poster-frame[data-astro-cid-3cpxmm42]{position:relative;display:block;width:100%;aspect-ratio:2 / 3;overflow:hidden;background:var(--surface);border-radius:4px;box-shadow:0 1px #ffffff0a inset,0 16px 44px -16px #000000b3,0 4px 12px -8px #00000080;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}.poster[data-astro-cid-3cpxmm42]:hover .poster-frame[data-astro-cid-3cpxmm42]{transform:translateY(-4px);box-shadow:0 1px #ffffff0f inset,0 28px 56px -18px #000000d9,0 6px 22px -8px #ff6a5b2e}.poster[data-astro-cid-3cpxmm42]:active .poster-frame[data-astro-cid-3cpxmm42]{transform:translateY(-1px)}.poster-img[data-astro-cid-3cpxmm42]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .45s ease;filter:saturate(1.02) contrast(1.04)}.poster[data-astro-cid-3cpxmm42]:hover .poster-img[data-astro-cid-3cpxmm42]{transform:scale(1.05)}.poster-vignette[data-astro-cid-3cpxmm42]{position:absolute;inset:0;background:linear-gradient(to top,#08050eeb,#08050e8c 22%,#08050e00 48%);pointer-events:none}.poster-spine[data-astro-cid-3cpxmm42]{position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--accent),transparent);opacity:0;transition:opacity .45s ease}.poster[data-astro-cid-3cpxmm42]:hover .poster-spine[data-astro-cid-3cpxmm42]{opacity:.9}.poster-meta[data-astro-cid-3cpxmm42]{position:absolute;left:12px;right:12px;bottom:12px;z-index:2}.poster-title[data-astro-cid-3cpxmm42]{font-family:var(--font-display);font-size:.98rem;font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 20;line-height:1.05;letter-spacing:-.015em;color:var(--text);text-shadow:0 1px 12px rgba(0,0,0,.85);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:640px){.poster-title[data-astro-cid-3cpxmm42]{font-size:1.1rem}.poster-meta[data-astro-cid-3cpxmm42]{left:14px;right:14px;bottom:14px}}@media(min-width:1024px){.poster-title[data-astro-cid-3cpxmm42]{font-size:1.22rem}}.modal-overlay{position:fixed;inset:0;background:#06040ac7;backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);z-index:200;display:none;align-items:flex-end;justify-content:center}.modal-overlay.active{display:flex}.story-modal{width:100%;border-radius:18px 18px 0 0;overflow:hidden;max-height:92vh;position:relative;background:var(--bg);border-top:1px solid var(--border);display:flex;flex-direction:column;transform:translateY(100%);opacity:0}.modal-overlay.active .story-modal{animation:modalRise .42s cubic-bezier(.16,1,.3,1) forwards}@media(min-width:768px){.modal-overlay{align-items:center}.story-modal{max-width:480px;max-height:90vh;border-radius:6px;border:1px solid var(--border);transform:translateY(20px)}.modal-overlay.active .story-modal{animation:modalFadeUp .4s cubic-bezier(.16,1,.3,1) forwards}}@keyframes modalRise{0%{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes modalFadeUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay.closing .story-modal{animation:modalDescend .28s cubic-bezier(.4,0,1,1) forwards}.modal-overlay.closing{animation:modalFadeOut .28s ease forwards}@keyframes modalDescend{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}.modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:#0d0a14c7;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.16);color:var(--text);display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s,transform .2s}.modal-close:hover{background:#ffffff29;transform:rotate(90deg)}.modal-poster{width:100%;aspect-ratio:3 / 4;max-height:48vh;background-size:cover;background-position:center 22%;position:relative;flex-shrink:0}.modal-poster-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,10,20,0) 35%,rgba(13,10,20,.05) 50%,rgba(13,10,20,.15) 62%,rgba(13,10,20,.32) 72%,rgba(13,10,20,.55) 82%,rgba(13,10,20,.78) 90%,rgba(13,10,20,.92) 96%,var(--bg) 100%);pointer-events:none;z-index:1}.modal-body{padding:0 24px 8px;overflow-y:auto;flex:1 1 auto;min-height:0;position:relative;z-index:2;margin-top:-22vh;background:linear-gradient(to bottom,transparent 0%,transparent 30%,var(--bg) 60%)}.modal-pip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-ui);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;margin-top:8px;margin-bottom:14px;padding:5px 10px 4px;border:1px solid transparent;border-radius:2px;line-height:1}.modal-pip[hidden]{display:none}.modal-pip:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor}.modal-title{font-family:var(--font-display);font-size:1.7rem;font-weight:400;font-variation-settings:"opsz" 144,"SOFT" 30,"WONK" 1;line-height:1.02;letter-spacing:-.024em;color:var(--text);margin:0 0 12px;text-wrap:balance}.modal-badges{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-bottom:18px;overflow:hidden}.badge{font-family:var(--font-ui);font-size:.72rem;font-weight:500;color:var(--text-secondary);letter-spacing:.015em;line-height:1;font-feature-settings:"tnum";white-space:nowrap;flex-shrink:0}.badge.badge-genre{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.badge-dot{width:2px;height:2px;border-radius:50%;background:var(--text-faint);opacity:.7;flex-shrink:0}.modal-summary{font-family:var(--font-body);font-size:.98rem;line-height:1.6;color:var(--text-secondary);margin:18px 0 4px;text-wrap:pretty}.modal-cta-bar{flex-shrink:0;padding:14px 24px 16px;position:relative;background:var(--bg)}.modal-cta-bar:before{content:"";position:absolute;top:-28px;left:0;right:0;height:28px;background:linear-gradient(to top,var(--bg) 0%,transparent 100%);pointer-events:none}.modal-actions{display:flex;justify-content:flex-start;align-items:center;gap:4px;padding:0;margin:4px -14px}.action{all:unset;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:10px;color:var(--text-secondary);transition:color .22s ease,background .22s ease,transform .22s ease;flex:0 0 auto}.action svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.action span{font-family:var(--font-ui);font-size:.66rem;font-weight:500;letter-spacing:.04em;line-height:1;color:var(--text-faint);transition:color .22s ease}.action:hover{color:var(--text);background:#ffffff0b}.action:hover span{color:var(--text-secondary)}.action:hover svg{transform:translateY(-1.5px) scale(1.04)}.action.liked,.action.liked span{color:var(--accent)}.action:focus-visible{outline:1px solid rgba(255,255,255,.32);outline-offset:2px}.action--danger{color:#ff6a5bb8;margin-left:auto}.action--danger span{color:#ff6a5bb8}.action--danger:hover{color:var(--accent);background:#ff6a5b14}.action--danger:hover span{color:var(--accent)}.action[hidden]{display:none}.delete-confirm{margin:0 0 14px;padding:14px 16px;border-radius:8px;background:#ff6a5b14;border:1px solid rgba(255,106,91,.28);display:flex;flex-direction:column;gap:12px;animation:deleteConfirmIn .22s cubic-bezier(.16,1,.3,1)}.delete-confirm[hidden]{display:none}@keyframes deleteConfirmIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.delete-confirm-msg{margin:0;font-family:var(--font-body);font-size:.9rem;line-height:1.45;color:var(--text)}.delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.delete-confirm-btn{all:unset;cursor:pointer;padding:8px 16px;border-radius:4px;font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:background .15s,transform .15s}.delete-confirm-btn--cancel{color:var(--text-secondary);border:1px solid var(--border)}.delete-confirm-btn--cancel:hover{color:var(--text);background:#ffffff0a}.delete-confirm-btn--go{background:var(--accent);color:#fff}.delete-confirm-btn--go:hover{transform:translateY(-1px)}.start-btn{font-family:var(--font-ui);font-weight:700;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:15px 22px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;box-shadow:0 1px #ffffff38 inset,0 -1px #0000002e inset,0 14px 36px -12px var(--accent-glow),0 5px 12px -4px #00000080;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;cursor:pointer;position:relative;overflow:hidden}.start-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translate(-100%);transition:transform .7s ease}.start-btn:hover{background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 1px #ffffff38 inset,0 18px 44px -10px var(--accent-glow),0 6px 14px -2px #00000080}.start-btn:hover:before{transform:translate(100%)}.start-btn:active{transform:translateY(0)}.start-label{position:relative;z-index:1}.start-btn svg{position:relative;z-index:1}.start-spinner{display:none;position:relative;z-index:1}.start-btn[data-loading="1"] .start-spinner{display:inline-block;animation:startSpinnerSpin .9s linear infinite}.start-btn[data-loading="1"] .start-arrow{display:none}@keyframes startSpinnerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.start-btn[data-coming-soon="1"]{background:#ffffff0f;color:var(--text-secondary, #cdc6b8);cursor:not-allowed;box-shadow:none;transform:none}.start-btn[data-coming-soon="1"]:hover{background:#ffffff0f;transform:none;box-shadow:none}.start-btn[data-coming-soon="1"]:before{display:none}.start-btn[data-coming-soon="1"] .start-arrow{display:none}@media(min-width:768px){.modal-poster{aspect-ratio:4 / 5;max-height:52vh}.modal-title{font-size:2.1rem;letter-spacing:-.028em}.modal-summary{font-size:1rem;line-height:1.62}.modal-body{padding:0 30px 10px;margin-top:-20vh}.modal-cta-bar{padding:16px 30px 18px}.badge{font-size:.76rem}.action span{font-size:.68rem}.action{padding:9px 16px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.modal-cta-bar{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}.modal-grain-defs{position:absolute;width:0;height:0;overflow:hidden}.modal-poster-grain,.modal-poster-vignette,.modal-poster-ember{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease-out}.modal-poster-grain{z-index:2;backdrop-filter:url(#modalGrainFilter);-webkit-backdrop-filter:url(#modalGrainFilter);mix-blend-mode:overlay}@supports not (backdrop-filter: url(#modalGrainFilter)){.modal-poster-grain{background-image:repeating-radial-gradient(circle at 12% 18%,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 78% 62%,rgba(255,255,255,.04) 0 1px,transparent 1px 4px),repeating-radial-gradient(circle at 48% 88%,rgba(255,255,255,.04) 0 1px,transparent 1px 3px)}}.modal-poster-vignette{z-index:3;background:radial-gradient(ellipse 75% 58% at 50% 48%,#07060a00,#07060a8c 72%,#07060ad1)}.modal-poster-ember{z-index:4;background:radial-gradient(ellipse 60% 22% at 50% 100%,#ff6a5b47,#ff6a5b00 70%)}.story-modal[data-state=loading] .modal-poster{animation:modalPosterDrift 22s ease-out forwards}@keyframes modalPosterDrift{0%{background-size:100% auto;background-position:center 25%}to{background-size:108% auto;background-position:center 20%}}.story-modal[data-state=loading] .modal-poster-grain{opacity:.14;animation:modalGrainBreath 7s ease-in-out infinite}.story-modal[data-state=loading] .modal-poster-vignette{opacity:1}.story-modal[data-state=loading] .modal-poster-ember{opacity:1;animation:modalEmberBreath 4.4s ease-in-out infinite}@keyframes modalGrainBreath{0%,to{opacity:.1}50%{opacity:.18}}@keyframes modalEmberBreath{0%,to{opacity:.7}50%{opacity:1}}.modal-pip,.modal-badges,.modal-actions{transition:opacity .55s ease,transform .55s ease,filter .55s ease}.story-modal[data-state=loading] .modal-pip,.story-modal[data-state=loading] .modal-badges,.story-modal[data-state=loading] .modal-actions{opacity:.22;transform:translateY(4px);filter:saturate(.6);pointer-events:none}.modal-summary{transition:color .55s ease,opacity .55s ease}.story-modal[data-state=loading] .modal-summary{color:var(--text-faint);opacity:.85}.modal-title{transition:letter-spacing .8s ease}.story-modal[data-state=loading] .modal-title{letter-spacing:-.018em}.modal-close{transition:background .2s,transform .2s,opacity .4s ease}.story-modal[data-state=loading] .modal-close{opacity:.55}.modal-loading-caption{display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;min-height:28px;opacity:0;transition:opacity .7s ease}.story-modal[data-state=loading] .modal-loading-caption{display:flex;opacity:1}.loading-dot{width:28px;height:1px;border-radius:0;background:var(--accent);box-shadow:0 0 8px #ff6a5b8c;animation:loadingDotBreath 2.4s ease-in-out infinite;flex-shrink:0;transform-origin:center}@keyframes loadingDotBreath{0%,to{opacity:.35;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}.loading-text{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.08rem;line-height:1.3;letter-spacing:.005em;color:#ffffffeb;text-align:center;transition:opacity .6s ease,transform .6s ease;max-width:28ch;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.loading-text[data-fading="1"]{opacity:0;transform:translateZ(0) translateY(-2px)}.loading-text[data-final="1"]{font-size:1.32rem;color:#fff;text-shadow:0 0 18px rgba(255,106,91,.35)}.start-btn{--start-progress-duration: 9s}.start-rail{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff24;overflow:hidden;opacity:0;transition:opacity .4s ease;z-index:2;border-top-left-radius:4px;border-top-right-radius:4px}.start-rail-fill{position:absolute;top:0;left:0;height:100%;width:0%;background:linear-gradient(90deg,#ffffffe0,#fff);box-shadow:0 0 10px #ffffff8c;border-radius:inherit;transition:width .28s cubic-bezier(.22,.61,.36,1)}.story-modal[data-state=loading] .start-btn{pointer-events:none;background:#ff6a5b9e;box-shadow:0 1px #ffffff1f inset,0 8px 22px -10px var(--accent-glow);animation:startBtnHold 3.2s ease-in-out infinite}.story-modal[data-state=loading] .start-label{opacity:.82;letter-spacing:.08em}.story-modal[data-state=loading] .start-btn svg{opacity:.85}.story-modal[data-state=loading] .start-rail{opacity:1}.story-modal[data-state=loading][data-hold="1"] .start-rail-fill{animation:startRailPulse 1.6s ease-in-out infinite}@keyframes startBtnHold{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes startRailPulse{0%,to{opacity:1}50%{opacity:.55}}.story-modal[data-state=loading][data-hold="1"] .loading-dot{animation-duration:2.4s}.story-modal[data-state=leaving]{animation:modalLeave .9s cubic-bezier(.5,0,.2,1) forwards}.story-modal[data-state=leaving] .modal-poster{animation:modalPosterBloom .9s cubic-bezier(.4,0,.2,1) forwards}.story-modal[data-state=leaving] .modal-body,.story-modal[data-state=leaving] .modal-cta-bar,.story-modal[data-state=leaving] .modal-close{animation:modalChromeDissolve .5s ease-out forwards}.modal-overlay[data-story-leaving="1"]{animation:modalBackdropDeepen .9s ease-in forwards}@keyframes modalLeave{0%{opacity:1}to{opacity:.02}}@keyframes modalPosterBloom{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.18);filter:brightness(.4)}}@keyframes modalChromeDissolve{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes modalBackdropDeepen{0%{background:#06040ac7;backdrop-filter:blur(8px) saturate(1.1)}to{background:#040307;backdrop-filter:blur(0) saturate(1)}}.start-btn[data-loading="1"]{cursor:progress}@media(prefers-reduced-motion:reduce){.story-modal[data-state=loading] .modal-poster,.story-modal[data-state=loading] .modal-poster-grain,.story-modal[data-state=loading] .modal-poster-ember,.loading-dot,.start-btn,.start-rail-fill{animation:none!important}.story-modal[data-state=leaving],.story-modal[data-state=leaving] .modal-poster,.story-modal[data-state=leaving] .modal-body,.story-modal[data-state=leaving] .modal-cta-bar,.story-modal[data-state=leaving] .modal-close{animation:none;opacity:0;transition:opacity .2s linear}}
