:root{color-scheme:dark;--bg:#000;--surface:#121212;--surface2:#0f0f11;--surface3:#1a1a1d;--surface4:#202024;--line:#2b2b30;--text:#f5f5f7;--muted:#a3a3aa;--muted2:#6f6f78;--mint:#7aef89;--cyan:#8bf1fa;--danger:#ff757d;--radius:10px;--radius-sm:7px;--page:1280px}
*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5;overflow-x:hidden}body>header[data-site-header],body>footer[data-site-footer]{flex:0 0 auto}body>main{flex:1 0 auto;min-width:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}img{display:block;max-width:100%}button{color:inherit}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.page-wrap{width:min(var(--page),calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:#121212;border-bottom:1px solid #28282d}.site-header-inner{width:min(1360px,calc(100% - 32px));min-height:64px;margin:0 auto;display:grid;grid-template-columns:auto auto minmax(260px,1fr) auto;gap:12px;align-items:center}.brand{display:inline-flex;align-items:center;min-width:104px}.brand img{width:auto;height:30px}.brand-fallback{color:var(--mint);font-size:24px;font-weight:900;letter-spacing:-1px}.header-menu-button{min-height:38px;padding:0 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:#d9d9dd;font-weight:700;cursor:pointer}.header-menu-button:hover{background:var(--surface4)}.header-menu-button span{margin-right:6px}.global-search{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 44px}.global-search input{width:100%;height:40px;min-width:0;border:1px solid #39393f;border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:#f1f1f2;color:#111114;padding:0 13px;outline:0}.global-search input::placeholder{color:#68686f}.global-search input:focus{border-color:var(--cyan)}.global-search>button{height:40px;border:1px solid #39393f;border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#e5e5e7;color:#111114;font-size:22px;cursor:pointer}.header-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.header-actions>a,.header-signin,.account-menu>summary{min-height:38px;padding:0 11px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;color:#dedee2;font-size:13px;font-weight:750;cursor:pointer}.header-actions>a:hover,.header-signin:hover,.account-menu>summary:hover{background:var(--surface4);color:#fff}.account-menu{position:relative}.account-menu>summary{list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-popover{position:absolute;right:0;top:calc(100% + 8px);width:190px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#17171a;box-shadow:0 18px 50px rgba(0,0,0,.42)}.account-popover a,.account-popover button,.account-handle{width:100%;min-height:36px;padding:0 10px;display:flex;align-items:center;border:0;border-radius:6px;background:transparent;color:#dddde2;font-size:13px;text-align:left}.account-popover a:hover,.account-popover button:hover{background:#242428;color:#fff}.account-popover button{cursor:pointer}.account-handle{min-height:30px;color:var(--muted2);font-size:11px}.browse-panel{border-top:1px solid #242428;background:#17171a}.browse-panel-inner{width:min(980px,calc(100% - 40px));margin:0 auto;padding:24px 0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.browse-panel-inner>div{display:grid;gap:4px}.browse-panel strong{margin-bottom:6px;color:#fff;font-size:13px}.browse-panel a{padding:5px 0;color:var(--muted);font-size:13px}
.search-suggest{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:120;max-height:min(640px,75vh);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#17171a;box-shadow:0 18px 60px rgba(0,0,0,.48)}.suggest-heading{padding:10px 12px 6px;color:#8f8f97;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.suggest-row{min-height:60px;padding:7px 10px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;border-top:1px solid #222226}.suggest-row:hover{background:#202024;color:#fff}.suggest-image{width:40px;height:48px;border-radius:5px;overflow:hidden;background:#29292e}.suggest-image img{width:100%;height:100%;object-fit:cover}.suggest-person{height:40px;border-radius:999px}.suggest-copy{min-width:0}.suggest-copy strong,.suggest-copy small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.suggest-copy strong{font-size:13px}.suggest-copy small{margin-top:2px;color:var(--muted);font-size:11px}.suggest-all{padding:11px 12px;display:block;border-top:1px solid var(--line);color:var(--cyan);font-size:12px;font-weight:750}.suggest-loading,.suggest-empty{padding:18px;color:var(--muted);font-size:12px}.suggest-empty a{display:block;margin-top:5px;color:var(--cyan)}
.site-footer{margin-top:70px;border-top:1px solid var(--line);background:#0c0c0e}.site-footer-inner{width:min(var(--page),calc(100% - 40px));min-height:170px;margin:0 auto;padding:34px 0;display:grid;grid-template-columns:1fr auto;gap:22px 50px;align-items:start}.footer-brand{color:var(--mint);font-size:22px;font-weight:900}.site-footer p{margin:6px 0 0;color:var(--muted);font-size:12px}.footer-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}.footer-links a{color:#c5c5ca;font-size:12px}.footer-note{grid-column:1/-1;padding-top:17px;border-top:1px solid #1d1d21;color:#66666f;font-size:11px}.button,.button-secondary{min-height:40px;padding:0 15px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-weight:800;cursor:pointer}.button{background:var(--mint);color:#08100a}.button:hover{color:#08100a;background:#92f49d}.button-secondary{border-color:var(--line);background:var(--surface3);color:var(--text)}.button-secondary:hover{background:#242429;color:#fff}
.home-main{padding-top:28px}.home-spotlight{min-height:390px;margin-bottom:34px}.spotlight-media{position:relative;min-height:390px;display:block;overflow:hidden;border-radius:var(--radius);background:var(--surface);color:#fff}.spotlight-media:hover{color:#fff}.spotlight-media>img{width:100%;height:390px;object-fit:cover}.spotlight-shade{position:absolute;inset:0;background:rgba(0,0,0,.46)}.spotlight-copy{position:absolute;left:30px;right:30px;bottom:28px;max-width:680px}.spotlight-copy small,.spotlight-copy strong,.spotlight-copy span{display:block}.spotlight-copy small{margin-bottom:6px;color:var(--mint);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.spotlight-copy strong{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.045em}.spotlight-copy span{margin-top:8px;color:#d3d3d7;font-size:13px}.spotlight-empty{min-height:390px;padding:40px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:end;background:var(--surface)}.spotlight-empty strong{font-size:34px}.spotlight-empty p{color:var(--muted)}.home-section,.content-section{margin:0 0 44px}.section-heading,.section-title-row{min-height:46px;margin-bottom:12px;padding-left:12px;border-left:4px solid var(--mint);display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading h2,.section-title-row h2{margin:0;font-size:23px;line-height:1.2;letter-spacing:-.025em}.section-heading a,.section-title-row span{color:var(--cyan);font-size:12px;font-weight:750}.poster-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,172px);gap:15px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 15px;scrollbar-color:#3a3a40 transparent}.poster-card{min-width:0}.poster-link{aspect-ratio:2/3;display:block;overflow:hidden;border-radius:8px;background:var(--surface3);border:1px solid #27272b}.poster-link:hover{border-color:#4a4a50}.poster-link img{width:100%;height:100%;object-fit:cover}.poster-missing{width:100%;height:100%;display:grid;place-items:center;color:var(--muted2);font-size:11px}.poster-copy{padding:9px 2px 0}.poster-title{display:block;color:#f1f1f4;font-size:13px;font-weight:800;line-height:1.3}.poster-meta{margin-top:4px;color:var(--muted2);font-size:11px}.poster-rating{margin-top:5px;color:#dddde0;font-size:11px}.poster-rating>span:first-child{color:var(--mint)}.poster-votes{color:var(--muted2)}.genre-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.genre-grid a{min-height:56px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;background:var(--surface2);font-weight:750}.genre-grid a::after{content:"›";color:var(--muted2);font-size:20px}
.page-header{padding:34px 0 22px;border-bottom:1px solid var(--line)}.page-header h1{margin:0;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.04em}.page-header p{max-width:750px;margin:10px 0 0;color:var(--muted)}.page-kicker{margin:0 0 7px!important;color:var(--mint)!important;font-size:11px!important;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.search-page-form{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.search-page-form input{height:46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface3);color:#fff;padding:0 14px}.search-page-form button{min-width:100px}.search-filter-bar{margin:18px 0 26px;display:flex;gap:7px;overflow-x:auto}.search-filter-bar button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:#b9b9c0;font-size:12px;cursor:pointer}.search-filter-bar button.is-active{border-color:var(--mint);color:#08100a;background:var(--mint);font-weight:800}.result-section{margin-bottom:42px}.search-result-list{border-top:1px solid var(--line)}.search-result-row{min-height:154px;padding:15px 0;display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;border-bottom:1px solid #202024}.search-result-image{width:84px;aspect-ratio:2/3;overflow:hidden;border-radius:6px;background:var(--surface3)}.search-result-image img{width:100%;height:100%;object-fit:cover}.result-image-missing{width:100%;height:100%;display:grid;place-items:center;color:var(--muted2);font-size:10px}.search-result-title{color:#fff;font-size:17px;font-weight:850}.search-result-meta{margin-top:3px;color:var(--muted);font-size:12px}.search-result-rating{margin-top:7px;color:#d6d6da;font-size:12px}.search-result-copy p{max-width:800px;margin:9px 0 0;color:#b2b2b8;font-size:13px}.person-list,.compact-list{border-top:1px solid var(--line)}.person-card,.user-row{min-height:82px;padding:11px 0;display:grid;grid-template-columns:60px minmax(0,1fr);gap:13px;align-items:center;border-bottom:1px solid #202024}.person-image,.user-avatar{width:58px;height:58px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--surface3);font-weight:900}.person-image img,.user-avatar img{width:100%;height:100%;object-fit:cover}.person-name,.user-row strong{color:#fff;font-size:14px;font-weight:850}.person-meta,.person-known,.user-row small{display:block;color:var(--muted);font-size:11px}.person-known{margin-top:3px;color:var(--muted2)}.critiq-search-row{padding:15px 0;border-bottom:1px solid #202024}.critiq-search-row strong{color:#fff;font-size:15px}.critiq-search-row p{margin:6px 0 0;color:var(--muted)}.critiq-byline{margin-top:3px;color:var(--muted2);font-size:11px}
.title-head{padding:30px 0 26px}.title-heading{margin-bottom:18px;display:flex;justify-content:space-between;gap:25px;align-items:end}.title-heading h1{margin:0;font-size:clamp(38px,5vw,62px);line-height:.98;letter-spacing:-.045em;font-weight:850}.title-subline{margin-top:9px;display:flex;gap:10px;color:#aaaab2;font-size:13px}.title-subline span+span::before{content:"·";margin-right:10px;color:#5e5e66}.title-score-row{display:flex;gap:8px}.score-box,.score-button{min-width:145px;min-height:66px;padding:9px 12px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left}.score-button{cursor:pointer}.score-button:hover{background:var(--surface3)}.score-box small,.score-button small{display:block;color:#777780;font-size:9px;font-weight:850;letter-spacing:.08em}.score-box strong,.score-button strong{display:block;margin-top:4px;color:#fff;font-size:18px}.score-box span{display:block;color:var(--muted2);font-size:10px}.title-media-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 210px;gap:4px;min-height:345px}.title-poster{min-width:0;border-radius:8px 0 0 8px;overflow:hidden;background:var(--surface3)}.title-poster img{width:100%;height:100%;object-fit:cover}.poster-missing.large{min-height:345px}.title-backdrop{position:relative;min-width:0;overflow:hidden;background:#151518}.title-backdrop>img{width:100%;height:100%;object-fit:cover}.backdrop-missing{width:100%;height:100%;background:var(--surface3)}.trailer-button{position:absolute;left:18px;bottom:18px;min-height:42px;padding:0 14px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;background:rgba(0,0,0,.78);color:#fff;font-weight:800;font-size:12px}.trailer-button:hover{color:#fff;background:#000}.title-action-stack{padding:12px;border-radius:0 8px 8px 0;display:grid;align-content:start;gap:7px;background:var(--surface2)}.title-action-stack button,.title-action-stack a{min-height:46px;padding:0 12px;border:0;border-radius:7px;display:flex;align-items:center;background:#232327;color:#f1f1f3;font-weight:750;cursor:pointer}.title-action-stack button:hover,.title-action-stack a:hover,.title-action-stack button[data-active="true"]{background:#2b2b30;color:var(--mint)}.genre-row{margin:16px 0 14px;display:flex;flex-wrap:wrap;gap:7px}.genre-row a{min-height:30px;padding:0 11px;border:1px solid #393940;border-radius:999px;display:inline-flex;align-items:center;color:#d2d2d6;font-size:11px;font-weight:700}.title-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px;border-bottom:1px solid var(--line);padding-bottom:25px}.title-overview{margin:0 0 18px;max-width:820px;color:#d2d2d6;font-size:15px;line-height:1.6}.credit-lines>div{min-height:38px;padding:8px 0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;border-top:1px solid #202024}.credit-lines strong,.credit-lines a{font-size:12px}.credit-lines a{color:#d7d7dc}.title-facts-quick{border-left:1px solid var(--line);padding-left:22px}.title-facts-quick>div{padding:7px 0;display:flex;justify-content:space-between;gap:14px}.title-facts-quick span{color:var(--muted);font-size:11px}.title-facts-quick strong{font-size:11px;text-align:right}.page-columns{width:min(var(--page),calc(100% - 40px));margin:0 auto;padding-top:30px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:46px}.page-primary,.page-secondary{min-width:0}.cast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.cast-card{min-height:96px;padding:9px 0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;border-bottom:1px solid #202024}.cast-image{width:72px;height:72px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--surface3)}.cast-image img{width:100%;height:100%;object-fit:cover}.cast-card strong,.cast-card small{display:block}.cast-card strong{color:#fff;font-size:13px}.cast-card small{margin-top:3px;color:var(--muted);font-size:11px}.detail-box{margin-bottom:18px;border-top:4px solid var(--mint);background:var(--surface2)}.detail-box h2{margin:0;padding:15px 16px 10px;font-size:17px}.detail-box>div{padding:11px 16px;display:grid;gap:4px;border-top:1px solid #242428}.detail-box span{color:var(--muted);font-size:10px}.detail-box strong{color:#e8e8eb;font-size:12px;font-weight:700}.rating-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:center}.rating-big strong{font-size:54px;line-height:1}.rating-big>span{color:var(--muted)}.rating-big small{display:block;margin-top:8px;color:var(--muted);font-size:11px}.rating-bars{display:grid;gap:7px}.rating-bars>div{display:grid;grid-template-columns:34px minmax(0,1fr) 52px;gap:10px;align-items:center}.rating-bars span,.rating-bars small{color:var(--muted);font-size:10px}.rating-bars progress{width:100%;height:8px;accent-color:var(--mint)}.rating-stats-strip{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:11px}.rating-stats-strip strong{color:#fff}.friend-ratings{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.friend-rating-row{min-height:64px;padding:8px 0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid #202024}.friend-rating-avatar{width:42px;height:42px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--surface3);font-weight:850}.friend-rating-avatar img{width:100%;height:100%;object-fit:cover}.friend-rating-row strong,.friend-rating-row small{display:block}.friend-rating-row strong{font-size:12px}.friend-rating-row small{color:var(--muted2);font-size:10px}.friend-rating-row b{color:var(--mint);font-size:12px}.critiq-list{border-top:1px solid var(--line)}.review-card{padding:16px 0;border-bottom:1px solid #202024}.review-card-head{display:flex;justify-content:space-between;gap:18px}.review-card-head strong,.review-card-head span{display:block}.review-card-head strong{font-size:15px}.review-card-head span{margin-top:2px;color:var(--muted);font-size:11px}.review-card-head b{color:var(--mint);font-size:12px}.review-card p{margin:10px 0;color:#c5c5ca;line-height:1.6}.review-card footer{color:var(--muted2);font-size:10px}.rating-dialog{width:min(430px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:var(--radius);background:#161619;color:var(--text)}.rating-dialog::backdrop{background:rgba(0,0,0,.72)}.rating-dialog form{position:relative;padding:26px}.rating-dialog h2{margin:0;font-size:21px}.rating-dialog p{color:var(--muted)}.dialog-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:999px;background:#26262b;color:#fff;font-size:21px;cursor:pointer}.rating-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.rating-picker button{min-height:58px;border:1px solid var(--line);border-radius:7px;background:#202024;color:#fff;font-weight:850;cursor:pointer}.rating-picker button span{display:block;color:var(--mint)}.form-status{min-height:20px;margin:13px 0 0!important;font-size:11px}
.person-hero{width:min(var(--page),calc(100% - 40px));margin:0 auto;padding:34px 0 28px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;border-bottom:1px solid var(--line)}.person-hero-image{aspect-ratio:1/1.25;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;background:var(--surface3);color:var(--muted);font-size:54px;font-weight:900}.person-hero-image img{width:100%;height:100%;object-fit:cover}.person-hero-copy h1{margin:0;font-size:clamp(38px,5vw,60px);letter-spacing:-.045em}.person-bio{max-width:850px;color:#c6c6cb;line-height:1.65}.person-score-row{margin:17px 0 20px;display:flex;flex-wrap:wrap;gap:8px}.person-score-row>div,.person-score-row button{min-height:62px;min-width:140px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface2)}.person-score-row small,.person-score-row strong,.person-score-row span{display:block}.person-score-row small{color:var(--muted2);font-size:9px;font-weight:850}.person-score-row strong,.person-score-row button{font-weight:850}.person-score-row span{color:var(--muted);font-size:10px}.person-score-row button{color:#fff;cursor:pointer}.person-score-row button:hover,.person-score-row button[data-active="true"]{border-color:#494950;color:var(--mint)}.filmography-list{border-top:1px solid var(--line)}.filmography-list a{min-height:50px;padding:8px 0;display:grid;grid-template-columns:54px minmax(0,1fr) minmax(120px,.5fr) 60px;gap:12px;align-items:center;border-bottom:1px solid #202024}.filmography-year,.filmography-list small,.filmography-list a>span:last-child{color:var(--muted);font-size:11px}.filmography-list strong{font-size:13px}
.discover-layout{padding:26px 0 0;display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px}.discover-form{position:sticky;top:90px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface2);align-self:start}.discover-form h2{margin:0 0 18px;font-size:17px}.form-field{margin-bottom:14px}.form-field label{display:block;margin-bottom:6px;color:#c4c4c9;font-size:11px;font-weight:750}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:42px;border:1px solid #36363c;border-radius:var(--radius-sm);background:#18181b;color:#fff;padding:0 10px}.form-field textarea{min-height:180px;padding:10px;resize:vertical}.discover-form .button{width:100%}.chart-columns{padding-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.chart-panel h2{margin:0 0 10px;padding-left:10px;border-left:4px solid var(--mint);font-size:20px}.chart-list{border-top:1px solid var(--line)}.chart-row{min-height:78px;padding:8px 0;display:grid;grid-template-columns:28px 42px minmax(0,1fr) auto;gap:9px;align-items:center;border-bottom:1px solid #202024}.chart-rank{color:var(--muted2);font-size:12px;text-align:center}.chart-poster{width:42px;height:62px;overflow:hidden;border-radius:4px;background:var(--surface3)}.chart-poster img{width:100%;height:100%;object-fit:cover}.chart-copy strong,.chart-copy small{display:block}.chart-copy strong{font-size:12px}.chart-copy small{margin-top:2px;color:var(--muted2);font-size:10px}.chart-score{color:var(--mint);font-size:11px;font-weight:750}.library-grid{padding-top:24px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 15px}.profile-head{padding:34px 0 28px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line)}.profile-avatar-large{width:132px;height:132px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--surface3);font-size:42px;font-weight:900}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-name-line{display:flex;align-items:center;gap:9px}.profile-name-line h1{margin:0;font-size:36px;letter-spacing:-.035em}.verified-badge{padding:3px 6px;border-radius:4px;background:var(--cyan);color:#061113;font-size:9px;font-weight:900}.profile-handle{margin:4px 0 0;color:var(--muted)}.profile-bio{max-width:700px;color:#c4c4c9}.profile-stats{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:11px}.profile-stats strong{color:#fff}.activity-list article{padding:12px 0;border-bottom:1px solid #202024}.activity-list span{display:block;color:var(--muted);font-size:11px}.activity-list p{margin:5px 0 0;color:#c4c4c9}.create-layout{max-width:760px;margin:0 auto;padding-top:30px}.create-subject{min-height:120px;padding:12px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface2)}.create-subject img{width:72px;height:104px;object-fit:cover;border-radius:5px}.create-subject small,.create-subject strong,.create-subject span{display:block}.create-subject small{color:var(--muted2);font-size:10px}.create-subject strong{margin-top:3px;font-size:18px}.create-subject span{margin-top:4px;color:var(--muted);font-size:11px}.create-form{margin-top:20px}.create-stars{display:flex;gap:6px}.create-stars button{width:44px;height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface3);color:#777780;cursor:pointer}.create-stars button.is-selected{color:var(--mint);border-color:var(--mint)}.check-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.check-row input{accent-color:var(--mint)}
.auth-shell{width:min(460px,calc(100% - 36px));margin:70px auto}.auth-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface2)}.auth-card h1{margin:0;font-size:28px}.auth-card>p{color:var(--muted)}.auth-form{display:grid;gap:14px}.auth-status,.field-note{min-height:18px;margin:0;font-size:11px}.auth-status[data-kind="error"],.field-note[data-kind="error"]{color:var(--danger)}.auth-status[data-kind="success"],.field-note[data-kind="success"]{color:var(--mint)}.auth-status[data-kind="loading"],.field-note[data-kind="loading"]{color:var(--cyan)}.field-note{color:var(--muted2)}.auth-switch{margin:18px 0 0!important;padding-top:16px;border-top:1px solid var(--line);text-align:center;font-size:12px}.legal-page,.info-page{max-width:900px;margin:0 auto;padding:38px 0}.legal-page h1,.info-page h1{margin-top:0;font-size:40px}.legal-page h2,.info-page h2{margin-top:32px;font-size:20px}.legal-page p,.info-page p,.info-page li{color:#c1c1c6;line-height:1.7}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{padding:16px 0;cursor:pointer;font-weight:800}.faq-list details p{margin:0 0 17px}.loading-block,.empty-inline{min-height:80px;display:flex;align-items:center;color:var(--muted);font-size:12px}.empty-state{min-height:220px;padding:30px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface2)}.empty-state strong{font-size:18px}.empty-state p{color:var(--muted)}.empty-state .button{width:fit-content}.error-page{min-height:55vh;display:grid;place-items:center;text-align:center}.error-page h1{margin:0;font-size:70px}.error-page p{color:var(--muted)}
@media(max-width:1050px){.site-header-inner{grid-template-columns:auto minmax(220px,1fr) auto}.header-menu-button{display:none}.title-media-grid{grid-template-columns:190px minmax(0,1fr)}.title-action-stack{grid-column:1/-1;grid-template-columns:repeat(4,1fr);border-radius:8px}.page-columns{grid-template-columns:minmax(0,1fr)}.page-secondary{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.chart-columns{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(5,1fr)}.genre-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.site-header-inner{width:calc(100% - 18px);min-height:58px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.brand{min-width:0}.brand img{height:25px}.header-actions>a:not(.header-signin),.account-menu>summary{padding-inline:8px}.header-actions>a:not(.header-signin){display:none}.global-search input{height:38px;font-size:12px}.global-search>button{width:38px;height:38px}.page-wrap,.page-columns,.person-hero,.site-footer-inner{width:min(100% - 24px,var(--page))}.home-main{padding-top:16px}.home-spotlight,.spotlight-media,.spotlight-media>img{min-height:280px;height:280px}.spotlight-copy{left:18px;right:18px;bottom:17px}.spotlight-copy strong{font-size:34px}.poster-rail{grid-auto-columns:132px}.genre-grid{grid-template-columns:repeat(2,1fr)}.title-heading{display:block}.title-score-row{margin-top:18px}.score-box,.score-button{min-width:0;flex:1}.title-media-grid{grid-template-columns:118px minmax(0,1fr);min-height:230px}.title-action-stack{grid-template-columns:repeat(2,1fr)}.title-poster,.title-backdrop{min-height:230px}.title-summary-grid{grid-template-columns:1fr}.title-facts-quick{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:12px}.cast-grid,.friend-ratings{grid-template-columns:1fr}.page-secondary{display:block}.rating-summary{grid-template-columns:1fr}.person-hero{grid-template-columns:120px minmax(0,1fr);gap:18px}.person-hero-copy h1{font-size:35px}.filmography-list a{grid-template-columns:46px minmax(0,1fr) 55px}.filmography-list small{display:none}.discover-layout{grid-template-columns:1fr}.discover-form{position:static}.library-grid{grid-template-columns:repeat(3,1fr)}.profile-head{grid-template-columns:86px minmax(0,1fr)}.profile-avatar-large{width:86px;height:86px}.profile-name-line h1{font-size:27px}.site-footer-inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:470px){.global-search{grid-template-columns:minmax(0,1fr) 36px}.global-search input{padding-inline:10px}.poster-rail{grid-auto-columns:118px;gap:11px}.title-heading h1{font-size:36px}.title-media-grid{grid-template-columns:100px minmax(0,1fr)}.title-action-stack{grid-template-columns:1fr 1fr}.title-action-stack button,.title-action-stack a{min-height:42px;font-size:11px}.library-grid{grid-template-columns:repeat(2,1fr)}.search-result-row{grid-template-columns:68px minmax(0,1fr)}.search-result-image{width:68px}}

html{scrollbar-gutter:stable}img{content-visibility:auto}.home-section,.content-section,.result-section,.chart-panel,.poster-card,.search-result-row{content-visibility:auto;contain-intrinsic-size:auto 320px}.lazy-sentinel{min-height:72px;display:grid;place-items:center;color:var(--muted2);font-size:11px}.library-grid>.lazy-sentinel{grid-column:1/-1}.rating-summary.public-only{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}.rating-login-note{margin:0;color:var(--muted);font-size:12px;align-self:center}


/* v3 heritage + persistent shell */
header[data-site-header]{position:sticky;top:0;z-index:1000;display:block;flex:0 0 auto;isolation:isolate}
header[data-site-header] .site-header{position:relative;top:auto;z-index:auto}

/* Original Critiqz footer content, blended into the database-first app shell. */
.legacy-footer{margin-top:0;padding:30px 0 20px;background:var(--surface2);border-top:1px solid #242428}
.legacy-footer .site-footer-inner{width:min(var(--page),calc(100% - 40px));min-height:0;padding:0;display:block}
.legacy-footer .footer-top{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.7fr);gap:56px;align-items:start}
.legacy-footer .footer-brand-block{min-width:0}
.legacy-footer .footer-logo{min-width:0}
.legacy-footer .footer-logo img{height:28px;width:auto}
.legacy-footer .footer-brand-block p{max-width:270px;margin:13px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.legacy-footer .footer-links{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(110px,.75fr) minmax(300px,1.65fr);gap:28px 34px;justify-content:initial;font-size:12px}
.legacy-footer .footer-group{display:flex;flex-direction:column;gap:8px;min-width:0}
.legacy-footer .footer-group h2{margin:0 0 5px;color:#e9e9ec;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.055em;text-transform:uppercase}
.legacy-footer .footer-group a{color:#9898a1;font-size:12px;line-height:1.45}
.legacy-footer .footer-group a:hover{color:var(--mint)}
.legacy-footer .footer-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:8px}
.legacy-footer .footer-socials h2{grid-column:1/-1}
.legacy-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:17px;border-top:1px solid #202024;color:#696970;font-size:11px}
footer[data-site-footer]{margin-top:0;background:var(--surface2)}

/* Short app pages fill the available viewport. Auth forms sit in the visual centre,
   but naturally become normal scrolling content when the viewport is too short. */
.auth-shell{width:min(460px,calc(100% - 36px));margin:0 auto;padding:clamp(34px,7vh,76px) 0;display:flex;align-items:center;justify-content:center}
.auth-card{width:100%}

/* Preserved pre-database Critiqz marketing/story pages. */
.heritage-page{--heritage-wrap:min(1100px,calc(100% - 48px));font-size:16px;line-height:1.65}
.heritage-page .wrap{width:var(--heritage-wrap);margin-inline:auto}
.heritage-page .eyebrow{margin:0 0 17px;color:var(--mint);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.heritage-page h1,.heritage-page h2,.heritage-page h3,.heritage-page p{margin-top:0}
.heritage-page h1{margin-bottom:24px;font-size:clamp(40px,5.6vw,66px);font-weight:750;line-height:1.08;letter-spacing:-2px}
.heritage-page h2{margin-bottom:20px;font-size:clamp(29px,3.5vw,40px);line-height:1.2;letter-spacing:-1px}
.heritage-page h3{margin-bottom:12px;font-size:21px;line-height:1.3;letter-spacing:-.4px}
.heritage-page p{margin-bottom:22px;color:var(--muted)}
.heritage-page .gradient-text{color:var(--mint)}
.heritage-page .hero{position:relative;min-height:590px;display:grid;align-items:end;overflow:hidden}
.heritage-page .hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.66}
.heritage-page .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.35) 70%,rgba(0,0,0,.08))}
.heritage-page .hero-copy{position:relative;z-index:1;max-width:790px;margin:auto;padding:170px 0 44px;text-align:center}
.heritage-page .hero h1{font-weight:900}
.heritage-page .hero p{max-width:560px;margin-inline:auto;font-size:19px}
.heritage-page .hero .eyebrow{font-size:13px}
.heritage-page .subnote{margin-top:14px!important;margin-bottom:0!important;font-size:13px!important}
.heritage-page .features{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:48px 0 60px;border-bottom:1px solid var(--line)}
.heritage-page .features article{padding-top:22px;border-top:2px solid var(--line)}
.heritage-page .features p{margin:0}
.heritage-page .feature-label{display:block;margin-bottom:13px;color:var(--mint);font-size:13px;letter-spacing:1px}
.heritage-page .split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:80px}
.heritage-page .split p{max-width:440px}
.heritage-page .textlink{text-decoration:underline;text-underline-offset:5px;font-weight:700}
.heritage-page .media{position:relative;min-height:300px;display:grid;place-items:center;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.heritage-page .media>img{max-height:420px;object-fit:contain}
.heritage-page .media.is-fallback>img{width:160px;height:auto}
.heritage-page .fallback-word{color:var(--mint);font-size:48px;font-weight:800;letter-spacing:-2px}
.heritage-page .media-label{position:absolute;bottom:18px;margin:0;color:var(--muted);font-size:13px}
.heritage-page .split .media{width:fit-content;max-width:100%;min-height:0;margin-inline:auto;overflow:hidden;background:#000;border:5px solid #1a1c1e;border-radius:36px}
.heritage-page .split .media>img{border:0;border-radius:0;background:#000}
.heritage-page .split .media.is-fallback{width:204px;min-height:430px}
.heritage-page .split .media .fallback-word{font-size:36px}
.heritage-page .signup{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:60px 0;border-top:1px solid var(--line)}
.heritage-page .signup h2{margin-bottom:10px;font-size:32px}
.heritage-page .signup p{max-width:520px;margin-bottom:0}
.heritage-page .quote-break{width:100%;height:1px;margin:64px 0 42px;background:rgba(255,255,255,.12)}
.heritage-page .cinema-quote{max-width:920px;margin:0 auto 72px;text-align:center}
.heritage-page .cinema-quote-card::before{content:"“";display:block;margin:0 auto 10px;color:var(--mint);font-size:56px;font-weight:900;line-height:.65}
.heritage-page .cinema-quote blockquote{max-width:860px;margin:0 auto}
.heritage-page .cinema-quote blockquote p{margin:0;color:#fff;font-size:clamp(24px,2.4vw,34px);font-weight:900;line-height:1.28;letter-spacing:-.02em}
.heritage-page .cinema-quote cite{display:block;margin-top:22px;color:var(--mint);font-size:18px;font-style:normal;font-weight:900}
.heritage-page .cinema-quote-note{max-width:760px;margin:28px auto 0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.55;text-align:center}
.heritage-page .page-head{max-width:720px;padding-top:65px;padding-bottom:40px}
.heritage-page .breadcrumb{margin-bottom:32px;color:var(--muted);font-size:14px}
.heritage-page .breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.heritage-page .page-head h1{font-size:clamp(40px,5vw,58px)}
.heritage-page .intro{font-size:20px;line-height:1.6}
.heritage-page .story{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;padding-bottom:75px}
.heritage-page .story-copy p{max-width:610px}
.heritage-page .story .media{min-height:340px;align-self:start}
.heritage-page .note{margin-top:35px;padding-top:27px;border-top:1px solid var(--line)}
.heritage-page .note h2{font-size:25px}
.heritage-page .faq{max-width:780px;padding-bottom:75px}
.heritage-page details{padding:22px 0;border-top:1px solid var(--line)}
.heritage-page details:last-of-type{border-bottom:1px solid var(--line)}
.heritage-page summary{display:flex;justify-content:space-between;align-items:baseline;gap:20px;list-style:none;cursor:pointer;font-size:20px;font-weight:700}
.heritage-page summary::-webkit-details-marker{display:none}
.heritage-page summary::after{content:"+";color:var(--mint);font-size:25px;font-weight:400}
.heritage-page details[open] summary::after{content:"−"}
.heritage-page details p{max-width:690px;margin-bottom:0;padding-top:16px}
.heritage-page .contact-note{margin-top:32px}
.heritage-page .legal-placeholder{max-width:720px;padding-bottom:80px}
.heritage-page .waitlist-form{width:min(100%,540px)}
.heritage-page .waitlist-label{display:block;margin:0 0 8px;color:#fff;font-size:.9rem;font-weight:700}
.heritage-page .waitlist-row{display:flex;gap:10px;align-items:stretch}
.heritage-page .waitlist-input{min-width:0;flex:1;padding:13px 14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;outline:none;background:#111;color:#fff}
.heritage-page .waitlist-input:focus{border-color:rgba(255,255,255,.48);box-shadow:0 0 0 3px rgba(255,255,255,.07)}
.heritage-page .waitlist-submit{white-space:nowrap;border:0;cursor:pointer}
.heritage-page .waitlist-status{min-height:1.35em;margin:10px 0 0;font-size:.86rem;font-weight:700}
.heritage-page .waitlist-status[data-kind="success"]{color:var(--mint)}
.heritage-page .waitlist-status[data-kind="error"]{color:#ff8d8d}
.heritage-page .waitlist-status[data-kind="loading"]{color:rgba(255,255,255,.65)}
.heritage-page .waitlist-privacy{margin:8px 0 0;color:rgba(255,255,255,.48);font-size:.78rem;line-height:1.45}
.heritage-page .waitlist-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

@media(max-width:760px){
  .legacy-footer{padding:26px 0 18px}
  .legacy-footer .site-footer-inner{width:calc(100% - 36px)}
  .legacy-footer .footer-top{grid-template-columns:1fr;gap:26px}
  .legacy-footer .footer-links{grid-template-columns:1fr 1fr;gap:26px 20px}
  .legacy-footer .footer-socials{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px 20px}
  .legacy-footer .footer-socials h2{grid-column:1/-1}
  .legacy-footer .footer-bottom{display:flex;flex-direction:column;gap:5px;margin-top:22px;padding-top:15px}
  .legacy-footer .footer-bottom span{display:block;margin:0}
  .heritage-page{--heritage-wrap:calc(100% - 36px)}
  .heritage-page .hero{min-height:540px}
  .heritage-page .hero-copy{padding-top:135px;padding-bottom:32px}
  .heritage-page .hero p{font-size:18px}
  .heritage-page .features{grid-template-columns:1fr;gap:27px;padding:30px 0 45px}
  .heritage-page .split,.heritage-page .story{grid-template-columns:1fr;gap:32px;padding-block:45px}
  .heritage-page .split p{max-width:none}
  .heritage-page .media{min-height:240px}
  .heritage-page .signup{display:block;padding:42px 0}
  .heritage-page .quote-break{margin:48px 0 34px}
  .heritage-page .cinema-quote{margin-bottom:54px}
  .heritage-page .cinema-quote blockquote p{font-size:22px}
  .heritage-page .page-head{padding-top:35px;padding-bottom:10px}
  .heritage-page .story{padding-top:22px}
  .heritage-page .story .media{min-height:240px}
  .heritage-page .intro{font-size:18px}
  .heritage-page .faq{padding-top:20px}
  .heritage-page summary{font-size:18px}
  .heritage-page .waitlist-row{flex-direction:column}
  .heritage-page .waitlist-submit{width:100%}
}
@media(max-width:470px){
  .legacy-footer .footer-links{grid-template-columns:1fr}
  .legacy-footer .footer-socials{grid-column:auto;grid-template-columns:1fr}
}


/* v4.2 smooth layout / CLS fixes */

/* Reserve the app shell before JavaScript hydrates it. This prevents the whole
   page jumping when the shared header and footer are inserted. */
header[data-site-header]{
  min-height:64px;
}
footer[data-site-footer]{
  min-height:198px;
}

/* Keep a vertical scrollbar slot at all times so navigating between short and
   long pages never changes the page width by a few pixels. */
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
}

/* Browse is a dropdown layer, not part of document flow. Opening it must not
   shove the page content or footer down. */
header[data-site-header] .site-header{
  position:relative;
}
header[data-site-header] .browse-panel{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:80;
  max-height:calc(100dvh - 64px);
  overflow:auto;
  border-top:1px solid #242428;
  border-bottom:1px solid #2b2b30;
  box-shadow:0 18px 38px rgba(0,0,0,.36);
}

/* Keep the right side of the header from changing width when Sign in becomes
   an account menu after session hydration. */
[data-session-nav]{
  min-width:72px;
  display:inline-flex;
  justify-content:flex-end;
  align-items:center;
}

/* Lazy loading should save network/paint work without guessing the height of
   entire sections. Large guessed intrinsic sizes were causing scroll shifts. */
.home-section,
.content-section,
.result-section,
.chart-panel{
  content-visibility:visible;
  contain-intrinsic-size:none;
}

/* Individual cards can still be paint-contained safely. */
.poster-card,
.search-result-row,
.chart-row{
  content-visibility:auto;
}

/* Reserve stable room for horizontal title rails while their data arrives. */
.poster-rail{
  min-height:282px;
}

/* Images keep their box while decoding. */
.poster-link,
.search-result-image,
.cast-image,
.person-image,
.chart-poster{
  contain:layout paint;
}
.poster-link img,
.search-result-image img,
.cast-image img,
.person-image img,
.chart-poster img{
  object-fit:cover;
}

/* Avoid accidental smooth layout animations. Interactions should feel crisp. */
.site-header *,
.legacy-footer *,
.auth-shell *,
.page-wrap *{
  transition-property:color,background-color,border-color,opacity,box-shadow,transform;
}

/* The login/signup card stays visually centred on normal-height displays but
   naturally becomes a scrolling page on short viewports. */
body[data-page="login"] > main.auth-shell,
body[data-page="signup"] > main.auth-shell{
  min-height:420px;
}

@media(max-width:760px){
  header[data-site-header]{
    min-height:58px;
  }
  header[data-site-header] .browse-panel{
    top:100%;
    max-height:calc(100dvh - 58px);
  }
  footer[data-site-footer]{
    min-height:360px;
  }
  .poster-rail{
    min-height:235px;
  }
}


/* v5 accessibility, SEO-support and account-security UI */
.skip-link{position:fixed;left:12px;top:10px;z-index:1000;padding:9px 12px;border-radius:7px;background:#fff;color:#000;font-weight:800;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.breadcrumbs{padding-top:14px;padding-bottom:0;color:var(--muted-2);font-size:11px}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--mint)}
.auth-forgot{display:inline-block;margin-top:-5px;color:var(--cyan);font-size:12px;font-weight:700}
.auth-remember{margin-top:-2px}
.danger-action{margin-top:8px;border-color:rgba(255,117,125,.28)!important;color:#ff8b92!important}
.legal-updated{color:var(--muted-2)!important;font-size:12px}
.legal-callout{padding:13px 15px;border-left:3px solid var(--mint);background:var(--surface-2);color:#d8d8dc!important}
.legal-page a{text-decoration:underline;text-underline-offset:2px}
.search-suggest[role="listbox"]{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* v5.1 auth layout correction */
body[data-page="login"] .auth-shell,
body[data-page="signup"] .auth-shell{
  flex-direction:column;
}

.auth-legal-row{
  align-items:flex-start;
  gap:10px;
  line-height:1.45;
}

.auth-legal-row > input{
  flex:0 0 auto;
  margin-top:3px;
}

.auth-legal-row > span{
  display:block;
  min-width:0;
}

.auth-legal-row a{
  display:inline;
  color:var(--cyan);
}


/* v5.6 Supabase-controlled site banners */
.site-banner-stack{
  width:100%;
  border-top:1px solid #202024;
}
.site-banner{
  width:100%;
  background:#161619;
  border-bottom:1px solid #29292e;
}
.site-banner-inner{
  width:min(1360px,calc(100% - 32px));
  min-height:42px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:8px 0;
  font-size:12px;
}
.site-banner-message{
  min-width:0;
  text-align:center;
  font-weight:700;
  line-height:1.4;
}
.site-banner-link{
  flex:0 0 auto;
  color:var(--cyan);
  font-weight:800;
  white-space:nowrap;
}
.site-banner-link:hover{
  color:#b8f7fb;
}
.site-banner-dismiss{
  flex:0 0 auto;
  width:30px;
  height:30px;
  margin-left:2px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#c8c8ce;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.site-banner-dismiss:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.site-banner--announcement{border-bottom-color:rgba(122,239,137,.38)}
.site-banner--announcement .site-banner-message{color:#e9f9eb}
.site-banner--info{border-bottom-color:rgba(139,241,250,.38)}
.site-banner--info .site-banner-message{color:#e5f9fb}
.site-banner--success{border-bottom-color:rgba(122,239,137,.55)}
.site-banner--success .site-banner-message{color:#dcf8e0}
.site-banner--warning{border-bottom-color:rgba(245,194,91,.55)}
.site-banner--warning .site-banner-message{color:#f7e8bf}
.site-banner--critical{border-bottom-color:rgba(255,117,125,.6)}
.site-banner--critical .site-banner-message{color:#ffdadd}

@media(max-width:760px){
  .site-banner-inner{
    width:calc(100% - 20px);
    min-height:44px;
    gap:8px;
    padding:8px 0;
    font-size:11px;
  }
  .site-banner-message{
    text-align:left;
  }
  .site-banner-link{
    white-space:normal;
  }
}


/* v5.7 real app screenshots on welcome page */
.heritage-page .welcome-phone-pair{
  width:min(100%,520px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.heritage-page .welcome-phone{
  min-width:0;
  margin:0;
  padding:5px;
  overflow:hidden;
  background:#050505;
  border:2px solid #2a2a2f;
  border-radius:30px;
  box-shadow:0 14px 32px rgba(0,0,0,.34);
}
.heritage-page .welcome-phone img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:738/1600;
  object-fit:contain;
  background:#000;
  border-radius:24px;
}
@media(max-width:860px){
  .heritage-page .welcome-phone-pair{
    width:min(100%,560px);
    gap:14px;
  }
}
@media(max-width:480px){
  .heritage-page .welcome-phone-pair{
    gap:9px;
  }
  .heritage-page .welcome-phone{
    padding:3px;
    border-radius:22px;
  }
  .heritage-page .welcome-phone img{
    border-radius:18px;
  }
}


/* v6.2 homepage mobile-app section */
.home-mobile-beta{
  min-height:610px;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface2);
}
.home-mobile-beta-copy{
  align-self:center;
  padding:54px 42px;
}
.home-mobile-beta-copy h2{
  max-width:560px;
  margin:0 0 16px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.home-mobile-beta-copy p{
  max-width:590px;
  margin:0 0 12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.home-mobile-beta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.home-mobile-beta-primary,
.home-mobile-beta-secondary{
  min-height:38px;
  padding:0 14px;
  border-radius:var(--radius-sm);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
}
.home-mobile-beta-primary{
  background:var(--mint);
  color:#081009;
}
.home-mobile-beta-primary:hover{
  color:#081009;
}
.home-mobile-beta-secondary{
  border:1px solid var(--line);
  background:var(--surface3);
  color:#e7e7ea;
}
.home-mobile-beta-screens{
  min-height:610px;
  padding:42px 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#0b0b0d;
}

/* Same phone frame geometry as the Welcome page. */
.home-mobile-beta .welcome-phone-pair{
  width:min(100%,520px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.home-mobile-beta .welcome-phone{
  min-width:0;
  margin:0;
  padding:5px;
  overflow:hidden;
  background:#050505;
  border:2px solid #2a2a2f;
  border-radius:30px;
}
.home-mobile-beta .welcome-phone img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:738/1600;
  object-fit:contain;
  background:#000;
  border-radius:24px;
}

@media(max-width:900px){
  .home-mobile-beta{
    grid-template-columns:1fr;
    min-height:unset;
  }
  .home-mobile-beta-copy{
    padding:36px 30px 16px;
  }
  .home-mobile-beta-screens{
    min-height:auto;
    padding:28px 30px 38px;
  }
  .home-mobile-beta .welcome-phone-pair{
    width:min(100%,560px);
    gap:14px;
  }
}
@media(max-width:560px){
  .home-mobile-beta-copy{
    padding:30px 20px 12px;
  }
  .home-mobile-beta-copy h2{
    font-size:27px;
  }
  .home-mobile-beta-actions{
    gap:8px;
  }
  .home-mobile-beta-primary,
  .home-mobile-beta-secondary{
    flex:1 1 auto;
  }
  .home-mobile-beta-screens{
    padding:22px 14px 30px;
  }
  .home-mobile-beta .welcome-phone-pair{
    gap:9px;
  }
  .home-mobile-beta .welcome-phone{
    padding:3px;
    border-radius:22px;
  }
  .home-mobile-beta .welcome-phone img{
    border-radius:18px;
  }
}

/* v6.2 flat treatment retained for homepage section */
.home-mobile-beta,
.home-mobile-beta *{
  box-shadow:none;
}
.home-mobile-beta,
.home-mobile-beta-screens,
.home-mobile-beta-copy,
.home-mobile-beta .welcome-phone,
.home-mobile-beta-primary,
.home-mobile-beta-secondary{
  background-image:none;
}

