/* Public site vs. authenticated student community. */
html[data-access="student"]:not(.pm-access-ok) #mainContent,
html[data-access="student"]:not(.pm-access-ok) .site-footer{display:none!important}
.access-check{display:none}
html[data-access="student"]:not(.pm-access-ok) .access-check{min-height:calc(100vh - 210px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:55px 22px;color:var(--ink);background:var(--canvas)}
.access-check strong{font:800 18px var(--font-head)}.access-check span:not(.access-spinner){font-size:12px;color:var(--muted)}.access-check a{font-size:12px;color:var(--violet);font-weight:800;text-decoration:underline;margin-top:12px}
.access-spinner{width:34px;height:34px;border:3px solid #dad7f7;border-top-color:var(--violet);border-radius:50%;animation:pm-spin .8s linear infinite;margin-bottom:12px}
@keyframes pm-spin{to{transform:rotate(360deg)}}
html[data-page="home"]:not(.pm-auth-ready) #visitorHome{visibility:hidden;min-height:620px}
html #visitorHome[hidden],html #memberHome[hidden]{display:none!important}
.main-nav .join-nav{background:#5348e8;color:#fff}
.site-header .nav-link:focus-visible,.member-home a:focus-visible,.student-actions button:focus-visible,.peer-card-actions button:focus-visible{outline:3px solid #8b81f7;outline-offset:3px}
/* Signed-in dashboard */
.member-home{background:linear-gradient(180deg,#f8f9ff 0,#fff 68%);padding:34px 0 90px;min-height:78vh}
.member-home-shell{max-width:1168px}
.member-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px;color:#5c58b2;font:800 10px var(--font-head);letter-spacing:.12em}
.member-topline>span{display:flex;align-items:center;gap:10px}.member-green-dot{width:8px;height:8px;border-radius:50%;background:#34b79a;box-shadow:0 0 0 4px #dff7ee}
.member-profile-link{color:#68638f;letter-spacing:0;font:700 12px var(--font-body)}.member-profile-link:hover{color:var(--violet)}
.member-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:stretch}
.member-hero-copy{background:radial-gradient(circle at 92% 8%,#ebebff,transparent 48%),linear-gradient(135deg,#eeedff,#f9faff 72%);border:1px solid #e5e4fc;border-radius:26px;padding:clamp(28px,4.5vw,65px) clamp(28px,4.5vw,65px);min-height:365px;display:flex;flex-direction:column;align-items:flex-start}
.member-greeting{font:800 10px var(--font-head);letter-spacing:.12em;color:#7164cf;display:block;margin-bottom:20px}
.member-hero-copy h1{font-size:clamp(38px,4.7vw,60px);line-height:1.13;letter-spacing:-.074em;margin:0 0 14px;color:#25284d}
.member-hero-copy h1 span#memberFirstName{color:#5e4de8;display:inline-block;max-width:100%;overflow-wrap:anywhere}
.member-period{color:#fa9f78}
.member-hero-copy p{font-size:13px;line-height:1.8;max-width:420px;margin:0 0 22px;color:#6f7397}
.member-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.member-btn-main{color:#fff;background:#5548e8;box-shadow:0 10px 20px #5144df29}.member-btn-main:hover{background:#4638cb}.member-btn-quiet{background:#fff;color:#5146ad;border:1px solid #dedcf3;box-shadow:none}.member-btn-quiet:hover{background:#f9f8ff}
.member-institution{font:600 11px var(--font-body);color:#7779a4;display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:29px;max-width:100%}
.member-hero-card{background:#24204d;color:#fff;border:1px solid #34315e;border-radius:26px;min-height:365px;padding:32px 36px 22px;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}
.member-hero-card:before{content:'';position:absolute;z-index:-1;width:420px;height:420px;border-radius:50%;background:#4f45a8;filter:blur(20px);right:-160px;top:20px;opacity:.44}
.member-hero-card-top{display:flex;justify-content:space-between;align-items:center;font:800 10px var(--font-head);letter-spacing:.13em;color:#aaa2fd}
.member-sparkle{font-size:22px;color:#c6bfff}.member-hero-card h2{font-size:clamp(28px,2.8vw,38px);letter-spacing:-.06em;line-height:1.26;margin:24px 0 8px;color:#fff}
.member-hero-card h2 em{font-style:normal;color:#b9b3ff}.member-hero-card p{font-size:12px;line-height:1.8;color:#c4bfdf;max-width:310px}
.member-hero-graphic{height:90px;margin-top:auto;display:flex;align-items:center;gap:0;padding-left:8px}.member-orb{border-radius:19px;border:3px solid #292453;display:inline-flex;align-items:center;justify-content:center;height:58px;width:58px;margin-left:-8px;font:800 26px var(--font-head);box-shadow:0 5px 12px #0002}
.member-orb-one{background:#e7d6ff;color:#7050ae}.member-orb-two{background:#c5f2df;color:#367f79}.member-orb-three{background:#ffdfcc;color:#a16d56}.member-orb-four{background:#dde6ff;color:#646cb6}
.member-hero-card-foot{border-top:1px solid #ffffff20;font:700 9px var(--font-head);letter-spacing:.12em;color:#cac6ee;display:flex;justify-content:space-between;padding-top:14px}
.member-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0 61px}.member-stat{background:#fff;border:1px solid #ececf7;border-radius:17px;padding:22px 22px;display:grid;grid-template-columns:42px 1fr;gap:3px 12px;box-shadow:0 12px 32px #262a6906;align-items:center;transition:transform .2s,border-color .2s}
.member-stat:hover{transform:translateY(-3px);border-color:#d4d0f8}.member-stat-icon{width:42px;height:42px;border-radius:12px;background:#f2f0ff;color:#6757dd;display:flex;align-items:center;justify-content:center;font-size:21px;grid-row:span 2}.member-stat strong{font:800 27px var(--font-head);letter-spacing:-.06em;color:#2a2c51;line-height:1.1}.member-stat small{font-size:10px;color:#868ba4}
.member-dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.member-dashboard-heading h2{font-size:clamp(24px,2.5vw,32px);margin:9px 0 8px;color:#242847}.member-dashboard-heading p{font-size:12px;margin:0}.member-text-link{color:#675ad4;font:800 12px var(--font-body)}.member-text-link:hover{text-decoration:underline}
.member-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.member-action-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #e9eaf7;border-radius:20px;background:#fff;padding:27px;min-height:236px;box-shadow:0 10px 33px #30316907;transition:transform .25s,border-color .25s,box-shadow .25s}
.member-action-card:hover{transform:translateY(-5px);border-color:#cac5f5;box-shadow:0 19px 36px #2f2e7510}.member-card-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-size:25px;margin-bottom:20px}
.color-purple{background:#efebff;color:#6954d5}.color-orange{background:#fff0e6;color:#db8a58}.color-teal{background:#e0f6ef;color:#2b9b7c}.color-blue{background:#e7f0ff;color:#597fce}.color-rose{background:#ffeef1;color:#bd6480}.color-gold{background:#fff4d9;color:#b48b31}
.member-action-card h3{font-size:17px;color:#272a4d;letter-spacing:-.04em;margin:0 0 9px}.member-action-card p{font-size:11px;line-height:1.8;color:#788098;max-width:295px;margin:0 0 19px}
.member-card-arrow{font:800 11px var(--font-body);color:#6457d9;margin-top:auto}
.member-home-bottom{background:#f5f4ff;border:1px solid #e8e5ff;border-radius:20px;margin-top:24px;padding:30px 36px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.member-home-bottom h3{font-size:22px;color:#2d2a52;margin:5px 0 6px}.member-home-bottom p{font-size:12px;margin:0}.member-home-bottom .btn{flex-shrink:0}
/* About page and sharing controls */
.about-section{min-height:0}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:70px;align-items:center}.about-intro h2{font-size:clamp(30px,3.4vw,44px);margin:14px 0 22px}.about-intro p{font-size:14px;line-height:1.85}.about-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}.about-values{display:grid;gap:13px}.about-value{display:flex;gap:18px;background:#fff;border:1px solid #eaeafa;border-radius:17px;padding:22px}.about-value h3{font-size:15px;margin:0 0 6px}.about-value p{font-size:12px;line-height:1.75;margin:0}.about-value-icon{background:#f2efff;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;color:#6655d9;font-size:23px;flex-shrink:0}.about-steps{padding:75px 0;background:#f9f9ff}.about-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.about-step-grid>div{background:#fff;border:1px solid #e9e9fa;border-radius:18px;padding:30px}.about-step-grid b{font:800 19px var(--font-head);color:#7664e7}.about-step-grid h3{font-size:18px;margin:17px 0 11px}.about-step-grid p{font-size:12px;line-height:1.8}
.my-share-bar{background:#f5f4ff;border:1px solid #dfdcfd;border-radius:16px;padding:18px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.my-share-bar strong{font-size:14px;color:#2c2c56}.my-share-bar p{font-size:11px;line-height:1.5;margin:4px 0 0}.my-share-actions{display:flex;flex-wrap:wrap;gap:8px}.my-share-actions .btn{min-height:42px;font-size:11px;padding:10px 12px}.student-actions .btn{min-height:44px;padding:12px 17px;font-size:12px}.peer-card-actions [data-share-profile]{min-height:40px;min-width:42px;padding:7px 9px;font-size:15px}
/* Dark mode */
html[data-theme="dark"] .member-home{background:linear-gradient(180deg,#141a2d,#111829)}
html[data-theme="dark"] .member-hero-copy{background:radial-gradient(circle at 92% 10%,#353360,transparent 52%),#222742;border-color:#3b3c62}
html[data-theme="dark"] .member-hero-copy h1,html[data-theme="dark"] .member-stat strong,html[data-theme="dark"] .member-action-card h3,html[data-theme="dark"] .member-home-bottom h3,html[data-theme="dark"] .member-dashboard-heading h2,html[data-theme="dark"] .my-share-bar strong{color:#f4f3ff}
html[data-theme="dark"] .member-hero-copy h1 span#memberFirstName{color:#baaaff}
html[data-theme="dark"] .member-hero-copy p,html[data-theme="dark"] .member-action-card p{color:#adb6d6}
html[data-theme="dark"] .member-btn-quiet,html[data-theme="dark"] .member-stat,html[data-theme="dark"] .member-action-card,html[data-theme="dark"] .about-value,html[data-theme="dark"] .about-step-grid>div{background:#20283f;border-color:#37415f;color:#f3f3ff}
html[data-theme="dark"] .member-hero-card{background:#252047;border-color:#47416b}
html[data-theme="dark"] .member-home-bottom,html[data-theme="dark"] .my-share-bar{background:#252442;border-color:#3d3a67}
html[data-theme="dark"] .about-steps{background:#151c31}
html[data-theme="dark"] .member-stat small,html[data-theme="dark"] .member-institution{color:#acb5d5}
@media(max-width:1300px){.main-nav{gap:10px}.main-nav .nav-link{font-size:11px}.main-nav .nav-cta{padding:11px 13px;font-size:11px}}
@media(max-width:1140px){.menu-toggle{display:flex}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;padding:14px 26px 22px;background:#fff;box-shadow:0 22px 30px #0002;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 74px);overflow-y:auto}.main-nav.open{display:flex}.main-nav .nav-link{font-size:13px;padding:10px 6px}.nav-icon-link,.nav-account{padding:11px 6px}.nav-cta{justify-content:center}html[data-theme="dark"] .main-nav{background:#1a2338}}
@media(max-width:880px){.member-hero-grid{grid-template-columns:1fr}.member-hero-copy,.member-hero-card{min-height:310px}.member-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.member-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:35px}.about-step-grid{grid-template-columns:1fr;gap:13px}}
@media(max-width:600px){.member-home{padding:24px 0 55px}.member-topline{margin-bottom:14px}.member-hero-copy{padding:34px 24px;min-height:320px}.member-hero-card{padding:28px 25px 18px}.member-stats{gap:10px;margin:14px 0 45px}.member-stat{padding:15px 12px;grid-template-columns:32px 1fr;gap:2px 9px}.member-stat-icon{width:32px;height:32px;font-size:17px}.member-stat strong{font-size:21px}.member-stat small{font-size:9px}.member-dashboard-heading{align-items:flex-start;flex-direction:column}.member-quick-grid{grid-template-columns:1fr}.member-action-card{min-height:205px}.member-home-bottom{padding:24px;flex-direction:column;align-items:flex-start}.my-share-bar{flex-direction:column;align-items:stretch}.my-share-actions .btn{flex:1}.student-actions .btn{min-width:130px}.about-grid{grid-template-columns:1fr}.about-actions .btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){.member-stat,.member-action-card,.access-spinner{transition:none;animation:none}}
