/* Portal-only visual layer: cards stay legible above 70% white overlays. */
.portal-sites{position:relative;overflow:hidden}
.portal-sites:before{content:"";position:absolute;inset:-30% -10%;pointer-events:none;opacity:.42;background:repeating-linear-gradient(112deg,transparent 0 52px,rgba(8,115,74,.045) 53px 54px,transparent 55px 108px);animation:networkDrift 20s linear infinite}
.portal-sites>*{position:relative}
.portal-site{position:relative;isolation:isolate;overflow:hidden}
.portal-site:before{content:"";position:absolute;z-index:-2;inset:0;background:var(--portal-card-image) center/cover no-repeat;opacity:.9;transition:transform .7s ease}
.portal-site:after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(255,255,255,.70)}
.portal-grid .portal-site:nth-child(2){--portal-card-image:url('/assets/portal/blocks-card-v1.png')}
.portal-grid .portal-site:nth-child(3){--portal-card-image:url('/assets/portal/tools-card-v1.png')}
.portal-site:hover:before{transform:scale(1.05)}
@keyframes networkDrift{to{transform:translate3d(7%,5%,0) rotate(.001deg)}}
@media(prefers-reduced-motion:reduce){.portal-sites:before{animation:none}.portal-site:before{transition:none}}
.net-community{background:linear-gradient(135deg,#f5f8f6 0%,#edf7f1 48%,#f8faf9 100%)}
.net-community>aside{padding:28px!important;border:1px solid rgba(8,115,74,.12);box-shadow:0 14px 34px rgba(8,115,74,.06)}
body:has(.portal-shell)>.portal-modal{display:grid!important;z-index:9999!important}
body:has(.portal-shell)>.portal-toast{display:block!important;z-index:10000!important}
.portal-account-wrap{position:relative}.portal-account-menu{position:absolute;right:0;top:calc(100% + 8px);display:none;min-width:130px;padding:6px;border:1px solid #e5e5ea;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.12)}.portal-account-wrap.open .portal-account-menu{display:grid}.portal-account-menu button{border:0;padding:10px;background:transparent;text-align:left;cursor:pointer}.portal-account-menu button:last-child{color:#a33}.profile-live-stats{display:block;margin-top:12px;color:#e3eee7}
.profile-intro{position:relative;overflow:hidden;min-height:230px;padding:34px!important;background:linear-gradient(90deg,rgba(12,28,21,.78),rgba(12,28,21,.24)),var(--profile-cover) center/cover,#184434!important;color:#fff}.profile-intro:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(7,27,18,.45),transparent 62%)}.profile-intro>*{position:relative}.profile-intro p{color:#e2eee7!important}.profile-intro button{background:rgba(255,255,255,.9)!important;color:#183126!important}
.portal-footer a{font-weight:300!important;letter-spacing:.02em}.portal-user{display:flex;align-items:center;gap:8px}.portal-user img{width:24px;height:24px;border-radius:50%;object-fit:cover}.network-profile{min-height:calc(100vh - 130px);padding:56px clamp(24px,10vw,160px);background:linear-gradient(135deg,#f6faf8,#eef6f1 52%,#fff)}.profile-intro{display:flex;align-items:center;gap:22px;padding:34px 0;border-bottom:1px solid var(--ios-line)}.profile-intro>img{width:86px;height:86px;object-fit:cover;border-radius:50%;background:#fff}.profile-intro h1{margin:7px 0;font-size:clamp(34px,5vw,58px);letter-spacing:-.06em}.profile-intro p{margin:0;color:var(--ios-muted)}.profile-intro button,.profile-work header button,.profile-security button{margin-left:auto;border:1px solid var(--ios-line);border-radius:999px;padding:11px 15px;background:#fff;font-weight:600;cursor:pointer}.profile-work{padding-top:48px}.profile-work header{display:flex;align-items:end;justify-content:space-between}.profile-work h2{margin:7px 0 24px;font-size:35px;letter-spacing:-.05em}.profile-reference{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-reference a{min-height:170px;padding:22px;border:1px solid var(--ios-line);border-radius:16px;background:rgba(255,255,255,.76);color:var(--ios-text);font-weight:650;text-decoration:none}.profile-reference small{display:block;margin-top:10px;color:var(--ios-muted);font-weight:400;line-height:1.5}.profile-security{display:flex;gap:10px;padding-top:28px}.profile-security button:last-child{color:#a33}@media(max-width:700px){.profile-intro{align-items:flex-start;flex-wrap:wrap}.profile-intro button{margin-left:0}.profile-reference{grid-template-columns:1fr}}
