.terminal{--term-bg:#000;--term-fg:#d0d0d0;--term-dim:#8e8e8e;--term-marker:#6e6e6e;--term-strong:#fff;--term-rule:#4a4a4a;--term-border:#2a2a2a;--term-selected:#1a1a1a;--term-user:#e3b341;--term-host:#56d364;--term-error:#ff7b72;background-color:var(--term-bg);color:var(--term-fg);font-family:var(--font-terminal),ui-monospace,monospace;font-size:13px;font-weight:400;line-height:1.5;font-variant-ligatures:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:16px 20px;height:100vh;height:100dvh;width:100vw;overflow-y:auto;display:flex;flex-direction:column;box-sizing:border-box;scrollbar-color:#333 var(--term-bg)}.terminal::-webkit-scrollbar-track{background:var(--term-bg)}.terminal::-webkit-scrollbar-thumb{background-color:#333;border:2px solid var(--term-bg)}.terminal::-webkit-scrollbar-thumb:hover{background-color:#444}.terminal ::-moz-selection{background:#3a3a3a}.terminal ::selection{background:#3a3a3a}.terminal-output{white-space:pre-wrap}.terminal .ascii{display:block;white-space:pre;overflow-x:auto}.terminal-input{display:flex;align-items:center}.terminal-input-field{position:relative;display:flex;flex:1;min-width:0}.terminal-input input{flex:1;min-width:0;margin:0;padding:0;border:none;outline:none;background:none;font:inherit;color:inherit;letter-spacing:inherit;font-variant-ligatures:inherit;caret-color:transparent}.ghost-suggestion{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--term-marker);font:inherit;white-space:pre;cursor:pointer}.ghost-suggestion:focus,.ghost-suggestion:hover{border-color:transparent;outline:none}.prompt{color:var(--term-user);margin-right:1ch}.terminal-cursor{position:absolute;top:50%;width:1ch;height:1.25em;color:var(--term-bg);line-height:1.25em;text-align:center;transform:translateY(-50%);background:var(--term-fg);pointer-events:none;animation:terminal-blink 1.1s steps(1) infinite}.terminal-cursor.is-typing{animation:none}@keyframes terminal-blink{0%,49%{opacity:1}50%,to{opacity:0}}.command-keyword{color:var(--term-fg)}.hostname{color:var(--term-host)}.base-color{color:var(--term-fg)}.brown{color:var(--term-user)}.green{color:var(--term-host)}.grey{color:var(--term-dim)}.error-text{color:var(--term-error)}.terminal .terminal-block{white-space:normal}.terminal .dim{color:var(--term-dim)}.terminal .gap{height:1.5em}.terminal .skill-rows{display:grid;grid-template-columns:max-content minmax(0,1fr);-moz-column-gap:3ch;column-gap:3ch;white-space:normal}.terminal .skill-rows .skill{white-space:nowrap}.terminal .article>p,.terminal .terminal-block>.dim{margin:0}.terminal .post-row{pointer-events:none}.terminal .post-row,.terminal .post-tap{margin:0;padding:0;color:inherit;cursor:default}.terminal .post-tap{display:grid;grid-template-columns:1ch 10ch 6ch minmax(0,1fr);-moz-column-gap:2ch;column-gap:2ch;align-items:baseline;width:100%;border:0;border-radius:0;background:none;font:inherit;text-align:left}.terminal .post-tap:focus,.terminal .post-tap:focus-visible,.terminal .post-tap:hover{border-color:transparent;outline:none}.terminal .post-row.is-selected{background:var(--term-selected);color:var(--term-fg)}.terminal .article{max-width:72ch}.terminal h1,.terminal h2,.terminal h3{margin:0;font-size:inherit;font-weight:400;line-height:inherit}.terminal .marker,.terminal .md h2:before,.terminal .md h3:before,.terminal .md li:before{color:var(--term-marker)}.terminal .md>*{margin:1.5em 0 0}.terminal .md h2:before{content:"## "}.terminal .md h3:before{content:"### "}.terminal .md h2+*,.terminal .md h3+*{margin-top:.5em}.terminal .md ol,.terminal .md ul{padding:0;list-style:none}.terminal .md ol{counter-reset:md-item}.terminal .md li{display:flex;gap:1ch}.terminal .md ul>li:before{content:"-";flex-shrink:0}.terminal .md ol>li:before{counter-increment:md-item;content:counter(md-item) ".";flex-shrink:0}.terminal .md strong{color:var(--term-strong);font-weight:400}.terminal .md a,.terminal .skill-rows a{color:var(--term-fg);font-weight:400;text-decoration:underline;text-decoration-color:var(--term-rule);text-underline-offset:3px}.terminal .md a:hover,.terminal .skill-rows a:hover{color:var(--term-host);text-decoration-color:var(--term-host)}@media (max-width:640px){.terminal{font-size:12px;padding:12px}.terminal .post-row{pointer-events:auto}.terminal .post-tap{grid-template-columns:1ch 10ch minmax(0,1fr);align-items:center;min-height:44px;cursor:pointer}.terminal .post-row .read{display:none}}.terminal .music-line{margin:0;white-space:pre;overflow-wrap:normal}.terminal .gap-half{height:.75em}.terminal .player-state{color:var(--term-host)}.terminal .player-state.is-paused{color:var(--term-user)}.terminal .wave-played{color:var(--term-fg)}.terminal .wave-rest{color:#3a3a3a}.terminal .player-key{color:var(--term-fg)}.terminal .player-taps{display:none;flex-wrap:wrap;-moz-column-gap:2ch;column-gap:2ch}.terminal .player-taps button{min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--term-fg);font:inherit;cursor:pointer}.terminal .player-taps button:focus,.terminal .player-taps button:hover{border-color:transparent;outline:none}.terminal .player-taps button:active,.terminal .player-taps button:focus-visible{color:var(--term-host)}@media (max-width:640px){.terminal .player-keys{display:none}.terminal .player-taps{display:flex}}.terminal .cell{display:inline-block;width:1ch;overflow:hidden;text-align:center;vertical-align:bottom}.terminal .cell.is-open{overflow:visible}.terminal .picker{display:grid;grid-template-columns:28ch minmax(0,1fr);-moz-column-gap:2ch;column-gap:2ch;row-gap:.75em;align-items:start;max-width:120ch}.terminal .picker-list{margin:0;padding:0;list-style:none}.terminal .picker-row{padding:0 1ch 0 0;color:var(--term-dim);pointer-events:none}.terminal .picker-row,.terminal .picker-tap{display:flex;gap:1ch;width:100%;margin:0;white-space:nowrap;cursor:default}.terminal .picker-tap{align-items:center;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:left}.terminal .picker-tap:focus,.terminal .picker-tap:hover{border-color:transparent;outline:none}.terminal .picker-row.is-selected{background:var(--term-selected);color:var(--term-fg)}.terminal .picker-mark{width:1ch;flex-shrink:0;color:var(--term-host)}.terminal .picker-preview{min-width:0;padding:.75em 2ch;border:1px solid var(--term-border)}.terminal .picker-preview .project-description{color:var(--term-dim)}.terminal .project-printed{max-width:72ch}.terminal .project-card>p{margin:0}.terminal .project-card .project-description{margin-top:.5em}.terminal .project-card .project-link{display:flex;align-items:baseline;gap:2ch;min-width:0;margin-top:1em}.terminal .project-link>.dim{flex-shrink:0;white-space:nowrap}.terminal .project-link a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--term-fg);font-weight:400;text-decoration:underline;text-decoration-color:var(--term-rule);text-underline-offset:3px}.terminal .project-link a:hover{color:var(--term-host);text-decoration-color:var(--term-host)}@media (max-width:640px){.terminal .picker{grid-template-columns:minmax(0,1fr)}.terminal .picker-row{align-items:center;pointer-events:auto}.terminal .picker-tap{min-height:44px;cursor:pointer}}