:root{color:#f7f4ef;background:#101114;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#1f232af5,#101114 48%),#101114}button{font:inherit}.app-shell{width:min(100%,460px);min-height:100vh;margin:0 auto;padding:18px 16px 20px;display:flex;flex-direction:column;gap:14px}.app-shell.is-focused{padding-top:max(10px,env(safe-area-inset-top));gap:8px}.account-panel{display:grid;gap:12px;border:1px solid rgba(138,215,193,.28);border-radius:8px;padding:14px;background:#171b1d}.account-panel-heading,.account-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-status,.account-message,.account-error{margin:0}.account-status{margin-top:2px;color:#d8d2c9;font-size:.82rem;font-weight:700}.account-message{color:#c8c2b8;font-size:.82rem}.account-panel-heading>button,.account-actions button,.account-feedback button{min-height:38px;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:0 12px;background:transparent;color:#f7f4ef;font-weight:800}.account-actions{display:flex;flex:0 0 auto;gap:6px}.history-view{display:grid;gap:16px;width:100%}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.history-heading h1,.history-item h2,.history-state p{margin:0;letter-spacing:0}.history-heading h1{font-size:1.8rem}.history-heading>button,.history-state button,.history-more,.history-page-error button{min-height:42px;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:0 14px;background:transparent;color:#f7f4ef;font-weight:800}.history-state{display:grid;justify-items:start;gap:10px;min-height:180px;align-content:center;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1b1d22;color:#c8c2b8}.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px 12px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1b1d22}.history-item>img,.history-poster-fallback{width:76px;aspect-ratio:2 / 3;border-radius:6px;object-fit:cover}.history-poster-fallback{display:grid;place-items:center;padding:6px;background:#292c31;color:#9e9990;font-size:.7rem;text-align:center}.history-item-copy{min-width:0;display:grid;align-content:start;gap:10px}.history-item-copy>div:first-child{display:grid;gap:3px}.history-item h2{overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.history-item-copy>div:first-child>span{color:#aaa49b;font-size:.78rem}.history-labels{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.72rem}.history-labels span,.history-labels strong{border-radius:4px;padding:4px 6px}.history-labels span{background:#ffffff14;color:#d8d2c9}.history-labels strong{background:#8ad7c121;color:#a8e4d3}.history-rating{grid-column:1 / -1;display:grid;justify-items:start;gap:5px}.history-rating>span:first-child,.history-rating-status{color:#c8c2b8;font-size:.78rem}.history-rating>div{display:grid;grid-template-columns:repeat(5,44px);gap:4px}.history-rating>div button{width:44px;height:44px;border:0;padding:0;background:transparent;color:#706d67;font-size:1.55rem;line-height:1;touch-action:manipulation}.history-rating>div button.is-selected{color:#f2c94c}.history-rating>div button:disabled{cursor:wait;opacity:.65}.history-rating-error,.history-page-error{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#f0b5ad;font-size:.8rem;line-height:1.4}.history-rating-error button{border:0;padding:3px 0;background:transparent;color:#9fd5ca;font:inherit;font-weight:900;text-decoration:underline}.history-more{width:100%}.history-page-error{justify-content:space-between}.account-form{display:grid;gap:10px}.account-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0a}.account-mode button{min-height:40px;border:0;border-radius:6px;background:transparent;color:#c8c2b8;font-weight:800}.account-mode button.is-selected,.account-submit{background:#8ad7c1;color:#101114}.account-form label{display:grid;gap:5px;color:#c8c2b8;font-size:.78rem;font-weight:800}.account-form input{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:0 12px;background:#22262a;color:#f7f4ef;font:inherit}.account-submit{min-height:48px;border:0;border-radius:7px;font-weight:900}.account-error,.account-feedback{color:#f1a69d;font-size:.8rem}.partnership-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:11px;color:#c8c2b8;font-size:.82rem}.partnership-summary strong{color:#9fd5ca;font-size:.95rem}.pairing-panel{display:grid;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:11px}.pairing-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pairing-code-row>div{display:grid;gap:2px}.pairing-label,.pairing-form label,.pairing-expiry{color:#c8c2b8;font-size:.76rem}.pairing-code{color:#f7f4ef;font-size:1.6rem;letter-spacing:.12em;line-height:1.1}.pairing-code-row button,.pairing-form button{min-height:42px;border:0;border-radius:7px;padding:0 12px;background:#8ad7c1;color:#101114;font-weight:900}.pairing-code-row button:disabled,.pairing-form button:disabled{opacity:.55}.pairing-expiry{margin:-4px 0 0}.pairing-form{display:grid;gap:5px}.pairing-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pairing-form input{width:100%;min-width:0;min-height:46px;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:0 12px;background:#22262a;color:#f7f4ef;font:inherit;font-size:1.1rem;letter-spacing:.1em}.account-eyebrow{margin:0;color:#9fd5ca;font-size:.68rem;font-weight:900}.streaming-preferences{display:grid;gap:11px;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:14px;background:#1b1d22}.preferences-heading,.preferences-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.preferences-heading h2{margin:2px 0 0;font-size:1rem;letter-spacing:0}.preferences-heading>span{border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:5px 8px;color:#c8c2b8;font-size:.72rem;font-weight:900}.preferences-copy,.preferences-note,.preferences-error,.preferences-attribution{margin:0;color:#c8c2b8;font-size:.78rem;line-height:1.4}.provider-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:248px;overflow-y:auto}.provider-options label{min-width:0;min-height:48px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:7px;background:#22252b;color:#d8d2c9;font-size:.76rem;font-weight:800}.provider-options label.is-selected{border-color:#8ad7c1b8;background:#20302d;color:#f7f4ef}.provider-options input{position:absolute;opacity:0;pointer-events:none}.provider-options img,.provider-logo-fallback{width:28px;height:28px;border-radius:6px;object-fit:cover;background:#343941}.provider-options label>span:last-child{min-width:0;overflow-wrap:anywhere}.preferences-save-row{min-height:42px}.preferences-save-row>span{color:#9fd5ca;font-size:.76rem}.preferences-save-row button{min-height:40px;border:0;border-radius:7px;padding:0 17px;background:#8ad7c1;color:#101114;font-weight:900}.preferences-actions{display:flex;align-items:center;gap:7px}.preferences-save-row .preferences-cancel-button{border:1px solid rgba(255,255,255,.16);background:transparent;color:#d8d2c9}.preferences-compact{display:grid;gap:11px}.selected-provider-list{display:flex;flex-wrap:wrap;gap:7px}.selected-provider{min-width:0;display:flex;align-items:center;gap:7px;border:1px solid rgba(138,215,193,.36);border-radius:7px;padding:6px 8px;background:#20302d;color:#f7f4ef;font-size:.76rem;font-weight:800}.selected-provider img,.selected-provider .provider-logo-fallback{width:26px;height:26px;border-radius:6px;object-fit:cover;background:#343941}.preferences-compact-footer{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px}.preferences-compact-footer>span{color:#9fd5ca;font-size:.76rem}.preferences-compact-footer button{min-height:40px;border:1px solid rgba(138,215,193,.5);border-radius:7px;padding:0 13px;background:transparent;color:#b7e7d9;font-weight:900}.preferences-save-row button:disabled{opacity:.5}.preferences-error{color:#f1a69d}.preferences-attribution{color:#8f8a82;font-size:.68rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar h1,.movie-copy h2,.complete-panel h2,.state-panel h2{margin:0;letter-spacing:0}.topbar h1{font-size:1.5rem;line-height:1.1}.eyebrow{margin:0 0 4px;color:#9fd5ca;font-size:.76rem;font-weight:700;text-transform:uppercase}.region-pill,.provider-chip,.genre-row span{border:1px solid rgba(255,255,255,.14);background:#ffffff14}.seen-control{position:absolute;top:12px;right:12px;z-index:1;display:flex;align-items:flex-end;flex-direction:column;gap:7px;max-width:calc(100% - 24px)}.seen-control>button{min-height:38px;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:7px 11px;background:#101114db;color:#f2eee7;font-size:.82rem;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:manipulation}.seen-control>button.is-seen{border-color:#8ad7c194;background:#8ad7c11f;color:#a8e4d3}.seen-control>button:disabled:not(.is-seen){opacity:.62}.seen-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:230px;border-radius:6px;padding:7px 9px;background:#101114eb;color:#f0b5ad;font-size:.78rem;line-height:1.35}.seen-feedback button{border:0;padding:2px 0;background:transparent;color:#9fd5ca;font:inherit;font-weight:900;text-decoration:underline;touch-action:manipulation}.region-pill{min-width:52px;padding:9px 12px;border-radius:999px;text-align:center;font-weight:800}.card-status{display:flex;align-items:center;justify-content:space-between;min-height:24px;color:#c8c2b8;font-size:.88rem}.decision-note{color:#9fd5ca;text-transform:capitalize}.movie-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1b1d22;box-shadow:0 18px 54px #0000006b;touch-action:pan-y;transition:transform .18s ease-out;-webkit-user-select:none;user-select:none;will-change:transform}.movie-card.is-dragging{cursor:grabbing;transition:none}.movie-card.is-submitting{opacity:.78}.poster-wrap{position:relative;aspect-ratio:2 / 3;background:#252831}.poster-wrap img,.poster-fallback{width:100%;height:100%}.poster-wrap img{display:block;object-fit:cover;-webkit-user-drag:none}.poster-fallback,.state-panel,.complete-panel{display:grid;place-items:center;text-align:center}.poster-fallback{color:#c8c2b8}.rating-badge{position:absolute;right:12px;bottom:12px;min-width:66px;padding:8px 10px;border-radius:8px;background:#101114db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.rating-badge span{display:block;font-size:1.15rem;font-weight:900}.rating-badge small{color:#d7cf7a;font-size:.68rem;font-weight:800}.movie-copy{padding:16px}.meta-line{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 8px;color:#c8c2b8;font-size:.9rem}.movie-copy h2{font-size:1.55rem;line-height:1.15}.genre-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.genre-row span{padding:6px 9px;border-radius:999px;color:#f2eee7;font-size:.78rem;font-weight:700}.overview{display:block;width:100%;margin:14px 0 0;border:0;padding:0;background:transparent;color:#ded8cf;text-align:left;cursor:pointer;touch-action:manipulation}.overview-text{display:-webkit-box;overflow:hidden;line-height:1.48;-webkit-line-clamp:4;-webkit-box-orient:vertical}.overview.is-expanded .overview-text{display:block;overflow:visible;-webkit-line-clamp:unset}.overview-hint{display:block;margin-top:5px;color:#9fd5ca;font-size:.76rem;font-weight:800}.availability{border-top:1px solid rgba(255,255,255,.1);padding:14px 16px 16px}.availability p{margin:0;color:#f7f4ef;font-weight:800}.provider-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.provider-chip{display:flex;align-items:center;max-width:100%;min-height:36px;gap:7px;padding:6px 9px;border-radius:999px;color:#e7e0d7;font-size:.82rem;font-weight:700}.provider-chip img{width:22px;height:22px;border-radius:5px;object-fit:cover}.action-bar{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 0 2px;background:linear-gradient(180deg,#10111400,#101114 28%)}.action-bar button,.primary-button{min-height:56px;border:0;border-radius:8px;color:#101114;font-weight:900;letter-spacing:0;touch-action:manipulation}.action-bar button:disabled,.primary-button:disabled{cursor:wait;opacity:.7}.pass-button{background:#f2eee7}.like-button,.primary-button{background:#8ad7c1}.state-panel,.complete-panel{min-height:64vh;align-content:center;gap:14px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1b1d22}.viewing-confirmation{display:grid;justify-items:center;gap:8px;width:100%;max-width:320px}.viewing-confirmation>span:not(.viewing-error){color:#c8c2b8;font-size:.88rem}.watched-together{color:#a8e4d3;font-size:.95rem}.rating-control{display:grid;justify-items:center;gap:6px;width:100%}.rating-control>span:first-child,.rating-status{color:#c8c2b8;font-size:.82rem}.rating-stars{display:grid;grid-template-columns:repeat(5,44px);gap:4px}.rating-stars button{width:44px;height:44px;border:0;padding:0;background:transparent;color:#706d67;font-size:1.65rem;line-height:1;touch-action:manipulation}.rating-stars button.is-selected{color:#f2c94c}.rating-stars button:disabled{cursor:wait;opacity:.65}.rating-error{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:#f0b5ad;font-size:.82rem;line-height:1.4}.rating-error button{border:0;padding:3px 0;background:transparent;color:#9fd5ca;font:inherit;font-weight:900;text-decoration:underline}.viewing-error{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:#f0b5ad;font-size:.82rem;line-height:1.4}.viewing-error button{border:0;padding:3px 0;background:transparent;color:#9fd5ca;font:inherit;font-weight:900;text-decoration:underline}.setup-panel,.generation-panel{display:grid;gap:16px;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:20px;background:#1b1d22}.setup-panel h2,.generation-panel h2{margin:0;font-size:1.35rem;letter-spacing:0}.generation-panel p{margin:0;color:#c8c2b8;line-height:1.45}.generation-panel .primary-button{margin:0}.setup-note,.setup-error{margin:0;color:#c8c2b8;font-size:.84rem;line-height:1.45}.genre-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.genre-choices button{min-height:46px;border:1px solid rgba(255,255,255,.15);border-radius:7px;padding:8px 10px;background:#24272d;color:#d8d2c9;font-weight:800}.genre-choices button.is-selected{border-color:#8ad7c1b8;background:#20302d;color:#f7f4ef}.genre-choices button:disabled{opacity:.4}.quality-field{display:grid;gap:8px}.quality-field>strong{color:#d8d2c9;font-size:.82rem}.quality-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.quality-choices button{min-height:44px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:#24272d;color:#d8d2c9;font-weight:800}.quality-choices button.is-selected{border-color:#8ad7c1b8;background:#20302d;color:#f7f4ef}.setup-submit-row{display:grid;gap:8px}.setup-submit-row>span{color:#9fd5ca;font-size:.78rem;font-weight:800}.setup-submit-row .primary-button{margin:0}.saved-genres{display:flex;flex-wrap:wrap;gap:8px}.saved-genres span{border:1px solid rgba(138,215,193,.4);border-radius:999px;padding:7px 10px;background:#20302d;color:#f7f4ef;font-size:.8rem;font-weight:800}.setup-readiness{display:grid;gap:5px;border-left:3px solid #8ad7c1;padding:10px 12px;background:#8ad7c114}.setup-readiness strong{color:#f7f4ef}.setup-readiness span{color:#9fd5ca;font-size:.78rem}.setup-feedback{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f1a69d;font-size:.82rem}.setup-feedback button{min-height:40px;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:0 12px;background:transparent;color:#f7f4ef;font-weight:800}.setup-error{color:#f1a69d}.state-panel p,.complete-panel p{margin:0;color:#d7d0c6;line-height:1.45}.poster-skeleton{width:min(68vw,260px);aspect-ratio:2 / 3;border-radius:8px;background:linear-gradient(100deg,#252831,#383d48,#252831);background-size:200% 100%;animation:pulse 1.4s infinite}.primary-button{width:100%;margin-top:6px;padding:0 18px}.state-actions{width:100%;display:grid;gap:10px}.secondary-button{min-height:48px;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:0 18px;background:transparent;color:#f7f4ef;font-weight:800;touch-action:manipulation}.decision-error{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:8;width:min(calc(100% - 32px),428px);display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translate(-50%);border:1px solid rgba(220,136,126,.55);border-left:3px solid #dc887e;border-radius:8px;padding:10px 10px 10px 12px;background:#292126;box-shadow:0 12px 36px #0000007a;color:#f1cbc6;font-size:.82rem}.decision-error button{flex:0 0 auto;min-height:40px;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:0 13px;background:transparent;color:#f7f4ef;font-weight:800}.decision-error span{min-width:0;overflow-wrap:anywhere}.decision-error strong{display:block}.decision-error button:disabled{cursor:wait;opacity:.7}.result-poster{width:min(52vw,190px);aspect-ratio:2 / 3;margin:0 auto;border-radius:8px;object-fit:cover}.waiting-note{color:#9fd5ca!important;font-size:.82rem}.match-overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#08090be6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.match-panel{width:min(100%,380px);max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:18px;background:#1b1d22;box-shadow:0 24px 70px #0000008c;text-align:center}.match-panel>img{width:min(56vw,210px);aspect-ratio:2 / 3;margin:8px auto 16px;border-radius:8px;object-fit:cover}.match-panel h2,.match-panel p{margin:0}.match-panel h2{font-size:1.5rem}.match-panel>p:not(.eyebrow):not(.match-error){margin-top:8px;color:#d7d0c6}.match-panel .primary-button{margin-top:18px}.match-error{margin-top:12px!important;color:#f1a69d;font-size:.84rem}.selection-mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.selection-mode-choices button{white-space:normal;min-height:48px}.resolution-panel{width:min(100%,620px);margin:0 auto;padding:24px 0}.resolution-panel h2{font-size:1.4rem;margin:8px 0 20px}.resolution-movies{display:grid;gap:12px;margin-bottom:20px}.resolution-movie{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #43464c;border-radius:8px;min-width:0}.resolution-movie:has(input){cursor:pointer}.resolution-movie.is-selected{border-color:#9fd5ca;background:#203630}.resolution-movie img{width:64px;aspect-ratio:2 / 3;object-fit:cover;border-radius:4px}.resolution-movie input{flex:0 0 auto;accent-color:#9fd5ca}.resolution-movie>span{min-width:0;overflow-wrap:anywhere}.resolution-movie strong{display:block;font-size:1rem}.resolution-movie small{display:block;margin-top:6px;color:#c4c6ca}.attribution{margin-top:auto;color:#8f8a82;font-size:.72rem;line-height:1.35}.attribution p{margin:4px 0 0}.attribution summary{cursor:pointer;width:fit-content;color:#8ad7c1;padding:8px 0}.attribution a{color:#8ad7c1}.tmdb-credit{display:inline-block;margin:8px 0}.tmdb-credit img{display:block;max-width:100%;height:auto}@keyframes pulse{0%{background-position:0% 50%}to{background-position:-200% 50%}}@media(min-width:700px){.app-shell{padding-top:28px}}
