:root{--light-bg:#F7F8FA;--light-text:#0F172A;--light-heading:#0B1324;--light-muted:#6B7280;--light-card:#FFFFFF;--light-card-2:#F3F5FA;--light-stroke:#E5E7EB;--light-hover:#EEF1F7;--dark-bg:#646d7d;--dark-text:#E7ECF3;--dark-heading:#F7FAFF;--dark-muted:#A7B3C2;--dark-card:#0f1724e4;--dark-card-2:#0C1524;--dark-stroke:#1E2A40;--dark-hover:#13223A;--acc-blue:#3B82F6;--acc-cyan:#22D3EE;--acc-violet:#8B5CF6;--acc-blue-dark:#82B1FF;--acc-cyan-dark:#67E8F9;--acc-violet-dark:#B69CFF;--radius:16px;--accent-ui:#3B82F6;--accent-text:#E11D48}.mode-light{--bg:var(--light-bg);--text:var(--light-text);--heading:var(--light-heading);--muted:var(--light-muted);--card:var(--light-card);--card-2:var(--light-card-2);--stroke:var(--light-stroke);--hover:var(--light-hover);--shadow:0 12px 28px rgba(15,23,42,.08);--clr-dot:#9ED6F5;--clr-btn-stroke:#98C7E6;--clr-btn-stroke-hov:#5AB0E8;--clr-progress-skill:#e4b022b6;--clr-progress-lang:#3B82F6;--clr-bar-bg:#E8F3FA}.mode-dark{--bg:var(--dark-bg);--text:var(--dark-text);--heading:var(--dark-heading);--muted:var(--dark-muted);--card:var(--dark-card);--card-2:var(--dark-card-2);--stroke:var(--dark-stroke);--hover:var(--dark-hover);--shadow:0 18px 42px rgba(0,0,0,.45);--clr-dot:#5EC6F1;--clr-btn-stroke:#3D94C6;--clr-btn-stroke-hov:#62C7F2;--clr-progress-skill:var(--acc-cyan-dark);--clr-progress-lang:var(--acc-blue-dark);--clr-bar-bg:#0F2133}.theme-experience{--acc: var(--acc-violet)}.theme-projects{--acc: var(--acc-blue)}.theme-skills{--acc: var(--acc-cyan)}.theme-languages{--acc: var(--acc-violet)}*{box-sizing:border-box}html,body,#app{height:100%}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}h1,h2,h3,.section-title,.details-title,.brand,.name{color:var(--heading)}.pointer{cursor:pointer}.layout{display:grid;grid-template-columns:320px 1fr;gap:22px;padding:22px}.card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow)}.topbar{grid-column:1 / -1;padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:.2px}.actions{display:flex;align-items:center;gap:10px}.dropdown{position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;font-weight:800;border:1px solid var(--clr-btn-stroke);background:var(--card);color:var(--text);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.btn-ghost:hover{border-color:var(--clr-btn-stroke-hov)}.theme-toggle span{font-size:16px;line-height:1}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:1000;background:var(--card);border:1px solid var(--stroke);border-radius:12px;box-shadow:var(--shadow);padding:6px;list-style:none;margin:0;width:180px}.menu-item{width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;color:var(--text)}.menu-item:hover{background:var(--hover)}.sidebar{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;min-height:calc(100vh - 88px)}.profile{text-align:center;margin-bottom:16px}.avatar{width:98px;height:98px;border-radius:50%;object-fit:cover;border:3px solid var(--stroke)}.name{font-size:20px;font-weight:900;margin-top:10px}.role{color:var(--muted);font-size:12px}.block{background:var(--card-2);border:1px solid var(--stroke);border-radius:14px;padding:14px;margin:14px 0}.meta .row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--stroke);padding:6px 0}.meta .row:last-child{border-bottom:0}.section-title{font-weight:900;margin-bottom:8px}.cat-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.cat-btn{width:100%;text-align:left;display:flex;align-items:center;gap:10px;background:var(--card);color:var(--text);border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.cat-btn:hover{border-color:var(--clr-btn-stroke-hov)}.cat-btn.active{outline:2px solid var(--acc);border-color:transparent;background:var(--hover);box-shadow:0 4px 14px #208bf21f}.dot{width:10px;height:10px;border-radius:50%;background:var(--clr-dot)}.contacts .icons-row{display:flex;gap:10px;margin-bottom:8px}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--stroke);background:var(--card);color:var(--text);transition:transform .12s ease,background-color .18s ease,border-color .18s ease}.icon-btn:hover{background:var(--acc);color:#fff;border-color:transparent;transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px;fill:currentColor}.email a{color:#3691ca;text-decoration:none}.main{display:flex;flex-direction:column;gap:22px}.hero{display:grid;grid-template-columns:1.45fr .8fr;align-items:center;padding:28px;gap:24px}.hero-text h1{margin:0 0 10px;font-size:30px;line-height:1.15}.code{color:var(--muted);margin-bottom:18px}.hero-bg{width:100%;height:260px;border-radius:18px;background-size:cover;background-position:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff0,#00000014)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:14px;text-align:center}.num{font-size:24px;font-weight:900}.cap{color:var(--muted);font-size:12px}.plus{color:var(--acc)}.details{padding:18px}.details-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.pill{border:1px solid var(--stroke);background:var(--card);color:var(--text);padding:6px 10px;border-radius:999px;font-weight:900}.pill-ghost{background:var(--hover)}.details-title{margin:0;font-size:18px}.lead{margin:6px 0 10px;color:var(--text)}.muted{color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lang-card,.skill-card{background:var(--card)}.lang-top,.skill-top{display:flex;align-items:center;gap:8px;margin-top:40px}.lang-name,.skill-name,.project-title{font-weight:900;margin:0}.badge{background:var(--acc);color:#fff;border-radius:999px;padding:3px 8px;font-weight:700;background:#423b6fd6;font-size:12px}.project-top{align-items:center;gap:8px;margin-top:20px}.bar{height:8px;background:var(--clr-bar-bg);border-radius:999px;overflow:hidden;margin-top:4px;border:3px solid var(--stroke);opacity:55%}.skill-card .bar span{display:block;height:100%;background:var(--grp-color, var(--clr-progress-skill))}.lang-card .bar span{display:block;height:100%;background:var(--clr-progress-lang)}.certs{margin:6px 0 0;padding-left:16px}.certs a{color:var(--acc);text-decoration:none}.certs a:hover{text-decoration:underline}.meta{color:var(--muted)}.tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--card-2);color:var(--text);border:1px solid var(--stroke);border-radius:999px;padding:3px 10px;font-weight:600;font-size:11px}.tag.with-icon{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--stroke);border-radius:999px;background:var(--card);line-height:1.2}.tag-icon{width:16px;height:16px;flex:0 0 16px;object-fit:contain;display:block}.timeline .tl-item+.tl-item{margin-top:14px}.tl-head{align-items:baseline;gap:10px;margin-bottom:8px}.tl-title{margin:0;font-weight:900}.tl-period{font-style:italic;color:#0000006a}.sep{border:0;border-top:1px solid var(--stroke);margin:14px 0 16px;opacity:.9}.skill-group+.skill-group{margin-top:0}.group-title{margin:0 0 8px;font-size:16px;font-weight:900;text-align:center}.group-card{border:1px solid var(--stroke);border-radius:28px;background:var(--card);box-shadow:var(--shadow);padding:12px}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}@media (max-width:1080px){.layout{grid-template-columns:1fr}.sidebar{min-height:auto}.hero{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr 1fr}}@media (max-width:900px){.grid-2{grid-template-columns:1fr}}@media (max-width:640px){.items-grid{grid-template-columns:1fr}}.lang-card .bar span{display:block;height:100%;background:var(--grp-color, var(--clr-progress-lang))}.theme-education{--acc: #0ea5e9}.theme-achievements{--acc: #10b981}.edu-card{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:12px;box-shadow:var(--shadow)}.ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ach-card{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:12px;position:relative}.ach-title{margin:0;font-weight:900}.ach-year{color:var(--acc);font-weight:900}.ach-issuer{color:var(--muted);margin-top:2px}.ach-link{position:absolute;right:10px;bottom:10px}.ach-card{position:relative}.ach-doc-btn{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--stroke);color:var(--acc);box-shadow:var(--shadow);transition:transform .12s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.ach-doc-btn:hover{background:var(--acc);color:#fff;border-color:transparent;transform:translateY(-1px)}.theme-achievements{--ach-year: #10b981;--ach-icon: #10b981;--ach-hover: #0ea5e9}.mode-dark.theme-achievements{--ach-year: #34d399;--ach-icon: #94a3b8;--ach-hover: #22d3ee}.ach-year{color:var(--ach-year, var(--acc));font-weight:900}.ach-doc-btn{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--stroke);color:var(--ach-icon, var(--acc));box-shadow:var(--shadow);transition:transform .12s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.ach-doc-btn:hover{background:var(--ach-hover, var(--acc));color:#fff;border-color:transparent;transform:translateY(-1px)}.theme-education{--edu-icon-size: 48px;--edu-icon-color: #475569;--edu-icon-hover: #0ea5e9}.mode-dark.theme-education{--edu-icon-color: #94a3b8;--edu-icon-hover: #22d3ee}.edu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.edu-card{position:relative;background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:12px 12px 54px;box-shadow:var(--shadow)}.edu-top{display:flex;align-items:center;gap:8px}.edu-period{color:var(--muted);font-style:italic}.edu-degree{margin-top:4px;font-weight:700}.edu-desc{margin:8px 0 0;padding-left:18px}.edu-doc-btn{transition:transform .24s cubic-bezier(.22,.61,.36,1),background-color .24s cubic-bezier(.22,.61,.36,1),border-color .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s cubic-bezier(.22,.61,.36,1),filter .24s cubic-bezier(.22,.61,.36,1);will-change:transform,box-shadow,filter}.edu-doc-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 34px #00000024}.edu-icon-img{transition:transform .24s cubic-bezier(.22,.61,.36,1),filter .24s cubic-bezier(.22,.61,.36,1),opacity .24s cubic-bezier(.22,.61,.36,1);will-change:transform,filter}.edu-icon-svg{width:var(--edu-icon-size);height:var(--edu-icon-size);fill:var(--edu-icon-color)}.edu-docs{margin:10px 0 0;padding-left:18px}.edu-docs a{color:var(--acc);text-decoration:none}.edu-docs a:hover{text-decoration:underline}.edu-docs-icons{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;margin-left:0}.edu-doc-ico{transition:transform .26s cubic-bezier(.22,.61,.36,1),background-color .26s cubic-bezier(.22,.61,.36,1),border-color .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s cubic-bezier(.22,.61,.36,1),filter .26s cubic-bezier(.22,.61,.36,1);will-change:transform,box-shadow,filter}.edu-doc-ico:hover,.edu-doc-ico:focus-visible{transform:translateY(-2px) scale(1.035);border-color:transparent}.edu-doc-ico img{width:68px;height:68px;object-fit:contain;display:block;margin:10px}.edu-doc-ico:hover img,.edu-doc-ico:focus-visible img{transform:translateY(-1px) scale(1.05);filter:drop-shadow(0 6px 12px rgba(0,0,0,.18)) brightness(1.03)}.edu-doc-ico:before{content:"";position:absolute;inset:-40% -40% auto auto;width:60%;height:200%;transform:rotate(35deg) translate(-110%);background:linear-gradient(90deg,#fff0,#ffffff47 45%,#fff0);transition:transform .52s cubic-bezier(.2,.7,.2,1);pointer-events:none}.edu-doc-ico:hover:before,.edu-doc-ico:focus-visible:before{transform:rotate(35deg) translate(30%)}.degree{font-style:italic}.edu-doc-ico-label{text-decoration:none;color:var(--text);font-size:12px;margin-left:14px}.proj-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.proj-media .thumb{border:1px solid var(--stroke);background:var(--card);border-radius:12px;padding:6px;display:block;width:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.proj-media .thumb:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:transparent}.proj-media img{width:100%;height:90px;object-fit:cover;display:block;border-radius:8px}.pdf-thumb{height:90px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,var(--hover),transparent);font-weight:900;color:var(--acc);border:1px dashed var(--stroke)}.no-scroll{overflow:hidden}.lb{position:fixed;inset:0;z-index:9999;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px}.lb-content{position:relative;max-width:min(92vw,1200px);max-height:86vh;background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.lb-content img{max-width:calc(100vw - 120px);max-height:70vh;object-fit:contain;border-radius:10px;display:block}.lb-iframe{width:min(92vw,1200px);height:70vh;border:0;border-radius:10px;background:#fff}.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.lb-caption{font-weight:800;color:var(--text)}.lb-open{color:var(--acc);text-decoration:none}.lb-btn{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:var(--shadow);font-size:24px;font-weight:900;transition:transform .12s ease,background-color .18s ease,border-color .18s ease}.lb-btn:hover{transform:translateY(-50%) scale(1.06)}.lb-btn.prev{left:18px}.lb-btn.next{right:18px}.lb-btn.close{position:fixed;top:18px;right:18px;transform:none;width:38px;height:38px;font-size:22px;border-radius:10px}.proj-more{margin-top:8px;display:flex;justify-content:center}.more-btn{display:inline-flex;align-items:center;gap:6px;width:100%;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid var(--stroke);background:var(--card);color:var(--text);font-weight:800;font-size:12px;transition:transform .12s ease,background-color .18s ease,border-color .18s ease}.more-btn:hover{transform:translateY(-1px);background:var(--hover)}.more-btn .chev{display:inline-block;transition:transform .18s ease}.more-btn .chev.up{transform:rotate(180deg)}.thumb-enter-active{transition:opacity .38s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1);transition-delay:var(--stg, 0ms)}.thumb-leave-active{transition:opacity .12s cubic-bezier(.4,0,.6,1),transform .12s cubic-bezier(.4,0,.6,1);transition-delay:0ms}.thumb-enter-from,.thumb-leave-to{opacity:0;transform:translateY(8px) scale(.98)}.thumb-move{transition:transform .12s cubic-bezier(.4,0,.6,1)}.proj-media{transition:none}.cat-ico svg{width:18px;height:18px;display:block}.edu-doc-ico-label_2{width:10%;text-align:center}.edu-top{display:flex;align-items:center;gap:px}.edu-uni-ico{width:80px;height:80px;flex:0 0 45px;object-fit:contain;display:block;border-radius:6px;padding:2px;background:transparent}.mode-dark .edu-uni-ico{background:#ffffff0f}.edu-uni-link{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;outline:none}.edu-uni-link:focus-visible{box-shadow:0 0 0 2px var(--accent-ui)}.edu-place{margin:0;font-weight:900}.edu-place a{color:inherit;text-decoration:none}.edu-place a:hover{text-decoration:none}.link{color:var(--acc);text-decoration:none;font-weight:700}.skill-group .group-card{border-radius:18px;padding:10px}.skill-group .items-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.skill-group .group-title{margin:0 0 6px;font-size:15px}.skill-card,.lang-card{border:1px solid var(--stroke);border-radius:14px;padding:10px}.skill-top,.lang-top{gap:6px;margin-top:8px}.skill-name,.lang-name{font-weight:800;font-size:13px}.badge{padding:2px 7px;font-size:11px;border-radius:999px}.bar{height:6px;margin-top:4px;border-width:2px}.skill-card .bar span,.lang-card .bar span{height:100%}.tags{gap:4px}.tag{padding:2px 8px;font-size:10px}.ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ach-card{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:12px;box-shadow:var(--shadow)}.ach-row{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start;position:relative}.ach-ico{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--stroke);background:var(--card-2);overflow:hidden}.ach-ico img{width:81%;height:81%;object-fit:contain}.ach-ico.no-img svg{width:28px;height:28px}.ach-ico.no-img svg circle:first-child{fill:#f7c948}.ach-ico.no-img svg circle:last-child{fill:#ffd166}.ach-ico.no-img svg path{fill:#fff;stroke:#111}.ach-main{min-width:0}.ach-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ach-title{margin:0;font-weight:900;font-size:15px;line-height:1.25}.ach-year{background:var(--hover);border:1px solid var(--stroke);border-radius:999px;padding:3px 8px;font-weight:800;font-size:12px;color:var(--ach-year, var(--acc))}.ach-issuer{margin-top:2px;color:var(--muted);font-size:13px}.ach-org-link{color:inherit;text-decoration:none;border-bottom:1px dashed transparent}.ach-org-link:hover{color:var(--acc);border-bottom-color:var(--acc)}.ach-org-link .ext{margin-left:4px;opacity:.7}.ach-docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ach-doc{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--stroke);border-radius:10px;background:var(--card)}.ach-doc img{width:18px;height:18px;display:block}.ach-doc-cap{font-size:12px;font-weight:700;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.ach-doc:hover{background:var(--hover);border-color:transparent}.ach-doc-fab{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--stroke);color:var(--ach-icon, var(--acc));box-shadow:var(--shadow);transition:transform .12s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.ach-doc-fab:hover{background:var(--ach-hover, var(--acc));color:#fff;border-color:transparent;transform:translateY(-1px)}:root{--graph-node: rgba(15,23,42,.85);--graph-link: rgba(30,64,175,.22);--graph-glow: rgba(59,130,246,.28)}.mode-dark{--graph-node: rgba(255,255,255,.9);--graph-link: rgba(148,163,184,.28);--graph-glow: rgba(56,189,248,.28)}.hero-visual{position:relative;height:260px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:radial-gradient(120% 120% at 100% 50%,rgba(59,130,246,.06),transparent 60%),linear-gradient(180deg,#fff0,#0000000d)}.hero-graph{width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(90% 120% at 80% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(90% 120% at 80% 50%,#000 70%,transparent 100%)}.edu-docs-icons{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;margin-left:0}.edu-doc-ico{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;padding:6px 0 8px;border:1px solid var(--stroke);border-radius:12px;background:var(--card);text-decoration:none}.edu-doc-ico img{width:68px;height:68px;object-fit:contain;display:block;margin:6px auto 4px}.edu-doc-ico-label{margin:0;padding:0 6px;text-align:center;color:var(--text);font-size:12px;line-height:1.25;max-width:100%;word-break:break-word}.link_1{text-decoration:none;color:#0ea5e9}.mode-dark .edu-doc-ico,.mode-dark .edu-doc-ico:hover,.mode-dark .edu-doc-ico:focus{background:var(--card)!important;border:1px solid var(--stroke)!important;box-shadow:none!important;transform:none!important;filter:none!important}.mode-dark .edu-doc-ico img{filter:none!important;opacity:1!important}.mode-dark .tl-period{color:var(--muted)!important}.mode-dark .contacts .icon-btn[aria-label=GitHub] svg path{fill:#fff!important}.edu-doc-ico:before,.edu-doc-ico:after{content:none!important;display:none!important}.mode-dark .tag.with-icon{background:#fff!important;color:#111!important;border:1px solid rgba(0,0,0,.12)}.proj-links{margin-top:8px}.proj-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--stroke);border-radius:10px;background:var(--card);color:var(--acc);font-weight:800;text-decoration:none;transition:border-color .18s ease,background-color .18s ease,transform .12s ease}.proj-link:hover{background:var(--hover);border-color:transparent;transform:translateY(-1px)}
