/* Homepage only: the existing hero artwork remains a single static asset. */
.typing-overlay{position:absolute;z-index:5;box-sizing:border-box;margin:0;padding:0;background:#fff;color:#111;white-space:pre;overflow:hidden;border:0;border-radius:3px;font-family:Consolas,"Liberation Mono",monospace;font-weight:400;letter-spacing:-.6px;pointer-events:none}
.typing-overlay .py-function{color:#004bff}.typing-overlay .py-string{color:#f00}.typing-overlay .py-number{color:#008d00}.typing-overlay .py-comment{color:#8e899f}.typing-overlay .py-variable{color:#111}
.typing-cursor{display:inline-block;width:1px;height:1em;background:#009fff;vertical-align:-.12em;animation:typing-blink .8s steps(1) infinite}@keyframes typing-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.typing-cursor{animation:none}}

.typing-output{position:absolute;z-index:5;box-sizing:border-box;background:#d8f0fc;color:#111;font-family:Consolas,"Liberation Mono",monospace;line-height:1.5;white-space:nowrap;overflow:hidden;pointer-events:none}

.typing-overlay .py-keyword{color:#004bff}

.typing-overlay[hidden],.typing-output[hidden]{display:none!important}
.home-output-hotspot,.home-output-hotspot:hover,.home-output-hotspot:active{position:absolute;z-index:6;display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;opacity:1;cursor:default;transform:none}
.home-output-hotspot:focus:not(:focus-visible){outline:none}
.home-output-hotspot:focus-visible{outline:2px solid #009fff;outline-offset:-4px}
