
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html, body { height: 100%; }
    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background: #0b0b1a;
      color: #e0e0e0;
      line-height: 1.6;
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      overflow-x: hidden;
      position: relative;
    }
    body.light { background: #f4f4f9; color: #333; }

    main {
      position: relative;
      z-index: 2;
      max-width: 750px;
      margin: 60px auto;
      padding: 25px 35px;
      background: rgba(20, 20, 35, 0.85);
      border-radius: 14px;
      box-shadow: 0 6px 20px rgba(0,0,0,0.4);
      transition: background 0.3s, color 0.3s;
    }
    body.light main { background: #fff; color: #333; }

    h1 { 
      text-align: center; 
      margin-bottom: 25px; 
      font-size: 2rem; 
      color: #fff; 
      transition: color 0.3s; 
    }
    body.light h1 { color: #222; }

    p { margin-bottom: 18px; }

    /* Default (dark theme) */
    :root {
      --link-color: #95d5e2;
      --link-hover: #FFD700;
      --button-bg: #ff55aa;
      --button-bg-hover: #e03588;
      --button-text: #fff;
      --home-btn-bg: #ff884d;
      --home-btn-hover: #e06a20;
      --home-btn-text: #000;
    }

    /* Light theme overrides */
    body.light {
      --link-color: #0645AD;
      --link-hover: #005fa3;
      --button-bg: #0077cc;
      --button-bg-hover: #005fa3;
      --button-text: #fff;
      --home-btn-bg: #0077cc;
      --home-btn-hover: #005fa3;
      --home-btn-text: #fff;
    }

    a {
      color: var(--link-color);
      text-decoration: underline;
      transition: color 0.3s, transform 0.2s;
    }

    a:hover,
    a:focus {
      color: var(--link-hover);
    }

    .back-home { text-align: center; margin-top: 30px; font-weight: bold; }
    .back-home a {
      display: inline-block;
      padding: 8px 16px;
      border-radius: 8px;
      background: var(--home-btn-bg);
      color: var(--home-btn-text);
      font-weight: bold;
      transition: background 0.3s, transform 0.2s;
    }
    .back-home a:hover,
    .back-home a:focus {
      background: var(--home-btn-hover);
      transform: translateY(-2px);
    }

    footer { 
      text-align: center; 
      margin-top: auto; 
      padding: 15px 0; 
      font-size: 0.9rem; 
      color: #aaa; 
      transition: color 0.3s; 
    }
    body.light footer { color: #777; }

    .theme-toggle {
      display: inline-block;
      margin-bottom: 20px;
      padding: 10px 18px;
      background: var(--button-bg);
      color: var(--button-text);
      border-radius: 8px;
      cursor: pointer;
      font-weight: bold;
      transition: background 0.3s, transform 0.2s;
    }
    .theme-toggle:hover,
    .theme-toggle:focus {
      background: var(--button-bg-hover);
      transform: translateY(-2px);
    }

    /* Accessible focus ring */
    a:focus, button:focus, .theme-toggle:focus {
      outline: 3px solid #FFD700;
      outline-offset: 3px;
    }

    /* Floating abstract blobs background */
    .bg-blob {
      position: fixed;
      border-radius: 50%;
      opacity: 0.25;
      filter: blur(100px);
      z-index: -1;
      pointer-events: none;
      will-change: transform, background;
    }
