@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}}html,body{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}body{background-color:var(--bg)!important;background-image:none!important;color:var(--text);font-family:var(--font, system-ui, sans-serif)}.accordion-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-cloud, 16px);overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow-cloud);transition:box-shadow .2s ease,border-color .2s ease}.accordion-item:hover{box-shadow:var(--shadow-cloud-hover);border-color:var(--card-hover-border)}.accordion-header{display:flex;align-items:center;gap:16px;padding:20px 26px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--card-header-bg);border-bottom:1px solid var(--border);transition:background .15s ease}.accordion-header:hover{background:var(--accent-hover)}.accordion-number{flex-shrink:0;padding:6px 12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:var(--active-text, #ffffff);font-size:.85rem;font-weight:700;border-radius:8px;box-shadow:0 2px 6px var(--accent-bg)}.accordion-title-group{flex:1}.accordion-title{font-size:1.1rem;font-weight:700;color:var(--text)}.accordion-subtitle{font-size:.82rem;color:var(--text-muted);margin-top:2px}.accordion-toggle{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);transition:transform .25s ease,background .15s ease}.accordion-item.open .accordion-toggle{transform:rotate(180deg);background:var(--accent-bg);border-color:var(--accent)}.accordion-body{max-height:0;overflow:hidden;transition:max-height .4s ease}.accordion-item.open .accordion-body,.accordion-item.active .accordion-body,.acc-item.open .accordion-body,.acc-item.active .accordion-body,.step.open .step-body,.step.active .step-body,.card.open .card-body{max-height:none!important;height:auto!important;overflow:visible!important}.accordion-content{padding:0!important;background:var(--card-bg)}.tab-group{background:var(--surface);border:none;border-radius:0!important;overflow:hidden}.tab-buttons{display:flex;border-bottom:1px solid var(--border);background:var(--card-header-bg)}.tab-btn{flex:1;padding:14px 20px;border:none;border-radius:0!important;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;opacity:1!important;transition:background .2s ease,color .2s ease}.tab-btn:hover{color:var(--accent);background:var(--accent-hover);border-radius:0!important;opacity:1!important}.tab-btn.active{color:var(--accent);background:var(--surface);border-bottom:3px solid var(--accent);border-radius:0!important;opacity:1!important}.tab-panel{display:none;padding:24px;background:var(--surface);border-radius:0!important}.tab-panel.active{display:block}.question-box{font-size:1.05rem;line-height:1.85;color:var(--text);background:var(--accent-bg);border-left:4px solid var(--accent);padding:20px 24px;border-radius:0!important;margin-top:14px}.ans-box,.answer-box{font-size:1.05rem;line-height:1.85;color:var(--text);background:transparent!important;border-left:none!important;border-radius:0!important;height:auto!important;max-height:none!important;overflow:visible!important}.toc-panel{position:sticky;top:24px;width:230px;flex-shrink:0;padding:0;margin-top:40px;background:var(--card-bg)!important;border:1px solid var(--border)!important;border-radius:0!important;overflow:hidden;box-shadow:var(--shadow-sm)}.toc-header{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:0}.toc-nav{display:flex;flex-direction:column;gap:0}.toc-link{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:0!important;text-decoration:none;color:var(--text-secondary);font-size:13px;opacity:1!important;transition:color .15s,background .15s;border-bottom:1px solid var(--border)}.toc-link:last-child{border-bottom:none}.toc-link:hover{background:var(--accent-hover)!important;color:var(--accent)!important;border-radius:0!important;opacity:1!important}.toc-link.active{background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;font-weight:600;border-radius:0!important;opacity:1!important}.toc-num{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--bg-deep);border-radius:0!important;flex-shrink:0}.toc-link.active .toc-num{background:var(--active-num-bg, rgba(255, 255, 255, .25))!important;color:var(--active-text, #ffffff)!important;border-radius:0!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:var(--accent-hover, rgba(115, 60, 0, .06))}.ctb-course-name.open{background:var(--accent-bg, rgba(115, 60, 0, .08));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:var(--accent-hover, rgba(115, 60, 0, .07));color:var(--accent)}.ctb-switcher-item.active{background:var(--accent-bg, rgba(115, 60, 0, .12));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}body:has(.docs-root),body.course-mode{background:var(--bg, #ffffff)!important}body:has(.docs-root):before,body:has(.docs-root):after,body.course-mode:before,body.course-mode:after{display:none!important;content:none!important;background:none!important}[data-theme=dark] body:has(.docs-root),[data-theme=dark] body.course-mode{background:var(--bg, #0f172a)!important}.docs-root{padding-top:52px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg, #ffffff)!important}.docs-root:before,.docs-root:after{display:none!important;content:none!important;background:none!important}.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);background:var(--bg, #ffffff)!important}[data-theme=dark] .docs-root,[data-theme=dark] .docs-layout{background:var(--bg, #0f172a)!important}.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;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border)!important;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:0;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:var(--accent-hover);border-color:var(--accent)}.docs-sidebar-toggle{display:none}[data-theme=dark] .docs-sidebar{background:var(--navbar-bg)}.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;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:var(--accent-hover)}.docs-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px 24px;display:flex;flex-direction:column;gap:1px;scrollbar-width:none;-ms-overflow-style:none}.docs-nav::-webkit-scrollbar{display:none;width:0;height:0}.docs-nav-item{display:block;text-align:left;background:transparent;border:none;padding:8px 12px;border-radius:0;color:var(--text);font-family:var(--font);font-size:13px;cursor:pointer;opacity:1;text-decoration:none;line-height:1.4;transition:background .12s,color .12s}.docs-nav-item:hover{background:var(--accent-hover, rgba(115, 60, 0, .08));color:var(--accent, #733c00);opacity:1}.docs-nav-item.active{background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;font-weight:600;opacity:1;border-radius:0}.docs-nav-item.depth-1{padding-left:20px;font-size:12.5px;opacity:1}.docs-nav-item.depth-2{padding-left:30px;font-size:12px;opacity:1}.docs-nav-item.depth-3{padding-left:40px;font-size:11.5px;opacity:1}.docs-nav-item.depth-4{padding-left:50px;font-size:11.5px;opacity:1}.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, #733c00)}.docs-nav-item.depth-1.active{padding-left:20px;background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;opacity:1}.docs-nav-item.depth-2.active{padding-left:30px;background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;opacity:1}.docs-nav-item.depth-3.active{padding-left:40px;background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;opacity:1}.docs-nav-item.depth-4.active{padding-left:50px;background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;opacity:1}.docs-nav-item.nested{padding-left:20px;font-size:12.5px;opacity:1}.docs-nav-item.nested:hover{padding-left:20px;opacity:1}.docs-nav-item.nested.active{padding-left:20px;background:var(--active-fill, #733c00)!important;color:var(--active-text, #ffffff)!important;opacity:1}.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:0;color:var(--text);font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;opacity:1;transition:background .12s,color .12s}.docs-nav-group-btn svg{flex-shrink:0;opacity:.6;transition:transform .2s cubic-bezier(.4,0,.2,1)}.docs-nav-group-btn.open svg{transform:rotate(180deg)}.docs-nav-group-btn:hover{background:var(--accent-hover, rgba(115, 60, 0, .08));color:var(--accent, #733c00);opacity:1}.docs-nav-group-btn.has-active{color:var(--accent, #733c00);opacity:1}.docs-nav-group-items{display:flex;flex-direction:column;border-left:2px solid #733c00;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:none;-ms-overflow-style:none}.docs-content::-webkit-scrollbar{display:none;width:0;height:0}.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)}.video-section{background:var(--card-bg, #ffffff);border:1px solid var(--border, rgba(194, 130, 80, .16));border-radius:14px;padding:24px;margin:2rem 0;box-shadow:0 4px 20px #0000000d}.video-header{margin-bottom:16px}.video-badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent, #c47a2a);background:var(--callout-bg, rgba(196, 122, 42, .08));border:1px solid var(--border, rgba(194, 130, 80, .2));padding:4px 12px;border-radius:20px;margin-bottom:8px}.video-title{font-size:1.25rem;font-weight:700;color:var(--text, #1a1916);margin-bottom:4px;line-height:1.35}.video-description{font-size:.9rem;color:var(--text-muted, #7c766e);margin:0}.video-container{position:relative;width:100%;max-width:800px;margin:16px auto 0;border-radius:10px;overflow:hidden;background:#000;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 16px #00000026}.video-container.aspect-16-9{padding-bottom:56.25%;height:0}.video-container.aspect-16-9 iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.video-container iframe{max-width:100%;border:none;display:block}@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}}.res-hero{display:flex;align-items:center;gap:18px;margin-bottom:32px;padding:28px 32px;border-radius:20px;background:linear-gradient(135deg,#00bcd414,#6366f10f);border:1px solid rgba(0,188,212,.18)}[data-theme=dark] .res-hero{background:linear-gradient(135deg,#00bcd412,#6366f10d);border-color:#00bcd424}.res-hero-icon{font-size:2.8rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,188,212,.3))}.res-hero-title{font-size:1.9rem;font-weight:800;color:var(--text);margin:0 0 4px;letter-spacing:-.025em}.res-hero-sub{font-size:.83rem;color:var(--text);opacity:.5;margin:0;font-family:sans-serif}.res-section-label{font-size:.72rem;font-family:sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.38;margin-bottom:14px}.res-empty{text-align:center;padding:70px 0;opacity:.35;font-size:.9rem;font-family:sans-serif}.res-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.res-folder-card{display:flex;flex-direction:column;gap:12px;padding:20px 20px 16px;border-radius:16px;background:#fffc;border:1px solid rgba(0,188,212,.13);box-shadow:0 2px 8px #0000000d;cursor:pointer;text-align:left;color:var(--text);font-family:var(--font);animation:resFadeUp .3s ease calc(var(--i, 0) * 50ms) both;transition:transform .2s,box-shadow .2s,border-color .2s}.res-folder-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #00bcd42e;border-color:#00bcd473}.res-folder-card:hover .res-fc-footer{color:var(--accent)}.res-folder-card:hover .res-fc-footer svg{transform:translate(3px)}.res-folder-card:active{transform:translateY(-1px)}[data-theme=dark] .res-folder-card{background:#0a1224b3;border-color:#00bcd41a;box-shadow:0 2px 8px #00000040}.res-fc-top{display:flex;align-items:flex-start;justify-content:space-between}.res-fc-count{font-size:.7rem;font-family:sans-serif;font-weight:700;background:#00bcd41a;color:var(--accent);border:1px solid rgba(0,188,212,.2);padding:2px 8px;border-radius:20px;white-space:nowrap}.res-fc-name{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.3;overflow-wrap:break-word}.res-fc-footer{display:flex;align-items:center;gap:5px;font-size:.75rem;font-family:sans-serif;font-weight:600;color:var(--text);opacity:.45;transition:color .18s,opacity .18s}.res-fc-footer svg{transition:transform .18s}.res-folder-card:hover .res-fc-footer{opacity:1}.res-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.78rem;font-family:sans-serif;margin-bottom:20px;opacity:.6}.res-bc-link{display:flex;align-items:center;color:var(--accent);text-decoration:none;font-weight:600;transition:opacity .15s}.res-bc-link:hover{opacity:1;text-decoration:underline;color:var(--accent)}.res-bc-sep{opacity:.35}.res-bc-cur{color:var(--text);font-weight:500}.res-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.res-toolbar-left{display:flex;align-items:center;gap:12px;min-width:0}.res-folder-title{font-size:1.5rem;font-weight:800;color:var(--text);margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-folder-count-pill{font-size:.7rem;font-family:sans-serif;font-weight:700;background:#00bcd41a;color:var(--accent);border:1px solid rgba(0,188,212,.2);padding:3px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}.res-view-toggle{display:flex;align-items:center;gap:2px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:3px;flex-shrink:0}[data-theme=dark] .res-view-toggle{background:#ffffff0d;border-color:#ffffff1a}.res-vt-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--text);transition:background .15s}.res-vt-btn.active{background:#00bcd424}.res-vt-btn:hover:not(.active){background:#0000000f}[data-theme=dark] .res-vt-btn:hover:not(.active){background:#ffffff12}.res-list{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.07)}[data-theme=dark] .res-list{border-color:#ffffff12}.res-list-header{display:flex;align-items:center;gap:12px;padding:9px 18px 9px 58px;font-size:.68rem;font-family:sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.38;background:#00000006;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .res-list-header{background:#ffffff06;border-bottom-color:#ffffff0f}.res-lh-type{width:54px;text-align:center}.res-lh-size{width:68px;text-align:right}.res-list-row{display:flex;align-items:center;gap:12px;padding:11px 18px;background:#ffffffb3;border-bottom:1px solid rgba(0,0,0,.05);text-decoration:none;color:var(--text);animation:resFadeUp .25s ease calc(var(--i, 0) * 35ms) both;transition:background .15s}.res-list-row:last-child{border-bottom:none}.res-list-row:hover{background:#00bcd40d;color:var(--text)}.res-list-row:hover .res-lr-dl{opacity:1;color:var(--accent)}.res-list-row:hover .res-lr-title{color:var(--accent)}[data-theme=dark] .res-list-row{background:#0a12248c;border-bottom-color:#ffffff0d}[data-theme=dark] .res-list-row:hover{background:#00bcd412}.res-lr-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.res-lr-name{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px}.res-lr-title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.res-lr-ext{font-size:.65rem;font-family:monospace;opacity:.3;flex-shrink:0}.res-lr-badge{width:54px;text-align:center;font-size:.62rem;font-family:sans-serif;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:5px;border:1px solid;flex-shrink:0}.res-lr-size{width:68px;text-align:right;font-size:.72rem;font-family:sans-serif;opacity:.38;flex-shrink:0}.res-lr-dl{width:36px;display:flex;align-items:center;justify-content:center;opacity:.18;transition:opacity .15s,color .15s;flex-shrink:0}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.res-grid-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fffc;border:1px solid rgba(0,0,0,.07);box-shadow:0 2px 6px #0000000a;text-decoration:none;color:var(--text);position:relative;animation:resFadeUp .28s ease calc(var(--i, 0) * 40ms) both;transition:transform .2s,box-shadow .2s}.res-grid-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 28px #0000001f;color:var(--text)}.res-grid-card:hover .res-gc-overlay{opacity:1}[data-theme=dark] .res-grid-card{background:#0a1224a6;border-color:#ffffff12}.res-gc-strip{height:4px;flex-shrink:0}.res-gc-icon-wrap{display:flex;align-items:center;justify-content:center;padding:22px 0 16px}.res-gc-body{padding:0 12px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.res-gc-name{font-size:.8rem;font-weight:700;color:var(--text);margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;word-break:break-word}.res-gc-meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.res-gc-badge{font-size:.6rem;font-family:sans-serif;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid}.res-gc-size{font-size:.65rem;font-family:sans-serif;opacity:.35}.res-gc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .2s;border-radius:14px}.res-gc-overlay span{color:#fff;font-size:.72rem;font-family:sans-serif;font-weight:700;letter-spacing:.04em}@keyframes resFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.res-folder-grid{grid-template-columns:1fr 1fr}.res-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.res-hero{padding:18px;gap:12px}.res-hero-title{font-size:1.4rem}.res-hero-icon{font-size:2rem}.res-folder-title{font-size:1.2rem}.res-list-header,.res-lh-type,.res-lr-badge,.res-lh-size,.res-lr-size{display:none}}@media (max-width: 400px){.res-folder-grid{grid-template-columns:1fr}}.res-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#040814e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px}.res-lightbox-simple{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.res-lb-img-frame{position:relative;display:flex;align-items:center;justify-content:center;max-width:85vw;max-height:75vh}.res-lb-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:5;background:#0f172a66;border-radius:12px}.res-lb-simple-img{max-width:85vw;max-height:75vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 50px #0009;border:1px solid rgba(255,255,255,.1);cursor:pointer}.res-lb-close-simple{position:absolute;top:-46px;right:-10px;width:36px;height:36px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .15s}.res-lb-close-simple:hover{background:#ff444480;border-color:#f44c;color:#fff}.res-lb-nav-simple{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.res-lb-nav-simple:hover{background:var(--accent, #00bcd4);border-color:var(--accent, #00bcd4);color:#000;transform:translateY(-50%) scale(1.1)}.res-lb-nav-simple.prev{left:-54px}.res-lb-nav-simple.next{right:-54px}.res-lb-simple-footer{display:flex;align-items:center;gap:14px;margin-top:12px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.8rem}.res-lb-simple-name{font-weight:600;max-width:280px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.res-lb-simple-counter{opacity:.5;font-family:monospace;font-size:.75rem}.res-lb-simple-dl{color:var(--accent, #00bcd4);text-decoration:none;font-weight:700;font-size:.75rem;margin-left:4px;transition:opacity .15s}.res-lb-simple-dl:hover{opacity:.8;text-decoration:underline}.res-lb-simple-close-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:4px;margin-left:6px;transition:all .15s}.res-lb-simple-close-btn:hover{background:#f449;border-color:#f44c;color:#fff}@media (max-width: 640px){.res-lb-nav-simple{width:36px;height:36px;font-size:1.4rem}.res-lb-nav-simple.prev{left:4px}.res-lb-nav-simple.next{right:4px}}.pres-header-clean{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border, rgba(0, 188, 212, .2));flex-wrap:wrap}.pres-title-left{font-family:Georgia,serif;font-size:2.4rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--text);margin:0}.org-dropdown-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.org-dropdown-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text);opacity:.65;display:flex;align-items:center;gap:6px;font-family:system-ui,-apple-system,sans-serif;white-space:nowrap}.org-select-container{position:relative;min-width:240px}.org-select-input{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--card, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .12));color:var(--text);padding:8px 36px 8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;cursor:pointer;box-shadow:0 2px 8px #0000000a;transition:all .2s}.org-select-input:hover,.org-select-input:focus{border-color:var(--accent, #00bcd4);outline:none;box-shadow:0 4px 14px #00bcd429}[data-theme=dark] .org-select-input{background:#0f172abf;border-color:#ffffff1f;color:#fff}[data-theme=dark] .org-select-input option{background:#0f172a;color:#fff}.org-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:.65rem;pointer-events:none;color:var(--accent, #00bcd4)}.pres-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--card, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:12px 12px 0 0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;gap:10px;color:var(--text);transition:background .3s,border-color .3s}[data-theme=dark] .pres-viewer-header{background:#0f172ad9;border-color:#ffffff1a;color:#fff}.pres-viewer-btn{background:#00bcd41a;border:1px solid rgba(0,188,212,.25);color:var(--accent, #00bcd4);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.pres-viewer-btn:hover{background:#00bcd433}.pres-viewer-btn-sec{background:#0000000d;border:1px solid var(--border, rgba(0, 0, 0, .1));color:var(--text);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.pres-viewer-btn-sec:hover{background:#0000001a}[data-theme=dark] .pres-viewer-btn-sec{background:#ffffff14;border-color:#ffffff26;color:#fff}[data-theme=dark] .pres-viewer-btn-sec:hover{background:#ffffff26}.pres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;font-family:system-ui,-apple-system,sans-serif}.pres-card{background:var(--card, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,border-color .25s;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000000a}.pres-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #00bcd429;border-color:var(--accent, #00bcd4)}.pres-card:hover .pres-banner-img{transform:scale(1.05)}.pres-card:hover .pres-card-action svg{transform:translate(3px,-3px)}.pres-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme=dark] .pres-card{background:#0f172aa6;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pres-banner-wrap{width:100%;height:180px;position:relative;overflow:hidden;background:#0f172a}.pres-banner-img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}.pres-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000001a,#0f172ad9)}.pres-date-badge{position:absolute;top:12px;right:12px;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:20px;letter-spacing:.03em;z-index:2}.pres-lock-badge{position:absolute;top:12px;left:12px;background:#dc2626e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.03em;display:flex;align-items:center;gap:5px;z-index:2;box-shadow:0 4px 14px #dc262673}.pres-lock-badge.unlocked{background:#2563ebe6;box-shadow:0 4px 14px #2563eb73}.pres-card.is-locked .pres-card-action{color:#dc2626}.pres-card-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.pres-org-row{display:flex;align-items:center;gap:8px}.pres-org-pill{display:inline-flex;align-items:center;gap:6px;background:#00bcd414;border:1px solid rgba(0,188,212,.2);padding:4px 10px 4px 6px;border-radius:20px}.pres-org-logo{width:18px;height:18px;border-radius:50%;object-fit:contain;background:#fff;padding:1px}.pres-org-name{font-size:.72rem;font-weight:600;color:var(--accent, #00bcd4)}.pres-card-title{font-size:1.1rem;font-weight:700;line-height:1.35;color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif}.pres-card-desc{font-size:.82rem;line-height:1.55;color:var(--text);opacity:.65;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:system-ui,-apple-system,sans-serif}.pres-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.pres-tag{font-size:.68rem;padding:3px 9px;border-radius:6px;background:#00bcd414;color:var(--accent, #00bcd4);border:1px solid rgba(0,188,212,.18);font-family:system-ui,-apple-system,sans-serif;font-weight:500}[data-theme=dark] .pres-tag{background:#00bcd41f;border-color:#00bcd440}.pres-card-footer{border-top:1px solid rgba(0,0,0,.06);padding-top:12px;margin-top:6px;display:flex;align-items:center;justify-content:space-between}[data-theme=dark] .pres-card-footer{border-top-color:#ffffff14}.pres-slides-count{font-size:.72rem;opacity:.55;display:flex;align-items:center;gap:4px}.pres-card-action{font-size:.75rem;font-weight:700;color:var(--accent, #00bcd4);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.05em}.pres-card-action svg{transition:transform .2s}@media (max-width: 680px){.pres-header-clean{flex-direction:column;align-items:flex-start}.org-dropdown-wrap{align-items:flex-start;width:100%}.pres-grid{grid-template-columns:1fr}}.classroom-root{--fb: "Noto Sans Bengali", "Hind Siliguri", sans-serif;--fm: "JetBrains Mono", monospace;font-family:var(--fb);font-size:15px;line-height:1.6;width:100%;height:100vh;overflow:hidden;position:relative;transition:background .3s,color .3s;--bg: #f5f3ee;--s: #ffffff;--s2: #faf9f6;--s3: #f0eee8;--s4: #e5e2db;--ac: #5a4fd6;--ac2: #4640b8;--ac-d: rgba(90, 79, 214, .07);--ac-b: rgba(90, 79, 214, .15);--tx: #1a1816;--tx2: #6b6560;--tx3: #a8a29e;--br: #e0ddd5;--br2: #d0cdc4;--rd: #dc2626;--rd-d: rgba(220, 38, 38, .06);--gn: #16a34a;--gn-d: rgba(22, 163, 74, .06);--bl: #2563eb;--bl-d: rgba(37, 99, 235, .06);--or: #d97706;--or-d: rgba(217, 119, 6, .06);--pk: #db2777;--pk-d: rgba(219, 39, 119, .06);--cy: #0891b2;--cy-d: rgba(8, 145, 178, .06);--hd: rgba(245, 243, 238, .92);--sb: #efeee8;--sh: 0 4px 20px rgba(0, 0, 0, .06);background:var(--bg);color:var(--tx)}.classroom-root[data-theme=dark],.classroom-root[data-classroom-theme=dark]{--bg: #080a12;--s: #0f1220;--s2: #161a2e;--s3: #1e2340;--s4: #282e50;--ac: #7c6cff;--ac2: #9d90ff;--ac-d: rgba(124, 108, 255, .1);--ac-b: rgba(124, 108, 255, .2);--tx: #e8eaf0;--tx2: #8a8faa;--tx3: #4e527a;--br: #252845;--br2: #303560;--rd: #f0506e;--rd-d: rgba(240, 80, 110, .1);--gn: #3dd68c;--gn-d: rgba(61, 214, 140, .1);--bl: #4da6ff;--bl-d: rgba(77, 166, 255, .1);--or: #ffa940;--or-d: rgba(255, 169, 64, .1);--pk: #f06cac;--pk-d: rgba(240, 108, 172, .1);--cy: #22d3ee;--cy-d: rgba(34, 211, 238, .1);--hd: rgba(8, 10, 18, .92);--sb: #0b0d18;--sh: 0 4px 20px rgba(0, 0, 0, .35)}.classroom-root .app-container{display:flex;height:100vh;overflow:hidden}.classroom-root .sb{background:var(--sb);border-right:1px solid var(--br);display:flex;flex-direction:column;flex-shrink:0;z-index:200;position:relative;transition:margin-left .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.classroom-root .sb-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:220;transition:background .15s ease}.classroom-root .sb-resizer:hover,.classroom-root .sb-resizer.active{background:var(--ac)}.classroom-root .sb-brand{padding:7px;border-bottom:1px solid var(--br);display:flex;align-items:center;gap:10px}.classroom-root .sb-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--ac),#b06cff);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.classroom-root .sb-title{font-size:18px;font-weight:800}.classroom-root .sb-title em{font-style:normal;color:var(--ac)}.classroom-root .sb-sub{font-size:10px;color:var(--tx3);font-family:var(--fm);margin-top:-2px}.classroom-root .sb-nav{flex:1;overflow-y:auto;padding:6px}.classroom-root .sb-nav::-webkit-scrollbar{width:0}.classroom-root .nl{font-size:9px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.15em;padding:10px 12px 4px;font-family:var(--fm)}.classroom-root .ni{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;background:none;border:none;color:var(--tx2);font-family:var(--fb);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;width:100%;text-align:left}.classroom-root .ni:hover{background:var(--s2);color:var(--tx)}.classroom-root .ni.act{background:var(--ac-d);color:var(--ac);font-weight:600}.classroom-root .ni .ic{width:18px;text-align:center;flex-shrink:0;font-size:14px}.classroom-root .ni .ct{margin-left:auto;font-family:var(--fm);font-size:9px;padding:1px 6px;border-radius:4px;color:var(--tx3)}.classroom-root .ni.act .ct{color:var(--ac)}.classroom-root .sb-book{margin-bottom:2px}.classroom-root .sb-bh{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:all .12s;font-size:13px;font-weight:600;color:var(--tx2);background:none;border:none;width:100%;text-align:left;font-family:var(--fb)}.classroom-root .sb-bh:hover{background:var(--s2);color:var(--tx)}.classroom-root .sb-bh .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.classroom-root .sb-bh .arr{margin-left:auto;font-size:10px;color:var(--tx3);transition:transform .2s}.classroom-root .sb-bh.open .arr{transform:rotate(90deg)}.classroom-root .sb-chs{display:none;padding:2px 0 2px 16px}.classroom-root .sb-chs.open{display:block}.classroom-root .sb-ch{padding:5px 10px;border-radius:6px;font-size:12px;color:var(--tx3);cursor:pointer;transition:all .12s;border:none;background:none;width:100%;text-align:left;font-family:var(--fb);display:flex;align-items:center;gap:6px}.classroom-root .sb-ch:hover{background:var(--s2);color:var(--tx2)}.classroom-root .sb-ch.act{color:var(--ac);background:var(--ac-d);font-weight:600}.classroom-root .sb-ch .num{font-family:var(--fm);font-size:10px;color:var(--tx3);width:20px;text-align:center;flex-shrink:0}.classroom-root .sb-ft{padding:8px 6px;border-top:1px solid var(--br);display:flex;flex-direction:column;gap:4px}.classroom-root .sb-btn{width:100%;padding:7px 12px;border-radius:8px;background:var(--s2);border:1px solid var(--br);color:var(--tx2);font-family:var(--fb);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .12s}.classroom-root .sb-btn:hover{border-color:var(--ac);color:var(--tx)}.classroom-root .ov{display:none!important}.classroom-root .mb-btn{display:flex!important}@media (max-width: 860px){.classroom-root .sb{position:fixed;top:0;left:0;bottom:0;margin-left:0!important;transform:translate(-100%)}.classroom-root .sb.open{transform:translate(0)}.classroom-root .ov.show{display:block}.classroom-root .stats-g{grid-template-columns:1fr 1fr!important}}.classroom-root .mn{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.classroom-root .hd{height:50px;min-height:50px;background:var(--hd);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--br);padding:0 16px;display:flex;align-items:center;justify-content:space-between;z-index:100;transition:background .3s}.classroom-root .hd-l{display:flex;align-items:center;gap:8px}.classroom-root .hd-t{font-size:16px;font-weight:700}.classroom-root .hd-r{display:flex;align-items:center;gap:6px}.classroom-root .sb-box{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:7px;background:var(--s);border:1px solid var(--br);transition:border-color .2s;width:180px}.classroom-root .sb-box:focus-within{border-color:var(--ac)}.classroom-root .sb-box input{background:none;border:none;outline:none;color:var(--tx);font-family:var(--fb);font-size:12px;width:100%}.classroom-root .sb-box input::placeholder{color:var(--tx3)}.classroom-root .ib{width:32px;height:32px;border-radius:7px;border:1px solid var(--br);background:var(--s);color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;font-size:14px}.classroom-root .ib:hover{border-color:var(--ac);color:var(--ac)}.classroom-root .ct{flex:1;overflow-y:auto;padding:16px}.classroom-root .ct::-webkit-scrollbar{width:5px}.classroom-root .stats-g{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.classroom-root .stat{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:14px;transition:all .15s}.classroom-root .stat:hover{border-color:var(--ac-b)}.classroom-root .stat .sl{font-size:10px;color:var(--tx3);margin-bottom:4px;font-family:var(--fm)}.classroom-root .stat .sv{font-size:22px;font-weight:800}.classroom-root .stat .sd{font-size:10px;color:var(--tx2);margin-top:2px}.classroom-root .stat.ac{border-color:var(--ac-b);background:var(--ac-d)}.classroom-root .stat.gn{border-color:#3dd68c26;background:var(--gn-d)}.classroom-root .stat.bl{border-color:#4da6ff26;background:var(--bl-d)}.classroom-root .stat.or{border-color:#ffa94026;background:var(--or-d)}.classroom-root .book-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.classroom-root .book-card{background:var(--s);border:1px solid var(--br);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;animation:fu .3s ease backwards}.classroom-root .book-card:hover{border-color:var(--ac-b);transform:translateY(-2px);box-shadow:var(--sh)}.classroom-root .bc-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.classroom-root .bc-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;color:#fff;font-weight:800}.classroom-root .bc-name{font-size:15px;font-weight:700;margin-bottom:2px}.classroom-root .bc-sub{font-size:11px;color:var(--tx2)}.classroom-root .bc-bar{width:100%;height:4px;background:var(--s3);border-radius:2px;margin-top:10px;overflow:hidden}.classroom-root .bc-bar-fill{height:100%;border-radius:2px;background:var(--ac);transition:width .5s}.classroom-root .bc-info{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--tx3);font-family:var(--fm)}.classroom-root .ch-header{margin-bottom:16px}.classroom-root .ch-header h1{font-size:22px;font-weight:800;margin-bottom:4px}.classroom-root .ch-header .ch-meta{font-size:12px;color:var(--tx2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}.classroom-root .ch-layout-container{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden}.classroom-root .ch-subnav{flex-shrink:0;background:var(--hd);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--br);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:90;overflow-x:auto;scrollbar-width:none}.classroom-root .ch-subnav::-webkit-scrollbar{display:none}.classroom-root .ch-subnav .ch-subnav-links{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:max-content}.classroom-root .ch-subnav .ch-subnav-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.classroom-root .ch-content-area{flex:1;overflow-y:auto;padding:16px;min-height:0;-webkit-overflow-scrolling:touch}.classroom-root .ch-content-area::-webkit-scrollbar{width:5px}.classroom-root .ch-content-area.ch-content-area--summary{padding:0;margin:0;overflow:hidden;display:flex;flex-direction:column;height:100%}.classroom-root .summary-tab-pane,.classroom-root .summary-viewport-container{width:100%;height:100%;min-height:100%;flex:1;display:flex;flex-direction:column;padding:0;margin:0}.classroom-root .summary-viewport{width:100%;height:100%;min-height:100%;flex:1;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden}.classroom-root .summary-viewport iframe{width:100%;height:100%;min-height:100%;flex:1;border:none;display:block;margin:0;padding:0}.classroom-root .ch-tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.classroom-root .ch-tab{padding:7px 14px;border-radius:8px;border:1px solid var(--br);background:var(--s);color:var(--tx2);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;font-family:var(--fb);display:flex;align-items:center;gap:5px;white-space:nowrap}.classroom-root .ch-tab:hover{border-color:var(--tx3)}.classroom-root .ch-tab.act{background:var(--ac);color:#fff;border-color:var(--ac)}.classroom-root .ch-tab .badge{background:#fff3;padding:1px 6px;border-radius:4px;font-size:10px;font-family:var(--fm)}.classroom-root .ch-tab.act .badge{background:#ffffff4d}.classroom-root .summary-box{background:var(--s);border:1px solid var(--br);border-radius:12px;padding:18px;line-height:1.8;font-size:15px}.classroom-root .summary-box h3{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--ac)}.classroom-root .summary-native-content{line-height:1.8;font-size:15px;color:var(--tx1);word-break:break-word}.classroom-root .summary-native-content h1,.classroom-root .summary-native-content h2,.classroom-root .summary-native-content h3,.classroom-root .summary-native-content h4,.classroom-root .summary-native-content h5,.classroom-root .summary-native-content h6{color:var(--tx1);font-weight:700;margin-top:1.2em;margin-bottom:.5em;line-height:1.3}.classroom-root .summary-native-content h1:first-child,.classroom-root .summary-native-content h2:first-child,.classroom-root .summary-native-content h3:first-child{margin-top:0}.classroom-root .summary-native-content h1{font-size:1.6em;border-bottom:1px solid var(--br);padding-bottom:.3em}.classroom-root .summary-native-content h2{font-size:1.35em;border-bottom:1px solid var(--br);padding-bottom:.3em}.classroom-root .summary-native-content h3{font-size:1.2em}.classroom-root .summary-native-content p{margin:.7em 0}.classroom-root .summary-native-content table{border-collapse:collapse;width:100%;margin:14px 0;display:table;overflow-x:auto}.classroom-root .summary-native-content th,.classroom-root .summary-native-content td{border:1px solid var(--br);padding:9px 13px;text-align:left}.classroom-root .summary-native-content th{background:var(--s2);font-weight:600;color:var(--tx2)}.classroom-root .summary-native-content pre{background:#0f172a;color:#f8fafc;padding:12px 16px;border-radius:8px;overflow-x:auto;font-size:.9em;margin:12px 0}.classroom-root .summary-native-content code{background:var(--s2);color:var(--ac);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:var(--fm)}.classroom-root .summary-native-content pre code{background:transparent;color:inherit;padding:0}.classroom-root .summary-native-content blockquote{border-left:4px solid var(--ac);margin:12px 0;padding:6px 14px;color:var(--tx2);background:var(--s2);border-radius:0 6px 6px 0}.classroom-root .summary-native-content blockquote p{margin:0}.classroom-root .summary-native-content ul,.classroom-root .summary-native-content ol{padding-left:22px;margin:8px 0}.classroom-root .summary-native-content li{margin-bottom:4px}.classroom-root .summary-native-content img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}.classroom-root .pq-item{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:14px;margin-bottom:8px;cursor:pointer;transition:all .15s}.classroom-root .pq-item:hover{border-color:var(--ac-b)}.classroom-root .pq-q{font-size:14px;font-weight:600;margin-bottom:6px;display:flex;gap:8px}.classroom-root .pq-q .pq-n{font-family:var(--fm);color:var(--ac);font-size:12px;flex-shrink:0}.classroom-root .pq-a{font-size:13px;color:var(--tx2);display:none;padding-top:8px;border-top:1px solid var(--br);margin-top:8px;line-height:1.7}.classroom-root .pq-item.open .pq-a{display:block}.classroom-root .pq-add,.classroom-root .mcq-add,.classroom-root .res-add{border:1px dashed var(--br);background:none;border-radius:10px;padding:14px;width:100%;text-align:center;color:var(--tx3);font-family:var(--fb);font-size:13px;cursor:pointer;transition:all .12s}.classroom-root .pq-add:hover,.classroom-root .mcq-add:hover,.classroom-root .res-add:hover{border-color:var(--ac);color:var(--ac);background:var(--ac-d)}.classroom-root .mcq-card{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:16px;margin-bottom:10px}.classroom-root .mcq-q{font-size:14px;font-weight:600;margin-bottom:10px;display:flex;gap:8px}.classroom-root .mcq-q .mcq-n{font-family:var(--fm);color:var(--ac);font-size:12px;flex-shrink:0}.classroom-root .mcq-opts{display:flex;flex-direction:column;gap:6px}.classroom-root .mcq-opt{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;border:1px solid var(--br);background:var(--s2);cursor:pointer;transition:all .12s;font-size:13px}.classroom-root .mcq-opt:hover{border-color:var(--ac-b)}.classroom-root .mcq-opt.correct{border-color:var(--gn);background:var(--gn-d);color:var(--gn)}.classroom-root .mcq-opt.wrong{border-color:var(--rd);background:var(--rd-d);color:var(--rd)}.classroom-root .mcq-opt .mcq-l{font-family:var(--fm);font-size:11px;font-weight:600;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--s3);color:var(--tx3);flex-shrink:0}.classroom-root .mcq-opt.correct .mcq-l{background:var(--gn);color:#fff}.classroom-root .mcq-opt.wrong .mcq-l{background:var(--rd);color:#fff}.classroom-root .res-card,.classroom-root .res-card-improved{background:var(--s);border:1px solid var(--br);border-radius:12px;padding:14px 16px;margin-bottom:12px;transition:all .2s ease;box-shadow:0 1px 3px #00000008}.classroom-root .res-card:hover,.classroom-root .res-card-improved:hover{border-color:var(--ac-b);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.classroom-root .rc-ext-tag{background:var(--s2);border:1px solid var(--br);color:var(--tx2);font-size:10px;font-weight:700;font-family:var(--fm);padding:2px 6px;border-radius:4px}.classroom-root .rc-open-btn{transition:all .15s ease}.classroom-root .rc-open-btn:hover{background:var(--ac);color:#fff;border-color:var(--ac)}.classroom-root .rc-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.classroom-root .rc-type{padding:2px 8px;border-radius:5px;font-size:9px;font-weight:600;font-family:var(--fm);text-transform:uppercase}.classroom-root .rc-type.yt{background:var(--rd-d);color:var(--rd)}.classroom-root .rc-type.fb{background:#1877f226;color:#1877f2}.classroom-root .rc-type.link{background:var(--bl-d);color:var(--bl)}.classroom-root .rc-type.doc{background:var(--or-d);color:var(--or)}.classroom-root .rc-title{font-size:13px;font-weight:600;margin-bottom:3px}.classroom-root .rc-url{font-size:11px;color:var(--ac);font-family:var(--fm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.classroom-root .rc-desc{font-size:12px;color:var(--tx2);margin-top:4px}.classroom-root .rc-actions{display:flex;gap:4px;margin-top:8px}.classroom-root .rc-btn{padding:4px 10px;border-radius:5px;border:1px solid var(--br);background:var(--s2);color:var(--tx3);font-size:10px;cursor:pointer;transition:all .12s;font-family:var(--fb)}.classroom-root .rc-btn:hover{border-color:var(--ac);color:var(--ac)}.classroom-root .rc-btn.dl:hover{border-color:var(--rd);color:var(--rd)}.classroom-root .note-item{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:12px 14px;margin-bottom:8px;transition:all .15s;position:relative}.classroom-root .note-item:hover{border-color:var(--ac-b)}.classroom-root .ni-text{font-size:14px;line-height:1.7}.classroom-root .ni-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:10px;color:var(--tx3);font-family:var(--fm);flex-wrap:wrap}.classroom-root .ni-share{padding:3px 8px;border-radius:5px;background:var(--ac-d);color:var(--ac);font-size:10px;cursor:pointer;border:1px solid var(--ac-b);transition:all .12s;font-family:var(--fb)}.classroom-root .ni-share:hover{background:var(--ac);color:#fff}.classroom-root .ni-del{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:var(--tx3);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .12s}.classroom-root .note-item:hover .ni-del{opacity:1}.classroom-root .ni-del:hover{color:var(--rd);background:var(--rd-d)}.classroom-root .note-add{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:12px;margin-bottom:8px}.classroom-root .note-add textarea{width:100%;border:none;outline:none;background:transparent;color:var(--tx);font-family:var(--fb);font-size:14px;resize:none;min-height:60px;line-height:1.6}.classroom-root .note-add textarea::placeholder{color:var(--tx3)}.classroom-root .note-add-bar{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--br)}.classroom-root .na-btn{padding:5px 10px;border-radius:6px;border:1px solid var(--br);background:var(--s2);color:var(--tx3);font-size:11px;cursor:pointer;transition:all .12s;font-family:var(--fb)}.classroom-root .na-btn:hover{border-color:var(--ac);color:var(--ac)}.classroom-root .na-btn.pri{background:var(--ac);color:#fff;border-color:var(--ac)}.classroom-root .na-btn.pri:hover{background:var(--ac2)}.classroom-root .ch-list{display:flex;flex-direction:column;gap:4px}.classroom-root .ch-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--s);border:1px solid var(--br);border-radius:10px;cursor:pointer;transition:all .15s;animation:fu .3s ease backwards}.classroom-root .ch-item:hover{border-color:var(--ac-b);background:var(--s2)}.classroom-root .ch-num{font-family:var(--fm);font-size:11px;color:var(--ac);background:var(--ac-d);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;flex-shrink:0;font-weight:600}.classroom-root .ch-body{flex:1;min-width:0}.classroom-root .ch-name{font-size:14px;font-weight:600}.classroom-root .ch-info{font-size:11px;color:var(--tx3);display:flex;gap:8px;margin-top:2px}.classroom-root .ch-prog{width:50px;height:4px;background:var(--s3);border-radius:2px;overflow:hidden;flex-shrink:0}.classroom-root .ch-prog-fill{height:100%;background:var(--ac);border-radius:2px}.classroom-root .back-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:7px;border:1px solid var(--br);background:var(--s);color:var(--tx2);font-size:12px;cursor:pointer;font-family:var(--fb);margin-bottom:10px;transition:all .12s}.classroom-root .back-btn:hover{border-color:var(--ac);color:var(--ac)}.classroom-root .mo{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;padding:12px}.classroom-root .mo.open{opacity:1;pointer-events:all}.classroom-root .md{background:var(--s);border:1px solid var(--br);border-radius:14px;width:480px;max-width:100%;max-height:85vh;overflow-y:auto;transform:scale(.95);transition:transform .25s ease;box-shadow:0 20px 60px #0000004d}.classroom-root .mo.open .md{transform:scale(1)}.classroom-root .md-hd{padding:14px 16px 10px;border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between}.classroom-root .md-t{font-size:16px;font-weight:700}.classroom-root .md-x{width:28px;height:28px;border-radius:7px;border:none;background:var(--s2);color:var(--tx3);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .12s}.classroom-root .md-x:hover{color:var(--tx);background:var(--s3)}.classroom-root .md-bd{padding:14px 16px}.classroom-root .md-ft{padding:10px 16px;border-top:1px solid var(--br);display:flex;justify-content:flex-end;gap:6px}.classroom-root .fg{margin-bottom:12px}.classroom-root .fl{font-size:10px;font-weight:600;color:var(--tx2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;display:block;font-family:var(--fm)}.classroom-root .fi,.classroom-root .fs,.classroom-root .ft{width:100%;padding:9px 12px;border-radius:8px;background:var(--s2);border:1px solid var(--br);color:var(--tx);font-family:var(--fb);font-size:14px;outline:none;transition:border-color .15s}.classroom-root .fi:focus,.classroom-root .fs:focus,.classroom-root .ft:focus{border-color:var(--ac)}.classroom-root .fi::placeholder,.classroom-root .fs::placeholder,.classroom-root .ft::placeholder{color:var(--tx3)}.classroom-root .ft{resize:none;min-height:50px}.classroom-root .fs option{background:var(--s);color:var(--tx)}.classroom-root .btn{padding:8px 16px;border-radius:8px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;border:none;display:inline-flex;align-items:center;gap:5px}.classroom-root .btn-p{background:var(--ac);color:#fff}.classroom-root .btn-p:hover{background:var(--ac2)}.classroom-root .btn-s{background:var(--s2);color:var(--tx);border:1px solid var(--br)}.classroom-root .btn-s:hover{border-color:var(--tx3)}.classroom-root .btn-d{background:var(--rd-d);color:var(--rd);border:1px solid var(--rd)}.classroom-root .btn-d:hover{background:var(--rd);color:#fff}.classroom-root .btn-g{background:var(--gn);color:#fff}.classroom-root .btn-g:hover{opacity:.85}.classroom-root .set-group{background:var(--s);border:1px solid var(--br);border-radius:12px;overflow:hidden;margin-bottom:12px}.classroom-root .set-title{font-size:12px;font-weight:700;color:var(--tx3);padding:12px 14px 6px;font-family:var(--fm)}.classroom-root .set-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--br);transition:background .12s;cursor:pointer}.classroom-root .set-item:last-child{border-bottom:none}.classroom-root .set-item:hover{background:var(--s2)}.classroom-root .set-label{font-size:14px;font-weight:500}.classroom-root .set-desc{font-size:11px;color:var(--tx3);margin-top:1px}.classroom-root .toggle{position:relative;width:44px;height:24px;background:var(--s3);border-radius:12px;cursor:pointer;transition:background .3s;border:none;padding:0;flex-shrink:0}.classroom-root .toggle.on{background:var(--ac)}.classroom-root .toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px #0003}.classroom-root .toggle.on:after{transform:translate(20px)}.classroom-root .token-in{width:100%;padding:9px 12px;background:var(--s2);border:1px solid var(--br);border-radius:8px;color:var(--tx);font-family:var(--fm);font-size:12px;outline:none;transition:border-color .2s}.classroom-root .token-in:focus{border-color:var(--ac)}.classroom-root .sync-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--tx3);padding:3px 10px;background:var(--s2);border-radius:6px;font-family:var(--fm)}.classroom-root .sync-dot{width:6px;height:6px;border-radius:50%;background:var(--tx3)}.classroom-root .sync-dot.on{background:var(--gn)}.classroom-root .tw-top-center{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:90vw}.classroom-root .tt{padding:10px 18px;border-radius:9999px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:10px;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003;animation:toastTopDown .3s cubic-bezier(.16,1,.3,1),toastTopUp .3s ease 2.3s forwards;white-space:nowrap;background-color:#0f172a;color:#f8fafc;border:1px solid #334155}.classroom-root .tt .tt-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.classroom-root .tt .tt-msg{line-height:1.4}.classroom-root .tt.ok{background-color:#0f172a;border:1px solid rgba(16,185,129,.4);color:#f8fafc}.classroom-root .tt.er{background-color:#0f172a;border:1px solid rgba(239,68,68,.4);color:#f8fafc}.classroom-root .tt.inf{background-color:#0f172a;border:1px solid rgba(59,130,246,.4);color:#f8fafc}@keyframes toastTopDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastTopUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-15px) scale(.95)}}.classroom-root .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;text-align:center}.classroom-root .empty-ic{font-size:36px;margin-bottom:10px;opacity:.3}.classroom-root .empty-t{font-size:16px;font-weight:700;color:var(--tx2);margin-bottom:4px}.classroom-root .empty-d{font-size:12px;color:var(--tx3);margin-bottom:12px}.classroom-root .classroom-homework-container{animation:fadeIn .2s ease-in-out}.classroom-root .classroom-homework-container input[type=date]{color-scheme:light;font-family:inherit}[data-theme=dark] .classroom-root .classroom-homework-container input[type=date],[data-classroom-theme=dark] .classroom-root .classroom-homework-container input[type=date]{color-scheme:dark;background:var(--s2);color:var(--tx);border-color:var(--br)}[data-theme=dark] .classroom-root .classroom-homework-container select option,[data-classroom-theme=dark] .classroom-root .classroom-homework-container select option{background:#0f1220;color:#e8eaf0}.classroom-root .cls-stats-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.classroom-root .cls-stats-grid{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.classroom-root .cls-stat-micro-card{background:var(--s);border:1px solid var(--br);border-radius:10px;padding:6px 12px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #00000008;text-align:left;font-family:inherit}.classroom-root .cls-stat-micro-card:hover{border-color:var(--ac);background:var(--s2);transform:translateY(-1px)}.classroom-root .cls-stat-micro-card.active{border-color:var(--ac);background:var(--ac-d);box-shadow:0 2px 8px #5a4fd629}.classroom-root .cls-stat-icon-wrap{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.classroom-root .cls-stat-details{display:flex;flex-direction:column;text-align:left;line-height:1.15}.classroom-root .cls-stat-val{font-size:15px;font-weight:800;color:var(--tx)}.classroom-root .cls-stat-lbl{font-size:10px;color:var(--tx3);font-weight:600;white-space:nowrap}.classroom-root .cls-btn-hw-sync,.classroom-root .cls-btn-hw-push{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--s);color:var(--tx2);border:1px solid var(--br);border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.classroom-root .cls-btn-hw-sync:hover:not(:disabled),.classroom-root .cls-btn-hw-push:hover:not(:disabled){background:var(--s2, rgba(0, 0, 0, .04));color:var(--tx);border-color:var(--br-h, var(--ac))}.classroom-root .cls-btn-hw-sync:disabled,.classroom-root .cls-btn-hw-push:disabled{opacity:.6;cursor:not-allowed}.classroom-root .cls-btn-hw-sync svg,.classroom-root .cls-btn-hw-push svg{flex-shrink:0}.classroom-root .cls-btn-hw-push{background:#5a4fd614;color:var(--ac);border-color:#5a4fd640}.classroom-root .cls-btn-hw-push:hover:not(:disabled){background:var(--ac);color:#fff;border-color:var(--ac)}.classroom-root .cls-btn-toggle-complete{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--s2, rgba(0, 0, 0, .04));color:var(--tx);border:1px solid var(--br);border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease}.classroom-root .cls-btn-toggle-complete:hover{background:#16a34a1a;color:var(--gn);border-color:var(--gn)}.classroom-root .cls-btn-toggle-complete.completed{background:#16a34a1f;color:var(--gn);border-color:#16a34a59}.classroom-root .cls-btn-toggle-complete.completed:hover{background:#ef44441a;color:var(--rd);border-color:#ef444459}.classroom-root .cls-badge-completed-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#16a34a1f;color:var(--gn);border:1px solid rgba(22,163,74,.25);border-radius:6px;font-size:11px;font-weight:700}.classroom-root .cls-btn-quick-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease;border:1px solid transparent;white-space:nowrap}.classroom-root .cls-btn-quick-status.complete{background:#16a34a1f;color:var(--gn);border-color:#16a34a4d}.classroom-root .cls-btn-quick-status.complete:hover{background:var(--gn);color:#fff}.classroom-root .cls-btn-quick-status.uncomplete{background:#5a4fd61a;color:var(--ac);border-color:#5a4fd64d}.classroom-root .cls-btn-quick-status.uncomplete:hover{background:var(--ac);color:#fff}.classroom-root .cls-status-manager{background:var(--s2);border:1px solid var(--br);border-radius:10px;padding:12px}.classroom-root .cls-status-pill-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}@media (max-width: 600px){.classroom-root .cls-status-pill-group{grid-template-columns:1fr}}.classroom-root .cls-status-select-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid var(--br);background:var(--s);color:var(--tx2);cursor:pointer;transition:all .15s ease}.classroom-root .cls-status-select-btn:hover{border-color:var(--ac);color:var(--tx)}.classroom-root .cls-status-select-btn.active.running{background:#5a4fd61f;color:var(--ac);border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}.classroom-root .cls-status-select-btn.active.pending{background:#d977061f;color:var(--or);border-color:var(--or);box-shadow:0 0 0 1px var(--or)}.classroom-root .cls-status-select-btn.active.completed{background:#16a34a1f;color:var(--gn);border-color:var(--gn);box-shadow:0 0 0 1px var(--gn)}.classroom-root .cls-pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-top:14px;background:var(--s);border:1px solid var(--br);border-radius:10px;font-size:12px;color:var(--tx2);gap:12px;flex-wrap:wrap}.classroom-root .cls-pagination-bar .cls-pagination-controls{display:inline-flex;align-items:center;gap:8px}.classroom-root .cls-pagination-bar .cls-btn-page{padding:5px 12px;border-radius:6px;border:1px solid var(--br);background:var(--s2);color:var(--tx);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.classroom-root .cls-pagination-bar .cls-btn-page:hover:not(:disabled){border-color:var(--ac);color:var(--ac)}.classroom-root .cls-pagination-bar .cls-btn-page:disabled{opacity:.45;cursor:not-allowed}.classroom-root .cls-pending-date-filter-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#d9770614;border:1px dashed rgba(217,119,6,.35);border-radius:8px;margin-bottom:12px;font-size:12px;color:var(--or);flex-wrap:wrap}.classroom-root .cls-pending-date-filter-bar input[type=date]{padding:4px 8px;border-radius:6px;border:1px solid var(--br);background:var(--s);color:var(--tx);font-size:11px;font-family:inherit}.classroom-root .cls-swipe-refresh-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:var(--ac-d);color:var(--ac);border-radius:8px;font-size:11px;font-weight:700;margin-bottom:10px;animation:fadeIn .2s ease}.classroom-root .cls-btn-assign-quick{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--ac);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap;box-shadow:0 2px 8px #5a4fd647}.classroom-root .cls-btn-assign-quick:hover{opacity:.94;transform:translateY(-1px);box-shadow:0 4px 12px #5a4fd659}.classroom-root .cls-single-row-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--s);border:1px solid var(--br);border-radius:10px;margin-bottom:14px;box-shadow:0 1px 3px #0000000a;flex-wrap:wrap}.classroom-root .cls-toolbar-tabs{display:inline-flex;align-items:center;gap:3px;background:var(--s2);padding:3px;border-radius:8px;border:1px solid var(--br)}.classroom-root .cls-toolbar-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:none;background:transparent;color:var(--tx2);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.classroom-root .cls-toolbar-tab:hover{color:var(--tx)}.classroom-root .cls-toolbar-tab.act{background:var(--s);color:var(--ac);font-weight:800;box-shadow:0 1px 4px #00000014}.classroom-root .cls-toolbar-tab-count{font-size:9px;font-weight:800;padding:1px 5px;border-radius:8px;background:var(--s4);color:var(--tx3)}.cls-toolbar-tab.act .classroom-root .cls-toolbar-tab-count{background:var(--ac-d);color:var(--ac)}.classroom-root .cls-toolbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.classroom-root .cls-select-wrapper{position:relative;display:inline-flex;align-items:center;background:var(--s2);border:1px solid var(--br);border-radius:8px;padding:0 20px 0 8px;height:32px;transition:border-color .15s}.classroom-root .cls-select-wrapper:hover{border-color:var(--ac)}.classroom-root .cls-toolbar-select{background:transparent;border:none;outline:none;font-size:11px;font-weight:600;color:var(--tx);cursor:pointer;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.classroom-root .cls-select-icon{font-size:12px;margin-right:5px;opacity:.8}.classroom-root .cls-select-arrow{position:absolute;right:7px;font-size:9px;color:var(--tx3);pointer-events:none}.classroom-root .cls-date-picker-wrapper{position:relative;display:inline-flex;align-items:center;background:var(--s2);border:1px solid var(--br);border-radius:8px;padding:0 6px 0 8px;height:32px;transition:border-color .15s}.classroom-root .cls-date-picker-wrapper:hover{border-color:var(--ac)}.classroom-root .cls-toolbar-date-input{background:transparent;border:none;outline:none;font-size:11px;color:var(--tx);cursor:pointer;max-width:110px;font-family:inherit}.classroom-root .cls-date-clear-btn{background:none;border:none;font-size:10px;color:var(--tx3);cursor:pointer;padding:2px 4px;line-height:1}.classroom-root .cls-date-clear-btn:hover{color:var(--rd)}.classroom-root .cls-toolbar-search{position:relative;display:inline-flex;align-items:center;background:var(--s2);border:1px solid var(--br);border-radius:8px;padding:0 8px;height:32px;width:140px;transition:all .15s}.classroom-root .cls-toolbar-search:focus-within{border-color:var(--ac);width:170px}.classroom-root .cls-search-icon{font-size:11px;margin-right:5px;opacity:.6}.classroom-root .cls-search-input{width:100%;background:transparent;border:none;outline:none;font-size:11px;color:var(--tx);font-family:inherit}.classroom-root .cls-search-clear{background:none;border:none;font-size:11px;color:var(--tx3);cursor:pointer;padding:2px;line-height:1}.classroom-root .cls-search-clear:hover{color:var(--tx)}.classroom-root .cls-global-badge{min-width:18px;height:18px;border-radius:9px;padding:0 5px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;box-shadow:0 2px 6px #ef444473;flex-shrink:0;letter-spacing:-.02em;animation:pulseSubtle 2.5s infinite}.classroom-root .cls-badge-subject-dot{min-width:18px;height:18px;border-radius:9px;padding:0 5px;background:#ef444424;color:#ef4444;border:1px solid rgba(239,68,68,.35);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:4px;flex-shrink:0}.classroom-root .cls-badge-chapter-dot{min-width:16px;height:16px;border-radius:8px;padding:0 4px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;box-shadow:0 1px 4px #ef444459}.classroom-root .cls-header-notify-btn{position:relative;background:var(--s2);border:1px solid var(--br);color:var(--tx2);width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.classroom-root .cls-header-notify-btn:hover{background:var(--s3);color:var(--tx);border-color:var(--ac)}.classroom-root .cls-header-notify-btn .cls-header-badge-count{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:9px;padding:0 4px;background:#ef4444;color:#fff;font-size:9px;font-weight:800;line-height:17px;display:flex;align-items:center;justify-content:center;border:2px solid var(--s);box-shadow:0 2px 5px #ef444466}.classroom-root .cls-book-pending-badge{position:absolute;top:10px;right:10px;background:#ef44441f;border:1px solid rgba(239,68,68,.32);color:#ef4444;font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:5px;z-index:2;box-shadow:0 2px 6px #ef444426}.classroom-root .cls-subject-list-badge{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;display:inline-flex;align-items:center;gap:4px}.classroom-root .cls-badge-pulse-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;display:inline-block;box-shadow:0 0 0 2px #ef444440;animation:pulseDot 1.8s infinite}.classroom-root .cls-chapter-card-highlighted{border-color:#ef444466!important;background:linear-gradient(to bottom right,var(--s),rgba(239,68,68,.02))!important}.classroom-root .cls-chapter-grid-badge{margin-top:8px;padding:3px 8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#ef4444;font-size:10px;font-weight:700;border-radius:8px;display:inline-flex;align-items:center;gap:4px;width:fit-content}.classroom-root .cls-chapter-list-badge{background:#ef44441a;border:1px solid rgba(239,68,68,.28);color:#ef4444;font-size:11px;font-weight:700;padding:2px 7px;border-radius:8px;display:inline-flex;align-items:center;gap:4px;margin-left:8px}.classroom-root .cls-book-task-summary-banner{display:flex;align-items:center;gap:12px;background:#ef444412;border:1px solid rgba(239,68,68,.25);color:var(--tx);padding:10px 16px;border-radius:12px;font-size:13px;margin-bottom:16px}.classroom-root .cls-book-task-summary-banner .ic{font-size:20px;flex-shrink:0}.classroom-root .cls-chapter-task-alert{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#5a4fd614;border:1px solid rgba(90,79,214,.25);border-left:4px solid var(--ac);padding:10px 16px;border-radius:10px;margin-bottom:16px;font-size:13px}.classroom-root .cls-timeline-container{position:relative;padding-left:20px;display:flex;flex-direction:column;gap:14px;margin-top:10px}.classroom-root .cls-timeline-line{position:absolute;left:34px;top:12px;bottom:24px;width:2px;background:var(--br);z-index:1}.classroom-root .cls-timeline-item{position:relative;display:flex;align-items:flex-start;gap:16px;z-index:2}.classroom-root .cls-timeline-marker{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 0 0 3px var(--s),0 2px 6px #0000001f;margin-top:14px;color:#fff;transition:transform .2s ease}.classroom-root .cls-task-table-row{flex:1;min-width:0;background:var(--s);border:1px solid var(--br);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 3px #0000000a;position:relative}.classroom-root .cls-task-table-row:hover{border-color:var(--ac);box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.classroom-root .cls-task-table-row:hover .cls-btn-view-details{background:var(--ac-d);border-color:var(--ac);color:var(--ac)}.classroom-root .cls-task-table-row.overdue{border-left:4px solid var(--rd, #dc2626)}.classroom-root .cls-task-table-row.due-today{border-left:4px solid var(--or, #d97706)}.classroom-root .cls-task-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.classroom-root .cls-task-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.classroom-root .cls-badge-subject-tag{padding:2px 8px;border-radius:6px;font-weight:700;background:var(--s2);color:var(--tx2);border:1px solid var(--br);white-space:nowrap}.classroom-root .cls-badge-chapter-tag{padding:2px 8px;border-radius:6px;font-weight:600;background:var(--s2);color:var(--tx);border:1px solid var(--br);white-space:nowrap}.classroom-root .cls-badge-activity-tag{padding:2px 8px;border-radius:6px;font-weight:700;border:1px solid;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.classroom-root .cls-badge-urgent-tag{padding:2px 7px;border-radius:6px;font-weight:800;background:var(--rd-d);color:var(--rd);border:1px solid var(--rd);white-space:nowrap}.classroom-root .cls-task-row-title{font-size:15px;font-weight:800;margin:0;color:var(--tx);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-root .cls-task-row-summary{font-size:12px;color:var(--tx2);opacity:.88;margin:0;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.classroom-root .cls-task-row-dates{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--tx3);margin-top:2px}.classroom-root .cls-date-assigned{font-weight:500}.classroom-root .cls-date-due{font-weight:600}.classroom-root .cls-date-due.overdue{color:var(--rd);font-weight:700}.classroom-root .cls-date-due.due-today{color:var(--or);font-weight:700}.classroom-root .cls-status-pill{padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:3px}.classroom-root .cls-status-pill.overdue{background:var(--rd-d);color:var(--rd);border:1px solid rgba(220,38,38,.4)}.classroom-root .cls-status-pill.due-today{background:var(--or-d);color:var(--or);border:1px solid rgba(217,119,6,.4)}.classroom-root .cls-status-pill.active{background:var(--gn-d);color:var(--gn);border:1px solid rgba(22,163,74,.4)}.classroom-root .cls-task-row-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;border-left:1px solid var(--br);padding-left:16px;min-width:155px}.classroom-root .cls-task-created-time{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tx3);text-align:right}.classroom-root .cls-time-texts{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.classroom-root .cls-time-relative{font-weight:700;color:var(--tx2);font-size:11px}.classroom-root .cls-time-exact{font-size:10px;color:var(--tx3);margin-top:1px}.classroom-root .cls-task-row-actions{display:flex;align-items:center;gap:6px}.classroom-root .cls-btn-view-details{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:6px;background:var(--s2);border:1px solid var(--br);color:var(--tx2);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.classroom-root .cls-btn-view-details .arr{font-size:12px;transition:transform .15s ease}.classroom-root .cls-btn-view-details:hover{background:var(--ac-d);border-color:var(--ac);color:var(--ac)}.classroom-root .cls-btn-view-details:hover .arr{transform:translate(2px)}.classroom-root .cls-teacher-quick-actions{display:inline-flex;align-items:center;gap:4px}.classroom-root .cls-teacher-quick-actions .cls-btn-icon{background:var(--s2);border:1px solid var(--br);border-radius:6px;padding:4px 6px;font-size:11px;cursor:pointer;color:var(--tx2);transition:all .15s ease}.classroom-root .cls-teacher-quick-actions .cls-btn-icon:hover{background:var(--s3);color:var(--tx);border-color:var(--ac)}.classroom-root .cls-teacher-quick-actions .cls-btn-icon.delete:hover{background:var(--rd-d);color:var(--rd);border-color:var(--rd)}.classroom-root .cls-task-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:fadeIn .2s ease-out}.classroom-root .cls-task-drawer{position:fixed;top:0;right:0;bottom:0;width:min(540px,100vw);background:var(--s);box-shadow:-8px 0 32px #00000038;z-index:1000;display:flex;flex-direction:column;animation:slideInRight .25s cubic-bezier(.16,1,.3,1);border-left:1px solid var(--br)}.classroom-root .cls-task-drawer-header{padding:18px 22px 16px;border-bottom:1px solid var(--br);background:var(--s);flex-shrink:0}.classroom-root .cls-task-drawer-header-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.classroom-root .cls-task-drawer-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.classroom-root .cls-drawer-subject-pill{padding:3px 8px;background:var(--s2);border:1px solid var(--br);border-radius:6px;font-size:11px;font-weight:700;color:var(--tx2)}.classroom-root .cls-drawer-chapter-pill{padding:3px 8px;background:var(--s2);border:1px solid var(--br);border-radius:6px;font-size:11px;font-weight:600;color:var(--tx)}.classroom-root .cls-task-drawer-close{background:var(--s2);border:1px solid var(--br);border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tx2);font-size:13px;transition:all .15s ease}.classroom-root .cls-task-drawer-close:hover{background:var(--rd-d);color:var(--rd);border-color:var(--rd)}.classroom-root .cls-task-drawer-title{font-size:18px;font-weight:800;color:var(--tx);margin:0 0 10px;line-height:1.4}.classroom-root .cls-task-drawer-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.classroom-root .cls-task-drawer-body{flex:1;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:18px}.classroom-root .cls-task-drawer-body::-webkit-scrollbar{width:6px}.classroom-root .cls-drawer-section{display:flex;flex-direction:column;gap:8px}.classroom-root .cls-drawer-section-title{font-size:13px;font-weight:700;color:var(--tx);margin:0;display:flex;align-items:center;gap:6px}.classroom-root .cls-drawer-schedule-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;background:var(--s2);border:1px solid var(--br);border-radius:12px;padding:12px 14px}.classroom-root .cls-schedule-item{display:flex;flex-direction:column;gap:2px}.classroom-root .cls-schedule-item .cls-sch-label{font-size:10px;color:var(--tx3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.classroom-root .cls-schedule-item .cls-sch-val{font-size:12px;color:var(--tx);font-weight:700}.classroom-root .cls-schedule-item .cls-sch-val.overdue{color:var(--rd)}.classroom-root .cls-schedule-item .cls-sch-val.due-today{color:var(--or)}.classroom-root .cls-drawer-description-box{background:var(--s2);border:1px solid var(--br);border-radius:12px;padding:16px;font-size:13px;line-height:1.75;color:var(--tx);white-space:pre-wrap;word-break:break-word}.classroom-root .cls-btn-goto-chapter{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,var(--ac),#4f46e5);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px #5a4fd647;transition:all .15s ease}.classroom-root .cls-btn-goto-chapter:hover{transform:translateY(-1px);box-shadow:0 6px 18px #5a4fd661}.classroom-root .cls-drawer-teacher-comment-card{background:#5a4fd60d;border:1px solid rgba(90,79,214,.2);border-radius:12px;padding:14px 16px}.classroom-root .cls-drawer-teacher-controls{display:flex;gap:10px;padding-top:6px}.classroom-root .cls-task-drawer-footer{padding:14px 22px;border-top:1px solid var(--br);background:var(--s);display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulseSubtle{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (max-width: 768px){.classroom-root .cls-timeline-container{padding-left:0}.classroom-root .cls-timeline-line,.classroom-root .cls-timeline-marker{display:none}.classroom-root .cls-task-table-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.classroom-root .cls-task-row-right{border-left:none;border-top:1px solid var(--br);padding-left:0;padding-top:10px;flex-direction:row;justify-content:space-between;align-items:center;min-width:unset}.classroom-root .cls-time-texts{align-items:flex-start}.classroom-root .cls-task-drawer{width:100vw}.classroom-root .cls-drawer-schedule-card{grid-template-columns:1fr}}.classroom-root .cls-subch-fixed-bar{flex-shrink:0;background:var(--s1);border-bottom:1px solid var(--br);padding:6px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:85;position:relative;box-shadow:0 1px 4px #00000005}.classroom-root .cls-subch-fixed-bar .cls-subch-fixed-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.classroom-root .cls-subch-fixed-bar .cls-subch-fixed-left::-webkit-scrollbar{display:none}.classroom-root .cls-subch-fixed-bar .cls-subch-fixed-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.classroom-root .cls-subch-fixed-bar .cls-subch-select-wrap-compact{position:relative;flex-shrink:0}.classroom-root .cls-subch-fixed-bar .cls-subch-select-wrap-compact .cls-subch-dropdown-compact{padding:5px 10px;font-size:12px;font-weight:700;border-radius:6px;border:1px solid var(--br);background:var(--s2);color:var(--tx);cursor:pointer;max-width:250px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.classroom-root .cls-subch-fixed-bar .cls-subch-select-wrap-compact .cls-subch-dropdown-compact:focus{border-color:var(--ac);box-shadow:0 0 0 2px #733c001f}.classroom-root .cls-subch-fixed-bar .cls-subch-step-nav-compact{display:flex;align-items:center;gap:4px;flex-shrink:0}.classroom-root .cls-subch-fixed-bar .cls-subch-step-nav-compact .cls-subch-step-btn{padding:4px 8px;font-size:11px;line-height:1;border-radius:5px}.classroom-root .cls-subch-fixed-bar .cls-subch-step-nav-compact .cls-subch-step-count{font-size:11px;font-weight:700;color:var(--tx-secondary, var(--mu));padding:0 4px;font-family:var(--fm, monospace);white-space:nowrap}.classroom-root .cls-subch-fixed-bar .cls-subch-divider{width:1px;height:18px;background:var(--br);margin:0 4px;flex-shrink:0}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact{display:flex;align-items:center;gap:4px;flex-shrink:0}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact .cls-subch-tab-pill{padding:4px 10px;font-size:11.5px;font-weight:600;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--tx-secondary, var(--mu));cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;transition:all .15s ease}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact .cls-subch-tab-pill:hover{background:var(--s2);color:var(--tx)}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact .cls-subch-tab-pill.active{background:var(--ac-light, rgba(115, 60, 0, .08));color:var(--ac);font-weight:700;border-color:#733c0033}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact .cls-subch-tab-pill .tab-badge{font-size:10px;padding:1px 5px;border-radius:10px;background:var(--s2);color:var(--tx-secondary, var(--mu));font-weight:700}.classroom-root .cls-subch-fixed-bar .cls-subch-tabs-compact .cls-subch-tab-pill.active .tab-badge{background:var(--ac);color:#fff}.classroom-root .cls-subch-viewport{width:100%;height:100%;min-height:100%;flex:1;display:flex;flex-direction:column;padding:0;margin:0}.classroom-root .cls-subch-wrapper{display:flex;flex-direction:column;gap:16px;width:100%;min-height:0}.classroom-root .cls-subch-full-view{display:flex;flex-direction:column;gap:16px;width:100%}.classroom-root .cls-subch-bar{background:var(--s1);border:1px solid var(--br);border-radius:12px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:0 2px 8px #00000005}.classroom-root .cls-subch-bar .cls-subch-bar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-bar-label{font-size:13px;font-weight:700;color:var(--tx);display:flex;align-items:center;gap:6px;white-space:nowrap}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-select-wrap{position:relative;min-width:240px;max-width:440px;flex:1}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-select-wrap .cls-subch-dropdown{width:100%;padding:8px 12px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid var(--br);background:var(--s2);color:var(--tx);cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-select-wrap .cls-subch-dropdown:focus{border-color:var(--ac);box-shadow:0 0 0 3px #733c001a}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-nav-buttons{display:flex;align-items:center;gap:6px}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-nav-buttons .cls-subch-step-counter{font-size:11px;font-weight:700;color:var(--tx-secondary, var(--mu));padding:0 4px;font-family:var(--fm);white-space:nowrap}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-stat-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.classroom-root .cls-subch-bar .cls-subch-bar-left .cls-subch-stat-pills .mini-pill{font-size:11px;padding:3px 8px;border-radius:6px;background:var(--s2);border:1px solid var(--br);color:var(--tx-secondary, var(--mu));font-weight:600}.classroom-root .cls-subch-bar .cls-subch-bar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.classroom-root .cls-subch-main{background:var(--s1);border:1px solid var(--br);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:16px;min-height:480px;width:100%}.classroom-root .cls-subch-main .cls-subch-main-header{border-bottom:1px solid var(--br);padding-bottom:14px;display:flex;flex-direction:column;gap:8px}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-breadcrumb{font-size:11px;font-weight:600;color:var(--ac);text-transform:uppercase;letter-spacing:.5px}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-title{font-size:19px;font-weight:800;color:var(--tx);margin:0;line-height:1.3}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc{font-size:13px;color:var(--tx-secondary, var(--mu));line-height:1.6;margin:0}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc p{margin:0 0 6px}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc p:last-child{margin-bottom:0}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc ul,.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc ol{margin:4px 0 6px 18px;padding:0}.classroom-root .cls-subch-main .cls-subch-main-header .cls-subch-main-desc code{background:var(--s2, #f1f5f9);padding:2px 5px;border-radius:4px;font-size:12px;font-family:var(--fm, monospace)}.classroom-root .cls-subch-main .cls-subch-desc-box{font-size:13px;line-height:1.65;color:var(--tx, #1e293b)}.classroom-root .cls-subch-main .cls-subch-desc-box p{margin:0 0 8px}.classroom-root .cls-subch-main .cls-subch-desc-box p:last-child{margin-bottom:0}.classroom-root .cls-subch-main .cls-subch-desc-box ul,.classroom-root .cls-subch-main .cls-subch-desc-box ol{margin:6px 0 8px 20px;padding:0}.classroom-root .cls-subch-main .cls-subch-desc-box li{margin-bottom:4px}.classroom-root .cls-subch-main .cls-subch-desc-box a{color:var(--ac);text-decoration:underline}.classroom-root .cls-subch-main .cls-subch-desc-box code{background:var(--s1, #f8fafc);border:1px solid var(--br);padding:2px 6px;border-radius:4px;font-size:12px;font-family:var(--fm, monospace)}.classroom-root .cls-subch-main .cls-subch-tabs-bar{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--br);padding-bottom:8px;overflow-x:auto;scrollbar-width:none}.classroom-root .cls-subch-main .cls-subch-tabs-bar::-webkit-scrollbar{display:none}.classroom-root .cls-subch-main .cls-subch-tabs-bar .cls-subch-tab-btn{padding:6px 12px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--tx-secondary, var(--mu));cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease;white-space:nowrap}.classroom-root .cls-subch-main .cls-subch-tabs-bar .cls-subch-tab-btn:hover{background:var(--s2);color:var(--tx)}.classroom-root .cls-subch-main .cls-subch-tabs-bar .cls-subch-tab-btn.active{background:var(--ac-d, rgba(115, 60, 0, .08));color:var(--ac);border-color:var(--ac-border, rgba(115, 60, 0, .25));font-weight:700}.classroom-root .cls-subch-main .cls-subch-tabs-bar .cls-subch-tab-btn .tab-badge{font-size:10px;font-weight:700;background:var(--br);color:var(--tx);padding:1px 6px;border-radius:10px}.classroom-root .cls-subch-main .cls-subch-content-body{display:flex;flex-direction:column;gap:14px}.classroom-root .cls-subch-diagram-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.classroom-root .cls-subch-diagram-card{background:var(--s2);border:1px solid var(--br);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:all .18s ease}.classroom-root .cls-subch-diagram-card:hover{border-color:var(--ac);transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.classroom-root .cls-subch-diagram-card .diagram-thumb-wrap{width:100%;height:160px;background:var(--bg-deep);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.classroom-root .cls-subch-diagram-card .diagram-thumb-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.classroom-root .cls-subch-diagram-card .diagram-thumb-wrap:hover img{transform:scale(1.03)}.classroom-root .cls-subch-diagram-card .diagram-thumb-wrap .diagram-overlay-badge{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.classroom-root .cls-subch-diagram-card .diagram-info{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}.classroom-root .cls-subch-diagram-card .diagram-info .diagram-title{font-size:13px;font-weight:700;color:var(--tx);line-height:1.4}.classroom-root .cls-subch-diagram-card .diagram-info .diagram-desc{font-size:11px;color:var(--mu);line-height:1.4}.classroom-root .cls-subch-diagram-card .diagram-info .diagram-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--br)}.perm-page{max-width:1240px;margin:0 auto;padding:calc(var(--nav-height, 60px) + 36px) 24px 80px;color:var(--text, #0f172a);background:#fff;min-height:100vh;font-family:inherit;box-sizing:border-box}[data-theme=dark] .perm-page{background:#0b0f19;color:#f1f5f9}.perm-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px 28px;margin-bottom:24px;box-shadow:0 2px 10px #0000000a;flex-wrap:wrap;position:relative;z-index:50}[data-theme=dark] .perm-hero{background:#111827;border-color:#1f2937;box-shadow:0 4px 20px #0000004d}.perm-hero-left{display:flex;align-items:center;gap:16px}.perm-hero-icon{font-size:36px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;flex-shrink:0}[data-theme=dark] .perm-hero-icon{background:#1e293b;border-color:#334155}.perm-hero-title{font-size:1.5rem;font-weight:800;margin:0 0 4px;letter-spacing:-.02em;color:inherit}.perm-hero-sub{font-size:13px;opacity:.7;margin:0;line-height:1.4}.perm-admin-badge{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;padding:8px 14px}[data-theme=dark] .perm-admin-badge{background:#1e293b;border-color:#334155}.perm-admin-avatar{width:34px;height:34px;border-radius:50%;border:2px solid #2563eb}.perm-admin-info{display:flex;flex-direction:column}.perm-admin-name{font-size:13px;font-weight:700;line-height:1.2}.perm-admin-email{font-size:11px;opacity:.65;font-family:monospace}.perm-quick-grant-panel{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:16px 20px;margin-bottom:24px;box-shadow:0 4px 16px #0000000a;flex-wrap:wrap;position:relative;z-index:10000}[data-theme=dark] .perm-quick-grant-panel{background:#111827;border-color:#334155;box-shadow:0 4px 20px #0000004d}.perm-dropdown-container{position:relative;flex:1;min-width:240px;z-index:10001}.perm-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.perm-dropdown-trigger:hover,.perm-dropdown-trigger.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}[data-theme=dark] .perm-dropdown-trigger{background:#1e293b;border-color:#475569}.perm-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow-y:auto;background:#fff;border:1.5px solid #2563eb;border-radius:12px;box-shadow:0 20px 40px #00000040;z-index:999999;padding:8px}[data-theme=dark] .perm-dropdown-menu{background:#0f172a;border-color:#3b82f6;box-shadow:0 20px 40px #0009}.perm-dropdown-search-wrap{position:sticky;top:0;background:inherit;padding-bottom:8px;border-bottom:1px solid #e2e8f0;margin-bottom:6px;z-index:20}[data-theme=dark] .perm-dropdown-search-wrap{border-color:#334155}.perm-dropdown-search-input{width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid #cbd5e1;color:inherit;padding:8px 12px;border-radius:8px;font-size:13px;outline:none}.perm-dropdown-search-input:focus{border-color:#2563eb;background:#fff}[data-theme=dark] .perm-dropdown-search-input{background:#1e293b;border-color:#475569}[data-theme=dark] .perm-dropdown-search-input:focus{background:#0f172a;border-color:#3b82f6}.perm-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;color:inherit;font-size:13px;transition:all .12s ease}.perm-dropdown-item:hover,.perm-dropdown-item.highlighted{background:#eff6ff;color:#1d4ed8}.perm-dropdown-item.selected{background:#dbeafe;color:#1e40af;font-weight:700}[data-theme=dark] .perm-dropdown-item:hover,[data-theme=dark] .perm-dropdown-item.highlighted{background:#1e293b;color:#60a5fa}[data-theme=dark] .perm-dropdown-item.selected{background:#1e3a8a;color:#93c5fd}.perm-dropdown-empty{padding:16px;text-align:center;font-size:12px;opacity:.6}.perm-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:6px;border-bottom:1px solid #e2e8f0;position:relative;z-index:10}[data-theme=dark] .perm-tabs{border-color:#1f2937}.perm-tab-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;color:inherit;opacity:.75;padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.perm-tab-btn:hover{opacity:1;background:#f8fafc;border-color:#cbd5e1}.perm-tab-btn.active{opacity:1;background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb40}[data-theme=dark] .perm-tab-btn{background:#111827;border-color:#1f2937}[data-theme=dark] .perm-tab-btn:hover{background:#1f2937}[data-theme=dark] .perm-tab-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.perm-tab-count{font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;background:#00000014;color:inherit}.perm-tab-btn.active .perm-tab-count{background:#ffffff40;color:#fff}.perm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;position:relative;z-index:10}.perm-filter-group{display:flex;align-items:center;gap:6px}.perm-filter-pill{background:#fff;border:1px solid #cbd5e1;color:inherit;opacity:.75;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .15s}.perm-filter-pill:hover{opacity:1;background:#f8fafc}.perm-filter-pill.active{opacity:1;background:#1e293b;color:#fff;border-color:#1e293b}[data-theme=dark] .perm-filter-pill{background:#111827;border-color:#334155}[data-theme=dark] .perm-filter-pill.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.perm-layout-switcher{display:flex;align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:2px}[data-theme=dark] .perm-layout-switcher{background:#1e293b;border-color:#334155}.perm-layout-btn{background:transparent;border:none;color:inherit;opacity:.6;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .12s}.perm-layout-btn:hover{opacity:1}.perm-layout-btn.active{background:#fff;opacity:1;color:#0f172a;box-shadow:0 1px 4px #0000001a}[data-theme=dark] .perm-layout-btn.active{background:#0f172a;color:#fff}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;position:relative;z-index:1}.perm-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s ease,box-shadow .15s ease;position:relative;z-index:1}.perm-card:hover{border-color:#94a3b8;box-shadow:0 6px 18px #00000012}[data-theme=dark] .perm-card{background:#111827;border-color:#1f2937;box-shadow:0 4px 16px #0003}[data-theme=dark] .perm-card:hover{border-color:#475569}.perm-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.perm-card-title{font-size:15px;font-weight:700;margin:0;line-height:1.3}.perm-card-path{font-size:11px;opacity:.55;font-family:monospace;display:block;margin-top:2px}.perm-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:capitalize;letter-spacing:.02em}.perm-badge.public{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.perm-badge.restricted{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.perm-badge.admin{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}[data-theme=dark] .perm-badge.public{background:#10b98126;color:#34d399;border-color:#10b9814d}[data-theme=dark] .perm-badge.restricted{background:#3b82f626;color:#60a5fa;border-color:#3b82f64d}[data-theme=dark] .perm-badge.admin{background:#ef444426;color:#f87171;border-color:#ef44444d}.perm-mode-switch{display:flex;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:3px;margin:14px 0 16px;gap:3px}[data-theme=dark] .perm-mode-switch{background:#1e293b;border-color:#334155}.perm-mode-opt{flex:1;padding:6px 4px;border:none;background:transparent;color:inherit;opacity:.65;font-size:11px;font-weight:600;border-radius:7px;cursor:pointer;transition:all .12s;text-align:center;white-space:nowrap}.perm-mode-opt:hover{opacity:1}.perm-mode-opt.selected{background:#fff;opacity:1;color:#0f172a;font-weight:700;box-shadow:0 1px 4px #0000001a}[data-theme=dark] .perm-mode-opt.selected{background:#0f172a;color:#fff}.perm-wl-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin-bottom:16px}[data-theme=dark] .perm-wl-box{background:#0f172a;border-color:#1e293b}.perm-chips-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.perm-chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #cbd5e1;color:inherit;opacity:.7;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.perm-chip:hover{opacity:1;border-color:#94a3b8}.perm-chip.active{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd;opacity:1;font-weight:700}[data-theme=dark] .perm-chip{background:#1e293b;border-color:#334155}[data-theme=dark] .perm-chip.active{background:#1e3a8a;color:#93c5fd;border-color:#3b82f6}.perm-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #e2e8f0;margin-top:auto}[data-theme=dark] .perm-card-footer{border-color:#1f2937}.perm-save-btn{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s}.perm-save-btn:hover{background:#1d4ed8}.perm-save-btn:disabled{opacity:.4;cursor:not-allowed}.perm-list-table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0000000a;position:relative;z-index:1}[data-theme=dark] .perm-list-table-wrap{background:#111827;border-color:#1f2937}.perm-list-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.perm-list-table th{background:#f8fafc;padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:1px solid #e2e8f0}.perm-list-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.perm-list-table tr:last-child td{border-bottom:none}.perm-list-table tr:hover td{background:#f8fafc}[data-theme=dark] .perm-list-table th{background:#1e293b;color:#94a3b8;border-color:#334155}[data-theme=dark] .perm-list-table td{border-color:#1f2937}[data-theme=dark] .perm-list-table tr:hover td{background:#1e293b}.perm-icon-btn{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:1px solid transparent;transition:all .15s ease;-webkit-user-select:none;user-select:none}.perm-icon-btn.push{background:#2563eb;color:#fff;border-color:#1d4ed8}.perm-icon-btn.push:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #2563eb40}.perm-icon-btn.push:active{transform:translateY(0)}.perm-icon-btn.pull{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.perm-icon-btn.pull:hover{background:#e2e8f0;color:#0f172a;border-color:#94a3b8;transform:translateY(-1px)}.perm-icon-btn.pull:active{transform:translateY(0)}[data-theme=dark] .perm-icon-btn.push{background:#3b82f6;border-color:#2563eb}[data-theme=dark] .perm-icon-btn.push:hover{background:#2563eb;box-shadow:0 4px 10px #3b82f659}[data-theme=dark] .perm-icon-btn.pull{background:#1e293b;color:#cbd5e1;border-color:#334155}[data-theme=dark] .perm-icon-btn.pull:hover{background:#334155;color:#fff;border-color:#475569}.perm-guard-screen{display:flex;align-items:center;justify-content:center;min-height:65vh;padding:20px}.perm-guard-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:36px 32px;max-width:440px;width:100%;box-shadow:0 20px 40px #00000014;text-align:center}[data-theme=dark] .perm-guard-card{background:#111827;border-color:#1f2937;box-shadow:0 20px 40px #0006}.perm-guard-icon{width:60px;height:60px;border-radius:50%;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.perm-access-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.perm-eye-pill{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #cbd5e1;color:#1e293b;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.perm-eye-pill:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb;box-shadow:0 2px 8px #2563eb26}.perm-eye-pill.has-users{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}[data-theme=dark] .perm-eye-pill{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .perm-eye-pill:hover,[data-theme=dark] .perm-eye-pill.has-users{background:#1e3a8a;border-color:#3b82f6;color:#93c5fd}.perm-quick-add-select{padding:5px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:inherit;font-size:12px;outline:none;max-width:170px;cursor:pointer}.perm-quick-add-select:focus{border-color:#2563eb}[data-theme=dark] .perm-quick-add-select{background:#1e293b;border-color:#475569}.perm-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999999;display:flex;justify-content:flex-end}.perm-drawer{width:460px;max-width:95vw;height:100vh;background:#fff;border-left:1px solid #e2e8f0;box-shadow:-10px 0 35px #00000026;display:flex;flex-direction:column;color:var(--text, #0f172a);z-index:1000000;overflow:hidden}[data-theme=dark] .perm-drawer{background:#0f172a;border-left-color:#1e293b;box-shadow:-10px 0 35px #00000080}.perm-drawer-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start}[data-theme=dark] .perm-drawer-header{border-color:#1e293b}.perm-drawer-title{margin:0 0 4px;font-size:1.15rem;font-weight:800}.perm-drawer-path{font-size:11px;opacity:.6;font-family:monospace}.perm-drawer-close{background:transparent;border:none;color:inherit;font-size:22px;cursor:pointer;opacity:.5;padding:4px;border-radius:6px;line-height:1}.perm-drawer-close:hover{opacity:1;background:#f1f5f9}[data-theme=dark] .perm-drawer-close:hover{background:#1e293b}.perm-drawer-search-wrap{padding:14px 24px;border-bottom:1px solid #f1f5f9;background:#f8fafc}[data-theme=dark] .perm-drawer-search-wrap{background:#111827;border-color:#1e293b}.perm-drawer-search-input{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:inherit;font-size:13px;outline:none}.perm-drawer-search-input:focus{border-color:#2563eb}[data-theme=dark] .perm-drawer-search-input{background:#1e293b;border-color:#334155}.perm-drawer-body{padding:20px 24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.perm-drawer-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:8px}[data-theme=dark] .perm-drawer-section-title{color:#94a3b8}.perm-drawer-badges-list{display:flex;flex-direction:column;gap:8px}.perm-drawer-badge-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;transition:all .12s ease}.perm-drawer-badge-item:hover{border-color:#cbd5e1;background:#f1f5f9}[data-theme=dark] .perm-drawer-badge-item{background:#1e293b;border-color:#334155}[data-theme=dark] .perm-drawer-badge-item:hover{border-color:#475569}.perm-drawer-badge-remove{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .12s}.perm-drawer-badge-remove:hover{background:#dc2626;color:#fff}[data-theme=dark] .perm-drawer-badge-remove{background:#ef444433;border-color:#ef444466;color:#f87171}[data-theme=dark] .perm-drawer-badge-remove:hover{background:#dc2626;color:#fff}.perm-drawer-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}[data-theme=dark] .perm-drawer-footer{background:#111827;border-color:#1e293b}:root{--bg: #ffffff;--bg-deep: #f8fafc;--surface: #ffffff;--surface-warm: #f8fafc;--text: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--font: "DM Sans", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--font-mono: "Cascadia Code", "Fira Code", Consolas, monospace;--accent: #733c00;--accent-light: #9e5200;--accent-hover: rgba(115, 60, 0, .08);--accent-bg: rgba(115, 60, 0, .07);--accent-border: rgba(115, 60, 0, .25);--border: #cbd5e1;--section-border: #cbd5e1;--link: #0284c7;--link-hover: #0284c7;--card-bg: #ffffff;--card-header-bg: #f1f5f9;--card-hover-border: #733c00;--code-bg: #f8fafc;--card-shadow: rgba(0, 0, 0, .05);--active-fill: #733c00;--active-text: #ffffff;--active-num-bg: rgba(255, 255, 255, .25);--nav-height: 52px;--navbar-bg: #ffffff;--badge-bg: rgba(115, 60, 0, .08);--badge-text: #733c00;--badge-border: rgba(115, 60, 0, .25);--shadow-cloud: 0 4px 20px rgba(0, 0, 0, .07), 0 1px 3px rgba(0, 0, 0, .05);--shadow-cloud-hover:0 12px 28px rgba(115, 60, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--box-sadow: 0 4px 20px rgba(0, 0, 0, .07)}[data-theme=dark]{--bg: #0f172a;--bg-deep: #020617;--surface: #1e293b;--surface-warm: #0f172a;--text: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #733c00;--accent-light: #9e5200;--accent-hover: rgba(115, 60, 0, .18);--accent-bg: rgba(115, 60, 0, .14);--accent-border: rgba(115, 60, 0, .3);--border: rgba(255, 255, 255, .15);--section-border: rgba(255, 255, 255, .15);--link: #67e8f9;--link-hover: #00ffff;--card-bg: #1e293b;--card-header-bg: #0f172a;--card-hover-border: #9e5200;--code-bg: #020617;--active-fill: #733c00;--active-text: #ffffff;--active-num-bg: rgba(255, 255, 255, .25);--navbar-bg: #0f172a;--badge-bg: rgba(115, 60, 0, .2);--badge-text: #e28b38;--badge-border: rgba(115, 60, 0, .4);--shadow-cloud: 0 6px 24px rgba(0, 0, 0, .4);--shadow-cloud-hover:0 14px 32px rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3)}*{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}}
