:root{--jpa-red: #c41230;--jpa-red-soft: rgba(196, 18, 48, .08);--jpa-green: #1f8a45;--ink: #1d1d1f;--ink-soft: #6e6e73;--line: rgba(0, 0, 0, .08);--paper: #ffffff;--canvas: #f5f5f7;--radius: 18px;--radius-sm: 12px;--shadow: 0 2px 8px rgba(0, 0, 0, .04), 0 12px 40px rgba(0, 0, 0, .06);--font: "Instrument Sans", "Noto Sans Arabic", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);font-family:var(--font);color:var(--ink);background:var(--canvas);line-height:1.47;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,rgba(196,18,48,.07),transparent 60%),radial-gradient(900px 500px at 100% 20%,rgba(31,138,69,.05),transparent 55%),var(--canvas);color:var(--ink);font-size:17px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}ul{list-style:none;margin:0;padding:0}.shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#f5f5f7b8;border-bottom:1px solid var(--line)}.header-inner{width:min(980px,calc(100% - 2.5rem));margin:0 auto;min-height:52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.65rem;min-width:0;justify-self:start}.brand img{width:36px;height:36px;object-fit:contain}.brand-mark{font-size:.92rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}.nav-center{display:flex;gap:1.5rem;justify-content:center}.nav-center a{font-size:.86rem;font-weight:500;color:var(--ink-soft);transition:color .2s var(--ease)}.nav-center a:hover,.nav-center a.active{color:var(--ink)}.header-tools{display:flex;align-items:center;gap:.65rem;justify-self:end}.lang-switch{display:inline-flex;background:#0000000a;border-radius:8px;padding:2px}.lang-switch button{border:0;background:transparent;border-radius:6px;padding:.28rem .6rem;cursor:pointer;font-size:.72rem;font-weight:600;color:var(--ink-soft)}.lang-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #00000014}.btn,a.btn,button.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.35rem;border-radius:14px;font-weight:600;font-size:.95rem;letter-spacing:-.01em;background:var(--jpa-red);color:#fff;transition:transform .25s var(--ease),background .2s ease,opacity .2s ease}.btn:hover{background:#a80f28;transform:scale(1.02);color:#fff}.btn:active{transform:scale(.98)}.btn.ghost{background:#0000000d;color:var(--ink)}.btn.ghost:hover{background:#00000017;color:var(--ink)}.btn-block{width:100%}.hero{position:relative;overflow:hidden;padding:clamp(4rem,12vh,7rem) 1.25rem clamp(3.5rem,8vh,5.5rem);text-align:center}.hero-glow{position:absolute;inset:10% 20% auto;height:280px;background:radial-gradient(circle,rgba(196,18,48,.12),transparent 70%);filter:blur(40px);pointer-events:none;animation:glowPulse 8s ease-in-out infinite}.hero-inner{position:relative;width:min(640px,100%);margin:0 auto;animation:riseIn .9s var(--ease) both}.hero-logo{width:112px;height:112px;margin:0 auto 1.5rem;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.08));animation:floatSoft 6s ease-in-out infinite}.hero-org{margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.hero-org-en{margin:.35rem 0 0;font-size:.95rem;font-weight:500;color:var(--ink-soft)}.hero h1{margin:1.75rem 0 .65rem;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;color:var(--ink)}.hero-lede{margin:0 auto 1.75rem;max-width:28rem;font-size:1.15rem;font-weight:400;color:var(--ink-soft);letter-spacing:-.01em}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.section{width:min(820px,calc(100% - 2.5rem));margin:0 auto;padding:1.5rem 0 3rem}.courses-section.soft{padding-top:.5rem}.section-intro{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:0 .25rem}.section-intro h2{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.text-link{font-size:.95rem;font-weight:500;color:var(--jpa-red)}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.section-head h2{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.section-link{font-size:.95rem;font-weight:500;color:var(--jpa-red)}.section-link:hover{text-decoration:underline;text-underline-offset:3px}.tabs{display:flex;gap:.4rem;flex-wrap:wrap}.tab{border:0;background:#0000000d;color:var(--ink-soft);border-radius:10px;padding:.4rem .9rem;cursor:pointer;font-weight:600;font-size:.82rem}.tab.active{background:var(--ink);color:#fff}.course-list{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.course-list li{animation:riseIn .55s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.course-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--line);transition:background .2s ease}.course-list li:last-child .course-item{border-bottom:0}.course-item:hover{background:#00000004}.course-item-main{display:flex;align-items:flex-start;gap:.85rem;min-width:0}.status-dot{width:8px;height:8px;border-radius:50%;margin-top:.55rem;flex-shrink:0;background:var(--ink-soft)}.status-dot.upcoming{background:var(--jpa-red)}.status-dot.ongoing{background:var(--jpa-green)}.course-item h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}.course-item .meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:0;font-size:.84rem;color:var(--ink-soft)}.status-label{font-weight:600}.status-label.upcoming{color:var(--jpa-red)}.status-label.ongoing{color:var(--jpa-green)}.chevron{font-size:1.5rem;color:#c7c7cc;line-height:1;transition:transform .25s var(--ease),color .2s ease}.course-item:hover .chevron{color:var(--ink-soft);transform:translate(3px)}[dir=rtl] .course-item:hover .chevron{transform:translate(-3px)}.pad{padding:1.25rem}.empty,.error,.muted{color:var(--ink-soft);font-size:.98rem;margin:0}.error{color:var(--jpa-red)}.detail-panel{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 1.5rem;margin-top:1rem}.detail-panel h2{font-size:1.65rem;margin:.4rem 0 .85rem;letter-spacing:-.03em;font-weight:700}.detail-panel .status{font-size:.8rem;font-weight:600;color:var(--jpa-red)}.detail-panel .status.ongoing{color:var(--jpa-green)}.detail-panel .meta{color:var(--ink-soft);font-size:.95rem;display:grid;gap:.35rem}.auth-wrap{flex:1;display:grid;place-items:center;padding:3rem 1.25rem;animation:riseIn .7s var(--ease) both}.auth-card{width:min(400px,100%);background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.25rem 1.75rem;text-align:center}.auth-card img.logo{width:72px;height:72px;margin:0 auto 1rem;object-fit:contain}.auth-card h1{margin:0 0 .35rem;font-size:1.65rem;font-weight:700;letter-spacing:-.03em}.auth-card .sub{color:var(--ink-soft);margin:0 0 1.5rem;font-size:.95rem}.field{margin-bottom:.9rem;text-align:start}.field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.82rem;color:var(--ink-soft)}.field input{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:1rem;background:#fafafa;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.field input:focus{outline:none;background:#fff;border-color:#c4123073;box-shadow:0 0 0 4px var(--jpa-red-soft)}.divider{display:flex;align-items:center;gap:.75rem;margin:1.15rem 0;color:var(--ink-soft);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}#googleBtn{display:flex;justify-content:center;min-height:40px}.portal-list{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.portal-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}.portal-item:last-child{border-bottom:0}.portal-item .meta{font-size:.84rem;color:var(--ink-soft)}footer.site{margin-top:auto;padding:2.5rem 1.25rem 3rem;text-align:center;color:var(--ink-soft);font-size:.82rem}footer.site strong{display:block;color:var(--ink);font-weight:600;font-size:.92rem;margin-bottom:.2rem}footer.site .foot-grid{width:min(820px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.35rem;align-items:center}[dir=rtl] body,[dir=rtl] .brand-mark,[dir=rtl] .hero-org,[dir=rtl] .hero h1{font-family:Noto Sans Arabic,Instrument Sans,sans-serif}[dir=rtl] .header-inner{direction:rtl}[dir=rtl] .brand{justify-self:start}[dir=rtl] .header-tools{justify-self:end}@media(max-width:760px){.header-inner{grid-template-columns:1fr auto;min-height:56px}.nav-center{display:none}.brand-mark{max-width:9rem;font-size:.85rem}.hero-logo{width:92px;height:92px}.hero h1{font-size:2.2rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}}.ai-assistant{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}[dir=rtl] .ai-assistant{right:auto;left:max(1.25rem,env(safe-area-inset-left));align-items:flex-start}.ai-fab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.15rem;border-radius:16px;background:var(--ink);color:#fff;font-weight:600;font-size:.9rem;letter-spacing:-.01em;box-shadow:0 8px 28px #0000002e;transition:transform .25s var(--ease),background .2s ease}.ai-fab:hover{transform:scale(1.03);background:#000}.ai-fab:active{transform:scale(.98)}.ai-fab svg{flex-shrink:0}.ai-panel{width:min(320px,calc(100vw - 2.5rem));background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.15rem 1.2rem;animation:riseIn .35s var(--ease) both}.ai-panel-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.ai-badge{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--jpa-red-soft);color:var(--jpa-red);flex-shrink:0}.ai-panel-head h2{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.ai-panel-kicker{margin:.15rem 0 0;font-size:.82rem;font-weight:600;color:var(--jpa-red)}.ai-panel-body{margin:0 0 1rem;font-size:.92rem;color:var(--ink-soft);line-height:1.5}@media(max-width:760px){.ai-fab-label{display:none}.ai-fab{width:52px;height:52px;padding:0;justify-content:center;border-radius:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
