
.site-ambient{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;opacity:.27;mix-blend-mode:screen}
.site-ambient:before{content:"";position:absolute;inset:-20%;background-image:radial-gradient(circle,#9bd6c1 1px,transparent 2px),radial-gradient(circle,#d9c6aa 1px,transparent 2px);background-size:210px 200px,340px 310px;animation:site-drift 60s linear infinite}
.site-orb{position:absolute;width:550px;height:550px;max-width:70vw;border-radius:50%;filter:blur(72px);background:radial-gradient(circle,#6accb437,transparent 68%);animation:site-float 24s ease-in-out infinite alternate}
.site-orb:first-child{top:-18%;left:-15%}.site-orb:last-child{right:-15%;bottom:-15%;animation-delay:-12s;background:radial-gradient(circle,#77add137,transparent 70%)}
@keyframes site-drift{to{transform:translate3d(160px,-150px,0)}}@keyframes site-float{to{transform:translate3d(120px,100px,0) scale(1.2)}}
.site-cursor{position:fixed;top:0;left:0;z-index:99999;border:1.5px solid #b4e9d5;background:#9bd6c11f;box-shadow:0 0 25px #a0e2ca60;width:18px;height:18px;border-radius:50%;pointer-events:none;transform:translate(-100px,-100px);transition:width .2s,height .2s}
.site-cursor.hover{width:38px;height:38px}
.catalog-page{max-width:1170px;margin:auto;padding:70px 25px 110px;min-height:65vh}
.catalog-page h1{font:400 clamp(48px,7vw,88px)/1.06 Georgia,serif;letter-spacing:-.04em;margin:20px 0}
.catalog-kicker{font:700 11px/1.6 system-ui;letter-spacing:.16em;text-transform:uppercase;color:#9bd6c1}
.catalog-lead{color:#bed0d3;max-width:760px;font-size:17px;line-height:1.8}
.catalog-controls{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0 14px}
.catalog-controls input,.catalog-controls select{background:#142a38;color:white;border:1px solid #54727b;border-radius:5px;padding:13px;min-height:48px;font:inherit}
.catalog-controls input{flex:1 1 320px}.catalog-controls select{flex:0 1 230px}
.catalog-count{font-size:12px;color:#afc5c9;margin:12px 0 24px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.catalog-card{background:linear-gradient(155deg,#1a3444,#112330);border:1px solid #385563;border-radius:7px;padding:27px;min-height:225px;display:flex;flex-direction:column;gap:15px;transition:transform .25s,border-color .25s}
.catalog-card:hover{transform:translateY(-4px);border-color:#9bd6c1}.catalog-card[hidden]{display:none}
.catalog-card h2{font:400 27px/1.2 Georgia,serif;margin:0}.catalog-card p{color:#b6c7ce;font-size:13px;line-height:1.7;margin:0}
.catalog-card a{font-size:13px;font-weight:700;color:#9bd6c1;margin-top:auto}
.catalog-tags{font-size:11px;color:#b6ccd0}
.catalog-empty{padding:32px;border:1px dashed #52747d;grid-column:1/-1;background:#122836}
.article-body{max-width:780px;font:17px/1.8 Georgia,serif;color:#e8efed}.article-body h2,.article-body h3{font-weight:400;line-height:1.2;margin-top:40px}
.article-body h2{font-size:36px}.article-body h3{font-size:27px}
.article-body a{color:#9bd6c1;text-decoration:underline}
.article-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0c1e2a;border:1px solid #385563;padding:20px;border-radius:5px;font:13px/1.7 monospace}
.article-body blockquote{border-left:3px solid #9bd6c1;padding:4px 20px;color:#c4d6d3}
@media(max-width:850px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.catalog-grid{grid-template-columns:1fr}.catalog-page{padding:45px 18px 80px}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.site-cursor{display:none!important}}
@media(prefers-reduced-motion:reduce){.site-ambient:before,.site-orb{animation:none!important}.catalog-card{transition:none}}

/* Visual system v2: accessible light/dark palette, layered luminescence, theme button */
html[data-theme="light"]{color-scheme:light;--bg:#f4f8f7;--panel:#fff;--line:#d4e1e1;--ink:#142c34;--fg:#142c34;--muted:#536a73;--fade:#536a73;--sea:#176d66;--teal:#176d66;--outline:#cedfdf;--gold:#9e6d37}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"] body{background:var(--bg)!important;color:var(--ink)!important}
html[data-theme="light"] :is(.top,.mast,header){background:#f4f8f7eb!important;border-color:#d4e1e1!important}
html[data-theme="light"] :is(.hero,.contact){background:radial-gradient(ellipse at 82% 30%,#b7e2dc 0,transparent 42%),linear-gradient(160deg,#edf8f5,#f4f8f7 68%)!important}
html[data-theme="light"] :is(.card,.paper,.catalog-card,.project,.resource,.feature,.slide-card){background:#fff!important;border-color:#c7d9d9!important;color:#142c34!important}
html[data-theme="light"] :is(.lead,.sub,.catalog-lead,.catalog-card p,.catalog-tags,.meta,.article-body,.paper p,.card p,.contact p,footer,.footer,.footer a,nav a,.links a){color:#455e67!important}
html[data-theme="light"] :is(h1,h2,h3,h4,.logo,.mark,.heading,.catalog-card h2,.article-body h2){color:#152e38}
html[data-theme="light"] :is(.eyebrow,.sectiontag,.catalog-kicker,.textlink){color:#176d66!important}
html[data-theme="light"] .site-ambient{mix-blend-mode:multiply;opacity:.35}
html[data-theme="light"] .site-orb{background:radial-gradient(circle,#3cafa450,transparent 70%)}
html[data-theme="light"] .catalog-controls :is(input,select){background:white;color:#152e38;border-color:#9cbdba}
html[data-theme="light"] .article-body{color:#1e3740}
.site-ambient{z-index:0;opacity:.43;isolation:isolate}
.site-ambient:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 32% 26% at 72% 15%,#55c1c01c,transparent 100%);animation:site-pulse 9s ease-in-out infinite alternate}
@keyframes site-pulse{from{opacity:.4;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}
body>:not(.site-ambient):not(.site-cursor):not(.site-theme-toggle){position:relative;z-index:1}
.site-theme-toggle{position:fixed;right:22px;bottom:22px;z-index:10000;display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:999px;border:1px solid var(--outline,#4b7077);background:var(--panel,#122c39);color:var(--fg,var(--ink,#eef6f4));font:700 12px/1.3 system-ui,sans-serif;box-shadow:0 9px 34px #08182233;backdrop-filter:blur(15px);cursor:pointer;transition:transform .2s,box-shadow .2s}
.site-theme-toggle:hover{transform:translateY(-3px);box-shadow:0 12px 40px #45b6b044}
.site-theme-toggle:focus-visible{outline:3px solid #54bcb0;outline-offset:4px}
html[data-theme="light"] .site-theme-toggle{background:#fff;color:#152e38;border-color:#c7d9d9}
@media(max-width:600px){.site-theme-toggle{right:12px;bottom:12px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.site-ambient:after{animation:none}.site-theme-toggle{transition:none}}
