/* Luxe Dark 1.0.1 — all presentation is scoped to the server-marked home. */
body.tnx-luxe-home {
  --tnx-bg:#0a090b; --tnx-surface:#121115; --tnx-line:#26232a;
  --tnx-text:#ddd3db; --tnx-muted:#aaa0a9; --tnx-pink:#cf6e97;
  margin:0; min-height:100vh; background:var(--tnx-bg); color:var(--tnx-text);
  font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* No transform/filter/contain or alternate scroll container on html/body. */
.tnx-luxe-home .tnx-home,.tnx-luxe-home .tnx-header,.tnx-luxe-home .tnx-home *,
.tnx-luxe-home .tnx-header * {box-sizing:border-box}
.tnx-luxe-home a {color:inherit}
.tnx-luxe-home .tnx-home a,.tnx-luxe-home .tnx-header a {text-decoration:none;touch-action:manipulation}
.tnx-luxe-home button,.tnx-luxe-home input {font:inherit}
.tnx-luxe-home a:focus-visible,.tnx-luxe-home button:focus-visible,.tnx-luxe-home input:focus-visible,
.tnx-luxe-home summary:focus-visible {outline:2px solid var(--tnx-pink);outline-offset:4px}
.tnx-luxe-home .tnx-wrap {width:min(1320px,calc(100% - 48px));margin-inline:auto}
.tnx-luxe-home .tnx-skip {position:absolute;top:-100px;left:12px;padding:12px;background:#21141b;z-index:1000}
.tnx-luxe-home .tnx-skip:focus {top:12px}
.tnx-luxe-home .tnx-icons {position:absolute;width:0;height:0;pointer-events:none}
.tnx-luxe-home .tnx-header {border-bottom:1px solid #232227;background:var(--tnx-bg)}
.tnx-luxe-home .tnx-header-inner {min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tnx-luxe-home .tnx-brand {display:flex;align-items:center;gap:13px;min-width:0}
.tnx-luxe-home .tnx-brand-icon {width:37px;height:42px;padding:4px;border:1px solid #766f79;border-radius:4px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}
.tnx-luxe-home .tnx-brand strong {display:block;font-size:17px;letter-spacing:.11em;line-height:1.15}
.tnx-luxe-home .tnx-brand small {display:block;font:9px Arial,sans-serif;letter-spacing:.32em;color:var(--tnx-muted);margin-top:6px}
.tnx-luxe-home .tnx-account {display:flex;gap:12px;align-items:center;flex:none}
.tnx-luxe-home .tnx-account a {display:flex;align-items:center;min-height:44px;font-size:11px;color:var(--tnx-muted)}
.tnx-luxe-home #content.tnx-home {margin:0;padding:0;width:auto;max-width:none;background:none;border:0}
.tnx-luxe-home .tnx-nav {border-bottom:0;padding:33px 0 30px}
.tnx-luxe-home .tnx-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:23px}
.tnx-luxe-home .tnx-heading h1 {font-size:25px;letter-spacing:.09em;font-weight:650;margin:0}
.tnx-luxe-home .tnx-heading p {font:10px Arial,sans-serif;letter-spacing:.18em;color:var(--tnx-muted);margin:0}
.tnx-luxe-home .tnx-nav-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:18px;row-gap:8px;background:transparent}
.tnx-luxe-home .tnx-nav-item {grid-column:auto;position:relative;min-width:0;min-height:126px;padding:20px 10px 18px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
  background:transparent;color:#c7bec5;border:0;border-radius:0;
  transition:background-color .16s,color .16s,box-shadow .16s}
.tnx-luxe-home .tnx-nav-item:nth-child(n+6) {grid-column:auto;min-height:126px;flex-direction:column;gap:13px}
.tnx-luxe-home .tnx-nav-number {display:none}

.tnx-luxe-home .tnx-nav-item svg {width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;opacity:.92}
.tnx-luxe-home .tnx-nav-item:nth-child(n+6) svg {width:31px;height:31px}
.tnx-luxe-home .tnx-nav-label {font-size:15px;font-weight:650;letter-spacing:.02em;text-align:center;overflow-wrap:anywhere}
.tnx-luxe-home .tnx-nav-item.is-active {background:linear-gradient(180deg,rgba(122,47,84,.16),rgba(76,29,52,.06));color:#f08fbc;box-shadow:inset 0 -3px 0 #df79ab,0 0 0 1px rgba(223,121,171,.06)}
.tnx-luxe-home .tnx-nav-item.is-active .tnx-nav-number {color:#d58dae}
@media (hover:hover) {
  .tnx-luxe-home .tnx-nav-item:hover {background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008));color:#f1e8ed;box-shadow:inset 0 -2px 0 rgba(255,255,255,.14)}
  .tnx-luxe-home .tnx-nav-item.is-active:hover {background:linear-gradient(180deg,rgba(140,58,97,.22),rgba(88,36,61,.09));color:#ff9bc9;box-shadow:inset 0 -3px 0 #eb86b7,0 0 0 1px rgba(235,134,183,.09)}
  .tnx-luxe-home .tnx-card:hover,.tnx-luxe-home .tnx-featured:hover {border-color:#775366}
  .tnx-luxe-home .tnx-more:hover,.tnx-luxe-home .tnx-action:hover {background:#21141b;border-color:#a95b7e}
}
.tnx-luxe-home .tnx-content {padding-top:32px;padding-bottom:35px}
.tnx-luxe-home .tnx-section-head {display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}
.tnx-luxe-home .tnx-eyebrow {font:9px Arial,sans-serif;letter-spacing:.18em;color:#b293a5;margin:0 0 9px}
.tnx-luxe-home .tnx-section-head h2 {font-size:28px;line-height:1.4;font-weight:650;letter-spacing:.035em;margin:0}
.tnx-luxe-home .tnx-section-head h2:focus {outline:none}
.tnx-luxe-home .tnx-count {font-size:12px;color:var(--tnx-muted);padding-bottom:6px;white-space:nowrap}
.tnx-luxe-home .tnx-action {display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:46px;padding:12px 18px;border:1px solid #684354;border-radius:5px;color:#e0acc3;margin-bottom:20px;font-size:13px}
.tnx-luxe-home .tnx-description {color:var(--tnx-muted);font-size:13px;line-height:1.8;margin:0 0 20px}
.tnx-luxe-home .tnx-featured {display:block;position:relative;overflow:hidden;background:#1a1218;border:1px solid var(--tnx-line);border-radius:10px;box-shadow:0 16px 34px rgba(0,0,0,.22)}
.tnx-luxe-home .tnx-featured-media {position:relative;aspect-ratio:16/10;background:#0d0d10;min-width:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;overflow:hidden}
.tnx-luxe-home .tnx-featured-media img {width:100%;height:100%;object-fit:cover;display:block;max-width:100%;border-radius:inherit}
.tnx-luxe-home .tnx-featured-shade {position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.88) 100%);pointer-events:none}
.tnx-luxe-home .tnx-featured-copy {position:absolute;z-index:3;left:0;right:0;bottom:0;padding:18px 18px 16px;min-width:0;pointer-events:none}
.tnx-luxe-home .tnx-featured h3 {font-size:22px;font-weight:650;line-height:1.3;margin:0;overflow-wrap:anywhere;color:#f3ecf1;text-shadow:0 1px 12px rgba(0,0,0,.85)}
.tnx-luxe-home .tnx-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.tnx-luxe-home .tnx-card {min-width:0;border:1px solid var(--tnx-line);border-radius:8px;background:var(--tnx-surface);overflow:hidden}
.tnx-luxe-home .tnx-card-media {position:relative;aspect-ratio:3/4;background:#0d0d10;border-radius:7px 7px 0 0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tnx-luxe-home .tnx-card-media img {display:block;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:inherit}
.tnx-luxe-home .tnx-card-shade {position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,0,0,.82) 100%);pointer-events:none}
.tnx-luxe-home .tnx-card-copy {position:absolute;z-index:3;left:0;right:0;bottom:0;padding:13px 13px 12px;min-width:0;pointer-events:none}
.tnx-luxe-home .tnx-card h3 {font-size:14px;line-height:1.4;font-weight:650;margin:0;color:#f1e9ef;text-shadow:0 1px 10px rgba(0,0,0,.85);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tnx-luxe-home .tnx-meta {color:var(--tnx-muted);font-size:11px;margin:4px 0 0;line-height:1.6}
.tnx-luxe-home .tnx-video,.tnx-luxe-home .tnx-member-mark {position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #55424d;border-radius:4px;background:rgba(16,13,17,.86);color:#e3cbd8;font-size:10px;z-index:3}
.tnx-luxe-home .tnx-member-mark {left:10px;right:auto}
.tnx-luxe-home .tnx-video svg,.tnx-luxe-home .tnx-member-mark svg,.tnx-luxe-home .tnx-inline-icon {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;vertical-align:middle}
.tnx-luxe-home .tnx-rank {position:absolute;top:9px;left:9px;font:13px Georgia,serif;padding:5px 10px;background:#100d11;color:#e0b3c8;border:1px solid #674b5a}
.tnx-luxe-home .tnx-no-image {color:var(--tnx-muted);font-size:12px}
.tnx-luxe-home .tnx-more {display:flex;align-items:center;justify-content:center;gap:40px;min-height:50px;width:min(280px,100%);margin:25px auto 0;border:1px solid #49313e;border-radius:6px;font-size:13px;color:#dcb1c5}
.tnx-luxe-home .tnx-search-box,.tnx-luxe-home .tnx-empty {padding:30px;border:1px solid var(--tnx-line);border-radius:10px;background:var(--tnx-surface)}
.tnx-luxe-home .tnx-search-box label {display:block;font-size:13px;margin-bottom:12px;color:#c6b8c2}
.tnx-luxe-home .tnx-search-row {display:flex;gap:12px}
.tnx-luxe-home .tnx-search-row input {min-width:0;flex:1;min-height:54px;padding:14px;background:#0d0c10;border:1px solid #51414c;border-radius:5px;color:var(--tnx-text);font-size:16px}
.tnx-luxe-home .tnx-search-row button {min-height:54px;border:1px solid #ae6185;border-radius:5px;padding:12px 24px;background:#5c3046;color:#f0dbe6;cursor:pointer}
.tnx-luxe-home .tnx-text-link {display:inline-flex;align-items:center;min-height:44px;margin-top:15px;font-size:13px;color:#d2a4bb;text-decoration:underline}
.tnx-luxe-home .tnx-empty {color:var(--tnx-muted);font-size:13px;line-height:1.8}
.tnx-luxe-home .tnx-status {font-size:12px;min-height:20px;color:var(--tnx-muted);text-align:center;margin:15px 0}
.tnx-luxe-home .tnx-native-menu {margin-top:35px;border-top:1px solid var(--tnx-line);padding-top:12px}
.tnx-luxe-home .tnx-native-menu summary {display:list-item;cursor:pointer;padding:14px 0;font-size:12px;color:var(--tnx-muted)}
.tnx-luxe-home .tnx-native-menu #menubar {position:static;max-width:100%;width:auto;background:none;padding:12px;margin:0}
.tnx-luxe-home .tnx-native-menu #menubar img {max-width:100%;height:auto}
.tnx-luxe-home .tnx-native-menu #menubar a {display:inline-block;min-height:32px;line-height:1.8;overflow-wrap:anywhere}
.tnx-luxe-home .tnx-native-menu #menubar li {margin:5px 0}
.tnx-luxe-home .tnx-native-menu #menubar input {max-width:100%;min-height:40px}
/* Luxe Dark 1.0.131 — quieter, better grouped footer. */
.tnx-luxe-home .tnx-footer {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 28px;
  margin-top:38px;
  padding:20px 2px 2px;
  border-top:1px solid var(--tnx-line);
  color:#938991;
  font-size:11px;
}
.tnx-luxe-home .tnx-footer-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  min-width:0;
}
.tnx-luxe-home .tnx-footer a {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  color:#a79ba3;
  text-decoration:none;
  transition:color .16s ease;
}
.tnx-luxe-home .tnx-footer a:hover {color:#d9b0c3}
.tnx-luxe-home .tnx-footer-divider {
  width:1px;
  height:12px;
  margin:0 16px;
  background:#353037;
}
.tnx-luxe-home .tnx-game-summary-link {
  color:#c49aaf !important;
  white-space:nowrap;
}
.tnx-luxe-home .tnx-game-summary-link:hover {color:#e0b7ca !important}
.tnx-luxe-home .tnx-game-summary-link span {
  margin-left:6px;
  color:#8e6e7d;
  transition:transform .16s ease,color .16s ease;
}
.tnx-luxe-home .tnx-game-summary-link:hover span {
  color:#c997ae;
  transform:translateX(2px);
}
.tnx-luxe-home .tnx-footer-meta {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:4px 8px;
  border:1px solid #29252b;
  border-radius:6px;
  background:#0b0a0d;
  color:#666067;
  font-size:9px;
  letter-spacing:.04em;
  white-space:nowrap;
}
.tnx-luxe-home .tnx-footer-meta strong {
  color:#827881;
  font-weight:600;
}
.tnx-luxe-home #copyright {
  padding:11px 20px 28px;
  color:#676067;
  font:10px/1.8 system-ui,sans-serif;
  text-align:center;
}
.tnx-luxe-home #copyright a {color:#80767d}
/* The existing mobile rail stays available; its plugin owns bottom clearance. */
@media(max-width:760px) {
  .tnx-luxe-home .tnx-wrap {width:calc(100% - 24px)}
  .tnx-luxe-home .tnx-header-inner {min-height:68px;gap:8px}
  .tnx-luxe-home .tnx-brand {gap:9px}
  .tnx-luxe-home .tnx-brand-icon {width:31px;height:35px}
  .tnx-luxe-home .tnx-brand strong {font-size:14px}
  .tnx-luxe-home .tnx-brand small {font-size:8px}
  .tnx-luxe-home .tnx-account {gap:8px}
  .tnx-luxe-home .tnx-account a {font-size:10px}
  .tnx-luxe-home .tnx-nav {padding:23px 0 24px}
  .tnx-luxe-home .tnx-heading {margin-bottom:15px}
  .tnx-luxe-home .tnx-heading h1 {font-size:21px}
  .tnx-luxe-home .tnx-heading p {font-size:8px}
  .tnx-luxe-home .tnx-nav-grid {grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:6px}
  .tnx-luxe-home .tnx-nav-item,.tnx-luxe-home .tnx-nav-item:nth-child(n+6) {grid-column:auto;min-height:102px;flex-direction:column;gap:8px;padding:14px 4px 11px}
  .tnx-luxe-home .tnx-nav-item svg,.tnx-luxe-home .tnx-nav-item:nth-child(n+6) svg {width:31px;height:31px}
  .tnx-luxe-home .tnx-nav-label {font-size:12px;letter-spacing:.02em}
  .tnx-luxe-home .tnx-nav-number {top:8px;left:9px;font-size:8px}
  .tnx-luxe-home .tnx-content {padding-top:22px}
  .tnx-luxe-home .tnx-section-head {margin-bottom:15px;gap:10px}
  .tnx-luxe-home .tnx-section-head h2 {font-size:23px}
  .tnx-luxe-home .tnx-count {font-size:10px}
  .tnx-luxe-home .tnx-featured-media {aspect-ratio:16/10}
  .tnx-luxe-home .tnx-featured-copy {padding:14px 14px 13px}
    .tnx-luxe-home .tnx-featured h3 {font-size:21px;margin:3px 0 8px}
    .tnx-luxe-home .tnx-cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}
  .tnx-luxe-home .tnx-card-copy {padding:11px 11px 10px}
  .tnx-luxe-home .tnx-card h3 {font-size:12px}
  .tnx-luxe-home .tnx-search-box,.tnx-luxe-home .tnx-empty {padding:19px}
  .tnx-luxe-home .tnx-search-row {flex-direction:column;gap:9px}
  .tnx-luxe-home .tnx-search-row button {min-height:48px}
}
@media(max-width:390px) {
  .tnx-luxe-home .tnx-wrap {width:calc(100% - 20px)}
  .tnx-luxe-home .tnx-heading h1 {font-size:19px}
  .tnx-luxe-home .tnx-nav-item,.tnx-luxe-home .tnx-nav-item:nth-child(n+6) {min-height:96px}
  .tnx-luxe-home .tnx-nav-label {font-size:11px}
  .tnx-luxe-home .tnx-account {gap:5px}
}
@media(prefers-reduced-motion:reduce) {
  .tnx-luxe-home .tnx-home * {scroll-behavior:auto;transition:none;animation:none}
}

.tnx-luxe-home .tnx-card-copy .tnx-meta {display:none}

@media(min-width:720px) {
  .tnx-luxe-home .tnx-cards {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media(min-width:960px) {
  .tnx-luxe-home .tnx-cards {grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}

@media(max-width:920px) {
  .tnx-luxe-home .tnx-nav-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
  .tnx-luxe-home .tnx-nav-item,.tnx-luxe-home .tnx-nav-item:nth-child(n+6) {min-height:108px}
}
@media(max-width:680px) {
  .tnx-luxe-home .tnx-nav-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tnx-luxe-home .tnx-nav-item,.tnx-luxe-home .tnx-nav-item:nth-child(n+6) {min-height:96px;padding:15px 8px 13px}
}

@media(hover:hover) {
  .tnx-luxe-home .tnx-nav-item:hover svg {opacity:1}
  .tnx-luxe-home .tnx-nav-item.is-active svg {opacity:1;filter:drop-shadow(0 0 8px rgba(223,121,171,.12))}
  .tnx-luxe-home .tnx-nav-item.is-active:hover svg {filter:drop-shadow(0 0 10px rgba(235,134,183,.16))}
}


/* Luxe Dark 1.0.21 — balanced first viewport.
   Desktop: featured item occupies a 2x2 grid area, while four normal items
   sit beside it. Remaining four items continue directly below. */
.tnx-luxe-home .tnx-gallery-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-featured {
  grid-column:1 / -1;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-card {
  height:100%;
}

@media(min-width:720px) {
  .tnx-luxe-home .tnx-gallery-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured {
    grid-column:span 2;
    grid-row:span 2;
    height:100%;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured-media {
    height:100%;
    min-height:0;
    aspect-ratio:auto;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-card-media {
    aspect-ratio:16/10;
  }
}

@media(min-width:960px) {
  /* Give more of the first screen to the actual gallery. */
  .tnx-luxe-home .tnx-header-inner {min-height:76px}
  .tnx-luxe-home .tnx-brand-icon {width:33px;height:38px}
  .tnx-luxe-home .tnx-nav {padding:22px 0 20px}
  .tnx-luxe-home .tnx-heading {margin-bottom:15px}
  .tnx-luxe-home .tnx-nav-item,
  .tnx-luxe-home .tnx-nav-item:nth-child(n+6) {
    min-height:98px;
    padding:14px 10px 12px;
    gap:9px;
  }
  .tnx-luxe-home .tnx-nav-item svg,
  .tnx-luxe-home .tnx-nav-item:nth-child(n+6) svg {
    width:27px;
    height:27px;
  }
  .tnx-luxe-home .tnx-nav-label {font-size:14px}
  .tnx-luxe-home .tnx-content {padding-top:24px}
  .tnx-luxe-home .tnx-section-head {margin-bottom:14px}
  .tnx-luxe-home .tnx-description {margin-bottom:14px}

  .tnx-luxe-home .tnx-gallery-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured {
    grid-column:span 2;
    grid-row:span 2;
    height:100%;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured-media {
    height:100%;
    min-height:0;
    aspect-ratio:auto;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-card-media {
    aspect-ratio:16/10;
  }
}

@media(max-width:719px) {
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured-media {
    aspect-ratio:16/10;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-card-media {
    aspect-ratio:3/4;
  }
}


/* Luxe Dark 1.0.22 — correct 1.0.21 grid track sizing.
   The featured tile must NOT use percentage height inside a row-spanning grid item:
   that created a cyclic track-size calculation and stretched neighboring cards into
   tall empty panels. Let media aspect ratios determine intrinsic height instead. */
.tnx-luxe-home .tnx-gallery-grid {
  align-items:start;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-card {
  height:auto;
  align-self:start;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-featured {
  height:auto;
  align-self:start;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-featured-media {
  height:auto;
  min-height:0;
  aspect-ratio:16/10;
}
.tnx-luxe-home .tnx-gallery-grid .tnx-card-media {
  height:auto;
  aspect-ratio:16/10;
}

/* Keep the desktop 2x2 featured composition, but make the two side rows
   derive from normal thumbnail height rather than from a stretched featured tile. */
@media(min-width:720px) {
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured {
    grid-column:span 2;
    grid-row:span 2;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured-media {
    height:auto;
    aspect-ratio:16/10;
  }
}
@media(max-width:719px) {
  .tnx-luxe-home .tnx-gallery-grid .tnx-featured {
    grid-column:1 / -1;
    grid-row:auto;
  }
  .tnx-luxe-home .tnx-gallery-grid .tnx-card-media {
    aspect-ratio:3/4;
  }
}


/* Luxe Dark 1.0.32 — consistent section subtitles */
.tnx-luxe-home .tnx-subtitle {
  margin-top:-4px;
  margin-bottom:18px;
}
@media(max-width:760px) {
  .tnx-luxe-home .tnx-subtitle {
    margin-top:-2px;
    margin-bottom:14px;
  }
}


/* Luxe Dark 1.0.48 — category navigation in the header, in-page "more". */
.tnx-luxe-home .tnx-section-tools {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.tnx-luxe-home .tnx-category-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:5px 10px;
  border:1px solid #3b3037;
  border-radius:999px;
  color:#caa6b8;
  font-size:11px;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}

.tnx-luxe-home .tnx-category-link:hover {
  color:#f0c4d7;
  border-color:#85536a;
  background:#171015;
}

.tnx-luxe-home button.tnx-more {
  appearance:none;
  -webkit-appearance:none;
  font-family:inherit;
  background:transparent;
  cursor:pointer;
}

.tnx-luxe-home button.tnx-more:hover {
  background:#21141b;
  border-color:#a95b7e;
}

.tnx-luxe-home button.tnx-more:disabled,
.tnx-luxe-home button.tnx-more.is-loading {
  cursor:wait;
  opacity:.62;
}

@media(max-width:760px) {
  .tnx-luxe-home .tnx-section-head {
    align-items:flex-start;
  }

  .tnx-luxe-home .tnx-section-tools {
    gap:8px;
  }

  .tnx-luxe-home .tnx-category-link {
    min-height:29px;
    padding:4px 8px;
    font-size:10px;
  }
}


/* Luxe Dark 1.0.52 — make the Popular panel read as an actual ranking. */
.tnx-luxe-home .tnx-popular-grid .tnx-popular-card {
  border-color:#3d3038;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank {
  position:absolute;
  z-index:5;
  top:10px;
  left:10px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:2px;
  min-width:44px;
  height:40px;
  padding:0 10px;
  box-sizing:border-box;
  border:1px solid #755164;
  border-radius:5px;
  background:rgba(13,10,14,.92);
  color:#e6b8ce;
  box-shadow:0 7px 18px rgba(0,0,0,.28);
  line-height:1;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank strong {
  font:700 22px/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank small {
  font:700 9px/1 Arial,"Yu Gothic UI",sans-serif;
  letter-spacing:.06em;
  color:#b896a6;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
  top:16px;
  left:16px;
  min-width:70px;
  height:62px;
  padding:0 15px;
  border-color:#c36b94;
  background:linear-gradient(145deg,rgba(53,22,38,.96),rgba(16,11,15,.95));
  color:#ffc1de;
  box-shadow:0 12px 30px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,166,207,.05);
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong {
  font-size:38px;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero small {
  font-size:11px;
  color:#d9a7be;
}

/* 2nd and 3rd place have visibly stronger badges than the rest. */
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank {
  min-width:52px;
  height:45px;
  border-color:#9a617b;
  background:rgba(29,18,25,.94);
}

.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank strong,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank strong {
  font-size:26px;
}

.tnx-luxe-home .tnx-popular-score {
  margin:0 0 4px;
  color:#e9a9c6;
  font:700 10px/1.2 Arial,"Yu Gothic UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.9);
}

.tnx-luxe-home .tnx-popular-grid .tnx-card-copy {
  padding-top:28px;
}

.tnx-luxe-home .tnx-popular-grid .tnx-featured-copy {
  padding-bottom:18px;
}

.tnx-luxe-home .tnx-popular-grid .tnx-featured-copy .tnx-popular-score {
  font-size:12px;
  margin-bottom:6px;
}

.tnx-luxe-home .tnx-popular-grid .tnx-featured h3 {
  font-size:24px;
}

/* Subtle rank stripe makes cards 2+ scan vertically as a list of positions. */
.tnx-luxe-home .tnx-popular-grid .tnx-card::after {
  content:"";
  position:absolute;
  z-index:4;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:rgba(205,106,151,.42);
  pointer-events:none;
}

.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2::after,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3::after {
  width:4px;
  background:rgba(225,124,170,.68);
}

@media(max-width:719px) {
  .tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
    top:10px;
    left:10px;
    min-width:58px;
    height:52px;
  }

  .tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong {
    font-size:31px;
  }

  .tnx-luxe-home .tnx-popular-grid .tnx-rank {
    min-width:40px;
    height:36px;
    padding:0 8px;
  }

  .tnx-luxe-home .tnx-popular-grid .tnx-rank strong {
    font-size:20px;
  }

  .tnx-luxe-home .tnx-popular-grid .tnx-featured h3 {
    font-size:20px;
  }
}


/* Luxe Dark 1.0.53 — quieter Popular ranking treatment.
   Keep ranking legible, but let the artwork remain the visual focus. */
.tnx-luxe-home .tnx-popular-grid .tnx-popular-card {
  border-color:inherit !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank {
  top:10px !important;
  left:10px !important;
  min-width:34px !important;
  height:28px !important;
  padding:0 8px !important;
  gap:1px !important;
  border:1px solid rgba(193,111,149,.42) !important;
  border-radius:4px !important;
  background:rgba(13,10,14,.74) !important;
  color:#dca9c0 !important;
  box-shadow:none !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank strong,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank strong,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank strong {
  font:700 15px/1 Arial,"Yu Gothic UI",sans-serif !important;
  letter-spacing:0 !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank small,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero small {
  font:600 7px/1 Arial,"Yu Gothic UI",sans-serif !important;
  color:#ae899a !important;
  letter-spacing:0 !important;
}

/* #1 gets only a tiny lift, not a large medal-style badge. */
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
  min-width:38px !important;
  height:30px !important;
  border-color:rgba(221,123,167,.55) !important;
  background:rgba(25,14,20,.78) !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong {
  font-size:17px !important;
}

/* Popularity points remain secondary metadata, but use white for thumbnail contrast. */
.tnx-luxe-home .tnx-popular-score,
.tnx-luxe-home .tnx-popular-grid .tnx-featured-copy .tnx-popular-score {
  margin:0 0 3px !important;
  color:#fff !important;
  font:600 9px/1.2 Arial,"Yu Gothic UI",sans-serif !important;
  letter-spacing:.04em !important;
  opacity:.82;
}

/* Rating metadata needs stronger contrast than popularity points. */
.tnx-luxe-home .tnx-rated-score,
.tnx-luxe-home .tnx-popular-grid .tnx-featured-copy .tnx-rated-score {
  color:#fff !important;
  opacity:1;
}

/* Remove the ranking stripe introduced in 1.0.52. */
.tnx-luxe-home .tnx-popular-grid .tnx-card::after,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2::after,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3::after {
  content:none !important;
  display:none !important;
}

/* Restore ordinary card spacing; rank should feel like metadata, not a banner. */
.tnx-luxe-home .tnx-popular-grid .tnx-card-copy {
  padding-top:inherit !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-featured-copy {
  padding-bottom:inherit !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-featured h3 {
  font-size:inherit !important;
}

@media(max-width:719px) {
  .tnx-luxe-home .tnx-popular-grid .tnx-rank,
  .tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
    top:8px !important;
    left:8px !important;
    min-width:32px !important;
    height:26px !important;
    padding:0 7px !important;
  }

  .tnx-luxe-home .tnx-popular-grid .tnx-rank strong,
  .tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong {
    font-size:14px !important;
  }
}


/* Luxe Dark 1.0.54 — tighter rank labels + icon-only video marker. */

/* Rank should feel like a tiny corner label, not a padded badge. */
.tnx-luxe-home .tnx-popular-grid .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank {
  top:8px !important;
  left:8px !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  padding:3px 5px !important;
  gap:1px !important;
  border-radius:3px !important;
  line-height:1 !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank strong,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank strong,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank strong {
  font-size:14px !important;
  line-height:1 !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank small,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero small {
  font-size:6px !important;
  line-height:1 !important;
}

/* #1 remains only microscopically stronger. */
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
  padding:4px 6px !important;
}

.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero strong {
  font-size:15px !important;
}

/* Video marker: play icon only. Keep it secondary to the artwork. */
.tnx-luxe-home .tnx-video {
  top:8px !important;
  right:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:25px !important;
  height:25px !important;
  padding:0 !important;
  gap:0 !important;
  border:1px solid rgba(112,86,100,.55) !important;
  border-radius:4px !important;
  background:rgba(14,11,15,.66) !important;
  color:#d8c3ce !important;
  box-sizing:border-box !important;
}

/* Also hides the old "動画" text if stale cached markup slips through. */
.tnx-luxe-home .tnx-video > span {
  display:none !important;
}

.tnx-luxe-home .tnx-video svg {
  width:13px !important;
  height:13px !important;
  stroke-width:1.7 !important;
}

@media(max-width:719px) {
  .tnx-luxe-home .tnx-popular-grid .tnx-rank,
  .tnx-luxe-home .tnx-popular-grid .tnx-rank-hero {
    top:7px !important;
    left:7px !important;
    padding:3px 4px !important;
  }

  .tnx-luxe-home .tnx-video {
    top:7px !important;
    right:7px !important;
    width:23px !important;
    height:23px !important;
  }

  .tnx-luxe-home .tnx-video svg {
    width:12px !important;
    height:12px !important;
  }
}


/* Luxe Dark 1.0.55 — bare play triangle + tighter rank marker. */

/* Rank marker: trim the last bit of visual padding. */
.tnx-luxe-home .tnx-popular-grid .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-rank-hero,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-2 .tnx-rank,
.tnx-luxe-home .tnx-popular-grid .tnx-popular-rank-3 .tnx-rank {
  padding:2px 4px !important;
}

/* Video marker is now the play glyph itself — no container chrome. */
.tnx-luxe-home .tnx-video {
  top:9px !important;
  right:9px !important;
  width:20px !important;
  height:20px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.92) !important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.78));
  pointer-events:none;
}

.tnx-luxe-home .tnx-video svg {
  width:20px !important;
  height:20px !important;
  fill:currentColor !important;
  stroke:none !important;
}

/* Safety for any stale "動画" text markup. */
.tnx-luxe-home .tnx-video > span {
  display:none !important;
}

@media(max-width:719px) {
  .tnx-luxe-home .tnx-video {
    top:8px !important;
    right:8px !important;
    width:18px !important;
    height:18px !important;
  }

  .tnx-luxe-home .tnx-video svg {
    width:18px !important;
    height:18px !important;
  }
}


/* Luxe Dark 1.0.56 — Popular cards use the normal gallery border.
   1.0.53 accidentally inherited the light text color into border-color. */
.tnx-luxe-home .tnx-popular-grid .tnx-popular-card {
  border-color:var(--tnx-line) !important;
}


/* Luxe Dark 1.0.59 — signed-in identity in the header. */
.tnx-luxe-home .tnx-account {
  gap:8px;
}

.tnx-luxe-home .tnx-user-link {
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  min-height:36px !important;
  padding:0 4px;
  color:var(--tnx-muted);
  text-decoration:none;
}

.tnx-luxe-home .tnx-user-link.is-logged-in {
  color:#d9cfd5;
  font-size:12px;
  font-weight:600;
}

.tnx-luxe-home .tnx-user-icon {
  width:17px;
  height:17px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  opacity:.82;
}

.tnx-luxe-home .tnx-user-link:hover {
  color:#efc0d5;
}

.tnx-luxe-home .tnx-admin-link {
  position:relative;
  padding-left:11px;
}

.tnx-luxe-home .tnx-admin-link::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:12px;
  transform:translateY(-50%);
  background:#373139;
}

@media(max-width:680px) {
  .tnx-luxe-home .tnx-user-link.is-logged-in {
    max-width:150px;
  }

  .tnx-luxe-home .tnx-user-link span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}


/* Luxe Dark 1.0.60 — brand refinement */
.tnx-luxe-home .tnx-brand {
  gap:14px;
}

.tnx-luxe-home .tnx-brand-icon {
  width:31px;
  height:31px;
  padding:5px;
  color:#d8cfd5;
  border-color:#645760;
  border-radius:7px;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}

.tnx-luxe-home .tnx-brand-text {
  display:block;
  min-width:0;
}

.tnx-luxe-home .tnx-brand strong {
  display:block;
  font-size:17px;
  letter-spacing:.11em;
  line-height:1.15;
}

.tnx-luxe-home .tnx-brand-word-toilet {
  color:#e5dce1;
}

.tnx-luxe-home .tnx-brand-word-nozoki {
  color:#dd8fb2;
  text-shadow:0 0 10px rgba(221,143,178,.08);
}

.tnx-luxe-home .tnx-brand small {
  display:block;
  font:9px Arial,sans-serif;
  letter-spacing:.32em;
  color:#9d9098;
  margin-top:6px;
}


/* Luxe Dark 1.0.63 — approved framed women’s restroom brand mark.
   Keep the wide-skirt silhouette from the approved mock, move the pink accent
   from NOZOKI to the pictogram, and keep the complete wordmark neutral white. */
.tnx-luxe-home .tnx-brand {
  gap:12px;
}

.tnx-luxe-home .tnx-brand-icon {
  width:34px;
  height:34px;
  padding:3px;
  color:#c98aa6;
  border:1px solid #5a555f;
  border-radius:9px;
  background:#0d0d10;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  fill:currentColor;
  stroke:none;
}

.tnx-luxe-home .tnx-brand-word-toilet,
.tnx-luxe-home .tnx-brand-word-nozoki {
  color:#f4f1f3;
  text-shadow:none;
}

/* Luxe Dark 1.0.67 — viewer-scoped total artwork count in the header. */
.tnx-luxe-home .tnx-total-count {
  position:relative;
  display:inline-flex;
  align-items:center;
  align-self:center;
  gap:5px;
  height:36px;
  padding:0 12px 0 0;
  margin-right:2px;
  color:#817a81;
  font-size:10px;
  line-height:1;
  letter-spacing:.04em;
  white-space:nowrap;
}

.tnx-luxe-home .tnx-total-count::after {
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:1px;
  height:12px;
  transform:translateY(-50%);
  background:#373139;
}

.tnx-luxe-home .tnx-total-count strong {
  color:#cfc6cc;
  font-size:11px;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
}

.tnx-luxe-home .tnx-total-label {
  color:#777078;
  line-height:1;
}

@media(max-width:680px) {
  .tnx-luxe-home .tnx-total-count {
    display:none;
  }
}

/* Luxe Dark 1.0.69 — inline quick-search results below the search form. */
.tnx-luxe-home .tnx-search-results {
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #242129;
}

.tnx-luxe-home .tnx-search-results-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.tnx-luxe-home .tnx-search-results-head h3 {
  margin:0;
  color:#d9cfd6;
  font-size:16px;
  font-weight:650;
  letter-spacing:.03em;
}

.tnx-luxe-home .tnx-search-results-head span {
  color:var(--tnx-muted);
  font-size:11px;
  white-space:nowrap;
}

.tnx-luxe-home .tnx-search-grid .tnx-card {
  grid-column:auto;
  grid-row:auto;
}

.tnx-luxe-home .tnx-search-empty {
  margin-top:0;
}

.tnx-luxe-home [data-luxe-search-form] button:disabled {
  opacity:.62;
  cursor:wait;
}

@media(max-width:760px) {
  .tnx-luxe-home .tnx-search-results {
    margin-top:20px;
    padding-top:18px;
  }

  .tnx-luxe-home .tnx-search-results-head {
    margin-bottom:11px;
  }

  .tnx-luxe-home .tnx-search-results-head h3 {
    font-size:14px;
  }
}

/* Luxe Dark 1.0.72 — search result facets (album/tag chips). */
.tnx-luxe-home .tnx-filter-panel {
  margin-bottom:18px;
  overflow:hidden;
  border:1px solid #252229;
  border-radius:12px;
  background:#0c0b0f;
}

.tnx-luxe-home .tnx-recent-filter-panel {
  margin-top:-8px;
}

.tnx-luxe-home .tnx-recent-filter-panel .tnx-filter-chip > span:first-child {
  max-width:min(34vw,360px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tnx-luxe-home .tnx-filter-row {
  display:grid;
  grid-template-columns:84px 1fr auto;
  gap:14px;
  align-items:start;
  padding:13px 14px;
}

.tnx-luxe-home .tnx-filter-row + .tnx-filter-row {
  border-top:1px solid #1d1b20;
}

.tnx-luxe-home .tnx-filter-label {
  padding-top:6px;
  color:#938b93;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
}

.tnx-luxe-home .tnx-filter-chips {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}

.tnx-luxe-home .tnx-filter-chip {
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:4px 10px;
  border:1px solid #302b32;
  border-radius:999px;
  background:#121015;
  color:#a9a1a8;
  font-size:11px;
  line-height:1.25;
  cursor:pointer;
}

.tnx-luxe-home .tnx-filter-chip:hover {
  background:#171319;
  border-color:#453841;
}

.tnx-luxe-home .tnx-filter-chip.is-active {
  border-color:#795166;
  background:#21151b;
  color:#d4a7ba;
}

.tnx-luxe-home .tnx-filter-num {
  color:#6f6870;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}

.tnx-luxe-home .tnx-filter-chip.is-active .tnx-filter-num {
  color:#b9879c;
}

.tnx-luxe-home .tnx-filter-row:not(.is-expanded) .tnx-filter-chip.is-extra:not(.is-active) {
  display:none;
}

.tnx-luxe-home .tnx-filter-more,
.tnx-luxe-home .tnx-filter-clear {
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
}

.tnx-luxe-home .tnx-filter-more {
  padding:7px 2px;
  color:#8e7a84;
  font-size:10px;
  white-space:nowrap;
}

.tnx-luxe-home .tnx-filter-more:hover {
  color:#b899a8;
}

.tnx-luxe-home .tnx-filter-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 14px;
  border-top:1px solid #1d1b20;
  background:#0a090c;
  color:#827b82;
  font-size:10px;
}

.tnx-luxe-home .tnx-filter-summary strong {
  color:#bda7b1;
  font-weight:600;
}

.tnx-luxe-home .tnx-filter-clear {
  flex:0 0 auto;
  padding:6px 0;
  color:#776f77;
  font-size:10px;
}

.tnx-luxe-home .tnx-filter-clear:hover {
  color:#b599a6;
}

@media(max-width:760px) {
  .tnx-luxe-home .tnx-filter-row {
    grid-template-columns:1fr;
    gap:9px;
    padding:12px;
  }

  .tnx-luxe-home .tnx-filter-label {
    padding-top:0;
  }

  .tnx-luxe-home .tnx-recent-filter-panel .tnx-filter-chip > span:first-child {
    max-width:58vw;
  }

  .tnx-luxe-home .tnx-filter-more {
    justify-self:start;
  }

  .tnx-luxe-home .tnx-filter-summary {
    align-items:flex-start;
  }
}

@media(max-width:760px) {
  .tnx-luxe-home .tnx-footer {
    align-items:flex-start;
    gap:10px 16px;
    margin-top:30px;
    padding-top:17px;
  }
  .tnx-luxe-home .tnx-footer-links {
    width:100%;
  }
  .tnx-luxe-home .tnx-footer-divider {
    margin:0 12px;
  }
  .tnx-luxe-home .tnx-footer-meta {
    margin-top:1px;
  }
}

/* Luxe Dark 1.0.79 — merge category result count into the category link. */
.tnx-luxe-home .tnx-category-count {
  color:#8f858c;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}

.tnx-luxe-home .tnx-category-link:hover .tnx-category-count {
  color:#bba7b1;
}



/* Luxe Dark 1.0.81 — mobile bottom rail owns category navigation on narrow screens. */
@media(max-width:991.98px) {
  .tnx-luxe-home .tnx-nav {
    display:none !important;
  }
  .tnx-luxe-home .tnx-skip {
    display:none !important;
  }
}


/* Luxe Dark 1.0.109 — keep the collapsed FX control near the page header,
   but let it scroll away with the document instead of following the viewport. */
body.tnx-luxe-home #effectctrl-reopen {
  position:absolute !important;
  right:var(--tnx-fx-right, max(168px, calc((100vw - 1320px) / 2 + 168px))) !important;
}

@media(max-width:760px) {
  body.tnx-luxe-home #effectctrl-reopen {
    right:104px !important;
  }
}

/* Luxe Dark 1.0.127 — make free member-account signup clear on the members panel. */
.tnx-luxe-home .tnx-member-free-note {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 20px;
  padding:14px 16px;
  border:1px solid rgba(207,110,151,.34);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(207,110,151,.10),rgba(207,110,151,.025));
  color:#e8dde4;
}
.tnx-luxe-home .tnx-member-free-badge {
  flex:none;
  padding:5px 8px;
  border:1px solid #8e526d;
  border-radius:4px;
  color:#f0a8c8;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.12em;
}
.tnx-luxe-home .tnx-member-free-copy {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.tnx-luxe-home .tnx-member-free-copy strong {
  color:#f2e9ee;
  font-size:14px;
  line-height:1.45;
}
.tnx-luxe-home .tnx-member-free-copy span {
  color:#b9adb5;
  font-size:12px;
  line-height:1.65;
}
@media(max-width:760px) {
  .tnx-luxe-home .tnx-member-free-note {
    gap:11px;
    margin-bottom:16px;
    padding:12px 13px;
  }
  .tnx-luxe-home .tnx-member-free-copy strong {font-size:13px}
  .tnx-luxe-home .tnx-member-free-copy span {font-size:11px}
}

/* Luxe Dark 1.0.132 — mylist is a user library, not a ranking or 10th category. */
.tnx-luxe-home .tnx-account-settings {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  color:var(--tnx-muted);
  font-size:12px;
}
.tnx-luxe-home .tnx-account-settings:hover {color:#efc0d5}
.tnx-luxe-home .tnx-mylist-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:4px 18px;
  margin:0 0 20px;
  border-bottom:1px solid var(--tnx-line);
}
.tnx-luxe-home .tnx-mylist-tab {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:6px 2px 10px;
  margin-bottom:-1px;
  color:var(--tnx-muted);
  font-size:13px;
  font-weight:650;
  border-bottom:2px solid transparent;
}
.tnx-luxe-home .tnx-mylist-tab svg {
  width:16px;
  height:16px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tnx-luxe-home .tnx-mylist-tab-count {
  color:#9d9098;
  font-size:12px;
  font-weight:600;
}
.tnx-luxe-home .tnx-mylist-tab.is-active {
  color:#f08fbc;
  border-bottom-color:#df79ab;
}
.tnx-luxe-home .tnx-mylist-tab.is-active .tnx-mylist-tab-count {color:#f08fbc}
@media (hover:hover) {
  .tnx-luxe-home .tnx-mylist-tab:hover {color:#f1e8ed}
  .tnx-luxe-home .tnx-mylist-tab.is-active:hover {color:#ff9bc9}
}
.tnx-luxe-home .tnx-mylist-grid .tnx-card {
  grid-column:auto;
  grid-row:auto;
}
.tnx-luxe-home .tnx-mylist-mark {
  position:absolute;
  top:10px;
  left:10px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid #55424d;
  border-radius:4px;
  background:rgba(16,13,17,.86);
  color:#e3cbd8;
  font-size:10px;
}
.tnx-luxe-home .tnx-mylist-mark-fav {
  color:#e0a8c4;
  border-color:#674b5a;
}
.tnx-luxe-home .tnx-mylist-mark svg {
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.tnx-luxe-home .tnx-mylist-score {
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 4px;
  color:#fff;
  font-size:11px;
  font-weight:650;
  letter-spacing:.02em;
  text-shadow:0 1px 8px rgba(0,0,0,.9);
}
.tnx-luxe-home .tnx-mylist-score .tnx-inline-icon {
  width:13px;
  height:13px;
  flex:none;
}
.tnx-luxe-home .tnx-mylist-date {
  margin:0 0 5px;
  color:#fff;
  font-size:10px;
  text-shadow:0 1px 8px rgba(0,0,0,.9);
}
.tnx-luxe-home .tnx-event-line {
  color:#fff;
}
.tnx-luxe-home .tnx-event-star .tnx-inline-icon {
  fill:#fff;
  stroke:#fff;
  color:#fff;
}
.tnx-luxe-home .tnx-recent-tabs,
.tnx-luxe-home .tnx-popular-tabs {
  gap:4px 12px;
}
.tnx-luxe-home .tnx-recent-event-grid .tnx-card {
  grid-column:auto;
  grid-row:auto;
}
.tnx-luxe-home .tnx-mylist-benefits {
  display:grid;
  gap:10px;
  margin:0 0 18px;
}
.tnx-luxe-home .tnx-mylist-benefit {
  padding:14px 16px;
  border:1px solid var(--tnx-line);
  border-radius:8px;
  background:var(--tnx-surface);
}
.tnx-luxe-home .tnx-mylist-benefit strong {
  display:block;
  margin-bottom:4px;
  color:#eee7eb;
  font-size:13px;
}
.tnx-luxe-home .tnx-mylist-benefit span {
  color:var(--tnx-muted);
  font-size:12px;
  line-height:1.65;
}
.tnx-luxe-home .tnx-mylist-cta {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 8px;
}
.tnx-luxe-home .tnx-mylist-cta a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 18px;
  border-radius:5px;
  font-size:13px;
}
.tnx-luxe-home .tnx-mylist-cta-primary {
  border:1px solid #ae6185;
  background:#5c3046;
  color:#f0dbe6;
}
.tnx-luxe-home .tnx-mylist-cta-secondary {
  border:1px solid #684354;
  color:#e0acc3;
}
.tnx-luxe-home .tnx-guest-import-note {
  margin:0 0 20px;
  padding:14px 16px;
  border:1px solid var(--tnx-line);
  border-radius:8px;
  background:var(--tnx-surface);
  color:#e8dde4;
}
.tnx-luxe-home .tnx-guest-import-note strong {
  display:block;
  margin-bottom:4px;
  color:#eee7eb;
  font-size:13px;
  line-height:1.45;
}
.tnx-luxe-home .tnx-guest-import-note p {
  margin:0 0 8px;
  color:var(--tnx-muted);
  font-size:12px;
  line-height:1.65;
}
.tnx-luxe-home .tnx-guest-import-note .tnx-guest-import-warn {
  margin-bottom:12px;
  color:#9d9098;
  font-size:11px;
  line-height:1.7;
}
.tnx-luxe-home .tnx-guest-import-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.tnx-luxe-home .tnx-guest-import-actions form {margin:0}
.tnx-luxe-home .tnx-guest-import-review,
.tnx-luxe-home .tnx-guest-import-submit,
.tnx-luxe-home .tnx-guest-import-cancel {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:6px 12px;
  border-radius:5px;
  font-size:12px;
}
.tnx-luxe-home .tnx-guest-import-review,
.tnx-luxe-home .tnx-guest-import-submit {
  border:1px solid #684354;
  background:transparent;
  color:#e0acc3;
  cursor:pointer;
}
.tnx-luxe-home .tnx-guest-import-cancel {
  color:var(--tnx-muted);
}
.tnx-luxe-home .tnx-guest-import-done strong {margin-bottom:0}
.tnx-luxe-home .tnx-guest-import-error strong {margin-bottom:0}
@media (hover:hover) {
  .tnx-luxe-home .tnx-guest-import-review:hover,
  .tnx-luxe-home .tnx-guest-import-submit:hover {color:#ff9bc9;border-color:#ae6185}
  .tnx-luxe-home .tnx-guest-import-cancel:hover {color:#efc0d5}
}
.tnx-luxe-home .tnx-empty strong {
  display:block;
  margin-bottom:4px;
  color:#e8dde4;
  font-size:14px;
}
@media(max-width:760px) {
  .tnx-luxe-home .tnx-mylist-tabs {margin-bottom:16px}
  .tnx-luxe-home .tnx-mylist-tab {font-size:12px}
  .tnx-luxe-home .tnx-recent-tabs,
  .tnx-luxe-home .tnx-popular-tabs {gap:0 6px}
  .tnx-luxe-home .tnx-recent-tabs .tnx-mylist-tab,
  .tnx-luxe-home .tnx-popular-tabs .tnx-mylist-tab {
    flex:1 1 0;
    justify-content:center;
    min-width:0;
    font-size:11px;
    gap:4px;
    padding-left:1px;
    padding-right:1px;
  }
  .tnx-luxe-home .tnx-recent-tabs .tnx-mylist-tab-count,
  .tnx-luxe-home .tnx-popular-tabs .tnx-mylist-tab-count {display:none}
  .tnx-luxe-home .tnx-mylist-benefit {padding:12px 13px}
  .tnx-luxe-home .tnx-guest-import-note {margin-bottom:16px;padding:12px 13px}
}
