/*
 * Matrix / terminal resume — self-contained (GitHub Pages must load only this file;
 * code.html / screen.png are not required).
 */
:root {
  color-scheme: dark;
  /* Aligned with DESIGN copy / code copy.html (Material-style terminal tokens) */
  --surface: #101410;
  --surface-dim: #0a0d0a;
  --surface-container-lowest: #0b0f0b;
  --surface-container-low: #181d18;
  --surface-container: #1c211c;
  --surface-container-high: #272b26;
  --surface-container-highest: #323631;
  --primary: #ebffe2;
  --primary-container: #00ff41;
  --on-surface: #e0e4dc;
  --on-surface-variant: #b9ccb2;
  --outline: #84967e;
  --outline-variant: #3b4b37;
  --background: #101410;
  --glow-green: rgba(0, 255, 65, 0.55);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--background);
}

/* Matrix digital rain (canvas from matrix-rain.ts) — behind content, above base bg */
#matrix-rain-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

#matrix-rain-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

#resume-root {
  position: relative;
  z-index: 1;
}

body {
  margin: 0;
  min-height: 100vh;
  position: relative;
  background-color: var(--background);
  background-image:
    linear-gradient(rgba(16, 20, 16, 0.88), rgba(16, 20, 16, 0.88)),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 1px,
      rgba(0, 255, 65, 0.022) 1px,
      rgba(0, 255, 65, 0.022) 2px
    ),
    radial-gradient(
      ellipse 130% 70% at 50% -25%,
      rgba(0, 255, 65, 0.05) 0%,
      transparent 55%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 255, 65, 0.02) 100%
    );
  background-size: auto, 100% 4px, auto, auto;
  color: var(--on-surface);
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><rect x='0' y='0' width='10' height='15' fill='%2300FF41'/></svg>")
      0 0,
    auto;
}

/* CRT scanlines — subtle so page reads as near-black like the reference */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(0, 255, 65, 0.018) 50%
  );
  background-size: 100% 4px;
  pointer-events: none;
  z-index: 100;
}

::selection {
  background: var(--primary-container);
  color: var(--surface-dim);
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #000;
}
::-webkit-scrollbar-thumb {
  background: var(--primary-container);
}

#heading {
  text-align: center;
  color: var(--on-surface-variant);
}

a:link {
  color: var(--primary-container);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 255, 65, 0.35);
  transition: color 0.15s ease, text-shadow 0.15s ease, border-color 0.15s ease;
}
a:visited {
  color: #5fd87a;
  border-bottom-color: rgba(95, 216, 122, 0.35);
}
a:hover {
  color: var(--primary);
  text-shadow: 0 0 8px var(--glow-green);
  border-bottom-color: var(--primary-container);
}

.ptmr7t- {
  font-family: "JetBrains Mono", "SF Mono", ui-monospace, monospace;
}
.msam-5 {
  font-size: 50%;
}
.pcrr7t- {
  font-family: "JetBrains Mono", "SF Mono", ui-monospace, monospace;
  font-size: 0.9em;
  color: var(--on-surface-variant);
}
.ptmb7t-x-x-172 {
  font-size: 172%;
  font-weight: 700;
  font-family: "Space Grotesk", system-ui, sans-serif;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-shadow: 0 0 12px rgba(0, 255, 65, 0.45);
}
.ptmro7t- {
  font-style: oblique;
  color: var(--on-surface-variant);
}
.ptmri7t- {
  font-style: italic;
  text-align: center;
  color: var(--on-surface);
}
.ptmbo7t- {
  font-weight: 700;
  font-style: oblique;
  color: var(--outline);
}
.ptmb7t- {
  font-weight: 700;
  color: var(--primary);
}

