/* Final three rooms: screening, conversation, calculation and keepsake. */
.later-mission,.calculation-receipt,.game-finale{max-width:760px;margin:22px auto 50px;min-width:0}
.later-mission{display:grid;gap:24px}.later-mission>header,.game-finale>header{position:static;display:block;background:none;border:0;padding:0;backdrop-filter:none;z-index:auto;box-shadow:none}
.later-heading>span,.room-number{font-size:12px;font-weight:800;letter-spacing:.12em}.later-mission h1,.calculation-receipt h1,.game-finale h1{font-size:clamp(30px,6vw,48px);line-height:1.08;letter-spacing:-.035em;margin:16px 0}.later-mission h2,.game-finale h2{font-size:clamp(25px,4vw,34px);line-height:1.15;margin:16px 0}.later-mission h3{font-size:21px;line-height:1.3;margin:22px 0 12px}.later-mission p,.calculation-receipt p,.game-finale p{font-size:17px;line-height:1.55}
.olesya-film{overflow:hidden;background:#4c3555;border:1px solid #6c4c71;border-radius:24px;color:#fff6e9;padding:24px;box-shadow:0 5px 0 #c7b6c6}.olesya-film h2{color:inherit}.film-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#ecdbab;font-size:12px;letter-spacing:.06em}.film-heading b{font-weight:500}.film-screen{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,#735c7e,#2f2436);border:7px solid #302036;position:relative;overflow:hidden;color:#fff5e8;text-align:center}.film-screen video{display:block;width:100%;height:100%;object-fit:contain}.film-screen strong{font-size:17px}.film-screen small{color:#d3bfd8}.film-play{font-size:40px;line-height:1;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#ffffff12;border:1px solid #e8dab65c;color:#d4f596}.film-seen{padding:10px 12px;border-radius:10px;background:#f1e2fa12;color:#e5eccd;font-size:13px}.olesya-film .secondary{background:#fff5ea;color:#56365d;border-color:#fff5ea;width:100%}
.elena-game{padding:24px;border:1px solid #cbbbcc;background:#fffaf3;border-radius:24px;box-shadow:0 5px 0 #e1d5e1;scroll-margin-top:120px}.elena-game-top{display:flex;align-items:center;gap:12px;border-bottom:1px solid #dfd2df;padding-bottom:16px}.elena-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#a86da3;color:white;font:700 23px Georgia}.elena-game-top>div{display:grid;gap:3px}.elena-game-top small{font-size:12px;color:#7c6b80}.elena-step{margin-left:auto;font-variant-numeric:tabular-nums;font-size:13px;color:#805386}.elena-message{margin:20px 0;padding:20px;border-radius:2px 18px 18px 18px;background:#eee2ef;font-size:18px;line-height:1.5}.chat-recap{margin:18px 0 0 18px;padding:12px 16px;border-radius:14px 2px 14px 14px;background:#eaf2dc;line-height:1.4;font-size:14px}.chat-recap span{display:block;color:#547b47;font-weight:700;font-size:11px;margin-bottom:4px}.elena-reply{width:100%;border:1px solid #d7c5d9;border-radius:14px;background:#fffdf9;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;text-align:left;font-size:16px;line-height:1.4;color:#47344f;margin:10px 0;transition:background .15s,transform .15s}.elena-reply:hover{background:#f1e5f2;transform:translateY(-1px)}.elena-reply>span{color:#99709f}.elena-hint{border-left:4px solid #caa661;padding:12px 15px;background:#f9efd9;border-radius:0 12px 12px 0;color:#69502a}.elena-services{display:grid;gap:10px}.elena-services button{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fffdf9;border:1px solid #d7c9d9;border-radius:12px;padding:14px;text-align:left;color:#47344f;font-size:15px}.elena-services b{white-space:nowrap}.later-mission .picked{background:#e4f5c9;border-color:#85ac61;color:#2b523c;box-shadow:inset 0 0 0 1px #85ac61}.price-duel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.price-duel>div{border:1px solid #cdbbd0;border-radius:14px;padding:18px;background:#f2e8f3;display:grid;gap:10px}.price-duel>div:last-child{background:#eef5e5;border-color:#bacba7}.price-duel small{font-size:13px;line-height:1.3}.price-duel strong{font-size:clamp(21px,4vw,30px);white-space:nowrap}.elena-resolution{border:1px solid #b3cba4;border-radius:16px;background:#edf5df;padding:18px}.elena-resolution>span{color:#447442;font-size:12px;letter-spacing:.1em;font-weight:bold}.elena-game .primary{margin-top:20px;width:100%}.elena-game .simulation-note{font-size:12px;color:#8d7b8a;margin:20px 0 0}
.trip-calculator{padding:26px;background:#fffaf3;border:1px solid #b8cfa7;border-top:6px solid #99c65c;border-radius:24px;box-shadow:0 5px 0 #d8e1cb}.calc-top{display:flex;gap:16px;align-items:flex-start}.calc-top>span{background:#d1f391;border-radius:14px;padding:10px 16px;font-size:32px;color:#2e5938}.calc-top small{font-size:11px;letter-spacing:.12em;font-weight:800;color:#497347}.calc-top h1{margin:8px 0}.trip-calculator label[for=trip-amount]{display:block;font-size:15px;font-weight:700;margin:24px 0 8px}.trip-amount{display:flex;align-items:center;border:2px solid #ad78a6;border-radius:16px;background:#fffdf8;overflow:hidden;padding:8px 18px}.trip-amount input{width:100%;min-width:0;border:0;box-shadow:none;background:transparent;padding:10px 0;color:#47304e;font-size:34px;font-weight:700;margin:0;outline-offset:-3px}.trip-amount>span{font-size:26px;color:#96719b}.amount-presets{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 24px}.amount-presets button,.trip-count button{padding:10px 12px;background:#f5edf4;color:#69486e;border:1px solid #d7c1d9;border-radius:10px;font-size:14px}.trip-count{padding:0;margin:0 0 22px;border:0;display:flex;gap:10px;flex-wrap:wrap}.trip-count legend{margin-bottom:12px;font-size:15px;font-weight:700}.trip-count button{flex:1}.commission-main{background:#4d3557;border-radius:18px 18px 0 0;color:#fff9ed;display:grid;text-align:center;gap:9px;padding:24px 14px}.commission-main small{font-size:11px;letter-spacing:.08em;color:#dfd0e1}.commission-main strong{font-size:clamp(36px,8vw,54px);letter-spacing:-.04em;color:#d4f695}.commission-main>span{font-size:14px;color:#e2d7e2}.commission-breakdown{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d9cadb;border-radius:0 0 16px 16px;overflow:hidden}.commission-breakdown>div{display:flex;flex-direction:column;gap:8px;padding:18px 14px;background:#f1e8f1}.commission-breakdown>div+div{border-left:1px solid #d9cadb}.commission-breakdown span{font-size:13px;line-height:1.4}.commission-breakdown b{font-size:24px;margin-top:auto}.commission-breakdown small{font-size:11px;color:#847085}.annual-result{background:#e3f1cb;border-radius:16px;padding:20px;display:grid;gap:5px;margin:16px 0;color:#2d533c}.annual-result strong{font-size:36px}.annual-result span{font-weight:700}.annual-result small{font-size:12px}.trip-calculator .calc-note{font-size:13px;color:#786a79}.calc-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;margin:20px 0}.calc-confirm input{width:20px;height:20px;flex:0 0 20px;accent-color:#81648e;margin:0}.trip-calculator>.primary{width:100%}
.program-invitation,.final-choice{padding:24px;border:1px solid #d8c8d6;background:#fffaf2;border-radius:24px}.program-invitation ul{list-style:none;padding:0;margin:22px 0}.program-invitation li{padding:16px 0 16px 22px;border-top:1px dashed #d1c4d5;font-size:16px;line-height:1.5;position:relative}.program-invitation li:before{content:'◆';color:#80aa5e;position:absolute;left:0;font-size:12px;top:20px}.program-invitation .primary,.finale-next .primary{display:block;text-decoration:none;text-align:center}.final-choice>.primary{width:100%;margin-top:16px}.final-choice>small{display:block;font-size:12px;color:#88718a;line-height:1.4;margin-top:14px}
.calculation-receipt{padding:28px;background:#fffaf2;border:1px solid #ceb6cf;border-radius:24px;box-shadow:0 5px 0 #ded0dd}.calculation-receipt>.primary,.calculation-receipt>.secondary{display:block;width:100%;margin-top:14px}.receipt-sum{background:#e5f4d0;border:1px solid #b0cb96;border-radius:20px;padding:24px;display:grid;gap:8px;color:#345839;margin:24px 0}.receipt-sum>strong{font-size:clamp(38px,8vw,58px);letter-spacing:-.04em}.receipt-sum>small{font-size:13px}.reward-earned{color:#825387;background:#f1e1f0;padding:10px 14px;border-radius:12px;display:inline-block;font-weight:700}.next-butler{display:flex;gap:16px;align-items:center;background:#f6eacc;border-radius:18px;padding:16px;margin:22px 0}.next-butler img{width:64px;flex:0 0 64px}.next-butler p{font:italic 18px/1.4 Georgia;margin:0}
.game-finale{text-align:center}.certificate-preview{display:block;width:100%;max-width:380px;aspect-ratio:4/5;margin:26px auto;border-radius:8px;box-shadow:0 12px 36px #46324d25}.finale-actions{display:grid;gap:12px;max-width:480px;margin:auto}.finale-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.finale-stats>div{display:grid;align-content:start;gap:12px;padding:20px 14px;background:#efe5f0;border-radius:16px}.finale-stats span{font-size:13px}.finale-stats strong{font-size:27px}.finale-next{text-align:left;border:1px solid #baca9f;background:#f0f6e7;padding:26px;border-radius:24px;margin-bottom:24px}.finale-next>span{font-size:12px;letter-spacing:.1em;color:#5b7848;font-weight:700}
@media(max-width:480px){.later-mission{gap:20px}.olesya-film,.elena-game,.trip-calculator,.program-invitation,.final-choice,.calculation-receipt,.finale-next{padding:19px}.calc-top{gap:10px}.calc-top>span{padding:8px 12px;font-size:26px}.trip-count{gap:6px}.trip-count button{padding:10px 6px;font-size:13px}.price-duel{gap:8px}.price-duel>div{padding:14px 10px}.commission-breakdown>div{padding:16px 10px}.commission-breakdown b{font-size:22px}.elena-services button{padding:12px;font-size:14px}.film-screen strong{font-size:15px}.film-play{width:44px;height:44px;font-size:28px}.game-finale .finale-stats strong{font-size:24px}}
.finale-social{display:flex;align-items:flex-start;gap:16px;text-align:left;background:linear-gradient(125deg,#edf8d9,#faf6eb);border:1px solid #b5ce94;border-radius:22px;padding:22px;margin:28px 0}
.social-bonus{display:grid;gap:3px;flex-shrink:0;background:#d2f293;color:#33513b;border-radius:16px;padding:14px 12px;text-align:center;font-size:23px;font-weight:800;box-shadow:0 4px #a4c978}
.social-bonus small{font-size:12px;font-weight:500}.finale-social h2{font-size:23px;margin:0 0 10px}.finale-social p{font-size:15px;line-height:1.5;margin:0 0 16px}.finale-social>div{min-width:0}.finale-social button{font-size:14px;padding:12px 16px;background:#fffaf2}.finale-social>div>small{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:#68745e}
.finale-stats small{font-size:12px;line-height:1.5;color:#7e6b81}.finale-stats strong{overflow-wrap:anywhere}
@media(max-width:480px){.finale-social{display:block;padding:20px}.social-bonus{display:inline-flex;align-items:baseline;gap:7px;margin-bottom:20px;padding:9px 14px}.finale-social button{width:100%}.finale-stats{grid-template-columns:1fr}.finale-stats>div{gap:8px;padding:20px}.finale-stats strong{font-size:32px!important}}

/* Certificate handoff to the game lounge. */
.finale-social.finale-chat{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:20px;text-align:left;background:linear-gradient(130deg,#fff1d0,#fcf8ee 60%,#edf5df);border-color:#d5bb80;box-shadow:0 5px 0 #e4d5b5}
.finale-butler{text-align:center;align-self:center}.finale-butler img{width:100%;height:auto;display:block}.finale-butler span{display:block;margin-top:8px;font-size:11px;line-height:1.3;color:#826339;font-weight:700}
.finale-chat-copy{min-width:0}.finale-chat-copy .room-number{color:#8a6931;font-size:11px;letter-spacing:.09em}.finale-chat-copy h2{font-size:clamp(22px,4.5vw,30px);line-height:1.15;margin:10px 0}.finale-chat-copy p{font-size:16px;line-height:1.5;margin:0 0 16px}.finale-chat-copy small{display:block;font-size:12px;line-height:1.4;color:#7d7065;margin-top:10px}.finale-chat-copy .primary{display:flex;justify-content:center;align-items:center;min-height:48px;text-decoration:none}
.calculation-receipt > p.tiny.muted{font-size:12px;line-height:1.5;max-width:65ch}
@media(max-width:480px){.finale-social.finale-chat{grid-template-columns:64px minmax(0,1fr);padding:18px 14px;gap:12px;align-items:start}.finale-butler{align-self:start;margin-top:25px}.finale-chat-copy p{font-size:14px}.finale-chat-copy h2{font-size:23px}.finale-chat-copy .primary{font-size:14px;padding:12px}}
