.app-shell{min-height:100svh;background-color:var(--paper);background-image:linear-gradient(rgba(23,32,30,.025) 1px,transparent 0),linear-gradient(90deg,rgba(23,32,30,.025) 1px,transparent 0);background-size:32px 32px}button,input,select,textarea{font:inherit}a,button{color:inherit}main{overflow:hidden}.wide{grid-column:1/-1}.topbar{height:76px;justify-content:space-between;gap:24px;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid rgba(23,32,30,.09);background:rgba(244,243,239,.86);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);position:sticky;top:0;z-index:20}.brand,.topbar{display:flex;align-items:center}.brand{text-decoration:none;gap:11px;font-family:var(--display);font-size:23px;font-weight:800}.brand-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:var(--gold);transform:rotate(-3deg);box-shadow:4px 4px 0 var(--gold);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.brand:hover .brand-mark{transform:rotate(4deg) translateY(-2px);box-shadow:2px 6px 0 var(--gold)}.top-tabs{display:flex;gap:4px;margin-right:auto}.top-tabs a{text-decoration:none;padding:9px 14px;border-radius:6px;font-weight:700;font-size:14px;color:var(--muted);transition:background .2s,color .2s}.top-tabs a:hover{background:rgba(255,255,255,.7);color:var(--ink)}.top-tabs a.active{background:var(--ink);color:white}.top-actions{display:flex;align-items:center;gap:14px}.mobile-nav{display:none}.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-dark);background:rgba(255,255,255,.65);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .25s,border-color .2s}.icon-button:hover{background:white;border-color:var(--ink);transform:translateY(-2px) rotate(5deg)}.add-button{border:0;background:var(--coral);color:white;min-height:44px;border-radius:8px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 5px 0 var(--coral-dark);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,filter .2s}.add-button:hover:not(:disabled){transform:translateY(2px);box-shadow:0 3px 0 var(--coral-dark);filter:saturate(1.12)}.add-button:active:not(:disabled){transform:translateY(5px);box-shadow:0 0 0 var(--coral-dark)}.add-button:disabled{opacity:.6;cursor:wait}.secondary-button{min-height:40px;border:1px solid var(--line-dark);background:white;border-radius:8px;padding:0 16px;font-weight:700;cursor:pointer}.link-button{display:inline-flex;align-items:center;gap:5px;color:var(--coral-dark);padding:6px 0;font-size:13px;font-weight:800;text-decoration:none}.danger-link,.link-button{border:0;background:none;cursor:pointer}.danger-link{color:#a84434;font-weight:700;padding:8px 0}.eyebrow{text-transform:uppercase;color:var(--coral-dark);font-size:12px;font-weight:800;letter-spacing:1.8px;display:flex;align-items:center;gap:7px;margin:0 0 10px}.avatar{border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--gold);background:var(--cream)}.avatar-initial{display:inline-grid;place-items:center;background:var(--coral);color:white;font-family:var(--display);font-weight:800}.format-badge{display:inline-block;background:var(--ink);color:var(--gold);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;letter-spacing:.6px;line-height:1.3}.format-badge.is-standard{background:rgba(23,32,30,.55);color:#e8e7e1}.badge-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rating-badge{display:inline-flex;align-items:center;gap:4px;color:var(--gold);font-size:13px}.star-rating{display:flex;align-items:center;gap:2px}.star-slot{position:relative;display:inline-block;color:#b4b1a8}.star-slot .star-empty{position:absolute;inset:0}.star-fill{position:absolute;left:0;top:0;height:100%;overflow:hidden;color:#b47a00}.star-fill svg{display:block}.star-hit{position:absolute;top:0;bottom:0;width:50%;border:0;padding:0;background:transparent;cursor:pointer}.star-hit.left{left:0}.star-hit.right{right:0}.star-value{margin-left:8px;color:var(--muted);font-size:13px;font-weight:700;min-width:28px}.form-message{background:#fce8e3;color:#983b2c;border-left:3px solid var(--coral);padding:10px 12px;font-size:13px;margin:10px 0}.local-note{width:100%;border:1px solid #a5c9b0;background:#e4f1e8;border-radius:5px;padding:12px 14px;margin:0 0 14px;font-size:14px}.field-help{color:var(--muted);font-size:12px;line-height:1.5;font-weight:500}.empty-metadata{color:var(--muted);margin:10px 0 0;font-size:13px;font-style:italic}.empty-state{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;padding:24px;border:1px dashed var(--line-dark);border-radius:8px;background:rgba(255,255,255,.58)}.empty-state>span{width:70px;height:70px;display:grid;place-items:center;color:var(--coral);background:var(--peach);border-radius:50%}.empty-state h2{font-family:var(--display);margin:18px 0 5px}.empty-state p{color:var(--muted);margin:0 0 22px}.group-control{display:inline-flex;padding:3px;border:1px solid var(--line-dark);border-radius:6px;background:rgba(255,255,255,.65)}.group-control button{border:0;border-radius:4px;padding:7px 14px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.group-control button.active{background:var(--ink);color:white}.auth-screen{min-height:100svh;display:grid;place-items:center;padding:20px}.auth-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:8px;padding:32px 28px;box-shadow:0 20px 60px rgba(23,32,30,.1);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.auth-card h1{font-family:var(--display);font-size:34px;margin:14px 0 0}.auth-tagline{color:var(--muted);margin:0 0 18px}.sync-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;width:100%}.sync-form label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.sync-form .add-button{margin-top:8px}.key-input{display:flex;align-items:center;gap:9px;border:1px solid var(--line-dark);background:white;padding:0 12px;border-radius:5px}.key-input svg{color:var(--muted)}.key-input input{border:0;outline:0;height:46px;flex:1 1;min-width:0}.home-header{max-width:1380px;margin:0 auto;padding:36px clamp(20px,5vw,72px) 8px;display:grid;grid-template-columns:1fr auto;gap:20px 16px;align-items:center}.home-header h1{font-family:var(--display);font-size:clamp(28px,4vw,44px);line-height:1.05;margin:0}.home-header .avatar-link{display:none}.quick-search{grid-column:1/-1;display:flex;align-items:center;gap:10px;border:1px solid var(--line-dark);background:white;border-radius:8px;padding:0 14px;color:var(--muted)}.quick-search input{border:0;outline:0;height:46px;flex:1 1;min-width:0;background:transparent;color:var(--ink)}.add-button.cta{grid-column:1/-1;min-height:60px;font-size:18px;border-radius:10px}.quick-stats{max-width:1380px;margin:14px auto 0;padding:0 clamp(20px,5vw,72px);display:grid;grid-template-columns:repeat(3,1fr) 2fr;gap:10px}.quick-stats div{background:var(--ink);color:#fffdf5;border-radius:8px;padding:14px 16px;min-width:0}.quick-stats strong{display:block;color:var(--gold);font-family:var(--display);font-size:26px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-stats span{display:block;color:#aaa89f;font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-top:6px}.quick-stats .wide-stat strong{font-size:19px;padding-top:5px}.library-section{max-width:1380px;margin:0 auto;padding:40px clamp(20px,5vw,72px) 96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.section-heading h1,.section-heading h2{font-family:var(--display);font-size:32px;line-height:1;font-weight:800;margin:0 0 8px}.section-heading p{color:var(--muted);margin:0;font-size:14px}.year-select{position:relative;display:inline-flex;align-items:center}.year-select select{appearance:none;border:1px solid var(--line-dark);background:white;border-radius:6px;height:40px;padding:0 34px 0 12px;font-weight:700;cursor:pointer}.year-select svg{position:absolute;right:10px;pointer-events:none;color:var(--muted)}.community-strip{margin-top:48px;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #e4bd6a;background:#fff6dd;border-radius:8px;text-decoration:none;transition:transform .2s,box-shadow .2s}.community-strip:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(23,32,30,.08)}.community-strip svg{color:#9a6700;flex:none}.community-strip span{display:flex;flex-direction:column;gap:2px}.community-strip small{color:var(--muted)}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:32px 20px}.movie-card{min-width:0;opacity:0;animation:rise .65s var(--delay) forwards cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}.poster-button{display:block;width:100%;aspect-ratio:2/3;padding:0;border:0;border-radius:8px;overflow:hidden;position:relative;cursor:pointer;background:#dedbd1;box-shadow:0 12px 28px rgba(21,31,28,.13);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.poster-button:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}.movie-card:hover .poster-button{transform:translateY(-8px);box-shadow:0 20px 38px rgba(21,31,28,.23)}.poster-button img{width:100%;height:100%;object-fit:cover;display:block}.poster-fallback,.result-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:var(--cream)}.poster-badges{position:absolute;top:8px;right:8px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:calc(100% - 16px)}.poster-metadata{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:28px 10px 9px;background:linear-gradient(transparent,rgba(12,20,18,.92));color:white}.poster-metadata em{display:flex;align-items:center;gap:4px;font-size:10px;font-style:normal}.movie-copy{padding:12px 22px 0 2px;position:relative}.movie-title{border:0;padding:0;background:none;font-family:var(--display);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;cursor:pointer;text-align:left;transition:color .2s}.movie-title:hover{color:var(--coral-dark)}.movie-copy p{color:var(--muted);margin:4px 0 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-mark{position:absolute;right:0;top:11px;color:var(--coral)}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:rgba(10,18,16,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;animation:fade .25s ease}@keyframes fade{0%{opacity:0}}.dialog{width:min(580px,100%);max-height:calc(100svh - 36px);overflow:auto;background:var(--paper);border:1px solid rgba(255,255,255,.3);border-radius:8px;box-shadow:0 30px 100px rgba(0,0,0,.42);padding:28px;animation:dialog-in .35s cubic-bezier(.2,.8,.2,1)}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px) scale(.97)}}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-header h2{font-family:var(--display);font-size:28px;margin:0}.search-form{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line-dark);background:white;border-radius:8px;padding:5px 5px 5px 13px;transition:border-color .2s,box-shadow .2s}.search-form:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px rgba(232,83,63,.1)}.search-form svg{color:var(--muted)}.search-form input{min-width:0;border:0;outline:0;height:40px;background:transparent}.search-form button{height:38px;border:0;border-radius:6px;padding:0 14px;background:var(--ink);color:white;font-weight:700;cursor:pointer}.search-form button:disabled{opacity:.5}.year-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:var(--muted);font-size:13px}.year-filter input{width:92px;border:1px solid var(--line);padding:7px 8px;border-radius:4px;background:white}.search-results{display:flex;flex-direction:column;gap:7px;margin-top:12px}.search-result{width:100%;height:72px;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:12px;padding:6px 13px 6px 6px;border:1px solid var(--line);background:white;border-radius:8px;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.search-result:hover{border-color:var(--gold);transform:translateX(3px);box-shadow:0 7px 20px rgba(23,32,30,.08)}.search-result img{width:43px;height:60px;object-fit:cover}.search-result span{display:flex;flex-direction:column;min-width:0}.search-result strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result small{color:var(--muted);margin-top:3px}.result-fallback{height:60px}.now-playing h3{font-family:var(--display);font-size:16px;margin:18px 0 10px}.now-playing-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.now-playing-row button{flex:none;width:78px;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--cream);cursor:pointer;transition:transform .2s}.now-playing-row button:hover{transform:translateY(-3px)}.now-playing-row img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.manual-movie{display:grid;gap:12px}.log-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.picked-movie{grid-column:1/-1;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:white}.picked-movie .result-fallback,.picked-movie img{width:56px;height:82px;object-fit:cover;border-radius:4px}.picked-movie span{display:flex;flex-direction:column;gap:2px;min-width:0}.picked-movie small{color:var(--muted)}.metadata-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--muted);font-size:12px;font-weight:700;border:0;padding:0;margin:0}.metadata-field>legend,.metadata-field>span{display:flex;align-items:center;gap:6px;padding:0}.metadata-field input:not([type=checkbox]),.metadata-field select,.metadata-field textarea,.seat-input{width:100%;border:1px solid var(--line-dark);border-radius:5px;background:white;color:var(--ink);padding:0 10px;min-height:40px}.metadata-field textarea{padding:10px;resize:vertical}.format-picker>div{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line-dark);background:white;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.chip.selected{background:var(--ink);border-color:var(--ink);color:white}.checkbox-field{display:flex;gap:10px;align-items:flex-start;font-size:13px;cursor:pointer}.checkbox-field input{margin-top:3px;width:18px;height:18px;accent-color:var(--coral)}.checkbox-field span{display:flex;flex-direction:column;gap:3px}.checkbox-field span svg{display:inline;margin-right:4px;vertical-align:-2px}.checkbox-field small{color:var(--muted)}.safety-note{margin:0;padding:10px 12px;border-left:3px solid var(--gold);background:#fff6dd;font-size:12px;line-height:1.5;color:#5d4a12}.file-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.file-actions button{height:43px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-dark);background:white;border-radius:8px;font-weight:700;cursor:pointer;transition:transform .2s,border-color .2s,color .2s}.file-actions button:hover{transform:translateY(-2px);border-color:var(--coral);color:var(--coral-dark)}.dialog hr{border:0;border-top:1px solid var(--line);margin:24px 0 0}.logout-button{margin-top:14px;width:100%;height:43px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e4b1a6;background:#fff4f1;color:#a84434;border-radius:8px;font-weight:700;cursor:pointer}.top4-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:240px;overflow:auto;padding:4px}.top4-picker button{position:relative;padding:0;border:2px solid transparent;border-radius:6px;background:var(--cream);aspect-ratio:2/3;overflow:hidden;cursor:pointer;font-size:10px}.top4-picker button.selected{border-color:var(--coral)}.top4-picker img{width:100%;height:100%;object-fit:cover;display:block}.top4-picker b{position:absolute;top:3px;left:3px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:white;font-size:11px}.detail-dialog{width:min(760px,100%);display:grid;grid-template-columns:250px 1fr;gap:28px;position:relative}.detail-close{position:absolute;right:16px;top:16px;z-index:2}.detail-poster{width:100%;aspect-ratio:2/3;background:var(--cream);display:grid;place-items:center;border-radius:8px;overflow:hidden;box-shadow:0 16px 38px rgba(23,32,30,.19)}.detail-poster img{width:100%;height:100%;object-fit:cover}.detail-copy{padding:27px 8px 8px 0}.detail-copy h2{font-family:var(--display);font-size:33px;line-height:1.05;margin:0 45px 13px 0}.detail-meta{gap:13px;color:var(--muted);font-size:13px}.detail-meta,.detail-meta span{display:flex;align-items:center}.detail-meta span{gap:4px}.detail-genre{color:var(--coral-dark);font-size:13px;font-weight:700;margin:16px 0 6px}.director{color:var(--muted);font-size:13px;margin:6px 0}.director strong{color:var(--ink)}.viewing-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.58)}.viewing-metadata div{display:flex;flex-direction:column;gap:5px;min-width:0}.viewing-metadata span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.viewing-metadata strong{display:flex;align-items:center;gap:5px;font-size:13px}.review-text{margin:16px 0 0;padding:4px 0 4px 14px;border-left:3px solid var(--gold);line-height:1.6;white-space:pre-wrap}.detail-actions{display:flex;gap:9px;margin-top:24px}.favorite-detail{flex:1 1;min-height:43px;border:1px solid var(--line-dark);background:white;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700}.favorite-detail.active{color:var(--coral-dark);background:var(--peach);border-color:#e8b7aa}.delete-button,.icon-action{width:43px;border-radius:5px;display:grid;place-items:center;cursor:pointer}.icon-action{border:1px solid var(--line-dark);background:white}.delete-button{border:1px solid #e4b1a6;background:#fff4f1;color:#a84434}.pals-page .group-control{margin-bottom:18px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-bar input,.filter-bar select{height:40px;border:1px solid var(--line-dark);border-radius:6px;background:white;padding:0 10px;min-width:0}.filter-bar.compact{margin:0}.meetup-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:16px}.meetup-card{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(23,32,30,.05)}.meetup-card.status-full{background:#f6f4ee}.meetup-poster{aspect-ratio:2/3;align-self:start;background:var(--cream);border-radius:6px;overflow:hidden;display:grid;place-items:center;color:var(--muted)}.meetup-poster img{width:100%;height:100%;object-fit:cover}.trailer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}.trailer-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(23,32,30,.05)}.trailer-media{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:var(--ink);overflow:hidden}.trailer-media iframe,.trailer-media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.trailer-facade{cursor:pointer}.trailer-play{position:absolute;inset:0;display:grid;place-items:center;color:white;background:linear-gradient(transparent 40%,rgba(23,32,30,.55))}.trailer-play>svg{box-sizing:content-box;padding:14px 14px 14px 18px;border-radius:50%;background:var(--coral);transition:transform .2s}.trailer-facade:focus-visible .trailer-play>svg,.trailer-facade:hover .trailer-play>svg{transform:scale(1.1)}.trailer-body{display:grid;gap:10px;padding:14px;flex:1 1;align-content:start}.trailer-body h3{margin:0;font-family:var(--display);font-size:17px;line-height:1.25}.trailer-date{margin:-6px 0 0;color:var(--muted);font-size:13px}.reaction-bar{display:flex;flex-wrap:wrap;gap:6px}.reaction-bar button{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 10px;border:1px solid var(--line-dark);border-radius:18px;background:white;font-size:15px;cursor:pointer}.reaction-bar button b{font-size:12px;color:var(--muted)}.reaction-bar button.active{background:var(--peach);border-color:var(--coral)}.reaction-bar button.active b{color:var(--coral-dark)}.trailer-actions{display:flex;flex-wrap:wrap;gap:8px}.trailer-actions .add-button,.trailer-actions .secondary-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:13px;box-shadow:none}.load-more{display:block;margin:20px auto 0}.watchlist-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px}.watchlist-item{display:grid;gap:8px;align-content:start;padding:12px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(23,32,30,.05)}.watchlist-item h3{margin:0;font-family:var(--display);font-size:16px;line-height:1.25}.watchlist-item .trailer-date{margin:0}.watchlist-poster{aspect-ratio:2/3;background:var(--cream);border-radius:6px;overflow:hidden;display:grid;place-items:center;color:var(--muted)}.watchlist-poster img{width:100%;height:100%;object-fit:cover}.meetup-body{min-width:0;display:flex;flex-direction:column;gap:5px}.meetup-body h3{font-family:var(--display);font-size:20px;margin:0}.meetup-body p{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.meetup-body p svg{flex:none}.meetup-when{color:var(--ink)!important;font-weight:800}.meetup-body .meetup-note{font-style:italic}.meetup-host{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:700;flex-wrap:wrap}.meetup-host a,.participants a{text-decoration:underline;text-decoration-color:var(--line-dark)}.spots{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:#e4f1e8;color:#1f5a37;padding:3px 9px;border-radius:999px;font-size:12px}.status-full .spots{background:var(--cream);color:var(--muted)}.participants{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}.participants li{display:flex;align-items:center;gap:6px}.participants small{color:var(--muted)}.meetup-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}.meetup-actions .seat-input{flex:1 1 140px;max-width:220px}.meetup-actions .add-button{min-height:40px;box-shadow:0 4px 0 var(--coral-dark)}.full-label{color:var(--muted);font-weight:800}.pass-hint{font-size:12px!important;font-style:italic}.tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:20px}.tile{background:white;border:1px solid var(--line);border-radius:8px;padding:14px 16px}.tile strong{display:block;font-family:var(--display);font-size:28px;line-height:1.1}.tile span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-top:6px}.tile.taste{background:var(--ink);border-color:var(--ink)}.tile.taste strong{color:var(--gold)}.tile.taste span{color:#aaa89f}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.panel{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:16px}.panel-grid .panel{margin-bottom:0}.panel h2{font-family:var(--display);font-size:20px;margin:0 0 14px}.panel .section-heading h2{margin:0;font-size:20px}.panel .section-heading{margin-bottom:14px;align-items:center}.bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bars li{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:10px;font-size:13px}.bar-track{height:10px;background:var(--cream);border-radius:999px;overflow:hidden}.bar-track span{display:block;height:100%;background:var(--coral);border-radius:inherit}.bar-value{text-align:right;font-weight:800}.theater-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:rank}.theater-list li{counter-increment:rank;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.theater-list li:before{content:counter(rank);color:var(--muted);font-weight:800}.theater-list li span{display:flex;flex-direction:column;min-width:0}.theater-list small{color:var(--muted)}.month-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:140px;align-items:end}.month-bars div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.month-bar{width:100%;background:var(--coral);border-radius:3px 3px 0 0;min-height:2px}.month-bars small{color:var(--muted);font-size:10px}.profile-header{min-height:200px;padding:56px clamp(20px,7vw,104px) 28px;display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;color:#fffdf5;background:var(--ink) center /cover}.profile-header .avatar{border-width:3px}.profile-header h1{font-family:var(--display);font-size:clamp(28px,4vw,40px);margin:0}.profile-meta{display:flex;align-items:center;gap:4px;margin:4px 0 10px;color:#c6cbc7}.pass-badge{background:var(--gold);color:var(--ink);border-radius:4px;padding:3px 9px;font-size:12px;font-weight:800}.settings-button{margin-left:auto;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:white;border-radius:8px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-body{max-width:1100px;margin:0 auto;padding:28px clamp(20px,5vw,72px) 100px}.profile-bio{margin:0 0 20px;line-height:1.6;max-width:62ch;white-space:pre-wrap}.top4-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.top4-grid figure{margin:0}.top4-grid .poster-fallback,.top4-grid img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;display:block;box-shadow:0 10px 24px rgba(21,31,28,.18)}.top4-grid figcaption{margin-top:8px;font-size:13px;font-weight:700;display:flex;flex-direction:column}.top4-grid small{color:var(--muted);font-weight:500}@media (min-width:721px){.home-header{grid-template-columns:1fr minmax(240px,380px) auto}.add-button.cta,.quick-search{grid-column:auto}.add-button.cta{min-height:52px;font-size:16px}}@media (max-width:720px){.topbar{height:58px;padding:0 16px}.brand{font-size:20px}.brand-mark{width:34px;height:34px}.top-actions,.top-tabs{display:none}.home-header{padding:24px 16px 4px}.home-header .avatar-link{display:block;grid-column:2;grid-row:1}.quick-stats{padding:0 16px;grid-template-columns:repeat(3,1fr);gap:8px}.quick-stats .wide-stat{grid-column:1/-1}.quick-stats strong{font-size:22px}.library-section{padding:28px 16px 100px}.section-heading h1,.section-heading h2{font-size:26px}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.movie-title{font-size:15px}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;min-height:64px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(250,249,244,.94);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 30px rgba(23,32,30,.08)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:700;color:var(--muted);text-decoration:none;padding:8px 2px}.mobile-nav a.active{color:var(--coral-dark)}.dialog-backdrop{padding:0;align-items:end}.dialog{width:100%;max-height:92svh;border-radius:8px 8px 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom));animation-name:sheet-in}.dialog-header h2{font-size:24px}.detail-dialog,.log-form{grid-template-columns:1fr}.detail-dialog{gap:16px}.detail-poster{width:132px;margin-top:8px}.detail-copy{padding:0}.detail-copy h2{font-size:26px;margin-right:0}.detail-meta{flex-wrap:wrap;gap:7px 11px}.viewing-metadata{grid-template-columns:1fr}.meetup-card{grid-template-columns:76px 1fr;gap:12px}.spots{margin-left:0}.top4-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-header{padding:32px 16px 20px}.settings-button{margin-left:0}.profile-body{padding:20px 16px 100px}.bars li{grid-template-columns:82px 1fr 40px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.legacy-button{width:100%;margin-top:11px;align-items:center;gap:7px}.empty-actions,.legacy-button{display:flex;justify-content:center}.empty-actions{flex-wrap:wrap;gap:10px}.share-button{display:inline-flex;align-items:center;gap:7px;margin-top:16px}.section-heading .share-button{margin-top:0}.share-dialog{width:min(480px,100%)}.share-preview{display:grid;place-items:center;min-height:160px;margin-bottom:14px}.share-preview img{max-width:100%;max-height:56svh;border-radius:8px;box-shadow:0 12px 34px rgba(23,32,30,.25)}.share-dialog .file-actions{margin-top:0}.share-dialog .network-actions{grid-template-columns:repeat(3,1fr);margin-top:9px}.file-actions:has(>:only-child){grid-template-columns:1fr}.file-actions button:disabled{opacity:.5;cursor:wait}.header-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px}.header-actions .settings-button{margin-left:0}.import-help{margin:12px 0;padding-left:18px;display:grid;gap:8px;font-size:13px;line-height:1.5;color:var(--muted)}.import-help strong{color:var(--ink);margin-right:4px}.import-help code{background:var(--cream);padding:1px 5px;border-radius:3px;font-size:12px}.import-sample{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}.import-sample li{display:flex;flex-direction:column;padding:8px 10px;background:white;border:1px solid var(--line);border-radius:6px}.import-sample small{color:var(--muted)}.import-status{font-weight:800;margin:0 0 12px}.dialog .checkbox-field{margin-top:12px}.wrapped-strip{max-width:1380px;width:calc(100% - 2 * clamp(20px, 5vw, 72px));margin:16px auto 0}.wrapped-link{margin-bottom:14px}.wrapped-hero{position:relative;overflow:hidden;background:var(--ink);color:#fffdf5;border-radius:12px;padding:clamp(22px,4vw,40px);margin-bottom:18px}.wrapped-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(242,189,72,.12);pointer-events:none}.wrapped-hero .eyebrow,.wrapped-hero h2{color:var(--gold)}.wrapped-hero h2{font-family:var(--display);font-size:clamp(34px,6vw,60px);line-height:1.05;margin:0 0 8px}.wrapped-hero p:not(.eyebrow){color:#c6cbc7;margin:0 0 20px;max-width:46ch;font-size:17px}.highlight-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:baseline}.highlight-list dt{color:var(--muted);font-size:13px}.highlight-list dd{margin:0;font-weight:800;text-align:right;font-size:14px}.highlight-list small{color:var(--muted);font-weight:600}.wrapped-best{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:best}.wrapped-best li{counter-increment:best;display:grid;grid-template-columns:28px 46px 1fr auto;align-items:center;gap:12px}.wrapped-best li:before{content:counter(best);color:var(--muted);font-weight:800;text-align:center}.wrapped-best .poster-fallback,.wrapped-best img{width:46px;height:69px;object-fit:cover;border-radius:4px}.wrapped-best span:not(.poster-fallback){display:flex;flex-direction:column;min-width:0}.wrapped-best strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrapped-best small{color:var(--muted)}.panel h2 svg{vertical-align:-3px;margin-right:6px}.invite-note{display:flex;align-items:center;gap:10px}.invite-link{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}.invite-link input{flex:1 1 260px;min-width:0;height:44px;border:1px solid var(--line-dark);border-radius:6px;padding:0 12px;background:white;color:var(--ink)}.invite-link .add-button,.invite-link .secondary-button{display:inline-flex;align-items:center;gap:6px;min-height:44px}.invite-link .add-button{box-shadow:none}.member-chips{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.member-chips a{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:999px;background:white;text-decoration:none;font-size:13px;font-weight:700}.panel .quick-search{margin-top:10px}.member-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:10px}.member-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:white;border:1px solid var(--line);border-radius:8px;text-decoration:none;transition:transform .2s,border-color .2s}.member-card:hover{border-color:var(--gold);transform:translateY(-2px)}.member-copy{display:flex;flex-direction:column;min-width:0;flex:1 1;gap:2px}.member-copy small{color:var(--muted);display:flex;align-items:center;gap:3px;flex-wrap:wrap}.member-copy .member-bio{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taste-chip{display:inline-flex;align-items:center;gap:4px;flex:none;background:var(--ink);color:var(--gold);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}@media (max-width:720px){.wrapped-strip{width:calc(100% - 32px)}.header-actions{margin-left:0}.pals-page .group-control{max-width:100%;overflow-x:auto}.pals-page .group-control button{white-space:nowrap}.highlight-list{grid-template-columns:1fr;gap:2px 0}.highlight-list dd{text-align:left;margin-bottom:8px}}.wrapped-page .panel-grid{margin-bottom:16px}.bell{position:relative;flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;text-decoration:none;color:var(--ink);border:1px solid var(--line-dark);background:rgba(255,255,255,.65);transition:background .2s,border-color .2s}.bell:hover{background:white;border-color:var(--ink)}.bell-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--coral);color:white;font-size:11px;font-weight:800;display:grid;place-items:center}.notification-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:720px}.notification{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer;transition:border-color .2s}.notification:hover{border-color:var(--gold)}.notification.unread{background:#fff6dd;border-color:#e4bd6a}.notification-dot{flex:none;width:9px;height:9px;margin-top:6px;border-radius:50%;background:transparent}.notification.unread .notification-dot{background:var(--coral)}.notification-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.notification-copy>span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.notification-copy small{color:var(--muted)}.push-toggle{margin-top:6px}.push-toggle .secondary-button{display:inline-flex;align-items:center;gap:7px}.calendar-actions{display:inline-flex;flex-wrap:wrap;gap:10px;margin-right:auto}.meetup-actions .secondary-button{display:inline-flex;align-items:center;gap:6px}.meetup-chat{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-dark);display:grid;gap:10px}.chat-thread{display:grid;gap:8px;max-height:280px;overflow-y:auto;padding:4px 2px}.chat-message{display:flex;gap:8px;align-items:flex-end;max-width:92%}.chat-message>div{background:white;border:1px solid var(--line);border-radius:10px 10px 10px 2px;padding:6px 10px;min-width:0}.chat-message strong{font-size:12px}.chat-message p{margin:2px 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message small{color:var(--muted);font-size:11px}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.chat-message.mine>div{background:var(--peach);border-color:#e8b7aa;border-radius:10px 10px 2px 10px}.chat-form{display:flex;gap:8px}.chat-form input{flex:1 1;min-width:0;height:42px;border:1px solid var(--line-dark);border-radius:6px;padding:0 12px;background:white}.chat-form .add-button{min-height:42px;padding:0 14px;box-shadow:none}.poll-options{list-style:none;margin:0;padding:0;display:grid;gap:8px}.poll-options li{display:grid;gap:6px;padding:10px 12px;background:white;border:1px solid var(--line);border-radius:8px}.poll-time{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px}.poll-votes small{color:var(--muted)}.poll-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.poll-actions .add-button,.poll-actions .secondary-button{min-height:36px;padding:0 12px;font-size:13px;display:inline-flex;align-items:center;gap:5px;box-shadow:none}.secondary-button.voted{background:var(--ink);color:white;border-color:var(--ink)}.poll-form{display:flex;flex-wrap:wrap;gap:8px}.poll-form input{flex:1 1 200px;height:40px;border:1px solid var(--line-dark);border-radius:6px;padding:0 10px;background:white;min-width:0}.log-reactions{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:10px}.like-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--line-dark);border-radius:999px;background:white;font-size:13px;font-weight:700;cursor:pointer;justify-self:start}.like-button.liked{color:var(--coral-dark);background:var(--peach);border-color:#e8b7aa}.comment-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.comment-list li{display:flex;gap:8px;align-items:flex-start}.comment-list li>div{flex:1 1;min-width:0}.comment-list p{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.comment-list small{color:var(--muted)}.comment-list .icon-action{width:30px;height:30px}.feed-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:760px}.feed-card{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:12px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(23,32,30,.05)}.feed-poster{padding:0;border:0;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:var(--cream);cursor:pointer;align-self:start}.feed-poster img{width:100%;height:100%;object-fit:cover;display:block}.feed-body{min-width:0;display:grid;gap:6px;align-content:start}.feed-who{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;flex-wrap:wrap}.feed-who small{color:var(--muted);font-weight:500}.feed-body h3{margin:0;font-family:var(--display);font-size:18px}.feed-meta{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.feed-review{margin:0;font-style:italic;font-size:14px;line-height:1.5}.feed-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-button.following{background:rgba(242,189,72,.25);border-color:var(--gold)}.badge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.badge-tile{display:grid;gap:3px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:white}.badge-tile.earned{border-color:#e4bd6a;background:#fff6dd}.badge-tile.locked{opacity:.72}.badge-tile.locked .badge-icon{filter:grayscale(1)}.badge-icon{font-size:26px;line-height:1}.badge-tile small{color:var(--muted);font-size:12px;line-height:1.4}.badge-progress{display:block;height:6px;margin-top:6px;background:var(--cream);border-radius:99px;overflow:hidden}.badge-progress span{display:block;height:100%;background:var(--coral);border-radius:inherit}.goal-wrap{max-width:1380px;margin:14px auto 0;padding:0 clamp(20px,5vw,72px)}.goal-bar{background:white;border:1px solid var(--line);border-radius:8px;padding:12px 16px;display:grid;gap:8px}.goal-bar p{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.goal-bar p span{color:var(--muted)}.goal-track{display:block;height:10px;background:var(--cream);border-radius:99px;overflow:hidden}.goal-track span{display:block;height:100%;background:var(--green);border-radius:inherit;transition:width .5s}.list-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.list-card{display:grid;gap:6px;text-decoration:none}.list-card strong{font-size:14px;display:flex;align-items:center;gap:4px}.list-card small{color:var(--muted)}.list-collage{display:grid;grid-template-columns:1fr 1fr;gap:3px;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--cream);box-shadow:0 8px 20px rgba(21,31,28,.12);transition:transform .25s}.list-card:hover .list-collage{transform:translateY(-3px)}.list-collage img,.list-collage-empty{width:100%;height:100%;object-fit:cover;background:#dedbd1;display:block}.list-description{max-width:62ch;white-space:pre-wrap}.list-actions{display:flex;flex-wrap:wrap;gap:8px}.list-actions .add-button,.list-actions .secondary-button{display:inline-flex;align-items:center;gap:6px}.list-items{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;counter-reset:item;max-width:760px}.list-items li{counter-increment:item;display:grid;grid-template-columns:24px 46px 1fr auto;align-items:center;gap:12px;padding:8px 10px;background:white;border:1px solid var(--line);border-radius:8px}.list-items li:before{content:counter(item);color:var(--muted);font-weight:800;text-align:center}.list-items .poster-fallback,.list-items img{width:46px;height:69px;object-fit:cover;border-radius:4px}.list-item-copy{display:flex;flex-direction:column;min-width:0}.list-item-copy small{color:var(--muted)}.list-item-actions{display:flex;gap:4px}.list-item-actions .delete-button,.list-item-actions .icon-action{width:32px;height:32px}.list-item-actions button:disabled{opacity:.4;cursor:default}.watchlist-filter{display:flex;width:fit-content;max-width:100%;margin-bottom:14px;flex-wrap:wrap}.watchlist-poster{position:relative}.availability{position:absolute;left:6px;bottom:6px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:800}.availability.now{background:var(--green);color:white}.availability.soon{background:var(--gold);color:var(--ink)}.stats-subheading{font-family:var(--display);font-size:22px;margin:28px 0 12px}.danger-action{color:#a84434;border-color:#e4b1a6!important}.delete-account-button{min-height:44px;border:0;border-radius:8px;background:#a84434;color:white;font-weight:800;cursor:pointer}.delete-account-button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:720px){.bell{margin-left:auto}.goal-wrap{padding:0 16px}.feed-card{grid-template-columns:68px 1fr;gap:10px}.list-items li{grid-template-columns:20px 40px 1fr}.list-item-actions{grid-column:1/-1;justify-content:flex-end}.chat-message{max-width:100%}}