.navbar{z-index:10000;pointer-events:all;-webkit-backdrop-filter:blur(20px);background:#f0f6ffb8;width:auto;max-width:calc(100vw - 32px);height:46px;position:fixed;top:14px;left:50%;overflow:visible;transform:translate(-50%)}[data-theme=dark] .navbar{background:#060a14b8}.navbar{border:1px solid #00bcd42e;border-radius:999px;box-shadow:0 4px 24px #00000014,inset 0 1px #ffffffe6,inset 0 -1px #00bcd414}[data-theme=dark] .navbar{border-color:#00bcd426;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0f,inset 0 -1px #00bcd40f}.navbar{justify-content:space-between;align-items:center;gap:4px;padding:0 10px 0 8px;transition:background .3s,box-shadow .3s;display:flex}.nav-left{align-items:center;gap:0;display:flex;overflow:visible}.nav-avatar{object-fit:cover;width:30px;height:30px;box-shadow:var(--avatar-shadow);cursor:pointer;border-radius:50%;flex-shrink:0;margin-right:6px;transition:transform .2s}.nav-avatar:hover{box-shadow:none;transform:scale(1.3)}.nav-links{gap:2px;display:flex}.nav-link{cursor:pointer;font-family:var(--font);color:var(--text);white-space:nowrap;opacity:.75;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:5px 11px;font-size:10pt;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.nav-link:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;box-shadow:var(--box-sadow);text-decoration:none}.nav-link.active{color:var(--btn-text);background:var(--btn-bg);opacity:1;box-shadow:var(--box-sadow);font-weight:700}.nav-controls{flex-shrink:0;align-items:center;gap:2px;display:flex}.icon-btn{color:var(--text);cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:999px;align-items:center;padding:5px 8px;font-size:16px;transition:transform .2s;display:flex}.icon-btn:hover{opacity:1;transform:translateY(-1px)}.tooltip-wrap{display:flex;position:relative}.tooltip-wrap:hover .tooltip{opacity:1;transform:translate(-50%)translateY(0)}.tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;background:#0a0f1eeb;border:1px solid #00bcd433;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 4px 16px #00000040}.tooltip:after{content:"";border:5px solid #0000;border-bottom-color:#0a0f1eeb;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot-on{background:#76ff03;box-shadow:0 0 6px #76ff03}.dot-off{background:#f44;box-shadow:0 0 6px #f44}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-left:8px;padding:8px;transition:background .3s;display:none}.mobile-menu-btn:hover{background:#00bcd41a}.mobile-menu-btn.active .hamburger span:first-child{transform:rotate(45deg)translate(5px,5px)}.mobile-menu-btn.active .hamburger span:nth-child(2){opacity:0;transform:scale(0)}.mobile-menu-btn.active .hamburger span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{z-index:99999;-webkit-backdrop-filter:blur(20px);pointer-events:all;background:#fffffff2;border:1px solid #00bcd433;border-radius:16px;width:90%;max-width:300px;animation:.3s slideDown;position:fixed;top:70px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0003}[data-theme=dark] .mobile-menu{background:#1a1a1af2;border-color:#00bcd433}.mobile-menu-content{padding:16px}.mobile-nav-link{color:var(--text);border-radius:8px;align-items:center;margin:4px 0;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-link:hover{color:#fff;box-shadow:var(--box-sadow);background:#001012;text-decoration:none}[data-theme=dark] .mobile-nav-link:hover{color:#001012;background:#fff}.mobile-nav-link.active{color:#fff;box-shadow:var(--box-sadow);background:#001012;font-weight:600}[data-theme=dark] .mobile-nav-link.active{color:#001012;background:#fff}.mobile-nav-icon{align-items:center;margin-right:8px;display:flex}.hamburger{flex-direction:column;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.hamburger span{background:var(--text);transform-origin:50%;border-radius:1px;width:18px;height:2px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);display:block}.hamburger span:first-child,.hamburger span:nth-child(2){margin-bottom:4px}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=768px){.nav-links{display:none}.mobile-menu-btn{margin-left:auto;display:flex}.navbar{width:90%;padding:0 8px}.nav-left{justify-content:space-between;width:100%}}.navbar{background:var(--navbar-bg);-webkit-backdrop-filter:blur(100px);box-shadow:var(--box-sadow);border:1px solid #0000001a}.navbar .nav-link{color:var(--text)}.navbar .nav-link.active,.navbar .nav-link:hover{color:#fff;box-shadow:var(--box-sadow);background:#001012}.navbar .icon-btn{color:var(--text)}.navbar .icon-btn:hover{transform:translateY(-1px)}[data-theme=dark] .navbar{border:1px solid #ffffff1a;background:#192552!important}[data-theme=dark] .navbar .nav-link.active,[data-theme=dark] .navbar .nav-link:hover{color:#001012!important;background:#fff!important}@media print{.navbar{display:none!important}}.profile-card-wrap{justify-content:center;align-items:center;width:100%;margin:32px auto 0;padding:32px 20px;display:flex;position:relative;overflow:visible}.profile-card-wrap:before,.profile-card-wrap:after{content:"";filter:blur(70px);pointer-events:none;z-index:0;border-radius:50%;transition:background .3s;position:absolute}.profile-card-wrap:before{background:var(--orb1);width:380px;height:380px;animation:9s ease-in-out infinite blobDrift1;top:50%;left:50%;transform:translate(-70%,-50%)}.profile-card-wrap:after{background:var(--orb2);width:300px;height:300px;animation:11s ease-in-out infinite blobDrift2;top:50%;left:50%;transform:translate(10%,-50%)}.profile-card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(20px);background:#f5f9ffbf;border-radius:20px;width:720px;padding:28px 32px 24px;position:relative;overflow:hidden}[data-theme=dark] .profile-card{background:#0a0f1cc7}.profile-card{border:1px solid #00bcd42e;border-radius:999px;box-shadow:0 4px 24px #00000014,inset 0 1px #ffffffe6,inset 0 -1px #00bcd414}[data-theme=dark] .profile-card{border-color:#00bcd426;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0f,inset 0 -1px #00bcd40f}.profile-card{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.34,1.56,.64,1);transform:translateY(60px)scale(.88);box-shadow:0 12px 40px #00000014,inset 0 1px #ffffffe6}[data-theme=dark] .profile-card{box-shadow:0 12px 40px #00000073,inset 0 1px #ffffff0a}.profile-card--visible{opacity:1;transform:translateY(0)scale(1)}.profile-card--skeleton .profile-avatar{background:linear-gradient(90deg,#00bcd414 25%,#00bcd42e 50%,#00bcd414 75%) 0 0/200% 100%;animation:1.4s infinite shimmer}.profile-card:before,.profile-card:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:absolute}.profile-card:before{background:radial-gradient(circle,#00bcd41f 0%,#0000 70%);width:180px;height:180px;top:-60px;left:-60px}.profile-card:after{background:radial-gradient(circle,#00bcd41a 0%,#0000 70%);width:160px;height:160px;bottom:-50px;right:-50px}.profile-card>*{z-index:1;position:relative}.profile-avatar-wrap{justify-content:center;margin-bottom:12px;display:flex}.profile-avatar{background:#00bcd40f;border:3px solid #00bcd44d;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;display:flex;overflow:hidden;box-shadow:0 0 0 6px #00bcd412,0 8px 28px #00bcd426}[data-theme=dark] .profile-avatar{background:#00bcd414;border-color:#00bcd438;box-shadow:0 0 0 6px #00bcd40d,0 8px 28px #00bcd41f}.profile-name{color:var(--text);letter-spacing:.02em;margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:16pt;font-weight:800}.profile-gold-line{background:linear-gradient(90deg,#0000,#00bcd499,#0000);border-radius:2px;width:70%;height:1.5px;margin:0 auto 12px;position:relative}.profile-gold-line:before{content:"◆";color:#00bcd4;background:#f5f9ffbf;padding:0 6px;font-size:9px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .profile-gold-line:before{background:#0a0f1cc7}.profile-bio{color:var(--text);opacity:.7;text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0 0 12px;font-family:sans-serif;font-size:9.5pt;line-height:1.6}.profile-tag{color:#00bcd4;opacity:.85;letter-spacing:.01em;margin:-4px 0 8px;font-size:9pt;font-weight:500}.profile-bottom{justify-content:center;align-items:center;gap:16px;margin-top:12px;display:flex}.profile-bottom-left{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.profile-socials{justify-content:center;gap:8px;margin-bottom:8px;display:flex}.profile-socials a{background:#00bcd412;border:1px solid #00bcd438;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s,transform .2s,box-shadow .2s;display:flex}.profile-socials a:hover{background:#00bcd426;border-color:#00bcd4;transform:translateY(-3px);box-shadow:0 6px 16px #00bcd433}.profile-socials a svg{fill:#00bcd4}.profile-contacts{flex-wrap:wrap;justify-content:center;gap:10px;font-size:9.5pt;display:flex}.profile-contact-item{color:var(--text);background:#00bcd40f;border:1px solid #00bcd42e;border-radius:999px;align-items:center;gap:5px;padding:4px 12px;transition:background .2s,border-color .2s,transform .2s;display:flex}.profile-contact-item:hover{background:#00bcd41f;border-color:#00bcd459;transform:translateY(-1px)}[data-theme=dark] .profile-contact-item{background:#00bcd40d;border-color:#00bcd41f}.profile-contact-item a{color:var(--link);text-decoration:none;transition:color .15s}.profile-contact-item a:hover{color:var(--link-hover)}.profile-barcode{flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-barcode img{opacity:.85;border-radius:6px;width:100px}[data-theme=dark] .profile-barcode img{filter:invert();opacity:.7}.contact-icon{font-size:13px}.skeleton-line{background:linear-gradient(90deg,#00bcd414 25%,#00bcd42e 50%,#00bcd414 75%) 0 0/200% 100%;border-radius:6px;margin:0 auto;animation:1.4s infinite shimmer}@keyframes blobDrift1{0%,to{transform:translate(-70%,-50%)scale(1)}50%{transform:translate(-60%,-60%)scale(1.1)}}@keyframes blobDrift2{0%,to{transform:translate(10%,-50%)scale(1)}50%{transform:translate(20%,-40%)scale(1.08)}}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}@media print{.profile-card-wrap{display:none!important}}.magnifier-lens{pointer-events:none;z-index:9998;background:var(--bg,#fff);border:2.5px solid #00bcd4b3;border-radius:12px;position:fixed;overflow:hidden;box-shadow:0 8px 40px #00000047,0 0 0 1px #00bcd426}.magnifier-inner{will-change:transform;position:absolute;top:0;left:0;overflow:hidden}.magnifier-hint{text-align:center;color:#ffffffe6;-webkit-backdrop-filter:blur(20px);background:#00000073;font-size:11px;font-weight:500;position:absolute;bottom:0;left:0;right:0}[data-theme=dark] .magnifier-hint{background:#00000073}.magnifier-hint{letter-spacing:.04em;pointer-events:none;z-index:1;padding:5px 0}.magnifier-toggle-wrap{z-index:9999;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:24px;right:24px}.magnifier-toggle-wrap:hover .magnifier-tooltip{opacity:1;transform:translateY(0)}.magnifier-toggle{color:#00bcd4;cursor:pointer;z-index:0;background:#00bcd41a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:background .2s,box-shadow .2s;display:flex;position:relative}.magnifier-toggle:before{content:"";background:conic-gradient(from var(--wave-angle,0deg), transparent 0deg, #00bcd4 60deg, #00e5ff 120deg, #0097a7 180deg, transparent 240deg, #00bcd4 300deg, transparent 360deg);z-index:-1;filter:blur(1px);border-radius:50%;animation:2s linear infinite wave-spin;position:absolute;inset:-3px}.magnifier-toggle:after{content:"";background:var(--bg,#1a1a2e);z-index:-1;border-radius:50%;position:absolute;inset:2px}.magnifier-toggle.active{color:#fff;background:#00bcd4}.magnifier-toggle:hover{background:#00bcd438}.magnifier-tooltip{color:#fff;-webkit-backdrop-filter:blur(20px);background:#0a0f1eeb;font-size:11px;font-weight:600}[data-theme=dark] .magnifier-tooltip{background:#060a14eb}.magnifier-tooltip{white-space:nowrap;opacity:0;pointer-events:none;border:1px solid #00bcd433;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(4px);box-shadow:0 4px 16px #00000040}[data-theme=dark] .magnifier-tooltip{background:#060a14eb;border-color:#00bcd440}@property --wave-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes wave-spin{to{--wave-angle:360deg}}@media (width<=768px){.magnifier-toggle-wrap{display:none!important}}@media print{.magnifier-toggle-wrap{display:none!important}}.resume-page{z-index:1;color:#000;max-width:8.5in;min-height:100vh;position:relative}.resume-name{color:#000;margin-bottom:3pt;font-size:20pt;font-weight:700}.resume-tag{color:#000;opacity:.85;margin:0 0 6pt;font-size:10pt;font-weight:500}.resume-contact{color:#000;margin-bottom:10pt;font-size:10pt;line-height:1.4}.resume-contact a{color:#000}.resume-contact a:hover{color:#0ff;text-decoration:underline}.resume p,.resume li,.resume span,.resume div{color:#000}.resume a{color:#000!important}.resume a:hover{color:#0ff!important}[data-theme=dark] .resume-page,[data-theme=dark] .resume-name,[data-theme=dark] .resume-tag,[data-theme=dark] .resume-contact,[data-theme=dark] .resume-contact a{color:#fff}[data-theme=dark] .resume-contact a:hover{color:#0ff}[data-theme=dark] .resume p,[data-theme=dark] .resume li,[data-theme=dark] .resume span,[data-theme=dark] .resume div,[data-theme=dark] .resume a{color:#fff}[data-theme=dark] .resume a:hover{color:#0ff!important}[data-theme=dark] body:has(.resume-page){background:#000!important}body:has(.resume-page):before{display:none!important}body:has(.resume-page):after{display:none!important}body:has(.resume-page){background:#fff!important}.section-rail{z-index:100;background:var(--navbar-bg);-webkit-backdrop-filter:blur(100px);width:52px;box-shadow:var(--box-sadow);border:1px solid #0000001a;border-radius:28px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 8px;transition:width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1),background .3s;display:flex;position:fixed;top:50%;left:18px;overflow:visible;transform:translateY(-50%)}[data-theme=dark] .section-rail{border:1px solid #ffffff1a}.section-rail[data-vertical=false] .rail-divider{display:none}.section-rail[data-vertical=true] .rail-btn{flex-direction:row;max-width:34px;margin-left:0;transition:max-width .28s cubic-bezier(.4,0,.2,1),background .2s,opacity .2s;overflow:hidden}.section-rail[data-vertical=true] .rail-btn:hover{color:#fff;opacity:1;max-width:160px;box-shadow:var(--box-sadow);background:#001012}[data-theme=dark] .section-rail[data-vertical=true] .rail-btn:hover{color:#001012;background:#fff}.section-rail[data-vertical=true] .rail-label{opacity:0;white-space:nowrap;color:var(--rail-text);transition:opacity .15s .1s}.section-rail[data-vertical=true] .rail-btn:hover .rail-label{opacity:1}.section-rail[data-vertical=false] .rail-btn{flex-direction:column;justify-content:flex-start;align-items:center;width:34px;margin-top:-5px;transition:background .2s,opacity .2s;overflow:hidden}.section-rail[data-vertical=false] .rail-btn:hover{color:#fff;opacity:1;box-shadow:var(--box-sadow);background:#001012}[data-theme=dark] .section-rail[data-vertical=false] .rail-btn:hover{color:#001012;background:#fff}.section-rail[data-vertical=false] .rail-label{white-space:nowrap;writing-mode:vertical-lr;opacity:0;transform-origin:top;max-height:0;color:var(--text);font-size:10pt;transition:max-height .32s cubic-bezier(.4,0,.2,1),opacity .22s 80ms,transform .32s cubic-bezier(.4,0,.2,1);overflow:hidden;transform:scaleY(.6)}.section-rail[data-vertical=false] .rail-btn:hover .rail-label{opacity:1;max-height:120px;transform:scaleY(1)}.rail-header{letter-spacing:.14em;color:#00bcd4;white-space:nowrap;opacity:.7;align-self:center;padding:0 6px 6px;font-size:9px;font-weight:700}.rail-divider{background:#00bcd433;border-radius:1px;flex-shrink:0;width:100%;height:1px;margin:2px 0}.rail-btn{cursor:pointer;font-family:var(--font);color:var(--text);white-space:nowrap;opacity:.7;background:0 0;border:none;border-radius:999px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:8px;font-size:11pt;transition:max-width .28s cubic-bezier(.4,0,.2,1),background .2s,opacity .2s,box-shadow .2s;display:flex}.rail-btn:hover{color:#fff;opacity:1;box-shadow:var(--box-sadow);background:#001012}[data-theme=dark] .rail-btn:hover{color:#001012;background:#fff}.rail-icon{text-align:center;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;line-height:1;display:flex}.rail-label{color:var(--text);opacity:.75;font-size:10pt;font-weight:500}.rail-toggle{cursor:pointer;color:var(--text);opacity:.7;background:#00bcd414;border:1px solid #00bcd42e;border-radius:999px;justify-content:center;align-self:center;align-items:center;margin-top:2px;padding:6px 8px;transition:background .2s,color .2s;display:flex}.rail-toggle:hover{color:#00bcd4;opacity:1;background:#00bcd42e}[data-theme=dark] .rail-toggle{background:#00bcd41a;border-color:#00bcd426}[data-theme=dark] .rail-toggle:hover{background:#00bcd433}.rail-toggle-arrow{font-size:14px;line-height:1;transition:transform .35s cubic-bezier(.4,0,.2,1);display:inline-block}@keyframes blink-cyan{0%,to{color:#00bcd4;border-bottom-color:#00bcd4}50%{color:var(--text);border-bottom-color:var(--border)}}.blink-heading{animation:.4s 6 blink-cyan}@media (width<=768px){.section-rail{display:none!important}}@page{margin:40px}@media print{.section-rail{display:none!important}.resume-page{box-sizing:border-box;max-width:100%;margin:0;padding:0 40px}.resume-page>div>div{break-inside:avoid}a{color:#000!important;text-decoration:none!important}p,li{orphans:3;widows:3}}.blog-wrap{max-width:1100px;margin:calc(var(--nav-height) + 32px) auto 60px;padding:0 24px}.blog-masthead{text-align:center;margin-bottom:14px;padding-bottom:14px}.blog-masthead h1{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-family:Georgia,serif;font-size:2.6rem;font-weight:900;line-height:1}.blog-tabs{border-bottom:1px solid var(--section-border);gap:2px;margin-bottom:28px;display:flex}.blog-tab-btn{cursor:pointer;font-family:var(--font);color:var(--text);white-space:nowrap;opacity:.75;background:0 0;border:none;border-radius:0;align-items:center;gap:4px;margin:0 2px;padding:8px 20px;font-size:10pt;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex;position:relative;transform:skew(-15deg)}.blog-tab-btn span{display:block;transform:skew(15deg)}.blog-tab-btn:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;box-shadow:var(--box-sadow);text-decoration:none;transform:skew(-15deg)translateY(-1px)}.blog-tab-btn.active{color:var(--btn-text);background:var(--btn-bg);opacity:1;box-shadow:var(--box-sadow);font-weight:700;transform:skew(-15deg)}.blog-filter{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.blog-filter-btn{border:1px solid var(--border);color:var(--text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:20px;padding:4px 14px;font-family:sans-serif;font-size:.72rem;transition:background .18s,color .18s,border-color .18s}.blog-filter-btn.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--section-border)}.blog-filter-btn:hover:not(.active){background:var(--btn-bg);color:var(--btn-text);border-color:var(--section-border);opacity:.7}.blog-featured{cursor:pointer;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;margin-bottom:40px;display:grid}.blog-featured:hover .blog-featured-img{transform:scale(1.03)}.blog-featured-img-wrap{border-radius:10px;overflow:hidden}.blog-featured-img{object-fit:cover;border-radius:10px;width:100%;height:320px;transition:transform .4s;display:block}.blog-featured-body{flex-direction:column;gap:12px;display:flex}.blog-featured-badge{letter-spacing:.18em;text-transform:uppercase;color:#00bcd4;align-items:center;gap:6px;font-family:sans-serif;font-size:.65rem;font-weight:600;display:inline-flex}.blog-featured-badge span{color:#fff;background:#00bcd4;border-radius:3px;padding:2px 8px;font-size:.6rem}.blog-featured-title{color:var(--text);font-family:Georgia,serif;font-size:1.7rem;font-weight:800;line-height:1.25}.blog-featured-excerpt{opacity:.68;font-family:Georgia,serif;font-size:.92rem;line-height:1.7}.blog-featured-meta{opacity:.5;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #80808033;align-items:center;gap:8px;padding-top:10px;font-family:sans-serif;font-size:.68rem;display:flex}.blog-avatar{object-fit:cover;border:1.5px solid #00bcd4;border-radius:50%;width:24px;height:24px}.blog-read-btn{background:var(--btn-bg);color:var(--btn-text);letter-spacing:.1em;text-transform:uppercase;border-radius:5px;width:fit-content;margin-top:4px;padding:8px 20px;font-family:sans-serif;font-size:.72rem;font-weight:600;transition:opacity .2s;display:inline-block}.blog-read-btn:hover{opacity:.85}.blog-section-label{align-items:center;gap:12px;margin-bottom:18px;display:flex}.blog-section-label span{letter-spacing:.22em;text-transform:uppercase;opacity:.45;white-space:nowrap;font-family:sans-serif;font-size:.65rem;font-weight:700}.blog-section-label hr{border:none;border-top:1px solid #80808033;flex:1}.blog-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.blog-card{border:1px solid var(--border);cursor:pointer;background:#8080800a;border-radius:10px;flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden}.blog-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.blog-card-img-wrap{overflow:hidden}.blog-card-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.blog-card-cat{letter-spacing:.18em;text-transform:uppercase;color:#00bcd4;font-family:sans-serif;font-size:.6rem;font-weight:600}.blog-card-hearts{color:#e74c3c;align-items:center;gap:4px;font-family:sans-serif;font-size:.65rem;font-weight:600;display:flex}.blog-card-cat-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.blog-card-title{color:var(--text);font-family:Georgia,serif;font-size:.97rem;font-weight:700;line-height:1.35}.blog-card-excerpt{opacity:.6;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.8rem;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card-meta{opacity:.42;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-family:sans-serif;font-size:.62rem;display:flex}.blog-card-footer{border-top:1px solid #80808026;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;padding-top:8px;display:flex}.blog-modal{background:var(--bg);color:var(--text);border-radius:12px;width:100%;max-width:700px;max-height:90vh;position:relative;overflow-y:auto}.blog-modal-close{background:var(--btn-bg);cursor:pointer;width:32px;height:32px;color:var(--btn-text);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:14px;right:16px}.blog-modal-img{object-fit:cover;border-radius:12px 12px 0 0;width:100%;height:260px;display:block}.blog-modal-cat{letter-spacing:.2em;text-transform:uppercase;color:#00bcd4;margin-bottom:8px;font-family:sans-serif;font-size:.62rem;font-weight:600}.blog-modal-title{margin-bottom:12px;font-family:Georgia,serif;font-size:1.6rem;font-weight:800;line-height:1.25}.blog-modal-meta{opacity:.45;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #80808026;align-items:center;gap:8px;margin-bottom:18px;padding-bottom:16px;font-family:sans-serif;font-size:.68rem;display:flex}.blog-modal-text{opacity:.82;font-family:Georgia,serif;font-size:.97rem;line-height:1.85}.blog-modal-footer{border-top:1px solid #80808026;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.blog-modal-links a{letter-spacing:.08em;text-transform:uppercase;color:#00bcd4;border-bottom:1px solid #00bcd4;padding-bottom:1px;font-family:sans-serif;font-size:.72rem;text-decoration:none}.blog-modal-links a:hover{opacity:.7}.load-more-btn{border:1px solid var(--border);background:var(--btn-bg);color:var(--btn-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:20px;padding:10px 32px;font-family:sans-serif;font-size:.78rem;transition:background .18s,color .18s,border-color .18s}.load-more-btn:hover:not(:disabled){opacity:.8}.load-more-btn:disabled{opacity:.5;cursor:default}@media (width<=860px){.blog-featured{grid-template-columns:1fr;gap:18px}.blog-featured-img{height:220px}.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-masthead h1{font-size:1.9rem}}@media (width<=540px){.blog-grid{grid-template-columns:1fr}.blog-modal-body{padding:18px 16px 24px}.blog-modal-title{font-size:1.3rem}}.luffy-character{z-index:10;pointer-events:none;width:120px;height:120px;position:fixed;top:2rem;left:2rem}.luffy-character img{object-fit:cover;-webkit-mask-composite:source-in;background:linear-gradient(45deg,#ff6b35,#f7931e,#ffd23f,#06ffa5,#1cb5e0,#8e44ad) border-box;border:4px solid #0000;border-radius:50%;width:100%;height:100%;transition:all .3s;animation:3s ease-in-out infinite luffyFloat;box-shadow:0 0 20px #ff6b354d,0 0 40px #f7931e33,inset 0 0 20px #ffffff1a;-webkit-mask:radial-gradient(circle,#fff 50%,#0000 52%),linear-gradient(45deg,#0000 30%,#fff 32% 68%,#0000 70%);mask:radial-gradient(circle,#fff 50%,#0000 52%),linear-gradient(45deg,#0000 30%,#fff 32% 68%,#0000 70%)}.luffy-character:before{content:"";z-index:-1;background:linear-gradient(45deg,#ff6b35,#f7931e,#ffd23f,#06ffa5,#1cb5e0,#8e44ad);border-radius:50%;animation:4s linear infinite borderRotate;position:absolute;inset:-8px}.luffy-character:after{content:"";z-index:-1;background:conic-gradient(#0000,#fff6,#0000);border-radius:50%;animation:2s ease-in-out infinite shimmer;position:absolute;inset:-4px}@keyframes luffyFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes borderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portfolio-card{-webkit-backdrop-filter:blur(20px);background:#ffffff0d;border-radius:20px;overflow:hidden}[data-theme=dark] .portfolio-card{background:#ffffff0d}.portfolio-card{cursor:pointer;border:1px solid #ffffff4d;flex-direction:column;transition:box-shadow .25s,transform .25s;display:flex;position:relative;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 60px 30px #ffffff08}.portfolio-card:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#fffc,#0000);height:1px;position:absolute;top:0;left:0;right:0}.portfolio-card:after{content:"";z-index:1;background:linear-gradient(#fffc,#0000,#ffffff4d);width:1px;height:100%;position:absolute;top:0;left:0}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000002e,inset 0 1px #fff9,inset 0 -1px #ffffff26,inset 0 0 60px 30px #ffffff0d}.card-banner{object-fit:cover;width:100%;height:160px;display:block}.card-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px;display:flex}.card-title{font-size:11pt;font-weight:700}.card-desc{opacity:.8;flex:1;font-size:10pt}.card-meta{align-items:center;gap:6px;font-size:9.5pt;display:flex}.card-links{gap:10px;font-size:10pt;display:flex}.author-img{object-fit:cover;border:1px solid #00bcd4;border-radius:50%;width:22px;height:22px}.modal-overlay{z-index:2000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-inner{background:#111;border-radius:10px;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative;overflow:hidden}.modal-close{color:#fff;cursor:pointer;z-index:10;background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.modal-close:hover{color:#00bcd4}.modal-img-side{background:#000;flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;position:relative;overflow:hidden}.modal-img-side img{object-fit:contain;max-width:100%;max-height:90vh}.modal-arrow{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;padding:8px 12px;font-size:32px;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.modal-arrow:hover{background:#00bcd466}.modal-arrow.prev{left:8px}.modal-arrow.next{right:8px}.modal-counter{color:#ffffff80;font-size:9.5pt;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.modal-info-side{color:#e0e0e0;background:#181818;flex-direction:column;flex-shrink:0;gap:12px;width:300px;padding:40px 22px 22px;display:flex;overflow-y:auto}.modal-title{color:#fff;font-size:14pt;font-weight:700}.modal-desc{opacity:.85;font-size:10.5pt;line-height:1.6}.modal-links{flex-wrap:wrap;gap:12px;font-size:10.5pt;display:flex}.modal-links a{color:#66b3ff;text-decoration:none}.modal-links a:hover{text-decoration:underline}@media (width<=640px){.modal-inner{flex-direction:column}.modal-info-side{width:100%;padding:16px}}.projects-container{max-width:1400px;margin:0 auto}.projects-title{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding-bottom:14px;font-family:Georgia,serif;font-size:2.6rem;font-weight:900;line-height:1}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;padding:1rem 0;display:grid}.project-card{background:#fff;border:1px solid #0000000d;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000f}.project-card:nth-child(3n+1){border-radius:0 24px}.project-card:nth-child(3n+2){border-radius:16px 0;transform:rotate(-1deg)}.project-card:nth-child(3n+2) .project-banner{clip-path:polygon(0 0,100% 0,100% 85%,15% 100%,0% 100%)}.project-card:nth-child(3n+2):hover{transform:rotate(0)translateY(-8px)}.project-card:nth-child(3n+3){border-radius:24px 24px 0 0}.project-card:nth-child(3n+3) .project-banner{clip-path:polygon(15% 0%,100% 0%,100% 100%,0% 100%,0% 15%)}.project-card:before{content:"";background:linear-gradient(45deg, var(--accent), transparent, var(--link));z-index:-1;opacity:0;transition:opacity .3s;position:absolute;inset:-2px}.project-card:hover{transform:translateY(-8px)scale(1.02);box-shadow:5px 5px #00bcd466,10px 10px #00bcd44d,15px 15px #00bcd433,20px 20px #00bcd41a,25px 25px #00bcd40d}.project-card:hover:before{opacity:.1}.project-card:hover .project-banner img{transform:scale(1.1)rotate(2deg)}.project-card:hover .project-info{background:linear-gradient(135deg,#00bcd405 0%,#fff 100%)}[data-theme=dark] .project-card{background:#0f172acc;border:1px solid #ffffff14;box-shadow:0 4px 20px #0006}[data-theme=dark] .project-card:before{background:linear-gradient(45deg, var(--link), transparent, var(--accent))}[data-theme=dark] .project-card:hover{border-color:#ffffff26;box-shadow:5px 5px #67e8f966,10px 10px #67e8f94d,15px 15px #67e8f933,20px 20px #67e8f91a,25px 25px #67e8f90d}[data-theme=dark] .project-card:hover .project-info{background:linear-gradient(135deg,#67e8f90d 0%,#0f172ae6 100%)}.project-banner{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);width:100%;height:280px;position:relative;overflow:hidden}.project-banner:after{content:"";opacity:0;background:linear-gradient(45deg,#0000 30%,#00bcd41a 50%,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-banner:after{opacity:1}.project-banner img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-banner img{filter:saturate(1.1)brightness(1.05)}.project-info{flex-direction:column;padding:1.5rem;transition:background .3s;display:flex;position:relative}.project-info:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--link));width:4px;height:0;transition:height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.project-card:hover .project-info:before{height:100%}.project-name-link{color:inherit;text-decoration:none;transition:all .3s;display:block}.project-name-link:hover{text-decoration:none}.project-name{color:var(--text);font-size:1.35rem;font-weight:700;line-height:1.2;transition:color .3s;position:relative}.project-role{color:var(--text);word-wrap:break-word;width:fit-content;max-width:100%;margin-bottom:1rem;font-size:.85rem;line-height:1.3;display:inline-block;position:relative;overflow:hidden}.project-role:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.project-card:hover .project-role:before{left:100%}[data-theme=dark] .project-role{color:var(--link)}.project-description{color:var(--text);opacity:.85;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.2rem;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.project-tech-stack{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.project-tech-stack .tech-tag{color:#667eea;background:#667eea1a;border:1px solid #667eea33;border-radius:12px;padding:.3rem .7rem;font-size:.75rem;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.project-tech-stack .tech-tag:nth-child(odd){transform:rotate(-1deg)}.project-tech-stack .tech-tag:nth-child(2n){transform:rotate(1deg)}.project-tech-stack .tech-tag:hover{background:#667eea33;border-color:#667eea66;transform:rotate(0)scale(1.05)}.project-actions{gap:1.5rem;margin-top:auto;padding-top:.5rem;display:flex}.project-action-link{color:var(--link);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.project-action-link .action-icon{width:16px;height:16px;transition:transform .3s}.project-action-link:hover{color:var(--link-hover);text-decoration:none}.project-action-link:hover .action-icon{transform:scale(1.1)}[data-theme=dark] .project-tech-stack .tech-tag{background:#667eea26;border-color:#667eea4d}[data-theme=dark] .project-tech-stack .tech-tag:hover{background:#667eea40}[data-theme=dark] .project-action-link{color:var(--link)}[data-theme=dark] .project-action-link:hover{color:var(--link-hover)}.loading{height:50vh;color:var(--text);opacity:.7;justify-content:center;align-items:center;font-size:1.2rem;display:flex}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.project-banner{height:240px}.project-card:nth-child(3n+2){transform:rotate(0)}}@media (width<=768px){.projects-container{padding:1.5rem 1rem}.projects-title{font-size:1.9rem}.projects-grid{grid-template-columns:1fr;gap:1.2rem}.project-card:nth-child(3n+1),.project-card:nth-child(3n+2),.project-card:nth-child(3n+3){border-radius:12px;transform:none}.project-card:nth-child(3n+1) .project-banner,.project-card:nth-child(3n+2) .project-banner,.project-card:nth-child(3n+3) .project-banner{clip-path:none}.project-banner{height:200px}.project-info{padding:1.2rem}.project-name{font-size:1.2rem}}@media (width<=480px){.projects-container{padding:1rem .75rem}.projects-title{font-size:1.75rem}.project-banner{height:180px}.project-info{padding:1rem}.project-name{font-size:1.1rem}.project-tech-stack{gap:.3rem}.project-tech-stack .tech-tag{padding:.25rem .5rem;font-size:.7rem;transform:none!important}}.project-detail{background:var(--bg-grad);min-height:100vh;padding-top:calc(var(--nav-height) + 2rem);position:relative;overflow:hidden}.project-detail .container{z-index:2;max-width:1200px;margin:0 auto;padding:0 1.5rem 3rem;position:relative}.project-masthead{text-align:center;margin-bottom:2rem;padding-bottom:14px}.project-masthead h1{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-family:Georgia,serif;font-size:2.6rem;font-weight:900;line-height:1}.blob-background{z-index:1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.blob-background .blob-main{opacity:.1;width:60vw;max-width:800px;height:60vw;max-height:800px;animation:20s ease-in-out infinite blobFloat;position:absolute;top:20%;right:-20%}.blob-background .blob-main path{animation:15s ease-in-out infinite blobMorph}.blob-background .blob-small{opacity:.08;width:25vw;max-width:300px;height:25vw;max-height:300px;animation:25s ease-in-out infinite reverse blobFloatSmall;position:absolute;top:10%;left:-10%}.blob-background .blob-small path{animation:18s ease-in-out infinite blobMorphSmall}.butterfly{opacity:.6;width:120px;height:90px;position:absolute}.butterfly svg{width:100%;height:100%}.butterfly .wing{transform-origin:50%;animation:.8s ease-in-out infinite alternate wingFlutter}.butterfly .left-wing{animation-delay:0s}.butterfly .right-wing{animation-delay:.1s}.butterfly-1{animation:25s linear infinite butterflyFlight1;top:20%;left:-5%}.butterfly-2{width:110px;height:80px;animation:35s linear 5s infinite butterflyFlight2;top:60%;left:-8%}.butterfly-3{width:140px;height:105px;animation:30s linear 10s infinite butterflyFlight3;top:40%;left:-6%}.butterfly-4{width:115px;height:85px;animation:28s linear 15s infinite butterflyFlight4;top:80%;left:-7%}.butterfly-5{width:130px;height:95px;animation:32s linear 20s infinite butterflyFlight5;top:10%;left:-4%}@keyframes blobFloat{0%,to{transform:translate(0)rotate(0)scale(1)}25%{transform:translate(-10%,-5%)rotate(90deg)scale(1.1)}50%{transform:translate(-5%,-10%)rotate(180deg)scale(.9)}75%{transform:translate(5%,-5%)rotate(270deg)scale(1.05)}}@keyframes blobFloatSmall{0%,to{transform:translate(0)rotate(0)scale(1)}30%{transform:translate(15%,10%)rotate(-120deg)scale(.8)}60%{transform:translate(5%,20%)rotate(-240deg)scale(1.2)}90%{transform:translate(-5%,5%)rotate(-360deg)scale(.9)}}@keyframes blobMorph{0%,to{d:path("M65.4,-37.9C79.2,-13.9,81,17,68.1,38C55.2,59.1,27.6,70.5,1.5,69.6C-24.6,68.8,-49.3,55.7,-56,38.2C-62.6,20.7,-51.3,-1.2,-39,-24.4C-26.7,-47.6,-13.3,-72,6.2,-75.6C25.8,-79.2,51.6,-62,65.4,-37.9Z")}33%{d:path("M45.2,-58.1C58.7,-45.3,69.4,-29.8,72.8,-12.1C76.2,5.6,72.3,25.5,62.1,40.7C51.9,55.9,35.4,66.4,16.8,71.2C-1.8,76,-22.5,75.1,-38.9,66.8C-55.3,58.5,-67.4,42.8,-71.2,25.2C-75,7.6,-70.5,-11.9,-61.7,-28.4C-52.9,-44.9,-39.8,-58.4,-24.1,-70.1C-8.4,-81.8,9.9,-91.7,26.3,-87.2C42.7,-82.7,57.2,-63.8,45.2,-58.1Z")}66%{d:path("M38.7,-52.8C48.9,-42.1,54.8,-26.9,58.1,-10.4C61.4,6.1,62.1,23.9,55.2,38.4C48.3,52.9,33.8,64.1,17.1,69.8C0.4,75.5,-18.5,75.7,-34.2,68.9C-49.9,62.1,-62.4,48.3,-68.1,32.1C-73.8,15.9,-72.7,-2.7,-66.8,-18.9C-60.9,-35.1,-50.2,-49,-36.8,-59.2C-23.4,-69.4,-7.3,-75.9,7.1,-84.2C21.5,-92.5,34.4,-102.6,38.7,-52.8Z")}}@keyframes blobMorphSmall{0%,to{d:path("M45.2,-58.1C58.7,-45.3,69.4,-29.8,72.8,-12.1C76.2,5.6,72.3,25.5,62.1,40.7C51.9,55.9,35.4,66.4,16.8,71.2C-1.8,76,-22.5,75.1,-38.9,66.8C-55.3,58.5,-67.4,42.8,-71.2,25.2C-75,7.6,-70.5,-11.9,-61.7,-28.4C-52.9,-44.9,-39.8,-58.4,-24.1,-70.1C-8.4,-81.8,9.9,-91.7,26.3,-87.2C42.7,-82.7,57.2,-63.8,45.2,-58.1Z")}40%{d:path("M32.1,-45.2C41.8,-35.7,49.2,-23.8,52.4,-10.1C55.6,3.6,54.6,19.1,48.9,32.4C43.2,45.7,32.8,56.8,19.7,61.2C6.6,65.6,-9.2,63.3,-23.1,56.8C-37,50.3,-49,39.6,-55.3,26.2C-61.6,12.8,-62.2,-3.3,-57.1,-17.9C-52,-32.5,-41.2,-45.6,-28.4,-54.2C-15.6,-62.8,-0.8,-66.9,12.3,-82.1C25.4,-97.3,36.8,-123.6,32.1,-45.2Z")}80%{d:path("M28.9,-38.7C36.2,-29.1,40.5,-18.2,42.1,-6.8C43.7,4.6,42.6,16.5,37.8,26.9C33,37.3,24.5,46.2,14.1,50.3C3.7,54.4,-8.6,53.7,-19.2,49.2C-29.8,44.7,-38.7,36.4,-43.1,26.3C-47.5,16.2,-47.4,4.3,-44.8,-6.9C-42.2,-18.1,-37.1,-28.6,-29.4,-37.8C-21.7,-47,-11.4,-54.9,0.2,-55.2C11.8,-55.5,21.6,-48.3,28.9,-38.7Z")}}@keyframes butterflyFlight1{0%{transform:translate(0)rotate(0)}15%{transform:translate(20vw,-8vh)rotate(25deg)}30%{transform:translate(45vw,5vh)rotate(-15deg)}45%{transform:translate(70vw,-12vh)rotate(30deg)}60%{transform:translate(90vw,8vh)rotate(-10deg)}75%{transform:translate(105vw,-5vh)rotate(20deg)}to{transform:translate(120vw)rotate(0)}}@keyframes butterflyFlight2{0%{transform:translate(0)rotate(0)}20%{transform:translate(25vw,10vh)rotate(-20deg)}40%{transform:translate(50vw,-15vh)rotate(35deg)}60%{transform:translate(75vw,12vh)rotate(-25deg)}80%{transform:translate(95vw,-8vh)rotate(15deg)}to{transform:translate(115vw,5vh)rotate(0)}}@keyframes butterflyFlight3{0%{transform:translate(0)rotate(0)}12%{transform:translate(18vw,15vh)rotate(40deg)}25%{transform:translate(35vw,-10vh)rotate(-30deg)}40%{transform:translate(55vw,20vh)rotate(25deg)}55%{transform:translate(75vw,-18vh)rotate(-35deg)}70%{transform:translate(90vw,12vh)rotate(20deg)}85%{transform:translate(105vw,-5vh)rotate(-15deg)}to{transform:translate(125vw,8vh)rotate(0)}}@keyframes butterflyFlight4{0%{transform:translate(0)rotate(0)}18%{transform:translate(22vw,-20vh)rotate(-25deg)}35%{transform:translate(48vw,8vh)rotate(30deg)}50%{transform:translate(68vw,-15vh)rotate(-20deg)}65%{transform:translate(85vw,18vh)rotate(35deg)}80%{transform:translate(100vw,-10vh)rotate(-15deg)}to{transform:translate(118vw,5vh)rotate(0)}}@keyframes butterflyFlight5{0%{transform:translate(0)rotate(0)}10%{transform:translate(15vw,25vh)rotate(45deg)}25%{transform:translate(40vw,-8vh)rotate(-25deg)}40%{transform:translate(60vw,22vh)rotate(30deg)}55%{transform:translate(80vw,-20vh)rotate(-40deg)}70%{transform:translate(95vw,15vh)rotate(25deg)}85%{transform:translate(110vw,-12vh)rotate(-20deg)}to{transform:translate(130vw,10vh)rotate(0)}}@keyframes wingFlutter{0%{transform:rotateX(0)scaleY(1)}to{transform:rotateX(60deg)scaleY(.8)}}.back-button{color:var(--link);align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 0;font-weight:500;transition:all .3s;display:inline-flex}.back-button:hover{color:var(--link-hover);text-decoration:none;transform:translate(-4px)}.back-button svg{transition:transform .3s}.back-button:hover svg{transform:translate(-2px)}.project-header{margin-bottom:2rem}.project-header .banner-container{background:0 0;align-items:center;width:70%;height:100%;margin:0 auto;position:relative;overflow:hidden}.project-header .banner-container img{object-position:center;background:0 0;width:100%;height:100%}.project-header .gallery-link-icon{justify-content:center;margin-top:1rem;display:flex}.project-header .gallery-link-icon .large-link-icon{background:var(--btn-bg);width:4rem;height:4rem;color:var(--btn-text);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.project-header .gallery-link-icon .large-link-icon svg{width:2rem;height:2rem}.project-layout{width:100%;display:block}.main-content{width:100%;max-width:800px;margin:0 auto}.content-card{box-shadow:var(--box-sadow);background:#fff;border:1px solid #0000000d;border-radius:0;width:100%;max-width:800px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:1.5rem}.content-card.gallery-card{padding:0}.content-card h2{color:var(--text);font-size:1.5rem;font-weight:700;position:relative}.content-card p{color:var(--text);opacity:.85;margin:0;line-height:1.7}.content-card .project-link-section{margin-left:7px}.about-content{align-items:center;display:flex}.about-content .project-live-link svg{width:1.1rem;height:1.1rem}[data-theme=dark] .content-card{background:#0f172acc;border-color:#ffffff1a;box-shadow:0 8px 32px #0000004d}[data-theme=dark] .content-card .project-link-section{border-color:#ffffff1a}[data-theme=dark] .content-card .project-link-section .project-live-link{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .content-card .project-link-section .project-live-link:hover{color:#4ade80;background:#22c55e33}[data-theme=dark] .project-header .gallery-link-icon .large-link-icon{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .project-header .gallery-link-icon .large-link-icon:hover{background:#22c55e33;border-color:#22c55e80}.project-gallery .gallery-container{background:#f8f9fa;border-radius:0;position:relative;overflow:hidden}.project-gallery .gallery-container .gallery-image{justify-content:center;align-items:center;height:25rem;display:flex;position:relative;overflow:hidden}.project-gallery .gallery-container .gallery-image img{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.project-gallery .gallery-container .gallery-nav{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;opacity:.8;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-gallery .gallery-container .gallery-nav:hover{opacity:1;background:#000000e6;box-shadow:0 4px 20px #0000004d}.project-gallery .gallery-container .gallery-nav:active{transform:translateY(-50%)scale(.95)}.project-gallery .gallery-container .gallery-nav.prev{left:1.5rem}.project-gallery .gallery-container .gallery-nav.next{right:1.5rem}.project-gallery .gallery-container .gallery-nav svg{width:1.5rem;height:1.5rem}[data-theme=dark] .project-gallery .gallery-container{background:#0f172a80}[data-theme=dark] .project-gallery .gallery-container .gallery-nav{background:#ffffff1a}[data-theme=dark] .project-gallery .gallery-container .gallery-nav:hover{background:#fff3}.youtube-video .video-container{background:#000;border-radius:0;width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.youtube-video .video-container iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.youtube-video .video-info{margin-top:1rem}.youtube-video .video-info h3{color:var(--text);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.youtube-video .video-info p{color:var(--text);opacity:.7;margin:0;line-height:1.6}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;display:grid}.features-grid .feature-item{align-items:center;gap:.75rem;display:flex}.features-grid .feature-item .feature-dot{background:#667eea;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.features-grid .feature-item span{color:var(--text);opacity:.85}.sidebar-card{box-shadow:var(--box-sadow);background:#fff;border:1px solid #0000000d;border-radius:0;margin-bottom:1.5rem;padding:1.5rem}.sidebar-card h3{color:var(--text);margin:0 0 1rem;font-size:1.25rem;font-weight:600}[data-theme=dark] .sidebar-card{background:#0f172acc;border-color:#ffffff1a;box-shadow:0 8px 32px #0000004d}.project-links{flex-direction:column;gap:.75rem;display:flex}.project-links .link-item{border-radius:0;align-items:center;gap:.75rem;padding:.75rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.project-links .link-item.live-link{color:#059669;background:#22c55e1a;border:1px solid #22c55e33}.project-links .link-item.live-link:hover{color:#059669;background:#22c55e26;text-decoration:none;transform:translateY(-2px)}.project-links .link-item.github-link{color:#475569;background:#64748b1a;border:1px solid #64748b33}.project-links .link-item.github-link:hover{color:#475569;background:#64748b26;text-decoration:none;transform:translateY(-2px)}.project-links .link-item svg{width:1.25rem;height:1.25rem}[data-theme=dark] .project-links .link-item.live-link{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .project-links .link-item.live-link:hover{color:#4ade80;background:#22c55e33}[data-theme=dark] .project-links .link-item.github-link{color:#cbd5e1;background:#94a3b826;border-color:#94a3b84d}[data-theme=dark] .project-links .link-item.github-link:hover{color:#cbd5e1;background:#94a3b833}.tech-section{margin-bottom:1.5rem}.tech-section h4{color:var(--text);text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.tech-section .tech-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tech-section .tech-tags .tech-tag{border-radius:0;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.tech-section .tech-tags .tech-tag.backend{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.tech-section .tech-tags .tech-tag.frontend{color:#2563eb;background:#3b82f61a;border:1px solid #3b82f633}[data-theme=dark] .tech-section .tech-tags .tech-tag.backend{color:#f87171;background:#ef444426;border-color:#ef44444d}[data-theme=dark] .tech-section .tech-tags .tech-tag.frontend{color:#60a5fa;background:#3b82f626;border-color:#3b82f64d}.tags-container{flex-wrap:wrap;gap:.5rem;display:flex}.tags-container .tag{color:#059669;background:#22c55e1a;border:1px solid #22c55e33;border-radius:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:500}[data-theme=dark] .tags-container .tag{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}.project-info-grid{flex-direction:column;gap:.75rem;display:flex}.project-info-grid .info-row{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.project-info-grid .info-row:last-child{border-bottom:none}.project-info-grid .info-row .label{color:var(--text);opacity:.6;font-size:.9rem}.project-info-grid .info-row .value{color:var(--text);font-size:.9rem;font-weight:500}[data-theme=dark] .project-info-grid .info-row{border-color:#ffffff1a}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.loading-container .spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:3rem;height:3rem;animation:1s linear infinite spin}.loading-container .loading-text{color:var(--text);opacity:.7;font-size:1.25rem}.error-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.error-container h1{color:var(--text);margin:0;font-size:2rem}.error-container .back-link{color:var(--link);font-weight:500;text-decoration:none}.error-container .back-link:hover{color:var(--link-hover);text-decoration:underline}@media (width<=1024px){.project-layout{grid-template-columns:1fr;gap:1.5rem}.project-header .banner-container{height:16rem}.project-header .banner-container .banner-content h1{text-align:center;background-color:red;flex-direction:column;align-items:center;width:100%;font-size:2.5rem;display:flex}}@media (width<=768px){.project-detail .container{padding:0 1rem 2rem}.project-masthead h1{font-size:1.9rem}.project-header .banner-container{width:100%}.project-header .banner-container .banner-content{bottom:1rem;left:1rem;right:1rem}.project-header .banner-container .banner-content h1{font-size:2rem}.project-header .banner-container .banner-content p{font-size:1rem}.project-header .gallery-link-icon .large-link-icon{width:3.5rem;height:3.5rem}.project-header .gallery-link-icon .large-link-icon svg{width:1.75rem;height:1.75rem}.content-card,.sidebar-card{padding:1rem}.project-gallery .gallery-container .gallery-image{height:16rem}.features-grid{grid-template-columns:1fr}}@media (width<=480px){.project-header .banner-container{height:12rem}.project-header .banner-container .banner-content h1{font-size:1.75rem}.project-header .banner-container .banner-content p{font-size:.9rem}.project-header .gallery-link-icon .large-link-icon{width:3rem;height:3rem}.project-header .gallery-link-icon .large-link-icon svg{width:1.5rem;height:1.5rem}.project-gallery .gallery-container .gallery-image{height:14rem}.project-gallery .gallery-container .gallery-nav{width:2.5rem;height:2.5rem}.project-gallery .gallery-container .gallery-nav.prev{left:.5rem}.project-gallery .gallery-container .gallery-nav.next{right:.5rem}.project-gallery .gallery-container .gallery-nav svg{width:1rem;height:1rem}}.page-title{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-bottom:14px;padding-bottom:14px;font-family:Georgia,serif;font-size:2.6rem;font-weight:900;line-height:1}.pub-tabs{border-bottom:1px solid var(--section-border);gap:2px;margin-bottom:28px;display:flex}.pub-tab{cursor:pointer;font-family:var(--font);color:var(--text);white-space:nowrap;opacity:.75;background:0 0;border:none;border-radius:0;align-items:center;gap:4px;margin:0 2px;padding:8px 20px;font-size:10pt;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex;position:relative;transform:skew(-15deg)}.pub-tab span{display:block;transform:skew(15deg)}.pub-tab:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;box-shadow:var(--box-shadow);text-decoration:none;transform:skew(-15deg)translateY(-1px)}.pub-tab.active{color:var(--btn-text);background:var(--btn-bg);opacity:1;box-shadow:var(--box-shadow);font-weight:700;transform:skew(-15deg)}.filter-btn{border:1px solid var(--border);background:var(--btn-bg);color:var(--btn-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:20px;padding:4px 14px;font-family:sans-serif;font-size:.72rem;transition:background .18s,color .18s,border-color .18s}.filter-btn.active,.filter-btn:hover{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);opacity:.8}.pub-list{flex-direction:column;gap:20px;display:flex}.pub-card{background:#fff;border:1px solid #00000014;border-radius:12px;padding:20px;transition:transform .3s,border-color .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.pub-card:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#00000003 0%,#0000 50%),radial-gradient(circle at 80% 80%,#6366f103 0%,#0000 50%);background-size:100px 100px,120px 120px;position:absolute;inset:0}.pub-card:hover{border-color:#0000001f;transform:translateY(-2px)}.pub-content{align-items:center;gap:20px;display:flex}.pub-main{flex:1;min-width:0}.pub-host-image{cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:140px;padding:16px;text-decoration:none;transition:all .3s;display:flex}.pub-host-image:hover{transform:scale(1.05)}.pub-host-image:hover .host-logo-large{filter:drop-shadow(0 4px 12px #0003)}.pub-host-image:hover .hosted-by-label{color:var(--accent)}.host-info{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.hosted-by-label{color:var(--accent);text-align:center;margin-bottom:4px;font-size:10pt;font-weight:600;line-height:1.3}.host-logo-large{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);border-radius:8px;width:80px;height:80px;transition:filter .3s}.host-logo-large:hover{filter:drop-shadow(0 4px 8px #00000026)}.pub-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pub-type-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;padding:4px 12px;font-size:9pt;font-weight:600;box-shadow:0 2px 4px #0003}.pub-date{color:var(--text);opacity:.7;font-size:9.5pt;font-weight:500}.pub-authors{color:var(--text);opacity:.85;margin-bottom:12px;font-size:10.5pt;line-height:1.4}.author-me{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:2px;font-weight:700}.pub-venue{margin-bottom:14px}.venue-info{flex-direction:column;gap:8px;display:flex}.venue-name{font-size:10.5pt;font-weight:600}.venue-name a{color:var(--text);text-decoration:none}.venue-name a:hover{text-decoration:underline;color:var(--text)!important}.hosted-by{color:var(--text);opacity:.8;background:#0000000d;border:1px solid #0000001a;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:9.5pt;display:flex}.hosted-by-text{color:var(--text);opacity:.8;font-size:9.5pt;font-style:italic}.host-logo{object-fit:contain;border-radius:4px;width:20px;height:20px}.keyword-more{color:var(--text);opacity:.6;background:#0000001a;border-radius:12px;padding:3px 8px;font-size:9pt;font-weight:500}.pub-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;display:flex}.pub-links{flex-wrap:wrap;gap:8px;display:flex}.pub-link.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.pub-link:hover.primary{color:#fff;box-shadow:0 2px 8px #0003}.abstract-toggle{border:1px solid var(--border);color:var(--text);font-family:var(--font);cursor:pointer;opacity:.8;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:9.5pt;transition:all .2s;display:flex}.abstract-toggle:hover{background:var(--btn-bg);opacity:1;transform:translateY(-1px)}.gallery-btn{border:1px solid var(--border);color:var(--text);font-family:var(--font);cursor:pointer;opacity:.8;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:9.5pt;transition:all .2s;display:flex}.gallery-btn:hover{background:var(--btn-bg);opacity:1;transform:translateY(-1px)}.lightbox-overlay{-webkit-backdrop-filter:blur(10px);z-index:2000;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lightbox-content{justify-content:center;align-items:center;width:70vw;height:60vh;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:12px;width:100%;height:100%;box-shadow:0 8px 32px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:background .2s;display:flex;position:absolute;top:-40px;right:0}.lightbox-close:hover{background:#fff3}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:32px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-nav.lightbox-prev{left:-70px}.lightbox-nav.lightbox-next{right:-70px}.lightbox-counter{color:#fff;background:#00000080;border-radius:20px;padding:8px 16px;font-size:14px;position:absolute;bottom:-40px;left:50%;transform:translate(-50%)}.pub-abstract{background:var(--bg);border:1px solid var(--border);color:var(--text);opacity:.9;border-radius:8px;margin-top:12px;padding:16px;font-size:10pt;line-height:1.6;overflow:hidden}[data-theme=dark] .pub-card{background:#0f172acc;border:1px solid #ffffff1a;box-shadow:0 1px 3px #0003}[data-theme=dark] .pub-card:after{background-image:radial-gradient(circle at 20% 20%,#ffffff05 0%,#0000 50%),radial-gradient(circle at 80% 80%,#6366f108 0%,#0000 50%)}[data-theme=dark] .pub-card:hover{background:#0f172ae6;border-color:#ffffff26}[data-theme=dark] .blog-card{background:#0f172acc;border:1px solid #ffffff1a}[data-theme=dark] .blog-card:hover{border-color:#ffffff26}.pub-number{color:var(--accent);opacity:.9;text-transform:uppercase;letter-spacing:.5px;font-size:9pt;font-weight:700;font-family:var(--font);margin-bottom:8px}.pub-title{color:var(--text);font-size:13pt;font-weight:700;line-height:1.3;font-family:var(--font);text-align:left;z-index:1;margin-bottom:12px;position:relative}.pub-title a{color:var(--text);font-weight:600;text-decoration:none}.pub-title a:hover{color:var(--accent);text-decoration:none}.pub-meta{opacity:.8;flex-direction:column;gap:6px;margin-bottom:12px;font-size:10pt;display:flex}.pub-meta span{align-items:center;gap:6px;display:flex}.pub-authors{line-height:1.4}.pub-keywords{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.keyword-tag{color:var(--text);background:#00000014;border:1px solid #00000026;border-radius:12px;padding:3px 8px;font-size:9pt;font-weight:500;transition:background .2s,border-color .2s}.keyword-tag:hover{background:#0000001f;border-color:#0003}.pub-links{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pub-link{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:9.5pt;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.pub-link:hover{opacity:.9;color:var(--btn-text);text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.abstract-toggle{background:var(--btn-bg);border:1px solid var(--border);color:var(--btn-text);font-family:var(--font);cursor:pointer;border-radius:4px;margin-bottom:8px;padding:6px 12px;font-size:9.5pt;transition:background .2s,border-color .2s}.abstract-toggle:hover{opacity:.8}.pub-abstract{background:var(--bg);border:1px solid var(--border);opacity:.8;color:var(--text);text-align:justify;border-radius:8px;margin:12px 0;padding:14px;font-size:10pt;line-height:1.6}.cite-badge{color:var(--text);background:#00000014;border:1px solid #0003;border-radius:12px;padding:2px 8px;font-size:9pt;font-weight:700}.blog-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;display:grid}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.blog-grid{grid-template-columns:1fr}}.blog-card{cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:10px;flex-direction:column;height:380px;transition:transform .22s;display:flex;overflow:hidden}.blog-card:hover{transform:translateY(-2px)}.blog-card:hover .blog-card-img{transform:scale(1.03)}.blog-card-img-wrap{flex-shrink:0;height:150px;overflow:hidden}.blog-card-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.blog-card-body{flex-direction:column;flex:1;gap:6px;min-height:0;padding:14px 16px 16px;display:flex}.blog-card-cat{letter-spacing:.18em;text-transform:uppercase;color:#00bcd4;flex-shrink:0;font-family:sans-serif;font-size:.6rem;font-weight:600}.blog-card-hearts{color:#e74c3c;flex-shrink:0;align-items:center;gap:4px;font-family:sans-serif;font-size:.65rem;font-weight:600;display:flex}.blog-card-cat-row{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.blog-card-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;height:2.7em;font-family:Georgia,serif;font-size:.97rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.blog-card-excerpt{opacity:.6;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;min-height:3.84em;max-height:3.84em;font-size:.8rem;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card-footer{border-top:1px solid #80808026;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;min-height:40px;margin-top:auto;padding-top:8px;display:flex}.blog-tags{flex-wrap:wrap;gap:4px;display:flex}.blog-tag{border:1px solid var(--section-border);background:var(--btn-bg);color:var(--btn-text);opacity:.6;border-radius:3px;padding:1px 7px;font-family:sans-serif;font-size:.58rem}.share-bar{border-top:1px solid #80808026;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.share-bar-inline{gap:4px;border-top:none!important;margin-top:0!important;padding-top:0!important}.share-bar-inline .share-btn{width:26px;height:26px;font-size:.65rem}.share-label{letter-spacing:.12em;text-transform:uppercase;opacity:.4;margin-right:2px;font-family:sans-serif;font-size:.65rem}.share-btn{border:1px solid var(--border);background:var(--btn-bg);width:32px;height:32px;color:var(--btn-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-family:sans-serif;font-size:.75rem;font-weight:700;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.share-btn:hover{opacity:.8;text-decoration:none}.blog-card-meta{opacity:.7;text-transform:none;letter-spacing:.02em;text-align:left;flex:1;align-items:center;gap:8px;min-width:0;font-family:sans-serif;font-size:.75rem;display:flex}.blog-card-meta span:not(:first-child):before{content:"·";margin-right:8px}.blog-section-label{color:var(--text);align-items:center;gap:12px;margin:24px 0 16px;font-size:11pt;font-weight:700;display:flex}.blog-section-label hr{background:var(--border);border:none;flex:1;height:1px}.blog-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.blog-modal{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:600px;max-height:80vh;position:relative;overflow-y:auto}.blog-modal-close{background:var(--btn-bg);color:var(--btn-text);cursor:pointer;opacity:.6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18pt;transition:opacity .2s;display:flex;position:absolute;top:16px;right:16px}.blog-modal-close:hover{opacity:1}.blog-modal-body{padding:24px}.blog-modal-cat{color:var(--accent);opacity:.8;margin-bottom:8px;font-size:10pt;font-weight:700}.blog-modal-title{margin-bottom:12px;font-size:14pt;font-weight:700;line-height:1.3}.blog-modal-meta{opacity:.7;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:10pt;display:flex}.blog-modal-text{opacity:.9;margin-bottom:20px;font-size:10.5pt;line-height:1.6}.blog-modal-footer{border-top:1px solid var(--border);padding-top:16px}.blog-modal-links{flex-wrap:wrap;gap:12px;display:flex}.blog-modal-links a{background:var(--btn-bg);color:var(--btn-text);border-radius:6px;padding:8px 16px;font-size:10pt;text-decoration:none;transition:background .2s}.blog-modal-links a:hover{opacity:.8;color:var(--btn-text)}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:18px}}@media (width<=768px){.pub-meta{font-size:9.5pt}.pub-links{justify-content:center}.pub-content{flex-direction:column;gap:16px}.pub-host-image{align-self:center}.host-logo-large{width:60px;height:60px}.blog-modal{max-height:90vh;margin:10px}.blog-modal-body{padding:20px 16px}.lightbox-nav.lightbox-prev{left:10px}.lightbox-nav.lightbox-next{right:10px}.lightbox-close{top:10px;right:10px}.lightbox-counter{bottom:10px}.lightbox-content{width:90vw;height:50vh}}@media (width<=640px){.blog-grid{grid-template-columns:1fr;gap:16px}.blog-card{height:360px}}@media (width<=540px){.blog-card{height:340px}}[data-theme=dark] .keyword-tag{color:var(--text);background:#ffffff1a;border:1px solid #fff3}[data-theme=dark] .keyword-tag:hover{background:#ffffff26;border-color:#ffffff4d}[data-theme=dark] .cite-badge{color:var(--text);background:#ffffff1a;border:1px solid #fff3}[data-theme=dark] .hosted-by{background:#ffffff0d;border:1px solid #ffffff1a}.gh-profile{background:var(--bg);border:1px solid var(--border);border-radius:12px;align-items:center;gap:20px;margin-bottom:24px;padding:24px;transition:all .3s;display:flex}.gh-profile:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}@media (width<=768px){.gh-profile{text-align:center;flex-direction:column;gap:16px}}.gh-avatar{border:3px solid var(--gh-avatar-border);border-radius:50%;width:80px;height:80px;transition:transform .3s}.gh-avatar:hover{transform:scale(1.05)}@media (width<=768px){.gh-avatar{width:60px;height:60px}}.gh-profile-info{flex:1}.gh-username{color:var(--text);margin:0 0 8px;font-size:18pt;font-weight:700}.gh-username a{color:var(--text);text-decoration:none;transition:color .2s}.gh-username a:hover{color:var(--accent);text-decoration:none}.gh-bio{color:var(--text);opacity:.8;margin:0 0 12px;font-size:11pt;line-height:1.4}.gh-stats{color:var(--text);opacity:.7;gap:20px;font-size:10pt;display:flex}.gh-stats span{font-weight:500}@media (width<=768px){.gh-stats{justify-content:center;gap:16px}}.gh-header{justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.gh-title{color:var(--text);align-items:center;gap:8px;margin:0;font-size:16pt;font-weight:700;display:flex}.gh-icon{fill:var(--text);transition:fill .2s}[data-theme=dark] .gh-icon{fill:#fff}.view-toggle{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.view-toggle.active{color:#000!important;background:#fff!important;border-color:#fff!important}.view-btn{color:var(--text);font-family:var(--font);cursor:pointer;opacity:.7;background:0 0;border:none;padding:6px 12px;font-size:12pt;transition:background .2s,color .2s}.view-btn.active,.view-btn:hover:not(.active){background:var(--btn-bg);color:var(--btn-text);opacity:1}[data-theme=dark] .gh-profile:hover{box-shadow:0 4px 16px #00bcd41a}.repo-list{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.repo-list-item{background:var(--bg);border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1fr 2fr auto;align-items:center;gap:16px;padding:12px 16px;transition:background .2s;display:grid}.repo-list-item:last-child{border-bottom:none}.repo-list-item:hover,.repo-list-item.active{background:#00bcd41a}[data-theme=dark] .repo-list-item:hover,[data-theme=dark] .repo-list-item.active{background:#ffffff1a}.repo-name{font-size:11pt;font-weight:700}.repo-name a{color:var(--text);text-decoration:none}.repo-name a:hover{color:var(--accent);text-decoration:underline}.repo-desc{opacity:.8;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10pt;line-height:1.4;display:-webkit-box;overflow:hidden}.repo-meta{opacity:.6;text-align:right;white-space:nowrap;font-size:9pt}.card-grid .card{background:#fff;border:1px solid #00000014;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a}.card-grid .card:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#00bcd408 0%,#0000 50%),radial-gradient(circle at 80% 80%,#6366f105 0%,#0000 50%),linear-gradient(135deg,#0000 25%,#00bcd403 25% 50%,#0000 50%);background-size:100px 100px,120px 120px,20px 20px;position:absolute;inset:0}.card-grid .card:hover{border-color:#0000001f;transform:translateY(-3px);box-shadow:0 4px 16px #0000001a,0 2px 6px #00000026}[data-theme=dark] .card-grid .card{background:#0f172acc;border:1px solid #ffffff1a;box-shadow:0 2px 8px #0000004d,0 1px 3px #0006}[data-theme=dark] .card-grid .card:after{background-image:radial-gradient(circle at 20% 20%,#00bcd414 0%,#0000 50%),radial-gradient(circle at 80% 80%,#6366f10f 0%,#0000 50%),linear-gradient(135deg,#0000 25%,#ffffff05 25% 50%,#0000 50%)}[data-theme=dark] .card-grid .card:hover{background:#0f172ae6;border-color:#ffffff26;box-shadow:0 4px 16px #0006,0 2px 6px #00bcd41a}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.card-title{z-index:1;flex:1;min-width:0;font-size:11pt;font-weight:700;position:relative}.card-title a{color:var(--text);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:flex}.card-title a:hover{color:var(--accent);text-decoration:none}.card-title a svg{fill:currentColor;flex-shrink:0;width:16px;height:16px;transition:fill .2s}.card-date{opacity:.6;white-space:nowrap;color:var(--text);margin-top:2px;font-size:9pt}@keyframes ghPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.gh-loading-icon{fill:var(--text);transition:fill .2s}[data-theme=dark] .gh-loading-icon{fill:#fff}@media (width<=768px){.gh-header{flex-direction:column;align-items:flex-start;gap:16px}.repo-list-item{text-align:left;grid-template-columns:1fr;gap:8px}.repo-meta{text-align:left;font-size:8.5pt}.gh-title{font-size:14pt}}@media (width<=600px){.view-toggle{align-self:stretch}.view-btn{text-align:center;flex:1}}.slider-wrap{cursor:pointer;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);width:100vw;height:100vh;position:relative;overflow:hidden}[data-theme=dark] .slider-wrap{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%)}.slider-slide{flex-direction:column;display:flex;position:absolute;inset:0}.slider-slide img{object-fit:cover;width:100%;height:100%;display:block}.slider-caption{background:linear-gradient(#0000,#000000bf);flex-direction:column;gap:6px;padding:40px 60px;display:flex;position:absolute;bottom:0;left:0;right:0}.slider-title{color:#fff;font-size:18pt;font-weight:700;line-height:1.3}.slider-issuer{color:#ffffffa6;font-size:12pt}.slider-arrow{color:#fff;cursor:pointer;z-index:2;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:26px;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slider-arrow:hover{background:#0009}.slider-arrow.left{left:12px}.slider-arrow.right{right:12px}.slider-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slider-dot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s,transform .2s}.slider-dot.active{background:#fff;transform:scale(1.3)}.slider-wrap~.page-wrap{margin-top:40px}body:has(.slider-wrap):before{display:none}body:has(.slider-wrap):after{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.card{background:0 0;border-radius:16px;flex-direction:column;transition:transform .25s;display:flex;overflow:hidden}[data-theme=dark] .card{background:0 0}.card-banner{cursor:pointer;background:linear-gradient(135deg,#1e0a3c 0%,#3b1f6e 50%,#5b2d8e 100%);flex-shrink:0;height:300px;position:relative;overflow:hidden}.card-banner img{width:100%;height:100%;transition:transform .3s;display:block}.card-banner:hover img{transform:scale(1.03)}.card-banner-icon{opacity:.6;font-size:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-verified-badge{color:#fff;background:#6c3fc5;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #6c3fc580}.card-body{flex-direction:column;flex:1;padding:10px;display:flex}.card-title{color:#111;font-size:12pt;font-weight:700;line-height:1.35}[data-theme=dark] .card-title{color:#f0f0f0}.card-badges{flex-wrap:wrap;gap:6px;display:flex}.card-badge{color:#5b2d8e;letter-spacing:.03em;text-transform:uppercase;background:#f5f0ff;border:1px solid #d0c0f0;border-radius:4px;padding:3px 10px;font-size:8pt;font-weight:600}[data-theme=dark] .card-badge{color:#c4a0ff;background:#6c3fc526;border-color:#6c3fc559}.org-badge-img{object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:28px;height:28px;padding:2px}.card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}[data-theme=dark] .card-footer{border-top-color:#ffffff14}.card-footer-left{align-items:center;gap:8px;display:flex}.card-dates{color:#888;font-size:9pt}.verify-btn{color:#5b2d8e;white-space:nowrap;background:0 0;border-radius:6px;padding:6px 16px;font-size:9.5pt;font-weight:600;text-decoration:none;transition:all .2s}.verify-btn:hover{color:#3b1f6e;background:0 0;text-decoration:none}.lightbox{z-index:2000;background:#000000d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-inner{flex-direction:column;align-items:center;gap:12px;max-width:90vw;display:flex;position:relative}.lightbox-inner img{border-radius:8px;max-width:90vw;max-height:75vh;box-shadow:0 8px 40px #00000080}.lightbox-caption{color:#fff;text-align:center;opacity:.8;font-size:10.5pt}.lightbox-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:-36px;right:0}.lightbox-close:hover{opacity:1}.ig-wrap{max-width:935px;margin:0 auto;padding:20px}.wave-container{justify-content:center;align-items:center;width:100%;height:80px;margin:20px 0 40px;display:flex;overflow:hidden}.wave-svg{width:100%;max-width:600px;height:100%;animation:3s ease-in-out infinite wave-flow}@keyframes wave-flow{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.ig-diamond-nav-section{text-align:center;margin-bottom:60px;padding:40px 0}.ig-nav-title{color:var(--text);text-transform:uppercase;letter-spacing:2px;margin-bottom:40px;font-size:28px;font-weight:700}.main-nav{width:600px;height:150px;margin:0 auto;padding:0;list-style:none;position:relative}.main-nav li{opacity:.7;cursor:pointer;border:3px solid var(--accent);background:#000;width:200px;height:200px;margin:-100px;list-style:none;transition:all .5s cubic-bezier(.4,0,.2,1);position:absolute;overflow:hidden;transform:rotate(45deg);box-shadow:0 8px 25px #0003}.main-nav li:hover{opacity:1;z-index:10;transform:rotate(45deg)scale(1.1);box-shadow:0 15px 40px #0000004d}.main-nav li.item1{top:0;left:0}.main-nav li.item2{bottom:0;left:25%}.main-nav li.item3{top:0;left:50%}.main-nav li.item4{bottom:0;left:75%}.main-nav li.item5{top:0;left:100%}.main-nav li .bg{width:100%;height:100%;transition:transform .5s;transform:scale(1.1)rotate(-45deg);background-position:50%!important;background-size:cover!important}.main-nav li:hover .bg{transform:scale(1.2)rotate(-45deg)}.ig-featured{cursor:pointer;border-radius:12px;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:44px;padding:24px;transition:all .3s;display:grid}.ig-featured-img-wrap{aspect-ratio:1;border-radius:8px;position:relative;overflow:hidden}.ig-featured-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.ig-featured:hover .ig-featured-img{transform:scale(1.05)}.ig-featured-body{flex-direction:column;justify-content:center;gap:16px;display:flex}.ig-featured-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.ig-featured-caption{color:var(--text);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden}.ig-featured-meta{color:var(--text);opacity:.7;font-size:13px}.ig-read-btn{color:var(--accent);align-items:center;gap:8px;font-size:14px;font-weight:600;transition:gap .2s;display:inline-flex}.ig-featured:hover .ig-read-btn{gap:12px}.ig-section-label{align-items:center;gap:16px;margin:32px 0 24px;display:flex}.ig-section-label span{color:var(--text);white-space:nowrap;font-size:18px;font-weight:600}.ig-section-label hr{background:var(--border);border:none;flex:1;height:1px}.ig-cards-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:32px;display:grid}.ig-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000014}.ig-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.ig-card:hover .ig-card-overlay{opacity:1}.ig-card-media{aspect-ratio:1;width:100%;position:relative;overflow:hidden}.ig-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.ig-card:hover .ig-card-media img{transform:scale(1.02)}.ig-play-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ig-card:hover .ig-play-button{background:#000c;transform:translate(-50%,-50%)scale(1.1)}.ig-heart-reaction{cursor:pointer;z-index:2;transition:all .3s;position:absolute;top:12px;right:12px}.ig-heart-reaction:hover{transform:scale(1.1)}.ig-heart-container{justify-content:center;align-items:center;display:flex;position:relative}.ig-heart-container svg{filter:drop-shadow(0 2px 4px #00000080)}.ig-heart-count{color:#fff;text-shadow:0 1px 3px #000000e6;pointer-events:none;text-align:center;min-width:16px;font-size:10px;font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ig-card-caption{color:var(--text);padding:10px 16px 16px;font-size:14px;line-height:1.4;display:none}.ig-card-overlay{color:#fff;opacity:0;z-index:10;background:#000c;flex-direction:column;justify-content:center;padding:20px;transition:opacity .3s;display:flex;position:absolute;inset:0}.ig-overlay-content{text-align:center}.ig-overlay-username{color:var(--accent);margin-bottom:12px;font-size:16px;font-weight:600}.ig-overlay-caption{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-bottom:16px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.ig-overlay-likes{justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ig-overlay-likes svg{width:20px;height:20px}.ig-caption-username{margin-right:8px;font-weight:600}.ig-caption-text{color:var(--text)}.ig-caption-more{color:var(--text);opacity:.6;cursor:pointer}.ig-caption-more:hover{opacity:1}.ig-load-more{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:14px;font-weight:600;transition:all .2s}.ig-load-more:hover:not(:disabled){background:var(--link-hover);transform:translateY(-1px)}.ig-load-more:disabled{opacity:.6;cursor:not-allowed}.loading-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ig-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ig-modal-simple{background:var(--bg);border-radius:12px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;position:relative;overflow:hidden}.ig-modal-media{object-fit:contain;width:100%;max-width:80vw;max-height:70vh;display:block}.ig-modal-caption{background:var(--bg);color:var(--text);border-top:1px solid var(--border);max-height:120px;padding:16px 20px;font-size:14px;line-height:1.4;overflow-y:auto}.ig-modal-close{color:#fff;cursor:pointer;z-index:1001;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.ig-modal-close:hover{background:#000000e6}.ig-error{text-align:center;color:var(--text);opacity:.7;padding:40px 20px;font-size:16px}@media (width<=768px){.ig-wrap{padding:16px}.ig-wrap h1{margin:0!important}.wave-container{height:60px;margin:15px 0 30px}.ig-diamond-nav-section{display:none!important}.ig-featured{height:auto!important}.ig-featured>div{padding:0!important}.main-nav{width:400px;height:120px}.main-nav li{width:120px;height:120px;margin:-60px}.ig-nav-title{margin-bottom:30px;font-size:22px}.ig-featured{grid-template-columns:1fr;gap:20px;padding:20px}.ig-cards-grid{grid-template-columns:1fr;gap:24px}.ig-card{max-width:500px;margin:0 auto}.ig-section-label{margin:24px 0 16px}.ig-section-label span{font-size:16px}}@media (width<=480px){.main-nav{width:300px;height:100px}.main-nav li{width:80px;height:80px;margin:-40px}.ig-nav-title{margin-bottom:25px;font-size:18px}.ig-cards-grid{grid-template-columns:1fr;gap:20px}.ig-heart-container svg{width:28px;height:28px}.ig-heart-count{font-size:9px}.ig-card-caption{padding:0 12px 12px;font-size:13px}.ig-grid{grid-template-columns:repeat(2,1fr);gap:16px}.ig-featured-caption{-webkit-line-clamp:3;font-size:14px}.ig-tile{clip-path:polygon(50% 0%,80% 15%,100% 50%,80% 85%,50% 100%,20% 85%,0% 50%,20% 15%)}}:root{--bg:#f0f6ff;--text:#000;--rail-text:#fff;--border:#00bcd433;--link:#0284c7;--link-hover:#0284c7;--accent:#00bcd4;--card-shadow:#00bcd433;--nav-height:52px;--font:"Times New Roman", Times, serif;--resume-heading:#000;--bg-dark:#0284c7;--text-light:#fff;--btn-bg:#000;--btn-text:#fff;--bg-grad:linear-gradient(160deg, #e8f4ff 0%, #f0f6ff 40%, #e6f0ff 100%);--orb1:#00bcd412;--orb2:#6366f10d;--grid-color:#00bcd40f;--box-sadow:#0000001f 0px 1px 3px, #0000003d 0px 1px 0px;--avatar-shadow:#091e4240 0px 1px 1px, #091e4221 0px 0px 1px 1px;--section-border:#000;--gh-avatar-border:#797474;--navbar-bg:#fff}[data-theme=dark]{--bg:#060a14;--text:#fff;--rail-text:#000;--border:#00bcd433;--link:#67e8f9;--link-hover:#0ff;--resume-heading:#fff;--bg-dark:#fff;--text-light:#000;--btn-bg:#fefefe;--btn-text:#000;--bg-grad:linear-gradient(160deg, #060a14 0%, #0a0d16 40%, #07091a 100%);--orb1:#00bcd417;--orb2:#6366f112;--grid-color:#00bcd40d;--section-border:#f5f5f5;--gh-avatar-border:#67e8f9;--navbar-bg:#061741}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0}::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:11pt;line-height:1.15;transition:background .3s,color .3s;position:relative;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(ellipse 80% 60% at 20% 10%, var(--orb1) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 80% 80%, var(--orb2) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 50% 50%, var(--orb1) 0%, transparent 70%), var(--bg-grad);pointer-events:none;transition:background .3s;position:fixed;inset:0}body:after{content:"";z-index:-1;background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;animation:8s ease-in-out infinite gridPulse;position:fixed;inset:0;-webkit-mask-image:radial-gradient(100% 100%,#000 30%,#0000 100%);mask-image:radial-gradient(100% 100%,#000 30%,#0000 100%)}a{color:var(--text);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}.page-wrap{max-width:1100px;margin:calc(var(--nav-height) + 36px) auto 40px;padding:0 24px 40px}.card-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:10px;display:grid}.card{background:#fff;border:1px solid #00000014;border-radius:8px;padding:12px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:0 1px 3px #0000000d}.card:hover{transform:translateY(-2px)}[data-theme=dark] .card{background:#0f172a99;border:1px solid #ffffff1a;box-shadow:0 1px 3px #0003}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.filter-btn{border:1px solid var(--border);color:var(--text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:20px;padding:4px 14px;font-family:sans-serif;font-size:.72rem;transition:background .18s,color .18s,border-color .18s}.filter-btn.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--section-border)}.filter-btn:hover:not(.active){background:var(--btn-bg);color:var(--btn-text);border-color:var(--section-border);opacity:.7}.tag{color:var(--text);opacity:.7;background:#64748b1a;border:1px solid #64748b33;border-radius:10px;padding:1px 8px;font-size:9pt}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:60vh;display:flex}@keyframes gridPulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes orbFloat1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.97)}}@keyframes orbFloat2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-50px,30px)scale(1.08)}66%{transform:translate(30px,-20px)scale(.95)}}@media (width<=900px){.page-wrap{padding:0 14px}.card-grid{grid-template-columns:1fr}}@media print{body:before,body:after,.navbar-wrapper{display:none!important}.page-wrap{margin:0!important}[style*="opacity: 0"],[style*=opacity\:0]{opacity:1!important;transform:none!important}}
