/* Identity & Connections. Scoped profile components; explicit chat container contract. */
.identity-page{max-width:1260px;margin:0 auto;min-width:0;color:var(--text)}
.identity-page .page-heading{margin-bottom:28px}.identity-page>.notice{margin-bottom:20px}
.profile-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:28px;align-items:start;min-width:0}
.profile-preview,.public-profile-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-width:0}
.profile-preview{position:sticky;top:90px}.profile-cover{height:96px;background:linear-gradient(122deg,#ffb56d24 0%,#ffffff03 47%,#86ded328 100%);border-bottom:1px solid var(--line);position:relative}.profile-cover:after{content:'';position:absolute;bottom:0;inset-inline-start:25px;height:2px;width:70px;background:linear-gradient(90deg,var(--orange),var(--teal));border-radius:2px}
.profile-preview-content{padding:0 25px 27px;overflow-wrap:anywhere}.profile-preview-content>.code-avatar{margin-top:-38px;position:relative;border:5px solid var(--surface);box-sizing:content-box}.code-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--elevated,var(--surface));color:var(--text)}.code-avatar.initials{background:linear-gradient(135deg,var(--surface),var(--elevated,var(--surface)));border:1px solid var(--line);font-weight:650;letter-spacing:.03em}
.profile-preview h2{font-size:24px;margin:20px 0 5px;line-height:1.4;letter-spacing:-.015em}.profile-preview p{font-size:14px;line-height:1.8;margin:10px 0}.profile-headline{font-weight:550;color:var(--text)}.profile-status{display:inline-flex;border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:12px;color:var(--teal);margin:8px 0}.profile-company{display:flex;gap:8px;align-items:center;font-size:13px;margin-top:17px}.profile-preview .chips{margin:18px 0}.profile-preview .btn{width:100%;margin:8px 0 15px}.profile-preview a{font-size:13px;color:var(--teal)}
.profile-edit{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:0 26px 26px}.identity-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto}.identity-tabs button{font:inherit;font-size:14px;background:transparent;border:0;color:var(--muted);padding:19px 6px 15px;white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer;min-height:48px}.identity-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--orange);font-weight:600}.identity-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:-4px}
.profile-edit .form{max-width:none}.identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.identity-fields .field{min-width:0;margin:0}.profile-edit .field{margin-bottom:20px}.profile-edit .field input,.profile-edit .field textarea,.profile-edit .field select{max-width:100%;min-width:0;font-size:15px}.profile-edit .field input{min-height:46px}.profile-edit textarea{line-height:1.85;min-height:140px}.profile-edit h2{font-size:21px;margin:25px 0 12px}.profile-edit h3{font-size:16px}.profile-edit .form-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.profile-edit .form-actions .muted{font-size:12px}
.avatar-editor-row{display:flex;align-items:center;gap:15px;margin:2px 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.avatar-editor-row>div{flex:1;min-width:0}.avatar-editor-row p{font-size:12px;line-height:1.6}.avatar-editor-row .btn{flex-shrink:0}.inline-between{display:flex;align-items:center;justify-content:space-between;gap:15px}.profile-project-editor{padding:18px 20px;border:1px solid var(--line);border-radius:14px;margin:20px 0}.profile-link-editor{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1.6fr) auto;gap:10px;align-items:center;margin-bottom:12px}.profile-link-editor .field{margin:0}.profile-publish{display:flex;align-items:center;gap:12px;margin:22px 0;cursor:pointer;line-height:1.65;font-size:14px}.profile-publish input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--teal)}.profile-publish small{display:block;color:var(--muted);font-size:12px}
.profile-crop-modal{width:min(560px,calc(100vw - 24px))}.avatar-crop{display:block;width:min(100%,320px);height:auto;aspect-ratio:1;max-width:100%;border-radius:24px;border:1px solid var(--line);margin:20px auto}.avatar-crop-empty{display:flex;justify-content:center;padding:22px}.profile-crop-modal .field input[type=range]{padding:0;min-height:30px;accent-color:var(--teal)}.profile-crop-modal .form-actions{display:flex;gap:10px;flex-wrap:wrap}
.public-profile-wrap{max-width:900px;padding:40px 22px 70px;margin:auto}.public-profile-card .profile-cover{height:145px}.public-profile-card .profile-preview-content{padding-inline:36px}.public-profile-card h1{font-size:32px;line-height:1.3;margin:22px 0 8px}.public-profile-card h2{font-size:20px;font-weight:500}.profile-bio{white-space:pre-wrap;line-height:1.95}.public-profile-card section{padding:20px 0;border-top:1px solid var(--line);margin-top:23px}.public-project{padding:15px 0}.public-project h4{font-size:17px;margin-bottom:7px}.public-project p{line-height:1.85;color:var(--muted)}.public-project a,.profile-public-links a{color:var(--teal);display:inline-block;padding:8px 0}.profile-public-links{display:flex;gap:22px;flex-wrap:wrap}.profile-modal{width:min(820px,calc(100vw - 24px))}
.identity-user-menu{position:relative;width:100%;min-width:0}.identity-user-trigger{display:flex;gap:10px;align-items:center;width:100%;padding:9px 6px;color:var(--text);background:transparent;border:0;border-radius:12px;text-align:start;font-family:inherit;cursor:pointer;min-width:0}.identity-user-trigger>span:not(.code-avatar){flex:1;min-width:0}.identity-user-trigger strong,.identity-user-trigger small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.identity-user-trigger strong{font-size:13px}.identity-user-trigger small{color:var(--muted);font-size:11px;margin-top:3px}.identity-user-trigger:hover{background:var(--surface)}.identity-user-trigger:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.identity-menu-panel{position:absolute;bottom:calc(100% + 10px);inset-inline-start:0;background:var(--elevated,var(--surface));border:1px solid var(--line);box-shadow:0 18px 60px #0003;border-radius:15px;padding:8px;width:248px;max-width:calc(100vw - 38px);z-index:32;display:grid;gap:2px}.identity-menu-panel a,.identity-menu-panel button{padding:12px;color:var(--text);text-decoration:none;font:inherit;font-size:14px;border:0;border-radius:8px;background:transparent;text-align:start;min-height:44px;cursor:pointer}.identity-menu-panel a:hover,.identity-menu-panel button:hover{background:var(--surface)}.identity-menu-panel button{border-top:1px solid var(--line);margin-top:6px}.nav-collapsed .identity-user-trigger>span:not(.code-avatar),.nav-collapsed .identity-user-trigger>svg{display:none}.sidebar-bottom:has(.identity-user-menu){overflow:visible}
.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.connection-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:10px;overflow-wrap:anywhere}.connection-card h3{font-size:19px;margin:4px 0}.connection-card p{margin:0;font-size:14px;line-height:1.8}.connection-card small{color:var(--muted);font-size:12px;line-height:1.8}.connection-card>.btn{margin-top:auto;width:100%}.provider-monogram{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--elevated,var(--surface));font-size:21px;font-weight:600}.connection-state{color:var(--teal)}.connection-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:12px}.connection-actions .btn{padding-inline:10px;font-size:12px;min-height:40px}.connection-editor{width:min(580px,calc(100vw - 24px))}.identity-provider-admin{display:grid;gap:22px}.identity-provider-admin .panel .form{max-width:780px}.identity-provider-admin .copy-box{overflow-wrap:anywhere}.external-login{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}.external-login>p{font-size:13px;color:var(--muted);text-align:center}.external-login small{line-height:1.8;font-size:12px}.external-login .btn{width:100%;justify-content:center;min-height:46px}
/* Critical containment: a window never places its main column in a hidden rail's grid track. */
dialog.studio-dialog.focus-chat-window .studio.chat-surface.window{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;width:100%;height:100%;min-width:0;min-height:0;max-width:none}
dialog.studio-dialog .studio.window>.studio-rail{display:none!important}
dialog.studio-dialog .studio.window>.studio-main{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-width:0;min-height:0;max-width:none;grid-column:auto}
dialog.studio-dialog .studio-history-toggle{display:inline-flex!important}
dialog.studio-dialog .studio-compose-wrap.assistant-composer{width:calc(100% - 48px);max-width:780px;min-width:0;align-self:center}
dialog.studio-dialog.focus-chat-window{padding:0!important;border:1px solid var(--line)!important;outline:none!important;box-shadow:0 26px 100px #0005;border-radius:24px;overflow:hidden}
dialog.studio-dialog .studio-header-title{flex:1;min-width:0}.studio-header-title small{white-space:nowrap}.studio-context{flex-wrap:wrap}.studio-dialog .studio-transcript{width:100%;max-width:780px}.studio-dialog .studio-welcome{width:100%;max-width:740px}
dialog.studio-dialog .studio-header{padding:16px 22px;gap:12px}.studio-dialog .studio .studio-scroll{padding:24px 32px 18px}.studio-dialog .studio-context{padding:10px 22px}
.studio-option-modal .field{margin:22px 0}.studio-option-modal>.muted{font-size:13px}.studio-option-modal>a{display:inline-flex;min-height:44px;align-items:center;color:var(--teal)}
@media(min-width:1001px) and (max-width:1240px){.profile-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-edit{padding-inline:20px}.avatar-editor-row{flex-wrap:wrap}.identity-fields{grid-template-columns:1fr}.topbar .command-trigger span{display:none}.topbar .command-trigger kbd{display:none}}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr;gap:22px}.profile-preview{position:static}.profile-preview .profile-preview-content{display:grid;grid-template-columns:auto 1fr;gap:0 18px}.profile-preview .profile-preview-content>.code-avatar{grid-row:1/5;align-self:start}.profile-preview h2{margin-top:16px}.profile-preview .profile-preview-content>p,.profile-preview .profile-preview-content>.profile-status{grid-column:2}.profile-preview .profile-preview-content>.profile-company,.profile-preview .profile-preview-content>.chips,.profile-preview .profile-preview-content>.btn,.profile-preview .profile-preview-content>a{grid-column:1/-1}.profile-preview-content>.code-avatar{width:80px!important;height:80px!important}.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profile-edit{padding:0 16px 20px;border-radius:16px}.identity-fields{grid-template-columns:1fr;gap:0}.identity-tabs{gap:12px}.identity-tabs button{font-size:13px}.avatar-editor-row{flex-wrap:wrap;gap:12px}.avatar-editor-row>.btn{width:100%}.profile-link-editor{grid-template-columns:1fr}.connection-grid{grid-template-columns:1fr}.connection-card{padding:20px}.connection-actions .btn{min-height:44px}.profile-project-editor{padding:15px}.profile-preview-content{padding-inline:20px}.profile-publish{align-items:flex-start}.public-profile-wrap{padding:24px 15px 50px}.public-profile-card .profile-preview-content{padding-inline:20px}.public-profile-card h1{font-size:28px}.identity-page .page-heading h1{font-size:28px}.identity-page .page-heading p{font-size:14px}.identity-user-trigger{min-height:48px}.profile-crop-modal .form-actions>.btn{flex:1 0 auto}.profile-edit .form-actions>.btn{width:100%}
 dialog.studio-dialog.focus-chat-window{border:0!important;border-radius:0;inset:0;width:100vw;height:100dvh;max-height:100dvh;margin:0}
 dialog.studio-dialog .studio .studio-scroll{padding:20px 16px 12px}dialog.studio-dialog .studio-compose-wrap.assistant-composer{width:calc(100% - 24px)}dialog.studio-dialog .studio-header{padding:10px 13px;gap:7px}dialog.studio-dialog .studio-context{padding:8px 14px}.studio-header-title small{font-size:9px!important}.studio-header-title strong{max-width:160px!important}.studio-dialog .studio-header-title strong{max-width:130px!important}.studio-dialog .studio-header-tools{gap:0;max-width:55%}.studio-header-tools .studio-icon-action{width:36px;min-height:40px}.studio-header-title small{letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.identity-page *{animation:none!important;transition:none!important}}
@media print{.identity-tabs,.identity-user-menu,.connection-actions,.avatar-editor-row>.btn{display:none!important}}

@media(min-width:601px){dialog.studio-dialog.modal-window{inset:0!important;margin:auto!important;width:min(1040px,calc(100vw - 64px))!important;height:min(880px,calc(100dvh - 48px))!important;max-height:calc(100dvh - 48px);max-width:calc(100vw - 64px)}}
/* Percentage width respects the layout viewport when RTL desktop scrollbars occupy space. */
@media(max-width:600px){dialog.studio-dialog.focus-chat-window{inset:0!important;margin:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;}}
