
/* ===== /assets/css/dashboard.css ===== */
:root{--had-bg:#020b14;--had-bg2:#061421;--had-panel:rgba(7,25,39,.94);--had-line:#1b465f;--had-soft:rgba(57,126,158,.32);--had-accent:#22d3ee;--had-cyan:#22d3ee;--had-violet:#a78bfa;--had-green:#34d399;--had-amber:#f6b84a;--had-text:#edf7fb;--had-muted:#84a3b4;--had-sidebar:244px;--had-topbar:64px}
*{box-sizing:border-box}html,body{width:100%;height:100%}html{background:var(--had-bg)}body.had-theme{margin:0;overflow:hidden;background:var(--had-bg);color:var(--had-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body.had-theme button,body.had-theme input,body.had-theme select,body.had-theme textarea{font:inherit}body.had-theme button,body.had-theme a{color:inherit}body.had-theme button{cursor:pointer}.had-drawer-open{overflow:hidden}.had-app-shell{height:100dvh;min-height:580px;overflow:hidden;background:radial-gradient(circle at 72% 18%,rgba(94,67,164,.13),transparent 30%),radial-gradient(circle at 18% 82%,rgba(0,173,210,.1),transparent 34%),var(--had-bg);position:relative}.admin-bar .had-app-shell{height:calc(100dvh - 32px)}.had-topbar{height:var(--had-topbar);display:flex;align-items:center;gap:28px;padding:0 24px;border-bottom:1px solid var(--had-soft);background:rgba(2,11,20,.97);position:relative;z-index:40}.had-brand{min-width:calc(var(--had-sidebar) - 24px);display:flex;align-items:center;text-decoration:none}.had-brand span,.had-brand b{font-size:31px;line-height:1;letter-spacing:-5px;font-weight:300}.had-brand b{color:var(--had-cyan)}.had-brand em{margin-left:13px;color:#7293a5;font:700 8px/1 ui-monospace,monospace;letter-spacing:.17em;font-style:normal}.had-mobile-menu{display:none;border:0;background:transparent}.had-top-stream{min-width:0;flex:1;display:flex;align-items:center;gap:10px;overflow:hidden;color:#66899b}.had-top-stream>.dashicons{color:var(--had-green);font-size:14px;animation:hadPulse 1.4s ease-in-out infinite alternate}.had-top-stream>div{display:flex;overflow:hidden}.had-top-stream>div>span{display:flex;flex:none;animation:hadMarquee 32s linear infinite}.had-top-stream em{display:flex;gap:8px;align-items:center;min-width:max-content;margin-right:42px;font:400 8px ui-monospace,monospace;font-style:normal}.had-top-stream em b{color:var(--had-cyan)}.had-top-links{margin-left:auto;display:flex;gap:8px}.had-top-links a{height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #214d64;border-radius:5px;text-decoration:none;color:#9fb9c6;font-size:10px}.had-top-links a:hover{color:var(--had-cyan);border-color:var(--had-cyan)}.had-top-links .dashicons{font-size:14px;width:14px;height:14px}.had-shell-body{height:calc(100dvh - var(--had-topbar));min-height:0;display:grid;grid-template-columns:var(--had-sidebar) minmax(0,1fr)}.admin-bar .had-shell-body{height:calc(100dvh - var(--had-topbar) - 32px)}.had-sidebar{height:100%;min-height:0;padding:14px 12px 12px;display:flex;flex-direction:column;border-right:1px solid var(--had-soft);background:linear-gradient(180deg,rgba(4,18,29,.99),rgba(2,11,20,.99));position:relative;z-index:35}.had-side-main{padding-bottom:10px;border-bottom:1px solid #123448}.had-side-scroll{min-height:0;overflow:auto;padding-top:10px;scrollbar-width:thin;scrollbar-color:#245970 transparent}.had-side-label{display:block;margin:4px 10px 7px;color:#496f83;font:700 8px ui-monospace,monospace;letter-spacing:.14em}.had-activity-label{margin-top:17px}.had-sidebar a{width:100%;min-height:33px;display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 10px;border:1px solid transparent;border-radius:5px;text-decoration:none;color:#87a6b6;font-size:10px}.had-sidebar a:hover{background:#092032;color:#d8e8ef}.had-sidebar a.is-active{color:var(--had-cyan);border-color:#1d5f78;background:linear-gradient(90deg,rgba(34,211,238,.13),rgba(34,211,238,.02))}.had-sidebar .dashicons{font-size:14px;width:14px;height:14px}.had-sidebar a small{min-width:21px;height:18px;display:grid;place-items:center;border:1px solid #21465a;border-radius:8px;color:#6f91a2;font:700 8px ui-monospace,monospace}.had-side-status{margin-top:10px;display:flex;align-items:center;gap:9px;border:1px solid #17455a;background:#071b29;padding:9px}.had-side-status>.dashicons{color:var(--had-green);filter:drop-shadow(0 0 5px rgba(52,211,153,.7))}.had-side-status b{display:block;color:var(--had-green);font:700 8px ui-monospace,monospace;letter-spacing:.1em}.had-side-status small{display:block;margin-top:3px;color:#5f8091;font-size:8px}.had-workspace{min-width:0;min-height:0;height:100%;overflow:hidden;position:relative;background-image:linear-gradient(rgba(18,65,89,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(18,65,89,.07) 1px,transparent 1px);background-size:42px 42px}.had-workspace-beam{position:absolute;z-index:0;top:0;bottom:0;width:13vw;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.055),transparent);animation:hadBeam 12s ease-in-out infinite}.had-mobile-scrim{display:none}.had-screen{width:100%;height:100%;min-width:0;min-height:0;padding:14px;overflow:hidden;position:relative;z-index:1;animation:hadScreenIn .35s ease-out}.had-standard-screen{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.had-panel{border:1px solid var(--had-soft);border-radius:11px;background:linear-gradient(145deg,rgba(9,31,47,.96),rgba(4,16,27,.95));box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 40px rgba(0,0,0,.12)}.had-kicker{margin:0;color:var(--had-cyan);display:flex;align-items:center;gap:7px;text-transform:uppercase;font:700 8px ui-monospace,monospace;letter-spacing:.15em}.had-kicker>span{width:19px;height:1px;background:currentColor}.had-screen-header{min-height:79px;display:flex;align-items:center;gap:28px;padding:8px 5px 11px 8px;border-bottom:1px solid #15384c}.had-screen-header>div:first-child{min-width:0}.had-screen-header h1{margin:7px 0 4px;font-size:clamp(23px,2vw,34px);line-height:1.05;letter-spacing:-.03em}.had-screen-header p{margin:0;color:var(--had-muted);font-size:11px;line-height:1.45;max-width:760px}.had-screen-actions{margin-left:auto;display:flex;align-items:center;gap:9px;flex:none}.had-metric-pill,.had-header-link{min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid #234e64;border-radius:5px;padding:0 13px;color:#8faab8;font-size:9px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.had-metric-pill b{color:var(--had-cyan);font:300 19px ui-monospace,monospace}.had-auto-source{min-width:164px;display:flex;align-items:center;gap:9px;border:1px solid #1a4b60;border-radius:4px;background:rgba(5,24,36,.8);padding:8px 10px}.had-auto-source>.dashicons{color:var(--had-green);filter:drop-shadow(0 0 5px rgba(52,211,153,.7))}.had-auto-source b{display:block;color:var(--had-green);font:700 8px ui-monospace,monospace;letter-spacing:.1em}.had-auto-source small{display:block;color:#648596;font-size:8px;margin-top:2px}.had-section-title,.had-panel-title{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:10px;border-bottom:1px solid #173d51}.had-section-title h2,.had-panel-title h2{margin:0;font-size:13px}.had-section-title>span{color:#5f8191;font:8px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.had-tag-row{display:flex;flex-wrap:wrap;gap:5px}.had-tag-row span{border:1px solid #265369;border-radius:10px;background:#061927;padding:4px 8px;color:#86afc0;font-size:8px}.had-primary-action{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--had-cyan);border-radius:4px;background:linear-gradient(135deg,#5ce7f5,#11bedd);color:#02131d!important;text-decoration:none;font-size:9px;font-weight:700}

/* Research, publications and teaching */
.had-research-layout{min-height:0;display:grid;grid-template-columns:minmax(0,2.25fr) minmax(275px,.75fr);gap:12px}.had-project-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.had-project-card{width:100%;min-height:0;padding:clamp(16px,2vh,25px);display:flex;flex-direction:column;overflow:hidden;color:inherit;text-align:left}.had-detail-trigger{cursor:pointer;outline:none;transition:border-color .2s,transform .2s,box-shadow .2s}.had-detail-trigger:hover,.had-detail-trigger:focus-visible{border-color:rgba(34,211,238,.55);box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 0 30px rgba(34,211,238,.04);transform:translateY(-2px)}.had-project-meta{display:flex;justify-content:space-between;align-items:center}.had-project-meta span{color:var(--had-cyan);font:300 24px ui-monospace,monospace}.had-project-meta b{color:var(--had-green);font:700 8px ui-monospace,monospace;letter-spacing:.08em}.had-project-card h2{margin:12px 0 7px;font-size:clamp(15px,1.2vw,21px);line-height:1.2}.had-project-card>p{margin:0;color:#8da6b3;font-size:10px;line-height:1.55}.had-project-card .had-tag-row{margin-top:auto;padding-top:10px}.had-progress-line{height:4px;margin-top:12px;position:relative;background:#123247}.had-progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--had-cyan),var(--had-violet));transform-origin:left;animation:hadLineGrow .7s ease-out}.had-progress-line em{position:absolute;right:0;top:-14px;color:#52778a;font:7px ui-monospace,monospace;font-style:normal}.had-open-detail{display:flex;align-items:center;gap:6px;margin-top:9px;color:#56d7e9;font:700 8px ui-monospace,monospace;letter-spacing:.12em}.had-research-side{min-height:0;display:grid;grid-template-rows:.9fr 1.1fr;gap:12px}.had-focus-panel,.had-methods-panel{min-height:0;padding:20px;overflow:hidden}.had-focus-panel h2{margin:12px 0 10px;font-size:clamp(17px,1.3vw,23px);line-height:1.25}.had-focus-panel p{color:#829eac;font-size:10px;line-height:1.6}.had-methods-panel .had-panel-title{margin-bottom:13px}.had-method{display:grid;grid-template-columns:105px 1fr 24px;align-items:center;gap:8px;margin:10px 0;color:#93adba;font-size:9px}.had-method>i{height:6px;background:#102f42;border-radius:3px;overflow:hidden}.had-method>i b{display:block;height:100%;background:linear-gradient(90deg,var(--had-cyan),var(--had-violet));transform-origin:left;animation:hadLineGrow .7s ease-out}.had-method>em{color:var(--had-cyan);font:8px ui-monospace,monospace;font-style:normal}.had-publications-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.38fr) minmax(340px,.62fr);gap:12px}.had-publication-dashboard,.had-latest-list,.had-teaching-records,.had-course-console,.had-timeline-panel,.had-credential-list,.had-credential-detail,.had-contact-card,.had-contact-form,.had-collection-analytics,.had-collection-records{min-height:0;padding:15px;overflow:hidden}.had-publication-dashboard{display:grid;grid-template-rows:auto minmax(0,1fr)}.had-publication-card-grid{min-height:0;padding-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px}.had-publication-card-grid .had-dashboard-card{padding:13px}.had-publication-card-grid .had-dashboard-card h3{height:29px;font-size:11px;margin:9px 0 5px}.had-publication-card-grid .had-spark-bars{height:27px}.had-latest-list,.had-teaching-records,.had-collection-records{display:grid;grid-template-rows:auto minmax(0,1fr)}.had-scroll-list{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#2d657e transparent}.had-record-row{width:100%;min-height:68px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 5px;border:0;border-bottom:1px solid #15394d;background:transparent;color:inherit;text-align:left}.had-record-row:hover{background:rgba(15,48,67,.64)}.had-record-row time{color:var(--had-cyan);font:300 15px ui-monospace,monospace}.had-record-row time small{display:block;color:#547589;font:7px ui-monospace,monospace;margin-top:4px}.had-record-row>span{min-width:0}.had-record-row label{display:block;margin-bottom:4px;color:var(--had-amber);font:700 7px ui-monospace,monospace;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.had-record-row b{display:block;font-size:10px;line-height:1.35}.had-record-row em{display:block;margin-top:4px;color:#6e8c9c;font-size:8px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.had-record-row>.dashicons{font-size:12px;color:var(--had-cyan)}.had-teaching-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:12px}.had-course-console{padding:clamp(18px,2vw,28px);display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr)}.had-course-overline{display:flex;justify-content:space-between;color:var(--had-amber);font:700 8px ui-monospace,monospace;letter-spacing:.09em}.had-course-overline b{color:#678798}.had-course-console h2{margin:12px 0 7px;font-size:clamp(24px,2vw,35px)}.had-course-console>p{margin:0;max-width:820px;color:#92aab7;font-size:10px;line-height:1.55}.had-course-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin:17px 0;border:1px solid #1e485d}.had-course-kpis span{padding:10px 13px;border-right:1px solid #1e485d}.had-course-kpis b{display:block;color:var(--had-cyan);font:300 21px ui-monospace,monospace}.had-course-kpis small{color:#607f8f;font:7px ui-monospace,monospace}.had-session-map{min-height:0;display:grid;grid-template-columns:repeat(2,1fr);gap:5px 14px;position:relative}.had-session-map>span{min-width:0;position:relative;padding:7px 5px 8px 29px;border-bottom:1px solid #153a4e;color:#91aab7;font-size:9px;overflow:hidden}.had-session-map>span i{position:absolute;left:2px;color:var(--had-cyan);font:8px ui-monospace,monospace}.had-session-map>span b{position:absolute;left:29px;bottom:2px;height:2px;background:linear-gradient(90deg,var(--had-cyan),transparent)}.had-inline-detail{position:absolute;right:4px;bottom:2px;display:flex;align-items:center;gap:6px;border:1px solid #286079;background:#082536;color:var(--had-cyan);padding:6px 9px;font:700 7px ui-monospace,monospace}.had-teaching-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.had-teaching-principles span{display:flex;align-items:center;gap:6px;border:1px solid #174055;padding:7px;color:#7f9fae;font-size:8px}.had-teaching-principles .dashicons{color:var(--had-cyan)}

/* Career, credentials, blog and contact */
.had-experience-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(310px,.58fr);gap:12px}.had-segmented{display:flex;border:1px solid #244f64;border-radius:4px;overflow:hidden}.had-segmented button,.had-segmented a{min-height:40px;text-decoration:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:0 13px;border:0;border-right:1px solid #244f64;background:#071b29;color:#7898a8;font-size:9px}.had-segmented button.is-active,.had-segmented a.is-active{background:#0b4051;color:var(--had-cyan)}.had-timeline-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.had-timeline-head{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #173c50;color:#7695a5;font:700 8px ui-monospace,monospace;letter-spacing:.09em}.had-timeline-head b{color:var(--had-cyan)}.had-timeline-scroll{min-height:0;overflow:auto;scrollbar-width:thin}.had-timeline-item[hidden]{display:none!important}.had-timeline-item{width:100%;min-height:86px;display:grid;grid-template-columns:82px 24px minmax(0,1fr) 18px;align-items:start;padding:12px 5px;border:0;border-bottom:1px solid #13374a;background:transparent;color:inherit;text-align:left}.had-timeline-item:hover{background:rgba(15,48,67,.62)}.had-timeline-item time{color:#5ab8cd;font:9px ui-monospace,monospace}.had-timeline-node{height:100%;position:relative}.had-timeline-node:before{content:"";position:absolute;left:8px;top:13px;bottom:-18px;width:1px;background:#205169}.had-timeline-node i{display:block;width:9px;height:9px;margin:2px 0 0 4px;border:2px solid #326b80;border-radius:50%;background:#061a28}.had-timeline-node i.is-live{border-color:var(--had-green);box-shadow:0 0 9px var(--had-green)}.had-timeline-item h2{margin:0 0 4px;font-size:13px}.had-timeline-item>span:nth-child(3)>b{color:#65bdd1;font-size:9px}.had-timeline-item p{margin:5px 0 0;color:#7e9aa9;font-size:9px;line-height:1.4}.had-timeline-item>.dashicons{align-self:center;color:#4f879e}.had-career-dashboard{min-height:0;display:grid;grid-template-rows:1.06fr .9fr .9fr;gap:12px}.had-career-dashboard>.had-panel{padding:17px;min-height:0;overflow:hidden}.had-career-dashboard h2{margin:10px 0 8px;font-size:16px}.had-career-dashboard p{color:#809eac;font-size:9px;line-height:1.55}.had-language-panel>span{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #153a4d;color:#8ba4b0;font-size:9px}.had-language-panel b{color:var(--had-cyan)}.had-credential-layout{min-height:0;display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);gap:12px}.had-credential-list{display:grid;grid-template-rows:auto repeat(7,minmax(0,1fr))}.had-credential-list>button{width:100%;min-height:0;display:grid;grid-template-columns:27px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:7px 6px;border:0;border-bottom:1px solid #15394c;background:transparent;color:inherit;text-align:left}.had-credential-list>button:hover,.had-credential-list>button.is-active{background:linear-gradient(90deg,rgba(34,211,238,.1),transparent)}.had-credential-list>button.is-active{border-left:2px solid var(--had-cyan)}.had-credential-list>button>span{color:#476e81;font:8px ui-monospace,monospace}.had-credential-list>button b{display:block;font-size:10px}.had-credential-list>button small{display:block;margin-top:3px;color:#638293;font-size:8px}.had-credential-detail{position:relative;padding:clamp(25px,3vw,48px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.had-credential-watermark{position:absolute;right:-30px;bottom:-50px;opacity:.04}.had-credential-watermark .dashicons{font-size:250px;width:250px;height:250px}.had-credential-detail h2{max-width:740px;margin:14px 0 5px;font-size:clamp(27px,2.6vw,43px);line-height:1.05}.had-credential-detail>p{color:#71b9cd}.had-credential-meta{display:grid;grid-template-columns:1fr 1fr;max-width:520px;margin:19px 0;border:1px solid #1e4a60}.had-credential-meta span{padding:13px;border-right:1px solid #1e4a60}.had-credential-meta small{display:block;color:#5f7e8e;font:7px ui-monospace,monospace}.had-credential-meta b{color:var(--had-cyan);font:300 17px ui-monospace,monospace}.had-skill-grid{display:flex;flex-wrap:wrap;gap:7px}.had-skill-grid span{display:flex;align-items:center;gap:5px;border:1px solid #245268;padding:7px 9px;color:#9cb3be;font-size:9px}.had-skill-grid .dashicons{color:var(--had-green)}.had-credential-note{display:flex;align-items:center;gap:10px;max-width:570px;margin-top:20px;padding:12px;border-left:2px solid var(--had-green);background:rgba(52,211,153,.06)}.had-credential-note b,.had-credential-note small{display:block}.had-credential-note b{color:var(--had-green);font:700 8px ui-monospace,monospace}.had-credential-note small{margin-top:4px;color:#708e9d;font-size:8px}.had-blog-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:12px}.had-featured-story{min-height:0;display:grid;grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr);overflow:hidden}.had-story-visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(34,211,238,.25),transparent 42%),linear-gradient(145deg,#0b4052,#04131e)}.had-story-visual>.dashicons{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:90px;width:90px;height:90px;color:rgba(34,211,238,.33)}.had-story-visual span,.had-story-visual b{position:relative;z-index:1;font:700 8px ui-monospace,monospace}.had-story-visual span{color:var(--had-cyan)}.had-story-visual b{margin-top:6px;color:#a7c0cb}.had-story-orbit{position:absolute;width:230px;height:230px;left:50%;top:43%;transform:translate(-50%,-50%);border:1px solid rgba(34,211,238,.22);border-radius:50%;animation:hadRotate 13s linear infinite}.had-story-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--had-cyan);box-shadow:0 0 12px var(--had-cyan)}.had-story-copy{padding:clamp(22px,2.6vw,42px);display:flex;flex-direction:column;justify-content:center}.had-story-copy h2{margin:13px 0 9px;font-size:clamp(23px,2.2vw,36px);line-height:1.08}.had-story-copy>p{color:#8da6b4;font-size:10px;line-height:1.6}.had-story-meta{display:flex;gap:18px;margin:10px 0;color:#6d8b9b;font-size:8px}.had-story-meta span{display:flex;align-items:center;gap:5px}.had-story-copy>button{align-self:flex-start;display:flex;gap:7px;align-items:center;margin-top:12px;padding:9px 13px;border:1px solid var(--had-cyan);background:rgba(34,211,238,.09);color:var(--had-cyan);font-size:9px}.had-blog-console{min-height:0;padding:15px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.had-topic-tabs{display:flex;gap:5px;padding:9px 0}.had-topic-tabs button{padding:5px 8px;border:1px solid #235067;background:transparent;color:#7593a3;font-size:8px}.had-topic-tabs button.is-active{border-color:var(--had-cyan);color:var(--had-cyan);background:rgba(34,211,238,.08)}.had-blog-list{min-height:0;overflow:auto}.had-blog-list>button{width:100%;display:grid;grid-template-columns:35px 1fr 17px;gap:9px;align-items:center;padding:9px 4px;border:0;border-bottom:1px solid #153a4d;background:transparent;color:inherit;text-align:left}.had-blog-list>button[hidden]{display:none!important}.had-featured-story[hidden]{display:none!important}.had-blog-list time strong{display:block;font:inherit}.had-story-visual span em,.had-story-copy em,.had-story-meta em{font:inherit;font-style:normal}.had-blog-empty{min-height:160px}.had-blog-list time{color:var(--had-cyan);font:12px ui-monospace,monospace}.had-blog-list time small{display:block;color:#547589;font-size:6px}.had-blog-list label{display:block;color:var(--had-amber);font:7px ui-monospace,monospace}.had-blog-list b{display:block;font-size:9px;line-height:1.35}.had-blog-list em{display:block;margin-top:3px;color:#69899a;font-size:7px;font-style:normal}.had-blog-topics{display:flex;gap:5px;align-items:center;padding-top:8px;border-top:1px solid #153a4d;font-size:7px}.had-blog-topics>span{color:var(--had-green)}.had-blog-topics i{padding:4px 6px;border:1px solid #1d4558;color:#7191a0;font-style:normal}.had-contact-layout{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.had-contact-card{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);gap:25px;padding:25px}.had-contact-portrait{min-height:0;overflow:hidden}.had-contact-portrait img{width:100%;height:100%;object-fit:cover}.had-contact-card h2{margin:14px 0 5px;font-size:28px}.had-contact-card p{color:#8fa8b5;line-height:1.6}.had-contact-card>div:last-child>a{display:grid;grid-template-columns:25px 1fr 18px;align-items:center;margin-top:8px;padding:11px;border:1px solid #1d485c;text-decoration:none}.had-contact-card a small,.had-contact-card a b{display:block}.had-contact-card a small{color:#5f8192;font:7px ui-monospace,monospace}.had-contact-card a b{font-size:9px}.had-location{margin-top:13px;color:#7393a3;font-size:9px}.had-contact-form{display:flex;flex-direction:column;gap:10px;padding:25px}.had-contact-form label{display:flex;flex-direction:column;gap:5px;color:#7c99a8;font-size:8px}.had-contact-form input,.had-contact-form textarea{width:100%;border:1px solid #245065;background:#051925;color:#e5f3f7;padding:10px;outline:none}.had-contact-form input:focus,.had-contact-form textarea:focus{border-color:var(--had-cyan)}.had-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.had-contact-form>button{align-self:flex-start;padding:10px 14px;border:1px solid var(--had-cyan);background:var(--had-cyan);color:#02131d;font-weight:700}.had-shortcode-form{overflow:auto}

/* Collection analytics and universal detail popup */
.had-collection-screen{--drawer-accent:var(--had-cyan);display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.had-collection-header{min-height:104px;display:flex;align-items:center;gap:22px;padding:5px 7px 12px;border-bottom:1px solid #173d51}.had-collection-identity{min-width:0;display:flex;align-items:center;gap:15px}.had-collection-identity>span{width:55px;height:55px;display:grid;place-items:center;border:1px solid var(--card-accent);color:var(--card-accent)}.had-collection-identity>span .dashicons{font-size:25px;width:25px;height:25px}.had-collection-identity h1{margin:6px 0 3px;font-size:clamp(24px,2.2vw,37px)}.had-collection-identity p{margin:0;color:#7492a2;font-size:9px}.had-collection-kpis{min-width:305px;margin-left:auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #214b60}.had-collection-kpis span{padding:9px 12px;border-right:1px solid #214b60}.had-collection-kpis b{display:block;color:var(--card-accent);font:300 20px ui-monospace,monospace}.had-collection-kpis small{color:#607f8f;font:7px ui-monospace,monospace}.had-collection-body{min-height:0;display:grid;grid-template-columns:minmax(260px,.4fr) minmax(0,1.6fr);gap:12px}.had-collection-analytics{display:grid;grid-template-rows:auto 130px auto auto auto minmax(0,1fr)}.had-trend-chart{display:flex;align-items:end;gap:7px;padding:22px 5px 19px;border-bottom:1px solid #173a4d}.had-trend-chart>span{height:100%;flex:1;display:flex;align-items:end;position:relative}.had-trend-chart i{width:100%;min-height:4px;display:block;position:relative;background:linear-gradient(var(--card-accent),rgba(33,109,143,.8));transform-origin:bottom;animation:hadBarGrow .7s ease-out}.had-trend-chart em{position:absolute;top:-13px;left:50%;transform:translateX(-50%);color:var(--card-accent);font:7px ui-monospace,monospace;font-style:normal}.had-trend-chart small{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);color:#597b8c;font:7px ui-monospace,monospace}.had-filter-title{display:flex;align-items:center;gap:5px;margin-top:12px;color:#668899;font:700 7px ui-monospace,monospace;letter-spacing:.1em}.had-search-box{height:35px;display:flex;align-items:center;gap:7px;margin-top:7px;padding:0 9px;border:1px solid #235067;background:#051925}.had-search-box .dashicons{color:#5f8395}.had-search-box input{min-width:0;width:100%;border:0;background:transparent;color:#e4f2f6;outline:0;font-size:9px}.had-year-filter{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.had-year-filter button{padding:5px 7px;border:1px solid #214b60;background:transparent;color:#7393a2;font-size:7px}.had-year-filter button.is-active{border-color:var(--card-accent);color:var(--card-accent);background:color-mix(in srgb,var(--card-accent) 10%,transparent)}.had-latest-note{align-self:end;display:flex;gap:8px;padding:11px;border-left:2px solid var(--card-accent);background:rgba(34,211,238,.05)}.had-latest-note p{min-width:0;margin:0}.had-latest-note small,.had-latest-note b{display:block}.had-latest-note small{color:#628293;font:7px ui-monospace,monospace}.had-latest-note b{margin-top:4px;font-size:8px;line-height:1.35}.had-record-row.is-detailed{grid-template-columns:30px 50px minmax(0,1fr) 18px;min-height:92px}.had-row-number{color:#416b7d!important;font:8px ui-monospace,monospace}.had-record-row.is-detailed p{margin:4px 0 0;color:#6f8d9d;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.had-empty-state{height:100%;display:grid;place-content:center;justify-items:center;gap:7px;color:#648394}.had-empty-state b{font-size:11px}.had-empty-state span{font-size:8px}.had-detail-overlay[hidden]{display:none}.had-detail-overlay{position:fixed;z-index:100000;inset:0;display:flex;justify-content:flex-end}.had-detail-scrim{position:absolute;inset:0;border:0;background:rgba(0,7,12,.78);backdrop-filter:blur(5px)}.had-detail-drawer{--drawer-accent:var(--had-cyan);width:min(1080px,72vw);height:100%;position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f4f7f8;color:#10212b;box-shadow:-25px 0 70px rgba(0,0,0,.45);animation:hadDrawerIn .28s ease-out}.had-drawer-close{position:absolute;z-index:3;left:-45px;top:18px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #365c6e;background:#082130;color:#fff}.had-detail-drawer>header{padding:28px 42px 0;background:linear-gradient(145deg,#082e3d,#075a63);color:#fff}.had-detail-drawer .had-kicker{color:color-mix(in srgb,var(--drawer-accent) 70%,white)}.had-detail-drawer>header h1{margin:14px 0 18px;max-width:920px;font-size:clamp(24px,2.3vw,38px);line-height:1.14;letter-spacing:-.03em}.had-detail-meta{display:grid;grid-template-columns:1.25fr .72fr 1fr;border-top:1px solid rgba(255,255,255,.16)}.had-detail-meta span{padding:13px 15px 13px 0;border-right:1px solid rgba(255,255,255,.14)}.had-detail-meta span+span{padding-left:15px}.had-detail-meta small,.had-detail-meta b{display:block}.had-detail-meta small{color:#9ac4cd;font:7px ui-monospace,monospace}.had-detail-meta b{margin-top:4px;font-size:10px}.had-drawer-body{min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;padding:32px 42px;overflow:auto}.had-record-cover{height:285px;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:20px;background:linear-gradient(160deg,#073d4d,#082332);color:#fff;box-shadow:0 18px 35px rgba(0,0,0,.18)}.had-record-cover:before{content:"";position:absolute;inset:17px;border:1px solid color-mix(in srgb,var(--drawer-accent) 55%,transparent)}.had-record-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.had-record-cover img:not([hidden])~span,.had-record-cover img:not([hidden])~b,.had-record-cover img:not([hidden])~em{position:relative;z-index:2;text-shadow:0 2px 8px #000}.had-record-cover img:not([hidden]):after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}.had-record-cover span{position:relative;z-index:1;color:var(--drawer-accent);font:700 8px ui-monospace,monospace;letter-spacing:.1em}.had-record-cover>b{position:relative;z-index:1;margin:auto;font:300 48px ui-monospace,monospace;color:var(--drawer-accent)}.had-record-cover em{position:relative;z-index:1;font:300 20px ui-monospace,monospace;font-style:normal}.had-record-cover i{position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border:1px solid var(--drawer-accent);border-radius:50%;opacity:.25}.had-record-copy{min-width:0}.had-record-copy .had-kicker{color:#08798a}.had-lead{margin:13px 0;color:#264958;font-size:15px;line-height:1.7}.had-rich-content{max-height:220px;overflow:auto;color:#405c68;font-size:12px;line-height:1.65}.had-record-copy .had-tag-row{margin-top:16px}.had-record-copy .had-tag-row span{background:#e4eef1;border-color:#bcd0d7;color:#315561}.had-citation-box{margin-top:20px;padding:17px;border-left:3px solid var(--drawer-accent);background:#e7eef0}.had-citation-box small{color:#67828e;font:700 7px ui-monospace,monospace}.had-citation-box p{margin:7px 0 11px;color:#294a57;font-size:11px;line-height:1.6}.had-citation-box button{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #8dafba;background:#fff;color:#214a57;font-size:8px}.had-drawer-actions{display:flex;gap:7px;margin-top:18px}.had-drawer-actions a,.had-drawer-actions button{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #668995;background:transparent;color:#193e4b;text-decoration:none;font-size:9px}.had-drawer-actions a{border-color:#08798a;background:#08798a;color:#fff}.had-wordpress-content{overflow:auto}.had-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow:auto}.had-content-grid article{padding:20px}.had-content-grid h2{font-size:18px}.had-content-grid a{text-decoration:none}.had-content-grid p{color:#8aa4b1;font-size:11px}.had-single-article{min-height:0;display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:30px;padding:30px;overflow:auto}.had-single-article figure{margin:0}.had-single-article img{max-width:100%;height:auto}.had-single-copy{font-size:14px;line-height:1.75;color:#b9cbd3}.had-empty-page{height:100%;display:grid;place-content:center;justify-items:start;padding:clamp(30px,7vw,100px)}.had-empty-page h1{font-size:clamp(34px,5vw,72px);max-width:900px;margin:18px 0}.had-empty-page p{color:#8ca6b2}

/* Ambient effects, compact-screen rules, and responsive behavior */
.had-ambient-field{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.had-ambient-field>i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--had-cyan);box-shadow:0 0 10px var(--had-cyan);animation:hadNode 7s ease-in-out infinite}.had-ambient-field>i:nth-child(1){left:20%;top:15%}.had-ambient-field>i:nth-child(2){left:62%;top:20%;animation-delay:-2s}.had-ambient-field>i:nth-child(3){left:82%;top:67%;animation-delay:-4s}.had-ambient-field>i:nth-child(4){left:43%;top:80%;animation-delay:-1s}.had-ambient-field>i:nth-child(5){left:13%;top:63%;animation-delay:-5s}.had-ambient-field>i:nth-child(6){left:74%;top:42%;animation-delay:-3s}.had-is-leaving .had-workspace{opacity:.25;transform:scale(.995);transition:.18s}.had-motion-subtle .had-ambient-field,.had-motion-subtle .had-card-scan,.had-motion-subtle .had-workspace-beam{display:none}.had-motion-off *{animation:none!important;transition:none!important}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes hadMarquee{to{transform:translateX(-100%)}}@keyframes hadBeam{0%,20%{transform:translateX(-120%) skewX(-18deg)}70%,100%{transform:translateX(750%) skewX(-18deg)}}@keyframes hadNode{0%,100%{transform:translate(0) scale(.8);opacity:.3}50%{transform:translate(12px,-18px) scale(1.35);opacity:.95}}@keyframes hadScreenIn{from{transform:translateY(8px);opacity:0;filter:blur(3px)}to{transform:none;opacity:1;filter:none}}@keyframes hadDataIn{from{transform:translateX(8px);opacity:.15}to{transform:none;opacity:1}}@keyframes hadDrawerIn{from{transform:translateX(45px);opacity:.4}to{transform:none;opacity:1}}@keyframes hadBarGrow{from{transform:scaleY(.05);opacity:.2}to{transform:scaleY(1);opacity:1}}@keyframes hadLineGrow{from{transform:scaleX(.04);opacity:.2}to{transform:scaleX(1);opacity:1}}@keyframes hadPulse{from{opacity:.35;filter:saturate(.7)}to{opacity:1;filter:saturate(1.5)}}@keyframes hadRotate{to{transform:rotate(360deg)}}@keyframes hadScan{0%,100%{transform:translateY(12px);opacity:0}20%{opacity:.6}80%{opacity:.45}90%{transform:translateY(220px);opacity:0}}@keyframes hadCardScan{from{transform:translateY(-20%)}to{transform:translateY(620%)}}@keyframes hadBlink{50%{opacity:0}}
@media(max-width:1280px){:root{--had-sidebar:218px}.had-top-stream{display:none}.had-home-top{grid-template-columns:1.18fr .9fr .82fr}.had-publications-layout{grid-template-columns:minmax(0,1.25fr) minmax(315px,.75fr)}}
@media(max-height:760px) and (min-width:901px){:root{--had-topbar:56px}.had-screen{padding:9px}.had-home-screen{grid-template-rows:40px 46px minmax(172px,.78fr) minmax(215px,1.22fr)}.had-home-command{min-height:40px}.had-home-kpi-grid{min-height:46px}.had-profile-copy{padding:12px}.had-dashboard-zone{padding:6px}.had-screen-header{min-height:65px;padding:4px 5px 7px}.had-project-card{padding:13px}.had-course-console,.had-contact-card,.had-contact-form{padding:16px}}
@media(max-width:900px){:root{--had-topbar:58px}.admin-bar .had-app-shell{height:calc(100dvh - 46px)}.admin-bar .had-shell-body{height:calc(100dvh - var(--had-topbar) - 46px)}.had-topbar{padding:0 13px;gap:8px}.had-brand{min-width:0}.had-brand em,.had-top-stream,.had-top-links{display:none}.had-mobile-menu{display:grid;place-items:center;margin-left:auto}.had-shell-body{grid-template-columns:1fr}.had-sidebar{position:fixed;left:0;top:var(--had-topbar);bottom:0;width:min(290px,84vw);transform:translateX(-105%);transition:.25s}.admin-bar .had-sidebar{top:calc(var(--had-topbar) + 46px)}.had-sidebar.is-open{transform:none}.had-mobile-scrim:not([hidden]){display:block;position:fixed;inset:var(--had-topbar) 0 0;z-index:30;border:0;background:rgba(0,4,7,.65)}.had-workspace{overflow:auto}.had-screen{height:auto;min-height:100%;overflow:visible}.had-home-screen,.had-standard-screen,.had-collection-screen{display:block}.had-home-command{display:block;padding:13px;margin-bottom:12px}.had-home-filter-strip{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.had-home-kpi-grid{grid-template-columns:repeat(2,1fr);margin-bottom:12px}.had-home-top,.had-research-layout,.had-publications-layout,.had-teaching-layout,.had-experience-layout,.had-credential-layout,.had-contact-layout,.had-collection-body,.had-blog-layout{display:grid;grid-template-columns:1fr}.had-home-top>*,.had-dashboard-zone,.had-screen-header,.had-research-layout>*,.had-publications-layout>*,.had-teaching-layout>*,.had-experience-layout>*,.had-credential-layout>*,.had-contact-layout>*,.had-collection-body>*,.had-blog-layout>*{margin-bottom:12px}.had-profile-card{min-height:280px}.had-news-console,.had-scholar-card{min-height:275px}.had-dashboard-zone{min-height:650px}.had-home-dashboard-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(7,1fr)}.had-screen-header{display:block}.had-screen-actions{margin-top:12px}.had-project-grid{grid-template-columns:1fr;grid-template-rows:none}.had-project-card{min-height:230px}.had-research-side{min-height:460px}.had-publication-dashboard{min-height:620px}.had-publication-card-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.had-latest-list,.had-teaching-records,.had-timeline-panel,.had-credential-list,.had-collection-records{min-height:560px}.had-course-console{min-height:640px}.had-career-dashboard{min-height:520px}.had-credential-detail{min-height:540px}.had-contact-card,.had-contact-form{min-height:530px}.had-featured-story{min-height:520px}.had-blog-console{min-height:600px}.had-collection-header{flex-wrap:wrap}.had-collection-kpis{order:3;width:100%;min-width:0;margin:0}.had-collection-analytics{min-height:420px}.had-detail-drawer{width:94vw}.had-drawer-body{grid-template-columns:150px 1fr;padding:25px}.had-content-grid{grid-template-columns:1fr}.had-single-article{grid-template-columns:1fr}}
@media(max-width:560px){.had-screen{padding:9px}.had-home-filter-strip{grid-template-columns:1fr}.had-home-kpi-grid{grid-template-columns:1fr 1fr}.had-profile-card{grid-template-columns:118px 1fr}.had-profile-copy{padding:14px 11px}.had-profile-copy h1{font-size:22px}.had-profile-telemetry span:nth-child(n+2){display:none}.had-home-dashboard-grid{grid-template-columns:1fr;grid-template-rows:repeat(13,130px)}.had-dashboard-zone{min-height:1900px}.had-dashboard-zone-head{align-items:flex-start;flex-wrap:wrap}.had-publication-card-grid{grid-template-columns:1fr;grid-template-rows:repeat(6,185px)}.had-publication-dashboard{min-height:1240px}.had-course-kpis{grid-template-columns:1fr 1fr}.had-session-map{grid-template-columns:1fr}.had-contact-card{grid-template-columns:1fr}.had-contact-portrait{height:260px}.had-form-row{grid-template-columns:1fr}.had-detail-drawer{width:100vw}.had-drawer-close{left:10px;top:10px}.had-detail-drawer>header{padding:66px 20px 0}.had-detail-meta{grid-template-columns:1fr}.had-detail-meta span,.had-detail-meta span+span{padding:8px 0;border-right:0;border-top:1px solid rgba(255,255,255,.14)}.had-drawer-body{display:block;padding:20px}.had-record-cover{width:140px;margin-bottom:20px}.had-featured-story{display:block}.had-story-visual{min-height:235px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Power-BI-inspired homepage */
.had-home-screen{display:grid;grid-template-rows:auto auto minmax(190px,.82fr) minmax(235px,1.18fr);gap:8px}.had-home-command{min-height:44px;display:flex;align-items:center;gap:18px;padding:4px 12px;border:1px solid #1d5066;border-radius:9px;background:linear-gradient(90deg,rgba(7,43,57,.96),rgba(6,91,99,.72),rgba(7,29,44,.96));box-shadow:0 9px 28px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.04)}.had-home-command h1{margin:3px 0 0;font-size:16px;letter-spacing:-.02em}.had-home-filter-strip{margin-left:auto;display:flex;align-items:end;gap:7px}.had-home-filter-strip label{min-width:112px;color:#78a4b6;font:700 7px ui-monospace,monospace;letter-spacing:.1em}.had-home-filter-strip select{width:100%;height:27px;display:block;margin-top:3px;padding:0 25px 0 8px;border:1px solid #286176;border-radius:4px;background:#051925;color:#d9f2f6;font-size:9px}.had-home-filter-strip button{height:27px;display:flex;align-items:center;gap:5px;border:1px solid #28748a;border-radius:4px;background:rgba(9,47,61,.8);color:#75d8e7;font:700 7px ui-monospace,monospace}.had-home-kpi-grid{min-height:48px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.had-home-kpi-grid article{min-width:0;position:relative;overflow:hidden;padding:7px 12px;border:1px solid #1d4b60;border-radius:7px;background:linear-gradient(145deg,rgba(10,38,52,.96),rgba(4,17,27,.96))}.had-home-kpi-grid article:before{content:"";position:absolute;right:-20px;top:-32px;width:82px;height:82px;border:1px solid rgba(34,211,238,.16);border-radius:50%}.had-home-kpi-grid span{display:block;color:#66899a;font:700 7px ui-monospace,monospace;letter-spacing:.08em}.had-home-kpi-grid b{color:var(--had-cyan);font:300 21px ui-monospace,monospace}.had-home-kpi-grid em{margin-left:8px;color:#7293a4;font-size:7px;font-style:normal}.had-home-kpi-grid i{position:absolute;left:0;bottom:0;height:2px;width:72%;background:linear-gradient(90deg,var(--had-cyan),transparent);animation:hadPulse 1.8s ease-in-out infinite alternate}.had-home-top{min-height:0;display:grid;grid-template-columns:1.18fr .92fr .9fr;gap:8px}.had-profile-card{min-width:0;display:grid;grid-template-columns:minmax(112px,34%) 1fr;overflow:hidden;position:relative}.had-portrait{min-width:0;position:relative;align-self:stretch;overflow:hidden;background:linear-gradient(160deg,#0b2b3d,#030c14)}.had-portrait:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#071927)}.had-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(.78) contrast(1.05)}.had-portrait>span{position:absolute;z-index:2;left:13px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--had-cyan);border-radius:50%;color:var(--had-cyan);font:700 8px Georgia,serif}.had-portrait>em{position:absolute;z-index:2;right:8px;top:8px;color:#79afbd;font:7px ui-monospace,monospace;font-style:normal}.had-portrait-radar{position:absolute;z-index:2;inset:8%;border:1px solid rgba(34,211,238,.25);border-radius:50%;animation:hadRotate 13s linear infinite}.had-portrait-radar i{position:absolute;inset:18%;border:1px dashed rgba(34,211,238,.18);border-radius:50%}.had-profile-copy{min-width:0;padding:clamp(12px,1.45vw,22px);display:flex;flex-direction:column;justify-content:center}.had-profile-copy h1{margin:8px 0 3px;font-size:clamp(20px,1.9vw,32px);line-height:1.02;letter-spacing:-.04em}.had-profile-copy h1 strong{color:var(--had-cyan);font-weight:300}.had-profile-role{margin:0;color:#7cedfb;font-size:10px}.had-profile-summary{margin:9px 0 0;padding-top:8px;border-top:1px solid #184358;color:#9db4bf;font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.had-profile-telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.had-profile-telemetry span{border-right:1px solid #1b4356}.had-profile-telemetry b{display:block;color:var(--had-cyan);font:300 15px ui-monospace,monospace}.had-profile-telemetry small{font:6px ui-monospace,monospace;color:#688899}.had-profile-actions{display:flex;gap:7px;margin-top:9px}.had-profile-actions a{min-height:29px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #286079;border-radius:4px;text-decoration:none;font-size:8px}.had-news-console{min-width:0;padding:12px;position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-shadow:inset 0 0 0 4px rgba(35,89,118,.13)}.had-news-scan{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--had-cyan),transparent);animation:hadScan 4.5s linear infinite}.had-news-title{display:flex;justify-content:space-between;align-items:center;padding:0 2px 8px;border-bottom:1px solid #194158}.had-news-title h2{margin:0;color:var(--had-cyan);font:400 clamp(15px,1.3vw,22px) ui-monospace,monospace;letter-spacing:.08em}.had-news-title span{color:var(--had-green);font:700 7px ui-monospace,monospace}.had-news-title span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--had-green);box-shadow:0 0 7px var(--had-green)}.had-news-slides{min-height:0;position:relative}.had-news-item{display:none;width:100%;height:100%;border:0;background:transparent;padding:9px 2px 5px;text-align:left;overflow:hidden}.had-news-item.is-active{display:block;animation:hadDataIn .35s ease-out}.had-signal-line{display:flex;gap:7px;align-items:center;color:#66899a;font:7px ui-monospace,monospace}.had-signal-line time{color:var(--had-amber)}.had-signal-line label{color:#65bfd1}.had-signal-line em{margin-left:auto;font-style:normal}.had-news-item h3{margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:clamp(13px,1.05vw,18px);line-height:1.3}.had-news-item h3 em{color:var(--had-cyan);font-style:normal;animation:hadBlink 1s steps(2,start) infinite}.had-news-item p{margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7492a2;font-size:8px}.had-news-item>b{display:flex;align-items:center;gap:5px;margin-top:7px;color:var(--had-cyan);font:700 7px ui-monospace,monospace}.had-news-nav{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #194158;padding-top:7px}.had-news-nav>div{display:flex;gap:4px}.had-news-nav>div button{width:18px;height:3px;padding:0;border:0;background:#244c61}.had-news-nav>div button.is-active{background:var(--had-cyan)}.had-news-nav>span{display:flex;gap:4px}.had-news-nav>span button{width:25px;height:23px;border:1px solid #28566d;background:#061826}.had-scholar-card{min-width:0;padding:12px;display:grid;grid-template-rows:auto auto minmax(45px,1fr) auto}.had-scholar-card .had-panel-title{padding-bottom:6px}.had-scholar-card h2{margin:4px 0 0;font-size:15px}.had-scholar-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px 0 5px}.had-scholar-kpis span{border-right:1px solid #1a4054}.had-scholar-kpis small{display:block;color:#6a8999;font:6px ui-monospace,monospace}.had-scholar-kpis b{display:block;color:var(--had-cyan);font:300 clamp(15px,1.4vw,22px) ui-monospace,monospace}.had-scholar-kpis em{display:block;color:#627f8f;font-size:6px;font-style:normal}.had-micro-chart{min-height:0;display:flex;align-items:end;gap:clamp(4px,.6vw,9px);padding:11px 7px;border-top:1px solid #12384c}.had-micro-chart>i{flex:1;max-width:22px;min-width:4px;position:relative;background:linear-gradient(#19d8ec,#22799d);border-radius:2px 2px 0 0;transform-origin:bottom;animation:hadBarGrow .7s ease-out both}.had-micro-chart>i>em{position:absolute;left:50%;top:-10px;transform:translateX(-50%);color:#78ddec;font:6px ui-monospace,monospace;font-style:normal}.had-micro-chart>i>small{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);color:#4d7183;font:6px ui-monospace,monospace}.had-sync-line{padding-top:7px;border-top:1px solid #173d51;display:flex;align-items:center;gap:5px;color:var(--had-green);font:700 6px ui-monospace,monospace;letter-spacing:.07em}.had-sync-line span{margin-left:auto;color:#58798a;font-weight:400}.had-dashboard-zone{min-height:0;padding:8px;display:grid;grid-template-rows:auto minmax(0,1fr)}.had-dashboard-zone-head{min-height:37px;display:flex;align-items:center;gap:18px;padding:0 3px 6px;border-bottom:1px solid #183d51}.had-dashboard-zone-head h2{margin:3px 0 0;font-size:13px}.had-dashboard-signal{margin-left:auto;display:flex;align-items:center;gap:9px;color:#7595a5;font-size:7px}.had-dashboard-signal b{color:var(--had-cyan)}.had-dashboard-signal i{width:5px;height:5px;border-radius:50%;background:var(--had-green);box-shadow:0 0 7px var(--had-green)}.had-home-dashboard-grid{min-height:0;padding-top:6px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.had-dashboard-card{--card-accent:var(--had-cyan);min-width:0;min-height:0;padding:8px 9px;position:relative;overflow:hidden;border:1px solid #24536b;border-radius:7px;background:linear-gradient(145deg,rgba(11,38,55,.94),rgba(3,14,24,.95));text-decoration:none;transition:border-color .2s,opacity .2s,filter .2s,transform .2s}.had-dashboard-card:hover{border-color:var(--card-accent);transform:translateY(-2px);box-shadow:0 9px 28px rgba(0,0,0,.25)}.had-dashboard-card.is-filtered-out{opacity:.2;filter:saturate(.25)}.had-card-scan{position:absolute;left:0;right:0;top:0;height:16%;background:linear-gradient(transparent,rgba(255,255,255,.045),transparent);animation:hadCardScan 5s linear infinite}.had-accent-cyan{--card-accent:#22d3ee!important;--drawer-accent:#22d3ee}.had-accent-blue{--card-accent:#60a5fa!important;--drawer-accent:#60a5fa}.had-accent-violet{--card-accent:#a78bfa!important;--drawer-accent:#a78bfa}.had-accent-pink{--card-accent:#f472b6!important;--drawer-accent:#f472b6}.had-accent-green{--card-accent:#34d399!important;--drawer-accent:#34d399}.had-accent-amber{--card-accent:#f6b84a!important;--drawer-accent:#f6b84a}.had-dash-card-head{display:flex;align-items:center;justify-content:space-between}.had-dash-card-head>span{width:23px;height:23px;display:grid;place-items:center;color:var(--card-accent);border:1px solid color-mix(in srgb,var(--card-accent) 60%,transparent)}.had-dash-card-head .dashicons{font-size:12px;width:12px;height:12px}.had-dash-card-head>b{color:var(--card-accent);font:300 17px ui-monospace,monospace}.had-dashboard-card h3{height:22px;margin:5px 0 2px;overflow:hidden;font-size:8px;line-height:1.25}.had-spark-bars{height:15px;display:flex;align-items:end;gap:3px}.had-spark-bars i{width:4px;min-height:2px;background:var(--card-accent);opacity:.72;transform-origin:bottom;animation:hadBarGrow .7s ease-out both}.had-velocity{height:2px;margin-top:3px;background:#113143}.had-velocity i{display:block;height:100%;background:var(--card-accent);animation:hadPulse 1.8s ease-in-out infinite alternate}.had-dashboard-card>p{margin:4px 0 0;padding-top:4px;border-top:1px solid #173a4d;display:grid;grid-template-columns:auto minmax(0,1fr) 12px;align-items:center;gap:4px;color:#7896a6;font-size:6px;white-space:nowrap;overflow:hidden}.had-dashboard-card>p em{color:var(--card-accent);font-style:normal;font:700 7px ui-monospace,monospace}.had-dashboard-card>p span{overflow:hidden;text-overflow:ellipsis}


/* ===== /assets/css/responsive.css ===== */
/* Executive homepage analytics and final responsive overrides. */
.had-home-screen {
  grid-template-rows: auto auto minmax(170px, .68fr) minmax(340px, 1.32fr);
}

.had-dashboard-zone {
  padding: 10px;
  grid-template-rows: auto minmax(108px, .62fr) minmax(158px, 1fr);
  gap: 7px;
}

.had-home-analytics-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: 1.14fr .82fr 1.04fr;
  gap: 7px;
}

.had-home-chart-panel {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 8px 10px;
  border: 1px solid #1d485e;
  border-radius: 7px;
  background: linear-gradient(145deg, rgba(7, 29, 44, .88), rgba(3, 15, 25, .9));
}

.had-home-chart-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 5px;
  border-bottom: 1px solid #173b4e;
}

.had-home-chart-title span { color: #c9dde5; font-size: 8px; font-weight: 700; }
.had-home-chart-title em { color: #5f8496; font: 700 6px ui-monospace, monospace; letter-spacing: .08em; font-style: normal; }

.had-home-rank-bars { min-height: 0; display: grid; gap: 3px; padding-top: 5px; }
.had-home-rank-bars > a {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(58px, .72fr) minmax(55px, 1.55fr) 18px;
  align-items: center;
  gap: 6px;
  padding: 0;
  color: #8ba8b6;
  text-decoration: none;
  font-size: 6px;
}
.had-home-rank-bars > a:hover > span { color: var(--had-cyan); }
.had-home-rank-bars > a > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.had-home-rank-bars > a > i { height: 5px; overflow: hidden; background: #112f40; }
.had-home-rank-bars > a > i b { display: block; height: 100%; transform-origin: left; animation: hadLineGrow .7s ease-out both; }
.had-home-rank-bars > a > em { color: #b8d0da; font: 700 7px ui-monospace, monospace; font-style: normal; text-align: right; }
.had-accent-bg-cyan { background: #22d3ee; }
.had-accent-bg-blue { background: #60a5fa; }
.had-accent-bg-violet { background: #a78bfa; }
.had-accent-bg-pink { background: #f472b6; }
.had-accent-bg-green { background: #34d399; }
.had-accent-bg-amber { background: #f6b84a; }

.had-home-mix {
  min-height: 0;
  height: calc(100% - 22px);
  display: grid;
  grid-template-columns: minmax(72px, .86fr) minmax(85px, 1.14fr);
  align-items: center;
  gap: 10px;
}
.had-home-donut {
  width: min(74px, 8vh);
  aspect-ratio: 1;
  margin: auto;
  position: relative;
  border-radius: 50%;
  background: conic-gradient(var(--had-cyan) 0 var(--had-pub-share), var(--had-violet) var(--had-pub-share) 100%);
  box-shadow: 0 0 20px rgba(34, 211, 238, .12);
  transform: rotate(-90deg);
  animation: hadDonutIn .8s cubic-bezier(.2, .8, .2, 1) both;
}
.had-home-donut::after { content: ""; position: absolute; inset: 16%; border-radius: 50%; background: #061824; box-shadow: inset 0 0 0 1px #20475b; }
.had-home-donut > span { position: absolute; z-index: 2; inset: 0; display: grid; place-content: center; text-align: center; transform: rotate(90deg); }
.had-home-donut b { color: var(--had-cyan); font: 300 16px ui-monospace, monospace; }
.had-home-donut small { color: #607f8e; font: 5px ui-monospace, monospace; letter-spacing: .08em; }

.had-home-mix-legend { min-width: 0; display: grid; gap: 6px; }
.had-home-mix-legend > span { min-width: 0; display: grid; grid-template-columns: 6px 22px minmax(0, 1fr); align-items: center; gap: 5px; }
.had-home-mix-legend i, .had-home-chart-legend i { width: 6px; height: 6px; border-radius: 1px; }
.had-home-mix-legend i.is-pub, .had-home-chart-legend i.is-pub { background: var(--had-cyan); }
.had-home-mix-legend i.is-activity, .had-home-chart-legend i.is-activity { background: var(--had-violet); }
.had-home-mix-legend b { color: #d8e9ef; font: 300 11px ui-monospace, monospace; }
.had-home-mix-legend small { min-width: 0; color: #738f9e; font-size: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.had-home-mix-legend > em { padding-top: 4px; border-top: 1px solid #173b4e; color: #4f7587; font: 6px ui-monospace, monospace; font-style: normal; }
.had-home-mix-legend > em b { font: inherit; }

.had-trend-panel { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.had-home-year-chart { min-height: 0; display: flex; align-items: stretch; justify-content: space-around; gap: 8px; padding: 6px 5px 4px; }
.had-home-year-chart > span { min-width: 20px; flex: 1; display: grid; grid-template-rows: 9px minmax(32px, 1fr) 9px; justify-items: center; }
.had-home-year-chart > span > em { color: #7b9eae; font: 6px ui-monospace, monospace; font-style: normal; }
.had-home-year-chart > span > i { width: min(32px, 70%); min-height: 0; display: flex; align-items: end; justify-content: center; gap: 2px; border-bottom: 1px solid #2b5970; }
.had-home-year-chart > span > i b { width: 42%; min-height: 2px; border-radius: 2px 2px 0 0; transform-origin: bottom; animation: hadBarGrow .75s ease-out both; }
.had-home-year-chart b.is-pub { background: linear-gradient(#28e3f4, #1988a9); }
.had-home-year-chart b.is-activity { background: linear-gradient(#b59dfc, #6e56bd); }
.had-home-year-chart small { color: #587a8b; font: 6px ui-monospace, monospace; }
.had-home-chart-legend { display: flex; justify-content: flex-end; gap: 10px; padding-top: 3px; border-top: 1px solid #173b4e; color: #698797; font-size: 6px; }
.had-home-chart-legend span { display: flex; align-items: center; gap: 4px; }

.had-home-dashboard-grid { padding-top: 0; gap: 5px; }
.had-dashboard-card.is-filtered-out { opacity: .22; filter: saturate(.25); }

@keyframes hadDonutIn {
  from { transform: rotate(-135deg) scale(.72); opacity: .15; }
  to { transform: rotate(-90deg) scale(1); opacity: 1; }
}

@media (max-height: 760px) and (min-width: 901px) {
  .had-home-screen { grid-template-rows: 40px 46px minmax(150px, .58fr) minmax(310px, 1.42fr); }
  .had-dashboard-zone { padding: 7px; grid-template-rows: auto minmax(88px, .55fr) minmax(138px, 1fr); }
  .had-home-chart-panel { padding: 6px 8px; }
  .had-home-donut { width: min(62px, 8vh); }
}

@media (max-width: 900px) {
  .had-home-screen { display: block; }
  .had-home-command { display: block; padding: 13px; margin-bottom: 12px; }
  .had-home-filter-strip { margin: 12px 0 0; display: grid; grid-template-columns: 1fr 1fr; }
  .had-home-kpi-grid { grid-template-columns: repeat(2, 1fr); margin-bottom: 12px; }
  .had-home-top { display: grid; grid-template-columns: 1fr; }
  .had-home-top > *, .had-dashboard-zone { margin-bottom: 12px; }
  .had-dashboard-zone { min-height: 1180px; }
  .had-home-analytics-grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, minmax(150px, 1fr)); }
  .had-home-dashboard-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(7, minmax(118px, 1fr)); }
}

@media (max-width: 560px) {
  .had-home-filter-strip { grid-template-columns: 1fr; }
  .had-home-kpi-grid { grid-template-columns: 1fr 1fr; }
  .had-dashboard-zone { min-height: 2420px; }
  .had-home-dashboard-grid { grid-template-columns: 1fr; grid-template-rows: repeat(14, 130px); }
}


/* ===== /assets/css/reach.css ===== */
/* Academic network, code portfolio and privacy-friendly global reach. */
.had-profile-card{grid-template-rows:minmax(0,1fr) 34px}
.had-profile-network{grid-column:1/-1;min-width:0;min-height:34px;display:grid;grid-template-columns:58px repeat(6,minmax(0,1fr));border-top:1px solid #1c495e;background:rgba(3,16,26,.94)}
.had-profile-network>.had-network-label{display:flex;align-items:center;gap:5px;padding-left:8px;color:#557d8f;font:700 6px ui-monospace,monospace;letter-spacing:.08em}
.had-profile-network>.had-network-label i,.had-reach-head>span i{width:5px;height:5px;border-radius:50%;background:var(--had-green);box-shadow:0 0 7px var(--had-green);animation:hadStatusPulse 2.4s ease-in-out infinite}
.had-profile-network a,.had-contact-card .had-profile-network a{min-width:0;min-height:0;position:relative;display:grid;place-items:center;gap:0;padding:0;border:0;border-left:1px solid #173e52;background:transparent;text-decoration:none;isolation:isolate;transition:color .2s,background .2s,box-shadow .2s}
.had-profile-network a:before{content:"";position:absolute;z-index:-1;inset:50%;border-radius:50%;border:1px solid currentColor;opacity:0;transition:.25s}
.had-profile-network a:hover:before,.had-profile-network a:focus-visible:before{inset:4px;opacity:.23}
.had-profile-network a:hover,.had-profile-network a:focus-visible{color:var(--had-cyan);background:rgba(34,211,238,.08);box-shadow:inset 0 -2px currentColor;outline:0}
.had-profile-network a b{color:inherit;font:800 10px ui-monospace,monospace;letter-spacing:-.04em}
.had-profile-network a>span{position:absolute;z-index:5;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,5px);width:max-content;max-width:140px;padding:5px 7px;border:1px solid #2b6077;border-radius:4px;background:#04141f;color:#cae4ec;font:7px ui-monospace,monospace;opacity:0;pointer-events:none;transition:.2s}
.had-profile-network a:hover>span,.had-profile-network a:focus-visible>span{transform:translate(-50%,0);opacity:1}
.had-network-linkedin{color:#60a5fa!important}.had-network-wos{color:#a78bfa!important}.had-network-orcid{color:#a6ce39!important}.had-network-scholar{color:#77a7ff!important}.had-network-researchgate{color:#8ae4dc!important}.had-network-github{color:#f4f7fa!important}
.had-contact-card .had-profile-network{margin-top:8px}
.had-sidebar .had-portfolio-menu-link>.dashicons:last-child{font-size:10px;width:10px;height:10px;color:var(--had-green)}
.had-github-dashboard-card{display:block;color:inherit;text-decoration:none;background:radial-gradient(circle at 88% 12%,rgba(52,211,153,.14),transparent 37%),linear-gradient(145deg,rgba(10,39,48,.96),rgba(3,14,24,.96))}
.had-portfolio-code-lines{height:15px;display:grid;grid-template-columns:1fr .72fr 1.2fr .55fr .9fr;align-items:end;gap:3px}
.had-portfolio-code-lines i{display:block;height:3px;background:var(--card-accent);opacity:.76;box-shadow:0 0 6px color-mix(in srgb,var(--card-accent) 45%,transparent);animation:hadLineGrow .7s ease-out both}
.had-portfolio-code-lines i:nth-child(2),.had-portfolio-code-lines i:nth-child(4){height:9px;opacity:.42}
.had-impact-stack{min-width:0;min-height:0;display:grid;grid-template-rows:.96fr 1.04fr;gap:8px}
.had-impact-stack .had-scholar-card{padding:8px 9px;grid-template-rows:auto auto minmax(25px,1fr)}
.had-impact-stack .had-scholar-card .had-panel-title{min-height:27px;padding-bottom:3px}
.had-impact-stack .had-scholar-card h2{margin-top:2px;font-size:12px}
.had-impact-stack .had-scholar-kpis{padding:3px 0}.had-impact-stack .had-scholar-kpis small{font-size:5px}.had-impact-stack .had-scholar-kpis b{font-size:clamp(12px,1vw,16px)}.had-impact-stack .had-scholar-kpis em{display:none}
.had-impact-stack .had-micro-chart{padding:7px 4px 8px;gap:4px}.had-impact-stack .had-micro-chart>i>em{top:-8px;font-size:5px}.had-impact-stack .had-micro-chart>i>small{bottom:-8px;font-size:5px}.had-impact-stack .had-sync-line{display:none}
.had-reach-card{min-width:0;min-height:0;padding:7px 8px;display:grid;grid-template-columns:minmax(0,1fr) 86px;grid-template-rows:auto minmax(0,1fr);gap:5px 7px;overflow:hidden}
.had-reach-head{grid-column:1/-1;min-height:26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #173b4e;padding-bottom:3px}
.had-reach-head h2{margin:2px 0 0;font-size:13px}.had-reach-head>span{display:flex;align-items:center;gap:5px;color:var(--had-green);font:700 9px ui-monospace,monospace;letter-spacing:.08em}.had-reach-head>span b{font:inherit;color:inherit}
.had-reach-map{min-width:0;min-height:0;position:relative;overflow:hidden;border:1px solid #173e52;background:radial-gradient(circle at 55% 35%,rgba(34,211,238,.12),transparent 38%),#04141f}
.had-reach-map>img{width:100%;height:100%;display:block;object-fit:fill;opacity:.85;filter:drop-shadow(0 0 8px rgba(34,211,238,.08))}
.had-map-scan{position:absolute;inset:0 auto 0 -18%;width:28%;background:linear-gradient(90deg,transparent,rgba(70,227,244,.12),transparent);transform:skewX(-16deg);animation:hadMapScan 5.2s linear infinite}
.had-reach-dot{width:4px;height:4px;position:absolute;z-index:3;padding:0;border:0;border-radius:50%;background:var(--had-cyan);box-shadow:0 0 7px var(--had-cyan);transform:translate(-50%,-50%);animation:hadReachPulse 2.6s ease-out infinite}
.had-reach-dot:nth-of-type(3n){background:var(--had-violet);box-shadow:0 0 7px var(--had-violet)}.had-reach-dot:nth-of-type(4n){background:var(--had-green);box-shadow:0 0 7px var(--had-green)}
.had-reach-dot>i{position:absolute;inset:-4px;border:1px solid currentColor;border-radius:50%;opacity:.5}.had-reach-dot>span{position:absolute;left:50%;bottom:8px;width:max-content;max-width:150px;transform:translate(-50%,4px);padding:5px 7px;border:1px solid #2c6379;border-radius:3px;background:#03111b;color:#7fa0af;font:9px ui-monospace,monospace;opacity:0;pointer-events:none;transition:.18s}.had-reach-dot>span b{display:block;margin-bottom:2px;color:#d7edf4;font-size:9px}.had-reach-dot:hover>span,.had-reach-dot:focus-visible>span{opacity:1;transform:translate(-50%,0)}
.had-reach-empty{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:max-content;color:#4d7486;font:5px ui-monospace,monospace;letter-spacing:.05em}
.had-reach-metrics{min-width:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr))}.had-reach-metrics>span{min-width:0;display:grid;grid-template-columns:18px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:7px;border-bottom:1px solid #173b4e}.had-reach-metrics>span:last-child{border-bottom:0}.had-reach-metrics .dashicons{grid-row:1/3;font-size:15px;width:15px;height:15px;color:var(--had-cyan)}.had-reach-metrics b{align-self:end;color:#d9f3f7;font:300 17px ui-monospace,monospace}.had-reach-metrics small{align-self:start;color:#6f96a7;font:700 9px ui-monospace,monospace;letter-spacing:.05em;line-height:1.2}
@keyframes hadReachPulse{0%{transform:translate(-50%,-50%) scale(.72);opacity:.55}45%{transform:translate(-50%,-50%) scale(1.55);opacity:1}100%{transform:translate(-50%,-50%) scale(.72);opacity:.55}}
@keyframes hadStatusPulse{0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.25)}}
@keyframes hadMapScan{from{transform:translateX(-140%) skewX(-16deg)}to{transform:translateX(520%) skewX(-16deg)}}

@media(max-height:760px) and (min-width:901px){.had-profile-card{grid-template-rows:minmax(0,1fr) 28px}.had-profile-network{grid-template-columns:50px repeat(6,minmax(0,1fr));min-height:28px}.had-impact-stack{grid-template-rows:.9fr 1.1fr}.had-reach-card{padding:5px 6px}}
@media(max-width:900px){.had-impact-stack{min-height:562px;grid-template-rows:275px 275px}.had-impact-stack .had-scholar-card{padding:12px;grid-template-rows:auto auto minmax(45px,1fr) auto}.had-impact-stack .had-scholar-card .had-panel-title{min-height:39px;padding-bottom:6px}.had-impact-stack .had-scholar-card h2{margin-top:4px;font-size:15px}.had-impact-stack .had-scholar-kpis{padding:7px 0 5px}.had-impact-stack .had-scholar-kpis small{font-size:6px}.had-impact-stack .had-scholar-kpis b{font-size:clamp(15px,5vw,22px)}.had-impact-stack .had-scholar-kpis em,.had-impact-stack .had-sync-line{display:block}.had-impact-stack .had-sync-line{display:flex}.had-impact-stack .had-micro-chart{padding:11px 7px;gap:clamp(4px,.6vw,9px)}.had-reach-card{grid-template-columns:minmax(0,1fr) 125px;padding:14px}}
@media(max-width:560px){.had-profile-network{grid-template-columns:repeat(6,1fr)}.had-profile-network>.had-network-label{display:none}.had-profile-network a>span{display:none}}
@media(prefers-reduced-motion:reduce){.had-map-scan,.had-reach-dot,.had-profile-network>.had-network-label i,.had-reach-head>span i{animation:none!important}}


/* ===== /assets/css/advanced.css ===== */
/* Hamed Academic Dashboard 2.0 — purpose-built visual analytics and portfolio */
.had-language-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #1f4c62;border-radius:5px;background:rgba(3,18,29,.78)}
.had-language-switch>.dashicons{width:18px;height:18px;margin:0 3px;color:var(--had-accent);font-size:15px}.had-language-switch a{width:27px;height:25px;display:grid;place-items:center;border-radius:3px;color:#678a9b;text-decoration:none;font:700 7px ui-monospace,monospace}.had-language-switch a:hover,.had-language-switch a.is-active{color:#03131c;background:var(--had-accent);box-shadow:0 0 14px rgba(34,211,238,.3)}

@media(min-width:901px){.had-home-screen{grid-template-rows:minmax(40px,auto) minmax(48px,auto) minmax(126px,.38fr) minmax(392px,1.62fr)!important}.had-home-top{min-height:0}.had-profile-copy{padding:13px 15px}.had-profile-summary{margin-top:7px;padding-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.had-profile-actions{margin-top:7px}.had-scholar-card,.had-news-console{padding:9px 10px}.had-dashboard-zone{grid-template-rows:auto minmax(70px,.3fr) minmax(240px,1.7fr)!important;padding:10px 12px 12px;gap:9px}.had-dashboard-zone-head{min-height:37px;padding-bottom:6px}.had-home-chart-panel{padding:6px 10px}.had-home-donut{width:min(62px,6vh)}.had-home-dashboard-grid{gap:9px;padding-top:0}.had-dashboard-card.is-compact{padding:10px 11px}.had-dashboard-card.is-compact .had-dash-card-head>span{width:30px;height:30px}.had-dashboard-card.is-compact .had-dash-card-head>b{font-size:23px}.had-dashboard-card.is-compact h3{height:29px;margin:8px 0 7px;font-size:11px;line-height:1.25}.had-dashboard-card.is-compact .had-spark-bars{height:28px}.had-dashboard-card.is-compact p{min-height:32px;font-size:8px}}

.had-collection-screen{grid-template-rows:auto auto minmax(0,1fr)!important;gap:8px}.had-collection-insight-note{min-height:39px;display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--had-current-accent,var(--had-accent)) 35%,#173b50);border-left:3px solid var(--had-current-accent,var(--had-accent));border-radius:5px;background:linear-gradient(90deg,rgba(34,211,238,.08),rgba(5,21,33,.8))}.had-collection-insight-note>.dashicons{color:var(--had-current-accent,var(--had-accent))}.had-collection-insight-note b{display:block;color:#a7c3cf;font-size:9px}.had-collection-insight-note small{display:block;margin-top:2px;color:#5f8293;font-size:7px}.had-collection-body.had-collection-advanced{grid-template-columns:minmax(460px,1.15fr) minmax(390px,.85fr)}.had-collection-body.had-collection-advanced .had-collection-analytics{display:block;min-height:0;padding:9px;overflow:hidden}.had-collection-records{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:10px 12px}.had-collection-filter-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center;padding:7px 0 8px;border-bottom:1px solid #173b4f}.had-collection-filter-row .had-search-box{margin:0}.had-collection-filter-row .had-year-filter{flex-wrap:nowrap;margin:0;max-width:270px;overflow-x:auto}.had-collection-filter-row .had-year-filter button{height:31px;min-width:38px}
.had-analytics-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.had-analytics-panel{min-height:0;position:relative;overflow:hidden;padding:10px;border:1px solid #1c465a;border-radius:6px;background:radial-gradient(circle at 92% 5%,rgba(34,211,238,.1),transparent 32%),rgba(4,19,30,.8)}.had-analytics-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.035) 48%,transparent 68%);background-size:240% 100%;animation:hadPanelSheen 8s linear infinite}.had-analytics-panel.had-analytics-wide{grid-column:span 2}.had-analytics-title{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid #1b4053}.had-analytics-title span{color:#aac2cd;font-size:9px;font-weight:700}.had-analytics-title em{color:var(--had-current-accent,var(--had-accent));font:700 6px ui-monospace,monospace;font-style:normal;letter-spacing:.1em}
.had-metric-bars{display:grid;gap:6px;padding-top:8px}.had-metric-bars>div>span{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px;color:#7899a8;font-size:7px}.had-metric-bars>div>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.had-metric-bars em{color:var(--had-current-accent,var(--had-accent));font:700 7px ui-monospace,monospace;font-style:normal}.had-metric-bars i{height:5px;display:block;overflow:hidden;border-radius:5px;background:#112e3e}.had-metric-bars i b{height:100%;display:block;transform-origin:left;border-radius:inherit;background:linear-gradient(90deg,var(--had-current-accent,var(--had-accent)),var(--had-violet));animation:hadLineGrow .8s ease-out both}
.had-bubble-cloud{height:calc(100% - 25px);min-height:84px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:7px}.had-bubble-cloud>span{width:var(--had-bubble);height:var(--had-bubble);max-width:94px;max-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px;border:1px solid #236177;border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(34,211,238,.24),#061520 72%);box-shadow:0 0 17px rgba(34,211,238,.12);animation:hadAnalyticsFloat 5s ease-in-out infinite;text-align:center}.had-bubble-cloud b{color:var(--had-current-accent,var(--had-accent));font:300 15px ui-monospace,monospace}.had-bubble-cloud small{max-width:74px;margin-top:2px;color:#8ba7b4;font-size:6px;line-height:1.15}
.had-advanced-year-bars{height:calc(100% - 24px);min-height:88px;display:flex;align-items:end;gap:8px;padding:18px 5px 16px}.had-advanced-year-bars>span{height:100%;flex:1;position:relative;display:flex;align-items:end;justify-content:center}.had-advanced-year-bars em{position:absolute;top:-12px;color:var(--had-current-accent,var(--had-accent));font:700 7px ui-monospace,monospace;font-style:normal}.had-advanced-year-bars i{width:min(29px,70%);height:100%;display:flex;align-items:end;border-bottom:1px solid #31586a}.had-advanced-year-bars i b{width:100%;min-height:3px;display:block;transform-origin:bottom;background:linear-gradient(var(--had-current-accent,var(--had-accent)),var(--had-violet));animation:hadBarGrow .75s ease-out both}.had-advanced-year-bars small{position:absolute;bottom:-13px;color:#5e7e8f;font:6px ui-monospace,monospace}
.had-funding-chart{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:0 12px}.had-funding-chart .had-analytics-title{grid-column:1/-1}.had-funding-total{display:flex;flex-direction:column;justify-content:center;border-right:1px solid #1d4356}.had-funding-total small{color:#5f8393;font:6px ui-monospace,monospace}.had-funding-total b{margin:7px 0 3px;color:#f2bf4c;font:300 clamp(22px,2vw,34px) ui-monospace,monospace}.had-funding-total em{color:var(--had-violet);font:700 8px ui-monospace,monospace;font-style:normal}.had-funding-bars{min-height:90px;display:flex;align-items:end;gap:8px;padding:18px 4px 16px}.had-funding-bars>span{height:100%;flex:1;display:flex;align-items:end;justify-content:center;position:relative}.had-funding-bars em{position:absolute;top:-12px;color:#88a7b5;font:6px ui-monospace,monospace;font-style:normal}.had-funding-bars i{width:min(27px,70%);height:100%;display:flex;align-items:end;background:rgba(37,75,92,.18)}.had-funding-bars i b{width:100%;min-height:2px;background:linear-gradient(#f2bf4c,var(--had-violet));transform-origin:bottom;animation:hadBarGrow .8s ease-out both}.had-funding-bars small{position:absolute;bottom:-13px;color:#557687;font:6px ui-monospace,monospace}
.had-visit-map{height:calc(100% - 28px);min-height:115px;position:relative;overflow:hidden}.had-visit-map img{width:100%;height:100%;object-fit:contain;opacity:.38}.had-visit-map>button{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);display:grid;place-items:center;border:0;background:transparent;color:#f7cd52;filter:drop-shadow(0 0 7px #f7cd52);animation:hadVisitPulse 2.2s ease-in-out infinite}.had-visit-map>button .dashicons{font-size:20px}.had-visit-map>button span{width:190px;display:none;position:absolute;z-index:3;left:24px;top:0;padding:7px 9px;border:1px solid #5d552a;background:#071722;color:#fff;text-align:left}.had-visit-map>button:hover span,.had-visit-map>button:focus span{display:block}.had-visit-map span b,.had-visit-map span small{display:block}.had-visit-map span small{margin-top:3px;color:#819dab;font-size:6px}.had-visit-host{min-height:48px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:center;border-bottom:1px solid #173c4f}.had-visit-host>.dashicons{color:#f7cd52}.had-visit-host b,.had-visit-host small{display:block}.had-visit-host b{font-size:8px}.had-visit-host small{margin-top:2px;color:#5d8192;font-size:6px}
.had-editorial-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.had-editorial-kpis span{padding:8px;border:1px solid #214a5e;background:rgba(8,38,54,.74)}.had-editorial-kpis b{display:block;color:var(--had-current-accent,var(--had-accent));font:300 22px ui-monospace,monospace}.had-editorial-kpis small{color:#5e7f90;font:6px ui-monospace,monospace}.had-editorial-year{height:calc(100% - 90px);min-height:76px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:center}.had-editorial-year>span b,.had-editorial-year>span small{display:block}.had-editorial-year>span small{margin-top:5px;color:#688898;font-size:7px;line-height:1.45}.had-journal-review-panel{overflow-y:auto}

.had-portfolio-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr);gap:11px}.had-portfolio-index{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:13px}.had-portfolio-toolbar{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #1d4659}.had-portfolio-toolbar h2{margin:0;font-size:15px}.had-portfolio-toolbar>span{margin-left:auto;display:flex;align-items:center;gap:5px;color:#6ee7b7;font:7px ui-monospace,monospace}.had-portfolio-project-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:9px}.had-code-project{min-height:116px;display:grid;grid-template-columns:34px minmax(0,1fr) 15px;gap:9px;align-items:start;padding:10px;border:1px solid #1e485c;border-radius:6px;background:linear-gradient(135deg,rgba(8,34,50,.92),rgba(4,20,31,.9));color:#9cb6c2;text-align:left}.had-code-project:hover,.had-code-project.is-latest{border-color:var(--had-accent);transform:translateY(-2px);box-shadow:0 9px 25px rgba(0,0,0,.22),0 0 20px rgba(34,211,238,.07)}.had-repo-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #2a5c72;color:var(--had-accent)}.had-code-project label{display:block;color:var(--had-accent);font:700 6px ui-monospace,monospace}.had-code-project b{display:block;margin:5px 0 4px;color:#d6e3e8;font-size:10px;line-height:1.25}.had-code-project p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 6px;color:#6d8e9e;font-size:7px;line-height:1.4}.had-code-project small{color:#8d7ec8;font:7px ui-monospace,monospace}.had-portfolio-side{min-height:0;display:grid;grid-template-rows:1.25fr .75fr;gap:10px}.had-latest-code,.had-portfolio-note{min-height:0;position:relative;overflow:hidden;padding:16px}.had-latest-code>.dashicons{width:30px;height:30px;margin:10px 0 5px;color:var(--had-accent);font-size:28px}.had-latest-code h2{position:relative;margin:6px 0;font-size:17px}.had-latest-code p,.had-portfolio-note p{color:#7593a1;font-size:8px;line-height:1.55}.had-latest-code>button{min-height:32px;display:flex;align-items:center;gap:6px;margin-top:10px;padding:0 10px;border:1px solid var(--had-accent);background:rgba(34,211,238,.09);color:var(--had-accent);font-size:8px}.had-code-orbit{position:absolute;width:180px;height:180px;right:-70px;top:-70px;border:1px solid rgba(34,211,238,.18);border-radius:50%;animation:hadRadarSpin 15s linear infinite}.had-code-orbit i{position:absolute;inset:18%;border:1px solid rgba(167,139,250,.18);border-radius:50%}

.had-project-evidence-line{display:flex;gap:12px;margin:8px 0 2px}.had-project-evidence-line span{display:flex;align-items:center;gap:5px;color:#7594a3;font:7px ui-monospace,monospace}.had-project-evidence-line .dashicons{width:12px;height:12px;color:var(--had-accent);font-size:12px}.had-project-overlay{position:fixed;inset:0;z-index:145;display:grid;place-items:center;padding:28px}.had-project-overlay[hidden]{display:none}.had-project-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,5,10,.86);backdrop-filter:blur(8px)}.had-project-dashboard{width:min(1320px,96vw);height:min(820px,92vh);position:relative;z-index:2;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid #2a647d;border-radius:12px;background:radial-gradient(circle at 88% 0,rgba(167,139,250,.15),transparent 29%),linear-gradient(145deg,#081d2d,#030d16);box-shadow:0 36px 110px rgba(0,0,0,.65);animation:hadModalIn .35s ease both}.had-project-close{position:absolute;z-index:4;right:16px;top:16px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #2a6078;background:#092638;color:var(--had-accent)}.had-project-dashboard>header{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 65px 18px 24px;border-bottom:1px solid #1e495e}.had-project-dashboard>header h1{margin:8px 0 4px;font-size:clamp(24px,2.3vw,37px);line-height:1.08}.had-project-dashboard>header p{max-width:870px;margin:0;color:#7c9aa8;font-size:9px;line-height:1.5}.had-project-popup-image{width:180px;height:96px;flex:0 0 180px;margin:0;border:1px solid #2a5c70;border-radius:7px;background:#f4fbfd;overflow:hidden}.had-project-popup-image[hidden]{display:none}.had-project-popup-image img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}.had-project-status{min-width:160px;padding:9px 12px;border:1px solid #2a5c70;color:var(--had-accent);font:700 7px ui-monospace,monospace}.had-project-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #1e485b}.had-project-kpis span{padding:11px 18px;border-right:1px solid #1e485b}.had-project-kpis b{display:block;color:var(--had-accent);font:300 23px ui-monospace,monospace}.had-project-kpis small{color:#5d7e8e;font:6px ui-monospace,monospace}.had-project-dashboard-body{min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);gap:10px;padding:10px}.had-project-visuals{min-height:0;display:grid;grid-template-rows:.9fr 1.1fr;gap:10px}.had-project-method-panel,.had-project-source-panel,.had-project-publications{min-height:0;overflow:auto;padding:13px;border:1px solid #1e475a;background:rgba(5,22,33,.78)}.had-project-method{margin-top:8px}.had-project-method>span{display:flex;justify-content:space-between;color:#8da8b4;font-size:8px}.had-project-method em{color:var(--had-accent);font-style:normal}.had-project-method>i{height:6px;display:block;margin-top:3px;background:#112f40}.had-project-method>i b{height:100%;display:block;background:linear-gradient(90deg,var(--had-accent),var(--had-violet))}.had-project-source-panel>p,.had-project-publications>p{color:#7594a2;font-size:8px;line-height:1.5}.had-source-flow{display:flex;gap:5px;margin:12px 0}.had-source-flow>span{min-width:0;flex:1;display:grid;grid-template-columns:21px minmax(0,1fr) 10px;align-items:center;gap:5px}.had-source-flow i{width:21px;height:21px;display:grid;place-items:center;border:1px solid var(--had-accent);border-radius:50%;color:var(--had-accent);font:6px ui-monospace,monospace;font-style:normal}.had-source-flow b{color:#94afba;font-size:7px;line-height:1.3}.had-source-flow em{color:#3e6a7d;font-style:normal}.had-country-chips{display:flex;flex-wrap:wrap;gap:5px}.had-country-chips span{padding:5px 7px;border:1px solid #235067;color:#7294a3;font-size:7px}.had-project-publications{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.had-project-output-list{min-height:0;overflow:auto}.had-project-output-list>button{width:100%;min-height:71px;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;gap:8px;align-items:center;padding:9px 3px;border:0;border-bottom:1px solid #173c4e;background:transparent;color:#93adb8;text-align:left}.had-project-output-list label{display:block;color:var(--had-accent);font:6px ui-monospace,monospace}.had-project-output-list b{display:block;margin-top:4px;font-size:9px}.had-project-output-list small{display:block;margin-top:3px;color:#557788;font-size:7px}.had-project-output-list em{color:#587b8b;font-style:normal}.had-project-no-output{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#587b8a}.had-project-no-output b{color:#9bb3bd;font-size:10px}.had-project-no-output span{max-width:290px;font-size:7px;line-height:1.5}html.had-project-open{overflow:hidden}

@keyframes hadPanelSheen{0%,60%{background-position:140% 0}100%{background-position:-80% 0}}@keyframes hadLineGrow{from{transform:scaleX(.04);opacity:.2}to{transform:scaleX(1);opacity:1}}@keyframes hadBarGrow{from{transform:scaleY(.05);opacity:.2}to{transform:scaleY(1);opacity:1}}@keyframes hadAnalyticsFloat{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}@keyframes hadVisitPulse{0%,100%{transform:translate(-50%,-50%) scale(.85);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}@keyframes hadRadarSpin{to{transform:rotate(360deg)}}@keyframes hadModalIn{from{transform:translateY(20px) scale(.985);opacity:0}to{transform:none;opacity:1}}

@media(max-height:760px) and (min-width:901px){.had-home-screen{grid-template-rows:38px 44px minmax(112px,.34fr) minmax(340px,1.66fr)!important}.had-dashboard-zone{grid-template-rows:auto minmax(60px,.25fr) minmax(225px,1.75fr)!important}.had-dashboard-card.is-compact{padding:8px 9px}.had-dashboard-card.is-compact .had-spark-bars{height:21px}.had-collection-header{min-height:70px}.had-collection-insight-note{min-height:33px}.had-analytics-panel{padding:7px}.had-code-project{min-height:98px}}
@media(max-width:1120px) and (min-width:901px){.had-language-switch>.dashicons{display:none}.had-collection-body.had-collection-advanced{grid-template-columns:minmax(420px,1fr) minmax(340px,.85fr)}}
@media(max-width:900px){.had-language-switch{margin-left:auto}.had-collection-insight-note{margin-bottom:10px}.had-collection-body.had-collection-advanced,.had-portfolio-layout,.had-project-dashboard-body{display:block}.had-collection-analytics,.had-collection-records,.had-portfolio-index,.had-portfolio-side>*,.had-project-visuals>*,.had-project-publications{min-height:420px;margin-bottom:10px}.had-analytics-grid{height:auto;grid-template-columns:1fr;grid-template-rows:none}.had-analytics-panel,.had-analytics-panel.had-analytics-wide{grid-column:auto;min-height:240px}.had-portfolio-project-grid{grid-template-columns:1fr}.had-project-overlay{padding:0}.had-project-dashboard{width:100vw;height:100dvh;border:0;border-radius:0;overflow-y:auto;display:block}.had-project-dashboard>header{display:block;padding:22px 55px 18px 18px}.had-project-popup-image{width:min(320px,100%);height:150px;margin-top:14px}.had-project-status{display:block;width:max-content;margin-top:12px}.had-project-kpis{grid-template-columns:repeat(2,1fr)}.had-source-flow{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.had-analytics-panel:after,.had-bubble-cloud>span,.had-visit-map>button,.had-project-dashboard{animation:none!important}}

/* v2.1 — readable executive homepage and purpose-built category dashboards */
@media(min-width:901px){
  .had-home-screen{grid-template-rows:52px 64px minmax(280px,3fr) minmax(108px,1fr)!important;gap:10px}
  .had-home-command{padding-inline:15px}.had-home-command h1{font-size:18px}
  .had-home-filter-strip label{min-width:126px;font-size:9px}.had-home-filter-strip select,.had-home-filter-strip button{height:32px;font-size:10px}
  .had-home-kpi-grid article{padding:10px 14px}.had-home-kpi-grid span{color:#94b4c2;font-size:9px}.had-home-kpi-grid b{font-size:26px}.had-home-kpi-grid em{color:#91acb8;font-size:9px}
  .had-home-top{gap:10px}.had-profile-card{grid-template-columns:minmax(135px,34%) 1fr}.had-profile-copy h1{font-size:clamp(27px,2.45vw,41px)}.had-profile-role{font-size:13px}.had-profile-summary{color:#b1c7d0;font-size:11px;-webkit-line-clamp:3}
  .had-news-console{padding:19px}.had-news-title span,.had-signal-line,.had-news-item>b{font-size:9px}.had-news-item p{font-size:10px}.had-news-item h3{font-size:clamp(17px,1.4vw,22px)}
  .had-scholar-card{padding:13px 14px}.had-scholar-card h2{font-size:15px}.had-scholar-kpis small,.had-micro-chart>i>em,.had-micro-chart>i>small{font-size:7px}.had-scholar-kpis b{font-size:clamp(17px,1.3vw,22px)}
  .had-dashboard-zone{grid-template-rows:32px minmax(0,1fr)!important;gap:5px;padding:7px 9px 8px}.had-dashboard-zone-head{min-height:0;padding:0 2px 5px;gap:14px}.had-dashboard-zone-head .had-kicker{display:none}.had-dashboard-zone-head h2{margin:0;font-size:13px}.had-dashboard-zone-head .had-auto-source{min-width:139px;padding:5px 8px}.had-dashboard-zone-head .had-auto-source b,.had-dashboard-zone-head .had-auto-source small{font-size:7px}
  .had-home-analytics-grid{display:none}.had-home-dashboard-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;padding:0}
  .had-dashboard-card.is-compact{min-height:0;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 8px;border-radius:5px}.had-dashboard-card.is-compact .had-dash-card-head{display:contents}.had-dashboard-card.is-compact .had-dash-card-head>span{width:25px;height:25px;grid-column:1;grid-row:1}.had-dashboard-card.is-compact .had-dash-card-head .dashicons{font-size:13px;width:13px;height:13px}.had-dashboard-card.is-compact .had-dash-card-head>b{grid-column:3;grid-row:1;font-size:17px}.had-dashboard-card.is-compact h3{grid-column:2;grid-row:1;height:auto;margin:0;font-size:10px;line-height:1.18}.had-dashboard-card.is-compact .had-spark-bars,.had-dashboard-card.is-compact .had-velocity,.had-dashboard-card.is-compact>p,.had-dashboard-card.is-compact .had-portfolio-code-lines{display:none}
  .had-kicker{font-size:9px}.had-sidebar button,.had-sidebar a{min-height:36px!important;color:#9cb8c5!important;font-size:11px!important}.had-side-label{color:#7194a5;font-size:9px}.had-section-title h2,.had-panel-title h2,.had-analytics-title span{font-size:13px}.had-section-title span,.had-analytics-title em{color:#82a4b3;font-size:9px}.had-metric-bars>div>span,.had-metric-bars em{font-size:9px}.had-bubble-cloud small{color:#abc0c9;font-size:8px}.had-advanced-year-bars em,.had-advanced-year-bars small{font-size:8px}.had-record-row label,.had-record-row em,.had-record-row p{font-size:9px}
}

.had-teaching-overview-layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.45fr);gap:11px}.had-teaching-intelligence{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:14px}.had-teaching-intelligence-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:11px;border-bottom:1px solid #1b465b}.had-teaching-intelligence-head h2{margin:5px 0 0;font-size:17px}.had-teaching-intelligence-head>span{color:var(--had-accent);font:700 8px ui-monospace,monospace;letter-spacing:.08em}.had-teaching-summary-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #1b465b}.had-teaching-summary-kpis>span{min-width:0;padding:11px 10px;border-right:1px solid #1b465b}.had-teaching-summary-kpis>span:last-child{border-right:0}.had-teaching-summary-kpis b,.had-teaching-summary-kpis small{display:block}.had-teaching-summary-kpis b{overflow:hidden;color:var(--had-accent);font:300 21px ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.had-teaching-summary-kpis small{margin-top:3px;color:#86a5b3;font:8px ui-monospace,monospace}.had-teaching-course-matrix{min-height:0;overflow:auto}.had-teaching-matrix-head,.had-teaching-course-matrix>button{display:grid;grid-template-columns:50px minmax(180px,1.4fr) minmax(140px,1fr) minmax(110px,.75fr) 82px 14px;gap:8px;align-items:center}.had-teaching-matrix-head{position:sticky;z-index:2;top:0;padding:8px 7px;background:#071d2b;color:#6f93a4;font:700 8px ui-monospace,monospace}.had-teaching-course-matrix>button{width:100%;min-height:62px;padding:8px 7px;border:0;border-bottom:1px solid #173c4f;background:transparent;color:#9bb6c2;text-align:left}.had-teaching-course-matrix>button:hover{background:linear-gradient(90deg,rgba(34,211,238,.09),transparent)}.had-teaching-course-matrix time{color:var(--had-accent);font:700 10px ui-monospace,monospace}.had-teaching-course-matrix b{display:block;color:#e2edf2;font-size:11px;line-height:1.3}.had-teaching-course-matrix small{display:block;margin-top:3px;color:#7394a4;font-size:8px;line-height:1.3}.had-teaching-course-matrix>button>span{font-size:9px;line-height:1.35}.had-teaching-course-matrix>button>.dashicons{width:12px;height:12px;color:var(--had-accent);font-size:12px}.had-teaching-dimensions{min-height:0;overflow:auto;padding:13px}.had-teaching-dimensions>article{padding:9px 0;border-bottom:1px solid #173c4f}.had-teaching-data-note{display:grid;grid-template-columns:24px 1fr;gap:9px;padding:11px 0 2px}.had-teaching-data-note>.dashicons{color:var(--had-green)}.had-teaching-data-note b,.had-teaching-data-note small{display:block}.had-teaching-data-note b{color:#bdd2da;font-size:10px}.had-teaching-data-note small{margin-top:4px;color:#7e9baa;font-size:9px;line-height:1.45}

.had-facet-chips{display:flex;flex-wrap:wrap;gap:5px}.had-facet-chips>span{min-width:0;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #24536a;border-radius:12px;background:rgba(7,31,45,.86)}.had-facet-chips b{max-width:180px;overflow:hidden;color:#a9c0ca;font-size:8px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.had-facet-chips em{color:var(--had-current-accent,var(--had-accent));font:700 8px ui-monospace,monospace;font-style:normal}.had-dimension-groups{min-height:0;overflow:auto;display:grid;align-content:start;gap:10px;padding:9px 3px}.had-dimension-groups>section>small{display:block;margin-bottom:6px;color:#6f93a4;font:700 8px ui-monospace,monospace;letter-spacing:.08em}.had-conference-profile-panel{display:grid;grid-template-rows:auto auto minmax(82px,1fr)}.had-mini-year-bars{min-height:82px;overflow:hidden}.had-map-empty{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:max-content;max-width:90%;padding:5px 8px;border:1px solid #28556a;background:#051722;color:#85a5b3;font-size:8px}.had-pedagogy-volume,.had-teaching-level-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.had-pedagogy-credit,.had-teaching-student-kpi{padding:10px 3px;border-bottom:1px solid #173c4f}.had-pedagogy-credit b,.had-teaching-student-kpi b{display:block;color:var(--had-current-accent,var(--had-accent));font:300 27px ui-monospace,monospace}.had-pedagogy-credit small,.had-teaching-student-kpi small{color:#7899a8;font:8px ui-monospace,monospace}

@media(max-height:760px) and (min-width:901px){.had-home-screen{grid-template-rows:48px 56px minmax(235px,3fr) minmax(88px,1fr)!important;gap:8px}.had-home-kpi-grid b{font-size:22px}.had-profile-copy{padding:12px}.had-profile-copy h1{font-size:28px}.had-profile-summary{font-size:10px}.had-news-console{padding:13px}.had-dashboard-zone{grid-template-rows:27px minmax(0,1fr)!important;padding:5px 7px}.had-dashboard-card.is-compact{padding:3px 6px}.had-dashboard-card.is-compact .had-dash-card-head>span{width:21px;height:21px}.had-dashboard-card.is-compact h3{font-size:9px}}
@media(max-width:900px){.had-teaching-overview-layout{display:block}.had-teaching-intelligence,.had-teaching-dimensions{min-height:520px;margin-bottom:12px}.had-teaching-summary-kpis{grid-template-columns:repeat(2,1fr)}.had-teaching-summary-kpis>span{border-bottom:1px solid #1b465b}.had-teaching-matrix-head{display:none}.had-teaching-course-matrix>button{grid-template-columns:45px minmax(0,1fr) 14px;min-height:88px}.had-teaching-course-matrix>button>span:nth-of-type(n+2){display:none}.had-facet-chips b{max-width:230px}}

/* v2.1.1 — readable compact text, adjustable in Appearance > Customize. */
.had-profile-summary{color:#c4d7df;font-size:calc(12px * var(--had-small-text-scale,1));line-height:1.55}
@media(min-width:901px){.had-kicker{font-size:calc(10px * var(--had-small-text-scale,1))}.had-section-title span,.had-analytics-title em{font-size:calc(10px * var(--had-small-text-scale,1))}.had-metric-bars>div>span,.had-metric-bars em{font-size:calc(10px * var(--had-small-text-scale,1))}.had-bubble-cloud small,.had-advanced-year-bars em,.had-advanced-year-bars small{font-size:calc(9px * var(--had-small-text-scale,1))}.had-record-row label,.had-record-row em,.had-record-row p{font-size:calc(10px * var(--had-small-text-scale,1))}.had-scholar-kpis small,.had-micro-chart>i>em,.had-micro-chart>i>small,.had-reach-metrics small,.had-reach-metrics>em{font-size:calc(8px * var(--had-small-text-scale,1))}}
@media(max-height:760px) and (min-width:901px), (max-width:560px){.had-profile-summary{font-size:calc(11.5px * var(--had-small-text-scale,1))}}

/* v2.3 — daily Scholar status and complete synchronized yearly graph. */
.had-sync-line.is-warning{color:var(--had-amber)}
.had-sync-line.is-warning span{color:#e8ba68}
.had-micro-chart>i{min-width:3px}

.had-analytics-empty{min-height:82px;display:grid;place-items:center;color:#638493;font:700 8px ui-monospace,monospace;letter-spacing:.04em;text-align:center}

/* v2.4.11 dynamic conference analytics */
[data-had-conference-analytics-body="map"]{height:calc(100% - 0px);min-height:0}
[data-had-conference-analytics-body="map"]>.had-visit-map{height:100%}
[data-had-conference-analytics-body="subjects"],[data-had-conference-analytics-body="profile"]{min-height:0;overflow:hidden}
[data-had-conference-analytics-body="profile"]{display:grid;grid-template-rows:minmax(0,1fr) minmax(82px,1fr)}


/* v2.4.12 — visible, filter-aware conference map markers. */
.had-visit-map>.had-map-marker{
  position:absolute;
  z-index:2;
  width:32px;
  height:32px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#f7cd52;
  cursor:pointer;
  filter:drop-shadow(0 0 7px rgba(247,205,82,.95));
  animation:hadVisitPulse 2.2s ease-in-out infinite;
}
.had-visit-map>.had-map-marker:hover,
.had-visit-map>.had-map-marker:focus-visible{
  z-index:8;
  outline:1px solid rgba(247,205,82,.9);
  outline-offset:2px;
}
.had-visit-map>.had-map-marker>.had-map-star{
  position:static;
  z-index:2;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#f7cd52;
  font-family:Arial,sans-serif;
  font-size:25px;
  font-weight:700;
  line-height:1;
  text-align:center;
  text-shadow:0 0 5px #f7cd52,0 0 12px rgba(247,205,82,.85);
  pointer-events:none;
}
.had-visit-map>.had-map-marker>.had-map-tooltip{
  position:absolute;
  z-index:9;
  left:28px;
  top:-2px;
  display:none;
  width:210px;
  padding:8px 10px;
  border:1px solid #75682d;
  border-radius:4px;
  background:#071722;
  color:#fff;
  text-align:left;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  pointer-events:none;
}
.had-visit-map>.had-map-marker:hover>.had-map-tooltip,
.had-visit-map>.had-map-marker:focus-visible>.had-map-tooltip{display:block}
.had-visit-map>.had-map-marker>.had-map-tooltip b,
.had-visit-map>.had-map-marker>.had-map-tooltip small{display:block}
.had-visit-map>.had-map-marker>.had-map-tooltip b{font-size:9px;line-height:1.35}
.had-visit-map>.had-map-marker>.had-map-tooltip small{margin-top:4px;color:#8ca9b6;font-size:7px;line-height:1.4}
@media(max-width:900px){
  .had-visit-map>.had-map-marker>.had-map-tooltip{left:50%;top:30px;transform:translateX(-50%);width:175px}
}


/* 2.4.13 — conference-presentation filtering and analytics fidelity. */
.had-empty-state[hidden],
[data-had-filter-row][hidden]{display:none!important}
.had-type-conference-presentations .had-collection-filter-row .had-year-filter{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
	max-width:360px;
	overflow:visible;
	gap:3px;
}
.had-type-conference-presentations .had-collection-filter-row .had-year-filter button{
	min-width:0;
	padding:5px 3px;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="subjects"]{
	min-height:0;
}


/* 2.4.14 — actual presentation topics and resilient filtered theme analytics. */
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"],
.had-type-conference-presentations [data-had-presentation-analytics-body="subjects"]{
	min-height:0;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars,
.had-type-conference-presentations [data-had-presentation-analytics-body="subjects"] .had-metric-bars{
	align-content:start;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="subjects"] .had-metric-bars{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:14px;
}
@media(max-width:1050px){
	.had-type-conference-presentations [data-had-presentation-analytics-body="subjects"] .had-metric-bars{grid-template-columns:1fr}
}

.had-pedagogy-volume-body{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}


/* ===== /assets/css/prototype-fidelity.css ===== */
/**
 * Prototype-fidelity layer.
 * Keeps every dashboard in the same fixed research-console shell while allowing
 * WordPress content counts and records to update independently.
 */

:root{
  --had-sidebar:268px;
  --had-topbar:70px;
  --had-radius:7px;
}

body.had-theme{
  font-size:14px;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.had-app-shell{
  background:
    radial-gradient(circle at 69% 14%,rgba(89,72,174,.15),transparent 31%),
    radial-gradient(circle at 14% 86%,rgba(0,190,220,.11),transparent 34%),
    #020b14;
}

.had-topbar{
  padding:0 27px;
  gap:24px;
  border-bottom-color:#17394c;
}
.had-brand{min-width:calc(var(--had-sidebar) - 28px)}
.had-brand span,.had-brand b{font-size:32px}
.had-brand em{font-size:8px;letter-spacing:.19em}
.had-top-stream em{font-size:8px;margin-right:48px}
.had-top-links a{height:38px;padding:0 14px;font-size:10px;border-radius:5px}
.had-language-switch{height:38px}

.had-sidebar{
  padding:15px 13px 12px;
  border-right-color:#183b4f;
}
.had-sidebar a{min-height:38px;padding:0 11px;font-size:11px}
.had-sidebar a small{min-width:22px;height:20px}
.had-side-label{font-size:8px;margin:5px 11px 8px}
.had-side-status{min-height:48px;border-radius:0}

.had-workspace{
  background-image:
    linear-gradient(rgba(21,70,94,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,70,94,.055) 1px,transparent 1px);
  background-size:48px 48px;
}
.had-screen{padding:15px 16px 16px}
.had-panel{border-radius:var(--had-radius)}
.had-standard-screen{gap:10px}
.had-screen-header{
  min-height:94px;
  padding:9px 9px 13px;
}
.had-screen-header h1{font-size:clamp(28px,2.15vw,39px);margin:8px 0 5px}
.had-screen-header p{font-size:11px;max-width:900px}
.had-kicker{font-size:8px}
.had-metric-pill,.had-header-link{min-height:48px;padding:0 15px}
.had-auto-source{min-width:184px;min-height:48px}
.had-section-title,.had-panel-title{min-height:44px}

/* Homepage */
.had-home-screen{
  grid-template-rows:55px 72px minmax(360px,1.3fr) minmax(178px,.7fr)!important;
  gap:9px;
}
.had-home-command{min-height:55px;padding:7px 12px}
.had-home-command h1{font-size:18px}
.had-home-filter-strip label{font-size:7px}
.had-home-filter-strip select,.had-home-filter-strip button{height:35px}
.had-home-kpi-grid{gap:8px}
.had-home-kpi-grid article{padding:10px 14px}
.had-home-kpi-grid span{font-size:8px}
.had-home-kpi-grid b{font-size:24px}
.had-home-kpi-grid em{font-size:8px}
.had-home-top{grid-template-columns:minmax(510px,1.33fr) minmax(390px,.93fr) minmax(330px,.82fr);gap:9px}
.had-profile-card{grid-template-columns:minmax(175px,35%) minmax(0,1fr)}
.had-profile-copy{padding:18px 17px 14px}
.had-profile-copy h1{font-size:clamp(25px,2vw,38px)}
.had-profile-role{font-size:11px}
.had-profile-summary{font-size:10px;line-height:1.5;-webkit-line-clamp:3}
.had-profile-telemetry b{font-size:18px}
.had-profile-telemetry small{font-size:7px}
.had-profile-actions a{min-height:35px;font-size:9px}
.had-profile-network{height:42px}
.had-news-console,.had-scholar-card{padding:14px}
.had-news-title h2{font-size:23px}
.had-news-item h3{font-size:clamp(18px,1.25vw,24px)}
.had-news-item p{font-size:9px}
.had-scholar-card h2{font-size:16px}
.had-scholar-kpis b{font-size:22px}
.had-reach-card{min-height:0}
.had-dashboard-zone{padding:8px 10px}
.had-dashboard-zone-head{min-height:40px}
.had-home-dashboard-grid{gap:7px;padding-top:8px}
.had-dashboard-card.is-compact{min-height:72px;padding:8px 10px}
.had-dashboard-card.is-compact h3{font-size:9px}
.had-dashboard-card.is-compact .had-dash-card-head>b{font-size:18px}

/* Research */
.had-research-layout{grid-template-columns:minmax(0,2.28fr) minmax(310px,.72fr);gap:13px}
.had-project-grid{gap:13px}
.had-project-card{padding:20px 19px 16px}
.had-project-meta span{font-size:24px}
.had-project-card h2{font-size:clamp(19px,1.36vw,26px)}
.had-project-card>p{font-size:11px;line-height:1.55}
.had-project-evidence-line{font-size:8px}
.had-open-detail{font-size:8px}
.had-research-side{grid-template-rows:1fr 1.25fr;gap:13px}
.had-focus-panel,.had-methods-panel{padding:21px}
.had-focus-panel h2{font-size:clamp(22px,1.55vw,30px)}
.had-focus-panel p{font-size:11px}
.had-method{grid-template-columns:100px 1fr 28px}

/* Publications */
.had-publications-layout{grid-template-columns:minmax(0,1.52fr) minmax(385px,.48fr);gap:13px}
.had-publication-dashboard,.had-latest-list{padding:14px}
.had-publication-card-grid{gap:10px}
.had-publication-card-grid .had-dashboard-card{min-height:214px;padding:17px}
.had-publication-card-grid .had-dashboard-card h3{font-size:12px;height:auto;margin-top:12px}
.had-publication-card-grid .had-dash-card-head>b{font-size:23px}
.had-publication-card-grid .had-spark-bars{height:47px;margin-top:25px}
.had-publication-card-grid .had-dashboard-card>p{font-size:8px}
.had-latest-list .had-record-row{min-height:72px}
.had-latest-list .had-record-row b{font-size:10px}

/* Teaching */
.had-teaching-overview-layout{grid-template-columns:minmax(0,1.58fr) minmax(350px,.42fr);gap:13px}
.had-teaching-intelligence,.had-teaching-dimensions{padding:15px}
.had-teaching-intelligence-head h2{font-size:18px}
.had-teaching-summary-kpis b{font-size:23px}
.had-teaching-summary-kpis small{font-size:8px}
.had-teaching-course-matrix>button{min-height:72px}
.had-teaching-course-matrix b{font-size:12px}
.had-teaching-course-matrix small{font-size:8px}
.had-teaching-course-matrix>button>span{font-size:9px}

/* Career and education */
.had-experience-layout{grid-template-columns:minmax(0,1.58fr) minmax(330px,.42fr);gap:13px}
.had-timeline-panel{padding:15px}
.had-timeline-item{min-height:102px}
.had-timeline-item h2{font-size:15px}
.had-timeline-item b{font-size:15px}
.had-timeline-item p{font-size:9px}
.had-career-dashboard{gap:13px}
.had-career-dashboard>article{padding:18px}
.had-career-dashboard h2{font-size:20px}
.had-language-panel>span{min-height:42px}

/* Credentials */
.had-credential-layout{grid-template-columns:minmax(430px,.74fr) minmax(0,1.26fr);gap:13px}
.had-credential-list,.had-credential-detail{padding:16px}
.had-credential-list>button{min-height:76px}
.had-credential-list>button b{font-size:11px}
.had-credential-detail{padding:54px 55px 38px}
.had-credential-detail h2{font-size:clamp(33px,2.8vw,53px);max-width:850px}
.had-credential-detail>p{font-size:16px}
.had-credential-meta{margin-top:32px}
.had-credential-meta b{font-size:17px}
.had-skill-grid{margin-top:20px}

/* Blog */
.had-blog-layout{grid-template-columns:minmax(0,1.32fr) minmax(430px,.68fr);gap:13px}
.had-featured-story{grid-template-columns:minmax(270px,.45fr) minmax(0,.55fr)}
.had-story-copy{padding:44px 52px}
.had-story-copy h2{font-size:clamp(35px,3vw,58px);line-height:1.08}
.had-story-copy>p{font-size:12px;line-height:1.55}
.had-blog-console{padding:15px}
.had-blog-list>button{min-height:75px}
.had-blog-list b{font-size:10px}

/* Portfolio */
.had-portfolio-layout{grid-template-columns:minmax(0,1.58fr) minmax(330px,.42fr);gap:13px}
.had-portfolio-index{padding:14px}
.had-portfolio-toolbar{gap:14px}
.had-portfolio-toolbar>div:first-child{min-width:180px}
.had-portfolio-toolbar h2{margin:6px 0 0}
.had-portfolio-filters{display:flex;gap:6px;align-items:center}
.had-portfolio-filters span{padding:6px 10px;border:1px solid #244e62;border-radius:14px;color:#698a9a;font-size:8px}
.had-portfolio-filters .is-active{background:linear-gradient(135deg,#24e0ef,#a78bfa);color:#06121c;border-color:transparent}
.had-github-sync{margin-left:auto!important}
.had-portfolio-project-grid{gap:8px}
.had-code-project{min-height:132px}
.had-code-project b{font-size:11px}
.had-code-project p{font-size:8px}
.had-portfolio-side{grid-template-rows:1.1fr .9fr;gap:13px}
.had-latest-code,.had-portfolio-composition{padding:20px}
.had-latest-code h2{font-size:22px}
.had-latest-code p{font-size:9px}
.had-composition-wrap{height:calc(100% - 42px);display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}
.had-composition-donut{width:116px;height:116px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#22d3ee 0 var(--had-data-end),#a78bfa var(--had-data-end) var(--had-research-end),#34d399 var(--had-research-end) var(--had-teaching-end),#f6b84a var(--had-teaching-end) 360deg);position:relative;box-shadow:0 0 24px rgba(34,211,238,.08)}
.had-composition-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#071b29;border:1px solid #21485a}
.had-composition-donut span{position:relative;z-index:1;text-align:center}
.had-composition-donut b{display:block;color:var(--had-cyan);font:300 27px ui-monospace,monospace}
.had-composition-donut small{color:#6c8c9b;font:7px ui-monospace,monospace}
.had-composition-list{display:grid;gap:8px}
.had-composition-list span{display:grid;grid-template-columns:1fr auto;gap:8px;padding-bottom:6px;border-bottom:4px solid #123449;color:#6f8f9e;font-size:9px}
.had-composition-list span:nth-child(1){border-color:#22d3ee}.had-composition-list span:nth-child(2){border-color:#a78bfa}.had-composition-list span:nth-child(3){border-color:#34d399}.had-composition-list span:nth-child(4){border-color:#f6b84a}
.had-composition-list em{color:#b7cbd3;font-style:normal}

/* Collection dashboards */
.had-collection-screen{gap:9px!important}
.had-collection-header{min-height:101px;padding:8px 8px 13px}
.had-collection-identity>span{width:58px;height:58px}
.had-collection-identity h1{font-size:clamp(29px,2.3vw,43px)}
.had-collection-kpis{min-width:330px}
.had-collection-kpis b{font-size:22px}
.had-collection-insight-note{min-height:48px;padding:8px 13px}
.had-collection-insight-note b{font-size:9px}
.had-collection-insight-note small{font-size:8px}
.had-collection-body.had-collection-advanced{grid-template-columns:minmax(560px,1.22fr) minmax(450px,.78fr);gap:13px}
.had-collection-body.had-collection-advanced .had-collection-analytics{padding:10px}
.had-collection-records{padding:12px 14px}
.had-collection-filter-row{padding:8px 0 9px}
.had-record-row.is-detailed{min-height:95px}
.had-record-row.is-detailed b{font-size:11px}
.had-record-row.is-detailed p{font-size:8px}
.had-analytics-title{min-height:38px}
.had-analytics-title span{font-size:12px}
.had-analytics-panel{border-radius:5px}
.had-funding-total b{font-size:34px}
.had-editorial-kpis b{font-size:23px}
.had-bubble-cloud span{min-width:var(--had-bubble);min-height:var(--had-bubble)}

/* Map fallback is visual only; counters stay factual. */
.had-reach-dot-placeholder{position:absolute;width:9px;height:9px;border:1px solid #22d3ee;border-radius:50%;opacity:.7;pointer-events:none;animation:hadPlaceholderPulse 2.4s ease-in-out infinite}
.had-reach-dot-placeholder>i{position:absolute;inset:2px;border-radius:50%;background:#a78bfa;box-shadow:0 0 12px #22d3ee}
@keyframes hadPlaceholderPulse{0%,100%{transform:scale(.75);opacity:.34}50%{transform:scale(1.35);opacity:.92}}

/* Preserve the one-screen console on common desktop displays. */
@media (min-width:1281px) and (min-height:760px){
  .had-shell-body{min-height:0}
  .had-screen{overflow:hidden}
  .had-scroll-list,.had-timeline-scroll,.had-blog-list,.had-portfolio-project-grid,.had-teaching-course-matrix,.had-side-scroll{scrollbar-width:thin;scrollbar-color:#31677d transparent}
}

@media (max-width:1500px) and (min-width:901px){
  :root{--had-sidebar:230px;--had-topbar:62px}
  .had-topbar{padding:0 18px;gap:16px}
  .had-top-links a{padding:0 10px}
  .had-screen{padding:11px}
  .had-screen-header{min-height:78px}
  .had-home-screen{grid-template-rows:48px 60px minmax(310px,1.25fr) minmax(160px,.75fr)!important}
  .had-home-top{grid-template-columns:1.28fr .96fr .84fr}
  .had-profile-card{grid-template-columns:minmax(140px,34%) 1fr}
  .had-publication-card-grid .had-dashboard-card{min-height:170px}
  .had-collection-body.had-collection-advanced{grid-template-columns:minmax(480px,1.15fr) minmax(390px,.85fr)}
  .had-story-copy{padding:28px 34px}
  .had-story-copy h2{font-size:34px}
}

@media (max-width:900px){
  :root{--had-sidebar:290px;--had-topbar:58px}
  .had-screen{padding:12px}
  .had-screen-header{min-height:0}
  .had-home-screen{display:block!important}
  .had-home-kpi-grid{grid-template-columns:repeat(2,1fr)}
  .had-home-top,.had-publications-layout,.had-research-layout,.had-teaching-overview-layout,.had-experience-layout,.had-credential-layout,.had-blog-layout,.had-portfolio-layout,.had-collection-body.had-collection-advanced{display:block}
  .had-home-top>*,.had-publications-layout>*,.had-research-layout>*,.had-teaching-overview-layout>*,.had-experience-layout>*,.had-credential-layout>*,.had-blog-layout>*,.had-portfolio-layout>*,.had-collection-body.had-collection-advanced>*{margin-bottom:12px}
  .had-publication-card-grid{grid-template-columns:1fr}
  .had-project-grid{grid-template-columns:1fr}
  .had-story-copy{padding:24px}
  .had-featured-story{display:block}
  .had-portfolio-filters{display:none}
  .had-composition-wrap{height:auto}
}


/* 2.4.24: readable homepage microtype while preserving the one-screen layout. */
@media(min-width:901px){
.had-home-screen .had-kicker,
.had-home-screen .had-home-filter-strip label,
.had-home-screen .had-home-kpi-grid span,
.had-home-screen .had-home-kpi-grid em,
.had-home-screen .had-portrait>em,
.had-home-screen .had-profile-telemetry small,
.had-home-screen .had-profile-actions a,
.had-home-screen .had-profile-network>.had-network-label,
.had-home-screen .had-profile-network a>span,
.had-home-screen .had-news-title span,
.had-home-screen .had-signal-line,
.had-home-screen .had-news-item>b,
.had-home-screen .had-scholar-kpis small,
.had-home-screen .had-scholar-kpis em,
.had-home-screen .had-micro-chart>i>em,
.had-home-screen .had-micro-chart>i>small,
.had-home-screen .had-sync-line,
.had-home-screen .had-reach-head>span,
.had-home-screen .had-reach-metrics small,
.had-home-screen .had-dashboard-signal,
.had-home-screen .had-dashboard-card>p,
.had-home-screen .had-dashboard-card>p em,
.had-home-screen .had-home-chart-title span,
.had-home-screen .had-home-chart-title em,
.had-home-screen .had-home-chart-legend,
.had-home-screen .had-home-rank-bars>a>em,
.had-home-screen .had-home-donut small,
.had-home-screen .had-home-mix-legend small,
.had-home-screen .had-home-mix-legend em,
.had-home-screen .had-home-year-chart em,
.had-home-screen .had-home-year-chart small,
.had-home-screen .had-auto-source b,
.had-home-screen .had-auto-source small{font-size:9px!important}
.had-home-screen .had-news-item p,
.had-home-screen .had-home-filter-strip select,
.had-home-screen .had-home-filter-strip button{font-size:10px!important}
.had-home-screen .had-profile-network{grid-template-columns:66px repeat(6,minmax(0,1fr))}
.had-home-screen .had-dashboard-card>p{line-height:1.2}
}

/* 2.4.25: readable, clickable live activity feeds. */
.had-top-stream>div>span:hover{animation-play-state:paused}
.had-top-stream-item{
  display:flex;
  align-items:center;
  min-width:max-content;
  color:#83a6b7;
  text-decoration:none;
  border-radius:3px;
  outline:none;
}
.had-top-stream-item em{
  margin-right:48px;
  font-size:12px!important;
  line-height:1.25;
  font-weight:500;
}
.had-top-stream-item em span{color:#88a8b7;transition:color .18s ease,text-shadow .18s ease}
.had-top-stream-item:hover em span,
.had-top-stream-item:focus-visible em span{color:#e7f8fc;text-shadow:0 0 9px rgba(34,211,238,.38)}
.had-top-stream-item:focus-visible{box-shadow:0 0 0 1px var(--had-cyan)}
.had-top-stream-item em b{font-size:12px;letter-spacing:.04em}
.had-news-item{color:inherit;text-decoration:none;cursor:pointer;border-radius:4px;outline:none}
.had-news-item:hover h3{color:#e8f9fc}
.had-news-item:hover>b{transform:translateX(3px)}
.had-news-item>b{transition:transform .18s ease}
.had-news-item:focus-visible{box-shadow:inset 0 0 0 1px var(--had-cyan)}



/* ===== /assets/css/minimum-type.css ===== */
/**
 * Accessibility typography floor — version 2.4.26.
 * Raises every currently defined text size below 12px to 12px while
 * leaving headings, body copy, and icon glyph dimensions unchanged.
 */
body.had-theme{font-size:14px}
body.had-theme small,body.had-theme sub,body.had-theme sup{font-size:12px!important}
.had-brand em,
.had-top-stream em,
.had-top-links a,
.had-side-label,
.had-sidebar a,
.had-sidebar a small,
.had-side-status b,
.had-side-status small,
.had-kicker,
.had-screen-header p,
.had-metric-pill,
.had-header-link,
.had-auto-source b,
.had-auto-source small,
.had-section-title>span,
.had-tag-row span,
.had-primary-action,
.had-project-meta b,
.had-project-card>p,
.had-progress-line em,
.had-open-detail,
.had-focus-panel p,
.had-method,
.had-method>em,
.had-publication-card-grid .had-dashboard-card h3,
.had-record-row time small,
.had-record-row label,
.had-record-row b{font-size:12px!important}
.had-record-row em,
.had-course-overline,
.had-course-console>p,
.had-course-kpis small,
.had-session-map>span,
.had-session-map>span i,
.had-inline-detail,
.had-teaching-principles span,
.had-segmented button,
.had-segmented a,
.had-timeline-head,
.had-timeline-item time,
.had-timeline-item>span:nth-child(3)>b,
.had-timeline-item p,
.had-career-dashboard p,
.had-language-panel>span,
.had-credential-list>button>span,
.had-credential-list>button b,
.had-credential-list>button small,
.had-credential-meta small,
.had-skill-grid span,
.had-credential-note b,
.had-credential-note small,
.had-story-visual span,
.had-story-visual b,
.had-story-copy>p,
.had-story-meta,
.had-story-copy>button{font-size:12px!important}
.had-topic-tabs button,
.had-blog-list time small,
.had-blog-list label,
.had-blog-list b,
.had-blog-list em,
.had-blog-topics,
.had-contact-card a small,
.had-contact-card a b,
.had-location,
.had-contact-form label,
.had-collection-identity p,
.had-collection-kpis small,
.had-trend-chart em,
.had-trend-chart small,
.had-filter-title,
.had-search-box input,
.had-year-filter button,
.had-latest-note small,
.had-latest-note b,
.had-row-number,
.had-record-row.is-detailed p,
.had-empty-state b,
.had-empty-state span,
.had-detail-meta small,
.had-detail-meta b,
.had-record-cover span,
.had-citation-box small,
.had-citation-box p{font-size:12px!important}
.had-citation-box button,
.had-drawer-actions a,
.had-drawer-actions button,
.had-content-grid p,
.had-home-filter-strip label,
.had-home-filter-strip select,
.had-home-filter-strip button,
.had-home-kpi-grid span,
.had-home-kpi-grid em,
.had-portrait>span,
.had-portrait>em,
.had-profile-role,
.had-profile-summary,
.had-profile-telemetry small,
.had-profile-actions a,
.had-news-title span,
.had-signal-line,
.had-news-item p,
.had-news-item>b,
.had-scholar-kpis small,
.had-scholar-kpis em,
.had-micro-chart>i>em,
.had-micro-chart>i>small,
.had-sync-line,
.had-dashboard-signal,
.had-dashboard-card h3,
.had-dashboard-card>p,
.had-dashboard-card>p em{font-size:12px!important}
.had-home-chart-title span,
.had-home-chart-title em,
.had-home-rank-bars > a,
.had-home-rank-bars > a > em,
.had-home-donut small,
.had-home-mix-legend b,
.had-home-mix-legend small,
.had-home-mix-legend > em,
.had-home-year-chart > span > em,
.had-home-year-chart small,
.had-home-chart-legend,
.had-profile-network>.had-network-label,
.had-profile-network a b,
.had-profile-network a>span,
.had-impact-stack .had-scholar-kpis small,
.had-impact-stack .had-micro-chart>i>em,
.had-impact-stack .had-micro-chart>i>small,
.had-reach-head>span,
.had-reach-dot>span,
.had-reach-dot>span b,
.had-reach-empty,
.had-reach-metrics small,
.had-language-switch a,
.had-dashboard-card.is-compact h3,
.had-dashboard-card.is-compact p,
.had-collection-insight-note b,
.had-collection-insight-note small,
.had-analytics-title span{font-size:12px!important}
.had-analytics-title em,
.had-metric-bars>div>span,
.had-metric-bars em,
.had-bubble-cloud small,
.had-advanced-year-bars em,
.had-advanced-year-bars small,
.had-funding-total small,
.had-funding-total em,
.had-funding-bars em,
.had-funding-bars small,
.had-visit-map span small,
.had-visit-host b,
.had-visit-host small,
.had-editorial-kpis small,
.had-editorial-year>span small,
.had-portfolio-toolbar>span,
.had-code-project label,
.had-code-project b,
.had-code-project p,
.had-code-project small,
.had-latest-code p,
.had-portfolio-note p,
.had-latest-code>button,
.had-project-evidence-line span,
.had-project-dashboard>header p,
.had-project-status,
.had-project-kpis small,
.had-project-method>span{font-size:12px!important}
.had-project-source-panel>p,
.had-project-publications>p,
.had-source-flow i,
.had-source-flow b,
.had-country-chips span,
.had-project-output-list label,
.had-project-output-list b,
.had-project-output-list small,
.had-project-no-output b,
.had-project-no-output span,
.had-dashboard-zone-head .had-auto-source b,
.had-dashboard-zone-head .had-auto-source small,
.had-sidebar button,
.had-section-title span,
.had-record-row p,
.had-teaching-intelligence-head>span,
.had-teaching-summary-kpis small,
.had-teaching-matrix-head,
.had-teaching-course-matrix time,
.had-teaching-course-matrix b,
.had-teaching-course-matrix small,
.had-teaching-course-matrix>button>span,
.had-teaching-data-note b,
.had-teaching-data-note small,
.had-facet-chips b,
.had-facet-chips em,
.had-dimension-groups>section>small,
.had-map-empty{font-size:12px!important}
.had-pedagogy-credit small,
.had-teaching-student-kpi small,
.had-reach-metrics>em,
.had-analytics-empty,
.had-visit-map>.had-map-marker>.had-map-tooltip b,
.had-visit-map>.had-map-marker>.had-map-tooltip small,
.had-project-evidence-line,
.had-publication-card-grid .had-dashboard-card>p,
.had-latest-list .had-record-row b,
.had-portfolio-filters span,
.had-composition-donut small,
.had-composition-list span,
.had-record-row.is-detailed b,
.had-home-screen .had-kicker,
.had-home-screen .had-home-filter-strip label,
.had-home-screen .had-home-kpi-grid span,
.had-home-screen .had-home-kpi-grid em,
.had-home-screen .had-portrait>em,
.had-home-screen .had-profile-telemetry small,
.had-home-screen .had-profile-actions a,
.had-home-screen .had-profile-network>.had-network-label,
.had-home-screen .had-profile-network a>span,
.had-home-screen .had-news-title span,
.had-home-screen .had-signal-line,
.had-home-screen .had-news-item>b,
.had-home-screen .had-scholar-kpis small,
.had-home-screen .had-scholar-kpis em,
.had-home-screen .had-micro-chart>i>em{font-size:12px!important}
.had-home-screen .had-micro-chart>i>small,
.had-home-screen .had-sync-line,
.had-home-screen .had-reach-head>span,
.had-home-screen .had-reach-metrics small,
.had-home-screen .had-dashboard-signal,
.had-home-screen .had-dashboard-card>p,
.had-home-screen .had-dashboard-card>p em,
.had-home-screen .had-home-chart-title span,
.had-home-screen .had-home-chart-title em,
.had-home-screen .had-home-chart-legend,
.had-home-screen .had-home-rank-bars>a>em,
.had-home-screen .had-home-donut small,
.had-home-screen .had-home-mix-legend small,
.had-home-screen .had-home-mix-legend em,
.had-home-screen .had-home-year-chart em,
.had-home-screen .had-home-year-chart small,
.had-home-screen .had-auto-source b,
.had-home-screen .had-auto-source small,
.had-home-screen .had-news-item p,
.had-home-screen .had-home-filter-strip select,
.had-home-screen .had-home-filter-strip button,
.had-top-stream-item em,
.had-top-stream-item em b{font-size:12px!important}

.had-top-stream-item em,
.had-top-stream-item em b{
  font-size:12px!important;
  line-height:1.25;
}
.had-top-stream-item em span{
  font-size:12px!important;
}
.had-top-stream-item{min-height:32px}
.had-top-stream{color:#91b2c1}
.had-top-stream-item em span{color:#9dbdca}

/* Preserve the one-screen console as typography grows. */
.had-sidebar a,
.had-top-links a,
.had-home-filter-strip select,
.had-home-filter-strip button,
.had-year-filter button,
.had-segmented button,
.had-segmented a{
  line-height:1.15;
}
.had-dashboard-card h3,
.had-dashboard-card>p,
.had-record-row b,
.had-record-row p,
.had-record-row label,
.had-record-row em{
  overflow:hidden;
  text-overflow:ellipsis;
}



/* ===== /assets/css/collection-layout-fixes.css ===== */
/**
 * Collection dashboard layout repairs — version 2.4.27.
 * Keeps the 12px accessibility floor while preventing analytics labels,
 * bubbles and year columns from colliding inside the one-screen console.
 */

/* Scrollable analytics regions use the same discreet console scrollbar. */
.had-type-conferences [data-had-conference-analytics-body="subjects"],
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"],
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"],
.had-type-persian-articles [data-had-persian-analytics-body="subjects"],
.had-type-persian-articles [data-had-persian-analytics-body="journals"],
.had-type-journal-papers [data-had-journal-analytics-body="journals"],
.had-type-teaching-experience [data-had-teaching-analytics-body="fields"],
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="themes"]{
  height:calc(100% - 39px);
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#326b82 transparent;
}

/* Long ranked labels remain on one readable line and scroll instead of overlap. */
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars,
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"] .had-metric-bars,
.had-type-persian-articles [data-had-persian-analytics-body="journals"] .had-metric-bars,
.had-type-journal-papers [data-had-journal-analytics-body="journals"] .had-metric-bars{
  align-content:start;
  gap:8px;
  padding:8px 1px 10px;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars>div,
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"] .had-metric-bars>div,
.had-type-persian-articles [data-had-persian-analytics-body="journals"] .had-metric-bars>div,
.had-type-journal-papers [data-had-journal-analytics-body="journals"] .had-metric-bars>div{
  min-height:29px;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars>div>span,
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"] .had-metric-bars>div>span,
.had-type-persian-articles [data-had-persian-analytics-body="journals"] .had-metric-bars>div>span,
.had-type-journal-papers [data-had-journal-analytics-body="journals"] .had-metric-bars>div>span{
  align-items:flex-start;
  min-width:0;
  margin-bottom:4px;
  line-height:1.2;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars>div>span b,
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"] .had-metric-bars>div>span b,
.had-type-persian-articles [data-had-persian-analytics-body="journals"] .had-metric-bars>div>span b,
.had-type-journal-papers [data-had-journal-analytics-body="journals"] .had-metric-bars>div>span b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.had-type-conference-presentations [data-had-presentation-analytics-body="topics"] .had-metric-bars>div>span em,
.had-type-conference-presentations [data-had-presentation-analytics-body="venues"] .had-metric-bars>div>span em,
.had-type-persian-articles [data-had-persian-analytics-body="journals"] .had-metric-bars>div>span em,
.had-type-journal-papers [data-had-journal-analytics-body="journals"] .had-metric-bars>div>span em{
  flex:none;
}

/* Conference profile: dimensions get their own compact region above the year chart. */
.had-type-conferences [data-had-conference-analytics-body="subjects"] .had-dimension-groups{
  min-height:100%;
  height:auto;
  align-content:start;
  gap:7px;
  padding:7px 2px 10px;
  overflow:visible;
}
.had-type-conferences [data-had-conference-analytics-body="subjects"] .had-facet-chips{
  gap:5px;
}
.had-type-conferences [data-had-conference-analytics-body="subjects"] .had-facet-chips>span{
  max-width:100%;
  padding:5px 7px;
}
.had-type-conferences [data-had-conference-analytics-body="subjects"] .had-facet-chips b{
  max-width:190px;
  line-height:1.15;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]{
  height:calc(100% - 39px);
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(112px,1fr);
  gap:5px;
  overflow:hidden;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-dimension-groups{
  max-height:94px;
  min-height:0;
  align-content:start;
  gap:5px;
  padding:6px 2px 4px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#326b82 transparent;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-dimension-groups>section>small{
  margin-bottom:4px;
  line-height:1.1;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-facet-chips>span{
  padding:4px 7px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-mini-year-bars{
  height:100%;
  min-height:112px;
  overflow:hidden;
}

/* Dense bubble panels stay contained; extra rows scroll within the panel. */
.had-type-persian-articles [data-had-persian-analytics-body="subjects"] .had-bubble-cloud,
.had-type-teaching-experience [data-had-teaching-analytics-body="fields"] .had-bubble-cloud,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="themes"] .had-bubble-cloud{
  height:auto;
  min-height:100%;
  align-content:center;
  justify-content:center;
  gap:6px;
  padding:7px 3px 11px;
  overflow:visible;
}
.had-type-persian-articles [data-had-persian-analytics-body="subjects"] .had-bubble-cloud>span,
.had-type-teaching-experience [data-had-teaching-analytics-body="fields"] .had-bubble-cloud>span,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="themes"] .had-bubble-cloud>span{
  flex:0 0 68px;
  width:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  padding:5px;
}
.had-type-persian-articles [data-had-persian-analytics-body="subjects"] .had-bubble-cloud small,
.had-type-teaching-experience [data-had-teaching-analytics-body="fields"] .had-bubble-cloud small,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="themes"] .had-bubble-cloud small{
  max-width:60px;
  margin-top:1px;
  line-height:1.05;
  overflow-wrap:anywhere;
}

/* Give every requested year chart a real drawable height instead of a baseline sliver. */
.had-type-book [data-had-book-analytics-body="years"],
.had-type-journal-papers [data-had-journal-analytics-body="years"],
.had-type-theses [data-had-thesis-analytics-body="years"],
.had-type-media [data-had-media-analytics-body="years"],
.had-type-teaching-experience [data-had-teaching-analytics-body="years"],
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"],
.had-type-blog [data-had-blog-analytics-body="years"]{
  height:calc(100% - 39px);
  min-height:122px;
  overflow:hidden;
}
.had-type-book [data-had-book-analytics-body="years"] .had-advanced-year-bars,
.had-type-journal-papers [data-had-journal-analytics-body="years"] .had-advanced-year-bars,
.had-type-theses [data-had-thesis-analytics-body="years"] .had-advanced-year-bars,
.had-type-media [data-had-media-analytics-body="years"] .had-advanced-year-bars,
.had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars,
.had-type-blog [data-had-blog-analytics-body="years"] .had-advanced-year-bars,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars{
  height:100%;
  min-height:112px;
  align-items:flex-end;
  gap:10px;
  padding:23px 7px 23px;
}
.had-type-book [data-had-book-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-journal-papers [data-had-journal-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-theses [data-had-thesis-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-media [data-had-media-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-blog [data-had-blog-analytics-body="years"] .had-advanced-year-bars>span,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars>span{
  height:100%;
  min-height:0;
}
.had-type-book [data-had-book-analytics-body="years"] .had-advanced-year-bars i,
.had-type-journal-papers [data-had-journal-analytics-body="years"] .had-advanced-year-bars i,
.had-type-theses [data-had-thesis-analytics-body="years"] .had-advanced-year-bars i,
.had-type-media [data-had-media-analytics-body="years"] .had-advanced-year-bars i,
.had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars i,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars i,
.had-type-blog [data-had-blog-analytics-body="years"] .had-advanced-year-bars i,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars i{
  width:min(34px,74%);
  height:100%;
  min-height:78px;
}
.had-type-book [data-had-book-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-journal-papers [data-had-journal-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-theses [data-had-thesis-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-media [data-had-media-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-blog [data-had-blog-analytics-body="years"] .had-advanced-year-bars i b,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars i b{
  min-height:15px;
}

/* Editorial annual service: no explanatory paragraph, larger columns, cleaner label. */
.had-type-editorial-referee .had-editorial-year{
  height:calc(100% - 88px);
  min-height:118px;
  grid-template-columns:118px minmax(0,1fr);
  gap:12px;
}
.had-type-editorial-referee .had-editorial-year>span{
  align-self:center;
}
.had-type-editorial-referee .had-editorial-year>span b{
  line-height:1.25;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"]{
  height:100%;
  min-height:118px;
  overflow:hidden;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars{
  height:100%;
  min-height:118px;
  gap:9px;
  padding:22px 5px 22px;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars>span{
  height:100%;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars i{
  width:min(32px,72%);
  height:100%;
  min-height:80px;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars i b{
  min-height:14px;
}

/* Keep the same behavior on shorter desktop viewports without returning to tiny bars. */
@media (min-width:901px) and (max-height:820px){
  .had-type-book [data-had-book-analytics-body="years"],
  .had-type-journal-papers [data-had-journal-analytics-body="years"],
  .had-type-theses [data-had-thesis-analytics-body="years"],
  .had-type-media [data-had-media-analytics-body="years"],
  .had-type-teaching-experience [data-had-teaching-analytics-body="years"],
  .had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"],
  .had-type-blog [data-had-blog-analytics-body="years"]{
    min-height:100px;
  }
  .had-type-book [data-had-book-analytics-body="years"] .had-advanced-year-bars,
  .had-type-journal-papers [data-had-journal-analytics-body="years"] .had-advanced-year-bars,
  .had-type-theses [data-had-thesis-analytics-body="years"] .had-advanced-year-bars,
  .had-type-media [data-had-media-analytics-body="years"] .had-advanced-year-bars,
  .had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars,
  .had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars,
  .had-type-blog [data-had-blog-analytics-body="years"] .had-advanced-year-bars{
    min-height:96px;
    padding-top:20px;
  }
}


/* ===== /assets/css/v2428-fixes.css ===== */
/**
 * Version 2.4.28 targeted interface corrections.
 */

/* Homepage: keep the Scholar values in a reserved band above the bars. */
.had-dashboard-zone-head>.had-auto-source{margin-left:auto}
.had-home-screen .had-scholar-card{
  grid-template-rows:auto auto minmax(78px,1fr) auto;
  overflow:hidden;
}
.had-home-screen .had-micro-chart{
  min-height:78px;
  margin-top:3px;
  padding:25px 7px 19px;
  overflow:visible;
}
.had-home-screen .had-micro-chart>i{
  max-height:calc(100% - 18px);
}
.had-home-screen .had-micro-chart>i>em{
  top:-20px;
  z-index:2;
  min-width:24px;
  padding:2px 3px;
  border:1px solid rgba(34,211,238,.18);
  border-radius:3px;
  background:#061724;
  line-height:1;
  text-align:center;
}
.had-home-screen .had-micro-chart>i>small{bottom:-17px}

/* Research portfolio: visible projects are numbered sequentially in PHP; text is clamped within each card. */
.had-view-research .had-project-card{padding:16px 16px 13px}
.had-view-research .had-project-card h2{
  display:-webkit-box;
  min-height:2.45em;
  max-height:2.45em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.had-view-research .had-project-card>p{
  display:-webkit-box;
  max-height:4.8em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.had-view-research .had-project-evidence-line{
  display:flex;
  flex-wrap:wrap;
  gap:4px 10px;
  max-height:36px;
  overflow:hidden;
}
.had-view-research .had-project-card .had-tag-row{
  max-height:58px;
  overflow:hidden;
  align-content:flex-start;
}

/* Code portfolio: real accessible filter controls. */
.had-portfolio-filters button{
  min-height:30px;
  padding:6px 10px;
  border:1px solid #244e62;
  border-radius:14px;
  background:#061927;
  color:#8aa8b6;
  font-size:12px;
  line-height:1;
}
.had-portfolio-filters button:hover,
.had-portfolio-filters button:focus-visible{border-color:var(--had-cyan);color:#e6f8fb;outline:none}
.had-portfolio-filters button.is-active{
  border-color:transparent;
  background:linear-gradient(135deg,#24e0ef,#a78bfa);
  color:#06121c;
}
.had-code-empty{
  grid-column:1/-1;
  min-height:140px;
  place-content:center;
  justify-items:center;
  gap:8px;
  color:#7899a8;
  text-align:center;
}
.had-code-empty .dashicons{color:var(--had-cyan)}
.had-code-empty b{font-size:13px}
.had-code-project[hidden],.had-code-empty[hidden],.had-teaching-student-kpi[hidden]{display:none!important}

/* Conferences: dimensions flow before the year chart and can never sit beneath its bars. */
.had-type-conferences [data-had-conference-analytics-body="profile"]{
  display:block;
  height:calc(100% - 39px);
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#326b82 transparent;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-dimension-groups,
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions{
  width:100%;
  min-height:auto;
  max-height:none;
  overflow:visible;
  padding:6px 2px 8px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars{
  width:100%;
  height:126px;
  min-height:126px;
  margin-top:3px;
  overflow:hidden;
  border-top:1px solid #173d51;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars{
  height:100%;
  min-height:118px;
  padding:24px 7px 24px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-advanced-year-bars i{
  min-height:72px;
}

/* Persian articles: restore the full-height year chart used by the other archives. */
.had-type-persian-articles [data-had-persian-analytics-body="years"]{
  height:calc(100% - 39px);
  min-height:122px;
  overflow:hidden;
}
.had-type-persian-articles [data-had-persian-analytics-body="years"] .had-advanced-year-bars{
  height:100%;
  min-height:112px;
  align-items:flex-end;
  gap:10px;
  padding:23px 7px 23px;
}
.had-type-persian-articles [data-had-persian-analytics-body="years"] .had-advanced-year-bars>span{height:100%}
.had-type-persian-articles [data-had-persian-analytics-body="years"] .had-advanced-year-bars i{
  width:min(34px,74%);
  height:100%;
  min-height:78px;
}
.had-type-persian-articles [data-had-persian-analytics-body="years"] .had-advanced-year-bars i b{min-height:12px}

/* Editorial annual service: retain visible four-digit years directly beneath every column. */
.had-type-editorial-referee .had-editorial-year{
  min-height:112px;
  align-items:stretch;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"]{
  min-height:108px;
  overflow:visible;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars{
  min-height:108px;
  padding:22px 5px 29px;
  overflow:visible;
}
.had-type-editorial-referee [data-had-editorial-analytics-body="years"] .had-advanced-year-bars small{
  bottom:-21px;
  color:#9eb9c5;
  font-size:12px!important;
  line-height:1;
}

/* Blog archive: long subjects stay inside the analytics panel. */
.had-type-blog [data-had-blog-analytics-body="themes"]{
  height:calc(100% - 39px);
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:7px 4px 10px 0;
  scrollbar-width:thin;
  scrollbar-color:#326b82 transparent;
}
.had-type-blog [data-had-blog-analytics-body="themes"] .had-metric-bars{
  align-content:start;
  gap:8px;
}
.had-type-blog [data-had-blog-analytics-body="themes"] .had-metric-bars>div{min-height:29px}
.had-type-blog [data-had-blog-analytics-body="themes"] .had-metric-bars>div>span b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (min-width:901px) and (max-height:820px){
  .had-home-screen .had-micro-chart{min-height:70px;padding-top:23px}
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars{height:112px;min-height:112px}
  .had-type-persian-articles [data-had-persian-analytics-body="years"]{min-height:100px}
  .had-type-persian-articles [data-had-persian-analytics-body="years"] .had-advanced-year-bars{min-height:96px;padding-top:20px}
}


/* ===== /assets/css/v2429-projects.css ===== */
/**
 * Version 2.4.29 Research Portfolio update.
 * Five project cards remain visible within the single-screen dashboard.
 */
@media (min-width:1201px){
  .had-view-research .had-project-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .had-view-research .had-project-card:nth-child(-n+3){grid-column:span 2}
  .had-view-research .had-project-card:nth-child(n+4){grid-column:span 3}
  .had-view-research .had-project-card{padding:13px 14px 11px}
  .had-view-research .had-project-card h2{
    min-height:2.4em;
    max-height:2.4em;
    margin:8px 0 5px;
    font-size:clamp(15px,1vw,20px);
  }
  .had-view-research .had-project-card>p{
    max-height:3.25em;
    -webkit-line-clamp:2;
    line-height:1.42;
  }
  .had-view-research .had-project-evidence-line{max-height:29px}
  .had-view-research .had-project-card .had-tag-row{max-height:34px;padding-top:6px}
  .had-view-research .had-progress-line{margin-top:8px}
  .had-view-research .had-open-detail{margin-top:6px}
}
@media (min-width:901px) and (max-width:1200px){
  .had-view-research .had-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr));
  }
  .had-view-research .had-project-card:last-child{grid-column:1/-1}
}


/* ===== /assets/css/v2430-projects.css ===== */
/**
 * Version 2.4.30 Research Portfolio update.
 * Seven project cards remain visible within the single-screen desktop dashboard.
 */
@media (min-width:1201px){
  .had-view-research .had-project-grid{
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .had-view-research .had-project-card:nth-child(-n+4){grid-column:span 3}
  .had-view-research .had-project-card:nth-child(n+5){grid-column:span 4}
  .had-view-research .had-project-card{padding:10px 11px 9px}
  .had-view-research .had-project-card h2{
    min-height:2.55em;
    max-height:2.55em;
    margin:6px 0 4px;
    font-size:clamp(13px,.82vw,17px);
    line-height:1.27;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .had-view-research .had-project-card>p{
    max-height:2.9em;
    font-size:12px;
    line-height:1.42;
    -webkit-line-clamp:2;
  }
  .had-view-research .had-project-meta span{font-size:19px}
  .had-view-research .had-project-meta b{
    max-width:78%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .had-view-research .had-project-evidence-line{max-height:25px;margin-top:4px;overflow:hidden}
  .had-view-research .had-project-card .had-tag-row{max-height:31px;padding-top:4px;overflow:hidden}
  .had-view-research .had-project-card .had-tag-row span:nth-child(n+4){display:none}
  .had-view-research .had-progress-line{margin-top:6px}
  .had-view-research .had-open-detail{margin-top:4px}
}
@media (min-width:901px) and (max-width:1200px){
  .had-view-research .had-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(4,minmax(0,1fr));
    gap:9px;
  }
  .had-view-research .had-project-card:last-child{grid-column:1/-1}
  .had-view-research .had-project-card{padding:10px 11px 9px}
  .had-view-research .had-project-card h2{font-size:14px;max-height:2.6em;-webkit-line-clamp:2}
  .had-view-research .had-project-card>p{max-height:2.9em;-webkit-line-clamp:2}
}


/* ===== /assets/css/v2431-fixes.css ===== */
/**
 * Interface corrections — version 2.4.31.
 * Keeps all conference country/language facets and annual columns visible at
 * the same time while preserving the global 12px typography floor.
 */

/* Conference profile: a compact two-column facet summary above a full chart. */
.had-type-conferences [data-had-conference-analytics-body="profile"]{
  height:calc(100% - 39px);
  min-height:0;
  display:grid;
  grid-template-rows:minmax(74px,auto) minmax(100px,1fr);
  gap:5px;
  padding:0;
  overflow:hidden;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions{
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:5px 2px 0;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions.had-dimension-groups,
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions>.had-dimension-groups{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(92px,1fr);
  align-items:start;
  gap:8px;
  padding:0;
  overflow:visible;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-dimension-groups>section,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups>section{
  min-width:0;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-dimension-groups>section>small,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups>section>small{
  margin:0 0 4px;
  line-height:1;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-dimension-groups>section:first-child .had-facet-chips,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups>section:first-child .had-facet-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-dimension-groups>section:last-child .had-facet-chips,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups>section:last-child .had-facet-chips{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-facet-chips>span,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups .had-facet-chips>span{
  width:100%;
  min-width:0;
  min-height:25px;
  justify-content:space-between;
  gap:4px;
  padding:4px 6px;
  border-radius:8px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions .had-facet-chips b,
.had-type-conferences [data-had-conference-analytics-body="profile"] .had-conference-profile-dimensions.had-dimension-groups .had-facet-chips b{
  min-width:0;
  max-width:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.05;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars{
  width:100%;
  height:100%;
  min-height:100px;
  margin:0;
  overflow:hidden;
  border-top:1px solid #173d51;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars{
  height:100%;
  min-height:100px;
  align-items:flex-end;
  gap:9px;
  padding:20px 7px 23px;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars>span{
  height:100%;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars i{
  width:min(34px,72%);
  height:100%;
  min-height:64px;
}

/* A description-free publication header should not reserve an empty line. */
.had-publications-layout{min-height:0}

@media (min-width:901px) and (max-height:820px){
  .had-type-conferences [data-had-conference-analytics-body="profile"]{
    grid-template-rows:minmax(68px,auto) minmax(88px,1fr);
  }
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars,
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars{
    min-height:88px;
  }
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars{
    padding-top:18px;
  }
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-mini-year-bars .had-advanced-year-bars i{
    min-height:54px;
  }
}


/* ===== /assets/css/v2432-fixes.css ===== */
/**
 * Interface corrections — version 2.4.32.
 * Homepage identity cleanup, complete conference profile chart, and a
 * purpose-built Contact visual using the user-supplied typewriter image.
 */

/* Homepage portrait identity. */
.had-home-screen .had-profile-card .had-portrait>span{
  min-width:31px;
  padding-inline:6px;
  letter-spacing:.08em;
}

/*
 * Conferences: the historical three-row panel declaration left an unused
 * grid row, causing the annual chart to be clipped. Use exactly one title row
 * and one flexible content row, then reserve a visible chart region below the
 * country/language facets.
 */
.had-type-conferences .had-conference-profile-panel{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]{
  width:100%;
  height:100%!important;
  min-height:0;
  display:grid!important;
  grid-template-rows:minmax(66px,auto) minmax(92px,1fr)!important;
  gap:5px;
  padding:0;
  overflow:hidden;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions{
  min-height:0;
  max-height:76px;
  padding:4px 2px 1px;
  overflow:hidden;
}
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions.had-dimension-groups,
.had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions>.had-dimension-groups{
  height:100%;
  max-height:none;
  min-height:0;
  grid-template-columns:minmax(0,3fr) minmax(96px,1fr);
  gap:7px;
  padding:0;
  overflow:hidden;
}
.had-type-conferences .had-conference-year-chart{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:15px minmax(0,1fr);
  padding-top:3px;
  border-top:1px solid #173d51;
  overflow:hidden;
}
.had-type-conferences .had-conference-year-label{
  display:block;
  padding:1px 6px 0;
  color:#6f93a4;
  font:700 12px/1 ui-monospace,monospace;
  letter-spacing:.08em;
}
.had-type-conferences .had-conference-year-chart>.had-mini-year-bars{
  width:100%;
  height:100%!important;
  min-height:0!important;
  margin:0;
  border:0;
  overflow:hidden;
}
.had-type-conferences .had-conference-year-chart .had-advanced-year-bars{
  width:100%;
  height:100%!important;
  min-height:0!important;
  align-items:flex-end;
  gap:9px;
  padding:17px 7px 22px!important;
}
.had-type-conferences .had-conference-year-chart .had-advanced-year-bars>span{
  height:100%;
  min-height:0;
}
.had-type-conferences .had-conference-year-chart .had-advanced-year-bars i{
  width:min(34px,72%);
  height:100%!important;
  min-height:54px!important;
}
.had-type-conferences .had-conference-year-chart .had-advanced-year-bars em{
  top:-14px;
}
.had-type-conferences .had-conference-year-chart .had-advanced-year-bars small{
  bottom:-17px;
}

/* Contact-page image: retain the supplied photograph while matching the UI. */
.had-contact-portrait-typewriter{
  position:relative;
  isolation:isolate;
  border:1px solid #1d5268;
  border-radius:4px;
  background:#03111a;
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.06),0 14px 34px rgba(0,0,0,.24);
}
.had-contact-portrait-typewriter:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:8px;
  pointer-events:none;
  border:1px solid rgba(34,211,238,.24);
  background:
    linear-gradient(90deg,var(--had-cyan) 0 24px,transparent 24px) 0 0/42px 1px no-repeat,
    linear-gradient(var(--had-cyan) 0 24px,transparent 24px) 0 0/1px 42px no-repeat,
    linear-gradient(270deg,var(--had-cyan) 0 24px,transparent 24px) 100% 100%/42px 1px no-repeat,
    linear-gradient(0deg,var(--had-cyan) 0 24px,transparent 24px) 100% 100%/1px 42px no-repeat;
  opacity:.72;
}
.had-contact-portrait-typewriter:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,15,24,.05),rgba(2,15,24,.38)),
    radial-gradient(circle at 78% 16%,rgba(34,211,238,.16),transparent 34%),
    repeating-linear-gradient(180deg,transparent 0 3px,rgba(34,211,238,.025) 3px 4px);
  mix-blend-mode:multiply;
}
.had-contact-portrait-typewriter img{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.72) contrast(1.08) brightness(.82) sepia(.06);
  transform:scale(1.01);
}

@media (min-width:901px) and (max-height:820px){
  .had-type-conferences [data-had-conference-analytics-body="profile"]{
    grid-template-rows:minmax(62px,auto) minmax(82px,1fr)!important;
  }
  .had-type-conferences [data-had-conference-analytics-body="profile"]>.had-conference-profile-dimensions{
    max-height:70px;
  }
  .had-type-conferences .had-conference-year-chart .had-advanced-year-bars{
    padding-top:15px!important;
  }
  .had-type-conferences .had-conference-year-chart .had-advanced-year-bars i{
    min-height:46px!important;
  }
}

@media (max-width:900px){
  .had-type-conferences [data-had-conference-analytics-body="profile"]{
    min-height:260px;
    grid-template-rows:auto minmax(135px,1fr)!important;
  }
  .had-contact-portrait-typewriter{
    min-height:340px;
  }
}


/* ===== /assets/css/blog-reader.css ===== */
/* Full-screen blog reader, comments and reactions — v2.4.33 */
.had-detail-drawer.is-blog-reader{width:min(1320px,96vw);background:#eaf1f3}
.had-detail-drawer.is-blog-reader>header{padding:34px clamp(28px,4vw,64px) 0;background:linear-gradient(145deg,#052b3b,#06636b)}
.had-detail-drawer.is-blog-reader>header h1{max-width:1080px;font-size:clamp(30px,3.2vw,52px);line-height:1.08}
.had-detail-drawer.is-blog-reader .had-detail-meta{max-width:1080px}
.had-detail-drawer.is-blog-reader .had-drawer-body{display:block;padding:0;overflow:auto;background:#eaf1f3}
.had-detail-drawer.is-blog-reader .had-record-cover{width:100%;height:130px;padding:0;box-shadow:none;background:linear-gradient(125deg,#072d3d,#0a5863)}
.had-detail-drawer.is-blog-reader.has-feature-image .had-record-cover{height:clamp(280px,42vh,500px)}
.had-detail-drawer.is-blog-reader .had-record-cover:before,.had-detail-drawer.is-blog-reader .had-record-cover>span,.had-detail-drawer.is-blog-reader .had-record-cover>b,.had-detail-drawer.is-blog-reader .had-record-cover>em,.had-detail-drawer.is-blog-reader .had-record-cover>i{display:none}
.had-detail-drawer.is-blog-reader .had-record-cover img{object-fit:cover;filter:saturate(.82) contrast(1.04)}
.had-detail-drawer.is-blog-reader .had-record-copy{position:relative;z-index:2;max-width:960px;margin:-58px auto 52px;padding:46px clamp(30px,5vw,70px);border-top:4px solid var(--drawer-accent);background:#fff;box-shadow:0 24px 55px rgba(15,44,55,.18)}
.had-detail-drawer.is-blog-reader:not(.has-feature-image) .had-record-copy{margin-top:-72px}
.had-detail-drawer.is-blog-reader .had-record-copy>.had-kicker{color:#08798a;font-size:12px}.had-detail-drawer.is-blog-reader .had-lead{margin:18px 0 26px;color:#183f4d;font-size:20px;line-height:1.65;font-weight:500}
.had-detail-drawer.is-blog-reader .had-rich-content{max-height:none;overflow:visible;color:#263f49;font-size:16px;line-height:1.85}.had-detail-drawer.is-blog-reader .had-rich-content p{margin:0 0 1.35em}.had-detail-drawer.is-blog-reader .had-rich-content h2{margin:1.8em 0 .65em;font-size:28px;color:#123e4b}.had-detail-drawer.is-blog-reader .had-rich-content h3{margin:1.6em 0 .55em;font-size:22px;color:#164a57}.had-detail-drawer.is-blog-reader .had-rich-content img{max-width:100%;height:auto;border-radius:4px}.had-detail-drawer.is-blog-reader .had-rich-content a{color:#08798a;text-decoration-thickness:1px;text-underline-offset:3px}
.had-detail-drawer.is-blog-reader .had-citation-box{display:none}.had-detail-drawer.is-blog-reader .had-record-copy>.had-tag-row{margin:28px 0 8px}.had-detail-drawer.is-blog-reader .had-drawer-actions{padding-top:24px;border-top:1px solid #d8e3e6}
.had-blog-engagement{margin-top:34px;padding-top:30px;border-top:1px solid #cddde2}.had-blog-engagement[hidden]{display:none!important}
.had-blog-reaction-panel{padding:24px;border:1px solid #c8dde2;background:linear-gradient(145deg,#f3fafb,#e9f3f5)}.had-blog-reaction-panel small,.had-blog-discussion small{color:#08798a;font:700 12px ui-monospace,monospace;letter-spacing:.11em}.had-blog-reaction-panel h2,.had-blog-discussion h2{margin:6px 0 0;color:#123d49;font-size:23px}
.had-blog-reaction-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.had-blog-reaction-buttons button{min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px;border:1px solid #b6d1d8;background:#fff;color:#254852;text-align:left;cursor:pointer}.had-blog-reaction-buttons button:hover,.had-blog-reaction-buttons button.is-selected{border-color:#0aa9ba;background:#e8fbfd;box-shadow:0 0 0 1px #0aa9ba}.had-blog-reaction-buttons button>span{font-size:25px}.had-blog-reaction-buttons button>b{font-size:12px}.had-blog-reaction-buttons button>em{min-width:28px;padding:4px 6px;border-radius:999px;background:#e1eef1;color:#08798a;font:700 12px ui-monospace,monospace;text-align:center;font-style:normal}.had-engagement-message{min-height:20px;margin:10px 0 0;color:#37707c;font-size:12px}
.had-blog-discussion{margin-top:30px}.had-blog-discussion>header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:2px solid #d5e3e7}.had-blog-discussion>header>span{color:#4c6b76;font:700 12px ui-monospace,monospace}.had-comment-list{display:grid;gap:12px;padding:20px 0}.had-comment-loading,.had-no-comments{padding:24px;border:1px dashed #b8ccd2;color:#53717c;text-align:center}.had-no-comments b,.had-no-comments span{display:block}.had-no-comments b{color:#244852;font-size:16px}.had-no-comments span{margin-top:5px;font-size:12px}
.had-reader-comment{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:17px;border:1px solid #d6e2e6;background:#fbfdfe}.had-reader-comment.is-reply{margin-left:44px}.had-comment-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#083f4d;color:#56e4ee;font:700 14px ui-monospace,monospace}.had-comment-body header{display:flex;justify-content:space-between;gap:12px}.had-comment-body header b{color:#173f4c;font-size:14px}.had-comment-body time{color:#66828c;font:12px ui-monospace,monospace}.had-comment-content{margin-top:9px;color:#38545e;font-size:14px;line-height:1.65}.had-comment-content p{margin:.4em 0}.had-comment-like{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 8px;border:1px solid #c8dadd;background:#fff;color:#607983;cursor:pointer}.had-comment-like.is-liked{border-color:#db5e76;color:#b92f4c;background:#fff5f7}.had-comment-like span{color:#cf4f68}.had-comment-like b,.had-comment-like em{font-size:12px}.had-comment-like em{font-style:normal}
.had-comment-form{margin-top:12px;padding:24px;border:1px solid #bfd5dc;background:#f4f9fa}.had-comment-form h3{margin:0;color:#163e4a;font-size:20px}.had-comment-form>p{margin:7px 0 18px;color:#627c85;font-size:12px}.had-comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.had-comment-form label{display:grid;gap:6px;margin-top:12px;color:#294f5b;font-size:12px;font-weight:700}.had-comment-form input,.had-comment-form textarea{width:100%;border:1px solid #aac4cb;background:#fff;color:#183f4b;padding:11px 12px;font:14px/1.5 inherit;outline:none}.had-comment-form input:focus,.had-comment-form textarea:focus{border-color:#0aa9ba;box-shadow:0 0 0 2px rgba(10,169,186,.14)}.had-comment-submit{display:flex;align-items:center;gap:14px;margin-top:15px}.had-comment-submit button{padding:10px 16px;border:1px solid #08798a;background:#08798a;color:#fff;font-weight:700;cursor:pointer}.had-comment-submit button:disabled{opacity:.55}.had-comment-submit span{color:#426872;font-size:12px}.had-comment-honeypot{position:absolute!important;left:-9999px!important}.had-comments-closed{margin-top:16px;padding:18px;border:1px solid #c8dadd;background:#f2f7f8;color:#42636d;font-size:13px}.had-comments-closed a{color:#08798a}
/* Native full-page WordPress blog reader. */
.had-blog-single-screen{overflow:auto;padding-bottom:40px}.had-blog-single-header{padding:28px clamp(20px,4vw,60px);border:1px solid #1d5265;background:linear-gradient(145deg,#062838,#075d66)}.had-blog-single-header h1{max-width:1050px;margin:12px 0 16px;font-size:clamp(32px,4vw,58px);line-height:1.08}.had-blog-single-meta{display:flex;flex-wrap:wrap;gap:10px;color:#9bc4cd;font-size:12px}.had-blog-single-article{max-width:1040px;margin:20px auto 0;padding:clamp(24px,5vw,68px);background:#f7fafb;color:#25404a;box-shadow:0 24px 55px rgba(0,0,0,.28)}.had-blog-single-article>figure{margin:-68px -68px 38px}.had-blog-single-article>figure img{width:100%;max-height:520px;object-fit:cover}.had-blog-single-copy{font-size:16px;line-height:1.85}.had-blog-single-copy h2{font-size:28px;color:#123e4b}.had-blog-single-copy h3{font-size:22px;color:#164a57}.had-blog-single-copy img{max-width:100%;height:auto}.had-blog-single-article .had-blog-engagement{color:#24444f}
@media(max-width:900px){.had-detail-drawer.is-blog-reader{width:100vw}.had-detail-drawer.is-blog-reader .had-record-copy{margin:-35px 16px 30px;padding:30px 24px}.had-blog-reaction-buttons{grid-template-columns:repeat(2,1fr)}.had-comment-fields{grid-template-columns:1fr}.had-reader-comment.is-reply{margin-left:20px}.had-blog-single-article{margin:12px;padding:28px 22px}.had-blog-single-article>figure{margin:-28px -22px 28px}}
@media(max-width:560px){.had-blog-reaction-buttons{grid-template-columns:1fr}.had-detail-drawer.is-blog-reader>header h1{font-size:30px}.had-detail-drawer.is-blog-reader .had-lead{font-size:17px}.had-detail-drawer.is-blog-reader .had-rich-content{font-size:15px}.had-reader-comment{grid-template-columns:36px minmax(0,1fr);padding:12px}.had-comment-avatar{width:36px;height:36px}.had-comment-body header{display:block}.had-comment-body time{display:block;margin-top:3px}}


/* ===== /assets/css/v2437-fixes.css ===== */
/** Version 2.4.37: Career administration and homepage portrait protection. */
.had-protected-portrait{
	-webkit-user-select:none;
	user-select:none;
	-webkit-touch-callout:none;
}
.had-protected-portrait-image{
	position:absolute;
	z-index:0;
	inset:0;
	background-repeat:no-repeat;
	background-position:50% 20%;
	background-size:cover;
	filter:saturate(.78) contrast(1.05);
	pointer-events:none;
}
.had-protected-portrait:after{z-index:1}
.had-protected-portrait .had-portrait-radar,
.had-protected-portrait>span{z-index:3}
.had-protected-portrait:before{
	content:"";
	position:absolute;
	z-index:4;
	inset:0;
	background:transparent;
}


/* ===== /assets/css/v3-scholarly.css ===== */
/**
 * Version 3 scholarly-portfolio refinement.
 * Loaded last so it can simplify the inherited dashboard interface without
 * removing the underlying WordPress data, filters, maps or record drawers.
 */

:root{
  --had-reading-size:15px;
  --had-interface-size:13px;
  --had-meta-size:12px;
}

body.had-theme{font-size:var(--had-reading-size);line-height:1.5}
.had-sidebar a,.had-top-links a,.had-language-switch button,.had-profile-actions a,
.had-header-link,.had-metric-pill,.had-year-filter button,.had-topic-tabs button,
.had-portfolio-filters button,.had-segmented a,.had-collection-filter-row input,
.had-contact-form input,.had-contact-form textarea,.had-contact-form button{font-size:var(--had-interface-size)!important}
.had-top-stream em,.had-top-stream-item,.had-brand em,.had-side-label,.had-kicker,
.had-analytics-title em,.had-record-row label,.had-record-row time small,
.had-screen-header p,.had-collection-header p,.had-section-title>span,
.had-news-item p,.had-signal-line,.had-profile-telemetry small{font-size:var(--had-meta-size)!important}
.had-sidebar a{min-height:42px}
.had-sidebar a small{font-size:12px}
.had-top-stream{font-size:12px}
.had-top-stream em{margin-right:52px}
.had-top-stream-item span{font-size:12px}
.had-screen-header p,.had-profile-summary,.had-project-card>p,.had-focus-panel p,
.had-story-copy>p,.had-contact-card p,.had-credential-summary,.had-teaching-philosophy p{line-height:1.55}

/* Public interface no longer advertises its implementation layer. */
.had-auto-source,.had-github-sync{display:none!important}

/* Home: preserve portrait, What’s New, Scholar and global reach; remove redundant visual telemetry. */
@media(min-width:901px){
  .had-home-screen{grid-template-rows:auto minmax(380px,1fr) auto auto!important;overflow-y:auto!important}
  .had-home-top{grid-template-columns:minmax(520px,1.34fr) minmax(390px,.96fr) minmax(350px,.9fr)!important}
  .had-dashboard-zone{grid-template-rows:auto auto!important;min-height:auto!important}
}
.had-home-command{min-height:66px;order:0}
.had-home-top{order:1}
.had-home-kpi-grid{order:2}
.had-dashboard-zone{order:3}
.had-home-command h1{font-size:20px}
.had-home-filter-strip label{font-size:12px!important;letter-spacing:.08em}
.had-home-filter-strip select,.had-home-filter-strip button{min-height:39px}
.had-home-kpi-grid article{min-height:68px;padding:11px 14px}
.had-home-kpi-grid span,.had-home-kpi-grid em{font-size:12px!important}
.had-home-kpi-grid b{font-size:25px}
.had-profile-copy h1{font-size:clamp(28px,2vw,38px)}
.had-profile-role{font-size:14px}
.had-profile-summary{font-size:14px;-webkit-line-clamp:4}
.had-profile-telemetry b{font-size:21px}
.had-profile-actions a{font-size:13px!important}
.had-news-title h2{font-size:24px}
.had-news-item h3{font-size:clamp(21px,1.45vw,28px);line-height:1.14}
.had-news-item p{font-size:13px!important}
.had-news-item>b{font-size:12px}
.had-scholar-card h2,.had-reach-card h2{font-size:15px!important}
.had-scholar-kpis small,.had-reach-metrics small{font-size:12px!important}
.had-scholar-kpis b{font-size:20px!important}
.had-micro-chart{padding-top:10px!important;gap:7px!important}
.had-micro-chart>i{min-width:8px;border-radius:2px 2px 0 0}
.had-micro-chart>i>small{bottom:-18px!important;font-size:12px!important}
.had-reach-caption{margin:2px 0 0;color:#7899a8;font-size:12px;line-height:1.35}
.had-dashboard-zone-head{min-height:58px;align-items:flex-start}
.had-dashboard-zone-head h2{font-size:18px;margin:4px 0 2px}
.had-dashboard-zone-head p{margin:0;color:#7898a7;font-size:13px}
.had-home-dashboard-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(70px,auto));gap:8px;padding-top:5px}
.had-dashboard-card.is-compact{min-height:74px;padding:10px 11px}
.had-dashboard-card.is-compact h3{height:auto;min-height:31px;margin:7px 0 0;font-size:12px!important;line-height:1.25}
.had-dashboard-card.is-compact .had-dash-card-head>b{font-size:20px}
.had-dashboard-card.is-compact .had-spark-bars,.had-dashboard-card.is-compact .had-velocity,.had-dashboard-card.is-compact>p{display:none}

/* Research: evidence categories rather than artificial percentages. */
.had-research-v3{overflow-y:auto!important}
.had-research-v3 .had-research-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.28fr);align-items:start}
.had-project-sections{display:grid;gap:18px;min-width:0}
.had-project-group{min-width:0}
.had-project-group-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #1b4357}
.had-project-group-title h2{margin:0;font-size:18px}
.had-project-group-title span{min-width:29px;height:29px;display:grid;place-items:center;border:1px solid #236177;border-radius:50%;color:var(--had-accent);font:700 12px ui-monospace,monospace}
.had-project-group .had-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.had-project-card{min-height:280px;padding:17px;text-align:left}
.had-project-card h3{margin:10px 0 8px;color:#f2f8fb;font-size:18px;line-height:1.22}
.had-project-card>p{display:-webkit-box;overflow:hidden;font-size:13px;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.had-project-meta b{font-size:12px!important;line-height:1.35;white-space:normal;text-align:right}
.had-project-role{display:flex;align-items:flex-start;gap:7px;margin:10px 0;color:#8caab7;font-size:12px;line-height:1.35}
.had-project-role .dashicons{flex:0 0 16px;color:var(--had-accent);font-size:16px}
.had-project-card .had-tag-row span{font-size:12px}
.had-open-detail{font-size:12px!important}
.had-research-side{position:sticky;top:0;grid-template-rows:auto auto;gap:12px}
.had-focus-panel,.had-methods-panel{padding:18px}
.had-research-theme-list,.had-method-chip-list,.had-project-method-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.had-research-theme-list span,.had-method-chip-list span,.had-project-method-chips>span{padding:7px 9px;border:1px solid #24536a;border-radius:999px;background:rgba(14,48,65,.55);color:#a9c3ce;font-size:13px;line-height:1.25}

/* Project evidence popup: empty metrics disappear; methods are categories. */
.had-project-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.had-project-kpis span[hidden]{display:none}
.had-project-dashboard>header p,.had-project-source-panel>p,.had-project-publications>p{font-size:13px!important}
.had-project-kpis small{font-size:12px!important}
.had-project-status{font-size:12px!important}
.had-project-method-panel{overflow:auto}
.had-project-method-chips{align-content:flex-start}
.had-project-empty{font-size:13px;color:#7999a8}
.had-source-flow b,.had-country-chips span,.had-project-output-list label,.had-project-output-list small,.had-project-no-output span{font-size:12px!important}
.had-project-output-list b{font-size:14px}

/* Publications: distinguish outputs from dissemination. */
.had-publications-v3{overflow-y:auto!important}
.had-publications-v3 .had-publication-dashboard{overflow:visible}
.had-publications-v3 .had-publication-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(175px,auto)}
.had-publications-v3 .had-dissemination-heading{margin-top:14px;padding-top:12px;border-top:1px solid #1c465a}
.had-publications-v3 .had-dissemination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.had-publications-v3 .had-dashboard-card h3{font-size:14px}
.had-publications-v3 .had-dashboard-card>p{font-size:12px}

/* Teaching: no public placeholders for missing student totals. */
.had-teaching-v3{overflow-y:auto!important}
.had-teaching-philosophy{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:20px;align-items:center;padding:16px 18px}
.had-teaching-philosophy h2{margin:0 0 4px;font-size:18px}
.had-teaching-philosophy p{margin:0;color:#8ba7b3;font-size:14px}
.had-teaching-summary-kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.had-teaching-summary-kpis small{font-size:12px!important}
.had-teaching-course-matrix.without-students .had-teaching-matrix-head,
.had-teaching-course-matrix.without-students>button{grid-template-columns:55px minmax(260px,1.35fr) minmax(190px,.9fr) minmax(120px,.5fr) 20px!important}
.had-teaching-course-matrix time,.had-teaching-course-matrix b,.had-teaching-course-matrix small,.had-teaching-course-matrix>button>span{font-size:13px!important}
.had-teaching-dimensions .had-section-title>span{display:none}

/* Credentials. */
.had-credentials-v3{overflow-y:auto!important}
.had-credential-list button b{font-size:14px}
.had-credential-list button small{font-size:12px}
.had-credential-detail{position:relative;overflow:auto}
.had-credential-image{width:min(220px,33%);max-height:180px;object-fit:contain;float:right;margin:0 0 14px 18px;border:1px solid #26566b;background:#eef4f6}
.had-credential-summary{max-width:780px;margin:14px 0;color:#8faab6;font-size:14px}
.had-credential-verify{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:10px 13px;border:1px solid var(--had-accent);color:var(--had-accent);font-size:13px;text-decoration:none}

/* Blog: genuine featured image, readable heading and fully clickable card. */
.had-blog-v3{overflow-y:auto!important}
.had-featured-story{color:inherit;text-decoration:none}
.had-featured-story:hover{border-color:var(--had-accent)}
.had-story-visual{background-size:cover;background-position:center;min-height:100%}
.had-story-copy h2{font-size:clamp(30px,3vw,52px)!important;line-height:1.05}
.had-story-copy>p{font-size:14px!important;display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.had-story-link{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:14px;padding:10px 13px;border:1px solid var(--had-accent);color:var(--had-accent);font-size:13px;font-weight:700}
.had-blog-list button b{font-size:14px}
.had-blog-list button em,.had-blog-list button label{font-size:12px}

/* Code, data and research portfolio. */
.had-portfolio-v3{overflow-y:auto!important}
.had-portfolio-v3 .had-code-project label,.had-portfolio-v3 .had-code-project small{font-size:12px}
.had-portfolio-v3 .had-code-project b{font-size:14px}
.had-portfolio-v3 .had-code-project p{font-size:13px;line-height:1.45}
.had-portfolio-v3 .had-portfolio-toolbar{grid-template-columns:auto 1fr}

/* Contact. */
.had-contact-card h2{font-size:26px}
.had-contact-card p,.had-contact-card a,.had-contact-form label{font-size:14px}
.had-contact-form input,.had-contact-form textarea{line-height:1.45}

/* Collection dashboards: readable labels, wrapping filters and safe long text. */
.had-collection-screen{overflow-y:auto!important}
.had-collection-insight-note{min-height:48px}
.had-collection-insight-note b{font-size:13px!important;line-height:1.4}
.had-collection-insight-note small:empty{display:none}
.had-collection-header h1{font-size:clamp(30px,2.3vw,44px)}
.had-collection-kpis small{font-size:12px!important}
.had-collection-records .had-section-title h2{font-size:15px}
.had-collection-filter-row{grid-template-columns:minmax(230px,1fr) minmax(0,auto)}
.had-collection-filter-row .had-year-filter{max-width:none!important;overflow:visible!important;flex-wrap:wrap!important;justify-content:flex-end}
.had-year-filter button{min-width:44px;height:36px}
.had-scroll-list{scrollbar-gutter:stable}
.had-record-row{min-height:78px}
.had-record-row time{font-size:16px}
.had-record-row label{font-size:12px!important}
.had-record-row b{font-size:14px!important;line-height:1.25}
.had-record-row em,.had-record-row p{font-size:13px!important;line-height:1.4}
.had-record-row.is-doctoral{background:linear-gradient(90deg,rgba(246,184,74,.13),transparent 65%);border-left:3px solid #f6b84a}
.had-record-row.is-doctoral label{color:#f6b84a}
.had-analytics-panel{overflow:auto!important;padding:12px}
.had-analytics-title{min-height:31px}
.had-analytics-title span{font-size:13px!important;line-height:1.3}
.had-analytics-title em{font-size:12px!important}
.had-metric-bars>div{margin-top:8px}
.had-metric-bars span,.had-metric-bars em{font-size:13px!important;line-height:1.35}
.had-metric-bars span{white-space:normal;overflow-wrap:anywhere}
.had-facet-chips span,.had-dimension-groups small{font-size:12px!important}
.had-facet-chips span b{font-size:12px!important;white-space:normal;overflow-wrap:anywhere}
.had-advanced-year-bars span>em,.had-advanced-year-bars span>small,
.had-year-bars span>em,.had-year-bars span>small{font-size:12px!important}
.had-advanced-year-bars,.had-year-bars{min-height:150px}
.had-bubble-cloud{align-content:flex-start}
.had-bubble-cloud span{font-size:12px!important;line-height:1.2}
.had-map-location-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.had-map-location-list button{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 8px;border:1px solid #245269;background:#071c2a;color:#9db7c2;text-align:left;font-size:12px}
.had-map-location-list button span{color:var(--had-current-accent,var(--had-accent));font:700 12px ui-monospace,monospace}
.had-map-location-list button b{font-size:12px;font-weight:600}
.had-conference-profile-panel [data-had-conference-analytics-body="profile"]{display:grid!important;grid-template-rows:auto minmax(155px,1fr)!important;gap:7px;overflow:visible!important}
.had-conference-profile-dimensions{overflow:visible!important;max-height:none!important}
.had-conference-year-chart{min-height:155px}
.had-conference-year-chart .had-advanced-year-bars,.had-conference-year-chart .had-year-bars{min-height:135px}

/* Make long-label dashboards use the available width instead of overflowing. */
[data-had-persian-analytics-body="subjects"],
[data-had-journal-analytics-body="subjects"],
[data-had-teaching-analytics-body="fields"],
[data-had-media-analytics-body="platforms"],
[data-had-pedagogy-analytics-body="themes"]{min-width:0}

@media(max-width:1250px){
  .had-home-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto}
  .had-project-group .had-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .had-research-v3 .had-research-layout{grid-template-columns:1fr}
  .had-research-side{position:static;grid-template-columns:1fr 1fr;display:grid}
}

@media(max-width:900px){
  body.had-theme{font-size:15px}
  .had-top-stream{display:none}
  .had-home-screen,.had-research-v3,.had-publications-v3,.had-teaching-v3,.had-credentials-v3,.had-blog-v3,.had-portfolio-v3,.had-collection-screen{overflow:visible!important}
  .had-home-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .had-project-group .had-project-grid,.had-publications-v3 .had-publication-card-grid,.had-publications-v3 .had-dissemination-grid,.had-research-side,.had-teaching-philosophy{grid-template-columns:1fr}
  .had-teaching-course-matrix{overflow-x:auto}
  .had-teaching-course-matrix.without-students .had-teaching-matrix-head,
  .had-teaching-course-matrix.without-students>button{min-width:780px}
  .had-collection-filter-row{grid-template-columns:1fr}
  .had-collection-filter-row .had-year-filter{justify-content:flex-start}
  .had-credential-image{float:none;width:100%;max-height:230px;margin:0 0 14px}
}

@media(max-width:560px){
  .had-home-dashboard-grid{grid-template-columns:1fr}
  .had-project-group .had-project-grid{grid-template-columns:1fr}
  .had-screen-header h1,.had-collection-header h1{font-size:30px}
  .had-story-copy h2{font-size:30px!important}
}


/* Pedagogical programme hierarchy */
.had-programme-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  margin-bottom: .8rem;
  border: 1px solid rgba(0, 229, 255, .26);
  background: linear-gradient(135deg, rgba(0, 229, 255, .08), rgba(154, 118, 255, .05));
}
.had-programme-summary span { display: grid; gap: .2rem; }
.had-programme-summary b { color: var(--had-white, #eefbff); font-size: 14px; }
.had-programme-summary small { color: var(--had-muted, #8aa6b5); font-size: 12px; }
.had-programme-summary em {
  color: var(--had-cyan, #00e5ff);
  font-style: normal;
  font-family: var(--had-mono, monospace);
  font-size: 13px;
  white-space: nowrap;
}
@media (max-width: 680px) {
  .had-programme-summary { align-items: flex-start; flex-direction: column; }
  .had-programme-summary em { white-space: normal; }
}


/* ===== /assets/css/v301-layout-fixes.css ===== */
/**
 * Version 3.0.1 layout corrections.
 * Loaded after all inherited theme styles.
 */

/* Home: remove dashboard chrome from the information architecture. */
.had-home-v301{
  display:grid!important;
  grid-template-rows:minmax(360px,auto) minmax(285px,auto) auto!important;
  gap:12px!important;
  overflow-y:auto!important;
}
.had-home-v301 .had-home-top{
  display:grid!important;
  grid-template-columns:minmax(520px,1.32fr) minmax(390px,.93fr) minmax(315px,.75fr)!important;
  gap:10px!important;
  min-height:360px;
}
.had-home-v301 .had-impact-stack{
  display:grid!important;
  grid-template-rows:1fr!important;
  min-height:360px;
}
.had-home-v301 .had-impact-stack .had-scholar-card{
  min-height:360px;
  height:100%;
  padding:15px 16px;
  grid-template-rows:auto auto minmax(150px,1fr) auto;
}
.had-home-v301 .had-impact-stack .had-scholar-card .had-panel-title{
  min-height:46px;
  padding-bottom:9px;
}
.had-home-v301 .had-impact-stack .had-scholar-card h2{font-size:18px!important}
.had-home-v301 .had-impact-stack .had-scholar-kpis{padding:10px 0 8px}
.had-home-v301 .had-impact-stack .had-scholar-kpis b{font-size:22px!important}
.had-home-v301 .had-impact-stack .had-scholar-kpis small{font-size:12px!important}
.had-home-v301 .had-impact-stack .had-micro-chart{
  min-height:150px;
  padding:25px 8px 25px!important;
  gap:8px!important;
}
.had-home-v301 .had-impact-stack .had-micro-chart>i>em,
.had-home-v301 .had-impact-stack .had-micro-chart>i>small{font-size:11px!important}
.had-home-v301 .had-impact-stack .had-sync-line{display:flex!important;font-size:12px!important}

.had-home-reach{min-width:0;min-height:285px}
.had-home-reach .had-reach-card{
  width:100%;
  min-height:285px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  grid-template-rows:auto minmax(225px,1fr);
  gap:12px 16px;
  overflow:visible;
}
.had-home-reach .had-reach-head{
  grid-column:1/-1;
  min-height:45px;
  padding-bottom:9px;
}
.had-home-reach .had-reach-head h2{font-size:20px!important}
.had-home-reach .had-reach-head>span{font-size:12px}
.had-home-reach .had-reach-map{
  min-height:225px;
  border-color:#24566d;
  background:radial-gradient(circle at 52% 38%,rgba(34,211,238,.16),transparent 40%),#04141f;
}
.had-home-reach .had-reach-map>img{opacity:.96;filter:drop-shadow(0 0 12px rgba(34,211,238,.14))}
.had-home-reach .had-reach-dot{
  width:6px;
  height:6px;
  box-shadow:0 0 10px currentColor;
}
.had-home-reach .had-reach-dot>i{inset:-6px}
.had-home-reach .had-reach-dot>span{
  bottom:12px;
  max-width:190px;
  padding:7px 9px;
  font-size:12px;
}
.had-home-reach .had-reach-dot>span b{font-size:12px}
.had-home-reach .had-reach-metrics{
  min-height:225px;
  grid-template-rows:repeat(2,1fr);
  border-left:1px solid #1c465a;
  padding-left:16px;
}
.had-home-reach .had-reach-metrics>span{
  grid-template-columns:28px 1fr;
  column-gap:10px;
}
.had-home-reach .had-reach-metrics .dashicons{
  width:22px;
  height:22px;
  font-size:22px;
}
.had-home-reach .had-reach-metrics b{font-size:26px}
.had-home-reach .had-reach-metrics small{font-size:12px!important}

/* Publications: use normal document flow and explicit auto-sized rows. */
.had-publications-v301{overflow-y:auto!important}
.had-publications-v301 .had-publications-layout{
  align-items:start;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.55fr)!important;
}
.had-publications-v301 .had-publication-dashboard{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:16px!important;
}
.had-publications-v301 .had-publication-section{
  display:block;
  min-width:0;
}
.had-publications-v301 .had-publication-section + .had-publication-section{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #1b465b;
}
.had-publications-v301 .had-publication-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:minmax(165px,auto)!important;
  gap:11px!important;
  min-height:0!important;
  height:auto!important;
  padding-top:11px!important;
  overflow:visible!important;
}
.had-publications-v301 .had-publication-card-grid .had-dashboard-card{
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  inset:auto!important;
  min-height:165px!important;
  height:auto!important;
  padding:16px!important;
  opacity:1!important;
  transform:none;
}
.had-publications-v301 .had-publication-card-grid .had-dashboard-card:hover{transform:translateY(-2px)}
.had-publications-v301 .had-publication-card-grid .had-dashboard-card h3{
  min-height:38px;
  height:auto!important;
  margin:10px 0 8px!important;
  font-size:15px!important;
  line-height:1.28;
}
.had-publications-v301 .had-publication-card-grid .had-spark-bars{
  height:50px!important;
  margin-top:12px!important;
}
.had-publications-v301 .had-publication-card-grid .had-dashboard-card>p{
  min-height:32px;
  font-size:12px!important;
}
.had-publications-v301 .had-latest-list{
  position:sticky;
  top:0;
  min-height:610px;
  max-height:calc(100dvh - 155px);
}
.had-publications-v301 .had-latest-list .had-record-row b{font-size:13px}
.had-publications-v301 .had-latest-list .had-record-row em{font-size:12px}

/* Research: the researcher's actual role dates determine the grouping. */
.had-research-v301 .had-research-layout{
  grid-template-columns:minmax(0,1fr) minmax(290px,.28fr)!important;
  align-items:start;
}
.had-research-v301 .had-project-grid{
  display:grid!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}
.had-research-v301 .had-project-group-current .had-project-grid,
.had-research-v301 .had-project-group-scheduled .had-project-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.had-research-v301 .had-project-group-completed .had-project-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.had-research-v301 .had-project-card,
.had-research-v301 .had-project-card:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:285px!important;
  height:auto!important;
}
.had-research-v301 .had-project-group-completed .had-project-card{min-height:270px!important}
.had-research-v301 .had-project-card h3{
  min-height:66px;
  font-size:18px;
}
.had-research-v301 .had-project-card>p{-webkit-line-clamp:4}
.had-research-v301 .had-project-meta{gap:12px;align-items:flex-start}
.had-research-v301 .had-project-meta b{max-width:72%;font-size:12px!important}
.had-research-v301 .had-project-role{min-height:36px}
.had-research-v301 .had-project-card .had-tag-row{margin-top:auto;padding-top:10px}
.had-research-v301 .had-research-side{position:sticky;top:0}

@media(max-width:1350px){
  .had-home-v301 .had-home-top{
    grid-template-columns:minmax(440px,1.18fr) minmax(340px,.9fr) minmax(285px,.72fr)!important;
  }
  .had-research-v301 .had-project-group-completed .had-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .had-research-v301 .had-project-group-completed .had-project-card:last-child{grid-column:1/-1!important}
}

@media(max-width:1100px){
  .had-home-v301{grid-template-rows:auto auto auto!important}
  .had-home-v301 .had-home-top{grid-template-columns:1fr 1fr!important}
  .had-home-v301 .had-impact-stack{grid-column:1/-1;min-height:300px}
  .had-home-v301 .had-impact-stack .had-scholar-card{min-height:300px}
  .had-publications-v301 .had-publications-layout,
  .had-research-v301 .had-research-layout{grid-template-columns:1fr!important}
  .had-publications-v301 .had-latest-list,
  .had-research-v301 .had-research-side{position:static;max-height:none}
  .had-research-v301 .had-research-side{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .had-home-v301{display:block!important}
  .had-home-v301 .had-home-top{display:grid!important;grid-template-columns:1fr!important}
  .had-home-v301 .had-impact-stack{grid-column:auto;min-height:275px}
  .had-home-v301 .had-impact-stack .had-scholar-card{min-height:275px}
  .had-home-reach .had-reach-card{grid-template-columns:1fr;grid-template-rows:auto 250px auto}
  .had-home-reach .had-reach-metrics{grid-template-columns:1fr 1fr;grid-template-rows:1fr;border-left:0;border-top:1px solid #1c465a;padding:10px 0 0}
  .had-home-reach .had-reach-metrics>span{border-bottom:0;border-right:1px solid #173b4e}
  .had-home-reach .had-reach-metrics>span:last-child{border-right:0}
  .had-publications-v301 .had-publication-card-grid,
  .had-research-v301 .had-project-group-current .had-project-grid,
  .had-research-v301 .had-project-group-scheduled .had-project-grid,
  .had-research-v301 .had-project-group-completed .had-project-grid,
  .had-research-v301 .had-research-side{grid-template-columns:1fr!important}
  .had-research-v301 .had-project-group-completed .had-project-card:last-child{grid-column:auto!important}
}

@media(max-width:560px){
  .had-home-reach .had-reach-card{padding:12px;grid-template-rows:auto 210px auto}
  .had-home-reach .had-reach-metrics{grid-template-columns:1fr;gap:0}
  .had-home-reach .had-reach-metrics>span{min-height:80px;border-right:0;border-bottom:1px solid #173b4e}
  .had-publications-v301 .had-publication-card-grid{grid-template-columns:1fr!important}
}

/* Purpose-built publication cards: actual active years, not a fixed recent window. */
.had-publications-v301 .had-publication-overview-card{
  --card-accent:var(--had-cyan);
  min-width:0;
  min-height:190px;
  display:grid;
  grid-template-rows:auto auto minmax(76px,1fr) auto;
  gap:8px;
  padding:16px;
  position:relative;
  overflow:hidden;
  border:1px solid #24536b;
  border-radius:8px;
  background:linear-gradient(145deg,rgba(11,38,55,.96),rgba(3,14,24,.97));
  color:inherit;
  text-decoration:none;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.had-publications-v301 .had-publication-overview-card:hover,
.had-publications-v301 .had-publication-overview-card:focus-visible{
  border-color:var(--card-accent);
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  outline:none;
}
.had-publications-v301 .had-publication-overview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.had-publications-v301 .had-publication-overview-head>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--card-accent) 60%,transparent);
  color:var(--card-accent);
}
.had-publications-v301 .had-publication-overview-head .dashicons{
  width:17px;
  height:17px;
  font-size:17px;
}
.had-publications-v301 .had-publication-overview-head>b{
  color:var(--card-accent);
  font:300 25px ui-monospace,monospace;
}
.had-publications-v301 .had-publication-overview-card h3{
  min-height:38px;
  margin:0;
  color:#eef8fb;
  font-size:15px;
  line-height:1.28;
}
.had-publications-v301 .had-publication-year-chart{
  min-height:76px;
  display:flex;
  align-items:end;
  gap:8px;
  padding:14px 2px 20px;
  border-bottom:1px solid #173b4e;
}
.had-publications-v301 .had-publication-year-chart>span{
  min-width:0;
  height:62px;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-direction:column;
  position:relative;
}
.had-publications-v301 .had-publication-year-chart i{
  width:min(18px,72%);
  min-height:6px;
  display:block;
  background:linear-gradient(180deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 55%,#b999ff));
  box-shadow:0 0 9px color-mix(in srgb,var(--card-accent) 25%,transparent);
}
.had-publications-v301 .had-publication-year-chart em{
  margin-bottom:4px;
  color:var(--card-accent);
  font:700 11px ui-monospace,monospace;
  font-style:normal;
}
.had-publications-v301 .had-publication-year-chart small{
  position:absolute;
  bottom:-18px;
  color:#718e9d;
  font:11px ui-monospace,monospace;
}
.had-publications-v301 .had-publication-overview-card>p{
  min-width:0;
  margin:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 18px;
  align-items:center;
  gap:7px;
  color:#7f9daa;
}
.had-publications-v301 .had-publication-overview-card>p em{
  color:var(--card-accent);
  font:700 12px ui-monospace,monospace;
  font-style:normal;
}
.had-publications-v301 .had-publication-overview-card>p span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.had-publications-v301 .had-publication-overview-card>p .dashicons{
  color:var(--card-accent);
  font-size:16px;
}


/* ===== /assets/css/v310-final.css ===== */
/**
 * Hamed Academic Dashboard 3.2.0
 * Evidence-led final interface and accessibility corrections.
 */

/* ---------- Readability and interaction baseline ---------- */
body.had-theme{
  font-size:15px!important;
  line-height:1.55;
  text-rendering:optimizeLegibility;
}
body.had-theme :where(button,input,select,textarea,a){font-size:max(13px,1em)}
body.had-theme :where(p,li,dd,.had-record-row p,.had-story-copy>p){font-size:14px;line-height:1.55}
body.had-theme :where(.had-kicker,.had-side-label,.had-panel-title small,.had-section-title>span,.had-analytics-title>span,.had-collection-kpis small,.had-profile-telemetry small,.had-signal-line,.had-record-row label,.had-record-row time small){font-size:12px!important;line-height:1.35}
body.had-theme :where(.had-sidebar a,.had-top-links a,.had-language-switch button,.had-year-filter button,.had-search-box input,.had-profile-actions a,.had-home-primary-links a){font-size:13px!important}
body.had-theme :where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--had-cyan)!important;
  outline-offset:3px!important;
}
.had-skip-link{
  position:fixed;left:16px;top:8px;z-index:99999;
  padding:10px 14px;background:#eefcff;color:#00131f;border:2px solid var(--had-cyan);
  transform:translateY(-160%);transition:transform .16s;text-decoration:none;font-weight:800;
}
.had-skip-link:focus{transform:translateY(0)}

/* ---------- Top news strip ---------- */
.had-top-stream{font-size:12px!important;gap:8px}
.had-top-stream-item,.had-top-stream em,.had-top-stream-item span{font-size:12px!important;line-height:1.25}
.had-top-stream-item em{gap:9px;margin-right:46px}
.had-stream-toggle{
  flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;
  border:1px solid #24556d;border-radius:4px;background:#061722;color:#9bd9e6;
}
.had-stream-toggle:hover{border-color:var(--had-cyan);color:var(--had-cyan)}
.had-stream-toggle .dashicons{font-size:17px;width:17px;height:17px}

/* ---------- Collapsible evidence navigation ---------- */
.had-side-scroll{display:flex;flex-direction:column;gap:5px;padding-top:9px}
.had-side-group{border-top:1px solid rgba(50,111,139,.34);padding-top:5px}
.had-side-group-toggle{
  width:100%;min-height:42px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:0;background:transparent;color:#8cabb9;text-align:left;font:700 12px/1.25 ui-monospace,monospace;letter-spacing:.075em;text-transform:uppercase;
}
.had-side-group-toggle>span{display:flex;align-items:center;gap:9px;min-width:0}
.had-side-group-toggle .dashicons{width:16px;height:16px;font-size:16px;color:#79a9bb}
.had-side-group-toggle>.dashicons{transition:transform .18s ease}
.had-side-group.is-open .had-side-group-toggle>.dashicons{transform:rotate(180deg)}
.had-side-group-toggle:hover{color:#eafaff;background:rgba(22,67,87,.35)}
.had-side-group-panel{display:grid;gap:2px;padding:2px 0 7px}
.had-side-group-panel[hidden]{display:none!important}
.had-side-group-panel a{min-height:40px!important}

/* ---------- Home: guaranteed normal document flow ---------- */
.had-home-final{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:24px;
}
.had-home-final>*{position:relative!important;inset:auto!important;transform:none!important;z-index:auto!important}
.had-home-final .had-home-top{
  display:grid!important;
  grid-template-columns:minmax(480px,40fr) minmax(360px,35fr) minmax(300px,25fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  min-height:430px!important;
  height:auto!important;
}
.had-home-final .had-home-top>*{min-width:0;position:relative!important;inset:auto!important;z-index:auto!important}
.had-home-final .had-profile-card{
  min-height:430px!important;height:auto!important;
  grid-template-columns:minmax(170px,34%) minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) 42px!important;
}
.had-home-final .had-profile-copy{padding:22px 20px 18px!important;overflow:visible!important}
.had-home-final .had-profile-copy h1{font-size:clamp(27px,2.1vw,39px)!important;line-height:1.08;margin:9px 0 5px}
.had-home-final .had-profile-role{font-size:14px!important;color:#61dff0;margin:0 0 12px}
.had-home-final .had-profile-summary{font-size:15px!important;line-height:1.55;margin:0 0 13px;color:#b9d0da}
.had-home-primary-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 13px}
.had-home-primary-links a{
  min-width:0;min-height:44px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:5px;
  border:1px solid #245a70;border-radius:5px;background:rgba(11,48,66,.47);text-decoration:none;font-weight:750;line-height:1.18;
}
.had-home-primary-links a:hover{border-color:var(--had-cyan);background:rgba(16,82,103,.44)}
.had-home-primary-links .dashicons{width:15px;height:15px;font-size:15px;flex:0 0 auto}
.had-home-final .had-profile-telemetry{margin-top:auto}
.had-home-final .had-profile-telemetry b{font-size:20px!important}
.had-home-final .had-profile-actions{margin-top:12px}
.had-home-final .had-profile-actions a{min-height:40px;padding:0 13px}
.had-home-final .had-portrait{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.had-home-final .had-protected-portrait-image{pointer-events:none}
.had-home-final .had-news-console,
.had-home-final .had-impact-stack,
.had-home-final .had-impact-stack .had-scholar-card{min-height:430px!important;height:auto!important}
.had-home-final .had-news-item h3{font-size:clamp(22px,1.8vw,31px)!important;line-height:1.18}
.had-home-final .had-news-item p{font-size:14px!important}
.had-home-final .had-news-item>b{font-size:13px!important}
.had-news-pause{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2b6179;background:#061722;color:#9ad9e8}
.had-news-pause .dashicons{width:16px;height:16px;font-size:16px}

/* Google Scholar: labels stay above bars and never collide. */
.had-home-final .had-scholar-card{padding:16px!important;grid-template-rows:auto auto minmax(170px,1fr) auto!important}
.had-home-final .had-scholar-card h2{font-size:20px!important}
.had-home-final .had-scholar-kpis{gap:0;min-height:78px}
.had-home-final .had-scholar-kpis span{min-width:0;padding:9px}
.had-home-final .had-scholar-kpis b{font-size:22px!important}
.had-home-final .had-scholar-kpis em{font-size:11px!important;white-space:normal}
.had-home-final .had-micro-chart{min-height:180px!important;align-items:flex-end!important;padding:36px 6px 28px!important;overflow:visible!important}
.had-home-final .had-micro-chart>i{position:relative;min-width:14px}
.had-home-final .had-micro-chart>i>em{position:absolute!important;top:-23px!important;left:50%!important;transform:translateX(-50%)!important;z-index:2!important;font-size:11px!important;background:#052131;padding:1px 3px;border-radius:3px}
.had-home-final .had-micro-chart>i>small{font-size:11px!important}

/* Global Reach: full-width, contained, no overlay. */
.had-home-final .had-home-reach{
  display:block!important;position:relative!important;inset:auto!important;z-index:auto!important;
  width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;
  margin:12px 0!important;overflow:hidden!important;
}
.had-home-final .had-home-reach .had-reach-card{
  position:relative!important;inset:auto!important;z-index:auto!important;transform:none!important;
  width:100%!important;min-height:390px!important;height:auto!important;
  padding:16px!important;display:grid!important;
  grid-template-columns:minmax(0,3fr) minmax(240px,1fr)!important;
  grid-template-rows:auto minmax(300px,360px)!important;
  gap:12px 18px!important;overflow:hidden!important;
}
.had-home-final .had-reach-head{grid-column:1/-1;min-height:48px}
.had-home-final .had-reach-head h2{font-size:22px!important}
.had-home-final .had-reach-map{
  position:relative!important;inset:auto!important;z-index:1!important;width:100%!important;
  min-height:300px!important;height:100%!important;max-height:360px!important;overflow:hidden!important;
  border:1px solid #23536a;background:radial-gradient(circle at 55% 40%,rgba(22,187,219,.15),transparent 42%),#031521;
}
.had-home-final .had-reach-map>img{width:100%!important;height:100%!important;max-height:360px!important;object-fit:contain!important;display:block!important}
.had-home-final .had-reach-metrics{
  min-height:300px!important;height:100%!important;display:grid!important;grid-template-rows:repeat(3,minmax(78px,1fr)) auto!important;
  border-left:1px solid #1b465b;padding-left:18px!important;align-content:stretch;
}
.had-home-final .had-reach-metrics>span{
  display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  align-content:center;column-gap:11px;border-bottom:1px solid #173b4e;padding:9px 0!important;
}
.had-home-final .had-reach-metrics>span>.dashicons{grid-row:1/3;font-size:23px;width:23px;height:23px;color:var(--had-cyan)}
.had-home-final .had-reach-metrics b{font-size:25px!important;line-height:1.05}
.had-home-final .had-reach-metrics small{font-size:12px!important;line-height:1.25;white-space:normal}
.had-reach-source{margin:8px 0 0!important;color:#7698a7;font:12px/1.35 ui-monospace,monospace!important}
.had-home-final .had-dashboard-zone{position:relative!important;inset:auto!important;z-index:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
.had-home-final .had-home-dashboard-grid{height:auto!important;overflow:visible!important}

/* ---------- Evidence-led Research page ---------- */
.had-research-v301 .had-project-card{min-height:0!important;padding:18px!important;text-align:left}
.had-research-v301 .had-project-card h3{min-height:0!important;font-size:18px!important;line-height:1.28;margin:10px 0 8px}
.had-research-v301 .had-project-card>p{font-size:14px!important;line-height:1.52;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}
.had-research-v301 .had-project-role{margin:13px 0 2px;color:#b6ccd6}
.had-research-v301 .had-project-role span{font-size:13px;line-height:1.4}
.had-research-v301 .had-project-meta b{font-size:12px!important;line-height:1.35;white-space:normal}
.had-research-v301 .had-open-detail{font-size:13px!important}
.had-research-v301 .had-focus-panel,.had-research-v301 .had-methods-panel{height:auto!important;min-height:0!important}

/* ---------- Publications overview ---------- */
.had-publications-final{overflow-y:auto!important}
.had-selected-publications{margin-bottom:13px;padding:16px}
.had-selected-publications .had-section-title{align-items:flex-start}
.had-selected-publications .had-section-title h2{font-size:19px}
.had-selected-publications .had-section-title p{margin:3px 0 0;color:#7f9daa}
.had-selected-publications .had-section-title>a{display:flex;align-items:center;gap:6px;color:var(--had-cyan);text-decoration:none;font-weight:750}
.had-selected-publication-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}
.had-selected-publication-grid>button{
  min-width:0;min-height:165px;padding:13px;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:start;gap:8px;
  border:1px solid #24536b;border-radius:6px;background:linear-gradient(145deg,rgba(10,41,57,.94),rgba(3,15,24,.97));text-align:left;
}
.had-selected-publication-grid>button:hover{border-color:var(--had-green);transform:translateY(-2px)}
.had-selected-publication-grid>button>span{color:var(--had-green);font:700 12px ui-monospace,monospace}
.had-selected-publication-grid>button>div{min-width:0;display:flex;flex-direction:column;gap:7px}
.had-selected-publication-grid small{color:#78a0b1;font-size:12px;line-height:1.35}
.had-selected-publication-grid b{font-size:14px;line-height:1.32}
.had-selected-publication-grid em{font-size:12px;line-height:1.42;font-style:normal;color:#819eaa;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.had-publications-v301 .had-publication-overview-card{min-height:210px}
.had-publications-v301 .had-publication-card-grid{grid-auto-rows:minmax(210px,auto)!important}
.had-publications-v301 .had-publication-year-chart{min-height:92px}
.had-publications-v301 .had-publication-overview-card h3{font-size:16px!important}

/* ---------- Featured teaching ---------- */
.had-featured-course{
  width:100%;margin-bottom:12px;padding:18px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr) 22px;gap:20px;
  border-color:#28708d;background:linear-gradient(120deg,rgba(6,53,72,.94),rgba(4,20,32,.98));color:inherit;text-align:left;
}
.had-featured-course h2{font-size:25px;margin:6px 0 8px}
.had-featured-course p{font-size:15px!important;max-width:78ch;color:#afc8d3}
.had-featured-course dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid #24536b}
.had-featured-course dl>div{padding:10px;background:rgba(6,28,42,.85)}
.had-featured-course dt{font:700 11px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#7899a8}
.had-featured-course dd{margin:4px 0 0;font-size:13px;line-height:1.4;color:#eaf7fa}

/* ---------- Collection information architecture ---------- */
.had-collection-screen{overflow-y:auto!important}
.had-evidence-note{
  margin:0 0 10px;padding:10px 13px;border-left:3px solid var(--had-accent);background:rgba(7,34,49,.74);color:#a8c0cb;font-size:13px!important;
}
.had-collection-body.had-collection-advanced{align-items:start!important}
.had-analytics-grid{align-content:start!important}
.had-analytics-panel{min-width:0;overflow:hidden}
.had-analytics-panel .had-analytics-title{min-height:42px}
.had-analytics-panel .had-metric-bars>div{margin-top:9px}
.had-metric-bars>div>span{min-width:0;align-items:flex-start!important;gap:8px}
.had-metric-bars>div>span b{
  max-width:calc(100% - 32px)!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35!important;font-size:13px!important;
}
.had-metric-bars>div>span em{flex:0 0 auto;font-size:12px!important}
.had-dimension-group h3,.had-media-profile-panel>h3{font:700 11px ui-monospace,monospace;letter-spacing:.1em;color:#7397a7;margin:12px 0 7px}
.had-facet-chips span{font-size:12px!important;white-space:normal!important;line-height:1.3}
.had-year-bars,.had-advanced-year-bars{min-height:190px!important;padding-top:22px!important}
.had-year-bars>span,.had-advanced-year-bars>span{min-height:145px!important}
.had-year-bars i,.had-advanced-year-bars i{min-height:22px;min-width:24px}
.had-year-bars em,.had-year-bars small,.had-advanced-year-bars em,.had-advanced-year-bars small{font-size:12px!important}

/* Conference map and profile: map 60%, profile 40%, dimensions above bars. */
[data-had-collection-type="conferences"] .had-analytics-grid{grid-template-columns:minmax(0,3fr) minmax(340px,2fr)!important}
[data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{grid-column:1!important;grid-row:1/3!important;min-height:465px}
[data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-panel:nth-child(2){grid-column:2!important;grid-row:1!important;min-height:220px}
[data-had-collection-type="conferences"] .had-analytics-grid>.had-conference-profile-panel{grid-column:2!important;grid-row:2!important;min-height:235px}
[data-had-collection-type="conferences"] .had-record-world-map{min-height:360px!important}
.had-conference-profile-dimensions{display:block!important;position:relative!important;z-index:2;background:#061925;padding-bottom:8px;border-bottom:1px solid #1c475b}
.had-conference-year-chart{position:relative!important;z-index:1;padding-top:9px!important;min-height:145px}
.had-conference-year-label{display:block;margin-bottom:2px;color:#789aaa;font-size:11px!important}
.had-conference-year-chart .had-year-bars,.had-conference-year-chart .had-advanced-year-bars{min-height:130px!important;padding-top:15px!important}

/* Small scholarly collections: summary + year evidence, not four competing panels. */
[data-had-collection-type="book"] .had-analytics-grid,
[data-had-collection-type="theses"] .had-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
[data-had-collection-type="book"] .had-book-year-panel,
[data-had-collection-type="theses"] .had-thesis-year-panel{grid-column:1/-1!important;min-height:250px}
[data-had-collection-type="book"] .had-book-summary-panel,
[data-had-collection-type="theses"] .had-thesis-profile-panel{min-height:280px}

/* Journal page: selected strip and expandable abstracts. */
.had-journal-feature-strip{margin:0 0 11px;padding:14px;border:1px solid #1f5065;border-radius:6px;background:rgba(5,27,41,.87)}
.had-journal-feature-strip>.had-section-title{margin-bottom:10px}
.had-journal-feature-strip>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.had-journal-feature-strip button{min-height:100px;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:7px;border:1px solid #204d61;background:#061925;text-align:left}
.had-journal-feature-strip button small{grid-column:1/-1;color:#78a0b0;font-size:12px}
.had-journal-feature-strip button b{font-size:13px;line-height:1.35}
.had-collection-record-item{position:relative;border-bottom:1px solid #173d50}
.had-collection-record-item>.had-record-row{border-bottom:0!important}
.had-record-abstract{margin:-2px 18px 9px 89px;border-left:2px solid #28627a;padding:0 0 0 10px;color:#90abb7}
.had-record-abstract summary{cursor:pointer;color:#83d9e8;font-size:12px;font-weight:750;padding:5px 0}
.had-record-abstract p{max-width:80ch;margin:2px 0 8px;font-size:13px!important}
.had-record-evidence{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:5px}
.had-record-evidence i{padding:2px 6px;border:1px solid #2b6175;border-radius:999px;color:#8fd4e1;font:700 10px ui-monospace,monospace;font-style:normal}
.had-record-translation{display:block;color:#9db7c2;font-size:12px!important;line-height:1.35;margin:3px 0}

/* Media and visits become narrative-first. */
.had-media-story-grid,.had-visit-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.had-visit-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.had-media-story-grid>button,.had-visit-story-grid>button{
  min-width:0;min-height:190px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  border:1px solid #26566b;border-radius:6px;background:linear-gradient(145deg,rgba(9,40,56,.95),rgba(3,16,25,.98));text-align:left;color:inherit;
}
.had-media-story-grid>button:hover,.had-visit-story-grid>button:hover{border-color:var(--had-accent);transform:translateY(-2px)}
.had-media-story-grid small,.had-visit-story-grid small{color:var(--had-accent);font:700 11px ui-monospace,monospace}
.had-media-story-grid b,.had-visit-story-grid b{font-size:15px;line-height:1.35}
.had-media-story-grid em{font-size:13px;font-style:normal;color:#9eb9c4}
.had-media-story-grid p,.had-visit-story-grid p{font-size:13px!important;color:#819eaa}
.had-media-story-grid>button>span,.had-visit-story-grid>button>span{margin-top:auto;padding-top:7px;color:#83d7e6;font-size:12px}
.had-media-profile-panel{min-height:265px}
.had-media-profile-panel [data-had-media-analytics-body="years"]{margin-top:11px}
.had-visit-summary{margin-top:12px}
.had-record-source-link{position:absolute;right:38px;bottom:9px;z-index:2;color:var(--had-cyan);font-size:12px;text-decoration:none}
[data-had-collection-type="media"] .had-collection-records .had-scroll-list,
[data-had-collection-type="research-visits"] .had-collection-records .had-scroll-list{display:grid;grid-template-columns:1fr;gap:7px;padding:7px}
[data-had-collection-type="media"] .had-collection-record-item,
[data-had-collection-type="research-visits"] .had-collection-record-item{border:1px solid #214f64;border-radius:5px;background:#061925}

/* Funding integrity. */
[data-had-collection-type="scholarships"] .had-funding-total em{display:block;color:#b9a0ff;font-size:13px;margin-top:5px}
[data-had-collection-type="scholarships"] .had-metric-bars>div>span b{font-size:13px!important}

/* Editorial interpretation. */
.had-editorial-explanation{margin:0 0 11px;color:#96b2be;font-size:13px!important;max-width:90ch}
.had-editorial-year{display:grid!important;grid-template-columns:145px minmax(0,1fr)!important;gap:12px;align-items:end}
.had-editorial-year .had-year-bars,.had-editorial-year .had-advanced-year-bars{min-height:170px!important}

/* Pedagogical programme consolidation. */
.had-pedagogy-record-group{margin:8px;border:1px solid #276171;border-radius:6px;background:rgba(5,31,42,.8);overflow:hidden}
.had-pedagogy-record-group>summary{min-height:68px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;background:rgba(12,65,74,.32);list-style:none}
.had-pedagogy-record-group>summary::-webkit-details-marker{display:none}
.had-pedagogy-record-group>summary span{display:flex;flex-direction:column;gap:3px}
.had-pedagogy-record-group>summary b{font-size:15px}
.had-pedagogy-record-group>summary small{font-size:12px;color:#91acb7}
.had-pedagogy-record-group>summary em{font:700 12px ui-monospace,monospace;font-style:normal;color:var(--had-green);text-align:right}
.had-pedagogy-record-group>div{padding:0 7px 7px}
.had-other-pedagogy{margin:10px 8px}
.had-subsection-title{display:flex;align-items:center;justify-content:space-between;padding:9px 4px;border-bottom:1px solid #245267}
.had-subsection-title h3{font-size:15px;margin:0}
.had-subsection-title span{min-width:25px;height:25px;display:grid;place-items:center;border:1px solid #2f6679;border-radius:999px;color:var(--had-green)}

/* Contact: functional server-side form and adaptive image. */
.had-contact-final .had-contact-layout{align-items:start}
.had-contact-final .had-contact-card,.had-contact-final .had-contact-form{height:auto!important;min-height:0!important}
.had-contact-final .had-contact-portrait{height:min(520px,62vh)!important;min-height:390px}
.had-contact-final .had-contact-portrait img{width:100%;height:100%;object-fit:cover}
.had-native-contact-form .had-section-title{margin-bottom:13px}
.had-native-contact-form .had-section-title p{margin:4px 0 0;color:#84a3b4}
.had-contact-alert{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--had-cyan);background:#072738;color:#dff9ff;font-size:13px}
.had-contact-alert.is-error{border-color:#ff7a8a;background:#30141b}
.had-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.had-contact-submit{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.had-contact-submit button{min-height:46px;padding:0 16px;display:flex;align-items:center;gap:8px;border:1px solid var(--had-cyan);background:var(--had-cyan);color:#00131d;font-weight:800}
.had-contact-submit button:disabled{opacity:.65;cursor:wait}
.had-contact-submit>a{color:#8fcbd8;text-decoration:none}

/* Credentials should size to their actual evidence. */
.had-credentials-v3 .had-credential-layout{align-items:start}
.had-credentials-v3 .had-credential-detail{height:auto!important;min-height:420px!important;max-height:none!important;align-self:start}
.had-credentials-v3 .had-credential-detail h2{font-size:clamp(30px,3vw,49px)!important}

/* Career timeline: readable overlapping roles. */
.had-experience-layout .had-timeline-row{min-height:94px!important;height:auto!important;align-items:flex-start;padding-top:14px;padding-bottom:14px}
.had-experience-layout .had-timeline-row h3{font-size:16px;line-height:1.3}
.had-experience-layout .had-timeline-row p{font-size:14px!important}

/* Blog reading and comments. */
.had-blog-reader-content,.had-single-post-body,.had-rich-content{line-height:1.65}
.had-detail-drawer.is-blog-reader .had-record-copy{max-width:76ch}
.had-detail-drawer.is-blog-reader .had-rich-content :where(p,li){font-size:16px!important;line-height:1.68}
.had-detail-drawer.is-blog-reader .had-rich-content img{max-width:100%;height:auto}
.had-blog-comments,.comment-respond{max-width:76ch;margin-inline:auto}

/* ---------- Responsive and zoom resilience ---------- */
@media(max-width:1450px){
  .had-home-final .had-home-top{grid-template-columns:minmax(420px,1.18fr) minmax(330px,.92fr) minmax(285px,.72fr)!important}
  .had-home-primary-links{grid-template-columns:1fr}
  .had-home-primary-links a{min-height:38px}
  .had-selected-publication-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .had-selected-publication-grid>button:nth-child(n+4){min-height:130px}
}
@media(max-width:1180px){
  .had-home-final .had-home-top{grid-template-columns:1fr 1fr!important}
  .had-home-final .had-impact-stack{grid-column:1/-1;min-height:340px!important}
  .had-home-final .had-impact-stack .had-scholar-card{min-height:340px!important}
  .had-home-final .had-home-reach .had-reach-card{grid-template-columns:minmax(0,2.3fr) minmax(230px,1fr)!important}
  .had-selected-publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-had-collection-type="conferences"] .had-analytics-grid{grid-template-columns:1fr!important}
  [data-had-collection-type="conferences"] .had-analytics-grid>*{grid-column:auto!important;grid-row:auto!important}
  [data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{min-height:390px}
  .had-media-story-grid{grid-template-columns:1fr 1fr}
  .had-featured-course{grid-template-columns:1fr}
}
@media(max-width:900px){
  body.had-theme{font-size:15px!important;overflow:auto!important}
  .had-app-shell{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .had-shell-body{height:auto!important;min-height:calc(100dvh - var(--had-topbar));display:block!important}
  .had-workspace{overflow:visible!important;min-height:100dvh}
  .had-top-stream{display:flex!important}
  .had-top-stream{position:absolute;left:68px;right:250px}
  .had-home-final .had-home-top{display:grid!important;grid-template-columns:1fr!important}
  .had-home-final .had-profile-card,.had-home-final .had-news-console,.had-home-final .had-impact-stack,.had-home-final .had-impact-stack .had-scholar-card{min-height:0!important}
  .had-home-final .had-profile-card{grid-template-columns:minmax(150px,35%) 1fr!important}
  .had-home-final .had-home-reach .had-reach-card{grid-template-columns:1fr!important;grid-template-rows:auto minmax(270px,340px) auto!important}
  .had-home-final .had-reach-metrics{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:auto auto!important;min-height:0!important;border-left:0;border-top:1px solid #1b465b;padding:12px 0 0!important}
  .had-home-final .had-reach-metrics>span{border-bottom:0;border-right:1px solid #173b4e;padding:8px 12px!important}
  .had-home-final .had-reach-metrics>span:nth-child(3){border-right:0}
  .had-reach-source{grid-column:1/-1;padding:4px 12px}
  .had-selected-publication-grid,.had-journal-feature-strip>div:last-child,.had-media-story-grid,.had-visit-story-grid{grid-template-columns:1fr}
  [data-had-collection-type="book"] .had-analytics-grid,[data-had-collection-type="theses"] .had-analytics-grid{grid-template-columns:1fr!important}
  .had-record-abstract{margin-left:20px}
}
@media(max-width:620px){
  .had-top-stream{display:none!important}
  .had-home-final .had-profile-card{display:block!important}
  .had-home-final .had-portrait{min-height:360px}
  .had-home-primary-links{grid-template-columns:1fr}
  .had-home-final .had-reach-map{min-height:230px!important}
  .had-home-final .had-home-reach .had-reach-card{grid-template-rows:auto 240px auto!important;padding:11px!important}
  .had-home-final .had-reach-metrics{grid-template-columns:1fr!important}
  .had-home-final .had-reach-metrics>span{border-right:0;border-bottom:1px solid #173b4e}
  .had-selected-publication-grid{grid-template-columns:1fr}
  .had-featured-course dl{grid-template-columns:1fr}
  .had-pedagogy-record-group>summary{align-items:flex-start;flex-direction:column}
  .had-pedagogy-record-group>summary em{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  .had-top-stream>div>span,.had-reach-dot>i,.had-map-scan,.had-news-scan{animation:none!important}
}

/* Code portfolio provenance and maintenance metadata. */
.had-code-sync-status{display:block;margin-top:5px;color:#86a7b5;font-size:12px;line-height:1.4}
.had-code-project .had-code-evidence{display:block;margin-top:8px;color:#7fa8b7;font:600 12px/1.45 ui-monospace,monospace;font-style:normal;white-space:normal}
.had-code-project>span:nth-child(2){min-width:0}
.had-code-project>span:nth-child(2)>b,.had-code-project>span:nth-child(2)>p{overflow-wrap:anywhere}


/* ===== /assets/css/v320-home-scholar.css ===== */
/**
 * Hamed Academic Dashboard 3.2.1
 * Homepage identity/Scholar position and complete citation-history interface.
 */

/* Desktop hierarchy: Scholar evidence left, live activity centre, identity right. */
.had-home-v320 .had-home-top{
  grid-template-columns:minmax(500px,1.24fr) minmax(390px,.96fr) minmax(440px,1.04fr)!important;
  grid-template-areas:"scholar news profile";
}
.had-home-v320 .had-impact-stack{grid-area:scholar;min-width:0}
.had-home-v320 .had-news-console{grid-area:news;min-width:0}
.had-home-v320 .had-profile-card{grid-area:profile;min-width:0}

/* The larger right-hand identity card retains comfortable portrait and text widths. */
.had-home-v320 .had-profile-card{
  grid-template-columns:minmax(180px,34%) minmax(0,1fr)!important;
}
.had-home-v320 .had-profile-copy{min-width:0}
.had-home-v320 .had-profile-copy h1{overflow-wrap:anywhere}

/* Google Scholar panel controls. */
.had-home-v320 .had-scholar-card{
  display:grid!important;
  grid-template-rows:auto auto minmax(190px,1fr) auto!important;
  min-width:0;
  overflow:hidden;
}
.had-scholar-actions{display:flex;align-items:center;gap:7px}
.had-scholar-actions>a,
.had-scholar-view-all{
  min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  border:1px solid #2a6178;border-radius:4px;background:#061a27;color:#bfeef5;
  text-decoration:none;font:750 12px/1 ui-monospace,monospace;letter-spacing:.04em;
}
.had-scholar-actions>a{width:34px;padding:0}
.had-scholar-view-all{padding:0 10px;cursor:pointer;text-transform:uppercase}
.had-scholar-actions>a:hover,.had-scholar-view-all:hover{border-color:var(--had-cyan);color:#fff;background:#0b3444}
.had-scholar-chart-frame{
  min-width:0;min-height:190px;margin-top:6px;padding:2px 0 0;
  display:flex;align-items:stretch;overflow:hidden;
}
.had-scholar-empty{margin:auto;color:#8fb0bd;text-align:center}

/* Responsive citation trend chart. */
.had-scholar-line-chart{display:block;width:100%;height:100%;min-height:190px;overflow:visible}
.had-scholar-line-chart .had-scholar-grid-line{stroke:#174052;stroke-width:1;vector-effect:non-scaling-stroke}
.had-scholar-line-chart .had-scholar-area{opacity:.82}
.had-scholar-line-chart .had-scholar-line{
  fill:none;stroke:#22d3ee;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.had-scholar-line-chart .had-scholar-point>line{
  stroke:#1b5164;stroke-width:1;stroke-dasharray:3 5;opacity:.58;vector-effect:non-scaling-stroke;
}
.had-scholar-line-chart .had-scholar-point>circle{
  fill:#031722;stroke:#7cecff;stroke-width:3;vector-effect:non-scaling-stroke;
}
.had-scholar-line-chart text{
  fill:#a9c9d4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-anchor:middle;
}
.had-scholar-line-chart .had-scholar-value{fill:#ecfdff;font-size:14px;font-weight:800}
.had-scholar-line-chart .had-scholar-year{fill:#74a5b6;font-size:12px;font-weight:700}
.had-scholar-line-chart.is-full .had-scholar-value{font-size:15px}
.had-scholar-line-chart.is-full .had-scholar-year{font-size:13px}

/* Complete citation-history popup. */
body.had-scholar-modal-open{overflow:hidden!important}
.had-scholar-modal[hidden]{display:none!important}
.had-scholar-modal{
  position:fixed!important;inset:0!important;z-index:100100!important;display:grid!important;place-items:center;
  padding:24px;transform:none!important;
}
.had-scholar-modal-backdrop{position:absolute;inset:0;background:rgba(0,7,12,.82);backdrop-filter:blur(5px)}
.had-scholar-modal-dialog{
  position:relative;z-index:1;width:min(1120px,calc(100vw - 48px));max-height:calc(100dvh - 48px);
  overflow:auto;padding:22px;border:1px solid #2a6f86;border-radius:9px;
  background:linear-gradient(145deg,rgba(5,29,43,.99),rgba(3,15,25,.99));
  box-shadow:0 26px 90px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.04);
}
.had-scholar-modal-dialog>header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;
  border-bottom:1px solid #1d4c60;
}
.had-scholar-modal-dialog>header h2{margin:5px 0 4px;font-size:clamp(25px,3vw,40px);line-height:1.08}
.had-scholar-modal-dialog>header p{margin:0;color:#9ab8c4;font-size:14px}
.had-scholar-modal-close{
  flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #2b637a;
  border-radius:4px;background:#071925;color:#d8f6fa;cursor:pointer;
}
.had-scholar-modal-close:hover{border-color:var(--had-cyan);color:#fff}
.had-scholar-modal-close .dashicons{width:20px;height:20px;font-size:20px}
.had-scholar-modal-kpis{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 8px;border:1px solid #1e5268;
}
.had-scholar-modal-kpis span{padding:12px 15px;border-right:1px solid #1e5268}
.had-scholar-modal-kpis span:last-child{border-right:0}
.had-scholar-modal-kpis small{display:block;color:#789eae;font:700 12px/1.3 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}
.had-scholar-modal-kpis b{display:block;margin-top:3px;color:var(--had-cyan);font:700 27px/1.05 ui-monospace,monospace}
.had-scholar-modal-chart{min-height:320px;padding:4px 2px 0;overflow:hidden}
.had-scholar-year-grid{
  display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin-top:8px;padding-top:14px;
  border-top:1px solid #1d4c60;
}
.had-scholar-year-grid span{padding:8px 7px;border:1px solid #1c4e62;border-radius:4px;background:rgba(7,39,53,.55);text-align:center}
.had-scholar-year-grid small{display:block;color:#7ea7b7;font:700 11px/1.2 ui-monospace,monospace}
.had-scholar-year-grid b{display:block;margin-top:3px;color:#e6fbff;font:750 15px/1.2 ui-monospace,monospace}
.had-scholar-modal-dialog>footer{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid #1d4c60;
}
.had-scholar-modal-dialog>footer p{margin:0;display:grid;gap:2px;color:#819fab;font-size:12px}
.had-scholar-modal-dialog>footer p b{color:#b9d9e2;font-size:13px}
.had-scholar-modal-dialog>footer a{
  min-height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid #2c6a81;
  border-radius:4px;background:#0a3343;color:#e6fcff;text-decoration:none;font-weight:750;
}
.had-scholar-modal-dialog>footer a:hover{border-color:var(--had-cyan);background:#0c4558}

@media(max-width:1500px) and (min-width:1181px){
  .had-home-v320 .had-home-top{
    grid-template-columns:minmax(430px,1.16fr) minmax(350px,.94fr) minmax(400px,1fr)!important;
  }
  .had-home-v320 .had-profile-card{grid-template-columns:minmax(155px,32%) minmax(0,1fr)!important}
  .had-home-v320 .had-profile-copy{padding:18px 16px 15px!important}
  .had-home-v320 .had-profile-copy h1{font-size:clamp(25px,2vw,34px)!important}
  .had-home-v320 .had-profile-summary{font-size:14px!important}
}

@media(max-width:1180px) and (min-width:901px){
  .had-home-v320 .had-home-top{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"scholar news" "profile profile";
  }
  .had-home-v320 .had-profile-card{min-height:390px!important}
}

@media(max-width:900px){
  .had-home-v320 .had-home-top{
    display:grid!important;grid-template-columns:1fr!important;
    grid-template-areas:"profile" "news" "scholar"!important;
  }
  .had-home-v320 .had-profile-card,.had-home-v320 .had-news-console,.had-home-v320 .had-impact-stack{min-height:0!important}
  .had-scholar-modal{padding:10px}
  .had-scholar-modal-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:15px}
  .had-scholar-modal-chart{overflow-x:auto;min-height:290px}
  .had-scholar-modal-chart .had-scholar-line-chart{min-width:880px;min-height:290px}
  .had-scholar-year-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:560px){
  .had-home-v320 .had-profile-card{display:block!important}
  .had-home-v320 .had-portrait{min-height:320px!important}
  .had-scholar-actions{gap:4px}
  .had-scholar-view-all{padding:0 8px;font-size:11px!important}
  .had-scholar-modal-dialog>header h2{font-size:25px}
  .had-scholar-modal-kpis{grid-template-columns:1fr}
  .had-scholar-modal-kpis span{border-right:0;border-bottom:1px solid #1e5268}
  .had-scholar-modal-kpis span:last-child{border-bottom:0}
  .had-scholar-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .had-scholar-modal-dialog>footer{align-items:stretch;flex-direction:column}
  .had-scholar-modal-dialog>footer a{justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  .had-scholar-line-chart .had-scholar-line{filter:none!important}
  .had-scholar-modal-backdrop{backdrop-filter:none}
}


/* ===== /assets/css/v321-final-polish.css ===== */
/**
 * Hamed Academic Dashboard 3.2.1 — final evidence-led layout polish.
 */

/* Home: compact supporting reach map and stable three-column evidence hierarchy. */
.had-home-v320 .had-home-top{align-items:stretch!important}
.had-home-v320 .had-impact-stack,.had-home-v320 .had-news-console,.had-home-v320 .had-profile-card{height:auto!important;min-height:430px!important}
.had-home-v320 .had-profile-card{overflow:hidden!important}
.had-home-v320 .had-home-reach .had-reach-card{
  min-height:0!important;grid-template-columns:minmax(0,3fr) minmax(230px,1fr)!important;
  grid-template-rows:auto 310px!important;padding:14px!important;
}
.had-home-v320 .had-reach-map{min-height:0!important;height:310px!important;max-height:310px!important}
.had-home-v320 .had-reach-map>img{height:100%!important;max-height:310px!important}
.had-home-v320 .had-reach-metrics{min-height:0!important;height:310px!important}

/* Research projects: natural card flow with a static footer. */
.had-research-v301 .had-project-grid{grid-auto-rows:auto!important;grid-template-rows:none!important;align-items:stretch}
.had-research-v301 .had-project-card{
  display:flex!important;flex-direction:column!important;height:auto!important;min-height:285px!important;
  overflow:visible!important;position:relative!important;
}
.had-research-v301 .had-project-card>p{margin-bottom:0!important}
.had-research-v301 .had-project-role{position:static!important;flex:0 0 auto}
.had-research-v301 .had-project-card .had-tag-row{position:static!important;margin-top:auto!important;padding-top:14px!important}
.had-research-v301 .had-open-detail{position:static!important;inset:auto!important;flex:0 0 auto;margin-top:10px!important}

/* Publications: no hidden selected layer; trends for recurring activity, evidence summaries for sparse outputs. */
.had-publications-final .had-publications-layout{position:relative!important;z-index:auto!important;margin-top:0!important}
.had-publications-v301 .had-publication-overview-card{min-height:225px!important;height:auto!important;overflow:hidden!important}
.had-publication-trend-wrap{min-height:104px;display:flex;align-items:center;margin:6px 0 3px;color:var(--had-current-accent,var(--had-accent))}
.had-publication-trend{display:block;width:100%;height:104px;overflow:visible}
.had-publication-trend-baseline{stroke:#1c4659;stroke-width:1;vector-effect:non-scaling-stroke}
.had-publication-trend-line{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px currentColor)}
.had-publication-trend circle{fill:#041722;stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke}
.had-publication-trend text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-anchor:middle}
.had-publication-trend-value{fill:#e7fbff;font-size:13px;font-weight:800}
.had-publication-trend-year{fill:#789dab;font-size:11px;font-weight:700}
.had-publication-evidence-summary{min-height:104px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;margin:6px 0 3px}
.had-publication-evidence-summary>span{height:76px;padding:10px;display:grid;place-content:center;border:1px solid #235269;background:rgba(6,31,44,.72);text-align:center}
.had-publication-evidence-summary b{color:var(--had-current-accent,var(--had-accent));font:700 24px/1 ui-monospace,monospace}
.had-publication-evidence-summary small{margin-top:6px;color:#789dac;font:700 11px/1.25 ui-monospace,monospace;text-transform:uppercase}

/* Teaching: strict normal flow and opaque sections. */
.had-teaching-final .had-featured-course,.had-teaching-final .had-teaching-philosophy,.had-teaching-final .had-teaching-layout{
  position:relative!important;inset:auto!important;transform:none!important;z-index:auto!important;clear:both;
}
.had-teaching-final .had-featured-course,.had-teaching-final .had-teaching-philosophy{height:auto!important;min-height:0!important;background:#061d2b!important;overflow:hidden!important}
.had-teaching-final .had-teaching-philosophy{margin:0 0 12px!important;padding:16px 18px!important}
.had-teaching-final .had-teaching-layout{margin-top:0!important}

/* Credentials: content-sized panel without browser scrollbars. */
.had-credentials-v3 .had-credential-layout{height:auto!important;min-height:0!important;overflow:visible!important}
.had-credentials-v3 .had-credential-list,.had-credentials-v3 .had-credential-detail{height:auto!important;max-height:none!important;overflow:visible!important;min-width:0!important}
.had-credentials-v3 .had-credential-detail{justify-content:flex-start!important;overflow-x:hidden!important}
.had-credentials-v3 .had-credential-detail>*{max-width:100%;min-width:0;overflow-wrap:anywhere}

/* Sparse collections do not use decorative year charts. */
[data-had-collection-type="book"] .had-analytics-grid,
[data-had-collection-type="theses"] .had-analytics-grid,
[data-had-collection-type="persian-articles"] .had-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}
[data-had-collection-type="book"] .had-analytics-panel,
[data-had-collection-type="theses"] .had-analytics-panel,
[data-had-collection-type="persian-articles"] .had-analytics-panel{height:auto!important;min-height:250px!important;overflow:visible!important}

/* Calibrated Europe maps for conferences and research visits. */
.had-europe-map{position:relative!important;width:100%!important;aspect-ratio:205/120;min-height:0!important;height:auto!important;max-height:none!important;overflow:hidden!important;background:#041722}
.had-europe-map>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:fill!important;opacity:.72!important}
.had-europe-map>.had-map-marker{z-index:4}
.had-map-context-conference>.had-map-marker>.had-map-star{font-size:20px!important}
[data-had-collection-type="conferences"] .had-analytics-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;grid-auto-rows:auto!important}
[data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{grid-column:1!important;grid-row:1/3!important;min-height:0!important;height:auto!important}
[data-had-collection-type="conferences"] [data-had-conference-analytics-body="map"]{height:auto!important;min-height:0!important;overflow:visible!important}
[data-had-collection-type="conferences"] .had-map-location-list{max-height:none!important;overflow:visible!important}
[data-had-collection-type="research-visits"] .had-visit-map-panel{height:auto!important;min-height:0!important;overflow:visible!important}
[data-had-collection-type="research-visits"] .had-map-context-visits{max-width:720px;margin:0 auto;aspect-ratio:1.9/1}
[data-had-collection-type="research-visits"] .had-map-location-list{justify-content:center}

/* Media: narrative records plus compact dimensions only. */
[data-had-collection-type="media"] .had-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}
[data-had-collection-type="media"] .had-media-story-panel{grid-column:1/-1!important}
[data-had-collection-type="media"] .had-media-profile-panel{height:auto!important;min-height:245px!important}

/* Editorial evidence: compact annual view and readable role list. */
[data-had-collection-type="editorial-referee"] .had-analytics-panel{height:auto!important;max-height:none!important;overflow:visible!important}
[data-had-collection-type="editorial-referee"] .had-analytics-grid{align-items:start!important;grid-auto-rows:auto!important}
[data-had-collection-type="editorial-referee"] .had-analytics-wide{min-height:0!important}
.had-editorial-year{grid-template-columns:150px minmax(0,1fr)!important;align-items:center!important;margin-top:8px}
.had-editorial-year .had-advanced-year-bars{min-height:165px!important;height:165px!important;padding-top:20px!important}
.had-editorial-role-list{display:grid;gap:1px;border:1px solid #1f5064}
.had-editorial-role-list>span{min-height:42px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(7,31,44,.78);border-bottom:1px solid #173e51}
.had-editorial-role-list>span:last-child{border-bottom:0}
.had-editorial-role-list b{font-size:13px;line-height:1.3}
.had-editorial-role-list em{color:var(--had-violet);font:750 16px/1 ui-monospace,monospace;font-style:normal}

/* Programme components start collapsed, preserving the complete record without repetition. */
.had-pedagogy-record-group:not([open])>div{display:none}

@media(max-width:1180px){
  .had-home-v320 .had-home-reach .had-reach-card{grid-template-columns:minmax(0,2fr) minmax(210px,1fr)!important}
  [data-had-collection-type="conferences"] .had-analytics-grid{grid-template-columns:1fr!important}
  [data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{grid-column:1!important;grid-row:auto!important}
}
@media(max-width:900px){
  .had-home-v320 .had-impact-stack,.had-home-v320 .had-news-console,.had-home-v320 .had-profile-card{min-height:0!important}
  .had-home-v320 .had-home-reach .had-reach-card{grid-template-columns:1fr!important;grid-template-rows:auto 260px auto!important}
  .had-home-v320 .had-reach-map{height:260px!important;max-height:260px!important}
  .had-home-v320 .had-reach-metrics{height:auto!important;grid-template-columns:1fr!important}
  [data-had-collection-type="book"] .had-analytics-grid,
  [data-had-collection-type="theses"] .had-analytics-grid,
  [data-had-collection-type="persian-articles"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid{grid-template-columns:1fr!important}
  .had-editorial-year{grid-template-columns:1fr!important}
}


/* ===== /assets/css/v330-viewport-fixes.css ===== */
/**
 * Hamed Academic Dashboard 3.3.0
 * Desktop viewport containment, map calibration and interaction corrections.
 */

/* Shared safeguards. */
.had-screen,
.had-screen *{min-width:0}
.had-scroll-list,
.had-project-sections,
.had-timeline-scroll,
.had-credential-scroll,
.had-blog-list,
.had-teaching-course-matrix,
.had-collection-analytics,
.had-side-scroll{
  scrollbar-width:thin;
  scrollbar-color:#2b6279 transparent;
  overscroll-behavior:contain;
}

/* The credential buttons now live inside a dedicated scroll wrapper. */
.had-credential-scroll>button{
  width:100%;
  min-height:0;
  display:grid;
  grid-template-columns:27px minmax(0,1fr) 18px;
  gap:8px;
  align-items:center;
  padding:7px 6px;
  border:0;
  border-left:2px solid transparent;
  border-bottom:1px solid #15394c;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.had-credential-scroll>button>span{color:#476e81;font:8px ui-monospace,monospace}
.had-credential-scroll>button>div{min-width:0}
.had-credential-scroll>button b{display:block;overflow-wrap:anywhere}
.had-credential-scroll>button small{display:block;margin-top:3px;color:#638293}
.had-credential-scroll>button>.dashicons{justify-self:end}

@media(min-width:901px){
  html,body.had-theme{height:100%;overflow:hidden!important}
  body.had-theme .had-app-shell{height:100dvh!important;min-height:0!important;overflow:hidden!important}
  body.admin-bar.had-theme .had-app-shell{height:calc(100dvh - 32px)!important}
  body.had-theme .had-shell-body{height:calc(100dvh - var(--had-topbar))!important;min-height:0!important;overflow:hidden!important}
  body.admin-bar.had-theme .had-shell-body{height:calc(100dvh - var(--had-topbar) - 32px)!important}
  body.had-theme .had-workspace{height:100%!important;min-height:0!important;overflow:hidden!important}
  body.had-theme .had-screen{height:100%!important;min-height:0!important;overflow:hidden!important;padding:10px!important}
  body.had-theme .had-standard-screen{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px!important}
  body.had-theme .had-screen-header{min-height:70px!important;padding:4px 5px 8px 8px!important}
  body.had-theme .had-screen-header h1{font-size:clamp(24px,1.85vw,32px)!important}
  body.had-theme .had-screen-header p{font-size:10px!important}
  body.had-theme .had-screen-actions{gap:7px!important}
  body.had-theme .had-metric-pill,
  body.had-theme .had-header-link{min-height:38px!important;padding:0 11px!important}

  /* Home: one viewport, with the full category index visible at once. */
  .had-home-v320{
    display:grid!important;
    grid-template-columns:minmax(0,1.56fr) minmax(330px,.64fr)!important;
    grid-template-rows:minmax(340px,1.55fr) minmax(230px,.85fr)!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  .had-home-v320 .had-home-top{
    grid-column:1/-1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.88fr) minmax(0,1.08fr)!important;
    grid-template-areas:"scholar news profile"!important;
    gap:8px!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .had-home-v320 .had-impact-stack,
  .had-home-v320 .had-news-console,
  .had-home-v320 .had-profile-card,
  .had-home-v320 .had-impact-stack .had-scholar-card{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .had-home-v320 .had-scholar-card{
    padding:11px!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
  .had-home-v320 .had-scholar-card .had-panel-title{min-height:38px!important;padding-bottom:6px!important}
  .had-home-v320 .had-scholar-card h2{font-size:17px!important}
  .had-home-v320 .had-scholar-kpis{min-height:58px!important;padding:5px 0!important}
  .had-home-v320 .had-scholar-kpis span{padding:5px 7px!important}
  .had-home-v320 .had-scholar-kpis b{font-size:19px!important}
  .had-home-v320 .had-scholar-kpis em{font-size:8px!important}
  .had-home-v320 .had-scholar-chart-frame{min-height:0!important;margin-top:3px!important;overflow:hidden!important}
  .had-home-v320 .had-scholar-line-chart{width:100%!important;height:100%!important;min-height:0!important}
  .had-home-v320 .had-sync-line{min-height:25px!important;font-size:8px!important;overflow:hidden!important}

  .had-home-v320 .had-news-console{padding:12px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important}
  .had-home-v320 .had-news-title{min-height:38px!important}
  .had-home-v320 .had-news-slides{min-height:0!important}
  .had-home-v320 .had-news-item{padding:10px 2px!important;overflow:hidden!important}
  .had-home-v320 .had-news-item h3{font-size:clamp(17px,1.35vw,24px)!important;line-height:1.16!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .had-home-v320 .had-news-item p{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .had-home-v320 .had-news-item>b{font-size:10px!important}
  .had-home-v320 .had-news-nav{min-height:32px!important}

  /* Identity copy is left; portrait is right. */
  .had-home-v320 .had-profile-card{
    display:grid!important;
    grid-template-columns:minmax(0,1.48fr) minmax(125px,.72fr)!important;
    grid-template-rows:minmax(0,1fr) 38px!important;
  }
  .had-home-v320 .had-profile-copy{
    grid-column:1!important;grid-row:1!important;
    padding:14px 12px 10px 15px!important;
    overflow:hidden!important;
    display:flex!important;flex-direction:column!important;
  }
  .had-home-v320 .had-portrait{
    grid-column:2!important;grid-row:1!important;
    min-height:0!important;height:100%!important;
    border-left:1px solid #1c495e;border-right:0!important;
  }
  .had-home-v320 .had-profile-network{grid-column:1/-1!important;grid-row:2!important;min-height:38px!important;height:38px!important}
  .had-home-v320 .had-profile-copy h1{margin:7px 0 3px!important;font-size:clamp(22px,1.8vw,31px)!important;line-height:1.04!important}
  .had-home-v320 .had-profile-role{margin:0 0 7px!important;font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .had-home-v320 .had-profile-summary{margin:0 0 7px!important;font-size:11px!important;line-height:1.38!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .had-home-v320 .had-home-primary-links{gap:4px!important;margin:6px 0!important}
  .had-home-v320 .had-home-primary-links a{min-height:34px!important;padding:5px 6px!important;font-size:9px!important}
  .had-home-v320 .had-profile-telemetry{margin-top:auto!important}
  .had-home-v320 .had-profile-telemetry span{padding:5px!important}
  .had-home-v320 .had-profile-telemetry b{font-size:16px!important}
  .had-home-v320 .had-profile-telemetry small{font-size:7px!important}
  .had-home-v320 .had-profile-actions{margin-top:6px!important}
  .had-home-v320 .had-profile-actions a{min-height:31px!important;padding:0 9px!important;font-size:9px!important}

  .had-home-v320 .had-home-reach{
    grid-column:1!important;grid-row:2!important;
    height:100%!important;min-height:0!important;margin:0!important;overflow:hidden!important;
  }
  .had-home-v320 .had-home-reach .had-reach-card{
    width:100%!important;height:100%!important;min-height:0!important;
    padding:9px 11px!important;
    display:grid!important;
    grid-template-columns:minmax(0,3.2fr) minmax(175px,.8fr)!important;
    grid-template-rows:34px minmax(0,1fr)!important;
    gap:7px 11px!important;overflow:hidden!important;
  }
  .had-home-v320 .had-reach-head{grid-column:1/-1!important;min-height:0!important;height:34px!important;padding-bottom:6px!important}
  .had-home-v320 .had-reach-head h2{font-size:15px!important}
  .had-home-v320 .had-reach-head>span{font-size:8px!important}
  .had-home-v320 .had-reach-map{
    grid-column:1!important;grid-row:2!important;
    width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    overflow:hidden!important;
  }
  .had-home-v320 .had-reach-map>img{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;
    object-fit:fill!important;display:block!important;
  }
  .had-home-v320 .had-reach-metrics{
    grid-column:2!important;grid-row:2!important;
    height:100%!important;min-height:0!important;
    grid-template-rows:repeat(3,minmax(0,1fr)) auto!important;
    padding-left:10px!important;
  }
  .had-home-v320 .had-reach-metrics>span{padding:3px 0!important;grid-template-columns:22px minmax(0,1fr)!important;column-gap:6px!important}
  .had-home-v320 .had-reach-metrics>span>.dashicons{font-size:17px!important;width:17px!important;height:17px!important}
  .had-home-v320 .had-reach-metrics b{font-size:17px!important}
  .had-home-v320 .had-reach-metrics small{font-size:8px!important}
  .had-home-v320 .had-reach-source{margin:3px 0 0!important;font-size:7px!important}
  .had-home-v320 .had-reach-dot{transform:translate(-50%,-50%)!important}

  .had-home-v320 .had-dashboard-zone{
    grid-column:2!important;grid-row:2!important;
    height:100%!important;min-height:0!important;margin:0!important;
    padding:9px!important;overflow:hidden!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  }
  .had-home-v320 .had-dashboard-zone-head{min-height:35px!important;margin:0!important}
  .had-home-v320 .had-dashboard-zone-head h2{margin:3px 0 0!important;font-size:12px!important;line-height:1.15!important}
  .had-home-v320 .had-dashboard-zone-head p{display:none!important}
  .had-home-v320 .had-home-dashboard-grid{
    height:100%!important;min-height:0!important;margin-top:5px!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(7,minmax(0,1fr))!important;gap:3px!important;overflow:hidden!important;
  }
  .had-home-v320 .had-home-dashboard-grid .had-dashboard-card{
    min-height:0!important;height:auto!important;padding:3px 5px!important;border-radius:5px!important;
    display:grid!important;grid-template-columns:19px minmax(0,1fr) 24px!important;grid-template-rows:1fr!important;
    align-items:center!important;gap:4px!important;overflow:hidden!important;
  }
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head{display:contents!important}
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head>span{grid-column:1!important;display:grid!important;place-items:center!important}
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head .dashicons{font-size:13px!important;width:13px!important;height:13px!important}
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head>b{grid-column:3!important;grid-row:1!important;font-size:11px!important;text-align:right!important}
  .had-home-v320 .had-home-dashboard-grid h3{grid-column:2!important;grid-row:1!important;height:auto!important;margin:0!important;font-size:8px!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .had-home-v320 .had-home-dashboard-grid .had-spark-bars,
  .had-home-v320 .had-home-dashboard-grid .had-velocity,
  .had-home-v320 .had-home-dashboard-grid .had-dashboard-card>p,
  .had-home-v320 .had-home-dashboard-grid .had-portfolio-code-lines{display:none!important}

  /* Research: normal card flow, no overlapping footers, internal project scrolling. */
  .had-research-v301{overflow:hidden!important}
  .had-research-v301 .had-research-layout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-columns:minmax(0,3.15fr) minmax(245px,.85fr)!important;gap:8px!important}
  .had-research-v301 .had-project-sections{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:4px!important}
  .had-research-v301 .had-project-group{min-width:0!important;margin:0 0 9px!important}
  .had-research-v301 .had-project-group:last-child{margin-bottom:0!important}
  .had-research-v301 .had-project-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(222px,auto)!important;gap:7px!important;align-items:stretch!important}
  .had-research-v301 .had-project-group:last-child .had-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(245px,auto)!important}
  .had-research-v301 .had-project-card{
    position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;
    padding:13px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;
  }
  .had-research-v301 .had-project-meta{min-height:25px!important;gap:8px!important}
  .had-research-v301 .had-project-meta span{font-size:16px!important;flex:0 0 auto!important}
  .had-research-v301 .had-project-meta b{font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:right!important}
  .had-research-v301 .had-project-card h3{margin:7px 0 5px!important;font-size:14px!important;line-height:1.22!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
  .had-research-v301 .had-project-card>p{margin:0!important;font-size:10px!important;line-height:1.38!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important}
  .had-research-v301 .had-project-role{position:static!important;margin:8px 0 0!important;flex:0 0 auto!important;overflow:hidden!important}
  .had-research-v301 .had-project-role span{font-size:9px!important;line-height:1.3!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .had-research-v301 .had-project-card .had-tag-row{position:static!important;margin-top:auto!important;padding-top:7px!important;max-height:26px!important;overflow:hidden!important;flex:0 0 auto!important}
  .had-research-v301 .had-project-card .had-tag-row span{font-size:7px!important;padding:3px 6px!important}
  .had-research-v301 .had-open-detail{position:static!important;margin-top:6px!important;font-size:8px!important;flex:0 0 auto!important}
  .had-research-v301 .had-research-side{height:100%!important;min-height:0!important;overflow-y:auto!important;grid-template-rows:auto auto!important;gap:8px!important}
  .had-research-v301 .had-focus-panel,
  .had-research-v301 .had-methods-panel{height:auto!important;min-height:0!important;padding:13px!important;overflow:hidden!important}
  .had-research-v301 .had-focus-panel h2{font-size:16px!important}
  .had-research-v301 .had-focus-panel p{font-size:9px!important}

  /* Publications: compact, readable evidence cards and contained latest-record list. */
  .had-publications-final{overflow:hidden!important}
  .had-publications-final .had-publications-layout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-columns:minmax(0,1.72fr) minmax(305px,.58fr)!important;gap:8px!important}
  .had-publications-final .had-publication-dashboard{
    height:100%!important;min-height:0!important;padding:10px!important;overflow:hidden!important;
    display:grid!important;grid-template-rows:minmax(0,1.55fr) minmax(0,.85fr)!important;gap:8px!important;
  }
  .had-publications-final .had-publication-section{min-height:0!important;display:grid!important;grid-template-rows:31px minmax(0,1fr)!important;overflow:hidden!important}
  .had-publications-final .had-publication-section + .had-publication-section{margin:0!important;padding:0!important;border-top:0!important}
  .had-publications-final .had-publication-section .had-section-title{min-height:31px!important;height:31px!important;padding-bottom:6px!important}
  .had-publications-final .had-publication-card-grid{min-height:0!important;height:100%!important;padding-top:5px!important;display:grid!important;gap:6px!important;overflow:hidden!important}
  .had-publications-final .had-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
  .had-publications-final .had-dissemination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}
  .had-publications-final .had-publication-overview-card{
    height:100%!important;min-height:0!important;padding:9px 11px!important;overflow:hidden!important;
    display:grid!important;grid-template-rows:auto auto minmax(48px,1fr) auto!important;
  }
  .had-publications-final .had-publication-overview-head{min-height:24px!important}
  .had-publications-final .had-publication-overview-head b{font-size:17px!important}
  .had-publications-final .had-publication-overview-card h3{height:auto!important;margin:4px 0!important;font-size:11px!important;line-height:1.15!important}
  .had-publications-final .had-publication-trend-wrap{min-height:0!important;height:auto!important;margin:2px 0!important;overflow:hidden!important}
  .had-publication-compact-trend{height:100%;min-height:46px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(22px,1fr);gap:4px;align-items:end;overflow:hidden}
  .had-publication-compact-trend>span{height:100%;min-width:0;display:grid;grid-template-rows:12px minmax(24px,1fr) 11px;justify-items:center;gap:1px}
  .had-publication-compact-trend b{font:700 8px/1 ui-monospace,monospace;color:#dff9fd}
  .had-publication-compact-trend i{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #21495c;background:linear-gradient(180deg,transparent,rgba(34,211,238,.04));overflow:hidden}
  .had-publication-compact-trend em{display:block;width:min(12px,55%);min-height:3px;background:currentColor;box-shadow:0 0 6px currentColor;font-style:normal}
  .had-publication-compact-trend small{font:700 7px/1 ui-monospace,monospace;color:#7597a5;white-space:nowrap}
  .had-publications-final .had-publication-evidence-summary{min-height:0!important;height:100%!important;margin:2px 0!important;gap:5px!important}
  .had-publications-final .had-publication-evidence-summary>span{height:100%!important;min-height:44px!important;padding:5px!important}
  .had-publications-final .had-publication-evidence-summary b{font-size:17px!important}
  .had-publications-final .had-publication-evidence-summary small{font-size:7px!important}
  .had-publications-final .had-publication-overview-card>p{min-height:22px!important;margin:3px 0 0!important;padding-top:4px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) 14px!important;gap:5px!important;align-items:center!important;overflow:hidden!important}
  .had-publications-final .had-publication-overview-card>p em{font-size:8px!important}
  .had-publications-final .had-publication-overview-card>p span{font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .had-publications-final .had-latest-list{height:100%!important;min-height:0!important;padding:10px!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}
  .had-publications-final .had-latest-list .had-scroll-list{min-height:0!important;overflow-y:auto!important}
  .had-publications-final .had-record-row{min-height:62px!important;padding:7px 3px!important}
  .had-publications-final .had-record-row b{font-size:9px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

  /* Teaching: compact introductory evidence, then internally scrolling course matrix. */
  .had-teaching-final{
    display:flex!important;flex-direction:column!important;gap:7px!important;overflow:hidden!important;
  }
  .had-teaching-final>.had-screen-header{flex:0 0 auto!important}
  .had-teaching-final .had-featured-course{
    flex:0 0 105px!important;height:105px!important;min-height:0!important;margin:0!important;padding:11px 14px!important;
    display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr) 18px!important;gap:14px!important;overflow:hidden!important;
  }
  .had-teaching-final .had-featured-course h2{margin:4px 0 3px!important;font-size:17px!important}
  .had-teaching-final .had-featured-course p{margin:0!important;font-size:9px!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .had-teaching-final .had-featured-course .had-tag-row{margin-top:5px!important;max-height:22px!important;overflow:hidden!important}
  .had-teaching-final .had-featured-course dl{margin:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 8px!important;align-content:center!important}
  .had-teaching-final .had-featured-course dl div{padding:4px 6px!important}
  .had-teaching-final .had-featured-course dt{font-size:7px!important}
  .had-teaching-final .had-featured-course dd{font-size:8px!important;line-height:1.2!important}
  .had-teaching-final .had-teaching-philosophy{
    flex:0 0 62px!important;height:62px!important;min-height:0!important;margin:0!important;padding:8px 12px!important;
    display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;align-items:center!important;gap:12px!important;overflow:hidden!important;
  }
  .had-teaching-final .had-teaching-philosophy h2{margin:0 0 3px!important;font-size:13px!important}
  .had-teaching-final .had-teaching-philosophy p{margin:0!important;font-size:8px!important;line-height:1.3!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .had-teaching-final .had-teaching-layout{flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:0!important;overflow:hidden!important;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)!important;gap:7px!important}
  .had-teaching-final .had-teaching-intelligence,
  .had-teaching-final .had-teaching-dimensions{height:100%!important;min-height:0!important;padding:10px!important;overflow:hidden!important}
  .had-teaching-final .had-teaching-intelligence{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important}
  .had-teaching-final .had-teaching-summary-kpis{margin:6px 0!important}
  .had-teaching-final .had-teaching-course-matrix{min-height:0!important;overflow-y:auto!important}
  .had-teaching-final .had-teaching-dimensions{overflow-y:auto!important}

  /* Career: timeline and synthesis stay inside the viewport. */
  .had-experience-layout{height:100%!important;min-height:0!important;overflow:hidden!important;gap:8px!important}
  .had-timeline-panel{height:100%!important;min-height:0!important;padding:11px!important;overflow:hidden!important}
  .had-timeline-scroll{min-height:0!important;overflow-y:auto!important}
  .had-timeline-item{min-height:78px!important}
  .had-career-dashboard{height:100%!important;min-height:0!important;overflow-y:auto!important;gap:8px!important}
  .had-career-dashboard>article{padding:13px!important}

  /* Credentials: wheel-scrollable index, static detail panel and hover/focus preview. */
  .had-credentials-v3{overflow:hidden!important}
  .had-credentials-v3 .had-credential-layout{height:100%!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important;grid-template-columns:minmax(330px,.82fr) minmax(0,1.38fr)!important;gap:8px!important}
  .had-credentials-v3 .had-credential-list{
    height:100%!important;min-height:0!important;max-height:none!important;padding:10px!important;overflow:hidden!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  }
  .had-credentials-v3 .had-credential-scroll{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:3px!important}
  .had-credentials-v3 .had-credential-list button{min-height:59px!important;padding:8px 6px!important}
  .had-credentials-v3 .had-credential-list button:hover,
  .had-credentials-v3 .had-credential-list button:focus-visible,
  .had-credentials-v3 .had-credential-list button.is-active{background:rgba(14,78,91,.5)!important;border-left-color:var(--had-cyan)!important}
  .had-credentials-v3 .had-credential-list button b{font-size:11px!important;line-height:1.25!important}
  .had-credentials-v3 .had-credential-list button small{font-size:9px!important}
  .had-credentials-v3 .had-credential-detail{
    height:100%!important;min-height:0!important;max-height:none!important;padding:clamp(18px,2.2vw,38px)!important;
    overflow:hidden!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
  }
  .had-credentials-v3 .had-credential-detail h2{margin:12px 0 6px!important;font-size:clamp(28px,3.1vw,48px)!important;line-height:1.04!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .had-credentials-v3 .had-credential-detail>p{margin:0!important}
  .had-credentials-v3 .had-credential-meta{margin-top:clamp(18px,4vh,38px)!important}
  .had-credentials-v3 .had-credential-summary{margin:15px 0 10px!important;font-size:12px!important;line-height:1.45!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .had-credentials-v3 .had-skill-grid{max-height:84px!important;overflow:hidden!important}
  .had-credentials-v3 .had-credential-image{position:absolute!important;right:22px!important;top:22px!important;width:150px!important;max-height:105px!important;margin:0!important;float:none!important;object-fit:contain!important;z-index:2!important}
  .had-credentials-v3 .had-credential-verify{margin-top:auto!important;align-self:flex-start!important}

  /* Blog: the stream scrolls; preview follows hovered/focused records. */
  .had-blog-v3{overflow:hidden!important}
  .had-blog-v3 .had-blog-layout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;gap:8px!important}
  .had-blog-v3 .had-featured-story{height:100%!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr)!important;grid-template-rows:minmax(0,1fr)!important}
  .had-blog-v3 .had-story-visual{min-height:0!important}
  .had-blog-v3 .had-story-copy{min-height:0!important;padding:14px 17px!important;overflow:hidden!important}
  .had-blog-v3 .had-story-copy h2{margin:7px 0!important;font-size:clamp(21px,2vw,31px)!important;line-height:1.1!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .had-blog-v3 .had-story-copy>p:not(.had-kicker){font-size:10px!important;line-height:1.45!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .had-blog-v3 .had-blog-console{height:100%!important;min-height:0!important;padding:10px!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important}
  .had-blog-v3 .had-blog-list{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .had-blog-v3 [data-had-blog-row]{min-height:76px!important}
  .had-blog-v3 [data-had-blog-row].is-previewed{background:rgba(15,65,83,.55)!important}
  .had-blog-v3 .had-blog-topics{min-height:34px!important;overflow:hidden!important}

  /* Contact and code portfolio use panel-level scrolling only. */
  .had-contact-final .had-contact-layout{height:100%!important;min-height:0!important;overflow:hidden!important;gap:8px!important}
  .had-contact-final .had-contact-card,
  .had-contact-final .had-contact-form{height:100%!important;min-height:0!important;padding:16px!important;overflow-y:auto!important}
  .had-contact-final .had-contact-portrait{min-height:0!important;height:100%!important}
  .had-portfolio-final{overflow:hidden!important}
  .had-portfolio-final .had-portfolio-layout{height:100%!important;min-height:0!important;overflow:hidden!important;gap:8px!important}
  .had-portfolio-final .had-portfolio-index,
  .had-portfolio-final .had-portfolio-side{height:100%!important;min-height:0!important;overflow:hidden!important}
  .had-portfolio-final .had-portfolio-side{display:grid!important;grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:8px!important}
  .had-portfolio-final .had-portfolio-side>*{height:100%!important;min-height:0!important;overflow:hidden!important;padding:14px!important}
  .had-portfolio-final .had-portfolio-project-grid{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .had-portfolio-final .had-code-project{min-height:108px!important}
  .had-portfolio-final .had-latest-code h2{font-size:16px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .had-portfolio-final .had-latest-code p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .had-portfolio-final .had-composition-wrap{height:calc(100% - 30px)!important;grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr)!important;gap:10px!important}
  .had-portfolio-final .had-composition-donut{width:min(104px,100%)!important;height:auto!important;aspect-ratio:1!important}

  /* Collection dashboards: fixed header/notes, flexible contained analysis and record panes. */
  .had-collection-screen{
    display:flex!important;flex-direction:column!important;gap:7px!important;
    height:100%!important;min-height:0!important;overflow:hidden!important;
  }
  .had-collection-screen>.had-collection-header,
  .had-collection-screen>.had-collection-insight-note,
  .had-collection-screen>.had-evidence-note,
  .had-collection-screen>.had-journal-feature-strip{flex:0 0 auto!important}
  .had-collection-header{min-height:82px!important;padding:4px 7px 8px!important}
  .had-collection-identity>span{width:48px!important;height:48px!important}
  .had-collection-identity h1{font-size:clamp(27px,2.5vw,40px)!important;margin:4px 0!important}
  .had-collection-kpis{min-width:285px!important}
  .had-collection-kpis span{min-height:55px!important;padding:8px 11px!important}
  .had-collection-insight-note{min-height:38px!important;padding:7px 12px!important;margin:0!important}
  .had-evidence-note{
    min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:8px 12px!important;
    display:block!important;overflow:visible!important;font-size:9px!important;line-height:1.35!important;
  }
  .had-journal-feature-strip{max-height:118px!important;padding:8px 10px!important;overflow:hidden!important}
  .had-journal-feature-strip>.had-section-title{min-height:29px!important;padding-bottom:5px!important}
  .had-journal-feature-strip>div:last-child{gap:6px!important}
  .had-journal-feature-strip button{min-height:66px!important;padding:8px!important}
  .had-collection-body.had-collection-advanced{
    flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:0!important;
    display:grid!important;grid-template-columns:minmax(0,1.42fr) minmax(350px,.78fr)!important;gap:8px!important;
    align-items:stretch!important;overflow:hidden!important;
  }
  .had-collection-analytics,
  .had-collection-records{height:100%!important;min-height:0!important;max-height:none!important;padding:9px!important;overflow:hidden!important}
  .had-collection-analytics{overflow-y:auto!important;overflow-x:hidden!important}
  .had-collection-records{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important}
  .had-collection-records>.had-section-title{min-height:34px!important;padding-bottom:6px!important}
  .had-collection-filter-row{min-height:39px!important;margin:5px 0!important;gap:6px!important}
  .had-collection-filter-row .had-search-box{height:34px!important;margin:0!important}
  .had-collection-filter-row .had-year-filter{margin:0!important;align-content:center!important}
  .had-collection-records>.had-scroll-list{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .had-collection-records .had-record-row.is-detailed{min-height:78px!important}
  .had-analytics-grid{min-height:0!important;align-content:start!important}

  /* Conference and visit coordinates use the exact cropped SVG geometry. */
  .had-europe-map{position:relative!important;width:100%!important;aspect-ratio:205/120!important;height:auto!important;min-height:210px!important;overflow:hidden!important}
  .had-europe-map>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important}
  .had-europe-map>.had-map-marker{transform:translate(-50%,-50%)!important}
  [data-had-collection-type="conferences"] .had-analytics-grid{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr)!important;gap:7px!important}
  [data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{grid-column:1!important;grid-row:1/3!important}
  [data-had-collection-type="conferences"] [data-had-conference-analytics-body="map"]{overflow:hidden!important}
  [data-had-collection-type="conferences"] .had-map-location-list{max-height:118px!important;overflow-y:auto!important}

  /* Funding: evidence note stays one line-height block; filtered years do not create dead space. */
  [data-had-collection-type="scholarships"] .had-evidence-note{flex:0 0 auto!important;min-height:0!important;height:auto!important}
  [data-had-collection-type="scholarships"] .had-funding-chart{min-height:210px!important;height:auto!important}
  [data-had-collection-type="scholarships"] [data-had-scholarship-bars]{min-height:150px!important;height:150px!important}

  /* Sparse and content-heavy dashboards scroll inside their analysis panel. */
  [data-had-collection-type="book"] .had-analytics-panel,
  [data-had-collection-type="theses"] .had-analytics-panel,
  [data-had-collection-type="persian-articles"] .had-analytics-panel,
  [data-had-collection-type="media"] .had-analytics-panel,
  [data-had-collection-type="editorial-referee"] .had-analytics-panel{
    height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
  }
}

/* Tighter laptop-height calibration. */
@media(min-width:901px) and (max-height:780px){
  :root{--had-topbar:56px}
  body.had-theme .had-screen{padding:7px!important}
  body.had-theme .had-screen-header{min-height:62px!important}
  .had-home-v320{grid-template-rows:minmax(305px,1.48fr) minmax(205px,.92fr)!important;gap:6px!important}
  .had-home-v320 .had-profile-copy{padding:10px!important}
  .had-home-v320 .had-profile-summary{-webkit-line-clamp:2!important}
  .had-home-v320 .had-home-primary-links a{min-height:29px!important}
  .had-home-v320 .had-profile-actions{display:none!important}
  .had-home-v320 .had-home-reach .had-reach-card{padding:7px 9px!important}
  .had-home-v320 .had-dashboard-zone{padding:7px!important}
  .had-research-v301 .had-project-grid{grid-auto-rows:minmax(205px,auto)!important}
  .had-research-v301 .had-project-group:last-child .had-project-grid{grid-auto-rows:minmax(225px,auto)!important}
  .had-teaching-final .had-featured-course{flex-basis:92px!important;height:92px!important}
  .had-teaching-final .had-teaching-philosophy{flex-basis:54px!important;height:54px!important}
  .had-collection-header{min-height:70px!important}
  .had-collection-insight-note{min-height:34px!important}
}

/* Intermediate desktop width: preserve three home columns without hard minimums. */
@media(min-width:901px) and (max-width:1280px){
  :root{--had-sidebar:220px}
  .had-home-v320{grid-template-columns:minmax(0,1.48fr) minmax(285px,.72fr)!important}
  .had-home-v320 .had-home-top{grid-template-columns:minmax(0,1fr) minmax(0,.86fr) minmax(0,1.14fr)!important}
  .had-home-v320 .had-profile-card{grid-template-columns:minmax(0,1.55fr) minmax(110px,.65fr)!important}
  .had-home-v320 .had-profile-summary{-webkit-line-clamp:2!important}
  .had-home-v320 .had-home-primary-links{grid-template-columns:1fr!important}
  .had-home-v320 .had-home-primary-links a:nth-child(n+2){display:none!important}
  .had-research-v301 .had-project-group:last-child .had-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .had-publications-final .had-publications-layout{grid-template-columns:minmax(0,1.62fr) minmax(285px,.58fr)!important}
  .had-collection-body.had-collection-advanced{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr)!important}
}

/* Mobile and narrow tablets remain document-scroll layouts. */
@media(max-width:900px){
  .had-credential-scroll{max-height:560px;overflow-y:auto;overscroll-behavior:contain}
  .had-credential-detail{overflow:hidden!important}
  .had-publication-compact-trend{min-height:70px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(34px,1fr);gap:6px;align-items:end}
  .had-publication-compact-trend>span{display:grid;grid-template-rows:14px 42px 14px;justify-items:center}
  .had-publication-compact-trend i{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #21495c}
  .had-publication-compact-trend em{display:block;width:14px;background:currentColor}
  .had-home-v320 .had-profile-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(150px,.45fr)!important;grid-template-rows:auto 42px!important}
  .had-home-v320 .had-profile-copy{grid-column:1;grid-row:1}
  .had-home-v320 .had-portrait{grid-column:2;grid-row:1;min-height:320px!important}
  .had-home-v320 .had-profile-network{grid-column:1/-1;grid-row:2}
  .had-home-v320 .had-reach-map>img{object-fit:fill!important}
}

@media(max-width:560px){
  .had-home-v320 .had-profile-card{display:block!important}
  .had-home-v320 .had-portrait{min-height:300px!important}
}


/* ===== /assets/css/v340-refinements.css ===== */
/* Version 3.4.0: homepage media, calibrated maps and streamlined collection dashboards. */

/* Keep homepage country signals and the SVG in the same 820 x 380 coordinate plane. */
.had-reach-map-stage{
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:820/380;
  margin:auto;
  overflow:hidden;
  flex:0 0 auto;
}
.had-reach-map-stage>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  display:block;
  object-fit:fill;
}
.had-reach-map-stage>.had-map-scan{position:absolute;inset:0}
.had-reach-map-stage>.had-reach-dot{position:absolute;transform:translate(-50%,-50%)}

/* All six publication categories now use one comparable evidence-card design. */
.had-publications-final .had-publication-evidence-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  min-height:62px;
}
.had-publications-final .had-publication-evidence-summary>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #24566c;
  background:rgba(5,26,39,.56);
  text-align:center;
}
.had-publications-final .had-publication-evidence-summary b{color:var(--card-accent,var(--had-cyan))}

/* Doctoral theses are records, not a selected state. */
[data-had-collection-type="theses"] .had-record-row.is-doctoral{
  border-left-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
[data-had-collection-type="theses"] .had-record-row.is-doctoral label{color:var(--had-amber)!important}

@media(min-width:901px){
  /* Give the right-hand portfolio index more usable width without shrinking the map excessively. */
  .had-home-v320{
    grid-template-columns:minmax(0,1.38fr) minmax(395px,.82fr)!important;
  }
  .had-home-v320 .had-home-top{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) minmax(0,1.18fr)!important;
  }

  /* Larger, cleaner portrait with the face retained rather than cropped. */
  .had-home-v320 .had-profile-card{
    grid-template-columns:minmax(0,1.12fr) minmax(210px,.88fr)!important;
  }
  .had-home-v320 .had-portrait-radar{display:none!important}
  .had-home-v320 .had-protected-portrait-image{
    background-size:auto 100%!important;
    background-position:50% 50%!important;
    background-repeat:no-repeat!important;
    background-color:#dce8ee!important;
    filter:saturate(.9) contrast(1.02)!important;
  }
  .had-home-v320 .had-portrait:after{
    height:25%!important;
    background:linear-gradient(transparent,rgba(3,15,24,.72))!important;
  }
  .had-home-v320 .had-profile-copy{
    padding:10px 10px 7px 12px!important;
    justify-content:flex-start!important;
  }
  .had-home-v320 .had-profile-copy .had-kicker{margin:0 0 2px!important}
  .had-home-v320 .had-profile-copy h1{
    margin:3px 0 2px!important;
    font-size:clamp(20px,1.55vw,27px)!important;
    line-height:1.02!important;
  }
  .had-home-v320 .had-profile-role{
    margin:0 0 4px!important;
    font-size:10px!important;
  }
  .had-home-v320 .had-profile-summary{
    margin:0 0 4px!important;
    padding-top:5px!important;
    font-size:10px!important;
    line-height:1.3!important;
    -webkit-line-clamp:2!important;
  }
  .had-home-v320 .had-home-primary-links{
    gap:3px!important;
    margin:3px 0!important;
  }
  .had-home-v320 .had-home-primary-links a{
    min-height:29px!important;
    padding:4px 5px!important;
    font-size:8px!important;
  }
  .had-home-v320 .had-profile-telemetry{margin-top:auto!important;gap:3px!important}
  .had-home-v320 .had-profile-telemetry span{padding:3px 4px!important}
  .had-home-v320 .had-profile-telemetry b{font-size:14px!important}
  .had-home-v320 .had-profile-telemetry small{font-size:6px!important;line-height:1.1!important}
  .had-home-v320 .had-profile-actions{margin-top:4px!important}
  .had-home-v320 .had-profile-actions a{min-height:27px!important;padding:0 7px!important;font-size:8px!important}

  /* Each news slide now carries a record image or a branded local fallback. */
  .had-home-v320 .had-news-item,
  .had-home-v320 .had-news-item.is-active{
    height:100%!important;
    padding:9px 2px 7px!important;
    grid-template-columns:minmax(118px,.78fr) minmax(0,1.22fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  .had-home-v320 .had-news-item{display:none!important}
  .had-home-v320 .had-news-item.is-active{display:grid!important}
  .had-home-v320 .had-news-media{
    min-width:0;
    min-height:0;
    position:relative;
    display:block;
    overflow:hidden;
    border:1px solid #245b72;
    border-radius:5px;
    background-position:center;
    background-size:cover;
    box-shadow:inset 0 0 30px rgba(1,10,17,.22);
  }
  .had-home-v320 .had-news-media:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,18,28,.04) 35%,rgba(3,15,24,.88));
  }
  .had-home-v320 .had-news-media i{
    position:absolute;
    inset:8px;
    border:1px solid rgba(34,211,238,.34);
    pointer-events:none;
  }
  .had-home-v320 .had-news-media b{
    position:absolute;
    left:9px;
    right:9px;
    bottom:8px;
    z-index:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#dffaff;
    font:700 8px ui-monospace,monospace;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .had-home-v320 .had-news-copy{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .had-home-v320 .had-news-copy .had-signal-line{flex:0 0 auto}
  .had-home-v320 .had-news-copy h3{
    margin:7px 0 3px!important;
    font-size:clamp(15px,1.18vw,21px)!important;
    line-height:1.14!important;
    -webkit-line-clamp:5!important;
  }
  .had-home-v320 .had-news-copy p{
    margin:3px 0!important;
    font-size:10px!important;
  }
  .had-home-v320 .had-news-copy>strong{
    margin-top:auto;
    display:flex;
    align-items:center;
    gap:5px;
    color:var(--had-cyan);
    font:700 9px ui-monospace,monospace;
  }

  /* Aspect-ratio stage centers inside the available map cell without marker drift. */
  .had-home-v320 .had-reach-map{
    display:grid!important;
    place-items:center!important;
  }
  .had-home-v320 .had-reach-map-stage{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }

  /* Make the portfolio index legible and use the additional right-column width. */
  .had-home-v320 .had-dashboard-zone{padding:8px 9px!important}
  .had-home-v320 .had-dashboard-zone-head h2{font-size:13px!important}
  .had-home-v320 .had-home-dashboard-grid{gap:4px!important}
  .had-home-v320 .had-home-dashboard-grid .had-dashboard-card{
    grid-template-columns:21px minmax(0,1fr) 29px!important;
    padding:4px 7px!important;
    gap:5px!important;
  }
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head .dashicons{
    font-size:14px!important;width:14px!important;height:14px!important;
  }
  .had-home-v320 .had-home-dashboard-grid .had-dash-card-head>b{font-size:12px!important}
  .had-home-v320 .had-home-dashboard-grid h3{
    font-size:9px!important;
    line-height:1.08!important;
  }

  /* Conferences: retain the map and the complementary topic/host panel only. */
  [data-had-collection-type="conferences"] .had-analytics-grid{
    height:100%!important;
    grid-template-columns:minmax(0,1.45fr) minmax(255px,.55fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  [data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-wide:first-child{
    grid-column:1!important;
    grid-row:1!important;
    min-height:0!important;
    height:100%!important;
  }
  [data-had-collection-type="conferences"] .had-analytics-grid>.had-analytics-panel:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
    min-height:0!important;
    height:100%!important;
    overflow-y:auto!important;
  }
  [data-had-collection-type="conferences"] [data-had-conference-analytics-body="map"]{
    min-height:0!important;
    height:calc(100% - 30px)!important;
    display:flex!important;
    flex-direction:column!important;
  }
  [data-had-collection-type="conferences"] .had-europe-map{flex:1 1 auto!important;min-height:250px!important}

  /* Research visits: the map becomes the entire analysis surface. */
  [data-had-collection-type="research-visits"] .had-analytics-grid{
    height:100%!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  [data-had-collection-type="research-visits"] .had-visit-map-panel{
    grid-column:1/-1!important;
    grid-row:1!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  [data-had-collection-type="research-visits"] .had-visit-map-panel>.had-europe-map{
    flex:1 1 auto!important;
    min-height:320px!important;
  }

  /* Editorial and media analytics now provide only non-duplicated summaries. */
  [data-had-collection-type="editorial-referee"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid{
    height:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:minmax(0,1fr)!important;
    align-content:stretch!important;
  }
  [data-had-collection-type="editorial-referee"] .had-analytics-panel,
  [data-had-collection-type="media"] .had-analytics-panel{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  [data-had-collection-type="editorial-referee"] .had-editorial-role-list{
    display:grid!important;
    align-content:start!important;
    gap:0!important;
  }
  [data-had-collection-type="editorial-referee"] .had-editorial-role-list>span{
    min-height:40px!important;
    padding:8px 4px!important;
    border-bottom:1px solid #174258!important;
  }
  [data-had-collection-type="editorial-referee"] .had-editorial-role-list b{font-size:11px!important}
  [data-had-collection-type="editorial-referee"] .had-editorial-role-list em{font-size:12px!important}
}

@media(min-width:901px) and (max-width:1280px){
  .had-home-v320{grid-template-columns:minmax(0,1.36fr) minmax(330px,.84fr)!important}
  .had-home-v320 .had-home-top{grid-template-columns:minmax(0,1fr) minmax(0,.92fr) minmax(0,1.2fr)!important}
  .had-home-v320 .had-profile-card{grid-template-columns:minmax(0,1.14fr) minmax(150px,.86fr)!important}
  .had-home-v320 .had-news-item.is-active{grid-template-columns:minmax(96px,.68fr) minmax(0,1.32fr)!important}
}

@media(max-width:900px){
  .had-home-v320 .had-news-item.is-active{
    display:grid!important;
    grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)!important;
    gap:10px!important;
  }
  .had-home-v320 .had-news-media{min-height:210px;background-size:cover;background-position:center;border:1px solid #245b72}
  .had-home-v320 .had-news-copy{display:flex;flex-direction:column;min-width:0}
  .had-home-v320 .had-news-copy>strong{margin-top:auto;color:var(--had-cyan)}
  .had-home-v320 .had-reach-map{display:grid;place-items:center}
  .had-home-v320 .had-reach-map-stage{width:100%;height:auto}
}

@media(max-width:560px){
  .had-home-v320 .had-news-item.is-active{grid-template-columns:1fr!important}
  .had-home-v320 .had-news-media{min-height:190px}
}


/* ===== /assets/css/v350-identity-map-cleanup.css ===== */
/**
 * Hamed Academic Dashboard 3.5.0
 * Identity-first homepage, exact Global Reach map registration, and quieter collection headers.
 */

/* Research interests replace repeated navigation links and repeated portfolio totals. */
.had-profile-interests{
  min-width:0;
  margin:10px 0 0;
  padding-top:10px;
  border-top:1px solid #1b475b;
}
.had-profile-interests>small{
  display:block;
  margin-bottom:8px;
  color:#79a2b2;
  font:750 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.had-profile-interests>div{display:flex;flex-wrap:wrap;gap:6px}
.had-profile-interests span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border:1px solid #235a70;
  border-radius:999px;
  background:rgba(8,39,53,.68);
  color:#c5e8ef;
  font:650 10px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* The SVG root uses preserveAspectRatio="none"; this stage and every marker now share one exact coordinate surface. */
.had-reach-map-stage,
.had-reach-map-stage>img{
  width:100%!important;
  height:100%!important;
}
.had-reach-map-stage{position:relative!important;inset:auto!important;overflow:hidden!important}
.had-reach-map-stage>img{
  position:absolute!important;
  inset:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
}
.had-reach-map-stage>.had-reach-dot{position:absolute!important;transform:translate(-50%,-50%)!important}

@media(min-width:901px){
  /* Identity-first hierarchy: the profile occupies the full right column. */
  .had-home-v320{
    grid-template-columns:minmax(0,1.58fr) minmax(370px,.72fr)!important;
    grid-template-rows:minmax(320px,1.15fr) minmax(245px,.85fr)!important;
    gap:8px!important;
  }
  .had-home-v320 .had-home-top{
    grid-column:1!important;
    grid-row:1!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    grid-template-areas:"scholar news"!important;
    height:100%!important;
    min-height:0!important;
  }
  .had-home-v320>.had-profile-card{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1.05fr) minmax(0,.95fr) 40px!important;
    overflow:hidden!important;
  }
  .had-home-v320>.had-profile-card .had-portrait{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border:0!important;
    border-bottom:1px solid #1c495e!important;
    background:#dce8ee!important;
  }
  .had-home-v320>.had-profile-card .had-protected-portrait-image{
    background-size:auto 108%!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-color:#dce8ee!important;
    filter:saturate(.92) contrast(1.02)!important;
  }
  .had-home-v320>.had-profile-card .had-portrait:after{
    height:18%!important;
    background:linear-gradient(transparent,rgba(3,15,24,.65))!important;
  }
  .had-home-v320>.had-profile-card .had-profile-copy{
    grid-column:1!important;
    grid-row:2!important;
    min-height:0!important;
    padding:15px 17px 12px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .had-home-v320>.had-profile-card .had-profile-network{
    grid-column:1!important;
    grid-row:3!important;
    height:40px!important;
    min-height:40px!important;
  }
  .had-home-v320>.had-profile-card .had-kicker{margin:0 0 3px!important}
  .had-home-v320>.had-profile-card h1{
    margin:4px 0 3px!important;
    font-size:clamp(26px,2vw,37px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .had-home-v320>.had-profile-card .had-profile-role{
    margin:0 0 7px!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .had-home-v320>.had-profile-card .had-profile-summary{
    margin:0!important;
    padding-top:7px!important;
    font-size:11px!important;
    line-height:1.4!important;
    -webkit-line-clamp:3!important;
  }
  .had-home-v320>.had-profile-card .had-profile-interests{
    margin-top:10px!important;
    padding-top:9px!important;
  }
  .had-home-v320>.had-profile-card .had-profile-interests>small{margin-bottom:6px!important;font-size:8px!important}
  .had-home-v320>.had-profile-card .had-profile-interests>div{gap:5px!important}
  .had-home-v320>.had-profile-card .had-profile-interests span{
    min-height:23px!important;
    padding:4px 7px!important;
    font-size:9px!important;
  }
  .had-home-v320>.had-profile-card .had-profile-actions{display:flex!important;margin-top:auto!important;padding-top:9px!important}
  .had-home-v320>.had-profile-card .had-profile-actions a{
    min-height:31px!important;
    padding:0 10px!important;
    font-size:9px!important;
  }

  .had-home-v320 .had-home-reach{
    grid-column:1!important;
    grid-row:2!important;
  }
  .had-home-v320 .had-home-reach .had-reach-card{
    grid-template-columns:minmax(0,1fr) minmax(155px,.23fr)!important;
  }
  .had-home-v320 .had-reach-map,
  .had-home-v320 .had-reach-map-stage{height:100%!important;min-height:0!important;max-height:none!important}

  /* The removed category index must never retain a grid track through cached markup. */
  .had-home-v320>.had-dashboard-zone{display:none!important}
}

@media(min-width:901px) and (max-height:720px){
  .had-home-v320{
    grid-template-rows:minmax(285px,1.12fr) minmax(205px,.88fr)!important;
  }
  .had-home-v320>.had-profile-card{
    grid-template-rows:minmax(0,1.02fr) minmax(0,.98fr) 34px!important;
  }
  .had-home-v320>.had-profile-card .had-profile-network{height:34px!important;min-height:34px!important}
  .had-home-v320>.had-profile-card .had-protected-portrait-image{background-size:auto 112%!important;background-position:center top!important}
  .had-home-v320>.had-profile-card .had-profile-copy{padding:10px 13px 8px!important}
  .had-home-v320>.had-profile-card h1{font-size:clamp(23px,1.8vw,31px)!important}
  .had-home-v320>.had-profile-card .had-profile-role{font-size:10px!important;margin-bottom:4px!important}
  .had-home-v320>.had-profile-card .had-profile-summary{font-size:9px!important;line-height:1.32!important;-webkit-line-clamp:2!important}
  .had-home-v320>.had-profile-card .had-profile-interests{margin-top:6px!important;padding-top:6px!important}
  .had-home-v320>.had-profile-card .had-profile-interests>small{margin-bottom:4px!important}
  .had-home-v320>.had-profile-card .had-profile-interests span{min-height:20px!important;padding:3px 6px!important;font-size:8px!important}
  .had-home-v320>.had-profile-card .had-profile-actions{padding-top:5px!important}
  .had-home-v320>.had-profile-card .had-profile-actions a{min-height:27px!important}
}

@media(min-width:901px) and (max-width:1280px){
  .had-home-v320{
    grid-template-columns:minmax(0,1.48fr) minmax(320px,.72fr)!important;
  }
  .had-home-v320 .had-home-top{
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
  }
  .had-home-v320>.had-profile-card h1{font-size:clamp(22px,2vw,29px)!important}
  .had-home-v320>.had-profile-card .had-profile-interests span{font-size:8px!important;padding-inline:6px!important}
}

@media(max-width:900px){
  .had-home-v320{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  .had-home-v320>.had-profile-card{order:1!important}
  .had-home-v320 .had-home-top{order:2!important;grid-template-columns:1fr!important;grid-template-areas:"news" "scholar"!important}
  .had-home-v320 .had-home-reach{order:3!important}
  .had-home-v320>.had-dashboard-zone{display:none!important}
  .had-home-v320>.had-profile-card .had-portrait{min-height:410px!important}
  .had-home-v320>.had-profile-card .had-protected-portrait-image{background-size:contain!important;background-position:center top!important}
  .had-home-v320>.had-profile-card .had-profile-copy{padding:18px!important}
  .had-home-v320>.had-profile-card .had-profile-interests span{font-size:11px!important}
  .had-home-v320 .had-reach-map-stage{min-height:260px!important}
}

@media(max-width:560px){
  .had-home-v320>.had-profile-card .had-portrait{min-height:340px!important}
  .had-profile-interests>div{gap:5px}
  .had-profile-interests span{font-size:10px!important}
}


/* ===== /assets/css/v360-home-funding-media.css ===== */
/**
 * Hamed Academic Dashboard 3.6.0
 * Portrait effects, readable research interests, uncropped news media,
 * correctly registered world-map markers, and funding trend lines.
 */

/* Restore the animated portrait treatment and make the photograph fill its frame. */
.had-home-v320>.had-profile-card .had-protected-portrait-image{
  background-size:cover!important;
  background-position:center 18%!important;
  background-repeat:no-repeat!important;
  filter:saturate(.8) contrast(1.07)!important;
}
.had-home-v320>.had-profile-card .had-portrait-radar{
  display:block!important;
  inset:7%!important;
  opacity:.72;
  border-color:rgba(34,211,238,.34)!important;
  box-shadow:0 0 26px rgba(34,211,238,.12),inset 0 0 22px rgba(34,211,238,.08);
  mix-blend-mode:screen;
  pointer-events:none;
}
.had-home-v320>.had-profile-card .had-portrait-radar i{
  border-color:rgba(34,211,238,.25)!important;
}
.had-home-v320>.had-profile-card .had-portrait-radar:after{
  content:"";
  position:absolute;
  left:50%;
  top:-1px;
  width:1px;
  height:50%;
  transform-origin:50% 100%;
  background:linear-gradient(rgba(34,211,238,.68),transparent);
}

/* Research interests are primary profile information, not micro-labels. */
.had-home-v320>.had-profile-card .had-profile-interests>small{
  font-size:9px!important;
  letter-spacing:.14em!important;
}
.had-home-v320>.had-profile-card .had-profile-interests>div{
  gap:7px!important;
}
.had-home-v320>.had-profile-card .had-profile-interests span{
  min-height:29px!important;
  padding:6px 10px!important;
  color:#ddf8fb!important;
  font-size:12px!important;
  line-height:1.22!important;
}

/* Preserve the split news layout, but show each editable image in full.
 * A 9:16 portrait image fills this frame most closely at desktop sizes. */
@media(min-width:901px){
  .had-home-v320>.had-profile-card{grid-template-rows:minmax(0,.98fr) minmax(0,1.02fr) 40px!important}
  .had-home-v320 .had-news-item.is-active{
    grid-template-columns:minmax(130px,.78fr) minmax(0,1.22fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px 2px 7px!important;
  }
  .had-home-v320 .had-news-media{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    align-self:stretch!important;
    background-size:contain!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-color:#041722!important;
  }
  .had-home-v320 .had-news-copy h3{
    font-size:clamp(16px,1.18vw,22px)!important;
    line-height:1.13!important;
    -webkit-line-clamp:5!important;
  }
  .had-home-v320 .had-news-copy p{font-size:10px!important}
  .had-home-v320 .had-news-copy>strong{font-size:9px!important}

  /* The deleted teaching-approach strip leaves this evidence area to use the space. */
  .had-teaching-final .had-teaching-layout{
    flex:1 1 auto!important;
    min-height:0!important;
  }
}

/* Annual funding is a temporal series, so display it as a line rather than columns. */
.had-funding-trend{
  min-width:0;
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px 0 0;
  overflow:hidden;
}
.had-funding-trend>svg{
  display:block;
  width:100%;
  height:100%;
  min-height:150px;
  overflow:visible;
}
.had-funding-grid{
  stroke:#1a4659;
  stroke-width:1;
  stroke-dasharray:4 7;
  vector-effect:non-scaling-stroke;
}
.had-funding-line{
  fill:none;
  stroke:#f2bf4c;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px rgba(242,191,76,.42));
}
.had-funding-point{
  fill:#061722;
  stroke:#f2bf4c;
  stroke-width:4;
  vector-effect:non-scaling-stroke;
}
.had-funding-trend text{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-anchor:middle;
}
.had-funding-axis-value{
  fill:#6f92a1;
  font-size:10px;
  text-anchor:end!important;
}
.had-funding-point-value{
  fill:#f9d77d;
  font-size:11px;
  font-weight:800;
}
.had-funding-year{
  fill:#789dac;
  font-size:11px;
  font-weight:750;
}

@media(min-width:901px) and (max-height:720px){
  .had-home-v320>.had-profile-card{grid-template-rows:minmax(0,.94fr) minmax(0,1.06fr) 34px!important}
  .had-home-v320>.had-profile-card .had-profile-interests>small{font-size:8.5px!important}
  .had-home-v320>.had-profile-card .had-profile-interests>div{gap:5px!important}
  .had-home-v320>.had-profile-card .had-profile-interests span{
    min-height:25px!important;
    padding:5px 8px!important;
    font-size:11px!important;
  }
  .had-home-v320 .had-news-item.is-active{grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr)!important}
  .had-funding-trend,.had-funding-trend>svg{min-height:125px}
}

@media(max-width:900px){
  .had-home-v320>.had-profile-card .had-protected-portrait-image{
    background-size:cover!important;
    background-position:center 18%!important;
  }
  .had-home-v320>.had-profile-card .had-profile-interests span{font-size:13px!important}
  .had-home-v320 .had-news-media{
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-color:#041722!important;
  }
  .had-funding-chart{grid-template-columns:1fr!important}
  .had-funding-total{border-right:0!important;border-bottom:1px solid #1d4356;padding-bottom:12px}
  .had-funding-trend{min-height:210px}
}

@media(prefers-reduced-motion:reduce){
  .had-home-v320>.had-profile-card .had-portrait-radar{animation:none!important}
}


/* ===== /assets/css/v370-home-map-news.css ===== */
/**
 * Hamed Academic Dashboard 3.7.0
 * Identity copy cleanup, a single SVG map coordinate plane, and a landscape
 * What's New layout with the image beneath the record title.
 */

/* The name, role and research interests now carry the profile narrative. */
.had-home-v320>.had-profile-card .had-profile-summary{display:none!important}
.had-home-v320>.had-profile-card .had-profile-interests{margin-top:12px!important}

/* Map geometry and visitor markers live in one SVG coordinate plane.
 * The root viewBox crops the SVG to its actual x 54-766 / y 12-368
 * plotting rectangle, so the map fills the panel without blank framing while
 * every marker remains locked to the same geometry. */
.had-home-v320 .had-reach-map{
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
}
.had-home-v320 .had-reach-svg{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.had-home-v320 .had-reach-svg>image{opacity:.92}
.had-home-v320 .had-reach-scan{
  fill:rgba(82,229,244,.09);
  transform:skewX(-14deg);
  transform-origin:center;
  animation:hadReachSvgScan 5.8s linear infinite;
  pointer-events:none;
}
.had-home-v320 .had-reach-point{
  --had-point-color:#22d3ee;
  cursor:default;
  outline:none;
}
.had-home-v320 .had-reach-point-1{--had-point-color:#a78bfa}
.had-home-v320 .had-reach-point-2{--had-point-color:#34d399}
.had-home-v320 .had-reach-point-core{
  fill:var(--had-point-color);
  stroke:#071722;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px var(--had-point-color));
}
.had-home-v320 .had-reach-point-ring{
  fill:none;
  stroke:var(--had-point-color);
  stroke-width:1.4;
  opacity:.58;
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;
  transform-origin:center;
  animation:hadReachSvgPulse 2.7s ease-out infinite;
  animation-delay:var(--had-point-delay,0s);
}
.had-home-v320 .had-reach-point:focus-visible .had-reach-point-core{
  stroke:#fff;
  stroke-width:3;
}
@keyframes hadReachSvgPulse{
  0%{transform:scale(.72);opacity:.28}
  48%{transform:scale(1.35);opacity:.86}
  100%{transform:scale(.72);opacity:.28}
}
@keyframes hadReachSvgScan{
  from{transform:translateX(-40px) skewX(-14deg)}
  to{transform:translateX(980px) skewX(-14deg)}
}

/* A news record is read top-to-bottom: metadata/title, image, then action. */
.had-home-v320 .had-news-item,
.had-home-v320 .had-news-item.is-active{
  height:100%!important;
  padding:7px 2px 5px!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:stretch!important;
}
.had-home-v320 .had-news-item{display:none!important}
.had-home-v320 .had-news-item.is-active{display:grid!important}
.had-home-v320 .had-news-copy{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
}
.had-home-v320 .had-news-copy .had-signal-line{min-height:14px!important}
.had-home-v320 .had-news-copy h3{
  margin:6px 0 2px!important;
  font-size:clamp(16px,1.15vw,21px)!important;
  line-height:1.1!important;
  -webkit-line-clamp:2!important;
}
.had-home-v320 .had-news-copy p{
  margin:2px 0 0!important;
  color:#7899a8!important;
  font-size:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.had-home-v320 .had-news-media{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  align-self:stretch!important;
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  border:1px solid #245b72!important;
  border-radius:4px!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#041722!important;
  box-shadow:inset 0 0 32px rgba(1,10,17,.18)!important;
}
.had-home-v320 .had-news-media:before{
  background:linear-gradient(180deg,rgba(3,15,24,.02) 58%,rgba(3,15,24,.72))!important;
}
.had-home-v320 .had-news-media i{inset:10px!important}
.had-home-v320 .had-news-media b{
  left:12px!important;
  right:12px!important;
  bottom:9px!important;
  font-size:8px!important;
}
.had-home-v320 .had-news-footer{
  grid-column:1!important;
  grid-row:3!important;
  min-height:18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}
.had-home-v320 .had-news-footer strong{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--had-cyan);
  font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  white-space:nowrap;
}

@media(min-width:901px) and (max-height:720px){
  .had-home-v320 .had-news-item,
  .had-home-v320 .had-news-item.is-active{gap:5px!important;padding-top:5px!important}
  .had-home-v320 .had-news-copy h3{font-size:clamp(15px,1.04vw,19px)!important}
  .had-home-v320 .had-news-copy p{font-size:8px!important}
  .had-home-v320 .had-news-footer strong{font-size:8px!important}
}

@media(max-width:900px){
  .had-home-v320 .had-news-item.is-active{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(220px,1fr) auto!important;
  }
  .had-home-v320 .had-news-media{min-height:220px!important}
}

@media(prefers-reduced-motion:reduce){
  .had-home-v320 .had-reach-scan,
  .had-home-v320 .had-reach-point-ring{animation:none!important}
}


/* ===== /assets/css/v380-content-map-certificate-trends.css ===== */
/**
 * Hamed Academic Dashboard 3.8.0
 * Readability, certificate previews, calibrated location maps and annual trends.
 */

/* Research project cards: retain the contained layout while increasing the
   text hierarchy enough for normal 100% desktop zoom. */
@media (min-width: 901px) {
  .had-research-v301 .had-project-card h3 {
    font-size: clamp(16px, 1.05vw, 18px) !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: 3 !important;
  }
  .had-research-v301 .had-project-card > p {
    font-size: clamp(11.5px, .74vw, 13px) !important;
    line-height: 1.48 !important;
    -webkit-line-clamp: 4 !important;
  }
  .had-research-v301 .had-project-role span {
    font-size: clamp(10.5px, .68vw, 12px) !important;
    line-height: 1.38 !important;
  }
  .had-research-v301 .had-project-card .had-tag-row span {
    font-size: 8.5px !important;
    padding: 4px 7px !important;
  }
  .had-research-v301 .had-open-detail {
    font-size: 9.5px !important;
  }
}

/* Credentials: certificate sits naturally between provider and completion
   metadata. It remains fully visible and does not crop portrait or landscape
   certificate scans. */
.had-credentials-v3 .had-credential-detail {
  justify-content: flex-start !important;
}
.had-credentials-v3 .had-credential-certificate {
  width: min(760px, 100%);
  height: clamp(150px, 26vh, 230px);
  min-height: 150px;
  margin: 16px 0 14px;
  padding: 8px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #24566d;
  background: linear-gradient(145deg, rgba(238, 245, 247, .98), rgba(205, 222, 229, .96));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42), 0 14px 34px rgba(0, 0, 0, .22);
}
.had-credentials-v3 .had-credential-certificate[hidden] {
  display: none !important;
}
.had-credentials-v3 .had-credential-image {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  float: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
}
.had-credentials-v3 .had-credential-meta {
  width: min(760px, 100%);
  max-width: none !important;
  margin: 0 0 14px !important;
}
.had-credentials-v3 .had-credential-summary {
  margin-top: 0 !important;
}
@media (max-height: 720px) and (min-width: 901px) {
  .had-credentials-v3 .had-credential-certificate {
    height: 150px;
    min-height: 150px;
    margin: 10px 0;
  }
  .had-credentials-v3 .had-credential-detail h2 {
    font-size: clamp(27px, 2.5vw, 39px) !important;
  }
}

/* Location markers use city coordinates projected into the same Natural Earth
   plane as the SVG. These rules preserve the exact overlay geometry. */
.had-europe-map {
  isolation: isolate;
}
.had-europe-map > img {
  object-fit: fill !important;
  object-position: center !important;
}
.had-europe-map > .had-map-marker {
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
}
.had-europe-map > .had-map-marker > .had-map-star {
  font-size: 22px !important;
}

/* Shared annual trend line used by Teaching Experience and Pedagogical
   Training. */
.had-year-trend {
  width: 100%;
  height: calc(100% - 4px);
  min-height: 165px;
  display: grid;
  place-items: center;
  color: var(--had-current-accent, var(--had-accent));
  overflow: hidden;
}
.had-year-trend > svg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 165px;
  overflow: visible;
}
.had-year-trend-baseline {
  stroke: #21495d;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.had-year-trend-line {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px currentColor);
}
.had-year-trend-point circle {
  fill: #041722;
  stroke: currentColor;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}
.had-year-trend-point text {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-anchor: middle;
}
.had-year-trend-value {
  fill: #e8fbff;
  font-size: 13px;
  font-weight: 800;
}
.had-year-trend-year {
  fill: #7d9eac;
  font-size: 12px;
  font-weight: 700;
}
.had-type-teaching-experience [data-had-teaching-analytics-body="years"],
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] {
  height: calc(100% - 4px);
  min-height: 0;
}
.had-type-teaching-experience [data-had-teaching-analytics-body="years"] .had-advanced-year-bars,
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] .had-advanced-year-bars {
  display: none !important;
}

@media (max-width: 900px) {
  .had-research-v301 .had-project-card h3 { font-size: 18px !important; }
  .had-research-v301 .had-project-card > p { font-size: 14px !important; }
  .had-credentials-v3 .had-credential-certificate {
    width: 100%;
    height: 230px;
  }
  .had-year-trend { min-height: 210px; }
}


/* ===== /assets/css/v390-map-credentials-trend-cleanup.css ===== */
/**
 * Hamed Academic Dashboard 3.9.0
 * Single-coordinate maps, credential artwork/actions and funding-style trends.
 */

/* Conferences now use the full analytics area after removing the duplicate
   subjects/hosts panel. */
[data-had-collection-type="conferences"] .had-analytics-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  height: 100% !important;
}
[data-had-collection-type="conferences"] .had-conference-map-panel {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}
[data-had-collection-type="conferences"] [data-had-conference-analytics-body="map"] {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

/* Conference presentations retain only the useful source and theme panels. */
[data-had-collection-type="conference-presentations"] .had-analytics-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}
[data-had-collection-type="conference-presentations"] .had-analytics-panel {
  grid-column: auto !important;
  grid-row: 1 !important;
}

/* Journal papers: two descriptive panels above one full-width trend. */
[data-had-collection-type="journal-papers"] .had-analytics-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, .9fr) minmax(0, 1.1fr) !important;
}
[data-had-collection-type="journal-papers"] .had-journal-trend-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}
[data-had-collection-type="journal-papers"] [data-had-journal-analytics-body="years"] {
  height: calc(100% - 2px);
  min-height: 0;
}

/* Conferences and research visits use the map and markers inside one SVG
   viewBox. This is the same principle used by the homepage Global Reach map,
   so resizing cannot move a marker away from its country. */
.had-europe-map {
  width: 100%;
  height: 100%;
  min-height: 0;
  position: relative;
  overflow: hidden;
}
.had-europe-map-svg {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  overflow: hidden;
  background: #041722;
}
.had-europe-map-svg > image {
  opacity: .82;
}
.had-europe-map-point {
  color: #f6c94f;
  cursor: pointer;
  outline: none;
  transform-box: fill-box;
  transform-origin: center;
}
.had-europe-map-pulse {
  fill: rgba(246, 201, 79, .12);
  stroke: rgba(246, 201, 79, .7);
  stroke-width: .7;
  vector-effect: non-scaling-stroke;
  animation: hadEuropeMapPulse 2.3s ease-in-out infinite;
}
.had-europe-map-core {
  fill: #f6c94f;
  stroke: #fff4b0;
  stroke-width: .55;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 3px #f6c94f);
}
.had-europe-map-star {
  display: block;
  fill: #f6c94f;
  font-size: 7.6px;
  font-weight: 900;
  text-anchor: middle;
  pointer-events: none;
  filter: drop-shadow(0 0 2px #f6c94f);
}
.had-europe-map-point:hover .had-europe-map-pulse,
.had-europe-map-point:focus-visible .had-europe-map-pulse {
  fill: rgba(246, 201, 79, .34);
  stroke: #fff2a6;
  stroke-width: 1.2;
}
.had-map-empty-svg {
  fill: #7898a7;
  font: 5px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
@keyframes hadEuropeMapPulse {
  0%, 100% { opacity: .55; transform: scale(.78); }
  50% { opacity: 1; transform: scale(1.18); }
}
[data-had-collection-type="research-visits"] .had-analytics-grid,
[data-had-collection-type="research-visits"] .had-visit-map-panel {
  height: 100% !important;
  min-height: 0 !important;
}
[data-had-collection-type="research-visits"] .had-visit-map-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
[data-had-collection-type="research-visits"] .had-map-location-list,
[data-had-collection-type="conferences"] .had-map-location-list {
  max-height: 76px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

/* Certificate artwork and explicit detail actions. */
.had-credentials-v3 .had-credential-certificate {
  display: grid;
  width: min(800px, 100%);
  height: clamp(150px, 27vh, 245px);
  min-height: 150px;
  flex: 0 0 auto;
}
.had-credentials-v3 .had-credential-certificate[hidden] {
  display: none !important;
}
.had-credentials-v3 .had-credential-image {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
}
.had-credentials-v3 .had-credential-actions {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}
.had-credentials-v3 .had-credential-full,
.had-credentials-v3 .had-credential-verify {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 !important;
  padding: 9px 13px;
  border: 1px solid var(--had-current-accent, var(--had-accent));
  color: var(--had-current-accent, var(--had-accent));
  background: rgba(5, 28, 40, .72);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.had-credentials-v3 .had-credential-full:hover,
.had-credentials-v3 .had-credential-full:focus-visible,
.had-credentials-v3 .had-credential-verify:hover,
.had-credentials-v3 .had-credential-verify:focus-visible {
  background: color-mix(in srgb, var(--had-current-accent, var(--had-accent)) 14%, #071c29);
  color: #e9fbff;
}

/* Funding-style visual language for all count trends. */
.had-year-trend {
  width: 100%;
  height: 100%;
  min-height: 165px;
  display: grid;
  place-items: center;
  color: var(--had-current-accent, var(--had-accent));
  overflow: hidden;
}
.had-year-trend > svg {
  width: 100%;
  height: 100%;
  min-height: 165px;
  display: block;
  overflow: visible;
}
.had-year-trend-grid {
  stroke: color-mix(in srgb, var(--had-current-accent, var(--had-accent)) 32%, #173b50);
  stroke-width: 1;
  stroke-dasharray: 4 7;
  vector-effect: non-scaling-stroke;
}
.had-year-trend-axis-value {
  fill: #7796a4;
  font: 11px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-anchor: end;
}
.had-year-trend-area {
  color: var(--had-current-accent, var(--had-accent));
}
.had-year-trend-line {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px currentColor);
}
.had-year-trend-point {
  fill: #061925;
  stroke: currentColor;
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
}
.had-year-trend-value,
.had-year-trend-year {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-anchor: middle;
}
.had-year-trend-value {
  fill: #eafcff;
  font-size: 13px;
  font-weight: 800;
}
.had-year-trend-year {
  fill: #7f9da9;
  font-size: 12px;
  font-weight: 700;
}
.had-type-teaching-experience [data-had-teaching-analytics-body="years"],
.had-type-pedagogical-training [data-had-pedagogy-analytics-body="years"] {
  height: calc(100% - 2px) !important;
  min-height: 0 !important;
}

@media (max-height: 720px) and (min-width: 901px) {
  .had-credentials-v3 .had-credential-certificate {
    height: 138px;
    min-height: 138px;
    margin: 8px 0 9px;
  }
  .had-credentials-v3 .had-credential-summary {
    -webkit-line-clamp: 2 !important;
  }
  .had-credentials-v3 .had-skill-grid {
    max-height: 58px !important;
  }
}

@media (max-width: 900px) {
  [data-had-collection-type="conference-presentations"] .had-analytics-grid,
  [data-had-collection-type="journal-papers"] .had-analytics-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
  }
  [data-had-collection-type="conference-presentations"] .had-analytics-panel,
  [data-had-collection-type="journal-papers"] .had-analytics-panel,
  [data-had-collection-type="journal-papers"] .had-journal-trend-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 250px;
  }
  .had-credentials-v3 .had-credential-certificate {
    height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-europe-map-pulse { animation: none !important; }
}


/* Interactive zoom and pan for every geographic map. */
[data-had-map-interactive] {
  position: relative;
  isolation: isolate;
  user-select: none;
}
[data-had-map-svg] {
  cursor: grab;
  touch-action: none;
  outline: none;
}
[data-had-map-svg]:focus-visible {
  outline: 2px solid var(--had-cyan);
  outline-offset: -3px;
}
[data-had-map-interactive].is-dragging [data-had-map-svg] {
  cursor: grabbing;
}
.had-map-controls {
  position: absolute;
  top: 9px;
  right: 9px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(61, 137, 164, .76);
  border-radius: 5px;
  background: rgba(3, 19, 29, .9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .28);
  backdrop-filter: blur(5px);
}
.had-map-controls button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #245e76;
  border-radius: 3px;
  background: #071f2d;
  color: #dffbff;
  font: 800 17px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  cursor: pointer;
}
.had-map-controls button:hover,
.had-map-controls button:focus-visible {
  border-color: var(--had-cyan);
  background: #0a3547;
  color: #fff;
  outline: none;
}
.had-map-controls button:disabled {
  opacity: .35;
  cursor: default;
}
.had-map-controls span {
  padding: 0 5px 0 3px;
  color: #87a8b5;
  font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.had-reach-map .had-map-controls {
  top: 7px;
  right: 7px;
}
.had-europe-map-svg > image {
  opacity: .9;
}
.had-europe-map-point {
  text-decoration: none;
}

/* Assemble the active What's New image as twelve staggered puzzle blocks. */
.had-home-v320 .had-news-media {
  background-image: none !important;
}
.had-home-v320 .had-news-puzzle {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  overflow: hidden;
}
.had-home-v320 .had-news-puzzle > i {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  margin: -.5px;
  border: 0 !important;
  background-image: var(--had-news-image) !important;
  background-size: 400% 300% !important;
  background-position: var(--had-piece-x) var(--had-piece-y) !important;
  background-repeat: no-repeat !important;
  opacity: 0;
  transform: translateY(22px) scale(.78) rotate(-3deg);
  filter: brightness(.62) saturate(.72);
}
.had-home-v320 .had-news-item.is-active .had-news-puzzle > i {
  animation: hadNewsPuzzleBuild .72s cubic-bezier(.2, .78, .18, 1) forwards;
  animation-delay: calc(var(--had-piece-index) * .085s);
}
.had-home-v320 .had-news-frame {
  position: absolute !important;
  inset: 10px !important;
  z-index: 3;
  display: block !important;
  pointer-events: none;
}
.had-home-v320 .had-news-media:before {
  z-index: 2;
}
.had-home-v320 .had-news-media > b {
  z-index: 4;
}
@keyframes hadNewsPuzzleBuild {
  0% { opacity: 0; transform: translateY(22px) scale(.78) rotate(-3deg); filter: brightness(.55) saturate(.6); }
  62% { opacity: 1; transform: translateY(-2px) scale(1.025) rotate(.5deg); filter: brightness(1.08) saturate(1.05); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotate(0); filter: brightness(1) saturate(1); }
}

/* Keep the full citation-history heading visible and remove the redundant
   year/value card grid beneath the chart. */
.had-scholar-modal-dialog > header {
  position: sticky;
  top: -22px;
  z-index: 5;
  margin: -22px -22px 0;
  padding: 22px 22px 14px;
  background: linear-gradient(180deg, rgba(5, 29, 43, .995) 82%, rgba(5, 29, 43, .92));
}
.had-scholar-modal-dialog > header .had-kicker {
  display: flex !important;
  color: var(--had-cyan) !important;
  opacity: 1 !important;
  font-size: 12px !important;
}
.had-scholar-modal-dialog > header h2 {
  color: #f1fdff !important;
}
.had-scholar-modal-chart {
  margin-top: 9px;
}
.had-scholar-year-grid {
  display: none !important;
}

/* Make certificate artwork unmistakably visible when an image is assigned. */
.had-credentials-v3 .had-credential-certificate {
  border: 1px solid #255a70;
  border-radius: 5px;
  background: linear-gradient(145deg, rgba(4, 23, 34, .96), rgba(8, 41, 55, .72));
  overflow: hidden;
}
.had-credentials-v3 .had-credential-image {
  background: rgba(235, 244, 247, .96);
}

@media (max-width: 700px) {
  .had-map-controls span { display: none; }
  .had-map-controls button { width: 28px; height: 28px; }
  .had-scholar-modal-dialog > header { top: -15px; margin: -15px -15px 0; padding: 15px 15px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .had-home-v320 .had-news-puzzle > i {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}


/* ===== /assets/css/v391-credential-display-fix.css ===== */
/**
 * Hamed Academic Dashboard 3.9.1
 * Credential title and certificate display corrections.
 */

/* The credential detail panel must never crop a long title or a certificate.
   It remains an internal scroll region on short screens, so the document
   itself still fits the desktop viewport. */
.had-credentials-v3 .had-credential-detail {
  justify-content: flex-start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
  padding: clamp(18px, 2.15vw, 34px) !important;
}

/* Remove the old line clamp that caused long credential names to overlap the
   provider line. The balanced, slightly smaller title remains prominent while
   allowing the full name to wrap naturally. */
.had-credentials-v3 .had-credential-detail h2,
.had-credentials-v3 [data-had-credential-title] {
  display: block !important;
  width: 100% !important;
  max-width: min(920px, 100%) !important;
  max-height: none !important;
  margin: 12px 0 8px !important;
  overflow: visible !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  font-size: clamp(29px, 2.35vw, 42px) !important;
  line-height: 1.09 !important;
  letter-spacing: -0.025em;
  text-wrap: balance;
  flex: 0 0 auto;
}

.had-credentials-v3 [data-had-credential-issuer] {
  margin: 0 0 2px !important;
  flex: 0 0 auto;
}

/* Display the complete uploaded certificate, regardless of whether it is a
   landscape Coursera certificate, a portrait scan or another aspect ratio.
   Width/height are auto and constrained independently, preventing the image
   from being stretched or cropped. */
.had-credentials-v3 .had-credential-certificate {
  width: min(820px, 100%) !important;
  height: clamp(185px, 28vh, 255px) !important;
  min-height: 185px !important;
  margin: 12px 0 12px !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border: 1px solid #2a6177 !important;
  border-radius: 5px !important;
  background: #eef4f6 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5), 0 14px 30px rgba(0, 0, 0, .2) !important;
}

.had-credentials-v3 .had-credential-certificate[hidden] {
  display: none !important;
}

.had-credentials-v3 .had-credential-image {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  float: none !important;
  object-fit: scale-down !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
}

.had-credentials-v3 .had-credential-meta {
  width: min(820px, 100%) !important;
  margin: 0 0 12px !important;
  flex: 0 0 auto;
}

.had-credentials-v3 .had-credential-summary,
.had-credentials-v3 .had-skill-grid,
.had-credentials-v3 .had-credential-actions {
  flex: 0 0 auto;
}

@media (max-height: 720px) and (min-width: 901px) {
  .had-credentials-v3 .had-credential-detail h2,
  .had-credentials-v3 [data-had-credential-title] {
    font-size: clamp(27px, 2.15vw, 37px) !important;
    line-height: 1.08 !important;
  }

  .had-credentials-v3 .had-credential-certificate {
    height: 175px !important;
    min-height: 175px !important;
    margin-block: 9px !important;
  }
}

@media (max-width: 900px) {
  .had-credentials-v3 .had-credential-detail h2,
  .had-credentials-v3 [data-had-credential-title] {
    font-size: clamp(28px, 7vw, 42px) !important;
  }

  .had-credentials-v3 .had-credential-certificate {
    width: 100% !important;
    height: clamp(210px, 48vw, 320px) !important;
  }
}


/* ===== /assets/css/v400-motion-controls.css ===== */
/**
 * Hamed Academic Dashboard 4.0.0
 * Selectable homepage image reveals and progressive trend-line drawing.
 */

/* --------------------------------------------------------------------------
   What’s New image effects
   -------------------------------------------------------------------------- */
.had-home-v320 .had-news-media {
  isolation: isolate;
  background-image: none !important;
}
.had-home-v320 .had-news-image-base,
.had-home-v320 .had-news-effect-pieces > i {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background-image: var(--had-news-image) !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  pointer-events: none;
}
.had-home-v320 .had-news-image-base {
  z-index: 1;
  display: block;
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}
.had-home-v320 .had-news-effect-pieces {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.had-home-v320 .had-news-effect-pieces > i {
  display: block !important;
  opacity: 0;
  clip-path: inset(
    var(--had-piece-top)
    var(--had-piece-right)
    var(--had-piece-bottom)
    var(--had-piece-left)
  );
  transform-origin: center;
  will-change: transform, opacity, filter, clip-path;
}
.had-home-v320 .had-news-scanner {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  overflow: hidden;
  pointer-events: none;
}
.had-home-v320 .had-news-scanner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12%;
  height: 12%;
  border-bottom: 2px solid rgba(34, 211, 238, .94);
  background: linear-gradient(180deg, rgba(34, 211, 238, 0), rgba(34, 211, 238, .22));
  box-shadow: 0 8px 22px rgba(34, 211, 238, .38);
}
.had-home-v320 .had-news-frame {
  position: absolute !important;
  inset: 10px !important;
  z-index: 6 !important;
}
.had-home-v320 .had-news-media::before {
  z-index: 4 !important;
}
.had-home-v320 .had-news-media > b {
  z-index: 7 !important;
}

/* Do not start until JavaScript has resolved any random mode. */
.had-home-v320 .had-news-console:not(.had-news-effects-ready) .had-news-image-base {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: inset(0) !important;
}
.had-home-v320 .had-news-console:not(.had-news-effects-ready) .had-news-effect-pieces,
.had-home-v320 .had-news-console:not(.had-news-effects-ready) .had-news-scanner {
  display: none !important;
}

/* Puzzle assemble. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-puzzle .had-news-image-base,
.had-news-effects-ready .had-news-item.is-active.had-news-effect-mosaic .had-news-image-base,
.had-news-effects-ready .had-news-item.is-active.had-news-effect-horizontal-blinds .had-news-image-base,
.had-news-effects-ready .had-news-item.is-active.had-news-effect-vertical-panels .had-news-image-base,
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-image-base,
.had-news-effects-ready .had-news-item.is-active.had-news-effect-pixel-dissolve .had-news-image-base {
  opacity: 0;
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-puzzle .had-news-effect-pieces > i {
  animation: hadNewsPuzzleAssemble var(--had-news-effect-duration) cubic-bezier(.18, .76, .16, 1) forwards;
  animation-delay: calc(var(--had-piece-index) * 35ms);
}
@keyframes hadNewsPuzzleAssemble {
  0% { opacity: 0; transform: translate3d(0, 28px, 0) scale(.7) rotate(-4deg); filter: brightness(.55) saturate(.55); }
  62% { opacity: 1; transform: translate3d(0, -2px, 0) scale(1.025) rotate(.4deg); filter: brightness(1.09) saturate(1.08); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1) rotate(0); filter: none; }
}

/* Mosaic reveal. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-mosaic .had-news-effect-pieces > i {
  animation: hadNewsMosaicReveal var(--had-news-effect-duration) cubic-bezier(.2, .72, .2, 1) forwards;
  animation-delay: calc(var(--had-piece-random) * 38ms);
}
@keyframes hadNewsMosaicReveal {
  0% { opacity: 0; transform: scale(.18); filter: brightness(1.5) blur(5px); }
  55% { opacity: .94; transform: scale(1.045); filter: brightness(1.15) blur(0); }
  100% { opacity: 1; transform: scale(1); filter: none; }
}

/* Horizontal blinds. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-horizontal-blinds .had-news-effect-pieces > i {
  transform-origin: center top;
  animation: hadNewsHorizontalBlind var(--had-news-effect-duration) cubic-bezier(.18, .74, .18, 1) forwards;
  animation-delay: calc(var(--had-piece-row) * 105ms);
}
@keyframes hadNewsHorizontalBlind {
  0% { opacity: 0; transform: scaleY(.03) translateY(-10px); filter: brightness(.7); }
  65% { opacity: 1; transform: scaleY(1.04) translateY(0); filter: brightness(1.08); }
  100% { opacity: 1; transform: scaleY(1); filter: none; }
}

/* Vertical panels. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-vertical-panels .had-news-effect-pieces > i {
  transform-origin: left center;
  animation: hadNewsVerticalPanel var(--had-news-effect-duration) cubic-bezier(.2, .78, .16, 1) forwards;
  animation-delay: calc(var(--had-piece-column) * 85ms);
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-vertical-panels .had-news-effect-pieces > i:nth-child(even) {
  transform-origin: right center;
}
@keyframes hadNewsVerticalPanel {
  0% { opacity: 0; transform: scaleX(.025) translateX(-12px); filter: brightness(.68); }
  65% { opacity: 1; transform: scaleX(1.035) translateX(0); filter: brightness(1.08); }
  100% { opacity: 1; transform: scaleX(1); filter: none; }
}

/* Diagonal sweep. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-diagonal-sweep .had-news-image-base {
  animation: hadNewsDiagonalSweep var(--had-news-effect-duration) cubic-bezier(.24, .72, .18, 1) both;
}
@keyframes hadNewsDiagonalSweep {
  0% { opacity: .35; clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); filter: brightness(.65) saturate(.65); }
  65% { opacity: 1; clip-path: polygon(0 0, 88% 0, 62% 100%, 0 100%); filter: brightness(1.06) saturate(1.04); }
  100% { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); filter: none; }
}

/* Soft zoom and fade. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-soft-zoom .had-news-image-base {
  animation: hadNewsSoftZoom var(--had-news-effect-duration) cubic-bezier(.16, .7, .18, 1) both;
}
@keyframes hadNewsSoftZoom {
  0% { opacity: 0; transform: scale(1.13); filter: brightness(.72); }
  100% { opacity: 1; transform: scale(1); filter: none; }
}

/* Blur to focus. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-blur-focus .had-news-image-base {
  animation: hadNewsBlurFocus var(--had-news-effect-duration) cubic-bezier(.18, .72, .16, 1) both;
}
@keyframes hadNewsBlurFocus {
  0% { opacity: .24; transform: scale(1.07); filter: blur(18px) brightness(.62) saturate(.65); }
  70% { opacity: 1; transform: scale(1.012); filter: blur(1px) brightness(1.06) saturate(1.04); }
  100% { opacity: 1; transform: scale(1); filter: none; }
}

/* Split-screen assemble. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i {
  animation: hadNewsSplitScreen var(--had-news-effect-duration) cubic-bezier(.18, .78, .16, 1) forwards;
  animation-delay: calc(var(--had-piece-row) * 45ms);
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(4n+1),
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(4n+2) {
  --had-split-x: -58px;
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(4n+3),
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(4n+4) {
  --had-split-x: 58px;
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(-n+4) { --had-split-y: -34px; }
.had-news-effects-ready .had-news-item.is-active.had-news-effect-split-screen .had-news-effect-pieces > i:nth-child(n+9) { --had-split-y: 34px; }
@keyframes hadNewsSplitScreen {
  0% { opacity: 0; transform: translate3d(var(--had-split-x, 0), var(--had-split-y, 0), 0) scale(.93); filter: brightness(.62); }
  68% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.018); filter: brightness(1.08); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: none; }
}

/* Data scanner reveal. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-data-scanner .had-news-image-base {
  animation: hadNewsScannerReveal var(--had-news-effect-duration) linear both;
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-data-scanner .had-news-scanner {
  display: block;
}
.had-news-effects-ready .had-news-item.is-active.had-news-effect-data-scanner .had-news-scanner::before {
  animation: hadNewsScannerLine var(--had-news-effect-duration) cubic-bezier(.18, .72, .18, 1) both;
}
@keyframes hadNewsScannerReveal {
  0% { opacity: .2; clip-path: inset(0 0 100% 0); filter: brightness(.58) saturate(.64); }
  100% { opacity: 1; clip-path: inset(0); filter: none; }
}
@keyframes hadNewsScannerLine {
  0% { transform: translateY(0); opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { transform: translateY(930%); opacity: 0; }
}

/* Pixel dissolve. */
.had-news-effects-ready .had-news-item.is-active.had-news-effect-pixel-dissolve .had-news-effect-pieces > i {
  animation: hadNewsPixelDissolve var(--had-news-effect-duration) steps(7, end) forwards;
  animation-delay: calc(var(--had-piece-random) * 42ms);
}
@keyframes hadNewsPixelDissolve {
  0% { opacity: 0; transform: scale(.68); filter: contrast(1.7) brightness(1.35) blur(4px); }
  45% { opacity: .55; transform: scale(.92); filter: contrast(1.35) brightness(1.16) blur(1.5px); }
  100% { opacity: 1; transform: scale(1); filter: none; }
}

/* No-animation mode is an explicit, complete image. */
.had-news-effects-ready .had-news-item.had-news-effect-none .had-news-image-base {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: inset(0) !important;
  animation: none !important;
}
.had-news-effects-ready .had-news-item.had-news-effect-none .had-news-effect-pieces,
.had-news-effects-ready .had-news-item.had-news-effect-none .had-news-scanner {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Trend-line drawing
   JavaScript supplies exact path length and progressive delays.
   -------------------------------------------------------------------------- */
svg.had-trend-animation-ready .had-funding-line,
svg.had-trend-animation-ready .had-year-trend-line,
svg.had-trend-animation-ready .had-scholar-line {
  will-change: stroke-dashoffset;
}
svg.had-trend-animation-ready .had-funding-area,
svg.had-trend-animation-ready .had-year-trend-area,
svg.had-trend-animation-ready .had-scholar-area,
svg.had-trend-animation-ready .had-funding-point,
svg.had-trend-animation-ready .had-year-trend-point,
svg.had-trend-animation-ready .had-funding-point-value,
svg.had-trend-animation-ready .had-year-trend-value,
svg.had-trend-animation-ready .had-scholar-point > line,
svg.had-trend-animation-ready .had-scholar-point > circle,
svg.had-trend-animation-ready .had-scholar-value {
  will-change: opacity, transform;
}

@media (max-width: 700px) {
  .had-home-v320 .had-news-effect-pieces > i {
    animation-delay: calc(var(--had-piece-index) * 22ms) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-home-v320 .had-news-image-base {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: inset(0) !important;
    animation: none !important;
  }
  .had-home-v320 .had-news-effect-pieces,
  .had-home-v320 .had-news-scanner {
    display: none !important;
  }
}


/* ===== /assets/css/v401-news-title-typing.css ===== */
/**
 * Hamed Academic Dashboard 4.0.1
 * Character-by-character What’s New headline typing.
 */

.had-home-v320 .had-news-copy .had-news-headline {
  display: block !important;
  min-height: 2.2em;
  max-height: 2.2em;
  overflow: hidden !important;
}

.had-home-v320 .had-news-typed-title {
  white-space: normal;
}

.had-home-v320 .had-news-cursor {
  display: inline-block;
  min-width: .48em;
  margin-left: .06em;
  color: var(--had-cyan);
  font-style: normal;
  font-weight: 500;
  line-height: .92;
  vertical-align: .02em;
  text-shadow: 0 0 5px color-mix(in srgb, var(--had-cyan) 72%, transparent), 0 0 12px color-mix(in srgb, var(--had-cyan) 35%, transparent);
  animation: hadNewsTitleCursor .82s steps(1, end) infinite !important;
}

.had-home-v320 .had-news-item.is-title-typing .had-news-cursor {
  animation-duration: .58s !important;
}

@keyframes hadNewsTitleCursor {
  0%, 46% { opacity: 1; }
  47%, 100% { opacity: .08; }
}

@media (min-width: 901px) and (max-height: 720px) {
  .had-home-v320 .had-news-copy .had-news-headline {
    min-height: 2.18em;
    max-height: 2.18em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-home-v320 .had-news-cursor {
    display: none !important;
    animation: none !important;
  }
}


/* ===== /assets/css/v410-collection-trends.css ===== */
/**
 * Hamed Academic Dashboard 4.1.0
 * Collection hierarchy, annual trend dashboards and unified yellow trend colour.
 */

:root {
  --had-trend-yellow: #f2bf4c;
  --had-trend-yellow-soft: #f9d77d;
}

/* Journal Papers no longer reserves vertical space for the removed feature strip. */
[data-had-collection-type="journal-papers"] .had-collection-body {
  min-height: 0;
}

/* Three-panel collection architecture: two summaries above one annual trend. */
[data-had-collection-type="book"] .had-analytics-grid,
[data-had-collection-type="theses"] .had-analytics-grid,
[data-had-collection-type="persian-articles"] .had-analytics-grid,
[data-had-collection-type="conference-presentations"] .had-analytics-grid,
[data-had-collection-type="editorial-referee"] .had-analytics-grid,
[data-had-collection-type="media"] .had-analytics-grid,
[data-had-collection-type="scholarships"] .had-analytics-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  grid-auto-rows: unset !important;
  align-items: stretch !important;
  align-content: stretch !important;
}

[data-had-collection-type="book"] .had-analytics-wide,
[data-had-collection-type="theses"] .had-analytics-wide,
[data-had-collection-type="persian-articles"] .had-analytics-wide,
[data-had-collection-type="conference-presentations"] .had-analytics-wide,
[data-had-collection-type="editorial-referee"] .had-analytics-wide,
[data-had-collection-type="media"] .had-analytics-wide,
[data-had-collection-type="scholarships"] .had-analytics-wide {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-height: 0 !important;
}

[data-had-collection-type="book"] .had-analytics-panel,
[data-had-collection-type="theses"] .had-analytics-panel,
[data-had-collection-type="persian-articles"] .had-analytics-panel,
[data-had-collection-type="conference-presentations"] .had-analytics-panel,
[data-had-collection-type="editorial-referee"] .had-analytics-panel,
[data-had-collection-type="media"] .had-analytics-panel,
[data-had-collection-type="scholarships"] .had-analytics-panel {
  min-height: 0 !important;
}

[data-had-collection-type="book"] [data-had-book-analytics-body="subjects"],
[data-had-collection-type="book"] [data-had-book-analytics-body="publishers"],
[data-had-collection-type="theses"] [data-had-thesis-analytics-body]:not([data-had-thesis-analytics-body="years"]),
[data-had-collection-type="persian-articles"] [data-had-persian-analytics-body]:not([data-had-persian-analytics-body="years"]),
[data-had-collection-type="conference-presentations"] [data-had-presentation-analytics-body]:not([data-had-presentation-analytics-body="years"]),
[data-had-collection-type="media"] [data-had-media-analytics-body]:not([data-had-media-analytics-body="years"]),
[data-had-collection-type="scholarships"] [data-had-scholarship-analytics-body] {
  min-height: 0;
  max-height: calc(100% - 2px);
  overflow: auto;
  scrollbar-width: thin;
}

/* Degree and subject information now uses the same bar language as Research subjects. */
.had-dual-metric-groups {
  height: calc(100% - 28px);
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding-top: 8px;
}
.had-dual-metric-groups > section {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
  scrollbar-width: thin;
}
.had-dual-metric-groups h3 {
  margin: 0 0 7px;
  color: #87a7b5;
  font: 700 9px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Funding sources and purpose are now above the annual funding trend. */
[data-had-collection-type="scholarships"] .had-funding-sources-panel {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
[data-had-collection-type="scholarships"] .had-funding-purpose-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
[data-had-collection-type="scholarships"] .had-funding-chart {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

/* Public engagement: audience profile left, platform coverage right, annual trend below. */
[data-had-collection-type="media"] .had-media-subjects-panel {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
[data-had-collection-type="media"] .had-media-coverage-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
[data-had-collection-type="media"] .had-media-trend-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}
[data-had-collection-type="media"] .had-media-profile-panel {
  min-height: 0 !important;
  height: auto !important;
}

/* All annual trend lines use the funding dashboard's amber/yellow visual system. */
.had-year-trend {
  color: var(--had-trend-yellow) !important;
}
.had-year-trend-grid {
  stroke: rgba(242, 191, 76, .27) !important;
}
.had-year-trend-line {
  stroke: var(--had-trend-yellow) !important;
  filter: drop-shadow(0 0 5px rgba(242, 191, 76, .46)) !important;
}
.had-year-trend-point {
  fill: #061722 !important;
  stroke: var(--had-trend-yellow) !important;
}
.had-year-trend-value {
  fill: var(--had-trend-yellow-soft) !important;
}

/* Google Scholar is also an annual trend, so it follows the same palette. */
.had-scholar-line-chart .had-scholar-line {
  stroke: var(--had-trend-yellow) !important;
  filter: drop-shadow(0 0 5px rgba(242, 191, 76, .42));
}
.had-scholar-line-chart .had-scholar-point > circle {
  stroke: var(--had-trend-yellow-soft) !important;
}
.had-scholar-line-chart .had-scholar-point > line {
  stroke: rgba(242, 191, 76, .32) !important;
}
.had-scholar-line-chart .had-scholar-value {
  fill: var(--had-trend-yellow-soft) !important;
}

/* Keep trend panels readable at the 100% desktop viewport used by the site. */
.had-book-trend-panel [data-had-book-analytics-body="years"],
.had-thesis-trend-panel [data-had-thesis-analytics-body="years"],
.had-persian-trend-panel [data-had-persian-analytics-body="years"],
.had-presentation-trend-panel [data-had-presentation-analytics-body="years"],
.had-editorial-trend-panel [data-had-editorial-analytics-body="years"],
.had-media-trend-panel [data-had-media-analytics-body="years"] {
  height: calc(100% - 2px);
  min-height: 0;
}

@media (max-height: 720px) and (min-width: 901px) {
  [data-had-collection-type="book"] .had-analytics-grid,
  [data-had-collection-type="theses"] .had-analytics-grid,
  [data-had-collection-type="persian-articles"] .had-analytics-grid,
  [data-had-collection-type="conference-presentations"] .had-analytics-grid,
  [data-had-collection-type="editorial-referee"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid,
  [data-had-collection-type="scholarships"] .had-analytics-grid {
    grid-template-rows: minmax(0, .78fr) minmax(0, 1.22fr) !important;
  }
  .had-dual-metric-groups { gap: 7px; padding-top: 5px; }
  .had-dual-metric-groups h3 { margin-bottom: 4px; }
}

@media (max-width: 900px) {
  [data-had-collection-type="book"] .had-analytics-grid,
  [data-had-collection-type="theses"] .had-analytics-grid,
  [data-had-collection-type="persian-articles"] .had-analytics-grid,
  [data-had-collection-type="conference-presentations"] .had-analytics-grid,
  [data-had-collection-type="editorial-referee"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid,
  [data-had-collection-type="scholarships"] .had-analytics-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
  }
  [data-had-collection-type="book"] .had-analytics-panel,
  [data-had-collection-type="theses"] .had-analytics-panel,
  [data-had-collection-type="persian-articles"] .had-analytics-panel,
  [data-had-collection-type="conference-presentations"] .had-analytics-panel,
  [data-had-collection-type="editorial-referee"] .had-analytics-panel,
  [data-had-collection-type="media"] .had-analytics-panel,
  [data-had-collection-type="scholarships"] .had-analytics-panel,
  [data-had-collection-type="book"] .had-analytics-wide,
  [data-had-collection-type="theses"] .had-analytics-wide,
  [data-had-collection-type="persian-articles"] .had-analytics-wide,
  [data-had-collection-type="conference-presentations"] .had-analytics-wide,
  [data-had-collection-type="editorial-referee"] .had-analytics-wide,
  [data-had-collection-type="media"] .had-analytics-wide,
  [data-had-collection-type="scholarships"] .had-analytics-wide {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 245px !important;
  }
  .had-dual-metric-groups {
    height: auto;
    grid-template-columns: 1fr;
  }
}


/* 4.1.1: keep complete dynamic year ranges legible in narrower panels. */
.had-year-trend-svg.is-dense .had-year-trend-year {
  font-size: 10px;
  letter-spacing: -0.2px;
}
.had-year-trend-svg.is-very-dense .had-year-trend-year {
  font-size: 9px;
  letter-spacing: -0.35px;
}
@media (max-width: 1250px) {
  .had-type-teaching-experience .had-year-trend-svg.is-dense .had-year-trend-year {
    font-size: 9px;
    letter-spacing: -0.4px;
  }
}


/* ===== /assets/css/v412-dynamic-full-ranges.css ===== */
/**
 * Hamed Academic Dashboard 4.1.2
 * Full dynamic annual ranges and simplified Teaching Experience analytics.
 */

/* Teaching now uses two summaries above one full-width annual trend. */
[data-had-collection-type="teaching-experience"] .had-analytics-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  grid-auto-rows: unset !important;
  align-items: stretch !important;
  align-content: stretch !important;
}
[data-had-collection-type="teaching-experience"] .had-teaching-level-panel {
  display: none !important;
}
[data-had-collection-type="teaching-experience"] .had-teaching-trend-panel {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-height: 0 !important;
}
[data-had-collection-type="teaching-experience"] [data-had-teaching-analytics-body="years"] {
  height: calc(100% - 2px);
  min-height: 0;
}

/* Full ranges can contain many years; keep labels compact but readable. */
.had-year-trend-svg.is-dense .had-year-trend-year {
  font-size: 9.5px !important;
  letter-spacing: -0.25px !important;
}
.had-year-trend-svg.is-very-dense .had-year-trend-year {
  font-size: 8.5px !important;
  letter-spacing: -0.45px !important;
}

@media (max-height: 720px) and (min-width: 901px) {
  [data-had-collection-type="teaching-experience"] .had-analytics-grid {
    grid-template-rows: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  }
}

@media (max-width: 900px) {
  [data-had-collection-type="teaching-experience"] .had-analytics-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
  }
  [data-had-collection-type="teaching-experience"] .had-analytics-panel,
  [data-had-collection-type="teaching-experience"] .had-teaching-trend-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 245px !important;
  }
}


/* ===== /assets/css/v413-popup-credential-fixes.css ===== */
/**
 * Version 4.1.3: visible close controls and credential detail drawer behavior.
 */

.had-drawer-close,
.had-project-close,
.had-scholar-modal-close {
  color: #fff !important;
  cursor: pointer;
}

.had-close-glyph {
  display: block;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  transform: translateY(-1px);
  text-shadow: 0 0 10px rgba(255, 255, 255, .28);
}

.had-drawer-close:hover,
.had-project-close:hover,
.had-scholar-modal-close:hover {
  border-color: var(--had-accent, #22d3ee) !important;
  background: #0b3447 !important;
  color: #fff !important;
}

.had-drawer-close:focus-visible,
.had-project-close:focus-visible,
.had-scholar-modal-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.had-credential-full[aria-haspopup="dialog"] {
  cursor: pointer;
}


/* ===== /assets/css/v420-trend-loop-blog.css ===== */
/**
 * Version 4.2.0: repeatable trend motion, compact blog popups and scroll-safe blog pages.
 */

/* Trend loop state and pointer affordance. */
svg.had-trend-animation-ready { isolation: isolate; }
svg.had-trend-is-looping { cursor: default; }
svg.had-trend-is-paused { filter: saturate(.92); }

/* Blog records now use the same drawer architecture as every other record. */
.had-detail-drawer.is-blog-summary .had-drawer-body {
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
  align-items: start;
}
.had-detail-drawer.is-blog-summary .had-record-cover {
  height: min(360px, 48vh);
  min-height: 250px;
}
.had-detail-drawer.is-blog-summary .had-record-cover img {
  object-fit: cover;
  object-position: center;
  filter: saturate(.9) contrast(1.03);
}
.had-detail-drawer.is-blog-summary .had-lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  overflow: hidden;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.72;
}
.had-detail-drawer.is-blog-summary .had-rich-content,
.had-detail-drawer.is-blog-summary .had-citation-box,
.had-detail-drawer.is-blog-summary [data-had-detail-url] {
  display: none !important;
}
.had-detail-drawer.is-blog-summary .had-record-copy > .had-kicker b {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
.had-blog-popup-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 180px));
  gap: 9px;
  margin: 18px 0 2px;
}
.had-blog-popup-stats[hidden] { display: none !important; }
.had-blog-popup-stats > span {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border: 1px solid #bdd2d9;
  border-left: 3px solid var(--drawer-accent);
  background: #e8f0f2;
}
.had-blog-popup-stats b {
  color: #0b6f7d;
  font: 700 20px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.had-blog-popup-stats small {
  color: #526f7a;
  font: 700 8px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* The app dashboard normally locks the document to one viewport. A complete
   WordPress post is a document page and must use normal vertical scrolling. */
html.had-document-page,
html.had-document-page body.had-theme {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scroll-behavior: smooth;
}
body.single-post.had-theme .had-app-shell {
  height: auto !important;
  min-height: 100dvh !important;
  overflow: visible !important;
}
body.single-post.had-theme .had-shell-body {
  height: auto !important;
  min-height: calc(100dvh - var(--had-topbar)) !important;
  align-items: stretch;
  overflow: visible !important;
}
body.single-post.had-theme .had-sidebar {
  position: sticky;
  top: 0;
  height: calc(100dvh - var(--had-topbar));
  align-self: start;
}
body.admin-bar.single-post.had-theme .had-sidebar {
  height: calc(100dvh - var(--had-topbar) - 32px);
}
body.single-post.had-theme .had-workspace {
  height: auto !important;
  min-height: calc(100dvh - var(--had-topbar)) !important;
  overflow: visible !important;
}
body.single-post.had-theme .had-blog-single-screen {
  height: auto !important;
  min-height: calc(100dvh - var(--had-topbar)) !important;
  overflow: visible !important;
  padding: 14px 18px 54px !important;
}
.had-blog-single-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.had-blog-single-heading { min-width: 0; }
.had-blog-return-top {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 13px;
  border: 1px solid rgba(139, 225, 233, .55);
  color: #d7f8fa;
  text-decoration: none;
  font-size: 10px;
  font-weight: 700;
}
.had-blog-return-top:hover { background: rgba(34, 211, 238, .12); }
.had-blog-single-article {
  width: min(1040px, calc(100% - 24px));
  margin-bottom: 50px;
  overflow: visible;
}
.had-blog-single-article > figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: #edf3f5;
}
.had-blog-single-copy {
  overflow-wrap: anywhere;
}
.had-blog-single-copy > :first-child { margin-top: 0; }
.had-blog-single-copy > :last-child { margin-bottom: 0; }
.had-blog-single-actions {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #d0dfe3;
}

@media (max-width: 900px) {
  body.single-post.had-theme .had-sidebar { position: fixed; height: auto; }
  .had-detail-drawer.is-blog-summary .had-drawer-body { grid-template-columns: 150px minmax(0, 1fr); }
  .had-blog-single-header { display: grid; align-items: start; }
  .had-blog-return-top { justify-self: start; }
}
@media (max-width: 620px) {
  .had-detail-drawer.is-blog-summary .had-drawer-body { grid-template-columns: 1fr; }
  .had-detail-drawer.is-blog-summary .had-record-cover { width: min(220px, 100%); height: 250px; }
  .had-blog-popup-stats { grid-template-columns: repeat(2, 1fr); }
}


/* ===== /assets/css/v421-blog-popup-engagement.css ===== */
/**
 * Version 4.2.1: interactive reader reactions and live comment totals in blog popups.
 */

/* The former two-number summary is superseded by the interactive panel below the tags. */
.had-detail-drawer.is-blog-summary .had-blog-popup-stats { display: none !important; }

.had-blog-popup-engagement[hidden] { display: none !important; }
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement {
  margin: 18px 0 4px;
  padding: 18px;
  border: 1px solid #c8dde2;
  border-left: 3px solid var(--drawer-accent);
  background: linear-gradient(145deg, #f3fafb, #e9f3f5);
  color: #254852;
}
.had-blog-popup-engagement-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.had-blog-popup-engagement-head > div:first-child { min-width: 0; }
.had-blog-popup-engagement-head small {
  color: #08798a;
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .12em;
}
.had-blog-popup-engagement-head h2 {
  margin: 5px 0 0;
  color: #123d49;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.2;
}
.had-blog-popup-comment-total {
  flex: 0 0 auto;
  min-width: 106px;
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid #b6d1d8;
  background: rgba(255, 255, 255, .72);
}
.had-blog-popup-comment-total b {
  color: #0b6f7d;
  font: 700 22px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.had-blog-popup-comment-total span {
  color: #526f7a;
  font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 15px;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons button {
  min-height: 66px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 7px;
  padding: 10px;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons button > span {
  font-size: 21px;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons button > b {
  min-width: 0;
  font-size: 10px;
  line-height: 1.22;
  overflow-wrap: anywhere;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons button > em {
  min-width: 25px;
  padding: 4px 5px;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-engagement-message {
  min-height: 16px;
  margin: 8px 0 0;
  font-size: 11px;
}
.had-detail-drawer.is-blog-summary .had-blog-popup-engagement.is-loading {
  opacity: .72;
  pointer-events: none;
}

@media (max-width: 900px) {
  .had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .had-blog-popup-engagement-head { align-items: flex-start; }
  .had-blog-popup-comment-total { min-width: 88px; }
  .had-detail-drawer.is-blog-summary .had-blog-popup-engagement .had-blog-reaction-buttons {
    grid-template-columns: 1fr;
  }
}


/* ===== /assets/css/v422-contained-blog-reader.css ===== */
/**
 * Version 4.2.2: viewport-contained full blog reader with independent article scrolling.
 */

/* The dashboard shell stays fixed. Only the white blog reader pane scrolls. */
html.had-document-page,
html.had-document-page body.single-post.had-theme {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.single-post.had-theme .had-app-shell {
  height: 100dvh !important;
  min-height: 560px !important;
  overflow: hidden !important;
}
body.admin-bar.single-post.had-theme .had-app-shell {
  height: calc(100dvh - 32px) !important;
}
body.single-post.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar)) !important;
  min-height: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
}
body.admin-bar.single-post.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar) - 32px) !important;
}
body.single-post.had-theme .had-sidebar {
  position: relative !important;
  top: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
}
body.single-post.had-theme .had-workspace {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.single-post.had-theme .had-blog-single-screen {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 10px 14px 12px !important;
  overflow: hidden !important;
}

/* Compact title band gives the article more usable vertical space. */
body.single-post.had-theme .had-blog-single-header {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px;
  padding: 16px clamp(20px, 2.6vw, 38px) 17px;
  border: 1px solid #1d5265;
  background: linear-gradient(145deg, #062838, #075d66);
}
body.single-post.had-theme .had-blog-single-header h1 {
  max-width: 1120px;
  margin: 8px 0 10px;
  font-size: clamp(27px, 2.75vw, 46px);
  line-height: 1.06;
  text-wrap: balance;
}
body.single-post.had-theme .had-blog-single-meta {
  gap: 8px;
  font-size: 10px;
}
body.single-post.had-theme .had-blog-return-top {
  margin-bottom: 2px;
  white-space: nowrap;
}

/* Full-width reader stage. */
.had-blog-reader-stage {
  min-width: 0;
  min-height: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(43, 93, 112, .72);
  background: #eef4f6;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
}

body.single-post.had-theme .had-blog-single-article {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #16889a #d9e6ea;
  background: #f7fafb;
  color: #25404a;
  box-shadow: none !important;
  outline: none;
}
body.single-post.had-theme .had-blog-single-article:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(10, 169, 186, .45) !important;
}
body.single-post.had-theme .had-blog-single-article::-webkit-scrollbar {
  width: 12px;
}
body.single-post.had-theme .had-blog-single-article::-webkit-scrollbar-track {
  background: #d9e6ea;
}
body.single-post.had-theme .had-blog-single-article::-webkit-scrollbar-thumb {
  border: 3px solid #d9e6ea;
  border-radius: 999px;
  background: #16889a;
}

.had-blog-single-inner {
  width: 100%;
  min-height: 100%;
  padding: clamp(28px, 3.3vw, 54px) clamp(68px, 6vw, 98px) 54px clamp(32px, 4.7vw, 72px);
}
.had-blog-single-inner > figure,
.had-blog-single-copy,
.had-blog-single-inner > .had-blog-engagement,
.had-blog-single-actions {
  width: min(100%, 1260px);
  margin-left: auto;
  margin-right: auto;
}
body.single-post.had-theme .had-blog-single-inner > figure {
  margin-top: 0;
  margin-bottom: 34px;
}
body.single-post.had-theme .had-blog-single-inner > figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 68vh;
  object-fit: contain;
  background: #edf3f5;
}
body.single-post.had-theme .had-blog-single-copy {
  font-size: 16px;
  line-height: 1.82;
  overflow-wrap: anywhere;
}

/* Always-visible controls scroll only the article pane. */
.had-blog-scroll-controls {
  position: absolute;
  z-index: 8;
  top: 50%;
  right: 18px;
  display: grid;
  justify-items: center;
  gap: 8px;
  transform: translateY(-50%);
  filter: drop-shadow(0 8px 18px rgba(0, 35, 46, .22));
}
.had-blog-scroll-controls button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #0e8fa2;
  border-radius: 4px;
  background: #073846;
  color: #f4ffff;
  box-shadow: inset 0 0 0 1px rgba(110, 235, 244, .08);
  transition: transform .16s ease, background .16s ease, border-color .16s ease, opacity .16s ease;
}
.had-blog-scroll-controls button:hover,
.had-blog-scroll-controls button:focus-visible {
  border-color: #25d8e6;
  background: #086477;
  outline: none;
  transform: scale(1.06);
}
.had-blog-scroll-controls button:disabled {
  cursor: default;
  opacity: .3;
  transform: none;
}
.had-blog-scroll-controls .dashicons {
  width: 20px;
  height: 20px;
  font-size: 20px;
}
.had-blog-scroll-meter {
  width: 4px;
  height: 92px;
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(7, 56, 70, .2);
  box-shadow: inset 0 0 0 1px rgba(7, 56, 70, .18);
}
.had-blog-scroll-meter i {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, #22d3ee, #0c8296);
  box-shadow: 0 0 8px rgba(34, 211, 238, .55);
  transition: height .12s linear;
}

/* Keep the controls unobtrusive when the article does not overflow. */
.had-blog-reader-stage:not(.is-scrollable) .had-blog-scroll-controls {
  display: none;
}

@media (max-width: 900px) {
  body.single-post.had-theme .had-sidebar {
    position: fixed !important;
    top: var(--had-topbar) !important;
    height: auto !important;
  }
  body.admin-bar.single-post.had-theme .had-sidebar {
    top: calc(var(--had-topbar) + 46px) !important;
  }
  body.single-post.had-theme .had-blog-single-screen {
    padding: 8px !important;
    gap: 8px;
  }
  body.single-post.had-theme .had-blog-single-header {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 18px;
  }
  body.single-post.had-theme .had-blog-single-header h1 {
    font-size: clamp(24px, 7vw, 38px);
  }
  body.single-post.had-theme .had-blog-return-top {
    justify-self: start;
  }
  .had-blog-single-inner {
    padding: 26px 62px 42px 24px;
  }
  .had-blog-scroll-controls {
    right: 12px;
  }
}

@media (max-width: 782px) {
  body.admin-bar.single-post.had-theme .had-app-shell {
    height: calc(100dvh - 46px) !important;
  }
  body.admin-bar.single-post.had-theme .had-shell-body {
    height: calc(100dvh - var(--had-topbar) - 46px) !important;
  }
}

@media (max-width: 560px) {
  body.single-post.had-theme .had-blog-single-header {
    padding: 12px 14px;
  }
  body.single-post.had-theme .had-blog-single-header h1 {
    margin-bottom: 7px;
  }
  .had-blog-single-inner {
    padding: 22px 52px 36px 18px;
  }
  .had-blog-scroll-controls {
    right: 8px;
    gap: 6px;
  }
  .had-blog-scroll-controls button {
    width: 36px;
    height: 36px;
  }
  .had-blog-scroll-meter {
    height: 66px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-post.had-theme .had-blog-single-article {
    scroll-behavior: auto;
  }
  .had-blog-scroll-controls button,
  .had-blog-scroll-meter i {
    transition: none;
  }
}


/* ===== /assets/css/v423-blog-reader-density.css ===== */
/**
 * Version 4.2.3: denser full-post reader with minimal unused white space.
 *
 * The article pane still keeps a narrow safety rail for the floating scroll
 * controls, but the post body, media, engagement, and action sections now use
 * almost the complete available workspace.
 */

body.single-post.had-theme .had-blog-single-inner {
  width: 100%;
  min-height: 100%;
  padding:
    clamp(18px, 1.7vw, 28px)
    clamp(52px, 3.25vw, 62px)
    clamp(30px, 3vw, 44px)
    clamp(18px, 1.9vw, 30px);
}

body.single-post.had-theme .had-blog-single-inner > figure,
body.single-post.had-theme .had-blog-single-copy,
body.single-post.had-theme .had-blog-single-inner > .had-blog-engagement,
body.single-post.had-theme .had-blog-single-actions {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Remove inherited content-width limits from Gutenberg and classic-editor media. */
body.single-post.had-theme .had-blog-single-copy > .wp-block-image,
body.single-post.had-theme .had-blog-single-copy > figure,
body.single-post.had-theme .had-blog-single-copy > .alignwide,
body.single-post.had-theme .had-blog-single-copy > .alignfull,
body.single-post.had-theme .had-blog-single-copy > .wp-block-gallery,
body.single-post.had-theme .had-blog-single-copy > .wp-block-embed,
body.single-post.had-theme .had-blog-single-copy > .wp-block-video,
body.single-post.had-theme .had-blog-single-copy > .wp-block-table {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Large article images should occupy the reader width rather than sitting in
 * a narrow centred column. Explicitly resized small images keep their size. */
body.single-post.had-theme .had-blog-single-copy .wp-block-image:not(.is-resized) img,
body.single-post.had-theme .had-blog-single-copy img.size-full,
body.single-post.had-theme .had-blog-single-copy img.size-large,
body.single-post.had-theme .had-blog-single-copy img.alignwide,
body.single-post.had-theme .had-blog-single-copy img.alignfull,
body.single-post.had-theme .had-blog-single-copy > p > img.aligncenter,
body.single-post.had-theme .had-blog-single-copy > p > a > img.aligncenter {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  object-fit: contain;
}

body.single-post.had-theme .had-blog-single-copy figcaption,
body.single-post.had-theme .had-blog-single-copy .wp-element-caption {
  width: 100%;
  max-width: none;
}

/* Keep a readable rhythm while allowing the text to use the wider reader. */
body.single-post.had-theme .had-blog-single-copy {
  font-size: clamp(15px, .92vw, 17px);
  line-height: 1.72;
}

body.single-post.had-theme .had-blog-single-copy > :first-child {
  margin-top: 0;
}

/* The control rail is slightly closer to the edge, returning more space to
 * the article while keeping the buttons clear of the text and media. */
body.single-post.had-theme .had-blog-scroll-controls {
  right: 10px;
}

@media (min-width: 1900px) {
  body.single-post.had-theme .had-blog-single-inner {
    padding-left: 34px;
    padding-right: 68px;
  }
}

@media (max-width: 900px) {
  body.single-post.had-theme .had-blog-single-inner {
    padding: 20px 54px 34px 18px;
  }

  body.single-post.had-theme .had-blog-scroll-controls {
    right: 8px;
  }
}

@media (max-width: 560px) {
  body.single-post.had-theme .had-blog-single-inner {
    padding: 18px 46px 30px 14px;
  }

  body.single-post.had-theme .had-blog-single-copy {
    font-size: 15px;
    line-height: 1.68;
  }
}

/* JavaScript also identifies large classic-editor images by their intrinsic
 * dimensions, covering posts that do not carry Gutenberg size classes. */
body.single-post.had-theme .had-blog-single-copy .had-blog-wide-media-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.single-post.had-theme .had-blog-single-copy img.had-blog-wide-media {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  object-fit: contain;
}


/* ===== /assets/css/v430-teaching-portfolio.css ===== */
/**
 * v4.3.0 Teaching Portfolio dashboard.
 * Four editorial sections on the left; searchable, scroll-contained records on the right.
 */

.had-teaching-portfolio-screen{min-height:0;overflow:hidden}
.had-teaching-portfolio-layout{
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1.68fr) minmax(340px,.62fr);
  gap:8px;
  overflow:hidden;
}
.had-teaching-overview-panel,
.had-teaching-records-panel{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
  padding:10px;
}
.had-teaching-overview-panel{display:flex;flex-direction:column}
.had-teaching-card-grid{
  min-height:0;
  flex:1;
  padding-top:7px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:7px;
}
.had-teaching-overview-card{
  --had-teaching-accent:var(--had-cyan);
  min-width:0;
  min-height:0;
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:13px 14px 12px;
  border:1px solid color-mix(in srgb,var(--had-teaching-accent) 43%,#173d51);
  border-radius:7px;
  background:
    radial-gradient(circle at 94% 4%,color-mix(in srgb,var(--had-teaching-accent) 12%,transparent),transparent 34%),
    linear-gradient(150deg,rgba(7,31,46,.98),rgba(3,18,29,.96));
  color:inherit;
  text-align:left;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.had-teaching-overview-card:hover,
.had-teaching-overview-card:focus-visible{
  border-color:var(--had-teaching-accent);
  transform:translateY(-2px);
  box-shadow:0 15px 34px rgba(0,0,0,.24),inset 0 0 32px color-mix(in srgb,var(--had-teaching-accent) 7%,transparent);
  outline:none;
}
.had-teaching-overview-card.is-filter-active{border-color:var(--had-teaching-accent);box-shadow:inset 3px 0 var(--had-teaching-accent)}
.had-teaching-overview-card.had-accent-cyan{--had-teaching-accent:#22d3ee}
.had-teaching-overview-card.had-accent-blue{--had-teaching-accent:#56a8ff}
.had-teaching-overview-card.had-accent-amber{--had-teaching-accent:#f2b84b}
.had-teaching-overview-card.had-accent-violet{--had-teaching-accent:#a78bfa}
.had-teaching-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.had-teaching-card-head>span{
  width:29px;height:29px;display:grid;place-items:center;
  border:1px solid var(--had-teaching-accent);
  color:var(--had-teaching-accent);
  background:color-mix(in srgb,var(--had-teaching-accent) 8%,transparent)
}
.had-teaching-card-head .dashicons{width:15px;height:15px;font-size:15px}
.had-teaching-card-head>b{color:var(--had-teaching-accent);font:300 22px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.had-teaching-overview-card h3{margin:10px 0 4px;font-size:clamp(15px,1.06vw,19px);line-height:1.15;letter-spacing:-.02em}
.had-teaching-card-subtitle{min-height:30px;margin:0;color:#8aa7b5;font-size:9px;line-height:1.48}
.had-teaching-card-metrics{
  margin-top:auto;
  padding-top:10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.had-teaching-card-metrics span{min-width:0;border:1px solid #17475d;background:rgba(3,22,34,.68);padding:8px 9px}
.had-teaching-card-metrics b{display:block;color:var(--had-teaching-accent);font:500 15px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.had-teaching-card-metrics small{display:block;margin-top:4px;color:#668899;font:700 7px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}
.had-teaching-card-action{display:flex;align-items:center;gap:6px;margin-top:9px;color:var(--had-teaching-accent);font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}
.had-teaching-card-action .dashicons{width:13px;height:13px;font-size:13px;transition:transform .2s ease}
.had-teaching-overview-card:hover .had-teaching-card-action .dashicons{transform:translateX(3px)}

.had-teaching-records-panel{display:flex;flex-direction:column}
.had-teaching-stream-tools{padding:7px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;border-bottom:1px solid #173d51}
.had-teaching-stream-tools>label{min-width:0;height:32px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #1d5067;background:#041924}
.had-teaching-stream-tools>label .dashicons{width:14px;height:14px;font-size:14px;color:#5f8496}
.had-teaching-stream-tools input{min-width:0;width:100%;border:0!important;outline:0;background:transparent!important;color:#cfe2ea;font-size:9px;box-shadow:none!important}
.had-teaching-stream-tools input::placeholder{color:#57798a}
.had-teaching-stream-tabs{display:flex;align-items:center;gap:4px}
.had-teaching-stream-tabs button{height:32px;padding:0 9px;border:1px solid #24556c;background:#061b28;color:#85a6b5;font-size:8px}
.had-teaching-stream-tabs button:hover,.had-teaching-stream-tabs button:focus-visible,.had-teaching-stream-tabs button.is-active{border-color:var(--had-cyan);color:var(--had-cyan);background:rgba(34,211,238,.08);outline:none}
.had-teaching-stream{
  min-height:0;
  flex:1;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#24718b transparent;
}
.had-teaching-stream-row{
  width:100%;
  min-height:69px;
  display:grid;
  grid-template-columns:23px 48px minmax(0,1fr) 16px;
  align-items:center;
  gap:7px;
  padding:8px 4px;
  border:0;
  border-bottom:1px solid #164155;
  background:transparent;
  color:inherit;
  text-align:left;
  transition:background .18s ease,box-shadow .18s ease;
}
.had-teaching-stream-row:hover,.had-teaching-stream-row:focus-visible{background:linear-gradient(90deg,rgba(34,211,238,.08),transparent);box-shadow:inset 2px 0 var(--had-cyan);outline:none}
.had-teaching-stream-number{color:#416b7d;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace}
.had-teaching-stream-row time{color:var(--had-cyan);font:500 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.had-teaching-stream-row>span:nth-of-type(2){min-width:0}
.had-teaching-stream-row label{display:block;margin-bottom:3px;color:#f2b84b;font:700 7px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
.had-teaching-stream-row b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#e6f1f5;font-size:9px;line-height:1.24}
.had-teaching-stream-row em{display:block;overflow:hidden;margin-top:4px;color:#7392a0;font-size:8px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}
.had-teaching-stream-row>.dashicons{width:14px;height:14px;font-size:14px;color:var(--had-cyan)}
.had-teaching-stream-footer{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:6px;border-top:1px solid #173d51;color:#668899;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}
.had-teaching-stream-footer b{color:var(--had-cyan);font-size:10px}
.had-teaching-stream-empty{margin:16px}

/* Teaching records inside the shared white record drawer. */
.had-detail-content .had-teaching-longform,
.had-detail-content .had-syllabus-record{max-width:none;color:#264d5d;font-size:14px;line-height:1.72}
.had-detail-content .had-teaching-longform h2,
.had-detail-content .had-syllabus-record h2{margin:0 0 18px;color:#073e4b;font-size:28px;line-height:1.15}
.had-detail-content .had-teaching-longform h3,
.had-detail-content .had-syllabus-record h3{margin:27px 0 9px;color:#07596a;font-size:18px;line-height:1.25}
.had-detail-content .had-teaching-longform h4,
.had-detail-content .had-syllabus-record h4{margin:20px 0 8px;color:#126a78;font-size:14px;line-height:1.3}
.had-detail-content .had-teaching-longform p,
.had-detail-content .had-syllabus-record p{margin:0 0 13px}
.had-detail-content .had-teaching-longform ul,
.had-detail-content .had-teaching-longform ol,
.had-detail-content .had-syllabus-record ul,
.had-detail-content .had-syllabus-record ol{margin:8px 0 18px;padding-left:22px}
.had-detail-content .had-teaching-longform li,
.had-detail-content .had-syllabus-record li{margin:0 0 7px}
.had-detail-content .had-syllabus-lead{padding:13px 15px;border-left:3px solid #0cb7ca;background:#e6f2f5;color:#164c5b}
.had-detail-content .had-teaching-table-wrap{max-width:100%;margin:10px 0 24px;overflow:auto;border:1px solid #a9c8d1;background:#fff;box-shadow:0 8px 24px rgba(15,63,75,.07)}
.had-detail-content .had-teaching-table{width:100%;min-width:850px;border-collapse:collapse;color:#234b59;font-size:12px;line-height:1.45}
.had-detail-content .had-teaching-table th{position:sticky;top:0;z-index:1;padding:10px 11px;border:1px solid #a8c8d1;background:#0b6373;color:#fff;text-align:left;font:700 10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
.had-detail-content .had-teaching-table td{padding:9px 11px;border:1px solid #c2d8de;vertical-align:top}
.had-detail-content .had-teaching-table tbody tr:nth-child(even){background:#edf6f8}
.had-detail-content .had-syllabus-record a{color:#007d91;text-decoration:underline;text-underline-offset:2px}

@media (max-width:1180px){
  .had-teaching-portfolio-layout{grid-template-columns:minmax(0,1.45fr) minmax(315px,.65fr)}
  .had-teaching-card-subtitle{font-size:8px}
  .had-teaching-card-metrics b{font-size:13px}
}

@media (max-width:900px){
  body.had-theme .had-teaching-portfolio-screen{height:auto!important;overflow:visible!important}
  .had-teaching-portfolio-layout{height:auto;display:block;overflow:visible}
  .had-teaching-overview-panel,.had-teaching-records-panel{height:auto;margin-bottom:10px;overflow:visible}
  .had-teaching-card-grid{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:minmax(190px,auto)}
  .had-teaching-stream{max-height:620px}
}

@media (max-width:600px){
  .had-teaching-card-grid{grid-template-columns:1fr}
  .had-teaching-stream-tools{grid-template-columns:1fr}
  .had-teaching-stream-tabs{justify-content:flex-start}
  .had-teaching-stream-row{grid-template-columns:20px 43px minmax(0,1fr) 14px}
  .had-teaching-stream-footer{flex-wrap:wrap}
}


/* ===== /assets/css/v432-teaching-popup-cleanup.css ===== */
/**
 * v4.3.2 Teaching popup cleanup.
 *
 * The shared drawer action styles explicitly set display:flex on links and
 * buttons. That author rule can override the browser's native [hidden]
 * presentation, which is why Open source remained visible in v4.3.1.
 */

/* Always respect the drawer's programmatic hidden state. */
.had-detail-overlay [data-had-detail-url][hidden],
.had-detail-overlay [data-had-copy][hidden],
.had-detail-overlay [data-had-citation-box][hidden] {
  display: none !important;
}

/* Teaching-page popups never expose source or citation-detail controls. */
body.had-view-teaching .had-detail-overlay [data-had-detail-url],
body.had-view-teaching .had-detail-overlay [data-had-copy],
body.had-view-teaching .had-detail-overlay [data-had-citation-box],
.had-detail-overlay.is-teaching-portfolio-context [data-had-detail-url],
.had-detail-overlay.is-teaching-portfolio-context [data-had-copy],
.had-detail-overlay.is-teaching-portfolio-context [data-had-citation-box],
.had-detail-drawer.is-teaching-portfolio-context [data-had-detail-url],
.had-detail-drawer.is-teaching-portfolio-context [data-had-copy],
.had-detail-drawer.is-teaching-portfolio-context [data-had-citation-box] {
  display: none !important;
}

/* Keep the approved Teaching popup return action visible. */
body.had-view-teaching .had-detail-overlay .had-drawer-actions [data-had-close],
.had-detail-overlay.is-teaching-portfolio-context .had-drawer-actions [data-had-close] {
  display: inline-flex;
}


/* ===== /assets/css/v433-teaching-philosophy.css ===== */
/*
 * v4.3.3 Teaching Philosophy content and Aristotle illustration.
 */

.had-detail-drawer.is-teaching-philosophy .had-record-cover{
  background:#f8fbfc;
  border:1px solid #b8d0d8;
  padding:10px;
}
.had-detail-drawer.is-teaching-philosophy .had-record-cover:before,
.had-detail-drawer.is-teaching-philosophy .had-record-cover>span,
.had-detail-drawer.is-teaching-philosophy .had-record-cover>b,
.had-detail-drawer.is-teaching-philosophy .had-record-cover>em,
.had-detail-drawer.is-teaching-philosophy .had-record-cover>i{
  display:none;
}
.had-detail-drawer.is-teaching-philosophy .had-record-cover img{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center top;
  background:#fff;
  filter:saturate(.9) contrast(1.02);
}
.had-detail-content .had-teaching-philosophy-record .had-philosophy-quote{
  margin:0 0 26px;
  padding:20px 22px 18px;
  border-left:4px solid #0ca5ba;
  background:linear-gradient(135deg,#e5f4f7,#f7fbfc);
  color:#164b59;
  box-shadow:0 10px 28px rgba(17,73,88,.08);
}
.had-detail-content .had-teaching-philosophy-record .had-philosophy-quote p{
  margin:0;
  color:#063d4b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(18px,1.6vw,25px);
  font-style:italic;
  line-height:1.45;
}
.had-detail-content .had-teaching-philosophy-record .had-philosophy-quote cite{
  display:block;
  margin-top:12px;
  color:#517986;
  font-size:12px;
  font-style:normal;
}
.had-detail-content .had-teaching-philosophy-record ul{
  margin:8px 0 20px;
  padding-left:24px;
}
.had-detail-content .had-teaching-philosophy-record li::marker{
  color:#098fa3;
}

@media (max-width:560px){
  .had-detail-drawer.is-teaching-philosophy .had-record-cover{
    width:170px;
    height:205px;
    margin-inline:auto;
  }
}


/* ===== /assets/css/v434-teaching-reader-engagement.css ===== */
/**
 * Version 4.3.4: reactions, comments and contained full-page readers for all
 * Teaching Portfolio and Pedagogical Practice records.
 */

/* Teaching popups use the same compact engagement-preview treatment as blog
 * popups, while preserving complete featured images such as certificates and
 * the Teaching Philosophy illustration. */
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary .had-blog-popup-engagement {
  display: block;
}
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary.has-feature-image .had-record-cover img {
  object-fit: contain;
  background: #eef4f6;
}
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary.has-feature-image .had-record-cover > span,
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary.has-feature-image .had-record-cover > b,
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary.has-feature-image .had-record-cover > em,
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary.has-feature-image .had-record-cover > i {
  display: none;
}
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary .had-lead {
  -webkit-line-clamp: 6;
}

/* The Teaching full page uses the same fixed application shell and independent
 * white reader pane as the Blog & Insights full page. */
html.had-document-page body.had-teaching-reader.had-theme {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.had-teaching-reader.had-theme .had-app-shell {
  height: 100dvh !important;
  min-height: 560px !important;
  overflow: hidden !important;
}
body.admin-bar.had-teaching-reader.had-theme .had-app-shell {
  height: calc(100dvh - 32px) !important;
}
body.had-teaching-reader.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar)) !important;
  min-height: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
}
body.admin-bar.had-teaching-reader.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar) - 32px) !important;
}
body.had-teaching-reader.had-theme .had-sidebar {
  position: relative !important;
  top: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
}
body.had-teaching-reader.had-theme .had-workspace {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.had-teaching-reader.had-theme .had-blog-single-screen {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 10px 14px 12px !important;
  overflow: hidden !important;
}
body.had-teaching-reader.had-theme .had-blog-single-header {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px;
  padding: 16px clamp(20px, 2.6vw, 38px) 17px;
  border: 1px solid #1d5265;
  background: linear-gradient(145deg, #062838, #075d66);
}
body.had-teaching-reader.had-theme .had-blog-single-header h1 {
  max-width: 1160px;
  margin: 8px 0 10px;
  font-size: clamp(27px, 2.75vw, 46px);
  line-height: 1.06;
  text-wrap: balance;
}
body.had-teaching-reader.had-theme .had-blog-single-meta {
  gap: 8px;
  font-size: 10px;
}
body.had-teaching-reader.had-theme .had-blog-return-top {
  margin-bottom: 2px;
  white-space: normal;
  text-align: center;
}
body.had-teaching-reader.had-theme .had-blog-single-article {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #16889a #d9e6ea;
  background: #f7fafb;
  color: #25404a;
  box-shadow: none !important;
  outline: none;
}
body.had-teaching-reader.had-theme .had-blog-single-article:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(10, 169, 186, .45) !important;
}
body.had-teaching-reader.had-theme .had-blog-single-article::-webkit-scrollbar {
  width: 12px;
}
body.had-teaching-reader.had-theme .had-blog-single-article::-webkit-scrollbar-track {
  background: #d9e6ea;
}
body.had-teaching-reader.had-theme .had-blog-single-article::-webkit-scrollbar-thumb {
  border: 3px solid #d9e6ea;
  border-radius: 999px;
  background: #16889a;
}
body.had-teaching-reader.had-theme .had-blog-single-inner {
  width: 100%;
  min-height: 100%;
  padding: clamp(18px, 1.7vw, 28px) clamp(52px, 3.25vw, 62px) clamp(30px, 3vw, 44px) clamp(18px, 1.9vw, 30px);
}
body.had-teaching-reader.had-theme .had-blog-single-inner > figure,
body.had-teaching-reader.had-theme .had-blog-single-copy,
body.had-teaching-reader.had-theme .had-blog-single-inner > .had-blog-engagement,
body.had-teaching-reader.had-theme .had-blog-single-actions {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.had-teaching-reader.had-theme .had-blog-single-inner > figure {
  margin-top: 0;
  margin-bottom: 26px;
  padding: 14px;
  border: 1px solid #c8dde2;
  background: #eef4f6;
  text-align: center;
}
body.had-teaching-reader.had-theme .had-blog-single-inner > figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 58vh;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
body.had-teaching-reader.had-theme .had-blog-single-copy {
  font-size: clamp(15px, .92vw, 17px);
  line-height: 1.72;
  overflow-wrap: anywhere;
}
body.had-teaching-reader.had-theme .had-blog-single-copy > :first-child {
  margin-top: 0;
}
body.had-teaching-reader.had-theme .had-blog-single-copy h2 {
  margin: 1.55em 0 .55em;
  color: #0a5362;
  font-size: clamp(23px, 1.7vw, 30px);
}
body.had-teaching-reader.had-theme .had-blog-single-copy h3 {
  margin: 1.4em 0 .45em;
  color: #0b6573;
  font-size: clamp(18px, 1.25vw, 23px);
}
body.had-teaching-reader.had-theme .had-blog-single-copy blockquote {
  margin: 0 0 28px;
  padding: 22px 26px;
  border-left: 4px solid #0aa9ba;
  background: #e8f5f7;
  color: #173f4c;
  font-size: 1.08em;
}
body.had-teaching-reader.had-theme .had-blog-single-copy ul,
body.had-teaching-reader.had-theme .had-blog-single-copy ol {
  padding-left: 24px;
}
body.had-teaching-reader.had-theme .had-blog-single-copy .had-teaching-table-wrap,
body.had-teaching-reader.had-theme .had-blog-single-copy .wp-block-table {
  max-width: 100%;
  overflow: auto;
  border: 1px solid #b7d1d8;
  background: #fff;
}
body.had-teaching-reader.had-theme .had-blog-single-copy .had-teaching-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 13px;
}
body.had-teaching-reader.had-theme .had-blog-single-copy .had-teaching-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 11px;
  border: 1px solid #a8c8d1;
  background: #0b6373;
  color: #fff;
  text-align: left;
}
body.had-teaching-reader.had-theme .had-blog-single-copy .had-teaching-table td {
  padding: 9px 11px;
  border: 1px solid #c2d8de;
  vertical-align: top;
}
body.had-teaching-reader.had-theme .had-blog-single-copy .had-teaching-table tbody tr:nth-child(even) {
  background: #edf6f8;
}
body.had-teaching-reader.had-theme .had-blog-scroll-controls {
  right: 10px;
}

@media (max-width: 900px) {
  body.had-teaching-reader.had-theme .had-sidebar {
    position: fixed !important;
    top: var(--had-topbar) !important;
    height: auto !important;
  }
  body.admin-bar.had-teaching-reader.had-theme .had-sidebar {
    top: calc(var(--had-topbar) + 46px) !important;
  }
  body.had-teaching-reader.had-theme .had-blog-single-screen {
    padding: 8px !important;
    gap: 8px;
  }
  body.had-teaching-reader.had-theme .had-blog-single-header {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 18px;
  }
  body.had-teaching-reader.had-theme .had-blog-single-header h1 {
    font-size: clamp(24px, 7vw, 38px);
  }
  body.had-teaching-reader.had-theme .had-blog-return-top {
    justify-self: start;
  }
  body.had-teaching-reader.had-theme .had-blog-single-inner {
    padding: 20px 54px 34px 18px;
  }
}

@media (max-width: 782px) {
  body.admin-bar.had-teaching-reader.had-theme .had-app-shell {
    height: calc(100dvh - 46px) !important;
  }
  body.admin-bar.had-teaching-reader.had-theme .had-shell-body {
    height: calc(100dvh - var(--had-topbar) - 46px) !important;
  }
}

@media (max-width: 560px) {
  body.had-teaching-reader.had-theme .had-blog-single-header {
    padding: 12px 14px;
  }
  body.had-teaching-reader.had-theme .had-blog-single-inner {
    padding: 18px 46px 30px 14px;
  }
  body.had-teaching-reader.had-theme .had-blog-single-copy {
    font-size: 15px;
    line-height: 1.68;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.had-teaching-reader.had-theme .had-blog-single-article {
    scroll-behavior: auto;
  }
}


/* ===== /assets/css/v435-teaching-portfolio-institution-images.css ===== */
/** v4.3.5 institutional photographs inside the Teaching Portfolio record. */
.had-institutional-portfolio-v435 .had-institution-gallery{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:14px;align-items:stretch;margin:14px 0 24px}
.had-institutional-portfolio-v435 .had-institution-figure{margin:14px 0 24px;padding:10px;border:1px solid #b8d2d9;background:#eef5f7;box-shadow:0 10px 28px rgba(10,61,74,.10)}
.had-institutional-portfolio-v435 .had-institution-gallery .had-institution-figure{height:100%;margin:0}
.had-institutional-portfolio-v435 .had-institution-photo{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#fff}
.had-institutional-portfolio-v435 .had-institution-gallery .had-institution-photo{height:clamp(190px,24vw,360px);max-height:none;object-fit:cover}
.had-institutional-portfolio-v435 .had-institution-gallery .is-compact .had-institution-photo{object-fit:contain}
.had-institutional-portfolio-v435 figcaption{padding:8px 4px 1px;color:#4d6f7a;font:700 10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;text-transform:uppercase;letter-spacing:.04em}
body.had-teaching-reader .had-institutional-portfolio-v435 .had-institution-figure{max-width:1180px;margin-left:auto;margin-right:auto}
body.had-teaching-reader .had-institutional-portfolio-v435 .had-institution-gallery{max-width:1180px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.had-institutional-portfolio-v435 .had-institution-gallery{grid-template-columns:1fr}.had-institutional-portfolio-v435 .had-institution-gallery .had-institution-photo{height:auto;max-height:360px;object-fit:contain}}


/* ===== /assets/css/v436-course-syllabi.css ===== */
/**
 * Version 4.3.6: full structured course syllabi and unique course images.
 */

.had-syllabus-record-v436{
  color:#254b58;
}
.had-syllabus-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 26px;
}
.had-syllabus-facts>div{
  min-width:0;
  padding:12px 14px;
  border:1px solid #b8d3da;
  background:linear-gradient(145deg,#edf7f8,#f9fcfc);
}
.had-syllabus-facts dt{
  margin:0 0 5px;
  color:#0b7080;
  font:700 10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.had-syllabus-facts dd{
  margin:0;
  color:#193f4c;
  font-weight:700;
  line-height:1.38;
}
.had-syllabus-section{
  margin:0 0 28px;
}
.had-syllabus-section>h2{
  padding-bottom:7px;
  border-bottom:1px solid #b8d3da;
}
.had-syllabus-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 24px;
  margin:10px 0 0;
  padding-left:22px!important;
}
.had-syllabus-list li{
  padding-left:2px;
  break-inside:avoid;
}
.had-syllabus-table-wrap{
  margin-top:12px;
}
.had-syllabus-table{
  min-width:680px!important;
}
body.had-teaching-syllabus-reader .had-blog-single-inner>figure{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  background:#fff;
}
body.had-teaching-syllabus-reader .had-blog-single-inner>figure img{
  max-height:62vh;
  object-fit:contain;
}
body.had-teaching-syllabus-reader .had-blog-single-copy{
  max-width:1500px;
  margin-inline:auto;
}
.had-detail-drawer.is-teaching-portfolio-context.is-blog-summary .had-record-cover img{
  object-position:center;
}

@media(max-width:1100px){
  .had-syllabus-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .had-syllabus-facts{grid-template-columns:1fr}
  .had-syllabus-list{grid-template-columns:1fr}
  .had-syllabus-table{min-width:620px!important}
}


/* ===== /assets/css/v441-teaching-layout-repair.css ===== */
/**
 * Version 5.0.23: Teaching Portfolio layout repair.
 * The retired teaching-evidence article rules are no longer needed.
 */

/* Academic Item editor guidance retained from the unified teaching model. */
.had-portfolio-help {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #b9d5db;
  background: #f3fafb;
}

/* Teaching Portfolio: make Latest teaching records as readable as the matching
 * records list used by collection dashboards. */
body.had-view-teaching.had-theme .had-teaching-portfolio-layout {
  grid-template-columns: minmax(0, 1.5fr) minmax(410px, .72fr) !important;
  gap: 10px !important;
}
body.had-view-teaching.had-theme .had-teaching-records-panel {
  padding: 12px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-tools > label {
  height: 36px !important;
  padding: 0 10px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-tools input {
  font-size: 11px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row {
  min-height: 82px !important;
  grid-template-columns: 28px 54px minmax(0, 1fr) 18px !important;
  gap: 9px !important;
  padding: 10px 6px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-number {
  font-size: 9px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row time {
  font-size: 16px !important;
  line-height: 1 !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row label {
  margin-bottom: 4px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row b {
  font-size: 13px !important;
  line-height: 1.28 !important;
  -webkit-line-clamp: 2 !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row em {
  margin-top: 5px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-row > .dashicons {
  width: 17px !important;
  height: 17px !important;
  font-size: 17px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-footer {
  min-height: 34px !important;
  font-size: 9px !important;
}
body.had-view-teaching.had-theme .had-teaching-stream-footer b {
  font-size: 12px !important;
}

@media (max-width: 1100px) {
  body.had-view-teaching.had-theme .had-teaching-portfolio-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(370px, .75fr) !important;
  }
}
@media (max-width: 900px) {
  body.had-view-teaching.had-theme .had-teaching-portfolio-layout {
    display: block !important;
  }
}
@media (max-width: 600px) {
  body.had-view-teaching.had-theme .had-teaching-stream-row {
    grid-template-columns: 23px 49px minmax(0, 1fr) 16px !important;
  }
}


/* ===== /assets/css/v450-unified-records-and-visuals.css ===== */
/* Hamed Academic Dashboard 4.5.0
   Unified record typography, overview imagery, project imagery, and full readers. */

/* --------------------------------------------------------------------------
   Shared readable record-stream typography
   -------------------------------------------------------------------------- */
.had-latest-list .had-record-row,
.had-collection-records .had-record-row,
.had-blog-list [data-had-blog-row],
.had-credential-list [data-had-credential-select],
.had-portfolio-index .had-code-project,
.had-project-output-list > button {
  min-height: 82px !important;
  padding: 12px 14px !important;
  gap: 12px !important;
  line-height: 1.35 !important;
}

.had-latest-list .had-record-row > span > label,
.had-collection-records .had-record-row > span > label,
.had-blog-list [data-had-blog-row] > span > label,
.had-credential-list [data-had-credential-select] small,
.had-project-output-list label,
.had-teaching-stream-row label {
  font-size: 10px !important;
  line-height: 1.3 !important;
  letter-spacing: .055em !important;
}

.had-latest-list .had-record-row > span > b,
.had-collection-records .had-record-row > span > b,
.had-blog-list [data-had-blog-row] > span > b,
.had-credential-list [data-had-credential-select] b,
.had-portfolio-index .had-code-project b,
.had-project-output-list b,
.had-teaching-stream-row b,
.had-timeline-item h2 {
  display: block;
  font-size: 13px !important;
  line-height: 1.34 !important;
  font-weight: 750 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.had-latest-list .had-record-row > span > em,
.had-collection-records .had-record-row > span > em,
.had-blog-list [data-had-blog-row] > span > em,
.had-credential-list [data-had-credential-select] small,
.had-portfolio-index .had-code-project p,
.had-project-output-list small,
.had-teaching-stream-row em,
.had-timeline-item b,
.had-timeline-item p {
  font-size: 11px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}

.had-latest-list .had-record-row time,
.had-collection-records .had-record-row time,
.had-blog-list [data-had-blog-row] time,
.had-teaching-stream-row time {
  min-width: 58px !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
}

.had-collection-records .had-record-row.is-detailed {
  min-height: 108px !important;
}

.had-collection-records .had-record-row.is-detailed p {
  margin-top: 7px;
  font-size: 11px !important;
  line-height: 1.48 !important;
  -webkit-line-clamp: 2;
}

.had-project-output-list > button {
  grid-template-columns: 36px minmax(0, 1fr) 18px !important;
  border-bottom: 1px solid #173c4e !important;
  color: #93adb8 !important;
  text-align: left !important;
}

/* --------------------------------------------------------------------------
   Images in scholarly and teaching overview cards
   -------------------------------------------------------------------------- */
.had-publication-overview-card,
.had-teaching-overview-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.had-overview-card-image {
  position: relative;
  z-index: 0;
  width: calc(100% + 2px);
  height: 104px;
  margin: -1px -1px 13px;
  overflow: hidden;
  border-bottom: 1px solid color-mix(in srgb, currentColor 34%, transparent);
  background: rgba(238, 249, 250, .95);
}

.had-overview-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 20, 31, .52));
  pointer-events: none;
}

.had-overview-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease, filter .45s ease;
}

.had-publication-overview-card:hover .had-overview-card-image img,
.had-teaching-overview-card:hover .had-overview-card-image img,
.had-publication-overview-card:focus-visible .had-overview-card-image img,
.had-teaching-overview-card:focus-visible .had-overview-card-image img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.03);
}

.had-publication-overview-head,
.had-teaching-card-head,
.had-publication-overview-card h3,
.had-teaching-overview-card h3,
.had-publication-evidence-summary,
.had-teaching-card-subtitle,
.had-teaching-card-metrics,
.had-teaching-card-action,
.had-publication-overview-card > p {
  position: relative;
  z-index: 1;
}

/* Portrait documents should remain visible rather than being cut into banners. */
.had-publication-overview-card[href*="had_type=book"] .had-overview-card-image img,
.had-publication-overview-card[href*="had_type=theses"] .had-overview-card-image img,
.had-publication-overview-card[href*="had_type=persian-articles"] .had-overview-card-image img,
.had-teaching-overview-card.had-accent-cyan .had-overview-card-image img,
.had-teaching-overview-card.had-accent-violet .had-overview-card-image img {
  object-fit: contain;
  background: #eef7f7;
}

/* --------------------------------------------------------------------------
   Project-card imagery
   -------------------------------------------------------------------------- */
.had-project-card {
  overflow: hidden;
  align-content: start;
}

.had-project-card-image {
  width: calc(100% + 28px);
  height: 118px;
  margin: -14px -14px 12px;
  overflow: hidden;
  border-bottom: 1px solid rgba(25, 220, 235, .24);
  background: rgba(235, 248, 250, .94);
}

.had-project-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .5s ease;
}

.had-project-card:hover .had-project-card-image img,
.had-project-card:focus-visible .had-project-card-image img {
  transform: scale(1.035);
}

.had-project-group-completed .had-project-card-image {
  height: 90px;
}

/* --------------------------------------------------------------------------
   Contained application shell for every supported full record
   -------------------------------------------------------------------------- */
html.had-document-page,
html.had-document-page body.had-unified-record-reader.had-theme {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.had-unified-record-reader.had-theme .had-app-shell {
  height: 100dvh !important;
  min-height: 560px !important;
  overflow: hidden !important;
}
body.admin-bar.had-unified-record-reader.had-theme .had-app-shell {
  height: calc(100dvh - 32px) !important;
}
body.had-unified-record-reader.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar)) !important;
  min-height: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
}
body.admin-bar.had-unified-record-reader.had-theme .had-shell-body {
  height: calc(100dvh - var(--had-topbar) - 32px) !important;
}
body.had-unified-record-reader.had-theme .had-sidebar {
  position: relative !important;
  top: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
}
body.had-unified-record-reader.had-theme .had-workspace {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.had-unified-record-reader.had-theme .had-v450-record-reader {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 10px 14px 12px !important;
  overflow: hidden !important;
}
body.had-unified-record-reader.had-theme .had-v450-record-header {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 20px !important;
  padding: 16px clamp(20px, 2.6vw, 38px) 17px !important;
  border: 1px solid #1d5265 !important;
  background: linear-gradient(145deg, #062838, #075d66) !important;
}
body.had-unified-record-reader.had-theme .had-v450-record-header h1 {
  margin: 8px 0 10px !important;
  font-size: clamp(27px, 2.75vw, 46px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}
body.had-unified-record-reader.had-theme .had-v450-record-header .had-blog-single-meta {
  gap: 8px !important;
  font-size: 10px !important;
}
body.had-unified-record-reader.had-theme .had-v450-reader-stage {
  min-width: 0 !important;
  min-height: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(43, 93, 112, .72) !important;
  background: #eef4f6 !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2) !important;
}
body.had-unified-record-reader.had-theme .had-v450-record-article {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-behavior: smooth !important;
  scrollbar-gutter: stable !important;
  scrollbar-width: thin !important;
  scrollbar-color: #16889a #d9e6ea !important;
  background: #f7fafb !important;
  color: #25404a !important;
  box-shadow: none !important;
  outline: none !important;
}
body.had-unified-record-reader.had-theme .had-v450-record-article::-webkit-scrollbar { width: 12px; }
body.had-unified-record-reader.had-theme .had-v450-record-article::-webkit-scrollbar-track { background: #d9e6ea; }
body.had-unified-record-reader.had-theme .had-v450-record-article::-webkit-scrollbar-thumb {
  border: 3px solid #d9e6ea;
  border-radius: 999px;
  background: #16889a;
}
body.had-unified-record-reader.had-theme .had-v450-record-inner {
  min-height: 100% !important;
}
body.had-unified-record-reader.had-theme .had-blog-scroll-controls { right: 10px !important; }

/* --------------------------------------------------------------------------
   Unified full-page readers
   -------------------------------------------------------------------------- */
.had-v450-record-reader {
  min-height: 0;
}

.had-v450-record-header {
  gap: 28px;
}

.had-v450-record-header .had-blog-single-heading {
  min-width: 0;
  flex: 1 1 auto;
}

.had-v450-record-header h1 {
  max-width: 1120px;
  font-size: clamp(30px, 3.1vw, 58px);
  line-height: 1.07;
  overflow-wrap: anywhere;
}

.had-v450-return-button {
  width: auto !important;
  max-width: min(100%, 480px) !important;
  min-width: 0 !important;
  min-height: 46px;
  padding: 12px 18px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
}

.had-v450-reader-stage {
  min-width: 0;
}

.had-v450-record-article {
  width: 100%;
  max-width: none;
  background: #f7fbfc;
  color: #103a45;
}

.had-v450-record-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(22px, 2.5vw, 44px) !important;
  box-sizing: border-box;
}

.had-v450-record-hero {
  width: min(100%, 1180px);
  max-height: min(55vh, 660px);
  margin: 0 auto 26px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #b8d5dd;
  background: #edf6f8;
  box-shadow: 0 16px 36px rgba(1, 34, 50, .1);
}

.had-v450-record-hero img {
  width: 100%;
  max-height: min(55vh, 660px);
  display: block;
  object-fit: contain;
  object-position: center;
}

.had-v450-record-details {
  width: 100%;
  margin: 0 0 26px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  border-top: 1px solid #b8d5dd;
  border-left: 1px solid #b8d5dd;
  background: #f1f8f9;
}

.had-v450-record-details > div {
  min-height: 78px;
  padding: 13px 15px;
  border-right: 1px solid #b8d5dd;
  border-bottom: 1px solid #b8d5dd;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-wrap: anywhere;
}

.had-v450-record-details small,
.had-v450-abstract > small {
  color: #087786;
  font-family: var(--had-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}

.had-v450-record-details b {
  color: #073b49;
  font-size: 13px;
  line-height: 1.42;
}

.had-v450-record-details a {
  color: #006f7c;
  text-decoration: none;
}

.had-v450-abstract {
  width: 100%;
  margin: 0 0 26px;
  padding: 20px 22px;
  border-left: 4px solid #00b9ca;
  background: #e9f6f8;
}

.had-v450-abstract p {
  margin: 9px 0 0;
  max-width: none;
  color: #264f59;
  font-size: 15px;
  line-height: 1.72;
  text-align: left;
}

.had-v450-reader-copy {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  color: #183f49;
  text-align: left !important;
}

.had-v450-reader-copy > * {
  max-width: none;
}

.had-v450-reader-copy p,
.had-v450-reader-copy li,
.had-v450-reader-copy td,
.had-v450-reader-copy th {
  font-size: clamp(14px, .92vw, 17px);
  line-height: 1.72;
  text-align: left;
}

.had-v450-reader-copy h2,
.had-v450-reader-copy h3,
.had-v450-reader-copy h4 {
  color: #005463;
  text-align: left;
  overflow-wrap: anywhere;
}

.had-v450-reader-copy img,
.had-v450-reader-copy figure,
.had-v450-reader-copy .wp-block-image {
  max-width: 100%;
  height: auto;
}

.had-v450-reader-copy table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.had-v450-reader-tags {
  margin-top: 28px;
}

.had-v450-record-reader .had-blog-engagement {
  width: 100%;
  max-width: none;
  margin: 32px 0 0;
}

.had-v450-record-reader .had-blog-reaction-panel,
.had-v450-record-reader .had-blog-discussion {
  width: 100%;
  max-width: none;
}

.had-v450-bottom-actions {
  width: 100%;
  margin-top: 26px;
  display: flex;
  justify-content: flex-start;
}

/* Credentials always reserve a clean certificate stage when a fallback image exists. */
.had-credential-certificate {
  background: #edf5f7;
}

.had-credential-certificate img {
  object-fit: contain !important;
}

@media (max-width: 980px) {
  .had-overview-card-image { height: 90px; }
  .had-project-card-image { height: 105px; }
  .had-v450-record-header { align-items: flex-start; flex-direction: column; }
  .had-v450-record-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .had-v450-record-inner { padding: 20px !important; }
}

@media (max-width: 640px) {
  .had-latest-list .had-record-row,
  .had-collection-records .had-record-row,
  .had-blog-list [data-had-blog-row] {
    min-height: 96px;
    padding: 12px 10px;
  }
  .had-v450-record-details { grid-template-columns: 1fr; }
  .had-v450-record-inner { padding: 14px !important; }
  .had-v450-record-hero { margin-bottom: 18px; }
  .had-v450-return-button { max-width: 100% !important; }
}


@media (max-width: 900px) {
  body.had-unified-record-reader.had-theme .had-sidebar {
    position: fixed !important;
    top: var(--had-topbar) !important;
    height: auto !important;
  }
  body.admin-bar.had-unified-record-reader.had-theme .had-sidebar {
    top: calc(var(--had-topbar) + 46px) !important;
  }
  body.had-unified-record-reader.had-theme .had-v450-record-reader {
    padding: 8px !important;
    gap: 8px !important;
  }
  body.had-unified-record-reader.had-theme .had-v450-record-header {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px 18px !important;
  }
  body.had-unified-record-reader.had-theme .had-v450-record-header h1 {
    font-size: clamp(24px, 7vw, 38px) !important;
  }
  body.had-unified-record-reader.had-theme .had-v450-record-header .had-v450-return-button {
    justify-self: start !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar.had-unified-record-reader.had-theme .had-app-shell {
    height: calc(100dvh - 46px) !important;
  }
  body.admin-bar.had-unified-record-reader.had-theme .had-shell-body {
    height: calc(100dvh - var(--had-topbar) - 46px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-overview-card-image img,
  .had-project-card-image img { transition: none; }
}


/* ===== /assets/css/v451-image-fit-and-publication-cards.css ===== */
/* Hamed Academic Dashboard 4.5.1
   Complete image fitting, compact publication evidence cards, and credential-stage consistency. */

/* --------------------------------------------------------------------------
   Shared image stages: show the complete source image and never crop it.
   -------------------------------------------------------------------------- */
.had-overview-card-image,
.had-project-card-image,
.had-credential-certificate {
  position: relative;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(229,241,244,.98)) !important;
  box-shadow: inset 0 0 0 1px rgba(23, 78, 97, .12);
}

.had-overview-card-image::after,
.had-project-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(18, 151, 170, .035) 1px, transparent 1px),
    linear-gradient(rgba(18, 151, 170, .035) 1px, transparent 1px);
  background-size: 18px 18px;
  box-shadow: inset 0 -1px rgba(0, 55, 72, .18);
}

.had-overview-card-image img,
.had-project-card-image img {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 7px 11px;
  display: block !important;
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  transform: none !important;
  filter: none !important;
}

.had-publication-overview-card:hover .had-overview-card-image img,
.had-teaching-overview-card:hover .had-overview-card-image img,
.had-project-card:hover .had-project-card-image img,
.had-publication-overview-card:focus-visible .had-overview-card-image img,
.had-teaching-overview-card:focus-visible .had-overview-card-image img,
.had-project-card:focus-visible .had-project-card-image img {
  transform: none !important;
  filter: none !important;
}

/* Keep the wider image stages proportional while retaining every pixel. */
.had-project-card-image {
  height: 122px;
}
.had-project-group-completed .had-project-card-image {
  height: 98px;
}

/* --------------------------------------------------------------------------
   Publication cards: teaching-card logic adapted to scholarly outputs.
   -------------------------------------------------------------------------- */
.had-publication-overview-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-width: 0;
}

.had-publication-overview-card .had-overview-card-image {
  flex: 0 0 auto;
}

.had-publication-overview-card h3 {
  min-height: 0 !important;
  margin: 7px 0 3px !important;
  font-size: clamp(13px, .98vw, 16px) !important;
  line-height: 1.18 !important;
}

.had-publication-card-subtitle {
  position: relative;
  z-index: 1;
  min-height: 27px;
  margin: 0 !important;
  color: #87a5b2 !important;
  font-size: 9px !important;
  line-height: 1.42 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.had-publication-overview-card .had-publication-evidence-summary {
  min-height: 0 !important;
  margin: auto 0 0 !important;
  padding-top: 8px;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

.had-publication-overview-card .had-publication-evidence-summary > span {
  width: auto !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 6px 7px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  border: 1px solid #17475d !important;
  background: rgba(3,22,34,.68) !important;
  text-align: left !important;
}

.had-publication-overview-card .had-publication-evidence-summary b {
  display: block;
  color: var(--card-accent, var(--had-cyan)) !important;
  font: 500 15px/1.1 ui-monospace, SFMono-Regular, Consolas, monospace !important;
}

.had-publication-overview-card .had-publication-evidence-summary small {
  display: block;
  margin-top: 4px !important;
  color: #668899 !important;
  font: 700 7px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.had-publication-card-action {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  color: var(--card-accent, var(--had-cyan));
  font: 700 8px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .075em;
}

.had-publication-card-action .dashicons {
  width: 13px;
  height: 13px;
  font-size: 13px;
  transition: transform .2s ease;
}

.had-publication-overview-card:hover .had-publication-card-action .dashicons,
.had-publication-overview-card:focus-visible .had-publication-card-action .dashicons {
  transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   Credential preview: full certificate, centred, consistent across formats.
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-certificate {
  width: min(860px, 100%) !important;
  height: clamp(205px, 30vh, 285px) !important;
  min-height: 205px !important;
  padding: 12px !important;
}

.had-credentials-v3 .had-credential-image {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  transform: none !important;
}

/* The short desktop viewport used in the supplied screenshots. */
@media (min-width: 901px) and (max-height: 920px) {
  .had-publications-final .had-publication-overview-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: 7px 9px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .had-publications-final .had-publication-overview-card .had-overview-card-image {
    width: calc(100% + 18px) !important;
    height: 60px !important;
    margin: -7px -9px 5px !important;
  }

  .had-publications-final .had-publication-overview-card .had-overview-card-image img {
    padding: 4px 8px !important;
  }

  .had-publications-final .had-publication-overview-head {
    min-height: 22px !important;
  }

  .had-publications-final .had-publication-overview-head > span {
    width: 23px !important;
    height: 23px !important;
  }

  .had-publications-final .had-publication-overview-head .dashicons {
    width: 13px !important;
    height: 13px !important;
    font-size: 13px !important;
  }

  .had-publications-final .had-publication-overview-head > b {
    font-size: 16px !important;
  }

  .had-publications-final .had-publication-overview-card h3 {
    margin: 3px 0 2px !important;
    font-size: 10px !important;
    line-height: 1.12 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .had-publications-final .had-publication-card-subtitle {
    display: none !important;
  }

  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary {
    height: auto !important;
    min-height: 0 !important;
    margin-top: auto !important;
    padding-top: 4px !important;
    gap: 4px !important;
  }

  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary > span {
    height: auto !important;
    min-height: 29px !important;
    padding: 3px 5px !important;
  }

  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary b {
    font-size: 12px !important;
  }

  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary small {
    margin-top: 2px !important;
    font-size: 6px !important;
  }

  .had-publications-final .had-publication-card-action {
    margin-top: 4px !important;
    font-size: 6.5px !important;
    letter-spacing: .055em !important;
  }

  .had-publications-final .had-publication-card-action .dashicons {
    width: 10px !important;
    height: 10px !important;
    font-size: 10px !important;
  }

  .had-teaching-overview-card .had-overview-card-image {
    height: 86px !important;
    margin-bottom: 8px !important;
  }

  .had-project-card-image {
    height: 112px !important;
  }

  .had-project-group-completed .had-project-card-image {
    height: 92px !important;
  }

  .had-credentials-v3 .had-credential-certificate {
    height: clamp(190px, 28vh, 245px) !important;
    min-height: 190px !important;
  }
}

@media (max-width: 900px) {
  .had-overview-card-image img,
  .had-project-card-image img {
    padding: 6px 8px;
  }

  .had-credentials-v3 .had-credential-certificate {
    width: 100% !important;
    height: clamp(220px, 52vw, 340px) !important;
  }
}


/* ===== /assets/css/v452-publication-abstracts.css ===== */
/* Hamed Academic Dashboard 4.5.2
   Publication abstracts, keywords, thesis summaries, and DOI-complete citations. */

/* --------------------------------------------------------------------------
   Collection drawer: readable publication metadata without crowding the body.
   -------------------------------------------------------------------------- */
.had-publication-abstract,
.had-publication-keywords {
  width: 100%;
  box-sizing: border-box;
}

.had-publication-abstract[hidden],
.had-publication-keywords[hidden] {
  display: none !important;
}

.had-publication-abstract {
  margin: 18px 0 0;
  padding: 16px 18px;
  border-left: 3px solid var(--drawer-accent, var(--had-cyan));
  background: linear-gradient(135deg, #e8f4f6, #f4f8f9);
  box-shadow: inset 0 0 0 1px rgba(7, 121, 138, .10);
}

.had-publication-abstract > small,
.had-publication-keywords > small,
.had-v452-reader-keywords > small {
  display: block;
  color: #08798a;
  font-family: var(--had-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.had-publication-abstract > p {
  margin: 9px 0 0;
  max-width: none;
  color: #294f5c;
  font-size: 12px;
  line-height: 1.72;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.had-publication-keywords {
  margin: 13px 0 0;
  padding: 13px 15px 15px;
  border: 1px solid #c1d8de;
  background: #f4f8f9;
}

.had-publication-keywords > div,
.had-v452-reader-keywords > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
}

.had-publication-keywords > div > span,
.had-v452-reader-keywords > div > span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px;
  border: 1px solid #a9cbd2;
  border-radius: 999px;
  background: #fff;
  color: #28515e;
  font-size: 10px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Leave room for long abstracts while retaining a compact citation panel. */
.had-detail-drawer .had-record-copy {
  min-width: 0;
}

.had-detail-drawer .had-rich-content {
  margin-top: 15px;
}

/* --------------------------------------------------------------------------
   Full record reader: publication and thesis abstract/keyword blocks.
   -------------------------------------------------------------------------- */
.had-v452-reader-abstract {
  margin-bottom: 15px !important;
}

.had-v452-reader-abstract p {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.had-v452-reader-keywords {
  width: 100%;
  margin: 0 0 26px;
  padding: 16px 18px 18px;
  border: 1px solid #bdd5dc;
  background: #f1f7f8;
  box-sizing: border-box;
}

.had-v452-reader-keywords > div > span {
  min-height: 28px;
  padding: 6px 10px;
  border-color: #9fc6ce;
  color: #174b58;
  font-size: 11px;
}

/* --------------------------------------------------------------------------
   Responsive drawer treatment.
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .had-publication-abstract {
    margin-top: 15px;
    padding: 14px 15px;
  }

  .had-publication-abstract > p {
    font-size: 11px;
    line-height: 1.68;
  }

  .had-publication-keywords,
  .had-v452-reader-keywords {
    padding: 12px 13px 14px;
  }
}

@media (max-width: 620px) {
  .had-publication-abstract > p,
  .had-v452-reader-abstract p {
    font-size: 11px !important;
    line-height: 1.62 !important;
  }

  .had-publication-keywords > div > span,
  .had-v452-reader-keywords > div > span {
    font-size: 9px;
  }
}


/* ===== /assets/css/v452-image-stage-redesign.css ===== */
/* Hamed Academic Dashboard 4.5.2
   Image-stage redesign: complete visuals, crop-safe card assets, and readable evidence cards. */

/* --------------------------------------------------------------------------
   Universal stage behaviour. The complete foreground image remains visible;
   a soft ambient layer fills unused space for arbitrary WordPress uploads.
   -------------------------------------------------------------------------- */
.had-overview-card-image,
.had-project-card-image,
.had-credential-certificate {
  position: relative !important;
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f7fcfd, #dceff3) !important;
  border-color: rgba(34, 159, 178, .24) !important;
}

.had-overview-card-image::before,
.had-project-card-image::before,
.had-credential-certificate::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -22px;
  background-image: linear-gradient(rgba(230, 247, 249, .72), rgba(225, 241, 245, .86)), var(--had-stage-image, none);
  background-position: center;
  background-size: cover;
  filter: blur(13px) saturate(.88) contrast(.92);
  opacity: .68;
  transform: scale(1.08);
  pointer-events: none;
}

.had-overview-card-image::after,
.had-project-card-image::after,
.had-credential-certificate::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 52, 67, .04) 1px, transparent 1px),
    linear-gradient(rgba(4, 52, 67, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,69,87,.06));
  background-size: 22px 22px, 22px 22px, auto;
  box-shadow: inset 0 0 0 1px rgba(18, 86, 105, .12);
  pointer-events: none;
}

.had-overview-card-image img,
.had-project-card-image img,
.had-credential-certificate img {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  transform: none !important;
  filter: drop-shadow(0 8px 14px rgba(0, 40, 55, .12)) !important;
}

/* Bundled v4.5.2 canvases already include safe margins and may fill the stage. */
.had-overview-card-image img[src*="/v452-stages/"],
.had-project-card-image img[src*="/v452-stages/"],
.had-credential-certificate img[src*="/v452-stages/"] {
  padding: 0 !important;
  object-fit: cover !important;
  filter: none !important;
}

.had-publication-overview-card:hover .had-overview-card-image img,
.had-teaching-overview-card:hover .had-overview-card-image img,
.had-project-card:hover .had-project-card-image img,
.had-publication-overview-card:focus-visible .had-overview-card-image img,
.had-teaching-overview-card:focus-visible .had-overview-card-image img,
.had-project-card:focus-visible .had-project-card-image img {
  transform: none !important;
  filter: none !important;
}

/* Project images: taller, crop-safe stages across all three status groups. */
.had-research-v301 .had-project-card-image {
  width: calc(100% + 26px) !important;
  height: clamp(132px, 10vw, 158px) !important;
  min-height: 132px !important;
  margin: -13px -13px 11px !important;
  flex: 0 0 auto !important;
}
.had-research-v301 .had-project-group-completed .had-project-card-image {
  height: clamp(116px, 8.4vw, 136px) !important;
  min-height: 116px !important;
}

/* Teaching overview images retain the full visual and a consistent card rhythm. */
.had-teaching-overview-card .had-overview-card-image {
  width: calc(100% + 2px) !important;
  height: 112px !important;
  min-height: 112px !important;
  margin: -1px -1px 10px !important;
  flex: 0 0 auto !important;
}

/* Credential detail: use more of the available right panel and preserve every edge. */
.had-credentials-v3 .had-credential-certificate {
  width: min(920px, 100%) !important;
  height: clamp(270px, 36vh, 355px) !important;
  min-height: 270px !important;
  padding: 0 !important;
  margin-top: 14px !important;
}
.had-credentials-v3 .had-credential-image {
  float: none !important;
}

/* --------------------------------------------------------------------------
   Publication overview: teaching-style evidence blocks remain visible.
   The left catalogue scrolls independently instead of cropping the cards.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .had-publications-final .had-publication-dashboard {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 10px !important;
    scrollbar-gutter: stable;
  }
  .had-publications-final .had-publication-section {
    display: block !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .had-publications-final .had-publication-section + .had-publication-section {
    margin-top: 15px !important;
    padding-top: 0 !important;
  }
  .had-publications-final .had-publication-section .had-section-title {
    height: auto !important;
    min-height: 30px !important;
    margin-bottom: 6px !important;
  }
  .had-publications-final .had-publication-card-grid {
    display: grid !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 8px !important;
    padding-top: 0 !important;
    overflow: visible !important;
  }
  .had-publications-final .had-output-grid,
  .had-publications-final .had-dissemination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: minmax(226px, auto) !important;
  }
  .had-publications-final .had-publication-overview-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 226px !important;
    padding: 8px 10px 9px !important;
    overflow: hidden !important;
  }
  .had-publications-final .had-publication-overview-card .had-overview-card-image {
    width: calc(100% + 20px) !important;
    height: 86px !important;
    min-height: 86px !important;
    margin: -8px -10px 6px !important;
  }
  .had-publications-final .had-publication-overview-head {
    min-height: 24px !important;
  }
  .had-publications-final .had-publication-overview-head > span {
    width: 26px !important;
    height: 26px !important;
  }
  .had-publications-final .had-publication-overview-head > b {
    font-size: 16px !important;
  }
  .had-publications-final .had-publication-overview-card h3 {
    margin: 4px 0 2px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .had-publications-final .had-publication-card-subtitle {
    display: -webkit-box !important;
    min-height: 23px !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1.35 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
    padding-top: 5px !important;
    gap: 5px !important;
  }
  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary > span {
    height: auto !important;
    min-height: 36px !important;
    padding: 4px 6px !important;
  }
  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary b {
    font-size: 13px !important;
  }
  .had-publications-final .had-publication-overview-card .had-publication-evidence-summary small {
    margin-top: 2px !important;
    font-size: 6px !important;
  }
  .had-publications-final .had-publication-card-action {
    margin-top: 5px !important;
    font-size: 7px !important;
    line-height: 1.2 !important;
  }
}

@media (min-width: 901px) and (max-height: 820px) {
  .had-research-v301 .had-project-card-image {
    height: 128px !important;
    min-height: 128px !important;
  }
  .had-research-v301 .had-project-group-completed .had-project-card-image {
    height: 112px !important;
    min-height: 112px !important;
  }
  .had-teaching-overview-card .had-overview-card-image {
    height: 96px !important;
    min-height: 96px !important;
  }
  .had-credentials-v3 .had-credential-certificate {
    height: 245px !important;
    min-height: 245px !important;
  }
}

@media (max-width: 900px) {
  .had-research-v301 .had-project-card-image {
    height: clamp(150px, 34vw, 220px) !important;
  }
  .had-research-v301 .had-project-group-completed .had-project-card-image {
    height: clamp(140px, 32vw, 205px) !important;
  }
  .had-teaching-overview-card .had-overview-card-image,
  .had-publication-overview-card .had-overview-card-image {
    height: clamp(110px, 27vw, 170px) !important;
  }
  .had-credentials-v3 .had-credential-certificate {
    height: clamp(270px, 62vw, 410px) !important;
  }
}


/* ===== /assets/css/v453-thesis-covers.css ===== */
/* Version 4.5.3: complete thesis-cover presentation. */

.had-detail-drawer.is-thesis-record .had-drawer-body {
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  align-items: start;
}

.had-detail-drawer.is-thesis-record .had-record-cover {
  width: 100%;
  height: 430px;
  padding: 12px;
  border: 1px solid #a9cbd2;
  background: #eef5f6;
  box-shadow: 0 18px 38px rgba(0, 28, 40, .16);
}

.had-detail-drawer.is-thesis-record .had-record-cover:before {
  inset: 11px;
  border-color: rgba(2, 125, 143, .24);
  pointer-events: none;
}

.had-detail-drawer.is-thesis-record .had-record-cover img {
  inset: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.had-detail-drawer.is-thesis-record .had-record-cover img:not([hidden]) ~ span,
.had-detail-drawer.is-thesis-record .had-record-cover img:not([hidden]) ~ b,
.had-detail-drawer.is-thesis-record .had-record-cover img:not([hidden]) ~ em,
.had-detail-drawer.is-thesis-record .had-record-cover img:not([hidden]) ~ i {
  display: none;
}

/* The full record reader already uses object-fit: contain; this keeps portrait
   thesis covers at a readable width without stretching them. */
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="theses"] .had-v450-record-hero {
  width: min(100%, 760px);
  min-height: min(66vh, 620px);
  padding: clamp(14px, 2vw, 26px);
  background: #f3f8f9;
}

body.had-unified-record-reader .had-v450-record-article[data-had-record-type="theses"] .had-v450-record-hero img {
  width: auto;
  max-width: 100%;
  max-height: min(66vh, 620px);
  object-fit: contain;
}

@media (max-width: 760px) {
  .had-detail-drawer.is-thesis-record .had-drawer-body {
    display: block;
  }

  .had-detail-drawer.is-thesis-record .had-record-cover {
    width: min(310px, 100%);
    height: min(430px, 64vh);
    margin: 0 auto 22px;
  }
}


/* ===== /assets/css/v454-challenge-turku.css ===== */
/* Version 4.5.4: Challenge Turku Innovation Camp photograph and recognition. */

/* The bundled canvas already contains the complete photograph and safe margins. */
.had-credential-certificate img[src*="/v454-stages/"] {
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
}

/* Keep the group photograph comfortably visible on compact screens. */
@media (max-width: 900px) {
  .had-credential-certificate img[src*="/v454-stages/"] {
    object-fit: contain !important;
    background: rgba(232, 246, 249, .92) !important;
  }
}


/* ===== /assets/css/v455-arcada-big-data-education.css ===== */
/* Version 4.5.5: complete Arcada diploma display in Career & Education. */

.had-detail-drawer.is-career-education-record .had-drawer-body {
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 42px);
}

.had-detail-drawer.is-career-education-record .had-record-cover {
  width: 100%;
  height: clamp(340px, 52vh, 430px);
  padding: 12px;
  display: grid;
  place-items: center;
  background: #f3f7f8;
  border: 1px solid #b9d6dd;
  box-shadow: 0 18px 38px rgba(0, 31, 48, .16);
}

.had-detail-drawer.is-career-education-record .had-record-cover:before {
  display: none;
}

.had-detail-drawer.is-career-education-record .had-record-cover img {
  position: static;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.had-detail-drawer.is-career-education-record .had-record-cover img:not([hidden]) ~ span,
.had-detail-drawer.is-career-education-record .had-record-cover img:not([hidden]) ~ b,
.had-detail-drawer.is-career-education-record .had-record-cover img:not([hidden]) ~ em,
.had-detail-drawer.is-career-education-record .had-record-cover img:not([hidden]) ~ i {
  display: none;
}

.had-detail-drawer.is-career-education-record .had-rich-content {
  max-height: none;
  overflow: visible;
}

.had-detail-drawer.is-career-education-record .had-rich-content h3 {
  margin: 18px 0 8px;
  color: #154a5b;
  font-size: 14px;
}

.had-detail-drawer.is-career-education-record .had-rich-content ul {
  margin: 0;
  padding-left: 20px;
}

.had-detail-drawer.is-career-education-record .had-rich-content li {
  margin: 0 0 8px;
}

@media (max-width: 760px) {
  .had-detail-drawer.is-career-education-record .had-drawer-body {
    display: block;
  }

  .had-detail-drawer.is-career-education-record .had-record-cover {
    width: min(100%, 320px);
    height: min(430px, 58vh);
    margin: 0 auto 22px;
  }
}


/* ===== /assets/css/v457-publication-venue-covers.css ===== */
/* Version 4.5.7: crop-safe journal and conference cover presentation. */

.had-detail-drawer.is-publication-venue-record .had-drawer-body {
  grid-template-columns: minmax(270px, 360px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 44px);
  align-items: start;
}

.had-detail-drawer.is-publication-venue-record .had-record-cover {
  width: 100%;
  height: clamp(360px, 58vh, 520px);
  padding: clamp(12px, 1.5vw, 20px);
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #aacbd3;
  background:
    radial-gradient(circle at 22% 18%, rgba(34, 211, 238, .16), transparent 34%),
    linear-gradient(145deg, #eaf3f5 0%, #f8fbfc 55%, #e5eff2 100%);
  box-shadow: 0 20px 44px rgba(0, 31, 48, .17);
}

.had-detail-drawer.is-publication-venue-record .had-record-cover::before {
  display: none;
}

.had-detail-drawer.is-publication-venue-record .had-record-cover img {
  position: static;
  inset: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  display: block;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent;
  filter: drop-shadow(0 10px 16px rgba(0, 25, 37, .18));
}

.had-detail-drawer.is-publication-venue-record .had-record-cover img:not([hidden]) ~ span,
.had-detail-drawer.is-publication-venue-record .had-record-cover img:not([hidden]) ~ b,
.had-detail-drawer.is-publication-venue-record .had-record-cover img:not([hidden]) ~ em,
.had-detail-drawer.is-publication-venue-record .had-record-cover img:not([hidden]) ~ i {
  display: none;
}

.had-detail-drawer.is-publication-venue-record .had-rich-content {
  max-height: min(31vh, 280px);
}

body.had-unified-record-reader .had-v450-record-article[data-had-record-type="journal-papers"] .had-v450-record-hero,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="persian-articles"] .had-v450-record-hero,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conference-presentations"] .had-v450-record-hero,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conferences"] .had-v450-record-hero {
  width: min(100%, 1120px);
  height: clamp(390px, 62vh, 720px);
  max-height: none;
  padding: clamp(16px, 2.4vw, 34px);
  border-color: #aecfd7;
  background:
    radial-gradient(circle at 18% 16%, rgba(34, 211, 238, .14), transparent 32%),
    linear-gradient(145deg, #e9f3f5 0%, #fbfdfd 55%, #e4eef1 100%);
}

body.had-unified-record-reader .had-v450-record-article[data-had-record-type="journal-papers"] .had-v450-record-hero img,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="persian-articles"] .had-v450-record-hero img,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conference-presentations"] .had-v450-record-hero img,
body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conferences"] .had-v450-record-hero img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 14px 22px rgba(0, 24, 38, .18));
}

@media (max-width: 760px) {
  .had-detail-drawer.is-publication-venue-record .had-drawer-body {
    display: block;
  }

  .had-detail-drawer.is-publication-venue-record .had-record-cover {
    width: min(100%, 360px);
    height: min(500px, 62vh);
    margin: 0 auto 24px;
  }

  body.had-unified-record-reader .had-v450-record-article[data-had-record-type="journal-papers"] .had-v450-record-hero,
  body.had-unified-record-reader .had-v450-record-article[data-had-record-type="persian-articles"] .had-v450-record-hero,
  body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conference-presentations"] .had-v450-record-hero,
  body.had-unified-record-reader .had-v450-record-article[data-had-record-type="conferences"] .had-v450-record-hero {
    height: min(64vh, 560px);
    min-height: 320px;
    padding: 12px;
  }
}


/* ===== /assets/css/v458-visual-system.css ===== */
/* Hamed Academic Dashboard 4.5.8
   Fully visible overview imagery, automatic credential colour stages, and
   non-text media protection effects for record popups. */

/* --------------------------------------------------------------------------
   Teaching and publication overview cards
   -------------------------------------------------------------------------- */
.had-teaching-overview-card .had-overview-card-image,
.had-publications-final .had-publication-overview-card .had-overview-card-image {
  width: calc(100% + 2px) !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 80 / 21 !important;
  margin: -1px -1px 10px !important;
  flex: 0 0 auto !important;
  background: #eaf4f6 !important;
}

.had-teaching-overview-card .had-overview-card-image img,
.had-publications-final .had-publication-overview-card .had-overview-card-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
}

/* The new assets use the same aspect ratio as the visible card stage. */
.had-overview-card-image img[src*="/v458-stages/"],
.had-overview-card-image img[src*="/v452-stages/"] {
  object-fit: contain !important;
  padding: 0 !important;
}

/* Keep the publication cards as readable as the four teaching overview cards.
   The catalogue already scrolls independently, so images no longer need to be
   compressed to a 60-pixel strip on shorter desktop screens. */
.had-publications-final .had-output-grid,
.had-publications-final .had-dissemination-grid {
  grid-auto-rows: minmax(292px, auto) !important;
}

.had-publications-final .had-publication-overview-card {
  min-height: 292px !important;
  padding: 9px 11px 10px !important;
}

.had-publications-final .had-publication-overview-card .had-overview-card-image {
  width: calc(100% + 22px) !important;
  margin: -9px -11px 8px !important;
}

.had-publications-final .had-publication-overview-head {
  min-height: 28px !important;
}

.had-publications-final .had-publication-overview-head > span {
  width: 28px !important;
  height: 28px !important;
}

.had-publications-final .had-publication-overview-head > b {
  font-size: 17px !important;
}

.had-publications-final .had-publication-overview-card h3 {
  margin: 5px 0 3px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.had-publications-final .had-publication-card-subtitle {
  display: -webkit-box !important;
  min-height: 25px !important;
  margin: 0 !important;
  font-size: 8.5px !important;
  line-height: 1.38 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.had-publications-final .had-publication-overview-card .had-publication-evidence-summary {
  margin-top: auto !important;
  padding-top: 7px !important;
  gap: 6px !important;
}

.had-publications-final .had-publication-overview-card .had-publication-evidence-summary > span {
  min-height: 42px !important;
  padding: 5px 7px !important;
}

.had-publications-final .had-publication-overview-card .had-publication-evidence-summary b {
  font-size: 14px !important;
}

.had-publications-final .had-publication-overview-card .had-publication-evidence-summary small {
  margin-top: 3px !important;
  font-size: 6.5px !important;
}

.had-publications-final .had-publication-card-action {
  margin-top: 6px !important;
  font-size: 7.5px !important;
  letter-spacing: .065em !important;
}

/* --------------------------------------------------------------------------
   Automatic credential colour system
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-detail,
.had-detail-drawer.is-credential-record {
  --had-credential-accent: hsl(var(--had-credential-hue, 174) 78% 46%);
  --had-credential-accent-soft: hsl(var(--had-credential-hue, 174) 78% 46% / .16);
  --had-credential-accent-faint: hsl(var(--had-credential-hue, 174) 78% 46% / .07);
}

.had-credential-list [data-had-credential-select] {
  --had-credential-accent: hsl(var(--had-credential-hue, 174) 78% 48%);
  border-left: 2px solid transparent !important;
  transition: border-color .22s ease, background .22s ease, color .22s ease;
}

.had-credential-list [data-had-credential-select].is-active,
.had-credential-list [data-had-credential-select]:hover,
.had-credential-list [data-had-credential-select]:focus-visible {
  border-left-color: var(--had-credential-accent) !important;
  background: linear-gradient(90deg, hsl(var(--had-credential-hue, 174) 78% 46% / .22), hsl(var(--had-credential-hue, 174) 78% 46% / .07)) !important;
}

.had-credential-list [data-had-credential-select].is-active > span,
.had-credential-list [data-had-credential-select].is-active .dashicons,
.had-credential-list [data-had-credential-select]:focus-visible > span {
  color: var(--had-credential-accent) !important;
}

.had-credentials-v3 [data-had-credential-issuer] {
  color: var(--had-credential-accent) !important;
}

.had-credentials-v3 .had-credential-meta,
.had-credentials-v3 .had-skill-grid span,
.had-credentials-v3 .had-credential-actions a {
  border-color: hsl(var(--had-credential-hue, 174) 62% 48% / .55) !important;
}

.had-credentials-v3 .had-credential-meta b,
.had-credentials-v3 .had-skill-grid .dashicons,
.had-credentials-v3 .had-credential-actions a {
  color: var(--had-credential-accent) !important;
}

/* One reusable stage supplies the coloured border, diagonal lines and white
   image board for every credential, including new records. */
.had-credentials-v3 .had-credential-certificate,
.had-detail-drawer.is-credential-record .had-record-cover {
  position: relative !important;
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: clamp(28px, 3vw, 44px) clamp(34px, 4.2vw, 66px) !important;
  border: 1px solid hsl(var(--had-credential-hue, 174) 66% 48% / .62) !important;
  background:
    radial-gradient(circle at 5% 105%, hsl(var(--had-credential-hue, 174) 78% 48% / .34) 0 18%, transparent 18.5%),
    radial-gradient(circle at 98% -10%, hsl(calc(var(--had-credential-hue, 174) + 28) 78% 54% / .28) 0 22%, transparent 22.5%),
    repeating-linear-gradient(128deg, transparent 0 42px, hsl(var(--had-credential-hue, 174) 70% 42% / .24) 43px 44px),
    linear-gradient(135deg, #eaf5f7 0%, #f8fbfc 48%, #dcecf0 100%) !important;
  box-shadow: 0 18px 40px rgba(0, 26, 40, .22), inset 0 0 0 7px rgba(255,255,255,.34) !important;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.had-credentials-v3 .had-credential-certificate {
  width: min(940px, 100%) !important;
  height: clamp(275px, 36vh, 365px) !important;
  min-height: 275px !important;
  margin-top: 14px !important;
}

.had-credentials-v3 .had-credential-certificate::before,
.had-detail-drawer.is-credential-record .had-record-cover::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: clamp(17px, 1.7vw, 25px) !important;
  display: block !important;
  border: 1px solid hsl(var(--had-credential-hue, 174) 52% 45% / .42) !important;
  border-radius: 8px;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 28px rgba(0, 40, 55, .13), inset 0 0 0 1px rgba(255,255,255,.9) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none;
}

.had-credentials-v3 .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover img {
  position: relative !important;
  z-index: 3 !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 86% !important;
  max-height: 83% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  filter: drop-shadow(0 10px 16px rgba(0, 24, 38, .13)) !important;
  transform: translateZ(0) scale(1) !important;
  transition: transform .35s ease, filter .35s ease;
  pointer-events: none !important;
}

.had-credential-certificate.is-portrait .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover.is-portrait img {
  max-width: 60% !important;
  max-height: 88% !important;
}

.had-credential-certificate.is-landscape .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover.is-landscape img {
  max-width: 88% !important;
  max-height: 78% !important;
}

.had-credential-certificate.is-square .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover.is-square img {
  max-width: 78% !important;
  max-height: 86% !important;
}

.had-credentials-v3 .had-credential-certificate:hover .had-credential-image,
.had-credentials-v3 .had-credential-certificate:focus-within .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover:hover img {
  transform: translateZ(0) scale(1.018) !important;
  filter: drop-shadow(0 13px 19px rgba(0, 24, 38, .18)) !important;
}

.had-detail-drawer.is-credential-record .had-drawer-body {
  grid-template-columns: minmax(280px, 365px) minmax(0, 1fr) !important;
  gap: clamp(24px, 3vw, 44px) !important;
  align-items: start !important;
}

.had-detail-drawer.is-credential-record .had-record-cover {
  width: 100% !important;
  height: clamp(360px, 57vh, 510px) !important;
  color: #0b3443;
}

/* --------------------------------------------------------------------------
   Popup image cleanup and visual protection layer
   -------------------------------------------------------------------------- */
.had-record-cover.has-record-image [data-had-detail-cover-label],
.had-record-cover.has-record-image [data-had-detail-monogram],
.had-record-cover.has-record-image [data-had-detail-year] {
  display: none !important;
}

.had-record-cover.has-record-image {
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.had-record-cover.has-record-image > img {
  z-index: 2;
  pointer-events: none !important;
  -webkit-user-drag: none;
  user-drag: none;
}

/* Existing decorative fallback circle is removed when an actual image exists. */
.had-record-cover.has-record-image > i {
  display: none !important;
}

.had-media-motion {
  position: absolute;
  z-index: 6;
  inset: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
  opacity: .58;
}

.had-media-motion::before {
  content: "";
  position: absolute;
  inset: -45% -30%;
  background: linear-gradient(112deg, transparent 42%, rgba(255,255,255,.18) 48%, rgba(255,255,255,.035) 53%, transparent 60%);
  transform: translateX(-42%);
  animation: hadV458MediaSweep 7.5s ease-in-out infinite;
}

.had-media-motion::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  top: 14%;
  background: linear-gradient(90deg, transparent, hsl(var(--had-credential-hue, 184) 88% 54% / .52), transparent);
  box-shadow: 0 0 14px hsl(var(--had-credential-hue, 184) 88% 54% / .24);
  animation: hadV458ScanLine 6.2s linear infinite;
}

.had-media-motion > i {
  position: absolute;
  right: 7%;
  bottom: 10%;
  width: clamp(44px, 8vw, 92px);
  aspect-ratio: 1;
  border: 1px solid hsl(var(--had-credential-hue, 184) 82% 48% / .32);
  border-radius: 50%;
  animation: hadV458Radar 5.4s ease-out infinite;
}

.had-media-motion > i + i {
  animation-delay: 1.8s;
}

.had-record-cover.has-record-image::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(3, 35, 48, .025) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 18%, transparent 82%, rgba(3, 35, 48, .05));
}

/* The same non-text protection treatment is available on full record images. */
.had-v450-record-hero,
.had-blog-single-inner > figure {
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.had-v450-record-hero img,
.had-blog-single-inner > figure img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}

@keyframes hadV458MediaSweep {
  0%, 18% { transform: translateX(-48%); opacity: 0; }
  34% { opacity: .72; }
  58% { transform: translateX(48%); opacity: .28; }
  100% { transform: translateX(48%); opacity: 0; }
}

@keyframes hadV458ScanLine {
  0% { top: 10%; opacity: 0; }
  10% { opacity: .56; }
  88% { opacity: .42; }
  100% { top: 90%; opacity: 0; }
}

@keyframes hadV458Radar {
  0% { transform: scale(.45); opacity: 0; }
  24% { opacity: .45; }
  100% { transform: scale(1.65); opacity: 0; }
}

@media (min-width: 901px) and (max-height: 920px) {
  .had-teaching-overview-card .had-overview-card-image,
  .had-publications-final .had-publication-overview-card .had-overview-card-image {
    height: auto !important;
    min-height: 0 !important;
  }

  .had-publications-final .had-output-grid,
  .had-publications-final .had-dissemination-grid {
    grid-auto-rows: minmax(282px, auto) !important;
  }

  .had-publications-final .had-publication-overview-card {
    min-height: 282px !important;
  }

  .had-credentials-v3 .had-credential-certificate {
    height: clamp(250px, 31vh, 315px) !important;
    min-height: 250px !important;
  }
}

@media (max-width: 900px) {
  .had-publications-final .had-output-grid,
  .had-publications-final .had-dissemination-grid {
    grid-auto-rows: auto !important;
  }

  .had-publications-final .had-publication-overview-card {
    min-height: 0 !important;
  }

  .had-credentials-v3 .had-credential-certificate {
    height: clamp(270px, 64vw, 430px) !important;
    padding: 28px !important;
  }

  .had-detail-drawer.is-credential-record .had-drawer-body {
    display: block !important;
  }

  .had-detail-drawer.is-credential-record .had-record-cover {
    width: min(100%, 430px) !important;
    height: min(540px, 66vh) !important;
    margin: 0 auto 24px !important;
    padding: 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-media-motion::before,
  .had-media-motion::after,
  .had-media-motion > i {
    animation: none !important;
  }

  .had-media-motion::before {
    opacity: .16;
    transform: translateX(0);
  }

  .had-media-motion::after {
    top: 50%;
    opacity: .22;
  }
}

/* 4.5.8 final specificity repairs. Earlier viewport rules treated every direct
   paragraph as a three-column activity row; the publication subtitle is normal
   prose and must occupy the complete card width. */
.had-publications-final .had-publication-overview-card > p.had-publication-card-subtitle {
  display: -webkit-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 30px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  color: #88a9b6 !important;
  font-size: 10px !important;
  line-height: 1.42 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* The left publication catalogue is intentionally scrollable. This keeps all
   six evidence cards full-size rather than crushing their images to strips. */
.had-publications-final .had-publication-dashboard {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: start !important;
  scrollbar-gutter: stable;
}

.had-publications-final .had-publication-section,
.had-publications-final .had-publication-card-grid {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.had-publications-final .had-publication-section {
  display: block !important;
}

.had-publications-final .had-publication-section + .had-publication-section {
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid #16475d !important;
}

.had-publications-final .had-publication-card-grid {
  display: grid !important;
  margin-top: 8px !important;
}

/* The motion layer belongs only to real images, never to the fallback graphic. */
.had-record-cover:not(.has-record-image) > .had-media-motion {
  display: none !important;
}

/* Protect the source image while leaving buttons and metadata fully usable. */
.had-protected-media img,
.had-record-cover.has-record-image img {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}


/* ===== /assets/css/v459-pedagogy-course-details.css ===== */
/* Version 4.5.9: structured pedagogy course and programme records. */
.had-rich-content .had-pedagogy-course-profile,
.had-reader-content .had-pedagogy-course-profile,
.had-unified-record-reader .had-pedagogy-course-profile {
	display: grid;
	gap: 16px;
	margin: 8px 0 0;
	color: inherit;
}

.had-pedagogy-course-profile > * {
	margin-top: 0;
	margin-bottom: 0;
}

.had-pedagogy-course-profile .had-pedagogy-course-summary {
	font-size: clamp(0.98rem, 1.05vw, 1.08rem);
	line-height: 1.72;
	color: var(--had-text, #15334a);
}

.had-pedagogy-course-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 8px;
	margin: 2px 0 4px;
}

.had-pedagogy-course-facts > span {
	display: grid;
	gap: 5px;
	min-height: 70px;
	padding: 11px 12px;
	border: 1px solid color-mix(in srgb, var(--had-accent, #22d3ee) 35%, transparent);
	background: color-mix(in srgb, var(--had-accent, #22d3ee) 7%, transparent);
}

.had-pedagogy-course-facts small {
	font-family: var(--had-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	font-size: 0.67rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--had-text-muted, #668099) 90%, transparent);
}

.had-pedagogy-course-facts b {
	font-size: 0.88rem;
	line-height: 1.35;
	color: var(--had-text-strong, #0c2940);
}

.had-pedagogy-course-profile h2,
.had-pedagogy-course-profile h3 {
	position: relative;
	padding-left: 16px;
	font-size: 0.92rem;
	line-height: 1.35;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--had-text-strong, #0c2940);
}

.had-pedagogy-course-profile h2::before,
.had-pedagogy-course-profile h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.18em;
	bottom: 0.18em;
	width: 3px;
	background: var(--had-accent, #22d3ee);
}

.had-pedagogy-course-profile p,
.had-pedagogy-course-profile li {
	line-height: 1.68;
}

.had-pedagogy-course-profile ul,
.had-pedagogy-course-profile ol {
	display: grid;
	gap: 7px;
	margin: 0;
	padding-left: 1.3rem;
}

.had-pedagogy-course-profile li::marker {
	color: var(--had-accent, #22d3ee);
	font-weight: 800;
}

.had-pedagogy-programme-context {
	margin-top: 18px !important;
	padding: 16px;
	border: 1px solid color-mix(in srgb, var(--had-accent, #22d3ee) 30%, transparent);
	background: color-mix(in srgb, var(--had-accent, #22d3ee) 5%, #ffffff 95%);
}

.had-theme.had-motion-full .had-pedagogy-course-facts > span {
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.had-theme.had-motion-full .had-pedagogy-course-facts > span:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--had-accent, #22d3ee) 62%, transparent);
	background: color-mix(in srgb, var(--had-accent, #22d3ee) 11%, transparent);
}

@media (max-width: 760px) {
	.had-pedagogy-course-facts {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.had-pedagogy-course-facts {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.had-pedagogy-course-facts > span {
		transition: none !important;
	}
}


/* ===== /assets/css/v461-credential-image-text-polish.css ===== */
/* Version 4.6.1
   Credential image restoration and text-colour normalization.
   Individual credential hue remains on borders/stages, while all readable
   text uses the dashboard's standard white/cyan/muted palette. */

/* --------------------------------------------------------------------------
   Credential detail typography: use the same white/cyan language as the rest
   of the dashboard. Per-record hue is intentionally retained only for frames,
   stage ornaments, and index selection backgrounds.
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-detail {
  color: var(--had-text) !important;
}

.had-credentials-v3 .had-credential-detail .had-kicker,
.had-credentials-v3 .had-credential-detail [data-had-credential-issuer],
.had-credentials-v3 .had-credential-detail .had-credential-meta b,
.had-credentials-v3 .had-credential-detail .had-skill-grid .dashicons,
.had-credentials-v3 .had-credential-detail .had-credential-actions a {
  color: var(--had-cyan) !important;
}

.had-credentials-v3 .had-credential-detail h2,
.had-credentials-v3 .had-credential-detail [data-had-credential-title] {
  color: var(--had-text) !important;
}

.had-credentials-v3 .had-credential-detail .had-credential-summary,
.had-credentials-v3 .had-credential-detail .had-skill-grid span {
  color: #a9c2ce !important;
}

.had-credentials-v3 .had-credential-detail .had-credential-meta small {
  color: #66899a !important;
}

/* Keep the automatic per-record border/box palette created in 4.5.8. Only the
   link label itself is normalized to cyan. */
.had-credentials-v3 .had-credential-detail .had-credential-actions a:hover,
.had-credentials-v3 .had-credential-detail .had-credential-actions a:focus-visible {
  color: #dffbff !important;
}

/* Credential popup/readers: title and metadata follow the common dashboard
   white/cyan palette instead of inheriting the record-specific pink/purple/etc. */
.had-detail-drawer.is-credential-record .had-drawer-header,
.had-detail-drawer.is-credential-record .had-drawer-header h2,
.had-detail-drawer.is-credential-record .had-drawer-header b,
.had-detail-drawer.is-credential-record .had-drawer-header strong {
  color: var(--had-text) !important;
}

.had-detail-drawer.is-credential-record .had-kicker,
.had-detail-drawer.is-credential-record .had-drawer-meta b,
.had-detail-drawer.is-credential-record .had-drawer-meta strong,
.had-detail-drawer.is-credential-record a {
  color: var(--had-cyan) !important;
}

/* --------------------------------------------------------------------------
   New supplied credential images.
   Both are always contained inside the existing white presentation board.
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-image[src*="matlab-onramp-certificate"],
.had-detail-drawer.is-credential-record .had-record-cover img[src*="matlab-onramp-certificate"] {
  max-width: 92% !important;
  max-height: 86% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.had-credentials-v3 .had-credential-image[src*="challenge-turku-logo"],
.had-detail-drawer.is-credential-record .had-record-cover img[src*="challenge-turku-logo"] {
  max-width: min(74%, 420px) !important;
  max-height: 82% !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* The historic 4.5.4 CSS used cover for the old Challenge photo. Never crop
   the new logo or the restored MATLAB certificate. */
.had-credential-certificate img[src*="v461-credentials"],
.had-record-cover img[src*="v461-credentials"] {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 10px 16px rgba(0, 24, 38, .13)) !important;
}

@media (max-width: 900px) {
  .had-credentials-v3 .had-credential-image[src*="matlab-onramp-certificate"],
  .had-detail-drawer.is-credential-record .had-record-cover img[src*="matlab-onramp-certificate"] {
    max-width: 94% !important;
    max-height: 84% !important;
  }

  .had-credentials-v3 .had-credential-image[src*="challenge-turku-logo"],
  .had-detail-drawer.is-credential-record .had-record-cover img[src*="challenge-turku-logo"] {
    max-width: 68% !important;
    max-height: 78% !important;
  }
}


/* ===== /assets/css/v462-credential-content-media.css ===== */
/* Version 4.6.2
   Complete credential content, true image centering/containment, and a reusable
   non-text protected-media treatment for document imagery. */

/* --------------------------------------------------------------------------
   1. Credential detail image containment
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-certificate,
.had-detail-drawer.is-credential-record .had-record-cover {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* Fill the usable content box and let object-fit do the scaling. This removes
   the old dependence on the natural pixel size, which made some certificates
   look tiny and could push wide images outside the intended white board. */
.had-credentials-v3 .had-credential-certificate .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover img,
.had-credentials-v3 .had-credential-certificate.is-portrait .had-credential-image,
.had-credentials-v3 .had-credential-certificate.is-landscape .had-credential-image,
.had-credentials-v3 .had-credential-certificate.is-square .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover.is-portrait img,
.had-detail-drawer.is-credential-record .had-record-cover.is-landscape img,
.had-detail-drawer.is-credential-record .had-record-cover.is-square img,
.had-credentials-v3 .had-credential-image[src*="matlab-onramp-certificate"],
.had-credentials-v3 .had-credential-image[src*="challenge-turku-logo"],
.had-detail-drawer.is-credential-record .had-record-cover img[src*="matlab-onramp-certificate"],
.had-detail-drawer.is-credential-record .had-record-cover img[src*="challenge-turku-logo"] {
  position: relative !important;
  inset: auto !important;
  place-self: center !important;
  align-self: center !important;
  justify-self: center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  background: transparent !important;
  transform: translateZ(0) scale(1) !important;
  transform-origin: center !important;
  box-sizing: border-box !important;
}

.had-credentials-v3 .had-credential-certificate:hover .had-credential-image,
.had-credentials-v3 .had-credential-certificate:focus-within .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover:hover img {
  transform: translateZ(0) scale(1.014) !important;
}

/* Keep a generous, predictable inner board. The actual image remains inside
   the padded content area and cannot overlap the outer coloured frame. */
.had-credentials-v3 .had-credential-certificate {
  padding: clamp(42px, 4.8vw, 68px) !important;
}

.had-detail-drawer.is-credential-record .had-record-cover {
  padding: clamp(38px, 4vw, 58px) !important;
}

/* --------------------------------------------------------------------------
   2. Rich credential content in the popup and full-page reader
   -------------------------------------------------------------------------- */
.had-detail-drawer.is-credential-record .had-record-copy {
  min-height: 0 !important;
}

.had-detail-drawer.is-credential-record .had-rich-content {
  max-height: min(43vh, 440px) !important;
  overflow: auto !important;
  padding-right: 10px !important;
  color: #365965 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  scrollbar-width: thin;
  scrollbar-color: #16889a #e0eaed;
}

.had-detail-drawer.is-credential-record .had-rich-content[hidden] {
  display: none !important;
}

.had-credential-profile {
  color: inherit;
}

.had-credential-profile > :first-child {
  margin-top: 0 !important;
}

.had-credential-profile-summary {
  margin: 0 0 16px !important;
  color: #214b58 !important;
  font-size: 13px !important;
  line-height: 1.72 !important;
}

.had-credential-profile-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 20px;
}

.had-credential-profile-facts span {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #c5d8de;
  background: #eef5f7;
}

.had-credential-profile-facts small,
.had-credential-profile-facts b {
  display: block;
}

.had-credential-profile-facts small {
  margin-bottom: 4px;
  color: #6a8791;
  font: 700 7px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.had-credential-profile-facts b {
  color: #153f4d;
  font-size: 11px;
  line-height: 1.35;
}

.had-detail-drawer.is-credential-record .had-credential-profile h2,
.had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile h2 {
  margin: 20px 0 8px !important;
  color: #0a7f91 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}

.had-credential-profile p,
.had-credential-profile li {
  color: #365965;
}

.had-credential-profile ul,
.had-credential-profile ol {
  margin: 8px 0 14px 1.2rem;
  padding: 0;
}

.had-credential-profile li + li {
  margin-top: 5px;
}

.had-credential-profile blockquote {
  margin: 14px 0;
  padding: 11px 14px;
  border-left: 3px solid #10a7b8;
  background: #e9f4f6;
}

/* Full credential pages use the same calm white/cyan information hierarchy. */
.had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-reader-copy {
  color: #355762 !important;
}

.had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile-summary {
  font-size: 15px !important;
}

.had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* --------------------------------------------------------------------------
   3. Full-page credential/document image stage
   -------------------------------------------------------------------------- */
.had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-record-hero.is-credential-document {
  position: relative !important;
  isolation: isolate;
  width: min(100%, 980px) !important;
  height: clamp(380px, 56vh, 640px) !important;
  max-height: none !important;
  padding: clamp(42px, 5vw, 76px) !important;
  overflow: hidden !important;
  border: 1px solid hsl(var(--had-credential-hue, 184) 68% 48% / .55) !important;
  background:
    radial-gradient(circle at 3% 104%, hsl(var(--had-credential-hue, 184) 82% 48% / .28) 0 19%, transparent 19.5%),
    radial-gradient(circle at 101% -8%, hsl(calc(var(--had-credential-hue, 184) + 28) 78% 54% / .22) 0 24%, transparent 24.5%),
    repeating-linear-gradient(128deg, transparent 0 47px, hsl(var(--had-credential-hue, 184) 70% 42% / .19) 48px 49px),
    linear-gradient(135deg, #e9f4f7, #f9fbfc 48%, #dcecf0) !important;
  box-shadow: 0 18px 42px rgba(0, 37, 50, .16) !important;
}

.had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-record-hero.is-credential-document::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: clamp(20px, 2.2vw, 30px);
  border: 1px solid hsl(var(--had-credential-hue, 184) 55% 45% / .38);
  border-radius: 8px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 30px rgba(0, 41, 55, .12);
  pointer-events: none;
}

.had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-record-hero.is-credential-document img {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 11px 18px rgba(0, 31, 44, .12));
}

/* --------------------------------------------------------------------------
   4. Reusable non-text motion/protection treatment for document images
   -------------------------------------------------------------------------- */
.had-secure-media,
.had-protected-media,
.had-v450-record-hero,
.had-blog-single-inner figure,
.had-rich-content figure,
.wp-block-image.had-secure-media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.had-secure-media img,
.had-protected-media img,
.had-v450-record-hero img,
.had-blog-single-inner figure img,
.had-rich-content figure img {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}


/* Real record images never receive generated labels, initials or year text. */
.had-record-cover.has-record-image > [data-had-detail-cover-label],
.had-record-cover.has-record-image > [data-had-detail-monogram],
.had-record-cover.has-record-image > [data-had-detail-year] {
  display: none !important;
}

/* Keep the original image itself non-interactive while the surrounding card or
   link remains usable. This is a browser-level deterrent, not DRM. */
.had-secure-media img,
.had-protected-media img,
[data-had-protected-image="true"] {
  pointer-events: none !important;
}

/* Overview images receive a quieter version of the home-page style motion so
   the card design remains clean. */
.had-overview-card-image > .had-media-motion {
  opacity: .24 !important;
}

.had-overview-card-image > .had-media-motion::after {
  height: 1px !important;
}

.had-secure-media > .had-media-motion,
.had-v450-record-hero > .had-media-motion {
  z-index: 7;
}

/* A restrained orbit layered over the existing sweep, scan and radar pulses. */
.had-secure-media > .had-media-motion > i:first-child,
.had-v450-record-hero > .had-media-motion > i:first-child {
  border-style: dashed;
  animation: hadV462ProtectedOrbit 8.8s linear infinite, hadV458Radar 5.4s ease-out infinite !important;
}

@keyframes hadV462ProtectedOrbit {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@media (max-width: 900px) {
  .had-credentials-v3 .had-credential-certificate {
    padding: 38px !important;
  }

  .had-detail-drawer.is-credential-record .had-record-cover {
    padding: 36px !important;
  }

  .had-detail-drawer.is-credential-record .had-rich-content {
    max-height: none !important;
    overflow: visible !important;
  }

  .had-credential-profile-facts,
  .had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile-facts {
    grid-template-columns: 1fr 1fr !important;
  }

  .had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-record-hero.is-credential-document {
    height: clamp(320px, 74vw, 540px) !important;
    padding: 38px !important;
  }
}

@media (max-width: 560px) {
  .had-credential-profile-facts,
  .had-v450-record-reader[data-had-record-post-type="credential"] .had-credential-profile-facts {
    grid-template-columns: 1fr !important;
  }

  .had-credentials-v3 .had-credential-certificate,
  .had-detail-drawer.is-credential-record .had-record-cover,
  .had-v450-record-reader[data-had-record-post-type="credential"] .had-v450-record-hero.is-credential-document {
    padding: 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .had-secure-media > .had-media-motion > i:first-child,
  .had-v450-record-hero > .had-media-motion > i:first-child {
    animation: none !important;
  }
}


/* ===== /assets/css/v463-site-copyright.css ===== */
/* Version 4.6.3 — persistent site copyright footer.
 * The footer is part of the normal page shell only; drawers and popup readers
 * deliberately do not duplicate it.
 */

.had-site-copyright {
  position: relative;
  z-index: 12;
  flex: 0 0 31px;
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border-top: 1px solid rgba(45, 103, 130, .55);
  background:
    linear-gradient(90deg, rgba(2, 11, 20, .96), rgba(4, 22, 34, .94), rgba(2, 11, 20, .96));
  color: #7898a8;
  font: 600 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  letter-spacing: .055em;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 -10px 28px rgba(0, 0, 0, .10);
}

.had-site-copyright::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: var(--had-cyan, #22d3ee);
  box-shadow: 0 0 10px rgba(34, 211, 238, .75);
}

.had-site-copyright .had-copyright-owner {
  color: #b8cbd4;
}

.had-site-copyright .had-copyright-separator {
  color: var(--had-cyan, #22d3ee);
  opacity: .82;
  font-weight: 700;
}

/* Reserve a clean footer strip inside the one-screen desktop console without
 * overlaying page controls or shrinking individual cards unpredictably. */
@media (min-width: 901px) {
  body.had-theme .had-workspace {
    display: flex !important;
    flex-direction: column !important;
  }

  body.had-theme .had-workspace > .had-screen {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Mobile/tablet pages already scroll vertically. Keep the copyright in normal
 * document flow so it never covers navigation, forms, or record content. */
@media (max-width: 900px) {
  .had-site-copyright {
    min-height: 36px;
    padding: 8px 14px;
    white-space: normal;
    flex-wrap: wrap;
    row-gap: 4px;
  }
}

@media (max-width: 520px) {
  .had-site-copyright {
    gap: 7px;
    font-size: 8px;
    letter-spacing: .025em;
  }

  .had-site-copyright .had-copyright-separator {
    font-size: 8px;
  }
}


/* ===== /assets/css/v464-education-footer-polish.css ===== */
/* Version 4.6.4 — education/credential rebalance and visible site copyright. */

/* The copyright is intentionally part of the normal application shell only.
 * It is not repeated inside drawers/popups. */
.had-site-copyright {
  min-height: 32px;
  flex: 0 0 32px;
  font-size: 9.5px;
  letter-spacing: .045em;
  color: #8eabb8;
  border-top-color: rgba(34, 211, 238, .28);
  background: linear-gradient(90deg, rgba(2, 11, 20, .99), rgba(5, 25, 38, .98), rgba(2, 11, 20, .99));
}
.had-site-copyright .had-copyright-owner { color: #d4e4eb; }
.had-site-copyright .had-copyright-separator { color: var(--had-cyan, #22d3ee); }
html.had-drawer-open .had-site-copyright { visibility: hidden; }

/* Degree/programme content uses the same clean information cards as the
 * pedagogy/credential readers but remains English-only. */
.had-detail-drawer.is-career-education-record .had-pedagogy-course-profile,
.had-document-page .had-pedagogy-course-profile {
  width: 100%;
  max-width: none;
}
.had-detail-drawer.is-career-education-record .had-pedagogy-course-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .had-site-copyright {
    min-height: 38px;
    flex-basis: 38px;
    padding: 8px 12px;
  }
  .had-detail-drawer.is-career-education-record .had-pedagogy-course-facts {
    grid-template-columns: 1fr;
  }
}


/* ===== /assets/css/v502-main-page-layout.css ===== */
/**
 * Hamed Academic Dashboard 5.0.2
 * Main-page layout refinement: roomy project cards, record indexes,
 * compact annual trends, homepage languages, and credential layout swap.
 */

/* --------------------------------------------------------------------------
 * Shared record index used by Research, Career & Education, and Portfolio.
 * ----------------------------------------------------------------------- */
.had-record-index-side{
  min-width:0;
  height:100%;
  min-height:0;
}
.had-record-index-panel{
  min-width:0;
  height:100%;
  min-height:0;
  padding:12px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
}
.had-record-index-panel .had-section-title{
  min-height:42px;
  margin:0 0 4px;
  padding:0 0 8px;
}
.had-record-index-panel .had-section-title h2{
  margin:0;
  font-size:15px;
  line-height:1.2;
}
.had-record-index-panel .had-section-title span{
  font-size:8px;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.had-career-index-lists{
  min-height:0;
  height:100%;
  overflow:hidden;
}
.had-career-index-lists>.had-record-index-scroll{height:100%}
.had-record-index-scroll{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  padding-right:3px;
}
.had-project-index-row,
.had-career-index-row,
.had-code-index-row{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 18px;
  gap:8px;
  align-items:center;
  padding:10px 4px;
  border:0;
  border-bottom:1px solid #173b4f;
  background:transparent;
  color:#d9edf3;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.had-project-index-row:hover,
.had-project-index-row:focus-visible,
.had-career-index-row:hover,
.had-career-index-row:focus-visible,
.had-code-index-row:hover,
.had-code-index-row:focus-visible{
  outline:0;
  background:linear-gradient(90deg,rgba(34,211,238,.09),rgba(34,211,238,.025));
  border-bottom-color:#1d6377;
  transform:translateX(2px);
}
.had-index-number{
  color:#28d5e8;
  font:700 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.05em;
}
.had-project-index-row>span:nth-child(2),
.had-career-index-row>span:nth-child(2),
.had-code-index-row>span:nth-child(2){
  min-width:0;
  display:grid;
  gap:3px;
}
.had-project-index-row label,
.had-career-index-row label,
.had-code-index-row label{
  color:#f2bf4c;
  font:700 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.had-project-index-row b,
.had-career-index-row b,
.had-code-index-row b{
  color:#e4f3f7;
  font-size:10px;
  line-height:1.28;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.had-project-index-row em,
.had-career-index-row em,
.had-code-index-row em{
  color:#7897a5;
  font-size:8px;
  line-height:1.3;
  font-style:normal;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.had-project-index-row>.dashicons,
.had-career-index-row>.dashicons,
.had-code-index-row>.dashicons{
  color:#1dd7e9;
  font-size:16px;
  width:16px;
  height:16px;
}

/* --------------------------------------------------------------------------
 * Research Projects and Roles.
 * ----------------------------------------------------------------------- */
.had-research-v502 .had-research-layout{
  grid-template-columns:minmax(0,1fr) minmax(285px,.30fr)!important;
  gap:10px!important;
  min-height:0!important;
  align-items:stretch!important;
}
.had-research-v502 .had-project-sections{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px!important;
  scrollbar-width:thin;
}
.had-research-v502 .had-project-group{
  min-width:0!important;
  margin:0 0 10px!important;
}
.had-research-v502 .had-project-group:last-child{margin-bottom:0!important}
.had-research-v502 .had-project-grid,
.had-research-v502 .had-project-group-current .had-project-grid,
.had-research-v502 .had-project-group-scheduled .had-project-grid,
.had-research-v502 .had-project-group-completed .had-project-grid,
.had-research-v502 .had-project-group:last-child .had-project-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  align-items:stretch!important;
}
.had-research-v502 .had-project-card,
.had-research-v502 .had-project-card:nth-child(n),
.had-research-v502 .had-project-group-completed .had-project-card,
.had-research-v502 .had-project-group-completed .had-project-card:last-child{
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:350px!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.had-research-v502 .had-project-card-image,
.had-research-v502 .had-project-group-completed .had-project-card-image{
  height:112px!important;
  min-height:112px!important;
  margin:-12px -12px 9px!important;
  overflow:hidden!important;
  flex:0 0 112px!important;
}
.had-research-v502 .had-project-card-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.had-research-v502 .had-project-meta{
  min-height:24px!important;
  gap:8px!important;
  align-items:flex-start!important;
  flex:0 0 auto!important;
}
.had-research-v502 .had-project-meta span{font-size:13px!important}
.had-research-v502 .had-project-meta b{
  max-width:76%!important;
  font-size:7.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
  text-align:right!important;
}
.had-research-v502 .had-project-card h3{
  min-height:0!important;
  margin:7px 0 5px!important;
  font-size:15px!important;
  line-height:1.23!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.had-research-v502 .had-project-card>p{
  min-height:0!important;
  margin:0!important;
  font-size:9.5px!important;
  line-height:1.42!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
}
.had-research-v502 .had-project-role{
  min-height:34px!important;
  margin:7px 0 0!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
}
.had-research-v502 .had-project-role span{
  font-size:8.5px!important;
  line-height:1.32!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.had-research-v502 .had-project-card .had-tag-row{
  position:static!important;
  margin-top:auto!important;
  padding-top:7px!important;
  max-height:28px!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
.had-research-v502 .had-project-card .had-tag-row span{
  font-size:7px!important;
  padding:3px 6px!important;
}
.had-research-v502 .had-open-detail{
  position:static!important;
  margin-top:7px!important;
  font-size:8px!important;
  flex:0 0 auto!important;
}
.had-research-v502 .had-research-side{
  position:sticky!important;
  top:0!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:block!important;
}

/* --------------------------------------------------------------------------
 * Career & Education: timeline plus record selector only.
 * ----------------------------------------------------------------------- */
.had-experience-v502 .had-experience-layout{
  grid-template-columns:minmax(0,1.46fr) minmax(300px,.54fr)!important;
  gap:10px!important;
  height:100%!important;
  min-height:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-experience-v502 .had-timeline-panel{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.had-experience-v502 .had-timeline,
.had-experience-v502 .had-timeline-scroll{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin;
}
.had-experience-v502 .had-experience-side{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:block!important;
}

/* --------------------------------------------------------------------------
 * Code/Data/Research portfolio: project-card language plus record selector.
 * ----------------------------------------------------------------------- */
.had-portfolio-v502 .had-portfolio-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;
  gap:10px!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.had-portfolio-v502 .had-portfolio-index{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.had-portfolio-v502 .had-portfolio-project-grid{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  padding-right:4px!important;
}
.had-portfolio-v502 .had-code-project,
.had-portfolio-v502 .had-code-project:nth-child(n){
  grid-column:auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:315px!important;
  height:auto!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  text-align:left!important;
  overflow:hidden!important;
}
.had-portfolio-v502 .had-code-project-visual{
  position:relative;
  height:95px;
  min-height:95px;
  margin:-12px -12px 9px;
  padding:15px 16px;
  overflow:hidden;
  border-bottom:1px solid #1b5366;
  background:
    linear-gradient(120deg,rgba(34,211,238,.13),transparent 46%),
    repeating-linear-gradient(135deg,transparent 0 27px,rgba(34,211,238,.11) 28px 29px),
    #061c29;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  gap:2px 9px;
}
.had-portfolio-v502 .had-code-project-visual>span{
  grid-row:1/3;
  align-self:center;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #1ccbdd;
  background:rgba(1,39,51,.72);
  color:#28d9ea;
}
.had-portfolio-v502 .had-code-project-visual>small{
  align-self:end;
  color:#24d7e8;
  font:700 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.had-portfolio-v502 .had-code-project-visual>b{
  align-self:start;
  color:#e4f6f8;
  font-size:11px!important;
  line-height:1.2;
}
.had-portfolio-v502 .had-code-project-visual>i{
  position:absolute;
  right:-24px;
  width:150px;
  height:1px;
  background:linear-gradient(90deg,transparent,#1bcfe1,transparent);
  transform:rotate(-21deg);
  opacity:.38;
}
.had-portfolio-v502 .had-code-project-visual>i:nth-of-type(1){top:25px}
.had-portfolio-v502 .had-code-project-visual>i:nth-of-type(2){top:62px}
.had-portfolio-v502 .had-code-project-meta{
  min-height:24px;
  display:flex!important;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  color:#7699a7;
  font:700 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.had-portfolio-v502 .had-code-project-meta span{color:#20d5e6}
.had-portfolio-v502 .had-code-project-meta b{
  max-width:65%;
  color:#668794!important;
  font-size:7px!important;
  line-height:1.25;
  text-align:right;
}
.had-portfolio-v502 .had-code-project h3{
  margin:7px 0 5px!important;
  color:#eef9fb;
  font-size:14px!important;
  line-height:1.24!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.had-portfolio-v502 .had-code-project>p{
  margin:0!important;
  color:#89a7b4;
  font-size:9px!important;
  line-height:1.42!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.had-portfolio-v502 .had-code-project .had-tag-row{
  margin-top:auto!important;
  padding-top:7px!important;
  max-height:29px!important;
  overflow:hidden;
}
.had-portfolio-v502 .had-code-project .had-tag-row span{
  font-size:7px!important;
  padding:3px 6px!important;
}
.had-portfolio-v502 .had-code-project .had-open-detail{
  margin-top:7px!important;
  color:#20d8e9;
  font-size:8px!important;
}
.had-portfolio-v502 .had-portfolio-side{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:block!important;
}

/* --------------------------------------------------------------------------
 * Homepage languages: compact, high-value profile information.
 * ----------------------------------------------------------------------- */
.had-home-v320>.had-profile-card .had-profile-languages{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #1b4355;
}
.had-home-v320>.had-profile-card .had-profile-languages>small{
  display:block;
  margin-bottom:6px;
  color:#6f96a6;
  font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.had-home-v320>.had-profile-card .had-profile-languages>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.had-home-v320>.had-profile-card .had-profile-languages span{
  position:relative;
  min-width:0;
  min-height:39px;
  padding:7px 8px;
  border:1px solid #195064;
  border-radius:6px;
  background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(3,20,31,.72));
  display:grid;
  gap:2px;
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.had-home-v320>.had-profile-card .had-profile-languages span:after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-23px;
  width:52px;
  height:52px;
  border:1px solid rgba(34,211,238,.13);
  border-radius:50%;
}
.had-home-v320>.had-profile-card .had-profile-languages span:hover{
  border-color:#27cfe0;
  box-shadow:0 0 15px rgba(34,211,238,.09);
  transform:translateY(-1px);
}
.had-home-v320>.had-profile-card .had-profile-languages b{
  color:#dff7fa;
  font-size:9px;
  line-height:1.15;
}
.had-home-v320>.had-profile-card .had-profile-languages em{
  color:#26d7e8;
  font:700 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-style:normal;
  line-height:1.2;
}

/* --------------------------------------------------------------------------
 * Credentials: large detail first (left), compact index second (right).
 * ----------------------------------------------------------------------- */
@media(min-width:901px){
  .had-credentials-v3 .had-credential-layout{
    grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr)!important;
    gap:10px!important;
  }
  .had-credentials-v3 .had-credential-detail{
    grid-column:1!important;
    grid-row:1!important;
  }
  .had-credentials-v3 .had-credential-list{
    grid-column:2!important;
    grid-row:1!important;
  }
}

/* --------------------------------------------------------------------------
 * Annual trend panels: fit year/value labels in the standard desktop viewport.
 * ----------------------------------------------------------------------- */
@media(min-width:901px){
  [data-had-collection-type="journal-papers"] .had-analytics-grid,
  [data-had-collection-type="book"] .had-analytics-grid,
  [data-had-collection-type="theses"] .had-analytics-grid,
  [data-had-collection-type="persian-articles"] .had-analytics-grid,
  [data-had-collection-type="conference-presentations"] .had-analytics-grid,
  [data-had-collection-type="editorial-referee"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid,
  [data-had-collection-type="teaching-experience"] .had-analytics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:minmax(145px,.82fr) minmax(150px,.72fr)!important;
    grid-auto-rows:unset!important;
    align-content:stretch!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  [data-had-collection-type="journal-papers"] .had-analytics-panel,
  [data-had-collection-type="book"] .had-analytics-panel,
  [data-had-collection-type="theses"] .had-analytics-panel,
  [data-had-collection-type="persian-articles"] .had-analytics-panel,
  [data-had-collection-type="conference-presentations"] .had-analytics-panel,
  [data-had-collection-type="editorial-referee"] .had-analytics-panel,
  [data-had-collection-type="media"] .had-analytics-panel,
  [data-had-collection-type="teaching-experience"] .had-analytics-panel{
    min-height:0!important;
    height:auto!important;
  }
  [data-had-collection-type="journal-papers"] .had-journal-trend-panel,
  [data-had-collection-type="book"] .had-book-trend-panel,
  [data-had-collection-type="theses"] .had-thesis-trend-panel,
  [data-had-collection-type="persian-articles"] .had-persian-trend-panel,
  [data-had-collection-type="conference-presentations"] .had-presentation-trend-panel,
  [data-had-collection-type="editorial-referee"] .had-editorial-trend-panel,
  [data-had-collection-type="media"] .had-media-trend-panel,
  [data-had-collection-type="teaching-experience"] .had-teaching-trend-panel{
    grid-column:1/-1!important;
    grid-row:2!important;
    min-height:150px!important;
    max-height:205px!important;
    height:clamp(150px,22vh,205px)!important;
    overflow:hidden!important;
  }
  .had-journal-trend-panel [data-had-journal-analytics-body="years"],
  .had-book-trend-panel [data-had-book-analytics-body="years"],
  .had-thesis-trend-panel [data-had-thesis-analytics-body="years"],
  .had-persian-trend-panel [data-had-persian-analytics-body="years"],
  .had-presentation-trend-panel [data-had-presentation-analytics-body="years"],
  .had-editorial-trend-panel [data-had-editorial-analytics-body="years"],
  .had-media-trend-panel [data-had-media-analytics-body="years"],
  .had-teaching-trend-panel [data-had-teaching-analytics-body="years"]{
    height:calc(100% - 27px)!important;
    min-height:120px!important;
    max-height:176px!important;
    overflow:hidden!important;
  }
  .had-journal-trend-panel .had-year-trend,
  .had-book-trend-panel .had-year-trend,
  .had-thesis-trend-panel .had-year-trend,
  .had-persian-trend-panel .had-year-trend,
  .had-presentation-trend-panel .had-year-trend,
  .had-editorial-trend-panel .had-year-trend,
  .had-media-trend-panel .had-year-trend,
  .had-teaching-trend-panel .had-year-trend{
    width:100%!important;
    height:100%!important;
    min-height:120px!important;
    max-height:176px!important;
    overflow:hidden!important;
  }
  .had-journal-trend-panel .had-year-trend>svg,
  .had-book-trend-panel .had-year-trend>svg,
  .had-thesis-trend-panel .had-year-trend>svg,
  .had-persian-trend-panel .had-year-trend>svg,
  .had-presentation-trend-panel .had-year-trend>svg,
  .had-editorial-trend-panel .had-year-trend>svg,
  .had-media-trend-panel .had-year-trend>svg,
  .had-teaching-trend-panel .had-year-trend>svg{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:block!important;
    overflow:visible!important;
  }
}

/* --------------------------------------------------------------------------
 * Pedagogical Training: only the verified programme summary remains.
 * ----------------------------------------------------------------------- */
.had-pedagogy-volume-body{
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
}
.had-pedagogy-volume-body .had-programme-summary{
  min-height:92px;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.had-pedagogy-volume-body .had-programme-summary>span{
  min-width:0;
  display:grid;
  gap:4px;
}
.had-pedagogy-volume-body .had-programme-summary em{
  white-space:normal!important;
  text-align:right!important;
}

/* --------------------------------------------------------------------------
 * Responsive fallbacks.
 * ----------------------------------------------------------------------- */
@media(max-width:1100px) and (min-width:901px){
  .had-research-v502 .had-research-layout,
  .had-experience-v502 .had-experience-layout,
  .had-portfolio-v502 .had-portfolio-layout{
    grid-template-columns:minmax(0,1fr) minmax(250px,.34fr)!important;
  }
  .had-home-v320>.had-profile-card .had-profile-languages>div{
    grid-template-columns:1fr 1fr;
  }
  .had-home-v320>.had-profile-card .had-profile-languages span:last-child{
    grid-column:1/-1;
  }
}

@media(max-width:900px){
  .had-research-v502 .had-research-layout,
  .had-experience-v502 .had-experience-layout,
  .had-portfolio-v502 .had-portfolio-layout{
    display:block!important;
    height:auto!important;
    overflow:visible!important;
  }
  .had-research-v502 .had-project-sections,
  .had-experience-v502 .had-timeline,
  .had-experience-v502 .had-timeline-scroll,
  .had-portfolio-v502 .had-portfolio-index,
  .had-portfolio-v502 .had-portfolio-project-grid{
    height:auto!important;
    overflow:visible!important;
  }
  .had-research-v502 .had-project-grid,
  .had-research-v502 .had-project-group-current .had-project-grid,
  .had-research-v502 .had-project-group-scheduled .had-project-grid,
  .had-research-v502 .had-project-group-completed .had-project-grid,
  .had-research-v502 .had-project-group:last-child .had-project-grid,
  .had-portfolio-v502 .had-portfolio-project-grid{
    grid-template-columns:1fr!important;
  }
  .had-research-v502 .had-project-card,
  .had-portfolio-v502 .had-code-project{
    min-height:0!important;
  }
  .had-research-v502 .had-research-side,
  .had-experience-v502 .had-experience-side,
  .had-portfolio-v502 .had-portfolio-side{
    position:static!important;
    height:auto!important;
    margin-top:10px!important;
    overflow:visible!important;
  }
  .had-record-index-panel{height:auto!important;max-height:none!important}
  .had-record-index-scroll{max-height:430px!important}
  .had-home-v320>.had-profile-card .had-profile-languages>div{
    grid-template-columns:1fr!important;
  }
  .had-credentials-v3 .had-credential-detail,
  .had-credentials-v3 .had-credential-list{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}


/* ===== /assets/css/v503-refinements.css ===== */
/** Hamed Academic Dashboard 5.0.3 — readability and interaction refinements. */

/* Shared record-selector typography: match the strong Latest scholarly records treatment. */
.had-project-index-row,
.had-career-index-row,
.had-code-index-row,
.had-credential-scroll>button,
.had-blog-console [data-had-blog-row],
.had-teaching-stream-row,
.had-collection-records .had-record-row{
  min-height:82px!important;
  padding:12px 14px!important;
  gap:12px!important;
}
.had-project-index-row label,.had-career-index-row label,.had-code-index-row label,
.had-credential-scroll>button small,.had-blog-console [data-had-blog-row] label,
.had-teaching-stream-row label,.had-collection-records .had-record-row label{
  font-size:10px!important;line-height:1.3!important;letter-spacing:.055em!important;
}
.had-project-index-row b,.had-career-index-row b,.had-code-index-row b,
.had-credential-scroll>button b,.had-blog-console [data-had-blog-row] b,
.had-teaching-stream-row b,.had-collection-records .had-record-row b{
  font-size:13px!important;line-height:1.34!important;font-weight:750!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
}
.had-project-index-row em,.had-career-index-row em,.had-code-index-row em,
.had-credential-scroll>button small,.had-blog-console [data-had-blog-row] em,
.had-teaching-stream-row em,.had-collection-records .had-record-row em,
.had-collection-records .had-record-row p{
  font-size:11px!important;line-height:1.42!important;
}
.had-project-index-row em,.had-career-index-row em,.had-code-index-row em{
  white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;
}
.had-record-index-panel .had-section-title h2,.had-credential-list .had-section-title h2,.had-blog-console .had-section-title h2,.had-collection-records>.had-section-title h2{font-size:15px!important}
.had-record-index-panel .had-section-title span,.had-credential-list .had-section-title span,.had-blog-console .had-section-title span,.had-collection-records>.had-section-title span{font-size:9px!important;line-height:1.3!important}

/* Code Portfolio: generated Python/data-analysis visuals. */
.had-portfolio-v502 .had-code-project-visual.had-code-project-image{
  position:relative!important;height:118px!important;min-height:118px!important;margin:-12px -12px 10px!important;padding:0!important;
  display:block!important;overflow:hidden!important;background:#061c29!important;border-bottom:1px solid #1b5366!important;
}
.had-portfolio-v502 .had-code-project-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;filter:saturate(1.04) contrast(1.04)}
.had-code-visual-badge{position:absolute;left:10px;top:9px;padding:4px 7px;border:1px solid rgba(32,216,233,.72);border-radius:3px;background:rgba(3,20,31,.82);color:#25d9e9;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(5px)}
.had-portfolio-v502 .had-code-project{min-height:338px!important}

/* Home identity: no CV request and no copy collisions. */
.had-home-v320 .had-profile-copy{gap:0!important;min-height:0!important;overflow:visible!important;justify-content:flex-start!important}
.had-home-v320 .had-profile-copy .had-kicker{flex:0 0 auto!important;margin-bottom:2px!important}
.had-home-v320 .had-profile-copy h1{flex:0 0 auto!important;overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important;font-size:clamp(24px,1.85vw,34px)!important;line-height:1.04!important}
.had-home-v320 .had-profile-role{flex:0 0 auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}
.had-home-v320 .had-profile-interests{flex:0 0 auto!important;margin-top:3px!important;padding-top:7px!important}
.had-home-v320 .had-profile-interests>div{gap:5px!important}
.had-home-v320 .had-profile-interests span{padding:4px 7px!important;font-size:8.5px!important;line-height:1.12!important}
.had-home-v320>.had-profile-card .had-profile-languages{flex:0 0 auto!important;margin-top:7px!important;padding-top:7px!important}
.had-home-v320>.had-profile-card .had-profile-languages>small{margin-bottom:4px!important}
.had-home-v320>.had-profile-card .had-profile-languages>div{gap:5px!important}
.had-home-v320>.had-profile-card .had-profile-languages span{min-height:34px!important;padding:5px 7px!important}
.had-home-v320>.had-profile-card .had-profile-languages b{font-size:8.5px!important}.had-home-v320>.had-profile-card .had-profile-languages em{font-size:6.8px!important}

/* Annual trend panels: use the available visual area while keeping labels inside. */
@media(min-width:901px){
  [data-had-collection-type="journal-papers"] .had-analytics-grid,
  [data-had-collection-type="book"] .had-analytics-grid,
  [data-had-collection-type="theses"] .had-analytics-grid,
  [data-had-collection-type="persian-articles"] .had-analytics-grid,
  [data-had-collection-type="conference-presentations"] .had-analytics-grid,
  [data-had-collection-type="editorial-referee"] .had-analytics-grid,
  [data-had-collection-type="media"] .had-analytics-grid,
  [data-had-collection-type="teaching-experience"] .had-analytics-grid{
    grid-template-rows:minmax(145px,.64fr) minmax(235px,1.22fr)!important;
  }
  [data-had-collection-type="journal-papers"] .had-journal-trend-panel,
  [data-had-collection-type="book"] .had-book-trend-panel,
  [data-had-collection-type="theses"] .had-thesis-trend-panel,
  [data-had-collection-type="persian-articles"] .had-persian-trend-panel,
  [data-had-collection-type="conference-presentations"] .had-presentation-trend-panel,
  [data-had-collection-type="editorial-referee"] .had-editorial-trend-panel,
  [data-had-collection-type="media"] .had-media-trend-panel,
  [data-had-collection-type="teaching-experience"] .had-teaching-trend-panel{
    min-height:235px!important;max-height:315px!important;height:clamp(235px,34vh,315px)!important;
  }
  .had-journal-trend-panel [data-had-journal-analytics-body="years"],
  .had-book-trend-panel [data-had-book-analytics-body="years"],
  .had-thesis-trend-panel [data-had-thesis-analytics-body="years"],
  .had-persian-trend-panel [data-had-persian-analytics-body="years"],
  .had-presentation-trend-panel [data-had-presentation-analytics-body="years"],
  .had-editorial-trend-panel [data-had-editorial-analytics-body="years"],
  .had-media-trend-panel [data-had-media-analytics-body="years"],
  .had-teaching-trend-panel [data-had-teaching-analytics-body="years"],
  .had-journal-trend-panel .had-year-trend,.had-book-trend-panel .had-year-trend,.had-thesis-trend-panel .had-year-trend,.had-persian-trend-panel .had-year-trend,.had-presentation-trend-panel .had-year-trend,.had-editorial-trend-panel .had-year-trend,.had-media-trend-panel .had-year-trend,.had-teaching-trend-panel .had-year-trend{
    min-height:202px!important;max-height:282px!important;height:calc(100% - 1px)!important;
  }

  .had-journal-trend-panel .had-year-trend>svg,.had-book-trend-panel .had-year-trend>svg,.had-thesis-trend-panel .had-year-trend>svg,.had-persian-trend-panel .had-year-trend>svg,.had-presentation-trend-panel .had-year-trend>svg,.had-editorial-trend-panel .had-year-trend>svg,.had-media-trend-panel .had-year-trend>svg,.had-teaching-trend-panel .had-year-trend>svg{
    width:100%!important;height:100%!important;min-height:202px!important;max-height:282px!important;display:block!important;overflow:visible!important;
  }
}

/* Sheffield supplied image reads well in news and the detail drawer. */
.had-news-media[style*="university-of-sheffield"] .had-news-image-base{background-position:center center!important}

@media(max-width:1100px) and (min-width:901px){
  .had-project-index-row b,.had-career-index-row b,.had-code-index-row b,.had-credential-scroll>button b,.had-blog-console [data-had-blog-row] b,.had-teaching-stream-row b,.had-collection-records .had-record-row b{font-size:12px!important}
  .had-project-index-row em,.had-career-index-row em,.had-code-index-row em,.had-credential-scroll>button small,.had-blog-console [data-had-blog-row] em,.had-teaching-stream-row em,.had-collection-records .had-record-row em{font-size:10px!important}
}


/* ===== /assets/css/v504-refinements.css ===== */
/** Hamed Academic Dashboard 5.0.4 — recovery, feed, typography and credential refinements. */

/* --------------------------------------------------------------------------
   Home identity — use the available vertical space while keeping clean rhythm
   -------------------------------------------------------------------------- */
@media (min-width: 1101px) {
  .had-home-v320 > .had-profile-card .had-profile-copy {
    padding: 13px 16px 10px !important;
    gap: 0 !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-copy .had-kicker {
    margin: 0 0 5px !important;
    font-size: 9.5px !important;
    line-height: 1.25 !important;
    letter-spacing: .13em !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-copy h1 {
    margin: 0 0 3px !important;
    font-size: clamp(27px, 1.95vw, 36px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-role {
    margin: 0 0 7px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-interests {
    margin-top: 2px !important;
    padding-top: 8px !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-interests > small,
  .had-home-v320 > .had-profile-card .had-profile-languages > small {
    display: block !important;
    margin: 0 0 6px !important;
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    letter-spacing: .13em !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-interests > div {
    gap: 6px !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-interests span {
    min-height: 24px !important;
    padding: 5px 8px !important;
    font-size: 9.25px !important;
    line-height: 1.15 !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-languages {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-languages > div {
    gap: 6px !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-languages span {
    min-height: 39px !important;
    padding: 6px 8px !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-languages b {
    font-size: 9.25px !important;
    line-height: 1.2 !important;
  }
  .had-home-v320 > .had-profile-card .had-profile-languages em {
    margin-top: 2px !important;
    font-size: 7.5px !important;
    line-height: 1.15 !important;
  }
}

/* --------------------------------------------------------------------------
   Copyright — requested left alignment on every screen
   -------------------------------------------------------------------------- */
.had-site-copyright {
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: 18px !important;
}

/* --------------------------------------------------------------------------
   Research project index — give long titles/roles their own rows
   -------------------------------------------------------------------------- */
.had-project-record-index .had-record-index-scroll {
  padding-right: 3px !important;
}
.had-project-record-index .had-project-index-row {
  min-height: 122px !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  align-items: start !important;
  padding: 12px 11px !important;
  gap: 10px !important;
}
.had-project-record-index .had-project-index-row > span:nth-child(2) {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
  gap: 4px !important;
}
.had-project-record-index .had-project-index-row label {
  display: block !important;
  margin: 0 !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
}
.had-project-record-index .had-project-index-row b {
  display: -webkit-box !important;
  margin: 0 !important;
  min-height: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}
.had-project-record-index .had-project-index-row em {
  display: -webkit-box !important;
  margin: 0 !important;
  font-size: 9.5px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
.had-project-record-index .had-project-index-row > .dashicons {
  align-self: center !important;
}

/* --------------------------------------------------------------------------
   Credential index — same visual language as the other record selectors
   -------------------------------------------------------------------------- */
.had-credential-list .had-credential-scroll > button {
  min-height: 72px !important;
  padding: 10px 12px !important;
  border-left: 2px solid transparent !important;
  background: transparent !important;
  color: #d8e9ef !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease !important;
}
.had-credential-list .had-credential-scroll > button > span:first-child {
  color: #35cce1 !important;
  font-size: 9px !important;
}
.had-credential-list .had-credential-scroll > button b {
  color: #e8f3f7 !important;
  font-size: 12.5px !important;
  line-height: 1.28 !important;
  font-weight: 750 !important;
}
.had-credential-list .had-credential-scroll > button small {
  margin-top: 4px !important;
  color: #7fa2b2 !important;
  font-size: 10px !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}
.had-credential-list .had-credential-scroll > button.is-active,
.had-credential-list .had-credential-scroll > button:hover,
.had-credential-list .had-credential-scroll > button:focus-visible {
  border-left-color: var(--had-cyan, #22d3ee) !important;
  background: rgba(34, 211, 238, .09) !important;
}
.had-credential-list .had-credential-scroll > button.is-active b,
.had-credential-list .had-credential-scroll > button:hover b,
.had-credential-list .had-credential-scroll > button:focus-visible b {
  color: #fff !important;
}
.had-credential-list .had-credential-scroll > button.is-active small {
  color: #9bc4d1 !important;
}

/* --------------------------------------------------------------------------
   Credential certificates — whole certificate, large and uncropped
   -------------------------------------------------------------------------- */
.had-credentials-v3 .had-credential-certificate,
.had-detail-drawer.is-credential-record .had-record-cover {
  padding: 12px !important;
}
.had-credentials-v3 .had-credential-certificate::before,
.had-detail-drawer.is-credential-record .had-record-cover::before {
  inset: 8px !important;
  border-radius: 5px !important;
  background: #fff !important;
}
.had-credentials-v3 .had-credential-certificate .had-credential-image,
.had-credentials-v3 .had-credential-certificate.is-portrait .had-credential-image,
.had-credentials-v3 .had-credential-certificate.is-landscape .had-credential-image,
.had-credentials-v3 .had-credential-certificate.is-square .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover img,
.had-detail-drawer.is-credential-record .had-record-cover.is-portrait img,
.had-detail-drawer.is-credential-record .had-record-cover.is-landscape img,
.had-detail-drawer.is-credential-record .had-record-cover.is-square img {
  width: calc(100% - 12px) !important;
  height: calc(100% - 12px) !important;
  max-width: calc(100% - 12px) !important;
  max-height: calc(100% - 12px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
  filter: drop-shadow(0 7px 12px rgba(0, 24, 38, .12)) !important;
  transform: none !important;
}
.had-credentials-v3 .had-credential-certificate:hover .had-credential-image,
.had-credentials-v3 .had-credential-certificate:focus-within .had-credential-image,
.had-detail-drawer.is-credential-record .had-record-cover:hover img {
  transform: none !important;
}
.had-detail-drawer.is-credential-record .had-record-cover .had-media-motion {
  display: none !important;
}
.had-detail-drawer.is-credential-record .had-record-cover {
  height: clamp(390px, 60vh, 535px) !important;
}

@media (max-width: 900px) {
  .had-credentials-v3 .had-credential-certificate,
  .had-detail-drawer.is-credential-record .had-record-cover {
    padding: 10px !important;
  }
  .had-project-record-index .had-project-index-row {
    min-height: 102px !important;
  }
}
@media (min-width: 901px) {
  .had-detail-drawer.is-credential-record .had-drawer-body {
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr) !important;
    gap: 26px !important;
  }
}


/* ===== /assets/css/v505-record-selectors.css ===== */
/* v5.0.5 — one consistent matching-record interface for every right-side record selector. */
.had-record-selector-panel{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  align-content:stretch!important;
  overflow:hidden!important;
}
.had-record-selector-panel>.had-section-title{
  margin:0!important;
  padding:0 0 8px!important;
  min-height:39px!important;
  border-bottom:1px solid #173b4f!important;
}
.had-record-selector-panel>.had-section-title h2{
  color:#eaf8ff!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.had-record-selector-panel>.had-section-title span{
  color:#83a8b8!important;
  font-family:var(--had-mono,monospace)!important;
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.had-record-selector-panel>.had-section-title span b{color:#08d9f5!important;font-size:11px!important}
.had-record-selector-filter-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  margin:0!important;
  padding:8px 0!important;
  border-bottom:1px solid #173b4f!important;
}
.had-record-selector-filter-row .had-search-box{
  min-width:0!important;
  height:35px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:0 9px!important;
  border:1px solid #1a5871!important;
  border-radius:0!important;
  background:#041b27!important;
  color:#54d7ed!important;
}
.had-record-selector-filter-row .had-search-box input{
  width:100%!important;
  min-width:0!important;
  height:31px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#dff7ff!important;
  font-size:11px!important;
}
.had-record-selector-filter-row .had-search-box input::placeholder{color:#6e93a4!important}
.had-record-selector-filter-row .had-year-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:4px!important;
  max-width:245px!important;
  margin:0!important;
  overflow:visible!important;
}
.had-record-selector-filter-row .had-year-filter button{
  min-width:38px!important;
  height:31px!important;
  padding:0 7px!important;
  border:1px solid #1a5269!important;
  border-radius:0!important;
  background:#061d29!important;
  color:#d4edf6!important;
  font-family:var(--had-mono,monospace)!important;
  font-size:10px!important;
  font-weight:700!important;
}
.had-record-selector-filter-row .had-year-filter button:hover,
.had-record-selector-filter-row .had-year-filter button.is-active{
  border-color:#00d9f5!important;
  color:#00e8ff!important;
  background:#073243!important;
}

/* Selector lists inherit the exact visual hierarchy used by collection matching records. */
.had-record-selector-panel [data-had-selector-list]{
  min-height:0!important;
  overflow:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#1684a3 #041722;
}
.had-record-selector-panel [data-had-selector-row]{
  width:100%!important;
  min-height:82px!important;
  margin:0!important;
  padding:9px 7px!important;
  border:0!important;
  border-bottom:1px solid #173b4f!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#dceff6!important;
  text-align:left!important;
  transition:background .16s ease,border-color .16s ease!important;
}
.had-record-selector-panel [data-had-selector-row]:hover,
.had-record-selector-panel [data-had-selector-row]:focus-visible{
  background:linear-gradient(90deg,rgba(0,217,245,.08),rgba(0,217,245,.015))!important;
  outline:none!important;
}
.had-record-selector-panel [data-had-selector-row] label{
  display:block!important;
  margin:0 0 4px!important;
  color:#f3b94f!important;
  font-family:var(--had-mono,monospace)!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.had-record-selector-panel [data-had-selector-row] b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  color:#f1f8fb!important;
  font-size:13px!important;
  line-height:1.24!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.had-record-selector-panel [data-had-selector-row] em,
.had-record-selector-panel [data-had-selector-row] small{
  display:block!important;
  margin-top:4px!important;
  color:#789cab!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:500!important;
}
.had-record-selector-panel [data-had-selector-row]>.dashicons,
.had-record-selector-panel [data-had-selector-row]>svg{color:#00dff7!important;align-self:center!important}
.had-record-selector-panel .had-index-number,
.had-record-selector-panel .had-teaching-stream-number{
  color:#00dff7!important;
  font-family:var(--had-mono,monospace)!important;
  font-size:10px!important;
  font-weight:800!important;
}
.had-record-selector-panel .had-record-selector-empty{
  min-height:120px!important;
  align-content:center!important;
  justify-items:center!important;
  color:#7fa3b1!important;
}

/* Row grids: same proportions and breathing room as the collection record list. */
.had-project-record-index [data-had-selector-row],
.had-career-record-index [data-had-selector-row],
.had-code-record-index [data-had-selector-row]{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 20px!important;
  gap:9px!important;
  align-items:center!important;
}
.had-teaching-records-panel [data-had-selector-row]{
  display:grid!important;
  grid-template-columns:34px 52px minmax(0,1fr) 20px!important;
  gap:8px!important;
  align-items:center!important;
}
.had-teaching-records-panel [data-had-selector-row]>time{
  color:#00dff7!important;
  font-family:var(--had-mono,monospace)!important;
  font-size:12px!important;
  font-weight:700!important;
}
.had-credential-list [data-had-selector-row]{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 20px!important;
  gap:9px!important;
  align-items:center!important;
}
.had-credential-list [data-had-selector-row]>span:first-child{color:#00dff7!important;font-size:10px!important}
.had-credential-list [data-had-selector-row] div>label{color:#f3b94f!important}
.had-credential-list [data-had-selector-row].is-active,
.had-credential-list [data-had-selector-row][aria-selected="true"]{
  border-left:2px solid #00dff7!important;
  background:linear-gradient(90deg,rgba(0,217,245,.11),rgba(0,217,245,.02))!important;
}
.had-blog-console [data-had-selector-row]{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 20px!important;
  gap:9px!important;
  align-items:center!important;
}
.had-blog-console [data-had-selector-row]>time strong{color:#00dff7!important;font-size:11px!important}
.had-blog-console [data-had-selector-row]>time small{color:#789cab!important;font-size:9px!important}

/* Career has two independent matching-record selectors switched by Work/Education. */
.had-career-index-lists{height:100%;min-height:0!important;display:grid!important}
.had-career-index-lists>.had-career-record-index{height:100%!important;min-height:0!important}

/* Code and research sidebars retain comfortable widths with the new filter toolbar. */
.had-research-side,.had-portfolio-side{min-width:0!important}

@media(max-width:1300px){
  .had-record-selector-filter-row{grid-template-columns:1fr!important}
  .had-record-selector-filter-row .had-year-filter{justify-content:flex-start!important;max-width:none!important}
}
@media(max-width:760px){
  .had-record-selector-panel [data-had-selector-row]{min-height:76px!important}
  .had-record-selector-filter-row .had-year-filter button{min-width:42px!important}
}


/* ===== /assets/css/v506-repairs.css ===== */
/* v5.0.6 — selector/filter reliability and project-evidence readability. */

/* The reusable selector controller uses the native hidden attribute. Legacy
 * display:grid!important rules must never defeat a year/search filter. */
.had-record-selector-panel [data-had-selector-row][hidden],
[data-had-career-index-kind][hidden],
.had-record-selector-panel [data-had-selector-empty][hidden]{
  display:none!important;
}

/* Sidebars are narrower than the collection Matching records panel. Preserve
 * the same visual language while stacking search and year controls so buttons
 * never collide with record text. */
.had-record-selector-filter-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:7px!important;
  align-items:stretch!important;
  padding:8px 0 9px!important;
}
.had-record-selector-filter-row .had-search-box{
  width:100%!important;
  max-width:none!important;
}
.had-record-selector-filter-row .had-year-filter{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  gap:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 3px!important;
  scrollbar-width:thin;
  scrollbar-color:#1684a3 transparent;
}
.had-record-selector-filter-row .had-year-filter button{
  flex:0 0 auto!important;
  min-width:42px!important;
  height:31px!important;
}

/* Ensure all three selector rows (heading / controls / list) receive their own
 * grid track, especially the credential panel where older CSS expected only two. */
.had-credentials-v3 .had-credential-list.had-record-selector-panel,
.had-publications-final .had-latest-list.had-record-selector-panel,
.had-teaching-records-panel.had-record-selector-panel,
.had-project-record-index.had-record-selector-panel,
.had-career-record-index.had-record-selector-panel,
.had-code-record-index.had-record-selector-panel,
.had-blog-console.had-record-selector-panel{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.had-credentials-v3 .had-credential-scroll,
.had-publications-final .had-scroll-list,
.had-teaching-records-panel .had-teaching-stream,
.had-project-record-index .had-record-index-scroll,
.had-career-record-index .had-record-index-scroll,
.had-code-record-index .had-record-index-scroll,
.had-blog-console .had-blog-list{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Credential index: remove the previous visual collision between toolbar and
 * the first row, while retaining the same matching-record typography. */
.had-credentials-v3 .had-credential-list{
  padding:10px!important;
}
.had-credentials-v3 .had-credential-list [data-had-selector-row]{
  min-height:76px!important;
  padding:9px 6px!important;
}
.had-credentials-v3 .had-credential-list [data-had-selector-row] b{
  font-size:12.5px!important;
  line-height:1.25!important;
}
.had-credentials-v3 .had-credential-list [data-had-selector-row] small{
  font-size:9.5px!important;
  line-height:1.3!important;
}

/* Career/education: only the panel matching the active Work/Education tab is
 * allowed to occupy the right column. */
.had-career-index-lists>[data-had-career-index-kind][hidden]{display:none!important}
.had-career-index-lists>[data-had-career-index-kind]:not([hidden]){
  display:grid!important;
  height:100%!important;
  min-height:0!important;
}

/* Project selector labels now carry the actual project start year. */
.had-project-record-index [data-had-selector-row] label{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Longer, study-specific evidence descriptions in the project dashboard. */
.had-project-source-panel>p{
  color:#8eabb7!important;
  font-size:9.5px!important;
  line-height:1.55!important;
  margin:8px 0 10px!important;
}
.had-project-source-panel .had-source-flow{
  align-items:stretch!important;
  flex-wrap:wrap!important;
}
.had-project-source-panel .had-source-flow>span{
  flex:1 1 145px!important;
  min-width:145px!important;
}
.had-project-source-panel .had-source-flow b{
  font-size:8px!important;
  line-height:1.35!important;
}
.had-project-method-chips>span{
  font-size:11px!important;
  line-height:1.3!important;
}

@media(max-width:900px){
  .had-record-selector-filter-row .had-year-filter{padding-bottom:6px!important}
}


/* ===== /assets/css/v507-publication-popups.css ===== */
/** Version 5.0.7: credential-style full publication drawers. */
.had-detail-drawer.is-publication-full-record .had-drawer-body{
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-publication-full-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,22px)!important;
}
.had-detail-drawer.is-publication-full-record .had-record-cover img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.had-detail-drawer.is-publication-full-record .had-record-copy{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-publication-full-record .had-rich-content{
  max-height:none!important;
  overflow:visible!important;
}
.had-publication-facts[hidden]{display:none!important}
.had-publication-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 18px;
}
.had-publication-facts>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #c5d8de;
  background:#eef5f7;
}
.had-publication-facts>div[hidden]{display:none!important}
.had-publication-facts small,.had-publication-facts b{display:block}
.had-publication-facts small{
  color:#66828d;
  font:700 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.09em;
}
.had-publication-facts b{
  margin-top:5px;
  color:#183f4b;
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.had-detail-drawer.is-publication-full-record .had-blog-popup-engagement{
  display:block;
  margin:16px 0 4px;
  padding:12px 13px;
  border:1px solid #c8dde2;
  border-left:3px solid var(--drawer-accent);
  background:#eef5f7;
  color:#254852;
}
.had-detail-drawer.is-publication-full-record .had-blog-popup-comment-total{display:none!important}
.had-detail-drawer.is-publication-full-record .had-blog-popup-engagement-head h2{
  margin:3px 0 0;
  font-size:14px;
  color:#173f4b;
}
.had-detail-drawer.is-publication-full-record .had-blog-popup-engagement-head small{font-size:8px}
.had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons button{
  min-height:45px;
  padding:7px 8px;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:5px;
}
.had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons button>span{font-size:15px}
.had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons button>b{font-size:8px;line-height:1.15}
.had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons button>em{font-size:8px;min-width:20px;padding:3px 4px}
.had-detail-drawer.is-publication-full-record .had-engagement-message{min-height:10px;margin:4px 0 0;font-size:8px}
@media(max-width:900px){
  .had-detail-drawer.is-publication-full-record .had-drawer-body{display:block!important;overflow:auto!important}
  .had-detail-drawer.is-publication-full-record .had-record-cover{position:relative!important;width:min(100%,390px)!important;height:min(520px,58vh)!important;margin:0 auto 22px!important}
  .had-detail-drawer.is-publication-full-record .had-record-copy{max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:600px){
  .had-publication-facts{grid-template-columns:1fr}
  .had-detail-drawer.is-publication-full-record .had-blog-reaction-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.had-detail-drawer.is-publication-full-record .had-rich-content,
.had-detail-drawer.is-publication-full-record .had-record-copy>.had-tag-row{display:none!important}


/* ===== /assets/css/v508-publication-cleanup.css ===== */
/** Version 5.0.8: real-cover publication cleanup. */
.had-detail-drawer.is-publication-full-record [data-had-detail-description]{display:none!important}
.had-detail-drawer.is-publication-full-record .had-record-cover{
  background:#fff!important;
  border-color:#bfd5dc!important;
}
.had-detail-drawer.is-publication-full-record .had-record-cover img{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
/* Journal analytics intentionally support the complete canonical lists. */
[data-had-journal-analytics-body="journals"] .had-metric-bars,
[data-had-journal-analytics-body="subjects"] .had-metric-bars{
  max-height:100%;
}


/* ===== /assets/css/v5010-persian-publications.css ===== */
/** Version 5.0.10: Persian Journal Articles use the Journal Papers full-record reader. */
.had-detail-drawer.is-persian-journal-record .had-record-cover{
  background:#fff!important;
  border-color:#bfd5dc!important;
}
.had-detail-drawer.is-persian-journal-record .had-record-cover img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.had-detail-drawer.is-persian-journal-record [data-had-detail-description]{display:none!important}
.had-detail-drawer.is-persian-journal-record .had-publication-abstract,
.had-detail-drawer.is-persian-journal-record .had-publication-keywords,
.had-detail-drawer.is-persian-journal-record .had-publication-facts,
.had-detail-drawer.is-persian-journal-record .had-citation-box,
.had-detail-drawer.is-persian-journal-record .had-blog-popup-engagement{
  width:100%;
}


/* ===== /assets/css/v5011-thesis-book-popups.css ===== */
/** Version 5.0.11: thesis full-record reader and compact book/thesis reactions. */
.had-thesis-facts[hidden]{display:none!important}
.had-thesis-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 18px;
}
.had-thesis-facts>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #c5d8de;
  background:#eef5f7;
}
.had-thesis-facts>div[hidden]{display:none!important}
.had-thesis-facts .had-thesis-supervision{grid-column:1/-1}
.had-thesis-facts small,.had-thesis-facts b{display:block}
.had-thesis-facts small{
  color:#66828d;
  font:700 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.09em;
}
.had-thesis-facts b{
  margin-top:5px;
  color:#183f4b;
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Thesis readers now match Journal Papers: cover stays visible, record copy scrolls. */
.had-detail-drawer.is-thesis-full-record .had-drawer-body{
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-thesis-full-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,22px)!important;
  background:#eef5f6!important;
}
.had-detail-drawer.is-thesis-full-record .had-record-cover img{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.had-detail-drawer.is-thesis-full-record .had-record-copy{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-thesis-full-record .had-rich-content,
.had-detail-drawer.is-thesis-full-record .had-record-copy>.had-tag-row{display:none!important}
.had-detail-drawer.is-thesis-full-record [data-had-detail-url].is-disabled{
  opacity:.48;
  cursor:not-allowed;
  pointer-events:none;
  filter:saturate(.45);
}

/* Books keep their existing layout; only the reaction panel adopts publication styling. */
.had-detail-drawer.has-book-reader-reactions .had-blog-popup-engagement{
  display:block;
  margin:16px 0 4px;
  padding:12px 13px;
  border:1px solid #c8dde2;
  border-left:3px solid var(--drawer-accent);
  background:#eef5f7;
  color:#254852;
}
.had-detail-drawer.has-book-reader-reactions .had-blog-popup-comment-total{display:none!important}
.had-detail-drawer.has-book-reader-reactions .had-blog-popup-engagement-head h2{
  margin:3px 0 0;
  font-size:14px;
  color:#173f4b;
}
.had-detail-drawer.has-book-reader-reactions .had-blog-popup-engagement-head small{font-size:8px}
.had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons button{
  min-height:45px;
  padding:7px 8px;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:5px;
}
.had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons button>span{font-size:15px}
.had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons button>b{font-size:8px;line-height:1.15}
.had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons button>em{font-size:8px;min-width:20px;padding:3px 4px}
.had-detail-drawer.has-book-reader-reactions .had-engagement-message{min-height:10px;margin:4px 0 0;font-size:8px}

@media(max-width:900px){
  .had-detail-drawer.is-thesis-full-record .had-drawer-body{display:block!important;overflow:auto!important}
  .had-detail-drawer.is-thesis-full-record .had-record-cover{position:relative!important;width:min(100%,390px)!important;height:min(520px,58vh)!important;margin:0 auto 22px!important}
  .had-detail-drawer.is-thesis-full-record .had-record-copy{max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:600px){
  .had-thesis-facts{grid-template-columns:1fr}
  .had-thesis-facts .had-thesis-supervision{grid-column:auto}
  .had-detail-drawer.has-book-reader-reactions .had-blog-reaction-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ===== /assets/css/v5013-publications-teaching-popups.css ===== */
/**
 * Version 5.0.13
 * - Publication overview contains only the four authored-output families.
 * - Teaching Portfolio drawers use the same fixed-image / scrollable-record
 *   reading model as journal-article drawers, with reactions and discussion.
 */

/* Four publication families: Journal Papers, Books, Theses and Persian Articles. */
.had-publications-final .had-output-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:minmax(292px,auto)!important;
}
.had-publications-final .had-publication-dashboard{
  align-content:start!important;
}

/* Popup discussion is reserved for Teaching Portfolio records. */
.had-blog-popup-engagement .had-teaching-popup-discussion{
  display:none;
}
.had-detail-drawer.is-teaching-portfolio-context .had-blog-popup-engagement .had-teaching-popup-discussion{
  display:block;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #c7dce2;
}

/* Journal-style Teaching popup: fixed evidence visual on the left, independently
   scrollable complete record on the right. */
.had-detail-drawer.is-teaching-portfolio-context .had-drawer-body{
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:14px!important;
  border:1px solid #bfd5dc!important;
  background:#fff!important;
  box-shadow:0 18px 35px rgba(15,44,55,.14)!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover:before,
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover>span,
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover>b,
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover>em,
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover>i,
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover>.had-media-motion{
  display:none!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  filter:none!important;
  transform:none!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-record-copy{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-teaching-portfolio-context .had-record-copy::-webkit-scrollbar{width:10px}
.had-detail-drawer.is-teaching-portfolio-context .had-record-copy::-webkit-scrollbar-track{background:#dce8eb}
.had-detail-drawer.is-teaching-portfolio-context .had-record-copy::-webkit-scrollbar-thumb{background:#13899a;border:2px solid #dce8eb;border-radius:999px}
.had-detail-drawer.is-teaching-portfolio-context .had-lead{
  display:none!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  color:#2d4c57!important;
  font-size:12px!important;
  line-height:1.68!important;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content[hidden]{display:none!important}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content h2{
  margin:1.15em 0 .55em;
  color:#0a5362;
  font-size:22px;
  line-height:1.2;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content h3{
  margin:1.2em 0 .45em;
  color:#0b6573;
  font-size:17px;
  line-height:1.25;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content h4{
  margin:1.15em 0 .4em;
  color:#245f6c;
  font-size:14px;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content p,
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content li{
  font-size:12px;
  line-height:1.68;
}
.had-detail-drawer.is-teaching-portfolio-context .had-rich-content blockquote{
  margin:0 0 18px;
  padding:16px 18px;
  border-left:3px solid #0ca5ba;
  background:#eaf5f7;
  color:#164b59;
}

@media(max-width:900px){
  .had-publications-final .had-output-grid{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:auto!important}
  .had-detail-drawer.is-teaching-portfolio-context .had-drawer-body{display:block!important;overflow:auto!important}
  .had-detail-drawer.is-teaching-portfolio-context .had-record-cover{position:relative!important;width:min(100%,540px)!important;height:min(430px,58vh)!important;margin:0 auto 22px!important}
  .had-detail-drawer.is-teaching-portfolio-context .had-record-copy{max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:600px){
  .had-detail-drawer.is-teaching-portfolio-context .had-blog-reaction-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .had-detail-drawer.is-teaching-portfolio-context .had-rich-content{font-size:14px!important}
  .had-detail-drawer.is-teaching-portfolio-context .had-rich-content p,
  .had-detail-drawer.is-teaching-portfolio-context .had-rich-content li{font-size:14px}
}


/* ===== /assets/css/v5014-course-syllabi.css ===== */
/**
 * Version 5.0.14
 * Authoritative Course Syllabi reader refinements.
 * Keeps the supplied course visual fixed on the left and the complete syllabus
 * independently scrollable on the right, matching the publication readers.
 */

.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-drawer-body{
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-record-cover{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:clamp(410px,64vh,610px)!important;
  padding:16px!important;
  background:#fff!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-record-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}

/* The right pane is the complete course record. */
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-record-copy{
  padding-right:12px!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content{
  font-size:12px!important;
  line-height:1.7!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content p,
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content li,
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content td,
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content th{
  font-size:12px!important;
  line-height:1.62!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content a{
  color:#067f91!important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

/* Course metadata uses the compact journal fact-card language. */
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 18px!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts>div{
  padding:10px 12px!important;
  border:1px solid #c7dce2!important;
  background:#eef6f7!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts dt{
  margin:0 0 4px!important;
  color:#08798a!important;
  font:700 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts dd{
  margin:0!important;
  color:#193f4c!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.4!important;
}

.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-section{
  margin:0 0 19px!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-section>h2{
  margin:0 0 8px!important;
  padding:0 0 7px!important;
  border-bottom:1px solid #c7dce2!important;
  color:#0a5362!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-section:first-of-type{
  padding:13px 14px!important;
  border:1px solid #c7dce2!important;
  border-left:3px solid var(--drawer-accent)!important;
  background:#eef6f7!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-section:first-of-type>h2{
  color:#08798a!important;
}

.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-list{
  display:block!important;
  margin:7px 0 0!important;
  padding-left:20px!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-list li{
  margin:0 0 5px!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-table-wrap{
  width:100%!important;
  margin:9px 0 0!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-table{
  width:100%!important;
  min-width:520px!important;
  border-collapse:collapse!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-table th,
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-table td{
  padding:7px 9px!important;
  border:1px solid #c7dce2!important;
  vertical-align:top!important;
}
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-table th{
  background:#e4f1f3!important;
  color:#0a5362!important;
  font-weight:800!important;
}

/* Course readers keep only useful popup actions. */
.had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record [data-had-detail-url]:not([hidden]){
  display:inline-flex!important;
  align-items:center;
  gap:6px;
}

@media(max-width:900px){
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-record-cover{
    width:min(100%,560px)!important;
    height:min(470px,58vh)!important;
  }
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-record-cover{
    height:360px!important;
  }
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-syllabus-facts{
    grid-template-columns:1fr!important;
  }
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content,
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content p,
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content li,
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content td,
  .had-detail-drawer.is-teaching-portfolio-context.is-course-syllabus-record .had-rich-content th{
    font-size:14px!important;
  }
}


/* ===== /assets/css/v5015-career-records.css ===== */
/** Version 5.0.15: journal-style full Career Record drawers. */

.had-detail-drawer.is-career-record .had-drawer-body{
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-career-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,22px)!important;
  display:grid!important;
  place-items:center!important;
  background:#f5f8f9!important;
  border:1px solid #bdd5dc!important;
  box-shadow:0 18px 38px rgba(0,31,48,.16)!important;
}
.had-detail-drawer.is-career-record .had-record-cover:before{display:none!important}
.had-detail-drawer.is-career-record .had-record-cover img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~span,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~b,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~em,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~i{display:none!important}

.had-detail-drawer.is-career-record .had-record-copy{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-career-record .had-record-copy>.had-lead,
.had-detail-drawer.is-career-record .had-record-copy>.had-tag-row{display:none!important}
.had-detail-drawer.is-career-record .had-rich-content{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  color:#315864;
  font-size:12px;
  line-height:1.65;
}
.had-detail-drawer.is-career-record .had-rich-content .had-career-profile{width:100%;max-width:none}
.had-detail-drawer.is-career-record .had-career-profile-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:2px 0 18px;
}
.had-detail-drawer.is-career-record .had-career-profile-facts>span{
  min-width:0;
  padding:11px 12px;
  border:1px solid #c5d8de;
  background:#eef5f7;
}
.had-detail-drawer.is-career-record .had-career-profile-facts small,
.had-detail-drawer.is-career-record .had-career-profile-facts b{display:block}
.had-detail-drawer.is-career-record .had-career-profile-facts small{
  color:#66828d;
  font:700 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.had-detail-drawer.is-career-record .had-career-profile-facts b{
  margin-top:5px;
  color:#183f4b;
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.had-detail-drawer.is-career-record .had-career-profile h2{
  margin:18px 0 8px;
  padding-top:1px;
  color:#0c8798;
  font-size:15px;
  line-height:1.25;
}
.had-detail-drawer.is-career-record .had-career-profile p{margin:0 0 12px}
.had-detail-drawer.is-career-record .had-career-profile ul{
  margin:0 0 14px;
  padding-left:20px;
}
.had-detail-drawer.is-career-record .had-career-profile li{margin:0 0 7px}
.had-detail-drawer.is-career-record .had-career-profile a{
  color:#087f91;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(8,127,145,.28);
}
.had-detail-drawer.is-career-record .had-career-profile a:hover,
.had-detail-drawer.is-career-record .had-career-profile a:focus-visible{border-bottom-color:currentColor}
.had-detail-drawer.is-career-record .had-career-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 14px;
}
.had-detail-drawer.is-career-record .had-career-chip-row span{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 9px;
  border:1px solid #b9d6dd;
  border-radius:999px;
  background:#eef6f8;
  color:#245360;
  font-size:9.5px;
  line-height:1.25;
}
.had-detail-drawer.is-career-record .had-career-chip-row.is-methods span{border-left:2px solid #0aa6b8}
.had-detail-drawer.is-career-record .had-career-chip-row.is-competencies span{border-left:2px solid #7696d8}
.had-detail-drawer.is-career-record .had-career-link-list{padding-left:18px;margin-bottom:16px}

/* Career popups use reactions, but not the public comment form. */
.had-detail-drawer.is-career-record .had-blog-popup-engagement{
  display:block!important;
  margin:18px 0 4px!important;
  padding:12px 13px!important;
  border:1px solid #c8dde2!important;
  border-left:3px solid var(--drawer-accent)!important;
  background:#eef5f7!important;
  color:#254852!important;
}
.had-detail-drawer.is-career-record .had-blog-popup-comment-total,
.had-detail-drawer.is-career-record .had-teaching-popup-discussion{display:none!important}
.had-detail-drawer.is-career-record .had-blog-popup-engagement-head h2{
  margin:3px 0 0!important;
  font-size:14px!important;
  color:#173f4b!important;
}
.had-detail-drawer.is-career-record .had-blog-popup-engagement-head small{font-size:8px!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:10px!important;
}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button{
  min-height:45px!important;
  padding:7px 8px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:5px!important;
}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>span{font-size:15px!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>b{font-size:8px!important;line-height:1.15!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>em{font-size:8px!important;min-width:20px!important;padding:3px 4px!important}
.had-detail-drawer.is-career-record .had-engagement-message{min-height:10px;margin:4px 0 0;font-size:8px}

/* The complete role record lives in the popup. Evidence links are in-content. */
.had-detail-drawer.is-career-record [data-had-detail-url]{display:none!important}
.had-detail-drawer.is-career-record .had-drawer-actions{justify-content:flex-start}

@media(max-width:900px){
  .had-detail-drawer.is-career-record .had-drawer-body{display:block!important;overflow:auto!important}
  .had-detail-drawer.is-career-record .had-record-cover{
    position:relative!important;
    width:min(100%,390px)!important;
    height:min(520px,58vh)!important;
    margin:0 auto 22px!important;
  }
  .had-detail-drawer.is-career-record .had-record-copy{max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:600px){
  .had-detail-drawer.is-career-record .had-career-profile-facts{grid-template-columns:1fr}
  .had-detail-drawer.is-career-record .had-blog-reaction-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== /assets/css/v5016-career-education-style.css ===== */
/**
 * Version 5.0.16: Career Record drawers aligned to the Education Record layout.
 *
 * The Big Data Analytics Specialisation Studies education popup is the visual
 * reference: compact 320px evidence panel on the left, contained authentic
 * image, readable full record on the right, and one shared scrolling surface.
 */

.had-detail-drawer.is-career-record .had-drawer-body{
  grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,42px)!important;
  align-items:start!important;
  overflow:auto!important;
}

.had-detail-drawer.is-career-record .had-record-cover{
  position:relative!important;
  top:auto!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(340px,52vh,430px)!important;
  margin:0!important;
  padding:12px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#f3f7f8!important;
  border:1px solid #b9d6dd!important;
  box-shadow:0 18px 38px rgba(0,31,48,.16)!important;
}

.had-detail-drawer.is-career-record .had-record-cover:before{display:none!important}

.had-detail-drawer.is-career-record .had-record-cover img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~span,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~b,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~em,
.had-detail-drawer.is-career-record .had-record-cover img:not([hidden])~i{display:none!important}

.had-detail-drawer.is-career-record .had-record-copy{
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
  scrollbar-width:auto!important;
}

/* Education records show the introductory summary immediately below FULL RECORD. */
.had-detail-drawer.is-career-record .had-record-copy>.had-lead{
  display:block!important;
  margin:0 0 16px!important;
  color:#315864!important;
  font-size:12px!important;
  line-height:1.65!important;
}

.had-detail-drawer.is-career-record .had-record-copy>.had-tag-row{display:none!important}

.had-detail-drawer.is-career-record .had-rich-content{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  color:#405c68!important;
  font-size:12px!important;
  line-height:1.65!important;
}

.had-detail-drawer.is-career-record .had-rich-content[hidden]{display:none!important}
.had-detail-drawer.is-career-record .had-rich-content .had-career-profile{width:100%;max-width:none}

/* Match the education record's simple heading/list treatment rather than card facts. */
.had-detail-drawer.is-career-record .had-career-profile h2{display:none!important}
.had-detail-drawer.is-career-record .had-career-profile h3{
  margin:18px 0 8px!important;
  color:#154a5b!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.had-detail-drawer.is-career-record .had-career-profile p{margin:0 0 12px!important}
.had-detail-drawer.is-career-record .had-career-profile ul{
  margin:0!important;
  padding-left:20px!important;
}
.had-detail-drawer.is-career-record .had-career-profile li{
  margin:0 0 8px!important;
  color:#405c68!important;
}
.had-detail-drawer.is-career-record .had-career-position-details strong{color:#214c59}

.had-detail-drawer.is-career-record .had-career-profile a{
  color:#087f91!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(8,127,145,.28)!important;
}
.had-detail-drawer.is-career-record .had-career-profile a:hover,
.had-detail-drawer.is-career-record .had-career-profile a:focus-visible{border-bottom-color:currentColor!important}

.had-detail-drawer.is-career-record .had-career-chip-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 4px!important;
}
.had-detail-drawer.is-career-record .had-career-chip-row span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:5px 9px!important;
  border:1px solid #b9d6dd!important;
  border-radius:999px!important;
  background:#eef6f8!important;
  color:#245360!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}
.had-detail-drawer.is-career-record .had-career-chip-row.is-methods span{border-left:2px solid #0aa6b8!important}
.had-detail-drawer.is-career-record .had-career-chip-row.is-competencies span{border-left:2px solid #7696d8!important}
.had-detail-drawer.is-career-record .had-career-link-list{padding-left:20px!important;margin:0!important}

/* Keep the previously requested reader-reaction block, but size it to the education layout. */
.had-detail-drawer.is-career-record .had-blog-popup-engagement{
  display:block!important;
  margin:20px 0 4px!important;
  padding:12px 13px!important;
  border:1px solid #c8dde2!important;
  border-left:3px solid var(--drawer-accent)!important;
  background:#eef5f7!important;
  color:#254852!important;
}
.had-detail-drawer.is-career-record .had-blog-popup-comment-total,
.had-detail-drawer.is-career-record .had-teaching-popup-discussion{display:none!important}
.had-detail-drawer.is-career-record .had-blog-popup-engagement-head h2{
  margin:3px 0 0!important;
  font-size:14px!important;
  color:#173f4b!important;
}
.had-detail-drawer.is-career-record .had-blog-popup-engagement-head small{font-size:8px!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:10px!important;
}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button{
  min-height:45px!important;
  padding:7px 8px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:5px!important;
}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>span{font-size:15px!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>b{font-size:8px!important;line-height:1.15!important}
.had-detail-drawer.is-career-record .had-blog-reaction-buttons button>em{font-size:8px!important;min-width:20px!important;padding:3px 4px!important}
.had-detail-drawer.is-career-record .had-engagement-message{min-height:10px;margin:4px 0 0;font-size:8px}

/* Career records are complete in the drawer: no redundant full-page/source links. */
.had-detail-drawer.is-career-record [data-had-detail-url]{display:none!important}
.had-detail-drawer.is-career-record .had-drawer-actions{justify-content:flex-start!important}

@media(max-width:760px){
  .had-detail-drawer.is-career-record .had-drawer-body{
    display:block!important;
    overflow:auto!important;
  }
  .had-detail-drawer.is-career-record .had-record-cover{
    width:min(100%,320px)!important;
    height:min(430px,58vh)!important;
    margin:0 auto 22px!important;
  }
  .had-detail-drawer.is-career-record .had-record-copy{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
}

@media(max-width:600px){
  .had-detail-drawer.is-career-record .had-blog-reaction-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ===== /assets/css/v5019-popup-reader-fixes.css ===== */
/**
 * Version 5.0.19: fixed-left popup reader and text-visibility repair.
 *
 * Education and Career drawers now use the same desktop reading model as the
 * journal-paper drawer: the authentic image remains fixed at left while only
 * the complete record on the right scrolls.  This file also repairs pale/
 * invisible Education Record copy left behind by older cascade rules.
 */

/* Education Record: fixed image / independently scrollable copy. */
.had-detail-drawer.is-career-education-record .had-drawer-body{
  grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,42px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-career-education-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(340px,52vh,430px)!important;
  margin:0!important;
  padding:12px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#f3f7f8!important;
  border:1px solid #b9d6dd!important;
  box-shadow:0 18px 38px rgba(0,31,48,.16)!important;
}
.had-detail-drawer.is-career-education-record .had-record-cover:before{display:none!important}
.had-detail-drawer.is-career-education-record .had-record-cover img{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  filter:none!important;
  transform:none!important;
}
.had-detail-drawer.is-career-education-record .had-record-copy{
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-career-education-record .had-record-copy::-webkit-scrollbar{width:10px}
.had-detail-drawer.is-career-education-record .had-record-copy::-webkit-scrollbar-track{background:#dce8eb}
.had-detail-drawer.is-career-education-record .had-record-copy::-webkit-scrollbar-thumb{background:#13899a;border:2px solid #dce8eb;border-radius:999px}
.had-detail-drawer.is-career-education-record .had-record-copy>.had-lead{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0 0 16px!important;
  color:#315864!important;
  -webkit-text-fill-color:#315864!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.had-detail-drawer.is-career-education-record .had-rich-content{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
  overflow:visible!important;
  color:#405c68!important;
  -webkit-text-fill-color:#405c68!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.had-detail-drawer.is-career-education-record .had-rich-content[hidden]{display:none!important}
.had-detail-drawer.is-career-education-record .had-rich-content p,
.had-detail-drawer.is-career-education-record .had-rich-content li,
.had-detail-drawer.is-career-education-record .had-pedagogy-course-summary{
  color:#405c68!important;
  -webkit-text-fill-color:#405c68!important;
  opacity:1!important;
}
.had-detail-drawer.is-career-education-record .had-rich-content h2,
.had-detail-drawer.is-career-education-record .had-rich-content h3{
  color:#154a5b!important;
  -webkit-text-fill-color:#154a5b!important;
  opacity:1!important;
}

/* Career Record: match the journal reader exactly on desktop. */
.had-detail-drawer.is-career-record .had-drawer-body{
  grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,42px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-career-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
}
.had-detail-drawer.is-career-record .had-record-copy{
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-career-record .had-record-copy::-webkit-scrollbar{width:10px}
.had-detail-drawer.is-career-record .had-record-copy::-webkit-scrollbar-track{background:#dce8eb}
.had-detail-drawer.is-career-record .had-record-copy::-webkit-scrollbar-thumb{background:#13899a;border:2px solid #dce8eb;border-radius:999px}

/* Teaching popup images should always be fully contained and stay fixed while
   the long-form record, reactions and comments scroll on the right. */
.had-detail-drawer.is-teaching-portfolio-context .had-drawer-body{overflow:hidden!important}
.had-detail-drawer.is-teaching-portfolio-context .had-record-cover{position:sticky!important;top:0!important;align-self:start!important}
.had-detail-drawer.is-teaching-portfolio-context .had-record-copy{min-height:0!important;max-height:100%!important;overflow-y:auto!important}

@media(max-width:900px){
  .had-detail-drawer.is-career-education-record .had-drawer-body,
  .had-detail-drawer.is-career-record .had-drawer-body,
  .had-detail-drawer.is-teaching-portfolio-context .had-drawer-body{
    display:block!important;
    overflow:auto!important;
  }
  .had-detail-drawer.is-career-education-record .had-record-cover,
  .had-detail-drawer.is-career-record .had-record-cover,
  .had-detail-drawer.is-teaching-portfolio-context .had-record-cover{
    position:relative!important;
    top:auto!important;
    width:min(100%,420px)!important;
    margin:0 auto 22px!important;
  }
  .had-detail-drawer.is-career-education-record .had-record-copy,
  .had-detail-drawer.is-career-record .had-record-copy,
  .had-detail-drawer.is-teaching-portfolio-context .had-record-copy{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
}


/* ===== /assets/css/v5021-requested-repairs.css ===== */
/** Version 5.0.21: requested selector and popup layout repairs. */

/* Teaching Portfolio: the UTU section now intentionally contains only Publicum;
 * Metropolia receives one full-width authentic campus image before its text. */
.had-institution-gallery.had-institution-gallery-single{
  grid-template-columns:minmax(0,1fr)!important;
}
.had-institution-gallery.had-institution-gallery-single .had-institution-figure{
  width:100%!important;
  max-width:none!important;
}
.had-institution-gallery-metropolia{
  margin:10px 0 18px!important;
}
.had-institution-gallery-metropolia .had-institution-photo{
  width:100%!important;
  max-height:330px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

/* Career & Education right-hand index: the current markup has one visible panel
 * at a time, so it must occupy the complete sidebar rather than the first row of
 * the old three-row dashboard grid. This exposes all six Education records. */
.had-experience-v502 .had-career-dashboard{
  grid-template-rows:minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.had-experience-v502 .had-career-index-lists{
  grid-template-rows:minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.had-experience-v502 .had-career-record-index:not([hidden]){
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.had-experience-v502 .had-career-record-index .had-record-index-scroll{
  min-height:0!important;
  max-height:none!important;
  height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.had-experience-v502 .had-career-record-index [data-had-selector-row][hidden]{
  display:none!important;
}

/* Conference presentation popups use the same fixed-left reader as journals. */
.had-detail-drawer.is-conference-presentation-record .had-drawer-body{
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-conference-presentation-record .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,22px)!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-conference-presentation-record .had-record-cover img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  filter:none!important;
  transform:none!important;
}
.had-detail-drawer.is-conference-presentation-record .had-record-copy{
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}
.had-detail-drawer.is-conference-presentation-record .had-rich-content,
.had-detail-drawer.is-conference-presentation-record .had-tag-row,
.had-detail-drawer.is-conference-presentation-record [data-had-detail-description]{
  display:none!important;
}
.had-conference-facts[hidden]{display:none!important}
.had-conference-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 18px;
}
.had-conference-facts>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #c5d8de;
  background:#eef5f7;
}
.had-conference-facts small,.had-conference-facts b{display:block}
.had-conference-facts small{
  color:#66828d;
  font:700 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.09em;
}
.had-conference-facts b{
  margin-top:5px;
  color:#183f4b;
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .had-detail-drawer.is-conference-presentation-record .had-drawer-body{display:block!important;overflow:auto!important}
  .had-detail-drawer.is-conference-presentation-record .had-record-cover{position:relative!important;width:min(100%,390px)!important;height:min(520px,58vh)!important;margin:0 auto 22px!important}
  .had-detail-drawer.is-conference-presentation-record .had-record-copy{max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:600px){
  .had-conference-facts{grid-template-columns:1fr!important}
}
.had-detail-drawer.is-conference-presentation-record [data-had-detail-abstract]{white-space:pre-line}


/* ===== /assets/css/v5022-academic-portfolio-popup-standard.css ===== */
/** Version 5.0.22: site-wide academic-portfolio popup standard. */

.had-detail-drawer.is-academic-portfolio-standard{
  --had-standard-border:#bfd4da;
  --had-standard-soft:#eef5f7;
  --had-standard-ink:#173f4b;
  --had-standard-muted:#607f88;
}
.had-detail-drawer.is-academic-portfolio-standard .had-drawer-body{
  grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,44px)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-record-cover{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:100%!important;
  height:clamp(390px,62vh,590px)!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,22px)!important;
  background:#fff!important;
  border-color:var(--had-standard-border)!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-record-cover img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-record-copy{
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  padding-right:10px!important;
  scrollbar-width:thin;
  scrollbar-color:#13899a #dce8eb;
}

/* v5.0.8 intentionally hides these for journal papers; governed portfolio
   records need their overview and full structured record visible. */
.had-detail-drawer.is-academic-portfolio-standard [data-had-detail-description],
.had-detail-drawer.is-academic-portfolio-standard .had-rich-content{
  display:block!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-lead[hidden],
.had-detail-drawer.is-academic-portfolio-standard .had-rich-content[hidden]{
  display:none!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-lead{
  margin:5px 0 18px!important;
  color:#315d67!important;
  font-size:clamp(14px,1.05vw,15px)!important;
  line-height:1.72!important;
  max-width:78ch;
}
.had-detail-drawer.is-academic-portfolio-standard .had-rich-content{
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-record-copy>.had-tag-row{
  display:none!important;
}

.had-portfolio-facts[hidden]{display:none!important}
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 22px;
}
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--had-standard-border);
  background:var(--had-standard-soft);
}
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts small,
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts b{display:block}
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts small{
  color:var(--had-standard-muted);
  font:700 10px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.085em;
}
.had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts b{
  margin-top:5px;
  color:var(--had-standard-ink);
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.had-standard-popup-content{
  display:grid;
  gap:14px;
  min-width:0;
}
.had-standard-popup-section{
  min-width:0;
  padding:15px 16px;
  border:1px solid #ccdde1;
  background:#f8fbfc;
}
.had-standard-popup-section h2{
  margin:0 0 10px!important;
  color:#173f4b!important;
  font-size:15px!important;
  line-height:1.35!important;
  letter-spacing:.015em;
}
.had-standard-popup-section p{
  margin:0 0 8px;
  color:#315d67;
  font-size:13px;
  line-height:1.72;
}
.had-standard-popup-section p:last-child{margin-bottom:0}
.had-standard-list{
  display:grid;
  gap:7px;
  margin:0!important;
  padding:0 0 0 17px!important;
}
.had-standard-list li{
  color:#315d67;
  font-size:13px;
  line-height:1.62;
  padding-left:2px;
}
.had-standard-list a{
  color:#0e7485;
  font-weight:700;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  overflow-wrap:anywhere;
}
.had-standard-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.had-standard-chip-row span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  max-width:100%;
  padding:5px 8px;
  border:1px solid #bdd4d9;
  border-radius:999px;
  background:#eef6f7;
  color:#28545f;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.had-standard-thesis{
  display:grid;
  gap:5px;
  padding:12px 13px;
  border-left:3px solid var(--drawer-accent,#148a9b);
  background:#eef5f7;
}
.had-standard-thesis p{margin:0!important}
.had-standard-fact-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.had-standard-fact-list>span{
  padding:10px 11px;
  border:1px solid #cbdde1;
  background:#fff;
}
.had-standard-fact-list small,.had-standard-fact-list b{display:block}
.had-standard-fact-list small{
  color:#6a858c;
  font:700 10px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.07em;
}
.had-standard-fact-list b{
  margin-top:4px;
  color:#234b55;
  font-size:12px;
  line-height:1.5;
}

/* Old record-specific boxes are replaced by the shared structured facts. */
.had-detail-drawer.is-academic-portfolio-standard [data-had-publication-abstract],
.had-detail-drawer.is-academic-portfolio-standard [data-had-publication-keywords],
.had-detail-drawer.is-academic-portfolio-standard [data-had-publication-facts],
.had-detail-drawer.is-academic-portfolio-standard [data-had-conference-facts],
.had-detail-drawer.is-academic-portfolio-standard [data-had-thesis-facts],
.had-detail-drawer.is-academic-portfolio-standard [data-had-citation-box],
.had-detail-drawer.is-academic-portfolio-standard [data-had-detail-url],
.had-detail-drawer.is-academic-portfolio-standard [data-had-copy],
.had-detail-drawer.is-academic-portfolio-standard .had-teaching-popup-discussion{
  display:none!important;
}

/* Preserve Journal/Papers Reader Reactions styling, without the discussion form. */
.had-detail-drawer.is-academic-portfolio-standard .had-blog-popup-engagement{
  display:block!important;
  margin:16px 0 4px!important;
  padding:12px 13px!important;
  border:1px solid #c8dde2!important;
  border-left:3px solid var(--drawer-accent,#148a9b)!important;
  background:#eef5f7!important;
  color:#254852!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-popup-comment-total{display:none!important}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-popup-engagement-head h2{
  margin:3px 0 0!important;
  font-size:15px!important;
  color:#173f4b!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-popup-engagement-head small{font-size:10px!important}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:10px!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons button{
  min-height:45px!important;
  padding:7px 8px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:5px!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons button>span{font-size:15px!important}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons button>b{font-size:10px!important;line-height:1.15!important}
.had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons button>em{font-size:10px!important;min-width:20px!important;padding:3px 4px!important}
.had-detail-drawer.is-academic-portfolio-standard .had-engagement-message{min-height:10px!important;margin:4px 0 0!important;font-size:10px!important}

.had-detail-drawer.is-academic-portfolio-standard .had-drawer-actions{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin-top:12px!important;
}
.had-detail-drawer.is-academic-portfolio-standard .had-drawer-actions>button[data-had-close]{
  min-height:38px;
}

.had-detail-overlay :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #0d8091!important;
  outline-offset:3px!important;
}
.had-detail-drawer.is-academic-portfolio-standard,
.had-detail-drawer.is-academic-portfolio-standard *{box-sizing:border-box}

@media(max-width:900px){
  .had-detail-drawer.is-academic-portfolio-standard .had-drawer-body{
    display:block!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  .had-detail-drawer.is-academic-portfolio-standard .had-record-cover{
    position:relative!important;
    width:min(100%,390px)!important;
    height:min(520px,58vh)!important;
    margin:0 auto 22px!important;
  }
  .had-detail-drawer.is-academic-portfolio-standard .had-record-copy{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
}
@media(max-width:600px){
  .had-detail-drawer.is-academic-portfolio-standard .had-lead,
  .had-detail-drawer.is-academic-portfolio-standard .had-standard-popup-section p,
  .had-detail-drawer.is-academic-portfolio-standard .had-standard-list li{font-size:14px!important}
  .had-detail-drawer.is-academic-portfolio-standard .had-portfolio-facts,
  .had-standard-fact-list{grid-template-columns:1fr!important}
  .had-detail-drawer.is-academic-portfolio-standard .had-blog-reaction-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .had-standard-popup-section{padding:13px 12px}
}


/* ===== /assets/css/v5023-editorial-journal-covers.css ===== */
/**
 * v5.0.23 — Editorial & Peer Review journal-cover treatment.
 * Journal covers are documentary media, so display them without the synthetic
 * editorial image treatment used by older releases.
 */
.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover {
  background: #fff !important;
  border-color: #d5e0e4 !important;
}

.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 10px !important;
  background: #fff !important;
  filter: none !important;
}

.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover:has(img:not([hidden])) > span,
.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover:has(img:not([hidden])) > b,
.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover:has(img:not([hidden])) > em,
.had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover:has(img:not([hidden])) > i {
  display: none !important;
}

@media (max-width: 720px) {
  .had-detail-drawer.is-academic-portfolio-standard.is-portfolio-editorial .had-record-cover img {
    padding: 6px !important;
  }
}


/* ===== /assets/css/v5037-research-card-polish.css ===== */
/* Hamed Academic Dashboard 5.0.37
   Research Projects and Roles: publication-card-level visual hierarchy.
   This is intentionally late-loaded to neutralise the overly compressed v5.0.2 card rules. */

/* Keep the established research page architecture, but give the catalogue
   slightly more room so long project titles read comfortably. */
.had-research-v502 .had-research-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, .29fr) !important;
  gap: 12px !important;
}

/* Section headings now read like the Publications catalogue headings. */
.had-research-v502 .had-project-group-title {
  min-height: 30px !important;
  margin: 0 0 8px !important;
  padding: 0 2px 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(32, 112, 137, .42) !important;
}
.had-research-v502 .had-project-group-title h2 {
  margin: 0 !important;
  color: #eef8fb !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
.had-research-v502 .had-project-group-title > span {
  min-width: 23px !important;
  height: 23px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid #245c70 !important;
  border-radius: 50% !important;
  color: #7fe6ee !important;
  background: rgba(5, 31, 44, .76) !important;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace !important;
}

.had-research-v502 .had-project-grid,
.had-research-v502 .had-project-group-current .had-project-grid,
.had-research-v502 .had-project-group-scheduled .had-project-grid,
.had-research-v502 .had-project-group-completed .had-project-grid,
.had-research-v502 .had-project-group:last-child .had-project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

/* A lone project should use the catalogue width instead of leaving a large
   blank half-row. The card remains the same component as all other projects. */
.had-research-v502 .had-project-grid > .had-project-card:only-child {
  grid-column: 1 / -1 !important;
}

/* Project cards now follow the same rhythm as publication overview cards:
   strong visual stage -> metadata -> title -> concise copy -> evidence -> CTA. */
.had-research-v502 .had-project-card,
.had-research-v502 .had-project-card:nth-child(n),
.had-research-v502 .had-project-group-completed .had-project-card,
.had-research-v502 .had-project-group-completed .had-project-card:last-child {
  width: 100% !important;
  height: auto !important;
  min-height: 326px !important;
  padding: 14px !important;
  border: 1px solid #17475d !important;
  border-radius: 5px !important;
  background:
    radial-gradient(circle at 92% 0, rgba(39, 205, 220, .055), transparent 34%),
    linear-gradient(160deg, rgba(6, 29, 42, .97), rgba(3, 18, 29, .98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.018), 0 8px 24px rgba(0,0,0,.10) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.had-research-v502 .had-project-card:hover,
.had-research-v502 .had-project-card:focus-visible {
  border-color: rgba(45, 202, 218, .62) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.22), inset 0 0 28px rgba(34,211,238,.025) !important;
  transform: translateY(-2px) !important;
}

/* The 112px v5.0.2 strip was the largest visual problem. Give each project a
   real media stage and preserve the entire source image. */
.had-research-v502 .had-project-card-image,
.had-research-v502 .had-project-group-completed .had-project-card-image {
  width: calc(100% + 28px) !important;
  height: 152px !important;
  min-height: 152px !important;
  flex: 0 0 152px !important;
  margin: -14px -14px 11px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(18, 86, 105, .24) !important;
  background: linear-gradient(135deg, #f7fcfd, #dceff3) !important;
}
.had-research-v502 .had-project-card-image img,
.had-research-v502 .had-project-card-image img[src*="/v452-stages/"] {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  filter: none !important;
}
/* The wide single-current card gets a slightly taller visual, matching the
   confident banner treatment used by the publication category cards. */
.had-research-v502 .had-project-grid > .had-project-card:only-child .had-project-card-image {
  height: 166px !important;
  min-height: 166px !important;
  flex-basis: 166px !important;
}

/* Compact, legible status bar. */
.had-research-v502 .had-project-meta {
  min-height: 25px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.had-research-v502 .had-project-meta span {
  color: #78e2ec !important;
  font: 600 10px/1.15 ui-monospace, SFMono-Regular, Consolas, monospace !important;
  letter-spacing: .06em !important;
}
.had-research-v502 .had-project-meta b {
  max-width: 78% !important;
  padding: 4px 7px !important;
  border: 1px solid rgba(54, 148, 111, .42) !important;
  border-radius: 3px !important;
  background: rgba(18, 67, 50, .22) !important;
  color: #8ce1b6 !important;
  font: 700 8px/1.25 ui-monospace, SFMono-Regular, Consolas, monospace !important;
  letter-spacing: .045em !important;
  text-align: right !important;
  white-space: normal !important;
}
.had-research-v502 .had-project-group-scheduled .had-project-meta b {
  border-color: rgba(78, 181, 211, .42) !important;
  background: rgba(16, 59, 78, .28) !important;
  color: #80ddeb !important;
}
.had-research-v502 .had-project-group-completed .had-project-meta b {
  border-color: rgba(98, 135, 153, .42) !important;
  background: rgba(44, 63, 73, .25) !important;
  color: #9bb8c4 !important;
}

/* The title is the primary information object, not a small caption. */
.had-research-v502 .had-project-card h3 {
  min-height: 0 !important;
  margin: 8px 0 6px !important;
  color: #f4fafc !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.26 !important;
  letter-spacing: -.012em !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}
.had-research-v502 .had-project-grid > .had-project-card:only-child h3 {
  font-size: 17.5px !important;
  -webkit-line-clamp: 2 !important;
}

/* Descriptive copy uses publication-card subtitle density: readable but
   deliberately secondary to the project title. */
.had-research-v502 .had-project-card > p {
  min-height: 0 !important;
  margin: 0 !important;
  color: #89a7b4 !important;
  font-size: 10.5px !important;
  line-height: 1.48 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}
.had-research-v502 .had-project-grid > .had-project-card:only-child > p {
  max-width: 94% !important;
  font-size: 11px !important;
  -webkit-line-clamp: 2 !important;
}

/* Treat the role as an evidence card, parallel to publication metrics. */
.had-research-v502 .had-project-role {
  min-height: 48px !important;
  margin: 9px 0 0 !important;
  padding: 8px 9px !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid #17475d !important;
  background: rgba(3, 22, 34, .68) !important;
  overflow: hidden !important;
}
.had-research-v502 .had-project-role .dashicons {
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  color: #62dce8 !important;
}
.had-research-v502 .had-project-role span {
  color: #b8cdd5 !important;
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* Tags stay available but no longer compete with the title. */
.had-research-v502 .had-project-card .had-tag-row {
  position: static !important;
  max-height: 31px !important;
  margin: 0 !important;
  padding-top: 7px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  overflow: hidden !important;
}
.had-research-v502 .had-project-card .had-tag-row span {
  min-width: 0 !important;
  padding: 4px 7px !important;
  border-color: #1a465a !important;
  color: #789baa !important;
  background: rgba(7, 31, 44, .62) !important;
  font-size: 8px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}

.had-research-v502 .had-open-detail {
  position: static !important;
  margin-top: auto !important;
  padding-top: 9px !important;
  color: #5bdce8 !important;
  font: 700 8.5px/1 ui-monospace, SFMono-Regular, Consolas, monospace !important;
  letter-spacing: .095em !important;
}
.had-research-v502 .had-open-detail .dashicons {
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
}

/* Keep the sidebar visually aligned with the cleaner left catalogue. */
.had-research-v502 .had-project-record-index {
  border-color: #17475d !important;
}

@media (max-width: 1180px) {
  .had-research-v502 .had-research-layout {
    grid-template-columns: minmax(0,1fr) minmax(270px,.32fr) !important;
  }
  .had-research-v502 .had-project-card h3 { font-size: 15.5px !important; }
}

@media (max-width: 900px) {
  .had-research-v502 .had-research-layout { grid-template-columns: 1fr !important; }
  .had-research-v502 .had-project-grid,
  .had-research-v502 .had-project-group-current .had-project-grid,
  .had-research-v502 .had-project-group-scheduled .had-project-grid,
  .had-research-v502 .had-project-group-completed .had-project-grid {
    grid-template-columns: 1fr !important;
  }
  .had-research-v502 .had-project-card,
  .had-research-v502 .had-project-card:nth-child(n) {
    min-height: 0 !important;
  }
  .had-research-v502 .had-project-card-image,
  .had-research-v502 .had-project-group-completed .had-project-card-image,
  .had-research-v502 .had-project-grid > .had-project-card:only-child .had-project-card-image {
    height: 176px !important;
    min-height: 176px !important;
    flex-basis: 176px !important;
  }
}

@media (max-width: 560px) {
  .had-research-v502 .had-project-card { padding: 12px !important; }
  .had-research-v502 .had-project-card-image,
  .had-research-v502 .had-project-grid > .had-project-card:only-child .had-project-card-image {
    width: calc(100% + 24px) !important;
    height: 154px !important;
    min-height: 154px !important;
    flex-basis: 154px !important;
    margin: -12px -12px 10px !important;
  }
  .had-research-v502 .had-project-card h3,
  .had-research-v502 .had-project-grid > .had-project-card:only-child h3 {
    font-size: 16px !important;
  }
}


/* ===== /assets/css/v5026-popup-media.css ===== */
/** Version 5.0.28 requested popup-media presentation. */
.had-detail-drawer.is-v5026-source-grounded-image .had-record-cover.has-record-image,
.had-detail-drawer.is-v5026-blog-media .had-record-cover.has-record-image {
  background: #eef3f6;
}
.had-detail-drawer.is-v5026-source-grounded-image .had-record-cover.has-record-image > img,
.had-detail-drawer.is-v5026-blog-media .had-record-cover.has-record-image > img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center;
  background: #fff;
}
.had-drawer-actions [data-had-detail-url] {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
@media (max-width: 760px) {
  .had-detail-drawer.is-v5026-source-grounded-image .had-record-cover.has-record-image,
  .had-detail-drawer.is-v5026-blog-media .had-record-cover.has-record-image {
    min-height: 240px;
  }
}

/*
 * v5.0.28 targeted footer-action repair.
 * Older popup-standard/blog-summary styles intentionally suppress the shared
 * source anchor. Blog and Public Engagement are the two explicit exceptions.
 * Keep the action in the same footer row immediately beside Return to dashboard.
 */
.had-detail-drawer.is-v5026-blog-media.is-blog-summary .had-drawer-actions [data-had-detail-url]:not([hidden]),
.had-detail-drawer.is-v5026-blog-media.is-academic-portfolio-standard .had-drawer-actions [data-had-detail-url]:not([hidden]) {
  display: inline-flex !important;
}

/* v5.0.29 Blog share action. */
.had-share-control {
  position: relative;
  display: inline-flex;
}
.had-share-button,
.had-drawer-actions .had-share-button,
.had-blog-single-actions .had-share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .68rem 1rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.had-share-button:focus-visible,
.had-share-menu a:focus-visible,
.had-share-menu button:focus-visible {
  outline: 2px solid #0a8aa0;
  outline-offset: 2px;
}
.had-share-menu {
  position: absolute;
  z-index: 80;
  left: 0;
  bottom: calc(100% + .55rem);
  display: none;
  min-width: 210px;
  max-height: min(420px, 60vh);
  overflow-y: auto;
  padding: .45rem;
  background: #fff;
  color: #173846;
  border: 1px solid #bfd2d9;
  box-shadow: 0 18px 42px rgba(9, 39, 52, .18);
}
.had-share-menu.is-open { display: grid; }
.had-share-menu a,
.had-share-menu button {
  display: block;
  width: 100%;
  padding: .62rem .7rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  text-decoration: none;
  font: inherit;
  cursor: pointer;
}
.had-share-menu a:hover,
.had-share-menu button:hover { background: #edf5f7; }
@media (max-width: 760px) {
  .had-share-menu {
    left: auto;
    right: 0;
    min-width: 190px;
  }
}


/* 5.0.41 — variable 3–7 homepage language cards. */
@media(min-width:1101px){
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-6>div,
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-7>div{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-6 span,
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-7 span{min-height:32px!important;padding:5px 6px!important}
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-6 b,
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-7 b{font-size:8.25px!important}
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-6 em,
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-7 em{font-size:6.5px!important}
}
@media(max-width:1100px) and (min-width:901px){
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-4 span:last-child,
  .had-home-v320>.had-profile-card .had-profile-languages.had-language-count-6 span:last-child{grid-column:auto!important}
}
