/* Profile measurements transcribed from ITD's shipped 2026-10-20 CSS.
   650px content; 1174px desktop breakpoint; 224/170px banner; 120/100px avatar.
   Community actions and study data continue to use this app's own services. */
body.beta { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
html[data-campus-dialog=true],html[data-campus-dialog=true] body { overflow:hidden; }
.beta .campus-social-profile { display:block; }
.beta .campus-social-profile > * { order:initial; }
.beta .campus-profile-header { position:relative; padding:8px 8px 16px; border-bottom:1px solid var(--ui-border); }
.beta .campus-profile-header .campus-profile-cover { position:relative; height:170px; width:100%; overflow:visible; border:0; border-radius:36px; background:var(--ui-soft); }
.beta .campus-banner-placeholder { width:100%; height:100%; border-radius:inherit; background:var(--ui-soft); }
.beta .campus-profile-cover > img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.beta .campus-profile-glass { position:absolute; inset:0; pointer-events:none; border-radius:36px; background:#d5dce441 url('/assets/itd-reference/window.png') center/100% 100% no-repeat; z-index:1; }
.beta .campus-banner-actions { position:absolute; bottom:12px; right:12px; display:flex; gap:6px; z-index:4; }
.beta .campus-banner-action { display:grid; place-items:center; width:40px; min-height:40px; padding:0; border:0; border-radius:50%; background:#0008; color:#fff; backdrop-filter:blur(8px); font-size:22px; }
.beta .campus-profile-content { position:relative; padding:0 8px; z-index:2; display:flex; flex-direction:column; }
.beta .campus-profile-content .campus-profile-actions { display:contents; margin:0; }
.beta .campus-profile-actions .campus-profile-photo { position:relative; order:0; align-self:center; width:100px; height:100px; margin:-50px 0 0; z-index:2; }
.beta .campus-profile-actions .campus-avatar { width:100px; height:100px; font-size:40px; border:6px solid var(--ui-surface); background-color:var(--ui-soft); color:var(--ui-accent); }
.beta .campus-profile-actions .campus-profile-edit-actions { order:2; display:flex; justify-content:center; align-items:center; gap:8px; margin-top:16px; padding:0; }
.beta .campus-profile-edit { min-height:44px; height:44px; padding:0 16px; border-radius:20px; background:var(--ui-text); color:var(--ui-surface); font-size:13px; font-weight:500; }
.beta .campus-profile-menu { position:relative; }
.beta .campus-profile-menu > summary { display:grid; place-items:center; min-height:44px; width:44px; border-radius:50%; list-style:none; background:var(--ui-soft); color:var(--ui-text); cursor:pointer; font-size:24px; }
.beta .campus-profile-menu summary::-webkit-details-marker { display:none; }
.beta .campus-profile-menu > div { position:absolute; z-index:10; width:190px; padding:8px; top:calc(100% + 8px); left:0; background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:16px; box-shadow:0 8px 30px #0002; }
.beta .campus-profile-menu .text-button { width:100%; text-align:left; color:var(--ui-text); padding:10px; font-size:14px; }
.beta .campus-social-identity { order:1; display:flex; flex-direction:column; gap:16px; margin-top:16px; padding:0; text-align:center; min-width:0; }
.beta .campus-profile-name { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; }
.beta .campus-social-identity h1 { margin:0; font-size:24px; line-height:1.3; letter-spacing:0; font-weight:600; overflow-wrap:anywhere; }
.beta .campus-profile-meta { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:2px 8px; max-width:100%; font-size:16px; line-height:1.5; color:var(--ui-muted); }
.beta .campus-profile-meta-item { display:inline-flex; align-items:baseline; gap:8px; flex:0 1 auto; min-width:0; max-width:100%; white-space:nowrap; overflow-wrap:normal; }
.beta .campus-profile-meta-item > .campus-identity-separator { flex:none; }
.beta .campus-profile-meta-value { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.beta .campus-social-identity > .campus-profile-bio { margin:0; font-size:15px; line-height:1.5; color:var(--ui-text); white-space:pre-wrap; }
.beta .campus-profile-counter { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; color:var(--ui-muted); margin:4px 0 12px; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.beta .campus-profile-counter > span { min-width:0; margin:0; color:inherit; }
.beta .campus-profile-counter strong { font:inherit; font-weight:600; color:var(--ui-text); }
.beta .campus-social-profile .campus-profile-tabs { display:flex; padding:4px; gap:0; border:1px solid var(--ui-border); border-radius:36px; background:var(--ui-soft); margin:16px; }
.beta .campus-social-profile .campus-profile-tabs .campus-chip { flex:1; height:40px; min-height:40px; border-radius:28px; padding:8px 12px; font-size:14px; font-weight:500; color:var(--ui-muted); }
.beta .campus-social-profile .campus-profile-tabs .campus-chip[aria-pressed=true] { background:var(--ui-surface); color:var(--ui-text); box-shadow:none; }
.beta .campus-social-profile .campus-profile-tabs .campus-chip::after { display:none; }
.beta .campus-desktop-compose { display:none; }
.beta .campus-mobile-compose { padding:0 16px; margin:16px 0; }
.beta .campus-wall-compose { display:block; min-height:42px; width:100%; padding:10px 16px; border-radius:24px; background:var(--ui-soft); color:var(--ui-text); font-size:14px; font-weight:500; }
.beta .campus-social-profile > .campus-feed { padding:0 16px; }
.beta .campus-social-profile > .academic-document,.beta .campus-social-profile > .profile-settings { margin-inline:16px; }
/* Settings are an overlay over the profile, rather than a replacement page. */
.beta .campus-modal-backdrop { position:fixed; z-index:1000; inset:0; display:flex; align-items:flex-end; justify-content:center; background:#0008; }
.beta .campus-settings-window { display:flex; flex-direction:column; width:100%; max-height:calc(100dvh - 24px); min-width:0; }
.beta .campus-modal-close-row { display:flex; justify-content:center; height:44px; flex-shrink:0; border-radius:24px 24px 0 0; background:var(--ui-surface); }
.beta .campus-modal-close { display:grid; place-items:center; width:60px; min-height:44px; padding:0; font-size:0; background:transparent; color:var(--ui-muted); }
.beta .campus-modal-close::after { content:""; width:36px; height:4px; border-radius:3px; background:var(--ui-muted); opacity:.5; }
.beta .campus-settings-panel { flex:1; min-height:0; overflow:auto; padding:16px; background:var(--ui-surface); }
.beta .campus-settings-layout { display:flex; flex-direction:column; align-items:stretch; gap:0; min-width:0; }
.beta .campus-mobile-settings-title { font-size:20px; font-weight:600; margin:6px 0 20px; }
.beta .campus-settings-mobile-back { display:flex; align-items:center; gap:6px; padding:0; min-height:32px; margin:0 0 20px; font-size:14px; color:var(--ui-accent); }
.beta .campus-settings-layout.is-index .campus-settings-mobile-back,.beta .campus-settings-layout:not(.is-index) .campus-mobile-settings-title { display:none; }
.beta .campus-settings-layout .campus-settings-tabs { display:none; border:0; margin:0; padding:0; overflow:visible; border-radius:18px; background:var(--ui-soft); }
.beta .campus-settings-layout.is-index .campus-settings-tabs { display:flex; flex-direction:column; padding:0 16px; }
.beta .campus-settings-layout.is-index .campus-settings-content { display:none; }
.beta .campus-settings-tabs .campus-setting-link { display:flex; align-items:center; width:100%; min-height:56px; padding:14px 0; gap:12px; border:0; border-radius:0; box-shadow:none; color:var(--ui-text); background:transparent; font-size:16px; font-weight:500; }
.beta .campus-setting-link + .campus-setting-link { border-top:1px solid var(--ui-border); }
.beta .campus-setting-link > span:nth-child(2) { flex:1; }
.beta .campus-setting-symbol { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:var(--ui-accent); background:var(--ui-accent-soft); }
.beta .campus-settings-content { min-width:0; max-width:none; }
.beta .campus-settings-content h2 { margin:0 0 24px; font-size:18px; font-weight:600; letter-spacing:0; }
.beta .campus-settings-content .campus-form { display:flex; flex-direction:column; gap:24px; background:transparent; padding:0; margin:0; border:0; border-radius:0; }
.beta .campus-settings-content .campus-form label { font-size:14px; line-height:1.4; font-weight:500; gap:6px; color:var(--ui-text); }
.beta .campus-settings-content .campus-form label > small { color:var(--ui-muted); font-size:12px; font-weight:400; margin:0 0 4px; }
.beta .campus-settings-content .campus-form :is(input:not([type=checkbox]):not([type=file]),textarea,select) { width:100%; min-height:40px; padding:12px 14px; border:0; border-radius:18px; background:var(--ui-soft); font-size:16px; line-height:1.5; color:var(--ui-text); box-shadow:none; }
.beta .campus-settings-content .campus-form textarea { min-height:100px; }
.beta .campus-settings-content .campus-public-person { align-items:center; }
.beta .campus-settings-content .campus-avatar-large { width:64px; height:64px; font-size:24px; }
.beta .campus-settings-content .campus-button { background:var(--ui-text); color:var(--ui-surface); border-radius:24px; font-size:14px; font-weight:500; }
.beta .campus-settings-content .beta-card button { border-radius:22px; font-size:14px; font-weight:500; }
.beta .campus-settings-content .beta-card button:not(.beta-secondary):not(.beta-danger) { background:var(--ui-text); color:var(--ui-surface); }
.beta .campus-account-danger { display:flex; justify-content:flex-end; padding:20px 0 0; }
.beta .campus-account-danger .text-button { color:var(--ui-danger); font-size:13px; }
.beta .appearance-controls { margin:0; display:block; }
.beta .appearance-setting { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.beta .appearance-setting > span { min-width:0; }
.beta .appearance-setting strong { display:block; font-size:14px; font-weight:500; }
.beta .appearance-setting small { display:block; font-size:12px; color:var(--ui-muted); margin-top:6px; }
.beta .appearance-setting select { width:150px; min-height:40px; padding:10px 12px; border:0; border-radius:18px; font-size:14px; color:var(--ui-text); background:var(--ui-soft); }
.beta .campus-profile-underlay { pointer-events:none; user-select:none; }
.beta #study-main .campus-social-profile .campus-profile-tabs .campus-chip[aria-pressed=true] { background:var(--ui-surface); color:var(--ui-text); }
.beta #study-main .campus-desktop-compose .campus-composer { background:var(--ui-soft); }
.beta .campus-avatar-window { position:relative; padding:24px; width:min(100%,420px); border-radius:28px; background:var(--ui-surface); max-height:90dvh; overflow:auto; }
.beta .campus-avatar-window > .campus-modal-close { position:absolute; right:16px; top:16px; font-size:24px; width:44px; min-height:44px; }
.beta .campus-avatar-window > .campus-modal-close::after { display:none; }
.beta .campus-avatar-window h2 { font-size:20px; margin:0 0 24px; }
.beta .campus-avatar-window .campus-form { padding:0; border:0; background:transparent; }
/* Approved artwork includes its own typography; show the complete composition. */
.beta .mpei-home-art { display:block; isolation:auto; position:relative; overflow:hidden; border-radius:0; background:transparent; }
/* Scale the corner mask with the artwork to hide its baked-in dark corners. */
.beta .mpei-home-art > img { display:block; width:100%; height:auto; aspect-ratio:1857/847; max-height:none; object-fit:contain; object-position:center; border-radius:3% / 6.58%; background:transparent; }
.beta .mpei-home-art::after { display:none; }
@media(max-width:1173px) {
 .beta .campus-social-profile > .campus-profile-counter { margin-inline:16px; }
 .beta #beta-app { max-width:760px; padding-inline:16px; }
 .beta #beta-dashboard { display:block; }
 .beta .study-layout { padding:0; border:0; border-radius:0; background:var(--ui-surface); width:100%; }
 .beta .study-top { position:static; width:auto; }
 .beta .study-nav { position:fixed; inset:auto auto 0 50%; transform:translateX(-50%); width:min(100%,760px); margin:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; padding:5px 10px calc(6px + env(safe-area-inset-bottom)); border-top:1px solid var(--ui-border); background:var(--ui-surface); }
 .beta .study-nav button { flex-direction:column; justify-content:center; gap:4px; min-height:55px; padding:5px 0; font-size:10px; border-radius:0; }
 .beta #beta-app:has(#study-main[data-study-view=profile] .campus-profile-header) { padding:env(safe-area-inset-top) 0 calc(90px + env(safe-area-inset-bottom)); }
 .beta #beta-app:has(#study-main[data-study-view=profile] .campus-profile-header) .study-top { display:none; }
 .beta .campus-post { border-radius:0; border:0; border-bottom:1px solid var(--ui-border); margin-bottom:0; padding:16px; }
 .beta .campus-social-profile > .campus-feed { padding:0; }
}
@media(min-width:1174px) {
 body.beta { background:var(--ui-surface); }
 .beta #beta-app { max-width:none; width:100%; margin:0; padding:36px 0 60px; background:var(--ui-surface); }
 .beta #beta-dashboard { display:block; }
 .beta .study-layout { width:650px; margin-inline:auto; border:0; padding:0; background:transparent; border-radius:0; }
 .beta .study-top { position:fixed; top:36px; left:max(16px,calc(50% - 607px)); width:230px; }
 .beta .study-nav { position:fixed; top:160px; bottom:auto; left:max(16px,calc(50% - 607px)); transform:none; width:230px; margin:0; display:flex; flex-direction:column; gap:8px; border:0; padding:0; background:transparent; box-shadow:none; }
 .beta .study-nav button { flex-direction:row; justify-content:flex-start; min-height:56px; gap:16px; padding:14px 18px; font-size:16px; font-weight:500; border-radius:24px; }
 .beta .study-nav button.active { color:var(--ui-text); background:var(--ui-soft); }
 .beta .campus-profile-header { padding:0; border:0; }
 .beta .campus-profile-header .campus-profile-cover { height:224px; }
 .beta .campus-profile-content { display:block; padding:0 32px 8px; }
 .beta .campus-profile-content .campus-profile-actions { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:-60px 0 0; }
 .beta .campus-profile-actions .campus-profile-photo,.beta .campus-profile-actions .campus-avatar { width:120px; height:120px; margin:0; }
 .beta .campus-profile-actions .campus-profile-edit-actions { order:0; margin:0; }
 .beta .campus-profile-edit { min-height:44px; height:44px; padding:0 20px; font-size:14px; }
 .beta .campus-profile-menu > summary { width:44px; min-height:44px; }
 .beta .campus-banner-actions { right:16px; bottom:16px; gap:8px; }
 .beta .campus-banner-action { width:44px; min-height:44px; }
 .beta .campus-social-identity { text-align:left; }
 .beta .campus-profile-name { align-items:flex-start; }
 .beta .campus-profile-meta { justify-content:flex-start; }
 .beta .campus-social-identity > .campus-profile-bio { font-size:16px; }
 .beta .campus-social-profile .campus-profile-tabs { margin:16px 0; }
 .beta .campus-mobile-compose { display:none; }
 .beta .campus-desktop-compose { display:block; }
 .beta .campus-social-profile > .campus-feed { padding:0; }
 .beta .campus-social-profile > .academic-document,.beta .campus-social-profile > .profile-settings { margin-inline:0; }
 .beta .campus-composer.campus-card { border:0; border-radius:36px; background:var(--ui-soft); padding:24px; gap:14px; }
 .beta .campus-composer-toolbar { margin-left:52px; }
 .beta .campus-composer-toolbar > .campus-button { background:var(--ui-text); color:var(--ui-surface); }
 .beta .campus-modal-backdrop { padding:16px; align-items:center; }
 .beta .campus-settings-window { width:802px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); }
 .beta .campus-modal-close-row { height:44px; justify-content:flex-end; background:transparent; border-radius:0; margin-bottom:16px; }
 .beta .campus-modal-close { width:44px; min-height:44px; font-size:24px; border-radius:50%; background:var(--ui-soft); color:var(--ui-muted); }
 .beta .campus-modal-close::after { display:none; }
 .beta .campus-settings-panel { flex:0 1 auto; min-height:0; height:min(502px,calc(100dvh - 92px)); border:1px solid var(--ui-border); border-radius:36px; padding:0; overflow:hidden; }
 .beta .campus-settings-layout { display:grid; grid-template-columns:250px minmax(0,1fr); min-height:0; height:100%; gap:0; }
 .beta .campus-mobile-settings-title,.beta .campus-settings-mobile-back { display:none; }
 .beta .campus-settings-layout .campus-settings-tabs,.beta .campus-settings-layout.is-index .campus-settings-tabs,.beta .campus-settings-layout:not(.is-index) .campus-settings-tabs { display:flex; flex-direction:column; align-self:stretch; min-height:0; overflow:auto; padding:24px 16px; margin:0; border-right:1px solid var(--ui-border); border-radius:0; background:transparent; }
 .beta .campus-settings-tabs::before { content:"Настройки"; display:block; padding:8px 16px; margin-bottom:8px; font-size:18px; font-weight:600; }
 .beta .campus-settings-tabs .campus-setting-link { padding:12px 14px; min-height:42px; gap:12px; border:0; border-radius:18px; font-size:15px; opacity:.6; background:transparent; }
 .beta .campus-settings-tabs .campus-setting-link[aria-current=page] { opacity:1; background:var(--ui-soft); color:var(--ui-text); box-shadow:none; }
 .beta .campus-setting-symbol { background:none; color:inherit; width:20px; height:20px; }
 .beta .campus-setting-link > svg:last-child { display:none; }
 .beta .campus-settings-layout .campus-settings-content,.beta .campus-settings-layout.is-index .campus-settings-content { display:block; min-height:0; padding:24px; overflow:auto; max-height:100%; }
 .beta .campus-account-danger { padding:12px 24px; border-top:1px solid var(--ui-border); }
 .beta .mpei-home-copy { padding:0; }
}
@media(prefers-reduced-motion:no-preference) {
 .beta .campus-settings-window { animation:profile-modal-enter .18s ease-out; }
}
@keyframes profile-modal-enter { from {opacity:.5;transform:translateY(12px)} to {opacity:1;transform:translateY(0)} }

.beta #study-main .campus-composer { border:0; border-radius:36px; background:var(--ui-soft); padding:24px; }
.beta #study-main .campus-composer textarea { background:transparent; }

/* Identity: role belongs to the name; academic affiliation is quiet metadata. */
.beta .campus-profile-title,.beta .campus-author-name { display:flex; align-items:baseline; flex-wrap:nowrap; gap:6px 8px; min-width:0; }
.beta .campus-profile-title > h1,.beta .campus-author-name > strong { min-width:0; }
.beta .campus-profile-title { justify-content:center; }
.beta .campus-profile-roles { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; max-width:100%; }
.beta .campus-role-tag { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:4px; height:22px; padding:2px 6px; border:1px solid var(--ui-border); border-radius:7px; font-size:12px; line-height:16px; font-weight:500; white-space:nowrap; color:var(--ui-muted); background:var(--ui-soft); }
.beta .campus-role-tag > .campus-icon { width:14px; height:14px; stroke-width:1.5; }
.beta .campus-profile-roles .campus-role-tag { height:24px; padding-inline:8px; }
.beta .campus-role-tag[data-role=admin] { color:var(--ui-accent); border-color:color-mix(in srgb,var(--ui-accent) 25%,var(--ui-border)); background:var(--ui-accent-soft); }
.beta .campus-identity-tags { gap:5px; line-height:1.5; }
.beta .campus-identity-tags > span,.beta .campus-author .campus-identity-tags > span { color:var(--ui-muted); background:transparent; padding:0; border-radius:0; font-size:12px; font-weight:400; }
.beta .campus-author .campus-author-name { line-height:1.5; }
.beta .campus-profile-content .campus-profile-bio { font-size:16px; line-height:1.5; }
.beta .campus-settings-mobile-back { min-height:44px; }
.beta .study-nav button:focus-visible { outline-width:2px; outline-offset:-3px; border-radius:12px; }
.beta .campus-composer-tools > details:not([open]) > div,.beta .campus-profile-menu:not([open]) > div { display:none; }
@media(min-width:1174px) { .beta .campus-profile-title,.beta .campus-profile-roles { justify-content:flex-start; } }
@media(max-width:1173px) {
 .beta .campus-composer-toolbar { flex-wrap:wrap; }
 .beta .campus-composer-toolbar > .campus-button { margin-left:auto; min-height:44px; }
 .beta .campus-emoji-picker > div,.beta .campus-composer-more > div { position:fixed; bottom:84px; left:16px; right:16px; width:auto; max-width:none; max-height:calc(100dvh - 120px); }
 .beta .campus-form :is(input:not([type=file]):not([type=checkbox]),textarea,select),.beta .appearance-setting select { font-size:16px; }
}

.beta .campus-composer-tools .campus-popover-close { display:grid; place-items:center; justify-self:end; margin-left:auto; width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; background:var(--ui-soft); color:var(--ui-text); font-size:24px; }
.beta .campus-emoji-picker > div > .campus-popover-close { flex-basis:44px; margin-left:calc(100% - 44px); }
