/* Lontar is a real photographic palm-leaf surface; all lettering stays selectable. */
.lontar-sheet,.scenario-brief,.journey-open dialog[open] {
  --lontar-ink:#342513;
  color:var(--lontar-ink);
  background:#d8ba78 url('./assets/interface/lontar.webp') center / 100% 100% no-repeat;
  border:0;
  border-radius:3px;
  box-shadow:0 18px 55px #03171166,0 2px 7px #0003;
}
.journey .lontar-sheet {padding:clamp(24px,3.4vw,56px) clamp(28px,4.6vw,72px);}
.journey .lontar-sheet :is(h1,h2,h3,p),.journey .scenario-brief :is(h3,p),.journey-open dialog :is(h2,p){color:var(--lontar-ink);}
.journey .lontar-sheet .journey-kicker,.journey .scenario-brief .journey-kicker {color:#72501f;font-size:.8rem;letter-spacing:.16em;}
.journey .lontar-sheet em{color:#725019;}
.journey .lontar-sheet p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.65;}
.journey .lontar-sheet small,.journey .scenario-brief small{color:#5c482b;font-size:.8rem;line-height:1.55;}
.journey .lontar-sheet .journey-primary {background:#294638!important;color:#fff0ca!important;border:1px solid #65714a!important;font-size:1rem;}
.journey .lontar-sheet .journey-primary:hover{background:#365845!important;}
.journey .lontar-sheet .journey-quiet{background:#d2ad6044!important;color:#423116!important;border-color:#8c692f66!important;font-size:.9rem;}
.journey .lontar-sheet .speech-button{color:#533911!important;font-size:.9rem!important;min-height:44px;}
.journey-welcome {min-height:640px;height:100dvh;display:grid;grid-template-rows:82px 1fr 52px;overflow:hidden;}
.journey-welcome .journey-header {height:82px;background:linear-gradient(#0e241eb3,transparent);border-bottom:0;}
.journey-welcome .welcome-landscape{background:linear-gradient(90deg,#08211fe8,#102b2399 45%,#13362611 78%),linear-gradient(0deg,#061e20d9,transparent 48%),url('./assets/scenarios/archipelago.png') center/cover;}
.journey-welcome .welcome-copy{padding:0;width:min(60%,830px);margin:0 0 0 3.5vw;align-self:center;z-index:2;}
.journey-welcome .welcome-copy h1{font-size:clamp(1.8rem,3.5vw,3.7rem);line-height:1.13;margin:12px 0 16px;max-width:none;}
.journey-welcome .welcome-copy h1 span{display:block;font-size:.57em;line-height:1.4;margin-bottom:10px;}
.journey-welcome .welcome-copy>p{max-width:none;width:auto;min-height:0;margin:14px 0;}
.journey-welcome .welcome-actions{gap:10px;margin-top:14px;}
.journey-welcome .welcome-actions small{margin-top:2px;}
.journey-welcome .welcome-guide {left:57%;right:-3%;top:90px;bottom:52px;z-index:1;pointer-events:auto;}
.journey-welcome .welcome-guide .leader-stage{background:none;}
.journey-welcome .welcome-guide .figure-caption{display:none;}
.nara-concept{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:sepia(.1);mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent),linear-gradient(0deg,transparent,black 13%,black 95%,transparent);mask-composite:intersect;}
.journey-welcome .welcome-footer{position:relative;grid-row:3;bottom:auto;left:auto;right:auto;align-self:center;margin:0 4.5vw;font-size:.75rem;letter-spacing:.08em;padding:0;z-index:3;}
.journey-welcome .welcome-footer a{font-size:.75rem;}
.journey .scenario-brief{padding:28px 48px;gap:30px;}
.journey .scenario-brief p{font-family:Georgia,'Times New Roman',serif;font-size:1rem;}
.journey .leader-detail-title.lontar-sheet{padding:24px 34px;margin-bottom:12px;}
.journey .leader-detail-title.lontar-sheet h2{margin:7px 0;font-size:clamp(1.7rem,2.5vw,2.4rem);}
.journey .leader-detail-title.lontar-sheet p{font-size:1rem;margin:6px 0;}
.journey .mode-content>.journey-heading.lontar-sheet{padding:28px 46px;}
.journey .mode-content>.journey-heading.lontar-sheet p{margin-bottom:0;}
.world-transition{background:linear-gradient(#071f24b8,#071f24eb),url('./assets/scenarios/archipelago.png') center/cover;}
.world-transition .transition-lontar{max-width:740px;width:min(90vw,740px);padding:45px 60px;color:#342513;background:#d8ba78 url('./assets/interface/lontar.webp') center/100% 100%;box-shadow:0 25px 100px #0008;}
.world-transition .transition-lontar h1,.world-transition .transition-lontar p{color:#342513;}
.world-transition .transition-lontar em,.world-transition .transition-lontar .journey-kicker,.world-transition .transition-lontar small{color:#79511f;}
.sound-controls{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;z-index:60;color:#ead8aa;font:14px Arial,sans-serif;}
.sound-controls button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 15px;border:1px solid #dbc18b66;border-radius:30px;background:#102c27ed;color:inherit;cursor:pointer;backdrop-filter:blur(12px);font:inherit;box-shadow:0 5px 20px #00130e33;}
.sound-controls button:hover{background:#2d4735;}
.sound-controls button:focus-visible{outline:2px solid #f4d992;outline-offset:3px;}
.sound-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;}
.sound-controls .sound-status{position:absolute;bottom:54px;right:0;padding:9px 13px;background:#132e27f5;border-radius:5px;white-space:nowrap;max-width:85vw;font-size:.8rem;}
.sound-controls .sound-status:empty{display:none;}
body:not(.journey-open) .sound-controls{bottom:auto;top:17px;right:174px;}
body:not(.journey-open) .sound-controls button{min-width:38px;min-height:38px;padding:9px;}
body:not(.journey-open) .sound-controls button>span{display:none;}
body:not(.journey-open) .sound-controls .sound-status{bottom:auto;top:48px;}
.journey-welcome .welcome-footer{padding-right:160px;}
@media(max-width:700px) and (orientation:portrait){
  .journey-welcome{min-height:720px;grid-template-rows:68px minmax(200px,1fr) auto 48px;}
  .journey-welcome .journey-header{height:68px;padding:12px 20px;}
  .journey-welcome .welcome-guide{left:10%;right:10%;top:62px;height:clamp(250px,37vh,430px);bottom:auto;}
  .journey-welcome .nara-concept{object-fit:cover;object-position:center 8%;mask-image:linear-gradient(90deg,transparent,black 14%,black 86%,transparent),linear-gradient(0deg,transparent,black 15%);mask-composite:intersect;}
  .journey-welcome .welcome-copy{width:calc(100% - 22px);margin:0 11px;grid-row:3;align-self:end;padding:26px 33px;}
  .journey-welcome .welcome-copy h1{font-size:clamp(1.85rem,7.2vw,2.55rem);margin:7px 0 9px;}
  .journey-welcome .welcome-copy h1 span{font-size:.63em;margin-bottom:4px;}
  .journey-welcome .welcome-copy>p{font-size:1rem;line-height:1.5;margin:9px 0;}
  .journey-welcome .welcome-actions{margin-top:6px;gap:8px;}
  .journey-welcome .welcome-actions button{min-height:44px;padding:11px 16px!important;font-size:.88rem!important;}
  .journey-welcome .welcome-copy .journey-kicker{font-size:.72rem;}
  .journey-welcome .welcome-actions small{font-size:.75rem;}
  .journey-welcome .welcome-footer{grid-row:4;margin:0 20px;font-size:.65rem;letter-spacing:0;gap:12px;padding-right:110px;}
  .journey-welcome .welcome-footer>span{display:none;}
  .journey .scenario-brief{padding:26px 33px;}
  .journey .mode-content>.journey-heading.lontar-sheet{padding:26px 33px;}
  .world-transition .transition-lontar{padding:35px 30px;}
  .world-transition .transition-lontar h1{font-size:1.8rem;}
  .sound-controls{right:12px;bottom:12px;}
  .sound-controls button{padding:10px 12px;font-size:.8rem;}
}
@media(max-height:650px) and (orientation:landscape){
  .journey-welcome{min-height:100dvh;height:auto;grid-template-rows:60px 1fr 34px;}
  .journey-welcome .journey-header{height:60px;padding:10px 4vw;}
  .journey-welcome .welcome-copy{width:60%;margin-left:3vw;padding:20px 35px;}
  .journey-welcome .welcome-copy h1{font-size:1.75rem;margin:5px 0 8px;}
  .journey-welcome .welcome-copy h1 span{margin-bottom:3px;}
  .journey-welcome .welcome-copy p{font-size:.95rem;line-height:1.4;margin:8px 0;}
  .journey-welcome .welcome-actions button{font-size:.85rem!important;padding:9px 13px!important;min-height:42px;}
  .journey-welcome .welcome-guide{top:60px;bottom:32px;left:58%;}
  .journey-welcome .welcome-footer{font-size:.65rem;}
}
@media(max-height:560px),(max-width:940px){body:not(.journey-open) .sound-controls{top:10px;right:133px;}}
