.middle-core-panel{background:var(--middle-surface,#fff);border:1px solid var(--middle-border,#e1e5ea);border-radius:16px;padding:22px;margin:0 0 18px}.middle-core-panel h2{margin-top:0}.middle-core-panel label{display:block;font-weight:650;margin-bottom:14px}.middle-core-panel input:not([type=checkbox]),.middle-core-panel textarea,.middle-core-panel select,.middle-core-select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--middle-border,#dfe3e8);border-radius:10px;background:var(--middle-surface,#fff);color:var(--middle-text,#111);font:inherit}.middle-core-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--middle-accent,#2557d6);border-radius:10px;background:var(--middle-accent,#2557d6);color:#fff;font-weight:700;cursor:pointer}.middle-core-button.is-active{background:transparent;color:var(--middle-accent,#2557d6)}.middle-core-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.middle-core-check{display:flex!important;gap:8px;align-items:center;font-weight:400!important}.middle-core-notice{padding:14px 16px;border-radius:12px;background:#eef4ff;border:1px solid #cbdcff;margin-bottom:16px}.middle-core-notice--error{background:#fff0f0;border-color:#ffcaca}.middle-core-notice--ok{background:#effaf2;border-color:#bfe9c9}.middle-core-profile__top{display:flex;align-items:center;gap:18px}.middle-core-profile__top img{border-radius:50%}.middle-core-profile__top h1{margin:0}.middle-core-profile__top .middle-core-button{margin-left:auto}.middle-core-muted{color:var(--middle-muted,#777)}.middle-core-stats{display:flex;gap:16px;margin-top:8px;color:var(--middle-muted,#777)}.middle-core-bio{margin:20px 0}.middle-core-list{display:grid;gap:8px}.middle-core-list__item{display:flex;justify-content:space-between;gap:20px;padding:13px 14px;border:1px solid var(--middle-border,#e1e5ea);border-radius:11px;color:var(--middle-text,#111)}.middle-core-list__item span{color:var(--middle-muted,#777);white-space:nowrap}@media(max-width:700px){.middle-core-grid-2{grid-template-columns:1fr}.middle-core-profile__top{align-items:flex-start;flex-wrap:wrap}.middle-core-profile__top .middle-core-button{margin-left:0}.middle-core-list__item{flex-direction:column;gap:4px}}

/* Middle 0.2.2 authentication */
.middle-auth{display:grid;gap:18px}
.middle-auth__intro{text-align:center;max-width:650px;margin:0 auto}
.middle-auth__eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--middle-accent-soft,#E9E5FA);color:var(--middle-accent-strong,#4B3A9F);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.middle-auth__intro h2{margin:10px 0 7px;font-size:clamp(25px,4vw,36px);letter-spacing:-.035em}
.middle-auth__intro p{margin:0;color:var(--middle-muted,#6F706F);line-height:1.6}
.middle-auth__forms{align-items:start}
.middle-auth-form{margin:0!important;border-radius:24px!important;padding:21px!important;background:var(--middle-surface-strong,#fff)!important;box-shadow:0 12px 34px rgba(45,39,34,.055)}
.middle-auth-form h3{font-size:20px;margin:0 0 17px}
.middle-auth-form>label{font-size:13px;margin-bottom:12px}
.middle-auth-form input:not([type=checkbox]){min-height:47px;border-radius:14px!important;background:var(--middle-bg-soft,#F8F6F2)!important}
.middle-auth-form .middle-core-button{width:100%;min-height:47px;border-radius:999px!important}
.middle-auth-form__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px;font-size:13px}
.middle-auth-form__row .middle-core-check{margin:0!important}
.middle-social-login{padding:16px 18px;border:1px solid var(--middle-border,#E5E0D9);border-radius:22px;background:linear-gradient(135deg,var(--middle-blue-soft,#EAF2F7),color-mix(in srgb,var(--middle-accent-soft,#E9E5FA) 56%,#fff));box-shadow:0 10px 28px rgba(45,39,34,.045)}
.middle-social-login__label{display:flex;align-items:center;gap:10px;margin-bottom:11px;color:var(--middle-muted,#6F706F);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.middle-social-login__label:after{content:"";height:1px;flex:1;background:var(--middle-border,#E5E0D9)}
.middle-social-login__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.middle-social-btn{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:0 16px;font-weight:780;color:#fff!important;box-shadow:0 9px 22px rgba(30,43,71,.10);transition:transform .18s ease,box-shadow .18s ease}
.middle-social-btn:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(30,43,71,.16);color:#fff!important}
.middle-social-btn--vk{background:#0077FF}
.middle-social-btn--max{background:#6C4CF5}
.middle-social-btn__icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.18);font-size:11px;font-weight:900}
.middle-social-login__consent{margin:10px 0 0;text-align:center;color:var(--middle-muted,#6F706F);font-size:11px;line-height:1.5}
.middle-captcha-wrap{margin:12px 0;max-width:100%;overflow:hidden;border-radius:14px}
.middle-captcha-wrap .smart-captcha{max-width:100%}
@media(max-width:700px){
  .middle-auth{gap:14px}.middle-auth__intro h2{font-size:28px}.middle-auth__intro p{font-size:14px}
  .middle-social-login{padding:14px;border-radius:20px}.middle-social-login__buttons{grid-template-columns:1fr}.middle-social-btn{min-height:47px}
  .middle-auth-form{padding:17px!important;border-radius:21px!important}.middle-auth-form__row{align-items:flex-start;flex-direction:column}.middle-auth-form__row a{margin-top:-3px}
}

/* Middle Core 0.2.3 — split login and registration in auth modal */
.middle-auth__stack{display:grid;gap:16px;max-width:940px;margin:0 auto}
.middle-auth-form--login{max-width:none}
.middle-auth-register{display:block}
.middle-auth-register summary{list-style:none}
.middle-auth-register summary::-webkit-details-marker{display:none}
.middle-auth-register__toggle{
  display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 18px;border-radius:16px;cursor:pointer;
  border:1px solid var(--middle-border,#D7E8FB);
  background:linear-gradient(180deg,#FFFFFF 0%, #F7FBFF 100%);
  color:var(--middle-accent-strong,#257EEB);
  font-weight:700;text-align:center;
  box-shadow:0 8px 20px rgba(37,126,235,.05), inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease,color .24s ease;
}
.middle-auth-register__toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--middle-accent,#4A9AF7) 28%, var(--middle-border,#D7E8FB));box-shadow:0 12px 22px rgba(37,126,235,.08)}
.middle-auth-register__toggle::after{content:'+';font-size:22px;line-height:1;opacity:.7;transition:transform .24s ease,opacity .24s ease}
.middle-auth-register[open] .middle-auth-register__toggle::after{content:'–';opacity:1}
.middle-auth-register__toggle-label--open{display:none}
.middle-auth-register[open] .middle-auth-register__toggle-label--closed{display:none}
.middle-auth-register[open] .middle-auth-register__toggle-label--open{display:inline}
.middle-auth-register__panel-wrap{padding-top:14px}
.middle-auth-form--register{margin:0!important}
.middle-auth-register .middle-auth-form{box-shadow:0 12px 34px rgba(45,39,34,.04)}
:root[data-middle-theme="dark"] .middle-auth-register__toggle{
  background:linear-gradient(180deg,#1d2937 0%, #1a2430 100%);
  border-color:#314355;color:#A8D6FF;
  box-shadow:0 10px 20px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.03);
}
@media(max-width:720px){
  .middle-auth__stack{gap:14px}
  .middle-auth-register__panel-wrap{padding-top:12px}
  .middle-auth-register__toggle{min-height:48px;border-radius:15px;padding:0 16px;font-size:14px}
}

/* Middle Core 0.2.4 — compact login layout with centered VK ID button */
.middle-auth__stack{max-width:520px}
.middle-auth-form--login,.middle-auth-register,.middle-social-login{max-width:520px;margin-inline:auto}
.middle-social-login__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.middle-social-btn{width:min(430px,100%)}
.middle-social-login__label{justify-content:flex-start}
.middle-social-login{padding:14px 16px}
@media(max-width:700px){
  .middle-auth__stack,.middle-auth-form--login,.middle-auth-register,.middle-social-login{max-width:none}
  .middle-social-btn{width:100%}
}

/* Middle Core 0.2.5 — narrower auth column and full-width quick login card */
.middle-auth__stack{
  max-width:420px;
  width:100%;
  margin:0 auto;
}
.middle-auth-form--login,
.middle-auth-register,
.middle-social-login{
  width:100%;
  max-width:none;
  margin-inline:auto;
  box-sizing:border-box;
}
.middle-social-login{
  padding:14px;
}
.middle-social-login__buttons{
  display:block;
}
.middle-social-btn{
  width:100%;
  max-width:none;
}
.middle-auth-form{
  padding:18px!important;
}
.middle-auth-form h3{
  margin-bottom:14px;
}
.middle-auth-register__panel-wrap{
  padding-top:12px;
}
@media(max-width:700px){
  .middle-auth__stack{max-width:none;}
}

/* Middle Core 0.2.11 — user-uploaded avatars */
.middle-custom-avatar{object-fit:cover!important}
.middle-core-profile__top{align-items:flex-start}
.middle-core-profile__avatar-area{flex:0 0 112px;width:112px}
.middle-core-profile__avatar{width:112px;height:112px;border-radius:50%;overflow:hidden;background:var(--middle-bg-soft,#f3f5f7);border:1px solid var(--middle-border,#e1e5ea)}
.middle-core-profile__avatar img{display:block;width:112px!important;height:112px!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important}
.middle-core-profile__identity{min-width:0;padding-top:8px}
.middle-core-avatar-form{margin-top:9px;text-align:center}
.middle-core-avatar-picker{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:34px;margin:0!important;padding:0 10px;border:1px solid var(--middle-border,#dfe3e8);border-radius:9px;background:var(--middle-surface,#fff);color:var(--middle-text,#111);font-size:12px!important;font-weight:600!important;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.middle-core-avatar-picker:hover{background:var(--middle-accent-soft,#eef6ff);border-color:var(--middle-accent,#2557d6);color:var(--middle-accent,#2557d6)}
.middle-core-avatar-picker input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important}
.middle-core-avatar-file{margin-top:6px;color:var(--middle-muted,#777);font-size:9px;line-height:1.35}
.middle-core-avatar-save{width:100%;min-height:34px;margin-top:7px;padding:6px 8px;font-size:11px}
.middle-core-avatar-save[hidden]{display:none!important}
@media(max-width:700px){
  .middle-core-profile__top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}
  .middle-core-profile__avatar-area{width:96px;flex-basis:96px}
  .middle-core-profile__avatar{width:96px;height:96px}
  .middle-core-profile__avatar img{width:96px!important;height:96px!important}
  .middle-core-profile__identity{padding-top:3px}
  .middle-core-profile__top>.js-middle-follow{grid-column:1/-1;width:100%;margin:0}
  .middle-core-stats{gap:10px;flex-wrap:wrap;font-size:12px}
  .middle-core-avatar-picker{min-height:32px;padding:0 6px;font-size:11px!important}
  .middle-core-avatar-file{font-size:8px}
}

/* Middle Core 0.2.12 — icon bookmarks and activity rating */
.middle-bookmark-button{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  padding:0!important;display:inline-grid!important;place-items:center!important;flex:0 0 40px;
  border-radius:11px!important;color:var(--middle-muted,#687483)!important;
  background:var(--middle-surface,#fff)!important;border:1px solid var(--middle-border,#dde4ec)!important;
  box-shadow:none!important;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.middle-bookmark-button:hover{color:var(--middle-accent,#348df2)!important;background:var(--middle-accent-soft,#edf6ff)!important;border-color:color-mix(in srgb,var(--middle-accent,#348df2) 35%,var(--middle-border,#dde4ec))!important;transform:translateY(-1px)}
.middle-bookmark-button.is-active{color:var(--middle-accent,#348df2)!important;background:var(--middle-accent-soft,#edf6ff)!important;border-color:color-mix(in srgb,var(--middle-accent,#348df2) 48%,var(--middle-border,#dde4ec))!important}
.middle-bookmark-icon{display:block;overflow:visible}
.middle-bookmark-icon path{fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transition:fill .18s ease}
.middle-bookmark-button.is-active .middle-bookmark-icon path{fill:currentColor}

.middle-user-rating{display:flex;align-items:center;gap:12px;margin-top:14px}
.middle-user-rating__stars{display:inline-flex;gap:2px;font-size:20px;line-height:1;white-space:nowrap}
.middle-user-rating__star{color:var(--middle-border,#d7dee7);text-shadow:none}
.middle-user-rating__star.is-filled{color:#f2b63f}
.middle-user-rating__details{display:flex;flex-direction:column;gap:2px;min-width:0}
.middle-user-rating__details strong{font-size:13px;color:var(--middle-text,#111);font-weight:700}
.middle-user-rating__details span{font-size:11px;color:var(--middle-muted,#777);line-height:1.4}
.middle-user-rating--compact{margin-top:0;gap:0}.middle-user-rating--compact .middle-user-rating__stars{font-size:14px}

.middle-core-profile-section{margin-top:28px}
.middle-core-profile-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.middle-core-profile-section__head h2{margin:0;font-size:22px}
.middle-core-profile-section__eyebrow{display:block;margin-bottom:4px;color:var(--middle-accent,#348df2);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.middle-core-profile-bookmarks{padding-top:24px;border-top:1px solid var(--middle-border,#e1e5ea)}
.middle-core-bookmark-list{display:grid;gap:9px}
.middle-core-bookmark-card{display:grid;grid-template-columns:62px minmax(0,1fr) 40px;gap:12px;align-items:center;padding:9px;border:1px solid var(--middle-border,#e1e5ea);border-radius:13px;background:var(--middle-surface,#fff)}
.middle-core-bookmark-card__thumb{display:block;width:62px;height:62px;overflow:hidden;border-radius:10px;background:var(--middle-bg-soft,#eef4f9)}
.middle-core-bookmark-card__thumb img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.middle-core-bookmark-card__placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--middle-accent,#348df2);font-size:23px;font-weight:700}
.middle-core-bookmark-card__body{min-width:0}
.middle-core-bookmark-card__title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--middle-text,#111);font-size:14px;font-weight:650;line-height:1.35}
.middle-core-bookmark-card__meta{margin-top:5px;color:var(--middle-muted,#777);font-size:11px}
.middle-core-bookmark-empty{margin-bottom:0}
@media(max-width:700px){
  .middle-user-rating{align-items:flex-start;flex-direction:column;gap:7px;margin-top:11px}
  .middle-user-rating__stars{font-size:18px}
  .middle-core-profile-section{margin-top:22px}.middle-core-profile-bookmarks{padding-top:20px}
  .middle-core-bookmark-card{grid-template-columns:54px minmax(0,1fr) 38px;gap:9px;padding:8px}
  .middle-core-bookmark-card__thumb{width:54px;height:54px}
  .middle-bookmark-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex-basis:38px}
}

/* Middle Core 0.2.13 — thumb-up likes */
.middle-like-button{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:40px!important;padding:0 11px!important;border-radius:11px!important}
.middle-like-icon{display:block;overflow:visible}.middle-like-icon path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:fill .18s ease,stroke .18s ease}
.middle-like-button__label{font-size:13px;line-height:1;font-weight:500}.middle-like-button__count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--middle-muted,#687483) 10%,transparent);font-size:11px;font-weight:700;line-height:1}
.middle-like-button.is-active .middle-like-icon path{fill:currentColor}.middle-like-button.is-active .middle-like-button__count{background:color-mix(in srgb,var(--middle-accent,#348df2) 14%,transparent)}
@media(max-width:700px){.middle-like-button{min-height:38px!important;padding:0 10px!important}.middle-like-button__label{font-size:12px}}

/* Middle Core 0.2.16 — logout action belongs to the profile engine itself. */
.middle-core-profile-session__row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--middle-core-border,#e1e8f0);border-radius:18px;background:rgba(127,127,127,.035)}
.middle-core-profile-session__row p{margin:0;color:var(--middle-core-muted,#697386);font-size:14px;line-height:1.5}
.middle-core-logout-button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;text-decoration:none!important;background:rgba(202,61,61,.08)!important;border-color:rgba(202,61,61,.24)!important;color:#b33030!important}
.middle-core-logout-button:hover{background:rgba(202,61,61,.14)!important;border-color:rgba(202,61,61,.38)!important;color:#962323!important}
.middle-core-logout-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.middle-core-profile-session__row{align-items:stretch;flex-direction:column}.middle-core-logout-button{width:100%;min-height:46px}}


/* Middle Core 0.2.25 — visible disabled auth providers on fresh installs */
.middle-social-btn--disabled{
  cursor:not-allowed;
  opacity:.58;
  filter:saturate(.62);
  box-shadow:none;
  pointer-events:none;
  user-select:none;
}
.middle-social-btn--disabled:hover{transform:none;box-shadow:none}
.middle-social-btn__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.middle-social-btn__text strong{font-size:14px;font-weight:780;color:inherit}
.middle-social-btn__text small{margin-top:4px;font-size:10px;font-weight:650;opacity:.84;color:inherit}
.middle-captcha-wrap--disabled{overflow:visible}
.middle-captcha-placeholder{
  min-height:64px;display:flex;align-items:center;gap:11px;padding:10px 12px;
  border:1px dashed var(--middle-border,#D7E8FB);border-radius:14px;
  background:var(--middle-bg-soft,#F8FAFC);color:var(--middle-muted,#6F706F);
  opacity:.78;box-sizing:border-box;
}
.middle-captcha-placeholder__mark{
  flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:#ffcc00;color:#111;font-size:17px;font-weight:900;
}
.middle-captcha-placeholder__copy{min-width:0;display:flex;flex:1;flex-direction:column;line-height:1.2}
.middle-captcha-placeholder__copy strong{color:var(--middle-text,#292929);font-size:13px}
.middle-captcha-placeholder__copy small{margin-top:4px;font-size:11px;color:var(--middle-muted,#6F706F)}
.middle-captcha-placeholder__state{
  flex:0 0 auto;padding:5px 8px;border-radius:999px;background:rgba(127,127,127,.10);
  font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
}
:root[data-middle-theme="dark"] .middle-captcha-placeholder{background:#17212b;border-color:#314355}
:root[data-middle-theme="dark"] .middle-captcha-placeholder__copy strong{color:#eaf2fa}
@media(max-width:480px){
  .middle-captcha-placeholder__state{display:none}
  .middle-social-btn__text strong{font-size:13px}
}
