/* ===== Trizai v4.0.0 — Terminal Monochrome Theme (Role Pages) ===== */
/* Default theme: inspired by C:\TCode\Resume — JetBrains Mono, black/white, terminal aesthetic */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

:root {
  --clr-bg: #000000;
  --clr-bg-alt: #0a0a0a;
  --clr-bg-card: #111111;
  --clr-bg-hover: #1a1a1a;
  --clr-surface: #181818;
  --clr-text: #ffffff;
  --clr-text-secondary: #a0a0a0;
  --clr-text-muted: #666666;
  --clr-border: #2a2a2a;
  --clr-border-light: #333333;
  --clr-accent: #ffffff;
  --clr-accent-muted: #888888;
  --clr-dot-red: #ff5f56;
  --clr-dot-yellow: #ffbd2e;
  --clr-dot-green: #27c93f;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --nav-height: 72px;
  --max-width: 1200px;
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --shadow-card: 0 12px 40px rgba(255, 255, 255, 0.03);
  --text-gradient: linear-gradient(135deg, #ffffff 0%, #aaaaaa 100%);

  /* Legacy aliases — widely referenced across Info/*.html files */
  --red: var(--clr-text);
  --black: var(--clr-bg);
  --white: var(--clr-text);
  --off-white: var(--clr-text-secondary);
  --gray-600: var(--clr-text-muted);
  --gray-800: var(--clr-border);
  --gray-900: var(--clr-bg-alt);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }

body {
  font-family: var(--font-mono);
  background: var(--clr-bg);
  color: var(--clr-text);
  line-height: 1.6;
  overflow-x: hidden;
}

::selection { background: var(--clr-text); color: var(--clr-bg); }

.container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

/* ===== Navigation ===== */
nav {
  position:fixed; top:0; left:0; right:0;
  z-index:1000;
  background: rgba(0,0,0,0.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--clr-border);
  height: var(--nav-height);
}

nav .container {
  display:flex; align-items:center; justify-content:space-between;
  height: var(--nav-height); padding:0 28px;
  max-width:1280px; margin:0 auto;
}

.logo {
  font-size:1.5rem; font-weight:700;
  font-family:var(--font-mono);
  color:var(--clr-text);
  letter-spacing:normal;
  user-select:none;
  transition:opacity .3s ease;
  cursor:default;
}
.logo:hover { opacity:0.6; }
.logo span { color:var(--clr-text-muted); }
.logo a { color:inherit; text-decoration:none; }

.nav-links {
  display:flex; gap:24px; list-style:none; margin:0 0 0 auto; padding:0;
  height:100%;
}
.nav-links li { position:relative; display:flex; align-items:center; }
.nav-links li::after {
  content:'';
  position:absolute;
  bottom:0; left:16px; right:16px;
  height:1px;
  background:var(--clr-text);
  transform:scaleX(0); transform-origin:center;
  transition:transform .4s ease;
}
.nav-links li:hover::after,
.nav-links li:has(a.active)::after { transform:scaleX(1); }
.nav-links a {
  display:flex; align-items:center;
  padding:8px 16px;
  color:var(--clr-text-secondary); text-decoration:none;
  font-size:.8rem; font-weight:400;
  transition:all .3s ease;
}
.nav-links a:hover { color:var(--clr-text); }
.nav-links a.active { color:var(--clr-text); }

.hamburger {
  display:none; flex-direction:column; gap:4px;
  cursor:pointer; padding:8px;
  background:none; border:none; z-index:1001;
}
.hamburger span { display:block; width:24px; height:1px; background:var(--clr-text); transition:all .3s ease; }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }

.nav-overlay {
  display:block; position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(0,0,0,.7);
  z-index:9998; opacity:0; pointer-events:none;
  transition:opacity .35s ease;
}
.nav-overlay.active { opacity:1; pointer-events:auto; }

.progress-bar {
  position:fixed; top:var(--nav-height); left:0;
  height:2px; background:var(--clr-text);
  z-index:999; width:0%; transition:width .1s linear;
}

/* ===== Hero ===== */
.hero {
  min-height:60vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  background:var(--clr-bg);
  position:relative; overflow:hidden;
  padding-top:64px;
}
.hero-content { position:relative; z-index:1; }
.hero .role-icon { font-size:3.5rem; margin-bottom:12px; display:block; }
.hero h1 { font-size:3rem; font-weight:700; font-family:var(--font-mono); color:var(--clr-text); line-height:1.1; margin-bottom:8px; }
.hero h1 span { color:var(--clr-text-muted); }
.hero .subtitle { font-size:1rem; color:var(--clr-text-secondary); margin-bottom:8px; font-weight:400; max-width:680px; margin-left:auto; margin-right:auto; line-height:1.6; }
.hero .tagline { font-size:.78rem; color:var(--clr-text-muted); margin-bottom:20px; }
.hero .tagline span { color:var(--clr-text); }

.back-link {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--clr-text-muted); text-decoration:none;
  font-size:.75rem; margin-bottom:20px; transition:color .3s ease;
}
.back-link:hover { color:var(--clr-text); }

