.world-assembly{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.continue-discovery{position:absolute;z-index:16;left:50%;transform:translateX(-50%);bottom:7%;padding:15px 22px;white-space:nowrap;border:1px solid #edcf94;border-radius:3px;background:#132f27;color:#fff3d5;font-size:18px;font-weight:600;box-shadow:0 5px 24px #041b16a6,inset 0 1px 0 #ffffff18;text-shadow:none;min-height:54px;transition:background .18s,box-shadow .18s}
.continue-discovery:hover,.continue-discovery:focus-visible{background:#204539;box-shadow:0 6px 28px #041b16bd,0 0 0 2px #edcf943d}
.continue-discovery span{margin-left:24px}body.crossing-drawing .continue-discovery{visibility:hidden}
@media(max-height:500px) and (orientation:landscape){.continue-discovery{bottom:16px}}
.path-copy{position:absolute;z-index:17;left:7%;top:28%;width:33%;max-width:480px;color:#fff2d7}
.path-overline{font-size:13px;color:#d5c195;letter-spacing:.035em;margin-bottom:14px}
.path-copy h2{font-weight:500;font-size:clamp(29px,3.3vw,48px);line-height:1.35;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}
#path-title:focus{outline:none}
.path-line{font-size:18px;line-height:1.75;color:#e5dfca;max-width:32ch}.path-line:empty,.path-status:empty,.path-overline:empty{display:none}
.path-answers{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:20px}
.path-answers button{text-align:left;font-size:20px;line-height:1.4;padding:17px 0;border-bottom:1px solid #bda57555;transition:padding .2s,color .2s}
.path-answers button::after{content:'↗';float:right;margin-left:12px;color:#ebce88}
.path-answers button:hover,.path-answers button:focus-visible{padding-left:8px;color:#ffe6a2}
.path-end{font-size:13px;line-height:1.6;color:#cfbd94;margin-top:18px}
.door-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:23px}
.open-path{font-size:20px;padding:10px 0;border-bottom:2px solid #e8c981}.open-path::after{content:' ↗';margin-left:15px}
#save-path{font-size:15px;color:#d4c4a6;padding:10px 0;border-bottom:1px solid #998367}
.path-status{font-size:14px;line-height:1.6;margin-top:15px;color:#d9eacb}.rebuild-path{font-size:13px;color:#c5b691;padding:10px 0;margin-top:15px}
#retry-assembly{padding:14px 0;border-bottom:1px solid #ead3a1}
body.path-active .world-shade{opacity:1;background:linear-gradient(90deg,#10291ff5 0%,#10291fea 28%,#10291b44 65%,transparent),linear-gradient(0deg,#10291f90,transparent 55%)}
body.path-active .film-space{left:68%;transform:translateX(-50%) scale(1.5)}
body.path-active .instrument{z-index:9;left:41%;top:57%;width:min(24vw,280px);height:min(24vw,280px);pointer-events:none}
body.path-active .artifact{transform:rotateX(5deg) rotateZ(-14deg)}
body.path-active .invitation{opacity:0;pointer-events:none}
body.path-active .paper-grip,body.path-active .crossing-hint,body.path-active .discovery-copy,body.path-active #put-down{display:none!important}
body.path-assembling .path-copy{opacity:.68;transition:opacity .2s}body.path-assembling .path-answers{pointer-events:none}body.path-active .bottom-bar{display:none}
@media(max-width:700px) and (orientation:portrait){
 .path-copy{left:24px;right:24px;top:60%;width:auto;max-width:none;bottom:18px;overflow-y:auto;scrollbar-width:thin;padding:0 3px 10px}
 .path-copy h2{font-size:28px;line-height:1.35;margin-bottom:10px}.path-overline{font-size:11px;margin-bottom:9px}.path-line{font-size:16px;line-height:1.55;max-width:none}
 .path-answers{margin-top:8px}.path-answers button{font-size:18px;padding:12px 0}.path-end{font-size:11px;margin-top:11px}.door-actions{margin-top:10px;gap:12px 20px}.open-path{font-size:19px}
 .path-status{font-size:12px;margin-top:8px}.rebuild-path{margin-top:5px;padding:8px 0}
 body.path-active .world-shade{background:linear-gradient(0deg,#10291f 0%,#10291ff5 38%,#10291f00 66%,#10291f55)}
 body.path-active .film-space{left:50%;transform:translateX(-50%)}body.path-active .instrument{left:25%;top:13%;width:37vw;height:37vw}
 .continue-discovery{font-size:16px;bottom:max(7%,env(safe-area-inset-bottom));padding:14px 18px;max-width:calc(100% - 36px)}
}
@media(max-height:660px) and (orientation:portrait){.path-copy{top:57%}.path-copy h2{font-size:23px}.path-answers button{font-size:16px;padding:10px 0}.path-line{font-size:14px}.path-overline{margin-bottom:6px}.path-end{display:none}.door-actions{margin-top:8px}.rebuild-path{font-size:12px}}
@media(max-height:600px) and (orientation:landscape){.path-copy{top:21%;bottom:20px;overflow-y:auto;width:35%}.path-copy h2{font-size:25px}.path-answers button{padding:9px 0;font-size:16px}.path-line{font-size:15px}.path-end{font-size:11px}.path-overline{font-size:10px}.door-actions{margin-top:10px}.path-answers{margin-top:10px}}

/* V6: the selected bank opens in the same landscape; rewards live on its near edge. */
body.path-active .path-copy{top:22%;max-height:73%;overflow-y:auto;scrollbar-width:thin;padding-right:10px;padding-bottom:22px}
body.path-active .path-copy h2{font-size:clamp(30px,3.2vw,46px)}
.path-answers .seed-choice{display:flex;gap:14px;align-items:center;font-size:clamp(17px,1.65vw,21px);min-height:62px}
.path-answers .seed-choice::before{content:'';flex:0 0 7px;width:7px;height:18px;border-radius:100% 0 100% 0;transform:rotate(24deg);background:var(--choice-color);box-shadow:0 0 14px color-mix(in srgb,var(--choice-color) 35%,transparent)}
.path-answers .seed-choice::after{margin-left:auto;font-size:16px}.path-answers .seed-choice:hover{color:var(--choice-color)}
.cross-seed{display:flex;align-items:center;gap:32px;min-height:54px;font-size:22px;border-bottom:1px solid var(--seed-color,#e8c981);margin-top:26px;padding:10px 0;color:#fff1d5}
.cross-seed span{font-size:25px;transition:translate .3s}.cross-seed:hover span{translate:5px -2px}
body.seed-horizon #door-actions{margin-top:16px}body.seed-horizon #save-path{font-size:14px}
body.seed-crossing .film-space{transform:translateX(-50%) scale(1.7);transition:transform 1.8s var(--ease)}
body.seed-arrived .path-copy{top:18%;max-height:78%}body.seed-arrived .path-copy h2{font-size:clamp(28px,2.6vw,38px);margin-bottom:12px}
body.seed-arrived .instrument{left:47%;top:73%;width:min(17vw,200px);height:min(17vw,200px);opacity:.82}
body.seed-arrived .world-shade{background:linear-gradient(90deg,#10291ffb 0%,#10291ff2 35%,#10291b33 69%,transparent),linear-gradient(0deg,#10291f90,transparent 65%)}
.seed-next{margin-top:22px;border-top:1px solid #d8c8a32f;padding-top:14px;display:grid;gap:8px}.seed-next p{font-size:13px;color:#c6bda8}
.seed-next a{font-size:16px;line-height:1.6;padding:8px 0;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#d5c09866}
body.seed-arrived .open-path{font-size:18px}.rebuild-path{min-height:44px}
@media(max-width:700px) and (orientation:portrait){
 body.path-active .path-copy{top:48%;max-height:none;bottom:12px;left:22px;right:18px;padding-bottom:max(12px,env(safe-area-inset-bottom));padding-right:6px}
 /* The constructed bridge sits above the original film shade. Shade it too,
    so the near-bank text remains readable over its bright paper folds. */
 body.seed-arrived .playfield::after{content:'';position:absolute;inset:0;z-index:6;pointer-events:none;background:linear-gradient(180deg,transparent var(--near-bank-start,37%),#10291ff5 var(--near-bank-copy,46%),#10291f 70%)}
 body.path-active .path-copy h2{font-size:27px;line-height:1.4}.path-answers .seed-choice{font-size:17px;min-height:54px;padding:11px 0;gap:12px}
 body.path-active .instrument{left:22%;top:14%;width:34vw;height:34vw}
 body.path-active .world-shade{background:linear-gradient(0deg,#10291f 0%,#10291ffa 45%,#10291f88 57%,transparent 76%,#10291f55)}
 body.seed-horizon .path-copy{top:58%}.cross-seed{margin-top:16px;font-size:21px}
 body.seed-crossing .film-space{transform:translateX(-50%) scale(1.15)}
 body.seed-arrived .path-copy{top:46%;max-height:none}.seed-next{margin-top:16px;padding-top:12px}
 body.seed-arrived .path-copy h2{font-size:26px}body.seed-arrived .instrument{left:17%;top:29%;width:26vw;height:26vw}
 body.seed-arrived .world-shade{background:linear-gradient(0deg,#10291f 0%,#10291ffc 47%,#10291f88 60%,transparent 80%)}
}
@media(max-height:670px) and (orientation:portrait){body.path-active .path-copy{top:43%}body.path-active .path-copy h2{font-size:23px}.path-answers .seed-choice{min-height:48px;font-size:16px}body.seed-horizon .path-copy{top:52%}body.seed-arrived .path-copy{top:39%}body.seed-arrived .playfield{--near-bank-start:30%;--near-bank-copy:39%}}
@media(max-height:600px) and (orientation:landscape){body.path-active .path-copy{top:21%;max-height:75%;bottom:10px}body.path-active .path-copy h2{font-size:24px}.path-answers .seed-choice{min-height:46px;font-size:16px}.cross-seed{font-size:18px;min-height:44px}}
/* The world already introduces the reward. Keep one heading and one photograph. */
body.seed-arrived #seed-reward > section > .seed-reward-title,
body.seed-arrived #seed-reward .seed-reward-food{display:none}
body.seed-arrived #seed-reward > section > .seed-reward-copy:first-of-type{margin-top:0}
body.seed-arrived #seed-reward{padding-top:0}
.visit-house{display:block;margin:26px 0 0;padding:12px 0;background:none;border:0;border-bottom:1px solid #c7b98177;color:#e0d1a1;font:inherit;font-size:clamp(15px,1.05vw,18px);cursor:pointer;text-align:left;min-height:44px}
.visit-house span{display:inline-block;margin-left:26px}.visit-house:hover{color:#fff5d5;border-color:currentColor}.visit-house:focus-visible{outline:2px solid #fff0bc;outline-offset:6px}
