.entry-stage{min-height:100svh;display:grid;place-items:center;padding:clamp(16px,5vw,64px)}
.entry-layout{width:min(940px,100%);display:grid;grid-template-columns:1.02fr 1fr;border:1px solid var(--border);border-radius:30px;overflow:hidden;background:var(--surface);box-shadow:0 28px 80px #08162b45}
.entry-visual,.boot-screen{position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 28% 26%,#25579c 0%,#10284e 46%,#080f22 84%);color:#ecf5ff}
.entry-visual{min-height:480px}
.entry-visual:before,.boot-screen:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle,#badcff36 1px,transparent 1.5px) 0 0/24px 24px;mask-image:radial-gradient(ellipse,#000,transparent 76%)}
.entry-orbit{position:relative;display:grid;place-items:center;width:clamp(180px,25vw,286px);aspect-ratio:1;perspective:600px}
.entry-orbit:before,.entry-orbit:after{content:"";position:absolute;width:96%;height:70%;border-radius:50%;border:1px solid #9dd5ff74;transform:rotate(-32deg) rotateX(52deg);box-shadow:0 0 22px #8ecaff36,inset 0 0 19px #8ecaff1b}
.entry-orbit:after{transform:rotate(35deg) rotateX(62deg);width:113%;opacity:.65}
.entry-medallion{width:48%;aspect-ratio:1;padding:9px;border-radius:50%;background:linear-gradient(145deg,#b4e5ffb3,#4672ab40 55%,#9ac9ff57);border:1px solid #b9e4ff96;box-shadow:0 18px 28px #060d28a6,0 0 32px #badcff4a;animation:entry-float 3.4s ease-in-out infinite alternate}
.entry-medallion img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%}
@keyframes entry-float{from{transform:translateY(4px) rotateY(-11deg) rotateX(5deg)}to{transform:translateY(-6px) rotateY(12deg) rotateX(-5deg)}}
.entry-visual-name{position:absolute;left:24px;right:24px;bottom:27px;text-align:center;font-size:13px;letter-spacing:.025em;color:#d7e9ff}
.entry-panel{padding:clamp(22px,5vw,48px);display:grid;align-content:center;min-width:0}
.entry-panel h1{font-size:clamp(29px,4vw,45px);margin:12px 0}
.entry-panel form{margin:20px 0 10px}
.entry-panel input{min-height:46px;border-radius:13px}
.entry-panel .btn.primary{min-height:46px;border-radius:13px}
.entry-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.entry-links a,.entry-links button{padding:8px 0;font-size:13px;font-weight:650;color:var(--accent);background:none;border:0}
.entry-panel .error:empty{display:none}
.entry-panel .entry-tools{justify-self:end;margin:0}
.entry-working{min-height:184px;display:grid;justify-items:center;align-content:center;gap:8px;text-align:center}
.entry-working .entry-orbit,.boot-screen .entry-orbit{width:124px}
.boot-screen{min-height:100svh;align-content:center;gap:10px;text-align:center;padding:24px}
.boot-screen p{color:#bfd6ef}
@media(max-width:650px){.entry-stage{padding:14px}.entry-layout{grid-template-columns:minmax(0,1fr);border-radius:24px;max-width:480px}.entry-visual{min-height:164px}.entry-visual .entry-orbit{width:132px;margin-bottom:22px}.entry-visual-name{bottom:12px;font-size:11px}.entry-panel{padding:17px 23px 23px}}
@media(prefers-reduced-motion:reduce){.entry-medallion{animation:none}}

#app{display:flex;flex-direction:column;min-height:100svh}
#app>.entry-stage,#app>.boot-screen{flex:1;min-height:0}
#app>.shell{width:100%;flex:1}
.hub-column{display:flex;flex-direction:column;min-width:0}
.hub-column>.wrap{width:100%;flex:1;margin:0 auto}
.hub-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 12px;border-top:1px solid var(--border);padding:9px 12px;color:var(--muted);font-size:11px;line-height:1.45;text-align:center}
.hub-developer{display:inline-flex;gap:5px;align-items:center}
.hub-developer img{border-radius:50%;object-fit:contain;background:#0c1831}
dialog>.hub-footer{margin-top:14px;padding:9px 0 0;font-size:10px}
@media(max-width:700px){#app.hub-authenticated .hub-column{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}

.entry-panel{overflow-wrap:anywhere}
.entry-panel .stack>label{min-width:0}
.brand strong,.mobile-hub-name{overflow-wrap:anywhere}
.boot-screen p [data-brand-name]{display:inline}

.role-overview{grid-column:1/-1;padding:18px}
.role-stats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.role-stats>div{min-width:120px;padding:8px 12px;border-radius:12px;border:1px solid var(--border)}
.role-stats dt{color:var(--muted);font-size:13px}
.role-stats dd{margin:2px 0 0;font-weight:700;font-size:22px}
.role-people{display:grid;gap:7px;margin:10px 0;max-height:50vh;overflow:auto}
.role-people>.role-person{margin:0;display:flex;justify-content:space-between;align-items:center;gap:10px}
.role-person>div{min-width:0;overflow-wrap:anywhere}
.role-chart{grid-column:1/-1;min-width:0}
