/* theuser.cloud — "Midnight and lime" theme (preview: ?design=2). Stage 1: frame + base components. */
:root, [data-theme="dark"] {
  --tu-bg:#0B0F19; --tu-surface:#121826; --tu-surface-2:#182033; --tu-border:#1F2633; --tu-border-strong:#2E3A4E;
  --tu-text:#F4F7FB; --tu-muted:#9AA6B8; --tu-faint:#6B778A;
  --tu-accent:#A3E635; --tu-accent-hover:#BEF264; --tu-on-accent:#1A2E05; --tu-accent-soft:#1A2414; --tu-accent-text:#A3E635;
  --tu-danger:#F87171; --tu-success:#4ADE80; --tu-warning:#FBBF24; --tu-info:#7DD3FC;
  --tu-radius:12px; --tu-radius-lg:16px; --tu-pill:999px; color-scheme:dark;
}
[data-theme="light"] {
  --tu-bg:#F6F8F2; --tu-surface:#FFFFFF; --tu-surface-2:#EEF2E6; --tu-border:#E2E8D8; --tu-border-strong:#C9D3BA;
  --tu-text:#0B0F19; --tu-muted:#55604A; --tu-faint:#7A856E;
  --tu-accent:#A3E635; --tu-accent-hover:#84CC16; --tu-on-accent:#1A2E05; --tu-accent-soft:#EEF7DD; --tu-accent-text:#4D7C0F;
  --tu-danger:#DC2626; --tu-success:#16A34A; --tu-warning:#B45309; --tu-info:#0369A1; color-scheme:light;
}

/* ---- page ---- */
html[data-theme] body { background:var(--tu-bg)!important; color:var(--tu-text); font-family:'Manrope',system-ui,sans-serif; }
html[data-theme] main { background:transparent; }
html[data-theme] a { color:var(--tu-accent-text); }
html[data-theme] a:hover { color:var(--tu-text); }
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] h4,html[data-theme] h5,html[data-theme] h6,
html[data-theme] .title { color:var(--tu-text); }
html[data-theme] .text-muted,html[data-theme] .text-secondary { color:var(--tu-muted)!important; }
html[data-theme] .text-dark,html[data-theme] .link-body-emphasis { color:var(--tu-text)!important; }
html[data-theme] .bg-white,html[data-theme] .bg-light { background-color:var(--tu-surface)!important; }
html[data-theme] hr { border-color:var(--tu-border); opacity:1; }
::selection { background:var(--tu-accent); color:var(--tu-on-accent); }

/* ---- header ---- */
html[data-theme] .header { position:sticky; top:0; z-index:1030; background:color-mix(in srgb,var(--tu-bg) 88%,transparent)!important;
  backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--tu-border); box-shadow:none; padding:10px 0; }
html[data-theme] .header .nav-link { color:var(--tu-muted)!important; font-weight:600!important; padding:.45rem .8rem; border-radius:var(--tu-pill); }
html[data-theme] .header .nav-link:hover { color:var(--tu-text)!important; background:var(--tu-surface); }
html[data-theme] .header .icon-btn { color:var(--tu-text)!important; }
html[data-theme] .header .login-btn:not(.btn-primary) { color:var(--tu-text)!important; background:transparent; border:1px solid var(--tu-border-strong); border-radius:var(--tu-pill); }
html[data-theme] .header .login-btn:not(.btn-primary):hover { border-color:var(--tu-accent); }
html[data-theme] .header .login-btn svg path,html[data-theme] .header .reg-btn svg path { fill:currentColor; }
.tu-logo { display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:1.2rem; letter-spacing:-.01em; color:var(--tu-text)!important; text-decoration:none; }
.tu-logo svg { color:var(--tu-accent); }
.tu-logo:hover { color:var(--tu-text)!important; }
.tu-theme-toggle { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--tu-pill);
  border:1px solid var(--tu-border-strong); background:transparent; color:var(--tu-text); cursor:pointer; transition:border-color .2s, background .2s; }
.tu-theme-toggle:hover { border-color:var(--tu-accent); background:var(--tu-surface); }
.tu-theme-toggle .tu-icon-sun { display:inline; } .tu-theme-toggle .tu-icon-moon { display:none; }
[data-theme="light"] .tu-theme-toggle .tu-icon-sun { display:none; } [data-theme="light"] .tu-theme-toggle .tu-icon-moon { display:inline; }

/* ---- buttons ---- */
html[data-theme] .btn { border-radius:var(--tu-pill); font-weight:600; transition:background .15s, border-color .15s, color .15s, transform .1s; }
html[data-theme] .btn:active { transform:scale(.98); }
html[data-theme] .btn-primary,html[data-theme] .btn-white,html[data-theme] .btn-success,html[data-theme] .reg-btn,html[data-theme] .uploadbtn {
  background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; border:1px solid var(--tu-accent)!important; box-shadow:none!important; }
html[data-theme] .btn-primary:hover,html[data-theme] .btn-white:hover,html[data-theme] .btn-success:hover,html[data-theme] .reg-btn:hover,html[data-theme] .uploadbtn:hover {
  background:var(--tu-accent-hover)!important; border-color:var(--tu-accent-hover)!important; }
html[data-theme] .btn-secondary,html[data-theme] .btn-light,html[data-theme] .btn-outline-light,html[data-theme] .btn-outline-primary,html[data-theme] .btn-outline-secondary,html[data-theme] .btn-default {
  background:transparent!important; color:var(--tu-text)!important; border:1px solid var(--tu-border-strong)!important; }
