/* Pilot shell; character identity and scene assets remain from v1.0.4. */
body.pilot{margin:0;background:#0c1020;color:#f9edd7;font-family:system-ui,sans-serif;font-size:14px;overflow:auto}
body.pilot *{box-sizing:border-box}
.pilot [hidden]{display:none!important}
.pilot button,.pilot select{font:inherit;color:#f8edda;background:#26334b;border:1px solid #788896;border-radius:10px;padding:9px 12px;cursor:pointer;min-height:40px}
.pilot button:hover:not(:disabled){background:#354965;border-color:#e3d1a8}
.pilot button:disabled{opacity:.5;cursor:default}
.pilot button:focus-visible,.pilot a:focus-visible,.pilot input:focus-visible,.pilot select:focus-visible,.pilot textarea:focus-visible{outline:3px solid #a6ffdc;outline-offset:3px}
.pilot .primary{background:#d9c28c;color:#172233;font-weight:750;border-color:#f4deb1}
.pilot .primary:hover:not(:disabled){background:#f1dbab}
.pilot-app{max-width:1560px;margin:auto;height:100svh;min-height:680px;display:grid;grid-template-rows:58px 76px minmax(210px,1fr) 285px 20px;gap:10px;padding:12px 18px}
.pilot-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pilot h1{margin:0;font-family:Georgia,serif;font-size:32px;line-height:1.1;letter-spacing:-1px}
.pilot h1 em{color:#cfb3fa;font-weight:400}
.pilot .eyebrow{font-size:10px;letter-spacing:1.6px;margin:0 0 5px;color:#c6c7d9}
.header-tools{display:flex;gap:8px}.header-tools button{font-size:12px}
.pilot-goal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border:1px solid #645f85;background:linear-gradient(100deg,#252c45,#211e36);border-radius:14px}
.pilot-goal h2{font:600 21px Georgia,serif;margin:0 0 4px;color:#fff2d9}.pilot-goal p:not(.eyebrow){margin:0;font-size:13px;line-height:1.3;color:#e9e5f1}
.round-audio{flex:none}
.pilot-scene{position:relative;min-height:0;border:1px solid #8173a3;border-radius:17px;overflow:hidden;background:#142536}
.pilot .world{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;border:0;border-radius:0;margin:0;aspect-ratio:auto!important}
.pilot .world-caption{position:absolute!important;top:auto!important;width:56%!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;margin:0!important;font-size:12px!important;line-height:1.3!important;left:22%!important;right:22%!important;bottom:13px!important;padding:6px 10px!important;max-width:none!important;background:#0a1d2ae8;border-radius:8px}
.pilot-memory,.pilot-location{position:absolute;z-index:15;top:12px;background:#101b2de6;border:1px solid #a4d8d766;border-radius:8px;padding:6px 10px;font-size:11px;color:#e5fff1;pointer-events:none;max-width:75%}
.pilot-location{right:12px;max-width:25%;color:#f5d29f}.pilot-memory{left:12px}
.pilot-controls{display:grid;grid-template-columns:1fr 1.18fr .9fr;gap:12px;min-height:0}
.pilot-deck,.pilot-build,.pilot-companion{min-width:0;padding:13px 14px;border:1px solid #4e5878;border-radius:14px;background:#182037;overflow:auto}
.control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.control-heading h2{margin:0;font:600 17px Georgia,serif;color:#e8dbf6}
.control-heading button{font-size:11px;padding:5px 8px;min-height:30px}
.control-heading span{font-size:11px;color:#c4c9dc}
.pilot .mini-copy{font-size:11px;line-height:1.4;color:#bfcadd;margin:6px 0 9px}
.pilot .rune-bank{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.pilot .rune-card{position:relative!important;display:flex;flex-direction:column;align-items:center;justify-content:center;height:68px!important;width:auto!important;min-height:0!important;padding:4px!important;border:1px solid #b2a07a!important;border-radius:10px!important;background:#e4d1a6!important;box-shadow:inset 0 0 10px #8c652939!important;cursor:pointer}
.pilot .rune-card img{display:block;object-fit:contain!important;width:100%!important;height:100%!important;max-height:56px!important;filter:none!important}
.pilot .rune-card.selected{background:#f4dfb0!important;flex:0 0 56px!important;width:56px!important;height:74px!important}
.pilot .rune-card.selected img{height:47px!important;width:47px!important}
.pilot .rune-card .meaning{display:block!important;line-height:1.1;font-size:10px!important;font-weight:750;color:#15243c!important;position:static!important;background:none!important;padding:1px!important}
.pilot .spell-slots{display:flex!important;flex-wrap:wrap!important;align-content:flex-start;justify-content:flex-start;gap:5px!important;height:157px!important;min-height:0!important;margin:10px 0!important;padding:6px!important;overflow:auto!important;border:1px dashed #7e869d;border-radius:10px;background:#0c1428}
.pilot .spell-slots:empty:before{content:'Your wish begins here…';font:italic 17px Georgia,serif;color:#a8adc2;align-self:center;margin:auto}
.pilot-actions{display:flex;gap:6px;justify-content:flex-start}.pilot-actions button{font-size:12px;padding:7px 9px;min-height:34px}
.pilot-build #buildHelp{margin:5px 0 0;font-size:10px}
.pilot-companion #feedback{font-size:14px;line-height:1.45;margin:9px 0;color:#ebedf8;min-height:54px}
.pilot #spokenSentence{font-size:12px;margin:7px 0;color:#b9f6da;line-height:1.35}
.echo-actions{display:flex;gap:6px}.echo-actions button{font-size:11px;padding:5px 7px;min-height:30px}
#nextButton{width:100%;font-size:12px;margin-top:9px;min-height:34px;padding:6px}
#finishButton{font-size:10px;min-height:25px;padding:3px 6px;margin-top:5px}
.pilot-footer{display:flex;justify-content:space-between;font-size:10px;color:#aebbd0;align-items:center}
.pilot dialog{width:min(720px,94vw);max-height:88svh;color:#f9edda;background:#172138;border:1px solid #b9a6d5;border-radius:18px;padding:23px;box-shadow:0 25px 100px #000b;font-size:14px;line-height:1.55}
.pilot dialog::backdrop{background:#040c1bd4}
.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-title h2{font:25px Georgia,serif;margin:0}.dialog-title button{font-size:12px}
.pilot dialog label{display:block;margin:12px 0}.pilot dialog input[type=checkbox],.pilot dialog input[type=radio]{width:18px;height:18px;vertical-align:middle;margin-right:9px;accent-color:#b7f3da}
.pilot dialog select,.pilot dialog textarea{width:100%;background:#111b2c;color:#f5eedf;border:1px solid #8795ab;border-radius:8px;padding:9px;font:inherit}
.pilot dialog a{color:#bbf8e2}
.guide-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}.guide-cards button{display:grid;justify-items:center;gap:5px;background:#e6d5b2;color:#182139}.guide-cards img{width:60px;height:55px;object-fit:contain}
.echo-sentence{font:26px Georgia,serif;color:#c7ffdd;line-height:1.4}
.finish-choices,.teacher-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.teacher-actions{font-size:12px;align-items:center}
.probe-item{border-top:1px solid #53617d;margin-top:15px;padding-top:10px}.probe-item p{margin:5px 0}.probe-item label{font-size:12px!important}
.pilot #feelingChoices{border:1px solid #697a94;border-radius:12px;margin:20px 0}.pilot #feelingChoices label{display:inline-block;margin-right:12px}
.pilot .world[data-flower-quality=bright] .world-flower-stars{filter:brightness(1.9) drop-shadow(0 0 7px #ffe8a0);background-color:#e4ca6629}
.pilot .world[data-flower-quality=quiet] .world-flower-stars{filter:hue-rotate(40deg);opacity:.35!important}
.pilot .world[data-flower-quality=bright] .hand-flower{filter:brightness(1.9) drop-shadow(0 0 15px #ffe7a3)!important}
.pilot .world[data-flower-quality=quiet] .hand-flower{filter:brightness(.8) hue-rotate(35deg)!important}
.pilot .world[data-light-quality=bright] .world-moon{filter:brightness(1.7) drop-shadow(0 0 16px #ecfaff)}
.pilot .world[data-light-quality=soft] .world-moon{filter:brightness(.85) drop-shadow(0 0 5px #bbe3ff)}
.pilot .world[data-water-manner=softly] .world-water-shine{opacity:.45;transform:scaleY(.55);--v104-water-speed:5.5s}
.pilot .world[data-water-manner=slowly] .world-water-shine{opacity:.85;--v104-water-speed:12s}
.pilot .world[data-water-depth=deep] .world-river-shimmer{filter:brightness(.6) saturate(1.6)}
.pilot .world[data-abby-route=under] .world-abby-rig{left:62.5%!important;transform:translateY(36%) scale(.85)!important}
.pilot .world[data-abby-manner=slowly]{--pilot-leap-duration:3s}.pilot .world[data-abby-manner=slowly] .actor-abby-art{animation-duration:var(--pilot-leap-duration)!important}
.pilot .world[data-gate-manner=slowly] .world-gate-leaf{transition-duration:4s!important}
.pilot .world[data-gate-manner=softly] .world-gate-radiance{opacity:.3!important}
@media(min-width:1100px) and (max-height:740px){.pilot-app{grid-template-rows:50px 69px minmax(190px,1fr) 270px 16px;gap:7px;padding:8px 14px;min-height:630px}.pilot h1{font-size:29px}.pilot-goal{padding:7px 14px}.pilot-goal h2{font-size:19px}.pilot .rune-card{height:62px!important}.pilot .spell-slots{height:148px!important}.pilot-controls{gap:8px}.pilot-deck,.pilot-build,.pilot-companion{padding:10px}.pilot-companion #feedback{font-size:13px;min-height:45px;margin:7px 0}}
@media(max-width:1099px){.pilot-app{height:auto;min-height:100svh;grid-template-rows:auto auto 310px auto auto}.pilot-controls{grid-template-columns:1fr 1fr}.pilot-companion{grid-column:1/-1}.pilot .world-caption{left:10%!important;right:10%!important}.pilot-memory{max-width:65%}.pilot-location{max-width:30%}.pilot .pilot-controls .rune-bank{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:620px){.pilot-app{padding:10px;gap:9px;grid-template-rows:auto auto 270px auto auto}.pilot h1{font-size:27px}.pilot-header{align-items:flex-start}.header-tools{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:150px}.header-tools button{font-size:10px;padding:5px 7px;min-height:32px}.pilot .eyebrow{font-size:8px;letter-spacing:1px}.pilot-goal{padding:12px}.pilot-goal h2{font-size:21px}.pilot-goal p:not(.eyebrow){font-size:13px}.pilot-controls{grid-template-columns:1fr}.pilot-companion{grid-column:auto}.pilot .rune-card{height:76px!important}.pilot .spell-slots{height:160px!important}.pilot .pilot-memory{font-size:9px;max-width:66%;top:8px;left:7px;padding:5px}.pilot-location{font-size:8px;right:7px;top:8px}.pilot .world-caption{bottom:10px!important;left:6%!important;right:6%!important;font-size:11px!important}.guide-cards{grid-template-columns:repeat(3,1fr)}.pilot-footer{font-size:8px;gap:10px}.pilot dialog{padding:17px}}
