:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#101113;color:#f4f4f2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -20%,#1b1c1c 0,#101113 46%);display:flex;flex-direction:column}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;padding:0 clamp(22px,5vw,80px)}.brand{font-size:17px;font-weight:700;letter-spacing:-.04em}.brand-mark{font-size:24px;color:#c4ed8b;vertical-align:-2px;margin-right:5px}.page{width:100%;flex:1}.rooms-screen{max-width:1140px;min-height:calc(100vh - 142px);display:flex;align-items:center;justify-content:center;margin:auto;padding:56px 24px 100px}.room-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,340px));justify-content:center;gap:20px}.room-card{min-height:290px;display:flex;flex-direction:column;padding:24px;border:1px solid #303330;border-radius:16px;background:#191b1a;transition:border-color .2s,transform .2s,background .2s}.room-card:hover{border-color:#667455;transform:translateY(-3px);background:#1c1f1c}.room-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.room-card h1{font-size:20px;line-height:1.2;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere}.room-kind{font-size:12px;color:#a2a7a0;white-space:nowrap;margin-top:4px}.poster-strip{display:flex;align-items:center;gap:8px;height:134px;margin:22px 0 18px}.poster-strip img{width:66px;height:98px;object-fit:cover;border-radius:6px;background:#252823}.more-count{color:#aab0a6;font-size:16px;margin-left:6px}.empty-poster,.lock-icon{font-size:52px;color:#454b42;margin:auto}.join-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #353a32;border-radius:9px;background:#252a24;color:#eaf4df;padding:12px 14px;font-size:13px;font-weight:650;text-align:left;transition:background .2s}.join-button:hover{background:#343f2e}.join-button span{font-size:17px}.floating-add{position:fixed;right:clamp(22px,5vw,80px);bottom:40px;width:60px;height:60px;border:0;border-radius:18px;background:#c3ed8a;color:#172016;font-size:34px;font-weight:300;box-shadow:0 12px 32px #0007;transition:transform .25s,box-shadow .25s,background .25s}.floating-add:hover{transform:rotate(90deg) scale(1.08);background:#d4f5a8;box-shadow:0 16px 38px #000a}.empty-rooms,.empty-movies{color:#91978f;text-align:center;font-size:15px}.modal{border:1px solid #3a4038;border-radius:17px;background:#1c1e1c;color:#f3f5f1;box-shadow:0 24px 100px #000b;width:min(92vw,430px);padding:0;max-height:90vh}.modal::backdrop{background:#080a08bd;backdrop-filter:blur(5px)}.modal-form{padding:27px;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.modal-head h2{font-size:21px;letter-spacing:-.04em;margin:0}.close-button,.selection-clear{border:0;background:none;color:#a9aea7;font-size:27px;line-height:1;padding:0}.close-button:hover,.selection-clear:hover{color:#fff}.field-label{font-size:12px;color:#b7bcb3;margin:0 0 8px}.modal input:not([type=hidden]),.modal select{width:100%;height:46px;border:1px solid #3c423a;border-radius:9px;background:#131513;color:#f2f4ef;padding:0 13px;outline:none;margin-bottom:19px}.modal input:focus,.modal select:focus{border-color:#c3ed8a}.private-password[hidden],.movie-selection[hidden]{display:none}.primary-button{height:46px;border:0;border-radius:9px;background:#c3ed8a;color:#1a2515;font-weight:700;margin-top:5px}.primary-button:hover{background:#d4f5aa}.messages{position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:10;width:min(90vw,430px)}.message{background:#2d3428;border:1px solid #586a46;border-radius:9px;padding:12px 15px;font-size:13px;box-shadow:0 8px 30px #0007}.message.error{background:#3b2625;border-color:#7c4442}.movies-screen{max-width:950px;margin:75px auto 100px;padding:0 24px}.room-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:36px}.back-link{display:inline-block;color:#9fa79b;font-size:13px;margin-bottom:21px}.back-link:hover{color:#fff}.room-heading h1{font-size:clamp(30px,4vw,43px);line-height:1.1;letter-spacing:-.06em;margin:0;overflow-wrap:anywhere}.add-movie-button{border:1px solid #879c70;border-radius:9px;background:#2d3727;color:#d8f4b8;padding:12px 18px;font-weight:650;font-size:13px;white-space:nowrap}.add-movie-button:hover{background:#3a4a30}.movie-list{border-top:1px solid #2b2f2b}.movie-row{display:flex;align-items:center;gap:22px;min-height:130px;padding:19px 2px;border-bottom:1px solid #2b2f2b}.movie-poster{width:62px;height:92px;object-fit:cover;border-radius:6px;flex:none;background:#272c26}.poster-placeholder{display:grid;place-items:center;color:#636b60;font-size:32px}.movie-info{flex:1;min-width:0}.movie-info h2{font-size:17px;line-height:1.25;letter-spacing:-.025em;margin:0 0 14px;overflow-wrap:anywhere}.watched-form{margin:0}.watch-status{padding:0;border:0;background:none;color:#9ba298;font-size:12px}.watch-status:hover{color:#f0f2eb}.watch-status.is-watched{color:#c2eb8c}.rating-form{display:flex;gap:2px;flex:none}.star{border:0;background:none;color:#54544b;font-size:23px;line-height:1;padding:2px;transition:color .15s,transform .15s}.star:hover{transform:scale(1.12)}.star.filled,.rating-form:has(.star:hover) .star:hover,.rating-form:has(.star:hover) .star:has(~.star:hover){color:#f5c94f}.empty-movies{padding:80px 0}.search-results{max-height:220px;overflow:auto;margin:-10px 0 12px}.search-result{display:flex;align-items:center;gap:11px;width:100%;padding:7px;border:0;border-radius:7px;background:none;color:#eee;text-align:left}.search-result:hover{background:#30352e}.search-result img,.result-placeholder{width:32px;height:48px;border-radius:3px;object-fit:cover;background:#333;color:#80887a;display:grid;place-items:center}.search-result span{font-size:13px}.search-result small{color:#989f96;margin-left:5px}.movie-selection{display:flex;align-items:center;gap:12px;border:1px solid #3c4936;border-radius:8px;padding:8px;margin:-5px 0 16px;font-size:13px}.movie-selection img{height:54px;width:36px;object-fit:cover;border-radius:3px}.movie-selection span{flex:1}.credits{max-width:500px;margin:110px auto;padding:0 24px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.credits img{width:150px}.credits p{color:#a9afa5;font-size:13px;line-height:1.5}footer{text-align:center;padding:18px 0 22px;color:#6e756e;font-size:11px}footer a:hover{color:#c3ed8a}@media(max-width:600px){.site-header{height:66px}.rooms-screen{padding:30px 20px 100px;min-height:calc(100vh - 116px)}.room-grid{grid-template-columns:1fr}.room-card{min-height:255px}.poster-strip{height:110px}.floating-add{right:20px;bottom:25px;width:55px;height:55px}.movies-screen{margin:40px auto 90px;padding:0 18px}.room-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:25px}.movie-row{gap:13px;flex-wrap:wrap}.movie-poster{width:54px;height:80px}.movie-info h2{font-size:15px}.rating-form{margin-left:67px;margin-top:-16px}.star{font-size:22px}}
/* Compact room cards and separate movie cards */
.site-header{justify-content:flex-start;padding:0 clamp(22px,5vw,80px)}
.brand{color:#848b83;font-size:14px;font-weight:600;letter-spacing:.03em;transition:color .2s,letter-spacing .2s}
.brand:hover{color:#c4ed8b;letter-spacing:.08em}
.room-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(270px,310px))}
.room-card{width:100%;min-height:0;padding:20px;border-radius:13px;color:#f4f4f2;text-align:left;appearance:none;cursor:pointer;animation:card-in .42s both;box-shadow:0 5px 22px #0002}
.room-card:nth-child(2){animation-delay:.05s}.room-card:nth-child(3){animation-delay:.1s}.room-card:nth-child(4){animation-delay:.15s}
.room-card:focus-visible,.floating-add:focus-visible,.watch-status:focus-visible,.star:focus-visible{outline:2px solid #c3ed8a;outline-offset:3px}
.room-card h1{font-size:18px}
.room-kind{font-size:11px;margin-top:3px}
.poster-strip{height:84px;margin:14px 0 0;gap:6px}
.poster-strip img{width:56px;height:84px;transition:transform .25s}
.room-card:hover .poster-strip img{transform:translateY(-3px)}
.empty-poster,.lock-icon{font-size:39px}
.floating-add{width:46px;height:46px;right:32px;bottom:32px;border-radius:10px;font-size:27px;box-shadow:0 7px 22px #0006}
.floating-add:hover{transform:rotate(90deg) scale(1.06);box-shadow:0 12px 28px #0009}
.movies-screen{max-width:1000px;margin-top:68px}
.room-heading{margin-bottom:26px}
.room-heading h1{font-size:clamp(30px,4vw,40px)}
.room-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.delete-room-button{padding:9px 12px;border:1px solid #57403e;border-radius:8px;background:#2b2221;color:#c9a19d;font-size:12px;font-weight:600;transition:background .2s,color .2s,transform .2s}
.delete-room-button:hover{background:#44302d;color:#f4b7ae;transform:translateY(-2px)}
.add-movie-button{padding:9px 12px;font-size:12px;border-color:#434e3d;background:#242b22;color:#b8cda9;border-radius:8px;transition:background .2s,color .2s,transform .2s}
.add-movie-button:hover{background:#303c2a;color:#e4f6d2;transform:translateY(-2px)}
.movie-list{border:0;display:grid;gap:12px}
.movie-row{display:flex;align-items:center;gap:16px;min-height:132px;padding:16px 20px;border:1px solid #30352f;border-radius:13px;background:#1a1d1a;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;animation:card-in .42s both}
.movie-row:nth-child(2){animation-delay:.05s}.movie-row:nth-child(3){animation-delay:.1s}.movie-row:nth-child(4){animation-delay:.15s}
.movie-row:hover{background:#1d211c;border-color:#56654e;transform:translateY(-2px);box-shadow:0 12px 28px #0004}
.movie-row.is-watched{min-height:0;padding:8px 16px;gap:14px;background:#171a17;border-color:#292f29}
.movie-row.is-watched + .movie-row.is-watched{margin-top:-6px}
.movie-row.is-watched + .movie-row:not(.is-watched){margin-top:8px}
.movie-row.is-watched .movie-poster,.movie-row.is-watched .watch-links{display:none}
.movie-row.is-watched .movie-core{opacity:.75;filter:saturate(.65);transition:opacity .3s,filter .3s}
.movie-row.is-watched:hover .movie-core{opacity:1}
.movie-row.is-watched .movie-info h2{margin:0;font-size:14px}
.watched-form{width:112px;flex:none;align-self:center}
.watch-status{width:100%;min-height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #4b5449;border-radius:8px;background:#262c25;color:#bfc9b7;font-size:11px;font-weight:650;letter-spacing:-.01em;box-shadow:inset 0 1px #ffffff0a;transition:background .2s,color .2s,border-color .2s,transform .2s}
.watch-status:hover{color:#f1f4eb;background:#343d31;border-color:#778b6d;transform:translateY(-2px)}
.watch-status.is-watched{background:#354c2e;border-color:#8aaa72;color:#d8f6bd}
.watch-status.is-watched:hover{background:#43623a}
.movie-row.is-watched .watch-status{min-height:30px;background:#273325;border-color:#45583e;color:#c1d9b6;font-size:10px}
.movie-row.is-watched .watch-status:hover{background:#344630;color:#e0f4d5}
.watch-label{white-space:nowrap}
.movie-core{flex:1;min-width:0;display:flex;align-items:center;gap:18px;transition:opacity .3s,filter .3s}
.movie-poster{width:64px;height:96px;border-radius:5px}
.movie-info{flex:1;min-width:0}
.movie-info h2{font-size:17px;margin:0 0 13px}
.watch-links{display:flex;gap:13px;flex-wrap:wrap}
.watch-links a{color:#9aa99a;font-size:11px;transition:color .2s,transform .2s}
.watch-links a:hover{color:#c4ed8b;transform:translateY(-1px)}
.rating-wrap{display:flex;align-items:center;gap:9px;flex:none}
.rating-form{margin:0;gap:1px}
.rating-average{width:27px;flex:none;color:#bfc7b5;font-size:13px;font-variant-numeric:tabular-nums;text-align:right}
.drag-handle{display:grid;place-items:center;width:32px;height:40px;flex:none;margin-left:2px;border:0;border-radius:8px;background:transparent;color:#657061;cursor:grab;touch-action:none;transition:background .2s,color .2s,transform .2s}
.drag-handle svg{display:block;fill:currentColor;pointer-events:none}
.drag-handle:hover{background:#303b2d;color:#c4d7b8;transform:scale(1.07)}
.drag-handle:active{cursor:grabbing}
.movie-row.is-watched .drag-handle{height:30px}
.movie-row.is-dragging{opacity:.42;border-color:#a4c98c;background:#263023;box-shadow:0 0 0 2px #a4c98c44}
.star{font-size:21px}
.credit-link{align-self:center;margin-top:14px;font-size:10px;color:#757e73}.credit-link:hover{color:#b6c5ae}
.delete-room-name{margin:0 0 24px;color:#aeb5a9;font-size:14px;overflow-wrap:anywhere}
.delete-actions{display:flex;gap:10px}
.delete-actions button{flex:1;height:43px;border-radius:8px;font-size:13px;font-weight:650}
.cancel-button{border:1px solid #41493d;background:#252a24;color:#d3dace}.cancel-button:hover{background:#333b31}
.danger-button{border:1px solid #975f57;background:#6a3933;color:#fff1ee}.danger-button:hover{background:#87453d}
.claim-screen{max-width:390px;margin:20vh auto 0;padding:24px;text-align:center}.claim-screen h1{font-size:24px;letter-spacing:-.04em;margin:0 0 24px}.claim-screen form{display:flex}.claim-screen .primary-button{flex:1}
@keyframes card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.room-grid{grid-template-columns:1fr;max-width:330px}.rooms-screen{padding-top:20px}.room-card{min-height:0}.floating-add{right:20px;bottom:20px;width:44px;height:44px}.movies-screen{margin-top:30px}.room-heading{align-items:flex-start;flex-direction:column;gap:16px}.room-heading h1{font-size:27px}.room-actions{justify-content:flex-start}.add-movie-button,.delete-room-button{font-size:11px;padding:9px 10px}.movie-row{padding:12px;gap:10px}.watched-form{width:98px}.watch-status{font-size:10px;min-height:36px}.movie-core{gap:11px;flex-wrap:wrap}.movie-poster{width:50px;height:75px}.movie-info h2{font-size:14px;margin-bottom:9px}.watch-links{gap:9px}.watch-links a{font-size:10px}.rating-wrap{margin-left:61px;width:calc(100% - 61px)}.rating-form{margin:0}.star{font-size:20px}.rating-average{margin-left:auto}}
@media(max-width:650px){.movie-row.is-watched{padding:8px 10px;gap:8px}.movie-row.is-watched .watched-form{width:98px}.movie-row.is-watched .movie-core{gap:4px;flex-wrap:wrap}.movie-row.is-watched .movie-info{flex-basis:100%}.movie-row.is-watched .movie-info h2{font-size:13px}.movie-row.is-watched .rating-wrap{margin-left:0;width:auto}.movie-row.is-watched .star{font-size:17px}}
@media(max-width:650px){.drag-handle{margin-left:auto;width:30px;height:36px}.movie-row.is-watched .drag-handle{height:30px}}
/* Neutral, denser layout */
:root{background:#0e0e0f;color:#f1f1f1}
body{background:#0e0e0f}
.site-header{justify-content:flex-start}
.brand{color:#858585}.brand:hover{color:#d4d4d4}
.room-card{padding:15px;border-color:#2d2d2e;border-radius:8px;background:#181819;box-shadow:none}
.room-card:hover{border-color:#525254;background:#1d1d1e}
.room-kind,.more-count,.empty-rooms,.empty-movies{color:#999}
.back-link,.search-result small,.credits p,footer{color:#999}
.poster-placeholder{color:#777}
.close-button,.selection-clear{color:#aaa}
footer a:hover{color:#eee}
.poster-strip{margin-top:10px}.poster-strip img,.movie-poster{background:#252526;border-radius:3px}
.empty-poster,.lock-icon{color:#555}
.floating-add{border-radius:7px;background:#d7d7d7;color:#171717}.floating-add:hover{background:#f0f0f0}
.modal{border-color:#383839;border-radius:10px;background:#19191a;color:#f1f1f1}
.modal::backdrop{background:#080808c9}
.modal input:not([type=hidden]),.modal select{border-color:#3e3e40;border-radius:6px;background:#101011;color:#f1f1f1}
.modal input:focus,.modal select:focus{border-color:#a7a7aa}
.field-label,.delete-room-name{color:#aaa}
.primary-button{border-radius:6px;background:#d6d6d8;color:#171717}.primary-button:hover{background:#f1f1f1}
.message{background:#29292b;border-color:#565659}
.add-movie-button{border-color:#424244;border-radius:6px;background:#242426;color:#d0d0d1}.add-movie-button:hover{background:#343437;color:#fff}
.movie-list{gap:6px}
.movie-row{min-height:0;gap:8px;padding:8px 10px;border-color:#2c2c2e;border-radius:7px;background:#19191a;box-shadow:none}
.movie-row:hover{border-color:#4a4a4d;background:#1e1e20;box-shadow:none;transform:translateY(-1px)}
.movie-row.is-watched{padding:5px 9px;gap:8px;background:#161617;border-color:#29292b}
.movie-row.is-watched + .movie-row.is-watched{margin-top:0}
.movie-row.is-watched + .movie-row:not(.is-watched){margin-top:4px}
.watched-form{width:104px}
.watch-status{min-height:32px;border-color:#49494b;border-radius:5px;background:#29292b;color:#cacacc;box-shadow:none}
.watch-status:hover{background:#38383a;border-color:#737376;color:#fff;transform:none}
.watch-status.is-watched,.movie-row.is-watched .watch-status{min-height:28px;border-color:#555558;background:#303032;color:#d1d1d2}
.watch-status.is-watched:hover,.movie-row.is-watched .watch-status:hover{background:#404043;color:#fff}
.movie-core{gap:10px}.movie-poster{width:56px;height:84px}
.movie-info h2{margin-bottom:6px;font-size:16px}
.watch-links a{color:#a4a4a6}.watch-links a:hover{color:#eee}
.rating-average{color:#b6b6b8}
.drag-handle{color:#77777a;border-radius:5px}.drag-handle:hover{background:#333336;color:#e2e2e2}
.movie-row.is-dragging{border-color:#aaa;background:#29292b;box-shadow:0 0 0 1px #aaa5}
.movie-row[hidden],.watched-fold-toggle[hidden]{display:none}
.movie-tools{display:flex;align-items:center;gap:2px;flex:none}
.delete-movie-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;background:transparent;color:#747477;transition:background .18s,color .18s}
.delete-movie-button:hover{background:#3a2022;color:#f26770}
.delete-movie-button:focus-visible{outline:2px solid #c5c5c7;outline-offset:2px}
.movie-tools .drag-handle{margin-left:0}
.watched-fold-toggle{justify-self:start;padding:6px 12px;border:1px solid #363638;border-radius:5px;background:#1b1b1d;color:#aaa;font-size:11px;font-weight:650;line-height:1.2;transition:background .18s,color .18s,border-color .18s}
.watched-fold-toggle:hover{background:#2c2c2f;border-color:#555558;color:#f1f1f1}
.watched-fold-toggle:focus-visible{outline:2px solid #c5c5c7;outline-offset:2px}
.room-card:focus-visible,.floating-add:focus-visible,.watch-status:focus-visible,.star:focus-visible{outline-color:#c5c5c7}
.search-result:hover{background:#303032}.search-result img,.result-placeholder{color:#999}
.movie-selection{border-color:#49494b;border-radius:5px}
.cancel-button{border-color:#49494b;background:#29292b;color:#ddd}.cancel-button:hover{background:#38383a}
.credit-link{color:#777}.credit-link:hover{color:#bbb}
@media(max-width:650px){.movie-row{padding:7px;gap:7px}.movie-row.is-watched{padding:5px 7px}.watched-form,.movie-row.is-watched .watched-form{width:94px}.watch-status{min-height:29px}.movie-core{gap:8px}.movie-poster{width:48px;height:72px}.movie-info h2{margin-bottom:5px}.rating-wrap{margin-left:56px;width:calc(100% - 56px)}.movie-row.is-watched .rating-wrap{margin-left:0;width:auto}}
/* Five-second brand easter egg */
.cinema-easter{position:fixed;inset:0;z-index:100;overflow:hidden;background:radial-gradient(circle at 50% 50%,#152330 0,#06090e 42%,#020304 78%);animation:cinema-life 7.2s both;isolation:isolate}
.cinema-easter::before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 4px 5px);mix-blend-mode:multiply}
.cinema-easter::after{content:"";position:absolute;inset:-20%;z-index:7;pointer-events:none;background:radial-gradient(ellipse at center,transparent 23%,#000b 72%)}
.cinema-sparks{position:absolute;inset:0;width:100%;height:100%;z-index:3}
.cinema-beam{position:absolute;left:50%;top:50%;width:150vmax;height:150vmax;transform:translate(-50%,-50%);background:conic-gradient(from 20deg,transparent 0 15%,#83d8ff22 19%,transparent 24% 56%,#ffcd8029 61%,transparent 67%);filter:blur(20px);animation:cinema-beam-turn 5.8s ease-in-out both}
.cinema-film{position:absolute;left:-12%;width:124%;height:58px;z-index:2;border-top:8px solid #b2defc88;border-bottom:8px solid #b2defc88;background:repeating-linear-gradient(90deg,#090e16 0 17px,#b2defc88 18px 36px,#090e16 37px 64px);box-shadow:0 0 28px #81caff66;opacity:0;transform:rotate(-14deg)}
.cinema-film-top{top:17%;animation:cinema-film-top 5.8s ease-in-out both}
.cinema-film-bottom{bottom:17%;animation:cinema-film-bottom 5.8s ease-in-out both}
.cinema-ring{position:absolute;left:50%;top:50%;z-index:2;border:1px solid #8acfff99;border-radius:50%;box-shadow:0 0 35px #7dcfff55,inset 0 0 35px #7dcfff33;transform:translate(-50%,-50%) scale(.1);opacity:0}
.cinema-ring-one{width:34vmin;height:34vmin;animation:cinema-ring-burst 4.7s .25s ease-out both}
.cinema-ring-two{width:54vmin;height:54vmin;border-color:#ffdaa388;animation:cinema-ring-burst 4.9s .55s ease-out both}
.cinema-ring-three{width:80vmin;height:80vmin;animation:cinema-ring-burst 5s .85s ease-out both}
.cinema-frames{position:absolute;inset:0;z-index:4;perspective:900px;pointer-events:none}
.cinema-frame{position:absolute;left:50%;top:50%;display:block;width:clamp(66px,8vw,125px);height:clamp(96px,12vw,185px);overflow:hidden;border:2px solid #bedfffaa;border-radius:4px;background:linear-gradient(135deg,#182d42,#453a2a);box-shadow:0 0 24px #98d7ff77,0 16px 38px #000b;opacity:0;animation:cinema-frame-flight 5.7s var(--delay) cubic-bezier(.13,.5,.26,1) both}
.cinema-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.15)}
.cinema-word{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);font-size:clamp(32px,10vw,180px);font-weight:900;line-height:1;letter-spacing:-.11em;white-space:nowrap;color:#f2faff;text-shadow:0 0 20px #b9eaff,0 0 65px #72cfffaa,0 0 140px #63bdff66;opacity:0;animation:cinema-word-reveal 7.2s both}
.cinema-word::before,.cinema-word::after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.cinema-word::before{color:#86dcff;text-shadow:0 0 25px #70ceff;animation:cinema-glitch-a 7.2s both}
.cinema-word::after{color:#ffe0aa;text-shadow:0 0 25px #ffd08e;animation:cinema-glitch-b 7.2s both}
.cinema-close{position:absolute;right:clamp(20px,4vw,60px);top:25px;z-index:10;width:39px;height:39px;border:1px solid #b7d2e070;border-radius:50%;background:#0a141cd9;color:#dcefff;font-size:27px;line-height:1;opacity:0;animation:cinema-close-in .5s 1s forwards}
.cinema-close:hover{background:#294253;color:#fff}
@keyframes cinema-life{0%{opacity:0}5%,88%{opacity:1}100%{opacity:0}}
@keyframes cinema-beam-turn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-100deg) scale(.2)}25%{opacity:1}70%{opacity:1;transform:translate(-50%,-50%) rotate(120deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(210deg) scale(1.4)}}
@keyframes cinema-ring-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}18%{opacity:1}60%{opacity:.75}100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}
@keyframes cinema-frame-flight{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-25px) scale(.12) rotateY(70deg)}30%{opacity:.9;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-23vmin) scale(.78) rotateY(0)}58%{opacity:.7;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-38vmin) scale(.92) rotateY(-16deg)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-72vmin) scale(.4) rotateY(80deg)}}
@keyframes cinema-film-top{0%{opacity:0;transform:translateX(-35%) rotate(-14deg)}20%,56%{opacity:.55}100%{opacity:0;transform:translateX(38%) rotate(-14deg)}}
@keyframes cinema-film-bottom{0%{opacity:0;transform:translateX(35%) rotate(14deg)}20%,56%{opacity:.4}100%{opacity:0;transform:translateX(-38%) rotate(14deg)}}
@keyframes cinema-word-reveal{0%,28%{opacity:0;filter:blur(30px);letter-spacing:.28em;transform:translate(-50%,-50%) scale(1.6)}37%{opacity:1;filter:blur(0);letter-spacing:-.11em;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}93%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}
@keyframes cinema-glitch-a{0%,35%,42%,49%,100%{opacity:0;transform:none;clip-path:inset(0 0 100%)}36%,40%{opacity:.9;transform:translate(-11px,3px);clip-path:inset(20% 0 55%)}43%,47%{opacity:.8;transform:translate(8px,-4px);clip-path:inset(68% 0 12%)}}
@keyframes cinema-glitch-b{0%,38%,45%,53%,100%{opacity:0;transform:none;clip-path:inset(0 0 100%)}39%,43%{opacity:.8;transform:translate(10px,-2px);clip-path:inset(52% 0 25%)}46%,51%{opacity:.85;transform:translate(-7px,4px);clip-path:inset(12% 0 72%)}}
@keyframes cinema-close-in{to{opacity:1}}
/* The real header word flies into the scene before the letters scatter. */
.brand-in-flight{opacity:0}
.cinema-easter{animation:cinema-life-v2 7.6s both}
.cinema-launch{position:absolute;left:var(--origin-x);top:var(--origin-y);z-index:9;display:inline-block;font-size:14px;font-weight:600;line-height:normal;letter-spacing:.03em;color:#9ba5aa;white-space:nowrap;transform-origin:center;pointer-events:none;animation:cinema-launch-flight 7.6s cubic-bezier(.16,.68,.21,1) both}
.cinema-letters{position:absolute;left:50%;top:50%;z-index:6;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);font-size:clamp(32px,10vw,180px);font-weight:900;line-height:1;white-space:nowrap;color:#effaff;text-shadow:0 0 23px #9ddfff,0 0 70px #68c7ff77;pointer-events:none}
.cinema-letters span{display:inline-block;margin-right:-.09em;opacity:0;transform-origin:center;animation:cinema-letter-break 7.6s cubic-bezier(.2,.8,.2,1) both}
.cinema-word{animation:cinema-word-finale 7.6s both}
.cinema-beam{animation-delay:1.2s}
.cinema-film-top,.cinema-film-bottom{animation-delay:1.4s}
.cinema-ring-one{animation-delay:1.85s}.cinema-ring-two{animation-delay:2s}.cinema-ring-three{animation-delay:2.15s}
.cinema-frame{animation-delay:calc(1.7s + var(--delay))}
@keyframes cinema-life-v2{0%,91%{opacity:1}100%{opacity:0}}
@keyframes cinema-launch-flight{0%,4%{opacity:1;filter:blur(0);transform:translate(0,0) rotate(0) scale(1)}9%{opacity:1;transform:translate(0,5px) rotate(-14deg) scale(1.35)}27%{opacity:1;filter:blur(0);transform:translate(var(--travel-x),var(--travel-y)) rotate(720deg) scale(var(--launch-scale))}31%{opacity:1;filter:drop-shadow(0 0 22px #bde9ff);transform:translate(var(--travel-x),var(--travel-y)) rotate(720deg) scale(var(--launch-scale))}36%,100%{opacity:0;filter:blur(20px);transform:translate(var(--travel-x),var(--travel-y)) rotate(780deg) scale(calc(var(--launch-scale) * 1.4))}}
@keyframes cinema-letter-break{0%,27%{opacity:0;transform:translate(0,0) rotate(0) scale(.65)}31%,37%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}49%,56%{opacity:1;transform:translate(var(--scatter-x),var(--scatter-y)) rotate(var(--spin)) scale(.72)}69%,74%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}80%,100%{opacity:0;transform:translate(0,0) rotate(0) scale(1.14)}}
@keyframes cinema-word-finale{0%,68%{opacity:0;filter:blur(18px);transform:translate(-50%,-50%) scale(.85)}76%,91%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-reduced-motion:reduce){.cinema-easter,.cinema-word,.cinema-close{animation:none!important;opacity:1}.cinema-frame,.cinema-film,.cinema-ring,.cinema-beam,.cinema-launch,.cinema-letters,.cinema-word::before,.cinema-word::after{display:none}}