html[data-theme] .btn-secondary:hover,html[data-theme] .btn-light:hover,html[data-theme] .btn-outline-light:hover,html[data-theme] .btn-outline-primary:hover,html[data-theme] .btn-outline-secondary:hover,html[data-theme] .btn-default:hover {
  border-color:var(--tu-accent)!important; background:var(--tu-surface)!important; }
html[data-theme] .btn-danger { background:transparent!important; color:var(--tu-danger)!important; border:1px solid var(--tu-danger)!important; }
html[data-theme] .btn-dark,html[data-theme] .bg-dark.btn { background:var(--tu-surface-2)!important; color:var(--tu-text)!important; border:1px solid var(--tu-border-strong)!important; }

/* ---- cards / blocks ---- */
html[data-theme] .block,html[data-theme] .card,html[data-theme] .modal-content,html[data-theme] .offcanvas,html[data-theme] .list-group-item {
  background:var(--tu-surface)!important; color:var(--tu-text); border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius-lg); box-shadow:none!important; }
html[data-theme] .card-header,html[data-theme] .card-footer,html[data-theme] .modal-header,html[data-theme] .modal-footer { background:transparent!important; border-color:var(--tu-border)!important; }

/* ---- forms ---- */
html[data-theme] .form-control,html[data-theme] .form-select,html[data-theme] input[type=text],html[data-theme] input[type=password],
html[data-theme] input[type=email],html[data-theme] input[type=number],html[data-theme] textarea,html[data-theme] select {
  background-color:var(--tu-surface-2)!important; color:var(--tu-text)!important; border:1px solid var(--tu-border-strong)!important; border-radius:10px; }
[data-theme="light"] .form-control,[data-theme="light"] .form-select,[data-theme="light"] textarea,[data-theme="light"] select,[data-theme="light"] input[type=text],
[data-theme="light"] input[type=password],[data-theme="light"] input[type=email],[data-theme="light"] input[type=number] { background-color:#fff!important; }
html[data-theme] .form-control::placeholder,html[data-theme] textarea::placeholder { color:var(--tu-faint); }
html[data-theme] .form-control:focus,html[data-theme] .form-select:focus,html[data-theme] textarea:focus,html[data-theme] input:focus {
  border-color:var(--tu-accent)!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--tu-accent) 30%,transparent)!important; outline:none; }
html[data-theme] .form-label,html[data-theme] label { color:var(--tu-muted); }
html[data-theme] .form-check-input:checked { background-color:var(--tu-accent); border-color:var(--tu-accent); }

/* ---- tables ---- */
html[data-theme] .table { --bs-table-bg:transparent; --bs-table-color:var(--tu-text); --bs-table-border-color:var(--tu-border);
  --bs-table-striped-bg:var(--tu-surface-2); --bs-table-hover-bg:var(--tu-surface-2); color:var(--tu-text); }
html[data-theme] .table thead th,html[data-theme] .table th { color:var(--tu-muted); font-weight:600; border-color:var(--tu-border); }

/* ---- messages / alerts / badges ---- */
html[data-theme] .alert { border-radius:var(--tu-radius); border:1px solid var(--tu-border); background:var(--tu-surface)!important; color:var(--tu-text)!important; }
html[data-theme] .alert-danger  { border-color:var(--tu-danger)!important;  box-shadow:inset 3px 0 0 var(--tu-danger); }
html[data-theme] .alert-success { border-color:var(--tu-success)!important; box-shadow:inset 3px 0 0 var(--tu-success); }
html[data-theme] .alert-warning { border-color:var(--tu-warning)!important; box-shadow:inset 3px 0 0 var(--tu-warning); }
html[data-theme] .alert-info    { border-color:var(--tu-info)!important;    box-shadow:inset 3px 0 0 var(--tu-info); }
html[data-theme] .badge.bg-primary { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; }

/* ---- dropdowns / pagination ---- */
html[data-theme] .dropdown-menu { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius); padding:6px; box-shadow:0 12px 32px rgba(0,0,0,.35); }
html[data-theme] .dropdown-item { color:var(--tu-text)!important; border-radius:8px; padding:.5rem .75rem; }
html[data-theme] .dropdown-item:hover,html[data-theme] .dropdown-item:focus { background:var(--tu-surface-2)!important; }
html[data-theme] .page-link { background:var(--tu-surface); color:var(--tu-text); border-color:var(--tu-border); }
html[data-theme] .page-item.active .page-link { background:var(--tu-accent); border-color:var(--tu-accent); color:var(--tu-on-accent); }

/* ---- homepage hero (neutral until stage 2) ---- */
html[data-theme] .index-header { background:var(--tu-bg)!important; border-bottom:1px solid var(--tu-border)!important; border-radius:0!important; }
html[data-theme] .index-header .title { color:var(--tu-text)!important; }
html[data-theme] .index-header .subtitle { color:var(--tu-muted)!important; }

/* ---- footer ---- */
html[data-theme] .footer { background:var(--tu-surface)!important; color:var(--tu-muted)!important; border-top:1px solid var(--tu-border); margin-top:3rem; padding-top:2.5rem!important; }
html[data-theme] .footer .fHead,html[data-theme] .footer .text-white { color:var(--tu-text)!important; }
html[data-theme] .footer .nav-link { color:var(--tu-muted)!important; padding:.25rem 0; }
html[data-theme] .footer .nav-link:hover,html[data-theme] .footer a:hover { color:var(--tu-accent-text)!important; }
html[data-theme] .footer-bottom .container { border-top:1px solid var(--tu-border)!important; color:var(--tu-faint); }
html[data-theme] .footer-bottom a { color:var(--tu-muted); }

