.laptop-content{padding:0;overflow:hidden;background:#8ad8ef;display:block;border-radius:3px}.laptop-content canvas{width:100%;height:100%;object-fit:fill;display:block;image-rendering:pixelated}.flight-hud{position:absolute;top:8px;left:10px;right:10px;display:flex;justify-content:space-between;font:bold 14px monospace;color:#28384c;pointer-events:none}.flight-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dff7f2e8;padding:10px;color:#293e53}.flight-overlay[hidden]{display:none}.laptop-content .flight-overlay h2{font-size:clamp(14px,2.4vw,24px);margin:0 0 6px}.flight-overlay p{font-size:clamp(10px,1.5vw,14px);margin:4px 0 8px}.flight-overlay button{min-height:44px;padding:6px 18px;border:2px solid #634a8e;background:#ffe484;color:#34254a;border-radius:5px;cursor:pointer;font-weight:bold}.flight-overlay button:focus-visible{outline:3px solid #216987;outline-offset:2px}
.flight-portrait{display:block;width:74px;height:74px;flex-shrink:0;background-size:contain;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;animation:flight-portrait-bob 1.4s ease-in-out infinite}.flight-overlay{background:#e4f7f1ed}.laptop-content .flight-overlay h2{margin:0 0 4px;font-weight:700}.flight-overlay p{max-width:340px;line-height:1.6}.laptop-content canvas:focus{outline:none}.laptop-content canvas:focus-visible{outline:2px solid #4a72a0;outline-offset:-2px}@keyframes flight-portrait-bob{50%{transform:translateY(-4px)}}@media(max-width:600px){.flight-portrait{width:42px;height:42px}.flight-overlay{padding:3px}.laptop-content .flight-overlay h2{font-size:13px;line-height:1.2}.flight-overlay p{font-size:10px;line-height:1.25;margin:2px 0 4px}.flight-overlay button{font-size:12px;min-height:36px;padding:4px 12px}.flight-hud{font-size:10px;top:4px;left:5px;right:5px}}@media(prefers-reduced-motion:reduce){.flight-portrait{animation:none}}

.flight-hud span{background:#fff7e3dd;padding:3px 7px;border:2px solid #b6a7cc;border-radius:3px}.flight-overlay{background:#eaf9f0d9}.flight-portrait{width:86px;height:86px}@media(max-width:600px){.flight-portrait{width:42px;height:42px}.flight-hud span{padding:1px 3px;border-width:1px}}
/* Soft sky palette, scoped to the computer game. */
.laptop-content{background:#d9edf4}.flight-hud{color:#655f76}.flight-hud span{background:#fffaf0e8;border-color:#d4cadf}.flight-overlay{background:#f1f7f2df;color:#696278}.flight-overlay button{background:#f7e8bd;border-color:#c4b5d5;color:#6b607b}.flight-overlay button:focus-visible{outline-color:#91b6c7}
.laptop-content canvas{filter:saturate(.78) brightness(1.035)}
/* Click-to-reveal conversation, using native UI shapes and selectable text. */
.flight-intro{position:absolute;inset:0;z-index:3;background:#dceef7;color:#394a60;display:flex;flex-direction:column;text-align:left;padding:12px 16px;gap:8px}
.flight-intro[hidden]{display:none}.is-intro .flight-hud{visibility:hidden}
.flight-intro header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;border-bottom:1px solid #b8d2e0;padding-bottom:6px}
.laptop-content .flight-intro h2{font-size:15px;line-height:1.5;margin:0;font-weight:700}.intro-progress{font-size:12px;font-variant-numeric:tabular-nums;color:#52677a}
.intro-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 5px 8px;touch-action:pan-y}
.intro-bubble{position:relative;max-width:85%;margin:0;padding:8px 12px;background:#fff1bc;border:1px solid #dac78c;border-radius:13px 13px 13px 3px;font-size:15px;line-height:1.65;color:#494734;flex-shrink:0;animation:intro-arrive .18s ease-out both;overflow-wrap:anywhere}
.intro-bubble.right{align-self:flex-end;border-radius:13px 13px 3px 13px;background:#fff6d5}
.intro-next{align-self:flex-end;min-height:44px;min-width:120px;border:1px solid #9ab8ca;border-radius:9px;background:#f4fbff;color:#354e64;padding:6px 14px;font-size:13px;cursor:pointer;flex-shrink:0}.intro-next span{margin-left:8px}.intro-next:hover{background:#fff1bc}.intro-next:active{background:#eddfae}.intro-next:focus-visible{outline:3px solid #537e9c;outline-offset:2px}
.flight-overlay .intro-replay{background:transparent;border:0;text-decoration:underline;min-height:44px;font-weight:400;font-size:12px}
@keyframes intro-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.laptop-dialog{width:calc(100vw - 16px)}.laptop-dialog .laptop-content{left:10%;width:80%;top:8%;height:63%}.flight-intro{padding:8px;gap:4px}.laptop-content .flight-intro h2{font-size:13px}.intro-bubble{font-size:14px;padding:6px 9px}.intro-messages{gap:6px}.flight-overlay button{min-height:44px}.flight-intro header{padding-bottom:3px}}
@media(prefers-reduced-motion:reduce){.intro-bubble{animation:none}}
/* Minimal conversation: only the bubbles remain visible. */
.flight-intro header,.flight-intro .intro-next{display:none}
.intro-messages{scrollbar-width:none;-ms-overflow-style:none}
.intro-messages::-webkit-scrollbar{display:none;width:0;height:0}
.flight-intro{cursor:pointer}
.flight-intro:focus{outline:none}
.flight-intro:focus-visible{outline:2px solid #537e9c;outline-offset:-3px}