/* ===== Sections ===== */
.content-section { padding:64px 0; }
.content-section:nth-child(even) { background:var(--clr-bg-alt); }

.section-label {
  font-family:var(--font-mono);
  font-size:.7rem; font-weight:500;
  color:var(--clr-accent-muted);
  text-transform:uppercase; letter-spacing:2px;
  margin-bottom:8px;
}
.section-title {
  font-size:1.8rem; font-weight:700; font-family:var(--font-mono);
  color:var(--clr-text); margin-bottom:12px;
}
.section-title::after {
  content:''; display:block; width:40px; height:2px;
  background:var(--clr-text); margin-top:10px;
}

.info-text p { color:var(--clr-text-secondary); font-size:.9rem; margin-bottom:16px; max-width:800px; }
.info-text code, .info-card code { font-family:var(--font-mono); color:var(--clr-text); background:var(--clr-bg-card); padding:2px 6px; font-size:.82rem; }
.info-text strong { color:var(--clr-text); }
.info-text ul { list-style:none; margin:12px 0; }
.info-text li { color:var(--clr-text-secondary); padding:4px 0 4px 16px; position:relative; }
.info-text li::before { content:'>'; position:absolute; left:0; color:var(--clr-text-muted); }

/* ===== Stats ===== */
.stats-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:28px; }
.stat-item { background:var(--clr-bg-card); border:1px solid var(--clr-border); padding:20px; text-align:center; transition:all .3s ease; }
.stat-item:hover { border-color:var(--clr-text-muted); }
.stat-item .stat-value { font-size:1.5rem; font-weight:700; color:var(--clr-text); margin-bottom:4px; }
.stat-item .stat-label { font-size:.78rem; color:var(--clr-text-muted); }

/* ===== Cards ===== */
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:28px; }
.card { background:var(--clr-bg-card); border:1px solid var(--clr-border); border-top:3px solid var(--clr-text); padding:24px; transition:all .3s ease; }
.card:hover { border-color:var(--clr-text-muted); background:var(--clr-bg-hover); }
.card h3 { font-size:.95rem; font-weight:700; color:var(--clr-text); margin-bottom:6px; }
.card p { font-size:.82rem; color:var(--clr-text-secondary); line-height:1.5; }
.card .card-icon { font-size:1.5rem; margin-bottom:10px; display:block; }

/* ===== Cards Grid ===== */
.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; margin-top:28px; }
.info-card { background:var(--clr-bg-card); border:1px solid var(--clr-border); padding:24px; transition:all .3s ease; }
.info-card:hover { border-color:var(--clr-text-muted); background:var(--clr-bg-hover); }
.info-card h3 { font-size:.95rem; font-weight:700; color:var(--clr-text); margin-bottom:8px; }
.info-card p { font-size:.8rem; color:var(--clr-text-muted); line-height:1.5; }
.info-card ul { margin-top:8px; padding-left:16px; }
.info-card li { font-size:.75rem; color:var(--clr-text-secondary); margin-bottom:3px; }

/* ===== Expertise Table ===== */
.table-wrap { overflow-x:auto; margin-top:20px; }
.expertise-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.expertise-table th { text-align:left; padding:10px 14px; color:var(--clr-text); font-size:.7rem; text-transform:uppercase; letter-spacing:1px; border-bottom:2px solid var(--clr-text); }
.expertise-table td { padding:10px 14px; border-bottom:1px solid var(--clr-border); color:var(--clr-text-secondary); }
.expertise-table td:first-child { font-weight:700; color:var(--clr-text); white-space:nowrap; }
.expertise-table tr:hover td { background:var(--clr-bg-card); }

/* ===== Principles ===== */
.principles { margin-top:28px; display:grid; gap:12px; }
.principle { display:flex; gap:16px; align-items:flex-start; background:var(--clr-bg-card); border:1px solid var(--clr-border); padding:20px; transition:all .3s ease; }
.principle:hover { border-color:var(--clr-text-muted); }
.principle-num { flex-shrink:0; width:32px; height:32px; border:1px solid var(--clr-border); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; color:var(--clr-text); }
.principle-content h4 { font-size:.85rem; font-weight:600; color:var(--clr-text); margin-bottom:3px; }
.principle-content p { font-size:.8rem; color:var(--clr-text-secondary); }

/* ===== Mindset Box ===== */
.mindset-box { background:var(--clr-bg-card); border:1px solid var(--clr-border); border-left:3px solid var(--clr-text); padding:28px; margin-top:28px; transition:all .3s ease; }
.mindset-box:hover { border-color:var(--clr-text-muted); }
.mindset-box h4 { font-size:.95rem; font-weight:700; color:var(--clr-text); margin-bottom:10px; }
.mindset-box p { font-size:.85rem; color:var(--clr-text-secondary); line-height:1.6; }

