:root{--bg:#0b0b0e;--panel:#15151b;--panel2:#1d1d25;--text:#f7f4ef;--muted:#a7a4ae;--line:#2c2c36;--red:#ed3348;--red2:#ff6272;--yellow:#f4c95d;--green:#55d6a6;--shadow:0 24px 70px rgba(0,0,0,.42);font-family:"Lato",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% -10%,rgba(237,51,72,.13),transparent 32%),var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(244,201,93,.7);outline-offset:3px}a{color:inherit}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px max(18px,env(safe-area-inset-left));background:rgba(11,11,14,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--text);font-weight:850;font-size:1.05rem}.brand img{width:30px;height:30px}.brand em{font-style:normal;font-size:.64rem;color:var(--muted);border:1px solid var(--line);padding:3px 6px;border-radius:999px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn,.status-pill{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);min-height:42px;border-radius:999px}.icon-btn{width:42px;display:grid;place-items:center}.icon-btn svg{width:20px}.status-pill{display:flex;align-items:center;gap:8px;padding:0 13px;font-size:.78rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 14px currentColor}.status-pill.connected .status-dot{background:var(--green)}.status-pill.error .status-dot{background:var(--red)}main{max-width:1320px;margin:auto;padding:0 20px 110px}.screen{display:none;animation:fade .2s ease}.screen.active{display:block}@keyframes fade{from{opacity:.35;transform:translateY(5px)}}.mission-banner{padding:66px 0 34px;max-width:760px}.eyebrow{margin:0 0 10px;color:var(--red2);font-size:.72rem;letter-spacing:.16em;font-weight:850}.mission-banner h1,.discover-head h1,.library-title h1{font-size:clamp(2.3rem,7vw,5.6rem);line-height:.94;letter-spacing:-.06em;margin:0}.mission-banner h1 strong{color:var(--red2)}.mission-banner>p:not(.eyebrow){color:var(--muted);font-size:1.12rem;line-height:1.6;max-width:620px}.primary-btn,.secondary-btn,.danger-btn,.share-btn,.text-btn{border:0;border-radius:999px;font-weight:800}.primary-btn{background:var(--red);color:white;padding:13px 18px}.secondary-btn,.share-btn{background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:12px 17px}.danger-btn{background:transparent;color:#ff8491;border:1px solid rgba(237,51,72,.5);padding:12px 17px}.text-btn{background:none;color:var(--muted);padding:8px}.primary-btn svg,.share-btn svg,.secondary-btn svg{width:18px;vertical-align:middle;margin-right:7px}.dashboard-hero{position:relative;overflow:hidden;min-height:430px;border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.dashboard-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,9,.95),rgba(7,7,9,.33) 70%,rgba(7,7,9,.18)),linear-gradient(0deg,rgba(7,7,9,.75),transparent 55%)}.hero-copy{position:absolute;left:clamp(22px,5vw,64px);bottom:clamp(24px,5vw,58px);max-width:590px}.hero-copy h2{font-size:clamp(2.3rem,6vw,5rem);letter-spacing:-.055em;line-height:.95;margin:8px 0 14px}.hero-copy p{color:#d5d2d2;line-height:1.55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:54px 0 18px}.section-title h2{margin:0;font-size:clamp(1.45rem,3vw,2.2rem);letter-spacing:-.035em}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(165px,205px);gap:14px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.media-tile{min-width:0;cursor:pointer;scroll-snap-align:start}.tile-poster{position:relative;aspect-ratio:2/3;border-radius:17px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.tile-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.media-tile:hover .tile-poster img{transform:scale(1.035)}.tile-rating{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.78);padding:5px 8px;border-radius:999px;font-weight:800;font-size:.75rem}.tile-remove{position:absolute;right:8px;top:8px;border:0;background:rgba(0,0,0,.74);color:white;width:32px;height:32px;border-radius:50%}.tile-remove svg{width:16px}.tile-copy h3{font-size:.92rem;margin:10px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-copy p{margin:0;color:var(--muted);font-size:.77rem}.discover-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:46px 0 25px}.discover-head h1{font-size:clamp(2.4rem,6vw,4.7rem)}.discover-head p{color:var(--muted)}.segmented{display:flex;background:var(--panel);border:1px solid var(--line);padding:4px;border-radius:999px}.segmented button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:999px}.segmented button.active{background:var(--text);color:#111}.searchbar{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:0 14px}.searchbar svg{width:20px;color:var(--muted)}.searchbar input{flex:1;border:0;background:none;color:var(--text);padding:15px 0;min-width:0}.searchbar button{border:0;background:none;color:var(--muted)}.searchbar.compact{max-width:520px}.deck-status{display:flex;justify-content:space-between;color:var(--muted);font-size:.83rem;padding:15px 5px}.deck{position:relative;max-width:580px;height:min(69vh,720px);min-height:530px;margin:0 auto}.deck-card{position:absolute;inset:0;border-radius:28px;overflow:hidden;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(calc(var(--depth)*10px)) scale(calc(1 - var(--depth)*.035));z-index:calc(10 - var(--depth));touch-action:pan-y}.deck-card img{width:100%;height:100%;object-fit:cover}.deck-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,4,7,.98),transparent 62%),linear-gradient(90deg,rgba(4,4,7,.45),transparent 70%)}.deck-copy{position:absolute;left:24px;right:24px;bottom:24px}.deck-copy h2{font-size:clamp(2rem,7vw,4rem);line-height:.96;letter-spacing:-.05em;margin:8px 0}.deck-copy p{color:#d0cdd2;line-height:1.45;margin:7px 0}.deck-meta{display:flex;flex-wrap:wrap;gap:7px}.deck-meta span{background:rgba(255,255,255,.11);backdrop-filter:blur(8px);padding:6px 9px;border-radius:999px;font-size:.72rem}.deck-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:28px}.swipe-hint{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:.72rem;margin:18px 0}.discover-action-dock{display:flex;justify-content:center;gap:12px;position:sticky;bottom:82px;z-index:20}.dock-action{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:rgba(21,21,27,.93);color:var(--text);box-shadow:0 12px 35px rgba(0,0,0,.35)}.dock-action svg{width:23px}.dock-action.reject{color:#ff7887}.dock-action.watchlist{color:var(--yellow)}.dock-action.approve{color:var(--green)}.dock-action.seen{color:#80b8ff}.library-title{padding-top:46px}.library-title h1{font-size:clamp(2.2rem,6vw,4.5rem)}.history-summary,.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.history-summary article,.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:18px}.history-summary b,.metrics b{display:block;font-size:1.65rem}.history-summary span,.metrics span{color:var(--muted);font-size:.78rem}.library-tabs{display:flex;gap:8px;overflow-x:auto;margin:28px 0 14px}.library-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:11px 14px;border-radius:999px}.library-tabs button.active{background:var(--text);color:#111}.library-tabs b{margin-left:5px}.library-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.library-tools .searchbar{flex:1}.library-tools select,select,input,textarea{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.profile-hero{padding:58px 0 18px;display:flex;justify-content:space-between;align-items:end;gap:20px}.profile-hero h1{font-size:clamp(2.8rem,7vw,5.4rem);letter-spacing:-.06em;margin:0}.profile-hero p{color:var(--muted)}.profile-avatar{width:92px;height:92px;border-radius:28px;background:linear-gradient(145deg,var(--red),#57223d);display:grid;place-items:center;font-size:2.1rem;font-weight:900}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h2{margin:0}.panel-head span{color:var(--muted);font-size:.75rem}.connection-card{padding:16px;border-radius:15px;background:rgba(255,255,255,.035);margin:14px 0}.connection-card b{display:block;margin-bottom:6px}.connection-card p{color:var(--muted);margin:0;line-height:1.5}.bar-row{display:grid;grid-template-columns:100px 1fr 30px;gap:10px;align-items:center;margin:12px 0;font-size:.8rem}.bar{height:8px;background:#292932;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--red);border-radius:inherit}.support-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.support-links a,.support-links button{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:17px;border-radius:15px;text-align:left;text-decoration:none}.bottom-nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:45;transform:translateX(-50%);display:flex;gap:4px;padding:7px;background:rgba(22,22,28,.91);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.bottom-nav button{border:0;background:transparent;color:var(--muted);min-width:72px;padding:8px 11px;border-radius:16px}.bottom-nav button.active{background:var(--text);color:#111}.bottom-nav svg{display:block;width:21px;margin:0 auto 4px}.bottom-nav small{font-size:.68rem}.modal{position:fixed;inset:0;z-index:100;display:none}.modal.open{display:block}.modal-shade{position:absolute;inset:0;background:rgba(0,0,0,.73);backdrop-filter:blur(8px)}.modal-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(780px,100%);max-height:92vh;overflow:auto;background:#121217;border:1px solid var(--line);border-radius:26px 26px 0 0;padding:26px;box-shadow:var(--shadow)}.detail-sheet{width:min(1000px,100%);padding:0 0 35px}.modal-close{position:sticky;float:right;top:13px;right:13px;z-index:5;border:1px solid var(--line);background:rgba(10,10,13,.82);color:white;width:42px;height:42px;border-radius:50%}.modal-close svg{width:19px}.detail-hero{position:relative;min-height:430px;overflow:hidden}.detail-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#121217,transparent 68%),linear-gradient(90deg,rgba(10,10,13,.78),transparent)}.detail-title{position:absolute;left:28px;right:28px;bottom:25px}.detail-title h1{font-size:clamp(2.5rem,7vw,5.2rem);line-height:.94;letter-spacing:-.055em;margin:7px 0}.detail-meta{display:flex;flex-wrap:wrap;gap:7px}.detail-meta span{background:rgba(255,255,255,.11);padding:6px 9px;border-radius:999px;font-size:.75rem}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;padding:18px 27px}.detail-actions button{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:11px 14px;border-radius:999px}.detail-actions button.active{border-color:var(--red);color:#ff8793}.detail-actions svg{width:17px;vertical-align:middle;margin-right:6px}.detail-body{padding:0 28px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.detail-body p{color:#c2bec5;line-height:1.65}.cast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cast-grid article{min-width:0}.cast-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--panel2)}.cast-grid b{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.cast-grid span{color:var(--muted);font-size:.68rem}.hold-button::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left}.hold-button.holding::after{animation:holdprogress .85s linear forwards}@keyframes holdprogress{to{transform:scaleX(1)}}.hold-hint{display:block;font-size:.62rem;color:var(--muted);margin-top:2px}.rating-sheet label,.settings-sheet label{display:grid;gap:7px;margin:14px 0;color:var(--muted)}.rating-stars{display:flex;gap:7px;margin:20px 0}.rating-stars button{border:0;background:none;color:#4b4851;font-size:2.5rem}.rating-stars button.active{color:var(--yellow)}textarea{width:100%;min-height:110px;resize:vertical}.full{width:100%;margin-top:14px}.settings-callout{background:rgba(237,51,72,.09);border:1px solid rgba(237,51,72,.25);padding:16px;border-radius:16px}.settings-callout p,.settings-status{color:var(--muted);line-height:1.5}.modal-actions,.settings-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.file-btn input{display:none}.confirm-sheet{max-width:560px}.toast{position:fixed;left:50%;bottom:105px;z-index:150;transform:translate(-50%,25px);opacity:0;background:#f7f4ef;color:#17171b;padding:12px 17px;border-radius:999px;font-weight:750;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.app-footer{text-align:center;color:var(--muted);font-size:.75rem;padding:35px 20px 120px}.empty{padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.loading{padding:50px;text-align:center;color:var(--muted)}@media(max-width:760px){main{padding-inline:14px}.status-pill span:last-child{display:none}.mission-banner{padding-top:42px}.dashboard-hero{min-height:510px}.hero-shade{background:linear-gradient(0deg,rgba(7,7,9,.95),rgba(7,7,9,.2))}.hero-copy{left:21px;right:21px;bottom:23px}.section-title{margin-top:42px}.discover-head{align-items:start;flex-direction:column}.deck{height:64vh;min-height:500px}.history-summary,.metrics{grid-template-columns:1fr 1fr}.library-tools{flex-direction:column}.split-panels,.detail-body{grid-template-columns:1fr}.support-links{grid-template-columns:1fr}.bottom-nav{width:calc(100% - 22px);justify-content:space-around}.bottom-nav button{min-width:0;flex:1}.modal-sheet{padding:22px 17px}.detail-sheet{padding:0 0 28px}.detail-body,.detail-actions{padding-left:20px;padding-right:20px}.detail-title{left:20px;right:20px}.cast-grid{grid-template-columns:repeat(3,1fr)}.swipe-hint{gap:12px;font-size:.62rem}.discover-action-dock{bottom:88px}.profile-hero{align-items:start}}
/* MovieMatch 4.1 typography */
h1,h2,h3,.brand span{font-family:"News Cycle","Arial Narrow",Arial,sans-serif;font-weight:700}
.mission-banner h1,.discover-head h1,.library-title h1,.hero-copy h2,.section-title h2,.deck-copy h2,.profile-hero h1,.detail-title h1,.tile-copy h3,.panel h2,.brand span{letter-spacing:-.025em}
.brand{font-family:"News Cycle","Arial Narrow",Arial,sans-serif;font-weight:700}

.sync-note{margin:4px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);color:var(--muted);font-size:.92rem;line-height:1.45}
.settings-status a{color:var(--red2);text-decoration:underline;text-underline-offset:3px}

