@charset "UTF-8";

:root {
  --oak-gold-bright: #e8c84a;
  --oak-gold-mid: #c5a977;
  --oak-cream: #eaddc5;
  --oak-muted: #7a6a4a;
  --sc-text: var(--oak-cream);
  --sc-muted: var(--oak-muted);
  --sc-vellum-50: var(--oak-cream);
  --sc-vellum-100: var(--oak-cream);
  --sc-brass-100: var(--oak-gold-mid);
  --sc-brass-300: var(--oak-gold-mid);
}

/* LOGIN — ceremonial portal */
.oak-login-v2 { min-height: 100dvh; overflow: clip; }
.oak-login-v2__scene {
  position: relative;
  isolation: isolate;
  min-height: 100dvh;
  padding: max(24px, var(--sc-safe-top)) clamp(24px, 4vw, 72px) max(30px, var(--sc-safe-bottom));
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4,6,7,.18), rgba(4,6,7,.02) 47%, rgba(4,6,7,.72) 76%, rgba(4,6,7,.93)),
    url("/assets/sanctuary-chronicles/login-sanctuary.webp") center / cover no-repeat;
}
.oak-login-v2__scene::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: radial-gradient(circle at 39% 40%, transparent 0 18%, rgba(10,10,8,.12) 41%, rgba(4,5,5,.42) 100%);
  pointer-events: none;
}
.oak-login-v2__header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1720px;
  margin: 0 auto;
}
.oak-login-v2__brand, .oak-campaigns-v2__brand {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--sc-text);
  text-decoration: none;
}
.oak-login-v2__sigil, .oak-campaigns-v2__sigil {
  display: grid;
  width: 52px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--sc-brass-300);
  border-radius: 50%;
  background: radial-gradient(circle, #3f7b5b 0 18%, #102d21 20% 50%, #1a100c 52%);
  box-shadow: 0 0 0 4px rgba(16,9,7,.72), 0 0 24px rgba(85,162,123,.28);
}
.oak-login-v2__sigil svg, .oak-campaigns-v2__sigil svg { width: 24px; height: 28px; fill: var(--sc-brass-100); }
.oak-login-v2__wordmark, .oak-campaigns-v2__brand > span:last-child { display: grid; gap: 1px; }
.oak-login-v2__wordmark strong, .oak-campaigns-v2__brand strong { font-family: var(--sc-serif); font-size: clamp(1.35rem, 2vw, 2rem); letter-spacing: .08em; text-transform: uppercase; }
.oak-login-v2__wordmark small, .oak-campaigns-v2__brand small { color: var(--sc-brass-100); font-size: .66rem; letter-spacing: .25em; text-transform: uppercase; }
.oak-login-v2__wordmark i { display: none; }
.oak-campaigns-v2__brand { gap:10px; }
.oak-campaigns-v2__brand .oak-campaigns-v2__sigil { width:42px; background:radial-gradient(circle,#3f7b5b 0 16%,#102d21 18% 48%,#1a100c 50%); box-shadow:0 0 0 3px rgba(16,9,7,.72),0 8px 16px rgba(0,0,0,.42); }
.oak-campaigns-v2__brand > span:last-child { gap:0; line-height:1; }
.oak-campaigns-v2__brand strong { color:var(--oak-gold-bright); font-family:Georgia,"Palatino Linotype",Palatino,serif; font-size:clamp(1.28rem,2.15vw,1.82rem); font-weight:700; letter-spacing:.1em; text-shadow:0 2px 4px rgba(0,0,0,.8); }
.oak-campaigns-v2__brand small { margin-top:3px; color:var(--oak-gold-mid); font-family:Georgia,"Palatino Linotype",Palatino,serif; font-size:.78rem; font-style:italic; font-weight:400; letter-spacing:.08em; text-transform:none; }
.oak-login-v2__private {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--sc-muted);
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.oak-login-v2__private svg { width: 18px; fill: none; stroke: var(--sc-brass-300); stroke-width: 1.6; }
.oak-login-v2__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 500px);
  gap: clamp(28px, 5vw, 90px);
  width: min(1600px, 100%);
  min-height: calc(100dvh - 110px);
  align-items: center;
  margin: 0 auto;
}
.oak-login-v2__story {
  position: relative;
  min-height: min(760px, calc(100dvh - 150px));
  padding: clamp(62px, 9vh, 110px) 0 36px;
}
.oak-login-v2__story-copy { position: relative; z-index: 3; width: min(620px, 72%); }
.oak-login-v2__story h1 { margin-top: 14px; font-size: clamp(3rem, 5.2vw, 6.4rem); text-shadow: 0 4px 30px rgba(0,0,0,.8); }
.oak-login-v2__story h1 em { color: var(--sc-brass-100); font-style: normal; }
.oak-login-v2__divider { width: min(260px, 55%); height: 1px; margin: 28px 0; background: linear-gradient(90deg, var(--sc-brass-300), transparent); }
.oak-login-v2__lead { max-width: 52ch; color: var(--oak-cream); font-family: var(--sc-serif); font-size: clamp(1rem, 1.3vw, 1.24rem); line-height: 1.7; text-shadow: 0 2px 10px #000; }
.oak-login-v2__destiny { color: var(--sc-brass-100); font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.oak-login-v2__promises {
  position: absolute;
  z-index: 4;
  bottom: 28px;
  left: 0;
  display: flex;
  gap: 10px;
  width: min(670px, 82%);
  margin: 0;
  padding: 0;
  list-style: none;
}
.oak-login-v2__promises li { display: flex; flex: 1; min-width: 0; align-items: center; gap: 10px; padding: 12px; border-top: 1px solid rgba(216,180,90,.42); background: linear-gradient(90deg, rgba(17,12,10,.88), rgba(17,12,10,.32)); }
.oak-login-v2__promises svg { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: var(--sc-brass-100); stroke-width: 1.4; }
.oak-login-v2__promises span { display: grid; min-width: 0; }
.oak-login-v2__promises strong { color: var(--sc-vellum-50); font-family: var(--sc-serif); }
.oak-login-v2__promises small { overflow: hidden; color: var(--sc-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.oak-login-v2__guide { position: absolute; z-index: 2; right: -2%; bottom: -5%; width: min(33vw, 470px); height: 92%; pointer-events: none; }
.oak-login-v2__guide > img { width: 100%; height: 100%; object-fit: contain; object-position: bottom right; filter: drop-shadow(-18px 24px 24px rgba(0,0,0,.62)); }
.oak-login-v2__guide-card { display: none; }
.oak-login-v2__book {
  width: 100%;
  max-height: calc(100dvh - 150px);
  padding: clamp(34px, 5vh, 58px) clamp(28px, 4vw, 52px) 38px;
  overflow: auto;
  border-radius: 26px 7px 26px 7px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025), transparent),
    radial-gradient(circle at 80% 4%, rgba(43,112,76,.16), transparent 22%),
    linear-gradient(145deg, rgba(24,16,13,.97), rgba(8,8,8,.96));
}
.oak-login-v2__bookmark, .oak-new-campaign-v2__bookmark, .oak-profiles-v2__bookmark {
  position: absolute;
  z-index: 4;
  top: 0;
  right: 30px;
  display: grid;
  width: 46px;
  height: 86px;
  place-items: center;
  padding-bottom: 18px;
  background: linear-gradient(#397b58, #143928);
  clip-path: polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);
}
.oak-login-v2__bookmark svg, .oak-new-campaign-v2__bookmark svg, .oak-profiles-v2__bookmark svg { width: 24px; height: 28px; fill: var(--sc-brass-100); }
.oak-login-v2__book-header { position: relative; z-index: 3; }
.oak-login-v2__title-row { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.oak-login-v2__title-row h2 { font-size: clamp(2rem, 3vw, 3.15rem); }
.oak-login-v2__title-medallion { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border: 1px solid var(--sc-brass-300); border-radius: 50%; background: var(--sc-forest-900); }
.oak-login-v2__title-medallion svg { width: 21px; height: 25px; fill: var(--sc-brass-100); }
.oak-login-v2__form, .oak-index-v2__setup { position: relative; z-index: 3; display: grid; gap: 18px; margin-top: 34px; }
.oak-login-v2__field { display: grid; gap: 7px; }
.oak-login-v2__field > label { color: var(--sc-brass-100); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.oak-login-v2__control { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; overflow: hidden; }
.oak-login-v2__control > svg { width: 19px; height: 19px; justify-self: center; fill: none; stroke: var(--sc-brass-300); stroke-width: 1.5; }
.oak-login-v2__control input { width: 100%; min-width: 0; height: 48px; padding: 0 12px 0 0; border: 0; outline: 0; background: transparent; color: var(--sc-text); }
.oak-login-v2__control--password { grid-template-columns: 46px minmax(0,1fr) auto; }
.oak-login-v2__control button { min-width: 76px; min-height: 44px; border: 0; background: transparent; color: var(--sc-brass-100); }
.oak-login-v2__control button svg { display: none; }
.oak-login-v2__note, .oak-login-v2__error { min-height: 1em; margin: 0; color: var(--sc-muted); font-size: .7rem; line-height: 1.4; }
.oak-login-v2__error { color: #ff9d8d; }
.oak-login-v2__submit { width: 100%; margin-top: 4px; }
.oak-login-v2__submit svg { width: 20px; height: 20px; fill: currentColor; }
.oak-login-v2__recovery { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; color: var(--sc-brass-300); font-size: .76rem; }
.oak-login-v2__recovery button { min-height: 44px; border: 0; background: transparent; color: var(--sc-muted); text-decoration: underline; text-underline-offset: 3px; }
.oak-login-v2__recovery p { flex-basis: 100%; margin: 0; color: var(--sc-muted); line-height: 1.5; }
.oak-login-v2__alert, .oak-index-v2__alert, .oak-new-campaign-v2__alert, .oak-profiles-v2__alert { position: relative; z-index: 4; margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--sc-ruby-400); background: rgba(87,29,27,.78); color: #ffe3d8; }

/* CAMPAIGNS — portal de campañas: escena única, no un dashboard. */
.oak-campaigns-v2 { min-height: 100dvh; }
.oak-campaigns-v2__scene {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: 64px minmax(0,1fr);
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  background: url("/assets/isekai-ui/campaign_menu_bg.jpg") center / cover no-repeat;
}
.oak-campaigns-v2__scene::before { position:absolute; z-index:-1; inset:0; content:""; background:rgba(0,0,0,.4); }
.oak-campaigns-v2__nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding:0 clamp(18px,3vw,48px); border-bottom:1px solid rgba(216,180,90,.45); background:linear-gradient(180deg,rgba(32,18,14,.96),rgba(32,18,14,.76)); }
.oak-campaigns-v2__player { display: flex; align-items: center; gap: 10px; justify-self: center; }
.oak-campaigns-v2__player img { width: 44px; height: 44px; border: 1px solid var(--sc-brass-300); border-radius: 50%; object-fit: cover; object-position: 50% 16%; background: var(--sc-forest-900); }
.oak-campaigns-v2__player span { display: grid; }
.oak-campaigns-v2__player strong { font-family: var(--sc-serif); }
.oak-campaigns-v2__player small { color: var(--sc-muted); font-size: .7rem; }
.oak-campaigns-v2__nav-actions { display: flex; gap: 8px; justify-self: end; }
.oak-campaigns-v2__utility { display:inline-flex; min-height:44px; align-items:center; gap:8px; padding:0 13px; border:1px solid rgba(216,180,90,.52); border-radius:10px 3px 10px 3px; background:rgba(38,23,18,.94); color:var(--sc-text); }
.oak-campaigns-v2__utility svg { width: 18px; height: 18px; fill: none; stroke: var(--sc-brass-100); stroke-width: 1.6; }
.oak-campaigns-v2__worlds { display:none; }
.oak-campaigns-v2__world-select select,.oak-campaign-wizard__field select { border:1px solid rgba(216,180,90,.58); border-radius:8px 2px 8px 2px; background:#2a1912; color:var(--sc-vellum-50); font-family:var(--sc-serif); }
.oak-campaigns-v2__content { position:relative; display:grid; width:min(940px,calc(100% - 40px)); min-height:0; grid-template-rows:auto minmax(0,1fr) auto; gap:14px; place-self:center; padding:clamp(18px,4vh,44px) 0; }
.oak-campaigns-v2__status, .oak-index-v2__loading { position: relative; z-index: 6; margin: 0 0 10px; color: var(--sc-muted); }
.oak-campaigns-v2__status:empty { display: none; }
.oak-index-v2__loading { display: flex; align-items: center; gap: 8px; }
.oak-index-v2__loading i { width: 6px; height: 6px; border-radius: 50%; background: var(--sc-brass-300); animation: scPulse 1.1s infinite alternate; }
.oak-index-v2__loading i:nth-child(3) { animation-delay: .2s; }.oak-index-v2__loading i:nth-child(4) { animation-delay: .4s; }
@keyframes scPulse { to { opacity: .25; transform: translateY(-4px); } }
.oak-campaigns-v2__list { display:grid; min-height:0; gap:14px; overflow:auto; scrollbar-color:var(--sc-brass-500) rgba(32,18,14,.82); }
.oak-campaigns-v2__selected { position:relative; min-height:460px; overflow:hidden; border:2px solid var(--sc-brass-300); border-radius:16px 3px 16px 3px; background:linear-gradient(135deg,rgba(42,25,18,.98),rgba(19,13,11,.96)); box-shadow:inset 0 0 0 3px rgba(77,43,28,.94),inset 0 0 0 5px rgba(216,180,90,.35),0 22px 48px rgba(0,0,0,.48); }
.oak-campaigns-v2__selected::after { position:absolute; z-index:1; inset:15px; content:""; border:1px solid rgba(243,212,128,.45); pointer-events:none; }
.oak-campaigns-v2__selected-art { position:absolute; inset:0; background:linear-gradient(90deg,rgba(30,18,14,.92) 0 41%,rgba(30,18,14,.58) 70%,rgba(30,18,14,.38)),url("/assets/isekai-ui/campaign_menu_bg.jpg") center / cover; filter:saturate(.78); }
.oak-campaigns-v2__selected-paper { position:relative; z-index:3; display:flex; width:min(610px,72%); min-height:460px; flex-direction:column; justify-content:center; padding:clamp(30px,5vw,64px); }
.oak-campaigns-v2__ribbon { margin:0; color:var(--sc-brass-100); font:700 .72rem/1 var(--sc-ui); letter-spacing:.18em; text-transform:uppercase; }
.oak-campaigns-v2__selected h2 { margin:14px 0 0; color:var(--sc-vellum-50); font:700 clamp(2.7rem,6vw,5.5rem)/.96 var(--sc-serif); text-shadow:0 2px 0 #160c09; }
.oak-campaigns-v2__summary { max-width:44ch; margin:20px 0; color:var(--sc-vellum-100); font:1.05rem/1.6 var(--sc-serif); }
.oak-campaigns-v2__tags { display:flex; flex-wrap:wrap; gap:8px; }.oak-campaigns-v2__tags span { padding:7px 11px; border:1px solid rgba(216,180,90,.45); border-radius:999px; background:rgba(31,79,54,.8); color:var(--sc-vellum-50); font-size:.72rem; }
.oak-campaigns-v2__meta { display:grid; grid-template-columns:repeat(3,1fr); margin:24px 0; border-block:1px solid rgba(216,180,90,.35); }.oak-campaigns-v2__meta div { padding:12px 9px; border-right:1px solid rgba(216,180,90,.22); }.oak-campaigns-v2__meta div:last-child { border:0; }.oak-campaigns-v2__meta dt { color:var(--sc-brass-300); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }.oak-campaigns-v2__meta dd { margin:5px 0 0; color:var(--sc-vellum-50); }
.oak-campaigns-v2__continue,.oak-campaigns-v2__new { display:grid; min-height:58px; place-items:center; padding:0 24px; text-align:center; text-decoration:none; text-transform:uppercase; }
.oak-campaigns-v2__continue { width:min(390px,100%); margin-top:auto; }.oak-campaigns-v2__guide { display:none; }
.oak-campaigns-v2__archive-action { width:min(220px,100%); min-height:44px; margin-top:12px; padding:0 18px; border:12px solid transparent; border-image:url('/assets/isekai-ui/btn-jrpg-alpha.png') 180 fill / 12px stretch; background:transparent; color:var(--oak-cream); font-family:var(--sc-serif); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.oak-campaigns-v2__archive-action:focus-visible { outline:3px solid var(--sc-focus); outline-offset:4px; }
.oak-campaigns-v2__archive-action:hover { filter:brightness(1.12); }
.oak-campaigns-v2__continue:focus-visible,.oak-campaigns-v2__new:focus-visible,.oak-campaigns-v2__archive-link:focus-visible { outline:3px solid var(--sc-focus); outline-offset:4px; }
.oak-campaigns-v2__archive { padding:18px; border:1px solid rgba(216,180,90,.42); border-radius:14px 3px 14px 3px; background:rgba(31,19,14,.94); }
.oak-campaigns-v2__archive h2 { margin: 0 0 12px; color: var(--sc-brass-100); font-family: var(--sc-serif); }
.oak-campaigns-v2__archive-rows { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; }
.oak-campaigns-v2__card { position: relative; min-width: 0; }
.oak-campaigns-v2__archive-open { display:grid; grid-template-columns:54px minmax(0,1fr) auto; min-height:70px; align-items:center; gap:10px; padding:8px 42px 8px 8px; border:1px solid rgba(216,180,90,.38); background:rgba(36,24,18,.94); color:var(--sc-text); text-decoration:none; }
.oak-campaigns-v2__archive-art { width: 54px; height: 54px; background: url("/assets/sanctuary-chronicles/game-sanctuary.webp") center/cover; }
.oak-campaigns-v2__archive-copy { display: grid; min-width: 0; }.oak-campaigns-v2__archive-copy small,.oak-campaigns-v2__archive-copy em,.oak-campaigns-v2__archive-open time { color: var(--sc-muted); font-size: .66rem; }
.oak-campaigns-v2__delete { position: absolute; z-index: 2; top: 12px; right: 8px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(200,90,81,.56); background: rgba(74,25,25,.82); color: #ffd5c9; }
.oak-campaigns-v2__delete svg { width: 18px; fill: none; stroke: currentColor; }.oak-campaigns-v2__delete span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.oak-campaigns-v2__fixed-actions { display:flex; gap:12px; justify-content:center; }.oak-campaigns-v2__new { min-width:min(300px,100%); }.oak-campaigns-v2__archive-link { display:grid; min-height:58px; place-items:center; padding:0 20px; border:1px solid rgba(216,180,90,.52); background:rgba(38,23,18,.94); color:var(--sc-vellum-100); font:700 .8rem var(--sc-serif); letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.oak-campaigns-v2__empty { max-width:560px; margin:auto; padding:50px; border:2px solid var(--sc-brass-300); background:rgba(31,19,14,.96); box-shadow:inset 0 0 0 3px rgba(77,43,28,.94),inset 0 0 0 5px rgba(216,180,90,.35); text-align:center; }
.oak-campaigns-v2__empty h2 { font-family: var(--sc-serif); font-size: 2.6rem; }.oak-campaigns-v2__empty p { color: var(--sc-muted); line-height: 1.6; }
.oak-campaigns-v2__mobile-nav { display: none; }

/* MODALES — JRPG anime 2D, marco ilustrado con cortes de nueve piezas. */
.oak-index-v2__modal-layer .oak-index-v2__veil { background:rgba(12,7,3,.72); backdrop-filter:blur(5px); }
.oak-new-campaign-v2__modal,.oak-campaign-archive-v2__modal,.oak-profiles-v2__modal { position:relative; z-index:2; width:min(1100px,100%); min-width:0; max-height:calc(100dvh - 32px); }
.oak-new-campaign-v2__book,.oak-campaign-archive-v2__book,.oak-profiles-v2__book {
  position:relative;
  display:flex;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-height:calc(100dvh - 32px);
  flex-direction:column;
  overflow:hidden;
  border:clamp(32px,5vw,60px) solid transparent;
  border-image-source:url('/assets/isekai-ui/modal-frame-heavy-v4-corners.png');
  border-image-slice:198 188 197 190;
  border-image-repeat:stretch;
  border-radius:0;
  background:
    url('/assets/isekai-ui/modal-rail-wood-h-v4.png') left top / auto 60px no-repeat,
    url('/assets/isekai-ui/modal-rail-wood-h-v4.png') right bottom / auto 60px no-repeat,
    url('/assets/isekai-ui/modal-post-wood-left-desktop-v4.png') left top / 60px auto no-repeat,
    url('/assets/isekai-ui/modal-post-wood-right-desktop-v4.png') right top / 60px auto no-repeat,
    radial-gradient(circle at center,rgba(40,25,18,.85) 0%,rgba(12,6,4,.95) 100%);
  background-origin:border-box,border-box,border-box,border-box,padding-box;
  background-clip:border-box,border-box,border-box,border-box,padding-box;
  backdrop-filter:blur(8px);
  box-shadow:none;
}
.oak-new-campaign-v2__form,.oak-campaign-archive-v2__pages,.oak-campaign-wizard__step,.oak-profiles-v2__pages { scrollbar-width:thin; scrollbar-color:#1e5454 rgba(112,82,37,.7); }
.oak-new-campaign-v2__form::-webkit-scrollbar,.oak-campaign-archive-v2__pages::-webkit-scrollbar,.oak-campaign-wizard__step::-webkit-scrollbar,.oak-profiles-v2__pages::-webkit-scrollbar { width:14px; height:14px; }
.oak-new-campaign-v2__form::-webkit-scrollbar-track,.oak-campaign-archive-v2__pages::-webkit-scrollbar-track,.oak-campaign-wizard__step::-webkit-scrollbar-track,.oak-profiles-v2__pages::-webkit-scrollbar-track { border:1px solid rgba(255,223,128,.48); background:linear-gradient(90deg,rgba(43,30,15,.92),rgba(129,94,39,.7) 48%,rgba(36,25,14,.92)); box-shadow:inset 0 0 0 2px rgba(20,13,8,.68); }
.oak-new-campaign-v2__form::-webkit-scrollbar-thumb,.oak-campaign-archive-v2__pages::-webkit-scrollbar-thumb,.oak-campaign-wizard__step::-webkit-scrollbar-thumb,.oak-profiles-v2__pages::-webkit-scrollbar-thumb { min-height:38px; border:3px solid rgba(173,131,55,.85); border-radius:2px; background:linear-gradient(90deg,#122f30,#245453 48%,#102728); box-shadow:inset 0 0 0 1px rgba(255,223,128,.38),0 0 5px rgba(0,0,0,.65); }
.oak-new-campaign-v2__form::-webkit-scrollbar-thumb:hover,.oak-campaign-archive-v2__pages::-webkit-scrollbar-thumb:hover,.oak-campaign-wizard__step::-webkit-scrollbar-thumb:hover,.oak-profiles-v2__pages::-webkit-scrollbar-thumb:hover { background:linear-gradient(90deg,#1c4948,#36716b 48%,#173f3e); }
.oak-new-campaign-v2__book::before,.oak-campaign-archive-v2__book::before,.oak-profiles-v2__book::before { content:none; }
.oak-new-campaign-v2__book-head,.oak-campaign-archive-v2__head,.oak-profiles-v2__head { position:relative; z-index:2; flex:0 0 auto; padding:clamp(38px,6vw,72px) clamp(30px,6vw,76px) clamp(28px,4vw,46px); border-bottom:1px solid rgba(197,169,119,.3); background:transparent; }
.oak-profiles-v2__head { padding-block:clamp(28px,4vw,50px) clamp(22px,3vw,34px); }
.oak-new-campaign-v2 h1,.oak-campaign-archive-v2 h1 { color:var(--oak-gold-bright); font-size:clamp(2.3rem,5vw,4.8rem); font-weight:800; text-shadow:2px 2px 0 rgba(0,0,0,.8); }.oak-profiles-v2 h1 { color:var(--oak-gold-bright); font-size:clamp(2.3rem,5vw,4.8rem); font-weight:800; text-shadow:0 2px 4px rgba(0,0,0,1); }.oak-new-campaign-v2__book-head > p:last-of-type,.oak-campaign-archive-v2__head > p:last-of-type,.oak-profiles-v2__head > p:last-of-type { margin-bottom:0; color:var(--oak-cream); font-family:var(--sc-serif); font-weight:700; }
.oak-new-campaign-v2__bookmark,.oak-campaign-wizard__bookmark,.oak-campaign-archive-v2__bookmark,.oak-profiles-v2__bookmark { display:none !important; }
.oak-new-campaign-v2__close,.oak-campaign-archive-v2__close,.oak-profiles-v2__close { position:absolute; z-index:6; top:24px; right:24px; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(197,169,119,.3); border-radius:0; background:transparent; box-shadow:none; color:#c5a977; }.oak-new-campaign-v2__close,.oak-campaign-archive-v2__close { transition:transform 150ms ease,background-color 150ms ease,box-shadow 150ms ease,filter 150ms ease; }.oak-profiles-v2__close { transition:all .4s ease; }.oak-new-campaign-v2__close:hover,.oak-campaign-archive-v2__close:hover,.oak-profiles-v2__close:hover { background:rgba(197,169,119,.15); }.oak-new-campaign-v2__close svg,.oak-campaign-archive-v2__close svg,.oak-profiles-v2__close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; }
.oak-new-campaign-v2__close:active,.oak-campaign-archive-v2__close:active { transform:scale(.96); filter:brightness(.88); }.oak-new-campaign-v2__close:focus-visible,.oak-campaign-archive-v2__close:focus-visible { outline:2px solid #e8c84a; outline-offset:3px; box-shadow:0 0 12px rgba(232,200,74,.22); }
.oak-new-campaign-v2__form { overflow:auto; padding:clamp(32px,5vw,66px); }
.oak-new-campaign-v2__form-row { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr); gap:clamp(28px,5vw,60px); padding:28px 0; border-bottom:1px solid rgba(197,169,119,.16); }
.oak-new-campaign-v2__label-copy label,.oak-new-campaign-v2__label-copy legend { color: var(--oak-gold-mid); font-family: var(--sc-serif); font-size: 1.16rem; }.oak-new-campaign-v2__label-copy p { margin: 5px 0 0; color: var(--oak-muted); font-size: .78rem; line-height: 1.45; }
/* RPGUI input architecture v24: the grid wrapper paints the nine-slice; native controls remain transparent. */
.oak-new-campaign-v2__field,.oak-campaign-wizard__field,.oak-campaign-wizard__fieldset,.oak-profiles-v2__field,.oak-profiles-v2__password-shell { position:relative; }
.oak-new-campaign-v2__field { display:grid; }
.oak-new-campaign-v2__field:has(> input:not([type="radio"]))::before,.oak-new-campaign-v2__field:has(> textarea)::before,.oak-campaign-wizard__field:has(> input:not([type="radio"]))::before,.oak-campaign-wizard__field:has(> select)::before,.oak-campaign-wizard__field:has(> textarea)::before,.oak-campaign-wizard__fieldset:has(> input:not([type="radio"]))::before,.oak-profiles-v2__field:has(> input)::before,.oak-profiles-v2__password-shell::before,.oak-campaign-wizard__field:has(> select + input)::after { content:""; box-sizing:border-box; height:58px; align-self:stretch; pointer-events:none; z-index:0; border:20px solid transparent; border-image:url('/assets/isekai-ui/frame-jrpg-v3.png') 80 fill / 20px stretch; background:#21130e; }
.oak-new-campaign-v2__field:has(> input:not([type="radio"]))::before,.oak-new-campaign-v2__field:has(> textarea)::before { grid-column:1; grid-row:1; }
.oak-campaign-wizard__field:has(> input:not([type="radio"]))::before,.oak-campaign-wizard__field:has(> select)::before,.oak-campaign-wizard__field:has(> textarea)::before,.oak-campaign-wizard__fieldset:has(> input:not([type="radio"]))::before,.oak-profiles-v2__field:has(> input)::before { grid-column:1; grid-row:2; }
.oak-campaign-wizard__field:has(> textarea)::before { height:110px; }
.oak-profiles-v2__password-shell::before { grid-column:1; grid-row:1; }
.oak-campaign-wizard__field:has(> select + input)::after { grid-column:1; grid-row:3; }
.oak-new-campaign-v2__field > input:not([type="radio"]),.oak-new-campaign-v2__field > textarea { grid-column:1; grid-row:1; }
.oak-campaign-wizard__field > :is(input:not([type="radio"]),select,textarea),.oak-campaign-wizard__fieldset > input:not([type="radio"]),.oak-profiles-v2__field > input { grid-column:1; grid-row:2; }
.oak-campaign-wizard__field > select + input:not([type="radio"]) { grid-row:3; }
.oak-profiles-v2__password-shell > input { grid-column:1; grid-row:1; }
.oak-new-campaign-v2__field > :is(input:not([type="radio"]),textarea),.oak-campaign-wizard__field > :is(input:not([type="radio"]),select,textarea),.oak-campaign-wizard__fieldset > input:not([type="radio"]),.oak-profiles-v2__field > input,.oak-profiles-v2__password-shell > input { position:relative; z-index:1; width:100%; min-height:58px; padding:0 24px; border:none !important; border-image:none !important; border-radius:0; outline:none; background:transparent !important; box-shadow:none; color:var(--oak-cream); font-family:var(--sc-serif); font-weight:700; }
.oak-new-campaign-v2__field > textarea,.oak-campaign-wizard__field > textarea { min-height:110px; height:110px; padding:14px 24px; resize:vertical; }

.oak-new-campaign-v2__field :is(input,textarea):focus,.oak-profiles-v2__field input:focus,.oak-campaign-wizard__field :where(input,select,textarea):focus,.oak-campaign-wizard__fieldset > input:focus { filter:brightness(1.14); box-shadow:0 0 0 2px rgba(255,223,128,.68),0 0 14px rgba(255,215,0,.22); }
.oak-campaign-wizard__field:focus-within::before,.oak-campaign-wizard__field:focus-within::after,.oak-campaign-wizard__fieldset:focus-within::before { filter:brightness(1.16); box-shadow:0 0 0 2px rgba(232,200,74,.72),0 0 16px rgba(232,200,74,.24); }
.oak-campaign-wizard__field > :is(input:not([type="radio"]),select,textarea):focus-visible,.oak-campaign-wizard__fieldset > input:not([type="radio"]):focus-visible { outline:2px solid #e8c84a; outline-offset:-5px; }
.oak-new-campaign-v2__choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.oak-new-campaign-v2__choice { position:relative; }.oak-new-campaign-v2__choice input { position:absolute; opacity:0; }.oak-new-campaign-v2__choice span { display:flex; min-height:50px; align-items:center; gap:9px; padding:12px 0; border:0; border-bottom:1px solid rgba(197,169,119,.3); border-radius:0; background:transparent; color:var(--oak-cream); }.oak-new-campaign-v2__choice input:checked + span { border-color:#d8b45a; background:transparent; color:#c5a977; }.oak-new-campaign-v2__choice input:focus-visible + span { outline:1px solid #d8b45a; outline-offset:4px; }
.oak-new-campaign-v2__field-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; color: var(--sc-muted); font-size: .7rem; }.oak-new-campaign-v2__error,.oak-profiles-v2__error { min-height: 1em; margin: 6px 0 0; color: #ff9d8d; font-size: .72rem; }
.oak-new-campaign-v2__actions,.oak-profiles-v2__actions { display:flex; justify-content:flex-end; gap:14px; padding-top:36px; }
.oak-new-campaign-v2__actions button,.oak-profiles-v2__actions button,.oak-campaign-wizard__actions button,.oak-campaign-wizard__quick,.oak-campaigns-v2__new,.oak-campaigns-v2__continue { min-height:58px; padding-inline:28px; border:14px solid transparent; border-image:url('/assets/isekai-ui/btn-jrpg-alpha.png') 180 fill / 14px stretch; border-radius:0; background:transparent; box-shadow:0 5px 12px rgba(0,0,0,.72); color:var(--oak-cream); font-family:var(--sc-serif); font-weight:900; letter-spacing:.04em; text-shadow:0 2px 3px rgba(0,0,0,.95); transition:transform 150ms ease,box-shadow 150ms ease,filter 150ms ease; }
.oak-new-campaign-v2__actions button:hover,.oak-profiles-v2__actions button:hover,.oak-campaign-wizard__actions button:hover,.oak-campaign-wizard__quick:hover,.oak-campaigns-v2__new:hover,.oak-campaigns-v2__continue:hover { filter:brightness(1.15) saturate(1.08); box-shadow:0 7px 16px rgba(0,0,0,.8),0 0 12px rgba(212,175,55,.2); transform:translateY(-1px); }
.oak-new-campaign-v2__actions button:active,.oak-profiles-v2__actions button:active,.oak-campaign-wizard__actions button:active,.oak-campaign-wizard__quick:active,.oak-campaigns-v2__new:active,.oak-campaigns-v2__continue:active { transform:translateY(2px); box-shadow:0 2px 5px rgba(0,0,0,.75); }
.oak-new-campaign-v2__actions button:focus-visible,.oak-profiles-v2__actions button:focus-visible,.oak-campaign-wizard__actions button:focus-visible,.oak-campaign-wizard__quick:focus-visible,.oak-campaigns-v2__new:focus-visible { outline:2px solid var(--oak-cream); outline-offset:3px; }
.oak-new-campaign-v2__form:has(.oak-campaign-wizard__step) { display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden; }
.oak-campaign-wizard__progress { display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:0 38px;border-bottom:1px solid rgba(197,169,119,.3);background:transparent;color:#c5a977;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase; }
.oak-campaign-wizard__progress span { color:var(--sc-muted); }
.oak-campaign-wizard__step { min-height:0;padding:clamp(30px,5vw,62px);overflow:auto;scrollbar-color:#c5a977 transparent; }
.oak-campaign-wizard__step-head { margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(216,180,90,.18); }
.oak-campaign-wizard__step-head p { margin:0 0 7px;color:var(--sc-brass-300);font-size:.67rem;font-weight:900;letter-spacing:.14em; }
.oak-campaign-wizard__step-head h2 { margin:0;color:#e8c84a;text-shadow:2px 2px 0 rgba(0,0,0,.8);font:800 clamp(1.45rem,2.5vw,2.15rem)/1.08 var(--sc-serif); }
.oak-campaign-wizard__step-head > span { display:block;margin-top:6px;color:var(--sc-muted);font-size:.78rem; }
.oak-campaign-wizard__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px; }
.oak-campaign-wizard__field,.oak-campaign-wizard__fieldset { display:grid;min-width:0;gap:7px;margin:0;padding:0;border:0;color:#c5a977;font-family:var(--sc-serif);font-size:.9rem;text-shadow:2px 2px 0 rgba(0,0,0,.8); }
.oak-campaign-wizard__field--wide { grid-column:1/-1; }
.oak-campaign-wizard__field textarea { min-height:82px; }
.oak-campaign-wizard__field select { appearance:none; padding:0 52px 0 18px; color-scheme:dark; cursor:pointer; }
.oak-campaign-wizard__field select option { background:#21130e; color:var(--oak-cream); }
.oak-campaign-wizard__field select:disabled { cursor:not-allowed; opacity:.62; }
.oak-campaign-wizard__field small { min-height:1em;color:#ff9d8d;font:400 .68rem var(--sc-ui); }
.oak-campaign-wizard__fieldset legend { margin-bottom:8px; }
.oak-campaign-wizard__fieldset .oak-new-campaign-v2__choices { grid-template-columns:repeat(4,minmax(0,1fr)); }
.oak-campaign-wizard__summary { margin-top:28px;padding:20px 0;border:0;border-top:1px solid rgba(197,169,119,.3);background:transparent;color:var(--sc-muted); }
.oak-campaign-wizard__actions { z-index:4;min-height:72px;align-items:center;margin:0;padding:16px clamp(30px,5vw,62px);border-top:1px solid rgba(197,169,119,.3);background:transparent; }
.oak-campaign-wizard__actions button { min-height:48px; }
.oak-campaign-wizard__actions .oak-new-campaign-v2__seal,.oak-campaigns-v2__new { min-height:56px; padding:0 34px; }
.oak-campaign-archive-v2__pages { position:relative; z-index:2; min-height:0; padding:clamp(32px,5vw,66px); overflow:auto; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive { margin:0; border:0; border-radius:0; background:transparent; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive h2 { color:#e8c84a;text-shadow:2px 2px 0 rgba(0,0,0,.8); }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-rows { grid-template-columns:1fr; gap:10px; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__card { border:1px solid rgba(197,169,119,.28); background:linear-gradient(180deg,rgba(18,10,7,.72),rgba(49,30,20,.56)); box-shadow:inset 0 0 0 2px rgba(0,0,0,.35),inset 0 8px 18px rgba(0,0,0,.24); transition:border-color 150ms ease,box-shadow 150ms ease,filter 150ms ease,transform 150ms ease; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__card:hover,.oak-campaign-archive-v2__pages .oak-campaigns-v2__card:focus-within { border-color:rgba(232,200,74,.76); box-shadow:inset 0 0 0 2px rgba(232,200,74,.12),inset 0 8px 18px rgba(0,0,0,.3),0 0 14px rgba(232,200,74,.18); filter:brightness(1.12); transform:translateY(-1px); }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open { min-height:78px; padding-right:72px; border:0; background:transparent; cursor:pointer; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open:focus-visible { outline:2px solid #e8c84a; outline-offset:-4px; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open time { padding:4px 8px; border-left:1px solid rgba(197,169,119,.34); background:rgba(234,221,197,.07); font-size:.72rem; font-weight:900; text-shadow:0 1px 2px #000; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete { width:48px; height:48px; cursor:pointer; transition:transform 150ms ease,filter 150ms ease,box-shadow 150ms ease; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete:hover { filter:brightness(1.16); }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete:active { transform:scale(.96); filter:brightness(.88); }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete:focus-visible { outline:2px solid #e8c84a; outline-offset:2px; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete svg { width:24px; height:24px; stroke-width:2; }
.oak-profiles-v2__pages { position:relative; z-index:2; flex:1 1 auto; min-height:0; overflow:auto; padding:clamp(34px,5vw,72px); }.oak-profiles-v2__page { width:min(820px,100%); margin-inline:auto; padding:0; overflow:visible; }.oak-profiles-v2__page + .oak-profiles-v2__page { margin-top:clamp(38px,6vw,72px); padding-top:clamp(34px,5vw,60px); border-top:1px solid rgba(255,223,128,.46); background:transparent !important; }.oak-profiles-v2__page h2 { margin:0; color:var(--oak-gold-bright);text-shadow:0 2px 4px rgba(0,0,0,1);font-size:clamp(2rem,3vw,2.6rem); }.oak-profiles-v2__page-title { padding-bottom:16px; border-bottom:1px solid rgba(216,180,90,.26); }.oak-profiles-v2__page-kicker { margin:0 0 8px; color:var(--oak-gold-mid); font:800 .68rem/1 var(--sc-ui); letter-spacing:.17em; text-transform:uppercase; }.oak-profiles-v2__intro { max-width:66ch; margin:18px 0 0; color:var(--oak-cream); line-height:1.72; }
.oak-profiles-v2__entries { display:grid; gap:18px; margin-top:28px; }.oak-profiles-v2__entry { display:grid; grid-template-columns:72px minmax(0,1fr); gap:22px; padding:22px 0; border:0; border-bottom:1px solid rgba(255,223,128,.34); background:transparent; }.oak-profiles-v2__portrait { display:block; width:72px; height:72px; border:2px solid #c5a977; border-radius:50%; background:url("/assets/sanctuary-chronicles/chronicle-guardian.webp") 50% 10%/160% auto no-repeat; box-shadow:0 0 0 3px rgba(13,51,50,.62),0 4px 10px rgba(0,0,0,.5); }.oak-profiles-v2__entry h3,.oak-profiles-v2__entry p { margin:0; }.oak-profiles-v2__entry small { color:var(--sc-muted); }
.oak-profiles-v2__record-footer { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--sc-muted); font-size: .76rem; }.oak-profiles-v2__record-footer svg,.oak-profiles-v2__field svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: var(--sc-brass-300); }
.oak-profiles-v2__form { display: grid; gap: 24px; margin-top:28px; }.oak-profiles-v2__field { display: grid; gap: 9px; }.oak-profiles-v2__field label { display: flex; align-items: center; gap: 8px; color:var(--oak-gold-mid); font-family:var(--sc-serif); font-weight:800; }.oak-profiles-v2__help { margin: 0; color: var(--oak-muted); font-size: .76rem; line-height:1.5; }.oak-profiles-v2__password-shell { display: grid; grid-template-columns:minmax(0,1fr) 118px; align-items:end; gap:14px; }.oak-profiles-v2__password-shell input { border-radius:0; }.oak-profiles-v2__password-shell button,.oak-profiles-v2__close { border:12px solid transparent; border-image:url('/assets/isekai-ui/btn-jrpg-alpha.png') 180 fill / 12px stretch; border-radius:0; background:transparent; box-shadow:0 4px 10px rgba(0,0,0,.72); color:var(--oak-cream); font-family:var(--sc-serif); font-weight:900; text-shadow:0 2px 3px rgba(0,0,0,.95); transition:transform 150ms ease,box-shadow 150ms ease,filter 150ms ease; }.oak-profiles-v2__password-shell button { min-height:52px; }.oak-profiles-v2__password-shell button:hover,.oak-profiles-v2__close:hover { filter:brightness(1.15); transform:translateY(-1px); }.oak-profiles-v2__password-shell button:active,.oak-profiles-v2__close:active { transform:translateY(2px); box-shadow:0 2px 5px rgba(0,0,0,.75); }
.oak-profiles-v2__create svg { display:none; }

/* Design Token Pass v17 — hierarchy and functional text only. */
.oak-login-v2 h1,.oak-campaigns-v2 h1,.oak-campaigns-v2 h2,.oak-new-campaign-v2 h1,.oak-new-campaign-v2 h2,.oak-campaign-archive-v2 h1,.oak-campaign-archive-v2 h2,.oak-profiles-v2 h1,.oak-profiles-v2 h2,.oak-campaign-delete-v2 h2 { color:var(--oak-gold-bright); }
.oak-login-v2 p,.oak-campaigns-v2 p,.oak-new-campaign-v2 p,.oak-campaign-archive-v2 p,.oak-profiles-v2 p,.oak-campaign-delete-v2 p { color:var(--oak-cream); }
.oak-login-v2__wordmark small,.oak-campaigns-v2__brand small,.oak-login-v2__destiny,.oak-campaigns-v2__ribbon,.oak-campaigns-v2__meta dt,.oak-new-campaign-v2__book-head > p:last-of-type,.oak-campaign-archive-v2__head > p:last-of-type,.oak-profiles-v2__head > p:last-of-type,.oak-new-campaign-v2__label-copy :is(label,legend),.oak-campaign-wizard__step-head p,.oak-campaign-wizard__field,.oak-campaign-wizard__fieldset,.oak-profiles-v2__page-kicker,.oak-profiles-v2__field label { color:var(--oak-gold-mid); }
.oak-login-v2__private,.oak-login-v2__promises small,.oak-login-v2__note,.oak-login-v2__recovery p,.oak-login-v2__recovery button,.oak-campaigns-v2__player small,.oak-campaigns-v2__status,.oak-index-v2__loading,.oak-campaigns-v2__archive-copy :is(small,em),.oak-campaigns-v2__archive-open time,.oak-campaigns-v2__empty p,.oak-new-campaign-v2__label-copy p,.oak-new-campaign-v2__field-foot,.oak-campaign-wizard__step-head > span,.oak-campaign-wizard__progress span,.oak-campaign-wizard__summary,.oak-profiles-v2__entry small,.oak-profiles-v2__record-footer,.oak-profiles-v2 .oak-profiles-v2__help,.oak-campaign-delete-v2__dialog > p:not(.oak-campaign-delete-v2__eyebrow) { color:var(--oak-muted); }
.oak-login-v2__control input,.oak-new-campaign-v2__field :is(input,textarea),.oak-profiles-v2__field input,.oak-campaign-wizard__field :is(input,select,textarea),.oak-campaign-wizard__fieldset > input,.oak-campaign-wizard__field select option,.oak-new-campaign-v2__actions button,.oak-profiles-v2__actions button,.oak-campaign-wizard__actions button,.oak-campaign-wizard__quick,.oak-campaigns-v2__new,.oak-campaigns-v2__continue,.oak-profiles-v2__password-shell button { color:var(--oak-cream); }
.oak-login-v2__control input::placeholder,.oak-new-campaign-v2__field :is(input,textarea)::placeholder,.oak-profiles-v2__field input::placeholder,.oak-campaign-wizard__field :is(input,textarea)::placeholder,.oak-campaign-wizard__fieldset > input::placeholder { color:var(--oak-muted); opacity:1; }
.oak-campaign-delete-v2__dialog { position: relative; z-index: 2; width: min(520px,100%); padding: 38px; border-radius: 22px 6px 22px 6px; }.oak-campaign-delete-v2 h2 { font-size: 2.5rem; }.oak-campaign-delete-v2__dialog > p:not(.oak-campaign-delete-v2__eyebrow) { color: var(--oak-cream); line-height: 1.6; }.oak-campaign-delete-v2__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 26px; }

@media (max-width: 1180px) {
  .oak-login-v2__layout { grid-template-columns: minmax(0,1fr) minmax(350px,430px); gap: 28px; }
  .oak-login-v2__story h1 { font-size: clamp(3rem,5vw,4.8rem); }
  .oak-login-v2__guide { opacity: .72; }
  .oak-campaigns-v2__selected-paper { width:72%; padding:44px 36px; }
}

@media (max-width: 860px) {
  .oak-login-v2 { overflow: visible; }
  .oak-login-v2__scene { min-height: 100dvh; overflow: visible; background-image: linear-gradient(180deg,rgba(4,6,7,.12),rgba(4,6,7,.84) 58%,#080807 90%),url("/assets/sanctuary-chronicles/login-sanctuary-mobile.webp"); }
  .oak-login-v2__layout { grid-template-columns: 1fr; align-items: start; }
  .oak-login-v2__story { min-height: 52dvh; padding-top: 58px; }
  .oak-login-v2__story-copy { width: min(580px,82%); }
  .oak-login-v2__story h1 { font-size: clamp(3rem,9vw,5.2rem); }
  .oak-login-v2__promises { display: none; }
  .oak-login-v2__guide { right: -5%; bottom: -8%; width: min(45vw,350px); height: 84%; opacity: .82; }
  .oak-login-v2__book { max-height: none; margin-bottom: 22px; }
  .oak-campaigns-v2__scene { grid-template-rows:58px minmax(0,1fr); min-height:100dvh; overflow:hidden; background-image:url("/assets/isekai-ui/campaign_menu_bg.jpg"); }
  .oak-campaigns-v2__nav { width:100%;min-width:0;grid-template-columns: minmax(0,1fr) auto; padding-inline: 16px; }.oak-campaigns-v2__brand { min-width:0; }.oak-campaigns-v2__player { display:none; }.oak-campaigns-v2__utility span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  .oak-campaigns-v2__worlds,.oak-campaigns-v2__mobile-nav { display:none; }
  .oak-campaigns-v2__content { width:min(640px,calc(100% - 28px)); min-height:0; padding:18px 0; }.oak-campaigns-v2__list { overflow:auto; }.oak-campaigns-v2__selected { min-height:0; }.oak-campaigns-v2__selected-paper { width:100%; min-height:0; padding:34px 28px; }.oak-campaigns-v2__selected h2 { font-size:clamp(2.6rem,12vw,4.5rem); }.oak-campaigns-v2__meta { margin:18px 0; }.oak-campaigns-v2__fixed-actions { margin:0; }.oak-campaigns-v2__archive { display:none; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive { display:block; }
  .oak-new-campaign-v2__form-row { grid-template-columns:1fr;gap:10px; }.oak-profiles-v2__pages { display:block;overflow:auto; }.oak-profiles-v2__page { min-height:auto;overflow:visible; }.oak-profiles-v2__page + .oak-profiles-v2__page { border-top:1px solid rgba(216,180,90,.25);border-left:0; }
  .oak-campaign-wizard__grid { grid-template-columns:1fr; }.oak-campaign-wizard__field--wide { grid-column:auto; }.oak-campaign-wizard__fieldset .oak-new-campaign-v2__choices { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .oak-login-v2__scene { padding: max(16px,var(--sc-safe-top)) 14px max(18px,var(--sc-safe-bottom)); }
  .oak-login-v2__wordmark strong { font-size:1.15rem; }.oak-login-v2__private { width:44px;height:44px;font-size:0; }.oak-login-v2__private svg { width:20px; }
  .oak-login-v2__story { min-height:50dvh;padding-top:42px; }.oak-login-v2__story-copy { width:100%; }.oak-login-v2__story h1 { font-size:clamp(2.65rem,14vw,4rem); }.oak-login-v2__lead { max-width:88%;font-size:.96rem; }.oak-login-v2__guide { right:0;width:62vw;opacity:.52; }
  .oak-login-v2__book { padding:38px 20px 26px;border-radius:18px 5px 18px 5px; }.oak-login-v2__title-row h2 { font-size:2rem; }.oak-login-v2__title-medallion { display:none; }
  .oak-campaigns-v2__brand small { display:none; }.oak-campaigns-v2__selected-paper { padding:28px 22px; }.oak-campaigns-v2__meta { grid-template-columns:1fr; }.oak-campaigns-v2__meta div { border-right:0;border-bottom:1px solid rgba(216,180,90,.18); }.oak-campaigns-v2__fixed-actions { display:grid;grid-template-columns:1fr; }
  .oak-new-campaign-v2__book-head,.oak-campaign-archive-v2__head,.oak-profiles-v2__head { padding:28px 64px 20px 20px; }.oak-new-campaign-v2__form { padding:18px 20px 26px; }.oak-campaign-archive-v2__pages { padding:26px 20px 30px; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open { grid-template-columns:54px minmax(0,1fr); grid-template-rows:auto auto; min-height:118px; padding:8px; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open time { grid-column:1/-1; margin-top:6px; padding:6px 48px 0 0; border-top:1px solid rgba(197,169,119,.24); border-left:0; background:transparent; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__archive-open > i { display:none; }.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete { top:auto; right:8px; bottom:8px; width:40px; height:40px; }.oak-new-campaign-v2__choices { grid-template-columns:1fr; }.oak-new-campaign-v2__actions,.oak-profiles-v2__actions,.oak-campaign-delete-v2__actions { display:grid;grid-template-columns:1fr; }.oak-new-campaign-v2__actions > *,.oak-profiles-v2__actions > *,.oak-campaign-delete-v2__actions > * { width:100%; }.oak-profiles-v2__pages { padding:26px 20px 30px; }.oak-profiles-v2__page { padding:18px 0 26px; }.oak-profiles-v2__password-shell { grid-template-columns:1fr; align-items:stretch; gap:10px; }.oak-profiles-v2__password-shell button { width:100%; min-height:58px; }.oak-profiles-v2__actions { gap:12px; padding-top:24px; }.oak-campaign-delete-v2__dialog { padding:30px 22px; }
  .oak-new-campaign-v2__form:has(.oak-campaign-wizard__step) { padding:0; }.oak-new-campaign-v2__book,.oak-campaign-archive-v2__book,.oak-profiles-v2__book { background-image:url('/assets/isekai-ui/modal-rail-wood-h-v4.png'),url('/assets/isekai-ui/modal-rail-wood-h-v4.png'),url('/assets/isekai-ui/modal-post-wood-left-mobile-v4.png'),url('/assets/isekai-ui/modal-post-wood-right-mobile-v4.png'),radial-gradient(circle at center,rgba(40,25,18,.85) 0%,rgba(12,6,4,.95) 100%) !important; background-position:left top,right bottom,left top,right top,center; background-size:auto 32px,auto 32px,32px auto,32px auto,auto; background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat; }.oak-campaign-wizard__progress { min-width:0; gap:8px; padding-inline:20px; }.oak-campaign-wizard__progress span { min-width:0; text-align:right; white-space:normal; font-weight:700; text-shadow:0 1px 2px #000; }.oak-campaign-wizard__step { padding:18px 20px 22px; }.oak-campaign-wizard__step-head > span { font-weight:700; text-shadow:0 1px 2px #000; }.oak-campaign-wizard__fieldset .oak-new-campaign-v2__choices { grid-template-columns:1fr; }.oak-campaign-wizard__actions { display:grid; min-width:0; grid-template-columns:1fr 1fr; gap:8px; padding:10px 20px; }.oak-campaign-wizard__actions button { min-width:0; max-width:100%; padding-inline:8px; font-size:.72rem; overflow-wrap:normal; white-space:nowrap; }.oak-campaign-wizard__actions .oak-campaign-wizard__quick { grid-column:1/-1;grid-row:1; }
}

@media (max-height: 760px) and (min-width: 861px) {
  .oak-login-v2__book { padding-block: 28px 22px; }
  .oak-login-v2__form { gap: 12px; margin-top: 20px; }
  .oak-login-v2__recovery { margin-top: 10px; }
  .oak-campaigns-v2__content { padding-block:14px; }
  .oak-campaigns-v2__selected-paper { padding-block:24px; }
  .oak-campaigns-v2__selected h2 { font-size:clamp(2.5rem,4.8vw,4rem); }
  .oak-campaigns-v2__summary { margin-block:12px; font-size:.96rem; line-height:1.45; }
  .oak-campaigns-v2__meta { margin:12px 0; }.oak-campaigns-v2__meta div { padding-block:8px; }
}

@media (prefers-reduced-motion: reduce) {
  .oak-new-campaign-v2__close,.oak-campaign-archive-v2__close,.oak-campaign-wizard__actions button,.oak-campaign-wizard__quick,.oak-campaign-archive-v2__pages .oak-campaigns-v2__card,.oak-campaign-archive-v2__pages .oak-campaigns-v2__delete { transition:none; }
  .oak-campaign-wizard__actions button:hover,.oak-campaign-wizard__quick:hover,.oak-campaign-archive-v2__pages .oak-campaigns-v2__card:hover,.oak-campaign-archive-v2__pages .oak-campaigns-v2__card:focus-within { transform:none; }
}
