:root { color-scheme:dark; --cell-size:clamp(16px,min(2.1vw,3.6vh),32px); --black:#000000; --blue:#0000aa; --green:#00aa00; --cyan:#00aaaa; --red:#aa0000; --magenta:#aa00aa; --brown:#aa5500; --gray:#aaaaaa; --dark-gray:#555555; --bright-blue:#5555ff; --bright-green:#55ff55; --bright-cyan:#55ffff; --bright-red:#ff5555; --bright-magenta:#ff55ff; --yellow:#ffff55; --white:#ffffff; --text:var(--gray); --bright:var(--white); --dim:var(--dark-gray); }
@font-face { font-family:"Horizon VGA"; src:url("assets/horizon1994.woff2") format("woff2"); font-display:swap; font-weight:400; font-style:normal; }
* { box-sizing:border-box; }
html,body { width:100%; min-height:100%; margin:0; background:#000; }
body { color:var(--text); font-family:"Horizon VGA","Lucida Console",monospace; font-size:var(--cell-size); line-height:1; font-synthesis:none; -webkit-font-smoothing:none; font-smooth:never; }
.dos { width:86ch; max-width:100%; min-height:25em; padding:4em 3ch; background:var(--black); }
.screen { width:80ch; max-width:100%; white-space:pre-wrap; word-break:break-word; }
.ascii { color:#fff; line-height:1.05; white-space:pre; }
.muted { color:var(--dim); }
.command-line { display:flex; width:80ch; max-width:100%; margin:0; color:var(--text); }
.command-line label { flex:none; }
.command-line input { width:100%; min-width:0; padding:0; border:0; outline:0; color:var(--text); background:#000; caret-color:var(--text); font:inherit; line-height:inherit; }
.command-line input:disabled { opacity:.45; }
a { color:#fff; text-decoration:underline; }
a:hover,a:focus-visible { color:#000; background:var(--text); outline:none; }
.command-output { margin:0; }
.repo-list { margin:0; padding:0; }
.repo-row { display:block; margin:0; color:var(--text); text-decoration:none; }
.repo-row:hover,.repo-row:focus-visible { color:#000; background:var(--text); outline:none; }
.repo-row .name { color:var(--bright); }
.repo-row:hover .name,.repo-row:focus-visible .name { color:#000; }
.hint { margin-top:17px; color:var(--dim); }
.github-app { --dos-blue:var(--blue); --dos-cyan:var(--cyan); --dos-gray:var(--gray); --dos-white:var(--white); position:fixed; inset:0; z-index:5; overflow:auto; background:var(--dos-blue); color:var(--dos-gray); font-size:var(--cell-size); line-height:1; }
.github-app[hidden] { display:none; }
.gh-menubar { position:sticky; top:0; z-index:2; display:flex; gap:3ch; height:1em; padding:0 1ch; background:var(--dos-gray); color:var(--black); }
.gh-menubar u { color:var(--dos-blue); text-decoration:none; }.gh-clock { margin-left:auto; }
.gh-desktop { width:80ch; max-width:100%; min-height:calc(100vh - 2em); margin:0 auto; padding:1em 2ch 2em; background:var(--dos-blue); }
.gh-window { width:76ch; max-width:100%; min-height:22em; margin:0 auto; border:2px solid var(--dos-white); background:var(--dos-blue); }
.gh-window-title { display:flex; justify-content:space-between; padding:0 1ch; background:var(--dos-cyan); color:var(--black); text-align:center; }
.gh-accountbar { display:flex; justify-content:space-between; gap:2ch; padding:1em 1ch; border-bottom:1px solid var(--dos-gray); color:var(--dos-gray); }.gh-accountbar b { color:var(--dos-white); }.gh-accountbar span:last-child { color:var(--bright-cyan); }
.gh-panes { display:grid; grid-template-columns:30ch minmax(38ch,1fr); gap:1ch; padding:1em 1ch; }
.gh-panel { position:relative; border:1px solid var(--dos-gray); padding:1em 1ch; }.gh-panel h2 { position:absolute; top:-.5em; left:1ch; margin:0; padding:0 1ch; background:var(--dos-blue); color:var(--dos-white); font:400 1em/1 "Horizon VGA","Lucida Console",monospace; }
.gh-tree-panel,.gh-repo-panel { min-height:10em; }.dos-tree,.file-tree { white-space:pre; overflow:auto; color:var(--dos-gray); scrollbar-color:var(--dos-gray) var(--dos-blue); }.dos-tree .tree-hot { color:var(--dos-white); }
.app-repos { display:grid; gap:0; }.app-repos p { margin:0; }.app-repo { display:grid; grid-template-columns:minmax(15ch,1fr) auto; gap:1ch; color:var(--dos-white); padding:0 1ch; text-decoration:none; }.app-repo:hover,.app-repo:focus-visible,.app-repo.selected { color:var(--dos-blue); background:var(--dos-gray); outline:0; }.app-repo-meta { color:var(--bright-cyan); text-align:right; }.app-repo:hover .app-repo-meta,.app-repo:focus-visible .app-repo-meta,.app-repo.selected .app-repo-meta { color:var(--dos-blue); }
.gh-files-panel { min-height:15em; margin:0 1ch 1em; }.file-workspace { display:grid; grid-template-columns:34ch minmax(36ch,1fr); gap:0; height:13em; }.file-tree { height:13em; padding-right:1ch; border-right:1px solid var(--dos-gray); line-height:1; }.file-line { min-height:1em; }.file-folder { color:var(--bright-cyan); }.file-muted { color:var(--bright-blue); }.file-button { display:block; width:100%; min-width:max-content; padding:0; border:0; color:var(--dos-white); background:transparent; font:inherit; line-height:1; text-align:left; white-space:pre; cursor:pointer; }.file-button:hover,.file-button:focus-visible,.file-button.selected { color:var(--dos-blue); background:var(--dos-gray); outline:0; }.file-viewer { min-width:0; height:13em; }.preview-title { height:1em; padding:0 1ch; overflow:hidden; color:var(--black); background:var(--dos-gray); white-space:nowrap; text-overflow:clip; }.file-preview { height:12em; margin:0; padding:1em 1ch; overflow:auto; color:var(--dos-white); background:var(--black); font:400 1em/1 "Horizon VGA","Lucida Console",monospace; white-space:pre; tab-size:2; scrollbar-color:var(--dos-gray) var(--black); }
.gh-message { padding:0 1ch; border-top:1px solid var(--dos-gray); color:var(--bright-cyan); }.setup-footer { position:fixed; z-index:3; bottom:0; left:0; right:0; display:flex; justify-content:center; gap:6ch; height:1em; padding:0 1ch; background:var(--dos-gray); color:var(--black); white-space:nowrap; overflow:hidden; }
@media (max-width:760px) { :root { --cell-size:clamp(12px,2.8vw,16px); }.dos { padding:2em 2ch; }.gh-desktop { padding:1em 1ch 2em; }.gh-window { width:78ch; }.gh-panes { grid-template-columns:30ch 44ch; }.setup-footer { gap:4ch; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } }
