/* Client layout 2. Question photographs and HTML controls remain independent of scenery. */
.restaurant-arrival {display:block;width:100%;height:100%}.restaurant-arrival img {width:100%;height:100%;object-fit:cover;object-position:center 35%}
.story-immersive {--restaurant-paper:#fbf8f1;--restaurant-ink:#173d37;--restaurant-accent:#147568;background:#f6f4ec;color:var(--restaurant-ink)}
body.olympiad-page.story-immersive.exam-mode-active .shell {max-width:1536px;padding:12px 24px 40px}
.story-immersive #attempt-section {display:flex;flex-direction:column;gap:12px;max-width:none}
.story-immersive #attempt-section > .card {margin:0;border-radius:10px;padding:16px;border:1px solid #cddbd4;background:#fbf8f1}
.story-immersive #attempt-section .dashboard-head {display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;position:sticky;top:0;z-index:40;background:#fbf8f1f5;backdrop-filter:blur(10px)}
.story-immersive .dashboard-head h2 {font:600 20px/1.3 Georgia,serif;margin:0}.story-immersive .dashboard-head .eyebrow {display:none}.story-immersive #participant-meta {font-size:12px;margin:4px 0 0}
.story-immersive .timer-grid {display:flex;gap:12px}.story-immersive .timer-box {min-width:125px;padding:5px 12px;border:0;border-left:1px solid #cddbd4;background:transparent}.story-immersive .timer-box span {font-size:11px}.story-immersive .timer-box strong {font-size:24px}
.restaurant-details {border:1px solid #cddbd4;border-radius:8px;background:#fbf8f1;padding:0 14px}.restaurant-details > summary {font-size:14px;cursor:pointer;padding:12px 0;min-height:44px}.story-immersive .restaurant-details .exam-cockpit {display:grid!important;margin:0 0 12px;padding:12px;box-shadow:none}.restaurant-details:not([open]) .exam-cockpit {display:none!important}
.story-immersive .progress-meta {display:flex!important;gap:8px}.story-immersive .progress-bars {margin:8px 0}.story-immersive .stage-chip {font-size:12px;background:transparent;border:0;padding:0}
.story-immersive .participant-mode-strip {display:flex!important;flex-wrap:wrap;margin:8px 0;gap:6px}.story-immersive .participant-mode-strip .system-pill {font-size:10px;padding:5px 8px}.story-immersive #participant-mode-badge,.story-immersive #participant-stage-badge {display:none}
.story-immersive .tour-head,.story-immersive .question-meta {display:none!important}.story-immersive #question-card {padding:0!important;overflow:visible;background:transparent!important;border:0;box-shadow:none;min-width:0}
.story-immersive .story-chapter {display:block;border:0;margin:0 0 18px;padding:0;background:transparent;box-shadow:none}.story-immersive .story-chapter-scene,.story-immersive .story-album-strip {display:none}.story-immersive .story-chapter-copy {padding:0}.story-immersive .story-chapter h2 {font:600 clamp(25px,2.5vw,38px)/1.13 Georgia,serif;margin:0 0 10px}.story-immersive .story-chapter p {font-size:15px;line-height:1.5;margin:8px 0}.story-immersive .story-recorded {font-size:12px!important;color:#58665e}
.story-immersive #question-prompt {font:600 20px/1.4 Georgia,serif;margin:16px 0}.story-immersive #question-note {font-size:14px;line-height:1.5}.story-immersive button {min-height:48px;font-size:15px;touch-action:manipulation}.story-immersive :focus-visible {outline:3px solid #147568;outline-offset:3px}.story-immersive .button.primary,.story-immersive .t5-photo-primary {background:#147568;border-color:#147568;border-radius:8px}
.restaurant-paper {background:#fbf8f1;min-width:0;padding:24px;border-radius:10px;border:1px solid #cddbd4}.restaurant-context {display:block;overflow:hidden;border-radius:10px}.restaurant-context img {display:block;width:100%;height:100%;object-fit:cover}.restaurant-context.is-missing {background:#e9e6da}
.story-immersive #attempt-section[data-chapter="1"] #question-body {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}
.story-immersive .question-photo {position:relative;aspect-ratio:3/2;min-width:0;width:100%;margin:0;overflow:hidden;border:0;background:#eee4d4;border-radius:10px}
.restaurant-album-background {position:absolute;inset:0;display:block}.restaurant-album-background img {display:block;width:100%;height:100%;object-fit:cover}
.story-immersive .question-photo > img {position:absolute;left:20%;top:35%;width:65%;height:46%;object-fit:contain;border-radius:0;background:#fbf8f1;box-shadow:0 2px 7px #3c251b33;padding:4px}
.restaurant-zoom {border:1px solid #cddbd4;background:#fffdf7;color:#173d37;min-height:48px;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:14px}.question-photo > .restaurant-zoom {position:absolute;bottom:12px;right:12px;z-index:2}.question-photo .message,.restaurant-retry {position:relative;z-index:3;margin:12px;background:#fffdf7}.story-immersive .photo-options {display:grid;grid-template-columns:1fr;gap:10px}.story-immersive .photo-options .option {min-height:52px;padding:14px;background:#fffdf8;border:1px solid #cddbd4;border-radius:8px;font-size:16px}.story-immersive .photo-options .option:has(input:checked) {border-color:#147568;background:#eaf2ec}.story-immersive .action-deck {margin:18px 0 0}.story-immersive .actions {display:flex;flex-wrap:wrap;gap:8px}.story-immersive #finish-attempt {font-size:13px}.story-immersive .sync-strip {display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-top:12px}
.restaurant-photo-dialog {width:min(1100px,94vw);max-height:94dvh;padding:16px;border:1px solid #cddbd4;border-radius:12px;background:#fbf8f1;color:#173d37}.restaurant-photo-dialog::backdrop {background:#132d26dc}.restaurant-photo-dialog button {display:block;min-height:48px;margin:0 0 12px auto}.restaurant-photo-dialog img {display:block;width:100%;max-height:76dvh;object-fit:contain}
.restaurant-map {display:flex;flex-direction:column;position:relative;padding:24px;background:#e9ddc3 url('/assets/olympiad/story/layout-v2/scenes/map-wide.webp') center/cover;border-radius:10px;gap:16px}.restaurant-map > .restaurant-work-context {height:150px;order:0}.restaurant-map .t2-toolbar {order:1;background:#fbf8f1ed;padding:12px;border-radius:8px}.restaurant-map .t2-bank-title {order:2;margin:0;font-family:Georgia,serif}.restaurant-map .t2-bank {order:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.restaurant-map .t2-countries {order:4;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.restaurant-map .t2-progress {order:5}.restaurant-map .t2-status {order:6}.restaurant-map .t2-mobile-picker {order:7;z-index:45}.restaurant-map .t2-bank-slot {padding:8px;background:#fbf8f1;border:1px solid #cddbd4;border-radius:8px;min-width:0}.restaurant-map .t2-dish,.restaurant-map .t2-dish.is-assigned {width:100%;display:block;margin:0;border-radius:8px;min-width:0;padding:0;background:transparent}.restaurant-map .t2-photo {height:auto;aspect-ratio:3/2;width:100%}.restaurant-map .t2-photo img {width:100%;height:100%;object-fit:contain}.restaurant-map .t2-dish-name {font:600 18px/1.4 Georgia,serif;padding:12px 6px;display:block}.restaurant-map .restaurant-zoom {width:100%;margin-top:8px}.restaurant-map .t2-country {background:#fbf8f1ed}.restaurant-map .t2-holder {min-height:60px}.restaurant-map .t2-empty {white-space:normal;font-size:14px;line-height:1.4;min-height:48px}.restaurant-map .t2-progress,.restaurant-map .t2-status {margin:0;background:#fbf8f1ed;padding:8px;border-radius:8px}.restaurant-map .t2-dish.is-assigned {border-color:#147568}
.restaurant-dossier {background:#ede4d1;border:1px solid #d9ccaf;border-radius:10px;overflow:hidden;padding:0!important}.restaurant-notes-context {height:220px;border-radius:0}.restaurant-notes-context img {object-position:center 18%}.restaurant-notebook {display:grid;grid-template-columns:1fr 1fr;gap:0;padding:24px}.restaurant-notebook .t3-visual {margin:0;min-width:0;padding:24px;background:#fbf8f1;border:1px solid #d9ccaf;border-right:0;border-radius:8px 0 0 8px;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.restaurant-notebook .t3-visual img {width:100%;height:auto;max-height:500px;object-fit:contain;aspect-ratio:3/2}.restaurant-notebook .restaurant-paper {border-color:#d9ccaf;border-radius:0 8px 8px 0}.restaurant-notebook .t3-clues {display:grid;grid-template-columns:1fr;gap:10px;padding:0}.restaurant-notebook .t3-clue {padding:12px;background:#f3efdf;border-radius:8px}.restaurant-notebook .t3-clue-text {font-size:16px;line-height:1.5}.restaurant-notebook .t3-answer-form {margin:16px 0 0;padding:0;display:block;border:0;background:transparent}.restaurant-notebook .t3-answer-input {width:100%;font-size:18px;min-height:52px}.restaurant-notebook .t3-answer-actions {margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.story-immersive #attempt-section[data-chapter="4"] #question-card {display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}.restaurant-orders-context {position:sticky;top:104px;height:650px}.restaurant-orders-context img {object-position:24% center}.restaurant-orders .t4-receipt {padding:16px;border-radius:8px;background:#eee8da}.restaurant-orders .t4-wish {font-size:18px;line-height:1.55}.restaurant-orders .t4-menu {grid-template-columns:1fr 1fr;gap:16px}.restaurant-orders .t4-photo {aspect-ratio:3/2;height:auto;display:block}.restaurant-orders .t4-photo img {width:100%;height:100%;object-fit:contain}.restaurant-orders .t4-menu-select {display:flex;flex-direction:column;padding:10px;gap:8px}.restaurant-orders .t4-menu-title {font:600 20px/1.3 Georgia,serif}.restaurant-orders .t4-menu-description {font-size:14px;line-height:1.5;display:block;white-space:normal;overflow:visible}.restaurant-orders .t4-menu-card {min-width:0;border-radius:8px}.restaurant-orders .t4-tray {padding:16px;border-radius:8px}.restaurant-orders .t4-tray-selection {min-height:72px}.restaurant-orders .t4-tray-photo {width:90px;height:70px}.restaurant-orders .t4-tray-name {font-size:17px}
.restaurant-kitchen .t5-photo-workbench {border-radius:10px;background:#f1eee5}.restaurant-kitchen .restaurant-work-context {height:120px;border-radius:0}.restaurant-kitchen .restaurant-work-context img {object-position:center 24%}.restaurant-kitchen .t5-photo-compose {grid-template-columns:minmax(240px,.9fr) minmax(0,1.35fr) minmax(220px,.75fr);gap:0}.restaurant-kitchen .t5-photo-pantry,.restaurant-kitchen .t5-photo-panel,.restaurant-kitchen-actions {padding:20px;min-width:0}.restaurant-kitchen .t5-photo-pantry {background:#fbf8f1}.restaurant-kitchen .t5-photo-panel {background:#efebdf}.restaurant-kitchen .t5-photo-card {display:flex;flex-direction:column;text-align:center;align-items:stretch;padding:8px!important;border-radius:8px}.restaurant-kitchen .t5-photo-card img {width:100%;max-height:130px;object-fit:contain}.restaurant-kitchen .t5-photo-card span {font-size:14px;min-height:42px}.restaurant-kitchen .t5-photo-card small {display:block;font-size:11px}.restaurant-kitchen .t5-photo-scene {border-radius:8px;background:#e6dfd1}.restaurant-kitchen-actions {background:#fbf8f1;border-left:1px solid #cddbd4}.restaurant-kitchen .t5-photo-heading {display:block;padding:0;border:0}.restaurant-kitchen .t5-photo-count {display:inline-block;margin:12px 0;font-size:14px}.restaurant-kitchen .t5-photo-footer {padding:16px 0;display:flex;flex-direction:column;border:0;align-items:stretch}.restaurant-kitchen #submit-answer {width:100%}.restaurant-kitchen .t5-photo-operation {border-radius:8px}.restaurant-kitchen .t5-photo-chip {font-size:13px}.restaurant-kitchen .t5-photo-version {font-size:14px}.restaurant-kitchen .t5-photo-eyebrow {font-size:12px}
.t5-service-inline {margin:24px 0;color:#173d37}.t5-service-inline .t5-service-card {width:100%;max-height:none;display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #cddbd4;border-radius:10px;box-shadow:none}.t5-service-inline .t5-service-copy {display:block;padding:24px}.t5-service-inline .t5-service-copy button {margin-top:16px}.restaurant-service-background {display:block;width:100%;height:100%}.restaurant-service-background img {width:100%;height:100%;object-fit:cover}.t5-service-inline .t5-service-plate {top:78%}.t5-service-inline .t5-service-accompaniments {top:79%}.t5-service-inline .t5-service-dish {font-size:25px}.t5-service-inline .t5-service-composition {font-size:16px;line-height:1.6;margin:12px 0}.t5-service-inline .t5-service-saved,.t5-service-inline .t5-service-clock {font-size:14px}
.restaurant-waiting {display:block;width:100%;height:420px;overflow:hidden;border-radius:12px}.restaurant-waiting img {width:100%;height:100%;object-fit:cover;object-position:center 35%}
@media(min-width:1100px){.story-immersive .question-photo {min-height:470px}}
@media(max-width:1099px){body.olympiad-page.story-immersive.exam-mode-active .shell {padding:10px 16px 32px}.restaurant-map .t2-bank,.restaurant-map .t2-countries {grid-template-columns:1fr 1fr}.restaurant-kitchen .t5-photo-compose {grid-template-columns:1fr 1.2fr}.restaurant-kitchen-actions {grid-column:1/-1;border-left:0;border-top:1px solid #cddbd4;display:grid;grid-template-columns:1fr 1fr;gap:16px}.restaurant-kitchen .t5-photo-heading {grid-row:1/4}.restaurant-orders-context {height:540px}.restaurant-notebook {padding:16px}.restaurant-paper {padding:18px}}
@media(max-width:767px){body.olympiad-page.story-immersive.exam-mode-active .shell {padding:8px 8px 24px}.story-immersive #attempt-section > .card {padding:10px}.story-immersive #attempt-section .dashboard-head {padding:8px;gap:6px}.story-immersive .dashboard-head h2 {font-size:14px}.story-immersive #participant-meta {display:none}.story-immersive .timer-grid {gap:4px}.story-immersive .timer-box {min-width:80px;padding:4px 8px}.story-immersive .timer-box span {font-size:9px}.story-immersive .timer-box strong {font-size:20px}.story-immersive #attempt-section[data-chapter="1"] #question-body {grid-template-columns:1fr;gap:12px}.story-immersive .question-photo {aspect-ratio:2/3}.story-immersive .question-photo > img {left:10%;top:35%;width:80%;height:38%}.restaurant-paper {padding:16px}.restaurant-map {padding:12px;gap:12px;background-image:url('/assets/olympiad/story/layout-v2/scenes/map-mobile.webp')}.restaurant-map > .restaurant-work-context {height:100px}.restaurant-map .t2-bank,.restaurant-map .t2-countries {gap:10px}.restaurant-map .t2-bank-slot {padding:5px}.restaurant-map .t2-dish-name {font-size:16px;padding:8px 4px}.restaurant-map .restaurant-zoom {font-size:12px;padding:8px 4px}.restaurant-map .t2-target {padding:8px;gap:5px;flex-wrap:wrap}.restaurant-map .t2-flag {width:28px}.restaurant-notes-context {height:170px}.restaurant-notebook {grid-template-columns:1fr;padding:12px}.restaurant-notebook .t3-visual {padding:12px;border:1px solid #d9ccaf;border-radius:8px 8px 0 0}.restaurant-notebook .restaurant-paper {border-radius:0 0 8px 8px}.restaurant-notebook .t3-visual img {max-height:250px}.story-immersive #attempt-section[data-chapter="4"] #question-card {display:flex;flex-direction:column;gap:12px}.restaurant-orders-context {height:210px;width:100%;position:static}.restaurant-orders-context img {object-position:center 25%}.restaurant-orders .t4-menu {grid-template-columns:1fr}.restaurant-orders .t4-menu-title {font-size:22px}.restaurant-orders .t4-menu-description {font-size:16px}.restaurant-orders .t4-wish {font-size:17px}.restaurant-orders .t4-photo {aspect-ratio:3/2}.restaurant-orders .t4-menu-select {padding:12px}.restaurant-orders .t4-tray-actions {flex-wrap:wrap}.restaurant-kitchen .t5-photo-compose {display:flex;flex-direction:column}.restaurant-kitchen .t5-photo-panel {order:0;padding:12px}.restaurant-kitchen .t5-photo-pantry {order:1;padding:12px;border:0}.restaurant-kitchen-actions {order:2;display:block;padding:16px}.restaurant-kitchen .t5-photo-card img {max-height:130px}.restaurant-kitchen .t5-photo-card span {font-size:15px}.restaurant-kitchen .t5-photo-grid {grid-template-columns:1fr 1fr;gap:10px}.restaurant-kitchen .restaurant-work-context {height:90px}.story-immersive .button,.restaurant-zoom {min-height:48px}.story-immersive .restaurant-details .exam-cockpit {grid-template-columns:1fr}.t5-service-inline .t5-service-card {display:block}.t5-service-inline .t5-service-scene {aspect-ratio:2/3}.t5-service-inline .t5-service-plate.is-native {width:55%;top:66%}.t5-service-inline .t5-service-plate {top:66%;width:50%}.t5-service-inline .t5-service-accompaniments {top:68%;width:24%}.t5-service-inline .t5-service-copy {padding:16px}.restaurant-waiting {height:430px}.restaurant-waiting img {object-position:center 28%}}
/* A native album leaf keeps the issued photograph large without stretching the food. */
body.olympiad-page.story-immersive.exam-mode-active .shell {width:min(1536px,calc(100% - 24px));box-sizing:border-box}
.story-immersive .timer-stack {display:flex!important;width:auto!important;gap:10px}.story-immersive .dashboard-head > div:first-child {display:block!important}.story-immersive #attempt-section #question-prompt {display:block!important}.story-immersive #progress-global,.story-immersive .progress-bars {display:block!important}
.story-immersive #attempt-section[data-chapter="1"] #question-body {grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.story-immersive .question-photo {aspect-ratio:auto;min-height:0;border:8px solid #604531;background:#f0e5cf;display:flex;flex-direction:column;align-items:center;padding-bottom:14px}
.restaurant-album-background {position:static;display:block;width:100%;height:190px;overflow:hidden}.restaurant-album-background img {object-fit:cover;object-position:center 8%}
.story-immersive .question-photo > img {position:static;display:block;width:calc(100% - 48px);height:auto;aspect-ratio:3/2;object-fit:contain;margin:18px 24px 10px;padding:8px;background:#fbf8f1;box-shadow:0 4px 10px #3c251b33}
.question-photo > .restaurant-zoom {position:static;align-self:flex-end;margin-right:24px}
@media(max-width:767px){.story-immersive #attempt-section[data-chapter="1"] #question-body {grid-template-columns:1fr}.restaurant-album-background {height:150px}.restaurant-album-background img {object-position:center 12%}.story-immersive .question-photo > img {width:calc(100% - 24px);margin:12px;padding:4px}.question-photo > .restaurant-zoom {margin-right:12px}.story-immersive .timer-stack {gap:4px}}
.restaurant-map .t2-bank-slot {display:flex;flex-direction:column}.restaurant-map .restaurant-work-context img {object-position:center top}.story-immersive .timer-box {display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important}.story-immersive .t5-photo-scene {aspect-ratio:1;height:auto!important}.story-immersive .t5-photo-primary:disabled {background:#dce5d6!important;border-color:#d3dfca!important;color:#526b61!important}
.restaurant-notebook .t3-visual {height:auto!important;aspect-ratio:auto!important;overflow:visible!important}.restaurant-notebook .t3-visual > img {height:auto!important;max-height:none;aspect-ratio:3/2;object-fit:contain!important}.restaurant-notebook .t3-visual > .restaurant-zoom {flex:none}
.restaurant-kitchen .t5-photo-heading {display:flex;padding:18px 20px;gap:16px;border-bottom:1px solid #cddbd4}.restaurant-kitchen .t5-photo-scene {background:#e6dfd1 url('/assets/olympiad/story/layout-v2/scenes/kitchen-wide.webp') center/cover}.restaurant-kitchen .t5-photo-empty {background:#fbf8f1ed;border-radius:8px;margin:auto 18px;padding:16px;font-size:18px}.restaurant-kitchen .t5-photo-eyebrow {margin:0 0 8px}
@media(max-width:767px){.restaurant-kitchen .t5-photo-heading {display:block;padding:16px}.restaurant-kitchen .t5-photo-scene {background-image:url('/assets/olympiad/story/layout-v2/scenes/kitchen-mobile.webp')}.restaurant-kitchen .t5-photo-count {margin-bottom:0}.story-immersive #attempt-section .dashboard-head {flex-wrap:nowrap!important}.story-immersive .dashboard-head h2 {max-width:110px;word-break:normal}.story-immersive .timer-stack {flex:none}.restaurant-notebook .t3-visual {padding:12px}.restaurant-notebook .t3-visual > img {max-height:260px}}
.story-immersive.t3-keyboard-open .restaurant-notes-context {height:64px}.t5-service-inline {scroll-margin-top:110px}.t5-service-inline .t5-service-plate {animation-duration:300ms}
body.olympiad-page.story-immersive:has(#attempt-section.is-t5:not(.hidden)) {background:#f6f4ec!important}
body.olympiad-page.story-immersive.exam-mode-active:has(#attempt-section.is-t5:not(.hidden)) .shell {width:min(1536px,calc(100% - 24px))}
.story-immersive {font-family:Arial,system-ui,sans-serif}.story-immersive .restaurant-zoom,.story-immersive .t4-zoom {font-size:14px!important}
@media(max-width:767px){.story-immersive #attempt-section .dashboard-head {flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.story-immersive #attempt-section .dashboard-head > div:first-child {display:none!important}.story-immersive #attempt-section .timer-stack {width:100%!important;justify-content:space-between}.story-immersive #attempt-section .timer-box {min-width:0!important;flex:1}.restaurant-map .t2-target span {white-space:normal;overflow-wrap:anywhere}.restaurant-map .t2-target {min-width:0}}
@media(prefers-reduced-motion:no-preference){.story-immersive #question-body {animation:restaurant-enter .25s ease-out}@keyframes restaurant-enter {from{opacity:.8;translate:0 5px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){.story-immersive * {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the guest's face and hands inside the short portrait frames. */
@media(max-width:800px){.has-restaurant-story .landing-hero-media {height:clamp(290px,78vw,350px);min-height:290px;max-height:none}.restaurant-arrival img {object-position:center top}.restaurant-waiting img {object-position:center top}}

/* Layout 3: a readable invitation, a menu-sized album and a geographical atlas. */
.has-restaurant-story {background:#f6f4ec;color:#173d37;font-family:Arial,system-ui,sans-serif}
.has-restaurant-story .shell {width:min(1240px,calc(100% - 32px));box-sizing:border-box}
.has-restaurant-story .landing-hero {overflow:visible;min-height:0;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px;border-radius:0;background:transparent}
.has-restaurant-story .landing-hero-media {order:0;z-index:0;position:sticky;top:96px;min-height:0;height:580px;max-height:calc(100dvh - 120px);border-radius:16px;overflow:hidden}
.has-restaurant-story .landing-hero-copy {order:1;padding:12px 0;width:auto;display:flex;flex-direction:column;min-width:0}
.has-restaurant-story .landing-hero-copy h1 {font:600 clamp(32px,3.5vw,48px)/1.08 Georgia,serif;letter-spacing:-.025em;color:#173d37}
.has-restaurant-story .landing-hero .lead {max-width:none;margin:10px 0 0;font-size:16px;line-height:1.5}
.has-restaurant-story .landing-hero-actions {display:none}
.has-restaurant-story .landing-facts {font-size:14px;margin:14px 0 0;order:3}
.has-restaurant-story .landing-hero-copy > .landing-pilot-note {order:4;margin-bottom:18px}
.has-restaurant-story .story-introduction {order:2;padding:20px 0 0}
.story-invitation {font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#6b6d59;margin:0 0 8px}
.story-welcome-line {font:400 clamp(20px,2vw,25px)/1.5 Georgia,serif;margin:0;color:#173d37}
.has-restaurant-story .story-chapters {font-size:12px;gap:8px 14px;margin:14px 0 0;padding:12px 0;line-height:1.4}
.has-restaurant-story .story-introduction .story-answer-review {padding:8px 0;border-top:0}
.has-restaurant-story .story-introduction .story-answer-review summary {font-size:14px;min-height:40px;line-height:40px}
.has-restaurant-story #prestart-section {order:5;grid-template-columns:1fr;gap:16px;margin:0}
.has-restaurant-story #prestart-section > .card {padding:20px;border:1px solid #cddbd4;border-radius:12px;background:#fffdf7;box-shadow:none;min-width:0}
.has-restaurant-story #prestart-section h2 {font:600 22px/1.2 Georgia,serif;margin:0 0 8px}
.has-restaurant-story #prestart-section .section-intro {font-size:13px;margin:0 0 14px}
.has-restaurant-story #registration-form {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.has-restaurant-story #registration-form .field {min-width:0;margin:0}
.has-restaurant-story #registration-form .field-wide {grid-column:auto}
.has-restaurant-story #registration-form input {width:100%;min-height:48px;padding:10px;font-size:15px;box-sizing:border-box}
.has-restaurant-story #registration-submit {grid-column:1/-1;min-height:48px}
.has-restaurant-story #prestart-section .button {min-height:48px}
.has-restaurant-story #prestart-section small,.has-restaurant-story .consent-check {font-size:12px;line-height:1.55}
.has-restaurant-story .landing-hero .restaurant-arrival img {object-position:center top}
.has-restaurant-story.story-result-active #hero-section {display:none!important}
.has-restaurant-story.story-result-active #result-section {margin-top:12px}
body.olympiad-page.story-immersive.exam-mode-active .shell,
body.olympiad-page.story-immersive.exam-mode-active:has(#attempt-section.is-t5:not(.hidden)) .shell {width:min(1240px,calc(100% - 32px));max-width:1240px;padding:12px 0 32px}
.story-immersive .story-chapter {display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center;margin:0 0 14px;padding:18px 22px;background:#ede9dc;border:1px solid #d6d8c8;border-radius:12px}
.story-guest-avatar {position:relative;align-self:start;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#d2d3bf}
.story-guest-avatar img {position:absolute;width:300%;height:auto;max-width:none;left:-100%;top:0}
.story-immersive .story-chapter h2 {font:600 14px/1.4 Arial,system-ui,sans-serif;margin:0 0 6px;color:#5c6c54}
.story-guest-line {font:400 clamp(19px,1.8vw,23px)/1.45 Georgia,serif;margin:0;max-width:1000px}
.story-immersive .story-recorded {margin:8px 0 0;font-size:11px!important}
.story-immersive #attempt-section[data-chapter="1"] #question-body {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:38px 34px;background:#ece4d2 url('/assets/olympiad/story/layout-v3/album-spread.webp') center/100% 100%;border:1px solid #c2af91;border-radius:12px}
.story-immersive .question-photo {border:0;background:transparent;min-height:0;padding:20px;align-self:center;overflow:visible}
.story-immersive .question-photo > img {width:min(100%,420px);max-width:100%;margin:0 auto 12px;padding:8px;aspect-ratio:3/2;height:auto;box-sizing:border-box;border:1px solid #dbd5c6;box-shadow:0 5px 14px #3c251b20}
.story-immersive .question-photo > .restaurant-zoom {align-self:center;margin:0;background:#fffdf5}
.story-immersive #attempt-section[data-chapter="1"] .restaurant-paper {padding:20px 26px;border:0;background:transparent;box-shadow:none}
.story-immersive #question-prompt {font-size:22px;margin-top:0}
.story-immersive .photo-options .option {padding:12px;min-height:48px;font-size:16px}
.restaurant-map {padding:0;background:none;gap:12px}
.restaurant-map .t2-toolbar {order:0;margin:0;padding:12px 16px;background:#ede9dc}
.restaurant-map .t2-instruction {font-weight:600;font-size:16px;align-self:center}
.t2-atlas-workspace {order:1;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:18px;align-items:start}
.t2-atlas-workspace > .t2-atlas-board {order:0}.t2-atlas-workspace > .t2-atlas-menu {order:1}
.restaurant-map .t2-atlas-board {position:relative;display:block;aspect-ratio:2/1;min-width:0;padding:0;overflow:visible;border:1px solid #c4cec0;border-radius:12px;background:#eef1e8}
.t2-atlas-world,.t2-atlas-routes {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:12px}
.t2-atlas-routes {z-index:1;pointer-events:none;overflow:visible}
.t2-atlas-routes path {fill:none;stroke:#577b67;stroke-width:1.5;stroke-dasharray:4 4}
.t2-atlas-routes circle {fill:#147568;stroke:#fffdf7;stroke-width:3;pointer-events:auto;cursor:pointer}
.restaurant-map .t2-atlas-board .t2-country {position:absolute;left:var(--atlas-x);top:var(--atlas-y);transform:translate(-50%,-50%);width:36%;z-index:2;padding:6px;background:#fffdf8f5;border:1px solid #bccbbb;border-radius:9px;box-shadow:0 3px 9px #254f3620}
.restaurant-map .t2-atlas-board .t2-country.has-dish {border-color:#147568;background:#f2f6ed}
.restaurant-map .t2-target {min-height:48px!important;padding:6px;flex-direction:row;gap:8px;font-size:15px!important;text-align:left}
.restaurant-map .t2-flag {width:28px;height:21px;flex:0 0 28px}
.restaurant-map .t2-holder {min-height:0}
.restaurant-map .t2-empty {font-size:12px;line-height:1.35;min-height:0!important;padding:6px;border-radius:6px}
.restaurant-map .t2-empty:has(.t2-map-dish) {display:flex;align-items:center;gap:6px;text-align:left}.t2-map-dish {width:42px;height:32px;object-fit:contain;border-radius:4px;flex:none}
.restaurant-map .t2-undo {font-size:12px;min-height:48px!important;margin-top:5px;border-radius:6px}
.t2-atlas-menu {min-width:0;padding:12px;background:#fffdf7;border:1px solid #cddbd4;border-radius:12px}
.restaurant-map .t2-bank-title {margin:0 0 10px;font:600 19px/1.3 Georgia,serif;color:#173d37}
.restaurant-map .t2-bank {grid-template-columns:1fr 1fr;gap:10px}
.restaurant-map .t2-bank-slot {padding:5px;min-height:0;border:1px solid #cddbd4}
.restaurant-map .t2-dish {border:2px solid transparent;padding:0;box-shadow:none}
.restaurant-map .t2-dish.is-selected {border-color:#147568;background:#eaf2e8;box-shadow:0 0 0 2px #14756820}
.restaurant-map .t2-dish.is-assigned .t2-photo {width:100%;flex:initial}
.restaurant-map .t2-dish-name,.restaurant-map .t2-dish.is-assigned .t2-dish-name {font:600 15px/1.3 Georgia,serif;text-align:center;padding:6px 3px;min-height:36px}
.t2-assigned-label {display:block;font-size:11px;line-height:1.4;padding:2px 3px 6px;color:#285f48}
.restaurant-map .restaurant-zoom {font-size:12px!important;padding:6px 3px;min-height:48px}
.restaurant-map .t2-progress {order:2;background:none;padding:0;font-size:13px}
.restaurant-map .t2-status {order:3;background:#e7eee3;color:#173d37;padding:12px;font-size:14px;border-left:3px solid #147568}
.restaurant-notes-context {height:110px}
.restaurant-notebook .t3-visual {padding:20px}
.restaurant-notebook .t3-visual > img {max-height:330px}
.restaurant-notebook {padding:20px}
.restaurant-orders-context {height:460px}
.story-immersive #attempt-section[data-chapter="4"] #question-card {grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);gap:18px}
.restaurant-orders .t4-photo {max-height:210px}
.restaurant-kitchen .t5-photo-card img {max-height:100px}
.restaurant-kitchen .t5-photo-pantry,.restaurant-kitchen .t5-photo-panel,.restaurant-kitchen-actions {padding:14px}
.restaurant-kitchen .t5-photo-heading {padding:14px 18px}
.restaurant-kitchen .restaurant-work-context {height:80px}
.restaurant-kitchen .t5-photo-scene {background-image:url('/assets/olympiad/display-v1/preview/story/layout-v2/scenes/kitchen-wide.webp')}
.restaurant-waiting {height:360px;max-width:650px}
.has-restaurant-story .certificate-section {margin-top:24px;border:1px solid #b7cbbb;background:#f0f3e9}
.story-immersive #attempt-section .dashboard-head {padding:8px 14px!important;box-shadow:none}
.story-immersive .dashboard-head h2 {font:600 18px/1.3 Georgia,serif;margin:0}
.story-immersive #participant-meta {margin:4px 0 0;font-size:11px}
.story-immersive .timer-box {padding:6px 12px!important;min-width:112px;box-shadow:none}
.story-immersive .timer-box strong {font:600 23px/1.2 Arial,system-ui,sans-serif}
.story-immersive .timer-box span {font-size:10px!important}
.story-immersive .restaurant-details > summary {min-height:32px;padding:8px 12px;font-size:12px}
.story-immersive #attempt-section > .card:not(.dashboard-head) {box-shadow:none}
.story-immersive .progress-bars {margin:6px 0}.story-immersive .progress-line {height:5px!important}
.story-immersive .stage-chip {font:400 12px/1.3 Arial,system-ui,sans-serif}
.story-immersive #question-transition-banner {font:400 12px/1.4 Arial,system-ui,sans-serif;padding:6px 10px;min-height:0;margin:4px 0 10px;border:0;box-shadow:none;background:transparent}
.story-immersive #attempt-message.info,.story-immersive #attempt-message.success {display:none}
.story-immersive #attempt-sync-meta {font-size:10px;overflow-wrap:anywhere}
.story-immersive #attempt-section[data-chapter="1"] #question-body {background-size:110% 125%;padding:42px 40px}
.story-immersive #attempt-section[data-chapter="1"] .restaurant-paper {padding:20px}
.restaurant-notes-context img {object-position:center bottom}
.restaurant-orders-context img {object-position:left center}
@media(max-width:1099px){.t2-atlas-workspace {grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:12px}.restaurant-map .t2-target {font-size:13px!important}.restaurant-map .t2-atlas-board .t2-country {width:39%}.restaurant-map .t2-dish-name {font-size:14px}.has-restaurant-story .landing-hero {gap:20px}}
@media(max-width:767px){
 .has-restaurant-story .shell,body.olympiad-page.story-immersive.exam-mode-active .shell,body.olympiad-page.story-immersive.exam-mode-active:has(#attempt-section.is-t5:not(.hidden)) .shell {width:calc(100% - 16px)}
 .has-restaurant-story .landing-hero {display:flex;flex-direction:column;gap:18px}
 .has-restaurant-story .landing-hero-media {position:relative;top:auto;min-height:0;height:clamp(230px,70vw,290px);max-height:none;order:0}
 .has-restaurant-story .landing-hero-copy {order:1;padding:0 8px}
 .has-restaurant-story .landing-hero-copy h1 {font-size:34px}
 .has-restaurant-story .landing-hero .restaurant-arrival img {object-position:center top}
 .has-restaurant-story #registration-form {grid-template-columns:1fr}
 .has-restaurant-story #prestart-section > .card {padding:16px}
 .story-immersive .story-chapter {grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px}
 .story-guest-avatar {width:48px;height:48px}
 .story-immersive .story-chapter-copy h2 {max-width:none;font-size:12px}
 .story-guest-line {font-size:18px;line-height:1.45}
 .story-immersive #attempt-section[data-chapter="1"] #question-body {grid-template-columns:1fr;padding:12px;background-image:none;background:#f4eedf;border:3px solid #8f7758}
 .story-immersive .question-photo {padding:8px;max-width:430px;justify-self:center;width:100%;box-sizing:border-box}
 .story-immersive .question-photo > img {margin:0 0 10px;width:100%;padding:5px}
 .story-immersive #attempt-section[data-chapter="1"] .restaurant-paper {padding:16px 4px}
 .t2-atlas-workspace {grid-template-columns:1fr;gap:12px}
 .restaurant-map .t2-atlas-board {aspect-ratio:5/6;margin:18px 0}
 .restaurant-map .t2-atlas-board .t2-country {width:43%;padding:5px}
 .restaurant-map .t2-target {font-size:13px!important;min-height:48px!important;padding:4px;gap:5px;flex-wrap:nowrap}
 .restaurant-map .t2-target span {overflow-wrap:normal}
 .restaurant-map .t2-flag {width:22px;height:17px;flex-basis:22px}
 .restaurant-map .t2-empty {font-size:11px;min-height:0!important}
 .restaurant-map .t2-undo {min-height:48px!important}
 .restaurant-map .t2-toolbar {padding:10px;gap:8px}
 .restaurant-map .t2-help {width:auto}.restaurant-map .t2-help summary {font-size:12px;padding:6px 10px}
 .restaurant-map .t2-bank {gap:10px}
 .restaurant-map .t2-photo {max-height:120px}
 .restaurant-map .t2-dish-name,.restaurant-map .t2-dish.is-assigned .t2-dish-name {font-size:16px}
 .restaurant-notes-context {height:90px}.restaurant-notebook {padding:12px}
 .restaurant-notebook .t3-visual > img {max-height:230px}
 .story-immersive #attempt-section[data-chapter="4"] #question-card {display:flex}
 .restaurant-orders-context {height:150px}
 .restaurant-orders .t4-photo {max-height:none}
 .restaurant-kitchen .t5-photo-scene {background-image:url('/assets/olympiad/display-v1/preview/story/layout-v2/scenes/kitchen-mobile.webp')}
 .restaurant-kitchen .restaurant-work-context {height:65px}
 .restaurant-waiting {height:340px}
}

/* The familiar food cover welcomes participants; the form has its own space. */
.has-restaurant-story .landing-hero {display:block;position:relative;overflow:hidden;min-height:570px;border-radius:18px;background:#f6f2ec}
.has-restaurant-story .landing-hero-media {position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;border-radius:0;z-index:0}
.restaurant-pizza-cover {display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.has-restaurant-story .landing-hero-copy {position:relative;z-index:1;width:47%;padding:40px 36px;box-sizing:border-box;background:linear-gradient(90deg,#f7f3ece6 78%,#f7f3ec00)}
.has-restaurant-story .landing-hero-copy h1 {font-size:clamp(34px,3.5vw,48px)}
.has-restaurant-story .landing-hero-actions {display:flex;order:5;gap:18px;flex-wrap:wrap;margin:18px 0 0}
.has-restaurant-story .landing-demo-link {display:none}
.has-restaurant-story .landing-hero-actions .button {min-height:48px;padding:14px 22px;font-size:16px}
.has-restaurant-story .landing-hero-copy > .landing-pilot-note {color:#53695e;margin-bottom:0}
.has-restaurant-story #prestart-section {order:0;grid-template-columns:1fr 1fr;margin:24px 0;align-items:start}
.has-restaurant-story #prestart-section .landing-pilot-note[hidden] {display:none}
.story-tour-guide {padding-top:12px;border-top:1px solid #d3ddd4;margin-top:16px;font-size:14px;line-height:1.55}
.story-tour-guide h3 {font:600 20px/1.3 Georgia,serif}
.story-immersive #attempt-sync-meta[data-routine="true"],.story-immersive .t2-status:empty,.story-immersive .story-action-line:empty {display:none}
.story-immersive .t4-receipt-head h3 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.story-immersive .is-t5 .restaurant-task #question-prompt {font:15px/1.5 system-ui,sans-serif;color:#526b5f;margin:0 0 12px;text-wrap:pretty}
@media(min-width:768px) and (max-width:1099px){
 .has-restaurant-story .landing-hero-copy {width:52%;padding:30px}
 .has-restaurant-story .landing-hero-copy h1 {font-size:36px}
 .has-restaurant-story .story-welcome-line {font-size:21px}
 .has-restaurant-story #registration-form {grid-template-columns:1fr}
}
@media(max-width:767px){
 .has-restaurant-story .landing-hero {display:flex;flex-direction:column;min-height:0;gap:0;background:#fffdf7}
 .has-restaurant-story .landing-hero-media {position:relative;inset:auto;height:auto;aspect-ratio:1584/993;flex:none}
 .restaurant-pizza-cover {object-fit:contain}
 .has-restaurant-story .landing-hero-copy {width:100%;padding:24px 18px;background:none}
 .has-restaurant-story .landing-hero-copy h1 {font-size:34px}
 .has-restaurant-story #prestart-section {grid-template-columns:1fr;margin:18px 0}
}
