:root {
  --navy: #0d1424;
  --navy-deep: #070b13;
  --gold: #dba542;
  --gold-soft: #f5d17b;
  --cream: #f8eedb;
  --text: #fff7e8;
  --muted: #d8c5a6;
}

* { box-sizing: border-box; }

html,
body {
  min-height: 100%;
  margin: 0;
  background: #070b13;
}

body {
  font-family: "Aptos", "Segoe UI", Arial, sans-serif;
  color: var(--text);
}

.landing-wrap {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #070b13;
  overflow: hidden;
}

.landing-art {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
  display: block;
  filter: saturate(1.04);
}

.sparkle {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(245, 209, 123, 0.85);
  box-shadow: 0 0 22px rgba(245, 209, 123, 0.95);
  animation: drift 10s linear infinite;
}

.sparkle-one { left: 18%; bottom: 18%; animation-delay: 0s; }
.sparkle-two { left: 31%; bottom: 27%; animation-delay: 3s; }
.sparkle-three { left: 42%; bottom: 15%; animation-delay: 6s; }

.utility-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
  background:
    radial-gradient(circle at 50% 48%, rgba(219, 165, 66, 0.16), transparent 30%),
    linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 54%, #090d17 100%);
}

.utility-card {
  width: min(620px, 100%);
  padding: 3rem;
  border: 1px solid rgba(245, 209, 123, 0.28);
  border-radius: 28px;
  text-align: center;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
}

.utility-mark {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.eyebrow {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.78rem;
}

.utility-card h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(2.6rem, 7vw, 4.5rem);
  letter-spacing: -0.04em;
  color: var(--gold-soft);
}

.utility-card p {
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.6;
}

.build,
.build a {
  margin-top: 1.5rem;
  color: var(--gold-soft);
  letter-spacing: 0.08em;
  text-decoration: none;
}

@keyframes drift {
  0% { transform: translate3d(0, 0, 0) scale(0.7); opacity: 0; }
  14% { opacity: 0.85; }
  65% { opacity: 0.65; }
  100% { transform: translate3d(30px, -520px, 0) scale(1.15); opacity: 0; }
}

@media (max-width: 820px) {
  .landing-art {
    object-fit: contain;
  }

  .sparkle {
    width: 5px;
    height: 5px;
  }
}


/* ================================================================
   Build 0003 — Storykeeper Access
   ================================================================ */

.auth-page,
.studio-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 0%, rgba(219, 165, 66, 0.15), transparent 28rem),
    linear-gradient(145deg, #090d17 0%, #10192b 55%, #090d17 100%);
  color: #fff7e8;
}

.auth-shell {
  width: min(560px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(1.5rem, 5vw, 4rem) 0;
}

.auth-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1.4rem;
  color: #f5d17b;
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
}

.auth-brand-mark {
  font-size: 1.6rem;
}

.auth-card {
  padding: clamp(1.5rem, 5vw, 3rem);
  border: 1px solid rgba(245, 209, 123, 0.23);
  border-radius: 28px;
  background: rgba(255,255,255,.05);
  box-shadow: 0 30px 85px rgba(0,0,0,.34);
}

.auth-kicker {
  margin: 0 0 .75rem;
  color: #dba542;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .72rem;
  font-weight: 800;
}

.auth-card h1 {
  margin: 0;
  color: #f8eedb;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.25rem, 7vw, 3.7rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}

.auth-intro {
  margin: 1rem 0 1.5rem;
  color: #d8c5a6;
  line-height: 1.65;
}

.auth-form {
  display: grid;
  gap: .7rem;
}

.auth-form label {
  margin-top: .45rem;
  color: #f4e3c7;
  font-weight: 700;
  font-size: .9rem;
}

.auth-form input {
  width: 100%;
  padding: .95rem 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 13px;
  outline: 0;
  background: rgba(0,0,0,.22);
  color: #fff7e8;
  font: inherit;
}

.auth-form input:focus {
  border-color: rgba(245,209,123,.72);
  box-shadow: 0 0 0 4px rgba(219,165,66,.1);
}

.field-help {
  margin: -.2rem 0 .25rem;
  color: #bca98c;
  font-size: .8rem;
}

.auth-submit {
  margin-top: .8rem;
  border: 0;
  border-radius: 999px;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, #f5d17b, #dba542);
  color: #191109;
  font-weight: 900;
  cursor: pointer;
}

.auth-submit:hover {
  filter: brightness(1.06);
}

.auth-switch {
  margin: 1.4rem 0 0;
  color: #cdbb9f;
  text-align: center;
}

.auth-switch a,
.build a {
  color: #f5d17b;
}

.message {
  margin: 1rem 0;
  padding: .9rem 1rem;
  border-radius: 13px;
  line-height: 1.45;
}

.message ul {
  margin: 0;
  padding-left: 1.2rem;
}

.message-error {
  border: 1px solid rgba(255, 133, 133, .35);
  background: rgba(151, 45, 45, .18);
  color: #ffd2d2;
}

.message-success {
  border: 1px solid rgba(116, 217, 159, .35);
  background: rgba(45, 151, 93, .16);
  color: #d9ffe9;
}

.studio-dashboard {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.25rem 0 4rem;
}

.studio-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem 0 2rem;
}

.studio-brand {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #f5d17b;
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.studio-brand-mark {
  font-size: 1.55rem;
}

.studio-account {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.account-name {
  color: #e7d7bd;
  font-size: .9rem;
}

.logout-button {
  border: 1px solid rgba(245,209,123,.28);
  border-radius: 999px;
  padding: .55rem .85rem;
  background: rgba(255,255,255,.04);
  color: #f5d17b;
  cursor: pointer;
}

.studio-welcome {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  padding: clamp(1.6rem,4vw,3.5rem);
  border: 1px solid rgba(245,209,123,.2);
  border-radius: 30px;
  background: linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow: 0 25px 80px rgba(0,0,0,.28);
}

.studio-kicker,
.card-label {
  margin: 0 0 .7rem;
  color: #dba542;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .72rem;
  font-weight: 700;
}

.studio-welcome h1 {
  max-width: 800px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(2.5rem,6vw,5.3rem);
  line-height: 1;
  letter-spacing: -.045em;
  color: #f8eedb;
}

.studio-intro {
  max-width: 780px;
  margin: 1.35rem 0 0;
  color: #d8c5a6;
  font-size: 1.1rem;
  line-height: 1.7;
}

.primary-action {
  border: 0;
  border-radius: 999px;
  padding: 1rem 1.3rem;
  background: #dba542;
  color: #15100a;
  font-weight: 800;
  opacity: .62;
  cursor: not-allowed;
  white-space: nowrap;
}

.principle-card,
.first-storykeeper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  margin: 1.25rem 0;
  padding: 1.6rem;
  border-radius: 22px;
  background: rgba(219,165,66,.1);
  border: 1px solid rgba(219,165,66,.24);
}

.first-storykeeper {
  background: linear-gradient(135deg, rgba(219,165,66,.14), rgba(255,255,255,.035));
}

.principle-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(245,209,123,.12);
  color: #f5d17b;
  font-size: 1.4rem;
}

.principle-card h2,
.first-storykeeper h2,
.foundation-panel h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  color: #f8eedb;
}

.principle-card p:last-child,
.first-storykeeper p:last-child {
  margin: .55rem 0 0;
  color: #d8c5a6;
  line-height: 1.6;
}

.studio-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.25rem;
}

.studio-card {
  min-height: 300px;
  padding: 1.6rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  display: flex;
  flex-direction: column;
}

.card-icon {
  font-size: 2rem;
  margin-bottom: 1.3rem;
}

.studio-card h2 {
  margin: 0;
  color: #f8eedb;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: 1.8rem;
}

.studio-card > p:not(.card-label) {
  color: #cdbb9f;
  line-height: 1.65;
  flex: 1;
}

.status-tag {
  align-self: flex-start;
  display: inline-flex;
  border: 1px solid rgba(245,209,123,.24);
  border-radius: 999px;
  padding: .48rem .8rem;
  color: #e7c778;
  background: rgba(255,255,255,.04);
  font-size: .76rem;
  letter-spacing: .06em;
}

.foundation-panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(0,0,0,.14);
}

.database-state {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .7rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: #e4d6bd;
  font-size: .84rem;
}

