:root{--bg-color:#fdfbff;--text-primary:#1a1523;--text-secondary:#5e4b8b;--text-muted:#8f7ab8;--border-color:#d7c9ff;--border-light:#eee8ff;--accent-color:#9b5cff;--hover-ripple:#9b5cff33}[data-theme=dark]{--bg-color:#101014;--text-primary:#fafaf9;--text-secondary:#d6d3d1;--text-muted:#a8a29e;--border-color:#44403c;--border-light:#292524;--accent-color:#fafaf9;--hover-ripple:#ffffff26}:root{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.6}.container{max-width:42rem;min-height:100vh;margin:0 auto;padding:4rem 1.5rem}.homepage-shell{min-height:100vh;position:relative}.homepage-container{z-index:1;position:relative}.homepage-shell.sauron-active .sticky-header{background-color:#10030cbd;border:1px solid #ff8c5c3d;border-radius:1.25rem;padding:calc(1rem + 1px);box-shadow:0 24px 80px #00000057,inset 0 1px #ffd6b32e}@supports (backdrop-filter:blur(16px)){.homepage-shell.sauron-active .sticky-header{-webkit-backdrop-filter:blur(16px);background-color:#10030c94}}.homepage-shell.sauron-active .section,.homepage-shell.sauron-active .footer{background-color:#10030c52;border:1px solid #ff8c5c24;border-radius:1rem;position:relative;box-shadow:0 16px 40px #0000002e,inset 0 1px #ffd6b314}@supports (backdrop-filter:blur(12px)){.homepage-shell.sauron-active .section,.homepage-shell.sauron-active .footer{-webkit-backdrop-filter:blur(12px);background-color:#10030c3d}}.homepage-shell.sauron-active .section{padding:1rem 1.1rem}.homepage-shell.sauron-active .footer{padding:2rem 1.1rem 0}.homepage-shell.sauron-active .header-content{text-shadow:0 2px 18px #0000006b}.homepage-shell.sauron-active .header-content h1,.homepage-shell.sauron-active .header-content p,.homepage-shell.sauron-active .header-meta,.homepage-shell.sauron-active .building-status,.homepage-shell.sauron-active .building-status span,.homepage-shell.sauron-active .section,.homepage-shell.sauron-active .section p,.homepage-shell.sauron-active .section-title,.homepage-shell.sauron-active .footer,.homepage-shell.sauron-active .footer p,.homepage-shell.sauron-active .social-link,.homepage-shell.sauron-active .project-card-title,.homepage-shell.sauron-active .project-card-period,.homepage-shell.sauron-active .project-card-description,.homepage-shell.sauron-active .project-card-btn,.homepage-shell.sauron-active .project-card-tech-badge,.homepage-shell.sauron-active .skill-badge,.homepage-shell.sauron-active .view-all-projects-btn,.homepage-shell.sauron-active .clock-label,.homepage-shell.sauron-active .clock-segment,.homepage-shell.sauron-active .clock-hours,.homepage-shell.sauron-active .clock-minutes,.homepage-shell.sauron-active .clock-seconds,.homepage-shell.sauron-active .clock-milliseconds,.homepage-shell.sauron-active .clock-separator{color:#fff}.homepage-shell.sauron-active .header-meta,.homepage-shell.sauron-active .building-status,.homepage-shell.sauron-active .project-card-period,.homepage-shell.sauron-active .project-card-description,.homepage-shell.sauron-active .project-card-btn,.homepage-shell.sauron-active .project-card-tech-badge,.homepage-shell.sauron-active .skill-badge,.homepage-shell.sauron-active .view-all-projects-btn{color:#ffe7d8e6}.homepage-shell.sauron-active .skills-list{gap:.65rem}.homepage-shell.sauron-active .skill-badge{background:linear-gradient(#49110ba3,#1f080880);border-color:#ff8c5c42;box-shadow:0 10px 24px #0003,inset 0 1px #ffd6b31f}.homepage-shell.sauron-active .section-title,.homepage-shell.sauron-active .project-card-title,.homepage-shell.sauron-active .clock-segment,.homepage-shell.sauron-active .clock-hours,.homepage-shell.sauron-active .clock-minutes,.homepage-shell.sauron-active .social-link:hover{color:#fff3ea}.homepage-shell.sauron-active .featured-projects-grid{gap:1.75rem}.homepage-shell.sauron-active .project-card{background:linear-gradient(#1e090bd1,#0e040ac7),radial-gradient(circle at top,#ff8d5c1f,#0000 55%);border-color:#ff8c5c38;box-shadow:0 18px 48px #00000047,inset 0 1px #ffd6b31f}.homepage-shell.sauron-active .project-card:hover{border-color:#ffa15c80;box-shadow:0 24px 56px #00000057,0 0 26px #ff6f372e}.homepage-shell.sauron-active .project-card-image-wrapper,.homepage-shell.sauron-active .project-card-placeholder{background:linear-gradient(#380f09b8,#1106088f),#ffffff05}.homepage-shell.sauron-active .project-card-tech-badge,.homepage-shell.sauron-active .project-card-btn,.homepage-shell.sauron-active .view-all-projects-btn,.homepage-shell.sauron-active .clock-label{background-color:#ffffff0a;border-color:#ff8c5c38}.homepage-shell.sauron-active .project-card-btn:hover,.homepage-shell.sauron-active .view-all-projects-btn:hover{color:#fff7f0;background-color:#ff7e4c1f;border-color:#ffa15c73}.homepage-shell.sauron-active .footer{border-top-color:#ff8c5c2e}.homepage-shell.sauron-active .social-link,.homepage-shell.sauron-active .clock-label,.homepage-shell.sauron-active .clock-seconds,.homepage-shell.sauron-active .clock-milliseconds,.homepage-shell.sauron-active .clock-separator{color:#ffdbc6b8}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);border-bottom:1px solid #0000;flex-direction:row;margin-bottom:2rem;transition:gap .3s,padding .3s,border-color .3s,align-items .3s;display:flex}.header.is-scrolled{border-bottom-color:var(--border-light);align-items:center;gap:1rem;padding-top:.5rem;padding-bottom:.5rem}.header.is-scrolled .header-content h1{margin-bottom:.1rem;font-size:1.1rem}.header.is-scrolled .header-content p{margin-bottom:.1rem;font-size:.8rem}.header.is-scrolled .header-meta{margin-bottom:0;font-size:.75rem}.header.is-scrolled .profile-img,.header.is-scrolled .profile-flip-container,.header.is-scrolled .profile-video{width:3.5rem;height:3.5rem}@media (width<=639px){.header{flex-direction:column-reverse;align-items:flex-start}.header.is-scrolled{flex-direction:row;align-items:center}}.sticky-header{z-index:50;background-color:var(--bg-color);margin-top:-1rem;padding-top:1rem;padding-bottom:1rem;transition:padding .3s,background-color .3s;position:sticky;top:0}@supports (backdrop-filter:blur(10px)){.sticky-header{background-color:color-mix(in srgb, var(--bg-color), transparent 10%);-webkit-backdrop-filter:blur(10px)}}.header-content h1{margin-bottom:var(--spacing-sm);letter-spacing:-.025em;font-size:1.5rem;transition:font-size .3s,margin-bottom .3s}.header-content p{transition:font-size .3s,margin-bottom .3s}.header-meta{align-items:center;gap:.25rem;margin-bottom:.5rem;transition:font-size .3s,margin-bottom .3s;display:flex}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 4px 2px #38bdf866}50%{opacity:.6;transform:scale(1.15);box-shadow:0 0 10px 5px #38bdf899}}.building-status{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:1rem;transition:font-size .3s,margin-bottom .3s,opacity .3s;display:flex}.building-status .building-dot{background-color:#38bdf8;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-glow}.building-status .arthion-wrapper{display:inline-block;position:relative}.building-status .arthion-wrapper:hover .arthion-preview{opacity:1;visibility:visible;transform:translateY(0)}.building-status .arthion-brand{-webkit-text-fill-color:transparent;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#4c2354 0%,#818cf8 50%,#61546d 100%) text;font-weight:700;text-decoration:none;transition:opacity .2s;position:relative}.building-status .arthion-brand:hover{opacity:.8;text-underline-offset:3px;text-decoration:underline #818cf8}.building-status .arthion-preview{z-index:100;opacity:0;visibility:hidden;pointer-events:none;margin-top:.75rem;transition:opacity .25s,visibility .25s,transform .25s;position:absolute;top:100%;left:0;transform:translateY(-8px)}.building-status .arthion-preview img{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:.5rem;width:280px;max-width:80vw;box-shadow:0 10px 40px #0000004d}.header.is-scrolled .building-status{display:none}@keyframes aura-spin{to{transform:rotate(360deg)}}.header-image{border-radius:9999px;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.header-image:before{content:"";border-radius:inherit;background:conic-gradient(from 0deg, var(--accent-color), var(--text-muted), var(--border-color), var(--accent-color));pointer-events:none;opacity:.9;filter:drop-shadow(0 0 10px var(--hover-ripple));animation:4s linear infinite aura-spin;position:absolute;inset:-4px;mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 0)}.header-image>.profile-img{z-index:1;position:relative}.profile-img{object-fit:cover;border:1px solid var(--text-primary);border-radius:9999px;flex-shrink:0;width:6rem;height:6rem;transition:width .3s,height .3s}[data-theme=dark] .profile-img,[data-theme=midnight] .profile-img,[data-theme=forest] .profile-img,[data-theme=sunset] .profile-img,[data-theme=coffee] .profile-img,[data-theme=cyber] .profile-img{filter:grayscale()}@media (width>=640px){.profile-img{width:8rem;height:8rem}}.profile-flip-container{width:6rem;height:6rem;transform-style:preserve-3d;perspective:1000px;z-index:1;transition:width .3s,height .3s;position:relative}@media (width>=640px){.profile-flip-container{width:8rem;height:8rem}}.profile-flip-face{backface-visibility:hidden;border-radius:9999px;width:100%;height:100%;position:absolute;overflow:hidden}.profile-flip-front{z-index:2}.profile-flip-back{transform:rotateY(180deg)}.profile-video{object-fit:cover;border:1px solid var(--text-primary);border-radius:9999px;width:100%;height:100%;transition:width .3s,height .3s}@keyframes coinFlip{0%{transform:rotateY(0)}10%{transform:rotateY(180deg)}85%{transform:rotateY(180deg)}95%{transform:rotateY(360deg)}to{transform:rotateY(360deg)}}.profile-flip-container.flip-animation{animation:7s ease-in-out forwards coinFlip}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--border-light) 25%, var(--border-color) 50%, var(--border-light) 75%);background-size:200% 100%;border-radius:2px;animation:1.5s infinite shimmer}.header-image .skeleton{border-radius:9999px;width:6rem;height:6rem;animation:1.5s linear infinite shimmer}@media (width>=640px){.header-image .skeleton{width:8rem;height:8rem}}.section{margin-bottom:3rem}.section-title{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);margin-top:2.5rem;margin-bottom:1.5rem;padding-bottom:.25rem;font-size:.875rem;font-weight:700}.entry{margin-bottom:2rem}.entry:last-child{margin-bottom:0}.entry-header{flex-direction:column;margin-bottom:.25rem;display:flex}@media (width>=640px){.entry-header{flex-direction:row;justify-content:space-between;align-items:baseline}}.entry-role{color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.project-link{display:block}.project-link:hover .entry-title{text-underline-offset:4px;color:var(--text-primary);text-decoration:underline 1px}.project-link:hover .project-title-row .entry-title{text-decoration-color:var(--text-primary)}.project-title-row{align-items:baseline;gap:.25rem;display:flex}.project-title-row .entry-title{text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:4px;transition:text-decoration-color .2s}.skills-list{flex-wrap:wrap;gap:.5rem;font-size:.75rem;display:flex}.skill-badge{color:var(--text-secondary);border:1px solid var(--border-color);padding:.125rem .375rem}.tech-stack{color:var(--text-muted);flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.tech-stack .tech-item:before{content:"["}.tech-stack .tech-item:after{content:"]"}.footer{border-top:1px solid var(--border-light);margin-top:5rem;padding-top:2rem}.footer-links{flex-flow:wrap;align-items:center;gap:1rem;display:flex}@media (width>=640px){.footer-links{gap:2rem}}.footer-links .digital-clock{margin-top:0;margin-left:auto}.social-link{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.875rem;transition:color .2s;display:flex}.social-link:hover{color:var(--text-primary);text-underline-offset:4px;text-decoration:underline}.digital-clock{background:linear-gradient(135deg, var(--border-light) 0%, transparent 100%);font-family:var(--font-mono);border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:.2rem .5rem;transition:border-color .3s,box-shadow .3s;display:flex}@media (width>=640px){.digital-clock{background:0 0;border:none;justify-content:flex-start;width:fit-content;margin-top:0;padding:0}}.digital-clock:hover{border-color:var(--text-muted);box-shadow:0 0 15px #38bdf81a}.clock-display{letter-spacing:.05em;align-items:baseline;font-size:.875rem;font-weight:300;display:flex}@media (width>=640px){.clock-display{font-size:.875rem}}.clock-segment{color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center;min-width:1.5ch}.clock-hours,.clock-minutes{color:var(--text-primary)}.clock-seconds{color:var(--text-secondary)}.clock-milliseconds{color:var(--text-muted);opacity:.8;min-width:2ch;font-size:.75em}.clock-separator{color:var(--text-muted);margin:0 .1rem;animation:1s ease-in-out infinite blink}.clock-ms-sep{margin:0;animation:none}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.clock-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem}.icon-inline{vertical-align:text-bottom;width:1em;height:1em;display:inline-block}.floating-dock{z-index:100;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.floating-dock .theme-toggle-btn{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:9999px;padding:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.sauron-btn.is-active{color:#ffb28e;box-shadow:0 0 0 1px #ff6f3733,0 10px 24px #ff6f373d,0 0 28px #ff6f3733;border-color:#ff6f378c!important}.sauron-btn:not(.is-active){animation:4.6s ease-in-out infinite sauron-button-pulse;box-shadow:0 0 0 1px #ff6f3714,0 10px 24px #ff6f3714;border-color:#ff6f3738!important}.sauron-btn:not(.is-active) .theme-icon{transform-origin:50%;animation:.3s ease-out forwards icon-pop,4.6s ease-in-out 1.1s infinite sauron-eye-blink}@keyframes sauron-eye-blink{0%,38%,to{transform:scaleY(1)}40%{transform:scaleY(.08)}42%{transform:scaleY(1)}68%{transform:scaleY(1)}70%{transform:scaleY(.18)}72%{transform:scaleY(1)}}@keyframes sauron-button-pulse{0%,to{box-shadow:0 0 0 1px #ff6f3714,0 10px 24px #ff6f3714}40%{box-shadow:0 0 0 1px #ff6f372e,0 10px 24px #ff6f3729,0 0 20px #ff6f3724}70%{box-shadow:0 0 0 1px #ff6f3724,0 10px 24px #ff6f371f,0 0 14px #ff6f371a}}.featured-projects-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (width>=640px){.featured-projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:.75rem;flex-direction:column;height:100%;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;overflow:hidden}.project-card:hover{border-color:#50c87880;box-shadow:0 0 20px #50c87826}.project-card-image-wrapper{aspect-ratio:16/9;background-color:var(--border-light);border-radius:.5rem;flex-shrink:0;width:calc(100% - 1.5rem);margin:.75rem .75rem 0;position:relative;overflow:hidden}.project-card-skeleton{border-radius:.5rem;width:100%;height:100%}.project-card-placeholder{background:linear-gradient(135deg, var(--border-light) 0%, var(--border-color) 100%);border-radius:.5rem;width:100%;height:100%}.project-card-image{object-fit:cover;border-radius:.5rem;width:100%;height:100%;transition:transform .3s,filter .3s}.project-card:hover .project-card-image{transform:scale(1.02)}[data-theme=dark] .project-card-image{filter:grayscale()}.project-card-play-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;backdrop-filter:blur(4px);background-color:#0009;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;gap:.5rem;width:4rem;height:4rem;transition:opacity .25s,transform .25s,background-color .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.project-card-play-btn:hover{background-color:#000c;border-color:#fff;transform:translate(-50%,-50%)scale(1.1)}.project-card-play-label{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:700;display:none}.project-card:hover .project-card-play-btn,.project-card:focus-within .project-card-play-btn{opacity:1;transform:translate(-50%,-50%)scale(1)}@media (hover:none),(pointer:coarse){.project-card-play-btn{opacity:1;background-color:#000000b8;border-color:#ffffffb3;border-radius:999px;width:auto;height:auto;padding:.55rem .85rem;top:auto;bottom:.9rem;left:.9rem;transform:none;box-shadow:0 10px 24px #00000038}.project-card-play-btn:hover{transform:none}.project-card-play-btn svg{width:1rem;height:1rem}.project-card-play-label{display:inline}}.project-card-content{flex-direction:column;flex-grow:1;padding:.75rem 1rem 1rem;display:flex}.project-card-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.25rem;font-size:1rem;font-weight:700;text-decoration:none;display:block}.project-card-period{color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem}.project-card-description{color:var(--text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.8rem;line-height:1.6;display:-webkit-box;overflow:hidden}.project-card-tech{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.project-card-tech-badge{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;transition:border-color .2s,color .2s}.project-card:hover .project-card-tech-badge{border-color:var(--text-muted)}.project-card-actions{flex-wrap:nowrap;gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.project-card-btn{color:var(--text-secondary);border:1px solid var(--border-color);font-size:.75rem;font-family:var(--font-mono);background-color:#0000;border-radius:.375rem;align-items:center;gap:.375rem;padding:.4rem .75rem;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.project-card-btn:hover{background-color:var(--border-light);border-color:var(--text-muted);color:var(--text-primary)}.video-modal-backdrop{z-index:1000;background-color:#000000e6;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.video-modal-content{width:100%;max-width:90vw;max-height:90vh;position:relative}.video-modal-close{color:#fff;cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex;position:absolute;top:-2.5rem;right:0}.video-modal-close:hover{opacity:.7}.video-modal-player{background-color:#000;border-radius:.5rem;width:100%;max-height:85vh}.view-all-projects-btn{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background-color:#ffffff0d;border-radius:.5rem;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.8rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.view-all-projects-btn:hover{color:var(--text-primary);background-color:#ffffff1a;border-color:#50c87880;box-shadow:0 0 15px #50c8781a}.projects-page{padding-bottom:6rem}.projects-page-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.projects-page-header h1{letter-spacing:-.025em;font-size:1.5rem}.back-button{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;transition:color .2s;display:inline-flex}.back-button:hover{color:var(--text-primary)}.projects-grid{flex-direction:column;gap:1.5rem;display:flex}.projects-divider{border:0;border-top:1px solid var(--border-color);width:100%;margin:.25rem 0}.projects-section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.75rem}.project-tag{color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;background-color:#0000;border-radius:.25rem;padding:.2rem .5rem;font-size:.7rem}.education-item{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.education-item:last-child{margin-bottom:0}.education-icon{background-color:var(--border-light);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:3rem;height:3rem;overflow:hidden}.education-icon-skeleton{border-radius:50%;width:100%;height:100%}.education-icon-img{object-fit:cover;width:100%;height:100%;transition:filter .3s}[data-theme=dark] .education-icon-img{filter:grayscale()}.education-content{flex:1;min-width:0}.education-header{margin-bottom:.5rem}.education-title-row{align-items:center;gap:.5rem;display:flex}.education-institution{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:700}.education-toggle-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:opacity .2s ease-in-out;display:flex}.education-degree{color:var(--text-secondary);margin:.25rem 0;font-size:.8rem}.education-period{color:var(--text-muted);font-size:.75rem}.education-description{color:var(--text-secondary);margin-top:.5rem;font-size:.8rem;line-height:1.6}.education-details{margin-top:.5rem}.education-tags{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.education-tag{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000;border-radius:.25rem;padding:.2rem .5rem;font-size:.7rem;transition:border-color .2s,color .2s}.education-tag:hover{border-color:var(--text-muted);color:var(--text-primary)}.experience-item{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.experience-item:last-child{margin-bottom:0}.experience-icon{background-color:var(--border-light);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:3rem;height:3rem;overflow:hidden}.experience-icon-skeleton{border-radius:50%;width:100%;height:100%}.experience-icon-img{object-fit:cover;width:100%;height:100%;transition:filter .3s}[data-theme=dark] .experience-icon-img{filter:grayscale()}.experience-content{flex:1;min-width:0}.experience-header{margin-bottom:.5rem}.experience-title-row{align-items:center;gap:.5rem;display:flex}.experience-company{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:700}.experience-toggle-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:opacity .2s ease-in-out;display:flex}.experience-role{color:var(--text-secondary);margin:.25rem 0;font-size:.8rem}.experience-period{color:var(--text-muted);font-size:.75rem}.experience-description{color:var(--text-secondary);margin-top:.5rem;font-size:.8rem;line-height:1.6}.blogs-page{padding-bottom:6rem}.blogs-page-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.blogs-page-header h1{letter-spacing:-.025em;font-size:1.5rem}.blogs-page-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.blogs-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=640px){.blogs-grid{grid-template-columns:repeat(2,1fr)}}.blog-card{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:.75rem;flex-direction:column;height:100%;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.blog-card-image-wrapper{aspect-ratio:16/9;background-color:var(--border-light);border-radius:.5rem;flex-shrink:0;width:calc(100% - 1.5rem);margin:.75rem .75rem 0;position:relative;overflow:hidden}.blog-card-skeleton{border-radius:.5rem;width:100%;height:100%}.blog-card-image{object-fit:cover;border-radius:.5rem;width:100%;height:100%;transition:transform .3s,filter .3s}.blog-card:hover .blog-card-image{transform:scale(1.05)}[data-theme=dark] .blog-card-image{filter:brightness(.9)}.blog-card-content{flex-direction:column;flex-grow:1;padding:.75rem 1rem 1rem;display:flex}.blog-card-meta{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.blog-card-meta-item{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.7rem;display:flex}.blog-card-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1rem;font-weight:700;line-height:1.4}.blog-card-excerpt{color:var(--text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.8rem;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.blog-card-tag{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000;border-radius:.25rem;padding:.2rem .5rem;font-size:.65rem;transition:border-color .2s,color .2s}.blog-card:hover .blog-card-tag{border-color:var(--text-muted)}.blog-card-read-more{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;font-size:.75rem;font-family:var(--font-mono);background-color:#0000;border-radius:.375rem;align-self:flex-start;align-items:center;gap:.375rem;margin-top:auto;padding:.4rem .75rem;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.blog-card-read-more:hover{background-color:var(--border-light);border-color:var(--text-muted);color:var(--text-primary)}.blog-card-read-more:hover .blog-card-read-more-arrow{transform:translate(4px)}.blog-card-read-more-arrow{transition:transform .2s;transform:translate(0)}.blog-detail-page{padding-bottom:6rem}.blog-detail-header{margin-bottom:2rem}.blog-not-found{text-align:center;padding:4rem 0}.blog-not-found h1{margin-bottom:.5rem;font-size:1.5rem}.blog-not-found p{color:var(--text-muted)}.blog-article{max-width:100%}.blog-article-image-wrapper{aspect-ratio:16/9;background-color:var(--border-light);border-radius:.75rem;width:100%;margin-bottom:2rem;position:relative;overflow:hidden}.blog-article-skeleton{border-radius:.75rem;width:100%;height:100%}.blog-article-image{object-fit:cover;border-radius:.75rem;width:100%;height:100%}[data-theme=dark] .blog-article-image{filter:brightness(.9)}.blog-article-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}.blog-article-title{letter-spacing:-.025em;margin-bottom:1rem;font-size:1.75rem;font-weight:700;line-height:1.3}@media (width>=640px){.blog-article-title{font-size:2rem}}.blog-article-meta{align-items:center;gap:1.5rem;margin-bottom:1rem;display:flex}.blog-article-meta-item{color:var(--text-muted);align-items:center;gap:.375rem;font-size:.8rem;display:flex}.blog-article-tags{flex-wrap:wrap;gap:.5rem;display:flex}.blog-article-tag{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000;border-radius:.25rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;display:inline-flex}.blog-article-content{line-height:1.8}.blog-content-h1{letter-spacing:-.025em;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.blog-content-h1:first-child{margin-top:0}.blog-content-h2{letter-spacing:-.02em;color:var(--text-primary);margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.blog-content-h3{letter-spacing:-.01em;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:700}.blog-content-p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.8}.blog-list-item{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;line-height:1.6}.blog-list{margin:0 0 1rem 1.5rem;padding-left:.25rem}.blog-list-ordered{list-style-type:decimal}.blog-inline-code{font-family:var(--font-mono);background-color:var(--border-light);color:var(--text-primary);border-radius:.25rem;padding:.125rem .375rem;font-size:.85em}.blog-inline-link{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.blog-inline-link:hover{color:var(--text-secondary)}.blog-code-block{background-color:var(--border-light);border:1px solid var(--border-color);border-radius:.5rem;margin:1rem 0;padding:1rem;overflow-x:auto}.blog-code-block code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre;font-size:.8rem;line-height:1.6}.blog-link{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background-color:#ffffff0d;border-radius:.5rem;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.8rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.blog-link:hover{background-color:var(--border-light);border-color:var(--text-muted);color:var(--text-primary)}.page-loader{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.loader-spinner{border:2px solid var(--border-color);border-top-color:var(--text-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mermaid-diagram{justify-content:center;margin:2rem 0;display:flex}.mermaid-diagram svg{max-width:100%}