/* ---- mobile ---- */
@media (max-width: 991.98px) {
  html[data-theme] .header { padding:8px 0; }
  .tu-logo { font-size:1.05rem; }
}

/* =========================== Stage 2: home + upload =========================== */
.tu-h1 { font-size:clamp(1.9rem,4.2vw,3rem); font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--tu-text)!important; font-family:'Manrope',system-ui,sans-serif!important; }
.tu-h2 { font-size:1.4rem; font-weight:800; letter-spacing:-.01em; color:var(--tu-text); }
.tu-sub { color:var(--tu-muted)!important; font-size:1.05rem; }
.tu-accent-word { color:var(--tu-accent-text); }
.tu-chip { display:inline-block; font-size:.8rem; font-weight:700; color:var(--tu-accent-text); background:var(--tu-accent-soft);
  border:1px solid color-mix(in srgb,var(--tu-accent) 35%,transparent); padding:.3rem .8rem; border-radius:var(--tu-pill); }
.tu-hero { padding:64px 0 28px; }

/* hero of the upload page: compact for members, roomy for visitors */
html[data-theme] .index-header { padding:56px 0 28px!important; }
html[data-theme] .upload-form { margin-top:0!important; padding:0 12px; }
html[data-theme] .section.slide { margin-bottom:1.5rem; }
html[data-theme] .or-action { color:var(--tu-faint); }

/* tabs (file / url / background / copy / torrent / ftp) */
html[data-theme] .block-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:12px; border-bottom:1px solid var(--tu-border)!important; background:transparent; }
html[data-theme] .block-tabs .nav-link { flex:1 1 auto; color:var(--tu-muted)!important; border:1px solid transparent!important; border-radius:var(--tu-pill)!important;
  font-weight:700!important; font-size:.92rem!important; padding:.55rem 1rem!important; background:transparent!important; white-space:nowrap; }
html[data-theme] .block-tabs .nav-link:hover { color:var(--tu-text)!important; background:var(--tu-surface-2)!important; }
html[data-theme] .block-tabs .nav-link.active { color:var(--tu-on-accent)!important; background:var(--tu-accent)!important; border-color:var(--tu-accent)!important; }

/* drop zone */
html[data-theme] .dropbox { border:2px dashed var(--tu-border-strong)!important; background:var(--tu-surface-2)!important; border-radius:20px!important;
  color:var(--tu-text)!important; padding:56px 20px!important; transition:border-color .2s, background .2s, transform .2s; }
html[data-theme] .dropbox:hover,html[data-theme] .dropbox.active { border-color:var(--tu-accent)!important; background:var(--tu-accent-soft)!important; transform:translateY(-1px); }
html[data-theme] .dropbox svg { width:64px; height:64px; }
html[data-theme] .dropbox svg path { fill:var(--tu-accent-text)!important; }
html[data-theme] .dropbox .fs-3 { font-size:1.35rem!important; font-weight:800!important; color:var(--tu-text); }
html[data-theme] .dropbox .link-primary { color:var(--tu-accent-text)!important; text-decoration:underline; text-underline-offset:4px; }
html[data-theme] #dropzone { background:color-mix(in srgb,var(--tu-bg) 85%,transparent)!important; color:var(--tu-accent-text)!important; border:3px dashed var(--tu-accent)!important; }

