:root{--bg: #faf9f6;--bg-secondary: #f0eee9;--fg: #1c1917;--muted: #57524c;--border: #3f3a35;--border-subtle: rgba(28, 25, 23, .15);--accent: #ea580c;--radius: 0px;--serif-font: "Sentient", Georgia, serif;--mono-font: "JetBrains Mono", monospace;--sans-font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;color-scheme:light dark}:root.theme-dark{--bg: #171513;--bg-secondary: #1f1c19;--fg: #ece7df;--muted: #a8a198;--border: #4a453f;--border-subtle: rgba(236, 231, 223, .12);--accent: #1fb0ff}*{box-sizing:border-box;margin:0;padding:0;border-radius:var(--radius)!important}body{background-color:var(--bg);color:var(--fg);font-family:var(--mono-font);font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .2s ease,color .2s ease;padding:0;margin:0}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:.03;pointer-events:none;z-index:9999;background-image:radial-gradient(var(--fg) 1px,transparent 1px);background-size:16px 16px}:root.theme-dark body:before{opacity:.05}.shell{max-width:1200px;margin:0 auto;padding:0;border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:100vh;position:relative;z-index:1}@media(max-width:1200px){.shell{border-left:none;border-right:none}}.meander-divider{height:1px;background-color:var(--border);width:100%}header.main-header{border-bottom:1px solid var(--border);padding:2.5rem}.header-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-family:var(--mono-font);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-subtle);padding-bottom:1rem;margin-bottom:2rem}.header-kicker{font-weight:700;color:var(--accent)}.greek-tag-badge{font-family:var(--mono-font);font-size:11px;color:var(--fg);border:1px solid var(--border);padding:.2rem .6rem;text-transform:uppercase}h1{font-family:var(--serif-font);font-size:clamp(2rem,5.5vw,4.5rem);font-weight:300;line-height:.95;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:1.25rem;word-break:normal;overflow-wrap:break-word}h1 a{color:var(--fg);text-decoration:none;border:none!important}.header-role{font-family:var(--mono-font);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg);margin-bottom:1rem}p.tagline{font-family:var(--mono-font);font-size:13px;color:var(--muted);max-width:850px}.nav-bar{display:flex;align-items:stretch;border-bottom:1px solid var(--border);background-color:var(--bg);overflow-x:auto}.nav-links{display:flex;flex:1;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-btn{background-color:transparent;border:none;border-right:1px solid var(--border);font-family:var(--mono-font);font-size:12px;font-weight:700;color:var(--fg);cursor:pointer;padding:1.15rem 1.75rem;text-transform:uppercase;transition:background-color .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.nav-btn:hover,.nav-btn.active{background-color:var(--fg);color:var(--bg)}.nav-cta-btn{border-left:1px solid var(--border);border-right:none!important;text-decoration:none;color:var(--accent);white-space:nowrap;letter-spacing:.04em;padding:1.15rem 1.75rem;font-family:var(--mono-font);font-size:12px;font-weight:700;display:inline-flex;align-items:center}.nav-cta-btn:hover{background-color:var(--accent);color:#fff}.theme-toggle-btn{background-color:transparent;border:none;border-left:1px solid var(--border);color:var(--fg);font-size:1rem;width:54px;min-width:54px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0;transition:background-color .15s ease,color .15s ease}.theme-toggle-btn:hover{background-color:var(--fg);color:var(--bg)}@media(max-width:768px){.nav-bar{flex-wrap:wrap}.nav-links{flex:1 1 100%;flex-wrap:wrap;overflow-x:visible}.nav-btn{flex:1 1 auto;justify-content:center;padding:.85rem 1.15rem;border-bottom:1px solid var(--border)}.nav-btn:last-child{border-right:none}.nav-cta-btn{border-left:none;border-right:none!important;flex:1;padding:.85rem 1.15rem}.theme-toggle-btn{border-left:1px solid var(--border);width:54px;min-width:54px;height:auto}}h2{font-family:var(--serif-font);font-size:clamp(2rem,5vw,4.5rem);font-weight:300;line-height:1;letter-spacing:-.03em;text-transform:uppercase;color:var(--fg);padding:2.5rem 2.5rem 1.25rem}h3{font-family:var(--mono-font);font-size:16px;font-weight:700;text-transform:uppercase;color:var(--fg);margin-bottom:.5rem}.section-block{border-bottom:1px solid var(--border)}.brutalist-grid{display:grid;grid-template-columns:1fr}.grid-cell{padding:2.5rem;border-bottom:1px solid var(--border-subtle);transition:background-color .15s ease,color .15s ease}.grid-cell:last-child{border-bottom:none}.split-grid-2{display:grid;grid-template-columns:1fr}@media(min-width:768px){.split-grid-2{grid-template-columns:1.5fr 1fr}.split-grid-2>div:first-child{border-right:1px solid var(--border)}}@media(max-width:767px){.career-grid{display:flex;flex-direction:column}.career-side{display:contents}.career-side>*{order:1;background-color:var(--bg-secondary)}.career-work{order:2}.career-side>.career-education{order:3}.career-side .skills-cat-item{padding:.55rem .8rem;font-size:12px}}.split-grid-3{display:grid;grid-template-columns:1fr}@media(min-width:768px){.split-grid-3{grid-template-columns:repeat(3,1fr)}.split-grid-3>div:not(:last-child){border-right:1px solid var(--border-subtle)}}.brutalist-table{width:100%;border-collapse:collapse}.brutalist-table th,.brutalist-table td{padding:1.25rem;border-bottom:1px solid var(--border-subtle);text-align:left}.brutalist-table tr:hover td{background-color:var(--fg);color:var(--bg)}a{color:var(--fg);text-decoration:underline;font-weight:700;transition:background-color .15s ease,color .15s ease}a:hover{background-color:var(--fg);color:var(--bg);text-decoration:none}.raw-code-block{font-family:var(--mono-font);font-size:11px;background-color:var(--bg-secondary);color:var(--muted);border:1px solid var(--border-subtle);padding:1.5rem;overflow-x:auto;white-space:pre;margin:1.5rem 0}.raw-code-title{font-family:var(--mono-font);font-size:10px;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.ascii-header{font-family:var(--mono-font);font-size:9px;line-height:1.1;color:var(--muted);white-space:pre;overflow-x:auto;padding:1.5rem 2.5rem;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-secondary)}.experience-item{border-bottom:1px solid var(--border-subtle);padding:2.5rem;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.experience-item:last-child{border-bottom:none}.experience-item:hover,.experience-item-highlighted{background-color:var(--bg-secondary)}.experience-item-dimmed{opacity:.4}.experience-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.experience-role{font-size:16px;font-weight:700;text-transform:uppercase}.experience-company{color:var(--muted);font-weight:300;text-transform:none}.experience-period{font-weight:700;color:var(--accent)}.formatted-text p+p,.formatted-text p+ul,.formatted-text ul+p{margin-top:1rem}.formatted-text ul{list-style:none}.formatted-text li{position:relative;padding-left:1.25rem}.formatted-text li+li{margin-top:.5rem}.formatted-text li:before{content:"◆";position:absolute;left:0;font-size:.7em;line-height:2.4;color:var(--accent)}.experience-desc{color:var(--muted);margin-bottom:1.5rem;font-size:12px}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{font-family:var(--mono-font);font-size:11px;color:var(--muted);border:1px solid var(--border-subtle);padding:.25rem .5rem}.skills-card-category{padding:2rem;border-bottom:1px solid var(--border-subtle)}.skills-cat-title{font-size:14px;font-weight:700;margin-bottom:1rem;text-transform:uppercase;color:var(--accent)}.skills-cat-items{display:flex;flex-wrap:wrap;gap:.5rem}.skills-cat-item{position:relative;font-family:inherit;font-size:11px;cursor:pointer;border:1px solid var(--border);padding:.3rem .6rem;background-color:var(--bg-secondary)}.skills-cat-item:disabled{cursor:default}.skills-cat-item[aria-pressed=true]:after{content:"✓";position:absolute;top:-7px;right:-7px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;line-height:1;color:var(--bg);background-color:var(--fg)}.distorted-container{position:relative;border:1px solid var(--border);background-color:var(--bg-secondary);display:flex;overflow:hidden}.distorted-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(var(--fg) 1px,transparent 1px);background-size:4px 4px;opacity:.25;mix-blend-mode:multiply;z-index:2}:root.theme-dark .distorted-container:after{opacity:.45;mix-blend-mode:overlay}.distorted-img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.15);transition:filter .2s ease,transform .4s ease}.distorted-container:hover .distorted-img{filter:grayscale(0%) contrast(1.1);transform:scale(1.02)}:root.theme-dark .distorted-img{filter:grayscale(100%) contrast(1.05) brightness(.7)}:root.theme-dark .distorted-container:hover .distorted-img{filter:grayscale(0%) brightness(.85)}:root.theme-dark .carousel-card-item,:root.theme-dark .profile-img-frame,:root.theme-dark .experience-item .profile-img{filter:brightness(.85)}:root.theme-dark .tech-tag,:root.theme-dark .skills-cat-item{filter:brightness(1.3)}.distorted-banner{width:100%;height:320px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0}.image-slider-container{display:flex;overflow-x:auto;gap:1.5rem;padding:1.5rem 2.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.image-slider-container::-webkit-scrollbar{height:6px}.image-slider-container::-webkit-scrollbar-track{background:var(--bg-secondary)}.image-slider-container::-webkit-scrollbar-thumb{background:var(--border-subtle)}.image-slider-item{height:280px;flex:0 0 350px;border:1px solid var(--border);scroll-snap-align:start;overflow:hidden}.image-slider-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.image-slider-item:hover img{transform:scale(1.02)}.profile-img-frame{width:130px;height:130px;flex-shrink:0;position:relative;overflow:hidden}.profile-img-hover{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.profile-img-frame:hover .profile-img-hover{opacity:1}.admin-card{padding:2.5rem}.admin-unauthorized-card{border:1px solid var(--accent);padding:1.5rem;background-color:var(--bg-secondary);color:var(--accent);font-weight:700;margin-bottom:2rem}.admin-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:2rem}.admin-tab-btn{background:transparent;border:none;border-right:1px solid var(--border-subtle);color:var(--muted);font-family:var(--mono-font);font-size:11px;font-weight:700;cursor:pointer;padding:1rem 1.5rem;text-transform:uppercase}.admin-tab-btn.active{background-color:var(--fg);color:var(--bg)}.form-group{margin-bottom:1.5rem}.form-group label{font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:.5rem;display:block}.input-text{width:100%;background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--fg);font-family:var(--mono-font);padding:.75rem 1rem;font-size:12px}.input-text:focus{outline:none;background-color:var(--bg);box-shadow:0 0 0 2px var(--accent)}.btn-primary{background-color:var(--fg);color:var(--bg);border:none;padding:1rem 2rem;font-family:var(--mono-font);font-weight:700;font-size:12px;cursor:pointer;text-transform:uppercase;transition:background-color .15s ease,color .15s ease}.btn-primary:hover{background-color:var(--accent);color:#fff}.btn-secondary{background-color:transparent;color:var(--fg);border:1px solid var(--border);padding:1rem 2rem;font-family:var(--mono-font);font-weight:700;font-size:12px;cursor:pointer;text-transform:uppercase}.btn-secondary:hover{background-color:var(--fg);color:var(--bg)}.btn-danger{background-color:transparent;color:var(--accent);border:1px solid var(--accent);padding:.5rem 1rem;font-family:var(--mono-font);font-size:11px;cursor:pointer}.btn-danger:hover{background-color:var(--accent);color:#fff}.list-item-admin{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-subtle)}footer.main-footer{border-top:1px solid var(--border);padding:2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;font-size:11px;color:var(--muted)}.profile-img{width:100%;height:100%;object-fit:cover}.blog-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.blog-item{padding:2.5rem;border-bottom:1px solid var(--border)}.blog-item:last-child{border-bottom:none}.blog-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.blog-title{font-family:var(--serif-font);font-size:1.5rem;font-weight:300;margin:0;text-transform:uppercase}.blog-meta{display:flex;gap:1rem;font-family:var(--mono-font);font-size:11px}.blog-date{color:var(--muted)}.blog-badge{border:1px solid var(--accent);color:var(--accent);padding:.1rem .4rem;text-transform:uppercase}.blog-excerpt{color:var(--fg);font-size:13px;line-height:1.6}.custom-carousel::-webkit-scrollbar{display:none}.cv-contact-bar{padding:1.75rem 2.5rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;border-bottom:1px solid var(--border)}.cv-contact-badge{text-decoration:none;border:1px solid var(--border);padding:.5rem .9rem;font-size:11px;font-family:var(--mono-font);color:var(--fg);display:inline-flex;align-items:center;gap:.4rem;background-color:transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease;cursor:pointer}.cv-contact-badge:hover{background-color:var(--fg);color:var(--bg)}.cv-contact-badge.highlight{border-color:var(--accent);color:var(--accent);font-weight:700}.cv-contact-badge.highlight:hover{background-color:var(--accent);color:#fff}.photo-manager{margin:1.25rem 0;padding:1.25rem;border:1px solid var(--border);background-color:var(--bg)}.photo-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.photo-manager-label{font-family:var(--mono-font);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent)}.photo-manager-count{font-family:var(--mono-font);font-size:11px;color:var(--muted)}.photo-grid-preview{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;min-height:96px;padding:.75rem;background-color:var(--bg-secondary);border:1px dashed var(--border)}.photo-card{position:relative;width:88px;height:88px;border:1px solid var(--border);background-color:#000;overflow:hidden;flex-shrink:0}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-card-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px;z-index:2}.photo-card-btn{background:#000000bf;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border-radius:2px;transition:background-color .15s ease}.photo-card-btn:hover{background:var(--accent);color:#fff}.photo-card-btn.delete-btn:hover{background:#e74c3c}.photo-card-index{position:absolute;bottom:2px;left:2px;background:#000000bf;color:#fff;font-family:var(--mono-font);font-size:9px;padding:1px 4px;border-radius:2px;z-index:2}.photo-manager-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.photo-preset-dropdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.75rem;padding:.75rem;border:1px solid var(--border);background:var(--bg-secondary);max-height:220px;overflow-y:auto}.photo-preset-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--border-subtle);background:var(--bg);cursor:pointer;font-size:11px;text-align:left;color:var(--fg);font-family:var(--mono-font);transition:border-color .15s ease,background-color .15s ease}.photo-preset-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.photo-preset-thumb{width:28px;height:28px;object-fit:cover;flex-shrink:0}.lightbox-overlay{position:fixed;inset:0;z-index:10000;background:#080808f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem 2rem;box-sizing:border-box;animation:lightboxFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-header{display:flex;justify-content:space-between;align-items:center;width:100%;color:#f5f5f5;font-family:var(--mono-font);font-size:12px;z-index:10002;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.75rem}.lightbox-title-badge{color:#ff7800;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lightbox-actions{display:flex;align-items:center;gap:.75rem}.lightbox-action-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.35rem .8rem;font-family:var(--mono-font);font-size:11px;cursor:pointer;border-radius:4px;transition:all .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.lightbox-action-btn:hover{background:#ffffff2e;border-color:#fff6;transform:translateY(-1px)}.lightbox-close-btn{background:#e74c3c40;border-color:#e74c3c99;color:#ff7675}.lightbox-close-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;width:100%;overflow:hidden;padding:1rem 0}.lightbox-image-wrapper{max-width:90vw;max-height:76vh;display:flex;align-items:center;justify-content:center;position:relative}.lightbox-main-img{max-width:90vw;max-height:76vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 25px 80px #000000e6;border:1px solid rgba(255,255,255,.18);-webkit-user-select:none;user-select:none;transition:transform .2s ease}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0f0f0fbf;border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;border-radius:50%;font-size:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10003;transition:all .2s ease;-webkit-user-select:none;user-select:none}.lightbox-nav-btn:hover{background:color-mix(in srgb,var(--accent) 85%,transparent);border-color:#ff7800;transform:translateY(-50%) scale(1.1)}.lightbox-nav-prev{left:1.5rem}.lightbox-nav-next{right:1.5rem}.lightbox-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:10002}.lightbox-thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;max-width:100%;padding:4px;scrollbar-width:none}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb-item{height:52px;width:52px;border-radius:4px;border:2px solid transparent;overflow:hidden;background:#111;padding:0;cursor:pointer;opacity:.5;transition:all .15s ease;flex-shrink:0}.lightbox-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}.lightbox-thumb-item:hover{opacity:.85;border-color:#fff6}.lightbox-thumb-item.active{opacity:1;border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 50%,transparent)}.carousel-zoom-chip{position:absolute;bottom:8px;right:8px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-family:var(--mono-font);font-size:10px;padding:3px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.25);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:3}.carousel-card-item:hover .carousel-zoom-chip{opacity:1;transform:translateY(-2px)}
