:root{color-scheme:dark;--ground:#080e14;--ink:#f2e9d5;--muted:#c5bca9;--gold:#dcc089;--line:#6d6554;--blue:#b8e9f4;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{background:var(--ground);scrollbar-color:#8c7955 #0d151d}body{margin:0;color:var(--ink);font-family:"Microsoft YaHei",system-ui,sans-serif;background:linear-gradient(90deg,rgba(8,14,20,.6),rgba(8,14,20,.88)),url('assets/hogwarts-mist-v23.webp') center/cover fixed;min-height:100svh}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}::selection{background:#dcc089;color:#080e14}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button:focus-visible{outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.masthead{height:78px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #b99a622e;background:#080e14c9}.masthead a{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:"KaiTi","STKaiti",serif;font-size:18px}.masthead svg{width:27px;height:32px;fill:none;stroke:var(--gold);stroke-width:1.1;flex-shrink:0}.utilities{display:flex;align-items:center;gap:16px}.quiet{border:0;background:none;color:var(--muted);padding:10px 0;font-size:12px}.quiet:hover{color:var(--ink)}select{border:1px solid #6d6554;background:#0d1820;color:var(--ink);padding:8px;max-width:120px;font-size:12px;border-radius:4px}
h1,h2,p{margin:0}h1,h2{font-family:"KaiTi","STKaiti","Songti SC",serif;font-weight:500;text-wrap:balance}h1{font-size:clamp(44px,5.2vw,78px);line-height:1.2;letter-spacing:.01em}h2{font-size:clamp(28px,3vw,44px);line-height:1.3}.primary,.secondary,.voice{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border-radius:5px;transition:background .2s,color .2s}.primary{border:0;color:#10191c;background:var(--gold);font-weight:600}.primary:hover{background:#efdaad}.primary:active{transform:translateY(1px)}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#dcc08915}.intro{max-width:1180px;margin:0 auto;padding:clamp(34px,6vh,78px) 38px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:calc(100svh - 78px)}.intro-copy{max-width:490px}.intro-copy p{margin:26px 0 32px;line-height:1.95;color:var(--muted);font-size:15px;max-width:34em}.intro-copy .primary{min-width:210px}.intro-note{font-size:12px!important;margin:16px 0 0!important}.intro-art{position:relative}.intro-art img{width:100%;display:block;mask-image:linear-gradient(#000 80%,transparent);max-height:660px;object-fit:contain}.intro-art figcaption{position:absolute;bottom:20px;width:100%;text-align:center;color:var(--gold);font-family:"KaiTi",serif;font-size:20px}.intro-art:after{content:'';position:absolute;inset:10px;border:1px solid #dcc08935;pointer-events:none}
.journey{max-width:1140px;margin:0 auto;padding:26px 32px 32px}.journey-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.chapter-count{font-size:12px;color:var(--gold);font-variant-numeric:tabular-nums}.chapter-track{display:flex;gap:8px;list-style:none;padding:0;margin:0}.chapter-track li{height:3px;width:34px;background:#4a4d4b}.chapter-track li.current{background:var(--ink)}.chapter-track li.done{background:var(--gold)}.play-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:64px;align-items:center}.story-copy{padding-bottom:20px}.story-copy h2{max-width:13em}.story-copy>p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:18px;max-width:34em}.spell-name{font-family:Georgia,serif;color:var(--gold);font-size:25px;letter-spacing:.04em;margin:32px 0 8px}.instruction{color:var(--ink);font-size:14px;line-height:1.8}.voice{margin-top:20px;border:1px solid #b4a17a;background:#12232c;color:var(--ink);width:100%;max-width:300px}.voice svg{width:18px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}.voice[aria-pressed="true"]{background:#24424b;border-color:var(--blue)}.voice small{color:var(--muted)}.voice-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px;max-width:34em}.assist{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.assist button{font-size:12px;color:var(--muted);text-underline-offset:4px;text-decoration:underline;border:0;padding:6px 0;background:none}.assist button:hover{color:var(--ink)}.live-status{min-height:44px;padding-top:15px;font-size:13px;line-height:1.7;color:var(--blue)}
.scene{height:min(66vh,610px);min-height:400px;position:relative;overflow:hidden;border:1px solid #9f8c644f;border-radius:10px;background:#0b141c;touch-action:none;isolation:isolate}.scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;pointer-events:none}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#050b10c7);pointer-events:none;z-index:0}.scene.dawn .scene-bg{filter:sepia(.6);opacity:.86}.scene-label{position:absolute;left:20px;top:19px;z-index:2;color:var(--muted);font-size:11px;letter-spacing:.08em}.scene canvas,.scene .gesture-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.gesture-guide{stroke:var(--gold);stroke-width:2;fill:none;stroke-dasharray:6 7;opacity:.78}.gesture-guide .start{fill:var(--gold);stroke:none}.guide-caption{position:absolute;bottom:25px;left:18px;right:18px;text-align:center;font-size:12px;color:var(--ink);z-index:3;pointer-events:none;line-height:1.7}.spell-flash{position:absolute;inset:0;background:#c8f6ff;opacity:0;pointer-events:none;z-index:4}.scene.success .spell-flash{animation:flash .9s var(--ease)}@keyframes flash{0%{opacity:.75}100%{opacity:0}}.scene.success .gesture-guide{opacity:0;transition:opacity .3s}.wand-core{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue);left:50%;top:60%;box-shadow:0 0 18px 5px #b8e9f470;z-index:2;pointer-events:none}.spotlight{position:absolute;inset:0;z-index:1;background:radial-gradient(circle 85px at var(--light-x,50%) var(--light-y,70%),#040a1000 5%,#040a10ef 100%);pointer-events:none}.secret{position:absolute;left:64%;top:28%;width:72px;height:72px;z-index:2;color:var(--gold);opacity:0;transition:opacity .2s;border:1px solid #e1cb95;border-radius:50%;background:#131e23;display:grid;place-items:center;pointer-events:none;font-size:32px;font-family:Georgia,serif}.secret.revealed{opacity:1}.shield{position:absolute;inset:20% 12% 24%;border:2px solid var(--blue);border-radius:50%;background:radial-gradient(ellipse,#a9e5ed15,#c4f6ff35);opacity:0;transform:scale(.6);z-index:2;pointer-events:none}.success .shield{opacity:1;transform:scale(1);transition:all .7s var(--ease)}.rescue-zone{position:absolute;left:20%;right:20%;top:15%;height:85px;border:1px dashed #dfc58e;display:flex;align-items:center;justify-content:center;font-size:12px;background:#101d29a6;z-index:2;pointer-events:none}.hand{position:absolute;left:calc(50% - 34px);top:68%;width:68px;height:68px;border-radius:50%;border:1px solid var(--gold);background:#17262e;color:var(--gold);padding:15px;z-index:4;pointer-events:none}.hand svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hand.grabbed{background:#425859;transform:scale(1.08)}.charge-light{position:absolute;left:50%;top:47%;width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:0 0 20px 6px #b8e9f44d;transform:translate(-50%,-50%) scale(var(--charge,1));z-index:2;pointer-events:none;transition:transform .08s linear}.charge-line{position:absolute;left:25%;right:25%;bottom:21%;height:2px;background:#b9b39f55;z-index:3}.charge-line i{display:block;height:100%;width:0;background:var(--blue)}
.film-panel{position:absolute;inset:0;z-index:6;background:#08121be8;display:flex;flex-direction:column;justify-content:center;padding:22px;touch-action:pan-y}.film-frame{position:relative;aspect-ratio:16/9;background:#080e14;overflow:hidden}.film-frame img,.film-frame video{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.film-frame video{opacity:0;transition:opacity .2s}.film-frame video.playing{opacity:1}.film-caption{color:var(--ink);line-height:1.8;font-size:14px;margin:20px 0 8px}.film-status{font-size:12px;line-height:1.7;color:var(--muted);min-height:22px}.film-panel .primary{margin-top:22px;width:100%}.retry-film{font-size:12px;padding:10px;color:var(--muted);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}.keyboard-tip{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:14px}.result{max-width:650px;margin:0 auto;padding:55px 28px 40px;text-align:center}.result h1{font-size:48px}.result-art{width:100%;max-height:260px;object-fit:cover;margin:30px 0 24px;border-radius:6px;filter:sepia(.2)}.result p{line-height:1.95;color:var(--muted);font-size:15px}.result-record{list-style:none;padding:24px 0;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:center;flex-wrap:wrap;font-size:12px;color:var(--gold)}.result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.result .live-status{margin-top:10px}.hold-target{position:absolute;width:115px;height:115px;border:1px solid var(--gold);border-radius:50%;left:calc(50% - 57.5px);top:calc(47% - 57.5px);z-index:3;background:none}
@media(min-width:1400px){.journey{padding-top:50px}.play-layout{gap:90px}}
@media(max-width:760px){.masthead{height:64px;padding:0 16px}.masthead a{font-size:13px;gap:8px}.masthead svg{width:22px;height:27px}.utilities{gap:10px}.quiet{font-size:11px}.language-label select{font-size:11px;max-width:98px;padding:7px 4px}.intro{min-height:calc(100svh - 64px);padding:28px 24px 32px;gap:10px;display:flex;flex-direction:column-reverse;justify-content:center}.intro-art{width:min(100%,290px);margin:0}.intro-art img{max-height:280px}.intro-art figcaption{font-size:16px;bottom:7px}.intro-copy{width:100%;max-width:430px}.intro h1{font-size:40px}.intro-copy p{font-size:13px;line-height:1.8;margin:17px 0 23px}.intro-copy .primary{width:100%}.intro-note{text-align:center}.journey{padding:18px 18px max(24px,env(safe-area-inset-bottom))}.journey-bar{margin-bottom:18px}.chapter-track{gap:5px}.chapter-track li{width:22px}.play-layout{display:flex;flex-direction:column;gap:0;align-items:stretch}.story-copy{display:contents}.story-copy h2{order:0;font-size:29px}.story-copy>p{order:1;font-size:13px;line-height:1.8;margin:10px 0 16px;max-width:none}.scene{order:2;height:clamp(310px,45svh,460px);min-height:310px;width:100%}.spell-controls{order:3;padding-top:17px}.spell-name{font-size:22px;margin:0 0 5px}.instruction{font-size:13px}.voice{max-width:none;margin-top:13px;min-height:44px}.voice-note{font-size:11px;max-width:none}.assist{margin-top:10px;gap:22px}.live-status{padding-top:9px;min-height:32px;font-size:12px}.keyboard-tip{display:none}.scene-label{left:16px;top:14px}.film-panel{padding:20px}.result{padding-top:32px}.result h1{font-size:39px}}
@media(max-width:359px){.masthead a span{max-width:105px;line-height:1.5}.utilities{gap:8px}.journey{padding-left:14px;padding-right:14px}.chapter-track li{width:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.spell-coaching{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px}.pronounce{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:#12232c;color:var(--ink);font-size:12px;flex-shrink:0}.pronounce:hover{background:#25383e}.pronounce[aria-pressed="true"]{color:var(--blue);border-color:var(--blue)}.pronounce svg{height:17px;width:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pronunciation-hint{color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.pronunciation-hint [lang="en"]{font-family:Georgia,serif;letter-spacing:.015em}@media(max-width:760px){.spell-coaching{gap:8px 14px;margin-bottom:13px}.pronunciation-hint{font-size:11px}}

.voice-settings{display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--muted);font-size:12px}.voice-settings select{max-width:210px;min-height:36px}.voice-target{color:var(--gold);font-size:12px;line-height:1.8;margin-top:8px}.voice-cancel{margin:8px 0 0;background:transparent;border:0;padding:8px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;font-size:12px}.voice:disabled{opacity:.75}.voice-settings select:disabled{opacity:.8}

/* Phone-first composition: the same portrait flow at every screen width. */
html{background:#050a0f;scroll-padding-top:76px}
body{width:100%;max-width:480px;margin:0 auto;background-position:center top;background-attachment:scroll;min-height:100svh}
.masthead{position:sticky;top:0;z-index:20;height:64px;padding:0 16px;gap:8px;background:#0a131bed}
.masthead a{font-size:13px;gap:8px;min-width:0;line-height:1.45}.masthead a span{max-width:158px}.masthead svg{width:22px;height:27px}
.utilities{gap:10px;flex-shrink:0}.quiet{min-height:44px;font-size:11px}.language-label select{font-size:11px;min-height:40px;max-width:98px;padding:7px 5px}
#app{width:100%;min-height:calc(100svh - 64px)}
.intro{width:100%;min-height:calc(100svh - 64px);padding:36px 26px max(32px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:flex-end;gap:0}
.intro-copy{width:100%;max-width:none;padding:0 0 5svh}.intro h1{font-size:clamp(36px,10.5vw,46px);line-height:1.35;letter-spacing:0;max-width:10em}
.intro-copy p{font-size:14px;line-height:1.9;margin:23px 0 30px;max-width:none}.intro-copy .primary{width:100%;min-height:52px;font-size:15px}.intro-note{font-size:11px!important;line-height:1.8!important;margin:16px 0 0!important;text-align:center}
.journey{max-width:none;margin:0;padding:14px 18px max(20px,env(safe-area-inset-bottom))}
.journey-bar{margin-bottom:14px;gap:12px}.chapter-count{font-size:11px}.chapter-track{gap:5px}.chapter-track li{width:22px;height:3px}
.play-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}.story-copy{display:contents;padding:0}.story-copy h2{order:0;font-size:clamp(25px,7vw,29px);line-height:1.4;max-width:none;letter-spacing:0}
.story-copy>p{order:1;font-size:13px;line-height:1.75;color:var(--muted);margin:9px 0 14px;max-width:none}
.scene{order:2;width:100%;height:clamp(235px,34svh,340px);min-height:235px;border-radius:8px;scroll-margin-top:76px}
.scene-label{font-size:10px;left:14px;top:13px}.guide-caption{font-size:11px;bottom:17px;line-height:1.7}
.spell-controls{order:3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:8px;padding-top:14px}
.spell-controls>.spell-name{grid-column:1;grid-row:1;min-width:0;font-size:21px;line-height:1.35;margin:0;letter-spacing:.01em;overflow-wrap:anywhere}
.spell-coaching{display:contents}.spell-coaching .pronounce{grid-column:2;grid-row:1;min-height:44px;min-width:108px;padding:8px 10px;font-size:12px}
.pronunciation-hint{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.8;margin:0;color:var(--muted)}
.spell-controls>.instruction,.spell-controls>.voice,.spell-controls>.voice-note,.spell-controls>.voice-options,.spell-controls>.voice-cancel,.spell-controls>.live-status,.spell-controls>.assist,.spell-controls>.keyboard-tip{grid-column:1/-1}
.instruction{font-size:12px;line-height:1.8}.voice{width:100%;max-width:none;min-height:48px;padding:11px 20px;margin:2px 0 0;font-size:14px}.voice-note{font-size:11px;line-height:1.7;margin:0;max-width:none}
.voice-options{font-size:11px;color:var(--muted)}.voice-options summary{cursor:pointer;padding:7px 0;min-height:30px;list-style-position:inside;text-underline-offset:3px}.voice-options[open]{padding-bottom:8px}.voice-settings{margin:5px 0 0;gap:12px;font-size:12px}.voice-settings select{max-width:220px;min-height:40px}.voice-target{margin-top:7px}
.voice-cancel{justify-self:start;min-height:36px;margin:0;padding:6px 0}.live-status{padding:0;min-height:0;font-size:12px;line-height:1.8}.live-status:empty{display:none}
.assist{justify-content:space-between;gap:12px;margin:0;align-items:center}.assist button{min-height:40px;margin:0;padding:8px 0;font-size:11px}.keyboard-tip{display:none;margin:0;font-size:11px;line-height:1.8}
.scene.showing-film{height:auto;min-height:0;touch-action:pan-y}.showing-film .film-panel{position:relative;inset:auto;min-height:350px;padding:18px;touch-action:pan-y}.film-caption{font-size:13px;line-height:1.8;margin:16px 0 7px}.film-status{font-size:11px;line-height:1.8;min-height:0}.film-status:empty{display:none}.film-panel .primary{min-height:48px;margin-top:18px}.film-panel .secondary{min-height:44px;margin-top:10px}.retry-film{min-height:40px;margin-top:4px;padding:8px}
.result{max-width:none;padding:30px 24px max(30px,env(safe-area-inset-bottom))}.result h1{font-size:36px;line-height:1.35}.result-art{max-height:210px;aspect-ratio:16/10;margin:24px 0 20px}.result>.spell-name{font-size:23px;margin:0 0 12px}.result p{font-size:13px;line-height:1.9}.result-record{font-size:11px;line-height:1.8;padding:18px 0;margin:22px 0;gap:10px 16px}.result-actions{flex-direction:column;gap:10px}.result-actions button{width:100%;min-height:48px}
@media(max-width:359px){.masthead{padding:0 12px}.masthead a span{max-width:113px;font-size:12px}.utilities{gap:8px}.journey{padding-left:14px;padding-right:14px}.chapter-track li{width:18px}.intro{padding-left:22px;padding-right:22px}.intro h1{font-size:35px}.scene{height:clamp(220px,34svh,300px);min-height:220px}.spell-controls>.spell-name{font-size:19px}.spell-coaching .pronounce{min-width:102px;font-size:11px}.result h1{font-size:32px}}
@media(pointer:coarse){#keyboard{display:none}.assist{justify-content:flex-start;gap:24px}}

/* Respect phone notches without fixed-height content panels. */
.masthead{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}#app{min-height:calc(100svh - 64px - env(safe-area-inset-top))}.intro{min-height:calc(100svh - 64px - env(safe-area-inset-top))}.scene{scroll-margin-top:calc(76px + env(safe-area-inset-top))}html{scroll-padding-top:calc(76px + env(safe-area-inset-top))}

.showing-film>.film-panel{background:#0b151e}

/* V4: spell names and direct voice-assisted rescue. */
.masthead .utilities{margin-inline-start:auto}.spell-controls>.spell-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;letter-spacing:0}.spell-name>span[lang=en]{font-size:20px;line-height:1.5}.spell-canon{font-family:"Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;color:var(--ink);font-weight:500;letter-spacing:0}.spell-controls.has-spell>div.spell-name{grid-column:1/-1;grid-row:1}.spell-controls.has-spell .spell-coaching .pronounce{grid-column:1;grid-row:2;justify-self:start}.spell-controls.has-spell .pronunciation-hint{grid-column:1/-1;grid-row:3}.spell-controls.has-spell{row-gap:8px}
.rescue-scene{height:clamp(300px,41svh,370px);min-height:300px;--rescue-pull:0}.rescue-scene .scene-bg{opacity:.8;object-position:56% center}.rescue-scene:after{background:linear-gradient(#06121a40,#06121a30 50%,#06121af2)}.rescue-scene .scene-label{display:none}.rescue-steps{position:absolute;inset:12px 14px auto;display:flex;justify-content:space-between;gap:10px;z-index:3;color:#e2dac9;font-size:11px;line-height:1.7}.rescue-steps span{padding:5px 8px;background:#07121bd9;border-radius:4px}.rescue-steps .done{color:#d4f4e0;background:#193d30e8}.rescue-zone{left:18%;right:18%;top:15%;height:22%;border:1px solid #9ab5ab;background:#142b29d9;border-radius:8px;gap:8px;color:#e6f4ec;font-size:12px}.rescue-zone svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}.rescue-tether{position:absolute;left:calc(50% - 1px);top:39%;height:35%;width:2px;background:#c3b08a;z-index:2;opacity:.8;transform-origin:top;transform:scaleY(calc(1 - var(--rescue-pull)*.85));transition:transform .15s linear;pointer-events:none}.rescue-scene .hand{background:#172a33;color:#f1d59b;border:2px solid #dac18a}.rescue-scene .hand.grabbed{background:#324c46;border-color:#c5edcd}.rescue-scene .guide-caption{display:none}.rescue-cue{position:absolute;inset:auto 14px 14px;text-align:center;font-size:12px;line-height:1.7;color:#f1e8d9;z-index:3;pointer-events:none}.rescue-scene.pull-ready .rescue-zone{background:#2a4b3de8;border-color:#c5edcd}.rescue-scene .hand{transition:background .15s,top .2s ease-out}.rescue-scene canvas{display:none}
@media(max-width:359px){.spell-name>span[lang=en]{font-size:18px}.spell-canon{font-size:13px}.rescue-scene{min-height:285px;height:285px}.rescue-steps{inset:10px 10px auto;font-size:10px}}
@media(prefers-reduced-motion:reduce){.rescue-tether,.rescue-scene .hand{transition:none}}

.spell-controls>.rescue-voice-prompt{grid-column:1/-1;margin:0;font-size:13px;line-height:1.8;color:var(--gold)}

/* V6: a focused browser handoff on the incumbent dark/gold surface. */
.safari-guide-open,.safari-guide-open body{overflow:hidden;overscroll-behavior:none}
#safariGuide{color:var(--ink);background:#101c24;border:1px solid #766746;border-radius:14px;padding:0;width:min(430px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;box-shadow:0 18px 70px #0009;color-scheme:dark}
#safariGuide::backdrop{background:#03090ed6}.safari-guide-card{position:relative;padding:30px 24px 24px}.safari-compass{display:block;margin-bottom:20px}.safari-guide-card h2{font-size:29px;line-height:1.4;margin:0 0 13px;color:var(--gold);text-wrap:balance}.guide-intro,.guide-alternative{font-size:13px;line-height:1.85;color:var(--muted)}
.guide-close{position:absolute;top:7px;right:7px;width:44px;height:44px;border:0;border-radius:5px;background:transparent;color:var(--muted);display:grid;place-items:center}.guide-close:hover{background:#ffffff0b;color:var(--ink)}.guide-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.safari-steps{padding:0;list-style:none;counter-reset:safariSteps;margin:20px 0 0;display:grid;gap:15px}.safari-steps li{counter-increment:safariSteps;display:grid;grid-template-columns:27px minmax(0,1fr);gap:11px;align-items:start;font-size:13px;line-height:1.8;color:var(--ink)}.safari-steps li:before{content:counter(safariSteps);display:grid;place-items:center;width:26px;height:26px;background:#dcc089;color:#10191c;border-radius:50%;font-size:12px;font-variant-numeric:tabular-nums}
.guide-alternative{border-top:1px solid #60563e;margin:22px 0 17px;padding-top:17px}.guide-copy{width:100%;min-height:48px;font-size:14px;gap:9px}.guide-copy svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.guide-status{font-size:12px;line-height:1.8;color:var(--blue);margin:12px 0 0;overflow-wrap:anywhere}.guide-status:empty{display:none}.guide-manual{display:block;margin-top:15px;font-size:12px;line-height:1.8;color:var(--muted)}.guide-manual input{display:block;width:100%;margin-top:7px;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#070f15;color:var(--ink);font:12px/1.7 system-ui;direction:ltr;caret-color:var(--gold)}
#safariGuide[data-fallback=true]{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;z-index:100}
@media(max-width:359px){.safari-guide-card{padding:26px 18px 20px}.safari-guide-card h2{font-size:25px}.safari-steps li,.guide-intro,.guide-alternative{font-size:12px}}

/* V7: first-person wand opening; the artwork stays clear between title and CTA. */
.wand-intro{position:relative;isolation:isolate;overflow:hidden;min-height:max(740px,calc(100svh - 64px));padding:34px 26px max(26px,env(safe-area-inset-bottom));background:#091119}
.intro-wand-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-2}
.wand-intro:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,10,15,.54) 0%,rgba(5,10,15,.12) 29%,transparent 48%,rgba(5,10,15,.18) 64%,rgba(5,10,15,.92) 84%,#050a0f 100%)}
.wand-intro .intro-copy{display:flex;flex-direction:column;flex:1;align-self:stretch;padding:0;min-height:calc(max(740px,100svh - 64px) - 60px)}
.wand-intro h1{font-size:clamp(34px,9.5vw,44px);line-height:1.3;max-width:10em}
.wand-intro .intro-copy>p:not(.intro-note){margin: auto 0 20px;font-size:13px;line-height:1.85;color:#e2dbc9;padding-top:300px}
.wand-intro .intro-note{color:#cfc6b3;margin-top:14px!important}
@media(max-width:359px){.wand-intro{padding-left:20px;padding-right:20px}.wand-intro h1{font-size:32px}.wand-intro .intro-copy>p:not(.intro-note){font-size:12px}}

/* V8 multilingual and bidirectional layout. Keep gesture geometry physical. */
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] h1,html[dir="rtl"] h2{font-family:"Segoe UI",Tahoma,serif;line-height:1.5}
html[dir="rtl"] .scene,html[dir="rtl"] .gesture-guide{direction:ltr}
html[dir="rtl"] .rescue-steps{direction:rtl}
html[dir="rtl"] .primary span[aria-hidden="true"]{transform:scaleX(-1)}
html[dir="rtl"] .rescue-zone,html[dir="rtl"] .rescue-cue,html[dir="rtl"] .guide-caption{direction:rtl}
html[dir="rtl"] .guide-close{left:14px;right:auto}
html[dir="rtl"] .safari-steps{padding-inline-start:28px;padding-inline-end:0}
html[dir="rtl"] .safari-steps li::before{left:auto;right:-28px}
html[dir="rtl"] .guide-manual input{direction:ltr;text-align:left}
.spell-name [lang="en"],.pronunciation-hint [lang="en"]{direction:ltr;unicode-bidi:isolate;display:inline-block}
.primary,.secondary,.voice,.pronounce{white-space:normal;overflow-wrap:anywhere;text-align:center}
.voice-language-note{font-size:11px;line-height:1.8;margin:8px 0;color:var(--muted)}
.wand-intro .intro-copy>p:not(.intro-note){overflow-wrap:anywhere;padding-top:280px}
html:lang(km) .wand-intro h1,html:lang(th) .wand-intro h1,html:lang(si) .wand-intro h1,html:lang(ta) .wand-intro h1{font-family:"Leelawadee UI","Nirmala UI",sans-serif;font-size:clamp(29px,8vw,37px);line-height:1.6}
.masthead a span{overflow-wrap:anywhere}.voice-settings{flex-wrap:wrap}.voice-settings select{max-width:100%}
