/* ---- Root + Theme ---- */
    :root{
      --bg1: #cad2d4;
      --glass: rgba(255,255,255,0.16);
      --glass-2: rgba(255,255,255,0.22);
      --glass-border: rgba(255,255,255,0.25);
      --text: #020c14;
      --muted: #020e1d;
      --accent: #30c1df;
      --accent-2: #1c7a7e;
      --radius: 18px;
    }

    /* Dark theme variables (toggled) */
    :root[data-theme='dark']{
      --bg1: #041d36;
      --glass: rgba(20,28,34,0.20);
      --glass-2: rgba(15,22,28,0.28);
      --glass-border: rgba(255,255,255,0.06);
      --text: #eaf6f8;
      --muted: #9fb6bd;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      background: var(--bg1);
      color:var(--text);
      overflow-x:hidden;
    }

    /* Page container */
    .wrap{max-width:1100px;margin:0 auto;padding:0 28px 28px;position:relative;z-index:1}

    /* ParticlesCanvas (absolute behind everything) */
    #tsparticles{position:fixed;inset:0;z-index:0;pointer-events:none}
    #tsparticles canvas{display:block;width:100%;height:100%}

    [data-aos]{
      opacity:0;
      transition:opacity .7s ease,transform .7s ease;
      will-change:opacity,transform;
    }
    [data-aos="fade-up"]{transform:translateY(28px)}
    [data-aos="fade-left"]{transform:translateX(28px)}
    [data-aos="fade-right"]{transform:translateX(-28px)}
    [data-aos].is-visible{
      opacity:1;
      transform:translate3d(0,0,0);
    }

    /* Header */
    header{
      position:sticky;top:14px;z-index:30;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
      display:flex;justify-content:center;pointer-events:none
    }
    .nav{
      width:calc(100% - 56px);max-width:1100px;background:var(--glass);border-radius:14px;padding:10px 16px;display:flex;align-items:flex-end;gap:16px;box-shadow:0 8px 30px rgba(6,24,40,0.06);border:1px solid var(--glass-border);pointer-events:auto
    }
    .brand{display:flex;align-items:flex-end;gap:12px}
    .logo{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:flex-end;justify-content:center;color:#042026;font-weight:800}
    nav{margin-left:auto;display:flex;gap:18px;align-items:center}
    nav a{color:var(--text);text-decoration:none;font-weight:600;padding:6px 10px;border-radius:8px}
    nav a:hover{background:rgba(255,255,255,0.06)}
    .cta{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#042026;padding:8px 12px;border-radius:10px;border:none;cursor:pointer;font-weight:700}

    /* Hero */
    .hero{
      width:100vw;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      margin-top:-118px;
      padding:190px 28px 36px;
      min-height:max(720px,calc(100vw * 0.5625));
      display:flex;
      align-items:flex-end;
      overflow:hidden;
      isolation:isolate;
      position:relative;
      z-index:2
    }
    .hero-sequence{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none;will-change:contents;image-rendering:high-quality}
    .hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:180px;background:linear-gradient(to bottom,transparent,var(--bg1));z-index:2;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(to bottom,transparent,black);mask-image:linear-gradient(to bottom,transparent,black)}
    .hero-inner{width:100%;max-width:1100px;margin:0 0 0 auto;position:relative;z-index:3;display:flex;justify-content:flex-end}
    .hero-card{max-width:560px;padding:24px;border-radius:28px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(6,24,40,0.06);transform:translate(-20px,-20px)}
    .hero h1{font-size:36px;margin:0}
    .subtitle{font-weight:600;color:var(--muted);margin-top:10px}
    .typing{color:var(--text);font-weight:700;margin-top:8px}

    .hero-actions{margin-top:18px;display:flex;gap:12px}

    /* Sections */
    section{padding:36px 0}
    h2.section-title{font-size:22px;margin:0 0 12px 0}
    .card{padding:18px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(8px)}
    .section-copy{max-width:760px;margin:0;color:var(--muted);line-height:1.6}

    /* About */
    .about-grid{display:grid;grid-template-columns:1fr 320px;gap:20px}
    .timeline{display:flex;flex-direction:column;gap:12px}
    .timeline .item{background:var(--glass-2);padding:12px;border-radius:12px;border:1px solid var(--glass-border)}

    /* Skills */
    .skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
    .skill{padding:14px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.03));border:1px solid var(--glass-border);display:flex;align-items:flex-end;gap:12px}
    .skill .bar{height:8px;background:rgba(0,0,0,0.06);flex:1;border-radius:999px;overflow:hidden}
    .skill .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:40%}

    /* Projects */
    .projects-controls{display:flex;gap:8px;flex-wrap:wrap}
    .pill{padding:8px 12px;background:transparent;border:1px solid var(--glass-border);border-radius:999px;cursor:pointer;color:var(--text)}
    .projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
    .project{border-radius:14px;overflow:hidden;border:1px solid var(--glass-border);background:var(--glass-2);cursor:pointer;display:flex;flex-direction:column}
    .project img{width:100%;height:160px;object-fit:cover}
    .project-body{padding:14px}

    /* Games */
    .games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;align-items:start}
    .game-card{display:flex;flex-direction:column;gap:16px;min-height:100%;outline:none}
    .game-card.is-active{box-shadow:0 16px 50px rgba(10,34,46,0.12);border-color:rgba(48,193,223,0.45)}
    .game-card:focus-visible{border-color:rgba(48,193,223,0.45);box-shadow:0 0 0 2px rgba(48,193,223,0.18)}
    .game-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
    .game-header h3{margin:0 0 6px 0}
    .game-header p{margin:0;color:var(--muted);line-height:1.5}
    .game-chip{padding:6px 10px;border-radius:999px;border:1px solid var(--glass-border);color:var(--muted);font-size:12px;white-space:nowrap}
    .game-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .game-stat{padding:12px;border-radius:12px;background:var(--glass-2);border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:6px}
    .game-stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
    .game-stat strong{font-size:22px;line-height:1}
    .game-surface{display:flex;justify-content:center}
    .game-canvas{width:min(100%,320px);aspect-ratio:1 / 1;background:linear-gradient(180deg,rgba(7,22,31,0.92),rgba(3,14,20,0.95));border:1px solid rgba(255,255,255,0.08);border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04)}
    .game-canvas--tall{width:min(100%,240px);aspect-ratio:1 / 2}
    .game-actions{display:flex;gap:8px;flex-wrap:wrap}
    .game-actions .pill{flex:1 1 100px;text-align:center}
    .control-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .control-pad .pill{min-height:44px;font-weight:700}
    .control-spacer{display:block}
    .game-help{margin:0;color:var(--muted);line-height:1.5}
    .minesweeper-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}
    .minesweeper-cell{width:100%;aspect-ratio:1;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-2);color:var(--text);font:inherit;font-weight:700;font-size:clamp(12px,2.8vw,16px);padding:0;cursor:pointer;transition:transform .12s ease,background .12s ease}
    .minesweeper-cell:hover{transform:translateY(-1px)}
    .minesweeper-cell.is-revealed{background:rgba(255,255,255,0.08)}
    .minesweeper-cell.is-flagged{color:#f4b942}
    .minesweeper-cell.is-mine{background:rgba(255,92,120,0.16);color:#ff6c87}

    /* Modal */
    .modal{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:center;z-index:60;background:rgba(2,8,12,0.7);backdrop-filter:blur(4px)}
    .modal-content{position:relative;max-width:800px;width:90%;border-radius:16px;padding:24px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,0.3);max-height:85vh;overflow-y:auto}
    .close{position:absolute;top:16px;right:20px;font-size:28px;font-weight:bold;color:var(--text);cursor:pointer;background:none;border:none;line-height:1}
    .close:hover{color:var(--accent)}

    /* Contact */
    .contact-grid{display:grid;grid-template-columns:1fr 360px;gap:20px}
    form input,form textarea{width:100%;padding:10px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass-2);color:var(--text);margin-bottom:12px;resize:none}
    form input:focus,form textarea:focus{outline:2px solid var(--accent);background:var(--glass)}
    .toast{position:fixed;right:20px;bottom:24px;padding:12px 16px;border-radius:12px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#021517;box-shadow:0 8px 30px rgba(6,24,40,0.08);display:none}

    /* Footer */
    footer{padding:28px 0;text-align:center;color:var(--muted)}

    /* Responsive */
    @media (max-width:980px){
      .hero-card{transform:none}
      .about-grid{grid-template-columns:1fr}
      .contact-grid{grid-template-columns:1fr}
      .projects-grid{grid-template-columns:1fr}
      .games-grid{grid-template-columns:1fr}
      .skills-grid{grid-template-columns:1fr}
      #menuToggle{display:block!important}
      #mainNav{display:none;position:absolute;top:70px;right:28px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:14px;padding:16px;flex-direction:column;gap:12px;box-shadow:0 8px 30px rgba(6,24,40,0.15);min-width:200px}
      #mainNav.show{display:flex}
      #mainNav a,#mainNav button{width:100%;text-align:center}
    }

    @media (max-width:640px){
      .hero{margin-top:-98px;padding:150px 18px 28px;min-height:520px}
      .hero h1{font-size:28px}
      .hero-actions{flex-direction:column}
      .nav{gap:8px}
      .cta{padding:6px 10px;font-size:14px}
      .pill{padding:6px 10px;font-size:14px}
      .project img{height:120px}
      .game-stats{grid-template-columns:1fr}
      .game-actions{flex-direction:column}
      #mainNav{right:14px}
    }

    @media (prefers-reduced-motion:reduce){
      *{transition:none!important;animation:none!important}
      [data-aos]{opacity:1;transform:none}
    }
