:root {
      --bg:#080c08; --surface:#0f140f; --surface2:#141a14;
      --border:rgba(255,255,255,0.06); --green:#4caf7d;
      --green-dim:rgba(76,175,125,0.10); --green-border:rgba(76,175,125,0.22);
      --text:#f0f4f0; --muted:#5a6b5a; --muted2:#3a483a;
      --mono:'DM Mono',monospace; --sans:'Sora',sans-serif;
    }
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden}
    body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:0.5}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(8,12,8,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
    .nav-name{font-family:var(--mono);font-size:0.9rem;color:var(--green);text-decoration:none;letter-spacing:0.02em}
    .nav-links{display:flex;list-style:none;gap:0.2rem;align-items:center}
    .nav-links a{font-size:0.82rem;color:var(--muted);text-decoration:none;padding:0.35rem 0.75rem;border-radius:6px;transition:color 0.2s,background 0.2s}
    .nav-links a:hover{color:var(--text);background:rgba(255,255,255,0.04)}
    .nav-links .nav-cta{background:var(--green);color:#000;font-weight:600;padding:0.4rem 1rem}
    .nav-links .nav-cta:hover{background:#5cc98d}
    .nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
    .nav-toggle span{display:block;width:20px;height:1.5px;background:var(--muted);border-radius:2px;transition:0.3s}

    /* LAYOUT */
    .page{padding-top:64px}
    section{padding:5rem 2rem;max-width:960px;margin:0 auto;position:relative;z-index:1}
    hr.divider{border:none;border-top:1px solid var(--border);margin:0;position:relative;z-index:1}

    /* TYPE */
    .label{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--green);margin-bottom:1rem;display:block}
    h1{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;letter-spacing:-0.035em;line-height:1.0;margin-bottom:1.25rem}
    h1 em{font-style:normal;color:var(--green)}
    h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;letter-spacing:-0.025em;margin-bottom:1rem}
    h2 em{font-style:normal;color:var(--green)}
    .lead{font-size:1.05rem;color:var(--muted);line-height:1.75;max-width:580px}
    .terminal-line{font-family:var(--mono);font-size:0.82rem;color:var(--muted);margin-bottom:1.5rem}
    .terminal-line::before{content:'> ';color:var(--green)}

    /* HERO */
    .hero{min-height:calc(100vh - 64px);display:flex;align-items:center;padding:5rem 2rem;max-width:960px;margin:0 auto;gap:4rem;position:relative;z-index:1}
    .hero-text{flex:1;animation:fadeIn 0.7s ease both}
    .hero-photo{flex-shrink:0;width:220px;height:220px;border-radius:50%;overflow:hidden;border:2px solid var(--green-border);box-shadow:0 0 60px rgba(76,175,125,0.12);animation:fadeIn 0.7s ease 0.15s both}
    .hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%)}
    .hero-badges{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1.5rem 0}
    .badge{font-family:var(--mono);font-size:0.7rem;padding:0.25rem 0.65rem;border-radius:4px;border:1px solid var(--border);color:var(--muted);background:var(--surface);letter-spacing:0.04em}
    .badge-green{border-color:var(--green-border);color:var(--green);background:var(--green-dim)}
    .hero-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:2rem}

    /* BTNS */
    .btn{display:inline-flex;align-items:center;gap:0.45rem;padding:0.65rem 1.35rem;border-radius:8px;font-size:0.88rem;font-weight:600;text-decoration:none;transition:all 0.2s;cursor:pointer;border:none;font-family:var(--sans)}
    .btn-primary{background:var(--green);color:#000}
    .btn-primary:hover{background:#5cc98d;transform:translateY(-1px)}
    .btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}
    .btn-outline:hover{border-color:var(--green-border);color:var(--green);transform:translateY(-1px)}

    /* ABOUT */
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem}
    .about-stat{padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}
    .about-stat-num{font-size:2rem;font-weight:800;color:var(--green);letter-spacing:-0.03em;font-family:var(--mono)}
    .about-stat-label{font-size:0.82rem;color:var(--muted);margin-top:0.25rem}
    .southstack-band{background:var(--green-dim);border:1px solid var(--green-border);border-radius:16px;padding:2rem 2.5rem;margin-top:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
    .southstack-band h3{font-size:1.1rem;font-weight:700;margin-bottom:0.4rem}
    .southstack-band p{font-size:0.88rem;color:var(--muted);max-width:500px;line-height:1.6}

    /* SKILLS */
    .skills-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-top:2.5rem}
    .skill-group{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}
    .skill-group h4{font-family:var(--mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--green);margin-bottom:0.85rem}
    .skill-tags{display:flex;flex-wrap:wrap;gap:0.4rem}
    .skill-tag{font-size:0.78rem;padding:0.2rem 0.55rem;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-family:var(--mono)}

    /* PROJECTS */
    .projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:2.5rem}
    .project-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;display:flex;flex-direction:column;gap:0.75rem}
    .project-card:hover{border-color:var(--green-border);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.3)}
    .project-icon{font-size:1.5rem;margin-bottom:0.25rem}
    .project-card h3{font-size:1rem;font-weight:700;letter-spacing:-0.01em}
    .project-card p{font-size:0.85rem;color:var(--muted);line-height:1.6;flex:1}
    .project-stack{display:flex;flex-wrap:wrap;gap:0.3rem;margin-top:0.25rem}
    .project-stack span{font-family:var(--mono);font-size:0.68rem;padding:0.15rem 0.5rem;background:var(--surface2);border:1px solid var(--border);border-radius:3px;color:var(--muted)}
    .project-gallery{display:flex;gap:0.5rem;margin-top:0.75rem;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent;border-radius:8px}
    .project-gallery img{height:140px;width:auto;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:opacity 0.2s,transform 0.2s;flex-shrink:0;object-fit:cover}
    .project-gallery img:hover{opacity:0.85;transform:scale(1.02)}
    .project-links{display:flex;gap:0.5rem;margin-top:0.5rem}
    .project-link{font-size:0.78rem;color:var(--green);text-decoration:none;font-weight:600;font-family:var(--mono)}
    .project-link:hover{text-decoration:underline}

    /* LIGHTBOX */
    #lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:2000;align-items:center;justify-content:center;padding:1rem;cursor:pointer}
    #lightbox.open{display:flex}
    #lightbox img{max-width:100%;max-height:90vh;border-radius:8px;cursor:default}
    #lb-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,0.1);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}

    /* TIMELINE */
    .timeline{margin-top:2.5rem;display:flex;flex-direction:column}
    .timeline-item{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--border)}
    .timeline-item:last-child{border-bottom:none}
    .timeline-meta{text-align:right;padding-top:0.1rem}
    .timeline-date{font-family:var(--mono);font-size:0.72rem;color:var(--muted);line-height:1.4}
    .timeline-body h3{font-size:1rem;font-weight:700;margin-bottom:0.2rem}
    .timeline-company{font-family:var(--mono);font-size:0.78rem;color:var(--green);margin-bottom:0.65rem}
    .timeline-body ul{list-style:none;display:flex;flex-direction:column;gap:0.35rem}
    .timeline-body li{font-size:0.85rem;color:var(--muted);padding-left:1rem;position:relative;line-height:1.55}
    .timeline-body li::before{content:'—';position:absolute;left:0;color:var(--green);font-size:0.7rem;top:0.2rem}

    /* EDUCATION */
    .edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2.5rem}
    .edu-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}
    .edu-card h4{font-size:0.95rem;font-weight:700;margin-bottom:0.25rem}
    .edu-inst{font-family:var(--mono);font-size:0.75rem;color:var(--green);margin-bottom:0.5rem}
    .edu-year{font-family:var(--mono);font-size:0.72rem;color:var(--muted)}

    /* COURSES */
    .courses-toggle-btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0.65rem 1.25rem;color:var(--muted);font-size:0.85rem;cursor:pointer;font-family:var(--sans);margin-top:1.5rem;display:flex;align-items:center;gap:0.5rem;transition:all 0.2s}
    .courses-toggle-btn:hover{border-color:var(--green-border);color:var(--green)}
    .courses-list{display:none;margin-top:1rem}
    .courses-list.open{display:block}
    .courses-table{width:100%;border-collapse:collapse;font-size:0.82rem;margin-top:0.75rem}
    .courses-table th{text-align:left;padding:0.5rem 0.75rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
    .courses-table td{padding:0.5rem 0.75rem;color:var(--muted);border-bottom:1px solid rgba(255,255,255,0.03)}
    .courses-table td:first-child{color:var(--text)}
    .grade-a{color:var(--green)!important;font-weight:600;font-family:var(--mono)}
    .grade-b{color:#7eb8ff!important;font-family:var(--mono)}
    .grade-c{color:var(--muted)!important;font-family:var(--mono)}

    /* CONTACT */
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
    .contact-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;text-decoration:none;color:var(--text);transition:all 0.2s;display:flex;align-items:center;gap:1rem}
    .contact-item:hover{border-color:var(--green-border);transform:translateY(-2px)}
    .contact-icon{width:38px;height:38px;background:var(--green-dim);border:1px solid var(--green-border);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .contact-icon svg{width:16px;height:16px;fill:var(--green)}
    .contact-label{font-size:0.72rem;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:0.08em}
    .contact-val{font-size:0.88rem;font-weight:600;margin-top:0.1rem}

    /* FOOTER */
    footer{border-top:1px solid var(--border);padding:2.5rem 2rem;text-align:center;position:relative;z-index:1}
    .footer-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}
    .footer-socials{display:flex;gap:0.6rem}
    .social-link{width:36px;height:36px;border-radius:8px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;transition:all 0.2s}
    .social-link svg{width:15px;height:15px;fill:currentColor}
    .social-link:hover{border-color:var(--green-border);color:var(--green);background:var(--green-dim);transform:translateY(-2px)}
    .footer-copy{font-family:var(--mono);font-size:0.72rem;color:var(--muted2);letter-spacing:0.06em}

    /* CHATBOT */
    #ss-chat-toggle{position:fixed;bottom:1.5rem;right:1.5rem;width:50px;height:50px;border-radius:50%;background:var(--green);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(76,175,125,0.35);z-index:9998;transition:transform 0.2s,box-shadow 0.2s}
    #ss-chat-toggle:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(76,175,125,0.5)}
    #ss-chat-toggle svg{width:20px;height:20px;fill:#000}
    #ss-chat-toggle .close-icon{display:none}
    #ss-chat-toggle.open .chat-icon{display:none}
    #ss-chat-toggle.open .close-icon{display:block}
    #ss-chat-panel{position:fixed;bottom:5rem;right:1.5rem;width:340px;max-width:calc(100vw - 2rem);height:460px;max-height:calc(100vh - 7rem);background:#0f140f;border:1px solid var(--border);border-radius:14px;display:none;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,0.7);z-index:9997;overflow:hidden;font-family:var(--sans)}
    #ss-chat-panel.open{display:flex}
    .ss-chat-header{padding:0.9rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.55rem;background:#141a14;flex-shrink:0}
    .ss-chat-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
    .ss-chat-title{font-size:0.85rem;font-weight:700;color:var(--text)}
    .ss-chat-sub{font-size:0.72rem;color:var(--muted);margin-left:auto}
    .ss-chat-messages{flex:1;overflow-y:auto;padding:0.9rem;display:flex;flex-direction:column;gap:0.65rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.08) transparent}
    .ss-msg{max-width:85%;font-size:0.83rem;line-height:1.55;padding:0.55rem 0.8rem;border-radius:10px}
    .ss-msg-bot{background:var(--surface2);border:1px solid var(--border);color:#aaa;align-self:flex-start;border-bottom-left-radius:3px}
    .ss-msg-user{background:var(--green);color:#000;align-self:flex-end;border-bottom-right-radius:3px;font-weight:500}
    .ss-msg-typing{color:var(--muted);font-style:italic;font-size:0.78rem;align-self:flex-start}
    .ss-chat-input-row{padding:0.65rem;border-top:1px solid var(--border);display:flex;gap:0.45rem;flex-shrink:0;background:#0f140f}
    #ss-chat-input{flex:1;background:var(--surface2);border:1px solid rgba(255,255,255,0.07);border-radius:7px;padding:0.5rem 0.7rem;color:var(--text);font-size:0.83rem;outline:none;font-family:var(--sans);resize:none}
    #ss-chat-input:focus{border-color:var(--green-border)}
    #ss-chat-input::placeholder{color:var(--muted2)}
    #ss-chat-send{background:var(--green);border:none;border-radius:7px;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;transition:background 0.15s}
    #ss-chat-send:hover{background:#5cc98d}
    #ss-chat-send:disabled{background:#2a4a35;cursor:not-allowed}
    #ss-chat-send svg{width:14px;height:14px;fill:#000}
    .ss-chat-disclaimer{padding:0.35rem 0.7rem 0.45rem;font-size:0.67rem;color:var(--muted2);text-align:center;flex-shrink:0}
    #privacy-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:1000;align-items:center;justify-content:center;padding:1rem}
    #privacy-modal.open{display:flex}
    .privacy-box{background:#0f140f;border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:2rem;max-width:480px;width:100%;position:relative}
    .privacy-box h3{font-size:1rem;font-weight:700;margin-bottom:1rem}
    .privacy-box p{font-size:0.83rem;color:#666;line-height:1.7;margin-bottom:0.75rem}
    .privacy-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#666;font-size:1.2rem;cursor:pointer}

    @keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

    @media(max-width:680px){
      nav{padding:0.9rem 1.25rem}
      .nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:0.75rem;gap:0.2rem}
      .nav-links.open{display:flex}
      .nav-toggle{display:flex}
      .hero{flex-direction:column-reverse;gap:2rem;min-height:auto;padding-top:3rem}
      .hero-photo{width:150px;height:150px}
      h1{font-size:2.2rem}
      section{padding:3.5rem 1.25rem}
      .about-grid{grid-template-columns:1fr 1fr}
      .contact-grid{grid-template-columns:1fr}
      .timeline-item{grid-template-columns:1fr;gap:0.5rem}
      .timeline-meta{text-align:left}
      .southstack-band{padding:1.5rem}
    }

    /* ── CURRENTLY BUILDING ── */
    .building-card{background:var(--green-dim);border:1px solid var(--green-border);border-radius:14px;padding:1.75rem 2rem;display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1rem;transition:transform 0.2s}
    .building-card:hover{transform:translateY(-2px)}
    .building-pulse{width:10px;height:10px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:0.35rem;animation:pulse 2s infinite}
    @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(76,175,125,0.4)}70%{box-shadow:0 0 0 8px rgba(76,175,125,0)}100%{box-shadow:0 0 0 0 rgba(76,175,125,0)}}
    .building-card h3{font-size:0.95rem;font-weight:700;margin-bottom:0.3rem}
    .building-card p{font-size:0.83rem;color:var(--muted);line-height:1.6}
    .building-tag{font-family:var(--mono);font-size:0.68rem;padding:0.15rem 0.5rem;background:rgba(76,175,125,0.12);border:1px solid var(--green-border);border-radius:3px;color:var(--green);margin-right:0.35rem;margin-top:0.5rem;display:inline-block}

    /* ── CV DOWNLOAD ── */
    .cv-download-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
    .cv-download-bar p{font-size:0.85rem;color:var(--muted);line-height:1.5}
    .cv-download-bar h3{font-size:0.95rem;font-weight:700;margin-bottom:0.25rem}

    /* ── GITHUB ACTIVITY ── */
    .github-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:2.5rem}
    .github-repo-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;text-decoration:none;color:var(--text);transition:all 0.2s;display:flex;flex-direction:column;gap:0.5rem}
    .github-repo-card:hover{border-color:var(--green-border);transform:translateY(-2px)}
    .github-repo-name{font-family:var(--mono);font-size:0.85rem;font-weight:600;color:var(--green)}
    .github-repo-desc{font-size:0.8rem;color:var(--muted);line-height:1.5;flex:1}
    .github-repo-lang{font-family:var(--mono);font-size:0.72rem;color:var(--muted);display:flex;align-items:center;gap:0.35rem;margin-top:0.25rem}
    .lang-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
    .github-graph-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin-top:1rem}
    .github-graph-wrap img{width:100%;border-radius:6px;opacity:0.85}
    .github-graph-wrap p{font-size:0.75rem;color:var(--muted);margin-top:0.5rem;text-align:center}
    .github-note{font-size:0.78rem;color:var(--muted);font-style:italic;margin-top:0.75rem;padding:0.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}

    /* ── SKILLS PROGRESS ── */
    .skills-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2.5rem}
    .skill-progress-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}
    .skill-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.6rem}
    .skill-progress-name{font-size:0.88rem;font-weight:600}
    .skill-progress-status{font-family:var(--mono);font-size:0.68rem;padding:0.15rem 0.5rem;border-radius:3px}
    .status-active{background:var(--green-dim);border:1px solid var(--green-border);color:var(--green)}
    .status-planned{background:rgba(255,255,255,0.03);border:1px solid var(--border);color:var(--muted)}
    .skill-progress-bar-bg{height:4px;background:rgba(255,255,255,0.05);border-radius:2px;overflow:hidden}
    .skill-progress-bar{height:100%;background:var(--green);border-radius:2px}
    .skill-progress-note{font-size:0.75rem;color:var(--muted);margin-top:0.5rem}
    .testimonial-placeholder strong{display:block;color:var(--text);margin-bottom:0.35rem;font-size:0.88rem}

    /* ── BLOG / NOTES ── */
    .notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2.5rem}
    .note-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem;transition:all 0.2s;cursor:pointer}
    .note-card:hover{border-color:var(--green-border);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,0.25)}
    .note-tag{font-family:var(--mono);font-size:0.68rem;padding:0.15rem 0.5rem;background:var(--green-dim);border:1px solid var(--green-border);border-radius:3px;color:var(--green);margin-bottom:0.75rem;display:inline-block}
    .note-card h3{font-size:0.95rem;font-weight:700;margin-bottom:0.5rem;line-height:1.35}
    .note-card p{font-size:0.82rem;color:var(--muted);line-height:1.6}
    .note-date{font-family:var(--mono);font-size:0.72rem;color:var(--muted2);margin-top:0.75rem}
    .note-expand{display:none;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);font-size:0.82rem;color:var(--muted);line-height:1.7}
    .note-expand.open{display:block}
    .note-read-more{font-family:var(--mono);font-size:0.72rem;color:var(--green);margin-top:0.75rem;display:inline-block}

    /* ── UNI HIGHLIGHTS ── */
    .uni-highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2.5rem}
    .uni-highlight-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}
    .uni-highlight-card h3{font-size:0.9rem;font-weight:700;margin-bottom:0.3rem}
    .uni-highlight-grade{font-family:var(--mono);font-size:0.75rem;color:var(--green);margin-bottom:0.5rem}
    .uni-highlight-card p{font-size:0.8rem;color:var(--muted);line-height:1.55}
    .uni-stack{display:flex;flex-wrap:wrap;gap:0.3rem;margin-top:0.6rem}
    .uni-stack span{font-family:var(--mono);font-size:0.65rem;padding:0.1rem 0.45rem;background:var(--surface2);border:1px solid var(--border);border-radius:3px;color:var(--muted)}