:root{--bg: #0a0e14;--bg-soft: #0d1420;--panel: #0f1623;--panel-header: #151d2c;--border: #1e293b;--border-bright: #2d3d55;--text: #c9d4e3;--text-dim: #7d8ba1;--text-faint: #4a566b;--green: #4ade80;--green-dim: #22c55e;--amber: #fbbf24;--cyan: #22d3ee;--magenta: #e879f9;--red: #f87171;--blue: #60a5fa;--glow-green: rgba(74, 222, 128, .12);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#4ade8040;color:#eaffea}a{color:inherit;text-decoration:none}button{font-family:inherit}.scanlines:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0px,rgba(0,0,0,.12) 1px,transparent 1px,transparent 3px);opacity:.35}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 50% 0%,var(--glow-green),transparent 70%),radial-gradient(ellipse 40% 30% at 85% 80%,rgba(34,211,238,.05),transparent 70%)}.container{max-width:900px;margin:0 auto;padding:0 24px}section{position:relative;z-index:1;padding:48px 0;scroll-margin-top:56px}.term-window{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #0000004d}.term-titlebar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel-header);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.term-dot{width:12px;height:12px;border-radius:50%}.term-dot.red{background:#ff5f57}.term-dot.yellow{background:#febc2e}.term-dot.green{background:#28c840}.term-title{flex:1;text-align:center;font-size:12px;color:var(--text-faint)}.term-body{padding:20px 22px;font-size:14px}.prompt-user{color:var(--green)}.prompt-path{color:var(--cyan)}.prompt-symbol{color:var(--text-dim)}.cursor{display:inline-block;width:9px;height:1.15em;background:var(--green);vertical-align:text-bottom;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.section-cmd{display:block;font-size:clamp(.95rem,2vw,1.1rem);font-weight:500;margin-bottom:6px;word-break:break-word}.section-comment{color:var(--text-faint);font-size:13.5px;margin:0}.window-enter{animation:windowIn .22s ease both}@keyframes windowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes matrixFade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.term-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.term-card:hover{border-color:var(--border-bright);transform:translateY(-3px);box-shadow:0 12px 32px #0006}.tag{display:inline-block;font-size:12px;color:var(--cyan);background:#22d3ee14;border:1px solid rgba(34,211,238,.2);border-radius:4px;padding:1px 8px;margin:0 6px 6px 0}.btn-term{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;border:1px solid var(--border-bright);color:var(--text);background:transparent;cursor:pointer;transition:all .2s ease}.btn-term:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 20px #4ade8026}.btn-term.primary{background:#4ade801a;border-color:#4ade8066;color:var(--green)}.btn-term.primary:hover{background:#4ade802e;box-shadow:0 0 24px #4ade8040}.sys-pane{width:300px;flex-shrink:0;position:sticky;top:64px}@media (max-width: 980px){.sys-pane{display:none}}.cmd-chip{background:transparent;border:1px dashed var(--border-bright);border-radius:4px;color:var(--text-dim);font-size:12px;padding:3px 10px;cursor:pointer;transition:color .2s,border-color .2s}.cmd-chip:hover{color:var(--green);border-color:var(--green)}.meter-track{flex:1;height:13px;position:relative;display:inline-block;overflow:hidden}.meter-fill{position:absolute;left:0;top:0;bottom:0;transition:width .9s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion: reduce){.meter-fill{transition:none}}.ls-row{display:grid;grid-template-columns:105px 70px 90px 85px 1fr;gap:12px;padding:3px 0;white-space:nowrap}.readme-block{background:var(--bg-soft);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:6px;padding:18px 20px;transition:border-color .25s ease,transform .25s ease;scroll-margin-top:70px}.readme-block:hover{border-left-color:var(--green);border-color:var(--border-bright);transform:translate(3px)}.term-input{background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:14px;flex:1;caret-color:var(--green)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.term-line{animation:fadeIn .15s ease both;white-space:pre-wrap;word-break:break-word}.commit-hash{color:var(--amber)}.commit-head{color:var(--cyan)}.commit-branch{color:var(--green)}.exp-entry{position:relative;padding-left:28px;padding-bottom:40px;border-left:1px solid var(--border);margin-left:7px}.exp-entry:last-child{border-left-color:transparent;padding-bottom:0}.exp-entry:before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--green-dim)}.exp-entry:first-child:before{background:var(--green);border-color:var(--green);box-shadow:0 0 10px #4ade8099}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}.cursor,.window-enter{animation:none}}@media (max-width: 640px){section{padding:40px 0}body{font-size:13.5px}.ls-row{grid-template-columns:70px 85px 1fr}.ls-perm,.ls-owner{display:none}.tree-desc{white-space:normal}}
