/* Inherits the manor's ink, brass and quiet glass surfaces. */
.journey-bag{gap:7px;padding:0 12px}
.journey-bag svg{width:22px;height:22px}
.journey-bag b{font-size:11px;font-variant-numeric:tabular-nums;color:var(--gold-pale)}
#chapterRail button.journey-locked{color:#a2a9b2}
#chapterRail button.journey-locked i::after{content:"";display:inline-block;width:5px;height:5px;border:1px solid currentColor;margin-left:5px;transform:rotate(45deg)}
.journey-object{position:absolute;z-index:3;aspect-ratio:1;display:block;transform:translate(-50%,-100%) scaleY(var(--object-flatten,1));transform-origin:center bottom;padding:0;border:0;border-radius:0;outline:none;background:transparent;box-shadow:none;color:var(--gold-pale);cursor:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.journey-object-image{display:block;width:100%;height:100%;object-fit:contain;transform:translateY(var(--sprite-bottom,0%));filter:drop-shadow(1px 3px 2px rgba(25,15,7,.42)) brightness(calc(1 - var(--sky-darkness,0)*.3));pointer-events:none;user-select:none}
.journey-object-label{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) scaleY(calc(1 / var(--object-flatten,1)));transform-origin:top center;max-width:190px;white-space:nowrap;padding:6px 10px;border-radius:7px;background:rgba(7,16,27,.94);color:var(--ink);font-size:12px;line-height:1.4;pointer-events:none;visibility:hidden}
.journey-object.is-hinted .journey-object-label{visibility:visible}
.journey-object.is-hinted::after,.journey-object:focus-visible::after{content:"";position:absolute;inset:-8px;border:2px solid #f0d197;border-radius:12px;pointer-events:none}
.journey-object.is-hinted{z-index:4}
.journey-hint-trigger{min-width:54px;padding:0 12px;font-size:13px;color:var(--gold-pale)}
#journeyWrap{position:fixed;inset:0;z-index:88;display:grid;place-items:center;padding:28px;background:rgba(2,8,15,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.journey-dialog{width:min(580px,100%);max-height:calc(100dvh - 56px);display:flex;flex-direction:column;border-radius:18px;background:#101e2c;box-shadow:0 26px 90px rgba(0,0,0,.45);overflow:hidden}
.journey-dialog>header{display:flex;align-items:center;gap:20px;padding:25px 28px 20px;border-bottom:1px solid var(--line)}
.journey-dialog h2{font-size:22px;line-height:1.35;letter-spacing:0;margin:0;flex:1}
.journey-dialog .close-btn{position:relative;flex:0 0 44px;width:44px}
#journeyBody{padding:24px 28px 28px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#53606b #101e2c}
#journeyBody p{font-size:14px;line-height:1.85;margin:0 0 20px;overflow-wrap:anywhere}
#journeyBody h3{font-size:16px;font-weight:650;margin:0 0 10px}
#journeyBody .journey-muted{color:#b4bec8;font-size:12px;line-height:1.75}
#journeyBody .journey-clue-copy{padding:22px;color:#efdfbc;background:#23303a;border-radius:12px;line-height:2}
.journey-button{min-height:44px;border:1px solid #637078;background:transparent;border-radius:9px;padding:10px 16px;cursor:pointer;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;transition:background .18s,border-color .18s}
.journey-button:hover{background:#263949;border-color:#e8b665}
.journey-button.primary{background:var(--gold-pale);color:#18232d;border-color:transparent;font-weight:650}
.journey-button.primary:hover{background:#ffe6b7}
.journey-button.quiet{border-color:transparent;color:#ced4d8;text-decoration:underline;text-decoration-color:#6f7b84;text-underline-offset:5px}
.journey-button:disabled{cursor:default;opacity:.5}
.journey-button[aria-pressed="true"]{background:#e6d4ad;color:#152434;border-color:transparent}
.journey-options .journey-button[aria-pressed="true"]:disabled{opacity:1}
.journey-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.journey-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.journey-options .journey-button{text-align:left;padding:13px}
.piano-options{grid-template-columns:repeat(3,1fr);gap:8px;max-width:360px;margin:22px auto}
.piano-options .journey-button{height:110px;align-content:end;text-align:center;background:#ebe6da;color:#152434;border:0;border-radius:5px 5px 10px 10px;box-shadow:inset 0 -6px 0 #afa99e;font-size:19px;font-family:Georgia,serif}
.piano-options .journey-button:active{box-shadow:inset 0 -2px 0 #afa99e;transform:translateY(3px)}
#journeyBody .journey-selection{font-size:13px;min-height:46px;line-height:1.8;padding:12px 14px;margin:18px 0;border:1px dashed #5f6a75;border-radius:9px;color:var(--gold-pale)}
#journeyBody .journey-feedback{color:#f3c998;margin:18px 0;font-size:13px}
#journeyBody .journey-feedback:empty{display:none}
#journeyBody .journey-success{color:#dbe6bf}
.journey-hint{margin:24px 0 12px;border-top:1px solid var(--line);padding-top:16px}
.journey-hint summary,.journey-journal summary,.journey-inline-clue summary{min-height:44px;cursor:pointer;color:#d4c2a1;font-size:12px;padding:12px 0;line-height:1.6}
#journeyBody .journey-hint p{margin:8px 0;font-size:13px}
.journey-code-form{display:grid;gap:12px;justify-items:start}
.journey-code-form label{font-size:13px;color:#c6d1d9}
.journey-code-form input{box-sizing:border-box;width:180px;height:64px;padding:8px 20px;background:#091621;color:#f3d7a2;border:1px solid #74818c;border-radius:10px;font:32px Georgia,serif;letter-spacing:.25em;caret-color:var(--gold)}
#journeyBody .journey-code-form p{margin:0 0 5px}
.journey-route{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:280px;margin:20px auto}
.journey-route span{aspect-ratio:1;display:grid;place-items:center;border-radius:7px;font-size:12px;font-variant-numeric:tabular-nums}
.journey-route .blocked{background:#172431;color:#9ba7af;background-image:linear-gradient(45deg,transparent 48%,#38434c 49%,#38434c 51%,transparent 52%)}
.journey-route .open{background:#4f6070;color:#fff5df}
.journey-route .goal{outline:1px solid #e8b665;outline-offset:-4px}
.journey-route .player{color:#172431;background:#f3d7a2;font-weight:bold;box-shadow:inset 0 0 0 4px #9c8053}
.journey-directions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0}
.journey-item-image{display:block;object-fit:contain;pointer-events:none;user-select:none}
.journey-item-art{width:160px;height:160px;margin:0 auto 20px;display:grid;place-items:center}
.journey-item-art .journey-item-image{width:160px;height:160px}
.journey-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}
.journey-inventory-item{min-width:0;border:1px solid #56636f;border-radius:10px;background:transparent;padding:15px 8px 12px;display:grid;justify-items:center;gap:9px;cursor:pointer;color:#c5cdd4;font-size:12px}
.journey-inventory-item .journey-item-image{width:90px;height:90px;max-width:100%}
.journey-inventory-item[aria-pressed="true"]{background:#293b47;border-color:#e8b665;color:#f3eee4}
.journey-inventory-item:hover{background:#243542}
.journey-item-detail{padding:5px 0 22px}
.journey-container{position:relative;aspect-ratio:1}
.journey-container-scene{position:absolute}
.journey-container-inner{position:relative;width:100%;height:100%;transform:translateY(var(--holder-shift,0%))}
.journey-container-detail{width:min(340px,100%);margin:0 auto 20px}
.journey-container-shell{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;padding:0;cursor:inherit}
.journey-container .journey-object-image{transform:none;filter:drop-shadow(1px 3px 2px rgba(25,15,7,.32))}
.journey-container-item{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;padding:0;border:0;background:transparent;cursor:inherit;touch-action:manipulation}
.journey-container-item .journey-item-image{width:100%;height:100%;filter:drop-shadow(0 2px 1px rgba(30,22,12,.35));transform:scaleY(var(--item-flat,.68))}
.journey-container-detail .journey-container-item{cursor:pointer}
.journey-container-item:focus-visible,.journey-container-shell:focus-visible{outline:2px solid #f0d197;outline-offset:4px}
.journey-container-scene.is-hinted::after{inset:-5px}
#journeyBody .journey-item-note{white-space:pre-line;color:#26343a;background:#e9e0ca;padding:20px;border-radius:5px;font-size:16px;line-height:2}
.journey-mixer{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;background:#21333c;padding:22px;border-radius:12px}
.journey-mixer label{display:grid;gap:14px;font-size:14px}
.journey-mixer input{width:100%;min-height:44px;accent-color:#e8b665;cursor:pointer}
.journey-mixer output{font-size:22px;font-variant-numeric:tabular-nums;color:var(--gold-pale)}
.journey-mixer-meter{grid-column:1/-1;height:12px;background:#0b1720;border-radius:3px;overflow:hidden}
.journey-mixer-meter::before{content:"";display:block;width:var(--level,0%);height:100%;background:#a4cbb0}
#journeyBody .journey-item-detail p{margin-bottom:10px}
.journey-item-detail>.journey-button{margin-top:10px}
.journey-empty{display:flex;gap:20px;align-items:center;padding:18px 0}
.journey-empty>svg{width:62px;height:62px;flex-shrink:0;color:#c8b694}
.journey-journal{border-top:1px solid var(--line);padding-top:24px;margin-top:6px}
.journey-journal-entry{display:grid;grid-template-columns:1fr auto;gap:5px 12px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}
.journey-journal-entry small{color:#bec6cc;font-size:11px}
.journey-journal-entry details{grid-column:1/-1}
#journeyBody .journey-journal-entry p{font-size:12px;line-height:1.8;color:#d6d9db;margin:8px 0}
#journeyBody .journey-fiction{color:#b0bac4;font-size:11px;line-height:1.7;margin:24px 0 0}
#journeyBody .journey-fiction-note{font-size:11px;line-height:1.7;color:#c1ccd3;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:18px}
.journey-geometry{margin:16px 0 22px;border-radius:12px;overflow:hidden;background:#f0ece2}
.journey-geometry svg{display:block;width:100%;max-height:290px}
.journey-geometry figcaption{padding:0 17px 16px;color:#334b5c;font-size:12px;line-height:1.65}
.journey-evidence-list{list-style:none;margin:16px 0 22px;padding:0}
.journey-evidence-list li{display:grid;grid-template-columns:52px 1fr;gap:4px 12px;padding:13px 0;border-bottom:1px solid var(--line)}
.journey-evidence-list time{color:var(--gold-pale);font-size:12px;font-variant-numeric:tabular-nums;padding-top:2px}
.journey-evidence-list b{font-size:13px;color:#edf1ed;font-weight:600}
#journeyBody .journey-evidence-list p{grid-column:2;margin:0;font-size:12px;line-height:1.65;color:#c9d2d6}
.journey-pool-preview{padding:20px;border-radius:12px;background:#e2eee9;color:#1d403c;margin:0 0 22px}
.journey-pool-preview h4{font-size:16px;line-height:1.4;margin:0 0 4px}
#journeyBody .journey-preview-stamp{font-size:11px;color:#4b6861;margin:0 0 16px;font-variant-numeric:tabular-nums}
#journeyBody .journey-preview-status{font-size:17px;line-height:1.55;font-weight:650;color:#694629;margin:0 0 12px}
#journeyBody .journey-preview-source,#journeyBody .journey-preview-empty{font-size:12px;line-height:1.7;margin:0 0 7px;color:#2e5149}
@media(max-width:760px){
  #hud .hud-actions{flex-wrap:wrap;justify-content:flex-end;max-width:206px;gap:4px}
  #hud .hud-left{flex:0 0 auto;max-width:138px}
  #hud .brand-copy b{font-size:12px;letter-spacing:.04em}
  #hud #radar{width:138px}
  .hud-actions .journey-bag{padding:0;width:44px;justify-content:center;gap:1px}
  .journey-bag svg{width:21px;height:21px}
  .scene-controls{gap:5px}
  .scene-controls .journey-bag{min-width:44px;padding:0 7px;height:44px;gap:3px}
  .scene-controls .sky-trigger{width:44px;height:44px;padding:0;justify-content:center}
  .scene-controls .sky-trigger .button-label{display:none}
  #journeyWrap{padding:12px}
  .journey-dialog{max-height:calc(100dvh - 24px);border-radius:14px}
  .journey-dialog>header{padding:19px 18px 15px;gap:12px}
  .journey-dialog h2{font-size:19px}
  #journeyBody{padding:20px 18px 22px}
  .scene-controls .journey-hint-trigger{min-width:44px;width:44px;height:44px;padding:0;font-size:12px}
  .journey-object-label{max-width:125px;font-size:10px}
  .journey-options{grid-template-columns:1fr}
  .piano-options{grid-template-columns:repeat(3,1fr)}
  .journey-directions .journey-button{padding:9px 6px}
  .journey-inventory{gap:6px}
  .journey-inventory-item .journey-item-image{width:70px;height:70px}
}
@media(prefers-reduced-transparency:reduce){#journeyWrap{backdrop-filter:none;background:rgba(2,8,15,.96)}}
@media print{#journeyWrap,#btnJourneyHint,.journey-object,.journey-bag{display:none!important}}