/* ===== Code Block ===== */
.code-block { font-family:var(--font-mono); font-size:.75rem; color:var(--clr-text-secondary); background:var(--clr-bg-card); border:1px solid var(--clr-border); padding:20px; margin-top:20px; line-height:1.6; overflow-x:auto; }
.code-block .highlight { color:var(--clr-text); font-weight:600; }

/* ===== Chips ===== */
.chip-group { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.chip { display:inline-block; padding:3px 10px; border:1px solid var(--clr-border); color:var(--clr-text-muted); font-size:.65rem; transition:all .3s ease; }
.chip:hover { border-color:var(--clr-text); color:var(--clr-text); }

/* ===== Tilt Cards ===== */
.tilt-card { transition:transform .3s ease; }
.tilt-card:hover { transform:translateY(-2px); }

/* ===== Glass Card ===== */
.glass-card { background:var(--clr-bg-card); border:1px solid var(--clr-border); }
.glass-card:hover { background:var(--clr-bg-hover); border-color:var(--clr-text-muted); }

/* ===== Gradient Text ===== */
.gradient-text { background:var(--text-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ===== Buttons ===== */
.btn-primary { display:inline-flex; align-items:center; gap:8px; padding:10px 28px; background:var(--clr-text); color:var(--clr-bg); font-weight:600; font-size:.85rem; border:1px solid var(--clr-text); transition:all .3s ease; text-decoration:none; }
.btn-primary:hover { background:transparent; color:var(--clr-text); }
.btn-glass { display:inline-flex; align-items:center; gap:8px; padding:10px 28px; background:var(--clr-bg-card); border:1px solid var(--clr-border); color:var(--clr-text-secondary); font-weight:500; font-size:.85rem; transition:all .3s ease; text-decoration:none; }
.btn-glass:hover { border-color:var(--clr-text); color:var(--clr-text); }

/* ===== Animations ===== */
.fade-in { opacity:0; transform:translateY(20px); transition:all .6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ===== Toast ===== */
.toast { position:fixed; bottom:32px; right:32px; background:var(--clr-bg-card); border:1px solid var(--clr-border); color:var(--clr-text); padding:14px 22px; font-weight:500; font-size:.85rem; transform:translateY(120px); opacity:0; transition:all .5s ease; z-index:9999; pointer-events:none; max-width:400px; }
.toast.show { transform:translateY(0); opacity:1; }

/* ===== Footer ===== */
footer { background:var(--clr-bg-alt); border-top:1px solid var(--clr-border); padding:40px 0 28px; }
footer .container { display:grid; grid-template-columns:2fr 1fr; gap:40px; }
footer h4 { font-size:1rem; font-weight:700; color:var(--clr-text); margin-bottom:10px; }
footer p { font-size:.8rem; color:var(--clr-text-muted); line-height:1.6; }
footer .footer-links { list-style:none; display:flex; flex-direction:column; gap:6px; }
footer .footer-links a { color:var(--clr-text-muted); text-decoration:none; font-size:.8rem; transition:color .3s ease; }
footer .footer-links a:hover { color:var(--clr-text); }
.footer-bottom { grid-column:1/-1; text-align:center; padding-top:20px; border-top:1px solid var(--clr-border); font-size:.72rem; color:var(--clr-text-muted); }
.footer-bottom strong { color:var(--clr-text); }

/* ===== Responsive ===== */
@media(max-width:1023px) {
  .container { padding:0 20px; }
  .hero h1 { font-size:2.4rem; }
  .section-title { font-size:1.5rem; }
  footer .container { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:767px) {
  .nav-links {
    position:fixed; top:0; right:-280px; width:280px; height:100dvh;
    flex-direction:column; background:var(--clr-bg-alt);
    padding:72px 20px 24px; gap:2px;
    transition:right .35s ease;
    border-left:1px solid var(--clr-border);
    z-index:9999; overflow-y:auto;
  }
  .nav-links.active { right:0; }
  .nav-links li::after { display:none; }
  .nav-links a { display:block; padding:12px 14px; font-size:.9rem; }
  .hamburger { display:flex; z-index:10000; }
  body.nav-open { overflow:hidden; position:fixed; width:100%; }
  .hero { min-height:50vh; }
  .hero h1 { font-size:1.8rem; }
  .hero .role-icon { font-size:2.5rem; }
  .hero .subtitle { font-size:.88rem; }
  .card-grid { grid-template-columns:1fr; }
  .stats-row { grid-template-columns:1fr 1fr; gap:8px; }
  .principle { flex-direction:column; padding:16px; }
  .content-section { padding:40px 0; }
  .section-title { font-size:1.3rem; }
  .section-title::after { width:30px; }
  footer .container { gap:20px; }
  footer h4 { font-size:.9rem; }
  .toast { left:16px; right:16px; bottom:16px; max-width:none; font-size:.8rem; padding:12px 16px; }
  .code-block { font-size:.65rem; padding:14px; }
}
@media(max-width:420px) {
  .container { padding:0 14px; }
  .hero h1 { font-size:1.5rem; }
  .nav-links { width:240px; right:-240px; }
}