.state-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #dba542;
  box-shadow: 0 0 12px rgba(219,165,66,.7);
}

.database-connected .state-dot {
  background: #74d99f;
  box-shadow: 0 0 12px rgba(116,217,159,.7);
}

.database-connection-failed .state-dot {
  background: #ff8585;
  box-shadow: 0 0 12px rgba(255,133,133,.7);
}

@media (max-width: 820px) {
  .studio-welcome {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .primary-action {
    justify-self: start;
  }

  .studio-grid {
    grid-template-columns: 1fr;
  }

  .foundation-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .studio-dashboard {
    width: min(100% - 1rem,1180px);
  }

  .studio-topbar,
  .studio-account {
    align-items: flex-start;
  }

  .studio-account {
    flex-direction: column;
  }

  .studio-welcome {
    padding: 1.35rem;
    border-radius: 22px;
  }

  .studio-welcome h1 {
    font-size: 2.55rem;
  }

  .principle-card,
  .first-storykeeper {
    grid-template-columns: 1fr;
  }
}

/* Build 0004 — Realms */
.studio-nav{display:flex;gap:.35rem}.studio-nav a{padding:.55rem .75rem;border-radius:999px;color:#d8c5a6;text-decoration:none;font-size:.88rem}.studio-nav a:hover{background:rgba(255,255,255,.06);color:#f5d17b}.enabled-action{display:inline-flex;align-items:center;justify-content:center;opacity:1;cursor:pointer;text-decoration:none}.page-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.4rem}.page-heading h1,.form-heading h1,.realm-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;color:#f8eedb;font-weight:500;letter-spacing:-.045em}.page-heading h1{font-size:clamp(2.8rem,7vw,5rem)}.page-heading p,.form-heading>p,.realm-hero p{color:#d8c5a6;line-height:1.65}.section-heading h2{margin:0;font-family:Georgia,serif;color:#f8eedb;font-weight:500}.section-heading a,.back-link{color:#f5d17b;text-decoration:none}.realm-card-grid,.realm-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.realm-card,.next-step-card{min-height:290px;padding:1.6rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.045);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.18s}.realm-card:hover{transform:translateY(-3px);border-color:rgba(245,209,123,.36);background:rgba(255,255,255,.065)}.realm-card-icon{font-size:2.1rem;margin-bottom:1.25rem}.realm-card h2,.next-step-card h2{margin:0;color:#f8eedb;font-family:Georgia,serif;font-weight:500;font-size:1.8rem}.realm-card>p:not(.card-label),.next-step-card>p:not(.card-label){color:#cdbb9f;line-height:1.65;flex:1}.empty-realm-state{padding:clamp(2rem,7vw,5rem);border:1px dashed rgba(245,209,123,.3);border-radius:28px;background:rgba(255,255,255,.035);text-align:center}.empty-icon{font-size:3.5rem}.empty-realm-state h2{margin:0;font-family:Georgia,serif;color:#f8eedb;font-size:clamp(2rem,5vw,3.4rem);font-weight:500}.empty-realm-state>p:not(.studio-kicker){max-width:620px;margin:1rem auto 1.5rem;color:#d8c5a6;line-height:1.65}.form-page{width:min(800px,100%);margin:0 auto}.form-heading{margin:1.5rem 0}.form-heading h1{font-size:clamp(2.5rem,7vw,4.5rem)}.realm-form{display:grid;gap:.75rem;padding:clamp(1.4rem,4vw,2.5rem);border:1px solid rgba(245,209,123,.2);border-radius:26px;background:rgba(255,255,255,.045)}.realm-form label{margin-top:.45rem;color:#f4e3c7;font-weight:700}.realm-form input,.realm-form select,.realm-form textarea{width:100%;padding:.95rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:13px;outline:0;background:rgba(0,0,0,.22);color:#fff7e8;font:inherit}.realm-form select option{background:#10192b}.realm-form textarea{resize:vertical;min-height:150px}.realm-form input:focus,.realm-form select:focus,.realm-form textarea:focus{border-color:rgba(245,209,123,.72);box-shadow:0 0 0 4px rgba(219,165,66,.1)}.realm-guidance{margin-top:.5rem;padding:1rem;border-radius:14px;background:rgba(219,165,66,.1);color:#d8c5a6;line-height:1.55}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;margin-top:.8rem}.secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.1rem;border:1px solid rgba(245,209,123,.25);border-radius:999px;color:#f5d17b;background:rgba(255,255,255,.035);text-decoration:none}.realm-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin:1.25rem 0;padding:clamp(1.7rem,5vw,3.5rem);border:1px solid rgba(245,209,123,.2);border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(219,165,66,.14),transparent 18rem),linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}.realm-hero h1{font-size:clamp(3rem,8vw,5.8rem)}.light-action{white-space:nowrap}.realm-details{display:flex;justify-content:space-between;gap:2rem;margin-top:1.25rem;padding:1.6rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(0,0,0,.14)}.realm-details dl{display:grid;gap:.8rem;margin:0}.realm-details dl>div{display:grid;grid-template-columns:120px 1fr;gap:1rem}.realm-details dt{color:#a99576}.realm-details dd{margin:0;color:#f4e3c7}.archive-form button{border:1px solid rgba(255,133,133,.32);border-radius:999px;padding:.75rem .95rem;background:rgba(151,45,45,.13);color:#ffcaca;cursor:pointer}@media(max-width:820px){.studio-topbar{flex-wrap:wrap}.studio-nav{order:3;width:100%}.realm-card-grid,.realm-next-grid{grid-template-columns:1fr}.page-heading,.realm-hero,.realm-details{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions>*{width:100%}.realm-details dl>div{grid-template-columns:1fr;gap:.2rem}}

.live-card{color:inherit;text-decoration:none;transition:.18s}.live-card:hover{transform:translateY(-3px);border-color:rgba(245,209,123,.36);background:rgba(255,255,255,.065)}


/* Build 0006 — Discovery Points */
.checkbox-row{display:flex;align-items:flex-start;gap:.75rem;margin-top:.65rem;color:#e8d9c0}
.checkbox-row input{width:auto;margin-top:.2rem}
.point-list{display:grid;gap:.85rem}
.point-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.04);color:inherit;text-decoration:none}
.point-row:hover{border-color:rgba(245,209,123,.35);background:rgba(255,255,255,.06)}
.point-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(219,165,66,.12);color:#f5d17b;font-weight:800}
.point-main{display:grid;gap:.25rem}
.point-main strong{font-family:Georgia,"Times New Roman",serif;color:#f8eedb;font-size:1.25rem;font-weight:500}
.point-main small{color:#bca98c}
.point-source{color:#dba542;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
.point-hero{background:radial-gradient(circle at 88% 10%,rgba(219,165,66,.18),transparent 18rem),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.point-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;margin-top:1.25rem}
.point-detail-grid article,.point-reveal{padding:1.6rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04)}
.point-detail-grid h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:#f8eedb;font-weight:500;font-size:1.7rem;line-height:1.35}
.point-detail-grid p,.point-reveal p:last-child{color:#d8c5a6;line-height:1.7}
.point-detail-grid dl{display:grid;gap:.8rem;margin:0}
.point-detail-grid dl>div{display:grid;grid-template-columns:110px 1fr;gap:1rem}
.point-detail-grid dt{color:#a99576}
.point-detail-grid dd{margin:0;color:#f4e3c7}
.point-reveal{margin-top:1.25rem}
@media(max-width:820px){.point-detail-grid{grid-template-columns:1fr}}
@media(max-width:560px){.point-row{grid-template-columns:auto 1fr}.point-row .status-tag{grid-column:2}.point-detail-grid dl>div{grid-template-columns:1fr;gap:.2rem}}


/* Build 0007 — Discovery Point Ordering */
.journey-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.journey-summary>div{padding:1rem 1.2rem;border:1px solid rgba(245,209,123,.18);border-radius:18px;background:rgba(255,255,255,.035)}
.journey-summary span{display:block;color:#f8eedb;font-family:Georgia,"Times New Roman",serif;font-size:2rem}
.journey-summary small{color:#bca98c}
.ordered-point-row{grid-template-columns:1fr auto;padding:0;overflow:hidden}
.point-row-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;color:inherit;text-decoration:none}
.point-order-controls{display:grid;gap:.35rem;padding:.65rem;border-left:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}
.point-order-controls button{width:38px;height:34px;border:1px solid rgba(245,209,123,.23);border-radius:10px;background:rgba(255,255,255,.04);color:#f5d17b;cursor:pointer}
.point-order-controls button:disabled{opacity:.25;cursor:not-allowed}
@media(max-width:620px){.journey-summary{grid-template-columns:1fr}.point-row-link{grid-template-columns:auto 1fr}.point-row-link .status-tag{grid-column:2;justify-self:start}}


/* Build 0007.1 — Counter and Ordering Polish */
.journey-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem}
.summary-stat{padding:1.15rem 1.3rem;border:1px solid rgba(245,209,123,.18);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025))}
.summary-number{display:block;color:#f8eedb;font-family:Georgia,"Times New Roman",serif;font-size:2.25rem;line-height:1}
.summary-label{display:block;margin-top:.4rem;color:#cdbb9f;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ordered-point-row{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;overflow:hidden}
.point-row-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem 1.25rem;color:inherit;text-decoration:none}
.point-order-controls{display:flex;align-items:center;gap:.55rem;padding:.85rem;border-left:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}
.point-order-controls form{margin:0}
.order-button{display:inline-flex;align-items:center;justify-content:center;min-width:105px;padding:.72rem .85rem;border:1px solid rgba(245,209,123,.25);border-radius:999px;background:rgba(255,255,255,.04);color:#f5d17b;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.order-button:hover:not(:disabled){border-color:rgba(245,209,123,.5);background:rgba(245,209,123,.1)}
.order-button:disabled{opacity:.28;cursor:not-allowed}
@media(max-width:860px){.ordered-point-row{grid-template-columns:1fr}.point-order-controls{justify-content:flex-end;border-top:1px solid rgba(255,255,255,.08);border-left:0}}
@media(max-width:620px){.journey-summary{grid-template-columns:1fr}.point-row-link{grid-template-columns:auto 1fr}.point-row-link .status-tag{grid-column:2;justify-self:start}.point-order-controls{display:grid;grid-template-columns:1fr 1fr}.order-button{width:100%;min-width:0}}


/* Build 0008 — Answer Verification Foundation */
.verification-guidance {
  margin-top: .45rem;
  padding: 1rem;
  border: 1px solid rgba(245, 209, 123, .18);
  border-radius: 14px;
  background: rgba(219, 165, 66, .08);
  color: #d8c5a6;
  line-height: 1.55;
}

.verification-guidance strong {
  color: #f5d17b;
}

.verification-preview {
  margin-top: 1.25rem;
  padding: 1.4rem 1.6rem;
  border: 1px solid rgba(116, 217, 159, .2);
  border-radius: 20px;
  background: rgba(45, 151, 93, .08);
}

.verification-preview p:last-child {
  margin-bottom: 0;
  color: #d9eadf;
  line-height: 1.65;
}

/* Build 0009 — Explorer MVP */
.explorer-page{min-height:100vh;background:#070b12;color:#f8ead0;font-family:Arial,Helvetica,sans-serif;overflow:auto}
.explorer-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(circle at 50% 12%,rgba(219,165,66,.15),transparent 28rem),linear-gradient(160deg,#080d17,#03060b)}
.explorer-card{width:min(680px,100%);padding:clamp(1.5rem,5vw,3.5rem);border:1px solid rgba(245,209,123,.22);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 30px 90px rgba(0,0,0,.42);text-align:center}
.explorer-card h1{margin:.25rem 0 1rem;color:#fff1cf;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,10vw,5.2rem);font-weight:500;line-height:1;letter-spacing:-.045em}
.explorer-eyebrow,.explorer-preview{margin:0 0 .85rem;color:#f5d17b;font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.explorer-preview{display:inline-block;padding:.45rem .7rem;border:1px solid rgba(245,209,123,.25);border-radius:999px;background:rgba(219,165,66,.08)}
.explorer-lead,.explorer-story,.explorer-meta{color:#d8c5a6;line-height:1.75}
.explorer-lead{font-size:1.08rem}.explorer-story{margin:1.5rem auto;max-width:560px;font-family:Georgia,"Times New Roman",serif;font-size:1.16rem;color:#efe0c5}.explorer-meta{font-size:.9rem}
.explorer-primary,.explorer-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:1rem;padding:.95rem 1.2rem;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}
.explorer-primary{border:1px solid #f5d17b;background:linear-gradient(135deg,#f5d17b,#dba542);color:#171006;box-shadow:0 12px 35px rgba(219,165,66,.18)}
.explorer-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.explorer-secondary{border:1px solid rgba(245,209,123,.28);background:rgba(255,255,255,.035);color:#f5d17b}
.explorer-clue{margin:1.3rem auto 1.7rem;color:#fff1d5;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,5vw,2.25rem);line-height:1.45}
.explorer-answer-form{display:grid;gap:.75rem;margin-top:1.3rem;text-align:left}.explorer-answer-form label{color:#e9d9bd;font-weight:700}.explorer-answer-form input{width:100%;padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(0,0,0,.24);color:#fff7e8;font:inherit;font-size:1.05rem;outline:0}.explorer-answer-form input:focus{border-color:#f5d17b;box-shadow:0 0 0 4px rgba(219,165,66,.12)}
.explorer-error,.explorer-success{margin:1rem 0;padding:1rem 1.1rem;border-radius:15px;line-height:1.55;text-align:left}.explorer-error{border:1px solid rgba(255,135,135,.28);background:rgba(143,36,36,.15);color:#ffd2d2}.explorer-success{border:1px solid rgba(116,217,159,.24);background:rgba(45,151,93,.11);color:#d8f1df}
.explorer-hint{margin:1rem 0;padding:1rem 1.1rem;border:1px solid rgba(245,209,123,.16);border-radius:15px;background:rgba(219,165,66,.07);text-align:left;color:#d8c5a6}.explorer-hint summary{color:#f5d17b;font-weight:800;cursor:pointer}.explorer-hint p{margin:.75rem 0 0;line-height:1.6}
.explorer-door-mark{width:70px;height:96px;margin:0 auto 1.4rem;border:4px solid #f5d17b;border-bottom:0;border-radius:36px 36px 0 0;box-shadow:0 0 28px rgba(245,209,123,.2),inset 0 0 26px rgba(245,209,123,.12)}.explorer-door-closed{opacity:.55;box-shadow:none}.adventure-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}
@media(max-width:620px){.explorer-shell{padding:.75rem}.explorer-card{border-radius:24px}.adventure-actions{width:100%;justify-content:flex-start}.adventure-actions a{width:100%}}

/* Build 0010 — Explorer Immersion */
.explorer-page{overscroll-behavior-y:none}
.explorer-page *{box-sizing:border-box}
.explorer-page body{margin:0}
.explorer-shell{position:relative;isolation:isolate;overflow:hidden;transition:opacity .28s ease,transform .28s ease}
.explorer-shell::before,.explorer-shell::after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(12px);pointer-events:none}
.explorer-shell::before{width:min(58vw,620px);height:min(58vw,620px);top:-26%;left:-16%;background:radial-gradient(circle,rgba(219,165,66,.12),transparent 68%)}
.explorer-shell::after{width:min(52vw,560px);height:min(52vw,560px);right:-22%;bottom:-30%;background:radial-gradient(circle,rgba(72,99,137,.16),transparent 68%)}
.explorer-card{position:relative;isolation:isolate;overflow:hidden;opacity:0;transform:translateY(14px) scale(.99);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.explorer-ready .explorer-card{opacity:1;transform:none}
.explorer-leaving .explorer-card{opacity:0;transform:translateY(-8px) scale(.995);transition-duration:.26s}
.explorer-card-glow{position:absolute;z-index:-1;inset:-45% 12% auto;height:60%;border-radius:50%;background:radial-gradient(circle,rgba(245,209,123,.13),transparent 66%);pointer-events:none}
.explorer-welcome-card,.explorer-complete-card{width:min(740px,100%)}
.explorer-challenge-card{width:min(760px,100%)}
.explorer-card h1{text-wrap:balance}
.explorer-lead,.explorer-story,.explorer-clue{text-wrap:pretty}
.explorer-story{font-size:clamp(1.05rem,2.2vw,1.22rem)}
.explorer-clue{max-width:620px;font-size:clamp(1.45rem,4.2vw,2.2rem)}
.explorer-answer-form{max-width:560px;margin-inline:auto}
.explorer-answer-form input{min-height:56px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.explorer-answer-form input:hover{background:rgba(0,0,0,.3)}
.explorer-primary{gap:.65rem;position:relative;overflow:hidden;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease,opacity .2s ease}
.explorer-primary::before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transition:transform .65s ease}
.explorer-primary:hover::before{transform:translateX(120%)}
.explorer-primary:active{transform:translateY(1px) scale(.995)}
.explorer-primary:focus-visible,.explorer-answer-form input:focus-visible,.explorer-hint summary:focus-visible{outline:3px solid rgba(245,209,123,.42);outline-offset:3px}
.explorer-primary:disabled{cursor:wait;opacity:.82;transform:none}
.explorer-button-arrow{font-size:1.2em;transition:transform .2s ease}
.explorer-primary:hover .explorer-button-arrow{transform:translateX(4px)}
.explorer-primary.is-loading .explorer-button-arrow{width:1em;height:1em;border:2px solid rgba(23,16,6,.35);border-top-color:#171006;border-radius:50%;font-size:0;animation:explorerSpin .75s linear infinite}
.explorer-error,.explorer-success{display:flex;align-items:flex-start;gap:.8rem;max-width:580px;margin-inline:auto;animation:explorerNotice .38s cubic-bezier(.2,.8,.2,1)}
.explorer-status-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;font-weight:900;line-height:1}
.explorer-error .explorer-status-icon{background:rgba(255,135,135,.15);color:#ffd2d2}
.explorer-success .explorer-status-icon{background:rgba(116,217,159,.15);color:#d8f1df}
.explorer-card.has-error{animation:explorerNudge .42s ease .28s}
.explorer-hint{max-width:560px;margin-inline:auto;padding:0;overflow:hidden;transition:border-color .25s ease,background .25s ease}
.explorer-hint summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;list-style:none}
.explorer-hint summary::-webkit-details-marker{display:none}
.explorer-hint-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}
.explorer-hint.is-open .explorer-hint-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.explorer-hint-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.explorer-hint-body>div{overflow:hidden}
.explorer-hint.is-open .explorer-hint-body{grid-template-rows:1fr}
.explorer-hint p{padding:0 1.1rem 1rem;margin:0}
.explorer-door-mark{position:relative;transform-origin:bottom;animation:explorerDoorFloat 4s ease-in-out infinite}
.explorer-door-mark::after{content:"";position:absolute;right:12px;top:53%;width:5px;height:5px;border-radius:50%;background:#f5d17b;box-shadow:0 0 9px rgba(245,209,123,.9)}
.explorer-door-mark span{position:absolute;inset:10px 10px 0;border:1px solid rgba(245,209,123,.3);border-bottom:0;border-radius:26px 26px 0 0;background:linear-gradient(180deg,rgba(245,209,123,.06),rgba(0,0,0,.04))}
.explorer-door-invitation{width:56px;height:78px;margin-bottom:1.1rem;opacity:.9}
.explorer-door-open{perspective:300px}
.explorer-door-open span{transform-origin:left;transform:perspective(260px) rotateY(-56deg);background:linear-gradient(90deg,rgba(245,209,123,.42),rgba(245,209,123,.08));box-shadow:12px 0 30px rgba(245,209,123,.16)}
.explorer-closing-message{margin-top:1.75rem}
.explorer-completion-rule{display:flex;align-items:center;justify-content:center;margin:1.8rem auto 1rem;width:min(240px,70%)}
.explorer-completion-rule::before,.explorer-completion-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(245,209,123,.45))}
.explorer-completion-rule::after{transform:scaleX(-1)}
.explorer-completion-rule span{width:8px;height:8px;margin:0 .7rem;border:1px solid #f5d17b;transform:rotate(45deg)}
@keyframes explorerSpin{to{transform:rotate(360deg)}}
@keyframes explorerNotice{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes explorerNudge{0%,100%{transform:none}30%{transform:translateX(-5px)}60%{transform:translateX(4px)}}
@keyframes explorerDoorFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:620px){
  .explorer-shell{display:flex;align-items:center;justify-content:center;padding:max(.8rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}
  .explorer-card{padding:clamp(1.25rem,6vw,2rem);border-radius:22px;max-height:calc(100dvh - 1.6rem);overflow-y:auto;scrollbar-width:none}
  .explorer-card::-webkit-scrollbar{display:none}
  .explorer-card h1{font-size:clamp(2.25rem,12vw,3.7rem)}
  .explorer-clue{font-size:clamp(1.28rem,6vw,1.8rem);line-height:1.48}
  .explorer-story{line-height:1.65}
  .explorer-primary{min-height:54px}
}
@media(max-height:720px) and (min-width:621px){
  .explorer-shell{align-items:start;padding-block:1rem}
  .explorer-card{padding-block:1.8rem}
  .explorer-door-invitation{width:44px;height:62px;margin-bottom:.65rem}
  .explorer-card h1{font-size:clamp(2.4rem,8vh,4rem)}
  .explorer-story{margin-block:1rem}
}
@media(prefers-reduced-motion:reduce){
  .explorer-card,.explorer-shell,.explorer-primary,.explorer-primary::before,.explorer-button-arrow,.explorer-hint-body,.explorer-hint-chevron{transition:none!important}
  .explorer-card,.explorer-error,.explorer-success,.explorer-door-mark,.explorer-card.has-error{animation:none!important}
}

/* Build 0010.1 — Desktop fit and staged challenge transition */
.explorer-challenge-card{
  width:min(1100px,100%);
  padding:clamp(1.4rem,2.8vw,2.6rem) clamp(1.5rem,4vw,4rem);
}
.explorer-challenge-card .explorer-eyebrow{margin-bottom:.65rem}
.explorer-challenge-card .explorer-success,
.explorer-challenge-card .explorer-error{max-width:920px}
.explorer-challenge-card .explorer-clue{
  max-width:960px;
  margin:1rem auto 1.25rem;
  font-size:clamp(1.35rem,1.75vw,1.8rem);
  line-height:1.36;
}
.explorer-challenge-card .explorer-answer-form,
.explorer-challenge-card .explorer-hint{max-width:920px}
.explorer-next-content{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.explorer-reveal-next .explorer-next-content{
  opacity:1;
  transform:none;
}
[data-success-transition="1"] .explorer-success{
  animation:explorerSuccessHold .85s ease both;
}
@keyframes explorerSuccessHold{
  0%{opacity:0;transform:translateY(-8px) scale(.99)}
  35%,100%{opacity:1;transform:none}
}
@media(min-width:900px) and (max-height:950px){
  .explorer-shell{padding:1rem 2rem;align-items:center}
  .explorer-challenge-card{padding-block:1.35rem}
  .explorer-challenge-card .explorer-clue{
    font-size:clamp(1.2rem,2.2vh,1.55rem);
    line-height:1.3;
    margin:.75rem auto 1rem;
  }
  .explorer-success,.explorer-error{margin:.7rem auto;padding:.75rem 1rem}
  .explorer-hint{margin:.7rem auto}
  .explorer-hint summary{padding:.8rem 1rem}
  .explorer-answer-form{margin-top:.85rem;gap:.55rem}
  .explorer-answer-form input{min-height:50px;padding:.78rem 1rem}
  .explorer-primary{min-height:48px;margin-top:.7rem;padding:.75rem 1.1rem}
}
@media(max-width:620px){
  .explorer-challenge-card{width:100%;padding:1.25rem}
  .explorer-challenge-card .explorer-clue{font-size:clamp(1.2rem,5.6vw,1.65rem);line-height:1.42}
}
@media(prefers-reduced-motion:reduce){
  .explorer-next-content{opacity:1;transform:none;transition:none}
  [data-success-transition="1"] .explorer-success{animation:none}
}

/* Build 0010.2 — Desktop reading layout */
@media (min-width: 900px) {
  .explorer-shell {
    padding: 1rem clamp(1rem, 3vw, 3rem);
  }

  .explorer-challenge-card {
    width: min(1380px, calc(100vw - 3rem));
    max-height: calc(100dvh - 2rem);
    padding: 1.35rem clamp(1.5rem, 3vw, 3rem) 1.6rem;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(245,209,123,.28) transparent;
  }

  .explorer-challenge-card::-webkit-scrollbar { width: 8px; }
  .explorer-challenge-card::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(245,209,123,.24);
  }

  .explorer-challenge-card .explorer-eyebrow {
    margin-bottom: .75rem;
  }

  .explorer-challenge-card .explorer-success {
    max-width: none;
    margin: 0 0 1rem;
  }

  .explorer-next-content {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr);
    gap: clamp(1.5rem, 3vw, 3.5rem);
    align-items: center;
  }

  .explorer-clue-panel {
    min-width: 0;
    padding-right: clamp(.25rem, 1vw, 1rem);
  }

  .explorer-action-panel {
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid rgba(245,209,123,.12);
    border-radius: 20px;
    background: rgba(3,6,11,.25);
  }

  .explorer-challenge-card .explorer-clue {
    max-width: none;
    margin: 0;
    text-align: left;
    font-size: clamp(1.18rem, 1.35vw, 1.55rem);
    line-height: 1.48;
    text-wrap: pretty;
  }

  .explorer-challenge-card.is-short .explorer-clue {
    font-size: clamp(1.45rem, 1.8vw, 2rem);
    line-height: 1.42;
  }

  .explorer-challenge-card.is-medium .explorer-clue {
    font-size: clamp(1.3rem, 1.55vw, 1.72rem);
    line-height: 1.45;
  }

  .explorer-challenge-card.is-long .explorer-clue {
    font-size: clamp(1.12rem, 1.2vw, 1.42rem);
    line-height: 1.46;
  }

  .explorer-challenge-card.is-very-long .explorer-clue {
    font-size: clamp(1rem, 1.05vw, 1.25rem);
    line-height: 1.43;
  }

  .explorer-challenge-card .explorer-answer-form,
  .explorer-challenge-card .explorer-hint,
  .explorer-challenge-card .explorer-error {
    max-width: none;
    width: 100%;
  }

  .explorer-challenge-card .explorer-hint:first-child,
  .explorer-challenge-card .explorer-error:first-child {
    margin-top: 0;
  }
}

@media (min-width: 900px) and (max-height: 760px) {
  .explorer-challenge-card {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .explorer-next-content {
    align-items: start;
  }

  .explorer-challenge-card .explorer-clue {
    font-size: clamp(1rem, 1.1vw, 1.3rem);
    line-height: 1.38;
  }

  .explorer-action-panel {
    padding: .9rem;
  }
}

@media (max-width: 899px) {
  .explorer-next-content {
    display: block;
  }

  .explorer-clue-panel,
  .explorer-action-panel {
    padding: 0;
    border: 0;
    background: transparent;
  }
}

/* Build 0010.4 — Content visibility resilience hotfix
   Essential Explorer content is visible by default. JavaScript may enhance
   the entrance, but a stale, blocked, or mismatched script can never leave
   an Adventure blank. */
.explorer-next-content {
  opacity: 1 !important;
  transform: none !important;
}
.explorer-reveal-next .explorer-next-content {
  animation: explorerNextReveal .48s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes explorerNextReveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .explorer-reveal-next .explorer-next-content { animation: none !important; }
}


/* Build 0011 — Kooriosity
   Craft release: stronger reading rhythm, a less form-like interaction panel,
   and a distinct Mark-earned moment. No essential content depends on JS. */
.explorer-panel-kicker{
  margin:0 0 .7rem;
  color:rgba(245,209,123,.78);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  line-height:1.3;
  text-transform:uppercase;
}
.explorer-action-kicker{margin-bottom:.9rem}
.explorer-notice-copy{display:grid;gap:.18rem}
.explorer-notice-copy strong{
  color:#eff9f1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-weight:600;
}
.explorer-notice-copy>span{color:#cce7d4}
.explorer-mark-moment{
  position:relative;
  overflow:hidden;
  border-color:rgba(129,224,168,.32);
  background:linear-gradient(135deg,rgba(45,151,93,.18),rgba(45,151,93,.07));
  box-shadow:0 12px 38px rgba(17,92,53,.13);
}
.explorer-mark-moment::after{
  content:"";
  position:absolute;
  inset:-90% auto -90% -25%;
  width:34%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  animation:explorerMarkGlimmer 1.05s .16s ease both;
  pointer-events:none;
}
.explorer-mark-icon{
  border:1px solid rgba(144,237,181,.28);
  box-shadow:0 0 18px rgba(116,217,159,.14);
}
.explorer-clue-panel{position:relative}
.explorer-clue{
  letter-spacing:-.012em;
  hanging-punctuation:first last;
}
.explorer-action-panel{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 20px 45px rgba(0,0,0,.11);
}
.explorer-answer-form label{
  font-size:.9rem;
  letter-spacing:.01em;
}
.explorer-answer-form input{
  min-height:60px;
  border-color:rgba(245,209,123,.18);
  border-radius:16px;
  background:rgba(0,0,0,.29);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.explorer-answer-form input::placeholder{color:rgba(239,224,197,.42)}
.explorer-answer-form input:focus{
  background:rgba(0,0,0,.36);
  border-color:rgba(245,209,123,.72);
  box-shadow:0 0 0 4px rgba(219,165,66,.11),0 12px 32px rgba(0,0,0,.14);
}
.explorer-primary{
  min-height:56px;
  letter-spacing:.012em;
  box-shadow:0 13px 34px rgba(219,165,66,.2),inset 0 1px 0 rgba(255,255,255,.35);
}
.explorer-primary:hover{box-shadow:0 16px 40px rgba(219,165,66,.25),inset 0 1px 0 rgba(255,255,255,.35)}
.explorer-hint{
  border-color:rgba(245,209,123,.14);
  background:rgba(219,165,66,.045);
}
.explorer-hint[open]{
  border-color:rgba(245,209,123,.26);
  background:rgba(219,165,66,.075);
}
@keyframes explorerMarkGlimmer{
  from{transform:translateX(-40%) rotate(18deg);opacity:0}
  25%{opacity:1}
  to{transform:translateX(430%) rotate(18deg);opacity:0}
}
@media(min-width:900px){
  .explorer-next-content{
    grid-template-columns:minmax(0,1.72fr) minmax(340px,.82fr);
    gap:clamp(2rem,4vw,4.5rem);
  }
  .explorer-clue-panel{
    padding:clamp(.25rem,1.1vw,1rem) clamp(.5rem,1.6vw,1.5rem) clamp(.25rem,1.1vw,1rem) 0;
  }
  .explorer-clue-panel::after{
    content:"";
    position:absolute;
    top:4%;
    right:0;
    bottom:4%;
    width:1px;
    background:linear-gradient(180deg,transparent,rgba(245,209,123,.16),transparent);
  }
  .explorer-action-panel{
    padding:clamp(1.15rem,1.8vw,1.65rem);
    border-radius:24px;
  }
  .explorer-challenge-card .explorer-clue{
    max-width:46ch;
    line-height:1.56;
  }
  .explorer-challenge-card.is-short .explorer-clue{max-width:34ch;line-height:1.48}
  .explorer-challenge-card.is-medium .explorer-clue{max-width:40ch;line-height:1.52}
  .explorer-challenge-card.is-long .explorer-clue{max-width:52ch;line-height:1.55}
  .explorer-challenge-card.is-very-long .explorer-clue{max-width:58ch;line-height:1.52}
}
@media(max-width:899px){
  .explorer-panel-kicker{margin-top:.15rem}
  .explorer-action-kicker{display:none}
  .explorer-action-panel{margin-top:1.45rem}
  .explorer-clue{margin-bottom:0}
  .explorer-mark-moment{margin-bottom:1.15rem}
}
@media(max-width:620px){
  .explorer-challenge-card{padding:1.35rem}
  .explorer-challenge-card .explorer-eyebrow{margin-bottom:.8rem}
  .explorer-panel-kicker{font-size:.65rem;margin-bottom:.55rem}
  .explorer-challenge-card .explorer-clue{font-size:clamp(1.24rem,5.8vw,1.68rem);line-height:1.5}
  .explorer-action-panel{margin-top:1.25rem}
  .explorer-answer-form{gap:.7rem}
  .explorer-answer-form input{min-height:58px}
  .explorer-primary{min-height:56px;margin-top:.75rem}
  .explorer-success,.explorer-error{padding:.9rem 1rem}
}
@media(prefers-reduced-motion:reduce){
  .explorer-mark-moment::after{animation:none!important}
}


/* Build 0012.1 — Cinematic Passage
   Slower, staged pacing. The opened door reveals the actual next Discovery Point,
   then the camera moves through it. */
.explorer-cinematic[hidden]{display:none!important}
.explorer-cinematic{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  overflow:hidden;
  opacity:0;
  background:rgba(1,3,7,.92);
  transition:opacity .65s ease;
  pointer-events:none;
}
.explorer-cinematic.is-entering{opacity:1}
.explorer-cinematic::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 52%,rgba(218,160,53,.10),transparent 26%),linear-gradient(180deg,rgba(5,8,14,.25),rgba(0,0,0,.78));
  opacity:.35;
  transition:opacity 1.3s ease;
}
.explorer-cinematic.is-realm-reacting::before{opacity:1}
.explorer-cinematic-vignette{
  position:absolute;
  inset:-12%;
  background:radial-gradient(ellipse at center,transparent 18%,rgba(0,0,0,.38) 54%,rgba(0,0,0,.96) 100%);
  opacity:.5;
  transform:scale(1.12);
  transition:opacity 1.4s ease,transform 3.8s cubic-bezier(.18,.74,.18,1);
}
.explorer-cinematic.is-realm-reacting .explorer-cinematic-vignette{opacity:.9;transform:scale(1)}
.explorer-cinematic-stage{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  width:min(94vw,760px);
  perspective:1500px;
  transform:translateY(18px) scale(.975);
  opacity:0;
  transition:opacity .8s ease,transform 1.1s cubic-bezier(.18,.8,.2,1);
}
.explorer-cinematic.is-entering .explorer-cinematic-stage{opacity:1;transform:none}
.explorer-cinematic-copy{
  display:grid;
  justify-items:center;
  gap:.5rem;
  margin-bottom:1.35rem;
  opacity:0;
  transform:translateY(14px) scale(.98);
  transition:opacity .8s ease,transform 1s cubic-bezier(.2,.8,.2,1);
}
.explorer-cinematic.is-mark-revealed .explorer-cinematic-copy{opacity:1;transform:none}
.explorer-cinematic.is-door-awake .explorer-cinematic-copy{opacity:.25;transform:translateY(-8px) scale(.97)}
.explorer-cinematic-kicker{
  color:#e8bc61;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.3em;
  text-transform:uppercase;
}
.explorer-cinematic-copy strong{
  color:#fff3d5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5.4vw,3.5rem);
  font-weight:500;
  letter-spacing:-.04em;
  text-align:center;
  text-shadow:0 0 34px rgba(236,190,94,.25);
}
.explorer-cinematic-door{
  position:relative;
  width:clamp(180px,28vw,290px);
  height:clamp(260px,40vw,420px);
  transform:translateZ(0) scale(.82);
  opacity:.15;
  filter:drop-shadow(0 34px 48px rgba(0,0,0,.82));
  transition:transform 1.3s cubic-bezier(.18,.78,.18,1),opacity 1s ease,filter 1.2s ease;
}
.explorer-cinematic.is-door-awake .explorer-cinematic-door{
  transform:translateZ(0) scale(1);
  opacity:1;
  filter:drop-shadow(0 38px 54px rgba(0,0,0,.88)) drop-shadow(0 0 28px rgba(230,180,76,.17));
}
.explorer-cinematic-beyond{
  position:absolute;
  inset:15px 15px 0;
  z-index:-2;
  overflow:hidden;
  border-radius:92px 92px 2px 2px;
  background:#0d1424;
  opacity:0;
  transform:scale(1.18);
  filter:blur(13px) brightness(.38) saturate(.8);
  transition:opacity .65s ease,filter 1.1s ease,transform 1.5s cubic-bezier(.18,.8,.2,1);
}
.explorer-cinematic-beyond .explorer-next-content{
  display:block;
  width:760px;
  max-width:none;
  min-height:560px;
  padding:64px 58px;
  transform:translate(-31%,-10%) scale(.58);
  transform-origin:top left;
  background:radial-gradient(circle at 30% 20%,rgba(215,166,66,.10),transparent 32%),#0d1424;
}
.explorer-cinematic-beyond .explorer-action-panel{display:none}
.explorer-cinematic-beyond .explorer-clue-panel::after{display:none}
.explorer-cinematic-beyond .explorer-panel-kicker{font-size:.9rem}
.explorer-cinematic-beyond .explorer-clue{font-size:2rem;line-height:1.55;color:#f4e9d3}
.explorer-cinematic-light{
  position:absolute;
  z-index:-1;
  inset:13px 13px 0;
  border-radius:90px 90px 0 0;
  background:radial-gradient(circle at 52% 46%,rgba(255,245,202,.88),rgba(242,190,78,.46) 38%,rgba(196,125,40,.12) 74%,transparent 100%);
  opacity:.05;
  box-shadow:0 0 45px 16px rgba(242,190,78,.18),0 0 140px 45px rgba(231,164,49,.10);
  transition:opacity 1s ease,box-shadow 1.2s ease,transform 1.5s ease;
}
.explorer-cinematic-frame{
  position:absolute;
  inset:0;
  padding:13px 13px 0;
  overflow:visible;
  border:4px solid rgba(235,195,112,.76);
  border-bottom:0;
  border-radius:100px 100px 4px 4px;
  background:linear-gradient(90deg,#352012,#704724 50%,#311d10);
  box-shadow:inset 0 0 0 4px rgba(20,10,4,.76),0 0 0 1px rgba(255,224,159,.14),0 0 52px rgba(234,183,78,.08);
}
.explorer-cinematic-door-leaf{
  position:absolute;
  inset:15px 15px 0;
  z-index:2;
  border:1px solid rgba(242,205,129,.28);
  border-bottom:0;
  border-radius:82px 82px 2px 2px;
  background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 8%,rgba(0,0,0,.2) 10%,transparent 12%),repeating-linear-gradient(90deg,#3e2412 0 25px,#4d2e17 25px 50px,#38200f 50px 72px);
  box-shadow:inset -16px 0 30px rgba(0,0,0,.36),inset 0 0 0 2px rgba(255,255,255,.025);
  transform-origin:left center;
  transform:perspective(1100px) rotateY(0deg);
  transition:transform 1.6s cubic-bezier(.16,.76,.16,1),box-shadow 1.2s ease;
  backface-visibility:hidden;
}
.explorer-cinematic-knob{
  position:absolute;
  right:14%;
  top:55%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f2ce79;
  box-shadow:0 0 0 4px rgba(80,48,17,.82),0 0 18px rgba(247,205,109,.75);
}
.explorer-cinematic.is-door-opening .explorer-cinematic-door-leaf{
  transform:perspective(1100px) rotateY(-83deg);
  box-shadow:32px 7px 44px rgba(0,0,0,.62);
}
.explorer-cinematic.is-door-opening .explorer-cinematic-light{
  opacity:.9;
  transform:scale(1.045);
  box-shadow:0 0 72px 30px rgba(255,211,111,.38),0 0 190px 85px rgba(231,164,49,.21);
}
.explorer-cinematic.is-door-opening .explorer-cinematic-beyond{opacity:.55}
.explorer-cinematic.is-world-visible .explorer-cinematic-beyond{
  opacity:1;
  filter:blur(2px) brightness(.9) saturate(1);
  transform:scale(1.03);
}
.explorer-cinematic.is-world-visible .explorer-cinematic-light{opacity:.25}
.explorer-cinematic-whisper{
  margin:1.3rem 0 0;
  color:rgba(255,238,203,.84);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,2vw,1.22rem);
  font-style:italic;
  letter-spacing:.045em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .7s ease,transform .8s ease;
}
.explorer-cinematic.is-door-opening .explorer-cinematic-whisper{opacity:1;transform:none}
.explorer-cinematic.is-world-visible .explorer-cinematic-whisper{opacity:.25}
.explorer-cinematic-particles{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1s ease}
.explorer-cinematic.is-door-opening .explorer-cinematic-particles{opacity:1}
.explorer-cinematic-particles i{
  position:absolute;
  left:50%;
  top:55%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#ffe2a1;
  box-shadow:0 0 10px rgba(255,217,139,.85);
  animation:explorerDust 3.6s ease-in-out infinite;
}
.explorer-cinematic-particles i:nth-child(1){margin-left:-165px;margin-top:-85px;animation-delay:-.2s}
.explorer-cinematic-particles i:nth-child(2){margin-left:136px;margin-top:-108px;animation-delay:-1.1s}
.explorer-cinematic-particles i:nth-child(3){margin-left:-112px;margin-top:54px;animation-delay:-1.8s}
.explorer-cinematic-particles i:nth-child(4){margin-left:182px;margin-top:38px;animation-delay:-2.3s}
.explorer-cinematic-particles i:nth-child(5){margin-left:-195px;margin-top:112px;animation-delay:-3s}
.explorer-cinematic-particles i:nth-child(6){margin-left:92px;margin-top:125px;animation-delay:-.75s}
.explorer-cinematic-particles i:nth-child(7){margin-left:-50px;margin-top:-145px;animation-delay:-1.45s}
.explorer-cinematic-particles i:nth-child(8){margin-left:212px;margin-top:-42px;animation-delay:-2.7s}
.explorer-cinematic.is-passing-through{
  opacity:0;
  transition:opacity .88s cubic-bezier(.4,0,.2,1);
}
.explorer-cinematic.is-passing-through .explorer-cinematic-stage{
  transform:translateZ(620px) scale(1.48);
  filter:blur(1px);
  transition:transform 1.05s cubic-bezier(.16,.72,.18,1),filter .7s ease;
}
.explorer-cinematic.is-passing-through .explorer-cinematic-copy,
.explorer-cinematic.is-passing-through .explorer-cinematic-whisper{opacity:0}
.explorer-cinematic-running .explorer-challenge-card{
  opacity:.22;
  transform:scale(.97);
  filter:blur(8px) brightness(.55);
  transition:opacity .8s ease,transform 3.5s cubic-bezier(.2,.8,.2,1),filter .8s ease;
}
.explorer-cinematic-running .explorer-next-content{opacity:0}
.explorer-reveal-next .explorer-next-content{animation:explorerDestinationArrive .9s cubic-bezier(.18,.8,.2,1) both}
@keyframes explorerDestinationArrive{
  from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(5px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes explorerDust{
  0%,100%{transform:translate3d(-8px,12px,0) scale(.62);opacity:.08}
  42%{opacity:.9}
  72%{transform:translate3d(18px,-32px,0) scale(1.18);opacity:.48}
}
@media(max-width:620px){
  .explorer-cinematic-copy{margin-bottom:1rem}
  .explorer-cinematic-door{width:168px;height:242px}
  .explorer-cinematic-beyond{border-radius:76px 76px 2px 2px}
  .explorer-cinematic-beyond .explorer-next-content{width:620px;min-height:500px;padding:54px 46px;transform:translate(-32%,-9%) scale(.52)}
  .explorer-cinematic-whisper{margin-top:1.05rem}
}
@media(prefers-reduced-motion:reduce){
  .explorer-cinematic{display:none!important}
  .explorer-cinematic-running .explorer-challenge-card{opacity:1;transform:none;filter:none}
  .explorer-reveal-next .explorer-next-content{animation:none!important}
}


/* Build 0012.2 — Visible Destination
   The door now opens onto the actual next Discovery Point instead of an opaque surface. */
.explorer-cinematic-door{isolation:isolate}
.explorer-cinematic-beyond{
  z-index:1;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 68% 22%,rgba(255,221,145,.2),transparent 26%),
    radial-gradient(circle at 28% 72%,rgba(137,85,35,.24),transparent 34%),
    linear-gradient(145deg,#172031 0%,#111827 48%,#22170f 100%);
}
.explorer-destination-preview{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.65rem;
  padding:clamp(1.1rem,4vw,2.15rem);
  opacity:1!important;
  transform:scale(1.06);
  text-align:left;
}
.explorer-destination-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 30%,rgba(0,0,0,.2));
}
.explorer-destination-preview .explorer-panel-kicker{
  margin:0;
  color:#e8bc61;
  font-size:clamp(.48rem,1.3vw,.7rem);
  letter-spacing:.2em;
}
.explorer-destination-preview .explorer-clue{
  margin:0;
  max-width:20ch;
  color:#fff1d2;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,2.5vw,1.65rem);
  line-height:1.34;
  text-shadow:0 2px 18px rgba(0,0,0,.82);
}
.explorer-cinematic-frame{
  z-index:3;
  background:transparent;
  box-shadow:
    inset 0 0 0 4px rgba(20,10,4,.76),
    inset 0 0 24px 8px rgba(91,50,19,.38),
    0 0 0 1px rgba(255,224,159,.14),
    0 0 52px rgba(234,183,78,.08);
}
.explorer-cinematic-door-leaf{z-index:4}
.explorer-cinematic-light{z-index:2;pointer-events:none}
.explorer-cinematic.is-door-opening .explorer-cinematic-beyond{
  opacity:.82;
  filter:blur(5px) brightness(.68) saturate(.9);
}
.explorer-cinematic.is-world-visible .explorer-cinematic-beyond{
  opacity:1;
  filter:blur(0) brightness(1) saturate(1.04);
  transform:scale(1);
}
.explorer-cinematic.is-world-visible .explorer-destination-preview{
  transform:scale(1);
  transition:transform 1.15s cubic-bezier(.18,.8,.2,1);
}
.explorer-cinematic-running > .explorer-challenge-card > .explorer-next-content{opacity:0}
@media(max-width:620px){
  .explorer-destination-preview{padding:1.05rem .9rem}
  .explorer-destination-preview .explorer-clue{font-size:1.02rem;line-height:1.3;max-width:17ch}
}

/* Build 0013 — Storykeeper TLC */
.storykeeper-hero{margin-bottom:1.25rem}
.storykeeper-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:1.25rem;align-items:start}
.adventure-canvas,.adventure-health-card,.adventure-summary-card{border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035);box-shadow:0 24px 65px rgba(0,0,0,.18)}
.adventure-canvas{padding:1.45rem}
.canvas-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.canvas-heading h2,.adventure-health-card h2{margin:.2rem 0 0;color:#f8eedb;font-family:Georgia,"Times New Roman",serif;font-weight:500}
.canvas-node,.canvas-empty-node{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.canvas-node:hover,.canvas-empty-node:hover{transform:translateY(-2px);border-color:rgba(245,209,123,.35);background:rgba(255,255,255,.055)}
.canvas-node-bookend{background:linear-gradient(135deg,rgba(219,165,66,.1),rgba(255,255,255,.025))}
.canvas-node-icon,.canvas-sequence{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(219,165,66,.13);color:#f5d17b;font-weight:800}
.canvas-sequence{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}
.canvas-node-copy{display:grid;gap:.22rem}
.canvas-node small,.canvas-empty-node small{color:#bca98c;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.canvas-node strong,.canvas-empty-node strong{color:#f8eedb;font-size:1.08rem}
.canvas-node em{color:#bca98c;font-size:.88rem;font-style:normal}
.canvas-node-action,.canvas-node-status{padding:.42rem .65rem;border-radius:999px;background:rgba(255,255,255,.06);color:#d8c5a6;font-size:.72rem;font-weight:700;white-space:nowrap}
.canvas-node-status.is-ready{background:rgba(64,184,111,.12);color:#a9e6bd}
.canvas-node-status.needs-work{background:rgba(220,157,61,.12);color:#f1c57b}
.canvas-connector{width:2px;height:22px;margin:0 0 0 20px;background:linear-gradient(#dba542,rgba(219,165,66,.16))}
.canvas-empty-node{grid-template-columns:auto 1fr;border-style:dashed}
.canvas-empty-node span:last-child{display:grid;gap:.35rem}
.storykeeper-sidebar{display:grid;gap:1rem;position:sticky;top:1rem}
.adventure-health-card,.adventure-summary-card{padding:1.2rem}
.health-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.health-ring{--health:0;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#dba542 calc(var(--health)*1%),rgba(255,255,255,.08) 0);position:relative}
.health-ring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#151a25}
.health-ring span{position:relative;z-index:1;color:#f8eedb;font-size:.85rem;font-weight:800}
.health-checklist{display:grid;gap:.65rem;margin-top:1rem}
.health-checklist>div{display:flex;align-items:center;gap:.6rem;padding:.62rem .7rem;border-radius:12px;background:rgba(255,255,255,.025);color:#c9b89e;font-size:.86rem}
.health-checklist span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:800}
.health-checklist .is-complete span{background:rgba(64,184,111,.14);color:#a9e6bd}
.health-checklist .needs-work span{background:rgba(220,157,61,.14);color:#f1c57b}
.adventure-summary-card dl{display:grid;gap:.65rem;margin:1rem 0}
.adventure-summary-card dl>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.07)}
.adventure-summary-card dt{color:#a99576}.adventure-summary-card dd{margin:0;color:#f4e3c7;font-weight:700}
.storykeeper-full-action{display:flex;justify-content:center;width:100%;box-sizing:border-box}
.storykeeper-footer-details{margin-top:1.25rem}
.storykeeper-form-section{margin-bottom:1.2rem;padding:1.35rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.035)}
.form-section-heading{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.15rem}
.form-section-heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:rgba(219,165,66,.13);color:#f5d17b;font-size:.75rem;font-weight:800}
.form-section-heading h2{margin:.18rem 0 0;color:#f8eedb;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:500;line-height:1.3}
.form-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-field{display:grid;align-content:start;gap:.45rem}.form-field-wide{grid-column:1/-1}
.storykeeper-form-section label{margin:0;color:#dbc8a8;font-weight:700}
.storykeeper-form-section input,.storykeeper-form-section select,.storykeeper-form-section textarea{margin:0}
.storykeeper-form-section textarea{resize:vertical;min-height:84px}
.storykeeper-form-section .checkbox-row{display:flex;grid-column:1/-1;padding:1rem;border:1px solid rgba(245,209,123,.14);border-radius:14px;background:rgba(219,165,66,.06)}
.storykeeper-form-section .checkbox-row span{display:grid;gap:.2rem}.storykeeper-form-section .checkbox-row small{color:#bca98c;font-weight:400}
@media(max-width:980px){.storykeeper-workspace{grid-template-columns:1fr}.storykeeper-sidebar{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.canvas-heading{display:grid}.canvas-heading .primary-action{justify-self:start}.canvas-node{grid-template-columns:auto 1fr}.canvas-node-action,.canvas-node-status{grid-column:2;justify-self:start}.storykeeper-sidebar{grid-template-columns:1fr}.form-section-grid{grid-template-columns:1fr}.form-field-wide{grid-column:1}.storykeeper-form-section{padding:1rem}.storykeeper-workspace{gap:1rem}}


/* Build 0013.1 — Realm Dashboard */
.realm-creative-hero{margin-bottom:1.25rem}
.realm-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}
.realm-continue-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:2rem;
  margin-bottom:1.25rem;
  padding:clamp(1.35rem,3vw,2rem);
  border:1px solid rgba(245,209,123,.2);
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 20%,rgba(219,165,66,.14),transparent 27%),
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow:0 28px 80px rgba(0,0,0,.2);
}
.realm-continue-copy h2{
  margin:.22rem 0 .55rem;
  color:#f8eedb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.85rem,4vw,3.1rem);
  font-weight:500;
  line-height:1.08;
}
.realm-continue-copy>p:last-of-type{
  max-width:62ch;
  margin-bottom:0;
  color:#d1bea0;
  line-height:1.65;
}
.realm-continue-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
}
.realm-continue-meta span{
  padding:.42rem .68rem;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(0,0,0,.14);
  color:#cdbb9f;
  font-size:.75rem;
  font-weight:700;
}
.realm-continue-actions{
  display:grid;
  min-width:225px;
  gap:.65rem;
}
.realm-continue-actions a{justify-content:center;text-align:center}
.realm-first-adventure{grid-template-columns:minmax(0,1fr) auto}
.realm-pulse-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1.25rem;
}
.realm-pulse-card{
  min-height:260px;
  padding:1.35rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  box-shadow:0 20px 55px rgba(0,0,0,.14);
}
.realm-pulse-card h2{
  margin:.35rem 0 .5rem;
  color:#f8eedb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,3vw,2.45rem);
  font-weight:500;
}
.realm-pulse-stat h2{font-size:3.35rem;line-height:1}
.realm-pulse-card>p:not(.card-label){
  min-height:3.3rem;
  color:#cdbb9f;
  line-height:1.55;
}
.realm-card-link{display:inline-flex;text-decoration:none}
.realm-card-link:hover{
  border-color:rgba(245,209,123,.42);
  background:rgba(245,209,123,.1);
}
.realm-setup-card{
  background:
    linear-gradient(150deg,rgba(116,85,48,.09),rgba(255,255,255,.025));
}
.realm-details-polished{margin-top:0}
@media(max-width:920px){
  .realm-continue-card{grid-template-columns:1fr;gap:1.2rem}
  .realm-continue-actions{display:flex;flex-wrap:wrap;min-width:0}
  .realm-pulse-grid{grid-template-columns:1fr 1fr}
  .realm-setup-card{grid-column:1/-1}
}
@media(max-width:640px){
  .realm-hero-actions{justify-content:flex-start}
  .realm-pulse-grid{grid-template-columns:1fr}
  .realm-setup-card{grid-column:auto}
  .realm-pulse-card{min-height:0}
  .realm-continue-actions{display:grid}
  .realm-continue-actions a{width:100%;box-sizing:border-box}
}


/* Build 0013.2 — Publish Adventure */
.adventure-publish-panel{display:grid;justify-items:end;gap:.75rem}
.adventure-status-row{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}
.adventure-status-row small{color:#bca98c;font-size:.76rem}
.adventure-status-badge,.adventure-list-status{display:inline-flex;align-items:center;gap:.48rem;padding:.48rem .72rem;border:1px solid;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.04em}
.adventure-status-badge>span,.adventure-list-status>span{width:8px;height:8px;border-radius:50%}
.adventure-status-badge.is-draft,.adventure-list-status.is-draft{border-color:rgba(223,170,67,.34);background:rgba(223,170,67,.1);color:#f2c878}
.adventure-status-badge.is-draft>span,.adventure-list-status.is-draft>span{background:#dfa943;box-shadow:0 0 12px rgba(223,169,67,.5)}
.adventure-status-badge.is-published,.adventure-list-status.is-published{border-color:rgba(80,199,126,.34);background:rgba(80,199,126,.1);color:#a9e6bd}
.adventure-status-badge.is-published>span,.adventure-list-status.is-published>span{background:#50c77e;box-shadow:0 0 12px rgba(80,199,126,.5)}
.adventure-publish-card{padding:1.2rem;border:1px solid rgba(223,170,67,.2);border-radius:24px;background:linear-gradient(145deg,rgba(223,170,67,.09),rgba(255,255,255,.025));box-shadow:0 24px 65px rgba(0,0,0,.18)}
.adventure-publish-card.is-published{border-color:rgba(80,199,126,.22);background:linear-gradient(145deg,rgba(80,199,126,.09),rgba(255,255,255,.025))}
.adventure-publish-card h2{margin:.25rem 0 .5rem;color:#f8eedb;font-family:Georgia,"Times New Roman",serif;font-weight:500}
.adventure-publish-card>p{color:#c9b89e;line-height:1.55}
.adventure-publish-card form{margin:1rem 0 0}
.adventure-publish-card button{border:0;cursor:pointer}
.adventure-publish-card button:disabled{opacity:.38;cursor:not-allowed}
.publish-issues{display:grid;gap:.48rem;margin:.85rem 0 1rem;padding:0;list-style:none}
.publish-issues li{padding:.58rem .65rem;border-radius:10px;background:rgba(223,170,67,.08);color:#e4c38c;font-size:.82rem}
.publish-issues li::before{content:"!";display:inline-grid;place-items:center;width:19px;height:19px;margin-right:.48rem;border-radius:50%;background:rgba(223,170,67,.16);font-weight:900}
.publish-celebration{animation:publish-arrival .55s cubic-bezier(.18,.8,.2,1)}
@keyframes publish-arrival{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.adventure-list-status{margin-top:.75rem}
@media(max-width:700px){.adventure-publish-panel{justify-items:start}.adventure-status-row{justify-content:flex-start;flex-wrap:wrap}.adventure-publish-panel .adventure-actions{justify-content:flex-start}}
