.portal-shell{background:var(--gray-2);color:var(--gray-12);min-height:100svh}.portal-shell main{padding-bottom:96px}.portal-surface{box-shadow:0 1px 2px var(--gray-a3)}.portal-shell .rt-Card,.portal-surface{background:var(--color-panel-solid);border:1px solid var(--gray-a4);border-radius:18px}.portal-shell .rt-Card{box-shadow:none}.portal-header-actions{align-items:center}.portal-header-signout{display:flex;align-items:center;margin:0;padding:0;line-height:0}.portal-doc h1{margin-top:0}.portal-doc h2{margin-top:1.25rem}.portal-doc hr{margin-top:.75rem;margin-bottom:.75rem}.portal-kicker{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-11)}.portal-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.portal-open-card,.portal-project-card{display:flex;flex-direction:column;gap:10px;padding:20px 22px;min-height:132px;text-decoration:none;color:inherit;transition:border-color .16s ease,transform .16s ease}.portal-open-card:hover,.portal-project-card:hover{border-color:var(--gray-a8);transform:translateY(-1px)}.portal-open-card:focus-visible,.portal-project-card:focus-visible{outline:2px solid var(--accent-8);outline-offset:2px}.portal-slim-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--color-panel-solid);border:1px solid var(--gray-a4);border-radius:999px}.portal-chat-panel{background:var(--color-panel-solid);border:1px solid var(--gray-a4);border-radius:22px;box-shadow:0 18px 50px var(--gray-a5)}.portal-pad{padding:22px 24px}.portal-needs{display:flex;flex-wrap:wrap;gap:8px}.portal-need{display:inline-flex;align-items:center;gap:8px;max-width:min(280px,100%);padding:5px 12px 5px 8px;border-radius:999px;background:var(--color-panel-solid);border:1px solid var(--gray-a6);color:var(--gray-12);text-decoration:none;font-size:.8125rem;line-height:1.3}.portal-need.is-outstanding{background:var(--red-a2);border-color:var(--red-a7)}.portal-need:hover{border-color:var(--gray-a8)}.portal-need.is-outstanding:hover{border-color:var(--red-9)}.portal-need:focus-visible{outline:2px solid var(--red-8);outline-offset:2px}.portal-need-dot{width:8px;height:8px;border-radius:999px;background:var(--gray-8);flex-shrink:0}.portal-need.is-outstanding .portal-need-dot{background:var(--red-9);animation:portal-need-pulse 1.8s ease-out infinite}.portal-need-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account-pin{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--gray-a6);background:var(--color-panel-solid);color:var(--gray-12);text-decoration:none;font-size:.8125rem;line-height:1.3;font-weight:500}.portal-account-pin:hover{border-color:var(--gray-a8)}.portal-account-pin:focus-visible{outline:2px solid var(--gray-8);outline-offset:2px}@keyframes portal-need-pulse{0%{box-shadow:0 0 0 0 var(--red-a8)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.portal-need-dot{animation:none}}.portal-ia-tree,.portal-ia-tree ul{list-style:none;margin:0;padding:0}.portal-ia-tree ul{margin-left:.45rem;padding-left:.95rem;border-left:1px solid var(--gray-a5)}.portal-ia-item{position:relative}.portal-ia-tree ul>.portal-ia-item:before{content:"";position:absolute;left:-.95rem;top:.85rem;width:.95rem;border-top:1px solid var(--gray-a5)}.portal-ia-tree ul>.portal-ia-item:last-child:after{content:"";position:absolute;left:-.95rem;top:.85rem;bottom:0;width:1px;background:var(--color-panel-solid)}.portal-ia-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .75rem;min-height:1.7rem;padding:.2rem 0}.portal-ia-title{font-size:.95rem;font-weight:500;line-height:1.35}.portal-ia-tree>.portal-ia-item>.portal-ia-row .portal-ia-title{font-size:1.05rem}.portal-ia-kind,.portal-ia-path{font-size:.75rem;line-height:1.3;color:var(--gray-11)}.portal-ia-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.portal-ia-kind{letter-spacing:.06em;text-transform:uppercase}@media (max-width:640px){.portal-slim-notice{border-radius:18px}}