@charset "UTF-8";.navbar{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:10000;overflow:visible;pointer-events:all;height:46px;width:auto;max-width:calc(100vw - 32px);background:#f0f6ffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .navbar{background:#060a14b8}.navbar{border:1px solid rgba(0,188,212,.18);border-radius:999px;box-shadow:0 4px 24px #00000014,0 1px #ffffffe6 inset,0 -1px #00bcd414 inset}[data-theme=dark] .navbar{border-color:#00bcd426;box-shadow:0 4px 24px #0006,0 1px #ffffff0f inset,0 -1px #00bcd40f inset}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 8px;gap:4px;transition:background .3s,box-shadow .3s}.nav-left{display:flex;align-items:center;gap:0;overflow:visible}.nav-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:var(--avatar-shadow);margin-right:6px;flex-shrink:0;transition:transform .2s ease;cursor:pointer}.nav-avatar:hover{transform:scale(1.3);box-shadow:none}.nav-links{display:flex;gap:2px}.nav-link{background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:10pt;color:var(--text);padding:5px 11px;border-radius:999px;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:4px;text-decoration:none;white-space:nowrap;opacity:.75}.nav-link:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;text-decoration:none;box-shadow:var(--box-sadow)}.nav-link.active{color:var(--btn-text);background:var(--btn-bg);font-weight:700;opacity:1;box-shadow:var(--box-sadow)}.nav-controls{display:flex;gap:2px;align-items:center;flex-shrink:0}.icon-btn{padding:5px 8px;background:transparent;color:var(--text);border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;border-radius:999px;transition:transform .2s;opacity:.75}.icon-btn:hover{transform:translateY(-1px);opacity:1}.tooltip-wrap{position:relative;display:flex}.tooltip-wrap:hover .tooltip{opacity:1;transform:translate(-50%) translateY(0)}.tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:#0a0f1eeb;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;padding:5px 10px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px #00000040;border:1px solid rgba(0,188,212,.2);z-index:9999}.tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#0a0f1eeb}.tooltip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-on{background:#76ff03;box-shadow:0 0 6px #76ff03}.dot-off{background:#f44;box-shadow:0 0 6px #f44}.mobile-menu-btn{display:none;background:transparent;border:none;cursor:pointer;padding:8px;margin-left:8px;border-radius:50%;width:40px;height:40px;align-items:center;justify-content:center;transition:background .3s}.mobile-menu-btn:hover{background:#00bcd41a}.mobile-menu-btn.active .hamburger span:nth-child(1){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{position:fixed;top:70px;left:50%;transform:translate(-50%);width:90%;max-width:300px;z-index:99999;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,188,212,.2);border-radius:16px;box-shadow:0 8px 32px #0003;animation:slideDown .3s ease;pointer-events:all}[data-theme=dark] .mobile-menu{background:#1a1a1af2;border-color:#00bcd433}.mobile-menu-content{padding:16px}.mobile-nav-link{display:flex;align-items:center;padding:12px 16px;color:var(--text);text-decoration:none;border-radius:8px;margin:4px 0;font-size:14px;font-weight:500;transition:all .2s}.mobile-nav-link:hover{background:#001012;color:#fff;text-decoration:none;box-shadow:var(--box-sadow)}[data-theme=dark] .mobile-nav-link:hover{background:#fff;color:#001012}.mobile-nav-link.active{background:#001012;color:#fff;font-weight:600;box-shadow:var(--box-sadow)}[data-theme=dark] .mobile-nav-link.active{background:#fff;color:#001012}.mobile-nav-icon{margin-right:8px;display:flex;align-items:center}.hamburger{width:20px;height:20px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.hamburger span{display:block;height:2px;width:18px;background:var(--text);border-radius:1px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);transform-origin:center}.hamburger span:nth-child(1){margin-bottom:4px}.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 (max-width: 768px){.nav-links{display:none}.mobile-menu-btn{display:flex;margin-left:auto}.navbar{padding:0 8px;width:90%}.nav-left{width:100%;justify-content:space-between}}.navbar{background:var(--navbar-bg);backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);border:1px solid rgba(0,0,0,.1);box-shadow:var(--box-sadow)}.navbar .nav-link{color:var(--text)}.navbar .nav-link.active{color:#fff;background:#001012;box-shadow:var(--box-sadow)}.navbar .nav-link:hover{background:#001012;color:#fff;box-shadow:var(--box-sadow)}.navbar .icon-btn{color:var(--text)}.navbar .icon-btn:hover{transform:translateY(-1px)}[data-theme=dark] .navbar{background:#192552!important;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .navbar .nav-link.active,[data-theme=dark] .navbar .nav-link:hover{background:#fff!important;color:#001012!important}.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--navbar-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000026;min-width:180px;padding:6px;z-index:99999;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:slideDown .18s ease}.nav-dropdown-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 12px;border-radius:7px;color:var(--text);font-family:var(--font);font-size:10pt;cursor:pointer;transition:background .15s}.nav-dropdown-item:hover{background:var(--btn-bg);color:var(--btn-text)}.mobile-courses-section{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.mobile-courses-label{font-size:9pt;opacity:.5;padding:4px 16px;text-transform:uppercase;letter-spacing:.08em}.nav-dblclick-info{position:relative;display:flex;align-items:center;padding:5px 8px;cursor:default}.nav-dblclick-info svg{opacity:.4;display:block;transition:opacity .15s}.nav-dblclick-info:hover svg{opacity:.8}.nav-dblclick-info:hover .nav-dblclick-tip{opacity:1;transform:translate(-50%) translateY(0)}.nav-dblclick-tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);width:220px;background:#0a0f1eeb;color:#fff;font-size:8.5pt;font-weight:500;line-height:1.5;padding:8px 12px;border-radius:10px;border:1px solid rgba(0,188,212,.2);box-shadow:0 4px 16px #00000040;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;z-index:9999;white-space:normal;text-align:center}@media print{.navbar{display:none!important}}.course-navbar{position:fixed;top:0;left:0;right:0;z-index:10000;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:8px;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,188,212,.15);box-shadow:0 2px 16px #00000014}[data-theme=dark] .course-navbar{background:#192552;border-bottom-color:#ffffff14}.course-nav-left{flex-shrink:0}.course-nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-weight:700;font-size:13px;opacity:.9;transition:opacity .15s;white-space:nowrap}.course-nav-logo img{width:28px;height:28px;border-radius:50%;object-fit:cover}.course-nav-logo:hover{opacity:1;text-decoration:none}@media (max-width: 640px){.course-nav-logo span{display:none}}.course-nav-links{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;overflow-x:auto;scrollbar-width:none}.course-nav-links::-webkit-scrollbar{display:none}@media (max-width: 768px){.course-nav-links{display:none}}.course-nav-link{background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:10px;font-weight:500;color:var(--text);padding:5px 9px;border-radius:999px;white-space:nowrap;opacity:.7;transition:background .15s,opacity .15s,color .15s}.course-nav-link:hover{background:#00bcd41f;opacity:1}.course-nav-link.active{background:#001012;color:#fff;opacity:1;font-weight:700}[data-theme=dark] .course-nav-link.active{background:#fff;color:#001012}.course-nav-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.course-nav-icon-btn{background:transparent;border:none;cursor:pointer;font-size:16px;padding:5px 8px;border-radius:8px;opacity:.75;transition:opacity .15s,transform .15s}.course-nav-icon-btn:hover{opacity:1;transform:translateY(-1px)}.course-nav-dblclick-info{position:relative;display:flex;align-items:center;padding:5px 6px;cursor:default}.course-nav-dblclick-info svg{opacity:.35;transition:opacity .15s}.course-nav-dblclick-info:hover svg{opacity:.7}.course-nav-dblclick-info:hover .course-nav-tip{opacity:1;transform:translate(-50%) translateY(0)}.course-nav-tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);width:200px;background:#0a0f1eeb;color:#fff;font-size:11px;font-weight:500;line-height:1.5;padding:7px 11px;border-radius:10px;border:1px solid rgba(0,188,212,.2);box-shadow:0 4px 16px #00000040;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;z-index:9999;text-align:center;white-space:normal}.course-nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:8px}.course-nav-hamburger span{display:block;width:18px;height:2px;background:var(--text);border-radius:1px;transition:all .25s}@media (max-width: 768px){.course-nav-hamburger{display:flex}}.course-nav-mobile{position:fixed;top:52px;left:0;right:0;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,188,212,.15);padding:12px 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;z-index:9999;animation:slideDown .2s ease}[data-theme=dark] .course-nav-mobile{background:#192552}.course-nav-mobile-item{background:transparent;border:1px solid rgba(0,188,212,.15);border-radius:8px;padding:9px 12px;font-family:var(--font);font-size:12px;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:all .15s}.course-nav-mobile-item:hover{background:#00bcd41a}.course-nav-mobile-item.active{background:#001012;color:#fff;border-color:transparent;font-weight:700}[data-theme=dark] .course-nav-mobile-item.active{background:#fff;color:#001012}.profile-card-wrap{position:relative;display:flex;justify-content:center;align-items:center;margin:32px auto 0;width:100%;padding:32px 20px;overflow:visible}.profile-card-wrap:before,.profile-card-wrap:after{content:"";position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:0;transition:background .3s}.profile-card-wrap:before{width:380px;height:380px;top:50%;left:50%;transform:translate(-70%,-50%);background:var(--orb1);animation:blobDrift1 9s ease-in-out infinite}.profile-card-wrap:after{width:300px;height:300px;top:50%;left:50%;transform:translate(10%,-50%);background:var(--orb2);animation:blobDrift2 11s ease-in-out infinite}.profile-card{position:relative;z-index:1;width:720px;text-align:center;border-radius:20px;padding:28px 32px 24px;overflow:hidden;background:#f5f9ffbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .profile-card{background:#0a0f1cc7}.profile-card{border:1px solid rgba(0,188,212,.18);border-radius:999px;box-shadow:0 4px 24px #00000014,0 1px #ffffffe6 inset,0 -1px #00bcd414 inset}[data-theme=dark] .profile-card{border-color:#00bcd426;box-shadow:0 4px 24px #0006,0 1px #ffffff0f inset,0 -1px #00bcd40f inset}.profile-card{box-shadow:0 12px 40px #00000014,0 1px #ffffffe6 inset;opacity:0;transform:translateY(60px) scale(.88);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .profile-card{box-shadow:0 12px 40px #00000073,0 1px #ffffff0a inset}.profile-card--visible{opacity:1;transform:translateY(0) scale(1)}.profile-card--skeleton .profile-avatar{background:linear-gradient(90deg,#00bcd414 25%,#00bcd42e,#00bcd414 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.profile-card:before,.profile-card:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}.profile-card:before{width:180px;height:180px;top:-60px;left:-60px;background:radial-gradient(circle,rgba(0,188,212,.12) 0%,transparent 70%)}.profile-card:after{width:160px;height:160px;bottom:-50px;right:-50px;background:radial-gradient(circle,rgba(0,188,212,.1) 0%,transparent 70%)}.profile-card>*{position:relative;z-index:1}.profile-avatar-wrap{display:flex;justify-content:center;margin-bottom:12px}.profile-avatar{width:110px;height:110px;border-radius:50%;background:#00bcd40f;border:3px solid rgba(0,188,212,.3);display:flex;align-items:center;justify-content:center;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);font-size:16pt;font-weight:800;font-family:Georgia,Times New Roman,serif;margin:0 0 6px;letter-spacing:.02em}.profile-gold-line{position:relative;width:70%;height:1.5px;background:linear-gradient(90deg,transparent,rgba(0,188,212,.6),transparent);margin:0 auto 12px;border-radius:2px}.profile-gold-line:before{content:"◆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:9px;color:#00bcd4;background:#f5f9ffbf;padding:0 6px;line-height:1}[data-theme=dark] .profile-gold-line:before{background:#0a0f1cc7}.profile-bio{color:var(--text);font-size:9.5pt;line-height:1.6;margin:0 0 12px;font-family:sans-serif;opacity:.7;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.profile-tag{font-size:9pt;font-weight:500;color:#00bcd4;margin:-4px 0 8px;opacity:.85;letter-spacing:.01em}.profile-bottom{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}.profile-bottom-left{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.profile-socials{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.profile-socials a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#00bcd412;border:1px solid rgba(0,188,212,.22);transition:background .2s,transform .2s,box-shadow .2s}.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{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;font-size:9.5pt}.profile-contact-item{display:flex;align-items:center;gap:5px;color:var(--text);background:#00bcd40f;border:1px solid rgba(0,188,212,.18);border-radius:999px;padding:4px 12px;transition:background .2s,border-color .2s,transform .2s}.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{display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-barcode img{width:100px;opacity:.85;border-radius:6px}[data-theme=dark] .profile-barcode img{filter:invert(1);opacity:.7}.contact-icon{font-size:13px}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,#00bcd414 25%,#00bcd42e,#00bcd414 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;margin:0 auto}@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%{background-position:200% 0}to{background-position:-200% 0}}@media print{.profile-card-wrap{display:none!important}}.magnifier-lens{position:fixed;border-radius:12px;overflow:hidden;pointer-events:none;z-index:9998;border:2.5px solid rgba(0,188,212,.7);box-shadow:0 8px 40px #00000047,0 0 0 1px #00bcd426;background:var(--bg, #fff)}.magnifier-inner{position:absolute;top:0;left:0;will-change:transform;overflow:hidden}.magnifier-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;font-weight:500;color:#ffffffe6;background:#00000073;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .magnifier-hint{background:#00000073}.magnifier-hint{padding:5px 0;letter-spacing:.04em;pointer-events:none;z-index:1}.magnifier-toggle-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:6px}.magnifier-toggle-wrap:hover .magnifier-tooltip{opacity:1;transform:translateY(0)}.magnifier-toggle{width:44px;height:44px;border-radius:50%;border:none;background:#00bcd41a;color:#00bcd4;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s;position:relative;z-index:0}.magnifier-toggle:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:conic-gradient(from var(--wave-angle, 0deg),transparent 0deg,#00bcd4 60deg,#00e5ff 120deg,#0097a7 180deg,transparent 240deg,#00bcd4 300deg,transparent 360deg);animation:wave-spin 2s linear infinite;z-index:-1;filter:blur(1px)}.magnifier-toggle:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--bg, #1a1a2e);z-index:-1}.magnifier-toggle.active{background:#00bcd4;color:#fff}.magnifier-toggle:hover{background:#00bcd438}.magnifier-tooltip{font-size:11px;font-weight:600;color:#fff;background:#0a0f1eeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .magnifier-tooltip{background:#060a14eb}.magnifier-tooltip{border:1px solid rgba(0,188,212,.2);border-radius:8px;padding:5px 10px;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px #00000040}[data-theme=dark] .magnifier-tooltip{background:#060a14eb;border-color:#00bcd440}@property --wave-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes wave-spin{to{--wave-angle: 360deg}}@media (max-width: 768px){.magnifier-toggle-wrap{display:none!important}}@media print{.magnifier-toggle-wrap{display:none!important}}.resume-page{max-width:8.5in;min-height:100vh;position:relative;z-index:1;color:#000}.resume-name{font-size:20pt;font-weight:700;margin-bottom:3pt;color:#000}.resume-tag{font-size:10pt;font-weight:500;color:#000;margin:0 0 6pt;opacity:.85}.resume-contact{font-size:10pt;margin-bottom:10pt;line-height:1.4;color:#000}.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{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--navbar-bg);backdrop-filter:blur(100px);-webkit-backdrop-filter:blur(100px);border:1px solid rgba(0,0,0,.1);border-radius:28px;padding:12px 8px;width:52px;overflow:visible;transition:width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1),background .3s;box-shadow:var(--box-sadow)}[data-theme=dark] .section-rail{border:1px solid rgba(255,255,255,.1)}.section-rail[data-vertical=false] .rail-divider{display:none}.section-rail[data-vertical=true] .rail-btn{flex-direction:row;max-width:34px;overflow:hidden;margin-left:0;transition:max-width .28s cubic-bezier(.4,0,.2,1),background .2s,opacity .2s}.section-rail[data-vertical=true] .rail-btn:hover{max-width:160px;background:#001012;color:#fff;opacity:1;box-shadow:var(--box-sadow)}[data-theme=dark] .section-rail[data-vertical=true] .rail-btn:hover{background:#fff;color:#001012}.section-rail[data-vertical=true] .rail-label{opacity:0;transition:opacity .15s .1s;white-space:nowrap;color:var(--rail-text)}.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;overflow:hidden;margin-top:-5px;transition:background .2s,opacity .2s}.section-rail[data-vertical=false] .rail-btn:hover{background:#001012;color:#fff;opacity:1;box-shadow:var(--box-sadow)}[data-theme=dark] .section-rail[data-vertical=false] .rail-btn:hover{background:#fff;color:#001012}.section-rail[data-vertical=false] .rail-label{font-size:10pt;white-space:nowrap;writing-mode:vertical-lr;max-height:0;overflow:hidden;opacity:0;transform:scaleY(.6);transform-origin:top center;transition:max-height .32s cubic-bezier(.4,0,.2,1),opacity .22s .08s,transform .32s cubic-bezier(.4,0,.2,1);color:var(--text)}.section-rail[data-vertical=false] .rail-btn:hover .rail-label{max-height:120px;opacity:1;transform:scaleY(1)}.rail-header{font-size:9px;font-weight:700;letter-spacing:.14em;color:#00bcd4;padding:0 6px 6px;white-space:nowrap;align-self:center;opacity:.7}.rail-divider{width:100%;height:1px;background:#00bcd433;margin:2px 0;border-radius:1px;flex-shrink:0}.rail-btn{display:flex;align-items:center;justify-content:flex-start;gap:8px;background:transparent;border:none;border-radius:999px;padding:8px;cursor:pointer;font-family:var(--font);font-size:11pt;color:var(--text);white-space:nowrap;opacity:.7;transition:max-width .28s cubic-bezier(.4,0,.2,1),background .2s,opacity .2s,box-shadow .2s;flex-direction:row}.rail-btn:hover{background:#001012;color:#fff;opacity:1;box-shadow:var(--box-sadow)}[data-theme=dark] .rail-btn:hover{background:#fff;color:#001012}.rail-icon{font-size:16px;flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center;width:18px;height:18px;text-align:center}.rail-label{font-size:10pt;font-weight:500;color:var(--text);opacity:.75}.rail-toggle{display:flex;align-items:center;justify-content:center;background:#00bcd414;border:1px solid rgba(0,188,212,.18);border-radius:999px;padding:6px 8px;cursor:pointer;margin-top:2px;align-self:center;transition:background .2s,color .2s;color:var(--text);opacity:.7}.rail-toggle:hover{background:#00bcd42e;color:#00bcd4;opacity:1}[data-theme=dark] .rail-toggle{background:#00bcd41a;border-color:#00bcd426}[data-theme=dark] .rail-toggle:hover{background:#00bcd433}.rail-toggle-arrow{font-size:14px;display:inline-block;transition:transform .35s cubic-bezier(.4,0,.2,1);line-height:1}@keyframes blink-cyan{0%,to{color:#00bcd4;border-bottom-color:#00bcd4}50%{color:var(--text);border-bottom-color:var(--border)}}.blink-heading{animation:blink-cyan .4s ease 6}@media (max-width: 768px){.section-rail{display:none!important}}@page{margin:40px}@media print{.section-rail{display:none!important}.resume-page{margin:0;padding:0 40px;max-width:100%;box-sizing:border-box}.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;padding-bottom:14px;margin-bottom:14px}.blog-masthead h1{font-family:Georgia,serif;font-size:2.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:var(--text)}.blog-tabs{display:flex;gap:2px;margin-bottom:28px;border-bottom:1px solid var(--section-border)}.blog-tab-btn{background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:10pt;color:var(--text);padding:8px 20px;border-radius:0;transform:skew(-15deg);transition:background .2s,color .2s,transform .2s;display:inline-flex;align-items:center;gap:4px;text-decoration:none;white-space:nowrap;opacity:.75;position:relative;margin:0 2px}.blog-tab-btn span{transform:skew(15deg);display:block}.blog-tab-btn:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;text-decoration:none;box-shadow:var(--box-sadow);transform:skew(-15deg) translateY(-1px)}.blog-tab-btn.active{color:var(--btn-text);background:var(--btn-bg);font-weight:700;opacity:1;box-shadow:var(--box-sadow);transform:skew(-15deg)}.blog-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.blog-filter-btn{padding:4px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:sans-serif;cursor:pointer;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{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;margin-bottom:40px;cursor:pointer;align-items:center}.blog-featured:hover .blog-featured-img{transform:scale(1.03)}.blog-featured-img-wrap{overflow:hidden;border-radius:10px}.blog-featured-img{width:100%;height:320px;object-fit:cover;display:block;border-radius:10px;transition:transform .4s ease}.blog-featured-body{display:flex;flex-direction:column;gap:12px}.blog-featured-badge{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;font-family:sans-serif;color:#00bcd4;font-weight:600}.blog-featured-badge span{background:#00bcd4;color:#fff;padding:2px 8px;border-radius:3px;font-size:.6rem}.blog-featured-title{font-family:Georgia,serif;font-size:1.7rem;font-weight:800;line-height:1.25;color:var(--text)}.blog-featured-excerpt{font-size:.92rem;line-height:1.7;opacity:.68;font-family:Georgia,serif}.blog-featured-meta{display:flex;align-items:center;gap:8px;font-size:.68rem;font-family:sans-serif;opacity:.5;text-transform:uppercase;letter-spacing:.05em;padding-top:10px;border-top:1px solid rgba(128,128,128,.2)}.blog-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid #00bcd4}.blog-read-btn{display:inline-block;margin-top:4px;padding:8px 20px;background:var(--btn-bg);color:var(--btn-text);border-radius:5px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-family:sans-serif;font-weight:600;width:fit-content;transition:opacity .2s}.blog-read-btn:hover{opacity:.85}.blog-section-label{display:flex;align-items:center;gap:12px;margin-bottom:18px}.blog-section-label span{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;font-family:sans-serif;font-weight:700;opacity:.45;white-space:nowrap}.blog-section-label hr{flex:1;border:none;border-top:1px solid rgba(128,128,128,.2)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card{border-radius:10px;overflow:hidden;background:#8080800a;border:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}.blog-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.blog-card:hover .blog-card-img{transform:scale(1.06)}.blog-card-img-wrap{overflow:hidden}.blog-card-img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .4s ease}.blog-card-body{padding:14px 16px 16px;flex:1;display:flex;flex-direction:column;gap:6px}.blog-card-cat{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-family:sans-serif;color:#00bcd4;font-weight:600}.blog-card-hearts{font-size:.65rem;color:#e74c3c;font-weight:600;font-family:sans-serif;display:flex;align-items:center;gap:4px}.blog-card-cat-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.blog-card-title{font-family:Georgia,serif;font-size:.97rem;font-weight:700;line-height:1.35;color:var(--text)}.blog-card-excerpt{font-size:.8rem;line-height:1.6;opacity:.6;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta{display:flex;align-items:center;gap:6px;font-size:.62rem;font-family:sans-serif;opacity:.42;text-transform:uppercase;letter-spacing:.04em}.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(128,128,128,.15);margin-top:4px;gap:6px}.blog-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.blog-modal{background:var(--bg);color:var(--text);border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.blog-modal-close{position:absolute;top:14px;right:16px;background:var(--btn-bg);border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;cursor:pointer;color:var(--btn-text);line-height:1;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.blog-modal-close:hover{opacity:.8}.blog-modal-img{width:100%;height:260px;object-fit:cover;border-radius:12px 12px 0 0;display:block}.blog-modal-body{padding:24px 28px 32px}.blog-modal-cat{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#00bcd4;font-family:sans-serif;font-weight:600;margin-bottom:8px}.blog-modal-title{font-family:Georgia,serif;font-size:1.6rem;font-weight:800;line-height:1.25;margin-bottom:12px}.blog-modal-meta{display:flex;align-items:center;gap:8px;font-size:.68rem;font-family:sans-serif;opacity:.45;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(128,128,128,.15)}.blog-modal-text{font-family:Georgia,serif;font-size:.97rem;line-height:1.85;opacity:.82}.blog-modal-footer{margin-top:20px;padding-top:16px;border-top:1px solid rgba(128,128,128,.15);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.blog-modal-links a{font-size:.72rem;font-family:sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#00bcd4;text-decoration:none;border-bottom:1px solid #00bcd4;padding-bottom:1px}.blog-modal-links a:hover{opacity:.7}.load-more-btn{padding:10px 32px;border:1px solid var(--border);border-radius:20px;background:var(--btn-bg);color:var(--btn-text);font-family:sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;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 (max-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 (max-width: 540px){.blog-grid{grid-template-columns:1fr}.blog-modal-body{padding:18px 16px 24px}.blog-modal-title{font-size:1.3rem}}.luffy-character{position:fixed;top:2rem;left:2rem;width:120px;height:120px;z-index:10;pointer-events:none}.luffy-character img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid transparent;background:linear-gradient(45deg,#ff6b35,#f7931e,#ffd23f,#06ffa5,#1cb5e0,#8e44ad) border-box;mask:radial-gradient(circle at center,white 50%,transparent 52%),linear-gradient(45deg,transparent 30%,white 32%,white 68%,transparent 70%);mask-composite:intersect;-webkit-mask:radial-gradient(circle at center,white 50%,transparent 52%),linear-gradient(45deg,transparent 30%,white 32%,white 68%,transparent 70%);-webkit-mask-composite:source-in;box-shadow:0 0 20px #ff6b354d,0 0 40px #f7931e33,inset 0 0 20px #ffffff1a;animation:luffyFloat 3s ease-in-out infinite;transition:all .3s ease}.luffy-character:before{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:50%;background:linear-gradient(45deg,#ff6b35,#f7931e,#ffd23f,#06ffa5,#1cb5e0,#8e44ad);z-index:-1;animation:borderRotate 4s linear infinite}.luffy-character:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.4),transparent);z-index:-1;animation:shimmer 2s ease-in-out infinite}@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)}}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}.portfolio-card{border-radius:20px;overflow:hidden;background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=dark] .portfolio-card{background:#ffffff0d}.portfolio-card{border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 60px 30px #ffffff08;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:box-shadow .25s,transform .25s}.portfolio-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);z-index:1}.portfolio-card:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3));z-index:1}.portfolio-card:hover{box-shadow:0 16px 48px #0000002e,inset 0 1px #fff9,inset 0 -1px #ffffff26,inset 0 0 60px 30px #ffffff0d;transform:translateY(-4px)}.card-banner{width:100%;height:160px;object-fit:cover;display:block}.card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:6px}.card-title{font-weight:700;font-size:11pt}.card-desc{font-size:10pt;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:9.5pt}.card-links{display:flex;gap:10px;font-size:10pt}.author-img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid #00bcd4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-inner{background:#111;border-radius:10px;overflow:hidden;display:flex;max-width:900px;width:100%;max-height:90vh;position:relative}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;z-index:10;line-height:1}.modal-close:hover{color:#00bcd4}.modal-img-side{flex:1;background:#000;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:300px}.modal-img-side img{max-width:100%;max-height:90vh;object-fit:contain}.modal-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:32px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:background .2s;line-height:1}.modal-arrow:hover{background:#00bcd466}.modal-arrow.prev{left:8px}.modal-arrow.next{right:8px}.modal-counter{position:absolute;bottom:10px;left:50%;transform:translate(-50%);color:#ffffff80;font-size:9.5pt}.modal-info-side{width:300px;flex-shrink:0;background:#181818;color:#e0e0e0;padding:40px 22px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-title{font-size:14pt;font-weight:700;color:#fff}.modal-desc{font-size:10.5pt;opacity:.85;line-height:1.6}.modal-links{display:flex;gap:12px;flex-wrap:wrap;font-size:10.5pt}.modal-links a{color:#66b3ff;text-decoration:none}.modal-links a:hover{text-decoration:underline}@media (max-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;padding-bottom:14px;font-family:Georgia,serif;font-size:2.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:var(--text)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;padding:1rem 0}.project-card{background:#fff;overflow:hidden;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.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:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--accent),transparent,var(--link));z-index:-1;opacity:0;transition:opacity .3s}.project-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:#00bcd466 5px 5px,#00bcd44d 10px 10px,#00bcd433 15px 15px,#00bcd41a 20px 20px,#00bcd40d 25px 25px}.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,#fff)}[data-theme=dark] .project-card{background:#0f172acc;border:1px solid rgba(255,255,255,.08);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{box-shadow:#67e8f966 5px 5px,#67e8f94d 10px 10px,#67e8f933 15px 15px,#67e8f91a 20px 20px,#67e8f90d 25px 25px;border-color:#ffffff26}[data-theme=dark] .project-card:hover .project-info{background:linear-gradient(135deg,#67e8f90d,#0f172ae6)}.project-banner{width:100%;height:280px;overflow:hidden;position:relative;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.project-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent 30%,rgba(0,188,212,.1) 50%,transparent 70%);opacity:0;transition:opacity .3s}.project-card:hover .project-banner:after{opacity:1}.project-banner img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1);filter:saturate(.9)}.project-card:hover .project-banner img{filter:saturate(1.1) brightness(1.05)}.project-info{padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:background .3s}.project-info:before{content:"";position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(to bottom,var(--accent),var(--link));transition:height .3s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-info:before{height:100%}.project-name-link{text-decoration:none;color:inherit;display:block;transition:all .3s ease}.project-name-link:hover{text-decoration:none}.project-name{font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.2;transition:color .3s ease;position:relative}.project-role{font-size:.85rem;color:var(--text);display:inline-block;width:fit-content;line-height:1.3;max-width:100%;word-wrap:break-word;margin-bottom:1rem;position:relative;overflow:hidden}.project-role:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.project-card:hover .project-role:before{left:100%}[data-theme=dark] .project-role{color:var(--link)}.project-description{font-size:.9rem;color:var(--text);opacity:.85;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1.2rem}.project-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-tech-stack .tech-tag{background:#667eea1a;color:#667eea;font-size:.75rem;font-weight:500;padding:.3rem .7rem;border-radius:12px;border:1px solid rgba(102,126,234,.2);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{transform:rotate(0) scale(1.05);background:#667eea33;border-color:#667eea66}.project-actions{display:flex;gap:1.5rem;margin-top:auto;padding-top:.5rem}.project-action-link{display:flex;align-items:center;gap:.5rem;color:var(--link);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s ease}.project-action-link .action-icon{width:16px;height:16px;transition:transform .3s ease}.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{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:var(--text);opacity:.7}@media (max-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 (max-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 (max-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{font-size:.7rem;padding:.25rem .5rem;transform:none!important}}.project-detail{min-height:100vh;background:var(--bg-grad);padding-top:calc(var(--nav-height) + 2rem);position:relative;overflow:hidden}.project-detail .container{max-width:1200px;margin:0 auto;padding:0 1.5rem 3rem;position:relative;z-index:2}.project-masthead{text-align:center;padding-bottom:14px;margin-bottom:2rem}.project-masthead h1{font-family:Georgia,serif;font-size:2.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:var(--text)}.blob-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.blob-background .blob-main{position:absolute;width:60vw;height:60vw;max-width:800px;max-height:800px;top:20%;right:-20%;opacity:.1;animation:blobFloat 20s ease-in-out infinite}.blob-background .blob-main path{animation:blobMorph 15s ease-in-out infinite}.blob-background .blob-small{position:absolute;width:25vw;height:25vw;max-width:300px;max-height:300px;top:10%;left:-10%;opacity:.08;animation:blobFloatSmall 25s ease-in-out infinite reverse}.blob-background .blob-small path{animation:blobMorphSmall 18s ease-in-out infinite}.butterfly{position:absolute;width:120px;height:90px;opacity:.6}.butterfly svg{width:100%;height:100%}.butterfly .wing{transform-origin:center;animation:wingFlutter .8s ease-in-out infinite alternate}.butterfly .left-wing{animation-delay:0s}.butterfly .right-wing{animation-delay:.1s}.butterfly-1{top:20%;left:-5%;animation:butterflyFlight1 25s linear infinite}.butterfly-2{top:60%;left:-8%;animation:butterflyFlight2 35s linear infinite 5s;width:110px;height:80px}.butterfly-3{top:40%;left:-6%;animation:butterflyFlight3 30s linear infinite 10s;width:140px;height:105px}.butterfly-4{top:80%;left:-7%;animation:butterflyFlight4 28s linear infinite 15s;width:115px;height:85px}.butterfly-5{top:10%;left:-4%;animation:butterflyFlight5 32s linear infinite 20s;width:130px;height:95px}@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{display:inline-flex;align-items:center;gap:.5rem;color:var(--link);font-weight:500;margin-bottom:2rem;padding:.5rem 0;transition:all .3s ease}.back-button:hover{color:var(--link-hover);transform:translate(-4px);text-decoration:none}.back-button svg{transition:transform .3s ease}.back-button:hover svg{transform:translate(-2px)}.project-header{margin-bottom:2rem}.project-header .banner-container{position:relative;height:100%;overflow:hidden;background:transparent;width:70%;margin:0 auto;align-items:center}.project-header .banner-container img{width:100%;height:100%;object-position:center;background:transparent}.project-header .gallery-link-icon{display:flex;justify-content:center;margin-top:1rem}.project-header .gallery-link-icon .large-link-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:var(--btn-bg);color:var(--btn-text);border-radius:50%;text-decoration:none;transition:all .3s ease}.project-header .gallery-link-icon .large-link-icon svg{width:2rem;height:2rem}.project-layout{display:block;width:100%}.main-content{width:100%;max-width:800px;margin:0 auto}.content-card{background:#fff;border-radius:0;padding:1.5rem;box-shadow:var(--box-sadow);border:1px solid rgba(0,0,0,.05);margin-bottom:1.5rem;width:100%;max-width:800px;margin-left:auto;margin-right:auto}.content-card.gallery-card{padding:0}.content-card h2{font-size:1.5rem;font-weight:700;color:var(--text);position:relative}.content-card p{color:var(--text);line-height:1.7;margin:0;opacity:.85}.content-card .project-link-section{margin-left:7px}.about-content{display:flex;align-items:center}.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{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}[data-theme=dark] .content-card .project-link-section .project-live-link:hover{background:#22c55e33;color:#4ade80}[data-theme=dark] .project-header .gallery-link-icon .large-link-icon{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}[data-theme=dark] .project-header .gallery-link-icon .large-link-icon:hover{background:#22c55e33;border-color:#22c55e80}.project-gallery .gallery-container{position:relative;border-radius:0;overflow:hidden;background:#f8f9fa}.project-gallery .gallery-container .gallery-image{position:relative;height:25rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-gallery .gallery-container .gallery-image img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}.project-gallery .gallery-container .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#fff;border:none;width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;opacity:.8}.project-gallery .gallery-container .gallery-nav:hover{background:#000000e6;opacity:1;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{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden;border-radius:0;background:#000}.youtube-video .video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.youtube-video .video-info{margin-top:1rem}.youtube-video .video-info h3{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.youtube-video .video-info p{color:var(--text);opacity:.7;margin:0;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.features-grid .feature-item{display:flex;align-items:center;gap:.75rem}.features-grid .feature-item .feature-dot{width:.5rem;height:.5rem;background:#667eea;border-radius:50%;flex-shrink:0}.features-grid .feature-item span{color:var(--text);opacity:.85}.sidebar-card{background:#fff;border-radius:0;padding:1.5rem;box-shadow:var(--box-sadow);border:1px solid rgba(0,0,0,.05);margin-bottom:1.5rem}.sidebar-card h3{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 1rem}[data-theme=dark] .sidebar-card{background:#0f172acc;border-color:#ffffff1a;box-shadow:0 8px 32px #0000004d}.project-links{display:flex;flex-direction:column;gap:.75rem}.project-links .link-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:0;text-decoration:none;font-weight:500;transition:all .3s ease}.project-links .link-item.live-link{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2)}.project-links .link-item.live-link:hover{background:#22c55e26;transform:translateY(-2px);text-decoration:none;color:#059669}.project-links .link-item.github-link{background:#64748b1a;color:#475569;border:1px solid rgba(100,116,139,.2)}.project-links .link-item.github-link:hover{background:#64748b26;transform:translateY(-2px);text-decoration:none;color:#475569}.project-links .link-item svg{width:1.25rem;height:1.25rem}[data-theme=dark] .project-links .link-item.live-link{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}[data-theme=dark] .project-links .link-item.live-link:hover{background:#22c55e33;color:#4ade80}[data-theme=dark] .project-links .link-item.github-link{background:#94a3b826;color:#cbd5e1;border-color:#94a3b84d}[data-theme=dark] .project-links .link-item.github-link:hover{background:#94a3b833;color:#cbd5e1}.tech-section{margin-bottom:1.5rem}.tech-section h4{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.tech-section .tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-section .tech-tags .tech-tag{padding:.25rem .75rem;border-radius:0;font-size:.8rem;font-weight:500}.tech-section .tech-tags .tech-tag.backend{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.tech-section .tech-tags .tech-tag.frontend{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}[data-theme=dark] .tech-section .tech-tags .tech-tag.backend{background:#ef444426;color:#f87171;border-color:#ef44444d}[data-theme=dark] .tech-section .tech-tags .tech-tag.frontend{background:#3b82f626;color:#60a5fa;border-color:#3b82f64d}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tags-container .tag{padding:.25rem .75rem;background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2);border-radius:1rem;font-size:.8rem;font-weight:500}[data-theme=dark] .tags-container .tag{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}.project-info-grid{display:flex;flex-direction:column;gap:.75rem}.project-info-grid .info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.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{font-weight:500;color:var(--text);font-size:.9rem}[data-theme=dark] .project-info-grid .info-row{border-color:#ffffff1a}.loading-container{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:1rem}.loading-container .spinner{width:3rem;height:3rem;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.loading-container .loading-text{font-size:1.25rem;color:var(--text);opacity:.7}.error-container{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:1rem}.error-container h1{font-size:2rem;color:var(--text);margin:0}.error-container .back-link{color:var(--link);text-decoration:none;font-weight:500}.error-container .back-link:hover{color:var(--link-hover);text-decoration:underline}@media (max-width: 1024px){.project-layout{grid-template-columns:1fr;gap:1.5rem}.project-header .banner-container{height:16rem}.project-header .banner-container .banner-content h1{font-size:2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;background-color:red}}@media (max-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 (max-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;padding-bottom:14px;margin-bottom:14px;font-family:Georgia,serif;font-size:2.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:var(--text)}.pub-tabs{display:flex;gap:2px;margin-bottom:28px;border-bottom:1px solid var(--section-border)}.pub-tab{background:transparent;border:none;cursor:pointer;font-family:var(--font);font-size:10pt;color:var(--text);padding:8px 20px;border-radius:0;transform:skew(-15deg);transition:background .2s ease,color .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:4px;text-decoration:none;white-space:nowrap;opacity:.75;position:relative;margin:0 2px}.pub-tab span{transform:skew(15deg);display:block}.pub-tab:hover{background:var(--btn-bg);color:var(--btn-text);opacity:1;text-decoration:none;box-shadow:var(--box-shadow);transform:skew(-15deg) translateY(-1px)}.pub-tab.active{color:var(--btn-text);background:var(--btn-bg);font-weight:700;opacity:1;box-shadow:var(--box-shadow);transform:skew(-15deg)}.filter-btn{padding:4px 14px;border-radius:20px;border:1px solid var(--border);background:var(--btn-bg);color:var(--btn-text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:sans-serif;cursor:pointer;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{display:flex;flex-direction:column;gap:20px}.pub-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;position:relative;overflow:hidden;transition:transform .3s,border-color .3s}.pub-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 20%,rgba(0,0,0,.01) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.01) 0%,transparent 50%);background-size:100px 100px,120px 120px;z-index:-1;pointer-events:none}.pub-card:hover{transform:translateY(-2px);border-color:#0000001f}.pub-content{display:flex;gap:20px;align-items:center}.pub-main{flex:1;min-width:0}.pub-host-image{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:16px;border-radius:12px;transition:all .3s ease;min-width:140px;text-decoration:none;cursor:pointer}.pub-host-image:hover{transform:scale(1.05)}.pub-host-image:hover .host-logo-large{filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.pub-host-image:hover .hosted-by-label{color:var(--accent)}.host-info{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.hosted-by-label{font-size:10pt;font-weight:600;color:var(--accent);text-align:center;line-height:1.3;margin-bottom:4px}.host-logo-large{width:80px;height:80px;object-fit:contain;border-radius:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:filter .3s ease}.host-logo-large:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.pub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pub-type-badge{background:var(--accent);color:#fff;padding:4px 12px;border-radius:16px;font-size:9pt;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0003}.pub-date{font-size:9.5pt;color:var(--text);opacity:.7;font-weight:500}.pub-authors{margin-bottom:12px;font-size:10.5pt;line-height:1.4;color:var(--text);opacity:.85}.author-me{color:var(--accent);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:2px}.pub-venue{margin-bottom:14px}.venue-info{display:flex;flex-direction:column;gap:8px}.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{display:flex;align-items:center;gap:8px;font-size:9.5pt;color:var(--text);opacity:.8;padding:6px 12px;background:#0000000d;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.hosted-by-text{font-size:9.5pt;color:var(--text);opacity:.8;font-style:italic}.host-logo{width:20px;height:20px;object-fit:contain;border-radius:4px}.pub-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.keyword-more{background:#0000001a;color:var(--text);padding:3px 8px;border-radius:12px;font-size:9pt;font-weight:500;opacity:.6}.pub-actions{display:flex;justify-content:flex-start;align-items:center;gap:12px;flex-wrap:wrap}.pub-links{display:flex;flex-wrap:wrap;gap:8px}.pub-link{background:var(--btn-bg);color:var(--btn-text);padding:6px 12px;border-radius:6px;text-decoration:none;font-size:9.5pt;font-weight:500;border:1px solid var(--border);transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.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{background:transparent;border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;font-family:var(--font);font-size:9.5pt;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;opacity:.8}.abstract-toggle:hover{background:var(--btn-bg);opacity:1;transform:translateY(-1px)}.gallery-btn{background:transparent;border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;font-family:var(--font);font-size:9.5pt;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;opacity:.8}.gallery-btn:hover{background:var(--btn-bg);opacity:1;transform:translateY(-1px)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.lightbox-content{position:relative;width:70vw;height:60vh;display:flex;align-items:center;justify-content:center}.lightbox-content img{width:100%;height:100%;object-fit:contain;border-radius:12px;box-shadow:0 8px 32px #00000080}.lightbox-close{position:absolute;top:-40px;right:0;background:#ffffff1a;border:none;color:#fff;font-size:24px;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-close:hover{background:#fff3}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:32px;cursor:pointer;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-nav:hover{background:#fff3}.lightbox-nav.lightbox-prev{left:-70px}.lightbox-nav.lightbox-next{right:-70px}.lightbox-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fff;font-size:14px;background:#00000080;padding:8px 16px;border-radius:20px}.pub-abstract{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:12px;font-size:10pt;line-height:1.6;color:var(--text);opacity:.9;overflow:hidden}[data-theme=dark] .pub-card{background:#0f172acc;border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 3px #0003}[data-theme=dark] .pub-card:after{background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.03) 0%,transparent 50%)}[data-theme=dark] .pub-card:hover{background:#0f172ae6;border-color:#ffffff26}[data-theme=dark] .blog-card{background:#0f172acc;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .blog-card:hover{border-color:#ffffff26}.pub-number{font-size:9pt;color:var(--accent);font-weight:700;margin-bottom:8px;opacity:.9;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font)}.pub-title{font-size:13pt;font-weight:700;margin-bottom:12px;line-height:1.3;color:var(--text);font-family:var(--font);text-align:left;position:relative;z-index:1}.pub-title a{color:var(--text);text-decoration:none;font-weight:600}.pub-title a:hover{color:var(--accent);text-decoration:none}.pub-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:10pt;opacity:.8}.pub-meta span{display:flex;align-items:center;gap:6px}.pub-authors{line-height:1.4}.pub-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.keyword-tag{background:#00000014;color:var(--text);padding:3px 8px;border-radius:12px;font-size:9pt;font-weight:500;border:1px solid rgba(0,0,0,.15);transition:background .2s,border-color .2s}.keyword-tag:hover{background:#0000001f;border-color:#0003}.pub-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pub-link{background:var(--btn-bg);color:var(--btn-text);padding:6px 12px;border-radius:6px;text-decoration:none;font-size:9.5pt;font-weight:500;border:1px solid var(--border);transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:4px}.pub-link:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a;opacity:.9;color:var(--btn-text);text-decoration:none}.abstract-toggle{background:var(--btn-bg);border:1px solid var(--border);color:var(--btn-text);padding:6px 12px;border-radius:4px;font-family:var(--font);font-size:9.5pt;cursor:pointer;transition:background .2s,border-color .2s;margin-bottom:8px}.abstract-toggle:hover{opacity:.8}.pub-abstract{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px;margin:12px 0;font-size:10pt;line-height:1.6;opacity:.8;color:var(--text);text-align:justify}.cite-badge{background:#00000014;color:var(--text);padding:2px 8px;border-radius:12px;font-size:9pt;font-weight:700;border:1px solid rgba(0,0,0,.2)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px}@media (max-width: 1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.blog-grid{grid-template-columns:1fr}}.blog-card{border-radius:10px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.08);cursor:pointer;display:flex;flex-direction:column;transition:transform .22s;height:380px}.blog-card:hover{transform:translateY(-2px)}.blog-card:hover .blog-card-img{transform:scale(1.03)}.blog-card-img-wrap{overflow:hidden;height:150px;flex-shrink:0}.blog-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.blog-card-body{padding:14px 16px 16px;flex:1;display:flex;flex-direction:column;gap:6px;min-height:0}.blog-card-cat{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-family:sans-serif;color:#00bcd4;font-weight:600;flex-shrink:0}.blog-card-hearts{font-size:.65rem;color:#e74c3c;font-weight:600;font-family:sans-serif;display:flex;align-items:center;gap:4px;flex-shrink:0}.blog-card-cat-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.blog-card-title{font-family:Georgia,serif;font-size:.97rem;font-weight:700;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.7em;flex-shrink:0}.blog-card-excerpt{font-size:.8rem;line-height:1.6;opacity:.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.84em;max-height:3.84em}.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(128,128,128,.15);margin-top:auto;gap:6px;flex-shrink:0;min-height:40px}.blog-tags{display:flex;gap:4px;flex-wrap:wrap}.blog-tag{font-size:.58rem;padding:1px 7px;border-radius:3px;border:1px solid var(--section-border);background:var(--btn-bg);color:var(--btn-text);font-family:sans-serif;opacity:.6}.share-bar{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(128,128,128,.15)}.share-bar-inline{border-top:none!important;margin-top:0!important;padding-top:0!important;gap:4px}.share-bar-inline .share-btn{width:26px;height:26px;font-size:.65rem}.share-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-family:sans-serif;opacity:.4;margin-right:2px}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--btn-bg);color:var(--btn-text);font-size:.75rem;font-weight:700;font-family:sans-serif;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.share-btn:hover{opacity:.8;text-decoration:none}.blog-card-meta{font-size:.75rem;font-family:sans-serif;opacity:.7;text-transform:none;letter-spacing:.02em;display:flex;gap:8px;align-items:center;flex:1;min-width:0;text-align:left}.blog-card-meta span:not(:first-child):before{content:"·";margin-right:8px}.blog-section-label{display:flex;align-items:center;gap:12px;margin:24px 0 16px;font-size:11pt;font-weight:700;color:var(--text)}.blog-section-label hr{flex:1;border:none;height:1px;background:var(--border)}.blog-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.blog-modal{background:var(--bg);border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;position:relative;border:1px solid var(--border)}.blog-modal-close{position:absolute;top:16px;right:16px;background:var(--btn-bg);border:none;font-size:18pt;color:var(--btn-text);cursor:pointer;opacity:.6;transition:opacity .2s;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.blog-modal-close:hover{opacity:1}.blog-modal-body{padding:24px}.blog-modal-cat{font-size:10pt;color:var(--accent);font-weight:700;margin-bottom:8px;opacity:.8}.blog-modal-title{font-size:14pt;font-weight:700;margin-bottom:12px;line-height:1.3}.blog-modal-meta{font-size:10pt;opacity:.7;margin-bottom:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.blog-modal-text{font-size:10.5pt;line-height:1.6;margin-bottom:20px;opacity:.9}.blog-modal-footer{border-top:1px solid var(--border);padding-top:16px}.blog-modal-links{display:flex;gap:12px;flex-wrap:wrap}.blog-modal-links a{padding:8px 16px;background:var(--btn-bg);color:var(--btn-text);border-radius:6px;text-decoration:none;font-size:10pt;transition:background .2s}.blog-modal-links a:hover{opacity:.8;color:var(--btn-text)}@media (max-width: 1024px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:18px}}@media (max-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{margin:10px;max-height:90vh}.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 (max-width: 640px){.blog-grid{grid-template-columns:1fr;gap:16px}.blog-card{height:360px}}@media (max-width: 540px){.blog-card{height:340px}}[data-theme=dark] .keyword-tag{background:#ffffff1a;color:var(--text);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .keyword-tag:hover{background:#ffffff26;border-color:#ffffff4d}[data-theme=dark] .cite-badge{background:#ffffff1a;color:var(--text);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .hosted-by{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.gh-profile{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;transition:all .3s ease}.gh-profile:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}@media (max-width: 768px){.gh-profile{flex-direction:column;text-align:center;gap:16px}}.gh-avatar{width:80px;height:80px;border-radius:50%;border:3px solid var(--gh-avatar-border);transition:transform .3s ease}.gh-avatar:hover{transform:scale(1.05)}@media (max-width: 768px){.gh-avatar{width:60px;height:60px}}.gh-profile-info{flex:1}.gh-username{font-size:18pt;font-weight:700;color:var(--text);margin:0 0 8px}.gh-username a{color:var(--text);text-decoration:none;transition:color .2s ease}.gh-username a:hover{color:var(--accent);text-decoration:none}.gh-bio{font-size:11pt;color:var(--text);opacity:.8;margin:0 0 12px;line-height:1.4}.gh-stats{display:flex;gap:20px;font-size:10pt;color:var(--text);opacity:.7}.gh-stats span{font-weight:500}@media (max-width: 768px){.gh-stats{justify-content:center;gap:16px}}.gh-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px}.gh-title{font-size:16pt;font-weight:700;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.gh-icon{fill:var(--text);transition:fill .2s}[data-theme=dark] .gh-icon{fill:#fff}.view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle.active{background:#fff!important;color:#000!important;border-color:#fff!important}.view-btn{padding:6px 12px;border:none;background:transparent;color:var(--text);font-family:var(--font);font-size:12pt;cursor:pointer;transition:background .2s,color .2s;opacity:.7}.view-btn.active{background:var(--btn-bg);color:var(--btn-text);opacity:1}.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{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.repo-list-item{display:grid;grid-template-columns:1fr 2fr auto;gap:16px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border);transition:background .2s;align-items:center;cursor:pointer}.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-weight:700;font-size:11pt}.repo-name a{color:var(--text);text-decoration:none}.repo-name a:hover{color:var(--accent);text-decoration:underline}.repo-desc{font-size:10pt;opacity:.8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.repo-meta{font-size:9pt;opacity:.6;text-align:right;white-space:nowrap}.card-grid .card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a;position:relative;overflow:hidden}.card-grid .card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 20%,rgba(0,188,212,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.02) 0%,transparent 50%),linear-gradient(135deg,transparent 25%,rgba(0,188,212,.01) 25%,rgba(0,188,212,.01) 50%,transparent 50%);background-size:100px 100px,120px 120px,20px 20px;z-index:-1;pointer-events:none}.card-grid .card:hover{transform:translateY(-3px);box-shadow:0 4px 16px #0000001a,0 2px 6px #00000026;border-color:#0000001f}[data-theme=dark] .card-grid .card{background:#0f172acc;border:1px solid rgba(255,255,255,.1);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%,rgba(0,188,212,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.06) 0%,transparent 50%),linear-gradient(135deg,transparent 25%,rgba(255,255,255,.02) 25%,rgba(255,255,255,.02) 50%,transparent 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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.card-title{font-size:11pt;font-weight:700;position:relative;z-index:1;flex:1;min-width:0}.card-title a{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:6px;font-weight:600}.card-title a:hover{color:var(--accent);text-decoration:none}.card-title a svg{width:16px;height:16px;fill:currentColor;transition:fill .2s;flex-shrink:0}.card-date{font-size:9pt;opacity:.6;white-space:nowrap;color:var(--text);margin-top:2px}@keyframes ghPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.gh-loading-icon{fill:var(--text);transition:fill .2s}[data-theme=dark] .gh-loading-icon{fill:#fff}@media (max-width: 768px){.gh-header{flex-direction:column;gap:16px;align-items:flex-start}.repo-list-item{grid-template-columns:1fr;gap:8px;text-align:left}.repo-meta{text-align:left;font-size:8.5pt}.gh-title{font-size:14pt}}@media (max-width: 600px){.view-toggle{align-self:stretch}.view-btn{flex:1;text-align:center}}.slider-wrap{position:relative;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef);cursor:pointer}[data-theme=dark] .slider-wrap{background:linear-gradient(135deg,#1a1a2e,#16213e)}.slider-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.slider-slide img{width:100%;height:100%;object-fit:cover;display:block}.slider-caption{position:absolute;bottom:0;left:0;right:0;padding:40px 60px;background:linear-gradient(transparent,#000000bf);display:flex;flex-direction:column;gap:6px}.slider-title{color:#fff;font-size:18pt;font-weight:700;line-height:1.3}.slider-issuer{color:#ffffffa6;font-size:12pt}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#00000059;border:none;color:#fff;font-size:26px;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2;line-height:1}.slider-arrow:hover{background:#0009}.slider-arrow.left{left:12px}.slider-arrow.right{right:12px}.slider-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.slider-dot{width:7px;height:7px;border-radius:50%;border:none;background:#fff6;cursor:pointer;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,body:has(.slider-wrap):after{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.card{border-radius:16px;overflow:hidden;background:transparent;display:flex;flex-direction:column;transition:transform .25s}[data-theme=dark] .card{background:transparent}.card-banner{position:relative;height:300px;background:linear-gradient(135deg,#1e0a3c,#3b1f6e,#5b2d8e);cursor:pointer;overflow:hidden;flex-shrink:0}.card-banner img{width:100%;height:100%;display:block;transition:transform .3s}.card-banner:hover img{transform:scale(1.03)}.card-banner-icon{font-size:52px;opacity:.6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-verified-badge{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:#6c3fc5;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #6c3fc580;border:2px solid rgba(255,255,255,.3)}.card-body{padding:10px;display:flex;flex-direction:column;flex:1}.card-title{font-weight:700;font-size:12pt;line-height:1.35;color:#111}[data-theme=dark] .card-title{color:#f0f0f0}.card-badges{display:flex;gap:6px;flex-wrap:wrap}.card-badge{font-size:8pt;font-weight:600;padding:3px 10px;border-radius:4px;border:1px solid #d0c0f0;color:#5b2d8e;background:#f5f0ff;letter-spacing:.03em;text-transform:uppercase}[data-theme=dark] .card-badge{background:#6c3fc526;border-color:#6c3fc559;color:#c4a0ff}.org-badge-img{width:28px;height:28px;object-fit:contain;border-radius:4px;border:1px solid #e5e7eb;background:#fff;padding:2px}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}[data-theme=dark] .card-footer{border-top-color:#ffffff14}.card-footer-left{display:flex;align-items:center;gap:8px}.card-dates{font-size:9pt;color:#888}.verify-btn{font-size:9.5pt;font-weight:600;color:#5b2d8e;background:transparent;padding:6px 16px;border-radius:6px;text-decoration:none;transition:all .2s;white-space:nowrap}.verify-btn:hover{background:transparent;text-decoration:none;color:#3b1f6e}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000d1;display:flex;align-items:center;justify-content:center}.lightbox-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90vw}.lightbox-inner img{max-width:90vw;max-height:75vh;border-radius:8px;box-shadow:0 8px 40px #00000080}.lightbox-caption{color:#fff;font-size:10.5pt;text-align:center;opacity:.8}.lightbox-close{position:absolute;top:-36px;right:0;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;line-height:1;opacity:.7}.lightbox-close:hover{opacity:1}.experience-page{max-width:960px}.exp-list{display:flex;flex-direction:column;gap:32px}.exp-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d;transition:transform .2s}.exp-card:hover{transform:translateY(-2px)}[data-theme=dark] .exp-card{background:#0f172ab3;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .exp-card-header{background:#ffffff0a;border-bottom-color:#ffffff14}.exp-card-header{margin:-24px -24px 20px;padding:14px 24px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);border-radius:16px 16px 0 0}.exp-company-info{display:flex;align-items:flex-start;gap:16px}.exp-logo{width:56px;height:56px;object-fit:contain;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#fff;padding:4px;flex-shrink:0}[data-theme=dark] .exp-logo{border-color:#ffffff26;background:#ffffff0d}.exp-company{font-size:14pt;font-weight:700;color:var(--text);line-height:1.2}.exp-role{font-size:11pt;color:var(--accent);font-weight:600;margin:3px 0 6px}.exp-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:9.5pt;opacity:.65;color:var(--text)}.exp-card-body{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.exp-card-body:not(:has(.exp-right)){grid-template-columns:1fr}.exp-tech-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.exp-tech-tag{font-size:8.5pt;font-weight:600;padding:3px 10px;border-radius:4px;background:#00bcd41a;color:var(--accent);border:1px solid rgba(0,188,212,.25);font-family:sans-serif;letter-spacing:.03em}.exp-responsibilities{list-style:none;display:flex;flex-direction:column;gap:10px}.exp-responsibilities li{font-size:10.5pt;line-height:1.6;color:var(--text);opacity:.85;padding-left:16px;position:relative}.exp-responsibilities li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:9pt;top:2px}.exp-slider{position:relative;width:100%;height:220px;border-radius:12px;overflow:hidden;background:#0000000d}[data-theme=dark] .exp-slider{background:#ffffff0d}.exp-slider-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px}.exp-slider-empty{width:100%;height:220px;border-radius:12px;border:2px dashed rgba(0,188,212,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);opacity:.4}.exp-slider-empty span{font-size:28px}.exp-slider-empty p{font-size:9.5pt}@media (max-width: 768px){.exp-card-body{grid-template-columns:1fr}.exp-right{order:-1}.exp-slider,.exp-slider-empty{height:180px}}.ig-wrap{max-width:935px;margin:0 auto;padding:20px}.wave-container{width:100%;height:80px;margin:20px 0 40px;display:flex;justify-content:center;align-items:center;overflow:hidden}.wave-svg{width:100%;height:100%;max-width:600px;animation:wave-flow 3s ease-in-out infinite}@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{font-size:28px;font-weight:700;color:var(--text);margin-bottom:40px;text-transform:uppercase;letter-spacing:2px}.main-nav{position:relative;margin:0 auto;padding:0;width:600px;height:150px;list-style:none}.main-nav li{list-style:none;position:absolute;width:200px;height:200px;background:#000;transform:rotate(45deg);transition:all .5s cubic-bezier(.4,0,.2,1);margin:-100px;overflow:hidden;opacity:.7;cursor:pointer;border:3px solid var(--accent);box-shadow:0 8px 25px #0003}.main-nav li:hover{opacity:1;transform:rotate(45deg) scale(1.1);z-index:10;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%;background-size:cover!important;background-position:center!important;transform:scale(1.1) rotate(-45deg);transition:transform .5s ease}.main-nav li:hover .bg{transform:scale(1.2) rotate(-45deg)}.ig-featured{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:44px;padding:24px;border-radius:12px;cursor:pointer;transition:all .3s ease}.ig-featured-img-wrap{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1}.ig-featured-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.ig-featured:hover .ig-featured-img{transform:scale(1.05)}.ig-featured-body{display:flex;flex-direction:column;justify-content:center;gap:16px}.ig-featured-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.ig-featured-caption{font-size:16px;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ig-featured-meta{font-size:13px;color:var(--text);opacity:.7}.ig-read-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent);transition:gap .2s ease}.ig-featured:hover .ig-read-btn{gap:12px}.ig-section-label{display:flex;align-items:center;gap:16px;margin:32px 0 24px}.ig-section-label span{font-size:18px;font-weight:600;color:var(--text);white-space:nowrap}.ig-section-label hr{flex:1;border:none;height:1px;background:var(--border)}.ig-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:32px}.ig-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 12px #00000014;position:relative}.ig-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.ig-card:hover .ig-card-overlay{opacity:1}.ig-card-media{position:relative;width:100%;aspect-ratio:1;overflow:hidden}.ig-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.ig-card:hover .ig-card-media img{transform:scale(1.02)}.ig-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.ig-card:hover .ig-play-button{background:#000c;transform:translate(-50%,-50%) scale(1.1)}.ig-heart-reaction{position:absolute;top:12px;right:12px;cursor:pointer;transition:all .3s ease;z-index:2}.ig-heart-reaction:hover{transform:scale(1.1)}.ig-heart-container{position:relative;display:flex;align-items:center;justify-content:center}.ig-heart-container svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.ig-heart-count{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none;min-width:16px;text-align:center;line-height:1}.ig-card-caption{padding:10px 16px 16px;font-size:14px;line-height:1.4;color:var(--text);display:none}.ig-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:10}.ig-overlay-content{text-align:center}.ig-overlay-username{font-weight:600;font-size:16px;margin-bottom:12px;color:var(--accent)}.ig-overlay-caption{font-size:14px;line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ig-overlay-likes{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600}.ig-overlay-likes svg{width:20px;height:20px}.ig-caption-username{font-weight:600;margin-right:8px}.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;border:none;padding:12px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.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:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ig-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ig-modal-simple{position:relative;max-width:90vw;max-height:90vh;border-radius:12px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.ig-modal-media{width:100%;max-width:80vw;max-height:70vh;object-fit:contain;display:block}.ig-modal-caption{padding:16px 20px;background:var(--bg);color:var(--text);font-size:14px;line-height:1.4;max-height:120px;overflow-y:auto;border-top:1px solid var(--border)}.ig-modal-close{position:absolute;top:16px;right:16px;background:#000000b3;color:#fff;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;z-index:1001;transition:background .2s ease}.ig-modal-close:hover{background:#000000e6}.ig-error{text-align:center;padding:40px 20px;color:var(--text);font-size:16px;opacity:.7}@media (max-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{font-size:22px;margin-bottom:30px}.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 (max-width: 480px){.main-nav{width:300px;height:100px}.main-nav li{width:80px;height:80px;margin:-40px}.ig-nav-title{font-size:18px;margin-bottom:25px}.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{font-size:14px;-webkit-line-clamp:3}.ig-tile{clip-path:polygon(50% 0%,80% 15%,100% 50%,80% 85%,50% 100%,20% 85%,0% 50%,20% 15%)}}.course-topbar{position:fixed;top:0;left:0;right:0;z-index:9000;height:52px;display:flex;align-items:center;gap:0;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 1px #0000000f;padding:0 16px 0 0}[data-theme=dark] .course-topbar{background:#0a0f23f2;border-bottom-color:#ffffff12}.ctb-left{display:flex;align-items:center;gap:0;flex-shrink:0;height:100%}.ctb-logo{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;text-decoration:none;color:var(--text);font-family:var(--font);font-weight:700;font-size:13px;white-space:nowrap;transition:opacity .15s}.ctb-logo img{width:28px;height:28px;border-radius:50%;object-fit:cover}.ctb-logo span{opacity:.85}.ctb-logo:hover{opacity:.7}.ctb-divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.ctb-switcher{position:relative;height:100%;display:flex;align-items:center}.ctb-course-name{display:flex;align-items:center;gap:6px;padding:0 14px;height:100%;background:none;border:none;color:var(--text);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.ctb-course-name:hover{background:#00bcd40f}.ctb-course-name.open{background:#00bcd414;color:var(--accent)}.ctb-course-name.open .ctb-chevron{transform:rotate(180deg);opacity:1}.ctb-course-icon{font-size:16px;line-height:1}.ctb-course-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctb-chevron{flex-shrink:0;opacity:.45;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .15s}.ctb-switcher-dropdown{position:absolute;top:calc(100% + 1px);left:0;min-width:260px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000024;z-index:200;overflow:hidden;padding:6px}[data-theme=dark] .ctb-switcher-dropdown{background:#0d1526;border-color:#ffffff17}.ctb-switcher-label{padding:6px 10px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.38;color:var(--text);font-family:var(--font)}.ctb-switcher-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);font-family:var(--font);font-size:12.5px;cursor:pointer;transition:background .12s,color .12s}.ctb-switcher-item:hover{background:#00bcd412;color:var(--accent)}.ctb-switcher-item.active{background:#00bcd41f;color:var(--accent);font-weight:600}.ctb-switcher-icon{font-size:15px;line-height:1}.ctb-tabs{display:flex;align-items:center;gap:0;height:100%;overflow-x:auto;scrollbar-width:none}.ctb-tabs::-webkit-scrollbar{display:none}.ctb-tabs{flex:1;padding:0 8px}.ctb-tab{display:flex;align-items:center;height:100%;padding:0 12px;border:none;background:none;color:var(--text);font-family:var(--font);font-size:12.5px;font-weight:500;cursor:pointer;opacity:.6;white-space:nowrap;border-bottom:2px solid transparent;transition:opacity .15s,color .15s,border-color .15s;margin-bottom:-1px}.ctb-tab:hover{opacity:1;color:var(--accent)}.ctb-tab.active{opacity:1;color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}.ctb-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.ctb-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .15s,border-color .15s}.ctb-icon-btn:hover{background:#00bcd414;border-color:var(--accent)}.ctb-all-courses{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--font);font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.ctb-all-courses:hover{border-color:var(--accent);color:var(--accent);background:#00bcd40d}.docs-root{padding-top:52px;height:100vh;overflow:hidden;display:flex;flex-direction:column}.docs-root.topbar-hidden{padding-top:0}.docs-root.topbar-hidden .course-topbar{display:none}.docs-root.topbar-hidden .docs-sidebar{top:0;padding-top:0;height:100vh}.docs-root.sidebar-collapsed .docs-sidebar{width:0;border-right:none;overflow:hidden}.docs-root.sidebar-collapsed .docs-sidebar-collapse-btn svg{transform:rotate(180deg)}.docs-root.sidebar-collapsed .docs-sidebar-expand-btn{display:flex}.docs-layout{display:flex;flex:1;min-height:0;overflow:hidden;padding-left:clamp(240px,26vw,360px);transition:padding-left .25s cubic-bezier(.4,0,.2,1)}.docs-root.sidebar-collapsed .docs-layout{padding-left:0}.docs-sidebar{position:fixed;top:0;left:0;width:clamp(240px,26vw,360px);height:100vh;padding-top:52px;flex-shrink:0;border-right:1px solid var(--border);background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow:hidden;z-index:8500;transition:width .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),border-color .25s}.docs-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0;position:sticky;top:0;background:inherit;z-index:5}.docs-sidebar-course-name{display:flex;align-items:center;gap:7px;font-family:var(--font);font-size:12px;font-weight:700;color:var(--text);opacity:.8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;text-transform:uppercase}.docs-sidebar-course-icon{font-size:15px;flex-shrink:0}.docs-sidebar-collapse-btn{flex-shrink:0;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.4;transition:opacity .15s,background .15s,border-color .15s}.docs-sidebar-collapse-btn svg{display:block;transition:transform .25s cubic-bezier(.4,0,.2,1)}.docs-sidebar-collapse-btn:hover{opacity:1;background:#00bcd414;border-color:var(--accent)}.docs-sidebar-toggle{display:none}[data-theme=dark] .docs-sidebar{background:#0a0f23f2;border-right-color:#ffffff12}.docs-sidebar-expand-btn{display:none;position:fixed;top:64px;left:0;z-index:8600;width:26px;height:48px;background:var(--navbar-bg);border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text);cursor:pointer;align-items:center;justify-content:center;opacity:.55;transition:opacity .15s,background .15s}.docs-sidebar-expand-btn:hover{opacity:1;background:#00bcd414}.docs-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px 24px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin;scrollbar-color:rgba(0,188,212,.2) transparent}.docs-nav::-webkit-scrollbar{width:3px}.docs-nav::-webkit-scrollbar-thumb{background:#00bcd440;border-radius:3px}.docs-nav-item{display:block;text-align:left;background:transparent;border:none;padding:7px 12px;border-radius:7px;color:var(--text);font-family:var(--font);font-size:13px;cursor:pointer;opacity:.68;text-decoration:none;line-height:1.4;transition:background .12s,opacity .12s,color .12s,padding-left .15s cubic-bezier(.4,0,.2,1)}.docs-nav-item:hover{background:#00bcd412;color:var(--accent);opacity:1;padding-left:16px}.docs-nav-item.active{background:#00bcd41c;color:var(--accent);font-weight:600;opacity:1;border-left:3px solid var(--accent);padding-left:10px}.docs-nav-item.depth-1{padding-left:20px;font-size:12.5px;opacity:.62}.docs-nav-item.depth-2{padding-left:30px;font-size:12px;opacity:.58}.docs-nav-item.depth-3{padding-left:40px;font-size:11.5px;opacity:.54}.docs-nav-item.depth-4{padding-left:50px;font-size:11.5px;opacity:.5}.docs-nav-item.depth-1:hover,.docs-nav-item.depth-2:hover,.docs-nav-item.depth-3:hover,.docs-nav-item.depth-4:hover{opacity:1;color:var(--accent)}.docs-nav-item.depth-1.active{padding-left:23px}.docs-nav-item.depth-2.active{padding-left:33px}.docs-nav-item.depth-3.active{padding-left:43px}.docs-nav-item.depth-4.active{padding-left:53px}.docs-nav-item.nested{padding-left:20px;font-size:12.5px;opacity:.62}.docs-nav-item.nested:hover,.docs-nav-item.nested.active{padding-left:24px}.docs-nav-group{display:flex;flex-direction:column;margin:2px 0}.docs-nav-group.depth-1 .docs-nav-group-btn{padding-left:20px;font-size:12.5px}.docs-nav-group.depth-2 .docs-nav-group-btn{padding-left:30px;font-size:12px}.docs-nav-group-btn{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:none;padding:8px 12px;border-radius:7px;color:var(--text);font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;opacity:.8;transition:background .12s,opacity .12s,color .12s}.docs-nav-group-btn svg{flex-shrink:0;opacity:.4;transition:transform .2s cubic-bezier(.4,0,.2,1)}.docs-nav-group-btn.open svg{transform:rotate(180deg)}.docs-nav-group-btn:hover{background:#00bcd412;color:var(--accent);opacity:1}.docs-nav-group-btn.has-active{color:var(--accent);opacity:1}.docs-nav-group-items{display:flex;flex-direction:column;padding-left:4px;border-left:2px solid rgba(0,188,212,.18);margin-left:14px;margin-bottom:3px}.docs-nav-empty{padding:14px 12px;font-size:11px;opacity:.38;font-family:var(--font);color:var(--text)}.docs-content{flex:1;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,188,212,.2) transparent}.docs-content::-webkit-scrollbar{width:5px}.docs-content::-webkit-scrollbar-thumb{background:#00bcd440;border-radius:5px}.docs-content-body{padding:10px}.docs-content-scoped{all:initial;display:block;font-family:inherit;color:inherit}.docs-content-scoped *{box-sizing:border-box}.docs-empty,.docs-not-found{color:var(--text);opacity:.45;font-size:13px;padding:48px 40px;font-family:var(--font)}.docs-prevq-wrap{padding:36px 48px 80px;max-width:960px}.docs-prevq-header{margin-bottom:24px}.docs-prevq-back{display:inline-flex;align-items:center;font-size:12px;color:var(--text);opacity:.55;text-decoration:none;margin-bottom:10px;font-family:var(--font)}.docs-prevq-back:hover{opacity:1}.docs-prevq-title{font-size:1.3rem;font-family:var(--font);border-bottom:1px solid var(--border);padding-bottom:8px;color:var(--text)}.docs-body{line-height:1.75;font-size:13px;font-family:var(--font);color:var(--text)}.docs-body h1,.docs-body h2,.docs-body h3,.docs-body h4{margin:1.4em 0 .5em;font-family:var(--font)}.docs-body h1{font-size:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.3em}.docs-body h2{font-size:1.2rem}.docs-body h3{font-size:1.05rem}.docs-body p{margin-bottom:.9em}.docs-body ul,.docs-body ol{padding-left:1.5em;margin-bottom:.9em}.docs-body li{margin-bottom:.3em}.docs-body code{background:#00bcd41a;border-radius:4px;padding:1px 6px;font-size:12px;font-family:monospace}.docs-body pre{background:#0000000d;border-radius:8px;padding:14px 18px;overflow-x:auto;margin-bottom:1em}.docs-body pre code{background:none;padding:0}.docs-body table{width:100%;border-collapse:collapse;margin-bottom:1em}.docs-body table th,.docs-body table td{border:1px solid var(--border);padding:7px 12px;text-align:left}.docs-body table th{background:#00bcd412;font-weight:700}.docs-body blockquote{border-left:3px solid var(--accent);padding-left:14px;opacity:.8;margin:1em 0}.pq-body{max-width:960px}.pq-card{border:1px solid var(--border);border-radius:12px;padding:26px 28px;margin-bottom:28px;background:var(--bg);box-shadow:var(--box-sadow)}.pq-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pq-year{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#00bcd41f;color:var(--accent);border:1px solid rgba(0,188,212,.3);border-radius:20px;padding:2px 10px}.pq-question{font-size:1.05rem;font-weight:700;margin:0 0 12px;line-height:1.4;color:var(--text)}.pq-desc{font-size:13px;line-height:1.75;opacity:.85;margin-bottom:18px;color:var(--text)}.pq-code{background:#272822;border-radius:10px;margin-bottom:18px;overflow:hidden}.pq-code .pq-code-header{display:flex;align-items:center;justify-content:space-between;background:#1e1f1c;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.pq-code .pq-code-header .pq-lang-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a6e22e;font-family:monospace}.pq-code .pq-code-header .pq-code-actions{display:flex;gap:6px}.pq-code code,.pq-code pre{display:block;padding:18px 20px;margin:0;background:transparent;color:#f8f8f2;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.7;overflow-x:auto;white-space:pre}.pq-code code .kw,.pq-code pre .kw{color:#f92672}.pq-code code .fn,.pq-code pre .fn{color:#a6e22e}.pq-code code .st,.pq-code pre .st{color:#e6db74}.pq-code code .cm,.pq-code pre .cm{color:#75715e}.pq-code code .nm,.pq-code pre .nm{color:#ae81ff}.pq-code code .tp,.pq-code pre .tp{color:#66d9e8}.pq-copy-btn,.pq-run-btn{font-size:10px;font-weight:600;border:none;border-radius:6px;padding:4px 12px;cursor:pointer;transition:opacity .15s;font-family:sans-serif}.pq-copy-btn:hover,.pq-run-btn:hover{opacity:.8}.pq-copy-btn{background:#f8f8f21a;color:#75715e}.pq-run-btn{background:#a6e22e;color:#272822}.pq-video{margin-top:18px}.pq-video .pq-video-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.5;margin-bottom:8px}.pq-video iframe{width:100%;aspect-ratio:16/9;border-radius:10px;border:1px solid var(--border)}@media (max-width: 768px){.ctb-logo span,.ctb-all-courses span,.ctb-tabs{display:none}.docs-sidebar{top:52px;left:-100vw;height:calc(100vh - 52px);width:82vw!important;padding-top:0;z-index:8000;transition:left .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px #0003}.docs-sidebar.open{left:0}.docs-sidebar-toggle{display:block;position:fixed;bottom:20px;left:16px;z-index:7000;background:var(--accent);color:#fff;border:none;border-radius:24px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #00bcd466;font-family:var(--font)}.docs-layout{padding-left:0!important}.docs-content-body,.docs-prevq-wrap{padding:24px 18px 60px}.docs-root.topbar-hidden .docs-sidebar{top:0;height:100vh}}.courses-page{max-width:1100px;margin:0 auto;padding:60px 24px 80px}.courses-header{text-align:center;margin-bottom:52px;margin-top:30px}.courses-title{font-family:Georgia,serif;font-size:2.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:var(--text);padding-bottom:14px;margin:0}.courses-subtitle{font-size:13px;opacity:.55;margin:0}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.course-card{display:flex;flex-direction:column;align-items:flex-start;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--bg);cursor:pointer;text-align:left;overflow:hidden;position:relative;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--box-sadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.course-card:before{content:"";display:block;width:100%;height:3px;background:var(--accent);opacity:.35;transition:opacity .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.course-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 40px #00bcd42e,var(--box-sadow)}.course-card:hover:before{opacity:1}.course-card:hover .course-card-icon{transform:scale(1.12)}.course-card:hover .course-card-arrow{opacity:1;transform:translate(0)}.course-card-body{display:flex;flex-direction:column;gap:10px;padding:22px 20px 18px;width:100%;flex:1}.course-card-icon{font-size:2rem;line-height:1;display:block;transition:transform .3s cubic-bezier(.4,0,.2,1)}.course-card-label{font-size:14px;font-weight:700;font-family:var(--font);color:var(--text);line-height:1.35}.course-card-meta{font-size:11px;opacity:.45;color:var(--text);font-family:var(--font)}.course-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 14px;width:100%;border-top:1px solid var(--border)}.course-card-tag{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:#00bcd41a;color:var(--accent);border:1px solid rgba(0,188,212,.25);border-radius:20px;padding:2px 9px}.course-card-arrow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#00bcd41a;color:var(--accent);opacity:0;transform:translate(-4px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.course-card-arrow svg{display:block}@media (max-width: 600px){.courses-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.courses-title{font-size:1.8rem}}:root{--bg: #f0f6ff;--text: #000000;--rail-text: #ffffff;--border: rgba(0, 188, 212, .2);--link: #0284c7;--link-hover: #0284c7;--accent: #00bcd4;--card-shadow: rgba(0, 188, 212, .2);--nav-height: 52px;--font: "Times New Roman", Times, serif;--resume-heading: #000;--bg-dark: #0284c7;--text-light: #ffffff;--btn-bg: #000000;--btn-text: #ffffff;--bg-grad: linear-gradient(160deg, #e8f4ff 0%, #f0f6ff 40%, #e6f0ff 100%);--orb1: rgba(0, 188, 212, .07);--orb2: rgba(99, 102, 241, .05);--grid-color: rgba(0, 188, 212, .06);--box-sadow: rgba(0, 0, 0, .12) 0px 1px 3px, rgba(0, 0, 0, .24) 0px 1px 0px;--avatar-shadow: rgba(9, 30, 66, .25) 0px 1px 1px, rgba(9, 30, 66, .13) 0px 0px 1px 1px;--section-border: #000000;--gh-avatar-border: #797474;--navbar-bg: rgb(255, 255, 255)}[data-theme=dark]{--bg: #060a14;--text: #ffffff;--rail-text: #000000;--border: rgba(0, 188, 212, .2);--link: #67e8f9;--link-hover: #00ffff;--resume-heading: #fff;--bg-dark: #ffffff;--text-light: #000000;--btn-bg: #fefefe;--btn-text: #000000;--bg-grad: linear-gradient(160deg, #060a14 0%, #0a0d16 40%, #07091a 100%);--orb1: rgba(0, 188, 212, .09);--orb2: rgba(99, 102, 241, .07);--grid-color: rgba(0, 188, 212, .05);--section-border: #f5f5f5;--gh-avatar-border: #67e8f9;--navbar-bg: #061741}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:11pt;line-height:1.15;color:var(--text);background:var(--bg);transition:background .3s,color .3s;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;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);transition:background .3s;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,black 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,black 30%,transparent 100%);animation:gridPulse 8s ease-in-out infinite;pointer-events:none}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{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:10px}.card{border-radius:8px;padding:12px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000d;position:relative}.card:hover{transform:translateY(-2px)}[data-theme=dark] .card{background:#0f172a99;border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 3px #0003}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{padding:4px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:sans-serif;cursor:pointer;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{font-size:9pt;padding:1px 8px;border-radius:10px;background:#64748b1a;color:var(--text);opacity:.7;border:1px solid rgba(100,116,139,.2)}.spinner{width:44px;height:44px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh}@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)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.page-wrap{padding:0 14px}.card-grid{grid-template-columns:1fr}}@media print{body:before,body:after{display:none!important}.navbar-wrapper{display:none!important}.page-wrap{margin:0!important}[style*="opacity: 0"],[style*="opacity:0"]{opacity:1!important;transform:none!important}}@keyframes fadeOut{to{opacity:0;visibility:hidden}}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes logoRotate{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(1.1)}66%{transform:translate(30px,-20px) scale(.9)}}@keyframes orbFloat3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,20px) scale(1.05)}}@keyframes particleOrbit{0%{transform:rotate(0) translate(120px) rotate(0)}to{transform:rotate(360deg) translate(120px) rotate(-360deg)}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:1}}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e27,#1a1f3a);overflow:hidden;transition:opacity .5s ease-out,visibility .5s ease-out}.page-loader.fade-out{animation:fadeOut .5s ease-out forwards}.loader-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3}.gradient-orb.orb-1{width:500px;height:500px;background:radial-gradient(circle,rgba(0,188,212,.4) 0%,transparent 70%);top:-10%;left:-10%;animation:orbFloat1 20s ease-in-out infinite}.gradient-orb.orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(99,102,241,.4) 0%,transparent 70%);bottom:-10%;right:-10%;animation:orbFloat2 18s ease-in-out infinite}.gradient-orb.orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(168,85,247,.3) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:orbFloat3 22s ease-in-out infinite}.loader-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px;animation:float 3s ease-in-out infinite}.loader-icon{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:100%;height:100%;border:3px solid rgba(0,188,212,.6);border-radius:50%;animation:pulseRing 2s ease-out infinite}.pulse-ring.delay-1{animation-delay:.5s}.pulse-ring.delay-2{animation-delay:1s}.logo-svg{width:70px;height:70px;color:#00bcd4;filter:drop-shadow(0 0 20px rgba(0,188,212,.6));animation:logoRotate 4s ease-in-out infinite}.loading-title{margin:0;font-size:2rem;font-weight:700;color:#fff;text-align:center;letter-spacing:.5px;text-shadow:0 0 30px rgba(0,188,212,.5)}.loading-subtitle{margin:0;font-size:.95rem;color:#ffffffb3;text-align:center;font-weight:500;min-height:24px;transition:opacity .3s ease}.progress-container{width:320px;max-width:90vw;display:flex;flex-direction:column;gap:16px;margin-top:8px}.progress-bar{position:relative;height:8px;background:linear-gradient(90deg,#00bcd4,#6366f1,#a855f7);border-radius:100px;overflow:hidden;box-shadow:0 0 20px #00bcd466;transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;border-radius:100px}.progress-shine{position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shine 1.5s ease-in-out infinite}.progress-dots{display:flex;justify-content:space-between;padding:0 4px}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s ease}.dot.active{background:#00bcd4;box-shadow:0 0 12px #00bcd4cc;animation:dotPulse 1s ease-in-out infinite}.progress-percentage{text-align:center;font-size:1.5rem;font-weight:700;color:#00bcd4;font-variant-numeric:tabular-nums;text-shadow:0 0 20px rgba(0,188,212,.6);min-width:60px}.loader-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none}.particle{position:absolute;top:50%;left:50%;width:6px;height:6px;background:radial-gradient(circle,#00bcd4 0%,transparent 70%);border-radius:50%;animation:particleOrbit 8s linear infinite;animation-delay:var(--delay);transform-origin:0 0;opacity:.6}.particle:before{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:inherit;filter:blur(2px)}@media (max-width: 640px){.loading-title{font-size:1.5rem}.loader-icon{width:100px;height:100px}.logo-svg{width:60px;height:60px}.progress-container{width:280px}.progress-percentage{font-size:1.25rem}}@media (prefers-color-scheme: light){.page-loader{background:linear-gradient(135deg,#f0f4f8,#d9e2ec)}.gradient-orb.orb-1{background:radial-gradient(circle,rgba(0,188,212,.2) 0%,transparent 70%)}.gradient-orb.orb-2{background:radial-gradient(circle,rgba(99,102,241,.2) 0%,transparent 70%)}.gradient-orb.orb-3{background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%)}.loading-title{color:#1a202c;text-shadow:0 0 30px rgba(0,188,212,.3)}.loading-subtitle{color:#000000b3}}
