/* Shared navigation shell. Does not alter question engines, answers, or reports. */
:root{--pn-ink:#29344f;--pn-quiet:#66748e;--pn-violet:#51418f;--pn-surface:#fff;--pn-border:#dee5ef}
.portal-shell{max-width:1180px;margin:12px auto 0;padding:0 18px;position:relative;z-index:12;font-family:Arial,Tahoma,sans-serif;direction:rtl}
.portal-shell .pn-wrap{border:1px solid var(--pn-border);border-radius:18px;background:var(--pn-surface);box-shadow:0 7px 26px rgba(38,49,88,.06);padding:9px 12px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.pn-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pn-link{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:9px 11px;color:var(--pn-ink);background:transparent;border-radius:12px;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;line-height:1.25}
.pn-link:hover{background:#f2f5fb;border-color:#e1e7f1}.pn-link.active{color:var(--pn-violet);background:#eeeafb;border-color:#e0d9f4}
.pn-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pn-person{display:flex;align-items:center;gap:8px;min-width:0;color:var(--pn-quiet);font-size:12px}
.pn-person strong{color:var(--pn-ink);font-size:12px;display:block;max-width:165px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.pn-person small{display:block;color:var(--pn-quiet)}
.pn-avatar{display:grid;place-items:center;width:34px;height:34px;background:#e7f5f2;color:#237960;border-radius:12px;font-weight:900;font-size:16px;flex:none}
.pn-switch{border:0;background:transparent;color:#51418f;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:12px;padding:4px}
.pn-mobile{display:none}.pn-progress{display:flex;align-items:center;gap:8px;margin:0 1px 0 auto;color:#53647f;font-size:12px;font-weight:700;min-width:156px}
.pn-progress .pn-meter{display:block;width:94px;height:7px;border-radius:99px;background:#e7edf5;overflow:hidden;flex:none}
.pn-progress .pn-meter b{display:block;height:100%;background:linear-gradient(90deg,#39a87f,#2492b0);border-radius:inherit;transition:width .25s ease}
.pn-progress strong{color:#33447b;white-space:nowrap}
.pn-warn{max-width:1180px;margin:8px auto 0;padding:10px 16px;border:1px solid #eed9b0;color:#775821;background:#fff8e8;border-radius:12px;display:none;font-size:13px}
.pn-warn.visible{display:block}
@media(min-width:851px){.portal-shell .pn-wrap{position:sticky;top:6px}}
@media(max-width:1100px){.pn-progress{display:none}.pn-person small{display:none}.pn-person strong{max-width:105px}}
@media(max-width:850px){
 .portal-shell{margin:9px auto 0;padding:0 12px}.portal-shell .pn-wrap{padding:9px 12px;min-height:53px}
 .pn-links{display:none}.pn-person{margin-inline-start:0}.pn-person strong{max-width:58vw}.pn-person small{display:block}.pn-mobile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:100;bottom:0;left:0;right:0;direction:rtl;gap:3px;padding:7px max(7px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));border-top:1px solid #d9e1ed;background:#fff;box-shadow:0 -6px 20px #26334f19}
 .pn-mobile .pn-link{min-height:55px;font-size:10px;gap:3px;padding:4px 0;display:flex;flex-direction:column;white-space:normal;text-align:center}
 .pn-mobile .pn-link svg{width:21px;height:21px}.pn-mobile .pn-link.active{background:#eeeafb;border-color:transparent}
 body{padding-bottom:calc(83px + env(safe-area-inset-bottom))!important}
 .pn-warn{margin:7px 12px}
}
@media print{.portal-shell,.pn-mobile,.pn-warn{display:none!important}body{padding-bottom:0!important}}
/* Main portal */
[hidden]{display:none!important}
.portal-entry{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;min-height:385px;margin:20px 0;box-shadow:0 12px 32px #29345c12}
.portal-entry-intro{padding:38px 36px;background:linear-gradient(145deg,#332c73,#5849a3);color:white;display:flex;flex-direction:column;justify-content:center}
.portal-entry-intro .eyebrow{color:#c9f1ec}.portal-entry-intro h1{font-size:clamp(32px,4vw,46px);line-height:1.25;margin:13px 0 8px;color:#fff}.portal-entry-intro p{color:#eef0ff;margin:0;font-size:15px;max-width:430px}
.portal-steps{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.portal-steps span{font-size:11px;border-radius:99px;padding:6px 11px;background:#ffffff18;color:#e6e9fc}.portal-steps span.current{background:#ffffff;color:#413885;font-weight:800}
.portal-entry-form{padding:30px 32px;display:flex;flex-direction:column;justify-content:center;background:#fff;gap:13px}
.portal-entry-form h2{font-size:23px;margin:0}.portal-entry-form p{margin:0;font-size:13px}.portal-input-grid{display:grid;grid-template-columns:1fr;gap:12px}.portal-input-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:13px;color:#40516f}.portal-input-grid input{min-height:49px;border:1px solid #ced8e7;background:#fdfefe;border-radius:12px;padding:10px 13px;direction:rtl;font:inherit;font-weight:500;font-size:15px}
.portal-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;width:100%;border:0;border-radius:13px;background:#51418f;color:#fff;font:inherit;font-weight:800;min-height:50px}.portal-action:hover{background:#3b2f79}.portal-error{min-height:18px;color:#a32e41!important;font-size:12px!important}
.portal-dash-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 26px;margin-top:16px;margin-bottom:18px;background:linear-gradient(95deg,#fff,#f1f5fc)}
.portal-dash-head h1{color:#372d7a;font-size:clamp(26px,3.8vw,34px);margin:4px 0}.portal-dash-head p{margin:0;color:#5b6c84;font-size:14px}
.portal-dash-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.portal-mat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portal-mat{border:1px solid #dde5ef;border-radius:20px;box-shadow:0 6px 20px #2837530b;background:#fff;padding:23px;display:flex;flex-direction:column;text-decoration:none;min-width:0;position:relative;overflow:hidden;transition:.15s;gap:3px}
.portal-mat:before{content:'';position:absolute;right:0;top:0;bottom:0;width:5px;background:var(--mat)}.portal-mat:hover{transform:translateY(-2px);border-color:var(--mat);box-shadow:0 12px 30px #29395d17}
.portal-mat-icon{width:60px;height:60px;display:grid;place-items:center;background:var(--matsoft);color:var(--mat);border-radius:17px;margin-bottom:9px}.portal-mat-icon svg{width:32px;height:32px}
.portal-mat-category{font-size:11px;color:var(--mat);font-weight:700}.portal-mat h2{font-size:25px;margin:1px 0 2px;color:#2d3753}.portal-mat p{font-size:13px;color:#67748a;line-height:1.9;margin:0 0 8px;min-height:76px}
.portal-mat-meta{font-size:12px;font-weight:700;color:#536480}.portal-mat-progress{margin:15px 0 10px;padding:13px;background:#f8f9fd;border:1px solid #eef0f7;border-radius:13px}.portal-mat-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#4b5976}.portal-mat-progress-label strong{color:var(--mat);font-size:17px}.portal-mat-progress small{font-size:11px;color:#77839a}
.portal-card-track{display:block;height:9px;width:100%;border-radius:99px;background:#e7ebf4;overflow:hidden;margin:8px 0 4px}.portal-card-track b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3ea38d,#238aa8);transition:width .25s}
.portal-mat-enter{margin-top:auto;color:var(--mat);font-size:13px;font-weight:800}
.portal-portfolios{padding:22px;margin:20px 0 0}.portal-portfolios h2{margin:0 0 4px}.portal-portfolios p{margin:0}.portal-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:16px}.portfolio-subject{border:1px solid #e0e6f0;border-radius:14px;padding:15px;color:#4b3d89;background:#fff;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800}.portfolio-subject svg{width:24px;height:24px;flex:none}.portfolio-subject b{margin-inline-start:auto}.portfolio-subject:hover{background:#f5f1ff}
.portal-data-note{font-size:12px;color:#6f7b90;margin:20px 0 0;padding:11px 15px;background:#f0f5f9;border-radius:13px}
/* Inside subject screens */
.portal-subject-layout{display:flex;flex-direction:column;gap:12px}.portal-subject-layout>.stack{width:100%}.portal-subject-layout>aside{width:100%}.portal-subject-layout #quickMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-subject-layout #quickMetrics .stat{border:1px solid #e6edf6}.portal-subject-layout #domainListing{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.portal-subject-lead{margin:4px 0 15px}.portal-subject-lead p{margin:4px 0 0;color:#697890;font-size:13px}
.portal-subject-layout .domain-btn{border-radius:16px;min-height:132px;align-items:flex-start;text-align:right;padding:17px;display:flex;gap:12px;background:#fff;box-shadow:0 4px 17px #2536590c;transition:transform .15s}
.portal-subject-layout .domain-btn:hover{border-color:#83bac9;transform:translateY(-1px)}
.portal-domain-glyph{width:42px;height:42px;background:#eef7fa;border-radius:12px;display:grid;place-items:center;color:#188ca2;font-size:26px;flex:none}
.portal-domain-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.portal-domain-info strong{font-size:15px;line-height:1.6}.portal-domain-info small{font-size:11px}.portal-arrow{color:#584599;font-weight:800}
.portal-quiz-status{text-align:right;padding:6px 2px 0;color:#48617d;font-size:12px;font-weight:700}
#quizView .bar{height:12px!important;margin:13px 0 0!important}.portal-subject-layout>.stack .between{align-items:center}
@media(max-width:1000px){.portal-mat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-portfolio-grid{grid-template-columns:1fr}}
@media(max-width:720px){.portal-entry{grid-template-columns:1fr}.portal-entry-intro{padding:27px 23px}.portal-entry-form{padding:25px 22px}.portal-steps{margin-top:15px}.portal-dash-head{align-items:flex-start;flex-direction:column;padding:20px}.portal-mat-grid{grid-template-columns:1fr}.portal-mat{padding:20px;gap:2px}.portal-mat p{min-height:0;margin-bottom:7px}.portal-mat-icon{width:53px;height:53px}.portal-mat-progress{margin-top:11px}.portal-subject-layout #domainListing{grid-template-columns:1fr}.portal-subject-layout .domain-btn{min-height:115px}}
@media print{.portal-entry,.portal-dash-head,.portal-mat-grid,.portal-portfolios,.portal-data-note{display:none!important}}

/* The original mathematics navigation controls remain present for compatibility but are visually replaced by the shared navigation. */
header .headActions{display:none!important}


/* Shared NAFS identity: headers, color rhythm, icons, navigation and progress. */
:root{--brand-purple:#49388c;--brand-teal:#178fa6;--brand-green:#299875;--brand-ink:#273452;--brand-border:#dbe4ef;--brand-shadow:0 14px 35px rgba(40,50,89,.10)}
body{font-family:Arial,Tahoma,sans-serif}
.brand-copy{display:flex;flex-direction:column;gap:2px;align-items:flex-start;line-height:1.45}
.brand-copy .brandtitle{font:800 clamp(19px,2vw,25px)/1.35 Arial,Tahoma,sans-serif;color:#48378c!important;margin:0}
.brand-copy .school{font:800 clamp(15px,1.45vw,19px)/1.45 Arial,Tahoma,sans-serif;color:#268f88!important;margin:0}
.brand-copy .brand-grade{font:600 11px/1.5 Arial,Tahoma,sans-serif;color:#697891}
header.header,.head{background:#fff!important;border-bottom:1px solid #e1e6f0!important}
header.header .headinner{min-height:105px;gap:18px}
header.header .logos img{filter:none}
header.head .branding{display:flex;align-items:center;gap:14px}
header.head .brand-copy .brandtitle{color:#48378c!important}
header.head .brand-copy .school{color:#268f88!important}
header.head .brand-copy .brand-grade{color:#63708b!important}
.portal-entry-intro{background:linear-gradient(140deg,#3c307e 0%,#55449b 63%,#147f99 120%)}
.portal-entry-intro .eyebrow{font-size:14px;font-weight:800;color:#baf1dc}
.portal-dash-head{background:linear-gradient(105deg,#f6f3fd 0%,#fff 62%,#eef9f8)}
.portal-dash-head h1,.portal-entry-form h2{color:#423487}
.portal-mat{border-radius:21px;border:1px solid #e0e7ef;box-shadow:0 10px 29px rgba(42,51,90,.065);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.portal-mat:before{width:4px}
.portal-mat:hover{transform:translateY(-4px);box-shadow:var(--brand-shadow)}
.portal-mat-icon{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,var(--matsoft),#fff);border:1px solid color-mix(in srgb,var(--mat) 16%,white);color:var(--mat);box-shadow:0 6px 15px rgba(35,44,80,.04)}
.portal-mat-icon svg{width:35px;height:35px;stroke-width:1.9}
.portal-mat h2{font-size:25px;color:#2e3655}
.portal-mat-progress{background:#f8fafd}
.portal-card-track{height:10px;background:#e5ebf2}
.portal-card-track b{background:var(--mat)!important;box-shadow:0 0 9px color-mix(in srgb,var(--mat) 30%,transparent)}
.portal-mat-enter{background:linear-gradient(125deg,var(--mat),color-mix(in srgb,var(--mat) 76%,#213764));color:white!important;display:flex;align-items:center;justify-content:center;text-align:center;min-height:47px;border-radius:12px;padding:10px 14px;font-size:13px;margin-top:14px;box-shadow:0 7px 16px color-mix(in srgb,var(--mat) 19%,transparent);transition:filter .2s ease,transform .2s ease}
.portal-mat:hover .portal-mat-enter{filter:brightness(1.08);transform:translateY(-1px)}
.portal-dash-actions .btn,.portal-portfolios .btn,.btn,.linkbtn,.pn-switch,.portal-action{transition:background .2s,box-shadow .2s,transform .2s,border-color .2s}
.portal-dash-actions .btn,.portal-portfolios .btn,.linkbtn{border-radius:12px!important;min-height:44px;box-shadow:0 2px 7px rgba(33,41,79,.03)}
.portal-dash-actions .btn.primary,.btn.primary,.portal-action,.linkbtn.primary{background:linear-gradient(115deg,#49388f,#6650ad)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 7px 17px #48378525}
.portal-action:hover,.portal-dash-actions .btn.primary:hover,.btn.primary:hover{box-shadow:0 9px 22px #48378535;transform:translateY(-1px)}
.portal-portfolio-grid .portfolio-subject{min-height:66px;border-radius:13px;color:#354467;font-size:13px;box-shadow:0 2px 8px #27345c08}
.portal-portfolio-grid .portfolio-subject svg{width:27px;height:27px;color:#49388c;stroke-width:1.9}
.portal-portfolio-grid .portfolio-subject:nth-child(2) svg{color:#168ca5}
.portal-portfolio-grid .portfolio-subject:nth-child(3) svg{color:#279575}
.portal-portfolio-grid .portfolio-subject:hover{background:#f5f9fc;border-color:#abbcd5;transform:translateY(-1px)}
.portal-shell .pn-wrap{border-radius:16px;border-color:#dfe5ef;box-shadow:0 7px 25px #2935500d}
.portal-shell .pn-link{min-height:45px;padding:8px 12px;border:1px solid transparent;color:#35415f;font-weight:800}
.portal-shell .pn-link svg{width:19px;height:19px;stroke:#4b3e91;stroke-width:2}
.portal-shell .pn-link[data-portal-go="reading"] svg{stroke:#188da5}
.portal-shell .pn-link[data-portal-go="science"] svg{stroke:#249a77}
.portal-shell .pn-link[data-portal-go="portfolio"] svg{stroke:#ac7842}
.portal-shell .pn-link.active{color:#473486;background:#f2eefc;border-color:#e5dcf8;box-shadow:inset 0 0 0 1px #eee8fa}
.portal-shell .pn-link:hover{color:#48388a;background:#f4f3fc;border-color:#e4dff3}
.pn-avatar{color:#1c866d;background:#e6f4f0}
.pn-switch{border:1px solid #dce4ed;border-radius:9px;padding:8px 10px;text-decoration:none;font-weight:700;background:#fff;color:#51418f}
.pn-switch:hover{background:#f2f0fa;border-color:#bdb2dd}
.pn-progress .pn-meter{height:9px}.pn-progress .pn-meter b{background:linear-gradient(90deg,#4599bb,#494091)}
.portal-subject-layout .domain-btn{border-color:#dfe6f0;box-shadow:0 5px 16px rgba(40,55,99,.06)}
.portal-subject-layout .domain-btn:hover{border-color:#9db0d2;box-shadow:0 8px 19px rgba(40,55,99,.11)}
@media(max-width:850px){.pn-mobile{box-shadow:0 -6px 22px #1d285023;border-top:1px solid #dde4ec}.pn-mobile .pn-link{border-radius:11px}.pn-mobile .pn-link.active{border-color:#dfd8f1!important}.portal-shell .pn-wrap{background:#fff}}
@media(max-width:430px){header.header .headinner{padding:11px 13px;min-height:85px}.brand-copy .brandtitle{font-size:18px}.brand-copy .school{font-size:14px}.brand-copy .brand-grade{font-size:10px}.portal-mat-enter{min-height:47px}.portal-entry-intro .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portal-mat,.portal-mat-enter,.portal-shell .pn-link,.btn,.portal-action{transition:none!important}}
