/* UNITIQX OBSIDIAN v1.0 — additive public design language. Keep functional layout and controls intact. */
:root{
 --ux-bg:#060c15;--ux-deep:#090f1c;--ux-surface:#101c2c;--ux-surface-2:#14253a;
 --ux-border:#30435c;--ux-ink:#f1f6ff;--ux-muted:#9dafc6;--ux-cyan:#87eeea;--ux-gold:#e8c393;--ux-violet:#b4a2fd;
 --ux-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 color-scheme:dark;
}
html{scroll-behavior:smooth}
body{
 --ux-radial:radial-gradient(ellipse 62% 56% at 76% -14%,rgba(52,108,164,.25),transparent 72%),radial-gradient(ellipse 60% 40% at -12% 35%,rgba(87,67,141,.15),transparent 69%);
 background-image:var(--ux-radial)!important;
 background-color:var(--ux-bg)!important;
 color:var(--ux-ink);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}
body::before{
 content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.36;
 background-image:linear-gradient(rgba(125,170,211,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(125,170,211,.035) 1px,transparent 1px);
 background-size:58px 58px;
 mask-image:linear-gradient(to bottom,black,transparent 88%);
}
body::selection,::selection{background:#376f88;color:white}
:where(h1,h2,h3,h4){font-family:var(--ux-font);text-wrap:balance}
:where(h1){letter-spacing:-.052em!important;line-height:1.055!important;font-weight:750}
:where(h2){letter-spacing:-.035em}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ux-cyan)!important;outline-offset:3px!important}
:where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(button){transition:filter .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease}
:where(button:not(:disabled)):hover{filter:brightness(1.12)}
:where(button:not(:disabled)):active{transform:translateY(1px)}
:where(input,select,textarea){accent-color:var(--ux-cyan)}
:where(.card,.panel,.tile,.box,.workspace,.hero,.item,.district-card,.metric,.stat-card,.kitBox){
 border-color:rgba(147,183,217,.22)!important;
 box-shadow:inset 0 1px rgba(241,248,255,.045),0 14px 44px rgba(0,5,14,.14);
}
:where(.card,.tile,.item,.district-card){
 transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
:where(.card,.tile,.item,.district-card):hover{
 border-color:rgba(137,225,232,.49)!important;
 box-shadow:inset 0 1px rgba(241,248,255,.075),0 24px 58px rgba(0,4,12,.3),0 0 0 1px rgba(122,232,234,.045);
}
:where(.eyebrow,.kicker,.tag,.badge,.overline){letter-spacing:.14em}
:where(header a,nav a){text-underline-offset:5px}
:where(header,nav){backdrop-filter:saturate(125%)}
:where(.hero,.intro,.mast){isolation:isolate}
:where(.hero)::before{pointer-events:none}
:where(.stats,.metrics,.stat-grid) strong{font-variant-numeric:tabular-nums}
:where(.muted,.sub,.secondary,small){text-wrap:pretty}
:where(.skip):focus{z-index:9999!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media(max-width:760px){:where(h1){letter-spacing:-.04em!important}}
/* Public hub: turn the sprawling directory into a designed flagship. */
body.ux-public-hub header{max-width:1460px;padding-block:22px}
body.ux-public-hub main{max-width:1460px}
body.ux-public-hub .hero{
 min-height:410px;display:flex;flex-direction:column;justify-content:center;
 padding:clamp(28px,5vw,68px);
 position:relative;overflow:hidden;
 border-radius:24px;
 background:radial-gradient(ellipse at 94% 5%,rgba(101,214,227,.16),transparent 45%),linear-gradient(125deg,#142b42 0%,#0b1829 54%,#12162c 100%)!important;
}
body.ux-public-hub .hero::after{
 content:"";position:absolute;pointer-events:none;right:-3%;top:-30%;width:57%;height:170%;
 background:repeating-radial-gradient(circle at center,transparent 0 35px,rgba(141,213,243,.13) 36px 37px,transparent 38px 74px);
 transform:rotate(-18deg);mask-image:linear-gradient(to left,black,transparent);
 opacity:.65;
}
body.ux-public-hub .hero > *{position:relative;z-index:1}
body.ux-public-hub .hero h1{max-width:820px;font-size:clamp(48px,6.6vw,94px)}
body.ux-public-hub .hero .lede{max-width:690px;color:#b9cee0}
body.ux-public-hub .grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:18px}
body.ux-public-hub .card{background:linear-gradient(150deg,rgba(30,51,77,.98),rgba(15,26,43,.98));padding:26px;border-radius:16px;min-height:190px}
body.ux-public-hub .card h3{line-height:1.23}
body.ux-public-hub .card a{font-size:13px;font-weight:700;color:#95e9ee}
body.ux-public-hub .tag{color:#9cf0e4;background:rgba(43,120,116,.14);border-color:rgba(119,224,224,.4)}
body.ux-public-hub button{background:#89d9df;color:#06121a}
body.ux-public-hub nav a{color:#b7d5e8;font-size:13px}
body.ux-public-hub .ux-portal-band{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0 32px
}
body.ux-public-hub .ux-portal-band a{
 display:flex;flex-direction:column;gap:9px;min-height:140px;justify-content:space-between;
 padding:20px;border:1px solid rgba(142,193,217,.3);border-radius:14px;
 background:linear-gradient(145deg,#163047,#0d1828);
 text-decoration:none;color:#eef8ff
}
body.ux-public-hub .ux-portal-band a strong{font-size:16px}
body.ux-public-hub .ux-portal-band a small{color:#99adbf;font-size:12px;line-height:1.4}
body.ux-public-hub .ux-portal-band a:hover{transform:translateY(-3px);border-color:#8bdfdf}
@media(max-width:920px){body.ux-public-hub .ux-portal-band{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){body.ux-public-hub .ux-portal-band{grid-template-columns:1fr}body.ux-public-hub .hero{min-height:0}}
/* Distinct products keep their accent identities. */
body.ux-forge{--ux-cyan:#f4c68e}
body.ux-commons{--ux-cyan:#ceacff}
body.ux-mission{--ux-cyan:#84ead3}
body.ux-iso{--ux-cyan:#8fe6ed}
body.ux-impossible{--ux-cyan:#a4c4ff}

/* UNITIQX OBSIDIAN — specialized presentation for existing public surfaces */
body.ux-city{--ux-cyan:#88d8f4}
body.ux-city .world{border:1px solid #557d9b!important;box-shadow:0 34px 95px #0008,0 0 0 1px #b0effb10,inset 0 2px #ffffff12}
body.ux-city .district{transition:filter .28s ease,transform .28s ease}
body.ux-city .district:hover,body.ux-city .district:focus{filter:drop-shadow(0 0 19px rgba(105,245,250,.78)) brightness(1.22);transform:translateY(-7px)}
body.ux-city .district[data-selected="true"]{filter:drop-shadow(0 0 23px rgba(141,249,244,.9));transform:translateY(-4px)}
body.ux-city .world:before{content:"";position:absolute;left:0;top:0;width:100%;height:45%;pointer-events:none;z-index:1;opacity:.16;background:linear-gradient(180deg,#a4e5fa22,transparent)}
body.ux-city .card{background:linear-gradient(145deg,#172e46,#0d1a2a)!important}
body.ux-city .mast .brand b{letter-spacing:.20em}
body.ux-city .system i{animation:uxsignal 2.6s ease-in-out infinite}
@keyframes uxsignal{50%{box-shadow:0 0 0 7px #73ddb91c,0 0 18px #67eaca}}
body.ux-factory{--ux-cyan:#e5b879}
body.ux-factory :where(.module,.card,.panel){background-image:linear-gradient(135deg,rgba(243,191,106,.045),transparent 55%)}
body.ux-factory :where(.progress,.conveyor,.track){box-shadow:0 0 16px rgba(255,192,104,.12)}
body.ux-frontier{--ux-cyan:#91dbff}
body.ux-frontier :where(.rail,.panel,.card){box-shadow:inset 0 1px rgba(188,230,253,.06),0 14px 32px rgba(0,0,0,.22)}
body.ux-impossible{--ux-cyan:#a6bfff}
body.ux-impossible .metropolis{filter:saturate(1.14) contrast(1.045)}
body.ux-impossible .story-card{box-shadow:0 22px 64px #0009,0 0 30px rgba(146,190,255,.08)}
body.ux-iso{--ux-cyan:#8bffeb}
body.ux-iso :where(.machine,.workspace,.module){box-shadow:inset 0 1px #ffffff09,0 25px 65px #0005}
body.ux-mission{--ux-cyan:#89eadc}
body.ux-mission :where(.card,.metric,.panel){box-shadow:inset 0 1px #ffffff0e,0 19px 42px #0004}
@media(prefers-reduced-motion:reduce){body.ux-city .system i{animation:none}}
