:root{--accent:#149ddd;--accent-dark:#0563bb;--heading:#173b6c;--text:#272829;--muted:#5f6f7a;--surface:#fff;--soft:#f5f8fd;--line:#dce8f8;--sidebar:#040b14;--sidebar-soft:#212431;--sidebar-text:#a8a9b4;--sl-color-accent-low:#dcecff;--sl-color-accent:var(--accent-dark);--sl-color-accent-high:#0a345f;--sl-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sl-font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace}:root[data-theme=dark]{--sl-color-accent-low:#08233e;--sl-color-accent:#64b5f6;--sl-color-accent-high:#d8ecff}html{scroll-behavior:smooth}.portfolio-home{min-height:100vh;color:var(--text);background:var(--surface);font-family:var(--sl-font);margin:0}.portfolio-home *{box-sizing:border-box}.reveal-image{opacity:0;transition:opacity .22s}.reveal-image[data-loaded=true]{opacity:1}@media (prefers-reduced-motion:reduce){.reveal-image{transition:none}}.portfolio-home a{transition:color .2s,background .2s,transform .2s,box-shadow .2s}.portfolio-sidebar{z-index:1000;background:var(--sidebar);border-right:1px solid #ffffff0f;width:300px;height:100vh;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-inner{flex-direction:column;min-height:100%;padding:1.6rem 1.15rem;display:flex}.profile-link{color:#fff;text-align:center;justify-items:center;text-decoration:none;display:grid}.sidebar-avatar{object-fit:cover;background:#fff;border:8px solid #2c2f3f;border-radius:999px;width:132px;height:132px}.profile-link strong{margin-top:1rem;font-size:1.45rem;line-height:1.15;display:block}.profile-link span{color:var(--sidebar-text);margin-top:.25rem;font-size:.88rem}html[data-theme=light] .profile-link,html[data-theme=light] .profile-link strong{color:var(--sidebar-text)!important}html[data-theme=light] .profile-link span{color:var(--sidebar-muted)!important}.social-links{justify-content:center;gap:.65rem;margin:1.3rem 0 1.7rem;display:flex}.social-links a{color:#fff;background:var(--sidebar-soft);border-radius:999px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-grid}.social-links a:hover{background:var(--accent)}.side-nav{gap:.45rem;margin-top:.7rem;display:grid}.side-nav a{min-height:44px;color:var(--sidebar-text);border-radius:.7rem;align-items:center;gap:.85rem;padding:.45rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.side-nav a:hover{color:#fff;background:#ffffff0f}.nav-icon{text-align:center;filter:grayscale();opacity:.9;width:1.5rem}.side-nav a:hover .nav-icon{filter:none;opacity:1}.sidebar-footer{margin-top:auto;padding-top:2rem}.sidebar-footer a{color:var(--sidebar-text);font-size:.9rem;text-decoration:none;display:inline-flex}.sidebar-footer a:hover{color:#fff}.sidebar-socials{justify-content:center;gap:.85rem;margin-top:1.4rem;margin-bottom:2rem;display:flex}.sidebar-socials a{color:#f8fafc;background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;text-decoration:none;transition:transform .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.sidebar-socials a:hover{color:#fff;background:#0ea5e9;transform:translateY(-3px);box-shadow:0 10px 25px #0ea5e947}.sidebar-socials svg{fill:currentColor;width:18px;height:18px}.home-main{background:#fff;min-height:100vh;margin-left:300px}.hero-section:after{content:"";pointer-events:none;background:linear-gradient(#040b141f,#040b142e);position:absolute;inset:0}.hero-content{z-index:2;max-width:800px;position:relative}.hero-content h1{color:#fff;letter-spacing:-.05em;text-shadow:0 18px 60px #00000047;margin:0;font-size:clamp(3.2rem,7vw,5.5rem);font-weight:800;line-height:1}.hero-role{color:#fffffff2;margin:1rem 0 0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.2}.hero-role span{color:#fff;border-bottom:3px solid var(--accent);padding-bottom:.15rem}.hero-summary{color:#ffffffdb;max-width:690px;margin:1.4rem 0 0;font-size:1.05rem;line-height:1.75}.content-section{max-width:1180px;margin:0 auto;padding:4.8rem clamp(1.3rem,6vw,7rem)}.alt-section{background:var(--soft);max-width:none}.alt-section>*{max-width:1180px;margin-left:auto;margin-right:auto}.section-heading{margin-bottom:2.1rem}.section-heading h2{color:var(--heading);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,2.35rem);font-weight:800;line-height:1;display:inline-block;position:relative}.section-heading h2:after{content:"";background:var(--accent);border-radius:999px;width:52px;height:3px;position:absolute;bottom:-.75rem;left:0}.section-heading p{color:var(--muted);max-width:820px;margin:1.45rem 0 0;line-height:1.75}.about-grid{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:2rem;display:grid}.profile-card{border:1px solid var(--line);background:#fff;border-radius:.35rem;padding:0;overflow:hidden}.profile-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.about-copy h3{color:var(--heading);margin:0 0 1rem;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.25}.about-copy p{color:#3d4f5d;margin:0 0 1rem;line-height:1.75}.info-list{color:#34495e;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.4rem;margin-top:1.35rem;display:grid}.info-list div:before{content:"✓";color:var(--accent);margin-right:.45rem;font-weight:900}.info-list strong{color:var(--heading)}.facts-grid,.project-grid{gap:1rem;display:grid}.facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fact-card,.project-card,.library-preview,.timeline-item,.contact-card{border:1px solid var(--line);background:#fff;border-radius:.55rem;box-shadow:0 12px 34px #040b140f}.fact-card{padding:1.25rem}.fact-card strong{color:var(--accent-dark);font-size:2.35rem;line-height:1;display:block}.fact-card span{color:var(--heading);margin-top:.75rem;font-weight:800;display:block}.fact-card small{color:var(--muted);margin-top:.45rem;line-height:1.45;display:block}.timeline{gap:1.2rem;display:grid;position:relative}.timeline:before{content:"";background:var(--line);width:2px;position:absolute;top:.4rem;bottom:.4rem;left:.45rem}.timeline-item{margin-left:2rem;padding:1.25rem 1.4rem;position:relative}.timeline-item:before{content:"";border:3px solid var(--accent);background:#fff;border-radius:999px;width:.85rem;height:.85rem;position:absolute;top:1.35rem;left:-2.1rem}.period{color:var(--heading);background:#eef7ff;border-radius:999px;padding:.3rem .6rem;font-size:.82rem;font-weight:800;display:inline-flex}.timeline-item h3,.project-card h3{color:var(--heading);margin:.85rem 0 .2rem}.timeline-item h4{color:var(--muted);margin:0;font-size:.95rem;font-style:italic;font-weight:650}.timeline-item p,.project-card p{color:#536878;line-height:1.65}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{color:inherit;padding:1.35rem;text-decoration:none;display:grid}.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px #040b141c}.tag-row,.skills-cloud{flex-wrap:wrap;gap:.55rem;display:flex}.tag-row span,.skills-cloud span{color:var(--heading);background:#e7f3ff;border:1px solid #cbe4fb;border-radius:999px;padding:.4rem .65rem;font-size:.82rem;font-weight:750}.skills-cloud span{background:#fff;box-shadow:0 10px 26px #040b140d}.split-section{grid-template-columns:1fr .9fr;align-items:center;gap:2rem;display:grid}.library-preview{gap:.9rem;padding:1.2rem;display:grid}.library-preview div{background:var(--soft);color:var(--heading);border-radius:.45rem;padding:1rem;font-weight:800}.btn{border:1px solid var(--line);min-height:2.65rem;color:var(--accent-dark);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 1rem;font-weight:800;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px #149ddd29}.contact-section{text-align:left}.contact-card{flex-wrap:wrap;gap:.8rem;width:fit-content;padding:1.25rem;display:flex}.mobile-nav-toggle{z-index:1200;background:var(--accent);cursor:pointer;border:0;border-radius:999px;width:48px;height:48px;display:none;position:fixed;top:1rem;right:1rem;box-shadow:0 16px 34px #040b1438}.mobile-nav-toggle span{background:#fff;border-radius:99px;width:22px;height:2px;margin:5px auto;display:block}.mobile-overlay{display:none}.media-grid,.image-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.media-frame,.image-card{border:1px solid var(--sl-color-gray-5);background:var(--sl-color-gray-6);border-radius:1rem;overflow:hidden}.media-frame iframe,.image-card img{aspect-ratio:16/9;object-fit:cover;border:0;width:100%;display:block}.image-card figcaption,.media-caption{color:var(--sl-color-gray-2);padding:.75rem;font-size:.85rem}.story-callout{border-left:4px solid var(--sl-color-accent);background:color-mix(in srgb, var(--sl-color-accent-low), transparent 45%);border-radius:.8rem;margin:1.5rem 0;padding:1rem 1.2rem}@media (width<=1199px){.portfolio-sidebar{transition:transform .28s;transform:translate(-100%)}.home-main{margin-left:0}.mobile-nav-toggle{display:block}.portfolio-home.sidebar-open .portfolio-sidebar{transform:translate(0)}.portfolio-home.sidebar-open .mobile-overlay{z-index:900;background:#040b1473;display:block;position:fixed;inset:0}}@media (width<=900px){.hero-section{min-height:88vh;padding:6rem 1.4rem 4rem}.content-section,.alt-section{padding:4rem 1.25rem}.about-grid,.split-section,.facts-grid,.project-grid,.info-list{grid-template-columns:1fr}.profile-card{max-width:330px}.contact-card{width:100%}}@media (width<=480px){.portfolio-sidebar{width:82vw}.sidebar-avatar{width:112px;height:112px}.hero-content h1{font-size:3rem}}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.btn-glass{color:#fff;backdrop-filter:blur(10px);background:#ffffff29;border-color:#ffffff5c}.page-hero{color:#fff;background:linear-gradient(90deg,#040b14e0,#040b148c,#149ddd2e),linear-gradient(135deg,#040b14,#173b6c 58%,#149ddd);align-items:end;min-height:42vh;padding:7rem clamp(1.3rem,6vw,7rem) 4rem;display:grid;position:relative}.compact-page-hero{min-height:36vh}.page-hero-inner{max-width:900px}.eyebrow{color:#74d1ff;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .75rem;font-size:.86rem;font-weight:900}.page-hero h1,.project-detail-hero h1{color:#fff;letter-spacing:-.06em;margin:0;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.95}.page-hero p,.project-detail-hero p{color:#ffffffdb;max-width:820px;font-size:1.08rem;line-height:1.75}.project-grid-2x{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-project-card{grid-template-rows:180px 1fr;padding:0;overflow:hidden}.rich-project-card>div:last-child{padding:1.35rem}.project-thumb{background:radial-gradient(circle at 25% 15%,#149ddd5c,#0000 35%),linear-gradient(135deg,#040b14,#173b6c);place-items:center;min-height:180px;display:grid}.project-thumb img{object-fit:cover;object-position:left center;background:linear-gradient(#020617 0 16%,#020617 86%,#111827 100%);width:100%;height:180px;display:block}.project-thumb[data-media=ai]{background:radial-gradient(circle at 30% 30%,#ffd23e73,#0000 28%),linear-gradient(135deg,#101318,#3f2b0b 62%,#e5a300)}.project-thumb[data-media=ai] img{background:linear-gradient(#332404 0,#020617 16% 86%,#e5a300 86% 100%)}.project-thumb[data-media=car]{background:radial-gradient(circle at 30% 30%,#ffd23e73,#0000 28%),linear-gradient(135deg,#101318,#3f2b0b 62%,#e5a300)}.project-thumb[data-media=car] img{background:linear-gradient(#332404 0,#020617 16% 86%,#e5a300 86% 100%)}.project-thumb[data-media=robotics]{background:radial-gradient(circle at 80% 25%,#ffffff40,#0000 26%),linear-gradient(135deg,#101820,#173b6c 55%,#14c4dd)}.project-thumb[data-media=control]{background:radial-gradient(circle,#ffffff52,#0000 18%),linear-gradient(135deg,#101820,#173b6c 55%,#14c4dd)}.project-thumb[data-media=control] img{background:linear-gradient(#0b2a4a 0,#020617 16% 86%,#149ddd 86% 100%)}.structure-grid,.story-grid,.contact-grid,.video-grid{gap:1rem;display:grid}.structure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.structure-card,.story-card,.contact-tile{color:inherit;border:1px solid var(--line);background:#fff;border-radius:.6rem;gap:.55rem;padding:1.25rem;text-decoration:none;display:grid;box-shadow:0 12px 34px #040b140f}.structure-card:hover,.story-card:hover,.contact-tile:hover{transform:translateY(-4px);box-shadow:0 20px 42px #040b141c}.structure-card strong,.story-card h2,.contact-tile strong{color:var(--heading)}.structure-card span,.story-card p,.contact-tile span{color:var(--muted);line-height:1.6}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-card span{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.story-card h2{margin:0}.longform{color:#34495e;max-width:920px;font-size:1.03rem;line-height:1.82}.longform .lead{color:#20394f;font-size:1.2rem;font-weight:600;line-height:1.75}.longform h2{color:var(--heading);letter-spacing:-.03em;margin-top:2.3rem}.project-detail-hero{color:#fff;align-items:end;min-height:55vh;padding:7rem clamp(1.3rem,6vw,7rem) 4.4rem;display:grid}.project-detail-hero>div{max-width:980px}.project-hero-ai{background:linear-gradient(90deg,#040b14e0,#040b1480,#149ddd1f),radial-gradient(circle at 80% 15%,#69ffd259,#0000 28%),linear-gradient(135deg,#040b14,#173b6c 58%,#149ddd)}.project-hero-car{background:linear-gradient(90deg,#040b14e0,#281c0a9e,#e5a30038),linear-gradient(135deg,#08090b,#3a280b 60%,#d99500)}.project-hero-robotics{background:linear-gradient(90deg,#040b14e0,#040b147a,#14c4dd26),linear-gradient(135deg,#060c14,#173b6c 55%,#14c4dd)}.project-hero-image{background:linear-gradient(90deg, #040b14e6, #040b148f, #040b1433), var(--project-hero-image), linear-gradient(135deg, #060c14, #173b6c 55%, #14c4dd);background-position:50%;background-size:cover}.project-hero-control{background:linear-gradient(90deg,#040b14e0,#07302294,#29b4732e),linear-gradient(135deg,#03140c,#0c3d2e 60%,#29b473)}.project-layout-grid{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:2rem;display:grid}.project-aside{background:var(--soft);border:1px solid var(--line);border-radius:.7rem;gap:.35rem;padding:1.2rem;display:grid;position:sticky;top:1rem}.project-aside strong{color:var(--heading);margin-top:.6rem}.project-aside strong:first-child{margin-top:0}.project-aside span{color:var(--muted);line-height:1.45}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-embed{border:1px solid var(--line);background:#fff;border-radius:.75rem;margin:1.6rem 0;overflow:hidden;box-shadow:0 12px 34px #040b140f}.video-embed iframe,.video-placeholder{aspect-ratio:16/9;color:#fff;background:linear-gradient(135deg,#040b14,#173b6c);border:0;place-items:center;width:100%;font-size:4rem;display:grid}.video-embed figcaption{gap:.25rem;padding:1rem;display:grid}.video-embed figcaption strong{color:var(--heading)}.video-embed figcaption span{color:var(--muted)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.compact-gallery{margin:1.4rem 0}.gallery-grid figure{border:1px solid var(--line);background:#fff;border-radius:.75rem;margin:0;overflow:hidden;box-shadow:0 12px 34px #040b140f}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.gallery-grid figcaption{color:var(--muted);gap:.2rem;padding:.9rem;display:grid}.gallery-grid figcaption strong{color:var(--heading)}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0;display:grid}.feature-list div{background:var(--soft);border:1px solid var(--line);border-radius:.7rem;gap:.35rem;padding:1.1rem;display:grid}.feature-list strong{color:var(--heading)}.feature-list span{color:var(--muted)}.robotnik-page{gap:clamp(2rem,4vw,3.5rem);display:grid}.project-intro-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:2rem;display:grid}.project-section{gap:1.2rem;display:grid}.compact-heading{margin-bottom:0}.compact-heading h2{margin:0}.section-kicker{color:var(--accent);text-transform:uppercase;font-size:.78rem;font-weight:900}.sicite-section,.project-highlight-section{background:var(--soft);border:1px solid var(--line);border-radius:.7rem;padding:1.4rem}.sicite-highlight-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;display:grid}.project-highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.sicite-highlight-grid article,.project-highlight-grid article{background:var(--surface);border:1px solid var(--line);border-radius:.65rem;align-content:start;gap:.65rem;padding:1rem;display:grid}.sicite-highlight-grid span{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:999px;place-items:center;font-weight:900;display:grid}.project-highlight-grid span{background:var(--accent-soft);width:3.2rem;min-width:3.2rem;height:3.2rem;color:var(--accent);text-align:center;border-radius:999px;place-items:center;font-weight:900;display:grid}.sicite-highlight-grid p,.project-highlight-grid p{color:var(--muted);margin:0;line-height:1.55}.inline-link{width:fit-content;color:var(--accent);font-weight:800;text-decoration:none}.inline-link:hover{text-decoration:underline}.robotnik-gallery .image-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.25rem}.robotnik-gallery .image-card img{aspect-ratio:4/3;object-fit:cover;object-position:left center;background:var(--soft)}html[data-theme=dark] .robotnik-gallery .image-card,html[data-theme=dark] .robotnik-gallery .image-card img{background:#020617}.pending-media{background:var(--soft)}.pending-media img{object-fit:contain;padding:1.25rem}.empty-media-note{color:var(--muted);background:var(--soft);border:1px dashed var(--line);border-radius:.7rem;margin:0;padding:1rem 1.1rem;line-height:1.6}html[data-theme=dark] .pending-media,html[data-theme=dark] .empty-media-note{background:#020617}.project-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.project-timeline article,.prototype-card{background:var(--soft);border:1px solid var(--line);border-radius:.7rem;box-shadow:0 12px 34px #040b140f}.project-timeline article{align-content:start;gap:.5rem;padding:1.1rem;display:grid}.project-timeline span{color:var(--accent-dark);text-transform:uppercase;font-size:.78rem;font-weight:900}.project-timeline h3,.prototype-card h3{color:var(--heading);margin:0}.project-timeline p,.prototype-card p,.prototype-card small{color:var(--muted)}.prototype-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.prototype-card{overflow:hidden}.prototype-card>div:last-child{gap:.7rem;padding:1.1rem;display:grid}.prototype-media img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.prototype-card small{line-height:1.55}.prototype-repo-link{margin-top:.1rem}.project-two-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.compact-skills{gap:.7rem;margin-top:.9rem}.compact-actions{width:fit-content;min-width:min(100%,280px)}.researchgate-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:min(100%,360px);margin-bottom:.85rem;padding:.85rem 1rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:inline-grid}.researchgate-card:hover,.researchgate-card:focus-visible{border-color:#00ccbb80;transform:translateY(-2px);box-shadow:0 14px 38px #00ccbb29}.researchgate-card strong,.researchgate-card small{margin:0;display:block}.researchgate-card strong{color:var(--heading);font-size:.98rem;line-height:1.25}.researchgate-card small{color:var(--muted);font-size:.88rem;line-height:1.35}.researchgate-icon{color:#071814;letter-spacing:0;background:#f2fffd;border:1px solid #00ccbb5c;border-radius:.45rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-family:Georgia,Times New Roman,serif;font-weight:700;line-height:1;display:inline-flex}.researchgate-icon span{font-size:1.16rem}.researchgate-icon sup{margin-left:.02rem;font-size:.52rem;line-height:1;display:inline-block;transform:translateY(-.42rem)}.development-card{gap:.65rem;max-width:680px;display:grid}.development-card h2,.development-card p{margin:0}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=900px){.project-grid-2x,.structure-grid,.story-grid,.video-grid,.gallery-grid,.feature-list,.project-layout-grid,.project-intro-grid,.project-timeline,.sicite-highlight-grid,.project-highlight-grid,.prototype-grid,.project-two-columns,.contact-grid{grid-template-columns:1fr}.project-aside{position:static}.page-hero,.project-detail-hero{min-height:32vh;padding:6rem 1.25rem 3rem}}html[data-theme=dark]{color-scheme:dark;--page-bg:#f5f8fc;--text-color:#e5e7eb;--sidebar-bg:#020811;--sidebar-text:#cbd5e1;--sidebar-muted:#94a3b8;--accent:#0ea5e9;--card-bg:#0f172a;--section-bg:#fff}html[data-theme=light]{color-scheme:light;--page-bg:#f6f8fb;--text-color:#0f172a;--sidebar-bg:#fff;--sidebar-text:#1e293b;--sidebar-muted:#334155;--accent:#0284c7;--card-bg:#fff;--section-bg:#fff}body{background:var(--page-bg)}.portfolio-sidebar,.sidebar,.aside-sidebar{background:var(--sidebar-bg)!important;color:var(--sidebar-text)!important}.sidebar-nav{flex-direction:column;gap:.4rem;margin-top:2rem;display:flex}.nav-link{color:var(--sidebar-text);border-radius:14px;align-items:center;gap:1rem;padding:.7rem 1.1rem;font-weight:650;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex}.nav-link:hover{color:var(--accent);background:#0ea5e91f;transform:translate(4px)}.nav-icon{width:20px;height:20px;color:var(--sidebar-muted);justify-content:center;align-items:center;display:inline-flex}.nav-icon svg{fill:currentColor;width:18px;height:18px}.sidebar-tools{gap:.8rem;margin-top:auto;padding:1.2rem 1rem 0;display:grid}.language-switch{justify-content:center;align-items:center;gap:.5rem;display:flex}.language-switch a{min-width:46px;height:38px;color:var(--sidebar-text);cursor:pointer;letter-spacing:.04em;background:#94a3b81f;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;padding:0 .85rem;font-size:.85rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.language-switch a:hover{color:var(--accent);background:#0ea5e924;border-color:#0ea5e973;transform:translateY(-2px)}.language-switch a.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 20px #0ea5e947}.language-picker{justify-content:center;gap:.65rem;display:flex;position:relative}.language-icon-button{width:42px;height:42px;color:var(--sidebar-text);cursor:pointer;background:#94a3b81f;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.language-icon-button span{font-size:1.25rem;line-height:1}.language-icon-button:hover,.language-icon-button.active{background:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px #0ea5e947}.language-menu{z-index:20;background:var(--card-bg,#111827);border:1px solid var(--card-border,#94a3b838);border-radius:.65rem;width:min(220px,100vw - 2rem);padding:.55rem;position:absolute;bottom:calc(100% + .7rem);left:50%;transform:translate(-50%);box-shadow:0 18px 45px #02061747}.language-menu a{color:var(--sidebar-text);border-radius:.45rem;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .85rem;text-decoration:none;display:flex}.language-menu a:hover{background:var(--accent-soft);color:var(--accent)}.language-menu strong,.language-menu span{color:inherit}.theme-toggle{width:100%;min-height:42px;color:var(--sidebar-text);cursor:pointer;background:0 0;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.65rem .9rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.theme-toggle:hover{color:var(--accent);background:#0ea5e924;border-color:#0ea5e973;transform:translateY(-2px)}.theme-toggle span:first-child{font-size:1rem;line-height:1}html[data-theme=dark]{color-scheme:dark;--page-bg:#020617;--section-bg:#0f172a;--section-alt-bg:#111827;--card-bg:#111827;--card-border:#94a3b82e;--text-main:#e5e7eb;--text-muted:#94a3b8;--title-color:#f8fafc;--accent:#0ea5e9;--accent-soft:#0ea5e924;--sidebar-bg:#020811;--sidebar-text:#cbd5e1;--sidebar-muted:#94a3b8;--hero-overlay:#02061794}html[data-theme=light]{color-scheme:light;--page-bg:#f6f8fb;--section-bg:#fff;--section-alt-bg:#eef3f9;--card-bg:#fff;--card-border:#0f172a1a;--text-main:#1e293b;--text-muted:#64748b;--title-color:#0f3a68;--accent:#0284c7;--accent-soft:#0284c71f;--sidebar-bg:#fff;--sidebar-text:#1e293b;--sidebar-muted:#334155;--hero-overlay:#0f172a40}body,main,.portfolio-main,.page-content,.site-main{background:var(--page-bg)!important;color:var(--text-main)!important}.content-section{background:var(--section-bg)!important;color:var(--text-main)!important}.alt-section{background:var(--section-alt-bg)!important}.section-heading h2,.content-section h1,.content-section h2,.content-section h3,.content-section h4{color:var(--title-color)!important}.section-heading p,.content-section p,.content-section li,.content-section span,.content-section small{color:var(--text-muted)}html[data-theme=dark] .project-body.longform,html[data-theme=dark] .project-body.longform p,html[data-theme=dark] .project-body.longform li{color:#b8c4d2}html[data-theme=dark] .project-body.longform .lead{color:#cbd7e2}.hero-section{color:#fff!important}.hero-section:before{background:var(--hero-overlay)!important}.hero-content h1,.hero-content p,.hero-role,.hero-summary{color:#fff!important}.hero-role span{color:#fff!important;border-bottom-color:var(--accent)!important}.project-card,.fact-card,.structure-card,.timeline-item,.contact-card,.sicite-section,.project-highlight-section,.sicite-highlight-grid article,.project-highlight-grid article,.project-timeline article,.prototype-card,.profile-card,.feature-list>div,.about-copy,.card{background:var(--card-bg)!important;color:var(--text-main)!important;border-color:var(--card-border)!important}.project-card h3,.fact-card strong,.structure-card strong,.project-timeline h3,.prototype-card h3,.project-highlight-grid span,.timeline-item h3,.feature-list strong,.about-copy h3{color:var(--title-color)!important}.project-card p,.structure-card span,.sicite-highlight-grid p,.project-highlight-grid p,.project-timeline p,.prototype-card p,.prototype-card small,.timeline-item p,.feature-list span,.about-copy p,.fact-card span,.fact-card small{color:var(--text-muted)!important}.skills-cloud span,.tech-badge,.tag{border:1px solid #0ea5e938;background:var(--accent-soft)!important;color:var(--accent)!important}a{color:var(--accent)}.btn{background:var(--card-bg)!important;color:var(--text-main)!important;border-color:var(--card-border)!important}.btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.btn-glass{color:#fff!important;background:#ffffff1f!important;border-color:#ffffff47!important}.portfolio-sidebar,.sidebar,.aside-sidebar{border-right:1px solid var(--card-border);background:var(--sidebar-bg)!important;color:var(--sidebar-text)!important}.sidebar h1,.sidebar h2,.sidebar h3,.portfolio-sidebar h1,.portfolio-sidebar h2,.portfolio-sidebar h3,.nav-link{color:var(--sidebar-text)!important}.nav-icon{color:var(--sidebar-muted)!important}html[data-theme=light] .nav-icon{color:#0f3a68!important}html[data-theme=light] .sidebar-socials a{color:#0f3a68;background:#0284c71f;border:1px solid #0284c742}html[data-theme=light] .sidebar-socials a:hover{background:var(--accent);border-color:var(--accent);color:#fff}html[data-theme=light] .theme-toggle span:first-child{color:#0f3a68}.nav-link:hover{background:var(--accent-soft)!important;color:var(--accent)!important}.nav-link:hover .nav-icon{color:var(--accent)!important}.site-toast{background:var(--card-bg,#111827);max-width:min(460px,100vw - 2rem);color:var(--text-main,#f8fafc);border:1px solid var(--card-border,#94a3b838);text-align:center;opacity:0;pointer-events:none;border-radius:999px;padding:.9rem 1.15rem;font-size:.92rem;font-weight:800;transition:opacity .22s,transform .22s;transform:translate(-50%)translateY(18px);box-shadow:0 18px 45px #02061761;z-index:99999!important;position:fixed!important;bottom:1.5rem!important;left:50%!important}.site-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.info-list{color:var(--text-main)!important}.info-list div{opacity:.95;color:var(--text-main)!important}.info-list strong{font-weight:850;color:var(--title-color)!important}.info-list div:before{opacity:1;text-shadow:0 0 12px #0ea5e959;color:var(--accent)!important}html[data-theme=dark] .info-list div{color:#cbd5e1!important}html[data-theme=dark] .info-list strong{color:#eaf2ff!important}html[data-theme=light] .info-list div{color:#334155!important}html[data-theme=light] .info-list strong{color:#0f3a68!important}.hero-section{color:#fff;background:linear-gradient(90deg, #020617e0, #0206178a, #0206172e), var(--hero-image,url(/images/hero-campus-placeholder.svg)) center / cover no-repeat;align-items:center;min-height:100vh;padding:6rem clamp(2rem,8vw,8rem);display:grid;position:relative;overflow:hidden}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.album-card{color:inherit;background:var(--card-bg,#fff);border:1px solid var(--card-border,var(--line));border-radius:.85rem;grid-template-rows:180px 1fr;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;overflow:hidden;box-shadow:0 14px 36px #040b1414}.album-card:hover{border-color:#0ea5e973;transform:translateY(-4px);box-shadow:0 22px 48px #040b1424}.album-cover{background:linear-gradient(135deg,#040b14,#173b6c);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.album-cover img{object-fit:cover;object-position:left center;background:#020617;width:100%;height:180px;min-height:0;display:block}.album-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#0206178c);position:absolute;inset:0}.album-cover span,.video-album-cover small{z-index:2;color:#fff;backdrop-filter:blur(10px);background:#020617b8;border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:0 .75rem;font-size:.82rem;font-weight:850;display:inline-flex;position:absolute;bottom:.9rem;right:.9rem}.album-card-content{gap:.75rem;padding:1.15rem;display:grid}.album-card-content strong{color:var(--title-color,var(--heading));font-size:1.18rem}.album-card-content p{color:var(--text-muted,var(--muted));margin:0;line-height:1.6}.media-detail-section{gap:1.4rem;display:grid}.media-actions{flex-wrap:wrap;gap:.75rem;display:flex}.gallery-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.gallery-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.gallery-detail-card{color:inherit;background:var(--card-bg,#fff);border:1px solid var(--card-border,var(--line));border-radius:.8rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;overflow:hidden;box-shadow:0 12px 34px #040b1412}.gallery-detail-card:hover{border-color:#0ea5e973;transform:translateY(-3px);box-shadow:0 18px 42px #040b141f}.gallery-detail-card img{aspect-ratio:4/3;object-fit:cover;background:var(--section-alt-bg,var(--soft));width:100%;display:block}.gallery-video-card iframe{aspect-ratio:16/9;background:#020617;border:0;width:100%;display:block}.gallery-detail-card>div{gap:.35rem;padding:.95rem;display:grid}.gallery-detail-card strong{color:var(--title-color,var(--heading))}.gallery-detail-card span,.gallery-detail-card small,.gallery-detail-card a{color:var(--text-muted,var(--muted));line-height:1.5}.gallery-detail-card a{width:fit-content;color:var(--accent,#149ddd);font-weight:800;text-decoration:none}.gallery-detail-card a:hover{color:var(--accent-dark,#0563bb)}.gallery-detail-card small{background:var(--accent-soft,#e7f3ff);width:fit-content;color:var(--accent,#149ddd);text-transform:uppercase;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:800}.video-album-card{min-height:100%}.video-album-cover{background:radial-gradient(circle at 30% 25%,#0ea5e952,#0000 34%),radial-gradient(circle at 75% 70%,#ffd23e3d,#0000 30%),linear-gradient(135deg,#040b14,#173b6c);place-items:center;min-height:210px;display:grid;position:relative;overflow:hidden}.video-album-cover:before{content:"";opacity:.45;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.video-album-cover>span{z-index:2;color:#fff;backdrop-filter:blur(10px);background:#ffffff29;border-radius:999px;place-items:center;width:4.4rem;height:4.4rem;font-size:2rem;display:grid;position:relative;box-shadow:0 18px 50px #02061752}.media-hub-callout{background:var(--section-alt-bg,var(--soft));border:1px solid var(--card-border,var(--line));border-radius:.85rem;padding:1.35rem}@media (width<=900px){.album-grid,.gallery-detail-grid,.gallery-video-grid{grid-template-columns:1fr}}
