:root {
  --font-sans: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  /* Adwaita Light Theme Colors */
  --color-bg: #fafafa;
  --color-bg-alt: #f6f5f4;
  --color-fg: #2e3436;
  --color-fg-subtle: #5e5c64;
  --color-border: #d0cfcc;

  /* Adwaita Accent Colors (Light) */
  --accent-color: #1c71d8;
  --accent-bg-color: #3584e4;
  --accent-fg-color: #ffffff;

  /* Adwaita Destructive Colors (Light) */
  --destructive-color: #c01c28;
  --destructive-bg-color: #e01b24;
  --destructive-fg-color: #ffffff;

  /* Adwaita Success Colors (Light) */
  --success-color: #2ec27e;
  --success-bg-color: #33d17a;
  --success-fg-color: #ffffff;

  /* Adwaita Warning Colors (Light) */
  --warning-color: #f5c211;
  --warning-bg-color: #f6d32d;
  --warning-fg-color: #2e3436;

  /* Legacy color variables for compatibility */
  --color-accent: var(--accent-color);

  --radius-sm: 4px;
  --radius-md: 8px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.12);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;

  /* Adwaita Terminal Colors (Light) */
  --term-black: #241f31;
  --term-red: #c01c28;
  --term-green: #2ec27e;
  --term-yellow: #f5c211;
  --term-blue: #1c71d8;
  --term-magenta: #813d9c;
  --term-cyan: #16a085;
  --term-white: #d0cfcc;
  --term-bright-black: #5e5c64;
  --term-bright-red: #ed333b;
  --term-bright-green: #57e389;
  --term-bright-yellow: #f8e45c;
  --term-bright-blue: #3584e4;
  --term-bright-magenta: #9141ac;
  --term-bright-cyan: #2aa1b3;
  --term-bright-white: #ffffff;
}

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"],:root:not([data-theme]) {
    /* Adwaita Dark Theme Colors */
    --color-bg: #242424;
    --color-bg-alt: #303030;
    --color-fg: #ffffff;
    --color-fg-subtle: #deddda;
    --color-border: #5e5c64;

    /* Adwaita Accent Colors (Dark) */
    --accent-color: #78aeed;
    --accent-bg-color: #3584e4;
    --accent-fg-color: #ffffff;

    /* Adwaita Destructive Colors (Dark) */
    --destructive-color: #ed333b;
    --destructive-bg-color: #e01b24;
    --destructive-fg-color: #ffffff;

    /* Adwaita Success Colors (Dark) */
    --success-color: #57e389;
    --success-bg-color: #33d17a;
    --success-fg-color: #2e3436;

    /* Adwaita Warning Colors (Dark) */
    --warning-color: #f8e45c;
    --warning-bg-color: #f6d32d;
    --warning-fg-color: #2e3436;
  }
}

:root[data-theme="dark"] {
  /* Adwaita Dark Theme Colors */
  --color-bg: #242424;
  --color-bg-alt: #303030;
  --color-fg: #ffffff;
  --color-fg-subtle: #deddda;
  --color-border: #5e5c64;

  /* Adwaita Accent Colors (Dark) */
  --accent-color: #78aeed;
  --accent-bg-color: #3584e4;
  --accent-fg-color: #ffffff;

  /* Adwaita Destructive Colors (Dark) */
  --destructive-color: #ed333b;
  --destructive-bg-color: #e01b24;
  --destructive-fg-color: #ffffff;

  /* Adwaita Success Colors (Dark) */
  --success-color: #57e389;
  --success-bg-color: #33d17a;
  --success-fg-color: #2e3436;

  /* Adwaita Warning Colors (Dark) */
  --warning-color: #f8e45c;
  --warning-bg-color: #f6d32d;
  --warning-fg-color: #2e3436;
}

:root[data-theme="light"] {
  /* Adwaita Light Theme Colors */
  --color-bg: #fafafa;
  --color-bg-alt: #f6f5f4;
  --color-fg: #2e3436;
  --color-fg-subtle: #5e5c64;
  --color-border: #d0cfcc;

  /* Adwaita Accent Colors (Light) */
  --accent-color: #1c71d8;
  --accent-bg-color: #3584e4;
  --accent-fg-color: #ffffff;

  /* Adwaita Destructive Colors (Light) */
  --destructive-color: #c01c28;
  --destructive-bg-color: #e01b24;
  --destructive-fg-color: #ffffff;

  /* Adwaita Success Colors (Light) */
  --success-color: #2ec27e;
  --success-bg-color: #33d17a;
  --success-fg-color: #ffffff;

  /* Adwaita Warning Colors (Light) */
  --warning-color: #f5c211;
  --warning-bg-color: #f6d32d;
  --warning-fg-color: #2e3436;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--color-bg);
  color: var(--color-fg);
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3 { line-height: 1.2; }

p { line-height: 1.55; }

.skip { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip:focus { position:static; width:auto; height:auto; padding: var(--space-2); background:var(--color-accent); color:#fff; }

#hero { min-height: 100vh; display:flex; align-items:center; justify-content:center; padding: var(--space-6) var(--space-4); }
.hero-inner { display:flex; flex-direction:column; align-items:stretch; gap: var(--space-4); width:100%; }
#hero h1 { width:min(1600px,92vw); margin:0 auto 0; padding: 0 clamp(1.5rem,4vw,5rem) 0; font-size: clamp(2rem,5vw,3rem); font-weight:700; letter-spacing:-0.02em; text-align:center; }

main { max-width: 860px; margin: 0 auto; padding: var(--space-6) var(--space-4); }

.link-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: var(--space-2); }
.link-list a { display:block; padding: var(--space-2) var(--space-3); background: var(--color-bg-alt); border:1px solid var(--color-border); border-radius:var(--radius-sm); text-decoration:none; color: var(--color-fg); font-weight:500; }
.link-list a:hover, .link-list a:focus { border-color: var(--color-accent); color: var(--color-accent); }

blockquote { margin: var(--space-6) 0; padding: var(--space-4); background: var(--color-bg-alt); border-left:4px solid var(--color-accent); border-radius:var(--radius-sm); }
blockquote p { margin:0 0 var(--space-2); }
blockquote footer { font-size:0.875rem; opacity:0.7; }
