:root{--z-rail-backdrop:40;--z-rail:50}.portal-gate{max-width:360px;margin:calc(var(--step) * 6) auto 0;gap:calc(var(--step) * 2);padding:calc(var(--step) * 4);background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);text-align:center;flex-direction:column;display:flex}.portal-gate-brand{letter-spacing:.01em;font-size:1.25rem;font-weight:650}.portal-gate-brand img{width:auto;max-height:44px;margin:0 auto;display:block}.portal-gate-title{color:var(--muted);margin:0;font-size:1.0625rem;font-weight:600}.portal-gate-entrar{width:100%;min-height:calc(var(--step) * 6);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.portal-gate-note{color:var(--muted);margin:0;font-size:.8125rem}.portal-rail-trigger{font:inherit;padding:calc(var(--step) * .75) calc(var(--step) * 1.5);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:.8125rem}.portal-rail-trigger:hover{border-color:var(--accent)}.portal-rail-backdrop{opacity:0;pointer-events:none;z-index:var(--z-rail-backdrop);background:#0006;transition:opacity .22s;position:fixed;inset:0}.portal-rail-backdrop[data-open=true]{opacity:1;pointer-events:auto}.portal-layout{align-items:flex-start;gap:calc(var(--step) * 3);display:flex}.portal-content{flex:auto;min-width:0}.portal-app-rail{inset-block:0;gap:calc(var(--step) * 2);width:min(82vw,300px);padding:calc(var(--step) * 3) calc(var(--step) * 2);background:var(--surface);z-index:var(--z-rail);flex-direction:column;transition:transform .22s;display:flex;position:fixed;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 16px #00000024}.portal-app-rail[data-open=true]{transform:translate(0)}.portal-rail-close{font:inherit;padding:calc(var(--step) * .75) calc(var(--step) * 1.5);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-self:flex-end;font-size:.8125rem}.portal-rail-close:hover{border-color:var(--accent)}.portal-rail-rule{margin:0}.portal-rail-filter{width:100%}.portal-rail-nav{gap:calc(var(--step) * .5);flex-direction:column;min-width:0;display:flex}.portal-rail-empty{padding:calc(var(--step) * 1.5) calc(var(--step) * .5)}.portal-rail-item{align-items:center;gap:calc(var(--step) * 1.5);padding:calc(var(--step) * 1.25) calc(var(--step) * 1.5);border-radius:var(--radius);color:var(--text);min-width:0;text-decoration:none;display:flex}.portal-rail-item:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.portal-rail-item--current{background:color-mix(in srgb, var(--accent) 10%, transparent);font-weight:600}.portal-rail-avatar{width:calc(var(--step) * 4);height:calc(var(--step) * 4);border-radius:calc(var(--radius) * .75);font-family:var(--mono);letter-spacing:.02em;flex:none;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.portal-rail-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;overflow:hidden}.portal-context{gap:calc(var(--step) * .5);flex-direction:column;min-width:0;display:flex}.portal-context-option{padding:calc(var(--step) * 1) calc(var(--step) * 1.5);border-radius:var(--radius);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;font-size:.875rem;text-decoration:none;overflow:hidden}.portal-context-option:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.portal-context-option--current{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text);font-weight:600}@media (width>=40rem){.portal-app-rail{top:0;inset-block:auto;width:240px;max-height:100vh;box-shadow:none;border-right:1px solid var(--border);flex:none;position:sticky;left:auto;transform:none}.portal-rail-backdrop,.portal-rail-trigger,.portal-rail-close{display:none}}.portal-context-refused{max-width:420px;margin:calc(var(--step) * 4) auto 0;gap:calc(var(--step) * 2);text-align:center;flex-direction:column;display:flex}.portal-session{justify-content:flex-end;align-items:baseline;gap:calc(var(--step) * 2);padding-bottom:calc(var(--step) * 2);margin-bottom:calc(var(--step) * 3);border-bottom:1px solid var(--border);display:flex}.portal-session-identity{font-size:.9375rem;font-weight:600}.portal-session-exit{color:var(--muted);font-size:.875rem}