/* selected files, progress, result codes */
html[data-theme] .uploadItem { background:var(--tu-surface-2)!important; border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius)!important; margin-top:12px; padding-top:14px; }
html[data-theme] .progress { background:var(--tu-surface)!important; height:10px!important; border-radius:var(--tu-pill)!important; overflow:hidden; }
html[data-theme] .progress-bar { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; font-size:.65rem; font-weight:800; transition:width .3s ease; }
html[data-theme] .progress-bar.file-error { background:var(--tu-danger)!important; color:#fff!important; }
html[data-theme] .codes-textarea { position:relative; }
html[data-theme] .codes-textarea textarea { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85rem; padding-right:3rem; }
html[data-theme] .codes-textarea .icon-btn { position:absolute; top:8px; right:8px; color:var(--tu-muted)!important; border-radius:8px; }
html[data-theme] .codes-textarea .icon-btn:hover { color:var(--tu-accent-text)!important; background:var(--tu-surface); }
html[data-theme] .big-btn { padding:.7rem 1.6rem!important; font-size:1rem; }
html[data-theme] .upload-form .block { overflow:hidden; }

/* visitor sign-up page (upload_members_only.html) */
.tu-locked { max-width:640px; text-align:center; background:var(--tu-surface); border:2px dashed var(--tu-border-strong); border-radius:24px; padding:40px 24px; margin-top:8px; }
.tu-locked-icon { width:56px; height:56px; border-radius:50%; background:var(--tu-accent-soft); color:var(--tu-accent-text); display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; }
.tu-features { max-width:900px; margin-top:28px; }
.tu-feature { height:100%; background:var(--tu-surface); border:1px solid var(--tu-border); border-radius:var(--tu-radius-lg); padding:20px; transition:border-color .2s, transform .2s; }
.tu-feature:hover { border-color:var(--tu-accent); transform:translateY(-2px); }
.tu-feature svg { color:var(--tu-accent-text); }
.tu-feature h3 { font-size:1.02rem; font-weight:800; margin:.6rem 0 .2rem; color:var(--tu-text); }
.tu-feature p { margin:0; color:var(--tu-muted); font-size:.92rem; }
a.tu-feature { display:block; text-decoration:none; color:inherit; }

/* =========================== Stage 3: key pages =========================== */
/* old theme inline <style> overrides (main.html) */
html[data-theme] .header .login-btn:not(.btn-primary),html[data-theme] .header .login-btn:not(.btn-primary):hover {
  background:transparent!important; color:var(--tu-text)!important; border:1px solid var(--tu-border-strong)!important; }
html[data-theme] .header .login-btn:not(.btn-primary):hover { border-color:var(--tu-accent)!important; }
html[data-theme] .header .icon-btn svg { fill:currentColor!important; }
html[data-theme] .offcanvas-header { background:var(--tu-surface-2)!important; border-bottom:1px solid var(--tu-border); }
html[data-theme] .offcanvas-title { color:var(--tu-text)!important; }
html[data-theme] .navpanel { background:var(--tu-surface)!important; }
html[data-theme] .navpanel .nav-item .nav-link { color:var(--tu-muted)!important; border-radius:8px; }
html[data-theme] .navpanel .nav-item .nav-link:hover,html[data-theme] .navpanel .nav-item .nav-link.active { color:var(--tu-text)!important; background:var(--tu-surface-2); }
html[data-theme] .navpanel-submenu { background:var(--tu-surface-2)!important; box-shadow:inset 2px 0 0 var(--tu-accent)!important; }
html[data-theme] .dropdown-item.active,html[data-theme] .dropdown-item:active { background:var(--tu-accent-soft)!important; color:var(--tu-accent-text)!important; }
html[data-theme] .admin-menu { background:var(--tu-surface-2)!important; }
html[data-theme] .text-primary,html[data-theme] .link-primary,html[data-theme] .text-primary-emphasis { color:var(--tu-accent-text)!important; }
html[data-theme] .text-body,html[data-theme] .form-control-plaintext { color:var(--tu-text)!important; }
html[data-theme] .link-secondary { color:var(--tu-muted)!important; }
html[data-theme] .link-secondary:hover { color:var(--tu-accent-text)!important; }
html[data-theme] .btn-link { color:var(--tu-accent-text)!important; }
html[data-theme] .btn-outline-light { color:var(--tu-muted)!important; }
html[data-theme] .shadow-sm { box-shadow:none!important; }
html[data-theme] .form-text { color:var(--tu-faint)!important; }
html[data-theme] .nav-tabs { --bs-nav-tabs-border-color:var(--tu-border); border-color:var(--tu-border); }
html[data-theme] .alert-primary { border-color:var(--tu-accent)!important; box-shadow:inset 3px 0 0 var(--tu-accent); }
html[data-theme] hr.bg-dark { background:var(--tu-border)!important; border-color:var(--tu-border)!important; opacity:1; }

/* page titles */
html[data-theme] .page > h1,html[data-theme] .page h1.text-dark,html[data-theme] .login h1 { font-weight:800!important; letter-spacing:-.015em; }
.tu-underline { border-bottom:3px solid var(--tu-accent)!important; padding-bottom:2px; }

/* home: lower sections */
html[data-theme] .advantages,html[data-theme] .counters { background:transparent!important; }
html[data-theme] .advantages .title,html[data-theme] .counters .title { font-weight:800; letter-spacing:-.015em; }
html[data-theme] .advantages .box { background:var(--tu-surface); border:1px solid var(--tu-border); border-radius:var(--tu-radius-lg); }
html[data-theme] .advantages p,html[data-theme] .counters p { color:var(--tu-muted); }
html[data-theme] .advantages-item { background:var(--tu-surface)!important; border:1px solid var(--tu-border); box-shadow:none!important; }
html[data-theme] .advantages-icon { background:var(--tu-accent-soft)!important; color:var(--tu-accent-text)!important; }
html[data-theme] .dash { background:var(--tu-accent)!important; height:3px; border-radius:2px; }
html[data-theme] .counters svg path { fill:var(--tu-accent-text); }
html[data-theme] .counters strong,html[data-theme] .counters .number,html[data-theme] .site-stats p strong { color:var(--tu-text)!important; }
html[data-theme] .site-stats i { color:var(--tu-accent-text)!important; }
html[data-theme] .get-started { background:var(--tu-surface)!important; border-top:1px solid var(--tu-border); border-bottom:1px solid var(--tu-border); }
html[data-theme] .get-started .title.text-white { color:var(--tu-text)!important; }
html[data-theme] .index-header .or-action { color:var(--tu-muted)!important; }
html[data-theme] .slide { background:var(--tu-surface)!important; color:var(--tu-text)!important; border-bottom:1px solid var(--tu-border)!important; border-radius:0!important; }
html[data-theme] .slide-button { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; }

/* download pages (ads untouched) */
html[data-theme] .tu-file-card { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius-lg)!important; padding:20px 22px!important; }
html[data-theme] .tu-file-card > .row > .col-auto:first-child svg { color:var(--tu-accent-text); }
html[data-theme] .download-title { color:var(--tu-text)!important; font-weight:800!important; }
html[data-theme] .download-meta { color:var(--tu-muted); }
html[data-theme] .download-meta a { color:var(--tu-muted)!important; }
html[data-theme] .download-meta a:hover { color:var(--tu-accent-text)!important; }
html[data-theme] .download-btn,html[data-theme] .download-btn:hover,html[data-theme] .alert.download-btn {
  background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; border:1px solid var(--tu-accent)!important;
  border-radius:var(--tu-radius-lg)!important; box-shadow:0 10px 30px -10px color-mix(in srgb,var(--tu-accent) 70%,transparent)!important; max-width:100%; }