/* MovieMatch 4.1 Trakt actions + private matching */
.match-nav{color:var(--red2)!important}.bottom-nav .match-nav.active{background:var(--red);color:#fff!important}.bottom-nav{max-width:650px}.bottom-nav button{min-width:68px}.match-head{padding:58px 0 10px;max-width:900px}.match-head h1{font-family:"News Cycle","Arial Narrow",Arial,sans-serif;font-size:clamp(2.8rem,8vw,6rem);line-height:.94;margin:0;letter-spacing:-.04em}.match-head>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:720px}.match-content{padding-bottom:40px}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.invite-code{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0;padding:14px 18px;border:1px dashed rgba(244,201,93,.55);border-radius:16px;background:rgba(244,201,93,.06)}.invite-code b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.4rem,5vw,2.3rem);letter-spacing:.16em}.invite-panel p,.connection-form+small,.fine-print{color:var(--muted);line-height:1.5}.connection-form{display:flex;gap:10px;margin-top:18px}.connection-form input{flex:1;text-transform:uppercase;letter-spacing:.12em}.match-section{margin-top:34px}.connection-list{display:grid;gap:10px}.connection-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--panel);border-radius:18px}.profile-avatar.small{width:50px;height:50px;border-radius:16px;font-size:1rem}.connection-item b{display:block}.connection-item p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.connection-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.match-gate{min-height:400px;display:grid;place-items:center;text-align:center;align-content:center;border:1px dashed var(--line);border-radius:24px;padding:30px;background:var(--panel)}.match-gate>span svg{width:54px;color:var(--red2)}.match-gate p{max-width:560px;color:var(--muted);line-height:1.55}.match-result-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:35px 0 18px}.match-result-head h2{margin:0;font-size:2rem}.match-score{display:flex;align-items:baseline;gap:8px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.match-score b{font-size:1.8rem}.match-score span{color:var(--muted);font-size:.75rem}.tile-progress{position:absolute;right:8px;bottom:8px;background:rgba(85,214,166,.88);color:#08231a;padding:5px 8px;border-radius:999px;font-weight:900;font-size:.72rem}.tile-copy small{display:block;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-activity{margin:0 28px 20px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:18px}.social-activity h2{margin:0 0 12px}.social-activity>p{color:var(--muted);margin:0}.activity-list{display:grid;gap:10px}.activity-list article{display:flex;align-items:center;gap:12px}.activity-list p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.mini-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);font-weight:900}.state-list{padding:15px;border-radius:15px;background:var(--panel2)}.state-list p{margin:8px 0}.date-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.date-choice-grid button{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:14px;border-radius:15px}.date-choice-grid button.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.date-choice-grid svg{width:22px;grid-row:1/3}.date-choice-grid b{display:block}.date-choice-grid small{color:var(--muted)}.rating-ten{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:16px 0 22px}.rating-ten button{aspect-ratio:1;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-weight:900}.rating-ten button.active{background:var(--yellow);border-color:var(--yellow);color:#17120a}.login-choice{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.login-choice a{text-decoration:none}.fine-print{font-size:.78rem}.detail-actions button.active svg{fill:currentColor}.primary-btn:disabled,.secondary-btn:disabled,.detail-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){.match-grid{grid-template-columns:1fr}.connection-item{grid-template-columns:auto 1fr}.connection-actions{grid-column:1/-1;justify-content:stretch}.connection-actions button{flex:1}.rating-ten{grid-template-columns:repeat(5,1fr)}.date-choice-grid{grid-template-columns:1fr}.social-activity{margin-left:20px;margin-right:20px}.bottom-nav button{padding-inline:6px}.bottom-nav small{font-size:.61rem}.connection-form{flex-direction:column}.match-result-head{align-items:start;flex-direction:column}.match-score{width:100%;justify-content:center}}

/* MovieMatch 4.2.1 — horizontal-only deck and progressive details */
.deck-card{touch-action:pan-y;user-select:none}
.deck-card::before,.deck-card::after{position:absolute;top:24px;z-index:6;padding:9px 13px;border:2px solid currentColor;border-radius:10px;font-weight:900;letter-spacing:.08em;opacity:0;transition:opacity .12s;pointer-events:none}
.deck-card::before{content:"NOT INTERESTED";left:22px;color:#ff7887;transform:rotate(-7deg)}
.deck-card::after{content:"INTERESTED";right:22px;color:var(--green);transform:rotate(7deg)}
.deck-card.swiping-left::before,.deck-card.swiping-right::after{opacity:1}
.deck-copy{padding-top:110px}
.deck-copy .eyebrow{margin-bottom:6px}
.deck-copy h2{margin-bottom:13px}
.deck-copy p:not(.eyebrow){display:none}
.swipe-hint{flex-wrap:wrap}
.detail-sheet{width:min(940px,100%)}
.detail-summary{display:grid;grid-template-columns:minmax(180px,310px) 1fr;gap:30px;align-items:end;padding:30px 30px 22px}
.detail-poster{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:var(--panel)}
.detail-intro{padding-bottom:8px}
.detail-intro h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:.92;letter-spacing:-.055em;margin:8px 0 16px}
.detail-feature-actions{padding:0 30px 10px}
.detail-feature-actions button,.detail-feature-actions a{border:0;border-radius:999px;padding:13px 17px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.detail-feature-actions svg{width:18px;vertical-align:middle;margin-right:7px}
.primary-detail-action{background:var(--red);color:#fff}
.primary-detail-action:disabled{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.detail-section{margin:12px 30px 28px;padding-top:24px;border-top:1px solid var(--line)}
.detail-section h2,.related-section h2{margin:0 0 15px;font-size:1.5rem}
.detail-rating-head{display:flex;justify-content:space-between;align-items:end;gap:16px}
.detail-rating-head h2{margin:0}
.detail-rating-head>button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:11px 14px;border-radius:999px}
.detail-rating-head>button.active{color:#ff8793;border-color:var(--red)}
.detail-rating-head svg,.detail-secondary-actions svg{width:17px;vertical-align:middle;margin-right:6px}
.detail-inline-rating{margin:18px 0 8px}
.detail-secondary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.detail-secondary-actions button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 13px;border-radius:999px}
.detail-secondary-actions button.active{color:#ff8793;border-color:var(--red)}
.clear-rating{padding-left:0}
.director-list{display:flex;gap:12px;flex-wrap:wrap}
.director-list article{display:flex;align-items:center;gap:12px;padding:10px 13px;background:var(--panel2);border:1px solid var(--line);border-radius:16px}
.director-list img{width:48px;height:48px;border-radius:12px;object-fit:cover}
.detail-description p{font-size:1rem;line-height:1.75;color:#d0ccd2;white-space:pre-line}
.detail-facts{font-size:.83rem!important;color:var(--muted)!important}
.detail-loading{color:var(--muted)}
.related-section{margin:10px 30px 10px;padding-top:24px;border-top:1px solid var(--line)}
.related-rail{grid-auto-columns:minmax(145px,185px)}
.social-activity{margin-top:8px}
@media(max-width:700px){
  .detail-summary{grid-template-columns:120px 1fr;gap:17px;padding:24px 20px 18px;align-items:end}
  .detail-intro h1{font-size:clamp(2rem,10vw,3.5rem)}
  .detail-feature-actions{padding-left:20px;padding-right:20px}
  .detail-section,.related-section{margin-left:20px;margin-right:20px}
  .detail-rating-head{align-items:start;flex-direction:column}
  .detail-rating-head>button{width:100%}
  .detail-inline-rating{grid-template-columns:repeat(5,1fr)}
  .cast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:430px){
  .detail-summary{grid-template-columns:95px 1fr}
  .detail-meta span{font-size:.68rem}
  .cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 4.2.1: four-button deck dock; left rejection is swipe-only */
.discover-action-dock .reject{display:none!important}

/* MovieMatch 4.3 clarity layer */
.pick-section,.swipe-feed-section,.source-rails{max-width:1180px;margin:0 auto 34px;padding:0 18px}.pick-carousel{min-height:430px}.pick-slide{position:relative;min-height:430px;border-radius:24px;overflow:hidden;background:#18191f}.pick-slide>img{position:absolute;width:100%;height:100%;object-fit:cover}.pick-copy{position:absolute;left:0;right:0;bottom:0;padding:34px;z-index:2;max-width:720px}.pick-copy h2{font-size:clamp(2.2rem,6vw,4.8rem);margin:.15em 0}.pick-actions{display:flex;gap:10px;flex-wrap:wrap}.pick-actions button{border-radius:999px;padding:11px 15px}.pick-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}.pick-pips{display:flex;gap:6px;max-width:70vw;overflow:auto}.pick-pips button{width:9px;height:9px;border:0;border-radius:50%;background:#555;padding:0;flex:0 0 auto}.pick-pips button.active{background:#fff;transform:scale(1.35)}.home-discover-head{max-width:1180px;margin:0 auto 20px;padding:24px 18px 0}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-grid .panel{margin:0}.metric-links button{background:var(--panel,#17181d);border:1px solid #2b2d35;border-radius:18px;color:inherit;padding:18px;text-align:left}.profile-identity-panel label{display:grid;gap:7px}.profile-identity-panel input,.connection-form input{width:100%;padding:12px;border-radius:12px;border:1px solid #3a3c45;background:#0e0f13;color:#fff}.profile-person-list{display:flex;gap:10px;flex-wrap:wrap}.profile-person-list button,.person-card{background:#111218;border:1px solid #30323a;border-radius:14px;color:inherit;padding:8px;display:flex;gap:9px;align-items:center;text-align:left}.profile-person-list img,.person-card img{width:54px;height:54px;object-fit:cover;border-radius:10px}.person-sheet{max-width:860px}.person-hero{display:grid;grid-template-columns:160px 1fr;gap:20px}.person-hero img{width:160px;height:210px;object-fit:cover;border-radius:16px}.person-actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.person-actions button.active{background:#fff;color:#111}.person-actions button.danger{background:#7e293c;color:white}.shared-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.shared-public-head{max-width:900px;margin:0 auto;padding:30px 18px}.shared-columns{max-width:1180px;margin:auto;padding:0 18px}.match-candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.match-candidate,.shared-item{position:relative}.match-candidate>.secondary-btn,.shared-item>button{width:100%;margin-top:7px}.tile-state{position:absolute;left:8px;bottom:8px;background:#111d;color:#fff;padding:5px 8px;border-radius:999px;font-size:.75rem}.detail-description{order:0}.director-list button{width:100%}.discover-action-dock{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.profile-grid,.shared-columns{grid-template-columns:1fr}.pick-slide{min-height:500px}.pick-copy{padding:22px}.person-hero{grid-template-columns:100px 1fr}.person-hero img{width:100px;height:140px}}


/* MovieMatch 4.3.1 — final portfolio polish */
.pick-carousel{min-height:500px}
.pick-slide{min-height:500px;touch-action:pan-y;cursor:grab;will-change:transform;transition:transform .18s ease}
.pick-slide:active{cursor:grabbing}
.pick-copy{max-width:780px;padding:28px 30px}
.pick-copy h2{font-size:clamp(2rem,5vw,4rem);line-height:.96;margin:.15em 0 .18em}
.pick-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:680px;line-height:1.45;margin:0 0 16px;color:#e2dee0;text-shadow:0 1px 12px #000}
.pick-actions{align-items:center;gap:8px}
.pick-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);background:rgba(18,18,23,.78);backdrop-filter:blur(12px);color:#fff;font-weight:800;box-shadow:none}
.pick-actions button:hover{background:rgba(255,255,255,.16)}
.pick-actions button svg{width:18px!important;height:18px!important;flex:0 0 18px;stroke-width:2}
.pick-actions .text-btn{background:transparent;border-color:transparent;color:#fff;text-decoration:underline;text-underline-offset:3px}
.pick-stamp{position:absolute;top:24px;z-index:5;padding:9px 13px;border:2px solid currentColor;border-radius:10px;font-weight:900;letter-spacing:.08em;opacity:0;pointer-events:none;transition:opacity .12s}
.pick-stamp-left{left:22px;color:#ff7887;transform:rotate(-7deg)}
.pick-stamp-right{right:22px;color:var(--green);transform:rotate(7deg)}
.pick-slide.swiping-left .pick-stamp-left,.pick-slide.swiping-right .pick-stamp-right{opacity:1}
.friends-source[hidden]{display:none!important}
.person-card{cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.person-card:hover,.person-card:focus-visible{border-color:var(--red2);background:#1b1b22;transform:translateY(-1px)}
.person-card span{min-width:0;display:grid;gap:3px}
.person-card small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  .pick-carousel,.pick-slide{min-height:540px}
  .pick-copy{padding:20px}
  .pick-copy h2{font-size:clamp(2rem,11vw,3.5rem)}
  .pick-description{-webkit-line-clamp:2;font-size:.9rem}
  .pick-actions{gap:7px}
  .pick-actions button{min-height:38px;padding:8px 11px;font-size:.82rem}
  .pick-actions button svg{width:17px!important;height:17px!important}
}


/* MovieMatch 4.4 — focused swipe, match ranking and public recommendations */
.final-discover-head{max-width:980px;margin:0 auto;padding-top:48px}.final-discover-head h1{font-family:"News Cycle",sans-serif;font-weight:700;letter-spacing:-.055em;max-width:850px}.discovery-search{max-width:720px;margin:0 auto}.deck-status{max-width:620px;margin:0 auto;align-items:center;gap:12px}.deck-status #recommendationContext{margin-left:auto;color:var(--red2);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.deck{max-width:620px;height:min(68vh,730px);min-height:540px}.deck-card{touch-action:none;user-select:none}.deck-stamp{position:absolute;z-index:7;padding:10px 14px;border:3px solid currentColor;border-radius:12px;font-weight:900;letter-spacing:.09em;opacity:0;pointer-events:none}.deck-stamp-left{top:28px;left:24px;color:#ff7887;transform:rotate(-7deg)}.deck-stamp-right{top:28px;right:24px;color:var(--green);transform:rotate(7deg)}.deck-stamp-up{top:28px;left:50%;transform:translateX(-50%);color:#80b8ff}.deck-card.swiping-left .deck-stamp-left,.deck-card.swiping-right .deck-stamp-right,.deck-card.swiping-up .deck-stamp-up{opacity:1}.discover-action-dock{display:flex;grid-template-columns:none}.discover-action-dock .dock-action{width:62px;height:62px}.completion-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.completion-choice-grid button{display:grid;gap:4px;text-align:left;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:15px;border-radius:15px}.completion-choice-grid button.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.completion-choice-grid svg{width:22px}.series-watch-note{padding:12px 14px;border-radius:13px;background:rgba(128,184,255,.09);color:#cfe4ff}.decision-animation{position:fixed;inset:0;z-index:120;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:rgba(5,5,8,.16);backdrop-filter:blur(2px);transition:opacity .15s}.decision-animation.show{opacity:1;visibility:visible}.decision-animation-inner{display:grid;place-items:center;gap:8px;font-size:1.15rem;font-weight:900;text-shadow:0 3px 18px #000}.decision-animation svg{width:130px;height:130px;filter:drop-shadow(0 18px 25px rgba(0,0,0,.45))}.decision-animation.show .popcorn-mark{animation:popcornBurst .78s cubic-bezier(.2,.85,.22,1)}.decision-animation.show .eye-mark{animation:eyeBlink .75s ease}.decision-animation.show .thumb-mark{animation:thumbBounce .75s cubic-bezier(.2,.9,.2,1)}@keyframes popcornBurst{0%{transform:scale(.2) rotate(-12deg);opacity:0}55%{transform:scale(1.18) rotate(5deg)}100%{transform:scale(1)}}@keyframes eyeBlink{0%,100%{transform:scaleY(1)}35%{transform:scaleY(.08)}60%{transform:scaleY(1.08)}}@keyframes thumbBounce{0%{transform:scale(.2) rotate(-18deg)}65%{transform:scale(1.2) rotate(8deg)}100%{transform:scale(1)}}.detail-actions-section{margin-top:10px}.person-card{border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer}.cast-grid .person-card{display:grid;justify-items:start}.cast-grid .person-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.support-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.support-panel p{color:var(--muted);line-height:1.5}.match-filter-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.ranked-match-list{display:grid;gap:12px}.ranked-match-row{display:grid;grid-template-columns:42px 92px 1fr auto;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:12px;border-radius:18px}.ranked-match-row>img{width:92px;aspect-ratio:2/3;object-fit:cover;border-radius:12px}.match-rank{font-size:1.5rem;font-weight:900;color:var(--red2);text-align:center}.ranked-match-copy h3{font-size:1.25rem;margin:2px 0 9px}.score-pairs{display:flex;gap:7px;flex-wrap:wrap}.score-pairs span,.state-chip{padding:6px 9px;background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:999px;font-size:.76rem}.ranked-match-copy small{display:block;color:var(--muted);margin-top:8px}.ranked-match-actions{display:grid;gap:8px;min-width:155px}.recommend-recipient{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;margin:8px 0}.recommend-recipient input{width:18px;height:18px}.recommend-recipient .connection-avatar{width:36px;height:36px}.shared-recommended{max-width:1180px;margin:0 auto;padding:0 18px}.shared-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.switch-account-row{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px}.switch-account-row p{color:var(--muted);line-height:1.5}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-links{display:grid}.metric-links button{color:var(--text)}
@media(max-width:760px){.final-discover-head{padding-top:28px}.deck{min-height:500px;height:64vh}.deck-status{display:grid;grid-template-columns:1fr auto}.deck-status #recommendationContext{grid-column:1/-1;max-width:100%;margin:0}.completion-choice-grid{grid-template-columns:1fr}.ranked-match-row{grid-template-columns:34px 68px 1fr}.ranked-match-row>img{width:68px}.ranked-match-actions{grid-column:2/-1;display:flex;min-width:0}.match-filter-row{align-items:stretch;flex-direction:column}.profile-grid{grid-template-columns:1fr}}


/* MovieMatch 4.5 — secure, compact and five-tab product build */
.feed-head,.match-head{padding:44px 0 10px;max-width:900px}.feed-head h1,.match-head h1{font-family:"News Cycle",sans-serif;font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.055em;margin:0}.feed-head>p:last-child,.match-head>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:720px}.feed-toolbar{display:flex;justify-content:flex-end}.feed-section .section-title{margin-top:34px}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(650px,calc(100% - 22px))}.bottom-nav button{min-width:0;padding-inline:6px}.bottom-nav small{font-size:.68rem}.probability-badge{position:absolute;z-index:8;right:18px;top:18px;background:rgba(8,9,13,.83);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(12px);padding:8px 11px;border-radius:999px;font-weight:900;font-size:.8rem}.friend-recommendation-label{position:absolute;z-index:8;left:18px;top:18px;max-width:65%;background:var(--red);color:#fff;padding:8px 11px;border-radius:999px;font-size:.72rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-card .friend-recommendation-label+.probability-badge{top:18px}.person-card,.director-list button,.cast-grid button{appearance:none;width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:14px;cursor:pointer;text-align:left}.director-list button{display:flex;align-items:center;gap:12px;padding:10px}.director-list button img{width:64px;height:64px;object-fit:cover;border-radius:12px}.cast-grid button{display:grid;padding:8px;gap:7px}.cast-grid button img{width:100%;aspect-ratio:1.35/1;object-fit:cover;border-radius:11px}.cast-grid button b,.cast-grid button span{padding-inline:4px}.person-error{color:#ff9daa}.match-help{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.match-help article{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:16px;padding:15px}.match-help b{display:block;font-size:1.25rem;color:var(--red2);margin-bottom:5px}.match-error-banner{border:1px solid rgba(237,51,72,.5);background:rgba(237,51,72,.08);padding:14px;border-radius:15px;margin-bottom:16px}.match-onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.connection-form{display:flex;gap:8px}.connection-form input{flex:1;min-width:0}.profile-add-friend{margin-top:12px}.profile-add-friend .connection-form{margin-top:8px}.compact-watch-choices{grid-template-columns:1fr 1fr!important}.compact-date-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.compact-date-choices button{padding:10px 8px;min-width:0}.compact-date-choices button small{display:none}.compact-date-choices button b{font-size:.86rem}.rating-sheet{max-width:720px}.rating-sheet #watchedFields h3{margin:14px 0 8px}.rating-sheet .rating-ten{grid-template-columns:repeat(10,1fr)}.decision-animation .kernel-stage{position:relative;width:220px;height:170px}.decision-animation .kernel{position:absolute;left:50%;bottom:12px;width:34px;height:29px;background:#fff3c4;border:4px solid #f4c95d;border-radius:55% 45% 55% 45%;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35));animation:kernelJump .95s cubic-bezier(.25,.75,.28,1) both;animation-delay:var(--delay);transform:translateX(calc(-50% + var(--x))) rotate(var(--r))}.decision-animation .kernel:after{content:"";position:absolute;width:12px;height:10px;left:7px;top:5px;border-radius:50%;background:white}.decision-animation .kernel:nth-child(2){width:29px;height:25px}.decision-animation .kernel:nth-child(3){width:37px;height:31px}.decision-animation .kernel:nth-child(4){width:31px;height:27px}.decision-animation .kernel:nth-child(5){width:35px;height:29px}@keyframes kernelJump{0%{transform:translateX(calc(-50% + var(--x))) translateY(0) rotate(var(--r));opacity:0}12%{opacity:1}50%{transform:translateX(calc(-50% + var(--x2))) translateY(var(--height)) rotate(calc(var(--r) + 170deg))}100%{transform:translateX(calc(-50% + var(--x3))) translateY(0) rotate(calc(var(--r) + 330deg));opacity:1}}.decision-animation .popcorn-ground{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:180px;height:8px;background:rgba(255,255,255,.22);filter:blur(2px);border-radius:50%}.feed-section .rail:empty:after{content:"Loading…";color:var(--muted);padding:20px}.feed-section[hidden]{display:none!important}.image-cache-note{font-size:.74rem;color:var(--muted)}
body[data-current-route="home"] .app-footer{display:none}
@media(max-width:760px){
  body[data-current-route="home"] main{padding-bottom:0}body[data-current-route="home"] #home.active{overflow:hidden}
  main{padding-inline:14px;padding-bottom:104px}.topbar{padding-block:10px}.status-pill span:last-child{display:none}.final-discover-head{padding:10px 4px 8px;display:grid;gap:12px;align-items:start}.final-discover-head h1{font-size:clamp(2.05rem,10vw,3rem);line-height:.92}.final-discover-head>div>p:last-child{font-size:.9rem;line-height:1.35;margin:9px 0}.final-discover-head .segmented{justify-self:start}.discovery-search{height:48px}.deck-status{padding:8px 4px;font-size:.76rem}.deck-status #recommendationContext{display:none}.deck{height:min(42svh,410px);min-height:340px;max-height:410px}.deck-copy{left:18px;right:18px;bottom:78px}.deck-copy h2{font-size:clamp(2rem,10vw,3.25rem)}.deck-meta span{padding:5px 7px}.swipe-hint{display:none}.discover-action-dock{position:fixed;bottom:86px;left:0;right:0;pointer-events:none}.discover-action-dock button{pointer-events:auto}.discover-action-dock .dock-action{width:54px;height:54px}.probability-badge{top:12px;right:12px}.friend-recommendation-label{top:12px;left:12px;max-width:60%}.bottom-nav{left:10px;right:10px;transform:none;width:auto;bottom:calc(8px + env(safe-area-inset-bottom));padding:5px}.bottom-nav button{padding:9px 2px}.bottom-nav svg{width:21px}.bottom-nav small{font-size:.62rem}.feed-head,.match-head{padding-top:22px}.feed-head h1,.match-head h1{font-size:2.65rem}.match-help,.match-onboarding-grid{grid-template-columns:1fr}.connection-form{display:grid;grid-template-columns:1fr}.compact-date-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-date-choices button{padding:9px 4px}.compact-date-choices button svg{width:18px}.compact-watch-choices button{padding:11px}.compact-watch-choices small{display:none}.rating-sheet{padding:20px 16px;max-height:calc(100svh - 16px);overflow:auto}.rating-sheet .rating-ten{grid-template-columns:repeat(5,1fr)}.rating-sheet #saveWatchedBtn{position:sticky;bottom:0;margin-top:10px}.person-sheet{max-height:calc(100svh - 12px);overflow:auto}.person-hero{grid-template-columns:88px 1fr}.person-hero img{width:88px;height:122px}.ranked-match-row{grid-template-columns:28px 64px 1fr}.score-pairs span{font-size:.68rem}.feed-section .rail{grid-auto-columns:minmax(135px,44vw)}
}
@media(max-height:720px) and (max-width:760px){.final-discover-head>div>p:last-child{display:none}.final-discover-head{padding-top:5px}.deck{height:330px;min-height:330px}.deck-status{padding-block:5px}.discovery-search input{padding-block:10px}}


/* MovieMatch 4.5.5 — interaction reliability */
.modal-shade{z-index:0}
.modal-sheet{z-index:1;pointer-events:auto}
.modal-close{z-index:30;pointer-events:auto;touch-action:manipulation}
.modal button,.modal a,.oauth-link,.trailer-link{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.primary-btn.oauth-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.detail-feature-actions,.detail-feature-actions a{position:relative;z-index:2;pointer-events:auto}

/* MovieMatch 4.5.5 profile, social search and reliable controls */
.profile-name-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.visibility-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:9px 13px;font-weight:850}.visibility-toggle span{width:9px;height:9px;border-radius:50%;background:var(--muted)}.visibility-toggle.public span{background:var(--green);box-shadow:0 0 12px rgba(85,214,166,.7)}.identity-list{display:grid;gap:10px;margin:10px 0 16px}.identity-list>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.identity-list span{color:var(--muted);font-size:.78rem}.identity-list code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;color:var(--yellow)}.friend-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.friend-summary p{margin:0;color:var(--muted)}.profile-friend-search{margin:18px 0}.profile-friend-search label{display:grid;gap:8px;font-weight:800}.friend-search-results{display:grid;gap:8px;margin-top:12px}.friend-search-results article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:10px;border-radius:14px}.friend-search-results small{display:block;color:var(--muted);margin-top:3px}.friend-search-empty,.connection-warning{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.connection-warning b{color:var(--text)}.library-share-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-share-panel[hidden]{display:none!important}.modal button,.modal a,#matchContent button,#profile button{touch-action:manipulation}.detail-secondary-actions button,.person-card,.director-list button,.cast-grid button{position:relative;z-index:3;pointer-events:auto}
@media(max-width:720px){.library-title{align-items:flex-start;flex-direction:column}.library-share-actions{width:100%}.library-share-actions button{flex:1}.identity-list>div{grid-template-columns:1fr}.friend-search-results article{grid-template-columns:42px minmax(0,1fr)}.friend-search-results article button{grid-column:1/-1}.profile-name-row{gap:9px}}

/* MovieMatch 4.6.2 — approved five-kernel popcorn animation */
.decision-animation.popcorn{background:transparent;backdrop-filter:none}.decision-animation.popcorn .decision-animation-inner{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}.decision-animation.popcorn .kernel-stage{position:absolute;inset:0;overflow:hidden}.decision-animation.popcorn .decision-label{position:absolute;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:9px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(11,11,14,.76);backdrop-filter:blur(12px);white-space:nowrap;font-size:.9rem;opacity:0;animation:kernelLabel 1.35s ease both}.decision-animation.popcorn .kernel{--start-x:0vw;--apex-x:0vw;--end-x:0vw;--apex-y:-56vh;--delay:0ms;--turn:0deg;position:absolute;left:50%;bottom:-9vh;width:34px;height:29px;background:#fff3c4;border:3px solid #e0ad31;border-radius:58% 42% 54% 46%/52% 60% 40% 48%;box-shadow:inset -4px -5px 0 rgba(244,201,93,.34);filter:drop-shadow(0 9px 9px rgba(0,0,0,.36));opacity:0;will-change:transform,opacity;animation:kernelLaunch 1.35s cubic-bezier(.2,.73,.24,1) var(--delay) both}.decision-animation.popcorn .kernel:before,.decision-animation.popcorn .kernel:after{content:"";position:absolute;background:#fffdf5;border:3px solid #e0ad31;border-radius:50%}.decision-animation.popcorn .kernel:before{width:17px;height:17px;left:-4px;top:-7px}.decision-animation.popcorn .kernel:after{width:15px;height:15px;right:-4px;top:-5px}.decision-animation.popcorn .kernel:nth-child(1){--start-x:-7vw;--apex-x:-30vw;--end-x:-41vw;--apex-y:-56vh;--delay:0ms;--turn:-24deg;transform:scale(.88)}.decision-animation.popcorn .kernel:nth-child(2){--start-x:-3vw;--apex-x:-15vw;--end-x:-20vw;--apex-y:-65vh;--delay:55ms;--turn:16deg;width:29px;height:25px}.decision-animation.popcorn .kernel:nth-child(3){--start-x:0vw;--apex-x:2vw;--end-x:8vw;--apex-y:-51vh;--delay:20ms;--turn:-8deg;width:37px;height:31px}.decision-animation.popcorn .kernel:nth-child(4){--start-x:3vw;--apex-x:18vw;--end-x:27vw;--apex-y:-62vh;--delay:85ms;--turn:20deg;width:31px;height:27px}.decision-animation.popcorn .kernel:nth-child(5){--start-x:7vw;--apex-x:31vw;--end-x:43vw;--apex-y:-55vh;--delay:40ms;--turn:-17deg;width:35px;height:29px}@keyframes kernelLaunch{0%{transform:translate3d(calc(-50% + var(--start-x)),8vh,0) scale(.62) rotate(var(--turn));opacity:0}8%{opacity:1}52%{transform:translate3d(calc(-50% + var(--apex-x)),var(--apex-y),0) scale(1) rotate(calc(var(--turn) + 430deg));opacity:1}100%{transform:translate3d(calc(-50% + var(--end-x)),22vh,0) scale(.78) rotate(calc(var(--turn) + 850deg));opacity:0}}@keyframes kernelLabel{0%,15%{opacity:0;transform:translate(-50%,8px)}30%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-4px)}}@media(prefers-reduced-motion:reduce){.decision-animation.popcorn .kernel{animation:kernelReduced .35s ease-out var(--delay) both}.decision-animation.popcorn .decision-label{animation:kernelLabelReduced .6s ease both}@keyframes kernelReduced{0%{transform:translate3d(calc(-50% + var(--start-x)),5vh,0) scale(.8);opacity:0}50%{opacity:1}100%{transform:translate3d(calc(-50% + var(--apex-x)),-18vh,0) scale(1);opacity:0}}@keyframes kernelLabelReduced{0%,100%{opacity:0}20%,80%{opacity:1}}}

/* MovieMatch 4.6.5 — Turnstile verification */
.turnstile-sheet{max-width:430px;text-align:center}.turnstile-sheet>p{color:var(--muted);line-height:1.5}.turnstile-sheet .cf-turnstile{display:flex;justify-content:center;min-height:70px;margin:18px auto 10px}.turnstile-status{min-height:1.4em;font-size:.86rem}.turnstile-sheet iframe{max-width:100%}

/* MovieMatch 4.6.5 security controls */
.settings-note{color:var(--muted);font-size:.88rem;line-height:1.5}.security-connections{margin-top:24px}.connection-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-btn{touch-action:manipulation}.settings-buttons button,.settings-buttons label{min-height:44px}

/* MovieMatch 4.6.6 progressive public/library artwork states */
.public-lazy-slot { min-width: 0; }
.public-lazy-tile { pointer-events: none; }
.public-skeleton-poster {
  min-height: 220px;
  background: linear-gradient(110deg, rgba(255,255,255,.035) 8%, rgba(255,255,255,.09) 18%, rgba(255,255,255,.035) 33%);
  background-size: 200% 100%;
  animation: mm466Skeleton 1.15s linear infinite;
  border-radius: inherit;
}
.public-item-error { min-height: 96px; display: grid; place-items: center; }
@keyframes mm466Skeleton { to { background-position-x: -200%; } }
@media (prefers-reduced-motion: reduce) { .public-skeleton-poster { animation: none; } }


/* 4.7.4-r5 — width containment only. Keeps the existing visual layout/nav. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

#app,
main,
.screen,
#match,
#matchContent,
#matchContent .match-section,
#matchContent .match-result-head,
#matchContent .match-filter-row,
#matchContent .ranked-match-list,
#matchContent .ranked-match-row,
#matchContent .ranked-match-copy,
#matchContent .ranked-match-actions,
#matchContent .score-pairs {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* The type/genre controls must shrink or wrap inside Match; never size the page. */
#matchContent .match-filter-row > *,
#matchContent .match-filter-row .segmented,
#matchContent #matchGenreFilter,
#matchContent .match-genres,
#matchContent .match-genres > * {
  min-width: 0;
  max-width: 100%;
}

#matchContent .match-genres {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  white-space: normal;
}

/* Dynamic names/metadata may wrap, but may never create intrinsic page width. */
#matchContent .ranked-match-copy h3,
#matchContent .ranked-match-copy small,
#matchContent .score-pairs span,
#matchContent .state-chip,
#matchContent .connection-item,
#matchContent .connection-item b,
#matchContent .connection-item p,
#matchContent .match-score span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 760px) {
  #matchContent .match-filter-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  #matchContent #matchGenreFilter {
    width: 100%;
  }

  #matchContent .match-filter-row .segmented {
    width: 100%;
    flex-wrap: wrap;
  }

  #matchContent .ranked-match-row {
    overflow: clip;
  }

  #matchContent .ranked-match-actions {
    flex-wrap: wrap;
  }

  #matchContent .ranked-match-actions > * {
    min-width: 0;
    max-width: 100%;
  }
}

/* MovieMatch 4.7.8 — native-DOM success animation rendering */
.decision-animation.mm477:not(.popcorn){background:rgba(5,5,8,.22);backdrop-filter:blur(3px)}
.decision-animation.mm477:not(.popcorn) .decision-animation-inner{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:12px}
.decision-animation.mm477:not(.popcorn) .eye-mark,.decision-animation.mm477:not(.popcorn) .thumb-mark{display:grid;place-items:center;width:clamp(150px,38vw,230px);height:clamp(150px,38vw,230px)}
.decision-animation.mm477:not(.popcorn) svg{display:block;width:100%;height:100%}
.decision-animation.mm477:not(.popcorn) .decision-label{font-size:clamp(1rem,4vw,1.25rem)}
.decision-animation.mm477.show .eye-mark{animation:eyeBlink .8s ease both}
.decision-animation.mm477.show .thumb-mark{animation:thumbBounce .8s cubic-bezier(.2,.9,.2,1) both}
.decision-animation.mm477.popcorn .kernel{bottom:-24px;animation-name:mm477KernelLaunch;animation-duration:1.65s;animation-timing-function:cubic-bezier(.2,.68,.24,1);animation-fill-mode:both}
.decision-animation.mm477.popcorn .decision-label{animation-duration:1.65s}
@keyframes mm477KernelLaunch{0%{transform:translate3d(calc(-50% + var(--start-x)),32px,0) scale(.62) rotate(var(--turn));opacity:0}8%{transform:translate3d(calc(-50% + var(--start-x)),0,0) scale(.78) rotate(calc(var(--turn) + 35deg));opacity:1}18%{transform:translate3d(calc(-50% + var(--start-x)),-8vh,0) scale(.9) rotate(calc(var(--turn) + 110deg));opacity:1}55%{transform:translate3d(calc(-50% + var(--apex-x)),var(--apex-y),0) scale(1) rotate(calc(var(--turn) + 430deg));opacity:1}100%{transform:translate3d(calc(-50% + var(--end-x)),20vh,0) scale(.78) rotate(calc(var(--turn) + 850deg));opacity:0}}
@media(prefers-reduced-motion:reduce){.decision-animation.mm477.popcorn .kernel{animation-name:mm477KernelReduced;animation-duration:.7s}.decision-animation.mm477.show .eye-mark,.decision-animation.mm477.show .thumb-mark{animation-duration:.35s}@keyframes mm477KernelReduced{0%{transform:translate3d(calc(-50% + var(--start-x)),24px,0) scale(.8);opacity:0}25%{transform:translate3d(calc(-50% + var(--start-x)),0,0) scale(1);opacity:1}100%{transform:translate3d(calc(-50% + var(--apex-x)),-22vh,0) scale(1);opacity:0}}}

/* MovieMatch 4.7.8 — six large branded SVG popcorns from one bottom origin */
.decision-animation.mm478.popcorn .kernel-stage{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
.decision-animation.mm478.popcorn .popcorn-svg{position:absolute;left:50%;top:100%;width:clamp(72px,20vw,104px);height:auto;opacity:0;will-change:transform,opacity;filter:drop-shadow(0 12px 12px rgba(0,0,0,.42));animation:mm478PopcornFlight 1.9s cubic-bezier(.22,.7,.25,1) var(--delay) both}
.decision-animation.mm478.popcorn .popcorn-svg:nth-child(2),.decision-animation.mm478.popcorn .popcorn-svg:nth-child(5){width:clamp(80px,22vw,112px)}
.decision-animation.mm478.popcorn .popcorn-svg:nth-child(3),.decision-animation.mm478.popcorn .popcorn-svg:nth-child(6){width:clamp(68px,19vw,98px)}
.decision-animation.mm478.popcorn .popcorn-svg svg{display:block;width:100%;height:auto;overflow:visible}
.decision-animation.mm478.popcorn .decision-label{animation-duration:1.9s}
@keyframes mm478PopcornFlight{0%{transform:translate3d(-50%,14vh,0) scale(.58) rotate(var(--launch-angle));opacity:0}5%{transform:translate3d(-50%,-2vh,0) scale(.78) rotate(calc(var(--launch-angle) + 35deg));opacity:1}52%{transform:translate3d(calc(-50% + var(--apex-x)),-70vh,0) scale(1) rotate(calc(var(--launch-angle) + 390deg));opacity:1}78%{opacity:1}100%{transform:translate3d(calc(-50% + var(--end-x)),18vh,0) scale(.82) rotate(calc(var(--launch-angle) + 760deg));opacity:0}}
@media(prefers-reduced-motion:reduce){.decision-animation.mm478.popcorn .popcorn-svg{animation:mm478PopcornReduced .75s ease-out var(--delay) both}@keyframes mm478PopcornReduced{0%{transform:translate3d(-50%,10vh,0) scale(.75);opacity:0}20%{opacity:1}100%{transform:translate3d(calc(-50% + var(--apex-x)),-28vh,0) scale(1);opacity:0}}}

/* MovieMatch 4.8.0 — Match social cards. The global navigation is intentionally untouched. */
.match-friends-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 14px}.match-friends-header h2{font-size:clamp(1.65rem,4vw,2.35rem);margin:2px 0 0}.match-invite-toggle{flex:0 0 auto}.match-invite-drawer{display:grid;gap:14px;margin:0 0 20px}.match-invite-drawer[hidden]{display:none!important}.match-invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.match-invite-grid .panel{margin:0}.match-invite-grid h3,.match-request-list h3{margin:4px 0 12px}.match-invite-share .invite-code{margin-bottom:10px}.match-invite-add .connection-form{margin-top:10px}.match-request-list{display:grid;gap:10px;padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:18px}.match-request-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);background:var(--panel2);border-radius:15px}.match-request-copy{display:grid;gap:3px;min-width:0}.match-request-copy span{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.match-friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:26px}.match-friend-card{display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-width:0;padding:16px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-radius:22px;box-shadow:0 16px 36px rgba(0,0,0,.16);transition:border-color .18s ease,transform .18s ease,background .18s ease}.match-friend-card.selected{border-color:rgba(255,95,126,.72);background:linear-gradient(145deg,rgba(237,51,72,.17),rgba(255,255,255,.022));box-shadow:0 18px 44px rgba(237,51,72,.1)}.match-friend-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.match-friend-avatar,.friend-profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,var(--red),#8f213c);color:#fff;font-size:1.25rem;font-weight:950;letter-spacing:.02em}.match-friend-compatibility{display:grid;justify-items:end;gap:1px;text-align:right}.match-friend-compatibility b{font-size:1.45rem;color:var(--red2);line-height:1}.match-friend-compatibility span{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.match-friend-copy{min-width:0}.match-friend-copy h3{margin:0;font-size:1.2rem;line-height:1.1;overflow-wrap:anywhere}.match-friend-copy p{margin:6px 0 0;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.match-friend-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.match-friend-actions button{min-width:0;padding-inline:9px}.match-compatibility-note{margin:0 0 14px;color:var(--muted);font-size:.8rem}.match-selected-results{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.match-friends-empty{margin-bottom:24px}.friend-profile-sheet{max-width:940px}.friend-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:4px 0 22px;padding-right:58px}.friend-profile-hero h1{font-size:clamp(2rem,6vw,4.2rem);line-height:.95;margin:4px 0 8px;overflow-wrap:anywhere}.friend-profile-hero p:last-child{margin:0;color:var(--muted);overflow-wrap:anywhere}.friend-profile-avatar{width:82px;height:82px;border-radius:25px;font-size:1.55rem}.friend-profile-score{justify-self:end;padding:10px 13px;border:1px solid rgba(255,95,126,.42);background:rgba(237,51,72,.11);border-radius:999px;color:var(--red2);font-weight:900;white-space:nowrap}.friend-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.friend-profile-stats article{padding:13px;border:1px solid var(--line);background:var(--panel2);border-radius:14px;text-align:center;font-weight:850}
@media(hover:hover){.match-friend-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24)}}
@media(max-width:760px){.match-friends-header{align-items:center;margin-top:20px}.match-friends-header h2{font-size:1.55rem}.match-invite-grid{grid-template-columns:1fr}.match-request-card{grid-template-columns:42px minmax(0,1fr)}.match-request-card .connection-actions{grid-column:2;display:flex;flex-wrap:wrap}.match-friends-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,80vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 12px;margin-inline:-2px}.match-friend-card{scroll-snap-align:start}.friend-profile-hero{grid-template-columns:auto minmax(0,1fr);gap:13px;padding-right:42px}.friend-profile-avatar{width:64px;height:64px;border-radius:20px;font-size:1.2rem}.friend-profile-score{grid-column:1/-1;justify-self:start}.friend-profile-stats{grid-template-columns:1fr}.friend-profile-sheet{padding-inline:17px}}
