.bund-journey{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#101c26;color:#f1e7d4;font-family:Georgia,'Times New Roman',serif;isolation:isolate}
.bund-journey::backdrop{background:#0b1119}.bund-journey [hidden]{display:none!important}.bund-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.bund-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 48%,#08131b44 100%),linear-gradient(#09131b44,transparent 16%,transparent 80%,#0b172448)}
.bund-journey button{cursor:pointer;-webkit-tap-highlight-color:transparent}.bund-journey button:focus-visible{outline:2px solid #f3d598;outline-offset:4px}
.bund-toolbar{position:absolute;inset:max(20px,env(safe-area-inset-top)) 24px auto;display:flex;justify-content:space-between;align-items:flex-start;z-index:5;pointer-events:none}.bund-toolbar>div{display:flex;gap:8px}.bund-toolbar button,.bund-walk-toggle,.bund-nearby{pointer-events:auto;min-height:42px;padding:11px 15px;border:1px solid #e6ddc634;border-radius:5px;background:#17241ec4;color:#f2e7d1;font:12px/1.3 system-ui,sans-serif;backdrop-filter:blur(12px)}.bund-toolbar button:hover,.bund-walk-toggle:hover{background:#33473acc}.bund-toolbar [data-bund=help]{width:42px;padding:9px;font:18px Georgia,serif}.bund-journey.is-looking .bund-toolbar{opacity:.5}.bund-toolbar:hover{opacity:1!important}
.bund-arrival{position:absolute;left:32px;bottom:102px;pointer-events:none;opacity:0;transition:opacity 1.3s,transform 1.3s;transform:translateY(6px);text-shadow:0 2px 24px #0009}.bund-arrival p{font:24px/1.3 'Songti SC',serif;letter-spacing:.27em;margin:0 0 10px;color:#dcc9a6}.bund-arrival h1{font:400 clamp(35px,4.2vw,61px)/1 Georgia,serif;margin:0 0 13px;letter-spacing:-.02em}.bund-arrival span{font:11px/1.5 system-ui,sans-serif;letter-spacing:.045em;color:#e8dcc6}
.bund-intro{position:absolute;left:32px;bottom:27px;margin:0;font:11px/1.9 system-ui,sans-serif;color:#ebdfcb;pointer-events:none;opacity:0;transition:opacity 1.2s;text-shadow:0 2px 6px #000}.bund-intro span{color:#c9c3ae}.bund-journey.has-intro .bund-arrival,.bund-journey.has-intro .bund-intro{opacity:1;transform:none}.bund-journey.is-loading .bund-arrival,.bund-journey.is-loading .bund-intro{opacity:0}
.bund-nearby{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);font-size:13px;white-space:nowrap;background:#273b2fd9;box-shadow:0 4px 30px #05101244}.bund-nearby>span{margin-right:9px;font-size:15px;color:#dbc397}.bund-nearby kbd{margin-left:15px;border:1px solid #daccaa77;border-radius:3px;padding:2px 5px;font:11px system-ui}
.bund-walk-toggle,.bund-walk-pad{display:none}.bund-journey[data-mobile=true] .bund-walk-toggle{display:block;position:absolute;right:18px;bottom:max(20px,env(safe-area-inset-bottom));min-height:46px;min-width:65px;z-index:4}.bund-journey[data-mobile=true] .bund-walk-pad{display:grid;position:absolute;right:18px;bottom:max(78px,calc(env(safe-area-inset-bottom) + 58px));grid-template-columns:repeat(3,47px);grid-template-rows:repeat(2,47px);gap:5px;z-index:4}.bund-walk-pad button{color:#ecdec1;border:1px solid #ded5bb55;border-radius:6px;background:#21372dca;backdrop-filter:blur(12px);font:23px/1 system-ui;touch-action:none;user-select:none}.bund-walk-pad button:active{background:#60734d}.bund-walk-pad [data-walk=forward]{grid-column:2}.bund-walk-pad [data-walk=left]{grid-column:1;grid-row:2}.bund-walk-pad [data-walk=back]{grid-column:2;grid-row:2}.bund-walk-pad [data-walk=right]{grid-column:3;grid-row:2}.bund-journey.has-conversation .bund-walk-toggle{display:none}
.bund-help{position:absolute;right:24px;top:78px;width:min(350px,calc(100vw - 48px));box-sizing:border-box;padding:24px 26px;border:1px solid #b6ad8b44;border-radius:7px;background:#1c2e26f2;backdrop-filter:blur(15px);z-index:7}.bund-help>button{position:absolute;right:10px;top:8px;width:34px;height:34px;background:transparent;border:0;color:#e0d2b4;font:23px Georgia,serif}.bund-help h2{font:400 27px/1.2 Georgia,serif;margin:0 0 20px}.bund-help p{font:12px/1.8 system-ui,sans-serif;color:#d5d5c3;margin:12px 0}
.bund-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#12201e;z-index:4}.bund-loading>span{font:37px 'Songti SC',serif;letter-spacing:.3em;color:#d0b985}.bund-loading>p{font:11px system-ui,sans-serif;letter-spacing:.04em;color:#aeb4a5;margin-top:22px}.bund-error{position:absolute;inset:35% 24px auto;text-align:center;background:#233a2be8;padding:30px;z-index:8}.bund-error button{border:1px solid #c5b68c;padding:12px 18px;background:#344b35;color:#f4e1bd;font:13px system-ui}
@media(max-width:700px){.bund-toolbar{inset:max(12px,env(safe-area-inset-top)) 12px auto}.bund-toolbar button{min-height:44px;padding:10px 12px;font-size:11px}.bund-arrival{left:23px;bottom:122px}.bund-arrival h1{font-size:40px}.bund-intro{left:23px;bottom:43px;max-width:245px;font-size:10px}.bund-nearby{left:18px;bottom:max(20px,env(safe-area-inset-bottom));transform:none;max-width:calc(100vw - 110px);white-space:normal;min-height:46px;padding:10px 12px;font-size:11px}.bund-nearby kbd{display:none}.bund-nearby>span{font-size:13px;display:block}.bund-help{right:12px;top:68px;width:min(350px,calc(100vw - 24px))}}
@media(max-height:510px){.bund-arrival{bottom:92px}.bund-help{max-height:calc(100dvh - 90px);overflow:auto}}

/* A small, always-available invitation makes the shared table easy to find. */
.bund-guide{position:absolute;top:max(21px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5;min-height:44px;padding:12px 20px;border:1px solid #c7ab73;border-radius:0;background:#17352ff0;color:#f0e4c9;box-shadow:inset 0 0 0 3px #17352f,inset 0 0 0 4px #c7ab7345,0 5px 24px #07151255;font:15px/1.3 Georgia,serif;white-space:nowrap}
.bund-guide span{margin-left:16px;color:#d5b77e;font:12px/1.2 system-ui,sans-serif}.bund-guide:hover{background:#315244}.bund-guide:active{transform:translateX(-50%) translateY(1px)}
.bund-journey.is-guiding .bund-walk-toggle,.bund-journey.is-guiding .bund-walk-pad{display:none}.bund-journey.is-guiding .bund-guide{background:#263c30}
.bund-crosshair{display:none;position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);pointer-events:none;z-index:2;filter:drop-shadow(0 1px 2px #0008)}
.bund-crosshair::before,.bund-crosshair::after{content:'';position:absolute;background:#f7edd5b8}.bund-crosshair::before{left:5.5px;top:1px;width:1px;height:10px}.bund-crosshair::after{left:1px;top:5.5px;width:10px;height:1px}.bund-journey.is-looking:not(.has-conversation):not(.is-guiding) .bund-crosshair{display:block}
@media(max-width:700px){.bund-guide{top:max(70px,calc(env(safe-area-inset-top) + 58px));font-size:14px;max-width:calc(100vw - 32px)}.bund-guide span{margin-left:12px}}
@media(max-height:510px){.bund-guide{top:18px}.bund-arrival{max-width:40vw}}

/* The meal uses the apartment's RPG dialogue language, without a portrait. */
.bund-journey{--meal-ink:#102825;--meal-paper:#f7f1df;--meal-red:#c84c38}
.bund-journey.has-conversation .bund-vignette{background:linear-gradient(0deg,#051214bb,transparent 60%)}
.bund-journey .bund-conversation{position:absolute;z-index:6;box-sizing:border-box;left:50%;right:auto;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);align-items:end;gap:24px;width:min(1110px,calc(100% - 64px));max-height:calc(100dvh - 110px);overflow:visible;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.bund-bubble{position:relative;min-width:0;isolation:isolate;background:var(--meal-paper);padding:25px 34px 31px;clip-path:polygon(1.4% 0,98.5% 1%,100% 94%,3% 100%,0 89%);filter:drop-shadow(6px 7px 0 var(--meal-red))}
.bund-bubble::before{content:'';position:absolute;inset:3px;z-index:-1;background:linear-gradient(115deg,#17382e,#102328);clip-path:polygon(1.4% 0,98.5% 1%,100% 94%,3% 100%,0 89%)}
.bund-journey .bund-speaker{display:table;padding:4px 22px 6px 13px;margin:-4px 0 14px -2px;background:var(--meal-paper);color:var(--meal-ink);border:0;font:850 27px/1 system-ui,sans-serif;letter-spacing:-.035em;transform:rotate(-2deg);clip-path:polygon(5% 0,100% 4%,94% 100%,0 91%)}
.bund-journey .bund-speaker span{margin:0;color:var(--meal-red);font:inherit}
.bund-line{position:relative;display:block;width:100%;min-height:0;padding:0;border:0;margin:0;background:transparent;color:var(--meal-paper);text-align:left;font:520 clamp(16px,1.4vw,20px)/1.5 system-ui,sans-serif;letter-spacing:.003em}
.bund-line-measure{display:block;visibility:hidden}.bund-spoken{position:absolute;inset:0}.bund-line:focus-visible{outline:1px dashed #f7f1df80!important;outline-offset:6px!important}
.bund-continue{position:absolute;right:22px;bottom:16px;color:var(--meal-red);font:10px/1 system-ui,sans-serif;transform:rotate(45deg);opacity:.85}.line-complete .bund-continue{color:var(--meal-paper)}
.bund-response{min-width:0;padding:0 3px 0 0}
.bund-journey .bund-choices{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;align-items:stretch}
.bund-journey .bund-choices button{flex:none;flex-basis:auto!important;position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 17px;align-items:center;gap:10px;min-height:49px;padding:10px 17px 10px 12px;border:0;border-radius:0;box-shadow:none;background:var(--meal-paper);color:var(--meal-ink);text-align:left;font:650 13px/1.35 system-ui,sans-serif;clip-path:polygon(2% 0,100% 2%,98% 100%,0 97%);transition:background .15s,transform .15s}
.bund-journey .bund-choices button:nth-child(2){margin:0 5px 0 -5px}.bund-journey .bund-choices button:nth-child(3){margin:0 0 0 3px}
.bund-journey .bund-choices button kbd{display:grid;place-items:center;width:23px;height:24px;background:var(--meal-ink);color:var(--meal-paper);font:800 12px/1 system-ui,sans-serif;transform:rotate(-4deg)}
.bund-journey .bund-choices button>span{margin:0;min-width:0;color:inherit;font:inherit}.bund-journey .bund-choices button i{font:normal 19px/1 system-ui,sans-serif}
.bund-journey .bund-choices button:hover,.bund-journey .bund-choices button:focus-visible{background:var(--meal-red);color:#fff8e8;transform:translateX(-4px);outline:none}.bund-journey .bund-choices button:focus-visible kbd{outline:2px solid #fff8e8;outline-offset:2px}
.bund-get-up{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 4px 0;margin-top:4px;background:none;border:0;color:#f0dcaf;font:650 12px/1.3 system-ui,sans-serif;text-shadow:0 2px 7px #0006}.bund-get-up kbd{padding:3px 4px;border:1px solid #f7f1df55;color:#dbd6c7;font:10px/1 system-ui,sans-serif}.bund-get-up:hover{text-decoration:underline;text-underline-offset:4px}
.bund-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bund-journey[lang=zh-CN] .bund-line{font-weight:450;line-height:1.65;letter-spacing:.035em}.bund-journey[lang=zh-CN] .bund-speaker{font-size:25px;letter-spacing:.03em}.bund-journey[lang=zh-CN] .bund-choices button{font-size:14px;letter-spacing:.025em}
@media(max-width:780px){.bund-journey .bund-conversation{width:calc(100% - 28px);grid-template-columns:1fr;gap:12px;bottom:max(14px,env(safe-area-inset-bottom));max-height:55dvh;overflow-x:hidden;overflow-y:auto;padding:2px 2px 0;scrollbar-width:thin;scrollbar-color:#bba777 transparent}.bund-bubble{padding:21px 25px 27px}.bund-journey .bund-speaker{font-size:24px;margin-bottom:12px}.bund-line{font-size:15px;line-height:1.5}.bund-response{padding:0 3px}.bund-journey .bund-choices{gap:5px}.bund-journey .bund-choices button{font-size:12px;min-height:45px;padding:9px 12px;grid-template-columns:22px minmax(0,1fr) 17px}.bund-journey .bund-choices button:nth-child(2){margin:0 3px 0 0}.bund-journey .bund-choices button:nth-child(3){margin-left:3px}.bund-journey .bund-choices button kbd{width:21px;height:22px;font-size:11px}.bund-get-up{min-height:35px;font-size:11px;margin-top:2px;padding-top:6px}.bund-journey[lang=zh-CN] .bund-choices button{font-size:13px}.bund-journey[lang=zh-CN] .bund-line{font-size:16px}.bund-toolbar>div{gap:5px}.bund-toolbar button[data-bund=language]{min-width:45px}}
@media(max-height:540px) and (min-width:601px){.bund-journey .bund-conversation{width:calc(100% - 36px);bottom:12px;grid-template-columns:minmax(0,1.5fr) minmax(225px,1fr);gap:16px;max-height:calc(100dvh - 90px);overflow-y:auto;padding:0 3px}.bund-bubble{padding:22px 26px 25px}.bund-line{font-size:14px;line-height:1.4}.bund-journey .bund-speaker{font-size:23px;margin-bottom:10px}.bund-journey .bund-choices button{font-size:11px;min-height:43px;padding:8px 12px}.bund-get-up{min-height:30px}.bund-journey[lang=zh-CN] .bund-line{font-size:15px}}
@media(prefers-reduced-motion:reduce){.bund-arrival,.bund-intro,.bund-journey .bund-choices button{transition:none}}