p.noindent {
  text-indent: 0;
}
td p.noindent {
  text-indent: 0;
  margin-top: 0;
}
p.nopar {
  text-indent: 0;
}
p.indent {
  text-indent: 1.5em;
}
@media print {
  div.crosslinks {
    visibility: hidden;
  }
  body::after {
    display: none;
  }
}
a img {
  border-top: 0;
  border-left: 0;
  border-right: 0;
}
center {
  margin-top: 1em;
  margin-bottom: 1em;
}
td center {
  margin-top: 0;
  margin-bottom: 0;
}
.Canvas {
  position: relative;
}
img.math {
  vertical-align: middle;
}
li p.indent {
  text-indent: 0;
}
li p:first-child {
  margin-top: 0;
}
li p:last-child,
li div:last-child {
  margin-bottom: 0.5em;
}
li p ~ ul:last-child,
li p ~ ol:last-child {
  margin-bottom: 0.5em;
}
.enumerate1 {
  list-style-type: decimal;
}
.enumerate2 {
  list-style-type: lower-alpha;
}
.enumerate3 {
  list-style-type: lower-roman;
}
.enumerate4 {
  list-style-type: upper-alpha;
}
div.newtheorem {
  margin-bottom: 2em;
  margin-top: 2em;
}
.obeylines-h,
.obeylines-v {
  white-space: nowrap;
}
div.obeylines-v p {
  margin-top: 0;
  margin-bottom: 0;
}
.overline {
  text-decoration: overline;
}
.overline img {
  border-top: 1px solid var(--outline-variant);
}
td.displaylines {
  text-align: center;
  white-space: nowrap;
}
.centerline {
  text-align: center;
}
.rightline {
  text-align: right;
}
div.verbatim {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  white-space: nowrap;
  text-align: left;
  clear: both;
}
.fbox {
  padding-left: 3pt;
  padding-right: 3pt;
  text-indent: 0;
  border: solid var(--outline-variant) 1px;
}
div.fbox {
  display: table;
}
div.center div.fbox {
  text-align: center;
  clear: both;
  padding-left: 3pt;
  padding-right: 3pt;
  text-indent: 0;
  border: solid var(--outline-variant) 1px;
}
div.minipage {
  width: 100%;
}
div.center,
div.center div.center {
  text-align: center;
  margin-left: 1em;
  margin-right: 1em;
}
div.center div {
  text-align: left;
}
div.flushright,
div.flushright div.flushright {
  text-align: right;
}
div.flushright div {
  text-align: left;
}
div.flushleft {
  text-align: left;
}
.underline {
  text-decoration: underline;
}
.underline img {
  border-bottom: 1px solid var(--outline-variant);
  margin-bottom: 1pt;
}
.framebox-c,
.framebox-l,
.framebox-r {
  padding-left: 3pt;
  padding-right: 3pt;
  text-indent: 0;
  border: solid var(--outline-variant) 1px;
}
.framebox-c {
  text-align: center;
}
.framebox-l {
  text-align: left;
}
.framebox-r {
  text-align: right;
}
span.thank-mark {
  vertical-align: super;
}
span.footnote-mark sup.textsuperscript,
span.footnote-mark a sup.textsuperscript {
  font-size: 80%;
}
div.tabular,
div.center div.tabular {
  text-align: center;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
table.tabular td p {
  margin-top: 0;
}
table.tabular {
  margin-left: auto;
  margin-right: auto;
}
td p:first-child {
  margin-top: 0;
}
td p:last-child {
  margin-bottom: 0;
}
div.td00 {
  margin-left: 0;
  margin-right: 0;
}
div.td01 {
  margin-left: 0;
  margin-right: 5pt;
}
div.td10 {
  margin-left: 5pt;
  margin-right: 0;
}
div.td11 {
  margin-left: 5pt;
  margin-right: 5pt;
}
table[rules] {
  border-left: solid var(--outline-variant) 1px;
  border-right: solid var(--outline-variant) 1px;
}
td.td00 {
  padding-left: 0;
  padding-right: 0;
}
td.td01 {
  padding-left: 0;
  padding-right: 5pt;
}
td.td10 {
  padding-left: 5pt;
  padding-right: 0;
}
td.td11 {
  padding-left: 5pt;
  padding-right: 5pt;
}
.hline hr,
.cline hr {
  height: 1px;
  margin: 0;
  border: 0;
  background: var(--outline-variant);
  opacity: 0.6;
}
.tabbing-right {
  text-align: right;
}
span.TEX {
  letter-spacing: -0.125em;
}
span.TEX span.E {
  position: relative;
  top: 0.5ex;
  left: -0.0417em;
}
a span.TEX span.E {
  text-decoration: none;
}
span.LATEX span.A {
  position: relative;
  top: -0.5ex;
  left: -0.4em;
  font-size: 85%;
}
span.LATEX span.TEX {
  position: relative;
  left: -0.4em;
}
div.float,
div.figure {
  margin-left: auto;
  margin-right: auto;
}
div.float img {
  text-align: center;
}
div.figure img {
  text-align: center;
}
.marginpar {
  width: 20%;
  float: right;
  text-align: left;
  margin-left: auto;
  margin-top: 0.5em;
  font-size: 85%;
  text-decoration: underline;
}
.marginpar p {
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}
table.equation {
  width: 100%;
}
.equation td {
  text-align: center;
}
td.equation {
  margin-top: 1em;
  margin-bottom: 1em;
}
td.equation-label {
  width: 5%;
  text-align: center;
}
td.eqnarray4 {
  width: 5%;
  white-space: normal;
}
td.eqnarray2 {
  width: 5%;
}
table.eqnarray-star,
table.eqnarray {
  width: 100%;
}
div.eqnarray {
  text-align: center;
}
div.array {
  text-align: center;
}
div.pmatrix {
  text-align: center;
}
table.pmatrix {
  width: 100%;
}
span.pmatrix img {
  vertical-align: middle;
}
table.pmatrix {
  width: 100%;
}
span.bar-css {
  text-decoration: overline;
}
img.cdots {
  vertical-align: middle;
}
.partToc a,
.partToc,
.likepartToc a,
.likepartToc {
  line-height: 200%;
  font-weight: bold;
  font-size: 110%;
}
.index-item,
.index-subitem,
.index-subsubitem {
  display: block;
}
div.caption {
  text-indent: -2em;
  margin-left: 3em;
  margin-right: 1em;
  text-align: left;
}
div.caption span.id {
  font-weight: bold;
  white-space: nowrap;
}
h1.partHead {
  text-align: center;
}
p.bibitem {
  text-indent: -2em;
  margin-left: 2em;
  margin-top: 0.6em;
  margin-bottom: 0.6em;
  border-left: 2px solid rgba(0, 255, 65, 0.2);
  padding-left: 0.75rem;
}
p.bibitem-p {
  text-indent: 0;
  margin-left: 2em;
  margin-top: 0.6em;
  margin-bottom: 0.6em;
}
p.bibitem .biblabel {
  color: var(--primary-container);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.85em;
}
.paragraphHead,
.likeparagraphHead {
  margin-top: 2em;
  font-weight: bold;
}
.subparagraphHead,
.likesubparagraphHead {
  font-weight: bold;
}
.quote {
  margin-bottom: 0.25em;
  margin-top: 0.25em;
  margin-left: 1em;
  margin-right: 1em;
  text-align: justify;
}
.verse {
  white-space: nowrap;
  margin-left: 2em;
}
div.maketitle {
  text-align: center;
}
h2.titleHead {
  text-align: center;
}
div.maketitle {
  margin-bottom: 2em;
}
div.author,
div.date {
  text-align: center;
}
div.thanks {
  text-align: left;
  margin-left: 10%;
  font-size: 85%;
  font-style: italic;
}
div.author {
  white-space: nowrap;
}
.quotation {
  margin-bottom: 0.25em;
  margin-top: 0.25em;
  margin-left: 1em;
}
.abstract p {
  margin-left: 5%;
  margin-right: 5%;
}
div.abstract {
  width: 100%;
}
.equation td {
  text-align: center;
}
.equation-star td {
  text-align: center;
}
table.equation-star {
  width: 100%;
}
table.equation {
  width: 100%;
}
table.align,
table.alignat,
table.xalignat,
table.xxalignat,
table.flalign {
  width: 95%;
  margin-left: 5%;
  white-space: nowrap;
}
table.align-star,
table.alignat-star,
table.xalignat-star,
table.flalign-star {
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
td.align-label {
  width: 5%;
  text-align: center;
}
td.align-odd {
  text-align: right;
  padding-right: 0.3em;
}
td.align-even {
  text-align: left;
  padding-right: 0.6em;
}
table.multline,
table.multline-star {
  width: 100%;
}
td.gather {
  text-align: center;
}
table.gather {
  width: 100%;
}
div.gather-star {
  text-align: center;
}
table.tabbing {
  width: 100%;
  margin-top: 1em;
}
td.tabbing {
  width: 33%;
}
div.section {
  margin-left: 0;
  margin-top: 0.75rem;
  padding-left: 1rem;
  border-left: 2px solid rgba(0, 255, 65, 0.2);
}
.center-addresses {
  width: 100%;
}
.line-address {
  text-align: right;
}
table.section td {
  vertical-align: top;
}
td.section {
  padding-right: 2em;
  width: 20%;
}
table.section {
  margin-top: 1em;
}
.position table {
  width: 100%;
}

#TBL-5 {
  border-collapse: collapse;
  border: 1px solid var(--outline-variant);
}
#TBL-5 colgroup {
  border-left: 1px solid var(--outline-variant);
  border-right: 1px solid var(--outline-variant);
}
#TBL-5 td {
  border-color: var(--outline-variant);
}
#TBL-5 tbody tr:nth-child(n + 4):nth-child(even) td {
  background: rgba(12, 18, 12, 0.55);
}

/* Page shell */
.resume {
  position: relative;
  z-index: 1;
  max-width: 52rem;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 3rem;
}

h4.sectionHead {
  margin-top: 2.75rem;
  margin-bottom: 0;
  font-weight: 700;
}
h4.sectionHead .centerline {
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--primary-container);
  text-shadow: 0 0 10px rgba(0, 255, 65, 0.4);
  border-bottom: 1px solid var(--outline-variant);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
}

ul.itemize1,
ul.itemize2,
ul.itemize3 {
  color: var(--on-surface);
}
ul.itemize1 .cmsy-10,
ul.itemize2 .cmsy-10,
td .cmsy-10 {
  color: var(--primary-container);
}

.thebibliography {
  margin-top: 0.5rem;
}

span.msam-5 {
  color: var(--primary-container);
}