html[data-theme] .download-btn:hover,html[data-theme] .alert.download-btn:hover { background:var(--tu-accent-hover)!important; }
html[data-theme] .download-btn[disabled] { background:var(--tu-surface-2)!important; color:var(--tu-muted)!important; border-color:var(--tu-border-strong)!important; box-shadow:none!important; }
html[data-theme] .download-btn .spinner-border { color:var(--tu-accent-text); }
html[data-theme] #direct_link a,html[data-theme] #direct_link a.text-white { color:var(--tu-on-accent)!important; font-weight:800; }
html[data-theme] #direct_link svg path { fill:var(--tu-on-accent)!important; }
html[data-theme] .preview-image { border-color:var(--tu-border)!important; }
html[data-theme] .infoname { color:var(--tu-muted); font-weight:600; }
html[data-theme] .relatedFile-link { color:var(--tu-text)!important; }
html[data-theme] .relatedFile-link:hover { color:var(--tu-accent-text)!important; }

/* login / sign up / contact */
html[data-theme] .login { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:20px!important; padding:2.25rem!important;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.5)!important; margin-top:2rem; }
html[data-theme] .divider-text { border-top-color:var(--tu-border)!important; }
html[data-theme] .divider-text span { background:var(--tu-surface)!important; color:var(--tu-muted); }
html[data-theme] .form-floating > label { color:var(--tu-muted)!important; }
html[data-theme] .form-floating > label::after { background-color:transparent!important; }
html[data-theme] .submit-btn { padding:.7rem 1.4rem; font-weight:800; }

/* my files */
html[data-theme] .top-bar { background:color-mix(in srgb,var(--tu-bg) 90%,transparent)!important; backdrop-filter:blur(8px); border-bottom:1px solid var(--tu-border)!important; }
html[data-theme] .files .table td { color:var(--tu-muted); border-color:var(--tu-border); }
html[data-theme] .files .table td:nth-child(2) a { color:var(--tu-text)!important; font-weight:600; }
html[data-theme] .files .table td:nth-child(2) a:hover { color:var(--tu-accent-text)!important; }
html[data-theme] .paging a,html[data-theme] .paging span { background:var(--tu-surface-2)!important; color:var(--tu-text)!important; border-radius:10px; }
html[data-theme] .paging a:hover { background:var(--tu-border-strong)!important; }
html[data-theme] .paging span { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; font-weight:800; }
html[data-theme] .control-buttons { background:var(--tu-surface)!important; border-top:1px solid var(--tu-border); box-shadow:0 -12px 30px -20px rgba(0,0,0,.6)!important; }
html[data-theme] .form-switcher input { background-color:var(--tu-border-strong)!important; border-color:var(--tu-border-strong)!important; }
html[data-theme] .form-switcher input:checked { background-color:var(--tu-accent)!important; border-color:var(--tu-accent)!important; }
html[data-theme] .check-radio input[type=radio],html[data-theme] .check-radio input[type=checkbox] { background-color:var(--tu-surface-2)!important; border-color:var(--tu-border-strong)!important; }
html[data-theme] .check-radio input:checked { background-color:var(--tu-accent)!important; border-color:var(--tu-accent)!important; }

/* my account */
html[data-theme] .account-tabs.nav-tabs { border-bottom:0; gap:6px; flex-wrap:wrap; }
html[data-theme] .account-tabs.nav-tabs .nav-link { background:var(--tu-surface)!important; color:var(--tu-muted)!important; border:1px solid var(--tu-border)!important;
  border-radius:var(--tu-pill)!important; padding:.5rem 1.1rem; font-weight:700; }
html[data-theme] .account-tabs.nav-tabs .nav-link:hover { color:var(--tu-text)!important; border-color:var(--tu-border-strong)!important; }
html[data-theme] .account-tabs.nav-tabs .nav-link.active,html[data-theme] .account-tabs.nav-tabs .nav-item.show .nav-link {
  background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; border-color:var(--tu-accent)!important; }
html[data-theme] .earn-mode input { background-color:var(--tu-surface-2)!important; border-color:var(--tu-border-strong)!important; }
html[data-theme] .earn-mode input:checked { border-color:var(--tu-accent)!important; background-color:var(--tu-accent)!important; background-image:none!important; box-shadow:inset 0 0 0 4px var(--tu-surface-2); }
html[data-theme] .earn-mode input ~ label { border-color:var(--tu-border-strong)!important; color:var(--tu-text); border-radius:var(--tu-radius)!important; }
html[data-theme] .earn-mode input:checked ~ label { border-color:var(--tu-accent)!important; background:var(--tu-accent-soft)!important; color:var(--tu-text)!important; }
html[data-theme] .earn-mode input:disabled ~ label { background:var(--tu-surface-2)!important; color:var(--tu-faint); }
html[data-theme] .table-rounded { border-color:var(--tu-border)!important; border-radius:var(--tu-radius)!important; }
html[data-theme] .table-rounded th + th,html[data-theme] .table-rounded td + td { border-left-color:var(--tu-border)!important; }

