@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:wght@400;600;700&display=swap);:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-info:#3b82f6;--color-background:#fff;--color-surface:#f8fafc;--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-600);--color-text-tertiary:var(--color-neutral-500);--color-text-inverse:#fff;--color-border-light:var(--color-neutral-200);--color-border-medium:var(--color-neutral-300);--color-border-strong:var(--color-neutral-400);--font-family-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-serif:"Playfair Display",Georgia,"Times New Roman",serif;--font-family-mono:"SF Mono",Monaco,"Consolas","Liberation Mono","Courier New",monospace;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-size-7xl:4.5rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--grid-columns:12;--grid-gutter:var(--space-6);--grid-margin:var(--space-4);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--radius-sm:0.125rem;--radius-base:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-background);color:#0f172a;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family-sans);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-normal);margin:0}h1,h2,h3,h4,h5,h6{color:#0f172a;font-weight:var(--font-weight-semibold);line-height:1.25;line-height:var(--line-height-tight);margin:0}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-base{font-size:1rem}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem;font-size:var(--font-size-3xl)}.text-4xl{font-size:2.25rem;font-size:var(--font-size-4xl)}.text-5xl{font-size:3rem;font-size:var(--font-size-5xl)}.text-6xl{font-size:3.75rem;font-size:var(--font-size-6xl)}.font-light{font-weight:300;font-weight:var(--font-weight-light)}.font-normal{font-weight:400;font-weight:var(--font-weight-normal)}.font-medium{font-weight:500}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700}.leading-tight{line-height:1.25;line-height:var(--line-height-tight)}.leading-normal{line-height:1.5;line-height:var(--line-height-normal)}.leading-relaxed{line-height:1.75;line-height:var(--line-height-relaxed)}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-left:var(--grid-margin);padding-right:1rem;padding-right:var(--grid-margin);width:100%}@media (min-width:640px){.container{max-width:640px;max-width:var(--container-sm);padding-left:1.5rem;padding-left:var(--grid-gutter);padding-right:1.5rem;padding-right:var(--grid-gutter)}}@media (min-width:768px){.container{max-width:768px;max-width:var(--container-md)}}@media (min-width:1024px){.container{max-width:1024px;max-width:var(--container-lg)}}@media (min-width:1280px){.container{max-width:1280px;max-width:var(--container-xl)}}.grid{grid-gap:1.5rem;grid-gap:var(--grid-gutter);display:grid;gap:1.5rem;gap:var(--grid-gutter);grid-template-columns:repeat(12,1fr)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}@media (min-width:640px){.sm\:col-1{grid-column:span 1}.sm\:col-2{grid-column:span 2}.sm\:col-3{grid-column:span 3}.sm\:col-4{grid-column:span 4}.sm\:col-5{grid-column:span 5}.sm\:col-6{grid-column:span 6}.sm\:col-7{grid-column:span 7}.sm\:col-8{grid-column:span 8}.sm\:col-9{grid-column:span 9}.sm\:col-10{grid-column:span 10}.sm\:col-11{grid-column:span 11}.sm\:col-12{grid-column:span 12}}@media (min-width:768px){.md\:col-1{grid-column:span 1}.md\:col-2{grid-column:span 2}.md\:col-3{grid-column:span 3}.md\:col-4{grid-column:span 4}.md\:col-5{grid-column:span 5}.md\:col-6{grid-column:span 6}.md\:col-7{grid-column:span 7}.md\:col-8{grid-column:span 8}.md\:col-9{grid-column:span 9}.md\:col-10{grid-column:span 10}.md\:col-11{grid-column:span 11}.md\:col-12{grid-column:span 12}}@media (min-width:1024px){.lg\:col-1{grid-column:span 1}.lg\:col-2{grid-column:span 2}.lg\:col-3{grid-column:span 3}.lg\:col-4{grid-column:span 4}.lg\:col-5{grid-column:span 5}.lg\:col-6{grid-column:span 6}.lg\:col-7{grid-column:span 7}.lg\:col-8{grid-column:span 8}.lg\:col-9{grid-column:span 9}.lg\:col-10{grid-column:span 10}.lg\:col-11{grid-column:span 11}.lg\:col-12{grid-column:span 12}}@media (min-width:1280px){.xl\:col-1{grid-column:span 1}.xl\:col-2{grid-column:span 2}.xl\:col-3{grid-column:span 3}.xl\:col-4{grid-column:span 4}.xl\:col-5{grid-column:span 5}.xl\:col-6{grid-column:span 6}.xl\:col-7{grid-column:span 7}.xl\:col-8{grid-column:span 8}.xl\:col-9{grid-column:span 9}.xl\:col-10{grid-column:span 10}.xl\:col-11{grid-column:span 11}.xl\:col-12{grid-column:span 12}}.btn{border:1px solid #0000;border-radius:.375rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-2);line-height:1.25;line-height:var(--line-height-tight);padding:var(--space-3) var(--space-6);text-decoration:none;transition:all .2s ease-in-out}.btn-primary{background-color:#2563eb;background-color:var(--color-primary-600);color:var(--color-text-inverse)}.btn-primary:hover{background-color:#1d4ed8;background-color:var(--color-primary-700)}.btn-secondary{background-color:#f1f5f9;background-color:var(--color-neutral-100);border-color:#cbd5e1;border-color:var(--color-border-medium);color:#0f172a;color:var(--color-text-primary)}.btn-secondary:hover{background-color:#e2e8f0;background-color:var(--color-neutral-200)}.btn-lg{font-size:1.125rem;font-size:var(--font-size-lg);padding:1rem 2rem;padding:var(--space-4) var(--space-8)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app{display:flex;flex-direction:column;max-width:100%;min-height:100vh;overflow-x:hidden;width:100%}.main-content{flex:1 1;width:100%}main{flex:1 1}footer{margin-top:auto}.back-to-top{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:var(--color-accent);border:none;border-radius:50%;bottom:8rem;box-shadow:0 4px 16px #cfa58a4d;color:#fff;cursor:pointer;display:flex;font-size:0;height:50px;justify-content:center;position:fixed;right:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px;z-index:1000}.back-to-top:hover{background-color:var(--color-accent-hover);box-shadow:0 8px 24px #cfa58a66;transform:translateY(-4px)}.back-to-top:active{box-shadow:0 2px 8px #00000026;transform:translateY(0)}.back-to-top svg{transition:transform .2s ease}.back-to-top:hover svg{transform:translateY(-1px)}@media (max-width:768px){.back-to-top{bottom:7rem;height:45px;right:1.5rem;width:45px}}@media (max-width:480px){.back-to-top{bottom:6rem;height:40px;right:1rem;width:40px}.back-to-top svg{height:20px;width:20px}}.back-to-top:focus{outline:2px solid var(--color-accent);outline-offset:2px}.back-to-top{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast:high){.back-to-top{background-color:#fff;background-color:var(--color-surface,#fff);border:2px solid;color:#000;color:var(--color-text-primary,#000)}}@media (prefers-reduced-motion:reduce){.back-to-top{animation:none;transition:none}.back-to-top:hover{transform:none}.back-to-top svg{transition:none}.back-to-top:hover svg{transform:none}}.footer{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(to bottom,var(--color-surface-elevated),var(--color-surface));border-top:1px solid var(--color-border-light);margin-top:4rem;padding:3rem 0 2rem;position:relative;width:100%}.footer-content{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:var(--container-xl);padding:0 2rem}.footer-left{display:flex;flex-direction:column;gap:.25rem;justify-self:start}.footer-name{color:var(--color-text-primary);font-family:Playfair Display,serif;font-size:1rem;font-weight:600;letter-spacing:.3px;margin:0}.footer-tagline{color:var(--color-text-secondary);font-size:.75rem;font-weight:400;letter-spacing:.5px;margin:0;opacity:.8}.footer-center{display:flex;flex-direction:column;gap:.25rem;justify-self:center;text-align:center}.footer-copyright{font-size:.813rem;letter-spacing:.3px;opacity:.9}.footer-built,.footer-copyright{color:var(--color-text-secondary);font-weight:400;margin:0}.footer-built{font-size:.688rem;letter-spacing:.4px;opacity:.6}.footer-right{display:flex;gap:.75rem;justify-self:end}.footer-social-link{align-items:center;background-color:initial;border-radius:var(--radius-lg);display:flex;height:36px;justify-content:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:36px}.footer-social-link:hover{background-color:var(--color-muted);border-bottom:none!important;text-decoration:none!important;transform:translateY(-3px) scale(1.05)}.footer-social-icon{filter:grayscale(100%);height:18px;object-fit:contain;opacity:.7;transition:all .3s cubic-bezier(.4,0,.2,1);width:18px}.footer-social-link:hover .footer-social-icon{filter:grayscale(0);opacity:1}body[data-theme=dark] .footer-social-icon{filter:grayscale(100%) invert(1);opacity:.8}body[data-theme=dark] .footer-social-link:hover .footer-social-icon{filter:grayscale(0) invert(1);opacity:1}@media (max-width:1024px){.footer-content{gap:1.5rem;padding:0 1.5rem}.footer-name{font-size:.938rem}.footer-tagline{font-size:.688rem}}@media (max-width:768px){.footer{margin-top:3rem;padding:2rem 0 1.5rem}.footer-content{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem;text-align:center}.footer-center,.footer-left,.footer-right{justify-self:center}.footer-left{align-items:center}.footer-right{gap:1rem}.footer-social-link{height:40px;width:40px}.footer-social-icon{height:20px;width:20px}}@media (max-width:480px){.footer{padding:1.5rem 0 1rem}.footer-content{gap:1rem;padding:0 .75rem}.footer-name{font-size:.875rem}.footer-tagline{font-size:.625rem}.footer-copyright{font-size:.75rem}.footer-built{font-size:.625rem}}@media (prefers-color-scheme:dark){.footer{background:linear-gradient(to bottom,var(--color-surface),var(--color-bg))}}.admin-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10002}.admin-modal-content{animation:slideIn .3s ease-out;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 20px 60px #0000004d;max-width:400px;overflow:hidden;padding:0;position:relative;width:100%}.admin-modal-content *{color:var(--color-text-primary)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal-header{align-items:center;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.admin-modal-header h2{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin:0}.admin-modal-close{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.admin-modal-close:hover{background-color:var(--color-muted);color:var(--color-text-primary)}.admin-login-form{background-color:var(--color-surface);border-radius:0 0 12px 12px;border-radius:0 0 var(--radius-lg,12px) var(--radius-lg,12px);padding:0 1.5rem 1.5rem}.admin-form-group{margin-bottom:1.5rem}.admin-form-group label{color:var(--color-text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.admin-form-group input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-md,8px);box-sizing:border-box;color:var(--color-text-primary);font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.admin-form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-hover);outline:none}.admin-form-group input:disabled{background-color:var(--color-bg);cursor:not-allowed;opacity:.6}.admin-form-group input::placeholder{color:var(--color-text-secondary)}.admin-login-button{background-color:var(--color-accent);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.admin-login-button:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:0 4px 12px #4f46e54d;transform:translateY(-1px)}.admin-login-button:active{transform:translateY(0)}.admin-login-button:disabled{background-color:var(--color-text-secondary);box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.admin-error-message{align-items:center;background-color:#ef4444;background-color:var(--color-error,#ef4444);border:1px solid #ef4444;border:1px solid var(--color-error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;opacity:.9;padding:.75rem 1rem}@media (max-width:480px){.admin-modal-overlay{padding:1rem}.admin-modal-content{max-width:100%}.admin-modal-header{margin-bottom:1rem;padding:1rem 1rem 0}.admin-modal-header h2{font-size:1.25rem}.admin-login-form{padding:0 1rem 1rem}}@media (prefers-reduced-motion:reduce){.admin-login-button,.admin-modal-content,.admin-modal-overlay{animation:none}.admin-login-button:hover:not(:disabled){transform:none}}@media (prefers-contrast:high){.admin-form-group input,.admin-login-button,.admin-modal-content{border:2px solid}}body[data-theme=dark] .admin-modal-content{background-color:var(--color-bg);border-color:var(--color-border)}body[data-theme=dark] .admin-modal-header{background-color:var(--color-bg);border-bottom-color:var(--color-border)}body[data-theme=dark] .admin-form-group label,body[data-theme=dark] .admin-modal-header h2{color:var(--color-text-inverse)}body[data-theme=dark] .admin-login-form{background-color:var(--color-bg)}body[data-theme=dark] .admin-form-group input{background-color:var(--color-bg);border-color:var(--color-border);color:var(--color-text-inverse)}body[data-theme=dark] .admin-form-group input::placeholder{color:#ffffffb3}#root,body,html{overflow-x:visible!important}.app,.navbar{overflow:visible!important}.navbar{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border-light);box-shadow:0 8px 24px #0000000f;height:80px;left:0;position:fixed;right:0;top:0;z-index:9000}.navbar-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:var(--container-xl);overflow:visible!important;padding:0 var(--space-4);position:relative}.navbar-brand{flex-shrink:0;overflow:visible!important;z-index:var(--z-dropdown)}.brand-link{align-items:center;color:var(--color-text-primary);display:flex;gap:var(--space-3);text-decoration:none;transition:opacity .2s ease}.brand-link:hover{border-bottom:none!important;opacity:.8;text-decoration:none!important}.brand-logo{border-radius:var(--radius-lg);height:60px;object-fit:cover;width:60px}.brand-text{color:var(--color-text-primary);font-family:Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:400;letter-spacing:.15em;text-transform:uppercase;transition:all .3s ease}.navbar-nav{align-items:center;display:flex;gap:1rem}@media (min-width:768px){.navbar-nav{display:flex}.navbar-social-icons{display:flex!important}.mobile-menu,.mobile-menu-btn{display:none}}@media (max-width:767px){.navbar-nav,.navbar-social-icons{display:none}.mobile-menu-btn{display:flex!important}.admin-btn{display:flex}}.nav-link{border-radius:var(--radius-2xl);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;letter-spacing:.3px;overflow:hidden;padding:.6rem 1.2rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-link:before{background:linear-gradient(90deg,var(--color-accent),var(--color-accent));bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%}.nav-link:focus-visible,.nav-link:hover{background-color:var(--color-muted);color:var(--color-text-primary)}.nav-link:focus-visible:before,.nav-link:hover:before{transform:scaleX(1);transform-origin:left}.nav-link[aria-current=page]{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));box-shadow:0 4px 12px #cfa58a40;color:#fff;font-weight:600}.nav-link[aria-current=page]:before{display:none}.navbar-actions{align-items:center;display:flex;gap:var(--space-6);overflow:visible!important;position:relative}@media (max-width:767px){.navbar-actions{gap:var(--space-3)}}.navbar-social-icons{align-items:center;display:none;gap:var(--space-2)}.nav-social-link{align-items:center;border-radius:var(--radius-lg);display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.nav-social-link:hover{background-color:var(--color-muted);border-bottom:none!important;text-decoration:none!important;transform:translateY(-2px)}.nav-social-icon{filter:grayscale(100%);height:20px;object-fit:contain;opacity:.7;transition:all .3s cubic-bezier(.4,0,.2,1);width:20px}.nav-social-link:hover .nav-social-icon{filter:grayscale(0);opacity:1}.admin-btn{align-items:center;background-color:initial;border:1px solid #0000;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.admin-btn:focus-visible,.admin-btn:hover{background-color:var(--color-muted);border-color:#0000;box-shadow:none;color:var(--color-text-secondary);transform:translateY(-2px)}.admin-profile-icon{border-radius:50%;height:20px;object-fit:contain;transition:all .3s cubic-bezier(.4,0,.2,1);width:20px}.admin-btn:hover .admin-profile-icon{transform:scale(1.15)}body[data-theme=dark] .admin-profile-icon{filter:invert(1)}.signout-btn{align-items:center;background-color:#000;border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;justify-content:center;letter-spacing:.3px;padding:.6rem 1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.signout-btn:focus-visible,.signout-btn:hover{background-color:#1a1a1a;box-shadow:0 8px 20px #00000040;transform:translateY(-2px)}.mobile-menu-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:40px;justify-content:center;padding:0;position:relative;width:40px;z-index:10000}.hamburger-line{background-color:var(--color-text-primary);border-radius:1px;height:2px;margin:2px 0;transition:all .3s ease;width:20px}.mobile-menu-btn.active .hamburger-line:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}body.mobile-menu-open{height:100%;overflow:hidden;position:fixed;width:100%}body.mobile-menu-open .main-content,body.mobile-menu-open footer{filter:blur(4px);pointer-events:none;transition:filter .3s ease}body.mobile-menu-open .navbar{filter:none}.mobile-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--color-overlay);bottom:0;left:0;opacity:1;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:10000}.mobile-menu{-webkit-overflow-scrolling:touch;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--color-surface-elevated);border-right:1px solid var(--color-border-light);height:calc(100vh - 80px);left:0;overflow-y:auto;position:absolute;right:0;top:100%;transform:translateX(-100%);transition:transform .3s ease;z-index:10001}.mobile-menu.active{transform:translateX(0)}.mobile-menu-content{display:flex;flex-direction:column;gap:var(--space-2);min-height:100%;padding:var(--space-6) var(--space-4);padding-bottom:var(--space-8)}.mobile-nav-link{border-radius:var(--radius-lg);color:var(--color-text-primary);display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);padding:var(--space-4) var(--space-3);text-align:center;text-decoration:none;transition:all .2s ease}.mobile-nav-link:focus-visible,.mobile-nav-link:hover{background-color:var(--color-neutral-100);color:var(--color-primary-600)}.mobile-social-section{margin-top:var(--space-4);padding-top:var(--space-4)}.mobile-social-divider{background:var(--color-border-light);height:1px;margin:0 var(--space-3) var(--space-4)}.mobile-social-links{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-3)}.mobile-social-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-3);justify-content:center;padding:var(--space-3) 0;text-align:center;text-decoration:none;transition:all var(--transition-base);width:100%}.mobile-social-link:hover{background-color:var(--color-surface-glass);color:var(--color-accent)}.mobile-social-icon{height:24px;object-fit:contain;transition:filter var(--transition-base);width:24px}.mobile-social-link:hover .mobile-social-icon{filter:brightness(1.2) saturate(1.5)}@media (prefers-reduced-motion:reduce){.admin-btn,.hamburger-line,.mobile-menu,.nav-link{transition:none}}.mobile-menu-btn:focus-visible{border-radius:var(--radius-md);outline:2px solid var(--color-primary-600);outline-offset:2px}@media (prefers-contrast:high){.navbar{border-bottom-width:2px}.mobile-nav-link,.nav-link{border:1px solid #0000}.mobile-nav-link:focus-visible,.mobile-nav-link:hover,.nav-link:focus-visible,.nav-link:hover{border-color:currentColor}}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:1rem;outline:none;position:relative;transition:all .2s ease;width:40px;z-index:1500}.theme-toggle:hover{background-color:var(--color-muted)}.theme-toggle:focus-visible{box-shadow:0 0 0 2px var(--color-text-primary)}.theme-toggle svg{height:20px;transition:transform .3s ease;width:20px}.theme-toggle:hover svg{transform:rotate(12deg)}@media (max-width:768px){.theme-toggle{margin-right:40px}}:root{--primary-rgb:25,118,210;--success-rgb:46,125,50;--warning-rgb:237,108,2;--danger-rgb:211,47,47}.blog-manager{color:var(--text-color);margin:0 auto;max-width:1200px;padding:1.5rem}.blog-manager h2{border-bottom:2px solid var(--primary-color);color:var(--text-color);color:var(--heading-color,var(--text-color));font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.75rem;position:relative}.blog-manager h2:after{background-color:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:60px}.blog-form{background-color:var(--card-bg);border:1px solid #0000000d;border-radius:12px;box-shadow:0 8px 24px #00000012,0 2px 8px #0000000d;margin-bottom:2.5rem;padding:2rem;transition:box-shadow .3s ease}.blog-form:hover{box-shadow:0 12px 28px #00000017,0 4px 12px #0000000f}.form-group{margin-bottom:1.8rem;position:relative}.form-group label{color:var(--text-color);color:var(--label-color,var(--text-color));font-size:.95rem;font-weight:600;letter-spacing:.01em;margin-bottom:.6rem}.form-group input[type=text],.form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:inset 0 1px 3px #00000005;color:var(--text-color);font-size:1rem;padding:.85rem 1rem;transition:all .2s ease-in-out;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #1976d226;box-shadow:0 0 0 3px rgba(var(--primary-rgb,25,118,210),.15);outline:none}.form-group.checkbox,.form-group.checkbox label{align-items:center;display:flex}.form-group.checkbox label{cursor:pointer;margin-bottom:0;padding:.25rem 0;transition:opacity .2s;-webkit-user-select:none;user-select:none}.form-group.checkbox label:hover{opacity:.85}.form-group.checkbox input{accent-color:var(--primary-color);cursor:pointer;height:18px;margin-right:.75rem;width:18px}.form-group.file-upload{background-color:#00000005;border:2px dashed var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s ease}.form-group.file-upload:hover{background-color:#1976d208;background-color:rgba(var(--primary-rgb,25,118,210),.03);border-color:var(--primary-color)}.form-group.file-upload input[type=file]{cursor:pointer;padding:.5rem 0;width:100%}.form-group.file-upload input[type=file]::-webkit-file-upload-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:1rem;padding:.5rem 1rem;-webkit-transition:background-color .2s;transition:background-color .2s}.form-group.file-upload input[type=file]::file-selector-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:1rem;padding:.5rem 1rem;transition:background-color .2s}.form-group.file-upload input[type=file]::-webkit-file-upload-button:hover{background-color:#1565c0;background-color:var(--primary-dark,#1565c0)}.form-group.file-upload input[type=file]::file-selector-button:hover{background-color:#1565c0;background-color:var(--primary-dark,#1565c0)}.image-preview{border:1px solid var(--border-color);border-radius:8px;box-shadow:0 3px 10px #00000014;margin-top:1.25rem;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.image-preview:hover{box-shadow:0 6px 15px #0000001a;transform:translateY(-3px)}.image-preview img{display:block;width:100%}.current-image-container{display:flex;flex-direction:column;gap:1rem}.current-image-label{color:var(--text-color);font-size:.95rem;font-weight:600}.no-image-placeholder{padding:2rem 1rem;text-align:center}.no-image-placeholder p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;margin:0 0 1rem}.image-upload-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.image-upload-section input[type=file]{cursor:pointer;padding:.5rem 0;width:100%}.image-upload-section input[type=file]::-webkit-file-upload-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;-webkit-transition:background-color .2s;transition:background-color .2s}.image-upload-section input[type=file]::file-selector-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;transition:background-color .2s}.image-upload-section input[type=file]::-webkit-file-upload-button:hover{background-color:#1565c0;background-color:var(--primary-dark,#1565c0)}.image-upload-section input[type=file]::file-selector-button:hover{background-color:#1565c0;background-color:var(--primary-dark,#1565c0)}.image-upload-actions{display:flex;flex-wrap:wrap;gap:1rem}.image-upload-actions .btn{flex:1 1;min-width:150px}.form-actions{border-top:1px solid #0000000d;margin-top:2rem;padding-top:1.5rem}.btn{border-radius:6px;box-shadow:0 2px 4px #0000001a;font-weight:600;justify-content:center;letter-spacing:.01em;min-width:120px;overflow:hidden;padding:.8rem 1.5rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:after{background-image:radial-gradient(circle,#fff 10%,#0000 10.01%);background-position:50%;background-repeat:no-repeat;content:"";display:block;height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:scale(10);transition:transform .4s,opacity .8s;width:100%}.btn:active:after{opacity:.3;transform:scale(0);transition:0s}.btn-primary:hover{background-color:#1565c0;background-color:var(--primary-dark,#1565c0);box-shadow:0 4px 8px #1976d240;box-shadow:0 4px 8px rgba(var(--primary-rgb,25,118,210),.25);transform:translateY(-2px)}.btn-secondary{background-color:#f5f5f5;border:1px solid #00000014;box-shadow:0 1px 3px #0000000d;color:#424242}.btn-secondary:hover{background-color:#eee;box-shadow:0 3px 6px #00000014;color:#212121;transform:translateY(-2px)}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover{background-color:#b71c1c;box-shadow:0 4px 8px #d32f2f40;transform:translateY(-2px)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.blog-posts-list{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.blog-post-card{background-color:var(--card-bg);border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 16px #0000000f;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease-in-out}.blog-post-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-5px)}.blog-post-header{align-items:center;background-color:#00000003;border-bottom:1px solid #00000012;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.blog-post-header h3{color:var(--text-color);color:var(--heading-color,var(--text-color));font-size:1.3rem;font-weight:600;margin:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-status{align-items:center;border-radius:20px;box-shadow:0 2px 5px #0000000d;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.35rem .75rem;text-transform:uppercase}.post-status.published{background-color:#2e7d321a;border:1px solid #2e7d3233;color:#2e7d32}.post-status.draft{background-color:#ed6c021a;border:1px solid #ed6c0233;color:#ed6c02}.blog-post-content{display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.blog-image{margin:-1.5rem -1.5rem 1.25rem;overflow:hidden;position:relative}.blog-image:after{background:linear-gradient(to top,var(--card-bg),#0000);bottom:0;content:"";height:40px;left:0;pointer-events:none;position:absolute;right:0}.blog-image img{display:block;height:180px;object-fit:cover;transition:transform .5s ease;width:100%}.blog-post-card:hover .blog-image img{transform:scale(1.05)}.blog-date{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.75rem}.blog-date:before{background-color:var(--primary-color);border-radius:50%;content:"";display:inline-block;height:8px;width:8px}.blog-summary{-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.95rem;line-height:1.6;margin:0;overflow:hidden}.blog-post-actions{background-color:#00000005;border-top:1px solid #00000012;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem}.btn-edit,.btn-publish{font-size:.875rem;padding:.6rem 1rem}.btn-publish{background-color:#fb8c00;color:#fff}.btn-publish:hover{background-color:#ef6c00}.btn-delete{background-color:#d32f2fe6;font-size:.875rem;padding:.6rem 1rem}.error-message{border-left:4px solid #d32f2f;padding-left:1rem}.blog-summary{line-clamp:3;-webkit-line-clamp:3}html{scroll-behavior:smooth}*{scrollbar-color:var(--primary-color) #0000000d;scrollbar-width:thin}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:8px}::-webkit-scrollbar-thumb{background-color:#1976d280;background-color:rgba(var(--primary-rgb,25,118,210),.5);border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:#1976d2b3;background-color:rgba(var(--primary-rgb,25,118,210),.7)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:1024px){.blog-posts-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.blog-posts-list{grid-template-columns:1fr}.blog-form{padding:1.5rem}.btn{min-width:auto}}.changelog-manager{margin:0 auto;max-width:1200px;padding:1.5rem}.changelog-manager h2{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:.5rem}.error-message{margin-bottom:1.5rem}.changelog-form{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.form-group{margin-bottom:1.2rem}.form-group input,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:.75rem}.help-text{color:var(--text-secondary);display:block;font-size:.85rem;margin-top:.5rem}code{background-color:#0000000d;border-radius:4px;font-family:monospace;padding:.2rem .4rem}.form-actions{gap:1rem;margin-top:1.5rem}.btn-primary{background-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-dark)}.changelog-list{display:flex;flex-direction:column;gap:1.5rem}.changelog-card{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.changelog-header{align-items:center;background-color:#00000008;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.changelog-header h3{color:var(--primary-color);margin:0}.release-date{color:var(--text-secondary);font-size:.9rem}.changelog-content{padding:1.5rem}.feature-category{margin-bottom:1.2rem}.feature-category h4{color:var(--text-color);margin-bottom:.5rem;margin-top:0}.feature-category ul{margin:0;padding-left:1.5rem}.feature-category li{margin-bottom:.3rem}.changelog-actions{border-top:1px solid var(--border-color);display:flex;gap:.5rem;padding:1rem}.btn-edit{background-color:#1976d2}.btn-edit:hover{background-color:#1565c0}.btn-delete{background-color:#d32f2f}.btn-delete:hover{background-color:#c62828}@media (max-width:768px){.changelog-header{align-items:flex-start;flex-direction:column}.release-date{margin-top:.5rem}}.message-manager{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:300px 1fr;height:calc(100vh - 140px);margin:0 auto;max-width:1200px}.message-sidebar{background-color:var(--card-bg);border-radius:8px;border-right:1px solid var(--border-color);box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.message-filters{border-bottom:1px solid var(--border-color);display:flex;padding:.5rem}.filter-btn{background:none;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;flex:1 1;font-size:.85rem;padding:.5rem;transition:all .2s}.filter-btn:hover{background-color:#0000000d}.filter-btn.active{background-color:var(--primary-color);color:#fff;font-weight:500}.message-list{flex:1 1;overflow-y:auto}.no-messages{color:var(--text-secondary);padding:1rem;text-align:center}.message-item{border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;padding:1rem;transition:all .2s}.message-item:hover{background-color:#00000008}.message-item.selected{background-color:#00000012;border-left:4px solid var(--primary-color)}.message-item.unread{background-color:#1976d20d;font-weight:600}.message-status{align-items:center;color:var(--primary-color);display:flex;margin-right:.75rem}.message-preview{flex:1 1;min-width:0}.message-sender{font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-date{color:var(--text-secondary);font-size:.8rem;margin-bottom:.25rem}.message-excerpt{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.no-message-selected{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;justify-content:center}.no-message-selected h3{color:var(--text-color);margin:1rem 0 .5rem}.message-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:1rem}.message-header h3{margin:0}.message-actions{display:flex;gap:.5rem}.btn-icon{align-items:center;background-color:#0000000d;border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-icon:hover{background-color:#0000001a}.btn-icon.btn-delete:hover{background-color:#ffebee;color:#d32f2f}.message-info{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;padding:1rem 0}.message-info div{margin-bottom:.5rem}.message-info a{color:var(--primary-color);text-decoration:none}.message-info a:hover{text-decoration:underline}.message-body{flex:1 1;line-height:1.6;overflow-y:auto;padding:1.5rem 0}.message-body p{margin:0 0 1rem}.message-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding-top:1rem}.btn{font-size:1rem;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s ease}.btn-secondary{background-color:#e0e0e0;color:#333}.btn-secondary:hover{background-color:#d0d0d0}.error-message{animation:fadeIn .3s ease;background-color:#ffebee;border-left:5px solid #d32f2f;border-radius:8px;box-shadow:0 3px 10px #00000014;color:#d32f2f;grid-column:1/-1;margin:0 0 1.5rem;padding:1.25rem;width:100%}.error-message h3{color:#b71c1c;font-size:1.2rem;margin-bottom:.75rem;margin-top:0}.error-message p{line-height:1.5;margin-bottom:1rem}.setup-instructions{background-color:#ffffffb3;border-radius:6px;margin-top:1rem;padding:1rem}.setup-instructions h4{color:#333;margin-bottom:.75rem;margin-top:0}.setup-instructions ol{margin-bottom:0;padding-left:1.5rem}.setup-instructions li{margin-bottom:.5rem}.setup-instructions code{background-color:#00000014;border-radius:4px;font-family:monospace;font-size:.9rem;padding:.2rem .4rem}@media (max-width:768px){.message-manager{grid-template-columns:1fr;height:auto}.message-sidebar{height:300px}.message-content{height:500px}}.project-manager{margin:0 auto;max-width:900px;padding:20px}.project-form{background:#f8f9fa;background:var(--card-bg,#f8f9fa);box-shadow:0 2px 5px #0000001a;margin-bottom:30px;padding:20px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #ccc;border-radius:4px;font-size:16px;padding:10px;width:100%}.input-with-icon{position:relative}.input-icon{color:#555;left:10px;position:absolute;top:12px}.input-with-icon input{padding-left:35px}.image-preview{border:1px solid #ddd;border-radius:4px;margin-top:10px;max-width:300px;padding:5px}.image-preview img{height:auto;max-width:100%}.form-actions{display:flex;gap:10px}.btn{align-items:center;border:none;border-radius:4px;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 15px}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}.btn-edit{background-color:#28a745;color:#fff}.btn-delete{background-color:#dc3545;color:#fff}.btn-github{background-color:#333}.btn-demo,.btn-github{color:#fff;text-decoration:none}.btn-demo{background-color:#007bff}.btn:hover{opacity:.9}.projects-list{margin-top:20px}.project-card{background:#f8f9fa;background:var(--card-bg,#f8f9fa);border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-bottom:20px}.project-image{height:150px;min-width:200px;width:200px}.project-details{flex:1 1;padding:15px}.project-description{color:#666;margin:10px 0}.project-technologies{margin-bottom:15px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.tech-tag{background:#e9ecef;border-radius:4px;font-size:12px;padding:4px 8px}.project-actions{display:flex;gap:10px}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:20px;padding:10px}@media (max-width:768px){.project-card{flex-direction:column}.project-image{height:200px;width:100%}}.checkbox-group{margin-top:10px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{margin-right:8px;width:auto}.helper-text{color:#6c757d;display:block;font-size:12px;margin-top:4px}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:3px 8px}.status-badge.published{background-color:#d4edda;color:#155724}.status-badge.unpublished{background-color:#f8d7da;color:#721c24}.admin-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:calc(80px + 2rem) 2rem 2rem}.admin-loading{align-items:center;display:flex;font-size:1.5rem;height:100vh;justify-content:center}.admin-login-form{background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:400px;padding:2rem}.admin-dashboard{display:flex;min-height:100vh}.admin-sidebar{background-color:#212529;background-color:var(--sidebar-bg,#212529);color:#fff;display:flex;flex-direction:column;padding:20px 0;width:250px}.admin-logo{border-bottom:1px solid #ffffff1a;font-size:24px;font-weight:700;padding:0 20px 20px}.admin-nav{flex:1 1;padding-top:20px}.admin-nav-item{align-items:center;background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;font-size:16px;gap:10px;padding:12px 20px;text-align:left;width:100%}.admin-nav-item.active,.admin-nav-item:hover{background-color:#ffffff1a;color:#fff}.admin-sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.admin-logout{background-color:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px;width:100%}.admin-logout:hover{background-color:#fff3}.admin-content{background-color:#f5f5f5;background-color:var(--bg-color,#f5f5f5);display:flex;flex:1 1;flex-direction:column}.admin-header{align-items:center;background-color:#fff;background-color:var(--header-bg,#fff);box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:15px 30px}.admin-header h1{font-size:24px;margin:0}.admin-user{color:#666;font-size:14px}.admin-main{flex:1 1;overflow-y:auto;padding:20px}.placeholder{align-items:center;background-color:#f8f9fa;background-color:var(--card-bg,#f8f9fa);border-radius:8px;color:#666;display:flex;font-size:18px;height:400px;justify-content:center}@media (max-width:768px){.admin-dashboard{flex-direction:column}.admin-sidebar{padding:10px 0;width:100%}.admin-logo{padding:0 15px 10px}.admin-nav{display:flex;overflow-x:auto;padding:10px 0}.admin-nav-item{padding:8px 15px;white-space:nowrap}.admin-sidebar-footer{padding:10px 15px}}.login-error{background-color:#ffebee;border-radius:4px;color:#d32f2f;margin-bottom:1rem;padding:.5rem}.admin-tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:2rem}.tab{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;padding:1rem 1.5rem;position:relative;transition:color .3s}.tab.active{color:#1a73e8;font-weight:600}.tab.active:after{background-color:#1a73e8;bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.tab:hover{color:#1a73e8}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{min-height:120px}.add-btn,.cancel-btn,.delete-btn,.edit-btn,.login-btn,.logout-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s}.add-btn,.login-btn,.save-btn{background-color:#1a73e8;color:#fff}.add-btn:hover,.login-btn:hover,.save-btn:hover{background-color:#1557b0}.cancel-btn,.logout-btn{background-color:#f5f5f5;color:#333}.cancel-btn:hover,.logout-btn:hover{background-color:#e0e0e0}.form-buttons{display:flex;gap:1rem;margin-top:1.5rem}.admin-table{border-collapse:collapse;margin-bottom:2rem;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.admin-table th{background-color:#f5f5f5;font-weight:600}.admin-table tr:hover{background-color:#f9f9f9}.delete-btn,.edit-btn{border-radius:4px;margin-right:.5rem;padding:.5rem 1rem}.edit-btn{background-color:#4caf50;color:#fff}.edit-btn:hover{background-color:#43a047}.delete-btn{background-color:#f44336;color:#fff}.delete-btn:hover{background-color:#e53935}.projects-list{margin-bottom:2rem}.project-form{background-color:#f8f8f8;border-radius:8px;margin-top:2rem;padding:1.5rem}.project-form h3{margin-bottom:1.5rem;margin-top:0}@media (max-width:768px){.admin-tabs{flex-wrap:wrap}.tab{padding:.75rem}.admin-table td,.admin-table th{padding:.75rem .5rem}.delete-btn,.edit-btn{font-size:.875rem;padding:.4rem .75rem}}.blog-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:calc(80px + 1rem) 1rem 2rem}.blog-container h1{display:inline-block;font-size:2.5rem;margin-bottom:.5rem;position:relative}.blog-intro{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;max-width:800px}.blog-intro,.blog-loading{color:var(--color-text-secondary)}.blog-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 0}.loading-spinner{border:4px solid #0000001a;border-left:4px solid var(--color-accent,#4a6fa5);height:40px;margin-bottom:1rem;width:40px}.blog-error{background-color:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;margin:2rem 0;padding:1.5rem}.blog-error h3{margin-bottom:.5rem;margin-top:0}.blog-error p{margin-bottom:0}.blog-posts-placeholder{background-color:#f8f9fa;background-color:var(--color-surface,#f8f9fa);border:1px dashed #cfd8dc;border:1px dashed var(--color-border,#cfd8dc);border-radius:8px;margin-top:2rem;padding:3rem;text-align:center}.blog-posts-placeholder h2{color:#4a6fa5;color:var(--color-accent,#4a6fa5);margin-bottom:1rem}.blog-posts-placeholder p{color:#78909c;color:var(--color-text-secondary,#78909c)}.cards-wrapper{grid-gap:2rem;align-items:center;display:grid;grid-template-columns:repeat(3,1fr);justify-content:center;margin:2rem auto 0;max-width:900px;padding:3rem 1.5rem;width:100%}.card-grid-space{position:relative}.card-num{color:#222;color:var(--color-text-primary,#222);font-size:2.5rem;font-weight:700;margin-bottom:.8rem;margin-left:.5rem}.card{align-items:flex-end;background-image:var(--bg-img);background-position:50%;background-size:cover;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#fff;display:flex;font-family:DM Sans,sans-serif;font-size:1rem;height:24rem;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease;width:100%}.card:before{background:#0003;content:"";inset:0;position:absolute;transition:background .3s ease;z-index:0}.card:hover:before{background:#606060eb}.card:hover{box-shadow:0 8px 20px #00000026;color:#fff;transform:translateY(-4px)}.card-content{position:relative;z-index:1}.card h1{-webkit-line-clamp:2;font-size:1.5rem;font-weight:700;line-height:1.2;margin:0 0 .6rem;text-shadow:none}.card h1,.card p{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.card p{-webkit-line-clamp:3;font-size:1rem;line-height:1.6;margin:.5rem 0 1rem;opacity:.8}.card-date{font-size:.8rem;opacity:.7;position:absolute;right:1rem;top:1rem;z-index:1}.card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.card-tag{background:#ffffffd9;border:none;border-radius:3px;color:#3c3163;font-size:.75rem;font-weight:500;padding:.25rem .6rem;transition:all .3s ease}.card:hover .card-tag{background:#ffffff4d;color:#fff}@media (max-width:1200px){.cards-wrapper{grid-gap:2rem;grid-template-columns:repeat(2,1fr);padding:2.5rem 1.5rem}}@media (max-width:768px){.cards-wrapper{grid-gap:1.5rem;grid-template-columns:1fr;padding:2rem 1rem}.card{height:16rem;width:100%}.card-num{font-size:2rem;margin-bottom:.6rem}.blog-container{padding:calc(80px + .5rem) 1rem 1rem}.blog-container h1{font-size:2rem;margin-bottom:.5rem}.blog-intro{font-size:1rem;margin-bottom:1.5rem}}@media (max-width:480px){.blog-container{padding:calc(80px + .5rem) .75rem .75rem}.blog-container h1{font-size:1.75rem}.blog-posts-placeholder{padding:2rem 1rem}}@media (min-width:768px){.blog-posts-placeholder{padding:2rem 1rem}}.blog-post-container{margin:0 auto;max-width:800px;min-height:60vh;padding:2rem 1rem}.blog-post-error,.blog-post-loading{padding:4rem 2rem;text-align:center}.blog-post-error h2{color:#2563eb;color:var(--primary-color,#2563eb);margin-bottom:1rem}.blog-post-error p{color:#6b7280;color:var(--text-secondary,#6b7280);margin-bottom:2rem}.back-to-blog-btn{background:#2563eb;background:var(--primary-color,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;margin-bottom:2rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-to-blog-btn:hover{background:#1d4ed8;background:var(--primary-hover,#1d4ed8);transform:translateY(-2px)}.blog-post{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-post-header-image{border-radius:12px;height:400px;margin-bottom:2rem;overflow:hidden;position:relative;width:100%}.blog-post-header-image img{height:100%;object-fit:cover;width:100%}.blog-post-image-source{word-wrap:break-word;background:#0009;border-radius:6px;bottom:12px;color:#fff;font-size:.85rem;line-height:1.4;max-width:80%;padding:.4rem .8rem;position:absolute;right:12px;text-align:right;z-index:10}.blog-post-header{margin-bottom:3rem}.blog-post-title{color:#1f2937;color:var(--text-primary,#1f2937);font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.blog-post-meta{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.blog-post-date{font-size:.95rem}.blog-post-date,.blog-post-updated{color:#6b7280;color:var(--text-secondary,#6b7280)}.blog-post-updated{font-size:.9rem}.blog-post-body{color:#374151;color:var(--text-primary,#374151);font-size:1.125rem;line-height:1.8}.blog-post-body p{margin-bottom:1.5rem}.blog-post-body p:last-child{margin-bottom:0}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-top:4px solid #2563eb;border:4px solid var(--bg-secondary,#f3f4f6);border-radius:50%;border-top-color:var(--primary-color,#2563eb);height:50px;margin:0 auto 1rem;width:50px}[data-theme=dark] .blog-post-title{color:#f9fafb;color:var(--text-primary,#f9fafb)}[data-theme=dark] .blog-post-date{color:#9ca3af;color:var(--text-secondary,#9ca3af)}[data-theme=dark] .blog-post-body{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}[data-theme=dark] .blog-post-error p{color:#9ca3af;color:var(--text-secondary,#9ca3af)}@media (max-width:768px){.blog-post-container{padding:1.5rem 1rem}.blog-post-title{font-size:2rem}.blog-post-header-image{height:250px}.blog-post-body{font-size:1rem}}.change-log-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:calc(80px + 2rem) 1rem 2rem}.change-log-header{margin-bottom:3rem;text-align:center}.change-log-header h1{color:var(--color-text-primary);display:inline-block;font-size:2.5rem;margin-bottom:1.5rem;position:relative}.description{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px}.change-log-table{background-color:var(--color-surface);border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden;width:100%}.table-header{background-color:var(--color-muted);border-bottom:2px solid var(--color-border);color:var(--color-text-primary);font-weight:700;padding:1rem}.table-header,.table-row{display:grid;grid-template-columns:1fr 1.5fr 3fr}.table-row{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:1.5rem 1rem;transition:background-color .2s ease}.table-row:hover{background-color:#00000005;background-color:var(--color-background-hover,#00000005)}.table-row.future{background-color:#0078d20d;background-color:rgba(var(--color-accent-rgb,0,120,210),.05);border-left:3px solid #0078d2;border-left:3px solid var(--color-accent,#0078d2)}.badge{background-color:#0078d2;background-color:var(--color-accent,#0078d2);border-radius:10px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;margin-left:8px;padding:.2rem .5rem;text-transform:uppercase;vertical-align:middle}.table-row:last-child{border-bottom:none}.table-row ul{margin:0;padding-left:1.2rem}.table-row li{margin-bottom:.5rem}.table-row li:last-child{margin-bottom:0}.table-row li strong{color:var(--color-text-primary)}.table-row ul ul{margin-bottom:.75rem;margin-top:.5rem}.table-row ul ul li{font-size:.95rem;margin-bottom:.25rem}@media (max-width:768px){.table-header,.table-row{gap:.5rem;grid-template-columns:1fr}.table-header div:not(:first-child),.table-row div:not(:first-child){padding-top:.5rem}.table-row div:nth-child(3){padding-left:0}.change-log-header h1{font-size:2rem}.description{font-size:1rem}}.home-main{min-height:100vh;padding-top:90px}#home{margin:0 auto;max-width:1200px;padding:2rem 1.5rem 3rem!important}.hero-layout{align-items:flex-start;display:flex;gap:1.75rem;position:relative}.hero-section .flex{gap:2.5rem!important}.container{max-width:var(--container-xl);padding:0 var(--space-4)}.mx-auto{margin-left:auto;margin-right:auto}.text-accent{color:var(--color-accent)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.w-full{width:100%}.hero-section .text-left{display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:flex-start;min-height:22rem;padding:0}.hero-image{align-self:flex-start}.hero-section h2{color:var(--color-text-primary);font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;letter-spacing:-.5px;line-height:1.15;margin-bottom:1rem;.hero-intro{text-align:justify}}.hero-section .text-accent{color:var(--color-accent);position:relative}.hero-section h3{color:var(--color-text-secondary);font-weight:500;line-height:1.6;margin-bottom:.75rem}.hero-section h3.text-2xl{color:var(--color-text-primary);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;margin-bottom:1.25rem}.hero-section h3.text-lg{font-size:1rem;margin-bottom:.5rem}.hero-section h3:last-of-type{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.7;margin-bottom:1.75rem;max-width:85%}@media (min-width:1024px){.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}}.hero-section{background:#0000;flex:1 1;min-width:0;padding:0;position:relative}.hero-buttons{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem;margin-top:1.5rem;position:relative;width:100%;z-index:2}.hero-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #fff3;border-radius:10px;box-shadow:0 8px 32px #1f26871a;color:var(--color-text-primary);cursor:pointer;display:inline-block;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.3px;padding:.7rem 1.75rem;text-align:center;text-decoration:none;transition:all .4s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;width:100%}.hero-button:hover{background-color:#ffffff26;border-color:#fff6;box-shadow:0 12px 40px #1f268726;transform:translateY(-2px)}.hero-button:active{box-shadow:0 4px 16px #1f26871a;transform:translateY(0)}@media (max-width:768px){.hero-buttons{gap:1rem;grid-template-columns:1fr;margin-bottom:2.5rem;width:100%}#home{padding-bottom:2rem!important;padding-top:1.5rem!important}.hero-section .flex{align-items:center!important;flex-direction:column!important;gap:1.5rem!important;text-align:center}.hero-section .text-left{align-items:center;text-align:center}.hero-image{align-self:center;margin-left:auto;margin-right:auto}.hero-section h2{text-align:center}.hero-section h3:last-of-type{max-width:100%}.hero-buttons{justify-content:center}.w-64{height:14rem;width:14rem}}.floating-glass-nav{align-items:stretch;align-self:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;box-shadow:0 8px 32px 0 #1f268714;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-start;left:1.5rem;padding:1rem;position:fixed;top:50%;transform:translateY(-50%);transition:all .3s ease;width:115px;z-index:10}.glass-nav-link{background:#0000;border:none;border-radius:8px;color:var(--color-text-primary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;letter-spacing:.3px;padding:.65rem 1.25rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.glass-nav-link:hover{background:#8b73551a;color:var(--color-accent);transform:translateY(-2px)}.glass-nav-link.active{background:#8b735526;box-shadow:0 4px 12px #8b735526;color:var(--color-accent);font-weight:600}.glass-nav-divider{background:#0003;border-radius:1px;flex-shrink:0;height:1px;width:100%}body[data-theme=dark] .floating-glass-nav{background:#2a2b2e66;border-color:#ffffff1a}body[data-theme=dark] .glass-nav-divider{background:#fff3}body[data-theme=dark] .glass-nav-link{color:var(--color-text-inverse)}body[data-theme=dark] .glass-nav-link:hover{background:#4db5ff33;color:var(--color-accent)}@media (max-width:1024px){.home-main{padding-left:0}.hero-layout{align-items:center;flex-direction:column}.hero-section{order:1;width:100%}.floating-glass-nav{margin-top:1.25rem;order:2;position:static;transform:none;width:100%}}@media (max-width:768px){.home-main{padding-left:0}.hero-layout{align-items:center;flex-direction:column}.floating-glass-nav{align-items:center;border-radius:12px;flex-direction:row;justify-content:space-around;padding:.5rem 1rem;position:static;transform:none;width:100%}.glass-nav-link{flex:1 1;text-align:center}.glass-nav-divider{height:24px;width:1px}}@media (min-width:1024px){.home-main{padding-left:calc(170px + 3rem)}.hero-layout{padding-left:0}}body[data-theme=dark] .glass-nav-link.active{background:#4db5ff4d;color:var(--color-accent)}@media (max-width:768px){.floating-glass-nav{gap:1rem;margin-top:1.5rem;padding:.75rem 1.5rem;width:100%}.glass-nav-link{font-size:.9rem;padding:.4rem .8rem}}.achievements-section,.timeline-section{background-color:var(--color-bg);padding:0 0 var(--space-12) 0;scroll-margin-top:140px}.achievements-container,.timeline-container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.achievements-container h2,.timeline-container h2{color:var(--color-text-primary);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin-bottom:var(--space-8);text-align:center}.achievements-group{margin-bottom:var(--space-10)}.group-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-4)}.achievements-category{margin-bottom:var(--space-10)}.category-title{border-bottom:2px solid var(--color-border);color:var(--color-accent);font-size:var(--font-size-xl);font-weight:600;letter-spacing:.5px;margin-bottom:var(--space-4);padding-bottom:var(--space-2)}.achievements-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.achievement-group-accordion{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.achievement-group-title{align-items:center;background-color:var(--color-surface);border:none;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:600;gap:var(--space-2);padding:var(--space-3) var(--space-4);transition:all .3s ease;width:100%}.achievement-group-title:hover{background-color:#4f46e50d;border-color:var(--color-accent)}.toggle-icon{align-items:center;display:inline-flex;font-size:.75rem;justify-content:center;transition:transform .3s ease}.achievement-group-items{background-color:#4f46e505;display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:var(--space-2) var(--space-4)}.achievement-group-items .achievement-item{border:1px solid var(--color-border);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.achievement-group-items .achievement-item:hover{background-color:#4f46e514}.artifact-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;margin-left:auto;padding:0;transition:all .3s ease;white-space:nowrap}.artifact-link:hover{color:var(--color-accent);transform:translateX(4px)}body[data-theme=dark] .achievement-group-accordion{border-color:var(--color-border)}body[data-theme=dark] .achievement-group-title{background-color:var(--color-surface);color:var(--color-text-primary)}body[data-theme=dark] .achievement-group-title:hover{background-color:#4db5ff1a}body[data-theme=dark] .achievement-group-items{background-color:#4db5ff05}body[data-theme=dark] .achievement-group-items .achievement-item{border-color:var(--color-border)}body[data-theme=dark] .achievement-group-items .achievement-item:hover{background-color:#4db5ff1a}@media (max-width:768px){.achievements-container h2{font-size:var(--font-size-2xl)}.category-title{font-size:var(--font-size-lg)}.achievement-item{padding:var(--space-2) var(--space-3)}.achievement-icon{font-size:1.25rem}.achievement-text{font-size:var(--font-size-sm)}}.timeline{padding:var(--space-8) 0;position:relative}.timeline:before{background:linear-gradient(180deg,#9ca3af,#d1d5db 50%,#9ca3af);bottom:0;content:"";left:30px;opacity:.7;position:absolute;top:0;width:3px}.timeline-item{animation:slideInLeft .6s ease forwards;display:flex;margin-bottom:var(--space-10);opacity:0;padding-left:110px;position:relative}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.timeline-item:first-child{animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:before{background:linear-gradient(135deg,#9ca3af,#d1d5db);border:3px solid var(--color-bg);border-radius:50%;box-shadow:0 0 0 2px #9ca3af,0 0 15px #9ca3af40;content:"";height:20px;left:20px;position:absolute;top:12px;transition:all .4s cubic-bezier(.34,1.56,.64,1);width:20px;z-index:2}.timeline-item:hover:before{box-shadow:0 0 0 2px #9ca3af,0 0 20px #9ca3af66;height:26px;left:17px;transform:scale(1.1);width:26px}.timeline-date{color:#6b7280;font-size:.9rem;font-weight:700;left:0;letter-spacing:.5px;position:absolute;text-align:right;text-transform:uppercase;top:0;width:100px}.timeline-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffe6,#f9fafbe6);border:1px solid #9ca3af26;border-radius:12px;flex:1 1;overflow:hidden;padding:1.75rem;position:relative;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.timeline-content:before{background:linear-gradient(90deg,#9ca3af,#d1d5db);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.timeline-content:hover:before{opacity:1}.timeline-content:hover{background:linear-gradient(135deg,#fffffff2,#f9fafbf2);border-color:#9ca3af66;box-shadow:0 16px 32px #9ca3af1f,0 0 1px #9ca3af4d;transform:translateY(-6px)}.timeline-content h3{color:var(--color-text-primary);font-family:Playfair Display,serif;font-size:1.375rem;font-weight:700;letter-spacing:-.3px;margin:0 0 .75rem}.timeline-org{color:#9ca3af;font-size:.9rem;font-weight:600;letter-spacing:.3px;margin:0 0 1rem;text-transform:uppercase}.timeline-content p{color:var(--color-text-secondary);font-size:.95rem;font-weight:400;line-height:1.65;margin:0}body[data-theme=dark] .timeline:before{background:linear-gradient(180deg,#d1d5db,#9ca3af 50%,#d1d5db)}body[data-theme=dark] .timeline-item:before{border-color:var(--color-bg);box-shadow:0 0 0 2px #d1d5db,0 0 15px #d1d5db4d}body[data-theme=dark] .timeline-item:hover:before{box-shadow:0 0 0 2px #d1d5db,0 0 20px #d1d5db80}body[data-theme=dark] .timeline-content{background:linear-gradient(135deg,#1e293bf2,#0f172af2);border-color:#9ca3af33}body[data-theme=dark] .timeline-content:hover{background:linear-gradient(135deg,#1e293bfa,#0f172afa);border-color:#9ca3af66;box-shadow:0 16px 32px #9ca3af26,0 0 1px #9ca3af4d}@media (max-width:768px){.timeline:before{left:18px}.timeline-item{padding-left:80px}.timeline-item:before{height:16px;left:10px;top:14px;width:16px}.timeline-item:hover:before{height:20px;left:8px;width:20px}.timeline-date{font-size:.75rem;width:70px}.timeline-content{padding:1.25rem}.timeline-content h3{font-size:1.1rem}.timeline-org{font-size:.85rem}.timeline-content p{font-size:.9rem}}@media (max-width:480px){.timeline:before{left:14px}.timeline-item{margin-bottom:var(--space-8);padding-left:60px}.timeline-item:before{box-shadow:0 0 0 2px #9ca3af,0 0 10px #9ca3af33;height:14px;left:7px;top:14px;width:14px}.timeline-item:hover:before{height:18px;left:5px;width:18px}.timeline-date{font-size:.7rem;width:55px}.timeline-content{padding:1rem}.timeline-content h3{font-size:.95rem;margin-bottom:.5rem}.timeline-org{font-size:.8rem;margin-bottom:.75rem}.timeline-content p{font-size:.85rem}}.text-4xl{font-size:calc(var(--font-size-4xl)*2);text-align:left}.font-bold{font-weight:var(--font-weight-bold)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.text-base{font-size:var(--font-size-base)}.leading-relaxed{line-height:1.4}.w-64{border-radius:12px;flex-shrink:0;height:22rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);width:22rem}.w-64:hover{transform:translateY(-4px)}.h-64{height:22rem}.object-cover{object-fit:cover}@media (max-width:767px){.text-4xl{font-size:calc(var(--font-size-3xl)*2);text-align:left}.text-2xl{font-size:var(--font-size-xl)}.container{padding:0 var(--space-3)}}@media (max-width:480px){.text-4xl{font-size:var(--font-size-2xl)}.w-64{width:14rem}.h-64,.w-64{height:14rem}}section{padding:var(--space-16) 0;scroll-margin-top:80px}section h2{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}section p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8)}.projects-section{background-color:var(--color-bg);padding:0 0 var(--space-12) 0;scroll-margin-top:140px}.skills-section{padding-top:0;scroll-margin-top:140px}.projects-container{padding:0 1.5rem}.projects-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);text-align:center}.projects-intro{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;text-align:center}.projects-grid{grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media (max-width:768px){.projects-grid{gap:var(--space-6);grid-template-columns:1fr}}@media (max-width:480px){.projects-container{padding:0 var(--space-3)}}@media (min-width:1024px){.hero-section .flex{align-items:center!important;flex-direction:row!important;gap:.5rem!important}}@media (max-width:1023px){.hero-section .flex{flex-direction:column!important;gap:.5rem!important}#home{padding-bottom:2rem!important;padding-top:1rem!important}}.services-section{background-color:var(--color-bg);padding:0 0 var(--space-12) 0;scroll-margin-top:140px}.services-container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.services-container h2{color:var(--text-primary);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.services-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.service-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease}.service-card:hover{border-color:var(--color-accent);box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.service-icon{display:block;font-size:3rem;margin-bottom:1rem}.service-card h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.service-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.services-contact{background:var(--bg-secondary);border:2px solid var(--color-accent);border-radius:12px;padding:2.5rem;text-align:center}.services-contact h3{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:1rem}.services-contact>p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}.contact-methods{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.contact-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.email-button{background:var(--color-accent);color:#fff}.email-button:hover{opacity:.9;transform:scale(1.05)}.viber-button{align-items:center;background:linear-gradient(135deg,#665cad,#7b68ee);color:#fff;display:inline-flex;gap:.5rem}.viber-button:hover{opacity:.9;transform:scale(1.05)}.viber-icon{display:inline-block}.resume-button{background:var(--color-accent);color:#fff}.resume-button:hover{opacity:.9;transform:scale(1.05)}@media (max-width:768px){.services-container{padding:2rem 1rem}.services-container h2{font-size:2rem;margin-bottom:2rem}.services-grid{gap:1.5rem;grid-template-columns:1fr}.contact-methods{flex-direction:column}.contact-button{justify-content:center;width:100%}}.section-header{margin-bottom:2rem;padding:1.5rem 0;text-align:center}.section-header h2{color:var(--text-primary);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin:0}.project-card{background:#fff;background:var(--color-surface,#fff);border:1px solid #0000001a;border:1px solid var(--color-border,#0000001a);border-radius:12px;box-shadow:0 8px 16px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transform-origin:center bottom;transition:all .3s ease}.project-card:hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-7px)}.project-image{border-bottom:1px solid #0000000d;border-bottom:1px solid var(--color-border,#0000000d);height:160px;overflow:hidden;position:relative}.project-image img{display:block;height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-image:after{background:linear-gradient(0deg,#00000005,#0000);bottom:0;content:"";height:15%;left:0;pointer-events:none;position:absolute;width:100%}.project-info{display:flex;flex:1 1;flex-direction:column;padding:1rem}.project-info h3{color:var(--color-text-primary);font-size:1.35rem;font-weight:600;margin-bottom:.75rem;margin-top:0}.project-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;flex:1 1;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem;overflow:hidden;text-overflow:ellipsis}.project-links{display:flex;gap:.5rem;justify-content:space-between;margin-top:auto}.github-link,.project-link{border-radius:6px;font-size:.9rem;font-weight:500;padding:.6rem 1rem;text-align:center;text-decoration:none;transition:all .2s ease}.github-link,.project-link{align-items:center;display:flex;justify-content:center}.project-link{background-color:var(--color-accent);color:#fff;flex:1 1;gap:6px;margin-right:.75rem}.github-link{background-color:#f8f9fa;background-color:var(--color-background,#f8f9fa);border:1px solid #e1e4e8;border:1px solid var(--color-border,#e1e4e8);color:var(--color-text-primary);flex:1 1;gap:6px;justify-content:center}.demo-icon,.github-icon,.github-link{align-items:center;display:flex}.github-link:hover,.project-link:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}@media (min-width:768px){.project-card{flex-direction:column;height:100%}.project-image{height:250px;width:100%}.project-info{display:flex;flex:1 1;flex-direction:column}}body[data-theme=dark] .projects-section .github-link,body[data-theme=dark] .projects-wrapper .github-link{color:#000!important}.projects-wrapper{margin:0 auto;max-width:900px;padding:0 1.5rem;width:100%}.paginated-projects-grid{grid-gap:1.2rem;align-items:stretch;display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.pagination{align-items:center;display:flex;font-size:.95rem;gap:1rem;justify-content:center;margin-top:2rem}.page-numbers{display:flex;gap:.5rem}.page-btn{background:#fff;background:var(--color-surface,#fff);border:1px solid #ddd;border:1px solid var(--color-border,#ddd);border-radius:6px;color:#222;color:var(--color-text-primary,#222);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;min-width:40px;padding:.5rem 1rem;transition:background .2s ease,box-shadow .2s ease}.page-btn.nav-btn{min-width:auto;padding:.5rem 1rem}.page-btn:disabled{cursor:default;opacity:.5}.page-btn:not(:disabled):hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.page-btn.active,.page-btn:not(:disabled):hover{background:#06f;background:var(--color-accent,#06f);color:#fff;color:var(--color-surface,#fff)}.page-btn.active{box-shadow:0 4px 12px #0000001a}.page-info{color:#555;color:var(--color-text-secondary,#555);font-weight:500;min-width:80px;text-align:center}@media (max-width:1024px){.paginated-projects-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.paginated-projects-grid{gap:1rem;grid-template-columns:1fr}.pagination{gap:.75rem;margin-top:1.5rem}.page-btn{font-size:.85rem;padding:.4rem .8rem}}@media (max-width:480px){.paginated-projects-grid{gap:.75rem}.pagination{font-size:.85rem;gap:.5rem}.page-btn{font-size:.8rem;padding:.35rem .7rem}.page-info{font-size:.8rem;min-width:70px}}.projects-container{margin:0 auto;max-width:1200px;padding:1rem 2rem}.projects-container h1{color:var(--color-text-primary);display:block;font-family:Georgia,Times New Roman,serif;font-size:5rem;font-weight:300;letter-spacing:.05em;margin-bottom:.5rem;position:relative;text-align:left;text-shadow:2px 2px 4px #0000001a}.projects-intro{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1.5rem;max-width:800px}.projects-main-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 30px #0000001a;margin-bottom:.05rem;overflow:hidden;padding:1rem;position:relative}.projects-main-card:before{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent) 100%);background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-secondary,var(--color-accent)) 100%);content:"";height:5px;left:0;position:absolute;top:0;width:100%}.projects-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem}.projects-header h2{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin:0;position:relative}.projects-header h2:after{background-color:var(--color-accent);border-radius:2px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:40px}.projects-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.project-item{border-radius:12px;height:50%;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-item:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}@media (max-width:1100px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.projects-grid{grid-template-columns:1fr}}@media (max-width:768px){.projects-header{align-items:flex-start;flex-direction:column}.projects-main-card{padding:1.5rem}}@media (max-width:480px){.projects-container{padding:1.5rem 1rem}.projects-main-card{padding:1.25rem}.projects-header h2{font-size:1.3rem}.projects-grid{gap:15px;grid-template-columns:1fr}.projects-container h1{font-size:3rem}}.empty-state,.error-message,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:900px;min-height:400px;padding:2rem;text-align:center}.loading-state{gap:1.5rem}.loader{animation:spin 1s linear infinite;border-top:4px solid var(--color-border);border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state p,.loading-state p{color:var(--color-text-secondary);font-size:1.1rem}.error-message{background:#ff3b301a;border:1px solid #ff3b304d;border-radius:12px;gap:1rem;padding:2rem}.error-message h3{color:#ff3b30;font-size:1.5rem;margin:0}.error-message p{color:var(--color-text-secondary);margin:0}.skills{background-color:#f8f9fa;background-color:var(--primary-bg,#f8f9fa);margin:.25rem 0 1rem;padding:1rem 0;scroll-margin-top:80px;width:100%}.skills-container{box-sizing:border-box;margin:0 auto;max-width:900px;padding:0 1.5rem;width:100%}.skills-title{color:#2d2d2d;color:var(--text-primary,#2d2d2d);display:block;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;margin-left:0;margin-right:0;padding-bottom:.5rem;padding-left:0;position:relative;text-align:center;text-shadow:2px 2px 4px #0000001a;width:100%}.tech-icons-container{background:#0000;margin:0 auto;max-width:900px;padding:0;position:relative;width:100%}.tech-icons-grid{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:repeat(5,1fr);padding:20px 0;width:100%}.tech-icon-item{align-items:center;border-radius:0;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:relative;transition:all .3s ease}.tech-icon-item,.tech-icon-item:hover{background-color:initial;box-shadow:none}.tech-icon-item:hover{transform:translateY(-4px) scale(1.05)}.tech-icon-item:after{background-color:#000c;border-radius:4px;bottom:-30px;color:#fff;content:attr(title);font-size:.8rem;font-weight:500;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease;white-space:nowrap;z-index:10}.tech-icon-item:hover:after{opacity:1}.tech-icon{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:3rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.tech-icon-item:hover .tech-icon{filter:drop-shadow(0 8px 16px rgba(0,0,0,.2));transform:scale(1.2) rotate(5deg)}.tech-pill{align-items:center;background:linear-gradient(120deg,#5b7fff,#9b5bff);background:linear-gradient(120deg,var(--color-primary-600,#5b7fff),var(--color-accent,#9b5bff));border-radius:999px;box-shadow:0 4px 10px #00000026;color:#fff;display:inline-flex;font-size:.9rem;font-weight:700;justify-content:center;letter-spacing:.02em;min-width:120px;padding:.35rem .75rem;text-align:center}.html-icon{color:#e44d26}.css-icon{color:#1572b6}.js-icon{color:#f7df1e}.react-icon{color:#61dafb}.supabase-icon{color:#3ecf8e}.java-icon{color:#007396}.mysql-icon{color:#4479a1}.cpp-icon{color:#00599c}.dotnet-icon{color:#512bd4}.spring-icon{color:#6db33f}.python-icon{color:#3776ab}@media (max-width:1199px){.tech-icons-grid{gap:.75rem;grid-template-columns:repeat(4,1fr)}.tech-icon{font-size:2.6rem}}@media (max-width:768px){.tech-icons-grid{gap:.6rem;grid-template-columns:repeat(3,1fr)}.tech-icon{font-size:2.2rem}.tech-icon-item{padding:1rem}.skills-title{font-size:2.5rem}}@media (max-width:576px){.tech-icons-grid{gap:.8rem;grid-template-columns:repeat(4,1fr)}.tech-icon-item{padding:.8rem}.skills-title,.tech-icon{font-size:2rem}}.skill-category{background-color:var(--secondary-bg);border-radius:8px;box-shadow:0 2px 4px #0003;padding:1.5rem;transition:transform .3s ease}.skill-category:hover{transform:translateY(-5px)}.skill-category h3{color:var(--accent);margin-bottom:1rem;margin-top:0}.skill-category ul{list-style-type:none;margin:0;padding:0}.skill-category li{align-items:center;display:flex;font-weight:300;gap:.75rem;margin-bottom:.8rem;padding-left:0;position:relative}.skill-category li:hover .tech-icon{transform:scale(1.2) rotate(5deg)}:root{--color-bg:#fafafa;--color-surface:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#6b6b6b;--color-accent:#8b7355;--color-accent-hover:#6d5a43;--color-border:#e5e5e5;--color-muted:#f5f5f5;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-overlay:#0009;--color-surface-elevated:#fff;--color-surface-glass:#fff3;--color-border-light:#0000001a;--primary-bg:var(--color-bg);--secondary-bg:var(--color-muted);--accent:var(--color-accent);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--white:var(--color-surface)}body[data-theme=dark]{--color-bg:#0a0a0a;--color-surface:#1a1a1a;--color-text-primary:#f5f5f5;--color-text-secondary:#a3a3a3;--color-accent:#a68a6d;--color-accent-hover:#c4a882;--color-border:#2a2a2a;--color-muted:#1e293b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-overlay:#000c;--color-surface-elevated:#1e293b;--color-surface-glass:#1e293b33;--color-border-light:#ffffff1a;--primary-bg:var(--color-bg);--secondary-bg:var(--color-muted);--accent:var(--color-accent);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--white:var(--color-surface)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:80%}body{background-color:#fafafa;background-color:var(--color-bg);font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:300;scroll-behavior:smooth}body,h1,h2,h3,h4,h5,h6{color:#1a1a1a;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:600;letter-spacing:-.2px}.lead{font-size:2rem;font-weight:100;line-height:1.4}.text-light{font-weight:200}.text-normal{font-weight:400}.text-medium{font-weight:600}.text-bold{font-weight:800}.text-secondary{color:#6b6b6b;color:var(--color-text-secondary)}a{transition:all .2s ease-in-out}a,a:hover{color:#1a1a1a;color:var(--color-text-primary);text-decoration:none}.container-content{padding:185px 30px}.btn{background-color:#8b7355;background-color:var(--color-accent);border:1px solid #8b7355;border:1px solid var(--color-accent);border-radius:5px;color:#fafafa;color:var(--color-bg);cursor:pointer;font-weight:300;padding:.75rem 1.5rem;transition:all .3s ease-in-out}.btn:hover{background-color:#6d5a43;background-color:var(--color-accent-hover);border-color:#6d5a43;border-color:var(--color-accent-hover);box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}.btn-dark{background-color:#f5f5f5;background-color:var(--color-muted);color:#1a1a1a;color:var(--color-text-primary);font-weight:300}.btn-dark,.btn-dark:hover{border-color:#e5e5e5;border-color:var(--color-border)}.btn-dark:hover{background-color:#fff;background-color:var(--color-surface)}.btn-lg{font-size:1rem;padding:.8em 1.8em}.btn:focus,button:focus{outline:none}.card{background-color:#fff;background-color:var(--color-surface);border:1px solid #e5e5e5;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.section{padding:4rem 0}.section-break{height:100px;padding:15px 0}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.divider{background-color:#e5e5e5;background-color:var(--color-border);height:1px;margin:2rem 0;width:100%}@media (min-width:1200px){.btn-lg{font-size:1.1rem;line-height:1.1em;padding:1em 2.5em}}@media (max-width:1199px){.lead{font-size:1.55rem}p{font-size:.9rem}}@media (max-width:767px){.container-content{padding-bottom:105px;padding-top:105px}}@media (max-width:576px){.lead{font-size:1.25rem;font-weight:200}.btn-lg{font-size:.85rem;line-height:1.25em;padding:.8em 1.5em}.flex-xs-fill{flex:1 1 auto!important}}
/*# sourceMappingURL=main.bbc57e36.css.map*/