.bq-page{position:fixed;inset:0;z-index:200;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(ellipse at 40% 30%,#302720 0,#191512 48%,#100e0c);color:#f7f0df;font-family:var(--font-sans);-webkit-tap-highlight-color:transparent}.bq-page *{box-sizing:border-box}.bq-page button{touch-action:manipulation}.bq-page button:focus-visible{outline:3px solid #e9bc70;outline-offset:4px}.bq-topbar{display:flex;align-items:center;gap:16px;width:100%;max-width:1500px;margin:0 auto;min-height:48px}.bq-icon-button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff20;background:#ffffff06;color:#f4eae1;cursor:pointer}.bq-icon-button:hover{background:#ffffff14}.bq-brand{display:flex;flex-direction:column;gap:3px}.bq-brand span{font-size:9px;letter-spacing:.22em;color:#bfb0a1}.bq-brand strong{font-family:var(--font-display);font-weight:400;font-size:21px}.bq-topbar-right{margin-left:auto;display:flex;align-items:center;gap:20px}.bq-xp{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#e8c581;white-space:nowrap}.bq-route{display:flex;align-items:center;justify-content:center;width:min(720px,100%);margin:28px auto}.bq-route-stop{display:flex;align-items:center;gap:8px;font-size:11px;color:#a99c8e;white-space:nowrap}.bq-route-stop:not(:last-child):after{content:"";width:clamp(12px,3vw,48px);height:1px;background:#ffffff1f;margin:0 14px}.bq-route-dot{display:grid;place-items:center;width:24px;height:24px;border:1px solid #ffffff2b;border-radius:50%;font-size:10px}.bq-route-stop.is-current{color:#f1d18f}.bq-route-stop.is-current .bq-route-dot{background:#e6bd75;color:#2b1b10;border-color:#e6bd75;box-shadow:0 0 0 4px #e6bd7514}.bq-route-stop.is-done .bq-route-dot{border-color:#dd9c5c;color:#f2c698;background:#dd9c5c15}.bq-game-layout{width:min(1440px,100%);margin:auto;display:grid;gap:20px;align-items:stretch}.bq-game-layout.has-dialogue{grid-template-columns:minmax(0,1fr) 350px;align-items:center}.bq-stage{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:20px;border:1px solid #e4c88d35;background:#211b16;box-shadow:0 30px 90px #0005}.bq-artwork,.bq-canvas,.bq-canvas-fallback,.bq-scene-shade{position:absolute;inset:0;width:100%;height:100%}.bq-canvas-fallback{object-fit:fill}.bq-canvas{display:block}.bq-scene-shade{pointer-events:none;background:linear-gradient(180deg,#241b1330 0,transparent 28%,transparent 65%,#241b135c 100%)}.bq-traveller-fallback{position:absolute;height:66%;bottom:9%;left:54%;animation:bq-arrive 7.2s linear both}.bq-welcome{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,#17120ef5 0,#211a14e8 30%,#211a14af 55%,#211a1408)}.bq-welcome-content{padding:5%;width:65%;max-width:760px}.bq-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.16em;color:#e1bd7d;font-weight:600;margin:0}.bq-welcome h1{font-family:var(--font-display);font-size:clamp(30px,4.4vw,66px);font-weight:400;line-height:1.08;letter-spacing:-.025em;margin:24px 0;text-wrap:balance}.bq-welcome h1 em{font-weight:400;color:#eccb91}.bq-welcome-description{font-size:clamp(13px,1.2vw,16px);line-height:1.7;max-width:390px;color:#e0d1c1}.bq-welcome-details{display:flex;gap:24px;margin:22px 0;font-size:12px;color:#e0d1c1}.bq-welcome-details span{display:flex;gap:8px;align-items:center}.bq-welcome-note{color:#bbaa98;font-size:10px;line-height:1.6;margin:14px 0 0}.bq-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,transform .18s}.bq-btn:disabled{cursor:default;opacity:.6}.bq-btn:hover:not(:disabled){transform:translateY(-1px)}.bq-btn-primary{background:#ffb261;color:#29190e;box-shadow:0 4px 20px #e8c18415}.bq-btn-primary:hover:not(:disabled){background:#f7d9a4}.bq-btn-secondary{border-color:#d6c4af24;background:#ffffff07;color:#e4d7c8}.bq-btn-secondary:hover:not(:disabled){background:#ffffff12}.bq-btn-ghost{background:transparent;color:#c9b9a6;font-size:11px;text-decoration:underline;text-underline-offset:3px}.bq-btn-icon{width:16px;height:16px}.bq-begin{min-height:50px;padding-inline:25px}.bq-location-chip{position:absolute;left:20px;top:20px;display:flex;align-items:center;gap:6px;background:#241b14da;color:#f0e4c9;border:1px solid #ffffff22;border-radius:6px;padding:8px 12px;font-size:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bq-opening{position:absolute;inset:0;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;background:#211912ef;text-align:center;padding:20px}.bq-intro-text{font-family:var(--font-display);font-size:clamp(25px,4vw,52px);font-weight:400;opacity:0;transition:opacity .8s;margin:0}.bq-intro-text.visible{opacity:1}.bq-intro-text.fade-out{opacity:0}.bq-caption{position:absolute;left:6%;right:6%;bottom:10%;display:flex;gap:10px;align-items:center;justify-content:center;padding:13px 20px;margin:auto;width:fit-content;max-width:88%;border-radius:10px;background:#211912e8;border:1px solid #eee3ba30;box-shadow:0 10px 35px #0002;text-align:center;animation:bq-fade-in .65s both;animation-delay:.6s}.bq-caption p{font-family:var(--font-display);font-size:clamp(15px,1.9vw,24px);line-height:1.4;margin:0;color:#f2ead6}.bq-caption-success{color:#f2c28a}.bq-scene-subtitle{position:absolute;bottom:4%;left:5%;right:5%;display:flex;justify-content:center;pointer-events:none;text-align:center;animation:bq-fade-in .18s both}.bq-scene-subtitle>span{max-width:100%;padding:6px 10px;border-radius:8px;background:#ffffff1f;border:1px solid rgb(255 255 255 / 28%);backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);color:#fff;font-size:clamp(11px,1.1vw,15px);line-height:1.45;overflow-wrap:anywhere;text-shadow:0 1px 3px #000b;box-shadow:0 3px 12px #0002,inset 0 1px #ffffff1a}.bq-scene-subtitle strong{color:#fff;font-weight:600}.bq-skip{position:absolute;right:20px;bottom:15px;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:0;background:#241b14c7;border-radius:6px;color:#faf1df;font-size:11px;cursor:pointer}.bq-conversation-panel{display:flex;flex-direction:column;align-self:stretch;padding:26px;border:1px solid #d0c6a92c;border-radius:20px;background:linear-gradient(150deg,#fff8ef,#fff8ef);box-shadow:0 24px 70px #0003;min-width:0}.bq-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.bq-turn-count{color:#8d7a67;font-size:10px}.bq-conversation-panel h2{font-family:var(--font-display);font-size:29px;font-weight:400;line-height:1.15;margin:18px 0 9px}.bq-objective{font-size:12px;line-height:1.6;color:#796957;margin:0}.bq-turn-track{height:3px;border-radius:3px;background:#ffffff12;margin:20px 0;overflow:hidden}.bq-turn-track span{display:block;height:100%;border-radius:inherit;background:#ddbd7e;transition:width .4s ease}.bq-dialogue{display:flex;flex-direction:column;align-items:stretch;text-align:left;flex:1;animation:bq-fade-in .4s}.bq-speaker{font-size:10px;font-weight:600;letter-spacing:.13em;color:#e0bf87;margin:0 0 14px}.bq-speaker-player{color:#a25d22}.bq-romanized,.bq-result-transcript{font-family:var(--font-display);font-size:clamp(23px,2vw,31px);font-weight:400;line-height:1.25;color:#faf2df;margin:0 0 13px;min-height:40px;overflow-wrap:anywhere}.bq-translation{font-size:13px;color:#796957;line-height:1.65;margin:0 0 18px;opacity:0;transition:opacity .4s}.bq-translation-visible{opacity:1}.bq-hint,.bq-say-label,.bq-result-label{font-size:10px;letter-spacing:.09em;font-weight:500;color:#8a7765;margin:0 0 10px}.bq-hint-processing{text-align:center;margin-top:28px}.bq-dialogue-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}.bq-dialogue-actions .bq-btn{flex:1}.bq-listen-target{align-self:flex-start;margin-bottom:16px}.bq-mic-wrap{display:flex;flex-direction:column;gap:10px;align-items:center;margin:7px 0}.bq-mic-btn{width:64px;height:64px;border-radius:50%;border:1px solid #e8c18470;color:#efce94;background:#e8c18412;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 6px #e8c18407;transition:background .2s}.bq-mic-btn:hover:not(:disabled){background:#e8c18429}.bq-mic-btn:disabled{opacity:.6}.bq-mic-btn-recording{background:#a84238;color:#fff;border-color:#e99a8c;animation:bq-pulse 1.4s infinite}.bq-mic-icon{width:24px;height:24px}.bq-mic-label{font-size:11px;color:#e3cc9f}.bq-practice-note{font-size:10px;color:#8a7765;text-align:center;margin:8px 0 0;line-height:1.5}.bq-error{font-size:12px;color:#ffcab5;background:#823e322b;border:1px solid #dc8b6440;border-radius:8px;padding:10px;line-height:1.5}.bq-speech-result{display:flex;flex-direction:column}.bq-result-score{font-size:12px;color:#796957;margin:0 0 14px}.bq-result-score strong{color:#eccb91}.bq-result-pass{display:flex;align-items:center;gap:8px;font-size:13px;color:#a25d22;margin:0 0 20px}.bq-result-fail{font-size:12px;line-height:1.6;color:#ecd2a3;margin:0 0 20px}.bq-panel-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid #ffffff12;margin-top:22px;padding-top:14px;font-size:9px;color:#8a7765}.bq-panel-footer strong{color:#e4c790;font-weight:500}.bq-bottom-bar{width:min(1440px,100%);margin:25px auto 0;display:flex;justify-content:space-between;gap:16px;color:#b9a897;font-size:10px;line-height:1.5}.bq-bottom-bar span:last-child{letter-spacing:.13em;font-size:8px}.bq-transition{position:absolute;inset:0;z-index:100;background:#211912;pointer-events:none;transition:opacity .5s ease}.bq-transition-active{pointer-events:auto}.bq-chapter-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.bq-chapter-num{font-size:10px;color:#e5c58b;margin:0 0 20px}.bq-chapter-title{font-family:var(--font-display);font-size:clamp(24px,3.5vw,48px);font-weight:400;line-height:1.2;max-width:90%;margin:0;color:#f4ebd7}.bq-chapter-divider{width:45px;height:1px;background:#dfbf79;margin-top:22px}.bq-complete{position:absolute;inset:0;z-index:20;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;background:radial-gradient(ellipse at top,#46311f,#211912 80%)}.bq-complete-eyebrow{font-size:10px;color:#e9c98c;letter-spacing:.2em;margin:0 0 12px}.bq-complete-title{font-family:var(--font-display);font-size:clamp(26px,4vw,45px);font-weight:400;margin:0 0 22px}.bq-score-grid{width:min(540px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.bq-score-row{display:flex;flex-direction:column;gap:10px;border:1px solid #f2e6c420;border-radius:10px;background:#ffffff06;padding:16px 8px}.bq-score-row>span{font-size:10px;color:#c4b09a}.bq-score-row strong{font-family:var(--font-display);font-weight:400;font-size:27px}.bq-overall{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}.bq-overall>span{color:#c4b09a;font-size:9px;letter-spacing:.16em}.bq-overall strong{font-family:var(--font-display);color:#eac889;font-size:55px;font-weight:400;line-height:1.15}.bq-complete-actions{display:flex;gap:12px}.bq-spin{animation:bq-spin 1s linear infinite}@keyframes bq-spin{to{transform:rotate(360deg)}}@keyframes bq-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bq-pulse{50%{box-shadow:0 0 0 12px #da8d6c20}}@media(min-width:1000px)and (max-height:760px){.bq-route{margin:16px auto}.bq-game-layout{max-width:1180px}.bq-bottom-bar{margin-top:16px}.bq-conversation-panel{padding:20px}.bq-welcome h1{font-size:42px}}@media(max-width:1050px){.bq-page{padding-inline:20px}.bq-game-layout.has-dialogue{grid-template-columns:minmax(0,1fr);max-width:800px}.bq-conversation-panel{padding:22px}.bq-conversation-panel h2{font-size:26px;margin-top:12px}.bq-dialogue-actions{max-width:400px}.bq-romanized{font-size:27px}.bq-turn-track{margin-block:14px}.bq-panel-footer{margin-top:16px}}@media(max-width:600px){.bq-page{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.bq-topbar{gap:10px}.bq-brand span{font-size:8px}.bq-brand strong{font-size:18px}.bq-topbar-right{gap:10px}.bq-xp{font-size:10px}.bq-icon-button{width:44px;height:44px}.bq-route{margin:23px auto;justify-content:space-between;gap:6px}.bq-route-stop{flex:1;flex-direction:column;gap:8px;font-size:9px;position:relative}.bq-route-stop:not(:last-child):after{position:absolute;top:12px;left:calc(50% + 18px);width:calc(100% - 28px);margin:0}.bq-game-layout{gap:12px}.bq-game-layout:not(.has-dialogue){margin-block:auto}.bq-game-layout.has-dialogue{margin-top:0}.bq-stage{border-radius:13px}.bq-stage:has(.bq-welcome){aspect-ratio:auto;min-height:510px}.bq-stage:has(.bq-welcome) .bq-artwork{height:215px}.bq-stage:has(.bq-welcome) .bq-canvas-fallback{object-fit:cover}.bq-welcome{align-items:flex-end;background:linear-gradient(180deg,#21191200 0,#21191235 20%,#211912f5 38%,#211912 55%)}.bq-welcome-content{width:100%;padding:25px 24px}.bq-welcome h1{font-size:36px;line-height:1.1;margin:15px 0}.bq-welcome-description{font-size:13px;line-height:1.65}.bq-welcome-details{gap:18px;margin:18px 0;font-size:11px}.bq-begin{width:100%}.bq-welcome-note{font-size:10px;text-align:center}.bq-location-chip{top:10px;left:10px;padding:6px 8px;font-size:8px}.bq-caption{bottom:24%;max-width:92%;left:4%;right:4%;padding:8px 11px}.bq-caption p{font-size:14px}.bq-skip{right:8px;bottom:4px;min-height:44px;font-size:10px}.bq-conversation-panel{border-radius:13px;padding:20px}.bq-conversation-panel h2{font-size:26px}.bq-objective{font-size:11px}.bq-romanized{font-size:27px}.bq-dialogue-actions{max-width:none}.bq-btn{min-height:48px}.bq-listen-target{min-height:44px}.bq-bottom-bar{margin-top:20px;padding-inline:3px;font-size:9px}.bq-bottom-bar span:last-child{display:none}.bq-game-layout.is-complete .bq-stage{aspect-ratio:auto;min-height:550px}.bq-score-grid{grid-template-columns:repeat(2,1fr)}.bq-complete{padding:24px}.bq-complete-title{font-size:33px}.bq-chapter-title{font-size:25px}.bq-chapter-num{margin-bottom:12px;font-size:9px}}@media(max-width:900px)and (max-height:500px)and (orientation:landscape){.bq-route{margin:12px auto}.bq-game-layout.has-dialogue{grid-template-columns:minmax(0,1fr) 290px;max-width:none;align-items:start}.bq-conversation-panel{padding:16px}.bq-welcome h1{font-size:28px;margin:12px 0}.bq-welcome-description{font-size:11px}.bq-welcome-details{margin:12px 0}}@media(prefers-reduced-motion:reduce){.bq-page *,.bq-page *:before,.bq-page *:after{animation:none!important;transition:none!important}}@media(min-width:1051px){.bq-game-layout:not(.has-dialogue){max-width:min(1440px,calc((100dvh - 195px) * 16 / 9))}}.bq-arrival-video{position:absolute;inset:0;background:#15110e}.bq-arrival-video video{display:block;width:100%;height:100%;object-fit:contain}.bq-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bq-video-play:hover:not(:disabled){transform:translate(-50%,-50%)}.bq-video-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#211912db;text-align:center;padding:24px}.bq-conversation-panel{color:#33291f;border-color:#e7d8c4;background:#fff8ef;box-shadow:0 24px 70px #0003}.bq-conversation-panel .bq-eyebrow,.bq-conversation-panel .bq-speaker{color:#a25d22}.bq-conversation-panel .bq-romanized,.bq-conversation-panel .bq-result-transcript{color:#33291f}.bq-conversation-panel .bq-turn-track{background:#e8ddcd}.bq-conversation-panel .bq-turn-track span{background:#d88639}.bq-conversation-panel .bq-btn-secondary{color:#574332;background:#efe5d7;border-color:#e1d1bc}.bq-conversation-panel .bq-btn-secondary:hover:not(:disabled){background:#e7d8c4}.bq-conversation-panel .bq-btn-ghost{color:#806449}.bq-conversation-panel .bq-mic-btn{color:#a65f20;background:#f8e4cc;border-color:#e7ba89;box-shadow:0 0 0 6px #f5eadc}.bq-conversation-panel .bq-mic-btn:hover:not(:disabled){background:#f0d4b4}.bq-conversation-panel .bq-mic-btn-recording{background:#b44737;color:#fff;border-color:#b44737}.bq-conversation-panel .bq-mic-label,.bq-conversation-panel .bq-result-score strong{color:#9a551c}.bq-conversation-panel .bq-panel-footer{border-color:#e4d6c2}.bq-conversation-panel .bq-panel-footer strong{color:#99561f}.bq-conversation-panel .bq-result-fail{color:#8b592b}.bq-conversation-panel .bq-error{color:#9c3b29;background:#fbe9df;border-color:#edc2ae}
