:root{--nav-height: 64px}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:var(--nav-height)}.hero-section{position:relative;min-height:calc(100vh - var(--nav-height));display:grid;grid-template-columns:1fr 1fr;padding:2rem;gap:2rem;background:var(--gradient-primary);border-radius:var(--radius);color:#fff;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;filter:blur(80px);opacity:.3;z-index:0}.hero-section:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,var(--bg) 100%);pointer-events:none;z-index:1}.hero-content,.hero-illustration,.hero-scroll{position:relative;z-index:2}.hero-content h1{text-align:le}.hero-scroll{grid-column:1 / -1;justify-self:center;margin-top:1rem;cursor:pointer;color:#ffffffe6;animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-stats{display:flex;gap:1rem;margin-top:1.5rem}.stat{background:#ffffff4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.75rem 1.25rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-light);transition:transform var(--transition)}.teaser-section{min-height:calc(100vh - var(--nav-height));padding:2rem 1rem;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.teaser-section h2{font-size:2rem;color:var(--text-primary);text-align:center}.teaser-projects{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;max-width:1000px}.teaser-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light);display:flex;flex-direction:column;justify-content:space-between;transition:transform var(--transition),box-shadow var(--transition)}.hero-contact-teaser{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.icon-link{display:inline-flex;align-items:center;gap:.5rem;background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1rem;border-radius:var(--radius);color:var(--text-primary);text-decoration:none;font-weight:500;transition:transform var(--transition),box-shadow var(--transition)}.teaser-full{background:var(--surface);color:var(--text);text-align:center;border-radius:var(--radius);box-shadow:0 8px 24px #0000004d;max-width:720px;margin:1rem}.teaser-full .teaser-icon{font-size:4rem;color:var(--accent);margin-bottom:1rem}.teaser-full h2{font-size:2.5rem;margin-bottom:1rem}.teaser-full p{font-size:1.1rem;color:var(--text-light);max-width:500px;margin-bottom:2rem}.full-section .cta-button{background-color:var(--accent);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s ease}.full-section .cta-button:hover{background-color:#388bfd}.full-section{min-height:calc(100vh - var(--nav-height));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.services-sections{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:2rem}.hero-section,.full-section,.combined-teaser{scroll-snap-align:start;min-height:calc(100vh - var(--nav-height))}@media (max-width: 768px){.services-sections{flex-direction:column}.hero-section{height:calc(100vh - var(--nav-height))!important;min-height:calc(100vh - var(--nav-height))!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:1rem!important}.hero-illustration{display:none!important}.hero-content h1{font-size:1.8rem;text-align:center}.hero-content p{font-size:1rem;text-align:center;max-width:90%}.cta-button{margin-top:1rem}.hero-scroll{position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.hero-section{min-height:calc(100vh - var(--nav-height))!important;padding:1rem!important}.teaser-section,.full-section,.combined-teaser{height:auto!important;min-height:calc(80vh - var(--nav-height))!important;padding:1rem .5rem!important}.combined-teaser{position:relative}.hero-scroll,.hero-stats{display:none!important}}.line-container{display:block;width:80ch;overflow:hidden;white-space:pre}@keyframes typing{0%{width:0;border-color:#fff}to{width:100%;border-color:transparent}}.hero-section.split{display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-typing-wrapper{grid-column:2;justify-self:start;width:100%}.code-terminal{background:transparent;padding:1rem;font-family:Fira Code,monospace;font-size:1.5rem;white-space:pre;overflow:visible;width:100%}.line-container{display:block;width:100%;overflow:hidden;white-space:pre}.code-text{color:#fff}.comment-text{color:#fff9}.line-text{display:inline-block;width:0;overflow:hidden;border-right:3px solid #fff;animation-fill-mode:forwards}@keyframes typing{0%{width:0;color:transparent;border-color:#fff}0.1%{color:#fff}to{width:100%;color:#fff;border-color:transparent}}.line-container:nth-child(1) .line-text{animation:typing .6s steps(32,end) forwards 0s}.line-container:nth-child(2) .line-text{animation:typing .8s steps(20,end) forwards .7s}.line-container:nth-child(3) .line-text{animation:typing .8s steps(25,end) forwards 1.6s}.line-container:nth-child(4) .line-text{animation:typing .8s steps(23,end) forwards 2.5s}.line-container:nth-child(5) .line-text{animation:typing .8s steps(25,end) forwards 3.4s}.line-container:nth-child(6) .line-text{animation:typing 1s steps(45,end) forwards 4.3s}.line-container:nth-child(7) .line-text{animation:typing .5s steps(2,end) forwards 5.5s}.line-container:nth-child(8) .line-text{animation:typing .5s steps(8,end) forwards 6.1s}@media (max-width:1024px){.hero-section.split{grid-template-columns:1fr;row-gap:2rem}.hero-typing-wrapper{grid-column:1;justify-self:center}}@media (max-width:768px){.hero-typing-wrapper{display:none}}@media (max-width: 1250px){html{scroll-snap-type:none}.hero-typing-wrapper{display:none}.hero-section{height:calc(100vh - var(--nav-height));min-height:calc(100vh - var(--nav-height));display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:1rem!important}}.hero-section.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem}.hero-typing-wrapper{grid-column:2;justify-self:start;width:100%;overflow:hidden}.code-terminal{background:transparent;color:#fff;padding:1rem;font-family:Fira Code,monospace;font-size:rem;white-space:pre;overflow:hidden;width:100%;max-width:40rem}.line-text{display:inline-block;width:0;border-right:3px solid #fff;animation-fill-mode:forwards}.home-page{max-width:95%;margin:0 auto;padding:2rem 1rem}@media (max-width: 768px){.home-page{min-width:100%!important;padding:.5rem}.hero-section:after{background:linear-gradient(to bottom,#fff0,#fff0)}}@media (max-width: 1190px){.services-sections{flex-direction:column}}:root{--font-sans: "Poppins", sans-serif;--bg: #f0f4f8;--gradient-primary: linear-gradient(135deg, #6b73ff 0%, #000dff 100%);--gradient-accent: linear-gradient(135deg, #ff61a6 0%, #fda085 100%);--text-primary: #1a1a1a;--text-secondary: #555555;--card-bg: rgba(255, 255, 255, .6);--card-border: rgba(255, 255, 255, .8);--radius: 12px;--transition: .4s ease;--shadow-light: 0 8px 32px rgba(31, 38, 135, .37);--nav-height: 64px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);line-height:1.6;overflow-x:hidden}body h1{font-size:2.5rem;margin-bottom:1rem}button,input[type=button],input[type=submit],.btn,.nav-link-button,.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;line-height:1;cursor:pointer;background-color:var(--surface);color:var(--text-primary);transition:background-color .2s ease,box-shadow .2s ease,transform .1s ease}button:hover,input[type=button]:hover,input[type=submit]:hover,.btn:hover,.nav-link-button:hover,.cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}button:active,input[type=button]:active,input[type=submit]:active,.btn:active,.nav-link-button:active,.cta-button:active{transform:translateY(0);box-shadow:0 2px 6px #00000014}button:focus,input[type=button]:focus,input[type=submit]:focus,.btn:focus,.nav-link-button:focus,.cta-button:focus{outline:none;box-shadow:0 0 0 3px #58a6ff80}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,.btn:disabled,.nav-link-button:disabled,.cta-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary,.cta-button,input[type=submit]{background-color:var(--accent);color:#fff}.btn-primary:hover,.cta-button:hover,input[type=submit]:hover{background-color:var(--accent-light)}.btn-secondary,button.edit{background-color:var(--info);color:#fff}.btn-secondary:hover,button.edit:hover{background-color:#7c83fd}.btn-danger,button.delete{background-color:var(--danger);color:#fff}.btn-danger:hover,button.delete:hover{background-color:#da3633}.modal-buttons button{margin:0 var(--spacing-xs)}.navbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#ffffff80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);z-index:1000}.navbar a,.nav-link-button{margin:0 1rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:color var(--transition)}.navbar a:hover,.nav-link-button:hover{color:#000dff}.desktop-only{display:flex}.mobile-only{display:none}.hamburger{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;flex-direction:column;gap:4px}.hamburger .bar{width:25px;height:3px;background:var(--text-primary);transition:transform .3s ease}.hamburger{display:none}.hamburger .bar.open:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger .bar.open:nth-child(2){opacity:0}.hamburger .bar.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);flex-direction:column}.mobile-menu .nav-links{display:flex;flex-direction:column;padding:1rem}.mobile-menu .nav-links a,.mobile-menu .nav-links .nav-link-button{margin:.5rem 0}@media (max-width: 768px){.hamburger{display:flex!important}.desktop-only{display:none}.mobile-only{display:flex}}.app-container{max-width:75%;margin:0 auto;padding:2rem 1rem}.hero-section{position:relative;z-index:1;padding:4rem 2rem;background:var(--gradient-primary);border-radius:var(--radius);color:#fff;overflow:hidden}.hero-section:before{z-index:0;content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;filter:blur(80px);opacity:.3}.hero-content{position:relative;max-width:600px;margin:0 auto;animation:fadeInUp 1s var(--transition)}.hero-content h1{text-align:left;font-size:3rem;margin-bottom:1rem;background:linear-gradient(90deg,#ff61a6,#fda085);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-content p{text-align:left;font-size:1.25rem;margin-bottom:2rem}.hero-section.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.hero-content{position:relative;max-width:550px;margin:0}.hero-illustration img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-light);animation:fadeInUp 1s var(--transition)}.hero-stats{display:flex;gap:1.5rem;margin-top:2rem}.hero-stats .stat{background:#fff6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem 1.5rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-light);transition:transform var(--transition)}.hero-stats .stat:hover{transform:translateY(-4px)}.hero-stats .stat h3{margin:0;font-size:1.75rem;color:#fff}.hero-stats .stat p{margin:.25rem 0 0;color:#f0f4f8;font-size:.9rem}.hero-scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);width:48px;height:48px;background:#fffc;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #0003;transition:transform .3s ease,box-shadow .3s ease;z-index:2}.hero-scroll:hover{transform:translate(-50%) translateY(-4px);box-shadow:0 8px 20px #00000040}.hero-scroll svg{width:24px;height:24px}.hero-scroll svg path{stroke:#000dff;stroke-width:2}@keyframes bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-8px)}}.cta-button{display:inline-block;padding:.75rem 1.75rem;border:none;border-radius:var(--radius);background:var(--gradient-accent);color:#fff;font-weight:600;cursor:pointer;box-shadow:var(--shadow-light);transition:transform var(--transition),box-shadow var(--transition)}.cta-button:hover{transform:scale(1.05);box-shadow:0 12px 36px #fda08566}button.edit{padding:.6rem 1rem;border:none;border-radius:var(--radius);background:var(--gradient-primary);color:#fff;font-weight:500;cursor:pointer;transition:background var(--transition),transform var(--transition)}button.edit:hover{background:var(--gradient-accent);transform:scale(1.05)}button.delete{padding:.6rem 1rem;border:none;border-radius:var(--radius);background:#ef4444;color:#fff;font-weight:500;cursor:pointer;transition:background var(--transition)}button.delete:hover{background:#d32f2f}.admin-projects{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}.card{display:flex;flex-direction:row;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light);transition:transform var(--transition),box-shadow var(--transition)}.admin-project-card{display:grid;grid-template-columns:1fr auto;align-items:center;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000000d}.project-card{display:flex;flex-direction:column;justify-content:space-between;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light);transition:transform var(--transition),box-shadow var(--transition)}.project-actions{display:flex;gap:1rem}.project-card:hover,.admin-project-card:hover,.card:hover{transform:translateY(-5px);box-shadow:0 16px 48px #1f268740}.project-card h2,.admin-project-card h3,.card h2,.card h3{margin-top:0;color:var(--text-primary)}.project-card p,.card p{color:var(--text-secondary)}.project-card>p>a:last-child{margin:.5rem}.project-list{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.project-list{grid-template-columns:repeat(2,1fr)}}form input,form textarea,form select{width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);margin-bottom:1rem;transition:border-color var(--transition)}form input:focus,form textarea:focus,form select:focus{border-color:#000dff;outline:none}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem}.admin-tabs button{background:none;border:none;padding:.75rem 1.5rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius);transition:background var(--transition),color var(--transition)}.admin-tabs button.active,.admin-tabs button:hover{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2rem;max-width:480px;width:90%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light);animation:fadeInUp .5s var(--transition) ease-out}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem}.modal-buttons button:first-child{background:#ef4444;color:#fff}.modal-buttons button:last-child{background:var(--gradient-primary);color:#fff}.contact-page{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2rem;max-width:600px;margin:2rem auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light)}.contact-page h1,.contact-details p{margin-bottom:1rem}.contact-details>p>a{margin-left:.5rem}.discord-copy{cursor:pointer;margin-left:.5rem}.discord-copy:hover{color:#000dff}.social-links a{display:inline-flex;align-items:center;gap:.5rem;margin-right:1rem;color:var(--text-primary);transition:color var(--transition)}.social-links a:hover{color:#000dff}.download-cv{display:inline-block;margin-top:1rem;background:var(--gradient-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius);text-decoration:none;font-weight:600;transition:transform var(--transition)}.download-cv:hover{background:var(--gradient-accent);transform:scale(1.05)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-form{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-light)}.admin-hero-form-wrapper h2{margin:2rem 0rem}.admin-section h2{margin-bottom:2rem}.login-form h2{margin-bottom:1.5rem}.login-error{color:#ef4444;margin-bottom:1rem}.login-form button{background:var(--gradient-accent);color:#fff;width:100%;padding:.75rem;border:none;border-radius:var(--radius);font-weight:600;transition:transform var(--transition)}.login-form button:hover{transform:scale(1.02)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.add-form-wrapper{margin-bottom:var(--spacing-lg)}.add-project-toggle{margin-bottom:2rem}html{scroll-behavior:smooth}.hero-section.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;position:relative;padding:4rem 2rem;background:var(--gradient-primary);border-radius:var(--radius);color:#fff;overflow:hidden}.hero-section.split:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;filter:blur(80px);opacity:.3;z-index:0}.hero-content{position:relative;z-index:1}.hero-content h1{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(90deg,#ff61a6,#fda085);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-content p{font-size:1.125rem;margin-bottom:1.5rem}.cta-button{display:inline-block;padding:.75rem 1.5rem;background:var(--gradient-accent);color:#fff;border:none;border-radius:var(--radius);font-weight:600;box-shadow:var(--shadow-light);transition:transform var(--transition)}.cta-button:hover{transform:scale(1.05)}.hero-stats{display:flex;gap:1rem;margin-top:2rem}.stat{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem 1.25rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-light);transition:transform var(--transition)}.stat:hover{transform:translateY(-3px)}.stat h3{margin:0;font-size:1.5rem;color:#fff}.stat p{margin:.5rem 0 0;font-size:.9rem;color:#f0f4f8}.hero-illustration img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-light)}.teaser-section{margin-top:4rem}.teaser-section h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--text-primary)}.teaser-projects{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.teaser-card{background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-light);display:flex;flex-direction:column;justify-content:space-between;transition:transform var(--transition),box-shadow var(--transition)}.teaser-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f268740}.teaser-card h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem}.teaser-card p{margin:0 0 1.5rem;color:var(--text-secondary);flex-grow:1}.teaser-card button{align-self:flex-start}.hero-contact-teaser{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;justify-content:center}.icon-link{display:inline-flex;align-items:center;gap:.5rem;background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1rem;border-radius:var(--radius);color:var(--text-primary);text-decoration:none;font-weight:500;transition:transform var(--transition),box-shadow var(--transition)}.icon-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-light)}@media (max-width: 768px){.app-container{padding:1rem;max-width:100%}.contact-page{padding:1rem;max-width:95%;margin:1rem auto}.login-container{padding:1rem;max-width:95%}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;gap:.5rem}.admin-tabs button{flex:0 0 auto;padding:.6rem 1rem;white-space:nowrap}.admin-project-card{grid-template-columns:1fr;padding:1rem;gap:1rem}.admin-section form,.admin-hero-form-wrapper form{display:flex;flex-direction:column;gap:1rem}.admin-section input,.admin-section textarea,.admin-hero-form-wrapper input,.admin-hero-form-wrapper textarea{width:100%}}@media (max-width: 480px){h1{font-size:1.5rem}.admin-tabs{gap:.25rem}.admin-tabs button{padding:.5rem;font-size:.9rem}.admin-tab-content{font-size:.95rem}.admin-project-card{padding:.8rem}}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.project-card{height:100%;display:flex;flex-direction:column;justify-content:space-between;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-light);transition:transform var(--transition),box-shadow var(--transition)}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1f268726}.card-content{flex-grow:1;margin-bottom:1rem}.project-card>p:first-of-type{margin-bottom:1rem;font-size:.95rem;color:var(--text-secondary)}.project-card>p:first-of-type strong{color:var(--text-primary)}.project-card>p:last-of-type{display:flex;gap:1rem}.project-card a{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;font-size:.9rem;color:var(--gradient-primary);text-decoration:none;transition:color var(--transition)}.project-card a:hover{color:var(--gradient-accent);text-decoration:underline}.project-card a svg{width:1em;height:1em}@media (max-width: 768px){.project-list{grid-template-columns:1fr}}.project-actions{margin-top:auto;display:flex;gap:1rem}.project-card a+a{margin-left:1rem}h1{text-align:center;margin-bottom:2rem;color:var(--text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-align:center;box-shadow:0 1px 3px #0000001a}.card .icon{font-size:2rem;margin-bottom:.5rem}.skill-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem;overflow:hidden;transition:transform .2s ease}.skill-bar:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.skill-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.skill-header .skill-name{font-weight:600;color:var(--text);margin-left:.5rem;flex:1}.skill-header .skill-level{font-weight:600;color:var(--accent)}.skill-header svg{font-size:1.5rem;color:var(--accent)}.bar{height:10px;background:#2e2e2e;border-radius:5px;overflow:hidden}.fill{height:100%;width:0;background:linear-gradient(90deg,#58a6ff,#79c0ff);transition:width 1s ease-out;width:var(--level)}.skills-list .skill-bar .fill{animation:fillAnim 1s ease-out forwards}@keyframes fillAnim{0%{width:0}to{width:var(--level)}}.hire-page{text-align:center;background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;box-shadow:0 0 0 1px #ffffff08;max-width:600px;margin:2rem auto}.hire-page .cta-button{background-color:var(--accent);color:#fff;font-weight:600;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;text-decoration:none;margin-top:1rem;display:inline-block;transition:background-color .2s ease}.hire-page .cta-button:hover{background-color:#388bfd}.admin-section{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem;margin:2rem 0}.admin-section h2{margin-top:0;font-size:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.admin-form input,.admin-form textarea,.admin-form label{display:block;width:100%;margin-bottom:1rem}.admin-form input,.admin-form textarea{padding:.75rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg);color:var(--text)}.admin-form button{background-color:var(--accent);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.admin-form button:hover{background-color:#388bfd}.services-page{background-color:var(--bg);color:var(--text);padding:3rem 1.5rem}.services-page h1{margin-bottom:2rem;color:var(--text)}.services-page .grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.services-page .card{display:flex;flex-direction:column;background-color:var(--surface);border:1px solid var(--border);border-radius:10px;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.services-page .card:hover{transform:translateY(-6px);box-shadow:0 12px 28px #00000080}.services-page .card .icon{font-size:2.5rem;color:var(--accent);margin-bottom:1rem}.services-page .card h2{font-size:1.25rem;margin-bottom:.75rem;color:var(--text)}.services-page .card p{color:#8b949e;line-height:1.5;font-size:.95rem}.teaser-full{margin:1.5rem auto;max-width:720px;min-height:calc(100vh - var(--nav-height) - 4rem)!important}
