/* A vermilion seal opens a journey through the painted river. */
/* The decorative atlas heading ignores pointers; its action must opt back in. */
#crossingEntry{pointer-events:auto}
#crossingEntry:disabled{pointer-events:none}
#crossingEntry{display:inline-flex;align-items:center;gap:12px;width:auto;height:auto;min-height:40px;margin:15px 0 0;padding:7px 17px;border:1px solid #98473880;border-radius:2px;background:#984738;color:#f4e5c8;box-shadow:inset 0 0 0 3px #e2d4b622;font:18px 'Kaiti SC','STKaiti','KaiTi',serif;letter-spacing:.2em;cursor:pointer;transition:background .25s,transform .25s}
#crossingEntry i{font:15px serif;letter-spacing:0;font-style:normal}
#crossingEntry:hover{background:#803b30;transform:translateY(-2px)}
#crossingEntry:focus-visible{outline:2px solid #984738;outline-offset:5px}
#crossingEntry:disabled{opacity:.55;cursor:wait}
#crossingDialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#e2d4b6;color:#504d3d;opacity:1;transition:opacity .7s ease;overscroll-behavior:none}
#crossingDialog::backdrop{background:transparent}
#crossingDialog.crossing-leaving{opacity:0;pointer-events:none}
#crossingDialog canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.crossing-caption{position:absolute;left:20px;right:20px;top:max(13%,75px);text-align:center;pointer-events:none;text-shadow:0 1px 16px #e2d4b6}
.crossing-caption small{font:11px 'Songti SC',serif;letter-spacing:.5em;color:#77674f}
.crossing-caption h2{font:400 clamp(30px,4vw,52px) 'Kaiti SC','STKaiti','KaiTi',serif;letter-spacing:.35em;margin:16px 0;padding-left:.35em}
#crossingStatus{position:absolute;bottom:max(68px,calc(env(safe-area-inset-bottom) + 56px));left:24px;right:24px;margin:0;text-align:center;font:12px/1.8 'Songti SC',serif;letter-spacing:.2em}
.crossing-actions{position:absolute;inset:auto 0 max(16px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:28px}
#crossingDialog button{width:auto;height:auto;min-height:44px;padding:8px 13px;border:0;border-radius:0;border-bottom:1px solid #77674f66;background:transparent;box-shadow:none;color:#5d503e;font:12px 'Songti SC',serif;letter-spacing:.15em;cursor:pointer}
#crossingDialog button:focus-visible{outline:2px solid #984738;outline-offset:3px}
#crossingDialog button:disabled{opacity:.5;cursor:wait}
#crossingProgress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#984738;transform:scaleX(0);transform-origin:left;opacity:.45}
@media(max-width:600px){#crossingEntry{margin-top:12px;min-height:36px;padding:5px 13px;font-size:16px}.crossing-caption{top:17%}.crossing-caption h2{font-size:32px}#crossingStatus{font-size:11px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){#crossingEntry,#crossingDialog{transition:none}#crossingEntry:hover{transform:none}}

/* Three-dimensional timber bridge: the controls stay outside the hero silhouette. */
#crossingDialog{background:#e2d4b6;touch-action:none;--crossing-mist:0}
#crossingDialog::after{content:'';position:absolute;inset:0;background:#e2d4b6;opacity:var(--crossing-mist);pointer-events:none;z-index:1}
#crossingDialog canvas{touch-action:none;cursor:grab}
#crossingDialog canvas:active{cursor:grabbing}
.crossing-caption{top:90px;left:36px;right:auto;text-align:left;z-index:2;text-shadow:0 1px 20px #e7e7d8}
.crossing-caption small{font-size:10px;letter-spacing:.32em;color:#526259}
.crossing-caption h2{font-size:clamp(30px,3.2vw,46px);padding:0;margin:13px 0;letter-spacing:.22em;color:#34443c}
.crossing-caption p{font:12px 'Songti SC',serif;letter-spacing:.17em;color:#526259;margin:0}
.crossing-top-actions{position:absolute;top:max(20px,env(safe-area-inset-top));left:25px;right:25px;display:flex;justify-content:space-between;z-index:3}
#crossingDialog .crossing-top-actions button{border:0;background:#e9e5d94d;padding:8px 12px;color:#35453c;backdrop-filter:blur(8px)}
.crossing-navigation{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 36px));text-align:center;z-index:3;pointer-events:none}
#crossingStatus{position:static;margin:0 0 12px;font-size:11px;color:#35453c;text-shadow:0 1px 12px #eef0dc;letter-spacing:.15em;min-height:20px}
#crossingDialog #crossingAuto{display:inline-block;border:1px solid #6d786c70;border-radius:2px;background:#e9e5d9d9;color:#36463e;font-size:14px;min-width:112px;min-height:44px;padding:10px 21px;pointer-events:auto;backdrop-filter:blur(8px)}
.crossing-track{display:flex;align-items:center;gap:15px;margin-top:17px;padding:9px 16px;background:#e9e5d9b8;backdrop-filter:blur(8px);border:1px solid #c2c7b66b;border-radius:2px}
.crossing-track span{font:10px 'Songti SC',serif;white-space:nowrap;letter-spacing:.12em;color:#4e5c50}
#crossingSeek{display:block;position:static;flex:1;min-width:30px;width:auto;height:26px;margin:0;accent-color:#8d4938;pointer-events:auto;cursor:ew-resize;background:transparent;touch-action:auto;opacity:1}
#crossingSeek:focus-visible{outline:2px solid #8d4938;outline-offset:3px}
#crossingProgress{z-index:4;background:#8d4938}
@media(max-width:600px){.crossing-caption{top:90px;left:22px}.crossing-caption h2{font-size:29px}.crossing-caption p{font-size:10px}.crossing-top-actions{left:12px;right:12px}.crossing-navigation{bottom:max(18px,env(safe-area-inset-bottom))}.crossing-track{gap:8px;padding:6px 9px}.crossing-track span{font-size:9px}}

#crossingDialog canvas.crossing-traces{pointer-events:none;z-index:1;cursor:default}

#crossingDialog.crossing-in-tunnel .crossing-caption small,#crossingDialog.crossing-in-tunnel .crossing-caption h2,#crossingDialog.crossing-in-tunnel .crossing-caption p,#crossingDialog.crossing-in-tunnel #crossingStatus{color:#e2ffef;text-shadow:0 0 18px #8affdd88}
#crossingDialog.crossing-in-tunnel .crossing-top-actions button{color:#e2ffef;background:#142f2955}

#crossingDialog.crossing-in-courtyard .crossing-caption h2,#crossingDialog.crossing-in-courtyard .crossing-caption small,#crossingDialog.crossing-in-courtyard .crossing-caption p,#crossingDialog.crossing-in-courtyard #crossingStatus{color:#34473e;text-shadow:0 1px 8px #eee1c4}
/* The painted courtyard shares the original scroll's warm paper and ink. */
.crossing-in-courtyard .crossing-caption h2,
.crossing-in-courtyard .crossing-caption small,
.crossing-in-courtyard .crossing-caption p,
.crossing-in-courtyard #crossingStatus { color:#34473e; text-shadow:0 1px 8px #eee1c4; }
#crossingBurst{display:none;pointer-events:auto;border:1px solid #698b7b80;background:#ede3cbd9;color:#34594d;padding:12px 18px;margin-left:10px;cursor:pointer}
.crossing-in-courtyard #crossingBurst{display:inline-block}

/* A quiet inscription beside the painter, leaving his silhouette in the open. */
.crossing-welcome{position:absolute;z-index:3;right:6vw;top:42%;width:300px;max-width:calc(100% - 40px);padding:24px 26px;background:#eee1c4ed;border:1px solid #93856865;box-shadow:0 10px 40px #53492c12;color:#34473e;touch-action:pan-y}
.crossing-welcome[hidden],#crossingQuestions[hidden]{display:none}
.crossing-welcome-name{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #93856855;padding-bottom:13px}
.crossing-welcome-name span{font:22px 'Kaiti SC','STKaiti','KaiTi',serif;letter-spacing:.16em}
.crossing-welcome-name small{font:10px 'Songti SC',serif;letter-spacing:.15em;color:#77674f}
#crossingDialogue{font:18px/1.9 'Kaiti SC','STKaiti','KaiTi',serif;min-height:100px;margin:20px 0}
.crossing-welcome-actions{display:flex;flex-wrap:wrap;gap:8px}
#crossingDialog #crossingGuide{background:#984738;color:#f4e5c8;border:1px solid #984738;padding:10px 16px;font-size:14px}
#crossingDialog .crossing-welcome button{letter-spacing:.06em}
#crossingQuestions{display:grid;gap:4px;margin-top:16px;border-top:1px solid #93856855;padding-top:10px}
#crossingDialog #crossingQuestions button{text-align:left;border:0;padding-left:0}
#crossingDialog #crossingQuestions button:hover{color:#984738}
.crossing-welcoming .crossing-navigation{visibility:hidden}
.crossing-welcoming .crossing-caption p{visibility:hidden}
.crossing-guiding .crossing-welcome-actions,.crossing-guiding #crossingQuestions{display:none}
@media(max-width:800px){.crossing-welcome{top:auto;bottom:max(22px,env(safe-area-inset-bottom));right:20px;left:20px;width:auto;padding:16px 20px}#crossingDialogue{font-size:17px;min-height:0;margin:12px 0}.crossing-welcome-name{padding-bottom:9px}.crossing-welcome-name span{font-size:20px}.crossing-welcoming .crossing-caption{top:72px}}

/* Keep the music switch available throughout rowing and the meeting. */
#crossingDialog #crossingSound{color:#35453c;background:#e9e5d94d;min-width:84px}
#crossingSound[aria-pressed="false"]{opacity:.75}
@media(max-width:600px){#crossingDialog .crossing-top-actions button{padding:8px 9px;font-size:11px;letter-spacing:.08em}#crossingDialog #crossingSound{min-width:76px}}
