.tm-site{--tm-bg:#101113;--tm-panel:#1b1c20;--tm-text:#f3f3f4;--tm-muted:#b8bac1;--tm-accent:#ec5963;--tm-line:#36383e;margin:0;background:var(--tm-bg);color:var(--tm-text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;letter-spacing:0;overflow-wrap:anywhere}
.tm-site *{box-sizing:border-box;letter-spacing:0}
.tm-site a{color:inherit;text-underline-offset:4px}
.tm-site a:hover{color:var(--tm-accent)}
.tm-site h1,.tm-site h2,.tm-site h3{color:var(--tm-text);line-height:1.25;margin:0;font-weight:700;letter-spacing:0}
.tm-site h1{font-size:36px}.tm-site h2{font-size:26px}.tm-site h3{font-size:17px}
.tm-site button,.tm-site input{font:inherit}.tm-site button{cursor:pointer}.tm-site button:disabled{opacity:.35;cursor:default}
.tm-site :focus-visible{outline:3px solid #f4bc63;outline-offset:4px}
.tm-wrap{max-width:1200px;width:100%;margin-inline:auto;padding-inline:28px}
.tm-skip{position:absolute;top:-100px;left:16px;z-index:99999;background:#fff;color:#111!important;padding:10px}.tm-skip:focus{top:12px}
.tm-header{background:#17181b;border-bottom:1px solid var(--tm-line)}
.tm-header-inner{display:flex;align-items:center;gap:28px;min-height:82px;position:relative}
.tm-brand{font-size:24px;font-weight:800;text-decoration:none;line-height:1.2;overflow-wrap:anywhere;max-width:100%}
.tm-header .tm-brand{flex-shrink:0}
.tm-menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.tm-menu a{text-decoration:none;font-size:14px;color:var(--tm-muted)}
.tm-menu li{position:relative}.tm-menu .sub-menu{padding:12px;list-style:none;background:var(--tm-panel);border:1px solid var(--tm-line);display:none;position:absolute;z-index:5;min-width:180px}.tm-menu li:hover>.sub-menu,.tm-menu li:focus-within>.sub-menu{display:block}
.tm-nav-toggle{display:none}.tm-search{display:flex;align-items:center;border:1px solid #4d5059;border-radius:4px;max-width:300px;min-width:0;margin-left:auto;background:#222329;height:42px}
@media(min-width:1001px){.tm-header .tm-nav{flex:1;min-width:0}.tm-header .tm-menu{flex-wrap:wrap;row-gap:8px}.tm-header .tm-menu>li{flex-shrink:0}.tm-header .tm-menu a{white-space:nowrap}.tm-header .tm-search{flex:0 1 240px;min-width:180px}}
.tm-search input{background:transparent;border:0;min-width:0;width:100%;padding:8px 12px;color:#fff;border-radius:0}.tm-search input::placeholder{color:#b8bac1}.tm-search button{width:42px;height:40px;flex:none;border:0;background:transparent;color:#fff;display:grid;place-items:center}
.tm-icon{display:inline-block;position:relative;width:18px;height:18px}.tm-icon-search{border:2px solid currentColor;border-radius:50%;width:13px;height:13px}.tm-icon-search:after{content:"";position:absolute;right:-5px;bottom:-3px;width:7px;height:2px;background:currentColor;transform:rotate(45deg)}
.tm-icon-menu{border-top:2px solid currentColor;border-bottom:2px solid currentColor;height:14px}.tm-icon-menu:after{content:"";position:absolute;left:0;top:5px;width:100%;height:2px;background:currentColor}
.tm-main{min-height:65vh}.tm-feature{padding:32px 0 26px;background:#15161a;border-bottom:1px solid #292b31}.tm-home-title{margin-bottom:24px!important}
.tm-feature-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#51535b transparent;padding:0 0 16px}
.tm-feature-book{flex:0 0 calc((100% - 48px)/3);min-width:0;text-decoration:none;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.tm-feature-book img{width:100%;height:330px;object-fit:contain;background:#202126;display:block}.tm-feature-book span{font-size:18px;font-weight:700;line-height:1.35;max-width:100%}
.tm-feature-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.tm-feature-controls[hidden]{display:none}.tm-feature-controls button{height:38px;width:42px;border:1px solid #555863;border-radius:4px;background:#22242b;color:#fff;font-size:22px}
.tm-catalog{padding-top:34px;padding-bottom:54px}.tm-section-heading{margin-bottom:20px}.tm-categories{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:24px}.tm-categories a{color:var(--tm-muted);font-size:14px;text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}.tm-categories .is-active{color:#fff;border-bottom-color:var(--tm-accent)}
.tm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 22px}.tm-card{min-width:0}.tm-card-cover{aspect-ratio:2/3;background:#23242a;display:grid;place-items:center;overflow:hidden;border-radius:4px;text-decoration:none}.tm-card-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .18s}.tm-card-cover:hover img{filter:brightness(1.1)}.tm-card h3{margin-top:13px}.tm-card h3 a{text-decoration:none}.tm-card-terms{font-size:12px;color:var(--tm-muted);margin:7px 0 0}.tm-cover-empty{padding:18px;color:var(--tm-muted);text-align:center}
.tm-pagination,.tm-site .pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:32px}.tm-site .page-numbers{padding:4px 10px;text-decoration:none}.tm-site .page-numbers.current{color:#fff;border-bottom:2px solid var(--tm-accent)}
.tm-detail{max-width:816px;margin-inline:auto;padding:28px 28px 60px}.tm-breadcrumb{display:flex;gap:12px;color:var(--tm-muted);font-size:13px;margin-bottom:24px}.tm-breadcrumb a{text-decoration:none}
.tm-site .inside-article{display:flex;flex-direction:column;min-width:0}.tm-site .entry-header{margin-bottom:24px}.tm-site .entry-title{font-size:36px;text-wrap:balance}
.tm-site .entry-content{font-size:17px;line-height:1.8;color:#dedfe3;min-width:0}.tm-site .entry-content p{margin:0 0 1.2em}.tm-site .entry-content h2{font-size:25px;margin:1.8em 0 .7em}.tm-site .entry-content h3{font-size:20px;margin:1.5em 0 .7em}.tm-site .entry-content a{color:#f49aa1}.tm-site .entry-content img{max-width:100%;height:auto}.tm-site .entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.tm-site .entry-content td,.tm-site .entry-content th{padding:10px;border-bottom:1px solid var(--tm-line);text-align:left}.tm-site .entry-content dt{font-weight:700}.tm-site .entry-content dd{margin-left:0;margin-bottom:16px}
.tm-site .entry-content .xn-button,.tm-site .entry-content .wp-block-button__link{background:#b93343;color:#fff;text-decoration:none;border-radius:4px;padding:12px 24px;display:inline-block;line-height:1.4;text-align:center;max-width:100%}.tm-site .entry-content .xn-button:hover{background:#d03d50}.tm-site .xn-novel{max-width:100%}
.tm-site .featured-image{width:100%;max-width:760px;aspect-ratio:16/9;position:relative;margin:0 auto 24px;overflow:hidden;background:#202126}
.tm-site .featured-image.tm-plain-cover{display:block}.tm-site .featured-image.tm-plain-cover img{position:absolute!important;inset:0;transform:none!important;height:100%!important;width:100%!important;max-height:100%;max-width:100%;object-fit:contain}
.tm-site .entry-meta{margin-top:30px}.tm-related{border-top:1px solid var(--tm-line);padding-top:30px;margin-top:36px}.tm-related h2{margin-bottom:22px}.tm-related .tm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tm-related .tm-card h3{font-size:15px}
.tm-list-heading{margin-bottom:28px}.tm-list-heading h1{margin-bottom:12px}.tm-empty{color:var(--tm-muted);padding:24px 0}.tm-footer{border-top:1px solid var(--tm-line);padding:32px 0;background:#17181b}.tm-footer-inner{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.tm-footer .tm-brand{font-size:20px}.tm-footer p{color:var(--tm-muted);font-size:12px;margin-left:auto}
.tm-site .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.tm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tm-header-inner{gap:20px}.tm-menu{gap:18px}.tm-search{max-width:220px}}
@media(max-width:1000px){.tm-header-inner{flex-wrap:wrap;gap:14px;padding-block:16px}.tm-brand{font-size:22px}.tm-enhanced .tm-nav-toggle{display:grid;place-items:center;margin-left:auto;flex:none;width:40px;height:40px;border:1px solid #555863;border-radius:4px;background:transparent;color:#fff}.tm-header .tm-search{order:3;max-width:none;width:100%}.tm-nav{display:block;order:4;width:100%}.tm-enhanced .tm-nav{display:none}.tm-enhanced .tm-nav.is-open{display:block}.tm-nav .tm-menu{flex-direction:column;align-items:stretch;gap:0}.tm-nav a{display:block;padding:10px 0}.tm-nav .sub-menu{display:block;position:static;border:0;margin:0;padding:0 16px;background:transparent}}
@media(max-width:800px){.tm-wrap{padding-inline:20px}.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.tm-feature-book img{height:260px}.tm-detail{padding-inline:20px}.tm-footer p{width:100%;margin:0}}
@media(max-width:600px){.tm-site h1,.tm-site .entry-title{font-size:28px}.tm-site h2{font-size:23px}.tm-feature{padding-top:22px}.tm-home-title{font-size:28px!important;margin-bottom:18px!important}.tm-feature-track{gap:16px}.tm-feature-book{flex-basis:76%}.tm-feature-book img{height:300px}.tm-feature-book span{font-size:17px}.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.tm-card h3{font-size:15px}.tm-catalog{padding-top:26px}.tm-related .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-site .entry-content{font-size:16px}.tm-site .entry-content h2{font-size:23px}.tm-site .entry-header{margin-bottom:20px}.tm-footer .tm-menu{flex-wrap:wrap;gap:12px 20px}.tm-site .featured-image{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.tm-site *{scroll-behavior:auto!important;transition:none!important}}

/* ===== TaleMorrow visual revision - Phase 1 (2026-10-20) =====
   CSS only. No template, content, plugin or option changes.
   Kept as one appended block so it can be reviewed or removed
   without touching the 1.0.3 rules above. */

/* 1. Reading measure: 680px column, 18px / 1.75 body copy */
.tm-detail{max-width:736px}
.tm-site .entry-content{max-width:680px;margin-inline:auto;font-size:18px;line-height:1.75}
.tm-site .featured-image{max-width:680px}

/* 1b. Homepage H1 carries the keywords, not the brand name
      (desktop size stays at the theme's 36px h1 scale) */
.tm-site .tm-home-title{text-wrap:balance}
@media(max-width:600px){.tm-home-title{font-size:22px!important}}

/* 2. Featured rail: true 2:3 cards, no side gutters.
      Desktop becomes an editorial "1 big + 4 small" block (the first cover
      takes 2x2 cells); tablet / phone keep the swipeable rail. */
.tm-feature-book{flex:0 0 220px}
.tm-feature-book img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.tm-feature-book span{font-size:17px;line-height:1.35}
@media(max-width:800px){.tm-feature-book{flex:0 0 calc((100% - 48px)/3)}}
@media(max-width:600px){.tm-feature-book{flex:0 0 46%}.tm-feature-book span{font-size:15px}}
@media(min-width:1001px){
  .tm-feature-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;overflow:visible;padding-bottom:0;scroll-snap-type:none;align-items:start}
  .tm-feature-book{flex:none;width:auto}
  .tm-feature-book:first-child{grid-column:span 2;grid-row:span 2;align-self:stretch;grid-template-rows:minmax(0,1fr) auto;gap:16px}
  .tm-feature-book:first-child img{height:100%;aspect-ratio:auto;min-height:0}
  .tm-feature-book:first-child span{font-size:22px;line-height:1.25}
  .tm-feature-book:not(:first-child) span{font-size:15px;line-height:1.35}
  .tm-feature-controls{display:none}
}

/* 3. Detail hero on phones: compact cover, left-aligned copy */
@media(max-width:600px){
  .single-post .site-main .featured-image .xn-cover-layout{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:10px}
  .single-post .site-main .featured-image .xn-cover-copy{align-items:flex-start;justify-content:center;text-align:left;border-left:0;padding:8px 4px 20px}
  .single-post .site-main .featured-image .xn-cover-title{font-size:18px;line-height:1.25}
  .single-post .site-main .featured-image .xn-cover-kicker{font-size:11px;margin-bottom:6px!important}
  .single-post .site-main .featured-image .xn-cover-brand{right:8px;bottom:6px}
}

/* 4. Touch targets at least 44px */
.tm-site .page-numbers{min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:4px 10px}
.tm-feature-controls button{width:44px;height:44px}

/* 5. Category chips stay on one scrollable row */
.tm-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}
.tm-categories::-webkit-scrollbar{display:none;width:0;height:0}
.tm-categories a{flex:none;white-space:nowrap}

/* 6. Card hover feedback */
.tm-card-cover img{transition:transform .18s ease,filter .18s ease}
.tm-card:hover .tm-card-cover img{transform:scale(1.02)}
.tm-card:hover h3 a{color:var(--tm-accent)}

/* 7. Feature arrows: keep the 44px hit area, drop the heavy chrome */
.tm-feature-controls button{background:transparent;border-color:#4b4e57;color:var(--tm-muted);font-size:17px;line-height:1}
.tm-feature-controls button:hover{background:#26282f;border-color:#6a6e79;color:#fff}
