/* Digital identity: crisp glyphs, restrained neon and noninteractive signal layers. */
:root{--pfs-digital:'IBM Plex Mono',ui-monospace,SFMono-Regular,Consolas,monospace;--pfs-neon:#075662;--pfs-glow:#28d9cc36;--pfs-grid:#157d7910;--n-sans:var(--pfs-digital);--sans:var(--pfs-digital)}
:root[data-theme=dark]{--pfs-neon:#9ceee5;--pfs-glow:#37e0d52b;--pfs-grid:#70ded710}
body{font-family:var(--pfs-digital)}
body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:81;background-image:linear-gradient(90deg,var(--pfs-grid) 1px,transparent 1px),linear-gradient(var(--pfs-grid) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,#000,transparent 18%,transparent 82%,#000)}
body:before{content:'';position:fixed;left:0;right:0;top:-8px;height:7px;z-index:82;pointer-events:none;background:linear-gradient(90deg,transparent,#3acfc625,transparent);box-shadow:0 0 24px #33d5cd10;animation:pfs-signal-scan 22s linear infinite;opacity:.7}
@keyframes pfs-signal-scan{from{transform:translateY(0)}to{transform:translateY(calc(100vh + 16px))}}
.nexus-page :is(h1,h2,h3,h4,h5,h6),.auth-page :is(h1,h2,h3),.dashboard-page :is(h1,h2,h3){font-family:var(--pfs-digital)!important;letter-spacing:-.045em;line-height:1.2;font-weight:500}
.nexus-page h1{font-size:clamp(2.25rem,4.9vw,5.2rem)}.nexus-page h2{font-size:clamp(1.8rem,3.1vw,3.4rem)}.nexus-page h3{font-size:clamp(1.05rem,1.65vw,1.55rem);letter-spacing:-.025em;line-height:1.4}
.n-hero h1{font-size:clamp(2.65rem,5.1vw,5.35rem)}.n-hero-subtitle{font-family:var(--pfs-digital);font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.7;letter-spacing:-.02em}
.nexus-page :is(p,li){letter-spacing:-.015em}.nexus-page .n-kicker{letter-spacing:.12em;font-weight:600}.nexus-page .n-brand{letter-spacing:-.025em}.n-brand small{letter-spacing:.12em}
:root:not([data-theme=dark]){--n-paper:#f0f7f7;--n-surface:#fbfefe;--n-ink:#123039;--n-muted:#3c5960;--n-rule:#a4c2c2;--n-blue:#075d69;--paper:#f0f7f7;--paper-2:#fbfefe;--ink:#123039;--muted:#3c5960;--cobalt:#075d69;--d-glass:#fbfefedb}
:root:not([data-theme=dark]) body{background-color:#f0f7f7;background-image:url('/assets/interface/grid.svg?v=20260928-vrd-25.2');background-size:720px 600px;color:#123039}
:root:not([data-theme=dark]) :is(.nexus-page,.auth-page,.dashboard-page) :is(h1,h2,h3,h4,h5,h6){color:var(--pfs-neon);text-shadow:0 0 10px var(--pfs-glow)}
:root:not([data-theme=dark]) .nexus-page :is(.n-card,.n-editorial,.x-discover-card,.c-journal-teaser,.c-place-body){background:#fbfefeea;border-color:#b3cdcb;backdrop-filter:blur(8px)}
:root:not([data-theme=dark]) .nexus-page .n-section p:not(.n-kicker){color:#3c5960}
:root:not([data-theme=dark]) .nexus-page .n-section .n-editorial p:first-child{color:#123039}
.nexus-page :is(.n-hero,.n-mission) :is(h1,h2,h3){color:#bffbf0!important;text-shadow:0 0 20px #31d2c326}.nexus-page .n-mission .n-section p:not(.n-kicker){color:#d1e7e8}
.m-auth .auth-visual h1,.m-workspace .m-welcome h2{color:#c9f9f1!important;text-shadow:0 0 16px #38d8c723}.m-auth .auth-statement h1{font-size:clamp(2.8rem,5vw,5.8rem)!important;line-height:1.13!important}.m-auth .auth-statement h1 em{color:#9ceadf;font-style:normal}.m-auth .auth-card h2{font-size:clamp(1.8rem,2.8vw,2.8rem)!important;line-height:1.2!important}.m-welcome-prefix{font-family:var(--pfs-digital)}.m-member-name{font-family:var(--pfs-digital);font-size:clamp(1.7rem,3.2vw,3.3rem)}
:root[data-theme=dark] .nexus-page :is(h1,h2,h3){color:#cdf6ef;text-shadow:0 0 14px #4ee8d51c}.nexus-page .n-level{font-family:var(--pfs-digital)}
.nexus-page :is(.n-button,.c-filter,.n-search-trigger,.n-menu-toggle),.pfs-preferences select{border-radius:3px;transition:border-color .25s,box-shadow .25s,background .25s}
.nexus-page :is(.n-button,.c-filter,.n-search-trigger,.n-menu-toggle):hover{border-color:#268b8b;box-shadow:0 0 0 1px #3ac9c120,0 0 18px #3ac9c112}
.nexus-page .n-primary{background:#075862!important;border-color:#075862!important;color:#f5ffff!important}.nexus-page :focus-visible{outline-color:#008f8d;outline-offset:4px}
.nexus-page .n-nav a{position:relative}.nexus-page .n-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.nexus-page .n-nav a:hover:after,.nexus-page .n-nav a:focus-visible:after{transform:scaleX(1)}
.nexus-page .n-footer{background:var(--n-surface)}.n-footer-note{align-items:center;flex-wrap:wrap;gap:18px 40px}.n-footer-note .pfs-copyright{font:400 11px/1.7 var(--pfs-digital);white-space:normal}.pfs-creator{font:400 11px/1.8 var(--pfs-digital);letter-spacing:0;margin:0!important;color:var(--n-muted,#3c5960);max-width:none!important}.pfs-creator strong{font-weight:600;white-space:nowrap;color:var(--pfs-neon)}.n-footer-note .pfs-creator{padding-left:16px;border-left:2px solid #32a59c66}.app-footer>.pfs-creator{grid-column:1/-1}
@media(max-width:760px){.nexus-page h1,.n-hero h1{font-size:clamp(2.05rem,7.8vw,3.7rem);letter-spacing:-.055em}.nexus-page h2{font-size:clamp(1.6rem,6vw,2.6rem)}.nexus-page h3{font-size:1.16rem}.n-card h3{font-size:1.35rem}.n-hero-description{font-size:13px}.n-footer-note{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:85px}.n-footer-note .pfs-creator{padding-left:12px}.m-auth .auth-statement h1{font-size:clamp(2.5rem,8vw,4rem)!important}.m-welcome .m-member-name{font-size:clamp(1.6rem,5vw,2.4rem)}}
:root[data-motion=off] body:before{display:none}:root[data-motion=off] .n-nav a:after{transition:none}.d-tab-hidden body:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body:before{display:none}.nexus-page .n-nav a:after{transition:none}}
@media print{body:before,body:after{display:none}body{background:#fff!important}h1,h2,h3,h4,h5,h6{text-shadow:none!important}}
/* Readable glass surfaces over the heritage layer; solid glyphs carry the contrast. */
:root{--serif:var(--pfs-digital);--n-serif:var(--pfs-digital)}
:root:not([data-theme=dark]) .nexus-page>main>:is(.shell.n-section,.n-page-hero){background:linear-gradient(110deg,#fbfefed9,#fbfefea6);border:1px solid #ffffffb3}
:root:not([data-theme=dark]) .nexus-page>main>:is(.n-portal-strip,.z-quick-access,.n-reference,.n-bottom-cta,.z-enquiry){background:#fbfefecc}
