/* TU DAO dark cultivation theme — public UI only. Reader core intentionally untouched. */
:root{
  --ng-bg:#121210;
  --ng-text:#f2ede3;
  --ng-accent:#b92a1e;
  --ng-accent-hover:#d43a29;
  --ng-border:#3b3021;
  --ng-muted:#aaa397;
  --ng-focus:#d7ad63;
  --td-bg:#121210;
  --td-surface:#181815;
  --td-surface-2:#1f1d18;
  --td-surface-3:#252118;
  --td-gold:#c99b50;
  --td-gold-2:#e4bc72;
  --td-gold-soft:#7f6134;
  --td-red:#9f2118;
  --td-red-2:#c52c1f;
  --td-text:#f2ede3;
  --td-muted:#aaa397;
  --td-line:#3b3021;
  color-scheme:dark;
}
html{background:var(--td-bg)}
body{
  background:
    radial-gradient(circle at 50% -8%,rgba(145,81,25,.16),transparent 34rem),
    linear-gradient(180deg,#15130f 0,#121210 34rem,#11110f 100%);
  color:var(--td-text);
}
a{color:var(--td-gold-2)}
a:hover,a:focus-visible{color:#f3d89b}

/* Header */
.ng-site-header{
  background:rgba(18,18,16,.96);
  border-bottom:1px solid rgba(201,155,80,.42);
  box-shadow:0 5px 24px rgba(0,0,0,.24);
}
.ng-site-brand{padding:10px 0 9px;color:var(--td-text)}
.ng-site-logo-mark{
  width:44px;height:44px;
  border:1px solid rgba(228,188,114,.68);
  background:radial-gradient(circle at 35% 28%,#6f2418 0,#321713 46%,#18140f 100%);
  color:var(--td-gold-2);
  box-shadow:0 0 0 3px rgba(201,155,80,.08),0 6px 20px rgba(0,0,0,.3);
}
.ng-site-logo-text{margin-top:4px;color:var(--td-gold-2);text-shadow:0 1px 0 #5a3316,0 0 16px rgba(201,155,80,.16)}
.ng-site-tagline{color:#bfb6a5;font-weight:650}

/* Homepage shell */
.ng-home{width:min(100%,1120px);padding-top:14px}
.td-hero{
  width:100%;margin:0 0 16px;overflow:hidden;
  border:1px solid rgba(201,155,80,.58);border-radius:16px;
  background:#17140f;
  box-shadow:0 14px 38px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,217,146,.05);
}
.td-hero__image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.td-story-shelf{
  position:relative;
  margin:20px 0 0;
  padding:14px 12px 12px;
  border:1px solid #684a29;
  border-radius:12px;
  background:
    radial-gradient(circle at 50% 0,rgba(128,68,25,.13),transparent 46%),
    linear-gradient(180deg,#17140f,#11110e);
  box-shadow:0 15px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(226,178,91,.05);
}
.td-story-shelf::before,.td-story-shelf::after{
  content:"◆";
  position:absolute;
  top:-9px;
  width:24px;
  color:#bd8743;
  background:#12110e;
  font-size:.7rem;
  line-height:18px;
  text-align:center;
}
.td-story-shelf::before{left:17px}.td-story-shelf::after{right:17px}
.td-section-heading{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 0 13px;padding:0 0 10px;border-bottom:1px solid rgba(201,155,80,.3)}
.td-section-heading::before,.td-section-heading::after{content:"";width:min(13vw,74px);height:1px;background:linear-gradient(90deg,transparent,#a8773c)}
.td-section-heading::after{transform:scaleX(-1)}
.td-section-heading h2{margin:0;color:var(--td-gold-2);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.14rem,4.6vw,1.48rem);letter-spacing:.035em;text-align:center;text-shadow:0 1px 0 #422411}

/* Adult quick strip */
.ct-home-adult{
  margin:0 0 15px;padding:14px;
  border:1px solid var(--td-line);border-radius:16px;
  background:linear-gradient(180deg,#1c1914,#171612);
  box-shadow:0 9px 26px rgba(0,0,0,.2);
}
.ct-home-adult__head{margin-bottom:11px}
.ct-home-adult__head h2{color:var(--td-gold-2);font-family:Georgia,"Times New Roman",serif}
.ct-home-adult__head a{color:var(--td-gold)}
.ct-home-adult__list a{
  border-color:#4a3925;background:#242018;color:#eadfcd;
  box-shadow:inset 0 1px rgba(255,255,255,.02)
}
.ct-home-adult__list a:hover,.ct-home-adult__list a:focus-visible{border-color:var(--td-gold);color:#fff4da;background:#2b2419}

/* Name and alphabet chips */
.ng-home-names__link,.ng-search-names__item{
  border-color:#443625;background:#1b1915;color:#d8c9b4;
}
.ng-home-names__link.is-active,.ng-alphabet__link.is-active{
  border-color:#d14a32;background:linear-gradient(180deg,#b72d20,#7f1b15);color:#fff4df;
  box-shadow:0 3px 12px rgba(143,31,22,.24)
}
.ng-alphabet{border-color:var(--td-line)}
.ng-alphabet__link{color:#c8bcaa;border-color:transparent}
.ng-alphabet__link:hover,.ng-alphabet__link:focus-visible{border-color:#735a35;color:var(--td-gold-2);background:#1c1914}

/* Story cards — compact cổ trang tile: image -> title -> character name. */
.ng-story-grid{gap:14px 10px}
.ng-story-card{
  position:relative;
  overflow:hidden;
  border:1px solid #72532c;
  border-radius:9px;
  background:
    linear-gradient(180deg,rgba(49,36,20,.34),transparent 34%),
    linear-gradient(180deg,#1a1712,#100f0d);
  box-shadow:
    0 10px 26px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(231,189,105,.06);
}
.ng-story-card::after{
  content:"";
  position:absolute;
  inset:4px;
  z-index:0;
  border:1px solid rgba(201,155,80,.16);
  border-radius:6px;
  pointer-events:none;
}
.ng-story-card__corner{
  position:absolute;
  z-index:3;
  width:14px;
  height:14px;
  pointer-events:none;
  opacity:.88;
}
.ng-story-card__corner::before,.ng-story-card__corner::after{content:"";position:absolute;background:#d0a357;box-shadow:0 0 6px rgba(208,163,87,.22)}
.ng-story-card__corner::before{width:11px;height:1px}
.ng-story-card__corner::after{width:1px;height:11px}
.ng-story-card__corner--tl{top:3px;left:3px}.ng-story-card__corner--tl::before,.ng-story-card__corner--tl::after{top:0;left:0}
.ng-story-card__corner--tr{top:3px;right:3px;transform:scaleX(-1)}.ng-story-card__corner--tr::before,.ng-story-card__corner--tr::after{top:0;left:0}
.ng-story-card__corner--bl{bottom:3px;left:3px;transform:scaleY(-1)}.ng-story-card__corner--bl::before,.ng-story-card__corner--bl::after{top:0;left:0}
.ng-story-card__corner--br{right:3px;bottom:3px;transform:scale(-1)}.ng-story-card__corner--br::before,.ng-story-card__corner--br::after{top:0;left:0}
.ng-story-card__image-link{
  position:relative;
  z-index:1;
  display:block;
  aspect-ratio:4/5;
  margin:6px 6px 0;
  overflow:hidden;
  border:1px solid rgba(228,188,114,.48);
  border-radius:5px 5px 2px 2px;
  background:#24211b;
  box-shadow:inset 0 0 18px rgba(0,0,0,.25);
}
.ng-story-card__image{object-position:center top;transition:transform .22s ease,filter .22s ease}
.ng-story-card__image-link:hover .ng-story-card__image,.ng-story-card__image-link:focus-visible .ng-story-card__image{transform:scale(1.025);filter:brightness(1.04)}
.ng-story-card__badge{
  position:absolute;
  top:7px;
  left:7px;
  z-index:2;
  min-width:39px;
  padding:4px 7px 3px;
  border:1px solid #d06c47;
  border-radius:3px 3px 7px 3px;
  background:linear-gradient(180deg,#b43122,#711912);
  box-shadow:0 3px 8px rgba(0,0,0,.32),inset 0 1px rgba(255,226,180,.14);
  color:#ffe9c5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
  text-align:center;
}
.ng-story-card__body{position:relative;z-index:1;padding:8px 9px 9px}
.ng-story-card__title{
  display:-webkit-box;
  min-height:2.55em;
  overflow:hidden;
  color:#edc679;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.9rem,3.75vw,1.02rem);
  font-weight:800;
  line-height:1.27;
  text-decoration:none;
  text-shadow:0 1px 0 #26170c;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.ng-story-card__title:hover,.ng-story-card__title:focus-visible{color:#ffe0a2}
.ng-story-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
  margin-top:7px;
  padding:7px 0 0;
  border-top:1px solid rgba(201,155,80,.2);
}
.ng-story-card__name{
  display:block;
  min-width:0;
  overflow:hidden;
  color:#c5b7a2;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.76rem,3.2vw,.9rem);
  font-weight:650;
  line-height:1.2;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ng-story-card__name::before{content:"✦";margin-right:5px;color:#8f6c36;font-size:.68em;vertical-align:.12em}
.ng-story-card__name:hover,.ng-story-card__name:focus-visible{color:var(--td-gold-2)}
.ng-story-card__love{gap:3px;color:#d95749;font-size:.78rem}
.ng-story-card__love svg{width:14px;height:14px}
.ng-home__empty,.ng-search-page__empty,.ng-adult-empty{border-color:#4a3a27;background:#181713;color:var(--td-muted)}
.ng-load-more-button{
  border-color:var(--td-gold);background:#181713;color:var(--td-gold-2);
  box-shadow:0 7px 20px rgba(0,0,0,.2)
}
.ng-load-more-button:hover,.ng-load-more-button:focus-visible{border-color:#e0b96e;background:#2a2116;color:#fff3d8}

/* Shared public panels */
.ng-submit__panel,.ng-account__panel,.ng-request-page__form-card,.ng-request-page__public,.ng-page__article,.ng-poem-item{
  border-color:var(--td-line)!important;background:linear-gradient(180deg,#1b1915,#171612)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.24)!important;color:var(--td-text)!important;
}
.ng-submit__eyebrow,.ng-account__eyebrow,.ng-request-page__eyebrow,.ng-page__eyebrow{color:var(--td-gold-2)!important}
.ng-submit h1,.ng-account h1,.ng-request-page h1,.ng-page__header h1,.ng-search-page__title{color:var(--td-text)}
.ng-submit__intro,.ng-account__intro,.ng-account__status,.ng-request-page__intro>p:last-child,.ng-search-page__summary,.ng-page__content{color:#c3baa9}
.ng-page__header,.ng-account__favorites{border-color:var(--td-line)}

/* Forms */
.ng-search-form__input,
.ng-submit-form input[type="text"],
.ng-request-form input[type="text"],
.ng-login-form input,.ng-login-form select,
.ng-register-form input,.ng-register-form select{
  border-color:#4a3b29!important;background:#151410!important;color:#f3eadc!important;
  box-shadow:inset 0 1px rgba(255,255,255,.02)
}
.ng-search-form__input::placeholder,.ng-submit-form input::placeholder,.ng-request-form input::placeholder,.ng-login-form input::placeholder,.ng-register-form input::placeholder{color:#7f776b}
.ng-submit-form label,.ng-submit-form__label,.ng-request-form>label,.ng-login-form label,.ng-register-form label{color:#e9dfce!important}
.ng-body-trigger{border-color:#58472f;background:#181713;color:var(--td-text)}
.ng-body-trigger:hover,.ng-body-trigger:focus-visible{border-color:var(--td-gold);background:#201b14}
.ng-body-trigger__title{color:var(--td-gold-2)}
.ng-body-trigger__meta{color:#e0d4c1}
.ng-auth-button{background:linear-gradient(180deg,#b52d21,#841d17);box-shadow:0 8px 20px rgba(118,26,19,.25)}
.ng-auth-button:hover,.ng-auth-button:focus-visible{background:linear-gradient(180deg,#cb3a2a,#962119)}
.ng-auth-button--neutral{background:#28231c;color:#eadfcf;border:1px solid #4d3e2b}

/* Account tabs/favorites */
.ng-account-tabs{background:#13120f;border:1px solid #3b3021}
.ng-account-tabs__button{color:#a99f91}
.ng-account-tabs__button.is-active{background:#272117;color:var(--td-gold-2);box-shadow:none}
.ng-account__admin-links a,.ng-account__favorites-list a{border-color:#443624;background:#191713;color:#eadfce}
.ng-account__favorites-list a:hover,.ng-account__favorites-list a:focus-visible{border-color:var(--td-gold)}

/* Request / poem */
.ng-request-page__count,.ng-poem-page__count{background:#2a2117!important;color:var(--td-gold-2)!important}
.ng-request-list__item{border-color:#332a1e}
.ng-poem-page__empty{background:#181713!important;color:var(--td-muted)!important}

/* Search */
.ng-search-names__title{color:var(--td-gold-2)}

/* Adult listing/direct page — not the fullscreen Reader */
.ng-adult-page,.ng-adult-direct-page{color:var(--td-text);--ng-adult-ink:#f0e7d8;--ng-adult-muted:#a89e90;--ng-adult-line:#3b3021;--ng-adult-soft:#191713;--ng-adult-pink:#c99b50}
.ng-adult-page__header p,.ng-adult-recent h2,.ng-adult-letter-section h2,.ng-adult-direct__back{color:var(--td-gold-2)}


/* Direct story page (fullscreen reader styles are intentionally not overridden) */
.ng-story-single__name,.ng-story-single__title{color:var(--td-text)}
.ng-story-single__date,.ng-story-single__views{color:var(--td-muted)}
.ng-story-single__image{background:#24211b;box-shadow:0 12px 32px rgba(0,0,0,.26)}
.ng-story-single__body{color:#e9e0d2}
.ng-story-page__not-found{border-color:var(--td-line);background:#181713}

/* Menu bottom sheet */
.ng-menu__backdrop{background:rgba(4,4,3,.74)}
.ng-menu__sheet{background:#181713;border:1px solid #493a29;box-shadow:0 -18px 55px rgba(0,0,0,.46)}
.ng-menu__handle{background:#6d5839}
.ng-menu__header{border-color:var(--td-line)}
.ng-menu__eyebrow{color:var(--td-gold-2)}
.ng-menu__header h2{color:var(--td-text)}
.ng-menu__close{border-color:#4a3a28;background:#242019;color:#eadfce}
.ng-menu__links a{border-color:#3f3222;background:#1f1c17;color:#e8ddcb}
.ng-menu__links a span:last-child{color:var(--td-gold-2)}
.ng-menu__empty{background:#1d1b16;color:var(--td-muted)}

/* Bottom nav */
.ng-bottom-nav{
  background:rgba(20,19,16,.97)!important;
  border-top:1px solid rgba(201,155,80,.38)!important;
  box-shadow:0 -8px 28px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(12px);
}
.ng-bottom-nav__inner{background:rgba(20,19,16,.97)!important}
.ng-bottom-nav__item{color:#a99f90!important}
.ng-bottom-nav__bubble{color:#a99f90!important}
.ng-bottom-nav__label{color:#a99f90!important}
.ng-bottom-nav__item.is-active{color:var(--td-gold-2)!important}
.ng-bottom-nav__item.is-active .ng-bottom-nav__bubble{color:var(--td-gold-2)!important;background:#2a2117!important;box-shadow:inset 0 0 0 1px #604825!important;border-radius:10px!important}
.ng-bottom-nav__item.is-active .ng-bottom-nav__label{color:#fff2d7!important;background:linear-gradient(180deg,#ad2a1f,#7f1b15)!important}

/* Compact desktop adjustments */
@media(min-width:768px){
  .ng-site-brand{flex-direction:row;gap:10px;padding:9px 0;width:min(100% - 40px,1080px)}
  .ng-site-logo-text{margin:0;font-size:30px}
  .ng-site-tagline{margin:0 0 0 auto;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
  .td-hero{border-radius:20px;margin-bottom:20px}
  .ng-story-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px}
}
@media(min-width:1024px){
  .ng-story-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 12px}
}
@media(max-width:480px){
  .ng-home{padding-inline:10px}
  .td-hero{border-radius:12px;margin-bottom:12px}
  .ng-story-card{border-radius:8px}
  .ng-story-card__image-link{margin:5px 5px 0;border-radius:4px 4px 2px 2px}
  .ng-story-card__body{padding:7px 8px 8px}
  .ng-story-card__meta{padding-top:6px}
}


/* Submit / Chapter composer uses the Tu Dao dark palette (Reader core untouched). */
.ng-submit-button{background:linear-gradient(180deg,#b52d21,#841d17)!important;color:#fff4e0!important;box-shadow:0 8px 20px rgba(118,26,19,.25)!important}.ng-submit-button:hover,.ng-submit-button:focus-visible{background:linear-gradient(180deg,#cb3a2a,#962119)!important}.ng-submit-button:disabled{background:#3a342d!important;color:#8f877b!important;box-shadow:none!important}.ng-composer,.ng-composer__header,.ng-composer__workspace,.ng-composer__textarea{background:#121210!important;color:#f2ede3!important}.ng-composer__header{border-bottom-color:#433623!important;box-shadow:0 2px 10px rgba(0,0,0,.3)!important}.ng-composer__counter{color:#e4bc72!important}.ng-composer__heading span,.ng-composer__save{color:#aaa397!important}.ng-composer__textarea{caret-color:#e4bc72!important}.ng-composer__textarea::placeholder{color:#746c61!important}
