:root{--bg: #0b1220;--panel: #0f172a;--muted: #94a3b8;--text: #e2e8f0;--brand: #00bbf9;--brand-2: #8338ec;--brand-3: #ff006e;--brand-4: #00f5d4;--accent: #22c55e;--ring: 0 0 0 3px rgba(0, 187, 249, .35);--shadow: 0 10px 30px rgba(2, 8, 23, .45);--radius: 16px}:root.light{--bg: #f8fafc;--panel: #ffffff;--muted: #475569;--text: #0f172a;--brand: #0077cc;--brand-2: #6b21a8;--brand-3: #db2777;--brand-4: #00c4b4;--accent: #16a34a;--shadow: 0 6px 20px rgba(2, 8, 23, .08)}[data-color-theme=aurora]{--brand: #00bbf9;--brand-2: #8338ec;--brand-3: #ff006e;--brand-4: #00f5d4;--ring: 0 0 0 3px rgba(0, 187, 249, .35)}[data-color-theme=aurora].light{--brand: #0077cc;--brand-2: #6b21a8;--brand-3: #db2777;--brand-4: #00c4b4}[data-color-theme=cinema]{--brand: #2979ff;--brand-2: #7c4dff;--brand-3: #ff1744;--brand-4: #00e5ff;--ring: 0 0 0 3px rgba(41, 121, 255, .35)}[data-color-theme=cinema].light{--brand: #1565c0;--brand-2: #651fff;--brand-3: #d50000;--brand-4: #00b8d4}[data-color-theme=sunset]{--brand: #ff7a00;--brand-2: #c200fb;--brand-3: #ff3d77;--brand-4: #6a00ff;--ring: 0 0 0 3px rgba(255, 122, 0, .35)}[data-color-theme=sunset].light{--brand: #e65100;--brand-2: #aa00ff;--brand-3: #f50057;--brand-4: #6200ea}[data-color-theme=cyber]{--brand: #00ffa3;--brand-2: #5e60ce;--brand-3: #7400b8;--brand-4: #00f5ff;--ring: 0 0 0 3px rgba(0, 255, 163, .35)}[data-color-theme=cyber].light{--brand: #00c853;--brand-2: #5c6bc0;--brand-3: #6a1b9a;--brand-4: #00bcd4}[data-color-theme=space]{--brand: #4a00e0;--brand-2: #00d1ff;--brand-3: #b517ff;--brand-4: #1f2a7c;--ring: 0 0 0 3px rgba(74, 0, 224, .35)}[data-color-theme=space].light{--brand: #4527a0;--brand-2: #0097a7;--brand-3: #9c27b0;--brand-4: #303f9f}[data-color-theme=volcanic]{--brand: #ff5400;--brand-2: #e10600;--brand-3: #ffa400;--brand-4: #1a1a2e;--ring: 0 0 0 3px rgba(255, 84, 0, .35)}[data-color-theme=volcanic].light{--brand: #e64a19;--brand-2: #c62828;--brand-3: #ff8f00;--brand-4: #37474f}[data-color-theme=icefire]{--brand: #00b2ff;--brand-2: #ff2e2e;--brand-3: #ff8a00;--brand-4: #1e3aff;--ring: 0 0 0 3px rgba(0, 178, 255, .35)}[data-color-theme=icefire].light{--brand: #0288d1;--brand-2: #d32f2f;--brand-3: #ef6c00;--brand-4: #1a237e}[data-color-theme=candy]{--brand: #ff5cc8;--brand-2: #9b5cff;--brand-3: #4dd6ff;--brand-4: #ff8ae2;--ring: 0 0 0 3px rgba(255, 92, 200, .35)}[data-color-theme=candy].light{--brand: #ec407a;--brand-2: #7e57c2;--brand-3: #29b6f6;--brand-4: #f48fb1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px;overflow-x:hidden}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;width:100%;max-width:100vw}#root{width:100%;max-width:100vw;overflow-x:hidden}a{color:inherit;text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;gap:.6rem;border:1px solid color-mix(in oklab,var(--brand) 65%,transparent);background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;padding:.85rem 1.1rem;border-radius:calc(var(--radius) - 6px);font-weight:600;box-shadow:var(--shadow);transition:.2s transform}.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--text);border:1px solid color-mix(in oklab,var(--text) 18%,transparent)}.theme-toggle{background:transparent;border:1px solid color-mix(in oklab,var(--text) 14%,transparent);color:var(--text);padding:.625rem;border-radius:50%;cursor:pointer;font-size:1.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;line-height:1}.card{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:22px}.grid{display:grid;gap:18px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.tag{font-size:.78rem;color:var(--muted);background:color-mix(in oklab,var(--text) 8%,transparent);padding:.28rem .55rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 14%,transparent)}.row{display:flex;gap:10px;flex-wrap:wrap}.small{font-size:.9rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:10px;top:10px;z-index:9999}.dev-banner{background:#fee2e2;border-bottom:1px solid #fca5a5;color:#dc2626;text-align:center;padding:8px 20px;font-size:.875rem;font-weight:500;position:relative;z-index:40}:root.light .dev-banner{background:#fee2e2;color:#dc2626}:root:not(.light) .dev-banner{background:#450a0a;border-bottom-color:#7f1d1d;color:#fca5a5}input,textarea{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 14%,transparent);color:var(--text);padding:.85rem 1rem;border-radius:12px;font:inherit}input:focus,textarea:focus,.theme-toggle:focus{outline:none;box-shadow:var(--ring)}textarea{min-block-size:140px;resize:vertical}form .field{display:grid;gap:.4rem}.app-card{cursor:pointer;display:block}.app-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--brand)}.app-card h3{transition:color .2s}.app-card:hover h3{color:var(--brand)}.user-menu-container{position:relative}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:var(--radius);box-shadow:0 10px 40px #0003;min-width:240px;z-index:10000;animation:dropdownSlideIn .2s ease;overflow:hidden}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:1rem;display:flex;align-items:center;gap:.75rem;background:color-mix(in oklab,var(--text) 4%,transparent)}.user-avatar-small{width:40px;height:40px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;color:#fff}.user-dropdown-info{display:flex;flex-direction:column;gap:.125rem;overflow:hidden}.user-email{font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--muted)}.user-dropdown-divider{height:1px;background:color-mix(in oklab,var(--text) 10%,transparent)}.user-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text);font-size:.875rem;font-family:inherit;cursor:pointer;text-decoration:none;transition:all .15s}.user-dropdown-item:hover{background:color-mix(in oklab,var(--text) 6%,transparent);color:var(--brand)}.user-dropdown-item i{width:1rem;text-align:center;color:var(--muted);transition:color .15s}.user-dropdown-item:hover i{color:var(--brand)}.user-dropdown-item.logout{color:#ef4444}.user-dropdown-item.logout:hover{background:#ef44441a;color:#ef4444}.user-dropdown-item.logout i{color:#ef4444}.qr-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10001;display:flex;align-items:center;justify-content:center;padding:1rem}.qr-popup{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;padding:2rem;text-align:center;position:relative;animation:popupSlideIn .3s ease}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.qr-popup-close{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.qr-popup-close:hover{background:color-mix(in oklab,var(--text) 8%,transparent);color:var(--text)}.qr-popup h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--text)}.qr-code-container{background:#fff;padding:1rem;border-radius:12px;display:inline-block}.qr-url{margin:1rem 0 0;font-size:.9rem;color:var(--muted);font-weight:500}.nav-links a{color:var(--text);text-decoration:none;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover{color:var(--brand)}.nav-btn{background:transparent;border:none;color:var(--text);text-decoration:none;font-weight:500;transition:color .2s;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;position:relative}.nav-btn:hover{color:var(--brand)}#skills .grid.cols-3{gap:1rem}#skills .card.pad{padding:1rem}#skills .card.pad h3{margin-top:0;margin-bottom:.5rem}#skills .card.pad p{margin-bottom:.5rem}.company{display:block;font-size:1.45rem;font-weight:800;color:var(--brand);margin-bottom:.12rem;letter-spacing:.2px;line-height:1.1}.nested-positions{margin-top:.5rem;margin-bottom:.5rem;padding-left:0}.position{margin-bottom:1.2rem}.position:last-child{margin-bottom:0}.position-title{display:flex;align-items:center;gap:.6rem;margin-bottom:.1rem}.position-title h4{margin:0;font-size:1.08rem;font-weight:600;color:var(--text)}.position .tag{font-size:.85rem;font-weight:500;margin-left:.2rem;margin-bottom:0}.position .date{font-size:.98rem;color:var(--muted);font-weight:500;margin-bottom:.2rem;letter-spacing:.1px}.position .desc{font-size:.97rem;color:var(--text);margin-bottom:.3rem;line-height:1.6}.position.planned{font-style:italic;opacity:.85}.position.planned .tag{background:color-mix(in oklab,var(--muted) 20%,transparent);color:var(--muted)}nav{position:fixed;top:0;left:0;right:0;z-index:50;background:color-mix(in oklab,var(--bg) 85%,transparent 15%);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid color-mix(in oklab,var(--text) 12%,transparent);transition:transform .3s ease}nav.nav-hidden{transform:translateY(-100%)}.nav-spacer{height:64px}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.2px}.brand-badge{inline-size:36px;block-size:36px;border-radius:10px;background:radial-gradient(circle 22px at 20% 20%,color-mix(in oklab,var(--brand) 85%,transparent) 85%,transparent 100%),radial-gradient(circle 18px at 75% 25%,color-mix(in oklab,var(--brand-2) 85%,transparent) 85%,transparent 100%),var(--panel);display:grid;place-items:center;color:#fff;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.25)}.nav-links{display:flex;gap:1rem;align-items:center}.nav-links a{padding:.55rem .7rem;border-radius:10px}.nav-links a:hover{background:color-mix(in oklab,var(--text) 8%,transparent)}.color-theme-container{position:relative}.color-theme-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 14%,transparent);border-radius:16px;padding:12px;box-shadow:var(--shadow),0 0 40px #00000026;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.color-theme-header{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;padding:0 4px 10px;text-align:center}.color-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.color-theme-tile{position:relative;width:48px;height:48px;border:none;background:transparent;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.color-theme-tile:hover{transform:scale(1.08);box-shadow:0 4px 20px #0000004d}.color-theme-tile.active{transform:scale(1.05);box-shadow:0 0 0 2px var(--text),0 4px 20px #0000004d}.color-theme-gradient{width:100%;height:100%;border-radius:10px}.color-theme-active-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;border-radius:10px;color:#fff;font-size:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.theme-mode-toggle{position:relative;display:flex;margin-top:12px;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:color-mix(in oklab,var(--text) 6%,transparent);border-radius:50px;padding:4px}.theme-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer;border-radius:50px;z-index:1;transition:color .25s ease}.theme-mode-btn.active{color:var(--text)}.theme-mode-slider{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);background:var(--panel);border-radius:50px;box-shadow:0 2px 8px #00000026;transition:left .25s cubic-bezier(.4,0,.2,1)}.theme-mode-slider.light{left:4px}.theme-mode-slider.dark{left:50%}.blob-count-section{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.blob-count-header{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;text-align:center;margin-bottom:8px}.blob-count-control{display:flex;align-items:center;background:color-mix(in oklab,var(--text) 6%,transparent);border-radius:50px;padding:4px}.blob-count-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--panel);color:var(--text);font-size:.9rem;cursor:pointer;border-radius:50%;transition:all .2s ease;box-shadow:0 2px 8px #00000026}.blob-count-btn:hover:not(:disabled){background:var(--brand);color:#fff}.blob-count-btn:disabled{opacity:.4;cursor:not-allowed}.blob-count-value{flex:1;text-align:center;font-size:1.1rem;font-weight:600;color:var(--text);min-width:40px}header.hero{position:relative;isolation:isolate}.hero-wrap{padding:64px 0 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.background-blobs{position:absolute;top:0;left:0;right:0;height:100vh;z-index:-1;overflow:visible;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(150px);will-change:transform;opacity:.25}[data-theme=light] .blob{opacity:.4}.blob-dynamic{animation:blobFloat ease-in-out infinite}.blob-color-1{background:var(--brand)}.blob-color-2{background:var(--brand-2)}.blob-color-3{background:var(--brand-3)}.blob-color-4{background:var(--brand-4)}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(60px,-30px) scale(1.05)}50%{transform:translate(-40px,40px) scale(.95)}75%{transform:translate(30px,20px) scale(1.02)}}.blob-1{width:600px;height:500px;background:var(--brand);left:-10%;top:0%;animation:blob1Move 12s ease-in-out infinite}.blob-2{width:550px;height:450px;background:var(--brand-2);right:-10%;top:10%;animation:blob2Move 15s ease-in-out infinite}@keyframes blob1Move{0%,to{transform:translate(0) scale(1)}33%{transform:translate(80px,-40px) scale(1.08)}66%{transform:translate(-50px,30px) scale(.95)}}@keyframes blob2Move{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-70px,50px) scale(.94)}66%{transform:translate(50px,-35px) scale(1.06)}}.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin:.2rem 0}.subtitle{color:var(--muted);font-size:1.05rem}.hero-card{display:grid;gap:10px}.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem}.pill{display:inline-flex;gap:.5rem;align-items:center;border:1px dashed color-mix(in oklab,var(--text) 18%,transparent);padding:.5rem .7rem;border-radius:999px;color:var(--muted);font-size:.92rem}h2.section-title{font-size:clamp(22px,3vw,30px);margin:10px 0 4px}section{padding:26px 0}.projects .item{display:flex;flex-direction:column;gap:.6rem}.projects .thumb{inline-size:100%;aspect-ratio:16/9;border-radius:12px;background:linear-gradient(135deg,color-mix(in oklab,var(--brand) 35%,transparent),color-mix(in oklab,var(--brand-2) 35%,transparent));display:grid;place-items:center;color:#fff;font-weight:700;letter-spacing:.3px}.timeline{position:relative;padding-left:4px}.timeline:before{content:"";position:absolute;inset:0 auto 0 14px;width:2px;background:color-mix(in oklab,var(--text) 12%,transparent)}.timeline .step{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:flex-start;padding-top:18px;padding-bottom:18px}.timeline .dot{inline-size:22px;block-size:22px;border-radius:999px;background:linear-gradient(180deg,var(--brand),var(--brand-2));margin-top:0;box-shadow:0 0 0 4px color-mix(in oklab,var(--brand) 30%,transparent);align-self:flex-start}.timeline-container{position:relative;overflow-x:visible;overflow-y:hidden;transition:max-height .4s ease-in-out}.timeline-container.collapsed{max-height:280px}.timeline-container.expanded{max-height:3000px}.timeline-fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent,var(--panel));pointer-events:none}.timeline-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:12px;background:transparent;border:1px solid color-mix(in oklab,var(--text) 14%,transparent);border-radius:12px;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.timeline-toggle:hover{background:color-mix(in oklab,var(--text) 5%,transparent);border-color:color-mix(in oklab,var(--text) 25%,transparent)}.timeline-toggle i{transition:transform .3s ease}footer{padding:30px 0 60px;color:var(--muted);border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.icons{display:flex;gap:.6rem}.icon-btn{inline-size:40px;block-size:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--text) 14%,transparent);display:grid;place-items:center;background:var(--panel)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:930px){.hero-wrap{grid-template-columns:1fr}.grid.cols-3{grid-template-columns:1fr 1fr}.grid.cols-2,.contact-grid{grid-template-columns:1fr}}.hamburger{display:none;flex-direction:column;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.hamburger:hover{background:color-mix(in oklab,var(--text) 8%,transparent)}.hamburger span{width:20px;height:2px;background:var(--text);margin:2px 0;transition:.3s;border-radius:1px}.hamburger.active span:nth-child(1){transform:rotate(-45deg) translate(-4px,4px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-4px,-4px)}.mobile-menu{position:fixed;top:64px;right:-100%;width:280px;height:calc(100vh - 64px);background:var(--panel);border-left:1px solid color-mix(in oklab,var(--text) 12%,transparent);transition:right .3s ease;z-index:1001;padding:1.5rem;display:flex;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden}.mobile-menu.active{right:0}.mobile-menu a{display:block;padding:1rem;color:var(--text);text-decoration:none;transition:background .2s,color .2s;font-size:1rem;border-bottom:1px solid color-mix(in oklab,var(--text) 8%,transparent)}.mobile-menu a:hover{background:color-mix(in oklab,var(--brand) 8%,transparent);color:var(--brand)}.mobile-menu>button:not(.theme-toggle){display:block;width:100%;padding:1rem;background:transparent;border:none;border-bottom:1px solid color-mix(in oklab,var(--text) 8%,transparent);color:var(--text);text-align:left;font-size:1rem;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}.mobile-menu>button:not(.theme-toggle):hover{background:color-mix(in oklab,var(--brand) 8%,transparent);color:var(--brand)}.mobile-menu .mobile-buttons{margin-top:auto;display:flex;gap:1rem;padding-top:2rem;padding-bottom:1rem;flex-shrink:0}.mobile-overlay{position:fixed;top:64px;left:0;width:100%;height:calc(100vh - 64px);background:#00000080;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000}.mobile-overlay.active{opacity:1;visibility:visible}body.mobile-menu-open{overflow:hidden;position:fixed;width:100%}@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex}.container{padding:0 24px}.hero-wrap{grid-template-columns:1fr;gap:2.5rem;padding:3rem 0 2rem;display:flex;flex-direction:column}.hero-left{text-align:center;order:1;padding-bottom:.5rem}.hero-right{order:3;max-width:none;width:100%;margin:.5rem 0 0;padding:1.5rem}.hero-left .row{justify-content:center}.pill{font-size:.85rem;padding:.4rem .6rem;margin-bottom:.75rem}.hero h1{font-size:clamp(36px,10vw,48px);margin-bottom:.5rem}.subtitle{font-size:1rem}.hero-cta{justify-content:center;gap:.5rem}.btn{padding:.7rem 1rem;font-size:.9rem}.section-title{text-align:center;margin-bottom:1rem}.grid.cols-3,.grid.cols-2{grid-template-columns:1fr;gap:1rem}.contact-grid{grid-template-columns:1fr;gap:1.5rem}.card.pad{padding:1.25rem}.hero-card{gap:1rem;padding:1.5rem}.hero-card .small{margin:.5rem 0;line-height:1.6}.timeline .step{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:flex-start;padding-top:14px;padding-bottom:14px}.timeline:before{left:8px}.timeline .dot{inline-size:16px;block-size:16px;border-radius:999px;background:linear-gradient(180deg,var(--brand),var(--brand-2));margin-top:0;box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 30%,transparent);align-self:flex-start}.small{font-size:.85rem}section{padding:1.5rem 0}footer{padding:2rem 0}.dev-banner{padding:6px 16px;font-size:.8rem}.contact-grid .row{flex-direction:column;align-items:stretch;gap:.75rem}.contact-grid .btn{width:100%;justify-content:center}.hero-card .row{justify-content:center}}@media(max-width:480px){.container{padding:0 20px}.hero h1{font-size:clamp(32px,9vw,40px)}.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:200px;justify-content:center}.mobile-menu{width:100%;right:-100%}.contact-grid .btn{font-size:.85rem;padding:.6rem 1rem}.hero-card .row{flex-direction:column;align-items:center;gap:.5rem}.hero-card .btn{width:100%;max-width:200px;justify-content:center}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg)}.login-container{width:100%;max-width:420px}.login-card{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-card .brand-badge{inline-size:56px;block-size:56px;border-radius:14px;background:radial-gradient(circle 34px at 20% 20%,color-mix(in oklab,var(--brand) 85%,transparent) 85%,transparent 100%),radial-gradient(circle 28px at 75% 25%,color-mix(in oklab,var(--brand-2) 85%,transparent) 85%,transparent 100%),var(--panel);display:grid;place-items:center;color:#fff;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.25);font-size:22px;margin:0 auto 1.5rem}.login-title{margin:0;font-size:1.75rem;font-weight:700;color:var(--text)}.login-subtitle{margin:.5rem 0 0;font-size:.95rem;color:var(--muted)}.login-card .form-group{margin-bottom:1.25rem}.login-card .form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:var(--text)}.login-card .form-group input{width:100%;background:var(--bg);border:1px solid color-mix(in oklab,var(--text) 14%,transparent);color:var(--text);padding:.85rem 1rem;border-radius:10px;font:inherit;font-size:.95rem;transition:all .2s}.login-card .form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0ea5e91a}.login-card .form-group input::placeholder{color:var(--muted);opacity:.6}.login-card .error-message{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#dc2626;padding:.85rem 1rem;border-radius:10px;margin-bottom:1.25rem;font-size:.9rem;display:none;animation:shake .3s}.login-card .error-message.show{display:block}.login-card .success-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:.85rem 1rem;border-radius:10px;margin-bottom:1.25rem;font-size:.9rem;display:none}.login-card .success-message.show{display:block}.forgot-password-link{text-align:right;margin-bottom:1rem}.forgot-password-link a{color:var(--brand);font-size:.85rem;text-decoration:none;transition:color .2s}.forgot-password-link a:hover{color:var(--brand-2);text-decoration:underline}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-card .login-btn{width:100%;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-radius:calc(var(--radius) - 6px);box-shadow:var(--shadow);transition:.2s transform}.login-card .login-btn:hover{transform:translateY(-2px)}.login-card .login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-card .btn.ghost{width:100%;background:transparent;color:var(--brand);border:1px solid color-mix(in oklab,var(--brand) 30%,transparent);margin-top:.75rem;padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:calc(var(--radius) - 6px);transition:all .2s;text-decoration:none}.login-card .btn.ghost:hover{background:color-mix(in oklab,var(--brand) 8%,transparent);border-color:var(--brand)}.divider{text-align:center;margin:1.5rem 0;position:relative;color:var(--muted);font-size:.85rem}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:color-mix(in oklab,var(--text) 8%,transparent)}.divider span{position:relative;background:var(--panel);padding:0 1rem}.login-card .back-link{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid color-mix(in oklab,var(--text) 8%,transparent)}.login-card .back-link a{color:var(--brand);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s;display:inline-flex;align-items:center;gap:.5rem}.login-card .back-link a:hover{color:var(--brand-2);text-decoration:underline}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--muted)}.admin-container{min-height:100vh;padding:6rem 2rem 2rem}.admin-header{text-align:center;margin-bottom:3rem}.admin-header h1{color:var(--text-color);margin-bottom:.5rem}.admin-header h1 i{margin-right:.5rem;color:var(--accent-color)}.user-info{color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:.5rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto 2rem}.stat-card{background:var(--card-bg);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001a}.stat-icon{width:60px;height:60px;border-radius:12px;background:var(--accent-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.stat-content h3{color:var(--text-muted);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-color)}.user-menu{position:relative}.user-button.active{color:var(--brand)}@media(max-width:768px){.login-card{padding:2rem 1.5rem;margin:1rem}.login-card .form-group{margin-bottom:1rem}.login-card .login-btn{margin-top:.75rem;padding:.875rem}.login-card .btn.ghost{margin-top:.5rem;padding:.875rem}.divider{margin:1.25rem 0}.login-card .back-link{margin-top:1.25rem;padding-top:1.25rem}.stats-grid{grid-template-columns:1fr;padding:0 1rem}.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:1.25rem}.stat-value{font-size:1.5rem}}
