@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-playfair:"Playfair Display","Playfair Display Fallback"}:root{--bg:#f3f4fb;--bg-card:rgba(255,255,255,0.72);--bg-card-solid:#ffffff;--bg-sidebar:rgba(255,255,255,0.55);--text:#171c2e;--text-muted:#5b6478;--accent:#6366f1;--accent-2:#a855f7;--accent-3:#ec4899;--border:rgba(99,102,241,0.16);--shadow:0 8px 32px rgba(80,70,230,0.10);--shadow-hover:0 16px 48px rgba(80,70,230,0.20);--glow:rgba(99,102,241,0.35);--orb-opacity:0.35}[data-theme=dark]{--bg:#0a0f1e;--bg-card:rgba(24,32,56,0.62);--bg-card-solid:#161f38;--bg-sidebar:rgba(15,22,42,0.62);--text:#e6eaf5;--text-muted:#8f9bb8;--accent:#818cf8;--accent-2:#c084fc;--accent-3:#f472b6;--border:rgba(129,140,248,0.18);--shadow:0 8px 32px rgba(0,0,0,0.35);--shadow-hover:0 16px 48px rgba(0,0,0,0.5);--glow:rgba(129,140,248,0.45);--orb-opacity:0.22}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-inter),system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.65;transition:background .4s ease,color .4s ease;overflow-x:hidden}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--accent-2));border-radius:99px}.orb{position:fixed;border-radius:50%;filter:blur(90px);opacity:var(--orb-opacity);pointer-events:none;z-index:0}.orb--1{width:480px;height:480px;top:-140px;left:-120px;background:radial-gradient(circle,#6366f1,transparent 70%);animation:drift1 22s ease-in-out infinite alternate}.orb--2{width:420px;height:420px;bottom:-120px;right:-100px;background:radial-gradient(circle,#a855f7,transparent 70%);animation:drift2 26s ease-in-out infinite alternate}.orb--3{width:340px;height:340px;top:40%;left:55%;background:radial-gradient(circle,#ec4899,transparent 70%);animation:drift3 30s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(90px,70px) scale(1.15)}}@keyframes drift2{to{transform:translate(-80px,-60px) scale(1.1)}}@keyframes drift3{to{transform:translate(-120px,60px) scale(.9)}}.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E")}.page{position:relative;z-index:2;display:grid;grid-template-columns:340px 1fr;min-height:100vh;max-width:1440px;margin:0 auto;grid-gap:1.5rem;gap:1.5rem;padding:1.5rem}.sidebar{background:var(--bg-sidebar);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--border);border-radius:24px;padding:2.25rem 1.75rem;box-shadow:var(--shadow);align-self:start;position:-webkit-sticky;position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto;animation:slideInLeft .7s cubic-bezier(.22,1,.36,1) both}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}.avatar-wrap{position:relative;width:150px;height:150px;margin:0 auto 1.25rem}.avatar-wrap:before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),var(--accent-2),var(--accent-3),var(--accent));animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.avatar{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--bg-card-solid);z-index:1}.toggles{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.25rem}.toggle{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;font-size:.78rem;font-family:inherit;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toggle:hover{border-color:var(--accent);box-shadow:0 0 16px var(--glow);transform:translateY(-1px)}.name{font-family:var(--font-playfair),Georgia,serif;font-size:1.55rem;font-weight:700;margin:.5rem 0 .35rem;letter-spacing:.01em}.name,.role{text-align:center}.role{font-weight:600;font-size:.92rem;margin:.25rem 0;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.role--small{color:var(--text-muted);-webkit-text-fill-color:var(--text-muted);background:none;font-weight:400;font-size:.82rem}.sidebar-heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin:1.75rem 0 .6rem;display:flex;align-items:center;gap:.6rem}.sidebar-heading:after{content:"";flex:1 1;height:1px;background:linear-gradient(to right,var(--border),transparent)}.contact-list,.links-list{list-style:none;padding:0;margin:0;font-size:.87rem}.contact-list li,.links-list li{margin-bottom:.45rem}.contact-list span{color:var(--text-muted)}.links-list a{display:inline-block;transition:transform .2s ease}.links-list a:hover{transform:translateX(4px)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-2)}.badges{display:flex;flex-wrap:wrap;gap:.45rem}.badge{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;font-size:.74rem;transition:all .25s ease}.badge:hover{border-color:var(--accent);box-shadow:0 0 14px var(--glow);transform:translateY(-2px)}.visits{margin-top:1.75rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.content{min-width:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .15s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:.75rem;background:var(--bg-sidebar);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;top:1.5rem;z-index:10}.nav-link{background:none;border:1px solid transparent;color:var(--text);border-radius:999px;padding:.5rem 1.05rem;font-size:.85rem;font-family:inherit;font-weight:500;cursor:pointer;transition:all .25s ease}.nav-link:hover{border-color:var(--accent);box-shadow:0 0 14px var(--glow)}.nav-link.is-active{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 20px var(--glow)}.section{animation:sectionIn .5s cubic-bezier(.22,1,.36,1) both}@keyframes sectionIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.section-title{font-family:var(--font-playfair),Georgia,serif;font-size:2.1rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(120deg,var(--accent),var(--accent-2),var(--accent-3));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.lead{font-size:1.05rem;color:var(--text-muted);margin-bottom:1.75rem;max-width:68ch}.card{position:relative;background:var(--bg-card);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--border);border-radius:18px;padding:1.5rem 1.75rem;margin-bottom:1.25rem;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease;overflow:hidden;animation:sectionIn .5s cubic-bezier(.22,1,.36,1) both}.card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(var(--accent),var(--accent-2));opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--accent)}.card:hover:before{opacity:1}.card-title{margin:0 0 .3rem;font-size:1.12rem;font-weight:650}.card-meta{color:var(--text-muted);font-size:.85rem;margin:.15rem 0}.card-period{display:inline-block;margin-top:.3rem;padding:.15rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);font-size:.78rem;font-weight:600;color:var(--accent)}.card-list{margin:.7rem 0 0;padding-left:1.2rem;font-size:.93rem}.card-list li{margin-bottom:.4rem}.card-list li::marker{color:var(--accent)}.card-link{display:inline-block;margin-top:.7rem;font-size:.85rem;font-weight:600;transition:transform .2s ease}.card-link:hover{transform:translateX(4px)}.apps-category{margin:2rem 0 1rem;font-family:var(--font-playfair),Georgia,serif;font-size:1.25rem;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));grid-gap:1.1rem;gap:1.1rem}.app-card{position:relative;background:var(--bg-card);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--border);border-radius:18px;padding:1.2rem 1.35rem;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease;animation:sectionIn .5s cubic-bezier(.22,1,.36,1) both}.app-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:var(--shadow-hover);border-color:var(--accent)}.app-card h4{margin:0 0 .25rem;font-size:1rem}.app-text{font-size:.85rem;flex:1 1;margin:.45rem 0;color:var(--text-muted)}.contact-form{display:flex;flex-direction:column;gap:.85rem;max-width:520px}.contact-form input,.contact-form textarea{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem;color:var(--text);font-family:inherit;font-size:.93rem;transition:border-color .25s ease,box-shadow .25s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.contact-form button{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border:none;border-radius:12px;padding:.8rem 1rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 20px var(--glow);transition:transform .2s ease,box-shadow .2s ease}.contact-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px var(--glow)}.contact-form button:disabled{opacity:.6;cursor:default}.form-status.ok{color:#22c55e}.form-status.err{color:#ef4444}.admin-page{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:3rem 1.5rem}.admin-page h1{font-family:var(--font-playfair),Georgia,serif;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.msg-body{white-space:pre-wrap;margin:.5rem 0 0}@media (max-width:940px){.page{grid-template-columns:1fr;padding:1rem;gap:1rem}.sidebar{max-height:none}.nav,.sidebar{position:static}.section-title{font-size:1.7rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}