/* ======================================================= */
/* Advanced Education Portfolio                            */
/* ======================================================= */
*{box-sizing:border-box}body.education-page{margin:0;min-height:100vh;padding:clamp(1rem,3vw,2.5rem) 1rem 9rem;color:var(--text-color);background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent-color) 13%,transparent),transparent 35rem),var(--bg-color)}.education-shell{width:min(100%,76rem);margin:auto;display:grid;gap:clamp(1.5rem,4vw,3rem)}#education-content{display:grid;gap:clamp(1.5rem,4vw,3rem)}#education-content[hidden]{display:none}.education-page .glass{position:relative;overflow:hidden;padding:clamp(1.35rem,4vw,2.75rem);border:1px solid var(--glass-border,var(--border-color));border-radius:clamp(1.4rem,3vw,2.4rem);background:var(--glass-surface,var(--content-bg));box-shadow:var(--bubble-highlight),var(--bubble-shadow);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.education-page .glass:before{content:"";position:absolute;inset:0;background:var(--liquid-reflection);opacity:.2;pointer-events:none}.education-page .glass>*{position:relative;z-index:1}.education-hero{min-height:20rem;display:flex;justify-content:space-between;align-items:center;gap:3rem}.education-hero h1{font-size:clamp(3rem,9vw,6rem);line-height:.9;letter-spacing:-.06em;margin:.25rem 0 1rem}.eyebrow{margin:0;color:var(--accent-color)!important;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.hero-orb{display:grid;place-items:center;width:clamp(7rem,18vw,12rem);aspect-ratio:1;border-radius:38%;font-size:clamp(3rem,8vw,6rem);color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 15%,var(--content-bg));box-shadow:inset 0 1px rgba(255,255,255,.35),0 2rem 5rem color-mix(in srgb,var(--accent-color) 20%,transparent)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hero-actions button{margin:0}.secondary-action{background:color-mix(in srgb,var(--content-bg) 80%,transparent)!important;color:var(--text-color)!important;border:1px solid var(--border-color)!important}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.6rem}.section-heading h2{margin:.25rem 0 0;font-size:clamp(1.5rem,4vw,2.25rem);letter-spacing:-.035em}.badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--accent-color) 14%,transparent);font-size:.72rem;font-weight:750}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.stats-grid article,.profile-grid article,.analytics-grid article,.info-card,.grading-grid article{padding:1.2rem;border:1px solid color-mix(in srgb,var(--border-color) 70%,transparent);border-radius:1.25rem;background:color-mix(in srgb,var(--content-bg) 76%,transparent)}.stats-grid i{color:var(--accent-color)}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{margin-top:.6rem;font-size:1.5rem}.stats-grid span,.profile-grid span,.analytics-grid span{color:var(--secondary-text);font-size:.8rem}.progress-layout{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}.degree-ring{--progress:0deg;width:10rem;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,var(--content-bg) 59%,transparent 60%),conic-gradient(var(--accent-color) var(--progress),color-mix(in srgb,var(--border-color) 50%,transparent) 0)}.degree-ring strong{font-size:1.6rem}.degree-ring span{color:var(--secondary-text)}.progress-track,.mini-progress{height:.65rem;border-radius:99px;background:color-mix(in srgb,var(--border-color) 55%,transparent);overflow:hidden}.progress-track span,.mini-progress span{display:block;height:100%;background:var(--accent-color);border-radius:inherit}.requirement-list{display:grid;gap:.75rem;margin-top:1.25rem}.requirement-list div{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr auto;align-items:center;gap:.75rem}.requirement-list progress{width:100%;accent-color:var(--accent-color)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.profile-grid strong{display:block;margin-top:.35rem}.course-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.course-tools input,.course-tools select{width:100%;padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--border-color);background:var(--content-bg);color:var(--text-color)}.semester-list{display:grid;gap:1.4rem}.semester-card{overflow:hidden;border:1px solid var(--border-color);border-radius:1.5rem;background:color-mix(in srgb,var(--content-bg) 78%,transparent)}.semester-card header{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 1.4rem;border-bottom:1px solid var(--border-color)}.semester-card header h3,.semester-card header p{margin:0}.semester-card header>div:last-child{text-align:right}.semester-card header span{display:block;color:var(--secondary-text)}.course-row{display:grid;grid-template-columns:2fr .5fr 1.2fr .8fr .45fr;gap:.75rem;align-items:center;padding:1rem 1.4rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 55%,transparent)}.course-row:last-child{border:0}.course-row div span{display:block;color:var(--secondary-text);font-size:.8rem}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.analytics-grid .wide{grid-column:1/-1}.analytics-grid>article>strong{font-size:2rem}.bar-chart{height:12rem;display:flex;align-items:end;gap:1rem;padding-top:1rem}.bar-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;text-align:center}.bar-chart span{display:block;min-height:2px;background:linear-gradient(var(--accent-color),color-mix(in srgb,var(--accent-color) 45%,transparent));border-radius:.5rem .5rem 0 0}.bar-chart small{margin-top:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem)}.card-list,.timeline-list{display:grid;gap:1rem}.card-grid,.grading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-card h3,.grading-grid h3{margin:0 0 .5rem}.info-card p,.grading-grid p{color:var(--secondary-text)}.card-top{display:flex;justify-content:space-between;gap:.75rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.7rem}.tag-cloud>span{padding:.65rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--accent-color) 12%,var(--content-bg));border:1px solid var(--border-color)}.privacy-note{margin:1.5rem 0 0;color:var(--secondary-text)}.education-state{text-align:center}.education-error{color:#ff453a;text-align:center}.empty-state{color:var(--secondary-text);font-style:italic}footer{text-align:center;color:var(--secondary-text)}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(3,1fr)}.profile-grid{grid-template-columns:repeat(2,1fr)}.course-row{grid-template-columns:1fr 1fr}.course-row>div{grid-column:1/-1}.course-tools{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}}@media(max-width:560px){.education-hero{min-height:0}.hero-orb{display:none}.stats-grid,.profile-grid,.card-grid,.grading-grid,.analytics-grid{grid-template-columns:1fr 1fr}.progress-layout{grid-template-columns:1fr}.degree-ring{margin:auto}.requirement-list div{grid-template-columns:1fr auto}.requirement-list progress{grid-column:1/-1}.course-row{grid-template-columns:1fr}.course-row>div{grid-column:auto}.semester-card header{flex-direction:column}.semester-card header>div:last-child{text-align:left}}@media print{.onyx-dock,.hero-actions,.course-tools{display:none!important}body.education-page{padding:0;background:#fff!important;color:#000!important}.education-page .glass{box-shadow:none!important;background:#fff!important;break-inside:avoid}body:before{content:"Unofficial Academic Summary â€” Not an official transcript";display:block;font-weight:800;margin-bottom:1rem}}
/* ======================================================= */
/* Education Section Navigation                            */
/* ======================================================= */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99999;padding:.8rem 1rem;border-radius:.8rem;background:var(--accent-color);color:#fff}.skip-link:focus{top:1rem}.education-section-nav{position:sticky!important;top:1rem;z-index:50!important;display:flex;gap:.45rem;overflow-x:auto;padding:.65rem!important;scrollbar-width:none}.education-section-nav::-webkit-scrollbar{display:none}.education-section-nav a{flex:0 0 auto;padding:.65rem .9rem;border-radius:999px;color:var(--text-color);font-size:.82rem;font-weight:700;text-decoration:none}.education-section-nav a:hover,.education-section-nav a:focus-visible{background:color-mix(in srgb,var(--accent-color) 15%,transparent);color:var(--accent-color)}section[id]{scroll-margin-top:7rem}@media(max-width:560px){.education-section-nav{top:.5rem}.stats-grid,.profile-grid,.card-grid,.grading-grid,.analytics-grid{grid-template-columns:1fr}}
/* Hold-and-drag dock interaction */
.education-page .onyx-dock{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.education-page .onyx-dock .dock-item{-webkit-user-drag:none}.education-page .onyx-dock.is-dragging{cursor:grabbing}.education-page .onyx-dock:not(.is-dragging){cursor:grab}
\n\n/* ======================================================= */\n/* Device-Friendly Education Top Bar                       */\n/* ======================================================= */\n.education-section-nav{position:sticky!important;top:max(.65rem,env(safe-area-inset-top))!important;z-index:100!important;display:block;width:100%;padding:.55rem!important;overflow:visible;border-radius:1.35rem!important;isolation:isolate}.education-topbar-header{display:none}.education-topbar-links{display:flex;align-items:center;gap:.35rem;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.education-topbar-links::-webkit-scrollbar{display:none}.education-topbar-links a{flex:0 0 auto;min-height:2.65rem;display:inline-flex;align-items:center;justify-content:center;padding:.65rem .9rem;border-radius:999px;color:var(--text-color);font-size:.8rem;font-weight:750;line-height:1.1;text-align:center;text-decoration:none;scroll-snap-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.education-topbar-links a:hover,.education-topbar-links a:focus-visible,.education-topbar-links a.is-current{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 15%,transparent)}.education-topbar-links a:focus-visible,.education-topbar-toggle:focus-visible{outline:.15rem solid color-mix(in srgb,var(--accent-color) 72%,white);outline-offset:.12rem}@media(min-width:1120px){.education-topbar-links{justify-content:center}}\n@media(max-width:760px){.education-section-nav{top:max(.45rem,env(safe-area-inset-top))!important;padding:.5rem!important;border-radius:1.15rem!important}.education-topbar-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:3rem}.education-topbar-title{display:inline-flex;align-items:center;gap:.55rem;min-width:0;padding-left:.55rem;color:var(--text-color);font-size:.88rem;font-weight:800;white-space:nowrap}.education-topbar-title i{color:var(--accent-color)}.education-topbar-toggle{min-height:2.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;margin:0;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--border-color) 72%,transparent);border-radius:.9rem;background:color-mix(in srgb,var(--content-bg) 78%,transparent);color:var(--text-color);font:inherit;font-size:.8rem;font-weight:750;cursor:pointer;touch-action:manipulation}.education-topbar-toggle i{transition:transform .2s ease}.education-section-nav.is-open .education-topbar-toggle i{transform:rotate(180deg)}.education-topbar-links{position:absolute;top:calc(100% + .5rem);left:0;right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:min(65vh,28rem);padding:.65rem;overflow:auto;overscroll-behavior:contain;border:1px solid var(--glass-border,var(--border-color));border-radius:1.15rem;background:var(--glass-surface,var(--content-bg));box-shadow:var(--bubble-highlight),var(--bubble-shadow);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);opacity:0;visibility:hidden;transform:translateY(-.5rem) scale(.985);transform-origin:top center;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.education-section-nav.is-open .education-topbar-links{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.education-topbar-links a{width:100%;min-height:2.85rem;padding:.7rem;border-radius:.85rem;white-space:normal}section[id]{scroll-margin-top:calc(5.5rem + env(safe-area-inset-top))}}\n@media(max-width:390px){.education-topbar-title{font-size:0}.education-topbar-title i{font-size:.95rem}.education-topbar-toggle span{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.education-topbar-links{grid-template-columns:1fr}}@media(max-height:520px) and (orientation:landscape){.education-topbar-links{max-height:58vh;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.education-topbar-links,.education-topbar-toggle i{transition:none!important}}@media print{.education-section-nav{display:none!important}}\n
