/* Covers lead the catalog; practical information follows the story. */
/* The existing mascot is framed above its wordmark; brand text stays readable HTML. */
.history-adventure-page .adventure-topbar{padding:16px 40px;gap:16px;min-height:88px}
.history-adventure-page .adventure-brand{gap:12px;flex-shrink:0}
.history-adventure-page .adventure-brand-mark{display:block;width:56px;height:40px;overflow:hidden;flex:none}
.history-adventure-page .adventure-brand-mark img{display:block;width:56px;height:56px;max-width:none;object-fit:contain}
.history-adventure-page .adventure-brand-title{gap:4px}
.history-adventure-page .adventure-brand-title small{margin:0;font-size:11px;line-height:1.2;color:#607166;font-weight:600;letter-spacing:.035em}
.history-adventure-page .adventure-brand-title strong{font-size:21px;line-height:1.3;letter-spacing:-.035em;color:#234438;font-weight:800}
.adventure-header-actions{display:flex;align-items:center;gap:20px;position:relative;flex-shrink:0}
.history-adventure-page .adventure-review-link{background:transparent;border:0;padding:8px 0;font-size:12px;font-weight:600;color:#5b6e61}
.history-adventure-page .adventure-account-menu-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #cdd7cc;border-radius:6px;background:transparent;color:#294a3c;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.history-adventure-page .adventure-account-menu-button[hidden]{display:none}
.adventure-account-menu-button[aria-expanded=true]{background:#e9eee3}
.adventure-header-actions .adventure-account-menu{right:0;top:calc(100% + 12px);width:280px;max-width:calc(100vw - 24px);border-color:#d3dace;border-radius:8px;box-shadow:0 12px 32px #263c3517;padding:12px}
.adventure-account-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:#edf0e5;color:#476047;font-size:15px;font-weight:700}
.adventure-header-actions .adventure-account-menu-profile{padding:6px 2px 14px;align-items:flex-start}
.adventure-header-actions .adventure-account-menu-profile strong{font-size:14px;line-height:1.5}
.adventure-header-actions .adventure-account-menu-profile small{font-size:11px;line-height:1.6;white-space:normal;color:#6a776a}
.adventure-header-actions .adventure-account-menu-logout{background:transparent;border:0;border-top:1px solid #e1e5dc;border-radius:0;justify-content:flex-start;min-height:44px;font-weight:600}
.adventure-header-actions button:focus-visible,.adventure-header-actions a:focus-visible{outline:3px solid #b47e3b;outline-offset:3px}
@media(max-width:700px){.history-adventure-page .adventure-topbar{padding:12px 20px;min-height:76px}.history-adventure-page .adventure-brand{gap:8px}.history-adventure-page .adventure-brand-mark{width:42px;height:30px}.history-adventure-page .adventure-brand-mark img{width:42px;height:42px}.history-adventure-page .adventure-brand-title strong{font-size:18px}.history-adventure-page .adventure-brand-title small{display:block;font-size:10px}.adventure-header-actions{gap:12px}}
@media(max-width:420px){.history-adventure-page .adventure-topbar{padding:10px 12px;gap:8px}.history-adventure-page .adventure-brand-mark{width:32px;height:23px}.history-adventure-page .adventure-brand-mark img{width:32px;height:32px}.history-adventure-page .adventure-brand-title strong{font-size:16px}.adventure-header-actions{gap:9px}.history-adventure-page .adventure-review-link{font-size:10px;gap:3px}.history-adventure-page .adventure-account-menu-button{font-size:11px;padding:8px 7px;gap:4px}}
body.history-adventure-page{background:#f8f7f3;color:#253b35}
.history-adventure-page .adventure-app{max-width:1180px;background:#f8f7f3;box-shadow:none}
.history-adventure-page .adventure-topbar{background:#f8f7f3;border-bottom:1px solid #e0e0d7;position:relative}
.adventure-story-feature{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:56px;padding:44px 40px 56px;background:#f8f7f3}
.adventure-feature-art{display:block;overflow:hidden;border-radius:6px}
.adventure-feature-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.adventure-feature-kicker{font-size:12px;letter-spacing:.08em;color:#557265;margin:0 0 17px}
.adventure-feature-copy h1{font-size:clamp(34px,4.5vw,58px);line-height:1.12;letter-spacing:-.06em;margin:0 0 20px;font-weight:900;color:#233b33}
.adventure-feature-copy>p:not(.adventure-feature-kicker){font-size:17px;line-height:1.65;margin:0 0 10px;word-break:keep-all}
.adventure-feature-role{display:block;font-size:12px;color:#6a746c;margin-bottom:24px}
.adventure-feature-start{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:290px;min-height:54px;padding:12px 20px;background:#285947;color:white!important;font-weight:800;text-decoration:none;border-radius:5px}
.adventure-hub-content{padding:0 40px 40px!important}
.adventure-section-heading{margin-top:24px!important;margin-bottom:16px!important}
.adventure-section-heading h2{font-size:25px!important;letter-spacing:-.04em}
.adventure-city-nav{gap:20px!important;border-bottom:1px solid #dcded4;margin-bottom:26px!important;padding:0!important;overflow:auto}
.adventure-city-nav .adventure-city-chip{background:none!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;padding:12px 3px!important;min-height:48px;color:#6b776f!important;white-space:nowrap}
.adventure-city-nav .adventure-city-chip.is-active{border-bottom-color:#285947!important;color:#285947!important;font-weight:900}
.adventure-cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
.adventure-cover-grid .adventure-place-row{display:block;border:0;padding:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;min-width:0}
.adventure-cover-grid .adventure-place-media{display:block;position:relative;margin:0;min-width:0;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:#29473d;text-decoration:none}
.adventure-cover-grid .adventure-place-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.adventure-cover-grid .adventure-place-media:hover img{transform:scale(1.035)}
.adventure-cover-title{position:absolute;inset:35% 0 0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px;background:linear-gradient(transparent,rgba(8,27,25,.86));color:white;word-break:keep-all}
.adventure-cover-title small{font-size:11px;margin-bottom:9px;color:#f0e6c9;line-height:1.5}
.adventure-cover-title strong{font-size:26px;line-height:1.32;letter-spacing:-.045em;font-weight:900}
.adventure-cover-grid .adventure-place-body{padding:14px 0 0;display:block}
.adventure-cover-grid .adventure-place-row{content-visibility:visible;contain-intrinsic-size:none}.adventure-cover-grid .adventure-place-media{min-height:0}
.adventure-cover-grid .adventure-place-label,.adventure-cover-grid .adventure-place-copy h4,.adventure-cover-grid .adventure-place-onsite-tag,.adventure-cover-grid .adventure-place-meta,.adventure-cover-grid .adventure-place-preview-link{display:none}
.adventure-cover-grid .adventure-place-copy p{font-size:13px;line-height:1.7;color:#59695f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 10px;min-height:44px}
.adventure-cover-grid .adventure-place-action{display:inline-flex;min-height:44px;align-items:center;background:transparent!important;padding:4px 0!important;border:0;border-radius:0;color:#285947!important;font-size:13px;font-weight:800;text-decoration:none}
.adventure-service-details,.adventure-login-panel{margin:36px 40px;padding:16px 0;border-top:1px solid #d7dccf;border-bottom:1px solid #d7dccf}
.adventure-service-details{margin:40px 0 0}.adventure-service-details summary,.adventure-login-panel>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:700}
.adventure-member-entry{display:inline-flex;min-height:48px;align-items:center;margin-top:28px;color:#456150;font-size:13px}
.adventure-city-nav{display:flex!important;flex-wrap:nowrap!important}.adventure-city-nav .adventure-city-chip{flex:0 0 auto!important;min-width:44px!important}
.adventure-feature-start:focus-visible,.adventure-place-media:focus-visible{outline:3px solid #c07c31;outline-offset:5px}
#historyAdventureMain{container-type:inline-size}
@container (max-width:700px){.adventure-story-feature{grid-template-columns:1fr;gap:20px;padding:22px 20px 30px}.adventure-feature-copy h1{font-size:36px}.adventure-feature-start{max-width:none}.adventure-hub-content{padding:0 20px 30px!important}.adventure-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.adventure-cover-title{padding:15px 12px}.adventure-cover-title strong{font-size:21px}}
@media(max-width:700px){.adventure-story-feature{gap:20px;padding:22px 20px 30px;grid-template-columns:1fr}.adventure-feature-art{order:0}.adventure-feature-copy{order:1}.adventure-feature-copy h1 br{display:none}.adventure-feature-copy h1{font-size:36px;margin-bottom:12px}.adventure-feature-copy h1 br:after{content:' '}.adventure-feature-kicker{margin-bottom:10px}.adventure-feature-copy>p:not(.adventure-feature-kicker){font-size:15px}.adventure-feature-role{margin-bottom:18px}.adventure-feature-start{max-width:none}.adventure-hub-content{padding:0 20px 30px!important}.adventure-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.adventure-cover-title{padding:15px 12px}.adventure-cover-title strong{font-size:21px}.adventure-cover-title small{font-size:10px}.adventure-cover-grid .adventure-place-copy p{font-size:12px}.adventure-city-nav{gap:20px!important}.adventure-section-heading h2{font-size:23px!important}.adventure-login-panel{margin:24px 20px}.adventure-cover-grid .adventure-place-action{font-size:12px}}
@media(prefers-reduced-motion:reduce){.adventure-cover-grid .adventure-place-media img{transition:none}}

/* One invitation, then one scene and action. Same visual language as the shelf. */
.escape-page .escape-app{max-width:1100px;background:#f8f7f3;box-shadow:none}
body.escape-page{background:#f8f7f3}
.haechi-prologue{background:#f8f7f3}
.haechi-hero.story-cover{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:40px}
.story-cover .haechi-photo-frame{border:0;border-radius:5px;background:none;padding:0;overflow:hidden}
.story-cover .haechi-hero-art{border-radius:0}
.story-cover .haechi-hero-copy{margin:0}
.story-cover h1{font-family:'Noto Sans KR',sans-serif;font-size:clamp(38px,5vw,60px);font-weight:900;letter-spacing:-.06em;line-height:1.12}
.story-cover h1 span{color:#293c35}
.haechi-role{font-size:12px;color:#677565;margin:12px 0 24px}
.haechi-primary{border-radius:5px;box-shadow:none;cursor:pointer;width:100%;font-family:inherit;font-size:16px}
.haechi-meeting{max-width:620px;margin:0 auto;padding:28px 28px 32px;border-top:1px solid #d5dbcf;border-bottom:1px solid #d5dbcf;outline:none}
.haechi-meeting h2{font-size:25px;line-height:1.4;letter-spacing:-.04em;margin:8px 0 16px}
.haechi-meeting>p:not(.haechi-overline){font-size:17px;line-height:1.95;margin:0 0 25px;word-break:keep-all}
.haechi-invitation{padding:20px 40px;border:0}.haechi-route-line{font-size:13px!important;color:#64715f}
.haechi-trial{margin-top:16px;background:none;border:0;border-top:1px solid #d6ddcf;border-radius:0}
.haechi-practical{padding:8px 40px 24px}.haechi-practical>summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:13px;color:#5f6e62;border-top:1px solid #d6ddcf}.haechi-practical-copy{font-size:13px;line-height:1.8;color:#64715f}
.escape-access-badge{background:none!important;border:0!important;font-size:11px!important;color:#657666!important}
.escape-play{max-width:760px;margin:auto}.escape-play-header{padding:16px 22px!important}.escape-play-heading h1{font-size:20px!important}.escape-kicker{font-size:11px!important}
.escape-stage{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.escape-stage__header{padding-bottom:12px!important}.escape-stage__header .escape-stage-meta,.escape-stage__header .escape-stage-eyebrow{display:none}.escape-stage-title{font-size:25px!important}.haechi-companion{background:transparent;border:0;border-left:3px solid #b49b60;border-radius:0;padding:8px 12px;margin:10px 0 18px}.haechi-companion img{display:none}.haechi-companion p{font-size:14px}.haechi-companion strong{font-size:11px}
.story-picture-help{margin-top:18px;border-top:1px solid #d5ddce;order:2}.story-picture-help>summary{min-height:48px;padding:14px 0;font-size:13px;cursor:pointer;font-weight:700}
.escape-question{display:flex;flex-direction:column}.escape-question>.story-picture-help{order:2}.escape-question>.haechi-context{order:3}.escape-question>.escape-answer-fallback{order:4}.escape-question>.escape-hints{order:5}
.haechi-companion{display:block!important}.escape-stage__header{background:transparent!important}.escape-question{background:transparent!important}.escape-play-header{background:transparent!important}
.haechi-collection{padding:10px 20px!important;gap:8px!important;background:transparent!important}.haechi-collected-seal{padding:5px!important;border:0!important;background:transparent!important}.haechi-collected-seal>b{width:26px!important;height:26px!important;font-size:12px!important}.haechi-collected-seal>span{font-size:10px!important}
.escape-question .ssam-act{border:0;border-radius:5px;padding:12px;background:#eee8d9}.haechi-context,.escape-answer-fallback{background:transparent!important;border:0!important;border-top:1px solid #d4dccc!important;border-radius:0!important}.escape-hints{padding-top:14px!important}
.escape-completion-place{padding:0 0 16px!important;overflow:hidden;border-radius:5px!important;background:#fff!important}.story-reward-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px}.escape-completion-place strong,.escape-completion-place>span{margin-left:14px;margin-right:14px}.escape-completion-check{display:none!important}
@media(max-width:700px){.haechi-hero.story-cover{grid-template-columns:1fr;gap:22px;padding:20px}.story-cover h1 br{display:none}.story-cover h1{font-size:38px}.haechi-meeting{margin:0 20px;padding:22px 0}.haechi-meeting h2{font-size:23px}.haechi-meeting>p:not(.haechi-overline){font-size:15px}.haechi-invitation{padding:20px}.haechi-practical{padding:0 20px 24px}.escape-stage-title{font-size:22px!important}.escape-play-header{padding:14px 18px!important}.escape-play-heading h1{font-size:18px!important}}
