/* One task per page, shared by all five missions. */
.mission-flow .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.mission-flow{max-width:780px;margin:20px auto 40px;background:#fffaf3;border:1px solid #b8cfa7;border-top:6px solid #99c65c;border-radius:26px;box-shadow:0 5px 0 #d8e1cb;overflow:hidden}
.flow-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px 0;color:#65775d;font-size:13px}
.flow-back{border:0;background:transparent;color:#426447;padding:8px 0;font-weight:700;cursor:pointer}
.flow-header{display:flex;align-items:center;gap:12px;padding:16px 24px 22px;background:none;position:static;width:auto;border:0;backdrop-filter:none}
.flow-symbol{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:15px;background:#d5f59c;color:#335837;font-size:29px;box-shadow:0 3px #adc784}
.flow-header small{font-size:10px;letter-spacing:1.5px;color:#507345;font-weight:700}
.flow-header h2{margin:4px 0 0;font-size:21px;line-height:1.17}
.flow-prize{margin-left:auto;flex-shrink:0;color:#714b78;background:#f0e5f1;padding:8px 10px;border-radius:12px;font-weight:700;font-size:12px;white-space:nowrap}
.flow-prize span{display:block;text-align:center;font-size:10px;font-weight:400}
.flow-progress{padding:18px 24px;background:#f0f5e7;border-block:1px solid #dce5d0}
.flow-progress>div{display:flex;justify-content:space-between;gap:12px;color:#3b6249;font-size:13px}
.flow-progress>div>span{text-align:right}
.flow-progress ol{display:flex;gap:6px;list-style:none;margin:12px 0 0;padding:0}
.flow-progress li{height:7px;flex:1;background:#dce3d3;border-radius:4px;position:relative}
.flow-progress li.passed{background:#689956}.flow-progress li.active{background:#9cc953;box-shadow:0 0 0 3px #cfdfb557}
.flow-body{padding:27px 26px 26px;outline:0;scroll-margin-top:140px}
.flow-task-heading{margin:0 0 24px}.flow-kind{color:#78925a;font-size:11px;font-weight:800;letter-spacing:1.4px}
.flow-task-heading h1{font-family:inherit;font-size:34px;line-height:1.12;letter-spacing:-.8px;margin:10px 0 15px;color:#48324f}
.flow-task-heading p{font-size:17px;line-height:1.55;margin:0;color:#746479}
.flow-next{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:26px;padding:18px 20px;background:#65436e;color:#fff9f1;border-radius:16px;box-shadow:0 4px 0 #452e4d;text-align:left;font-size:17px;font-weight:750}
.flow-next>span:last-child{color:#d2f492;font-size:25px;line-height:1}.flow-next:hover{background:#79507e}.flow-next:active{transform:translateY(2px);box-shadow:0 2px #452e4d}
.flow-media{background:#4d3557;color:#fff9ef;border:1px solid #6e5476;border-radius:20px;overflow:hidden}
.flow-media-top{display:flex;justify-content:space-between;gap:8px;padding:13px 17px;border-bottom:1px dashed #9f89a1;color:#e8d29b;font-size:10px;letter-spacing:.5px}
.flow-media-top b{font-weight:400}.flow-media-screen{min-height:235px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:25px 20px;background:radial-gradient(ellipse at 50% 40%,#785781,transparent 72%);text-align:center}
.flow-play{display:grid;place-items:center;width:74px;height:74px;color:#d6f59c;font-size:43px;border-radius:50%;border:1px solid #c8c29366;box-shadow:0 0 0 12px #ffffff04}.flow-media-screen strong{font-size:20px}.flow-media-screen small{font-size:13px;max-width:260px;color:#ded0e1;line-height:1.5}
.flow-media-screen:has(video){padding:10px;min-height:0}.flow-media video{display:block;width:100%;max-height:440px;border-radius:12px;background:#302336}
.flow-media-link{display:block;border-radius:12px;background:#d4f498;color:#294a31;text-decoration:none;font-weight:700;padding:12px 18px;font-size:15px}
.flow-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 24px;margin:0;background:#faf7f0;border-top:1px dashed #d6c8d5;color:#8a7d8a;font-size:12px}
.flow-footer button{background:none;border:0;color:#715378;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.flow-body .tour-choices{display:grid;gap:14px;margin:0}.flow-body .tour-choices button{padding:21px;border-radius:18px;min-height:116px}.flow-body .tour-choices strong{font-size:21px}.flow-body .tour-choices small{font-size:14px;line-height:1.45;margin-top:8px}
.flow-body .trip-request{margin:0;padding:0;border:0;background:none;box-shadow:none}.flow-body .trip-page{display:none}.flow-body .trip-controls{margin-top:24px}.flow-body .trip-controls [data-trip-back]{display:none}.flow-body .trip-controls>.primary{width:100%;background:#65436e;border-radius:16px;box-shadow:0 4px #452e4d}.flow-body .trip-field{margin-bottom:14px}.flow-body .trip-field>span{font-size:14px}.flow-body input,.flow-body select,.flow-body textarea{font-size:16px}
.flow-body .client-chat,.flow-body .elena-game{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.flow-body .chat-contact,.flow-body .elena-game-top{padding:12px;background:#eee6f0;border-radius:14px;margin-bottom:18px}.flow-body .chat-lines{padding:0}.flow-body .chat-history{margin-bottom:16px}.flow-body .chat-in,.flow-body .elena-message{font-size:17px;line-height:1.5;background:#eee4f0;padding:17px;border-radius:17px 17px 17px 3px}.flow-body .chat-option,.flow-body .elena-reply{font-size:16px;line-height:1.4;padding:16px;border-radius:15px;border:1px solid #ccb7cf;background:#fffdf9;text-align:left;min-height:54px;transition:background .15s}.flow-body .chat-option:hover,.flow-body .elena-reply:hover{background:#edf4de}.flow-body .elena-reply.picked{border-color:#7b9c66;background:#edf4de}.flow-body h3{font-size:21px;line-height:1.3}.flow-body .simulation-note{font-size:11px;line-height:1.5;margin-top:22px}.flow-body .elena-context{font-size:15px}.flow-body .chat-recap{font-size:14px}.flow-body .elena-services button{font-size:14px;padding:14px;gap:8px}.flow-body .elena-services b{white-space:nowrap}.flow-body .price-duel strong{font-size:24px}
.flow-tools{display:grid;gap:10px;margin:22px 0}.flow-tools .room-material{margin:0;font-size:16px;background:#edf4e6;border:1px solid #becfab;border-radius:14px;padding:17px}.flow-tools .room-material small{display:block;font-size:12px;margin-top:6px}
.flow-details{border:1px solid #d8cad9;border-radius:13px;padding:16px;margin:16px 0;font-size:15px}.flow-details summary{cursor:pointer;font-weight:700}.flow-details .brief-summary{font-size:14px}.flow-details p{font-size:15px}
.flow-share{background:#eee4f0;border-radius:18px;padding:22px;display:grid;gap:12px}.flow-share>span{font-size:13px;color:#816889}.flow-share strong{font-size:22px;overflow-wrap:anywhere}.flow-share button{justify-self:start;padding:12px;font-size:14px}.flow-pending,.flow-caption{font-size:13px;line-height:1.5;color:#7e707e;margin:18px 0}.flow-chat-link{display:block;padding:17px;margin-top:16px;border:1px solid #90b0a3;background:#e5f3ed;color:#2b614e;border-radius:15px;text-decoration:none;font-weight:700}
.flow-rate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px;background:#edf4e3;border-radius:16px;margin-top:22px;color:#3c6143;font-size:15px}.flow-rate strong{font-size:30px}.flow-input-label{display:block;font-size:14px;margin-bottom:10px}.flow-body .trip-amount input{font-size:34px}.flow-body .amount-presets{flex-wrap:wrap;gap:8px}.flow-body .amount-presets button{font-size:14px}.flow-body .amount-presets button.picked{background:#e2edca;border-color:#98b675}.flow-body .trip-count{margin-top:0}.flow-body .commission-main strong{font-size:43px}.flow-body .commission-breakdown{gap:10px}.flow-body .commission-breakdown b{font-size:24px}.flow-body .commission-breakdown span,.flow-body .commission-breakdown small{font-size:12px}.flow-body .annual-result strong{font-size:34px}.flow-body .calc-confirm{font-size:14px;line-height:1.45}.flow-body .calc-note{font-size:12px;line-height:1.55}
.flow-body .program-invitation{padding:0;background:none;border:0;border-radius:0;margin:0}.flow-body .program-invitation>.room-number,.flow-body .program-invitation>h2{display:none}.flow-body .program-invitation p,.flow-body .program-invitation li{font-size:17px;line-height:1.55}.flow-body .program-invitation ul{padding-left:20px}.flow-body .program-invitation .program-details{display:block;background:#edf4e3;color:#3a5f43;text-align:center;box-shadow:none;border:1px solid #b6cba4;font-size:16px}.flow-intents{display:grid;gap:12px}
.mission-flow button:focus-visible,.mission-flow a:focus-visible{outline:3px solid #92ad5b;outline-offset:3px}
@media(max-width:600px){.mission-flow{margin:10px auto 26px;border-radius:21px}.flow-topline{padding:12px 17px 0;font-size:12px}.flow-header{padding:12px 17px 18px;gap:10px}.flow-header h2{font-size:18px}.flow-symbol{width:39px;height:42px;font-size:25px}.flow-prize{font-size:11px;padding:7px}.flow-progress{padding:15px 18px}.flow-progress>div{font-size:12px}.flow-body{padding:24px 18px}.flow-task-heading h1{font-size:29px}.flow-task-heading p{font-size:16px}.flow-footer{padding:14px 18px;font-size:11px}.flow-footer button{font-size:11px}.flow-media-screen{min-height:220px}.flow-body .tour-choices{grid-template-columns:1fr}.flow-body .trip-numbers{gap:12px}.flow-body .elena-reply,.flow-body .chat-option{font-size:15px}.flow-body .commission-main strong{font-size:38px}.flow-body .commission-breakdown{grid-template-columns:1fr}.flow-body .commission-breakdown>div{padding:15px}.flow-next{font-size:16px;padding:17px}.flow-body .trip-count button{flex:1;padding:12px 8px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.mission-flow *{scroll-behavior:auto!important;transition:none!important}}
.commission-selector{border:0;padding:0;margin:26px 0 22px;min-width:0}
.commission-selector legend{font-size:15px;font-weight:700;margin-bottom:12px}
.commission-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.commission-rates button{min-height:48px;border:1px solid #ccb7cf;border-radius:12px;background:#fffdf8;color:#65436e;font-size:18px;font-weight:700;padding:12px;cursor:pointer}
.commission-rates button.picked{background:#d5f59c;border-color:#749656;color:#2e5439;box-shadow:inset 0 0 0 1px #749656}
.commission-selector small{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:#716675}
.shortlist-chat{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #a4c2b5;border-left:5px solid #438775;border-radius:18px;background:linear-gradient(115deg,#edf7db,#e5f3f0);margin-top:24px}
.shortlist-chat>span{display:grid;place-items:center;width:40px;height:44px;flex:0 0 40px;background:#d2f29f;border-radius:13px;color:#2b6051;font-size:25px;transform:rotate(-6deg);box-shadow:0 3px #acd17d}
.shortlist-chat>div{min-width:0}.shortlist-chat strong{font-size:18px;color:#2d594a}.shortlist-chat p{font-size:14px;line-height:1.45;margin:7px 0 12px;color:#4c6b60}.shortlist-chat small{display:block;margin-top:9px;font-size:12px;color:#5c766b}.shortlist-chat .secondary,.shortlist-chat .flow-chat-link{padding:10px 13px;font-size:13px;margin:0;background:#fffdf5;color:#315d4d;border:1px solid #99baaa;border-radius:10px;text-decoration:none}

.hotel-vault{padding:22px;border:2px solid #ad85b9;border-radius:20px;background:linear-gradient(130deg,#eee1f3,#fff9ed);box-shadow:0 4px 0 #ded0e4}.hotel-vault h3{font-size:24px;margin:8px 0 12px}.hotel-vault p{font-size:16px;line-height:1.5}.hotel-vault .room-material{background:#fffaf0;border-color:#b58ebf}.hotel-vault .room-number{font-size:11px;letter-spacing:.1em;color:#775485}.shortlist-chat{padding:20px;border:1px solid #92ba98;border-radius:20px;background:#edf5e5;margin:22px 0}.shortlist-chat .primary{display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none}.commission-fixed{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:#eaf4d9;padding:20px;border-radius:18px;margin:24px 0}.commission-fixed strong{font-size:32px;color:#31573b}.commission-fixed small{grid-column:1/-1;font-size:12px;line-height:1.5;color:#53634f}
