:root{--bg: #ffffff;--paper: #ffffff;--ink: #111111;--muted: #6e6e73;--hair: #d2d2d7;--scan: rgba(17, 17, 17, .035);--page: 980px;font-family:ui-monospace,SF Mono,IBM Plex Mono,Menlo,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);overflow:hidden}html{font-family:ui-monospace,SF Mono,IBM Plex Mono,Menlo,Consolas,Liberation Mono,monospace;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--ink);font-weight:400;font-size:14px;line-height:1.55}.page{position:relative;height:100%;overflow:hidden;background:var(--bg)}.scanlines{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;background:repeating-linear-gradient(to bottom,transparent 0 2px,var(--scan) 2px 3px);background-size:100% 6px;animation:scan-drift 18s linear infinite;opacity:.9}@keyframes scan-drift{0%{background-position:0 0}to{background-position:0 6px}}.term{position:relative;z-index:1;max-width:var(--page);margin:0 auto;padding:14px 36px 10px;height:100%;overflow:hidden;display:flex;flex-direction:column;background:transparent}.term-title{color:var(--muted);font-size:12px;letter-spacing:.04em;margin-bottom:8px}.pipeline{position:relative;width:224px;height:150px;margin:4px auto 10px;color:var(--ink)}.pipe-cycle{position:absolute;top:0;right:0;bottom:0;left:0;width:224px;height:150px;z-index:0}.pipe-cycle line{stroke:currentColor;stroke-width:1;fill:none}.pipe-box{position:absolute;width:18px;height:18px;border:1px solid var(--ink);background:var(--bg);z-index:1;box-sizing:border-box}.pipe-input-box{left:103px;top:18px}.pipe-rag-box{left:8px;top:110px}.pipe-llm-box{left:198px;top:110px}.pipe-box.is-lit{background:var(--ink);animation:pipe-blink .4s steps(1) infinite}@keyframes pipe-blink{50%{background:var(--bg)}}.pipe-label{position:absolute;width:44px;font-size:10px;letter-spacing:.08em;color:var(--muted);text-align:center;z-index:1}.pipe-input-label{left:90px;top:2px}.pipe-rag-label{left:0;top:130px}.pipe-llm-label{left:185px;top:130px}.cv-header{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:8px 0;margin-bottom:10px}.cv-header h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.12em;color:var(--ink);text-transform:uppercase}.contact{margin:8px 0 0;color:var(--muted);font-size:12px}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.chat-intro{color:var(--muted);margin:0 0 6px;font-size:13px}.suggestions{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:4px;margin-bottom:8px;width:100%}.suggestions button{font:inherit;font-size:13px;cursor:pointer;border:0;background:transparent;color:var(--ink);padding:2px 0;max-width:100%}.suggestions button:nth-child(odd){justify-self:start;text-align:left}.suggestions button:nth-child(2n){justify-self:end;text-align:right}.suggestions button:hover:not(:disabled){text-decoration:underline}button:disabled{opacity:.45;cursor:not-allowed}.transcript{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0;padding:4px 0 8px}.empty{color:var(--muted);font-size:13px;padding:4px 0}.line{display:grid;grid-template-columns:7ch 1fr;gap:10px;max-width:100%;font-size:14px;line-height:1.55;color:var(--ink)}.prompt{color:var(--muted);-webkit-user-select:none;user-select:none;white-space:nowrap}.content{white-space:pre-wrap}.caret{display:inline-block;width:8px;height:1em;margin-left:2px;background:var(--ink);animation:blink 1s steps(1) infinite;vertical-align:text-bottom}@keyframes blink{50%{opacity:0}}.composer{display:grid;grid-template-columns:7ch 1fr auto;gap:10px;align-items:center;padding-top:12px;border-top:1px solid var(--hair);margin-top:8px}.input-wrap{position:relative;display:flex;align-items:center;min-width:0}.composer-caret{position:absolute;left:0;top:50%;transform:translateY(-50%);pointer-events:none;z-index:1}.composer input{width:100%;font:inherit;font-size:14px;padding:6px 0 6px 12px;border:0;background:transparent;color:var(--ink)}.composer input.is-empty{caret-color:transparent}.composer input:focus{outline:none}.composer input::placeholder{color:var(--muted)}.composer button{background:transparent;color:var(--ink);border:1px solid var(--hair);border-radius:0;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer}.composer button:hover:not(:disabled){background:#f0f0f0}.error{color:#b42318;padding:0 0 8px;font-size:13px}.foot{margin-top:8px;color:var(--muted);font-size:12px}@media (max-width: 860px){.term{padding:16px 16px 12px}.cv-header h1{font-size:16px;letter-spacing:.08em}.suggestions{grid-template-columns:1fr}.line,.composer{grid-template-columns:6ch 1fr}.composer{grid-template-columns:6ch 1fr auto}}
