:host{--bg:var(--color-bg-alt,#0b0e14);--fg:var(--color-text,#d2d6db);--accent:var(--color-primary,#00b4d8);--muted:color-mix(in oklab,var(--fg),var(--bg)40%);--prompt:var(--accent);--term-min:20rem;--term-max:60rem;--term-pad:clamp(.75rem,2vw,1.25rem);--font:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:var(--bg);color:var(--fg);font-family:var(--font);inline-size:min(100%,var(--term-max));min-inline-size:var(--term-min);padding:var(--term-pad);border-radius:12px;font-size:clamp(.85rem,.6vw + .6rem,1rem);display:block;position:relative;overflow:hidden;box-shadow:0 8px 24px #0003}.term .row{grid-template-columns:auto auto 1fr auto;align-items:center;gap:.5rem;height:1.3rem;display:grid}.term .status{white-space:nowrap;opacity:.85;justify-self:end;min-width:1ch}.term[data-busy=true] .status{filter:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:host([theme=light]){--bg:var(--color-bg,#f7f7f8);--fg:var(--color-text,#1e1e1e);--accent:var(--color-primary,#0077b6);--muted:#6b7280;--prompt:var(--accent)}:host([theme=dark]){--bg:var(--color-bg-alt,#121212);--fg:var(--color-text,#e5e5e5);--accent:var(--color-primary,#4dabf7);--muted:#9aa0a6;--prompt:var(--accent)}:host([theme=retro]),:host-context(html[data-theme="retro"]){--bg:var(--color-bg-alt,#140e08);--fg:var(--color-text,#ffe7b3);--accent:var(--color-primary,#ffb84d);--muted:color-mix(in oklab,var(--fg),black 40%);--prompt:var(--accent);--crt-glow:0 0 .45rem #ffb84d59,0 0 .9rem #ffb84d2e;--crt-scanline-opacity:.75;--crt-vignette-opacity:.16;background:radial-gradient(120% 90% at 50% 0%,rgba(0,0,0,var(--crt-vignette-opacity))0%,transparent 50%)no-repeat,radial-gradient(120% 90% at 50% 100%,rgba(0,0,0,var(--crt-vignette-opacity))0%,transparent 50%)no-repeat,var(--bg);box-shadow:inset 0 0 1.25rem #0009,var(--crt-glow);text-shadow:0 0 .03rem #0000004d,0 0 .35rem;border:1px solid color-mix(in oklab,var(--fg),transparent 80%);aspect-ratio:4/3;@media (width<=900px){&{max-width:80vw}}@media (width>=901px){&{max-width:48vw}}@media (width>=1920px){&{max-width:37vw}}}:host([theme=retro]) .term,:host-context(html[data-theme="retro"]) .term{aspect-ratio:4/3;block-size:auto;padding:var(--term-pad)}:host([theme=retro]):before,:host-context(html[data-theme="retro"]):before{content:"";pointer-events:none;opacity:var(--crt-scanline-opacity);mix-blend-mode:soft-light;background-image:repeating-linear-gradient(#000000e6 0,#0000 2px,#ffffff05 3px,#0000 4px);position:absolute;inset:0}:host .term{grid-template-rows:minmax(0,1fr) auto;block-size:clamp(16rem,42vh,30rem);display:grid}:host .scrollback{scrollbar-gutter:stable;white-space:pre-wrap;word-break:break-word;text-align:left;min-height:0;font-size:clamp(.5rem,.5vw + .3rem,1rem);overflow:auto}:host .line{display:block}:host .muted{color:var(--muted)!important}:host .pong{user-select:none;color:var(--fg);text-shadow:0 0 .03rem #0000004d,0 0 .35rem;background:0 0;margin:8px 0;font:14px/14px ui-monospace,Menlo,Fira Code,monospace}:host .prompt{color:var(--prompt);text-shadow:0 0 .55rem color-mix(in oklab,var(--prompt),transparent 50%);height:inherit;margin-inline-end:.5rem}:host([theme=retro]) .line,:host-context(html[data-theme="retro"]) .line{animation:.5s infinite retro-flicker,.2s ease-out bloom}:host .row{align-items:center;gap:.5rem;display:flex;overflow:hidden}:host .editline{white-space:pre;scrollbar-gutter:stable;cursor:text;min-inline-size:0;height:inherit;flex:auto;display:inline-flex;overflow:auto hidden}:host .typed{height:inherit;flex:none}:host .cursor{height:inherit;flex:0 0 .6ch}:host .input{opacity:0;pointer-events:none;border:0;block-size:1px;inline-size:1px;margin:0;padding:0;position:absolute}:host .cursor{opacity:1;outline:1px solid;block-size:1.1em;position:relative;translate:.15em .15em}:host .is-focused{background:currentColor;animation:1s step-end infinite caret-blink}:host .footer{border-top:1px solid color-mix(in oklab,var(--fg),transparent 85%);color:var(--muted);text-align:left;align-items:center;gap:.75rem;margin-block-start:10px;padding-block-start:10px;font-size:clamp(.65rem,.25vw + .5rem,.85rem);display:flex}:host([theme=retro]) .footer,:host-context(html[data-theme="retro"]) .footer{text-shadow:.05125rem 0 red,-.05125rem 0 #0ff,0 0 .125rem #ffc86480}:host a{color:var(--accent);border-bottom:1px dotted;text-decoration:none}:host a:hover{text-decoration:underline}:host a:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent),transparent 70%);border-radius:4px;outline:none}:host ::selection{background:color-mix(in oklab,var(--accent),black 60%);color:var(--bg)}:host input[type=text],:host textarea{color:var(--fg);caret-color:var(--accent);font:inherit;background:0 0;border:none;outline:none}:host .scrollback::-webkit-scrollbar{block-size:10px;inline-size:10px}:host .scrollback::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--accent),black 70%);border-radius:8px}:host .scrollback::-webkit-scrollbar-track{background:color-mix(in oklab,var(--bg),black 10%)}:host .scrollback .image{margin:.25rem 0 .5rem}:host .scrollback .image img{object-fit:contain;cursor:zoom-in;border-radius:.5rem;block-size:auto;max-block-size:250px;max-inline-size:100%;display:block;box-shadow:0 1px 4px #0003}:host .scrollback .image figcaption{opacity:.8;word-break:break-word;margin-block-start:.25rem;font-size:.875rem}:host .line.spinner{color:var(--muted);font-family:var(--font)}@media (prefers-reduced-motion:reduce){:host *{transition:none!important;animation:none!important}:host([theme=retro]):before,:host-context(html[data-theme="retro"]):before{display:none}:host .cursor,:host-context .cursor{opacity:1;animation:none}:host([theme=retro]):after,:host-context(html[data-theme="retro"]):after{opacity:var(--glow-base);filter:none;transform:none;animation:none!important}}@-webkit-keyframes caret-blink{50%{opacity:0}}@keyframes caret-blink{50%{opacity:0}}@-webkit-keyframes retro-flicker{0%{opacity:.95}5%{opacity:.85}10%{opacity:.92}15%{opacity:.75}20%{opacity:.9}25%{opacity:.8}30%{opacity:.93}35%{opacity:.7}40%{opacity:.9}45%{opacity:.78}50%{opacity:.95}55%{opacity:.82}60%{opacity:.9}65%{opacity:.77}70%{opacity:.92}75%{opacity:.85}80%{opacity:.95}85%{opacity:.82}90%{opacity:.9}95%{opacity:.8}to{opacity:.95}}@keyframes retro-flicker{0%{opacity:.95}5%{opacity:.85}10%{opacity:.92}15%{opacity:.75}20%{opacity:.9}25%{opacity:.8}30%{opacity:.93}35%{opacity:.7}40%{opacity:.9}45%{opacity:.78}50%{opacity:.95}55%{opacity:.82}60%{opacity:.9}65%{opacity:.77}70%{opacity:.92}75%{opacity:.85}80%{opacity:.95}85%{opacity:.82}90%{opacity:.9}95%{opacity:.8}to{opacity:.95}}@-webkit-keyframes bloom{0%{text-shadow:0 0 8px #fff}to{text-shadow:0 0 2px #ffc86499}}@keyframes bloom{0%{text-shadow:0 0 8px #fff}to{text-shadow:0 0 2px #ffc86499}}:host([theme=cyberpunk]),:host-context(html[data-theme="cyberpunk"]){-bg:var(--color-bg-alt,#0a0d13);--fg:var(--color-text,#e6f7ff);--accent:var(--color-primary,#00e5ff);--muted:color-mix(in oklab,var(--fg),black 45%);--prompt:var(--accent);--neon-glow:0 0 .6rem color-mix(in oklab,var(--accent),transparent 35%),0 0 1.2rem color-mix(in oklab,var(--accent),transparent 55%),0 0 2.2rem color-mix(in oklab,var(--color-accent),transparent 65%);background:  radial-gradient(80% 50% at 50% 100%,#00e5ff14 0%,#0000 60%)no-repeat,linear-gradient(180deg,#ff3af20d,#0000)no-repeat,var(--bg);border:1px solid color-mix(in oklab,var(--fg),transparent 80%);box-shadow:inset 0 0 1rem #00000080,var(--neon-glow);text-shadow:0 0 .04rem #00000073,0 0 .55rem color-mix(in oklab,var(--fg),transparent 60%);aspect-ratio:16/9;max-width:48vw}:host([theme=cyberpunk]) .term,:host-context(html[data-theme="cyberpunk"]) .term{aspect-ratio:16/9;block-size:auto}:host([theme=cyberpunk]):after,:host-context(html[data-theme="cyberpunk"]):after{content:"";pointer-events:none;mix-blend-mode:soft-light;opacity:.5;background-image:repeating-linear-gradient(#ffffff08 0,#fff0 2px,#0000000a 3px,#0000 4px);animation:6s linear infinite cp-scan;position:absolute;inset:0}:host([theme=cyberpunk]) .prompt,:host-context(html[data-theme="cyberpunk"]) .prompt{color:var(--accent);text-shadow:0 0 .1rem color-mix(in oklab,var(--accent),transparent 35%),0 0 .1rem color-mix(in oklab,var(--color-accent),transparent 55%);filter:drop-shadow(0 0 .25rem var(--accent))}:host([theme=cyberpunk]) .line,:host-context(html[data-theme="cyberpunk"]) .line{animation:5s ease-in-out infinite cp-breathe;position:relative}:host([theme=cyberpunk]) .line::selection,:host-context(html[data-theme="cyberpunk"]) .line::selection{background:color-mix(in oklab,var(--accent),black 65%);color:var(--fg)}:host([theme=cyberpunk]) .cursor,:host-context(html[data-theme="cyberpunk"]) .cursor{background:var(--accent);box-shadow:0 0 .7rem color-mix(in oklab,var(--accent),transparent 20%);outline:none;width:2px;translate:0 .15em}:host([theme=cyberpunk]) a,:host-context(html[data-theme="cyberpunk"]) a{color:var(--color-link,var(--accent));border-bottom:1px dashed}:host([theme=cyberpunk]) a:focus-visible,:host-context(html[data-theme="cyberpunk"]) a:focus-visible{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent),transparent 70%);border-radius:4px;outline:none}:host([theme=cyberpunk]) .scrollback::-webkit-scrollbar-thumb,:host-context(html[data-theme="cyberpunk"]) .scrollback::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--accent),black 65%)}:host([theme=cyberpunk]) .scrollback::-webkit-scrollbar-track,:host-context(html[data-theme="cyberpunk"]) .scrollback::-webkit-scrollbar-track{background:color-mix(in oklab,var(--bg),white 5%)}:host([theme=cyberpunk]) .status,:host-context(html[data-theme="cyberpunk"]) .status{color:color-mix(in oklab,var(--fg),var(--color-accent)22%)}@media (prefers-reduced-motion:reduce){:host([theme=cyberpunk]):after,:host-context(html[data-theme="cyberpunk"]):after{opacity:.25;animation:none!important}:host([theme=cyberpunk]) .line,:host-context(html[data-theme="cyberpunk"]) .line{animation:none!important}}@-webkit-keyframes cp-scan{0%{opacity:.35;transform:translateY(-10%)}50%{opacity:.55;transform:translateY(0%)}to{opacity:.35;transform:translateY(10%)}}@keyframes cp-scan{0%{opacity:.35;transform:translateY(-10%)}50%{opacity:.55;transform:translateY(0%)}to{opacity:.35;transform:translateY(10%)}}@-webkit-keyframes cp-breathe{0%,to{text-shadow:0 0 .04rem #00000073,0 0 .35rem color-mix(in oklab,var(--fg),transparent 70%)}50%{text-shadow:0 0 .04rem #00000073,0 0 .65rem color-mix(in oklab,var(--accent),transparent 55%),0 0 1.25rem color-mix(in oklab,var(--color-accent),transparent 65%)}}@keyframes cp-breathe{0%,to{text-shadow:0 0 .04rem #00000073,0 0 .35rem color-mix(in oklab,var(--fg),transparent 70%)}50%{text-shadow:0 0 .04rem #00000073,0 0 .65rem color-mix(in oklab,var(--accent),transparent 55%),0 0 1.25rem color-mix(in oklab,var(--color-accent),transparent 65%)}}