:root{--navy:#071827;--navy2:#0d2234;--panel:#10283b;--gold:#d5a448;--gold2:#edc878;--ivory:#f4efe4;--muted:#aab7c0;--line:rgba(255,255,255,.14);--ink:#0a1725;--paper:#eef1f1;--danger:#b7473f;--success:#6e9d82}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ivory);font:16px/1.65 Manrope,Arial,sans-serif}.wrap{width:min(100% - 40px,1160px);margin:auto}a{color:inherit}button,input{font:inherit}.portal-header{border-bottom:1px solid var(--line);background:rgba(7,24,39,.97)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:54px;height:54px;object-fit:contain}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-name{font-weight:700;font-size:1.3rem;letter-spacing:.06em}.brand-tagline{margin-top:7px;color:var(--gold2);font:500 .68rem/1 IBM Plex Mono,monospace;letter-spacing:.11em}.back{color:#c8d0d5;text-decoration:none;font-size:.88rem}.back:hover,.back:focus-visible{color:var(--gold2)}.portal-intro{padding:72px 0 54px;background:radial-gradient(circle at 78% 15%,rgba(213,164,72,.12),transparent 33%),linear-gradient(135deg,#0b2032,#061522)}.portal-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.eyebrow{color:var(--gold2);font:500 .76rem/1.3 IBM Plex Mono,monospace;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,5.8rem);margin-top:18px}h2{font-size:clamp(2rem,4vw,3.3rem)}h3{font-size:1.35rem}.intro{max-width:720px;margin:22px 0 0;color:#c5ced4;font-size:1.12rem}.portal-principles{display:grid;gap:10px;border-left:1px solid rgba(213,164,72,.5);padding-left:26px}.portal-principles span{color:#c3cdd3;font:500 .78rem/1.4 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.07em}.portal-area{padding:58px 0 82px;background:var(--paper);color:var(--ink);min-height:520px}.status-message{border:1px solid #cbd2d6;background:#fff;padding:16px 18px;color:#465761}.status-message:empty{display:none}.status-message.error{border-left:4px solid var(--danger)}.status-message.success{border-left:4px solid var(--success)}.login-layout{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:start}.login-copy h2{margin:15px 0 18px}.login-copy>p{color:#51616b;max-width:640px}.boundary-note{margin-top:28px;border-left:4px solid var(--gold);background:#fff;padding:20px 22px}.boundary-note p{margin:7px 0 0;color:#5c6a72}.login-card{border-top:5px solid var(--gold);background:#fff;padding:32px;box-shadow:0 18px 45px rgba(8,25,38,.1)}.login-card label{display:block;margin-bottom:9px;font-weight:700}.login-card input{width:100%;border:1px solid #aeb9bf;background:#fff;color:var(--ink);padding:14px 15px;outline:none}.login-card input:focus{border-color:#9c742c;box-shadow:0 0 0 3px rgba(213,164,72,.17)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--gold);background:var(--gold);color:#091724;text-decoration:none;padding:12px 20px;font-weight:700;cursor:pointer}.button:hover,.button:focus-visible{background:var(--gold2)}.button:disabled{cursor:wait;opacity:.68}.login-card .button{width:100%;margin-top:16px}.button.secondary{background:transparent;color:inherit;border-color:currentColor}.button.secondary:hover,.button.secondary:focus-visible{background:rgba(213,164,72,.1);color:#7c5b21}.form-note{margin:13px 0 0;color:#687780;font-size:.82rem}.form-feedback{min-height:1.5em;margin:12px 0 0;font-weight:600}.form-feedback.error{color:#9e342e}.form-feedback.success{color:#377657}.account-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;border-bottom:1px solid #cbd2d6;padding-bottom:26px}.account-bar h2{margin-top:12px}.account-email{margin:8px 0 0;color:#586a74}.account-actions{display:flex;align-items:center;gap:12px}.membership-badge{border:1px solid #94a3ab;padding:8px 11px;font:500 .7rem/1 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.membership-badge.active{border-color:#54876e;color:#2f6c50;background:#e5f0e9}.membership-badge.inactive{border-color:#b78b3e;color:#775719;background:#f7edda}.access-panel{margin-top:34px;border-left:5px solid var(--gold);background:#fff;padding:32px}.access-panel h3{margin:12px 0}.access-panel p{max-width:760px;color:#53646d}.panel-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}.text-link{color:#74551d;text-decoration:underline;text-underline-offset:3px;font-weight:700}.library-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:38px}.library-head h3{font-size:2rem;margin-top:10px}.membership-detail{color:#5d6d76;text-align:right;max-width:480px;margin:0}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.library-item{display:flex;flex-direction:column;border:1px solid #cbd3d7;border-top:4px solid var(--gold);background:#fff;padding:25px;min-height:250px}.library-meta{display:flex;justify-content:space-between;gap:18px;color:#65747d;font:500 .7rem/1.4 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.library-item h4{font-size:1.35rem;line-height:1.18;margin:18px 0 10px}.library-item p{color:#56666f;margin:0 0 24px}.library-item .button{align-self:flex-start;margin-top:auto}.download-feedback{margin:11px 0 0;color:#8c352f;font-size:.82rem}.empty-state{margin-top:26px;border:1px dashed #aeb9bf;background:#fff;padding:36px;text-align:center}.empty-state p{color:#607079}.portal-boundary{padding:62px 0;background:var(--navy2);border-top:1px solid var(--line)}.boundary-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.boundary-grid h2{margin-top:13px}.boundary-grid>p{margin:0;color:#bcc7cd}footer{padding:32px 0;color:#8f9da6}.foot{display:flex;justify-content:space-between;gap:28px;font-size:.78rem}.foot p{margin:0}.foot nav{display:flex;gap:16px;flex-wrap:wrap}.foot a:hover,.foot a:focus-visible{color:var(--gold2)}[hidden]{display:none!important}@media(max-width:760px){.wrap{width:min(100% - 28px,1160px)}.nav{min-height:74px}.brand-mark{width:45px;height:45px}.brand-name{font-size:1.08rem}.brand-tagline{font-size:.58rem}.back{font-size:.78rem}.portal-intro{padding:50px 0 38px}.portal-intro-grid,.login-layout,.boundary-grid{grid-template-columns:1fr;gap:30px}.portal-principles{margin-top:4px}.portal-area{padding:38px 0 58px}.login-card{padding:24px 20px}.account-bar,.library-head{align-items:flex-start;flex-direction:column}.account-actions{width:100%;justify-content:space-between}.membership-detail{text-align:left}.library-grid{grid-template-columns:1fr}.library-item{min-height:0}.foot{flex-direction:column}.foot nav{gap:10px 16px}}