/* premium / payments */
html[data-theme] .tab-buttons { border:1px solid var(--tu-border-strong)!important; background:var(--tu-surface); border-radius:var(--tu-pill)!important; padding:4px; }
html[data-theme] .tab-buttons .nav-link { color:var(--tu-muted)!important; border-radius:var(--tu-pill)!important; padding:.5rem 1.2rem; }
html[data-theme] .tab-buttons .nav-link.active { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; }
html[data-theme] .premiumPlan { background:var(--tu-surface)!important; border:1px solid var(--tu-border); border-radius:20px!important; box-shadow:none!important;
  transition:border-color .2s, transform .2s; height:100%; }
html[data-theme] .premiumPlan:hover { border-color:var(--tu-accent); transform:translateY(-3px); }
html[data-theme] .premiumPlan .fs-1 { color:var(--tu-text)!important; font-weight:800!important; letter-spacing:-.02em; }
.tu-currency { color:var(--tu-muted); }
html[data-theme] .premiumTable { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius-lg)!important; }
html[data-theme] .premiumTable .col { background:var(--tu-surface)!important; color:var(--tu-text)!important; border-left:1px solid var(--tu-border)!important; }
html[data-theme] .premiumTable .col:first-child { color:var(--tu-muted)!important; border-left:0!important; }
html[data-theme] .premiumTable .col.premium { background:var(--tu-accent-soft)!important; color:var(--tu-text)!important; }

/* FAQ */
html[data-theme] .accordion { --bs-accordion-bg:transparent; --bs-accordion-color:var(--tu-text); --bs-accordion-btn-color:var(--tu-text);
  --bs-accordion-active-color:var(--tu-accent-text); --bs-accordion-active-bg:transparent; --bs-accordion-border-color:var(--tu-border);
  --bs-accordion-btn-focus-box-shadow:none; }
html[data-theme] .accordion-item { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:var(--tu-radius)!important;
  margin-bottom:10px; padding:0!important; overflow:hidden; }
html[data-theme] .accordion-item:hover { border-color:var(--tu-border-strong)!important; }
html[data-theme] .accordion-button { background:transparent!important; color:var(--tu-text)!important; font-weight:700!important; font-size:1.05rem!important; padding:1rem 1.25rem; }
html[data-theme] .accordion-button:not(.collapsed) { color:var(--tu-accent-text)!important; }
html[data-theme] .accordion-body,html[data-theme] .text-content { color:var(--tu-muted); }

/* phones */
@media (max-width: 575.98px) {
  html[data-theme] .login { padding:1.5rem!important; border-radius:16px!important; }
  html[data-theme] .tu-file-card { padding:16px!important; }
  html[data-theme] .download-btn { width:100%!important; }
}

/* =========================== Stage 4: header, footer, home (mockup) =========================== */
/* header */
.tu-header-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.tu-header-left,.tu-header-right { display:flex; align-items:center; gap:6px; }
.tu-header-left { gap:4px; min-width:0; }
.tu-nav { margin-right:4px; }
html[data-theme] .tu-menu-btn { color:var(--tu-text)!important; }
html[data-theme] .tu-account-btn { display:inline-flex; align-items:center; gap:8px; background:var(--tu-text)!important; color:var(--tu-bg)!important;
  border:0!important; border-radius:var(--tu-pill)!important; padding:.5rem 1.1rem; font-weight:700; }
html[data-theme] .tu-account-btn:hover,html[data-theme] .tu-account-btn:focus { opacity:.88; }
html[data-theme] .tu-login-link { color:var(--tu-text)!important; font-weight:700; background:transparent!important; border:0!important; padding:.5rem .9rem; }
html[data-theme] .tu-login-link:hover { color:var(--tu-accent-text)!important; }
html[data-theme] .header .reg-btn { height:auto; padding:.5rem 1.2rem; font-weight:800; display:inline-flex; align-items:center; }
html[data-theme] .header-lang .icon-btn img { width:20px; height:20px; border-radius:50%; object-fit:cover; }
html[data-theme] .dropdown-header { color:var(--tu-faint); font-weight:700; }

/* footer: one line */
html[data-theme] .footer.tu-footer { background:transparent!important; padding:0!important; margin-top:4rem; border-top:1px solid var(--tu-border); }
.tu-footer-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; padding:22px 0; }
html[data-theme] .tu-footer-copy,html[data-theme] .tu-footer-copy a { color:var(--tu-muted)!important; text-decoration:none; }
.tu-footer-links { display:flex; flex-wrap:wrap; }
html[data-theme] .tu-footer-links a { color:var(--tu-muted)!important; text-decoration:none; font-size:.95rem; }
.tu-footer-links a + a::before { content:"·"; display:inline-block; margin:0 .5rem; color:var(--tu-faint); }
html[data-theme] .tu-footer-links a:hover { color:var(--tu-accent-text)!important; }

