@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Google+Sans:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0";:root{--g-blue: #1a73e8;--g-blue-hover: #1765cc;--g-blue-light: #e8f0fe;--g-blue-text: #1967d2;--g-red: #ea4335;--g-yellow: #fbbc04;--g-green: #34a853;--g-green-light: #e6f4ea;--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #80868b;--bg-primary: #f8f9fa;--bg-white: #ffffff;--bg-hover: #f1f3f4;--border-color: #dadce0;--border-light: #e8eaed;--sidebar-width: 72px;--topbar-height: 64px;--sp-4: 4px;--sp-8: 8px;--sp-12: 12px;--sp-16: 16px;--sp-20: 20px;--sp-24: 24px;--sp-32: 32px;--sp-40: 40px;--sp-48: 48px;--sp-64: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15);--shadow-md: 0 1px 3px rgba(60,64,67,.3), 0 4px 8px 3px rgba(60,64,67,.15);--shadow-focus: 0 1px 2px rgba(60,64,67,.3), 0 2px 6px 2px rgba(60,64,67,.15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,Google Sans,-apple-system,sans-serif;background:var(--bg-white);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--g-blue);text-decoration:none}a:hover{text-decoration:underline}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}.app-shell{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:0;margin-top:var(--topbar-height)}.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);background:var(--bg-white);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 var(--sp-16);z-index:100;gap:var(--sp-16)}.topbar-left{display:flex;align-items:center;gap:var(--sp-8);min-width:200px}.topbar-hamburger{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);font-size:24px}.topbar-hamburger:hover{background:var(--bg-hover)}.topbar-logo{display:flex;align-items:baseline;gap:2px;font-size:22px;font-weight:500;text-decoration:none;color:var(--text-primary)}.topbar-logo:hover{text-decoration:none}.logo-d{color:var(--g-blue)}.logo-q{color:var(--g-red)}.logo-space{width:4px}.logo-cn{color:var(--text-secondary);font-size:18px;font-weight:400}.topbar-search{flex:1;max-width:720px;margin:0 auto}.topbar-search-input{width:100%;height:46px;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 var(--sp-48) 0 var(--sp-16);font-size:16px;font-family:inherit;color:var(--text-primary);background:var(--bg-white);outline:none;transition:border-color .15s,box-shadow .15s}.topbar-search-input::placeholder{color:var(--text-tertiary)}.topbar-search-input:focus{border-color:var(--g-blue);box-shadow:0 0 0 2px #1a73e833}.topbar-search-wrap{position:relative}.topbar-search-icon{position:absolute;right:var(--sp-12);top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;font-size:20px}.topbar-right{display:flex;align-items:center;gap:var(--sp-8);min-width:200px;justify-content:flex-end}.topbar-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);position:relative}.topbar-icon-btn:hover{background:var(--bg-hover)}.topbar-icon-btn .badge-count{font-size:11px;margin-left:2px;color:var(--text-secondary)}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--g-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;cursor:pointer}.btn-get-started{height:36px;padding:0 var(--sp-24);border:1px solid var(--g-blue);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--g-blue);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-get-started:hover{background:var(--g-blue-light)}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-white);display:flex;flex-direction:column;align-items:center;padding-top:var(--sp-8);z-index:200;overflow-y:auto;overflow-x:hidden}.sidebar-search-btn{width:48px;height:48px;border-radius:50%;background:var(--g-blue);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:var(--sp-8);color:#fff;transition:box-shadow .2s}.sidebar-search-btn:hover{box-shadow:var(--shadow-sm)}.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);width:100%;padding:0 var(--sp-4)}.sidebar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;padding:var(--sp-4) 0;border-radius:var(--radius-lg);color:var(--text-secondary);text-decoration:none;font-size:10px;line-height:1.2;cursor:pointer;transition:background .15s;text-align:center}.sidebar-item:hover{background:var(--bg-hover);text-decoration:none}.sidebar-item .material-symbols-outlined{font-size:24px;color:var(--text-secondary);padding:var(--sp-4) var(--sp-16);border-radius:var(--radius-full);transition:background .15s}.sidebar-item.active{color:var(--g-blue)}.sidebar-item.active .material-symbols-outlined{color:var(--g-blue);background:var(--g-blue-light)}.sidebar-divider{width:48px;height:1px;background:var(--border-color);margin:var(--sp-8) 0}.breadcrumb{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-16) var(--sp-32);font-size:14px;color:var(--text-secondary)}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .home-icon{font-size:20px}.breadcrumb .separator{font-size:18px;color:var(--text-tertiary)}.page-hero{text-align:center;padding:var(--sp-48) var(--sp-32)}.page-hero h1{font-size:36px;font-weight:400;line-height:1.2;color:var(--text-primary);margin-bottom:var(--sp-16)}.page-hero p{font-size:16px;color:var(--text-secondary);max-width:640px;margin:0 auto;line-height:1.5}.section{padding:0 var(--sp-32) var(--sp-32)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--sp-24);gap:var(--sp-16)}.section-title{font-size:22px;font-weight:400;color:var(--text-primary)}.section-subtitle{font-size:14px;color:var(--text-secondary);margin-top:var(--sp-4)}.section-link{font-size:14px;color:var(--g-blue);font-weight:500;white-space:nowrap}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-16)}.cards-grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cards-grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cards-grid-4{grid-template-columns:repeat(4,1fr)}.course-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-20);display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .2s;min-height:200px}.course-card:hover{box-shadow:var(--shadow-focus)}.course-card-tags{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-bottom:var(--sp-12)}.tag{display:inline-flex;align-items:center;gap:var(--sp-4);padding:2px var(--sp-8);border-radius:var(--radius-sm);font-size:12px;font-weight:500;line-height:20px}.tag-course{background:var(--g-blue);color:#fff}.tag-lab{background:#3c4043;color:#fff}.tag-quickstart{background:var(--g-green);color:#fff}.tag-path{background:var(--g-blue);color:#fff}.tag-badge{background:var(--bg-white);border:1px solid var(--border-color);color:var(--text-secondary)}.tag-hot,.tag-featured{background:#fce8e6;color:#c5221f}.tag-specialty{background:linear-gradient(135deg,#1a73e81a,#ea43351a);color:var(--g-blue-hover);border:1px solid rgba(26,115,232,.2);font-weight:500}.course-card h3{font-size:16px;font-weight:500;line-height:1.4;color:var(--text-primary);margin-bottom:var(--sp-8)}.card-desc{font-size:14px;color:var(--text-secondary);line-height:1.43;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--sp-16);padding-top:var(--sp-12)}.course-card-meta{display:flex;align-items:center;gap:var(--sp-4);font-size:13px;color:var(--text-secondary)}.course-card-meta .material-symbols-outlined{font-size:18px}.card-arrow{width:36px;height:36px;border-radius:50%;background:var(--g-blue);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background .15s}.card-arrow .material-symbols-outlined{font-size:20px}.course-card:hover .card-arrow{background:var(--g-blue-hover)}.chips-row{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-bottom:var(--sp-16)}.chip{height:36px;padding:0 var(--sp-16);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-white);color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-4);transition:background .15s,border-color .15s;white-space:nowrap}.chip:hover{background:var(--bg-hover)}.chip.active{background:var(--g-blue-light);border-color:var(--g-blue-light);color:var(--g-blue-text)}.chip-dropdown:after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text-secondary);margin-left:var(--sp-4)}.search-input-wrap{position:relative;max-width:560px;margin:0 auto var(--sp-24)}.search-input{width:100%;height:48px;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 var(--sp-48) 0 var(--sp-16);font-size:16px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--g-blue);box-shadow:0 0 0 2px #1a73e833}.search-input::placeholder{color:var(--text-tertiary)}.search-input-icon{position:absolute;right:var(--sp-12);top:50%;transform:translateY(-50%);color:var(--text-secondary)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:var(--sp-24)}.tab{padding:var(--sp-12) var(--sp-16);font-size:14px;font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s;font-family:inherit}.tab:hover{color:var(--g-blue)}.tab.active{color:var(--g-blue);border-bottom-color:var(--g-blue)}.stats-bar{display:flex;gap:var(--sp-48);justify-content:center;padding:var(--sp-32);margin:0 var(--sp-32) var(--sp-32);background:var(--bg-primary);border-radius:var(--radius-lg)}.stat-item{text-align:center}.stat-number{font-size:32px;font-weight:500;color:var(--g-blue)}.stat-label{font-size:14px;color:var(--text-secondary);margin-top:var(--sp-4)}.value-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-16)}.value-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-24);text-align:center;transition:box-shadow .2s}.value-card:hover{box-shadow:var(--shadow-focus)}.value-icon{font-size:36px;margin-bottom:var(--sp-12)}.value-card h3{font-size:16px;font-weight:500;margin-bottom:var(--sp-8)}.value-card p{font-size:14px;color:var(--text-secondary);line-height:1.5}.path-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-24);transition:box-shadow .2s;cursor:pointer}.path-card:hover{box-shadow:var(--shadow-focus)}.path-icon{font-size:32px;margin-bottom:var(--sp-12)}.path-card h3{font-size:18px;font-weight:500;margin-bottom:var(--sp-8)}.path-desc{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--sp-12)}.path-outcome{font-size:13px;color:var(--g-blue-text);background:var(--g-blue-light);padding:var(--sp-8) var(--sp-12);border-radius:var(--radius-sm);margin-bottom:var(--sp-12)}.path-meta{display:flex;gap:var(--sp-16);font-size:13px;color:var(--text-secondary);margin-bottom:var(--sp-12)}.path-skills{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.skill-tag{padding:2px var(--sp-8);background:var(--bg-primary);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary)}.product-banner{display:flex;align-items:center;gap:var(--sp-24);padding:var(--sp-24);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .2s;text-decoration:none;color:var(--text-primary)}.product-banner:hover{box-shadow:var(--shadow-focus);text-decoration:none}.product-banner-icon{font-size:48px;flex-shrink:0}.product-banner h3{font-size:18px;font-weight:500;margin-bottom:var(--sp-4)}.product-banner p{font-size:14px;color:var(--text-secondary);margin-bottom:var(--sp-12);line-height:1.5}.banner-btn{display:inline-flex;align-items:center;gap:var(--sp-4);color:var(--g-blue);font-size:14px;font-weight:500}.footer{text-align:center;padding:var(--sp-48) var(--sp-32) var(--sp-32);border-top:1px solid var(--border-color);margin-top:var(--sp-48)}.footer-logo{display:flex;align-items:baseline;justify-content:center;gap:2px;font-size:20px;font-weight:500;margin-bottom:var(--sp-24);text-decoration:none;color:var(--text-primary)}.footer-links{display:flex;justify-content:center;gap:var(--sp-24);margin-bottom:var(--sp-16)}.footer-links a{font-size:14px;color:var(--text-secondary)}.footer-links a:hover{color:var(--g-blue)}.footer-links-secondary{display:flex;justify-content:center;gap:var(--sp-24)}.footer-links-secondary a{font-size:13px;color:var(--text-tertiary)}.btn-primary-google{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);height:36px;padding:0 var(--sp-24);background:var(--g-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,box-shadow .15s;text-decoration:none;white-space:nowrap}.btn-primary-google:hover{background:var(--g-blue-hover);box-shadow:var(--shadow-sm);text-decoration:none;color:#fff}.btn-outline-google{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);height:36px;padding:0 var(--sp-24);background:var(--bg-white);color:var(--g-blue);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s;text-decoration:none;white-space:nowrap}.btn-outline-google:hover{background:var(--g-blue-light);border-color:var(--g-blue);text-decoration:none}.btn-text-google{display:inline-flex;align-items:center;gap:var(--sp-4);background:none;border:none;color:var(--g-blue);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;padding:var(--sp-8);border-radius:var(--radius-sm);text-decoration:none}.btn-text-google:hover{background:var(--g-blue-light);text-decoration:none}.menu-toggle,.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.topbar{left:0}.menu-toggle{display:flex;position:fixed;top:var(--sp-12);left:var(--sp-12);z-index:300;background:var(--bg-white);border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer}.sidebar.mobile-open{display:flex;z-index:400}.sidebar-overlay.open{display:block;position:fixed;inset:0;background:#0006;z-index:300}.cards-grid{grid-template-columns:1fr}.cards-grid-4{grid-template-columns:repeat(2,1fr)}.stats-bar{flex-wrap:wrap;gap:var(--sp-24)}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.results-count{font-size:14px;color:var(--text-secondary);margin-bottom:var(--sp-16)}.category-icons-wrap{display:flex;justify-content:center;margin-bottom:var(--sp-40)}.category-icons{display:inline-flex;gap:var(--sp-40);background:var(--bg-primary);padding:var(--sp-16) var(--sp-48);border-radius:var(--radius-full)}.category-icon-item{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:color .15s,transform .15s}.category-icon-item:hover{color:var(--g-blue);transform:translateY(-2px)}.category-icon-item .material-symbols-outlined{font-size:28px}.footer-divider{color:var(--border-color);margin:0 var(--sp-4)}.footer-links-secondary span{font-size:13px;color:var(--text-tertiary)}
