:root{--bg: #ffffff;--text: #000000;--muted: #999999;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-base: 14px;--font-size-sm: 12px;--font-size-input: 14px;--line-height: 1.6;--terminal-padding: 2rem;--max-width: 760px}@media(max-width:480px){:root{--terminal-padding: 1rem;--font-size-base: 13px;--font-size-sm: 11px;--font-size-input: 16px}}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;min-height:100vh;min-height:100dvh;font-size:var(--font-size-base)}body{font-family:var(--font-mono);background:var(--bg);color:var(--text);line-height:var(--line-height)}::selection{background:var(--text);color:var(--bg)}a{color:var(--text);text-underline-offset:2px}#terminal{max-width:var(--max-width);margin:0 auto;padding:var(--terminal-padding);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}@media(max-width:900px){#terminal{padding-top:calc(env(safe-area-inset-top,0px) + 6rem);padding-left:max(env(safe-area-inset-left,0px),var(--terminal-padding));padding-right:max(env(safe-area-inset-right,0px),var(--terminal-padding));padding-bottom:max(env(safe-area-inset-bottom,0px),var(--terminal-padding))}}#terminal.has-output{justify-content:flex-start}#output{white-space:pre-wrap;word-break:break-word}#output:empty{display:none}#output .line{opacity:0;animation:fadeIn .12s ease forwards}#output .muted{color:var(--muted)}#output .bold{font-weight:700}#output .link{color:var(--text);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}#output .link:hover{color:var(--muted)}#output .separator{display:block;height:1rem}#output .event-block{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}#output .event-block:last-of-type{border-bottom:none}#output .event-actions{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline}#output .cal-btn{font-family:inherit;font-size:inherit;background:none;border:none;color:var(--muted);cursor:pointer;padding:.5rem 0;margin:-.5rem 0;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}#output .cal-btn:hover{color:var(--text)}#output .share-btn{font-family:inherit;font-size:inherit;background:none;border:none;color:var(--muted);cursor:pointer;padding:.5rem 0;margin:-.5rem 0;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}#output .share-btn:hover{color:var(--text)}#output .typing-cursor:after{content:"█";animation:blink .6s step-end infinite}#input-line{display:flex;align-items:start;margin-top:.5rem;background:var(--bg);padding:.25rem 0}#input-line .prompt{font-weight:700;flex-shrink:0}#input-line .step-prompt{color:var(--muted);font-weight:400}#input-line textarea{font-family:var(--font-mono);font-size:var(--font-size-input);background:none;color:var(--text);border:none;outline:none;width:100%;caret-color:var(--text);resize:none;overflow:hidden;line-height:1.4;padding:0;word-break:break-word}#input-line .input-wrap{position:relative;flex:1}#input-line .ghost-overlay{position:absolute;top:0;left:0;right:0;pointer-events:none;white-space:nowrap;overflow:hidden;font-family:var(--font-mono);font-size:var(--font-size-input);line-height:1.4}#input-line #ghost-mirror{visibility:hidden;white-space:pre}#input-line .autocomplete-ghost{color:#ccc}#input-line .placeholder-text{position:absolute;left:0;top:0;color:#ccc;pointer-events:none;white-space:nowrap;overflow:hidden;line-height:1.4}.quick-cmds{display:none;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.quick-cmds button{font-family:var(--font-mono);font-size:var(--font-size-sm);background:none;border:1px solid #ddd;color:var(--muted);cursor:pointer;padding:.4rem .8rem;transition:color .2s ease,border-color .2s ease}.quick-cmds button:hover,.quick-cmds button:active{color:var(--text);border-color:var(--text)}@media(max-width:600px){.quick-cmds{display:flex;padding-bottom:env(safe-area-inset-bottom,0px)}}.fade-in{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}html.intro-pending #terminal{visibility:hidden}.intro-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);pointer-events:none;transition:background-color .6s ease .2s,opacity .45s ease}@media(max-width:900px){body:has(#terminal.has-output) .intro-loader.intro-shrinking,body:has(#terminal.has-output) .intro-loader.intro-settled{opacity:0}}.intro-loader.intro-ready{pointer-events:auto;cursor:pointer}.intro-loader.intro-shrinking,.intro-loader.intro-settled{background:transparent}.intro-stage{--intro-size: min(70vmin, 480px);--intro-target: 120px;--intro-margin: 1rem;position:fixed;width:var(--intro-size);height:var(--intro-size);left:50%;top:50%;transform:translate(-50%,-50%) scale(1);transform-origin:top left;transition:left .9s cubic-bezier(.7,0,.2,1),top .9s cubic-bezier(.7,0,.2,1),transform .9s cubic-bezier(.7,0,.2,1);will-change:left,top,transform;pointer-events:none}.intro-loader.intro-shrinking .intro-stage{left:var(--intro-margin);top:var(--intro-margin);transform:translate(0) scale(calc(var(--intro-target) / var(--intro-size)))}.intro-loader.intro-settled .intro-stage{left:max(env(safe-area-inset-left,0px) + .25rem,var(--intro-margin));top:max(env(safe-area-inset-top,0px) + .25rem,var(--intro-margin));width:var(--intro-target);height:var(--intro-target);transform:none;transition:none}.intro-bar{position:fixed;left:50%;bottom:16vh;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;font-family:var(--font-mono);color:var(--text);transition:opacity .4s ease;z-index:1}.intro-loader.intro-shrinking .intro-bar,.intro-loader.intro-settled .intro-bar{opacity:0}.intro-bar-line{margin:0;font-size:var(--font-size-base);font-family:var(--font-mono);white-space:pre;letter-spacing:0}.intro-loader.intro-preparing .intro-bar-line,.intro-loader.intro-preparing .intro-bar-label,.intro-loader.intro-ready .intro-bar-line,.intro-loader.intro-ready .intro-bar-label{animation:introPulse 1.4s ease-in-out infinite}.intro-bar-label{margin:0;font-size:var(--font-size-sm);color:var(--muted)}.intro-bar-button{display:none;background:transparent;border:1px solid var(--text);color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-base);padding:.9rem 1.4rem;margin:0;cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:background-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.intro-bar-button:active{background:var(--text);color:var(--bg)}@media(pointer:coarse){.intro-bar-label-touchless{display:none}.intro-bar-button{display:inline-block}}@keyframes introPulse{0%,to{opacity:.55}50%{opacity:1}}@media(max-width:480px){.intro-stage{--intro-size: min(80vmin, 360px);--intro-target: 80px;--intro-margin: .75rem}.intro-bar{bottom:12vh}}html,body{transition:background-color .8s cubic-bezier(.65,0,.35,1),color .8s cubic-bezier(.65,0,.35,1)}#input-line{transition:background-color .8s cubic-bezier(.65,0,.35,1)}#output .muted{transition:color .8s cubic-bezier(.65,0,.35,1)}#output .event-block{transition:border-color .8s cubic-bezier(.65,0,.35,1)}#input-line textarea{transition:color .8s cubic-bezier(.65,0,.35,1),caret-color .8s cubic-bezier(.65,0,.35,1)}#input-line .autocomplete-ghost,#input-line .placeholder-text{transition:color .8s cubic-bezier(.65,0,.35,1)}.intro-stage canvas{transition:filter 0s .32s}@keyframes theme-canvas-flip{0%{opacity:1}40%,60%{opacity:0}to{opacity:1}}body.theme-flipping .intro-stage canvas{animation:theme-canvas-flip .8s cubic-bezier(.65,0,.35,1)}:root[data-theme=dark]{--bg: #000000;--text: #ffffff;--muted: #666666}:root[data-theme=dark] #output .event-block{border-bottom-color:#111}:root[data-theme=dark] #input-line .autocomplete-ghost,:root[data-theme=dark] #input-line .placeholder-text{color:#333}:root[data-theme=dark] .quick-cmds button{border-color:#222}:root[data-theme=dark] .intro-stage canvas{filter:invert(1)}
