:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#111827;--muted:#5f6b7a;--paper:#fff;--line:#1118271c;--blue:#2563eb;--cyan:#06b6d4;--green:#10b981;--amber:#f59e0b;--rose:#e11d48;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box;min-width:0}html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:hidden}body{background:linear-gradient(90deg,#1118270b 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#1118270b 1px,#0000 1px) 0 0/44px 44px,linear-gradient(135deg,#f8fbff 0%,#eef7f5 47%,#fff7ea 100%);min-width:320px;margin:0;overflow-x:hidden}body:before{z-index:-1;pointer-events:none;content:"";background:linear-gradient(120deg,#2563eb1f,#0000 32%),linear-gradient(290deg,#10b9811f,#0000 36%);position:fixed;inset:0}a{color:inherit;text-decoration:none}p,strong,span,a,li{overflow-wrap:break-word}button,a{-webkit-tap-highlight-color:transparent}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #0ea5e9b3}70%{transform:scale(1);box-shadow:0 0 0 8px #0ea5e900}to{transform:scale(.95);box-shadow:0 0 #0ea5e900}}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.site-shell{color:#0f172a;background-color:#f4f8fc;background-image:radial-gradient(circle at 12% 8%,#0ea5e924 0%,#0000 42%),radial-gradient(circle at 88% 16%,#3b82f61f 0%,#0000 45%),radial-gradient(circle at 50% 55%,#06b6d414 0%,#0000 50%),linear-gradient(90deg,#0ea5e90a 1px,#0000 1px),linear-gradient(#0ea5e90a 1px,#0000 1px);background-size:auto,auto,auto,44px 44px,44px 44px;width:100%;min-height:100vh;font-family:Plus Jakarta Sans,Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}.topbar{z-index:50;-webkit-backdrop-filter:blur(24px)saturate(190%);background:#ffffffd9;border-bottom:1px solid #0ea5e92e;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:13px clamp(18px,4.5vw,68px);display:flex;position:sticky;top:0;box-shadow:0 4px 30px #0ea5e914,0 1px 3px #0f172a0a,inset 0 1px #ffffffe6}.brand{color:#0f172a;white-space:nowrap;flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-avatar-wrap{position:relative;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.brand-avatar,.brand-avatar-wrap .brand-avatar,.pl-topbar-left .brand-avatar,.ba-topbar-left .brand-avatar,.brand img,.topbar .brand img,.knowledge-topbar .brand img{object-fit:cover!important;object-position:center 32%!important;border:2px solid #fff!important;border-radius:10px!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;display:block!important;box-shadow:0 4px 16px #0284c740,0 0 0 1px #0ea5e940!important}.brand-dot-pulse{z-index:2;background:#0284c7;border:2px solid #fff;border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-ring;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 8px #0ea5e9cc}.brand-text{white-space:nowrap;flex-direction:column;flex-shrink:0;gap:1px;display:flex}.brand-name{color:#0f172a;letter-spacing:-.015em;white-space:nowrap;font-size:15px;font-weight:850;line-height:1.2}.brand-tag{color:#0284c7;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:10.5px;font-weight:800;line-height:1}.topbar-right{align-items:center;gap:clamp(14px,2vw,24px);display:flex}.topbar nav{align-items:center;gap:clamp(14px,2vw,24px);font-size:13.5px;font-weight:750;display:flex}.topbar nav a{color:#475569;text-decoration:none;transition:color .18s;position:relative}.topbar nav a:after{transform-origin:0;content:"";background:linear-gradient(90deg,#0284c7,#06b6d4);border-radius:999px;height:2.5px;transition:transform .18s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0);box-shadow:0 2px 8px #0284c766}.topbar nav a:hover{color:#0284c7}.topbar nav a.nav-highlight-pm{background:linear-gradient(135deg,#2563eb1a,#06b6d41f);border:1px solid #2563eb59;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-weight:850;transition:all .16s;display:inline-flex;color:#1d4ed8!important}.topbar nav a.nav-highlight-pm:hover{background:linear-gradient(135deg,#2563eb,#0284c7);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40;color:#fff!important}.topbar nav a.nav-highlight-pm:after{display:none}.topbar nav a:hover:after{transform:scaleX(1)}.topbar-cv-menu-container{position:relative}.topbar-cv-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border:1px solid #fff9;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:850;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #0284c759,inset 0 1px #ffffff59}.topbar-cv-btn:hover,.topbar-cv-btn.is-active{color:#fff;background:linear-gradient(135deg,#0369a1 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 6px 22px #0284c773,inset 0 1px #fff6}.dropdown-chevron{transition:transform .2s}.dropdown-chevron.is-rotated{transform:rotate(180deg)}.topbar-cv-dropdown{-webkit-backdrop-filter:blur(28px)saturate(190%);z-index:100;scrollbar-width:thin;scrollbar-color:#0ea5e94d transparent;background:#fffffffa;border:1px solid #0ea5e947;border-radius:16px;width:420px;max-width:calc(100vw - 32px);max-height:min(560px,82vh);padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) dropdown-pop;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 24px 60px -12px #0f172a29,0 0 25px #0ea5e91f}.dropdown-header{background:linear-gradient(135deg,#f0f9ffe6,#e0f2fe99);border:1px solid #bae6fdcc;border-radius:10px;align-items:center;gap:11px;margin-bottom:12px;padding:10px 12px;display:flex}.dropdown-status-dot{background:#0284c7;border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 10px #38bdf8}.dropdown-header strong{color:#0f172a;font-size:13px;font-weight:850;display:block}.dropdown-header p{color:#64748b;margin:2px 0 0;font-size:11.5px}.dropdown-tracks-list{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.dropdown-track-item{background:#fff;border:1px solid #e2e8f0f2;border-radius:12px;padding:12px 14px;transition:all .16s;box-shadow:0 2px 8px #0f172a08}.dropdown-track-item:hover{background:#f8fafc;border-color:#0ea5e973;transform:translateY(-1px);box-shadow:0 4px 14px #0ea5e914}.dropdown-track-header{align-items:flex-start;gap:10px;margin-bottom:9px;display:flex}.dropdown-track-meta{flex:1;min-width:0}.dropdown-track-meta p{color:#64748b;margin:3px 0 0;font-size:11.5px;line-height:1.35}.dropdown-track-actions{align-items:center;gap:8px;padding-left:42px;display:flex}.dropdown-action-btn{border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:800;text-decoration:none;transition:all .14s;display:inline-flex}.dropdown-action-btn.primary{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);box-shadow:0 2px 8px #0284c740}.dropdown-action-btn.primary:hover{background:linear-gradient(135deg,#0369a1 0%,#1d4ed8 100%);transform:translateY(-1px)}.dropdown-action-btn.secondary{color:#0369a1;background:#f0f9ff;border:1px solid #0ea5e959}.dropdown-action-btn.secondary:hover{color:#0284c7;background:#e0f2fe;border-color:#0284c7}.item-icon-wrap{color:#475569;background:#f1f5f9;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.item-icon-wrap.gold{color:#0284c7;background:#e0f2fe}.item-icon-wrap.emerald{color:#059669;background:#dcfce7}.item-icon-wrap.sapphire{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#e0f2fe);border:1px solid #2563eb40}.dropdown-track-item.featured-pm{background:linear-gradient(#fff 0%,#f0f7ff 100%);border:1.5px solid #2563eb66;box-shadow:0 4px 14px #2563eb14}.dropdown-track-item.featured-pm:hover{background:#f8fbff;border-color:#2563eb}.item-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.item-title-row strong{color:#0f172a;font-size:13.5px;font-weight:850}.item-badge{color:#0369a1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#e0f2fe;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:850}.item-badge.pm{color:#fff;background:#2563eb}.item-badge-subtle{color:#047857;white-space:nowrap;background:#dcfce7;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:750}.dropdown-footer{border-top:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.dropdown-contact-link{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:11.5px;font-weight:750;text-decoration:none;transition:all .15s;display:inline-flex}.dropdown-contact-link:hover{color:#0284c7;background:#f0f9ff;border-color:#bae6fd}.lang-switcher{background:#0ea5e90f;border:1px solid #0ea5e92e;border-radius:999px;align-items:center;gap:2px;padding:3px 4px;display:inline-flex}.lang-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:750;line-height:1;transition:all .18s}.lang-btn:hover{color:#0f172a}.lang-btn.is-active{color:#0284c7;background:#fff;font-weight:850;box-shadow:0 2px 8px #0284c738}.lang-divider{color:#0ea5e94d;-webkit-user-select:none;user-select:none;font-size:11px}.academic-status-pill{background:#2563eb14;border:1px solid #2563eb47;border-radius:999px;align-items:center;gap:9px;margin-bottom:20px;padding:6px 14px;display:inline-flex;box-shadow:0 2px 10px #2563eb0f}.academic-status-pill .badge-pulse-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s infinite pulse-ring}.academic-status-pill .badge-text{color:#1d4ed8;letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:850}.hero-action-buttons{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.hero-btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0284c7 100%);border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 4px 16px #2563eb4d}.hero-btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}.hero-btn-secondary{color:#0284c7;background:#fff;border:1.5px solid #0ea5e959;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 2px 8px #0f172a08}.hero-btn-secondary:hover{background:#f0f9ff;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 6px 16px #0ea5e926}.hero-btn-outline{color:#475569;background:0 0;border:1px solid #e2e8f0e6;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:750;text-decoration:none;transition:all .18s;display:inline-flex}.hero-btn-outline:hover{color:#2563eb;background:#2563eb0a;border-color:#2563eb}.hero-proof-chips-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.hero-proof-chip{background:#fff;border:1px solid #e2e8f0e6;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 2px 6px #0f172a05}.hero-proof-chip svg{color:#0284c7;flex-shrink:0}.hero-proof-chip strong{color:#0f172a;font-size:12.5px;font-weight:850;line-height:1.25;display:block}.hero-proof-chip span{color:#64748b;margin-top:1px;font-size:11px;display:block}.hero-proof-chip.highlight{background:linear-gradient(135deg,#2563eb0a,#fff);border-color:#2563eb59}.hero-proof-chip.highlight svg{color:#2563eb}.hero-proof-chip.highlight-green{background:linear-gradient(135deg,#10b9810d,#fff);border-color:#10b98159}.hero-proof-chip.highlight-green svg{color:#059669}.architecture-interactive-frame{background:linear-gradient(155deg,#fffffffa 0%,#f0f9fff2 100%);border:1.5px solid #0ea5e959;border-radius:18px;transition:transform .3s,box-shadow .3s;animation:6s ease-in-out infinite float-slow;position:relative;overflow:hidden;box-shadow:0 24px 50px #0f172a14,0 0 35px #0ea5e91f}.architecture-interactive-frame:hover{transform:translateY(-4px);box-shadow:0 30px 60px #0f172a1f,0 0 45px #0ea5e92e}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.browser-url-pill{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;margin-left:8px;padding:3px 10px;font-size:11px;display:flex}.arch-interactive-body{background:#fff;padding:20px}.arch-hero-banner{border-bottom:1px solid #e2e8f0cc;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.arch-sub-tag{letter-spacing:.06em;color:#0284c7;text-transform:uppercase;margin-bottom:4px;font-size:10.5px;font-weight:850;display:block}.arch-banner-left h3{color:#0f172a;letter-spacing:-.015em;margin:0 0 4px;font-size:17px;font-weight:850}.arch-banner-left p{color:#64748b;margin:0;font-size:12px}.arch-live-chip{color:#059669;white-space:nowrap;background:#ecfdf5;border:1px solid #10b98159;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.arch-nodes-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.arch-node-btn{text-align:left;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0e6;border-radius:10px;flex-direction:column;align-items:flex-start;padding:10px;transition:all .2s cubic-bezier(.22,1,.36,1);display:flex}.arch-node-btn:hover{background:#f0f9ff;border-color:#0284c7;transform:translateY(-2px)}.arch-node-btn.is-active{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 14px #0284c729}.node-step-badge{color:#0284c7;margin-bottom:4px;font-size:10px;font-weight:900}.node-title{color:#0f172a;font-size:12px;font-weight:800;line-height:1.25}.node-sub{color:#64748b;margin-top:2px;font-size:10px}.arch-inspect-card{background:#f8fafc;border:1px solid #e2e8f0e6;border-radius:10px;margin-bottom:16px;padding:14px;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.inspect-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.inspect-pill{color:#0284c7;text-transform:uppercase;letter-spacing:.05em;margin-right:8px;font-size:10px;font-weight:850}.inspect-head h4{color:#0f172a;margin:0;font-size:13.5px;font-weight:850;display:inline}.inspect-status-badge{color:#059669;background:#ecfdf5;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:800}.inspect-desc{color:#475569;margin:0 0 10px;font-size:12px;line-height:1.5}.inspect-tags{flex-wrap:wrap;gap:5px;display:flex}.inspect-tags span{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:750}.arch-footer-actions{align-items:center;gap:10px;display:flex}.arch-btn-live{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 4px 12px #0284c740}.arch-btn-live:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 6px 18px #0284c759}.arch-btn-code{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:750;text-decoration:none;transition:all .18s;display:inline-flex}.arch-btn-code:hover{color:#0284c7;background:#f0f9ff;border-color:#0284c7}.project-deck-switcher{align-items:center;gap:10px;margin-bottom:24px;padding-bottom:6px;display:flex;overflow-x:auto}.project-deck-tab{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0e6;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:750;transition:all .2s cubic-bezier(.22,1,.36,1);display:inline-flex}.project-deck-tab:hover{color:#0284c7;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 14px #0284c71a}.project-deck-tab.is-active{color:#fff;background:#0284c7;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 6px 18px #0284c747}.project-deck-tab .tab-num{opacity:.8;font-size:11px;font-weight:900}.project-deck-tab .tab-live-badge{color:#10b981;background:#10b98133;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:850}.project-deck-tab.is-active .tab-live-badge{color:#059669;background:#fff}.academic-foundation-section{background:linear-gradient(#fff 0%,#f8fafc 100%);border-bottom:1px solid #e2e8f0d9;padding:clamp(48px,6vw,76px) clamp(20px,5vw,72px)}.section-heading-centered{text-align:center;max-width:820px;margin:0 auto clamp(32px,4.5vw,48px)}.academic-badge-pill{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;background:#2563eb14;border:1px solid #2563eb40;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:5px 14px;font-size:11px;font-weight:850;display:inline-flex}.section-heading-centered h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(26px,3.2vw,38px);font-weight:850}.section-heading-centered p{color:#475569;margin:0;font-size:15px;line-height:1.65}.academic-pillars-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.academic-pillar-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:14px;flex-direction:column;padding:24px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 4px 14px #0f172a08}.academic-pillar-card:hover{border-color:#2563eb;transform:translateY(-3px);box-shadow:0 12px 28px -4px #2563eb1f}.pillar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pillar-icon-wrap{border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.pillar-icon-wrap.blue{color:#2563eb;background:#2563eb1a}.pillar-icon-wrap.indigo{color:#6366f1;background:#6366f11a}.pillar-icon-wrap.purple{color:#7c3aed;background:#7c3aed1a}.pillar-icon-wrap.emerald{color:#059669;background:#10b9811a}.pillar-code{color:#475569;letter-spacing:.04em;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:850}.academic-pillar-card h3{color:#0f172a;margin:0 0 10px;font-size:16px;font-weight:850;line-height:1.35}.academic-pillar-card p{color:#536174;flex-grow:1;margin:0 0 16px;font-size:13px;line-height:1.55}.pillar-tags{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:6px;padding-top:14px;display:flex}.pillar-tags span{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:3px 7px;font-size:10.5px;font-weight:750}.executive-projects-matrix{gap:22px;display:grid}.featured-flagship-card{background:#fff;border:1.5px solid #2563eb59;border-radius:18px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:28px;padding:clamp(24px,3.5vw,36px);display:grid;box-shadow:0 10px 30px -5px #2563eb14}.flagship-media{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0f172a0a}.flagship-media img{object-fit:cover;width:100%;height:100%;display:block}.flagship-content{flex-direction:column;display:flex}.flagship-badge-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.flagship-live-badge{color:#059669;letter-spacing:.05em;text-transform:uppercase;background:#10b9811a;border:1px solid #10b9814d;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:850;display:inline-flex}.pulse-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite live-pulse-dot;box-shadow:0 0 0 2px #10b98140}.flagship-content h3{color:#0f172a;letter-spacing:-.015em;margin:0 0 6px;font-size:clamp(22px,2.5vw,28px);font-weight:850}.flagship-role{color:#2563eb;margin-bottom:14px;font-size:13px;font-weight:700}.flagship-summary{color:#475569;margin:0 0 16px;font-size:13.5px;line-height:1.65}.flagship-highlights{gap:8px;margin-bottom:18px;display:grid}.flagship-highlight-item{color:#334155;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.flagship-highlight-item svg{color:#2563eb;flex-shrink:0;margin-top:2px}.flagship-stack-pills{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.flagship-stack-pills span{color:#334155;background:#f1f5f9;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:750}.flagship-actions{align-items:center;gap:12px;margin-top:auto;display:flex}.supporting-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.supporting-project-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:14px;flex-direction:column;padding:22px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 4px 12px #0f172a05}.supporting-project-card:hover{border-color:#0284c7;transform:translateY(-3px);box-shadow:0 10px 24px -4px #0ea5e91f}.sup-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sup-category-tag{text-transform:uppercase;letter-spacing:.05em;color:#0284c7;background:#0284c71a;border-radius:5px;padding:3px 8px;font-size:10.5px;font-weight:850}.supporting-project-card h4{color:#0f172a;margin:0 0 6px;font-size:16px;font-weight:850}.sup-role{color:#64748b;margin-bottom:12px;font-size:12px}.supporting-project-card p{color:#536174;flex-grow:1;margin:0 0 16px;font-size:12.5px;line-height:1.55}.sup-stack-list{flex-wrap:wrap;gap:5px;margin-bottom:16px;display:flex}.sup-stack-list span{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.sup-footer-actions{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.sup-footer-link{color:#0284c7;align-items:center;gap:4px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.sup-footer-link:hover{text-decoration:underline}.academic-theses-section{background:#fff;border-bottom:1px solid #e2e8f0d9;padding:clamp(48px,6vw,76px) clamp(20px,5vw,72px)}.theses-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.thesis-showcase-card{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:14px;flex-direction:column;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 4px 14px #0f172a08}.thesis-showcase-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px -4px #2563eb1f}.thesis-badge-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.thesis-num{letter-spacing:.06em;color:#2563eb;text-transform:uppercase;background:#2563eb14;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:900}.thesis-time{color:#64748b;font-size:11.5px;font-weight:600}.thesis-showcase-card h3{color:#0f172a;margin:0 0 10px;font-size:16.5px;font-weight:850;line-height:1.35}.thesis-showcase-card p{color:#536174;flex-grow:1;margin:0 0 16px;font-size:13px;line-height:1.6}.thesis-card-footer{color:#2563eb;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:14px;font-size:12.5px;font-weight:750;display:flex}.topbar-live-cta{color:#059669;background:#10b9811a;border:1px solid #10b9814d;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:750;text-decoration:none;transition:all .14s;display:inline-flex}.topbar-live-cta:hover{color:#fff;background:#059669}@media (width<=1024px){.hero-proof-chips-row,.academic-pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-flagship-card{grid-template-columns:1fr}.supporting-projects-grid,.theses-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.hero-proof-chips-row,.academic-pillars-grid,.supporting-projects-grid,.theses-showcase-grid{grid-template-columns:1fr}.hero-action-buttons{flex-direction:column;align-items:stretch}.hero-btn-primary,.hero-btn-secondary,.hero-btn-outline{justify-content:center;width:100%}}.hero{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:start;gap:clamp(28px,4.5vw,64px);width:100%;max-width:100vw;padding:clamp(38px,5vw,64px) clamp(20px,5vw,72px) clamp(36px,4.5vw,54px);display:grid;overflow:hidden}.hero-copy{width:100%;max-width:820px}.personal-status-pill{background:#f0f9ff;border:1px solid #0ea5e94d;border-radius:999px;align-items:center;gap:9px;margin-bottom:20px;padding:6px 14px;display:inline-flex;box-shadow:0 2px 10px #0ea5e914}.badge-pulse-dot{background:#0ea5e9;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s infinite pulse-ring}.personal-status-pill .badge-text{color:#0369a1;letter-spacing:.02em;font-size:12px;font-weight:750}.profile-lockup{-webkit-backdrop-filter:blur(20px);background:#fffffff0;border:1px solid #0ea5e938;border-radius:22px;align-items:center;gap:clamp(16px,2.5vw,24px);width:min(100%,680px);margin-bottom:26px;padding:clamp(16px,2vw,20px);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 20px 50px -10px #0ea5e91f,0 1px 3px #0f172a0a,inset 0 1px #ffffffe6}.profile-lockup:hover{border-color:#0ea5e966;transform:translateY(-2px);box-shadow:0 24px 60px -10px #0ea5e929,0 1px 3px #0f172a0d}.profile-avatar-wrap{flex-shrink:0;width:clamp(108px,12vw,136px);height:clamp(108px,12vw,136px);position:relative}.profile-avatar{object-fit:cover;object-position:center 32%;border:3.5px solid #fff;border-radius:20px;width:100%;height:100%;transition:transform .25s;display:block;box-shadow:0 8px 24px #0ea5e938,0 0 0 1.5px #0ea5e940}.profile-lockup:hover .profile-avatar{transform:scale(1.02)}.avatar-online-dot{background:#10b981;border:3px solid #fff;border-radius:50%;width:18px;height:18px;animation:2.5s infinite pulse-ring;position:absolute;bottom:3px;right:3px;box-shadow:0 0 10px #10b981cc}.profile-info-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.profile-name-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.profile-name{color:#0f172a;letter-spacing:-.015em;margin:0;font-size:clamp(20px,2.2vw,25px);font-weight:850;line-height:1.15}.profile-role-tag{color:#0369a1;letter-spacing:.03em;white-space:nowrap;background:#e0f2fe;border:1px solid #0ea5e959;border-radius:8px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:800;display:inline-flex}.profile-role-tag.highlight{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0284c7 100%);border-color:#1d4ed8;box-shadow:0 2px 8px #2563eb40}.profile-role-tag.secondary{color:#15803d;background:#f0fdf4;border-color:#22c55e4d}.profile-meta{color:#64748b;margin:0;font-size:13px;font-weight:600;line-height:1.45}.profile-chips-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.profile-chip{color:#475569;background:#0f172a0a;border:1px solid #e2e8f0e6;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.profile-chip.highlight{color:#047857;background:#10b98114;border-color:#10b98159;font-weight:750}.chip-dot{background:#0284c7;border-radius:50%;flex-shrink:0;width:5px;height:5px}.chip-dot.online{background:#10b981;box-shadow:0 0 6px #10b981cc}.eyebrow{color:#0369a1;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:12.5px;font-weight:800}h1.hero-title{letter-spacing:-.02em;color:#0f172a;background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:initial;max-width:820px;margin-top:0;margin-bottom:18px;font-size:clamp(32px,4.2vw,52px);font-weight:850;line-height:1.18}.hero-lede{color:#334155;max-width:740px;margin-bottom:24px;font-size:clamp(15px,1.3vw,16.5px);line-height:1.7}.hero-lede b{color:#0f172a;font-weight:750}.cv-sharing-card{background:#fff;border:1.5px solid #0ea5e947;border-radius:18px;margin-bottom:14px;padding:22px clamp(18px,2.5vw,24px);box-shadow:0 12px 32px -4px #0ea5e91a,0 4px 12px #0f172a08}.sharing-card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.sharing-title-group{align-items:center;gap:12px;display:flex}.sharing-icon{color:#0284c7;background:#e0f2fe;border:1px solid #0ea5e959;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.sharing-title-group h3{color:#0f172a;margin:0;font-size:16px;font-weight:850}.sharing-title-group p{color:#64748b;margin:3px 0 0;font-size:12.5px}.sharing-avail-tag{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #10b98159;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:11.5px;font-weight:750;display:inline-flex}.pulse-green{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-ring}.sharing-tracks-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:16px;display:grid}.cv-track-item{background:#fff;border:1.5px solid #0ea5e947;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px 18px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 16px #0ea5e90f}.cv-track-item:hover{border-color:#0ea5e98c;transform:translateY(-2px);box-shadow:0 10px 26px #0ea5e924}.cv-track-item.featured-pm{background:linear-gradient(#fff 0%,#f0f7ff 100%);border:2px solid #2563eb73;box-shadow:0 6px 20px #2563eb1a}.cv-track-item.featured-pm:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 12px 30px #2563eb33}.cv-track-header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.cv-track-icon{color:#0284c7;background:#f0f9ff;border:1px solid #0ea5e959;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.cv-track-icon.en{color:#059669;background:#ecfdf5;border-color:#10b98159}.cv-track-icon.pm{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#2563eb59}.cv-track-text{flex:1;min-width:0}.cv-track-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.cv-track-title-row strong{color:#0f172a;font-size:14.5px;font-weight:850}.cv-track-badge{letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.cv-track-badge.vi{color:#0369a1;background:#e0f2fe}.cv-track-badge.en{color:#047857;background:#dcfce7}.cv-track-badge.pm{color:#fff;background:#2563eb}.cv-track-text p{color:#475569;margin:4px 0 0;font-size:12px;line-height:1.45}.cv-track-buttons{border-top:1px solid #e2e8f0cc;grid-template-columns:1.25fr 1fr;gap:8px;padding-top:10px;display:grid}.cv-btn-download,.cv-btn-view{border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:12.5px;font-weight:800;text-decoration:none;transition:all .16s;display:inline-flex}.cv-btn-download{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border:1px solid #ffffff59;box-shadow:0 4px 12px #0284c740}.cv-btn-download:hover{background:linear-gradient(135deg,#0369a1 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 6px 16px #0284c759}.cv-btn-download svg{color:#fff}.cv-btn-view{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1e6}.cv-btn-view:hover{color:#0284c7;background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px)}.cv-btn-view svg{color:#0284c7}.sharing-card-foot{border-top:1px solid #e2e8f0cc;flex-wrap:wrap;align-items:center;gap:10px;padding-top:13px;font-size:12px;display:flex}.foot-label{color:#64748b;font-weight:650}.foot-link{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1cc;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-weight:750;text-decoration:none;transition:all .14s;display:inline-flex}.foot-link:hover{color:#0284c7;background:#f0f9ff;border-color:#0284c7}.foot-sep{color:#0f172a33}.foot-location{color:#0369a1;font-weight:750}.hero-visual{gap:14px;min-width:0;display:grid}.visual-frame.competency-overview{background:linear-gradient(155deg,#fffffffa 0%,#f0f9fff2 100%);border:1.5px solid #0ea5e947;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 20px 50px #0f172a12,0 0 30px #0ea5e914}.browser-bar{background:#fff;border-bottom:1px solid #e2e8f0cc;align-items:center;gap:7px;min-height:40px;padding:0 14px;display:flex}.browser-bar>span{border-radius:999px;flex:none;width:10px;height:10px}.browser-bar>span:first-child{background:#ef4444}.browser-bar>span:nth-child(2){background:#f59e0b}.browser-bar>span:nth-child(3){background:#10b981}.browser-bar strong{color:#475569;letter-spacing:.03em;margin-left:8px;font-size:11.5px;font-weight:800}.browser-url-pill{white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:2px;margin-left:10px;padding:3px 10px;font-size:11px;display:flex}.browser-url-pill span{background:0 0!important;border-radius:0!important;width:auto!important;height:auto!important;display:inline!important}.browser-url-pill .url-protocol{color:#94a3b8}.browser-url-pill .url-domain{color:#0284c7;font-weight:800}.browser-url-pill .url-path{color:#475569}.dossier-verified-badge{color:#059669;letter-spacing:.04em;white-space:nowrap;background:#ecfdf5;border:1px solid #10b98166;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:3px 8px;font-size:10.5px;font-weight:850;display:inline-flex}.dossier-verified-badge span{background:0 0!important;border-radius:0!important;width:auto!important;height:auto!important;display:inline!important}.dossier-verified-badge .live-status-dot{background:#10b981!important;border-radius:50%!important;width:7px!important;height:7px!important;animation:2s ease-in-out infinite live-pulse-dot!important}.web-preview{background:linear-gradient(145deg,#f8fafc,#f0f9ff);grid-template-columns:1fr;gap:12px;min-height:280px;padding:clamp(16px,2.5vw,22px);display:grid}.web-preview-main{background:#fff;border:1px solid #0ea5e933;border-radius:12px;padding:18px;box-shadow:0 12px 28px #0ea5e914}.web-preview-main h2{color:#0f172a;max-width:560px;margin-top:0;margin-bottom:14px;font-size:clamp(20px,2.2vw,26px);font-weight:850;line-height:1.25}.preview-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.preview-card{background:#f8fafc;border:1px solid #e2e8f0e6;border-radius:8px;padding:12px}.preview-card span{color:#0284c7;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:850;display:block}.preview-card strong{color:#0f172a;font-size:16px;font-weight:850;line-height:1.15;display:block}.preview-card p{color:#64748b;margin:4px 0 0;font-size:11.5px;line-height:1.4}.web-preview-side{background:#f0fdf4;border:1px solid #10b9814d;border-radius:8px;padding:12px 14px}.web-preview-side span{color:#059669;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:850;display:block}.web-preview-side p{color:#0f172a;margin:0;font-size:14px;font-weight:800}.visual-footer{background:#fff;border-top:1px solid #e2e8f0cc;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:10px 14px;display:flex}.visual-footer span{color:#0284c7;font-size:11.5px;font-weight:800}.hero-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.proof-tile{background:#fff;border:1px solid #e2e8f0e6;border-radius:10px;min-height:96px;padding:12px;box-shadow:0 8px 24px #0f172a0a}.proof-tile span{color:#059669;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:850;display:block}.proof-tile p{color:#475569;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.panel-links{flex-wrap:wrap;gap:10px;display:flex}.panel-links a{color:#0f172a;background:#fff;border:1px solid #cbd5e1cc;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 4px 12px #0f172a08}.panel-links a:hover{color:#0284c7;background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px)}.stats-band{background:#0ea5e926;border-top:1px solid #0ea5e933;border-bottom:1px solid #0ea5e933;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.stat-item{background:#fff;min-height:100px;padding:22px clamp(20px,3.5vw,38px)}.stat-item strong{background:linear-gradient(135deg,#0f172a 40%,#0284c7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:clamp(28px,3.4vw,42px);font-weight:900;line-height:1;display:block}.stat-item span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:800;display:block}.section-grid,.projects-section,.experience-section,.contact-section{padding:clamp(42px,5vw,68px) clamp(20px,5vw,72px)}.section-grid{grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr);align-items:center;gap:clamp(26px,4vw,56px);display:grid}.about-section{background:#ffffffa6;border-bottom:1px solid #e2e8f0cc}.about-section h2{color:#0f172a;font-size:clamp(26px,3vw,38px);font-weight:850;line-height:1.2}.section-body{gap:16px;display:grid}.section-body p{color:#334155;margin:0;font-size:clamp(15px,1.4vw,17px);line-height:1.7}.section-body p b{color:#0f172a;font-weight:800}.section-label{color:#0284c7;letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:900}.section-heading{max-width:860px;margin-bottom:clamp(28px,5vw,48px)}.project-heading{max-width:900px;margin-bottom:28px}.project-heading h2{color:#0f172a;margin-top:0;margin-bottom:12px;font-size:clamp(28px,3.2vw,42px);font-weight:850}.project-heading p:last-child{color:#475569;max-width:760px;margin-bottom:0;font-size:15.5px;line-height:1.6}.project-deck{isolation:isolate;min-height:580px;position:relative}.project-deck-card{border-radius:14px;transition:top .46s cubic-bezier(.22,1,.36,1),left .46s cubic-bezier(.22,1,.36,1),width .46s cubic-bezier(.22,1,.36,1),height .46s cubic-bezier(.22,1,.36,1),transform .26s,box-shadow .26s,border-color .26s;position:absolute;overflow:hidden}.project-deck-card.is-active{z-index:8;background:#fff;border:1.5px solid #0ea5e973;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);width:79%;height:560px;display:grid;top:0;left:0;box-shadow:0 30px 70px #0f172a1f,0 0 25px #0ea5e91a}.project-deck-card.is-stacked{z-index:calc(6 - var(--stack-index));top:calc(28px + var(--stack-index) * 128px);cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0e6;width:30%;height:230px;left:70%;box-shadow:0 16px 36px #0f172a14}.project-deck-card.is-stacked:hover{z-index:7;border-color:#0ea5e980;transform:translate(-12px);box-shadow:0 24px 48px #0f172a1f}.deck-card-trigger{z-index:6;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.deck-card-trigger:focus-visible{outline-offset:-5px;outline:3px solid #0284c7}.deck-card-media{background:#f1f5f9;min-width:0;min-height:0;position:relative;overflow:hidden}.deck-card-media:after{content:"";opacity:0;background:linear-gradient(#0000,#0f172abf);height:55%;transition:opacity .24s;position:absolute;inset:auto 0 0}.deck-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .46s cubic-bezier(.22,1,.36,1);display:block}.project-deck-card.is-active .deck-card-media img{object-position:center top}.project-deck-card.is-stacked .deck-card-media:after{opacity:1}.project-deck-card.is-stacked:hover .deck-card-media img{transform:scale(1.035)}.deck-card-number{z-index:2;color:#0284c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #0ea5e94d;border-radius:8px;place-items:center;width:42px;height:32px;font-size:12px;font-weight:900;display:grid;position:absolute;top:16px;left:16px}.deck-card-body{background:#fff;min-width:0;padding:22px}.project-deck-card.is-active .deck-card-body{flex-direction:column;display:flex;overflow-y:auto}.project-deck-card.is-stacked .deck-card-body{z-index:3;color:#fff;background:linear-gradient(#0000,#0f172a99,#0f172ae6);padding:18px 18px 18px 124px;position:absolute;bottom:0;left:0;right:0}.project-deck-card.is-stacked .deck-card-number{left:auto;right:16px}.project-card-head{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.project-role{color:#0284c7;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:12px;font-weight:850}.project-deck-card h3{color:#0f172a;margin-top:0;margin-bottom:0;font-size:20px;font-weight:850}.compact-role{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:750;line-height:1.35}.icon-link{color:#0284c7;background:#f0f9ff;border:1px solid #0ea5e94d;border-radius:8px;flex:none;place-items:center;width:40px;height:40px;text-decoration:none;transition:all .18s;display:grid}.icon-link:hover{color:#fff;background:#0284c7;transform:translateY(-1px)}.project-card-actions{flex:none;align-items:center;gap:8px;display:flex}.live-demo-link{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-radius:8px;align-items:center;gap:5px;height:40px;padding:0 13px;font-size:12.5px;font-weight:750;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 2px 6px #0284c740}.live-demo-link:hover{color:#fff;background:linear-gradient(135deg,#0369a1 0%,#075985 100%);transform:translateY(-1px);box-shadow:0 4px 10px #0284c759}.project-live-preview-bar{background:#f0fdf4;border:1px solid #22c55e40;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12.5px;display:flex}.live-status-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite live-pulse-dot;box-shadow:0 0 0 2px #16a34a33}@keyframes live-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.25)}}.live-status-text{color:#166534;font-size:12px;font-weight:700}.live-status-url{color:#0284c7;text-underline-offset:2px;align-items:center;gap:4px;font-weight:700;text-decoration:underline;transition:color .15s;display:inline-flex}.live-status-url:hover{color:#0369a1}.project-summary{color:#334155;margin-bottom:12px;font-size:14px;line-height:1.55}.stack-list{flex-wrap:wrap;gap:6px;margin:3px 0 14px;display:flex}.stack-list span{color:#0369a1;background:#f0f9ff;border:1px solid #0ea5e94d;border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:800}.stack-list span:nth-child(3n+2){color:#059669;background:#f0fdf4;border-color:#10b9814d}.stack-list span:nth-child(3n){color:#4338ca;background:#eef2ff;border-color:#6366f14d}.project-proof-list{gap:7px;margin-top:auto;display:grid}.project-proof-list p{color:#1e293b;background:#f0fdf4;border-left:3px solid #059669;border-radius:6px;margin:0;padding:9px 12px;font-size:12.5px;font-weight:650;line-height:1.45}.project-deck-card.is-stacked .project-card-head{align-items:flex-end;margin:0}.project-deck-card.is-stacked .project-role,.project-deck-card.is-stacked .compact-role{color:#ffffffd9}.project-deck-card.is-stacked .project-role{margin-bottom:5px;font-size:10px}.project-deck-card.is-stacked h3{color:#fff;font-size:18px;line-height:1.15}.project-deck-card.is-stacked .compact-role{margin-top:5px;font-size:12px}.project-deck-card.is-stacked .deck-card-details{display:none}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.skill-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:14px;padding:20px;box-shadow:0 10px 30px #0f172a0a}.skill-card-clickable{cursor:pointer;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.skill-card-clickable:hover{border-color:#0ea5e980;transform:translateY(-3px);box-shadow:0 18px 40px #0ea5e91f}.skill-card svg{color:#0284c7}.skill-card:nth-child(2n) svg{color:#059669}.skill-card:nth-child(3n) svg{color:#6366f1}.skill-card h3{color:#0f172a;margin:12px 0 6px;font-size:18px;font-weight:850}.skill-card p{color:#475569;margin-bottom:0;font-size:14px;line-height:1.55}.skill-card-link{color:#0284c7;align-items:center;gap:7px;margin-top:16px;font-size:13px;font-weight:850;display:flex}.skill-card-link svg{color:currentColor}.skill-card-featured{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1.5px solid #0ea5e966;grid-column:1/-1}.skill-card-featured svg,.skill-card-featured .skill-card-link{color:#0284c7}.knowledge-shell{background:radial-gradient(circle at 85% 8%,#f59e0b21,#0000 23%),radial-gradient(circle at 5% 32%,#2563eb17,#0000 24%)}.knowledge-topbar nav{gap:clamp(14px,3vw,30px)}.course-progress{border-bottom:1px solid var(--line);background:#ffffffad;justify-content:space-between;align-items:center;gap:20px;padding:12px clamp(20px,5vw,72px);display:flex}.course-progress>a{color:#435064;flex:none;align-items:center;gap:8px;font-size:13px;font-weight:950;display:inline-flex}.course-progress>div{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.course-progress>div::-webkit-scrollbar{display:none}.course-progress>div a{color:#657184;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:850;display:inline-flex}.course-progress>div a span{color:#8290a3;font-size:10px}.course-progress>div a:hover,.course-progress>div a.is-current{color:var(--blue);background:#2563eb14;border-color:#2563eb2e}.course-progress>div a.is-current span{color:var(--blue)}.hub-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(34px,7vw,90px);padding:clamp(64px,9vw,120px) clamp(20px,7vw,110px);display:grid}.hub-hero h1{max-width:900px;margin-bottom:22px;font-size:clamp(46px,6vw,76px);line-height:1}.hub-hero>div>p:last-child{color:#536174;max-width:720px;margin:0;font-size:19px;line-height:1.65}.hub-hero aside{color:#fff;background:#111827;border-radius:8px;padding:24px;box-shadow:0 24px 54px #11182729}.hub-hero aside span{color:#fbbf24;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.hub-hero aside strong{margin:10px 0 5px;font-size:28px;display:block}.hub-hero aside p{color:#ffffffad;margin:0}.hub-section{padding:clamp(52px,7vw,92px) clamp(20px,7vw,110px)}.hub-section+.hub-section{border-top:1px solid var(--line)}.hub-section-heading{max-width:820px;margin-bottom:32px}.hub-section-heading h2{margin-top:0}.learning-path-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.learning-path-grid>a{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fffc;border-radius:8px;grid-template-columns:48px 1fr 24px;align-items:start;gap:14px;min-height:250px;padding:24px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:0 16px 34px #1118270f}.learning-path-grid>a:nth-child(2){border-top-color:#d97706}.learning-path-grid>a:nth-child(3){border-top-color:#7c3aed}.learning-path-grid>a:nth-child(4){border-top-color:#0f766e}.learning-path-grid>a:nth-child(5){border-top-color:#be185d}.learning-path-grid>a:hover{transform:translateY(-4px);box-shadow:0 22px 44px #1118271c}.learning-path-grid .lesson-number{color:var(--blue);font-size:24px;font-weight:950}.learning-path-grid a:nth-child(2) .lesson-number{color:#d97706}.learning-path-grid a:nth-child(3) .lesson-number{color:#7c3aed}.learning-path-grid a:nth-child(4) .lesson-number{color:#0f766e}.learning-path-grid a:nth-child(5) .lesson-number{color:#be185d}.learning-path-grid small{color:#657184;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:900}.learning-path-grid h3{margin:10px 0 9px}.learning-path-grid p{color:#5f6b7a;margin:0;line-height:1.55}.learning-path-grid>a>svg{color:#8290a3}.learning-path-grid>a>b{z-index:2;border:1px solid var(--line);color:#8290a3;background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;right:-18px}.study-method-section{background:#ffffff5c}.hub-method-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hub-method-grid>div{border:1px solid var(--line);background:#fffc;border-radius:8px;padding:20px}.hub-method-grid span{color:var(--blue);margin-bottom:28px;font-size:12px;font-weight:950;display:block}.hub-method-grid strong{font-size:18px}.hub-method-grid p{color:#657184;margin:7px 0 0;font-size:13px;line-height:1.5}.knowledge-hero{border-bottom:1px solid var(--line);background:#ffffff70;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:end;gap:clamp(32px,6vw,84px);padding:clamp(48px,7vw,92px) clamp(20px,7vw,110px);display:grid}.knowledge-hero>div{max-width:900px}.knowledge-hero h1{max-width:880px;margin-bottom:22px;font-size:clamp(42px,6vw,76px);line-height:1.01}.back-link{color:#435064;align-items:center;gap:8px;margin-bottom:38px;font-size:14px;font-weight:900;display:inline-flex}.back-link:hover{color:var(--blue)}.knowledge-lede{color:#465467;max-width:760px;margin-bottom:22px;font-size:clamp(17px,1.7vw,21px);line-height:1.65}.lesson-meta{flex-wrap:wrap;gap:10px;display:flex}.lesson-meta span{color:#4b5563;background:#ffffffc2;border:1px solid #1118271a;border-radius:8px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.learning-outcomes{color:#fff;background:#111827;border:1px solid #1118271a;border-radius:8px;padding:24px;box-shadow:0 24px 54px #1118272e}.learning-outcomes .panel-label{color:#fbbf24}.learning-outcomes ul{gap:16px;margin:20px 0 0;padding:0;list-style:none;display:grid}.learning-outcomes li{color:#ffffffd6;grid-template-columns:20px 1fr;gap:10px;line-height:1.5;display:grid}.learning-outcomes svg{color:#34d399;margin-top:2px}.lesson-layout{grid-template-columns:230px minmax(0,820px);justify-content:center;gap:clamp(38px,7vw,100px);padding:clamp(48px,7vw,92px) clamp(20px,7vw,110px);display:grid}.lesson-toc{align-self:start;gap:5px;display:grid;position:sticky;top:92px}.lesson-toc p{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:950}.lesson-toc a{color:#657184;border-left:2px solid #1118271f;padding:8px 10px;font-size:13px;font-weight:800;line-height:1.35}.lesson-toc a:hover{border-color:var(--blue);color:var(--blue)}.lesson-content{min-width:0}.lesson-section{padding-bottom:clamp(48px,7vw,80px);scroll-margin-top:100px}.lesson-section+.lesson-section{border-top:1px solid var(--line);padding-top:clamp(48px,7vw,80px)}.lesson-section h2{max-width:720px;margin-bottom:20px;font-size:clamp(30px,4vw,45px)}.lesson-section>p:not(.section-label):not(.lesson-note){color:#465467;font-size:17px;line-height:1.75}.lesson-section code{color:#1d4ed8;background:#2563eb17;border-radius:5px;margin:0 4px;padding:2px 6px;font-size:.9em;font-weight:800}.definition-card{border:1px solid #2563eb2e;border-left:4px solid var(--blue);background:#ffffffc7;border-radius:8px;margin-top:28px;padding:24px}.definition-card strong{color:#1d4ed8}.definition-card p{color:#465467;margin:9px 0 0;line-height:1.65}.comparison-grid,.project-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.comparison-grid>div,.project-connection-grid>div{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;padding:22px}.comparison-grid svg{color:var(--blue)}.comparison-grid>div:nth-child(2) svg{color:var(--green)}.comparison-grid h3,.project-connection-grid h3{margin:13px 0 8px}.comparison-grid p,.project-connection-grid p{color:#4b5563;margin-bottom:14px;line-height:1.55}.comparison-grid span,.project-connection-grid span{color:#657184;font-size:12px;font-weight:900}.concept-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0;display:grid}.concept-grid>div{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;flex-direction:column;min-height:154px;padding:18px;display:flex}.concept-grid svg{color:var(--amber);margin-bottom:22px}.concept-grid strong{margin-bottom:6px}.concept-grid span{color:#657184;font-size:13px;line-height:1.45}.data-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 16px 36px #11182712}.table-caption{border-bottom:1px solid var(--line);color:#fff;background:#111827;justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.table-caption span{color:#ffffffad;font-size:13px}.data-table-wrap table{border-collapse:collapse;text-align:left;width:100%}.data-table-wrap th,.data-table-wrap td{border-bottom:1px solid #11182714;padding:14px 18px;font-size:14px}.data-table-wrap th{color:#1d4ed8;font-size:12px}.data-table-wrap tr:last-child td{border-bottom:0}.relation-diagram{grid-template-columns:minmax(180px,1fr) 160px minmax(180px,1fr);align-items:center;gap:18px;margin:32px 0 20px;display:grid}.entity-card{background:#fff;border:1px solid #11182724;border-radius:8px;display:grid;overflow:hidden;box-shadow:0 14px 30px #11182712}.entity-card strong{color:#fff;background:#111827;padding:13px 16px}.entity-card span{color:#536174;border-top:1px solid #11182712;align-items:center;gap:7px;padding:10px 16px;font-size:13px;font-weight:750;display:flex}.entity-card svg{color:var(--amber)}.relation-line{color:var(--blue);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.relation-line b{text-align:center;font-size:11px;position:relative}.relation-line b:after{content:"";background:currentColor;height:2px;margin-top:7px;display:block}.lesson-note{color:#704600;background:#f59e0b1a;border-radius:8px;padding:16px 18px;line-height:1.6}.database-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0;display:grid}.database-type-card{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fffc;border-radius:8px;padding:24px;box-shadow:0 14px 32px #1118270f}.database-type-card.nosql-card{border-top-color:var(--green)}.database-type-label,.code-label{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.nosql-card .database-type-label{color:#047857}.database-type-card h3{margin:10px 0 8px;font-size:28px}.database-type-card>p{color:#536174;min-height:52px;margin-bottom:18px;line-height:1.55}.database-type-card ul{color:#465467;gap:9px;margin:0 0 20px;padding-left:18px;font-size:14px;line-height:1.5;display:grid}.database-type-card>strong{color:#273548;font-size:12px}.data-shape-example{border:1px solid var(--line);background:#fff;border-radius:8px;margin:32px 0;overflow:hidden}.example-heading{color:#fff;background:#111827;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:end;gap:24px;padding:20px 22px;display:flex}.example-heading span{color:#fbbf24;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.example-heading h3{color:#fff;margin:6px 0 0}.example-heading p{color:#ffffffad;max-width:310px;margin:0;font-size:13px;line-height:1.5}.code-comparison{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.code-comparison>div{min-width:0;padding:22px}.code-comparison>div+div{border-left:1px solid var(--line)}.code-comparison pre{color:#dbeafe;white-space:pre;background:#0f172a;border-radius:8px;min-height:190px;margin:13px 0;padding:17px;font-size:12px;line-height:1.65;overflow-x:auto}.lesson-section .code-comparison code{color:inherit;font-size:inherit;background:0 0;margin:0;padding:0;font-weight:500}.code-comparison p{color:#657184;margin:0;font-size:13px;line-height:1.55}.nosql-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.nosql-model-grid article{border:1px solid var(--line);background:#ffffffc2;border-radius:8px;padding:22px}.nosql-model-grid article:first-child{border-left:4px solid var(--green)}.nosql-model-grid article:nth-child(2){border-left:4px solid var(--rose)}.nosql-model-grid article:nth-child(3){border-left:4px solid var(--amber)}.nosql-model-grid article:nth-child(4){border-left:4px solid var(--blue)}.nosql-model-grid span{color:#657184;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.nosql-model-grid h3{margin:8px 0}.nosql-model-grid p{color:#536174;margin-bottom:14px;line-height:1.55}.nosql-model-grid small{color:#26364a;font-weight:800;line-height:1.5}.decision-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;margin:30px 0;overflow-x:auto;box-shadow:0 16px 36px #1118270f}.decision-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.decision-table th,.decision-table td{vertical-align:top;border-bottom:1px solid #11182712;border-right:1px solid #11182712;padding:15px 17px;font-size:13px;line-height:1.5}.decision-table th{color:#fff;background:#111827;font-size:12px}.decision-table th:nth-child(2){color:#93c5fd}.decision-table th:nth-child(3){color:#6ee7b7}.decision-table td:first-child{color:#273548;width:24%;font-weight:900}.decision-table tr:last-child td{border-bottom:0}.decision-table th:last-child,.decision-table td:last-child{border-right:0}.selection-rule{background:#2563eb17;border-radius:8px;grid-template-columns:180px 1fr;align-items:start;gap:22px;padding:22px;display:grid}.selection-rule span{color:#1d4ed8;font-size:13px;font-weight:950;line-height:1.45}.selection-rule p{color:#34445a;margin:0;line-height:1.65}.scenario-heading{margin:42px 0 16px}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.scenario-grid article{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;flex-direction:column;min-height:245px;padding:22px;display:flex}.scenario-grid article>span{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.scenario-grid h3{margin:10px 0 8px;font-size:19px}.scenario-grid p{color:#536174;margin-bottom:18px;line-height:1.55}.scenario-grid strong{color:#273548;margin-top:auto;font-size:12px;line-height:1.5}.decision-checklist{color:#fff;background:#111827;border-radius:8px;margin-top:32px;padding:26px}.decision-checklist .panel-label{color:#fbbf24}.decision-checklist ol{gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}.decision-checklist li{border-top:1px solid #ffffff1f;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;display:grid}.decision-checklist li>span{color:#6ee7b7;background:#34d39924;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:950;display:grid}.decision-checklist p{color:#ffffffb3;margin:0;line-height:1.55}.decision-checklist strong{color:#fff}.principle-list{gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.principle-list li{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;grid-template-columns:54px 1fr;align-items:start;gap:18px;padding:20px;display:grid}.principle-list li>span{color:var(--blue);font-size:22px;font-weight:950}.principle-list p{color:#657184;margin:5px 0 0}.project-connection-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.project-connection-grid>div:first-child{border-top:4px solid var(--amber)}.project-connection-grid>div:last-child{border-top:4px solid var(--green)}.project-connection-grid>div:nth-child(2){border-top:4px solid var(--blue)}.answer-framework{background:#2563eb14;border:1px solid #2563eb29;border-radius:8px;grid-template-columns:190px 1fr;align-items:start;gap:24px;margin:28px 0 34px;padding:22px;display:grid}.answer-framework>span{color:#1d4ed8;font-size:13px;font-weight:950}.answer-framework ol{color:#536174;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;margin:0;padding-left:20px;font-size:13px;line-height:1.5;display:grid}.answer-framework strong{color:#273548}.interview-group{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;margin-top:30px;overflow:hidden}.interview-group-heading{border-bottom:1px solid var(--line);background:#ffffffbd;padding:18px 20px}.interview-group-heading span{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:950;display:block}.interview-group-heading strong{color:var(--ink);font-size:18px}.scenario-interview-group .interview-group-heading{background:#111827}.scenario-interview-group .interview-group-heading span{color:#fbbf24}.scenario-interview-group .interview-group-heading strong{color:#fff}.interview-list details+details{border-top:1px solid var(--line)}.interview-list summary{color:#273548;cursor:pointer;grid-template-columns:36px 1fr;align-items:center;gap:12px;padding:16px 20px;font-weight:900;line-height:1.45;list-style:none;display:grid}.interview-list summary::-webkit-details-marker{display:none}.interview-list summary:after{color:#8290a3;content:"Mở đáp án";letter-spacing:.06em;text-transform:uppercase;grid-column:2;font-size:10px;font-weight:900}.interview-list summary>span{width:32px;height:32px;color:var(--blue);background:#2563eb17;border-radius:50%;grid-row:1/span 2;place-items:center;font-size:11px;font-weight:950;display:grid}.interview-list details[open] summary{color:var(--blue);background:#2563eb0d}.interview-list details[open] summary:after{content:"Ẩn đáp án"}.interview-answer{background:#fff;border-top:1px solid #11182712;padding:18px 20px 20px 68px}.interview-answer p{color:#536174;margin:0;font-size:14px;line-height:1.65}.interview-answer p+p{margin-top:9px}.interview-answer strong{color:#273548}.interview-answer em{color:#1d4ed8;font-style:normal;font-weight:900}.review-list{gap:10px;margin-top:28px;display:grid}.review-list details{border:1px solid var(--line);background:#ffffffc7;border-radius:8px}.review-list summary{color:var(--ink);cursor:pointer;padding:18px 20px;font-weight:900}.review-list details[open] summary{border-bottom:1px solid var(--line);color:var(--blue)}.review-list details p{color:#536174;margin:0;padding:18px 20px;line-height:1.6}.next-lesson{color:#fff;background:#111827;border-radius:8px;padding:26px}.next-lesson span{color:#fbbf24;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:950}.next-lesson strong{margin:9px 0 5px;font-size:22px;display:block}.next-lesson p{color:#ffffffad;margin:0}.next-lesson-link{color:#fff;background:#ffffff17;border:1px solid #ffffff38;border-radius:8px;align-items:center;gap:8px;margin-top:18px;padding:10px 13px;font-size:13px;font-weight:900;display:inline-flex}.next-lesson-link:hover{color:#6ee7b7;border-color:#6ee7b7}.pl-lesson,.language-lesson{--pl-primary:#2563eb;--pl-primary-hover:#1d4ed8;--pl-primary-light:#2563eb14;--pl-accent:#0284c7;--pl-accent-light:#0284c714;--pl-purple:#7c3aed;--pl-purple-light:#7c3aed14;--pl-emerald:#059669;--pl-emerald-light:#05966914;--pl-amber:#d97706;--pl-amber-light:#d9770614;--pl-dark:#0f172a;--pl-dark-surface:#1e293b;--pl-text-main:#0f172a;--pl-text-muted:#475569;--pl-border:#e2e8f0;--pl-card-bg:#fffffffa;--lesson-accent:#2563eb}.pl-reading-progress{z-index:9999;background:linear-gradient(90deg,#2563eb,#0284c7,#7c3aed,#10b981);height:3.5px;transition:width .1s ease-out;position:fixed;top:0;left:0;box-shadow:0 0 10px #2563eb80}.pl-topbar{-webkit-backdrop-filter:blur(14px);z-index:100;background:#ffffffe6;border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.pl-topbar-left{flex-shrink:0;align-items:center;gap:14px;display:flex}.pl-topbar-left .brand{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.pl-topbar-left .brand-avatar{object-fit:cover!important;border:2px solid #2563eb!important;border-radius:10px!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.pl-topbar-left .brand-info{white-space:nowrap;flex-direction:column;flex-shrink:0;display:flex}.pl-topbar-left .brand-name{color:#0f172a;white-space:nowrap;font-size:14px;font-weight:850;line-height:1.2}.pl-topbar-left .brand-role-tag{color:#2563eb;letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:650}.pl-back-home-btn{color:#2563eb;background:#2563eb14;border:1px solid #2563eb33;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex-shrink:0!important}.pl-back-home-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb;transform:translate(-2px)}.pl-topbar-nav{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.pl-topbar-nav::-webkit-scrollbar{display:none}.pl-topbar-nav a{color:#475569;border-radius:6px;align-items:center;padding:6px 10px;font-size:12.5px;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex:none!important}.pl-topbar-nav a:hover{color:#2563eb;background:#2563eb14}.pl-topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.pl-cta-live{color:#059669;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex-shrink:0!important}.pl-cta-live:hover{color:#fff;background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.pl-cta-cv{color:#fff;background:linear-gradient(135deg,#2563eb,#0284c7);border-radius:8px;align-items:center;gap:6px;padding:7px 15px;font-size:12.5px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #2563eb40;white-space:nowrap!important;flex-shrink:0!important}.pl-cta-cv:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.pl-hero{background:radial-gradient(circle at 12% 18%,#2563eb1f 0%,#0000 45%),radial-gradient(circle at 88% 75%,#0284c71a 0%,#0000 45%),linear-gradient(135deg,#fff 0%,#f4f8ff 100%);border:1px solid #2563eb33;border-radius:18px;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:28px;margin-bottom:28px;padding:clamp(24px,3.5vw,42px);display:grid;box-shadow:0 10px 30px -10px #2563eb1f}.pl-breadcrumbs{color:#64748b;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.pl-breadcrumbs a{color:#64748b;text-decoration:none;transition:color .15s}.pl-breadcrumbs a:hover{color:#2563eb}.pl-breadcrumbs span{color:#2563eb;font-weight:700}.pl-hero-badge-wrap{margin-bottom:12px}.pl-hero-badge{color:#2563eb;letter-spacing:.05em;text-transform:uppercase;background:#2563eb1a;border:1px solid #2563eb40;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:850;display:inline-flex}.pl-hero h1{color:#0f172a;letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(24px,2.7vw,36px);font-weight:850;line-height:1.25}.pl-hero .knowledge-lede{color:#334155;margin:0 0 20px;font-size:15px;line-height:1.7}.pl-proof-chips{flex-wrap:wrap;gap:8px;display:flex}.pl-proof-chip{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex;box-shadow:0 2px 4px #0f172a05}.pl-proof-chip strong{color:#0f172a;font-weight:750}.pl-proof-chip svg{color:#2563eb;flex-shrink:0}.pl-proof-chip.highlight{color:#065f46;background:#10b98114;border-color:#10b98159}.pl-proof-chip.highlight svg{color:#059669}.pl-hero-card{background:#fffffff2;border:1px solid #2563eb33;border-radius:14px;padding:22px;box-shadow:0 4px 20px -4px #0f172a0f}.pl-hero-card-header{color:#2563eb;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.pl-hero-card-header h3{color:#0f172a;margin:0;font-size:14.5px;font-weight:800}.pl-hero-card-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.pl-hero-card-list li{grid-template-columns:20px 1fr;align-items:start;gap:10px;display:grid}.pl-hero-card-list svg{color:#2563eb;margin-top:2px}.pl-hero-card-list strong{color:#0f172a;font-size:13px;font-weight:750;line-height:1.35;display:block}.pl-hero-card-list p{color:#536174;margin:3px 0 0;font-size:12px;line-height:1.5}.pl-layout-container{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:28px;display:grid}.pl-sticky-toc{background:#fffffff2;border:1px solid #e2e8f0;border-radius:14px;max-height:calc(100vh - 90px);padding:20px;position:sticky;top:76px;overflow-y:auto;box-shadow:0 4px 18px -4px #0f172a0a}.pl-toc-header{color:#2563eb;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:12.5px;font-weight:800;display:flex}.pl-toc-links{gap:5px;display:grid}.pl-toc-links a{color:#475569;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:650;text-decoration:none;transition:all .18s;display:flex}.pl-toc-num{color:#2563eb;background:#2563eb1a;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:850;display:grid}.pl-toc-links a:hover{color:#2563eb;background:#2563eb14;transform:translate(3px)}.pl-toc-links a:hover .pl-toc-num{color:#fff;background:#2563eb}.pl-toc-cta-box{background:linear-gradient(135deg,#2563eb14,#0284c70f);border:1px solid #2563eb33;border-radius:10px;margin-top:20px;padding:16px}.pl-toc-cta-badge{text-transform:uppercase;letter-spacing:.06em;color:#2563eb;margin-bottom:4px;font-size:10.5px;font-weight:800}.pl-toc-cta-box h4{color:#0f172a;margin:0;font-size:13.5px;font-weight:800}.pl-toc-cta-box p{color:#64748b;margin:4px 0 12px;font-size:11.5px;line-height:1.4}.pl-toc-cta-buttons{gap:6px;display:grid}.pl-toc-btn-primary{color:#fff;background:#2563eb;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.pl-toc-btn-primary:hover{background:#1d4ed8;box-shadow:0 4px 10px #2563eb40}.pl-toc-btn-secondary{color:#2563eb;background:#fff;border:1px solid #2563eb4d;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.pl-toc-btn-secondary:hover{background:#2563eb0f;border-color:#2563eb}.pl-article-content{gap:32px;display:grid}.pl-card-section{background:#fffffffa;border:1px solid #e2e8f0e6;border-radius:16px;padding:clamp(24px,3.2vw,36px);box-shadow:0 4px 18px -4px #0f172a0a}.pl-section-badge{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;background:#2563eb17;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 11px;font-size:11px;font-weight:850;display:inline-flex}.pl-card-section h2{color:#0f172a;margin:0 0 12px;font-size:clamp(20px,2.3vw,27px);font-weight:850;line-height:1.3}.pl-section-intro{color:#475569;margin:0 0 24px;font-size:14.5px;line-height:1.68}.pl-pillar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.pl-pillar-card{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 6px #0f172a05}.pl-pillar-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px -4px #2563eb1f}.pl-pillar-icon{color:#2563eb;background:#2563eb1a;border-radius:8px;place-items:center;width:36px;height:36px;margin-bottom:12px;display:grid}.pl-pillar-card strong{color:#0f172a;margin-bottom:6px;font-size:14.5px;font-weight:800;display:block}.pl-pillar-card p{color:#536174;margin:0;font-size:12.5px;line-height:1.55}.pl-callout-box{background:linear-gradient(135deg,#2563eb0f,#0284c70a);border:1px solid #2563eb40;border-radius:12px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.pl-callout-icon{color:#2563eb;flex-shrink:0;margin-top:2px}.pl-callout-body strong{color:#0f172a;margin-bottom:4px;font-size:14px;font-weight:800;display:block}.pl-callout-body p{color:#334155;margin:0;font-size:13px;line-height:1.6}.pl-pipeline-wrap{margin:24px 0}.pl-pipeline-flow{align-items:stretch;gap:8px;display:flex}.pl-pipe-step{background:#fff;border:1px solid #e2e8f0;border-top:3.5px solid #2563eb;border-radius:10px;flex-direction:column;flex:1;min-width:0;padding:16px;display:flex;position:relative;box-shadow:0 2px 8px #0f172a08}.pl-pipe-step-num{letter-spacing:.06em;color:#2563eb;text-transform:uppercase;margin-bottom:6px;font-size:10.5px;font-weight:900}.pl-pipe-step h4{color:#0f172a;margin:0 0 6px;font-size:14px;font-weight:800}.pl-pipe-step p{color:#64748b;flex-grow:1;margin:0 0 10px;font-size:12px;line-height:1.45}.pl-pipe-tag{color:#334155;background:#f1f5f9;border-radius:4px;align-self:flex-start;padding:3px 7px;font-size:10px;font-weight:750;display:inline-block}.pl-pipe-arrow{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;padding:0 2px;font-size:16px;display:flex}.pl-arch-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.pl-arch-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 6px #0f172a05}.pl-arch-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pl-arch-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.pl-arch-badge.aot{color:#059669;background:#10b9811a}.pl-arch-badge.jit{color:#2563eb;background:#2563eb1a}.pl-arch-badge.v8{color:#b45309;background:#d977061a}.pl-arch-badge.opcache{color:#7c3aed;background:#7c3aed1a}.pl-arch-card h3{color:#0f172a;margin:0 0 8px;font-size:15px;font-weight:800}.pl-arch-card p{color:#536174;margin:0 0 12px;font-size:12.5px;line-height:1.55}.pl-arch-meta{border-top:1px solid #f1f5f9;gap:6px;padding-top:10px;font-size:12px;display:grid}.pl-arch-meta-row{gap:8px;display:flex}.pl-arch-meta-row span:first-child{color:#0f172a;min-width:80px;font-weight:750}.pl-arch-meta-row span:last-child{color:#64748b}.pl-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.pl-type-card{background:#fff;border:1px solid #e2e8f0;border-top:3.5px solid #2563eb;border-radius:12px;padding:20px;box-shadow:0 2px 6px #0f172a05}.pl-type-card h3{color:#0f172a;margin:0 0 8px;font-size:15px;font-weight:800}.pl-type-card p{color:#536174;margin:0 0 12px;font-size:12.5px;line-height:1.55}.pl-type-example{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-size:11.5px}.pl-type-example strong{color:#0f172a;margin-bottom:4px;display:block}.pl-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:24px 0;overflow-x:auto;box-shadow:0 2px 8px #0f172a05}.pl-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.pl-data-table th{color:#0f172a;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;padding:14px 16px;font-size:12px;font-weight:800}.pl-data-table td{color:#475569;border-bottom:1px solid #f1f5f9;padding:14px 16px;line-height:1.5}.pl-data-table tr:last-child td{border-bottom:none}.pl-data-table tr:hover td{background:#2563eb05}.pl-lang-cell{color:#0f172a;align-items:center;gap:8px;font-weight:800;display:flex}.pl-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.pl-memory-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:22px}.pl-memory-card h3{color:#0f172a;align-items:center;gap:8px;margin:0 0 10px;font-size:16px;font-weight:800;display:flex}.pl-memory-card h3 svg{color:#2563eb}.pl-memory-card ul{color:#536174;gap:8px;margin:10px 0 0;padding-left:18px;font-size:12.5px;line-height:1.55;display:grid}.pl-memory-card li strong{color:#0f172a}.pl-concurrency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pl-concurrency-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:12px;padding:20px}.pl-concurrency-card h4{color:#0f172a;margin:0 0 6px;font-size:14.5px;font-weight:800}.pl-concurrency-tag{color:#2563eb;margin-bottom:8px;font-size:11px;font-weight:750;display:inline-block}.pl-concurrency-card p{color:#536174;margin:0;font-size:12.5px;line-height:1.55}.pl-code-lab{background:#0f172a;border:1px solid #334155;border-radius:14px;margin-bottom:24px;overflow:hidden;box-shadow:0 10px 30px -5px #0f172a66}.pl-code-nav-bar{background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.pl-term-dots{align-items:center;gap:6px;display:flex}.pl-term-dot{border-radius:50%;width:11px;height:11px}.pl-term-dot.red{background:#ef4444}.pl-term-dot.yellow{background:#f59e0b}.pl-term-dot.green{background:#10b981}.pl-lang-tabs{align-items:center;gap:6px;display:flex;overflow-x:auto}.pl-lang-tab{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.pl-lang-tab:hover{color:#f1f5f9;background:#ffffff0d}.pl-lang-tab.active{color:#38bdf8;background:#0f172a;border-color:#38bdf8;box-shadow:0 2px 8px #38bdf833}.pl-code-actions{align-items:center;gap:8px;display:flex}.pl-copy-code-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:700;transition:all .15s;display:inline-flex}.pl-copy-code-btn:hover{color:#fff;background:#ffffff26}.pl-copy-code-btn.copied{color:#34d399;background:#10b98133;border-color:#10b981}.pl-code-body{max-height:520px;padding:20px 24px;overflow:auto}.pl-code-body pre{color:#e2e8f0;margin:0;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,Menlo,Monaco,monospace;font-size:12.5px;line-height:1.7}.pl-code-body code{color:inherit;background:0 0;padding:0;font-family:inherit}.pl-code-notes-panel{background:#131c31;border-top:1px solid #1e293b;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 24px;display:grid}.pl-code-note-item{font-size:12px}.pl-code-note-item strong{color:#38bdf8;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.pl-code-note-item p{color:#94a3b8;margin:0;line-height:1.5}.pl-project-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.pl-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:22px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #0f172a08}.pl-project-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px -6px #2563eb1f}.pl-proj-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pl-proj-lang-pill{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:850}.pl-proj-lang-pill.ts{color:#2563eb;background:#2563eb1a}.pl-proj-lang-pill.java{color:#b45309;background:#d977061a}.pl-proj-lang-pill.php{color:#7c3aed;background:#7c3aed1a}.pl-project-card h3{color:#0f172a;margin:0 0 6px;font-size:16px;font-weight:800}.pl-proj-stack{color:#64748b;margin-bottom:12px;font-size:12px}.pl-project-card p{color:#536174;flex-grow:1;margin:0 0 16px;font-size:12.5px;line-height:1.55}.pl-proj-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.pl-proj-role-tag{color:#0f172a;font-size:11px;font-weight:700}.pl-proj-link{color:#2563eb;align-items:center;gap:4px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.pl-proj-link:hover{text-decoration:underline}.pl-faq-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.pl-faq-categories{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pl-faq-cat-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s}.pl-faq-cat-btn:hover{color:#0f172a;background:#e2e8f0}.pl-faq-cat-btn.active{color:#fff;background:#2563eb}.pl-faq-search-wrap{min-width:240px;position:relative}.pl-faq-search-wrap svg{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.pl-faq-search-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:7px 12px 7px 34px;font-size:12.5px;transition:border-color .15s}.pl-faq-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.pl-faq-list{gap:10px;display:grid}.pl-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:border-color .15s;overflow:hidden}.pl-faq-item.open{border-color:#2563eb;box-shadow:0 4px 14px #2563eb14}.pl-faq-question{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex}.pl-faq-q-left{flex:1;align-items:center;gap:10px;display:flex}.pl-faq-badge{color:#2563eb;text-transform:uppercase;background:#2563eb14;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:10.5px;font-weight:850}.pl-faq-question strong{color:#0f172a;font-size:14px;font-weight:750;line-height:1.4}.pl-faq-chevron{color:#64748b;flex-shrink:0;transition:transform .2s}.pl-faq-item.open .pl-faq-chevron{color:#2563eb;transform:rotate(180deg)}.pl-faq-answer{color:#475569;border-top:1px solid #f8fafc;padding:0 18px 16px 48px;font-size:13px;line-height:1.65}.pl-faq-answer p{margin:10px 0 0}.pl-checklist-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:24px;padding:24px}.pl-checklist-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.pl-checklist-title-wrap{align-items:center;gap:8px;display:flex}.pl-checklist-title-wrap h4{color:#0f172a;margin:0;font-size:15px;font-weight:800}.pl-checklist-pill{color:#059669;background:#10b9811a;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:800}.pl-checklist-items{gap:10px;display:grid}.pl-check-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.pl-check-item:hover{border-color:#2563eb}.pl-check-item.checked{background:#2563eb0a;border-color:#2563eb4d}.pl-custom-check{background:#fff;border:2px solid #cbd5e1;border-radius:5px;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;transition:all .15s;display:grid}.pl-check-item.checked .pl-custom-check{color:#fff;background:#2563eb;border-color:#2563eb}.pl-check-content strong{color:#0f172a;font-size:13.5px;font-weight:750;line-height:1.35;display:block}.pl-check-content p{color:#64748b;margin:3px 0 0;font-size:12px;line-height:1.45}.pl-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pl-resource-link{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;transition:all .18s;display:flex}.pl-resource-link:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb14}.pl-resource-left{flex-direction:column;display:flex}.pl-resource-pub{color:#2563eb;text-transform:uppercase;font-size:11px;font-weight:750}.pl-resource-left strong{color:#0f172a;margin:2px 0;font-size:13.5px;font-weight:800}.pl-resource-left span{color:#64748b;font-size:11.5px}.pl-resource-link svg{color:#94a3b8;flex-shrink:0}.pl-resource-link:hover svg{color:#2563eb}.pl-takeaway-card{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:1px solid #334155;border-radius:16px;padding:30px;box-shadow:0 10px 30px -5px #0f172a33}.pl-takeaway-badge{color:#60a5fa;text-transform:uppercase;letter-spacing:.05em;background:#2563eb40;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.pl-takeaway-card h3{color:#fff;margin:0 0 10px;font-size:clamp(18px,2vw,24px);font-weight:850}.pl-takeaway-card p{color:#cbd5e1;max-width:820px;margin:0 0 24px;font-size:14px;line-height:1.65}.pl-takeaway-actions{flex-wrap:wrap;gap:12px;display:flex}.pl-action-btn{border-radius:8px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.pl-action-btn.primary{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb4d}.pl-action-btn.primary:hover{background:#1d4ed8;transform:translateY(-2px)}.pl-action-btn.secondary{color:#34d399;background:#10b98126;border:1px solid #10b98166}.pl-action-btn.secondary:hover{color:#fff;background:#10b981;transform:translateY(-2px)}.pl-action-btn.outline{color:#f1f5f9;background:#ffffff14;border:1px solid #fff3}.pl-action-btn.outline:hover{background:#ffffff26;transform:translateY(-2px)}.pl-lesson-footer{color:#64748b;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding:24px 0 36px;font-size:13px;display:flex}.pl-footer-left{align-items:center;gap:10px;display:flex}.pl-footer-right{color:#2563eb;align-items:center;gap:6px;font-weight:650;display:flex}@media (width<=1080px){.pl-topbar-nav{display:none}.pl-layout-container{grid-template-columns:1fr}.pl-sticky-toc{display:none}.pl-hero{grid-template-columns:1fr}.pl-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-type-grid,.pl-concurrency-grid,.pl-project-evidence-grid,.pl-code-notes-panel{grid-template-columns:1fr}}@media (width<=768px){.pl-topbar-nav{display:none}.pl-pipeline-flow{flex-direction:column}.pl-pipe-arrow{padding:6px 0;transform:rotate(90deg)}.pl-arch-matrix,.pl-memory-grid,.pl-pillar-grid,.pl-resource-grid{grid-template-columns:1fr}.pl-takeaway-actions{flex-direction:column}.pl-action-btn{justify-content:center;width:100%}}.modeling-lesson{--lesson-accent:#7c3aed}.modeling-hero{background:linear-gradient(130deg,#ffffffb8,#f5f3ff80),0 0}.modeling-lesson .section-label,.modeling-lesson .eyebrow{color:#6d28d9}.case-brief{background:#fffc;border:1px solid #7c3aed2e;border-top:4px solid #7c3aed;border-radius:8px;margin-top:28px;padding:26px}.case-brief>span,.practice-assignment span{color:#6d28d9;letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:950}.case-brief h3{margin:9px 0 18px}.clarifying-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clarifying-grid>div{background:#7c3aed0f;border-radius:8px;padding:16px}.clarifying-grid p{color:#5f6b7a;margin:6px 0 0;font-size:13px;line-height:1.55}.teacher-note{color:#fff;background:#111827;border-radius:8px;grid-template-columns:120px 1fr;gap:18px;margin-top:18px;padding:18px 20px;display:grid}.teacher-note strong{color:#c4b5fd}.teacher-note p{color:#ffffffbd;margin:0;line-height:1.6}.entity-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.entity-discovery-grid article{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;min-height:170px;padding:20px}.entity-discovery-grid span,.cardinality-grid article>span{color:#7c3aed;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.entity-discovery-grid h3,.cardinality-grid h3{margin:10px 0 7px}.entity-discovery-grid p,.cardinality-grid p{color:#5f6b7a;margin:0;font-size:14px;line-height:1.5}.teacher-question,.solution-card{background:#ffffffc7;border:1px solid #7c3aed33;border-radius:8px;margin-top:22px}.teacher-question summary,.solution-card summary{color:#5b21b6;cursor:pointer;padding:18px 20px;font-weight:900}.teacher-question p,.solution-card>div{border-top:1px solid var(--line);color:#536174;margin:0;padding:18px 20px;line-height:1.65}.attribute-board{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:stretch;gap:18px;margin-top:28px;display:grid}.attribute-entity{border:1px solid var(--line);background:#fff;border-radius:8px;display:grid;overflow:hidden;box-shadow:0 16px 34px #11182714}.attribute-entity strong{color:#fff;background:#5b21b6;padding:14px 17px}.attribute-entity span{color:#536174;border-top:1px solid #11182712;align-items:center;gap:7px;padding:10px 17px;font-size:13px;font-weight:750;display:flex}.attribute-entity svg{color:#fbbf24}.attribute-rules{background:#7c3aed14;border-radius:8px;padding:22px}.attribute-rules h3{margin:0 0 16px}.attribute-rules ul,.schema-checklist ul{color:#536174;gap:10px;margin:0;padding-left:20px;line-height:1.55;display:grid}.key-comparison{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.key-comparison>div{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:17px}.key-comparison p{color:#657184;margin:7px 0 0;font-size:13px;line-height:1.5}.cardinality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.cardinality-grid article{border:1px solid var(--line);background:#ffffffc7;border-left:4px solid #8b5cf6;border-radius:8px;padding:21px}.cardinality-grid code{margin:16px 0 0;font-size:12px;display:block}.junction-explainer{color:#fff;background:#111827;border-radius:8px;grid-template-columns:minmax(220px,.8fr) minmax(230px,1.2fr);gap:22px;margin-top:20px;padding:24px;display:grid}.junction-explainer h3{color:#fff;margin:0}.junction-explainer .panel-label{color:#c4b5fd}.junction-explainer>p{color:#ffffffb3;grid-column:1/-1;margin:0;line-height:1.6}.junction-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.junction-fields span{color:#ddd6fe;border:1px solid #ffffff21;border-radius:6px;padding:9px 10px;font-size:12px;font-weight:800}.booking-erd{background-color:#ffffffbf;background-image:linear-gradient(90deg,#7c3aed0b 1px,#0000 1px),linear-gradient(#7c3aed0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #7c3aed29;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"user booking payment review""accommodation room junction junction";gap:62px 34px;margin:34px 0 24px;padding:24px;display:grid;position:relative}.erd-node{z-index:1;background:#fff;border:1px solid #11182721;border-radius:7px;align-self:start;display:grid;overflow:hidden;box-shadow:0 12px 28px #11182714}.erd-node strong{color:#fff;background:#111827;padding:10px 12px;font-size:13px}.erd-node span{color:#5f6b7a;border-top:1px solid #1118270f;padding:7px 12px;font-size:10px;font-weight:750}.erd-user{grid-area:user}.erd-booking{grid-area:booking}.erd-booking-room{grid-area:junction}.erd-room{grid-area:room}.erd-accommodation{grid-area:accommodation}.erd-payment{grid-area:payment}.erd-review{grid-area:review}.erd-booking-room strong{background:#6d28d9}.erd-edge{z-index:2;color:#6d28d9;background:#ede9fe;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:950;position:absolute}.edge-user-booking{top:74px;left:24.5%}.edge-booking-payment{top:74px;left:50.5%}.edge-booking-review{top:74px;right:22%}.edge-room-accommodation{bottom:70px;left:24%}.edge-room-junction{bottom:70px;left:50%}.edge-booking-junction{top:47%;right:21%}.schema-code{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:28px;overflow:hidden}.schema-code pre,.solution-card pre{color:#dbeafe;background:#0f172a;margin:0;padding:22px;font-size:13px;line-height:1.65;overflow-x:auto}.lesson-section .schema-code code,.lesson-section .solution-card pre code{color:inherit;font-size:inherit;background:0 0;margin:0;padding:0;font-weight:500}.schema-checklist{background:#ffffffc2;border-left:4px solid #8b5cf6;border-radius:8px;margin-top:18px;padding:22px}.schema-checklist h3{margin:0 0 15px}.normalization-steps{gap:12px;margin-top:28px;display:grid}.normalization-steps article{border:1px solid var(--line);background:#ffffffc2;border-radius:8px;grid-template-columns:70px 1fr;align-items:center;gap:20px;padding:20px;display:grid}.normalization-steps article>span{color:#7c3aed;font-size:24px;font-weight:950}.normalization-steps h3{margin:0 0 5px}.normalization-steps p{color:#5f6b7a;margin:0;line-height:1.55}.before-after-model{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.before-after-model>div{border:1px solid var(--line);background:#ffffffc2;border-radius:8px;padding:20px}.before-after-model .bad-model{border-top:4px solid var(--rose)}.before-after-model .good-model{border-top:4px solid var(--green)}.before-after-model span{letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:950}.bad-model span{color:var(--rose)}.good-model span{color:#047857}.before-after-model code{overflow-wrap:anywhere;margin:14px 0;line-height:1.5;display:block}.before-after-model p{color:#657184;margin:0;font-size:13px;line-height:1.5}.modeling-mistakes{gap:10px;margin-top:28px;display:grid}.modeling-mistakes>div{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;grid-template-columns:48px 1fr;align-items:center;gap:15px;padding:17px 19px;display:grid}.modeling-mistakes span{color:#7c3aed;font-weight:950}.modeling-mistakes p{color:#536174;margin:0;line-height:1.5}.practice-assignment{color:#fff;background:#111827;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:26px;padding:26px;display:grid}.practice-assignment span{color:#c4b5fd}.practice-assignment h3{color:#fff;margin:9px 0}.practice-assignment p,.practice-assignment ol{color:#ffffffb8;line-height:1.6}.practice-assignment p{margin:0}.practice-assignment ol{gap:8px;margin:0;padding-left:22px;display:grid}.solution-card>div>p{margin:0}.solution-card pre{border-radius:8px;margin:14px 0}.backend-lesson{--lesson-accent:#0f766e}.backend-hero{background:linear-gradient(130deg,#ffffffb3,#ecfdf56b),0 0}.study-cycle,.backend-responsibility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px;display:grid}.study-cycle>div,.backend-responsibility-grid article{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;min-height:176px;padding:18px}.study-cycle span{color:var(--lesson-accent);margin-bottom:34px;font-size:12px;font-weight:950;display:block}.study-cycle strong,.backend-responsibility-grid h3{color:var(--ink);margin:0 0 7px;font-size:17px;display:block}.study-cycle p,.backend-responsibility-grid p{color:#657184;margin:0;font-size:13px;line-height:1.5}.study-rule,.self-check{border-left:4px solid var(--lesson-accent);background:#0f766e14;border-radius:8px;grid-template-columns:140px 1fr;gap:18px;margin-top:14px;padding:17px 19px;display:grid}.study-rule strong,.self-check span{color:var(--lesson-accent);text-transform:uppercase;font-size:12px;font-weight:950}.study-rule p,.self-check p{color:#465467;margin:0;line-height:1.6}.lecture-agenda{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.lecture-agenda article{border:1px solid var(--line);border-top:4px solid var(--lesson-accent);background:#ffffffc7;border-radius:8px;padding:20px}.lecture-agenda span{color:var(--lesson-accent);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:950}.lecture-agenda h3{margin:9px 0 7px;font-size:18px}.lecture-agenda p{color:#657184;margin:0;font-size:13px;line-height:1.5}.backend-responsibility-grid article{min-height:190px}.backend-responsibility-grid svg{color:var(--lesson-accent);margin-bottom:28px}.request-flow{grid-template-columns:repeat(4,minmax(105px,1fr) 18px) minmax(105px,1fr);align-items:center;gap:5px;margin:30px 0;display:grid}.request-flow>div{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:132px;padding:14px}.request-flow>div span{width:25px;height:25px;color:var(--lesson-accent);background:#0f766e1a;border-radius:50%;place-items:center;margin-bottom:18px;font-size:11px;font-weight:950;display:grid}.request-flow strong,.request-flow small{display:block}.request-flow small{color:#657184;margin-top:5px;font-size:11px;line-height:1.4}.request-flow>b{color:var(--lesson-accent);text-align:center}.endpoint-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;margin:28px 0;overflow-x:auto}.endpoint-table{border-collapse:collapse;text-align:left;width:100%;min-width:620px}.endpoint-table th,.endpoint-table td{border-bottom:1px solid var(--line);color:#536174;padding:14px 17px;font-size:13px}.endpoint-table th{color:#fff;text-transform:uppercase;background:#111827;font-size:11px}.endpoint-table tr:last-child td{border-bottom:0}.endpoint-table td:nth-child(2){color:#273548;font-weight:850}.api-example pre{min-height:245px}.status-code-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;display:grid}.status-code-grid article{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;grid-template-columns:54px 1fr;gap:12px;min-height:112px;padding:16px;display:grid}.status-code-grid article>strong{color:var(--lesson-accent);font-size:22px}.status-code-grid span{color:#273548;font-size:13px;font-weight:900}.status-code-grid p{color:#657184;margin:6px 0 0;font-size:12px;line-height:1.45}.security-checklist,.milestone-list{gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.security-checklist li,.milestone-list li{border:1px solid var(--line);background:#ffffffc2;border-radius:8px;grid-template-columns:52px 1fr;gap:16px;padding:17px;display:grid}.security-checklist li>span,.milestone-list li>span{color:var(--lesson-accent);font-size:12px;font-weight:950}.security-checklist p,.milestone-list p{color:#536174;margin:0;line-height:1.55}.auth-flow,.authorization-layers{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:28px 0;display:grid}.auth-flow>div,.authorization-layers article{border:1px solid var(--line);background:#fffc;border-radius:8px;min-height:158px;padding:17px}.auth-flow span,.authorization-layers span{color:var(--lesson-accent);text-transform:uppercase;margin-bottom:30px;font-size:11px;font-weight:950;display:block}.auth-flow strong,.auth-flow small{display:block}.auth-flow small,.authorization-layers p{color:#657184;margin-top:6px;font-size:12px;line-height:1.45}.auth-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0;display:grid}.auth-choice-grid article{border:1px solid var(--line);border-top:4px solid var(--lesson-accent);background:#fffc;border-radius:8px;padding:23px}.auth-choice-grid span,.token-validation-card>span{color:var(--lesson-accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.auth-choice-grid h3{margin:9px 0}.auth-choice-grid p,.auth-choice-grid li{color:#536174;line-height:1.55}.auth-choice-grid ul{gap:7px;margin:17px 0 0;padding-left:18px;font-size:13px;display:grid}.token-flow{grid-template-columns:repeat(4,minmax(110px,1fr) 18px) minmax(110px,1fr);align-items:center;gap:5px;margin:30px 0;display:grid}.token-flow>div{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:130px;padding:15px}.token-flow span{color:var(--lesson-accent);margin-bottom:20px;font-size:11px;font-weight:950;display:block}.token-flow strong,.token-flow small{display:block}.token-flow small{color:#657184;margin-top:5px;line-height:1.4}.token-flow>b{color:var(--lesson-accent);text-align:center}.token-validation-card{background:#111827;border-radius:8px;grid-template-columns:180px 1fr;gap:22px;padding:22px;display:grid}.token-validation-card>span{color:#6ee7b7}.token-validation-card>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.token-validation-card p{color:#ffffffb3;margin:0;font-size:13px;line-height:1.5}.token-validation-card strong{color:#fff}.authorization-layers{grid-template-columns:repeat(4,minmax(0,1fr))}.authorization-layers h3{margin:0}.threat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:28px 0;display:grid}.threat-grid article{border:1px solid var(--line);border-left:4px solid var(--rose);background:#ffffffc7;border-radius:8px;padding:20px}.threat-grid p{color:#536174;margin:8px 0 12px;line-height:1.55}.threat-grid span{color:#8a3a4d;font-size:12px;font-weight:850;line-height:1.45}.security-baseline{color:#fff;background:#111827;border-radius:8px;padding:20px}.security-baseline p{color:#ffffffb8;margin:8px 0 0;line-height:1.6}.resource-list{gap:10px;margin-top:28px;display:grid}.resource-list a{border:1px solid var(--line);background:#fffc;border-radius:8px;grid-template-columns:120px 1fr 24px;align-items:center;gap:18px;padding:18px 20px;transition:transform .18s,border-color .18s;display:grid}.resource-list a:hover{border-color:#0f766e75;transform:translateY(-2px)}.resource-list a>span{color:var(--lesson-accent);text-transform:uppercase;font-size:11px;font-weight:950}.resource-list strong{color:var(--ink)}.resource-list p{color:#657184;margin:5px 0 0;font-size:13px;line-height:1.45}.resource-list svg{color:var(--lesson-accent)}.test-pyramid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.test-pyramid>div{color:#fff;background:#111827;border-radius:8px;padding:22px}.test-pyramid>div:nth-child(2){background:#1f4d4a}.test-pyramid>div:nth-child(3){background:#0f766e}.test-pyramid p{color:#ffffffb8;margin:8px 0 0;font-size:13px;line-height:1.5}.test-cases{margin-top:12px}.project-brief{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.project-brief>div{border:1px solid var(--line);border-top:4px solid var(--lesson-accent);background:#fffc;border-radius:8px;padding:22px}.project-brief span{color:var(--lesson-accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.project-brief h3{margin:10px 0 8px}.project-brief p{color:#536174;margin:0;line-height:1.55}.milestone-list li{grid-template-columns:72px 1fr}.milestone-list strong{color:#273548}.milestone-list p{margin-top:5px}.completion-gate{color:#fff;background:#111827;border-left:4px solid #fbbf24;border-radius:8px;margin-top:28px;padding:22px}.completion-gate p{color:#ffffffb8;margin:8px 0 0;line-height:1.6}.ba-lesson{--ba-primary:#4f46e5;--ba-primary-hover:#4338ca;--ba-primary-light:#6366f114;--ba-accent:#7c3aed;--ba-accent-light:#7c3aed14;--ba-dark:#0f172a;--ba-dark-surface:#1e293b;--ba-text-main:#1e293b;--ba-text-muted:#536174;--ba-border:#e2e8f0;--ba-card-bg:#fffffff5;--lesson-accent:#6366f1}.ba-reading-progress{z-index:9999;background:linear-gradient(90deg,#4f46e5,#7c3aed,#ec4899);height:3.5px;transition:width .1s ease-out;position:fixed;top:0;left:0;box-shadow:0 0 10px #6366f180}.ba-topbar{-webkit-backdrop-filter:blur(14px);z-index:100;background:#ffffffe0;border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.ba-topbar-left{flex-shrink:0;align-items:center;gap:16px;display:flex}.ba-topbar-left .brand{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.ba-topbar-left .brand-avatar{object-fit:cover!important;border:2px solid #6366f1!important;border-radius:10px!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.ba-topbar-left .brand-info{white-space:nowrap;flex-direction:column;flex-shrink:0;display:flex}.ba-topbar-left .brand-name{color:#0f172a;white-space:nowrap;font-size:14px;font-weight:850;line-height:1.2}.ba-topbar-left .brand-role-tag{color:#6366f1;letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:650}.ba-back-home-btn{color:#4f46e5;background:#6366f114;border:1px solid #6366f133;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex-shrink:0!important}.ba-back-home-btn:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;transform:translate(-2px)}.ba-topbar-nav{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.ba-topbar-nav::-webkit-scrollbar{display:none}.ba-topbar-nav a{color:#475569;border-radius:6px;align-items:center;padding:6px 11px;font-size:12.5px;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex:none!important}.ba-topbar-nav a:hover{color:#4f46e5;background:#6366f114}.ba-topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.ba-cta-live{color:#059669;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;white-space:nowrap!important;flex-shrink:0!important}.ba-cta-live:hover{color:#fff;background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.ba-cta-cv{color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:8px;align-items:center;gap:6px;padding:7px 15px;font-size:12.5px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #6366f140;white-space:nowrap!important;flex-shrink:0!important}.ba-cta-cv:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 16px #4f46e559}.ba-hero{background:radial-gradient(circle at 10% 20%,#6366f11a 0%,#0000 45%),radial-gradient(circle at 90% 80%,#7c3aed14 0%,#0000 45%),linear-gradient(135deg,#fff 0%,#f8faff 100%);border:1px solid #6366f133;border-radius:18px;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;margin-bottom:28px;padding:clamp(24px,3.5vw,40px);display:grid;box-shadow:0 10px 30px -10px #6366f11a}.ba-breadcrumbs{color:#64748b;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.ba-breadcrumbs a{color:#64748b;text-decoration:none;transition:color .15s}.ba-breadcrumbs a:hover{color:#4f46e5}.ba-breadcrumbs span{color:#4f46e5;font-weight:700}.ba-hero-badge-wrap{margin-bottom:12px}.ba-hero-badge{color:#4f46e5;letter-spacing:.05em;text-transform:uppercase;background:#6366f11a;border:1px solid #6366f140;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:850;display:inline-flex}.ba-hero h1{color:#0f172a;letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(24px,2.8vw,36px);font-weight:850;line-height:1.25}.ba-hero .knowledge-lede{color:#334155;margin:0 0 20px;font-size:15.5px;line-height:1.7}.ba-proof-chips{flex-wrap:wrap;gap:8px;display:flex}.ba-proof-chip{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex;box-shadow:0 2px 4px #0f172a05}.ba-proof-chip strong{color:#0f172a;font-weight:750}.ba-proof-chip svg{color:#4f46e5;flex-shrink:0}.ba-proof-chip.highlight{color:#065f46;background:#10b98114;border-color:#10b98159}.ba-proof-chip.highlight svg{color:#059669}.ba-hero-card{background:#fffffff2;border:1px solid #6366f133;border-radius:14px;padding:22px;box-shadow:0 4px 20px -4px #0f172a0f}.ba-hero-card-header{color:#4f46e5;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.ba-hero-card-header h3{color:#0f172a;margin:0;font-size:14.5px;font-weight:800}.ba-hero-card-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ba-hero-card-list li{grid-template-columns:20px 1fr;align-items:start;gap:10px;display:grid}.ba-hero-card-list svg{color:#4f46e5;margin-top:2px}.ba-hero-card-list strong{color:#0f172a;font-size:13px;font-weight:750;line-height:1.35;display:block}.ba-hero-card-list p{color:#536174;margin:3px 0 0;font-size:12px;line-height:1.5}.ba-layout-container{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:28px;display:grid}.ba-sticky-toc{background:#fffffff0;border:1px solid #e2e8f0;border-radius:14px;max-height:calc(100vh - 90px);padding:20px;position:sticky;top:76px;overflow-y:auto;box-shadow:0 4px 18px -4px #0f172a0a}.ba-toc-header{color:#4f46e5;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:12.5px;font-weight:800;display:flex}.ba-toc-links{gap:5px;display:grid}.ba-toc-links a{color:#475569;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:650;text-decoration:none;transition:all .18s;display:flex}.ba-toc-num{color:#4f46e5;background:#6366f11a;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:850;display:grid}.ba-toc-links a:hover{color:#4f46e5;background:#6366f114;transform:translate(3px)}.ba-toc-links a:hover .ba-toc-num{color:#fff;background:#4f46e5}.ba-toc-cta-box{background:linear-gradient(135deg,#6366f114,#7c3aed0d);border:1px solid #6366f133;border-radius:10px;margin-top:20px;padding:16px}.ba-toc-cta-badge{text-transform:uppercase;letter-spacing:.06em;color:#4f46e5;margin-bottom:4px;font-size:10.5px;font-weight:800}.ba-toc-cta-box h4{color:#0f172a;margin:0;font-size:14px;font-weight:800}.ba-toc-cta-box p{color:#64748b;margin:4px 0 12px;font-size:11.5px;line-height:1.4}.ba-toc-cta-buttons{gap:6px;display:grid}.ba-toc-btn-primary{color:#fff;background:#4f46e5;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.ba-toc-btn-primary:hover{background:#4338ca;box-shadow:0 4px 10px #4f46e540}.ba-toc-btn-secondary{color:#4f46e5;background:#fff;border:1px solid #6366f14d;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.ba-toc-btn-secondary:hover{background:#6366f10f;border-color:#4f46e5}.ba-article-content{gap:32px;display:grid}.ba-card-section{background:#fffffff5;border:1px solid #e2e8f0e6;border-radius:16px;padding:clamp(24px,3.2vw,36px);box-shadow:0 4px 18px -4px #0f172a0a}.ba-section-badge{color:#4f46e5;letter-spacing:.06em;text-transform:uppercase;background:#6366f117;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 11px;font-size:11px;font-weight:850;display:inline-flex}.ba-card-section h2{color:#0f172a;margin:0 0 12px;font-size:clamp(20px,2.3vw,27px);font-weight:850;line-height:1.3}.ba-section-intro{color:#475569;margin:0 0 24px;font-size:14.5px;line-height:1.68}.ba-position-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.ba-position-card{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #4f46e5;border-radius:12px;flex-direction:column;padding:22px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #0f172a08}.ba-position-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px -6px #6366f11f}.ba-pos-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ba-pos-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:850}.ba-pos-tag.academic{color:#4f46e5;background:#6366f11a}.ba-pos-tag.practice{color:#0284c7;background:#0ea5e91a}.ba-pos-tag.delivery{color:#059669;background:#10b9811a}.ba-pos-icon{color:#4f46e5}.ba-position-card h3{color:#0f172a;margin:0 0 10px;font-size:16px;font-weight:800}.ba-position-card p{color:#536174;flex-grow:1;margin:0 0 16px;font-size:13px;line-height:1.6}.ba-pos-benefit{color:#334155;background:#f8fafc;border-left:3px solid #4f46e5;border-radius:8px;margin-top:auto;padding:10px 12px;font-size:12px;line-height:1.5}.ba-callout-box{background:linear-gradient(135deg,#6366f114,#f8fafccc);border:1px solid #6366f140;border-radius:12px;align-items:flex-start;gap:16px;margin-top:24px;padding:20px;display:flex}.ba-callout-icon{color:#4f46e5;flex-shrink:0;margin-top:2px}.ba-callout-content h4{color:#1e1b4b;margin:0 0 6px;font-size:14.5px;font-weight:800}.ba-callout-content p{color:#475569;margin:0;font-size:13px;line-height:1.65}.ba-coursework-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ba-cw-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:22px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 4px 14px #0f172a05}.ba-cw-card:hover{border-color:#6366f166;transform:translateY(-2px)}.ba-cw-badge{text-transform:uppercase;letter-spacing:.06em;color:#4f46e5;background:#6366f117;border-radius:6px;align-self:flex-start;margin-bottom:10px;padding:3px 9px;font-size:11px;font-weight:850;display:inline-block}.ba-cw-card h3{color:#0f172a;margin:0 0 10px;font-size:16px;font-weight:800}.ba-cw-desc{color:#536174;margin:0 0 14px;font-size:13px;line-height:1.6}.ba-cw-evidence{color:#1e293b;background:#f8fafc;border-left:3px solid #6366f1;border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:12px;line-height:1.5}.ba-cw-impact{color:#059669;margin-top:auto;font-size:12px;font-weight:650;line-height:1.45}.ba-cw-impact span{color:#047857;font-weight:800}.ba-timeline-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px;display:grid}.ba-timeline-step{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:14px;padding:18px;transition:all .2s;display:flex;box-shadow:0 2px 8px #0f172a08}.ba-timeline-step:hover{border-color:#6366f1;box-shadow:0 6px 16px #6366f11a}.ba-step-number{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.ba-step-body h4{color:#0f172a;margin:0;font-size:14.5px;font-weight:800}.ba-step-sub{color:#6366f1;margin:2px 0 8px;font-size:11.5px;font-weight:700}.ba-step-detail{color:#536174;margin:0;font-size:12px;line-height:1.55}.ba-subheading{color:#0f172a;margin:32px 0 8px;font-size:18px;font-weight:850}.ba-subheading-desc{color:#64748b;margin:0 0 18px;font-size:13.5px;line-height:1.6}.ba-inquiry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.ba-inquiry-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #4f46e5;border-radius:10px;padding:18px;box-shadow:0 2px 6px #0f172a05}.ba-inquiry-header{color:#4f46e5;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ba-inquiry-header strong{color:#0f172a;font-size:13.5px;font-weight:800}.ba-inquiry-card p{color:#536174;margin:0;font-size:12.5px;line-height:1.55}.ba-project-filter-bar{gap:8px;margin-bottom:22px;padding-bottom:4px;display:flex;overflow-x:auto}.ba-filter-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:8px 16px;font-size:12.5px;font-weight:700;transition:all .2s}.ba-filter-btn:hover{color:#0f172a;background:#e2e8f0}.ba-filter-btn.active{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 4px 12px #4f46e540}.ba-project-showcase-list{gap:20px;display:grid}.ba-showcase-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;transition:all .2s;box-shadow:0 4px 16px #0f172a08}.ba-showcase-card.featured{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border-color:#6366f159}.ba-showcase-badge-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.ba-proj-type{text-transform:uppercase;letter-spacing:.06em;color:#4f46e5;background:#6366f11a;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:850}.ba-proj-status{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.ba-proj-status.live{color:#059669;background:#10b9811a}.ba-proj-status.completed{color:#0284c7;background:#0ea5e91a}.ba-showcase-main-info h3{color:#0f172a;margin:0 0 6px;font-size:18px;font-weight:850}.ba-showcase-tech{color:#64748b;margin:0 0 18px;font-size:12.5px;font-weight:600}.ba-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ba-showcase-col{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;padding:16px}.ba-showcase-col.wide{background:#fff;border:1px dashed #cbd5e1;grid-column:1/-1}.ba-showcase-col h4{color:#0f172a;margin:0 0 8px;font-size:13px;font-weight:800}.ba-showcase-col p{color:#475569;margin:0;font-size:12.5px;line-height:1.6}.ba-artifacts-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.ba-artifacts-tags span{color:#4f46e5;background:#6366f114;border:1px solid #6366f133;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700}.ba-showcase-links{flex-wrap:wrap;gap:10px;display:flex}.ba-link-btn{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.ba-link-btn:hover{color:#0f172a;background:#e2e8f0}.ba-link-btn.primary{color:#fff;background:#0284c7;border-color:#0284c7}.ba-link-btn.primary:hover{background:#0369a1}.ba-positioning-quote{color:#f8fafc;background:#0f172a;border-left:5px solid #6366f1;border-radius:14px;margin-bottom:28px;padding:24px}.ba-quote-badge{text-transform:uppercase;letter-spacing:.08em;color:#c4b5fd;margin-bottom:10px;font-size:11px;font-weight:850}.ba-positioning-quote p{color:#f8fafce6;margin:0;font-size:14px;line-height:1.75}.ba-positioning-quote strong{color:#fff}.ba-star-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px;display:grid}.ba-star-card{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #6366f1;border-radius:12px;padding:22px;box-shadow:0 4px 14px #0f172a08}.ba-star-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.ba-star-project{color:#0f172a;font-size:15px;font-weight:800}.ba-star-badge{color:#4f46e5;background:#6366f11a;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:850}.ba-star-body{gap:10px;display:grid}.ba-star-body p{color:#475569;margin:0;font-size:12.5px;line-height:1.6}.ba-star-body strong{color:#0f172a;font-weight:800}.ba-star-body code{color:#4f46e5;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:11.5px}.ba-review-list{gap:10px;display:grid}.ba-details-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s;overflow:hidden}.ba-details-item[open]{border-color:#6366f166;box-shadow:0 4px 12px #6366f10f}.ba-summary{cursor:pointer;color:#1e293b;justify-content:space-between;align-items:center;padding:15px 18px;font-size:14px;font-weight:750;list-style:none;transition:background .15s;display:flex}.ba-summary::-webkit-details-marker{display:none}.ba-summary:hover{color:#4f46e5;background:#f8fafc}.ba-summary-chevron{color:#64748b;flex-shrink:0;transition:transform .2s}.ba-details-item[open] .ba-summary-chevron{color:#4f46e5;transform:rotate(180deg)}.ba-details-content{border-top:1px solid #f1f5f9;padding:0 18px 16px}.ba-details-content p{color:#475569;margin:12px 0 0;font-size:13px;line-height:1.68}.ba-case-scenario-card{background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:12px;margin-bottom:24px;padding:22px}.ba-scenario-badge{text-transform:uppercase;letter-spacing:.06em;color:#ea580c;margin-bottom:8px;font-size:11px;font-weight:850}.ba-case-scenario-card h3{color:#9a3412;margin:0 0 10px;font-size:16px;font-weight:800}.ba-case-scenario-card p{color:#7c2d12;margin:0;font-size:13px;line-height:1.65}.ba-rca-list{gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.ba-rca-list li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:16px;padding:16px 20px;display:flex;box-shadow:0 2px 6px #0f172a05}.ba-rca-step-num{color:#4f46e5;background:#6366f11a;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:12px;font-weight:850;display:grid}.ba-rca-list strong{color:#0f172a;margin-bottom:4px;font-size:13.5px;font-weight:800;display:block}.ba-rca-list p{color:#475569;margin:0;font-size:12.5px;line-height:1.55}.ba-rca-list code{color:#0284c7;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:11.5px}.ba-case-deliverables{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ba-deliverable-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.ba-deliverable-card svg{color:#4f46e5;margin-bottom:12px}.ba-deliverable-card strong{color:#0f172a;margin-bottom:6px;font-size:14px;font-weight:800;display:block}.ba-deliverable-card p{color:#536174;margin:0;font-size:12.5px;line-height:1.55}.ba-deliverable-card code{color:#4f46e5;background:#f1f5f9;border-radius:4px;padding:2px 5px;font-size:11.5px}.ba-four-pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.ba-pillar-card{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #4f46e5;border-radius:12px;padding:20px}.ba-pillar-tag{text-transform:uppercase;letter-spacing:.06em;color:#4f46e5;font-size:10.5px;font-weight:850}.ba-pillar-card strong{color:#0f172a;margin:6px 0 8px;font-size:14.5px;font-weight:800;display:block}.ba-pillar-card p{color:#536174;margin:0;font-size:12.5px;line-height:1.55}.ba-interactive-checklist{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:24px;padding:24px}.ba-checklist-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.ba-checklist-title-wrap{align-items:center;gap:8px;display:flex}.ba-checklist-icon{color:#059669}.ba-checklist-title-wrap h4{color:#0f172a;margin:0;font-size:15px;font-weight:800}.ba-checklist-progress-pill{color:#059669;background:#10b9811a;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:800}.ba-checklist-items{gap:10px;display:grid}.ba-check-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.ba-check-item:hover{border-color:#6366f1}.ba-check-item.is-checked{background:#6366f10a;border-color:#6366f14d}.ba-check-item input[type=checkbox]{display:none}.ba-custom-checkbox{background:#fff;border:2px solid #cbd5e1;border-radius:5px;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;transition:all .15s;display:grid}.ba-check-item.is-checked .ba-custom-checkbox{color:#fff;background:#4f46e5;border-color:#4f46e5}.ba-check-label-text{color:#334155;font-size:13px;line-height:1.5}.ba-interviewer-box{color:#fff;background:#1e1b4b;border-left:5px solid #a855f7;border-radius:12px;padding:22px}.ba-interviewer-header{color:#c4b5fd;align-items:center;gap:8px;margin-bottom:14px;display:flex}.ba-interviewer-header strong{color:#fff;font-size:14.5px;font-weight:800}.ba-prompts-list{gap:12px;display:grid}.ba-prompt-row{align-items:flex-start;gap:12px;display:flex}.ba-prompt-num{color:#c4b5fd;background:#ffffff26;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 7px;font-size:11px;font-weight:850}.ba-prompt-row p{color:#ffffffd9;margin:0;font-size:13px;line-height:1.6}.ba-takeaway-card{text-align:left;background:linear-gradient(135deg,#6366f114 0%,#7c3aed0d 100%);border:1px solid #6366f140;border-radius:16px;padding:28px}.ba-takeaway-badge{text-transform:uppercase;letter-spacing:.06em;color:#4f46e5;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:850;display:inline-flex}.ba-takeaway-card strong{color:#0f172a;margin-bottom:10px;font-size:18px;font-weight:850;display:block}.ba-takeaway-card p{color:#475569;margin:0 0 20px;font-size:14px;line-height:1.7}.ba-takeaway-actions{flex-wrap:wrap;gap:10px;display:flex}.ba-action-link{border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:750;text-decoration:none;transition:all .2s;display:inline-flex}.ba-action-link.primary{color:#fff;background:#0f172a}.ba-action-link.primary:hover{background:#1e293b;transform:translateY(-1px)}.ba-action-link.secondary{color:#fff;background:#0284c7}.ba-action-link.secondary:hover{background:#0369a1;transform:translateY(-1px)}.ba-action-link.outline{color:#4f46e5;background:#fff;border:1px solid #6366f159}.ba-action-link.outline:hover{background:#6366f10f;border-color:#4f46e5}.ba-lesson-footer{color:#64748b;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding:24px 0 32px;font-size:12.5px;display:flex}.ba-footer-left{align-items:center;gap:8px;display:flex}.ba-footer-divider{color:#cbd5e1}.ba-footer-right{color:#6366f1;align-items:center;gap:6px;font-weight:650;display:flex}@media (width<=1080px){.ba-topbar-nav{display:none}.ba-layout-container{grid-template-columns:1fr}.ba-sticky-toc{max-height:none;position:static}.ba-hero{grid-template-columns:1fr}}@media (width<=860px){.ba-position-grid,.ba-coursework-grid,.ba-timeline-container,.ba-inquiry-grid,.ba-star-grid,.ba-four-pillars,.ba-case-deliverables,.ba-showcase-grid{grid-template-columns:1fr}.ba-topbar-nav{display:none}}@media (width<=640px){.ba-topbar-actions .ba-cta-live{display:none}.ba-hero h1{font-size:22px}.ba-card-section{padding:18px}.ba-takeaway-actions{flex-direction:column}.ba-action-link{justify-content:center;width:100%}.ba-lesson-footer{flex-direction:column;align-items:flex-start}}.experience-section{background:#f0f9ffa6;border-top:1px solid #0ea5e933;gap:20px;padding-top:0;display:grid}.experience-card{background:#fff;border:1px solid #0ea5e940;border-radius:16px;gap:22px;margin-bottom:22px;padding:clamp(22px,3vw,28px);transition:all .22s;display:flex;box-shadow:0 10px 30px #0ea5e914,0 4px 12px #0f172a0a}.experience-card:hover{border-color:#0ea5e98c;transform:translateY(-3px);box-shadow:0 20px 40px #0ea5e929,0 6px 18px #0f172a0f}.experience-card h2{color:#0f172a;margin-top:4px;margin-bottom:6px;font-size:21px;font-weight:850}.experience-card .section-label{color:#0284c7}.experience-card .experience-meta{color:#0284c7;letter-spacing:.02em;margin-top:4px;margin-bottom:12px;font-size:13.5px;font-weight:750}.experience-card p{color:#475569;max-width:980px;margin-bottom:0;font-size:15px;line-height:1.68}.experience-card p b{color:#0f172a;font-weight:750}.experience-icon{color:#0284c7;background:linear-gradient(135deg,#0ea5e926,#2563eb1a);border:1px solid #0ea5e959;border-radius:12px;flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.contact-section{background:linear-gradient(#fff,#f0f9ff 60%,#e0f2fe);border-top:1px solid #0ea5e938;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(26px,4vw,56px);display:grid}.contact-section h2{color:#0f172a;font-size:clamp(26px,3.2vw,40px);font-weight:850;line-height:1.2}.contact-section p{color:#475569}.contact-links{gap:12px;display:grid}.contact-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contact-action-item{color:#0f172a;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1e6;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:0 16px;font-size:13.5px;font-weight:750;text-decoration:none;transition:all .16s;display:flex;box-shadow:0 2px 6px #0f172a08}.contact-action-item svg{color:#0284c7;flex-shrink:0}.contact-action-item:hover{color:#0284c7;background:#f0f9ff;border-color:#0ea5e999;transform:translateY(-2px);box-shadow:0 8px 20px #0ea5e924}.footer-cv-box{background:#fff;border:1.5px solid #0ea5e947;border-radius:14px;padding:14px 16px;box-shadow:0 4px 16px #0ea5e90f}.footer-cv-header{color:#0f172a;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:850;display:flex}.footer-cv-header svg{color:#0284c7;flex-shrink:0}.footer-cv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.footer-cv-item{background:#f8fafc;border:1px solid #e2e8f0f2;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;transition:all .16s;display:flex}.footer-cv-item:hover{background:#f0f9ff;border-color:#0ea5e973}.footer-cv-meta{align-items:center;gap:7px;min-width:0;display:flex}.footer-cv-meta strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:800;overflow:hidden}.footer-cv-badge{letter-spacing:.02em;border-radius:4px;padding:1px 5px;font-size:9.5px;font-weight:850}.footer-cv-badge.pm{color:#1d4ed8;background:#dbeafe}.footer-cv-item.featured-pm{background:#f0f7ff;border-color:#2563eb66}.footer-cv-badge.vi{color:#0369a1;background:#e0f2fe}.footer-cv-badge.en{color:#047857;background:#dcfce7}.footer-cv-badge.fs{color:#6d28d9;background:#ede9fe}.footer-cv-badge.fe{color:#b45309;background:#fef3c7}.footer-cv-badge.be{color:#4338ca;background:#e0e7ff}.footer-cv-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.footer-btn-dl,.footer-btn-view{border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:800;text-decoration:none;transition:all .14s;display:inline-flex}.footer-btn-dl{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);box-shadow:0 2px 6px #0284c740}.footer-btn-dl:hover{opacity:.95;transform:translateY(-1px)}.footer-btn-dl svg{color:#fff}.footer-btn-view{color:#0f172a;background:#fff;border:1px solid #cbd5e1e6}.footer-btn-view:hover{color:#0284c7;background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px)}.footer-btn-view svg{color:#0284c7}.contact-location-tag{color:#0369a1;background:#f0f9ffb3;border:1px solid #bae6fdcc;border-radius:10px;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:750;display:flex}.contact-location-tag svg{color:#0284c7;flex-shrink:0}footer{color:#64748b;background:linear-gradient(#f8fafcd9 0%,#eaf3fb 100%);border-top:1px solid #0ea5e92e;justify-content:space-between;align-items:center;gap:18px;padding:24px clamp(20px,5vw,72px);font-size:13.5px;font-weight:750;display:flex;box-shadow:inset 0 1px #ffffffe6,0 -8px 24px #0ea5e90a}footer span:first-child{color:#0f172a;letter-spacing:-.01em;font-weight:850}footer span:last-child{color:#0284c7;background:#ffffffd9;border:1px solid #0ea5e940;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #0ea5e914}footer span:last-child svg{color:#0284c7;flex-shrink:0}@media (width<=1080px){.project-deck{min-height:800px}.project-deck-card.is-active{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);width:100%;height:560px}.project-deck-card.is-stacked{top:calc(530px + var(--stack-index) * 62px);left:calc(var(--stack-index) * 18px);width:calc(100% - var(--stack-index) * 36px);height:140px}.project-deck-card.is-stacked:hover{transform:translateY(-6px)}.project-deck-card.is-stacked .deck-card-body{padding-left:18px}}@media (width<=980px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:840px}.section-grid,.contact-section{grid-template-columns:1fr}.stats-band,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-hero,.hub-hero,.learning-path-grid{grid-template-columns:1fr}.learning-path-grid>a{min-height:auto}.learning-path-grid>a>b{top:auto;bottom:-26px;right:50%;transform:translate(50%)rotate(90deg)}.hub-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:1fr}.lesson-toc{border:1px solid var(--line);background:#ffffffad;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;position:static}.lesson-toc p{grid-column:1/-1}.language-pipeline{grid-template-columns:1fr}.language-pipeline>div{min-height:auto}.language-pipeline>b{transform:rotate(90deg)}.entity-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-erd{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"user booking""payment review""accommodation room""junction junction"}.erd-edge{display:none}}@media (width<=720px){.sharing-tracks-grid{grid-template-columns:1fr}.topbar-cv-dropdown{width:calc(100vw - 32px);max-width:420px;max-height:min(520px,80vh);right:0;overflow-y:auto}.web-preview,.hero-proof-grid{grid-template-columns:1fr}.web-preview-side{align-self:stretch}}@media (width<=640px){.topbar{flex-direction:column;align-items:flex-start;gap:14px}.topbar-right{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.topbar nav{flex-wrap:wrap;justify-content:flex-start;gap:10px 18px;width:100%}.sharing-card-head{flex-direction:column;align-items:flex-start;gap:10px}.sharing-card-foot{flex-direction:column;align-items:flex-start;gap:8px}.personal-status-pill{flex-wrap:wrap;padding:6px 10px;font-size:11px}.contact-primary-grid,.footer-cv-grid{grid-template-columns:1fr}.footer-cv-item{flex-wrap:wrap;gap:8px}h1{font-size:43px}.hero{max-width:100vw;padding-left:20px;padding-right:20px}.hero-copy{width:100%;max-width:none}.profile-lockup{gap:16px;width:100%;padding:14px 16px}.profile-avatar-wrap{width:90px;height:90px}.profile-avatar{width:100%;height:100%}.profile-name{font-size:19px}.profile-meta{font-size:12.5px}.visual-footer{flex-direction:column;align-items:flex-start}.web-preview{min-height:auto;padding:16px}.preview-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.preview-card{padding:10px 8px}.preview-card span{font-size:10px}.preview-card strong{font-size:15px}.preview-card p{font-size:11px}.hero-proof-grid,.browser-bar strong{display:none}.stats-band{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-grid{grid-template-columns:1fr}.knowledge-topbar nav{display:none}.course-progress{flex-direction:column;align-items:flex-start;gap:9px;padding-left:20px;padding-right:20px}.course-progress>div{width:100%}.hub-hero{padding-left:20px;padding-right:20px}.hub-hero h1{font-size:42px}.hub-section{padding-left:20px;padding-right:20px}.hub-method-grid{grid-template-columns:1fr}.knowledge-hero{padding-left:20px;padding-right:20px}.knowledge-hero h1{font-size:40px}.lesson-layout{padding-left:20px;padding-right:20px}.lesson-toc,.comparison-grid,.project-connection-grid,.language-axis-grid,.language-code-grid,.database-type-grid,.nosql-model-grid,.scenario-grid,.clarifying-grid,.entity-discovery-grid,.attribute-board,.key-comparison,.cardinality-grid,.junction-explainer,.before-after-model,.practice-assignment,.lecture-agenda,.study-cycle,.backend-responsibility-grid,.status-code-grid,.test-pyramid,.project-brief,.auth-choice-grid,.authorization-layers,.threat-grid{grid-template-columns:1fr}.language-code-grid pre{min-height:auto}.language-type-table{overflow-x:auto}.language-type-row{min-width:620px}.teacher-note{grid-template-columns:1fr;gap:8px}.junction-explainer>p{grid-column:1}.booking-erd{grid-template-columns:1fr;grid-template-areas:"user""booking""junction""room""accommodation""payment""review";gap:12px}.normalization-steps article{grid-template-columns:54px 1fr;gap:12px}.request-flow,.token-flow{grid-template-columns:1fr}.request-flow>b,.token-flow>b{transform:rotate(90deg)}.auth-flow,.study-rule,.self-check,.token-validation-card,.token-validation-card>div{grid-template-columns:1fr}.resource-list a{grid-template-columns:1fr 24px}.resource-list a>span{grid-column:1/-1}.database-type-card>p{min-height:auto}.example-heading{flex-direction:column;align-items:flex-start}.code-comparison{grid-template-columns:1fr}.code-comparison>div+div{border-top:1px solid var(--line);border-left:0}.code-comparison pre{min-height:auto}.selection-rule{grid-template-columns:1fr;gap:8px}.answer-framework{grid-template-columns:1fr;gap:12px}.answer-framework ol{grid-template-columns:1fr}.interview-list summary{padding:15px 16px}.interview-answer{padding:17px 16px}.scenario-grid article{min-height:auto}.concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table-wrap{overflow-x:auto}.data-table-wrap table{min-width:560px}.relation-diagram{grid-template-columns:1fr}.relation-line{grid-template-columns:1fr;justify-items:center}.relation-line b:after{width:2px;height:34px;margin:7px auto 0}.project-deck{flex-direction:column;min-height:0;display:flex}.project-deck-card.is-active{order:0;grid-template-rows:210px auto;grid-template-columns:1fr;width:100%;height:auto;margin-bottom:64px;position:relative;top:auto;left:auto}.project-deck-card.is-active .deck-card-media{min-height:0}.project-deck-card.is-active .deck-card-body{padding:20px;overflow:visible}.project-deck-card.is-stacked{order:calc(var(--stack-index) + 1);flex:0 0 138px;align-self:flex-start;width:100%;height:auto;min-height:85px;margin-top:12px;margin-left:0;position:relative;top:auto;left:auto}.project-deck-card.is-stacked h3{font-size:16px}.project-deck-card.is-stacked .compact-role{font-size:12px;display:block}.experience-card{grid-template-columns:1fr}.hero-actions a{width:100%}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){.project-deck-card,.deck-card-media img{transition-duration:1ms}}.pm-framework-section{background:linear-gradient(#fff 0%,#f8fbff 40%,#f0f7ff 100%);border:1.5px solid #0ea5e947;border-radius:24px;max-width:1280px;margin:48px auto;padding:clamp(32px,4vw,56px) clamp(20px,3.5vw,44px);position:relative;box-shadow:0 20px 50px #0ea5e914,0 1px 3px #0f172a0a}.pm-section-head{text-align:center;max-width:860px;margin:0 auto 36px}.pm-badge-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;display:flex}.pm-accent-pill{color:#1d4ed8;letter-spacing:.02em;background:linear-gradient(135deg,#2563eb1f,#06b6d41f);border:1px solid #2563eb59;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:850;display:inline-flex}.pm-role-pill{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:750;display:inline-flex}.pm-main-heading{color:#0f172a;letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(24px,3vw,36px);font-weight:900;line-height:1.25}.pm-main-lede{color:#475569;max-width:780px;margin:0 auto;font-size:15px;line-height:1.65}.pm-view-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:6px;display:inline-flex}.pm-tab-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:750;transition:all .16s;display:inline-flex}.pm-tab-btn:hover{color:#0f172a;background:#fff9}.pm-tab-btn.is-active{color:#1d4ed8;background:#fff;box-shadow:0 2px 8px #0f172a14}.pm-pipeline-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.pm-step-node{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:flex-start;padding:14px 16px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.pm-step-node:hover{border-color:#2563eb73;transform:translateY(-2px);box-shadow:0 6px 16px #0ea5e914}.pm-step-node.is-active{background:linear-gradient(#fff,#eff6ff);border-color:#2563eb;box-shadow:0 8px 24px #2563eb24,inset 0 0 0 1px #2563eb}.pm-step-num-badge{color:#94a3b8;margin-bottom:6px;font-size:11px;font-weight:900}.pm-step-node.is-active .pm-step-num-badge{color:#2563eb}.pm-step-icon-wrap{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;place-items:center;width:34px;height:34px;margin-bottom:8px;display:grid}.pm-step-node.is-active .pm-step-icon-wrap{background:#fff;box-shadow:0 2px 6px #2563eb26}.pm-step-label-group{flex-direction:column;gap:3px;display:flex}.pm-step-title{color:#0f172a;font-size:13.5px;font-weight:850}.pm-step-badge-tag{color:#64748b;font-size:11px;font-weight:700}.pm-pipeline-connector{color:#94a3b8;z-index:2;pointer-events:none;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.pm-stage-detail-card{border:2px solid var(--stage-accent,#2563eb);background:#fff;border-radius:20px;margin-bottom:24px;padding:clamp(24px,3vw,36px);box-shadow:0 16px 40px #0f172a0f}.pm-detail-head{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.pm-detail-title-group{align-items:center;gap:16px;display:flex}.pm-stage-icon-large{border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.pm-stage-meta-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.pm-stage-index-badge{text-transform:uppercase;color:#2563eb;letter-spacing:.04em;font-size:11px;font-weight:850}.pm-stage-timeline-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:700}.pm-stage-full-title{color:#0f172a;margin:0;font-size:clamp(19px,2.2vw,24px);font-weight:850}.pm-detail-stage-tools{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.pm-tools-title{color:#64748b;font-size:11.5px;font-weight:750}.pm-tools-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pm-tool-chip{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700}.pm-detail-objective-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:12px;margin-bottom:24px;padding:14px 18px}.pm-objective-label{color:#1e40af;margin-bottom:4px;font-size:13px;font-weight:850;display:block}.pm-detail-objective-box p{color:#1e3a8a;margin:0;font-size:14px;line-height:1.6}.pm-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;display:grid}.pm-col-header{color:#0f172a;align-items:center;gap:8px;margin-bottom:14px;display:flex}.pm-col-header h4{margin:0;font-size:15px;font-weight:850}.pm-action-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pm-action-list li{color:#334155;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.55;display:flex}.pm-check-bullet{color:#059669;flex-shrink:0;margin-top:2px}.pm-deliverables-stack{flex-direction:column;gap:9px;margin-bottom:18px;display:flex}.pm-deliverable-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.pm-del-icon{color:#2563eb;flex-shrink:0;margin-top:1px}.pm-del-text strong{color:#0f172a;font-size:13px;font-weight:800;display:block}.pm-del-text span{color:#64748b;margin-top:2px;font-size:11px;display:block}.pm-real-evidence-box{background:#fefce8;border:1px solid #fef08a;border-radius:10px;padding:12px 14px}.pm-evidence-badge{color:#854d0e;align-items:center;gap:5px;margin-bottom:4px;font-size:11px;font-weight:850;display:inline-flex}.pm-real-evidence-box p{color:#713f12;margin:0;font-size:12.5px;line-height:1.5}.pm-cr-governance-card{background:#fff;border:1.5px solid #0ea5e959;border-radius:20px;margin-bottom:24px;padding:clamp(24px,3vw,36px);box-shadow:0 16px 40px #0f172a0f}.pm-cr-head{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.pm-cr-icon-badge{color:#0284c7;background:#e0f2fe;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.pm-cr-head h3{color:#0f172a;margin:0 0 6px;font-size:clamp(20px,2.2vw,24px);font-weight:850}.pm-cr-head p{color:#475569;margin:0;font-size:14.5px;line-height:1.6}.pm-cr-highway{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-bottom:24px;display:grid}.pm-cr-step{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;height:100%;padding:18px 16px;display:flex}.pm-cr-step-num{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:26px;height:26px;margin-bottom:10px;font-size:12px;font-weight:900;display:grid}.pm-cr-tag{letter-spacing:.02em;border-radius:4px;margin-bottom:6px;padding:2px 7px;font-size:10.5px;font-weight:850;display:inline-block}.pm-cr-tag.req{color:#0284c7;background:#e0f2fe}.pm-cr-tag.impact{color:#b45309;background:#fef3c7}.pm-cr-tag.decision{color:#15803d;background:#dcfce7}.pm-cr-tag.exec{color:#6d28d9;background:#ede9fe}.pm-cr-step h4{color:#0f172a;margin:0 0 8px;font-size:14px;font-weight:850}.pm-cr-step p{color:#64748b;margin:0;font-size:12.5px;line-height:1.5}.pm-cr-arrow{color:#94a3b8;place-items:center;display:grid}.pm-cr-quote{background:linear-gradient(135deg,#f0f7ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.pm-quote-icon{color:#0284c7;flex-shrink:0;margin-top:2px}.pm-cr-quote p{color:#0369a1;margin:0;font-size:13.5px;line-height:1.6}.pm-risk-table-card{background:#fff;border:1.5px solid #f59e0b59;border-radius:20px;margin-bottom:24px;padding:clamp(24px,3vw,36px);box-shadow:0 16px 40px #0f172a0f}.pm-risk-head{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.pm-risk-icon-badge{color:#d97706;background:#fef3c7;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.pm-risk-head h3{color:#0f172a;margin:0 0 6px;font-size:clamp(20px,2.2vw,24px);font-weight:850}.pm-risk-head p{color:#475569;margin:0;font-size:14.5px;line-height:1.6}.pm-risk-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.pm-risk-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.pm-risk-table th{color:#334155;white-space:nowrap;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;padding:12px 16px;font-weight:850}.pm-risk-table td{vertical-align:top;color:#334155;border-bottom:1px solid #f1f5f9;padding:14px 16px;line-height:1.5}.pm-risk-table tr:last-child td{border-bottom:none}.pm-risk-category{color:#64748b;margin-top:3px;font-size:11px;display:block}.pm-severity-badge{white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:850;display:inline-block}.pm-severity-badge.high{color:#dc2626;background:#fee2e2}.pm-severity-badge.medium{color:#d97706;background:#fef3c7}.pm-cv-action-card{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 50%,#0284c7 100%);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:clamp(20px,2.5vw,26px) clamp(22px,3vw,32px);display:flex;box-shadow:0 16px 36px #1e3a8a40}.pm-cv-action-left{align-items:center;gap:16px;display:flex}.pm-cv-icon-wrap{color:#fff;background:#ffffff26;border:1px solid #ffffff40;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.pm-cv-action-left h4{margin:0 0 4px;font-size:17px;font-weight:850}.pm-cv-action-left p{color:#ffffffd9;max-width:600px;margin:0;font-size:13.5px;line-height:1.5}.pm-cv-action-buttons{flex-shrink:0;align-items:center;gap:12px;display:flex}.pm-btn-primary{color:#1e3a8a;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-size:13px;font-weight:850;text-decoration:none;transition:all .16s;display:inline-flex;box-shadow:0 4px 14px #00000026}.pm-btn-primary:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 20px #0003}.pm-btn-secondary{color:#fff;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-size:13px;font-weight:800;text-decoration:none;transition:all .16s;display:inline-flex}.pm-btn-secondary:hover{background:#ffffff38;transform:translateY(-1px)}.pm-gantt-card{background:#fff;border:1.5px solid #2563eb47;border-radius:20px;margin-bottom:24px;padding:clamp(20px,3vw,36px);box-shadow:0 16px 40px #0f172a0f}.pm-gantt-head{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.pm-gantt-title-row{align-items:flex-start;gap:16px;display:flex}.pm-gantt-icon-badge{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.pm-gantt-pill-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pm-status-pill{letter-spacing:.01em;border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.pm-status-pill.green{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.pm-status-pill.blue{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.pm-status-pill.slate{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.dot-pulse-green{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-ring}.pm-gantt-title-row h3{color:#0f172a;margin:0 0 6px;font-size:clamp(20px,2.2vw,24px);font-weight:850;line-height:1.3}.pm-gantt-title-row p{color:#475569;margin:0;font-size:14px;line-height:1.6}.pm-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.pm-kpi-item{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:12px 14px;transition:all .16s;display:flex}.pm-kpi-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a0d}.pm-kpi-item.green{background:linear-gradient(#fff 0%,#f0fdf4 100%);border-color:#10b98159}.pm-kpi-item.blue{background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#2563eb59}.pm-kpi-item.purple{background:linear-gradient(#fff 0%,#faf5ff 100%);border-color:#9333ea59}.pm-kpi-meta{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.pm-kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:800}.pm-kpi-status-tag{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:900;display:inline-block}.pm-kpi-status-tag.green{color:#15803d;background:#dcfce7}.pm-kpi-status-tag.blue{color:#1e40af;background:#dbeafe}.pm-kpi-status-tag.purple{color:#7e22ce;background:#f3e8ff}.pm-kpi-value{color:#0f172a;font-size:22px;font-weight:900;line-height:1.2}.pm-kpi-desc{color:#64748b;margin-top:2px;font-size:11.5px;line-height:1.35}.pm-gantt-toolbar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;display:flex}.pm-gantt-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pm-filter-title{color:#475569;align-items:center;gap:5px;margin-right:4px;font-size:11.5px;font-weight:850;display:inline-flex}.pm-gfilter-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:750;transition:all .14s;display:inline-flex}.pm-gfilter-btn:hover{background:#f8fafc;border-color:#94a3b8}.pm-gfilter-btn.is-active{color:#fff;background:#1e40af;border-color:#1e40af;box-shadow:0 2px 6px #1e40af40}.pm-gfilter-btn.critical.is-active{background:#dc2626;border-color:#dc2626}.pm-dot-red{background:#ef4444;border-radius:50%;width:6px;height:6px}.pm-gantt-legend{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.legend-item{color:#475569;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:inline-flex}.legend-box{border-radius:3px;width:12px;height:12px}.legend-box.critical{background:#ef4444;border:1px solid #b91c1c}.legend-box.milestone{background:#f59e0b;border:1px solid #d97706}.legend-box.sprint{background:#6366f1;border:1px solid #4338ca}.pm-gantt-chart-viewport{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:24px;overflow-x:auto;box-shadow:inset 0 1px 3px #0f172a08}.pm-gantt-table-container{min-width:980px}.pm-gantt-header-row{background:#f8fafc;border-bottom:1.5px solid #cbd5e1;align-items:stretch;display:flex}.pm-gantt-col-meta{color:#475569;text-transform:uppercase;letter-spacing:.03em;border-right:1.5px solid #cbd5e1;flex-shrink:0;grid-template-columns:48px 1fr 64px 54px;align-items:center;width:440px;padding:10px 14px;font-size:11.5px;font-weight:850;display:grid}.pm-gantt-timeline-header{flex-direction:column;flex:1;display:flex}.pm-timeline-phase-band{border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:800;display:flex}.phase-band-item{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #e2e8f0;padding:5px 8px;overflow:hidden}.phase-band-item.p1{color:#1e40af;background:#eff6ff}.phase-band-item.p2{color:#6b21a8;background:#faf5ff}.phase-band-item.p3{color:#166534;background:#f0fdf4;border-right:none}.pm-timeline-weeks-grid{flex:1;grid-template-columns:repeat(12,1fr);display:grid}.week-cell{color:#64748b;background:#fff;border-right:1px solid #f1f5f9;justify-content:center;align-items:center;padding:7px 4px;font-size:11px;font-weight:800;display:flex;position:relative}.week-cell:last-child{border-right:none}.week-cell.is-current-marker{color:#15803d;background:#f0fdf4}.today-badge{color:#fff;background:#10b981;border-radius:3px;padding:1px 3px;font-size:8px;font-weight:900;position:absolute;top:1px;right:2px}.pm-gantt-body{flex-direction:column;display:flex}.pm-gantt-task-row{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:stretch;min-height:44px;transition:all .12s;display:flex}.pm-gantt-task-row:hover{background:#f8fafc}.pm-gantt-task-row.is-selected{background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 3px 0 #2563eb}.pm-gantt-task-row.is-critical-row{background:#fef2f266}.pm-gantt-task-row.is-critical-row:hover{background:#fef2f2cc}.pm-gantt-task-row.is-critical-row.is-selected{background:#fef2f2;box-shadow:inset 3px 0 #ef4444}.pm-gantt-row-meta{border-right:1.5px solid #cbd5e1;flex-shrink:0;grid-template-columns:48px 1fr 64px 54px;align-items:center;gap:6px;width:440px;padding:8px 14px;display:grid}.wbs-badge{color:#334155;letter-spacing:.02em;background:#e2e8f0;border-radius:5px;justify-content:center;align-items:center;padding:2px 5px;font-size:11px;font-weight:850;display:inline-flex}.wbs-badge.critical{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.wbs-badge.milestone{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.task-title-group{flex-direction:column;gap:2px;min-width:0;display:flex}.title-text-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.title-text-row strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:800;overflow:hidden}.badge-critical{color:#fff;letter-spacing:.04em;background:#ef4444;border-radius:3px;padding:1px 4px;font-size:9.5px;font-weight:900;display:inline-block}.badge-sprint{color:#6d28d9;background:#ede9fe;border-radius:3px;padding:1px 4px;font-size:9.5px;font-weight:850;display:inline-block}.task-stream-tag{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:750;overflow:hidden}.task-raci-pill{color:#475569;text-align:center;white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:2px 5px;font-size:10.5px;font-weight:750}.task-progress-stat{color:#059669;text-align:right;font-size:11.5px;font-weight:850}.pm-gantt-row-timeline{flex:1;align-items:center;min-height:44px;display:flex;position:relative}.timeline-grid-lines{pointer-events:none;grid-template-columns:repeat(12,1fr);display:grid;position:absolute;inset:0}.grid-line-cell{border-right:1px solid #f8fafc}.grid-line-cell:last-child{border-right:none}.grid-line-cell.is-current{background:#10b9810a}.gantt-bar-item{z-index:2;border-radius:6px;align-items:center;height:22px;padding:0 6px;transition:all .14s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px #0f172a1f}.gantt-bar-item:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 10px #0f172a33}.gantt-bar-item.is-critical{border:1.5px solid #ef4444;box-shadow:0 2px 8px #ef444459}.gantt-bar-fill{pointer-events:none;background:#00000026;position:absolute;inset:0}.gantt-bar-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0006;font-size:10.5px;font-weight:850;position:relative;overflow:hidden}.gantt-milestone-node{z-index:3;align-items:center;gap:5px;display:flex;position:absolute;transform:translate(-50%)}.milestone-diamond{background:#fef3c7;border:1.5px solid #d97706;border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;animation:2.5s infinite pulse-ring;display:grid;box-shadow:0 2px 8px #d977064d}.milestone-label{color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:900}.pm-task-inspector{background:linear-gradient(#f8fbff 0%,#fff 100%);border:1.5px solid #bfdbfe;border-radius:16px;margin-bottom:24px;padding:20px;box-shadow:0 10px 30px #2563eb14}.inspector-head{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.inspector-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inspector-wbs-pill{color:#fff;background:#1e40af;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:900}.inspector-wbs-pill.critical{background:#dc2626}.inspector-wbs-pill.milestone{background:#d97706}.inspector-title-row h4{color:#0f172a;margin:0;font-size:16px;font-weight:850}.inspector-cpm-badge{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:850;display:inline-flex}.inspector-stream-name{font-size:12px;font-weight:800}.inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.inspector-card-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px}.inspector-card-block .block-head{color:#1e293b;align-items:center;gap:7px;margin-bottom:10px;font-size:12.5px;font-weight:850;display:flex}.inspector-card-block.raci .block-head{color:#2563eb}.inspector-card-block.sched .block-head{color:#0284c7}.inspector-card-block.dod .block-head{color:#059669}.inspector-card-block.risk .block-head{color:#d97706}.raci-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.raci-cell{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.raci-letter{color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:grid}.raci-letter.r{background:#2563eb}.raci-letter.a{background:#7c3aed}.raci-letter.c{background:#f59e0b}.raci-letter.i{background:#64748b}.raci-text{flex-direction:column;display:flex}.raci-text strong{color:#64748b;font-size:10.5px;font-weight:750}.raci-text span{color:#0f172a;font-size:12px;font-weight:800}.sched-meta-list{flex-direction:column;gap:6px;display:flex}.sched-item{justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;display:flex}.sched-item span{color:#64748b;flex-shrink:0}.sched-item strong{color:#0f172a;text-align:right;font-weight:800}.sched-item strong.text-blue{color:#1d4ed8}.dod-text,.risk-text{color:#334155;margin:0;font-size:12.5px;line-height:1.6}.pm-gov-triad-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:20px}.pm-gov-triad-head{align-items:center;gap:8px;margin-bottom:14px;display:flex}.pm-gov-triad-head svg{color:#2563eb}.pm-gov-triad-head h4{color:#0f172a;margin:0;font-size:15px;font-weight:850}.pm-gov-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pm-gov-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0f172a0a}.pm-gov-badge{border-radius:5px;margin-bottom:8px;padding:2px 7px;font-size:10.5px;font-weight:850;display:inline-block}.pm-gov-badge.cpm{color:#dc2626;background:#fee2e2;border:1px solid #fecaca}.pm-gov-badge.wbs{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe}.pm-gov-badge.vel{color:#7e22ce;background:#faf5ff;border:1px solid #f3e8ff}.pm-gov-card h5{color:#0f172a;margin:0 0 6px;font-size:13.5px;font-weight:850}.pm-gov-card p{color:#475569;margin:0;font-size:12px;line-height:1.55}@media (width<=980px){.pm-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-grid,.pm-gov-cards-grid{grid-template-columns:1fr}.pm-gantt-col-meta,.pm-gantt-row-meta{grid-template-columns:42px 1fr 56px 44px;width:340px}.pm-pipeline-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-pipeline-connector{display:none}.pm-detail-grid{grid-template-columns:1fr;gap:20px}.pm-cr-highway{grid-template-columns:1fr;gap:16px}.pm-cr-arrow{transform:rotate(90deg)}.pm-cv-action-card{flex-direction:column;align-items:flex-start}.pm-cv-action-buttons{flex-wrap:wrap;width:100%}.pm-btn-primary,.pm-btn-secondary{flex:1;justify-content:center}}@media (width<=640px){.pm-kpi-grid{grid-template-columns:1fr}.pm-gantt-toolbar{flex-direction:column;align-items:flex-start}.raci-details-grid,.pm-pipeline-nav{grid-template-columns:1fr}.pm-view-tabs{width:100%}.pm-tab-btn{justify-content:center;width:100%}.pm-detail-head{flex-direction:column;align-items:flex-start}.pm-detail-stage-tools{align-items:flex-start}.pm-cv-action-buttons{flex-direction:column}.pm-btn-primary,.pm-btn-secondary{width:100%}}
