:root {--project-row-height: 52px; --bg:#06100a; --screen:#09150d; --text:#b8f177; --dim:#6c9a5b; --accent:#ff8b57; --blue:#98e8dd; --line:rgba(184,241,119,.25); --mono:'Courier New',Consolas,monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-height:100vh; margin:0; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:var(--mono); text-shadow:0 0 7px color-mix(in srgb,var(--text) 30%,transparent); transition:background .35s ease,color .35s ease; }
body::selection { color:var(--bg); background:var(--text); }
button,input { font:inherit; }
button,a { color:inherit; }
a { text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:1px solid var(--accent); outline-offset:4px; }
.crt { position:fixed; inset:0; z-index:20; pointer-events:none; opacity:.15; background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.12) 4px 5px); mix-blend-mode:screen; }
.crt::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.7) 100%); }
.app-shell { width:min(1180px,calc(100% - 48px)); min-height:calc(100vh - 44px); margin:22px auto; border:1px solid var(--line); background:var(--screen); box-shadow:0 0 45px rgba(90,220,81,.08); }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:43px; padding:0 15px; border-bottom:1px solid var(--line); background:rgba(0,0,0,.24); color:var(--dim); font-size:11px; }
.window-dots { display:flex; gap:5px; }
.window-dots i { width:7px; height:7px; border:1px solid var(--dim); border-radius:50%; }
.window-dots i:first-child { border-color:var(--accent); background:var(--accent); }
.topbar-actions { display:flex; align-items:center; gap:16px; }
.system-readouts { display:flex; align-items:center; gap:12px; color:var(--blue); font-size:16px; text-transform:uppercase; }
.system-readouts > span { white-space:nowrap; }
.system-readouts i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--text); }
.topbar-actions button { padding:0; border:0; background:transparent; color:var(--dim); cursor:pointer; font-size:16px; }
.topbar-actions button:hover { color:var(--text); }
.topbar-actions button b { color:var(--accent); font-weight:400; }
.online i { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--text); }
.commandbar { display:flex; align-items:center; gap:14px; padding:11px 20px; border-bottom:1px dashed var(--line); color:var(--dim); font-size:16px; }
.commandbar button { padding:0; border:0; background:transparent; color:var(--text); cursor:pointer; }
.commandbar button:hover { color:var(--accent); }
.prompt { color:var(--blue); }
.command-hint { margin-left:auto; color:#466e45; }
.terminal { padding:0 44px 30px; }
.terminal-block { position:relative; max-width:820px; padding:82px 0; border-bottom:1px dashed var(--line); scroll-margin-top:60px; }
.terminal-block:last-of-type { border-bottom:0; }
.hero-block { min-height:620px; padding-top:102px; }
.line { margin-bottom:23px; font-size:11px; }
.dim { color:var(--dim); text-shadow:none; }
.accent { color:var(--accent); }
.ascii { margin-bottom:32px; color:var(--text); font-size:clamp(16px,1.6vw,18px); line-height:1.05; white-space:pre; }
h1,h2 { margin:0; font-weight:400; letter-spacing:-.06em; }
h1 { max-width:700px; margin-bottom:26px; color:var(--blue); font-size:clamp(38px,7vw,76px); line-height:.92; }
h2 { margin:15px 0 24px; color:var(--text); font-size:clamp(32px,5vw,56px); }
.hero-copy { max-width:520px; margin:0 0 38px; color:#99b98b; font-size:15px; line-height:1.55; }
.hero-meta { display:flex; flex-wrap:wrap; gap:22px; color:var(--dim); font-size:16px; text-transform:uppercase; }
.hero-meta span::before { content:'['; color:var(--accent); }.hero-meta span::after { content:']'; color:var(--accent); }
.block-heading { display:flex; justify-content:space-between; gap:15px; }
.project-table { margin:29px 0 20px; border-top:1px solid var(--line); min-height: calc(6 * var(--project-row-height));}
.project-controls { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:18px; color:var(--dim); font-size:16px; text-transform:uppercase; }
.project-controls button { padding:0; border:0; background:transparent; color:var(--text); cursor:pointer; font-size:16px; }
.project-controls button:hover:not(:disabled) { color:var(--accent); }
.project-controls button:disabled { color:#355738; cursor:not-allowed; }
.pagination-group { display:inline-flex; align-items:center; gap:12px; margin-left:auto; padding:8px 10px; border:1px solid var(--line); }
.pagination-group #page-status { color:var(--blue); }
.project-row { min-height: var(--project-row-height);display:grid; grid-template-columns:116px 34px 1fr 1fr 45px; gap:12px; width:100%; padding:17px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); cursor:pointer; text-align:left; font-size:12px; }
.project-row:hover { padding-right:9px; padding-left:9px; background:rgba(184,241,119,.07); color:var(--blue); }
.project-row span,.project-row em,.project-row i { color:var(--dim); font-style:normal; font-size:16px; }.project-row b { color:var(--accent); font-weight:400; }.project-row strong { font-weight:400; }
.block-note { color:var(--dim); font-size:16px; }.cursor-inline { display:inline-block; width:7px; height:12px; margin-left:6px; vertical-align:-2px; background:var(--text); animation:blink 1s steps(1) infinite; }
.two-col { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; }
.two-col > div:first-child p { max-width:475px; color:#99b98b; font-size:14px; line-height:1.6; }.spec-list { align-self:end; border-top:1px solid var(--line); }.spec-list div { display:flex; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid var(--line); font-size:16px; }.spec-list span { color:var(--dim); }.spec-list b { font-weight:400; text-align:right; }.spec-list .accent { color:var(--accent); }
#contact { padding-bottom:60px; }.contact p { max-width:500px; color:#99b98b; font-size:14px; line-height:1.6; }.email { display:inline-block; margin:20px 0 45px; padding-bottom:6px; border-bottom:1px solid var(--text); color:var(--blue); font-size:18px; }.email:hover { color:var(--accent); border-color:var(--accent); }.email.is-disabled { color:var(--dim); border-bottom-style:dashed; cursor:default; }.email.is-disabled:hover { color:var(--dim); border-color:var(--dim); }.contact-footer,.statusbar { display:flex; justify-content:space-between; gap:15px; color:var(--dim); font-size:16px; text-transform:uppercase; }.contact-footer { padding-top:17px; border-top:1px solid var(--line); }
.inputbar { display:flex; align-items:center; gap:16px; margin:0 44px; padding:15px 0; border-top:1px solid var(--line); }.inputbar input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--text); font-size:12px; }.inputbar input::placeholder { color:#466e45; }.statusbar { padding:16px 20px; border-top:1px solid var(--line); background:rgba(0,0,0,.23); font-size:9px; }
.back-to-top { position:fixed; right:26px; bottom:26px; z-index:25; display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--text); background:rgba(6,16,10,.9); color:var(--text); cursor:pointer; font-size:22px; line-height:1; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s ease,transform .2s ease,background .2s ease,color .2s ease; }
.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover { background:var(--text); color:var(--bg); }
.terminal-output { min-height:0; color:var(--accent); font-size:11px; }.terminal-output p { margin:0 0 8px; }
.micro-glitch { animation: micro-glitch .18s steps(2) 1; }
@keyframes micro-glitch { 50% { transform:translateX(4px); filter:brightness(1.35); } }
.project-dialog { width:min(580px,calc(100% - 30px)); padding:37px; border:1px solid var(--text); background:var(--bg); color:var(--text); box-shadow:0 0 40px rgba(184,241,119,.2); }.project-dialog::backdrop { background:rgba(0,5,2,.8); }.dialog-close { position:absolute; top:12px; right:16px; border:0; background:transparent; color:var(--accent); cursor:pointer; font-size:25px; }.project-dialog h2 { margin:35px 0 20px; color:var(--blue); }.project-dialog > p:not(.line) { color:#99b98b; font-size:14px; line-height:1.55; }.dialog-meta { display:flex; justify-content:space-between; gap:15px; margin:30px 0 15px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--dim); font-size:16px; text-transform:uppercase; }
@keyframes blink { 50% { opacity:0; } }
@media (max-width:720px) {.topbar-action{flex-direction: column;}.project-table {min-height: 0;} .app-shell { width:calc(100% - 20px); margin:16px auto; }.topbar { flex-wrap:wrap; padding:16px 12px; }.window-title { order:2; width:calc(100% - 50px); }.topbar-actions { order:3; width:100%; justify-content:space-between; flex-direction: column;}.system-readouts { gap:8px; font-size:9px; }.system-readouts > span:first-child { display:none; }.commandbar { flex-wrap:wrap; padding:16px 13px; gap:16px; }.command-hint { width:100%; margin:0; }.terminal { padding:0 18px 20px; }.terminal-block { padding:63px 0; }.hero-block { padding-top:78px; }.ascii { font-size:9px; }.project-row { grid-template-columns:32px 1fr 42px; }.project-row span,.project-row em { display:none; }.project-controls { gap:16px; font-size:9px; }.pagination-group { margin-left:0; width:100%; justify-content:space-between; }.two-col { display:block; }.spec-list { margin-top:45px; }.contact-footer,.statusbar { flex-direction:column; gap:8px; }.inputbar { margin:0 18px; }.project-dialog { padding:30px 22px; }.back-to-top { right:16px; bottom:16px; width:38px; height:38px; } }