/* home: upload panel */
.tu-upload { max-width:1000px; margin:28px auto 0; }
html[data-theme] .tu-panel { background:var(--tu-surface)!important; border:1px solid var(--tu-border)!important; border-radius:22px!important; padding:20px; overflow:visible; }
.tu-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; border:0; }
html[data-theme] .tu-tabs .nav-link { border:1px solid var(--tu-border-strong); border-radius:var(--tu-pill); color:var(--tu-muted); font-weight:700; padding:.5rem 1.15rem; background:transparent; }
html[data-theme] .tu-tabs .nav-link:hover { color:var(--tu-text); border-color:var(--tu-accent); }
html[data-theme] .tu-tabs .nav-link.active { background:var(--tu-accent); border-color:var(--tu-accent); color:var(--tu-on-accent); }
html[data-theme="light"] .tu-tabs .nav-link.active { background:var(--tu-text); border-color:var(--tu-text); color:#fff; }
.tu-panel-body { padding:0; }
html[data-theme] .tu-panel .dropbox { position:relative; padding:44px 20px 40px!important; border:2px dashed color-mix(in srgb,var(--tu-accent) 45%,var(--tu-border-strong))!important;
  background:var(--tu-surface-2)!important; border-radius:18px!important; margin-bottom:16px; }
html[data-theme] .tu-panel .dropbox:hover { border-color:var(--tu-accent)!important; background:var(--tu-accent-soft)!important; transform:none; }
.tu-drop-icon { color:var(--tu-accent-text); margin-bottom:10px; }
html[data-theme] .dropbox .tu-drop-icon svg { width:48px; height:48px; }
html[data-theme] .dropbox .tu-drop-icon svg path { fill:none!important; }
.tu-drop-title { font-size:1.3rem; font-weight:800; color:var(--tu-text); }
.tu-drop-browse { color:var(--tu-accent-text); text-decoration:underline; text-underline-offset:4px; }
.tu-drop-sub { color:var(--tu-muted); margin-top:2px; }
html[data-theme] .tu-drop-btn { margin-top:18px; padding:.65rem 1.8rem!important; font-weight:800!important; pointer-events:none; }
html[data-theme] .tu-panel .uploadItem { border-radius:16px!important; padding-top:14px; margin-bottom:12px; }
html[data-theme] .uploadItem svg path[fill="#3586FF"] { fill:var(--tu-text); }
.tu-pct { margin-left:auto; color:var(--tu-accent-text); font-weight:800; }
.tu-pct + .link-danger { margin-left:14px!important; }
html[data-theme] .uploadItem .progress { height:8px!important; }
html[data-theme] .uploadItem .progress-bar:not(.file-error) { font-size:0!important; }
html[data-theme] .uploadItem .progress:has(.file-error) { height:auto!important; }
html[data-theme] .uploadItem .progress-bar.file-error { font-size:.8rem!important; padding:4px 10px; }
html[data-theme] .servinfo { color:var(--tu-faint)!important; }

/* tables (My Files etc.): header row was light gray */
html[data-theme] .table thead th { background-color:var(--tu-surface-2)!important; color:var(--tu-muted)!important; border-bottom:1px solid var(--tu-border)!important; }
html[data-theme] .table thead th a { color:inherit!important; }
html[data-theme="dark"] .table thead img { filter:invert(1); }
html[data-theme] .table > :not(caption) > * > * { border-bottom-color:var(--tu-border); }
html[data-theme] .files-total { background:var(--tu-surface-2)!important; color:var(--tu-muted); border:1px solid var(--tu-border); width:auto!important;
  min-width:20px; padding:0 6px; line-height:18px; font-weight:700; }
html[data-theme] .files .table td:nth-child(2) .fld-name a { color:var(--tu-text)!important; }

@media (max-width: 575.98px) {
  .tu-footer-row { flex-direction:column; text-align:center; }
  .tu-footer-links { justify-content:center; }
  html[data-theme] .tu-panel { padding:14px; border-radius:18px!important; }
  html[data-theme] .tu-account-btn { padding:.5rem .7rem; }
}

/* =========================== Stage 5: polish, speed, layout stability =========================== */
/* font: metric-matched fallback so text does not jump when Manrope arrives */
@font-face { font-family:"Manrope Fallback"; src:local("Arial"); size-adjust:104.4%; ascent-override:102.1%; descent-override:28.7%; line-gap-override:0%; }
html[data-theme] { --bs-font-sans-serif:"Manrope","Manrope Fallback",Arial,sans-serif; --bs-body-font-family:var(--bs-font-sans-serif); }
html[data-theme] body,.tu-h1 { font-family:"Manrope","Manrope Fallback",Arial,sans-serif!important; }
html[data-theme] { background:var(--tu-bg); }

/* Angular uploader: keep its space reserved while it starts (no jump) */
[ng-cloak],.ng-cloak { display:none!important; }
.tu-panel #file_upload { min-height:290px; }

/* member upload page */
.tu-upload { margin-top:0!important; padding-top:32px; }
html[data-theme] .tu-panel { padding:20px!important; }
.tu-upload-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.tu-upload-title { font-size:1.7rem; font-weight:800; letter-spacing:-.02em; margin:0 0 4px; color:var(--tu-text); }
html[data-theme] .tu-head-link { padding:.45rem 1rem; font-weight:700; }
html[data-theme] .tu-admin-btn { width:38px; height:38px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--tu-pill)!important;
  background:transparent!important; color:var(--tu-text)!important; border:1px solid var(--tu-border-strong)!important; }
html[data-theme] .tu-admin-btn:hover { border-color:var(--tu-accent)!important; color:var(--tu-accent-text)!important; }

