/* Shared orbit/card primitive. Coordinates follow the verified r32 HOME_LAYOUT. */
.portal-home{height:calc(100svh - 80px);min-height:420px;display:grid;place-items:center;padding:12px 16px 0}
.orbit{position:relative;width:min(100%,880px);height:min(100%,700px);min-height:390px;isolation:isolate}
.orbit-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;stroke:var(--accent);stroke-width:.22;filter:drop-shadow(0 0 4px var(--accent))}.orbit-connections path{opacity:.46}.orbit-connections circle{fill:var(--accent);stroke:none}
.orbit-card,.orbit-center{position:absolute;transform:translate(-50%,-50%);border:1px solid #2874f080;border-radius:18px;background:linear-gradient(160deg,#102a42,#071827);color:#bdf9fb;box-shadow:inset 0 1px #ffffff0d,0 8px 20px #0005;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:1}
.orbit-card{width:clamp(92px,16vw,150px);height:clamp(86px,14vw,132px);gap:9px;padding:10px 4px}.orbit-card:after,.orbit-center:after{content:"";position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:2px;background:#20d4df;box-shadow:0 0 8px #20d4df,0 0 16px #2874f0}.orbit-card svg{width:38px;height:38px}.orbit-card strong{font-size:clamp(10px,1.5vw,14px);font-weight:700;max-width:100%;text-align:center;hyphens:none;word-break:normal;overflow-wrap:normal}.orbit-card:hover{border-color:var(--accent)}.orbit-slot-0{left:50%;top:13%}.orbit-slot-1{left:83%;top:30%}.orbit-slot-2{left:83%;top:66%}.orbit-slot-3{left:50%;top:83%}.orbit-slot-4{left:17%;top:66%}.orbit-slot-5{left:17%;top:30%}
.orbit-center{left:50%;top:49%;width:clamp(116px,20vw,190px);height:clamp(148px,25vw,240px);overflow:hidden;padding:0}.orbit-center img{width:100%;height:100%;object-fit:cover;object-position:top center}.orbit-center strong{position:absolute;bottom:0;left:0;right:0;padding:18px 8px 9px;text-align:center;background:linear-gradient(transparent,#071421e8);color:#fff;font-size:17px}.orbit-card[data-state=locked]{--orbit-secondary:#415565;background:linear-gradient(145deg,#e6edf0eb,#b7c7d5e8);color:#415565;border-color:#cfdae2;box-shadow:inset 0 1px #ffffff90}.orbit-card[data-state=locked]:after{background:#9eafb9;box-shadow:none}.orbit-lock-label{font-size:10px}
html[data-theme=light] .orbit-card:not([data-state=locked]),html[data-theme=light] .orbit-center{border-color:#62b9cc;background:linear-gradient(160deg,#f7fcfe,#dceff5);color:#087f98;box-shadow:inset 0 1px #fff,0 7px 18px #356a7d24}
@media(max-width:700px){.portal-home{height:calc(100svh - 112px);min-height:440px;padding:8px 10px 0}.orbit{min-height:410px}.orbit-card{border-radius:15px}.orbit-card svg{width:30px;height:30px}.orbit-center{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.orbit-connections circle{display:none}}

.orbit-pencil{position:absolute;top:7px;right:7px;z-index:2;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--surface);color:var(--accent)}.orbit-pencil svg{width:13px;height:13px}

/* Shared vertical content: symbol, heading, optional explanation/status. */
.orbit-card>small{display:block;color:var(--orbit-secondary,var(--muted));font-size:10px;line-height:1.1;text-align:center;max-width:100%}
.orbit-card[data-density=compact]{gap:1px;padding:2px 2px}
.orbit-card[data-density=compact]>svg{width:clamp(20px,3vw,30px);height:clamp(20px,3vw,30px)}
.orbit-card[data-density=compact]>strong{line-height:1.1}
@media(max-width:700px){.orbit-card[data-density=compact]>small{font-size:9.5px;line-height:1.05}}

/* Separate semantic primary and edit actions, never nested buttons. */
.orbit-card-main{position:absolute;inset:0;border-radius:inherit;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;height:100%;padding:inherit}
.orbit-card-main small{color:var(--muted);font-size:10px;line-height:1.1;text-align:center}
button.orbit-pencil{border:0;padding:0;min-height:24px;cursor:pointer}
.cosmos-search{display:flex;gap:4px;width:min(260px,50vw);min-width:0}
.cosmos-search input{min-width:0;padding:6px;font-size:12px}
.cosmos-search button{padding:6px;font-size:12px}
button.orbit-pencil::before{content:"";position:absolute;inset:-10px}
.orbit-card[data-heading-size=large] strong{font-size:clamp(16px,2vw,20px)}

/* Shared compact heading variant for work queues with a separate pencil. */
.orbit-card[data-heading-size=compact] .orbit-card-main{padding:25px 0 5px;gap:5px}
.orbit-card[data-heading-size=compact] strong{font-size:clamp(9.5px,1.3vw,13px);line-height:1.1;letter-spacing:-.35px}

/* Shared orbit page with an optional explanatory footer, in normal document flow. */
.orbit-page{height:calc(100svh - var(--portal-header-height,80px));min-height:480px;display:grid;grid-template-rows:44px minmax(0,1fr);justify-items:center;padding:4px 16px 8px}
.orbit-page:has(>.cosmos-caption){grid-template-rows:44px minmax(0,1fr) auto}
.orbit-page>.orbit{height:100%}
.cosmos-caption{width:min(100%,720px);text-align:center;color:var(--muted);font-size:14px;line-height:1.45;padding:8px 12px 4px}
