.tu-account-layout { font-family: Involve, Arial, sans-serif; }
.tu-account-page { width: 100%; max-width: 1920px; min-height: calc(100svh - 92px); margin: 0 auto; padding: clamp(32px, 5vw, 88px) var(--tu-page-x); background: #fff; }
.tu-account-skip { position: absolute; top: -100px; left: 16px; z-index: 2000; padding: 12px 16px; background: var(--tu-yellow); color: var(--tu-ink); }
.tu-account-skip:focus { top: 8px; }
.tu-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); align-items: start; gap: clamp(32px, 7vw, 112px); max-width: 1240px; margin: 0 auto; }
.tu-auth-intro { min-width: 0; padding-top: 20px; }
.tu-auth-eyebrow { margin: 0 0 16px; color: var(--tu-blue); font-size: 15px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; overflow-wrap: anywhere; }
/* Skramp's Й reaches 1.14em above the baseline (font ascent is only .75em).
   The leading protects wrapped lines; the top inset contains the first accent. */
.tu-auth h1 { max-width: 100%; margin: 0 0 28px; padding-top: .28em; font-family: "Skramp Cyr", Involve, sans-serif; font-size: clamp(48px, 6vw, 94px); font-weight: 400; line-height: 1.36; text-transform: uppercase; overflow-wrap: anywhere; }
.tu-auth-description { max-width: 520px; color: var(--tu-muted); font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; overflow-wrap: anywhere; }
.tu-auth-home { display: inline-flex; margin-top: 24px; color: var(--tu-blue) !important; text-underline-offset: 4px; }
.tu-auth-card { min-width: 0; padding: clamp(24px, 3vw, 40px); border: 1px solid #dbe4f5; border-top: 5px solid var(--tu-blue); background: var(--tu-soft); }
.tu-auth-form { display: grid; gap: 20px; margin: 0; }
.tu-auth-field { align-content: start; display: grid; min-width: 0; gap: 8px; }
.tu-auth-field label { font-size: 14px; font-weight: 700; }
.tu-auth-field input { width: 100%; min-width: 0; height: 50px; margin: 0; padding: 12px 14px; border: 1px solid #bac9df; border-radius: 0; background: #fff; color: var(--tu-ink); font: 400 16px/1.4 Involve, Arial, sans-serif; }
.tu-account-page :is(input, textarea, select, button, a):focus-visible { outline: 3px solid var(--tu-blue); outline-offset: 3px; }
.tu-auth-field input:focus { border-color: var(--tu-blue); }
.tu-auth-field small { color: #566277; font-size: 12px; line-height: 1.5; }
.tu-auth-field [data-validate-for] { color: #a51b2b; font-size: 13px; }
.tu-auth-errors { margin: 0; padding: 14px; border: 1px solid #e9b5bb; background: #fff1f2; color: #8e1725; font-size: 14px; }
.tu-auth-submit { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 14px 20px; border: 0; border-radius: 0; background: var(--tu-blue); color: #fff; font: 700 16px/1.4 Involve, Arial, sans-serif; cursor: pointer; }
.tu-auth-submit:hover { background: #0781ef; }
.tu-auth-submit:disabled { opacity: .65; cursor: wait; }
.tu-auth-alternative { margin: 24px 0 0; padding-top: 24px; border-top: 1px solid #d3def0; font-size: 14px; line-height: 1.6; }
.tu-auth-alternative a { color: #0781ef; font-weight: 700; text-underline-offset: 3px; }
.tu-auth-check { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.tu-auth-check input { width: 18px; height: 18px; }
@media (max-width: 900px) {
    .tu-auth { grid-template-columns: minmax(0, 1fr); max-width: 600px; gap: 28px; }
    .tu-auth-intro { padding-top: 0; }
    .tu-auth h1 { margin-bottom: 16px; }
    .tu-auth-home { margin-top: 8px; }
}
@media (max-width: 575px) {
    .tu-account-page { padding: 28px 20px 40px; }
    .tu-auth-card { padding: 24px 20px; }
    .tu-auth h1 { font-size: clamp(40px, 11vw, 60px); }
}

/* Account forms extend the new-design Figma palette and typography. */
.tu-account-layout { background: #fff; color: var(--tu-ink); }
.tu-account-layout .tu-account-page { min-height: 60vh; }
.tu-form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tu-field-optional { color: #566277; font-weight: 400; }
.tu-auth-field textarea { width: 100%; padding: 16px; color: var(--tu-ink); background: #fff; border: 1px solid #bac9df; font: 400 16px/1.6 Involve, Arial, sans-serif; resize: vertical; }
.tu-auth-errors[hidden], .tu-auth-errors[data-validate-error]:not(.oc-visible) { display: none; }
.tu-auth-errors p { margin: 0; }
.tu-account-nav { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #dbe4f5; padding-bottom: 20px; margin-bottom: 40px; }
.tu-account-nav a, .tu-account-nav button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid #dbe4f5; background: #f0f4ff; color: #1f2937; font: 700 14px/1.4 Involve, Arial, sans-serif; text-decoration: none; }
.tu-account-nav a[aria-current], .tu-account-nav a:hover { color: #fff; background: #0781ef; border-color: #0781ef; }
.tu-account-nav button { margin-left: auto; background: #fff; cursor: pointer; }
.tu-account-heading { min-width: 0; margin-bottom: 32px; max-width: 1100px; }
.tu-account-heading h1 { max-width: 100%; padding-top: .28em; font: 400 clamp(40px, 5.5vw, 86px)/1.36 'Skramp Cyr', Involve, sans-serif; text-transform: uppercase; overflow-wrap: anywhere; margin: 0 0 20px; }
.tu-account-heading > p:last-child { color: #566277; font-size: 17px; line-height: 1.6; max-width: 750px; overflow-wrap: anywhere; }
.tu-editor { padding: clamp(20px, 3vw, 48px); border: 1px solid #dbe4f5; border-top: 4px solid #0781ef; background: #f0f4ff; }
.tu-cover-upload { display: flex; gap: 20px; align-items: center; padding: 20px; border: 1px dashed #bac9df; background: #fff; }
.tu-cover-upload img { width: 140px; height: 90px; object-fit: contain; background: #eef2ff; }
.tu-cover-upload > div { min-width: 0; flex: 1; }
.tu-cover-upload input[type=file] { border: 0; height: auto; padding: 8px 0; }
.tu-cover-upload small { display: block; }
.tu-editor-actions { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.tu-button-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid #0781ef; background: #fff; color: #0781ef; text-decoration: none; font-size: 14px; font-weight: 700; }
.tu-editor-note { margin: 0; font-size: 13px; line-height: 1.6; color: #566277; max-width: 800px; }
.tu-account-empty { display: grid; justify-items: start; gap: 12px; padding: clamp(24px, 4vw, 60px); border: 1px solid #dbe4f5; background: #f0f4ff; }
.tu-account-empty h2 { max-width: 100%; font: 700 26px/1.35 Involve, Arial, sans-serif; margin: 0; overflow-wrap: anywhere; }
.tu-account-empty p { max-width: 100%; color: #566277; margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.tu-account-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 28px; }
.tu-account-tabs { display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
.tu-account-tabs .nav-link { padding: 12px 20px; min-height: 48px; border: 1px solid #dbe4f5; border-radius: 0; color: #1f2937; background: #f0f4ff; font-weight: 700; }
.tu-account-tabs .nav-link.active { background: #0781ef; border-color: #0781ef; color: #fff; }
.tu-account-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 24px 0; }
.tu-post-card { min-width: 0; display: flex; flex-direction: column; background: #f0f4ff; border: 1px solid #dbe4f5; }
.tu-post-card-image { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/9; overflow: hidden; background: #0a0e1a; color: #ffd00d; font: 400 32px 'Skramp Cyr', sans-serif; }
.tu-post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.tu-post-card-body { padding: 24px; flex: 1; }
.tu-post-card h2 { margin: 12px 0; font: 700 22px/1.3 Involve, Arial, sans-serif; overflow-wrap: anywhere; }
.tu-post-card h2 a { color: #0a0e1a; text-decoration: none; }
.tu-post-card h2 a:hover { color: #0781ef; text-decoration: underline; }
.tu-post-card p { color: #566277; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.tu-post-status { font-size: 12px; font-weight: 700; color: #0781ef; }
.tu-post-card-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 16px 24px; border-top: 1px solid #dbe4f5; }
.tu-post-delete { min-height: 44px; padding: 8px 12px; color: #a51b2b; background: #fff; border: 1px solid #e9b5bb; font-size: 14px; }
.tu-account-settings { margin-top: 48px; max-width: 800px; }
.tu-account-settings > h2,
.tu-account-layout .modal-content-author > h2 { margin: 0 0 20px; font: 700 clamp(22px, 2vw, 30px)/1.35 Involve, Arial, sans-serif; overflow-wrap: anywhere; }
.tu-account-layout .account-editor { padding: 24px; border: 1px solid #dbe4f5; background: #f0f4ff; }
.tu-account-layout .account-editor .section-title { align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 16px; margin-bottom: 16px; }
.tu-account-layout .account-editor .section-title :is(h2, h5) { flex: 1 1 14rem; min-width: 0; margin: 0; font: 700 22px/1.35 Involve, Arial, sans-serif; overflow-wrap: anywhere; }
.tu-account-layout .account-editor .section-title > .btn { flex: 0 0 auto; max-width: 100%; white-space: normal; }
.tu-account-layout .account-editor .editor-view > .d-flex { gap: 16px; flex-wrap: wrap; margin: 12px 0; }
.tu-account-layout .account-editor .field-value { min-width: 0; overflow-wrap: anywhere; }
.tu-account-layout .account-editor .section-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.tu-account-layout .account-editor .form-control { min-height: 46px; font-size: 16px; border-radius: 0; border-color: #bac9df; }
.tu-account-layout .account-editor [data-validate-for] { color: #a51b2b; font-size: 13px; }
.tu-account-layout .account-editor .text-success { color: #566277 !important; }
.tu-account-layout .btn { border-radius: 0; }
@media (max-width: 1000px) { .tu-account-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .tu-form-columns, .tu-account-posts { grid-template-columns: minmax(0, 1fr); }
    .tu-account-nav { gap: 6px; margin-bottom: 28px; }
    .tu-account-nav a, .tu-account-nav button { padding: 10px 12px; font-size: 13px; }
    .tu-account-nav button { margin-left: 0; }
    .tu-cover-upload { align-items: start; flex-direction: column; }
    .tu-cover-upload > div { width: 100%; }
    .tu-account-layout .account-editor { padding: 20px 16px; }
    .tu-editor-actions > * { width: 100%; }
}

.tu-cover-upload img { background: #0a0e1a; }
.tu-account-page a.tu-auth-submit { color: #fff; text-decoration: none; }
.tu-auth-recover { margin: -4px 0 0; font-size: 14px; }
.tu-auth-recover a { color: #0781ef; }

.tu-account-layout .account-editor .btn-primary { color: #fff; border-color: #0781ef; background: #0781ef; background-image: none; }
.tu-account-layout .account-editor .btn-primary:hover { background: #0781ef; }