/* text captcha (digits drawn as positioned spans on a fixed box) */
html[data-theme] div[style*="font:bold 13px Arial"] { position:relative; box-sizing:border-box; height:44px!important; width:96px!important; padding:11px 0 0 8px;
  background:var(--tu-surface-2)!important; color:var(--tu-accent-text)!important; border:1px solid var(--tu-border-strong); border-radius:10px;
  font:800 15px/1 "Manrope","Manrope Fallback",Arial,sans-serif!important; }
html[data-theme] .captcha_code { height:44px; max-width:180px; margin-left:8px; }

/* admin: old tab bar (settings, my account) */
html[data-theme] .nav.tabs { background:transparent!important; box-shadow:none!important; padding:0 0 12px!important; gap:6px; border-bottom:1px solid var(--tu-border); margin-bottom:16px; flex-wrap:wrap; white-space:normal; }
html[data-theme] .nav.tabs .nav-link { background:transparent!important; color:var(--tu-muted)!important; border:1px solid var(--tu-border-strong)!important;
  border-radius:var(--tu-pill)!important; margin:0!important; padding:.45rem 1rem; font-weight:700; }
html[data-theme] .nav.tabs .nav-link:hover { color:var(--tu-text)!important; border-color:var(--tu-accent)!important; }
html[data-theme] .nav.tabs .nav-link.active { background:var(--tu-accent)!important; color:var(--tu-on-accent)!important; border-color:var(--tu-accent)!important; }
html[data-theme="light"] .nav.tabs .nav-link.active { background:var(--tu-text)!important; color:#fff!important; border-color:var(--tu-text)!important; }
html[data-theme] #get-more-mods { background:var(--tu-accent-soft)!important; color:var(--tu-accent-text)!important; border:1px solid var(--tu-accent); border-radius:var(--tu-pill)!important;
  padding:.4rem .9rem!important; top:2px!important; text-decoration:none; }
html[data-theme] .settings-logo-light { background:var(--tu-surface-2)!important; color:var(--tu-text)!important; }

@media (max-width: 575.98px) {
  .tu-upload { padding-top:20px; }
  .tu-upload-title { font-size:1.4rem; }
  html[data-theme] #get-more-mods { position:static!important; display:inline-block; margin-top:6px; }
}

/* Stage 5b: header never wider than the screen; no empty gap under the drop box */
.tu-header-left { flex:1 1 auto; }
.tu-header-right { flex:0 1 auto; min-width:0; }
@media (max-width: 1199.98px) {
  .tu-nav { display:none!important; }
  .tu-header-left .dropdown.d-lg-none { display:block!important; }
}
.tu-panel #file_upload { min-height:220px; }

/* =========================== Stage 6: audit fixes =========================== */
html[data-theme] { --bs-border-color:var(--tu-border); --bs-border-color-translucent:var(--tu-border); }
html[data-theme] .tu-upload { padding-top:32px!important; }
html[data-theme] .tu-panel .dropbox { margin-bottom:0!important; }
html[data-theme] .tu-panel .dropbox + * { margin-top:16px; }
html[data-theme] .block-tabs { box-shadow:none!important; }
html[data-theme] .block.p-0 > .tab-content .codes-textarea .form-control { border:0!important; border-top:1px solid var(--tu-border)!important; border-radius:0 0 var(--tu-radius-lg) var(--tu-radius-lg)!important; padding:14px 16px; }
html[data-theme] .login { box-shadow:none!important; }
html[data-theme] .files .table thead th { background:transparent!important; text-transform:uppercase; font-size:.72rem; letter-spacing:.06em; }
html[data-theme] .user-url .copy-source { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; color:var(--tu-text)!important; }
.tu-stat-ico { color:var(--tu-accent-text); }
html[data-theme] .settings-table tr,html[data-theme] .settings-table td { border-color:var(--tu-border)!important; }
.tu-admin-news { margin:12px auto; max-width:900px; max-height:220px; overflow:auto; padding:14px 18px; background:var(--tu-surface); color:var(--tu-text);
  border:1px solid var(--tu-border); border-left:3px solid var(--tu-accent); border-radius:var(--tu-radius); font-size:.9rem; }
.tu-admin-news a { color:var(--tu-accent-text)!important; }
@media (max-width: 575.98px) { html[data-theme] .tu-upload { padding-top:20px!important; } }
/* admin: vendor news table (notifications.js sets an inline yellow background) */
html[data-theme] #notifications { background:var(--tu-surface)!important; color:var(--tu-text)!important; border:1px solid var(--tu-border); border-left:3px solid var(--tu-accent);
  border-radius:var(--tu-radius); width:100%!important; max-width:900px; margin:12px auto!important; display:block; max-height:240px; overflow:auto; padding:10px 14px!important; font-size:.88rem; }
html[data-theme] #notifications td { color:var(--tu-muted)!important; padding:3px 0; border:0!important; }
html[data-theme] #notifications b { color:var(--tu-text); }
html[data-theme] #notifications a { color:var(--tu-accent-text)!important; }
/* phones: one-line Sign up button, footer links without stray separators */
html[data-theme] .header .reg-btn { white-space:nowrap; }
@media (max-width: 575.98px) {
  html[data-theme] .header .reg-btn { padding:.4rem .85rem; font-size:.88rem; }
  .tu-header-right { gap:4px; }
  .tu-footer-links { gap:4px 14px; }
  .tu-footer-links a + a::before { display:none; }
}
