.moc-adventure{--ad-ink:#1f2d3d;--ad-body:#3f4b46;--ad-gold:#e3b45f;--ad-gold-soft:#e5e5e5;--ad-gold-deep:#8a5a14;--ad-forest:#171719;--ad-paper:#f5f5f5;--ad-card:#fff;--ad-line:#ece3cf;--ad-muted:#6f736b;--ad-ease:cubic-bezier(.23,1,.32,1);--ad-serif:"Noto Serif KR","Nanum Myeongjo","AppleMyungjo","Batang",serif;color:var(--ad-ink);padding-bottom:48px}
.moc-adventure [hidden]{display:none!important}
.moc-adventure :focus-visible{outline:2px solid #c58f3b;outline-offset:3px}
.moc-adventure button,.moc-adventure select{font:inherit}
.moc-adventure h1,.moc-adventure h2{font-family:var(--ad-serif);letter-spacing:-.01em;color:var(--ad-ink)}
.moc-adventure p{color:var(--ad-body)}
.moc-adventure .ad-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;color:#a1763a}

.moc-adventure .ad-hero{position:relative;min-height:min(620px,86vh);margin-top:12px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#cfe6fb 0%,#e9f3fb 30%,#f5f5f5 62%,#d4d4d4 100%);isolation:isolate;box-shadow:0 18px 50px rgba(138,90,20,.12)}
.moc-adventure .ad-sky{position:absolute;inset:0;z-index:-1}
.moc-adventure .ad-clouds{position:absolute;inset:0 0 40% 0}
.moc-adventure .ad-clouds i{position:absolute;height:34px;border-radius:99px;background:rgba(255,255,255,.85);filter:blur(1px);animation:ad-drift 90s linear infinite}
.moc-adventure .ad-clouds i::before,.moc-adventure .ad-clouds i::after{content:"";position:absolute;bottom:12px;border-radius:50%;background:inherit}
.moc-adventure .ad-clouds i::before{left:18%;width:38%;height:150%}
.moc-adventure .ad-clouds i::after{left:48%;width:30%;height:120%}
.moc-adventure .ad-clouds i:nth-child(1){top:14%;left:-12%;width:150px}
.moc-adventure .ad-clouds i:nth-child(2){top:34%;left:30%;width:110px;animation-duration:120s}
.moc-adventure .ad-clouds i:nth-child(3){top:8%;left:66%;width:130px;animation-duration:105s}
.moc-adventure .ad-glow{position:absolute;right:8%;bottom:30%;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,214,120,.95),rgba(255,214,120,.35) 55%,transparent 75%)}
.moc-adventure .ad-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:56%}
.moc-adventure .ad-hills .h1{fill:#d6e6c6}.moc-adventure .ad-hills .h2{fill:#bdd8ad}.moc-adventure .ad-hills .h3{fill:#a4c796}
.moc-adventure .ad-walker{position:absolute;left:0;bottom:6%;width:20px;height:44px;animation:ad-walk 70s linear infinite}
.moc-adventure .ad-walker i{position:absolute;left:5px;top:0;width:10px;height:10px;border-radius:50%;background:#5b4a2f}
.moc-adventure .ad-walker::before{content:"";position:absolute;left:3px;top:10px;width:14px;height:24px;border-radius:7px 7px 3px 3px;background:#7a6340}
.moc-adventure .ad-walker::after{content:"";position:absolute;left:19px;top:2px;width:2px;height:42px;background:#5b4a2f;transform:rotate(8deg)}
.moc-adventure .ad-hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:660px;padding:72px 48px 48px}
.moc-adventure .ad-hero h1{margin:0;font-size:clamp(42px,8vw,76px);line-height:1.05;color:var(--ad-ink)}
.moc-adventure .ad-lead{word-break:keep-all;margin:0;font-size:clamp(16px,2.4vw,20px);line-height:1.7;color:#334039}
.moc-adventure .ad-pills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px;padding:0;list-style:none}
.moc-adventure .ad-pills li{padding:7px 14px;border-radius:99px;border:1px solid #ecd49a;background:rgba(255,255,255,.8);font-size:13px;font-weight:700;color:var(--ad-gold-deep)}
.moc-adventure .ad-toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ad-body);cursor:pointer}
.moc-adventure .ad-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.moc-adventure .ad-switch{position:relative;flex:none;width:40px;height:23px;border-radius:99px;background:#d9d2c0;transition:background-color .2s var(--ad-ease)}
.moc-adventure .ad-switch::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s var(--ad-ease)}
.moc-adventure .ad-toggle input:checked+.ad-switch{background:var(--ad-gold)}
.moc-adventure .ad-toggle input:checked+.ad-switch::after{transform:translateX(17px)}
.moc-adventure .ad-toggle input:focus-visible+.ad-switch{outline:2px solid #c58f3b;outline-offset:3px}
.moc-adventure .ad-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.moc-adventure .ad-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:0;border-radius:99px;font-weight:700;font-size:16px;cursor:pointer;transition:transform .16s var(--ad-ease),background-color .2s ease,box-shadow .2s ease}
.moc-adventure .ad-button:active{transform:scale(.97)}
.moc-adventure .ad-button-gold{background:linear-gradient(180deg,#f8d98e,#e3b45f);color:#3a2705;box-shadow:0 8px 22px rgba(227,180,95,.45)}
.moc-adventure .ad-button-ghost{background:#fff;color:var(--ad-gold-deep);box-shadow:inset 0 0 0 1px #e6cf97}
.moc-adventure .ad-button-ghost-dark{background:#fff;color:var(--ad-ink);box-shadow:inset 0 0 0 1px var(--ad-line)}
.moc-adventure .ad-fine{word-break:keep-all;max-width:640px;color:#5f665f;font-size:12.5px;line-height:1.6}
.moc-adventure .ad-confirm{margin-top:14px;padding:16px 20px;border-radius:12px;background:#f5f5f5;border:1px solid #d4d4d4}
.moc-adventure .ad-confirm p{margin:0 0 10px}
.moc-adventure .ad-confirm+.ad-numbers{margin-top:20px}

.moc-adventure .ad-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-34px 28px 0;position:relative;z-index:1;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line);box-shadow:0 14px 40px rgba(138,90,20,.12);overflow:hidden}
.moc-adventure .ad-numbers div{padding:22px 18px;text-align:center;border-left:1px solid var(--ad-line)}
.moc-adventure .ad-numbers div:first-child{border-left:0}
.moc-adventure .ad-numbers strong{display:block;font-family:var(--ad-serif);font-size:clamp(20px,3vw,28px);color:var(--ad-gold-deep)}
.moc-adventure .ad-numbers span{display:block;margin-top:6px;font-size:12.5px;color:var(--ad-muted)}

.moc-adventure .ad-section{margin-top:64px}
.moc-adventure .ad-section h2{margin:6px 0 24px;font-size:clamp(26px,4vw,38px)}
.moc-adventure .ad-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.moc-adventure .ad-features article{padding:28px;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line);transition:transform .25s var(--ad-ease),box-shadow .25s ease}
.moc-adventure .ad-features h3{margin:14px 0 8px;font-size:19px;color:var(--ad-ink)}
.moc-adventure .ad-features p{margin:0;line-height:1.75;font-size:15px}
.moc-adventure .ad-ico{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--ad-gold-soft);color:var(--ad-gold-deep)}
.moc-adventure .ad-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
.moc-adventure .ad-steps li{position:relative;padding:22px 20px 0 0}
.moc-adventure .ad-steps li::before{content:"";position:absolute;left:0;right:0;top:12px;height:2px;background:linear-gradient(90deg,var(--ad-gold),#eadfc4)}
.moc-adventure .ad-steps b{position:relative;display:inline-block;margin-top:-22px;padding:2px 12px;border-radius:99px;background:var(--ad-gold-soft);border:1px solid #ecd49a;color:var(--ad-gold-deep);font-size:12px}
.moc-adventure .ad-steps h3{margin:12px 0 6px;font-size:18px;color:var(--ad-ink)}
.moc-adventure .ad-steps p{margin:0;font-size:14px;line-height:1.7}
.moc-adventure .ad-faq{max-width:760px}
.moc-adventure .ad-faq details,.moc-adventure .ad-sources{margin-bottom:10px;padding:16px 20px;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line)}
.moc-adventure .ad-faq summary,.moc-adventure .ad-sources summary{cursor:pointer;font-weight:700;color:var(--ad-ink)}
.moc-adventure .ad-faq p,.moc-adventure .ad-sources p{margin:10px 0 0;line-height:1.75;font-size:14.5px}
.moc-adventure .ad-sources{margin-top:28px;font-size:13px}
.moc-adventure .ad-sources ul{margin:10px 0 0;padding-left:18px;line-height:1.7;color:var(--ad-body)}
.moc-adventure .ad-history{margin-top:56px}
.moc-adventure .ad-history h2{font-size:22px}
.moc-adventure .ad-history>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.moc-adventure .ad-history>div[data-adventure-clear-confirm]{display:block}
.moc-adventure .ad-history-card{display:grid;gap:4px;padding:16px;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line)}
.moc-adventure .ad-history-card strong{font-family:var(--ad-serif);color:var(--ad-ink)}
.moc-adventure .ad-history-card small{color:var(--ad-muted)}
.moc-adventure .ad-link{padding:6px 0;border:0;background:none;color:var(--ad-forest);font-weight:700;text-decoration:underline;cursor:pointer}
.moc-adventure .ad-muted{color:var(--ad-muted);font-size:13px}

.moc-adventure .ad-play{margin-top:16px}
.moc-adventure .ad-hud{position:sticky;top:68px;z-index:5;padding:16px 22px 12px;border-radius:12px;background:linear-gradient(180deg,#f5f5f5,#e5e5e5);border:1px solid #ecd49a;box-shadow:0 10px 28px rgba(138,90,20,.14)}
.moc-adventure .ad-hud-age{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.moc-adventure .ad-hud-age strong{font-family:var(--ad-serif);font-size:38px;line-height:1.1;color:var(--ad-gold-deep)}
.moc-adventure .ad-hud-age span{color:var(--ad-muted);font-size:14px}
.moc-adventure .ad-hud-bar{height:7px;margin:10px 0;border-radius:99px;background:#e5e5e5;overflow:hidden}
.moc-adventure .ad-hud-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#e3b45f,#f3cd7e);transition:width .4s var(--ad-ease)}
.moc-adventure .ad-hud-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:13px;color:var(--ad-muted)}
.moc-adventure .ad-hud-controls button,.moc-adventure .ad-hud-controls select{min-height:34px;padding:0 14px;border:1px solid #e6cf97;border-radius:99px;background:#fff;color:var(--ad-ink);cursor:pointer;transition:transform .16s var(--ad-ease),background-color .2s ease}
.moc-adventure .ad-hud-controls button:active{transform:scale(.97)}
.moc-adventure .ad-hud-controls>*{margin-right:6px}
.moc-adventure .ad-year-track{height:3px;margin-top:10px;border-radius:99px;background:#e5e5e5;overflow:hidden}
.moc-adventure .ad-year-track i{display:block;height:100%;width:0;background:#cfa04a}
.moc-adventure .ad-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;margin-top:18px;align-items:start}
.moc-adventure .ad-card{padding:22px;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line)}
.moc-adventure .ad-card h3{margin:0 0 10px;font-size:14px;color:var(--ad-muted)}
.moc-adventure .ad-avatar{display:grid;place-items:center;width:72px;height:72px;margin-bottom:12px;border-radius:50%;background:linear-gradient(135deg,#e5e5e5,#d4d4d4);box-shadow:0 0 0 3px var(--ad-gold)}
.moc-adventure .ad-avatar span{font-family:var(--ad-serif);font-size:30px;color:var(--ad-gold-deep)}
.moc-adventure .ad-person h2{margin:2px 0 4px;font-size:26px}
.moc-adventure .ad-profile{margin:0 0 6px;font-weight:700;color:var(--ad-forest)}
.moc-adventure .ad-desc{margin:0;font-size:13.5px;line-height:1.6}
.moc-adventure .ad-intro{margin:12px 0;padding:12px 14px;border-left:3px solid var(--ad-gold);background:#f5f5f5;border-radius:0 12px 12px 0;font-size:13.5px;line-height:1.75;font-family:var(--ad-serif);color:var(--ad-ink)}
.moc-adventure .ad-intro:empty{display:none}
.moc-adventure .ad-stat{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin-bottom:12px;font-size:14px}
.moc-adventure .ad-stat i{grid-column:1/-1;position:relative;height:7px;border-radius:99px;background:#e5e5e5;overflow:hidden}
.moc-adventure .ad-stat i::after{content:"";position:absolute;inset:0;width:var(--value,0);border-radius:inherit;background:linear-gradient(90deg,#d49d3f,#f0c46d);transition:width .35s var(--ad-ease)}
.moc-adventure .ad-wealth{padding-top:12px;border-top:1px dashed var(--ad-line)}
.moc-adventure .ad-news{min-height:92px;padding:14px 16px;border-radius:12px;background:#f5f5f5}
.moc-adventure .ad-news p{margin:0 0 6px;line-height:1.6}
.moc-adventure .ad-news p:first-child{font-weight:700;color:var(--ad-ink)}
.moc-adventure .ad-news p:not(:first-child){color:var(--ad-muted);font-size:14px}
.moc-adventure .ad-news-card .ad-button{margin-top:14px}
.moc-adventure .ad-log{margin-top:16px}
.moc-adventure .ad-log summary{cursor:pointer;font-weight:700}
.moc-adventure .ad-log ol{margin:12px 0 0;padding-left:20px;max-height:320px;overflow:auto;font-size:14px;line-height:1.75}
.moc-adventure .ad-log li.is-death{font-weight:700}
.moc-adventure .ad-log li.is-decision{color:var(--ad-forest)}

.moc-adventure .ad-ending{padding:34px;border-radius:12px;background:linear-gradient(180deg,#f5f5f5,#e5e5e5);border:1px solid #ecd49a;box-shadow:0 18px 50px rgba(138,90,20,.16)}
.moc-adventure .ad-ending h2{margin:8px 0 6px;font-size:clamp(28px,4.5vw,42px);color:var(--ad-gold-deep)}
.moc-adventure .ad-ending-name{margin:0 0 16px;color:var(--ad-muted)}
.moc-adventure .ad-epilogue{margin:0 0 16px;padding:18px 20px;border-radius:12px;background:#fff;border-left:3px solid var(--ad-gold);font-family:var(--ad-serif);font-size:16px;line-height:1.95;color:var(--ad-ink)}
.moc-adventure .ad-epilogue:empty{display:none}
.moc-adventure .ad-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 16px;margin:20px 0;font-size:14px}
.moc-adventure .ad-summary dt{color:var(--ad-muted)}
.moc-adventure .ad-summary dd{margin:0;color:var(--ad-ink)}
.moc-adventure .ad-compare{padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #d4d4d4;font-size:14px;line-height:1.7}
.moc-adventure .ad-story{line-height:1.85;font-size:16px}

.moc-adventure .ad-dialog{width:min(660px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:0;border:1px solid #ecd49a;border-radius:12px;background:var(--ad-paper);color:var(--ad-ink);box-shadow:0 24px 70px rgba(97,68,20,.28);overflow:hidden}
.moc-adventure .ad-dialog::backdrop{background:rgba(110,84,40,.3);backdrop-filter:blur(4px)}
.moc-adventure .ad-dialog[open]{display:flex;flex-direction:column;animation:ad-pop .22s var(--ad-ease)}
.moc-adventure .ad-dialog-head{display:flex;gap:10px;align-items:center;padding:12px 18px;background:linear-gradient(90deg,#e5e5e5,#d4d4d4);border-bottom:1px solid #ecd49a;color:var(--ad-gold-deep);font-size:13px;font-weight:700}
.moc-adventure .ad-dialog-time{flex:1;color:var(--ad-muted);font-weight:500}
.moc-adventure .ad-dialog-head button{border:1px solid #e6cf97;border-radius:99px;padding:6px 12px;background:#fff;color:var(--ad-gold-deep);cursor:pointer;transition:transform .16s var(--ad-ease)}
.moc-adventure .ad-dialog-head button:active{transform:scale(.97)}
.moc-adventure .ad-badge{padding:3px 10px;border-radius:99px;background:#fff;border:1px solid #ecd49a;color:var(--ad-gold-deep);font-size:12px;font-weight:700}
.moc-adventure .ad-dialog-body{padding:24px;overflow:auto}
.moc-adventure .ad-chip{display:inline-block;padding:3px 11px;border-radius:99px;background:var(--ad-gold-soft);color:var(--ad-gold-deep);font-size:12px;font-weight:700}
.moc-adventure .ad-dialog h2{margin:12px 0 10px;font-size:26px;line-height:1.3}
.moc-adventure .ad-dialog p{color:var(--ad-ink)}
.moc-adventure .ad-fact,.moc-adventure .ad-dialog .ad-fact{padding:11px 14px;border-radius:12px;background:#e5e5e5;font-size:13px;line-height:1.7;color:var(--ad-body)}
.moc-adventure .ad-choices{display:grid;gap:10px;margin-top:16px}
.moc-adventure .ad-choices button{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;border:1px solid var(--ad-line);border-radius:12px;background:#fff;color:var(--ad-ink);text-align:left;cursor:pointer;transition:transform .16s var(--ad-ease),border-color .2s ease,background-color .2s ease}
.moc-adventure .ad-choices button:active{transform:scale(.98)}
.moc-adventure .ad-choices button:disabled{opacity:.55;cursor:not-allowed}
.moc-adventure .ad-key{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--ad-gold-soft);border:1px solid #ecd49a;color:var(--ad-gold-deep);font-size:13px;font-weight:700}
.moc-adventure .ad-choices small{display:block;margin-top:4px;color:#a1763a;font-size:12px}
.moc-adventure .ad-hint,.moc-adventure .ad-dialog .ad-hint{margin:14px 0 0;font-size:12px;color:#8b8d84}
.moc-adventure .ad-changes{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.moc-adventure .ad-changes span{padding:5px 11px;border-radius:99px;background:#e5e5e5;font-size:13px;font-weight:700;color:var(--ad-ink)}
.moc-adventure .ad-changes .is-up{color:#1f6b46;background:#e3f1e8}
.moc-adventure .ad-changes .is-down{color:#a8321f;background:#f8e6e1}
.moc-adventure .ad-reflection{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:16px 0;padding:14px 16px;border-left:3px solid var(--ad-gold);background:#f5f5f5;border-radius:0 14px 14px 0}
.moc-adventure .ad-reflection p{flex:1 0 100%;margin:6px 0}
.moc-adventure .ad-reflection a{color:var(--ad-forest);font-weight:700}
.moc-adventure .ad-notice{min-height:20px;margin-top:10px;color:#a8321f;font-size:13px}
.moc-adventure .ad-play.is-finished .ad-hud-controls>:not(span){display:none}
.moc-adventure .ad-play.is-finished .ad-year-track{display:none}
body.adventure-dialog-open{overflow:hidden}

.moc-adventure .ad-hero-copy>*{opacity:0;transform:translateY(10px);animation:ad-rise .5s var(--ad-ease) forwards}
.moc-adventure .ad-hero-copy>:nth-child(2){animation-delay:60ms}.moc-adventure .ad-hero-copy>:nth-child(3){animation-delay:120ms}.moc-adventure .ad-hero-copy>:nth-child(4){animation-delay:180ms}.moc-adventure .ad-hero-copy>:nth-child(5){animation-delay:220ms}.moc-adventure .ad-hero-copy>:nth-child(6){animation-delay:260ms}.moc-adventure .ad-hero-copy>:nth-child(7){animation-delay:300ms}.moc-adventure .ad-hero-copy>:nth-child(8){animation-delay:340ms}
@keyframes ad-rise{to{opacity:1;transform:none}}
@keyframes ad-pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ad-walk{from{transform:translateX(-4vw)}to{transform:translateX(104vw)}}
@keyframes ad-drift{from{transform:translateX(0)}to{transform:translateX(120vw)}}
@keyframes ad-chip{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ad-float{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}
@keyframes ad-flash-up{0%{background:rgba(54,160,102,.28)}100%{background:transparent}}
@keyframes ad-flash-down{0%{background:rgba(196,70,50,.24)}100%{background:transparent}}

@media (hover:hover) and (pointer:fine){
  .moc-adventure .ad-features article:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(138,90,20,.12)}
  .moc-adventure .ad-button-gold:hover{box-shadow:0 10px 28px rgba(227,180,95,.6)}
  .moc-adventure .ad-button-ghost:hover{background:#f5f5f5}
  .moc-adventure .ad-choices button:not(:disabled):hover{border-color:var(--ad-gold);background:#f5f5f5}
  .moc-adventure .ad-hud-controls button:hover{background:#f5f5f5}
}
@media (max-width:900px){
  .moc-adventure .ad-numbers{grid-template-columns:repeat(2,minmax(0,1fr));margin:-24px 12px 0}
  .moc-adventure .ad-numbers div:nth-child(3){border-left:0}
  .moc-adventure .ad-numbers div:nth-child(n+3){border-top:1px solid var(--ad-line)}
  .moc-adventure .ad-features{grid-template-columns:1fr}
  .moc-adventure .ad-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .moc-adventure .ad-layout{grid-template-columns:1fr}
  .moc-adventure .ad-hero-copy{padding:56px 24px 44px}
  .moc-adventure .ad-summary{grid-template-columns:100px minmax(0,1fr)}
  .moc-adventure .ad-hud{top:60px}
}
@media (prefers-reduced-motion:reduce){
  .moc-adventure .ad-walker{animation:none;left:34%}
  .moc-adventure .ad-clouds i{animation:none}
  .moc-adventure .ad-hero-copy>*{opacity:1;transform:none;animation:none}
  .moc-adventure .ad-dialog[open]{animation:none}
  .moc-adventure .ad-changes span,.moc-adventure .ad-delta,.moc-adventure .ad-stat.is-up,.moc-adventure .ad-stat.is-down{animation:none}
  .moc-adventure .ad-hud-bar i,.moc-adventure .ad-stat i::after,.moc-adventure .ad-switch,.moc-adventure .ad-switch::after,.moc-adventure .ad-button,.moc-adventure .ad-features article{transition:none}
}

.moc-adventure .ad-stat{position:relative;border-radius:10px;margin-left:-6px;margin-right:-6px;padding:2px 6px 0}
.moc-adventure .ad-stat.is-up{animation:ad-flash-up 1.2s var(--ad-ease)}
.moc-adventure .ad-stat.is-down{animation:ad-flash-down 1.2s var(--ad-ease)}
.moc-adventure .ad-delta{position:absolute;right:46px;top:-2px;font-style:normal;font-size:13px;font-weight:700;opacity:0;animation:ad-float 1.3s var(--ad-ease) forwards}
.moc-adventure .ad-stat.is-up .ad-delta{color:#1f6b46}
.moc-adventure .ad-stat.is-down .ad-delta{color:#a8321f}
.moc-adventure .ad-changes span{animation:ad-chip .3s var(--ad-ease) both}
.moc-adventure .ad-verdict{display:inline-block;margin:6px 0 2px;padding:5px 14px;border-radius:99px;font-size:13px;font-weight:700}
.moc-adventure .ad-verdict.is-win{background:#e3f1e8;color:#1f6b46}
.moc-adventure .ad-verdict.is-lose{background:#f8e6e1;color:#a8321f}
.moc-adventure .ad-choices small.ad-risk{color:#8a6a1a}
.moc-adventure .ad-codex h2{margin-bottom:6px}
.moc-adventure .ad-codex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.moc-adventure .ad-codex-card{display:grid;gap:6px;padding:16px;border-radius:12px;background:var(--ad-card);border:1px solid var(--ad-line)}
.moc-adventure .ad-codex-card span{font-size:13px;color:var(--ad-muted)}
.moc-adventure .ad-codex-card strong{font-family:var(--ad-serif);font-size:22px;color:var(--ad-gold-deep)}
.moc-adventure .ad-codex-card i{position:relative;height:6px;border-radius:99px;background:#e5e5e5;overflow:hidden}
.moc-adventure .ad-codex-card i::after{content:"";position:absolute;inset:0;width:var(--value,0);background:linear-gradient(90deg,#d49d3f,#f0c46d)}
.moc-adventure .ad-codex-h{margin:20px 0 10px;font-size:14px;color:var(--ad-muted)}
.moc-adventure .ad-titles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.moc-adventure .ad-titles li{display:grid;gap:3px;padding:12px 14px;border-radius:12px;border:1px solid var(--ad-line);background:var(--ad-card)}
.moc-adventure .ad-titles li strong{color:var(--ad-ink)}
.moc-adventure .ad-titles li span{font-size:12.5px;color:var(--ad-muted);line-height:1.5}
.moc-adventure .ad-titles li.is-on{border-color:#ecd49a;background:linear-gradient(180deg,#f5f5f5,#e5e5e5)}
.moc-adventure .ad-titles li.is-on strong{color:var(--ad-gold-deep)}
.moc-adventure .ad-titles li.is-off{opacity:.65}
.moc-adventure .ad-unlocked{margin:0 0 16px;padding:14px 18px;border-radius:12px;background:#fff;border:1px solid #ecd49a}
.moc-adventure .ad-unlocked strong{color:var(--ad-gold-deep)}
.moc-adventure .ad-unlocked ul{margin:8px 0 0;padding-left:18px;line-height:1.7;color:var(--ad-ink)}
.moc-adventure .ad-log li.is-moment{color:var(--ad-muted);font-style:italic}
@media (max-width:900px){.moc-adventure .ad-codex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.moc-adventure .ad-verse{margin:14px 0;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #ecd49a;border-left:4px solid var(--ad-gold)}
.moc-adventure .ad-verse[hidden]{display:none}
.moc-adventure .ad-verse cite{display:block;margin-bottom:8px;font-style:normal;font-size:12.5px;font-weight:700;color:var(--ad-gold-deep)}
.moc-adventure .ad-verse>div{max-height:200px;overflow:auto;font-family:var(--ad-serif);font-size:15px;line-height:1.85}
.moc-adventure .ad-verse p,.moc-adventure .ad-dialog .ad-verse p,.moc-adventure .ad-ending .ad-verse p{margin:0 0 4px;color:var(--ad-ink)}
.moc-adventure .ad-verse sup{margin-right:2px;font-family:inherit;font-size:11px;font-weight:700;color:#a1763a}
.moc-adventure .ad-verse .ad-verse-wait,.moc-adventure .ad-dialog .ad-verse .ad-verse-wait{color:#8b8d84;font-size:13px}
/* Character conversation inside an encounter */
.moc-adventure .ad-character-chat{position:relative;margin:24px 0;padding:22px;border:1px solid #ecd49a;border-radius:12px;background:radial-gradient(120% 70% at 0% 0%,rgba(248,217,142,.28),transparent 60%),linear-gradient(180deg,#f5f5f5,#f5f5f5);color:var(--ad-ink);box-shadow:0 14px 36px rgba(138,90,20,.12),inset 0 1px 0 #fff;overflow:hidden}
.moc-adventure .ad-character-chat::before{content:"";position:absolute;inset:0 24px auto;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,#e3b45f,transparent)}
.moc-adventure .ad-character-chat header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.moc-adventure .ad-character-chat header .ad-chip{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid #ecd49a;background:var(--ad-gold-soft);color:var(--ad-gold-deep);letter-spacing:.08em}
.moc-adventure .ad-character-chat header .ad-chip::before{content:"";width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--ad-gold);box-shadow:0 0 0 3px rgba(227,180,95,.25)}
.moc-adventure .ad-character-chat header h3{margin:0;font-family:var(--ad-serif);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ad-ink)}
.moc-adventure .ad-character-chat .ad-chat-note{display:block;margin:12px 0 0;font-size:12.5px;line-height:1.75;color:var(--ad-muted)}
.moc-adventure .ad-character-chat small.ad-chat-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--ad-line);font-size:11.5px;color:#8b8d84}
.moc-adventure .ad-chat-messages{max-height:320px;margin:14px -16px -6px;padding:8px 16px 16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e3c98a transparent}
.moc-adventure .ad-chat-bubble{max-width:88%;padding:12px 16px 13px;border:1px solid var(--ad-line);border-radius:4px 18px 18px 18px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);align-self:flex-start;overflow-wrap:anywhere;transform-origin:left bottom;animation:ad-bubble .28s var(--ad-ease) both}
.moc-adventure .ad-chat-bubble.is-user{border-color:transparent;border-radius:12px 4px 18px 18px;background:linear-gradient(180deg,#f8d98e,#e3b45f);box-shadow:0 6px 16px rgba(227,180,95,.35);align-self:flex-end;transform-origin:right bottom}
.moc-adventure .ad-chat-bubble strong{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;color:#a1763a}
.moc-adventure .ad-chat-bubble.is-user strong{color:rgba(58,39,5,.7)}
.moc-adventure .ad-chat-bubble p{margin:6px 0 0;font-size:14.5px;line-height:1.85;white-space:pre-wrap;color:var(--ad-ink)}
.moc-adventure .ad-chat-bubble.is-user p{color:#3a2705}
.moc-adventure .ad-chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 14px}
.moc-adventure .ad-chat-suggestions button{min-height:38px;padding:8px 14px;border:1px solid #ecd49a;border-radius:99px;background:#fff;color:var(--ad-gold-deep);font-size:12.5px;line-height:1.4;text-align:left;cursor:pointer;transition:transform .16s var(--ad-ease),background-color .2s ease,border-color .2s ease}
.moc-adventure .ad-chat-suggestions button:active{transform:scale(.97)}
.moc-adventure .ad-character-chat form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:end;padding:10px 10px 10px 14px;border:1px solid #e6d9b8;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);transition:border-color .2s ease,box-shadow .2s ease}
.moc-adventure .ad-character-chat form:focus-within{border-color:var(--ad-gold);box-shadow:0 0 0 3px rgba(227,180,95,.25)}
.moc-adventure .ad-character-chat label{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.14em;color:#a1763a}
.moc-adventure .ad-character-chat textarea{min-width:0;max-height:140px;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--ad-ink);font-size:14.5px;line-height:1.65;resize:none;field-sizing:content}
.moc-adventure .ad-character-chat textarea:focus-visible{outline:0}
.moc-adventure .ad-character-chat textarea::placeholder{color:#a8a89c}
.moc-adventure .ad-character-chat form button{min-height:42px;padding:0 20px;font-size:14px;align-self:end}
.moc-adventure .ad-character-chat button:disabled,.moc-adventure .ad-character-chat textarea:disabled{opacity:.5;cursor:default}
.moc-adventure .ad-character-chat .ad-chat-status{min-height:20px;margin:12px 2px 0;font-size:12px;line-height:1.7;color:var(--ad-muted)}
@keyframes ad-bubble{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.moc-adventure .ad-chat-suggestions button:not(:disabled):hover{border-color:var(--ad-gold);background:#f5f5f5}}
@media(max-width:640px){.moc-adventure .ad-character-chat{padding:16px;border-radius:12px}.moc-adventure .ad-chat-messages{max-height:260px}.moc-adventure .ad-chat-bubble{max-width:94%}.moc-adventure .ad-character-chat form button{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.moc-adventure .ad-chat-bubble{animation:none}}
