@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Literata:ital,wght@0,400;0,600;1,400&family=Manrope:wght@400;500;700;800&display=swap');

body[data-thydom-portal="app"] {
  --td-bg: #020711;
  --td-bg-2: #06111e;
  --td-surface: rgba(6, 14, 24, .78);
  --td-surface-solid: #07111d;
  --td-surface-low: #091827;
  --td-surface-mid: #0d2033;
  --td-surface-high: #142b43;
  --td-surface-highest: #1b3854;
  --td-text: #eef3f8;
  --td-text-muted: #aeb9c5;
  --td-outline: rgba(98, 135, 177, .35);
  --td-outline-dim: rgba(57, 83, 113, .55);
  --td-gold: #d8b45a;
  --td-gold-dim: #b98d35;
  --td-bronze: #8d6d36;
  --td-secondary: #d8c28a;
  --td-xp: #4f8cff;
  --td-success: #10b981;
  --td-error: #ffb4ab;
  --td-radius: 6px;
  margin: 0;
  min-height: 100vh;
  color: var(--td-text);
  background:
    radial-gradient(circle at 76% 4%, rgba(39, 91, 151, .22), transparent 28rem),
    radial-gradient(circle at 12% 26%, rgba(11, 56, 101, .34), transparent 34rem),
    linear-gradient(135deg, #020711 0%, #06111f 43%, #02040a 100%) !important;
  font-family: Manrope, system-ui, sans-serif;
}

body[data-thydom-portal="app"] * { box-sizing: border-box; }
body[data-thydom-portal="app"] a { color: inherit; }
body[data-thydom-portal="app"] button,
body[data-thydom-portal="app"] input,
body[data-thydom-portal="app"] select,
body[data-thydom-portal="app"] textarea { font: inherit; }

.td-shell { min-height: 100vh; display: grid; grid-template-columns: 280px minmax(0, 1fr); background: transparent !important; }
.td-topbar { position: fixed; top: 0; left: 280px; right: 0; min-height: 72px; z-index: 50; display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 14px 34px; background: rgba(2, 7, 17, .88); border-bottom: 1px solid rgba(98, 135, 177, .16); backdrop-filter: blur(18px); }
.td-sidebar { position: fixed; inset: 0 auto 0 0; width: 280px; padding: 22px 18px; background: linear-gradient(180deg, rgba(2, 7, 17, .98), rgba(3, 13, 25, .97)); border-right: 1px solid rgba(98, 135, 177, .16); backdrop-filter: blur(22px); display: flex; flex-direction: column; gap: 22px; z-index: 60; }
.td-main { grid-column: 2; min-width: 0; padding: 104px 38px 80px; background: radial-gradient(circle at 82% 0%, rgba(28, 70, 121, .18), transparent 34rem), linear-gradient(135deg, rgba(2,7,17,.96), rgba(6,17,31,.92) 48%, rgba(2,4,10,.98)); }
.td-main-inner { width: min(1240px, 100%); margin: 0 auto; }
.td-brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.td-brand img { width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 0 16px rgba(242, 202, 80, .16)); }
.td-brand-title { display: block; font-family: Cinzel, serif; color: var(--td-gold); font-weight: 700; text-transform: uppercase; letter-spacing: .2em; line-height: 1; }
.td-brand-wordmark .td-brand-title { font-size: 28px; letter-spacing: .24em; }
.td-top-wordmark { display: none; font-family: Cinzel, serif; color: var(--td-gold); font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: .24em; }
.td-brand-subtitle { display: block; margin-top: 6px; color: var(--td-text-muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.td-nav { display: grid; gap: 7px; }
.td-nav-title { margin: 16px 10px 7px; color: rgba(208, 197, 175, .62); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.td-nav-link { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 10px 12px; color: rgba(225, 226, 231, .76); text-decoration: none; border-radius: var(--td-radius); border: 1px solid transparent; transition: .18s ease; }
.td-nav-link:hover, .td-nav-link.is-active { color: var(--td-gold); background: rgba(242, 202, 80, .07); border-color: rgba(242, 202, 80, .18); }
.td-nav-link i { width: 20px; text-align: center; color: var(--td-gold-dim); }
.td-sidebar-footer { margin-top: auto; display: grid; gap: 12px; }
.td-user-card { padding: 14px; border: 1px solid var(--td-outline-dim); border-radius: 8px; background: rgba(8, 20, 34, .72); backdrop-filter: blur(16px); }
.td-user-row { display: flex; align-items: center; gap: 12px; }
.td-avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(242, 202, 80, .52); background: var(--td-bronze); color: #111; font-weight: 900; }
.td-avatar img { width: 100%; height: 100%; object-fit: cover; }
.td-user-meta strong { display: block; color: var(--td-text); font-size: 14px; }
.td-user-meta span { display: block; color: var(--td-gold); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.td-xp-track { height: 5px; margin-top: 10px; background: rgba(59, 130, 246, .16); border-radius: 99px; overflow: hidden; }
.td-xp-fill { height: 100%; background: linear-gradient(90deg, var(--td-xp), var(--td-gold)); box-shadow: 0 0 13px rgba(242, 202, 80, .4); }
.td-logout { width: 100%; border: 1px solid rgba(153, 144, 124, .28); color: var(--td-text-muted); background: transparent; padding: 11px 12px; border-radius: var(--td-radius); cursor: pointer; font-weight: 800; text-align: left; }
.td-logout:hover { color: var(--td-gold); border-color: rgba(242, 202, 80, .4); }
.td-mobile-toggle { display: none; border: 1px solid var(--td-outline); background: rgba(8, 20, 34, .82); color: var(--td-gold); width: 44px; height: 44px; border-radius: var(--td-radius); cursor: pointer; }
.td-top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.td-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 12px; border-radius: 99px; border: 1px solid rgba(98, 135, 177, .26); background: rgba(8, 20, 34, .72); color: var(--td-text); font-size: 12px; font-weight: 800; }
.td-pill i { color: var(--td-gold); }
.td-lang { min-height: 36px; border: 1px solid rgba(153, 144, 124, .24); background: rgba(17, 20, 23, .9); color: var(--td-text); border-radius: var(--td-radius); padding: 0 10px; }
.td-top-avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(216, 180, 90, .62); background: linear-gradient(135deg, #7d5e2a, #c89b3e); color: #06111e; text-decoration: none; font-weight: 900; box-shadow: 0 0 18px rgba(216,180,90,.14); }
.td-top-avatar img { width: 100%; height: 100%; object-fit: cover; }
.td-top-logout-form { margin: 0; }
.td-top-logout { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(98, 135, 177, .30); background: rgba(8, 20, 34, .76); color: var(--td-text); cursor: pointer; }
.td-top-logout:hover { color: var(--td-gold); border-color: rgba(216,180,90,.54); }

.td-kicker { margin: 0 0 12px; color: var(--td-gold); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; }
.td-title { margin: 0; font-family: Cinzel, serif; font-size: clamp(34px, 5vw, 68px); line-height: 1.02; letter-spacing: .05em; text-transform: uppercase; color: #f4f7fb; text-shadow: 0 1px 22px rgba(79,140,255,.10); }
.td-subtitle { margin: 14px 0 0; color: var(--td-text-muted); font-family: Literata, serif; font-size: 17px; line-height: 1.65; max-width: 780px; }
.td-section-title { margin: 0 0 18px; font-family: Cinzel, serif; font-size: clamp(22px, 3vw, 34px); letter-spacing: .08em; text-transform: uppercase; color: #f4f7fb; text-shadow: 0 1px 18px rgba(79,140,255,.10); }
.td-hero { position: relative; min-height: 380px; display: grid; align-items: end; padding: clamp(26px, 5vw, 58px); margin-bottom: 28px; overflow: hidden; border: 1px solid rgba(98, 135, 177, .25); border-radius: 8px; background: rgba(5, 14, 25, .78); box-shadow: 0 28px 80px rgba(0,0,0,.32); }
.td-hero-compact { min-height: 230px; }
.td-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 76% 14%, rgba(41,91,151,.25), transparent 30rem), linear-gradient(135deg, rgba(2,7,17,.98), rgba(8,20,34,.74)); z-index: 1; }
.td-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .32; filter: saturate(.85); }
.td-hero-content { position: relative; z-index: 2; }
.td-grid { display: grid; gap: 18px; }
.td-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.td-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.td-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.td-panel { border: 1px solid rgba(98, 135, 177, .22); border-radius: 8px; background: linear-gradient(145deg, rgba(8,20,34,.78), rgba(3,9,18,.78)); backdrop-filter: blur(18px); padding: 22px; box-shadow: 0 18px 52px rgba(0,0,0,.22); }
.td-panel.is-empty { border-style: dashed; color: var(--td-text-muted); }
.td-stat strong { display: block; margin-top: 6px; font-size: 29px; color: var(--td-gold); }
.td-stat span { color: var(--td-text-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.td-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 20px; }
.td-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 15px; border-radius: var(--td-radius); border: 1px solid rgba(98,135,177,.34); background: rgba(8,20,34,.78); color: var(--td-text); text-decoration: none; cursor: pointer; font-weight: 900; }
.td-btn:hover { border-color: rgba(242,202,80,.5); color: var(--td-gold); }
.td-btn-primary { color: #241a00; border-color: transparent; background: linear-gradient(135deg, var(--td-gold), var(--td-bronze)); box-shadow: 0 0 26px rgba(242, 202, 80, .13); }
.td-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border-radius: 99px; background: rgba(242, 202, 80, .10); color: var(--td-secondary); border: 1px solid rgba(242, 202, 80, .18); font-size: 12px; font-weight: 800; }
.td-filters { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(150px, 1fr)) auto; gap: 10px; align-items: end; margin-bottom: 22px; }
.td-filters-achievements { grid-template-columns: minmax(260px, 1.5fr) minmax(170px, 1fr) minmax(150px, .8fr) auto; }
.td-filters-search { grid-template-columns: minmax(260px, 1fr) auto; }
.td-filters-series { grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(150px, 1fr)) auto; }
.td-filter-actions { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.td-field label { display: block; margin-bottom: 6px; color: var(--td-text-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.td-field input, .td-field select, .td-field textarea { width: 100%; min-height: 42px; border: 1px solid rgba(153, 144, 124, .24); border-radius: var(--td-radius); background: rgba(12, 14, 18, .72); color: var(--td-text); padding: 10px 12px; }
.td-field input::placeholder { color: rgba(174, 185, 197, .62); }
.td-field textarea { min-height: 150px; resize: vertical; }
.td-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 20px; }
.td-book-card { display: grid; gap: 12px; text-decoration: none; color: var(--td-text); }
.td-book-cover { position: relative; aspect-ratio: 2/3; overflow: hidden; border-radius: 4px; border: 1px solid rgba(153, 144, 124, .28); background: linear-gradient(135deg, #171a21, #3f3422); box-shadow: 0 20px 38px rgba(0,0,0,.3); }
.td-book-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.td-cover-fallback { width: 100%; height: 100%; display: grid; place-items: center; padding: 18px; color: var(--td-gold); font-family: Cinzel, serif; text-align: center; letter-spacing: .08em; text-transform: uppercase; }
.td-book-title { margin: 0; font-weight: 900; line-height: 1.25; }
.td-book-meta { color: var(--td-text-muted); font-size: 12px; line-height: 1.45; }
.td-series-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.td-series-card { min-height: 210px; display: grid; grid-template-rows: 112px minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(98,135,177,.22); border-radius: 8px; background: linear-gradient(145deg, rgba(8,20,34,.78), rgba(3,9,18,.78)); color: var(--td-text); text-decoration: none; box-shadow: 0 18px 52px rgba(0,0,0,.20); }
.td-series-card:hover { border-color: rgba(216,180,90,.46); }
.td-series-image { display: block; min-height: 112px; background: rgba(2,7,17,.68); overflow: hidden; }
.td-series-image img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .86; }
.td-series-body { display: grid; gap: 8px; padding: 15px; }
.td-series-body .td-kicker { margin-bottom: 0; }
.td-series-body strong { font-family: Cinzel, serif; color: #f4f7fb; font-size: 20px; line-height: 1.16; text-transform: uppercase; letter-spacing: .06em; }
.td-series-body span { color: var(--td-text-muted); font-size: 13px; line-height: 1.45; }
.td-series-body .td-series-meta { color: var(--td-gold); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.td-series-detail-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: -10px 0 22px; }
.td-series-detail-meta span { display: inline-grid; gap: 4px; min-width: 170px; border: 1px solid rgba(98,135,177,.18); border-radius: 8px; padding: 12px 14px; background: rgba(2,7,17,.26); color: var(--td-text); }
.td-series-detail-meta strong { color: var(--td-text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.td-series-books { display: grid; gap: 10px; }
.td-series-book-row { display: grid; grid-template-columns: 54px 74px minmax(0, 1fr); gap: 14px; align-items: center; min-height: 104px; border: 1px solid rgba(98,135,177,.22); border-radius: 8px; background: rgba(5,14,25,.50); color: var(--td-text); text-decoration: none; padding: 12px; }
.td-series-book-row:hover { border-color: rgba(216,180,90,.46); }
.td-series-book-order { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(216,180,90,.36); color: var(--td-gold); font-weight: 900; }
.td-series-book-cover { width: 58px; aspect-ratio: 2 / 3; display: block; overflow: hidden; border: 1px solid rgba(153,144,124,.28); border-radius: 4px; background: rgba(2,7,17,.72); }
.td-series-book-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.td-series-book-copy strong { display: block; color: #f4f7fb; font-weight: 900; }
.td-series-book-copy span { display: block; margin-top: 4px; color: var(--td-text-muted); font-size: 12px; }
.td-book-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.td-book-cover-large { width: 100%; max-width: 260px; }
.td-reading { max-width: 860px; margin: 0 auto; font-family: Literata, serif; font-size: 19px; line-height: 1.85; color: #e7e1d4; }
.td-reading h1, .td-reading h2, .td-reading h3 { font-family: Cinzel, serif; }
.td-chapter-list { display: grid; gap: 10px; }
.td-chapter-item { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid rgba(153, 144, 124, .20); border-radius: 8px; background: rgba(17, 20, 23, .55); }
.td-chapter-num { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(242, 202, 80, .32); color: var(--td-gold); font-weight: 900; }
.td-chapter-actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.td-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.td-wiki-intro h2,
.td-faq-grid h2 { margin: 0 0 10px; }
.td-pagination nav > div:first-child { display: none; }
.td-pagination nav > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.td-pagination a,
.td-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 8px 11px; border: 1px solid rgba(98,135,177,.28); border-radius: var(--td-radius); background: rgba(8,20,34,.62); color: var(--td-text-muted); text-decoration: none; font-size: 12px; font-weight: 900; }
.td-pagination a:hover,
.td-pagination span[aria-current="page"] { border-color: rgba(216,180,90,.62); background: rgba(216,180,90,.14); color: var(--td-gold); }
.td-profile-head { position: relative; min-height: 260px; border: 1px solid rgba(153, 144, 124, .22); border-radius: 8px; overflow: hidden; background-size: cover; background-position: center; }
.td-profile-head::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgba(5,7,10,.95) 88%); }
.td-header-gear { position: absolute; top: 16px; right: 16px; z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(216,180,90,.46); border-radius: 50%; background: rgba(2,7,17,.72); color: var(--td-gold); cursor: pointer; box-shadow: 0 12px 30px rgba(0,0,0,.28); }
.td-header-gear:hover { border-color: rgba(216,180,90,.78); background: rgba(2,7,17,.88); }
.td-profile-inner { position: absolute; left: 28px; right: 28px; bottom: 24px; display: flex; gap: 18px; align-items: flex-end; }
.td-profile-avatar { width: 112px; height: 112px; border-radius: 50%; border: 2px solid var(--td-gold); background: var(--td-bronze); color: #111; display: grid; place-items: center; font-size: 34px; font-weight: 900; overflow: hidden; }
.td-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.td-avatar-edit { position: relative; cursor: pointer; padding: 0; }
.td-avatar-edit span { position: absolute; inset: auto 8px 8px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 24px; border-radius: 99px; background: rgba(2,7,17,.84); color: var(--td-gold); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.td-equipped-title { display: inline-flex; width: fit-content; margin: 8px 0 0; border: 1px solid rgba(216,180,90,.45); border-radius: 99px; padding: 5px 10px; background: rgba(216,180,90,.12); color: var(--td-gold); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.td-feed { display: grid; gap: 14px; }
.td-feed-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
.td-social-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.td-social-feed { display: grid; gap: 0; border: 1px solid rgba(98,135,177,.22); border-radius: 8px; overflow: hidden; background: rgba(5,14,25,.42); }
.td-social-post { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 16px; border-bottom: 1px solid rgba(98,135,177,.18); background: rgba(2,7,17,.22); }
.td-social-post:last-child { border-bottom: 0; }
.td-social-post .td-avatar { width: 44px; height: 44px; text-decoration: none; }
.td-social-post-body p { margin: 8px 0 0; color: var(--td-text); line-height: 1.55; }
.td-social-post-head { display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; }
.td-social-post-head a,
.td-social-post-head > span:first-child { color: var(--td-text); text-decoration: none; font-weight: 900; }
.td-social-post-head span { color: var(--td-text-muted); font-size: 12px; }
.td-social-side { display: grid; gap: 14px; position: sticky; top: 86px; }
.td-mini-user-list { display: grid; gap: 12px; }
.td-mini-user-list a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; color: var(--td-text); text-decoration: none; }
.td-mini-user-list strong { display: block; font-size: 13px; }
.td-mini-user-list small { display: block; margin-top: 3px; color: var(--td-text-muted); font-size: 11px; }
.td-reader-search { display: grid; gap: 10px; margin-bottom: 16px; }
.td-reader-search .td-filter-actions { margin-top: 0; }
.td-pagination-compact a,
.td-pagination-compact span { min-width: 30px; min-height: 30px; padding: 6px 8px; font-size: 11px; }
.td-profile-bio-strip { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; }
.td-profile-bio-strip .td-subtitle { flex: 1 1 420px; }
.td-title-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.td-account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.td-account-item { min-height: 82px; padding: 15px; border: 1px solid rgba(98,135,177,.20); border-radius: 8px; background: rgba(8,20,34,.52); }
.td-account-item span { display: block; color: var(--td-text-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.td-account-item strong { display: block; margin-top: 8px; color: #f4f7fb; font-size: 16px; line-height: 1.35; word-break: break-word; }
.td-checkline { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; color: var(--td-text); font-weight: 800; }
.td-btn-danger { background: rgba(122,29,42,.42); border-color: rgba(255,180,171,.35); color: #ffd7d2; }
.td-btn-danger:hover { color: #fff; border-color: rgba(255,180,171,.70); }
.td-profile-kpis { align-items: stretch; }
.td-profile-kpis .td-stat strong { font-size: clamp(22px, 3vw, 29px); overflow-wrap: anywhere; }
.td-profile-tabs { display: grid; gap: 14px; }
.td-profile-tabbar { display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 1px solid rgba(98,135,177,.18); padding-bottom: 12px; }
.td-profile-tab,
.td-avatar-collection-tab { min-height: 38px; border: 1px solid rgba(98,135,177,.28); border-radius: 8px; background: rgba(8,20,34,.62); color: var(--td-text-muted); padding: 9px 13px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.td-profile-tab.is-active,
.td-avatar-collection-tab.is-active { border-color: rgba(216,180,90,.62); background: rgba(216,180,90,.14); color: var(--td-gold); }
.td-profile-pane,
.td-avatar-collection-panel { display: none; }
.td-profile-pane.is-active,
.td-avatar-collection-panel.is-active { display: block; }
.td-wall-composer { margin: 0 0 16px; }
.td-wall-composer-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 12px; }
.td-wall-composer-head p:not(.td-kicker) { margin: 0; color: var(--td-text-muted); font-size: 13px; }
.td-wall-composer-meta { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.td-wall-composer-meta span { display: inline-flex; min-height: 30px; align-items: center; border: 1px solid rgba(216,180,90,.24); border-radius: 99px; padding: 6px 10px; background: rgba(242,202,80,.08); color: var(--td-gold); font-size: 12px; font-weight: 900; }
.td-wall-composer textarea { min-height: 94px; resize: vertical; }
.td-wall-composer-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--td-text-muted); font-size: 12px; font-weight: 900; }
.td-wall-warning { color: var(--td-error); margin-left: auto; }
.td-wall-composer .td-btn:disabled { opacity: .55; cursor: not-allowed; }
.td-achievement-list { display: grid; gap: 12px; }
.td-achievement-card { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: center; border: 1px solid rgba(98,135,177,.22); border-radius: 8px; background: rgba(2,7,17,.36); padding: 14px; }
.td-achievement-card strong { display: block; color: var(--td-text); font-weight: 900; }
.td-achievement-card span,
.td-achievement-card small { display: block; margin-top: 4px; color: var(--td-text-muted); }
.td-achievement-card small { color: var(--td-gold); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.td-achievement-mark { width: 56px; height: 56px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(216,180,90,.42); border-radius: 50%; background: rgba(216,180,90,.10); color: var(--td-gold); font-size: 22px; }
.td-achievement-mark img { width: 100%; height: 100%; object-fit: cover; }
.td-avatar-modal { position: fixed; inset: 0; z-index: 120; display: none; padding: 24px; background: rgba(2, 7, 17, .78); backdrop-filter: blur(14px); overflow: auto; }
.td-avatar-modal.is-open { display: grid; place-items: center; }
.td-avatar-dialog { width: min(980px, 100%); max-height: min(86vh, 900px); overflow: auto; border: 1px solid rgba(98,135,177,.34); border-radius: 8px; background: linear-gradient(145deg, rgba(8,20,34,.96), rgba(3,9,18,.96)); padding: clamp(18px, 3vw, 30px); box-shadow: 0 30px 90px rgba(0,0,0,.48); }
.td-avatar-dialog-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 16px; }
.td-avatar-cost { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.td-avatar-cost span { display: inline-flex; min-height: 34px; align-items: center; border: 1px solid rgba(216,180,90,.24); border-radius: 99px; padding: 7px 12px; background: rgba(242,202,80,.08); color: var(--td-text-muted); font-size: 12px; font-weight: 800; }
.td-avatar-cost strong { color: var(--td-gold); margin-left: 5px; }
.td-avatar-collection-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.td-avatar-collection-head { margin-bottom: 12px; }
.td-avatar-collection-head .td-section-title { font-size: clamp(22px, 3vw, 32px); }
.td-avatar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 12px; }
.td-header-dialog { width: min(1120px, 100%); }
.td-header-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.td-header-option { display: grid; gap: 8px; padding: 9px; border: 1px solid rgba(98,135,177,.24); border-radius: 8px; background: rgba(2,7,17,.44); cursor: pointer; }
.td-header-option input { position: absolute; opacity: 0; pointer-events: none; }
.td-header-option img { width: 100%; aspect-ratio: 16 / 5; object-fit: cover; border-radius: 6px; border: 1px solid rgba(98,135,177,.34); }
.td-header-option span { color: var(--td-text-muted); font-size: 10px; font-weight: 900; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; letter-spacing: .08em; }
.td-header-option:has(input:checked), .td-header-option.is-current { border-color: rgba(216,180,90,.7); box-shadow: 0 0 0 1px rgba(216,180,90,.18); }
.td-header-option:has(input:disabled) { opacity: .52; cursor: not-allowed; }
.td-avatar-option { display: grid; gap: 7px; padding: 8px; border: 1px solid rgba(98,135,177,.24); border-radius: 8px; background: rgba(2,7,17,.44); cursor: pointer; text-align: center; }
.td-avatar-option input { position: absolute; opacity: 0; pointer-events: none; }
.td-avatar-option img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 2px solid rgba(98,135,177,.28); }
.td-avatar-option span { min-height: 16px; color: var(--td-text-muted); font-size: 10px; font-weight: 900; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-avatar-option:has(input:checked), .td-avatar-option.is-current { border-color: rgba(216,180,90,.7); box-shadow: 0 0 0 1px rgba(216,180,90,.18); }
.td-avatar-option:has(input:disabled) { opacity: .52; cursor: not-allowed; }
.td-ledger-list { display: grid; gap: 10px; }
.td-ledger-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px; gap: 14px; align-items: center; padding: 13px 0; border-bottom: 1px solid rgba(98,135,177,.16); }
.td-ledger-row strong { display: block; color: var(--td-text); }
.td-ledger-row span { display: block; margin-top: 4px; color: var(--td-text-muted); font-size: 12px; }
.td-ledger-amount, .td-ledger-balance { text-align: right; font-weight: 900; }
.td-ledger-amount.is-credit { color: var(--td-success); }
.td-ledger-amount.is-debit { color: var(--td-error); }
.td-ledger-balance { color: var(--td-gold); }
.td-bottom-nav { display: none; }
#backTop { position: fixed; right: 20px; bottom: 20px; display: none; z-index: 80; width: 46px; height: 46px; border: 0; border-radius: 50%; background: linear-gradient(135deg, var(--td-gold), var(--td-bronze)); color: #111; font-weight: 900; cursor: pointer; }

body[data-thydom-portal="app"] .card { border: 1px solid rgba(98, 135, 177, .22); border-radius: 8px; background: linear-gradient(145deg, rgba(8,20,34,.78), rgba(3,9,18,.78)); backdrop-filter: blur(18px); padding: 22px; margin-bottom: 16px; }
body[data-thydom-portal="app"] .cardHero,
body[data-thydom-portal="app"] .libraryHero { background: rgba(5, 14, 25, .86); border: 1px solid rgba(98, 135, 177, .22); color: var(--td-text); }
body[data-thydom-portal="app"] .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
body[data-thydom-portal="app"] .metric { color: var(--td-gold); font-size: 30px; font-weight: 900; }
body[data-thydom-portal="app"] .muted,
body[data-thydom-portal="app"] .lead { color: var(--td-text-muted); }
body[data-thydom-portal="app"] .btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 10px 14px; border-radius: var(--td-radius); border: 1px solid rgba(153,144,124,.34); background: linear-gradient(135deg, var(--td-gold), var(--td-bronze)); color: #241a00; text-decoration: none; font-weight: 900; cursor: pointer; }
body[data-thydom-portal="app"] .btnLight { background: rgba(8,20,34,.78); color: var(--td-text); }
body[data-thydom-portal="app"] .actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
body[data-thydom-portal="app"] h1,
body[data-thydom-portal="app"] h2,
body[data-thydom-portal="app"] h3 { font-family: Cinzel, serif; letter-spacing: .05em; color: #f4f7fb; }

.td-login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .78fr); background: radial-gradient(circle at 30% 25%, rgba(22, 78, 130, .22), transparent 34rem), linear-gradient(135deg, #020711 0%, #071423 48%, #02040a 100%); }
.td-login-brand { position: relative; min-height: 100vh; display: grid; align-items: end; padding: clamp(34px, 6vw, 74px); overflow: hidden; border-right: 1px solid rgba(98, 135, 177, .16); }
.td-login-brand::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 44% 42%, rgba(216,180,90,.13), transparent 18rem), radial-gradient(circle at 0% 100%, rgba(32,82,133,.28), transparent 32rem); }
.td-login-brand-inner { position: relative; z-index: 1; max-width: 720px; }
body[data-thydom-portal="app"] .td-login-wordmark { margin: 0; font-family: Cinzel, serif; color: var(--td-gold); font-size: clamp(64px, 9vw, 132px); font-weight: 700; letter-spacing: .12em; line-height: .9; text-transform: uppercase; text-shadow: 0 8px 36px rgba(216,180,90,.14); }
.td-login-copy { margin: 22px 0 0; color: #eef3f8; font-size: clamp(17px, 2vw, 24px); letter-spacing: .08em; text-transform: uppercase; }
.td-login-access { display: grid; place-items: center; padding: clamp(20px, 5vw, 64px); background: linear-gradient(145deg, rgba(2,7,17,.82), rgba(8,20,34,.72)); }
.td-login-panel { width: min(500px, 100%); border: 1px solid rgba(98, 135, 177, .34); border-radius: 12px; background: rgba(4, 11, 21, .76); padding: clamp(24px, 4vw, 42px); box-shadow: 0 28px 90px rgba(0,0,0,.42); backdrop-filter: blur(22px); }
.td-login-panel .td-section-title { font-size: clamp(30px, 4vw, 44px); }
.td-login-panel .td-actions { justify-content: flex-start; }

@media (max-width: 1100px) {
  .td-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .td-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .td-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .td-shell { display: block; }
  .td-sidebar { transform: translateX(-105%); transition: transform .2s ease; }
  body.td-nav-open .td-sidebar { transform: translateX(0); }
  .td-topbar { left: 0; padding: 12px 16px; justify-content: space-between; }
  .td-top-wordmark { display: inline-block; }
  .td-mobile-toggle { display: inline-grid; place-items: center; }
  .td-main { padding: 92px 16px 92px; }
  .td-top-actions .td-pill { display: none; }
  .td-brand-subtitle { display: none; }
  .td-grid-2, .td-grid-3, .td-grid-4, .td-book-layout, .td-filters { grid-template-columns: 1fr; }
  .td-faq-grid { grid-template-columns: 1fr; }
  .td-chapter-item { grid-template-columns: 42px minmax(0, 1fr); }
  .td-chapter-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .td-social-layout { grid-template-columns: 1fr; }
  .td-social-side { position: static; }
  .td-title-picker { grid-template-columns: 1fr; }
  .td-ledger-row { grid-template-columns: 1fr; }
  .td-ledger-amount, .td-ledger-balance { text-align: left; }
  .td-title { font-size: clamp(30px, 11vw, 46px); }
  .td-hero { min-height: 320px; padding: 24px; }
  .td-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-template-columns: repeat(5, 1fr); background: rgba(5, 7, 10, .94); border-top: 1px solid rgba(153,144,124,.18); backdrop-filter: blur(18px); }
  .td-bottom-nav a { display: grid; place-items: center; gap: 4px; padding: 9px 2px; color: var(--td-text-muted); text-decoration: none; font-size: 10px; }
  .td-bottom-nav a.is-active { color: var(--td-gold); }
  .td-login-shell { display: block; }
  .td-login-brand { min-height: 42vh; padding: 28px; }
  .td-login-access { min-height: 58vh; }
  .td-login-wordmark { font-size: clamp(46px, 15vw, 78px); }
}

/* THYDOM_LIBRARY_PAGINATION_ICON_PASS2_START */
.td-pagination svg,
.td-pagination nav svg,
.td-pagination a svg,
.td-pagination span svg {
  width: 16px;
  height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex: 0 0 16px;
  display: inline-block;
  vertical-align: middle;
}

.td-pagination nav[role="navigation"] {
  width: 100%;
}

.td-pagination nav[role="navigation"] > div {
  max-width: 100%;
}

.td-pagination p {
  color: var(--td-text-muted);
  font-size: 12px;
}
/* THYDOM_LIBRARY_PAGINATION_ICON_PASS2_END */

/* THYDOM_SIDEBAR_COLLAPSIBLE_PASS4C_CSS_START */
.td-nav-section {
  display: grid;
  gap: 7px;
}

.td-nav-section.is-collapsed {
  display: none;
}

.td-nav-section-toggle {
  width: calc(100% - 20px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  line-height: 1.2;
}

.td-nav-section-toggle i {
  color: rgba(208, 197, 175, .62);
  font-size: 10px;
  transition: transform .16s ease;
}

.td-nav-section-toggle.is-collapsed i {
  transform: rotate(-90deg);
}

.td-nav-section-toggle:hover {
  color: var(--td-gold);
}
/* THYDOM_SIDEBAR_COLLAPSIBLE_PASS4C_CSS_END */


/* THYDOM_MOBILE_NAV_IPHONE_PASS2BL_START */
@media (max-width: 860px) {
  body[data-thydom-portal="app"].td-nav-open {
    overflow: hidden;
  }

  .td-sidebar {
    z-index: 95;
    width: min(82vw, 340px);
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
  }

  .td-brand-wordmark .td-brand-title {
    font-size: clamp(24px, 8vw, 34px);
    letter-spacing: .18em;
  }

  .td-nav {
    min-height: 0;
    padding-bottom: 16px;
  }

  .td-nav-link {
    min-height: 44px;
  }

  .td-sidebar-footer {
    margin-top: 18px;
    padding-bottom: 8px;
  }

  .td-bottom-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding-bottom: env(safe-area-inset-bottom);
  }

  .td-bottom-nav a {
    min-width: 0;
    padding: 7px 1px;
    font-size: 9px;
    line-height: 1.15;
  }

  .td-bottom-nav a span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/* THYDOM_MOBILE_NAV_IPHONE_PASS2BL_END */

/* THYDOM_MOBILE_NAV_FULL_COMPACT_PASS2BO_START */
@media (max-width: 860px) {
  body[data-thydom-portal="app"].td-nav-open {
    overflow: hidden;
  }

  body[data-thydom-portal="app"] .td-sidebar {
    z-index: 95;
    width: min(80vw, 320px);
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    box-sizing: border-box;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    gap: 14px;
    padding: 18px 14px calc(92px + env(safe-area-inset-bottom));
  }

  body[data-thydom-portal="app"] .td-brand-wordmark .td-brand-title {
    font-size: clamp(24px, 7.5vw, 32px);
    letter-spacing: .16em;
  }

  body[data-thydom-portal="app"] .td-brand-subtitle {
    display: none;
  }

  body[data-thydom-portal="app"] .td-nav {
    gap: 13px;
    min-height: 0;
    align-content: start;
    padding-bottom: 0;
  }

  body[data-thydom-portal="app"] .td-nav-section-toggle {
    width: 100%;
    min-height: 34px;
    padding: 3px 4px;
    letter-spacing: .2em;
    font-size: 12px;
  }

  body[data-thydom-portal="app"] .td-nav-section {
    gap: 5px;
  }

  body[data-thydom-portal="app"] .td-nav-link {
    min-height: 42px;
    padding: 9px 10px;
    gap: 10px;
    font-size: 15px;
  }

  body[data-thydom-portal="app"] .td-nav-link i {
    width: 22px;
    min-width: 22px;
    text-align: center;
  }

  body[data-thydom-portal="app"] .td-sidebar-footer {
    margin-top: 4px;
    display: grid;
    gap: 8px;
    padding-bottom: 0;
  }

  body[data-thydom-portal="app"] .td-sidebar-footer .td-user-card,
  body[data-thydom-portal="app"] .td-sidebar-footer [class*="user"],
  body[data-thydom-portal="app"] .td-sidebar-footer [class*="profile"] {
    max-width: 100%;
  }

  body[data-thydom-portal="app"] .td-bottom-nav {
    z-index: 70;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding-bottom: env(safe-area-inset-bottom);
  }

  body[data-thydom-portal="app"] .td-bottom-nav a {
    min-width: 0;
    padding: 7px 1px;
    font-size: 9px;
    line-height: 1.15;
  }

  body[data-thydom-portal="app"] .td-bottom-nav a span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/* THYDOM_MOBILE_NAV_FULL_COMPACT_PASS2BO_END */
