.catalog-body{min-width:0;font-size:1rem;line-height:1.55}.catalog-body a,.catalog-body input,.catalog-body button,.catalog-body select{touch-action:manipulation}.catalog-body .header-inner{max-width:1440px;gap:24px}.catalog-body .desktop-nav{gap:22px}.catalog-body .desktop-nav a,.catalog-body .drama-menu,.catalog-body .account-link{font-size:.875rem}.catalog-body .drama-menu summary{min-height:44px}.catalog-main{max-width:1320px;margin:auto;padding:0 5% 64px}.catalog-body h1,.catalog-body h2,.catalog-body h3{letter-spacing:-.025em;overflow-wrap:anywhere}.catalog-body h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.15;margin:12px 0 24px}.catalog-body h2{font-size:1.6rem;line-height:1.3;margin:0}.catalog-body h3{font-size:1rem;line-height:1.5;margin:6px 0}.catalog-body .eyebrow{font-size:.875rem;letter-spacing:.12em;color:var(--accent);margin:0 0 18px}.catalog-body .primary,.catalog-body .secondary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:10px;padding:12px 20px;font-size:1rem;white-space:normal}.catalog-body .primary{background:var(--accent);color:#20121a;border:1px solid var(--accent);font-weight:700}.catalog-body .secondary{border:1px solid #a4778a}.catalog-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);gap:40px;padding:54px 44px;background:linear-gradient(120deg,#2e1d2a,#15151f 70%);border:1px solid #ef8e9e30;border-radius:24px;margin:32px 0}.feature-copy{align-self:center;min-width:0}.feature-summary{max-width:620px;color:#d2c0ca;line-height:1.8;margin-bottom:26px;white-space:pre-line;overflow-wrap:anywhere}.feature-poster,.detail-poster,.poster{background:linear-gradient(150deg,#483142,#211d2d);border:1px solid #ffffff16;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;aspect-ratio:2/3;border-radius:14px;width:100%}.feature-poster{max-width:300px;justify-self:end;max-height:440px}.poster-monogram{font-family:Georgia,serif;color:#ef8e9e85;font-size:clamp(2rem,5vw,4rem);line-height:1.3;max-width:90%;overflow-wrap:anywhere}.poster-caption{font-size:.875rem;color:#d2b8c7;position:absolute;bottom:15px}.empty-hero{grid-template-columns:1fr;min-height:360px}.empty-hero em{font-style:normal;color:var(--accent)}.category-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.category-shortcuts a{border:1px solid #68505f;border-radius:99px;padding:11px 18px;min-height:44px;font-size:.875rem}.category-shortcuts a:hover{background:#ef8e9e20}.catalog-section{margin:40px 0}.row-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.row-heading>a{color:var(--accent);font-size:.875rem;min-height:44px;display:flex;align-items:center}.content-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 16px}.content-card{min-width:0}.content-card>a{display:block;border-radius:14px}.content-card a:hover .poster{border-color:#ef8e9e}.card-copy{padding:12px 2px}.content-type,.card-status,.muted{font-size:.875rem;color:var(--muted)}.state-tag,.preview-marker{font-size:.875rem;color:var(--accent);display:inline-block}.state-tag{border:1px solid #ef8e9e55;border-radius:6px;padding:3px 7px}.special-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(110deg,#392135,#211c2c);border:1px solid #ef8e9e50;border-radius:20px;padding:32px;margin:48px 0}.special-callout p{color:#dcc3d0}.empty-state{border:1px solid #ffffff20;border-radius:16px;padding:28px;color:#c5bcc6;background:#171820}.empty-state p{margin:0 0 12px;overflow-wrap:anywhere}.empty-state p:last-child{margin:0}.empty-state a{color:var(--accent);text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}.empty-state a.primary{color:#20121a;text-decoration:none}.page-intro{margin-top:40px}.catalog-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#171820;padding:20px;border:1px solid #ffffff20;border-radius:16px;margin:26px 0}.catalog-search label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:.875rem}.search-field{flex:1 1 250px}.catalog-search input,.catalog-search select{font:inherit;font-size:1rem;min-height:48px;border:1px solid #766170;border-radius:8px;background:#101018;color:var(--ink);padding:12px;width:100%;max-width:100%}.catalog-search input:focus-visible,.catalog-search select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catalog-search button{cursor:pointer}.clear-search{font-size:.875rem;min-height:44px;display:flex;align-items:center;color:var(--accent)}.result-count{color:var(--muted);overflow-wrap:anywhere}.catalog-footer{max-width:1320px;margin:auto;padding:32px 5%;display:flex;align-items:flex-start;flex-wrap:wrap;gap:24px;font-size:.875rem;color:var(--muted)}.catalog-footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}.catalog-footer nav a{min-height:44px;display:flex;align-items:center}.catalog-footer>span{width:100%}.preview-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 5%;background:#46263b;font-size:.875rem}.preview-banner a{margin-left:auto;min-height:44px;display:flex;align-items:center;text-decoration:underline}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0;font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.breadcrumbs a{color:var(--accent)}.detail-hero{display:grid;grid-template-columns:minmax(160px,280px) minmax(0,1fr);gap:40px;align-items:start;margin:30px 0 48px}.detail-copy{min-width:0}.detail-copy h1{font-size:clamp(2rem,3.5vw,3rem)}.synopsis{line-height:1.8;white-space:pre-line;color:#d9cad2;overflow-wrap:anywhere}.genre-list{display:flex;gap:8px;flex-wrap:wrap}.genre-list span{font-size:.875rem;padding:5px 10px;border:1px solid var(--line);border-radius:99px}.content-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;font-size:.875rem;margin:24px 0}.content-facts dt{color:var(--muted)}.content-facts dd{margin:0;overflow-wrap:anywhere}.unit-list{padding:0;list-style:none;border:1px solid var(--line);border-radius:16px;overflow:hidden}.unit-list li{display:flex;align-items:center;gap:18px;padding:18px;border-bottom:1px solid var(--line);min-width:0}.unit-list li:last-child{border:0}.unit-number{min-width:32px;font-size:1rem;color:var(--accent)}.unit-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}.unit-copy strong{font-size:1rem}.unit-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:45%;justify-content:flex-end}.unit-action{font-size:.875rem;min-height:44px;padding:10px 14px;border:1px solid #826270;border-radius:8px}.unit-state{font-size:.875rem;color:var(--muted)}.access-allow{color:var(--accent)}.account-nav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 32px}.account-nav a{font-size:.875rem;padding:10px 15px;border:1px solid var(--line);border-radius:8px;min-height:44px}.catalog-body .catalog-bottom{font-size:.75rem}.catalog-body .catalog-bottom a{font-size:.75rem;min-width:0;min-height:48px;text-align:center;line-height:1.4}.catalog-body .catalog-bottom a span{font-size:1.4rem}.catalog-body .auth-message{font-size:1rem}
@media(max-width:1100px){.catalog-body .desktop-nav{gap:12px}.catalog-body .header-inner{gap:14px;padding:0 4%}.content-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-hero{padding:32px;gap:24px}}
@media(max-width:900px){.catalog-body .desktop-nav{display:none}.catalog-body .account-link{margin-left:auto}.catalog-body .catalog-bottom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;width:100%;z-index:30;background:#16151ef5;border-top:1px solid var(--line);padding:9px 3% calc(9px + env(safe-area-inset-bottom));gap:4px}.catalog-body .catalog-bottom a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#b8aeb8}.catalog-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}
@media(max-width:650px){.catalog-main{padding:0 5% 24px}.catalog-body .header-inner{height:66px}.catalog-hero{grid-template-columns:minmax(0,1fr);padding:28px 24px;border-radius:18px;margin-top:22px}.feature-poster{display:none}.empty-hero{min-height:320px}.catalog-body h1{font-size:2.3rem}.catalog-body h2{font-size:1.4rem}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.category-shortcuts{gap:8px}.category-shortcuts a{padding:10px 14px}.catalog-search{padding:16px;gap:14px}.search-field{flex-basis:100%}.catalog-search label:not(.search-field){flex:1 1 140px}.catalog-search button{flex:1 1 90px}.catalog-section{margin:30px 0}.special-callout{flex-direction:column;align-items:flex-start;padding:24px}.catalog-footer nav{margin-left:0}.detail-hero{grid-template-columns:minmax(0,1fr);gap:24px}.detail-poster{max-width:190px}.detail-copy h1{font-size:2rem}.unit-list li{gap:12px;flex-wrap:wrap;padding:16px}.unit-actions{max-width:100%;width:100%;justify-content:flex-start;margin-left:44px}.empty-state{padding:22px}.preview-banner{gap:8px}.catalog-body .eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:.06em}}
.catalog-body .header-inner{height:auto;min-height:78px;padding-top:14px;padding-bottom:14px}.catalog-body .desktop-nav{min-width:0;flex-wrap:wrap;justify-content:center}.catalog-body .brand,.catalog-body .account-link{flex-shrink:0}.catalog-body .catalog-bottom a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.acceptance-output{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.5}


/* Stage18 shared customer shell: browser and embedded viewport. */
.catalog-body{--catalog-gap:16px;--catalog-card-radius:14px;--catalog-max-width:1320px}
.catalog-main,.catalog-footer{max-width:var(--catalog-max-width)}
.catalog-body .header{padding-top:env(safe-area-inset-top)}
.catalog-body .catalog-bottom svg{width:23px;height:23px;flex:none}
.catalog-body .catalog-bottom a .nav-label{font-size:.75rem}
.catalog-body .catalog-bottom a[aria-current="page"]{color:var(--accent)!important}
.content-card>a:focus-visible{outline-offset:5px}
@media(max-width:900px){
  .catalog-body .catalog-bottom{padding-left:max(3%,env(safe-area-inset-left));padding-right:max(3%,env(safe-area-inset-right));backdrop-filter:blur(16px)}
  .catalog-main{padding-left:max(5%,env(safe-area-inset-left));padding-right:max(5%,env(safe-area-inset-right))}
  .content-row{grid-auto-flow:column;grid-auto-columns:minmax(150px,24%);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px 5px 12px;margin-left:-5px;margin-right:-5px}
  .content-row .content-card{scroll-snap-align:start}
}
@media(max-width:650px){.content-row{grid-auto-columns:44%;gap:var(--catalog-gap)}.catalog-body .catalog-bottom a{min-height:52px;justify-content:center}}

/* Approved Plot homepage palette and four-tab navigation. */
.catalog-body{color-scheme:light;--bg:#fffafb;--surface:#fff;--surface-2:#fff0f5;--ink:#32212b;--muted:#786570;--accent:#a72c58;--line:#ebd9e1;background:var(--bg);color:var(--ink)}
.catalog-body .header{background:#ffffffed;border-color:var(--line)}
.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy small{font-size:.65rem;font-weight:500;letter-spacing:0;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header-search{display:flex;flex:1;max-width:560px;border:1px solid var(--line);border-radius:99px;background:var(--surface-2);overflow:hidden}
.header-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;padding:12px 18px;outline-offset:-3px}
.header-search button{border:0;background:transparent;color:var(--accent);min-width:48px;min-height:48px;font-size:1.5rem;cursor:pointer}
.header-actions{display:flex;align-items:center;gap:20px;font-size:.875rem}.catalog-body .account-link{color:var(--ink);border-color:var(--line)}
.catalog-hero{background:linear-gradient(120deg,#ffe9f0,#fff4f8 70%);border-color:var(--line)}
.feature-summary,.synopsis,.special-callout p{color:var(--muted)}
.poster,.feature-poster,.detail-poster{background:linear-gradient(150deg,#f6e3ec,#eee4f0);border-color:var(--line)}
.poster-monogram{color:#a72c5870}.poster-caption{color:var(--muted)}
.catalog-body .primary{color:#fff}.category-shortcuts a,.unit-action{border-color:var(--line)}
.empty-state,.catalog-search{background:var(--surface);color:var(--muted);border-color:var(--line)}
.empty-state a.primary{color:#fff}.catalog-search input,.catalog-search select{background:var(--surface);border-color:var(--line)}
.special-callout{background:var(--surface-2);border-color:var(--line)}
.preview-banner{background:#fae0eb;color:var(--ink)}
@media(max-width:900px){.catalog-body .catalog-bottom{grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffff5}.catalog-body .catalog-bottom a{color:var(--muted)}.header-actions{gap:12px}}
@media(max-width:650px){.catalog-body .header-inner{flex-wrap:wrap;gap:12px}.brand-copy small{font-size:.6rem}.header-actions{margin-left:auto}.header-search{order:3;flex-basis:100%;max-width:none}.header-actions>a:not(.account-link){display:none}}
/* Founder-approved Stage18: charcoal / blush, exclusive-first, portrait cards. */
:root[data-theme=dark] .catalog-body{color-scheme:dark;--bg:#17171f;--surface:#22222c;--surface-2:#29232f;--ink:#f4edf2;--muted:#b8aab6;--accent:#ed4286;--line:#3b3341}
:root[data-theme=pink] .catalog-body{color-scheme:light;--bg:#f8e8ef;--surface:#fff4f8;--surface-2:#f4d5e3;--ink:#30232d;--muted:#715965;--accent:#b92560;--line:#e7c9d7}
.catalog-body{background:var(--bg);color:var(--ink)}
.catalog-body .header,.catalog-body .catalog-bottom{background:var(--bg);border-color:var(--line)}
.catalog-body .header-inner{min-height:76px;gap:20px}
.catalog-body .brand-mark{display:none}.brand-copy{font-size:1.55rem;font-weight:850;letter-spacing:-.06em}.brand-copy small{letter-spacing:0;font-size:.65rem}
.theme-toggle{display:flex;align-items:center;gap:7px;min-width:44px;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:99px;color:var(--ink);padding:8px 12px;cursor:pointer;font:inherit;font-size:.8rem}
.catalog-hero{background:linear-gradient(120deg,var(--surface-2),var(--surface));border-color:var(--line)}
.exclusive-hero{grid-template-columns:1.3fr 1fr;min-height:300px;padding:36px;margin:24px 0}.exclusive-hero h1{font-size:clamp(2rem,4vw,3.4rem);max-width:650px}.exclusive-hero .feature-summary{max-width:500px;margin-bottom:20px}
.hero-decoration{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;border-radius:20px;background:radial-gradient(ellipse at center,#ed428625,transparent 68%);color:var(--accent)}.hero-decoration span{font-size:clamp(3rem,8vw,7rem);font-weight:900;letter-spacing:-.08em}.hero-decoration small{color:var(--muted)}
.catalog-body .primary{color:#fff}.poster,.feature-poster,.detail-poster{background:linear-gradient(145deg,var(--surface-2),var(--surface));border-color:var(--line);aspect-ratio:2/3}.poster-monogram{color:var(--accent);opacity:.6}.poster-caption{color:var(--muted)}
.category-shortcuts{margin:16px 0 24px;gap:10px}.category-shortcuts>a,.category-shortcuts summary{background:var(--surface);border:1px solid var(--line);border-radius:99px;min-height:44px;padding:10px 22px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.category-shortcuts>a[aria-current="page"]{background:var(--accent);color:white;border-color:var(--accent)}.category-shortcuts .drama-menu{position:relative}.category-shortcuts .drama-menu>div{position:absolute;z-index:35;top:50px;background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:12px;min-width:175px}.category-shortcuts .drama-menu>div>a{display:block;padding:12px}
.content-row{grid-auto-flow:column;grid-auto-columns:calc((100% - 80px)/6);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px}.content-row .content-card{scroll-snap-align:start}
.catalog-section{margin:30px 0}.row-heading{margin-bottom:14px}.row-heading h2{font-size:1.45rem}.card-copy{padding:8px 2px}.card-copy h3{font-size:.95rem}.empty-state{background:var(--surface);color:var(--muted);border-color:var(--line);padding:22px}.preview-banner{background:var(--surface-2);color:var(--ink)}
.free-intro{max-width:640px;margin:60px auto;text-align:center}.free-symbol{display:inline-flex;border-radius:50%;width:90px;height:90px;align-items:center;justify-content:center;background:var(--surface-2);font-size:3rem;color:var(--accent)}
@media(max-width:900px){.catalog-body .catalog-bottom{grid-template-columns:repeat(5,minmax(0,1fr))}.catalog-bottom a:nth-child(3) svg{background:var(--surface-2);border-radius:50%;width:32px;height:32px;padding:5px;color:var(--accent)}.header-actions>a:not(.account-link){display:none}.theme-toggle span{display:none}.content-row{grid-auto-columns:29%}.header-search{max-width:360px}}
@media(max-width:650px){.catalog-main{padding-left:16px;padding-right:16px}.catalog-body .header-inner{flex-wrap:nowrap;min-height:68px;padding:8px 16px;gap:10px}.header-search{order:initial;flex:0 0 44px;background:transparent;border:0}.header-search input{display:none}.header-search button{font-size:1.7rem;padding:0;min-width:44px}.header-actions{gap:7px;margin-left:auto}.header-actions .account-link{display:none}.brand-copy small{display:none}.exclusive-hero{grid-template-columns:1fr;min-height:230px;padding:24px;margin:12px 0 18px}.exclusive-hero h1{font-size:2rem;margin:10px 0}.exclusive-hero .eyebrow{margin:0}.hero-decoration{display:none}.feature-summary{font-size:.9rem;line-height:1.6}.category-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.category-shortcuts>a,.category-shortcuts summary{padding:8px 5px;font-size:.8rem}.content-row{grid-auto-columns:44%;gap:14px}.catalog-section{margin:24px 0}.catalog-body h2{font-size:1.25rem}.row-heading>a{font-size:.75rem}.catalog-footer{padding-left:16px;padding-right:16px}}

.catalog-alert{padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:.875rem}

/* Desktop gutters share one width with the header and footer. */
@media(min-width:901px){
 .catalog-body{--catalog-max-width:1680px}
 .catalog-main,.catalog-footer,.catalog-body .header-inner{box-sizing:border-box;width:100%;max-width:var(--catalog-max-width);padding-left:32px;padding-right:32px;margin-left:auto;margin-right:auto}
}

/* Stage18: balance desktop header and show owner-supplied staging cover. */
@media(min-width:901px){
 .catalog-body .header-inner{display:grid;grid-template-columns:minmax(160px,1fr) minmax(280px,700px) auto;column-gap:clamp(24px,3vw,56px)}
 .header-search{width:100%;max-width:none}
 .header-actions{justify-self:end;gap:clamp(16px,1.5vw,28px);margin-left:0;white-space:nowrap}
}
.hero-cover{display:block;width:auto;max-width:100%;height:360px;object-fit:contain;justify-self:center;border-radius:14px;box-shadow:0 16px 45px #0005}
.staging-showcase-card{display:flex;align-items:center;gap:28px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.staging-showcase-card .poster{display:block;width:170px;flex:0 0 170px;height:255px;object-fit:contain}
.staging-showcase-card h3{font-size:1.25rem}
@media(max-width:650px){
 .exclusive-hero:has(.hero-cover){grid-template-columns:minmax(0,1fr) 120px;gap:16px;padding:20px}
 .exclusive-hero:has(.hero-cover) h1{font-size:1.5rem}
 .hero-cover{height:auto;width:120px}
 .staging-showcase-card{gap:16px;padding:16px;align-items:flex-start}
 .staging-showcase-card .poster{width:110px;flex-basis:110px;height:165px}
 .staging-showcase-card h3{font-size:1rem}
}

/* Owner revision: one search surface and five category shortcuts. */
@media(min-width:901px){.catalog-body .header-inner{grid-template-columns:minmax(160px,1fr) auto}}
.category-shortcuts{overflow-x:auto;flex-wrap:nowrap}.category-shortcuts>a,.category-shortcuts summary{white-space:nowrap;flex-shrink:0}
.hero-slide[hidden]{display:none!important}.hero-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:-10px 0 22px}.hero-dots{display:flex;gap:8px}
.hero-controls button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;min-width:44px;min-height:44px;cursor:pointer}.hero-dots button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
@media(max-width:650px){.category-shortcuts{display:flex;gap:8px;padding-bottom:6px}.category-shortcuts>a,.category-shortcuts summary{padding:10px 14px}.hero-controls{gap:5px}.hero-dots{gap:4px}.hero-dots button{min-width:32px;min-height:44px}}

/* Compact header and visible drama navigation (no clipped dropdown). */
@media(min-width:901px){.catalog-body .header-inner{height:72px;min-height:72px}.catalog-body .brand-copy{font-size:2rem}.brand-copy small{font-size:.7rem}}
.drama-subcategories{display:flex;gap:10px;flex-wrap:wrap;margin:-12px 0 24px}.drama-subcategories a{padding:9px 16px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.875rem;min-height:44px}

@media(min-width:901px){.catalog-body .brand-copy{line-height:1.05;gap:5px}.catalog-body .brand-copy small{line-height:1.3}}

.staging-linked-poster{object-fit:contain;background:#211b25}

/* Original landscape covers must not acquire artificial portrait letterboxing. */
.content-card img.poster.staging-linked-poster,img.detail-poster.staging-linked-poster{display:block;aspect-ratio:auto;height:auto;object-fit:contain;background:transparent}
.catalog-preview .page-intro{margin-top:24px}.catalog-preview .page-intro>h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:8px 0 18px}.catalog-preview .preview-banner a{margin-left:0}.catalog-preview .preview-banner{gap:12px 24px;padding-block:10px}

.novel-search select:disabled{opacity:.6;cursor:not-allowed}.novel-search .search-field{flex:1 1 320px}.novel-search label:not(.search-field){flex:1 1 150px}

.detail-hero{max-width:1120px;margin:24px auto 32px;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:32px}.detail-copy h1{font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.3;margin:8px 0 16px}.detail-copy .synopsis{font-size:1rem;line-height:1.75;margin:18px 0}.detail-actions{display:flex;flex-wrap:wrap;gap:12px}.detail-copy .content-facts:empty{display:none}.novel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.novel-facts>div{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.novel-facts dt{font-size:.875rem;color:var(--muted)}.novel-facts dd{margin:4px 0 0;font-weight:600;font-size:1rem;overflow-wrap:anywhere}.unit-section{max-width:1120px;margin-inline:auto}.unit-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.unit-summary strong{font-size:1.3rem}.unit-summary span{color:var(--muted);font-size:.95rem}.unit-section h2{font-size:1.1rem;margin:16px 0 12px}@media(max-width:650px){.detail-hero{grid-template-columns:minmax(0,1fr);gap:20px}.detail-hero .detail-poster{max-width:320px;width:100%;justify-self:center}.detail-copy h1{font-size:1.65rem}.novel-facts{gap:8px}.novel-facts>div{padding:10px 12px}.unit-summary{flex-wrap:wrap}}

/* Compact content detail: metadata is supporting text, not dashboard tiles. */
.detail-hero{max-width:1000px;grid-template-columns:260px minmax(0,1fr);gap:28px;margin-block:20px 28px}.detail-hero .detail-poster{max-width:260px;align-self:start}.detail-copy h1{font-size:clamp(1.4rem,2vw,1.8rem);margin:6px 0 12px}.detail-copy .synopsis{margin:12px 0;font-size:.95rem}.detail-copy .state-tag{font-size:.8rem;margin:4px 0 8px}.novel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:14px 0 18px}.novel-facts>div{display:flex;align-items:baseline;gap:8px;padding:0;border:0;border-radius:0;background:transparent;min-width:0}.novel-facts dt{font-size:.85rem;flex-shrink:0}.novel-facts dd{font-size:.85rem;margin:0;font-weight:500}.detail-actions .primary,.detail-actions .secondary{font-size:.9rem;padding:9px 16px;min-height:42px}.unit-section{max-width:1000px}.unit-summary strong{font-size:1.15rem}@media(max-width:650px){.detail-hero{grid-template-columns:minmax(0,1fr);gap:16px}.detail-hero .detail-poster{max-width:230px}.detail-copy h1{font-size:1.4rem}.novel-facts{gap:8px 12px}.novel-facts>div{display:block;padding:0}.novel-facts dd{margin-top:2px}}

/* Portrait frames preserve legacy lettering and faces until portrait exports exist. */
.portrait-artwork{isolation:isolate;aspect-ratio:2/3;display:block;background:var(--surface);width:100%}
.portrait-artwork .poster-backdrop{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(22px) brightness(.5);z-index:-1;pointer-events:none}
.portrait-artwork .poster-artwork{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;border-radius:0}
.content-card img.poster.staging-linked-poster{aspect-ratio:2/3;height:auto;object-fit:contain;background:var(--surface)}
.detail-hero{max-width:none;width:100%;grid-template-columns:clamp(280px,25vw,340px) minmax(0,1fr);gap:32px}
.detail-hero .detail-poster{max-width:340px;width:100%;aspect-ratio:2/3}
.unit-section{max-width:none;width:100%}
@media(max-width:650px){.detail-hero{grid-template-columns:minmax(0,1fr);gap:18px}.detail-hero .detail-poster{max-width:260px;justify-self:center}}

/* Detail uses the complete source artwork without padded portrait height. */
.detail-hero .portrait-artwork{aspect-ratio:auto;overflow:hidden;align-self:start}
.detail-hero .portrait-artwork .poster-backdrop{display:none}
.detail-hero .portrait-artwork .poster-artwork{position:static;width:100%;height:auto;object-fit:contain}
.detail-copy .novel-facts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px;gap:8px 24px}
.detail-copy .synopsis{max-width:820px}
@media(max-width:650px){.detail-hero .portrait-artwork{max-width:340px}.detail-copy .novel-facts{gap:8px 12px}}

.detail-layout{display:grid;grid-template-columns:250px minmax(280px,1fr) minmax(340px,1fr);gap:28px;align-items:start;margin-bottom:32px}.detail-layout .detail-hero{display:contents}.detail-layout .detail-poster{grid-column:1;width:100%;max-width:none;aspect-ratio:2/3}.detail-layout .detail-copy{grid-column:2}.detail-layout .unit-section{grid-column:3;margin:0;padding:20px;border:1px solid var(--line);border-radius:16px;box-sizing:border-box}.detail-layout .unit-list{max-height:500px;overflow-y:auto;margin:12px 0;border-radius:8px}.detail-layout .unit-list li{padding:10px;gap:10px}.unit-list li[hidden]{display:none}.detail-layout .unit-actions{gap:6px}.detail-layout .unit-action{padding:7px 10px;min-height:36px}.detail-layout .unit-copy{gap:2px}.detail-layout .unit-copy strong{font-size:.9rem}.detail-layout .unit-summary{margin-bottom:14px}.detail-layout .unit-section h2{display:none}
.chapter-controls{display:flex;gap:10px;flex-wrap:wrap}.chapter-controls label{font-size:.8rem;color:var(--muted);flex:1;min-width:100px}.chapter-controls input,.chapter-controls select{box-sizing:border-box;width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;margin-top:6px;min-height:42px}.chapter-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem}.chapter-pagination[hidden]{display:none}.chapter-pagination button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;min-height:44px;cursor:pointer}.chapter-pagination button:disabled{opacity:.4;cursor:default}
@media(min-width:651px) and (max-width:1100px){.detail-layout{grid-template-columns:230px minmax(0,1fr)}.detail-layout .unit-section{grid-column:1/-1}.detail-layout .unit-list{max-height:none}}
@media(max-width:650px){.detail-layout{display:block}.detail-layout .detail-hero{display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px 14px;margin:16px 0 22px}.detail-layout .detail-poster{grid-column:1;grid-row:1/6;max-width:125px;align-self:start}.detail-layout .detail-copy{display:contents}.detail-copy>.content-type{grid-column:2;grid-row:1}.detail-copy>h1{grid-column:2;grid-row:2;font-size:1.12rem;margin:0}.detail-copy>.state-tag{grid-column:2;grid-row:3;font-size:.7rem;margin:0}.detail-copy>.novel-facts{grid-column:2;grid-row:4;display:block;margin:0}.detail-copy .novel-facts>div{display:flex;gap:5px;margin:3px 0}.detail-copy .novel-facts dt,.detail-copy .novel-facts dd{font-size:.72rem;margin:0}.detail-copy>.content-facts{grid-column:2;grid-row:5;margin:0}.detail-copy>.detail-actions{grid-column:1/-1;grid-row:6;gap:8px}.detail-actions a{flex:1}.detail-copy>.synopsis{grid-column:1/-1;grid-row:7;margin:4px 0;font-size:.875rem}.detail-copy>.genre-list{grid-column:1/-1;grid-row:8}.detail-layout .unit-section{padding:14px}.detail-layout .unit-list{max-height:none;overflow:visible}.detail-layout .unit-actions{width:auto;max-width:45%;margin-left:0}.detail-layout .unit-list li{flex-wrap:nowrap}.detail-layout .unit-summary strong{font-size:1.05rem}}

img.approved-portrait{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.detail-layout .detail-poster.approved-portrait{aspect-ratio:2/3;height:auto}

/* Owner revision: chapters below the portrait and story on every screen. */
@media(min-width:651px){.detail-layout{grid-template-columns:250px minmax(0,1fr);gap:24px 28px}.detail-layout .unit-section{grid-column:1/-1}.detail-layout .unit-list{max-height:none;overflow:visible}.detail-layout .chapter-controls{max-width:720px}}

.solo-price{font-size:.9rem;color:var(--accent);margin:12px 0}.detail-copy .genre-list{margin:12px 0}.detail-copy .novel-facts>div{flex-wrap:wrap}

/* Full portrait presentation: no blurred letterbox; title remains complete in UI. */
.portrait-artwork,.detail-hero .portrait-artwork{aspect-ratio:2/3;position:relative;overflow:hidden}
.portrait-artwork .poster-backdrop{display:none}
.portrait-artwork .poster-artwork,.detail-hero .portrait-artwork .poster-artwork{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:45% 35%}

/* Hero banners are horizontal; catalog posters remain portrait. */
.horizontal-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:0;aspect-ratio:3/1;padding:clamp(24px,4vw,64px)}
.hero-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.horizontal-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,20,.94),rgba(12,12,20,.6) 45%,rgba(12,12,20,.08))}
.horizontal-banner .feature-copy{max-width:58%;color:#fff}.horizontal-banner .eyebrow{color:#ff83b1}.horizontal-banner .feature-summary{color:#eee}
@media(max-width:650px){.horizontal-banner{aspect-ratio:16/9;padding:20px}.horizontal-banner .feature-copy{max-width:78%}.horizontal-banner h1{font-size:clamp(1.2rem,5vw,1.7rem)}.horizontal-banner .feature-summary{display:none}.horizontal-banner .eyebrow{font-size:.65rem}.horizontal-banner .primary{padding:9px 14px}.hero-banner-image{object-position:65% center}}

.card-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.75rem;color:var(--muted);margin-bottom:8px}.card-meta .card-status{text-align:right;margin:0;font-size:inherit}
.discovery-body .catalog-footer{display:none}.discovery-body .catalog-main{max-width:100%;padding:0}.discovery-feed{height:calc(100dvh - 90px);overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;background:#09090f}.discovery-card{position:relative;isolation:isolate;height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;max-width:560px;margin:auto;background:#11111b}.feed-art{position:absolute;inset:0;z-index:-2}.feed-art .poster{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}.feed-art .portrait-artwork{aspect-ratio:auto}.feed-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-1}.discovery-card:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(transparent 30%,rgba(0,0,0,.92))}.feed-copy{position:absolute;bottom:0;left:0;right:0;padding:24px;color:white}.feed-copy h1{font-size:1.6rem;line-height:1.2;margin:10px 0}.feed-hook{font-size:.9rem;max-height:5em;overflow:auto}.feed-type{color:#ff83b1;font-size:.8rem}.feed-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.feed-actions a,.feed-actions button{font-size:.8rem;padding:10px;min-width:0}.feed-copy small{color:#ccc}.feed-copy p{margin:8px 0}
@media(max-width:650px){.discovery-feed{height:calc(100dvh - 68px - 70px - env(safe-area-inset-bottom))}.discovery-body .preview-banner{display:none}.discovery-card{max-width:100%}.feed-copy{padding:16px}.feed-copy h1{font-size:1.35rem}.feed-actions{gap:6px}}

/* Landscape previews retain the whole frame above their separate information panel. */
.feed-landscape{display:flex;flex-direction:column}
.feed-landscape .feed-art{filter:blur(24px) brightness(.35);transform:scale(1.12)}
.feed-landscape:after{background:linear-gradient(rgba(15,12,22,.15),rgba(15,12,22,.65))}
.feed-landscape video.feed-media{position:relative;inset:auto;flex:none;display:block;height:auto;max-height:44%;aspect-ratio:16/9;object-fit:contain;z-index:0;background:#09090f}
.feed-landscape .feed-copy{position:relative;inset:auto;flex:1;min-height:0;overflow-y:auto;padding:20px 24px}
.feed-landscape .feed-copy h1{margin-top:8px}
.feed-landscape .feed-hook{max-height:none;overflow:visible}
@media(max-width:650px){.feed-landscape .feed-copy{padding:14px 16px}.feed-landscape .feed-copy h1{font-size:1.2rem}.feed-landscape .feed-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.feed-landscape .feed-actions a{white-space:normal;text-align:center}}

.content-card{position:relative}.favorite-toggle{min-width:44px;min-height:44px;padding:8px;border-radius:50%;font-size:1.4rem;background:var(--surface,#211821);color:#f68bb5;border:1px solid #805065;cursor:pointer}.content-card>.favorite-toggle{position:absolute;top:8px;right:8px;z-index:2}.favorite-toggle[aria-pressed=true]{background:#ed3a86;color:white}.content-card[hidden]{display:none!important}

.favorite-feedback:empty{display:none}.favorite-feedback{padding:12px 16px;color:var(--ink);background:var(--panel);border-radius:8px}.favorite-toggle:disabled{opacity:.6;cursor:wait}

.notification-list li[hidden]{display:none}


/* Stage18 Founder mobile review: balanced controls and bounded spacing. */
.catalog-body{--catalog-control-size:44px;--catalog-favorite-icon:20px}
.catalog-body .favorite-toggle{box-sizing:border-box;width:var(--catalog-control-size);height:var(--catalog-control-size);min-width:var(--catalog-control-size);min-height:var(--catalog-control-size);padding:0;font-size:var(--catalog-favorite-icon);line-height:1;display:inline-flex;align-items:center;justify-content:center}
.content-card>.favorite-toggle{top:4px;right:4px;width:36px;height:36px;min-width:36px;min-height:36px;font-size:20px;box-shadow:0 2px 8px #0003}
.content-card>.favorite-toggle:before{content:"";position:absolute;inset:-4px}
.hero-controls{justify-content:flex-end;gap:8px;margin:-8px 0 14px}
.hero-controls button{width:36px;height:36px;min-width:36px;min-height:36px;font-size:16px;padding:0}
.hero-controls button:before{content:"";position:absolute;inset:-4px}.hero-controls button{position:relative}
.category-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:8px}
.category-shortcuts>a{min-width:0;padding:10px 8px;white-space:nowrap}
.staging-showcase-card>div{min-width:0}
.staging-showcase-card .primary{font-size:.875rem;padding:8px 14px;min-height:40px;width:auto;white-space:nowrap}
.catalog-footer{display:grid;grid-template-columns:1fr auto;gap:12px 28px;padding-top:24px;padding-bottom:24px;align-items:center}
.catalog-footer nav{margin:0;gap:4px 20px}
.catalog-footer>span{grid-column:1/-1;font-size:.75rem;line-height:1.6}
@media(max-width:900px){
 .catalog-body .catalog-bottom{grid-template-columns:repeat(4,minmax(0,1fr))}
 .catalog-bottom a:nth-child(3) svg{background:none;border-radius:0;width:23px;height:23px;padding:0;color:inherit}
 .catalog-bottom a[data-nav=free] svg{background:var(--surface-2);border-radius:50%;width:32px;height:32px;padding:5px;color:var(--accent)}
 .catalog-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:12px}
 .catalog-footer nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;width:100%}
 .catalog-footer nav a{font-size:.8rem;line-height:1.4;min-height:36px}
 .catalog-footer>span{max-width:28em}
}
@media(max-width:650px){
 .catalog-body .header-inner{min-height:60px;height:60px}
 .catalog-body .brand-copy{font-size:1.4rem}
 .catalog-main{padding-left:14px;padding-right:14px}
 .horizontal-banner{display:block;aspect-ratio:auto;padding:0;margin:12px 0;border-radius:14px;background:var(--surface)}
 .horizontal-banner .hero-banner-image{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;object-position:center;z-index:0;border-bottom:1px solid var(--line)}
 .horizontal-banner:after{display:none}
 .horizontal-banner .feature-copy{max-width:none;padding:12px 14px;color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center}
 .horizontal-banner .eyebrow{grid-column:1/-1;font-size:.6rem;letter-spacing:.08em;color:var(--accent)}
 .horizontal-banner h1{font-size:1.1rem;line-height:1.3;margin:0;max-width:none}
 .horizontal-banner .primary{min-height:40px;padding:8px 12px;font-size:.8rem;white-space:nowrap}
 .hero-controls{margin:0 0 12px}
 .category-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:12px 0 20px;padding:0}
 .category-shortcuts>a{padding:8px 2px;font-size:clamp(.65rem,3vw,.78rem);min-height:40px}
 .staging-showcase .row-heading{gap:8px;flex-wrap:wrap}
 .staging-showcase .row-heading .muted{font-size:.7rem}
 .staging-showcase-card{gap:14px;padding:14px;border-radius:14px}
 .staging-showcase-card .poster{width:96px;flex-basis:96px;height:144px}
 .staging-showcase-card h3{font-size:.9rem;line-height:1.4;margin:0 0 8px}
 .staging-showcase-card p{font-size:.75rem;line-height:1.5;margin:0 0 10px}
 .staging-showcase-card .primary{min-height:40px;font-size:.8rem;padding:8px 12px}
 .card-meta{font-size:.65rem;gap:4px;flex-wrap:wrap;justify-content:flex-start}
 .card-meta .card-status{text-align:left}
 .card-copy h3{font-size:.875rem;line-height:1.4}
 .solo-price{font-size:.75rem;margin:8px 0}
 .content-row{grid-auto-columns:calc((100% - 14px)/2);gap:14px;scrollbar-width:none}
 .content-row::-webkit-scrollbar{display:none}
 .catalog-footer{padding-inline:14px;padding-top:20px;margin-top:8px}
 .catalog-footer .brand{font-size:1.15rem}
 .catalog-footer>span{font-size:.7rem}
}


/* Stage18 mobile review: shared compact scale and image-only hero. */
.catalog-body{--catalog-field-height:38px;--catalog-button-height:40px;--catalog-section-gap:24px}
.catalog-hero.horizontal-banner{display:block;position:relative;aspect-ratio:3/1;padding:0;min-height:0;margin:16px 0 12px;border-radius:14px;background:var(--surface)}
.horizontal-banner:after{display:none}
.hero-image-link{display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden}
.horizontal-banner .hero-banner-image{position:static;display:block;width:100%;height:100%;aspect-ratio:3/1;object-fit:cover;object-position:center;z-index:auto}
.hero-image-link:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.hero-fallback{display:flex;min-height:160px;align-items:center;justify-content:center;padding:20px;font-size:1.5rem;color:var(--ink)}
.catalog-body .catalog-bottom{grid-template-columns:repeat(5,minmax(0,1fr))}
.catalog-bottom a .nav-label{white-space:nowrap}
.catalog-search{padding:14px;margin:16px 0;gap:10px}
.catalog-search label{gap:5px;font-size:.75rem}
.catalog-search input,.catalog-search select{box-sizing:border-box;min-height:var(--catalog-field-height);height:var(--catalog-field-height);padding:7px 10px;font-size:.875rem}
.catalog-search button.primary{min-height:var(--catalog-button-height);padding:8px 14px;font-size:.875rem}
.drama-subcategories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:480px;margin:-8px 0 16px}
.drama-subcategories a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;font-size:.8rem;white-space:nowrap}
.catalog-body .auth-panel{box-sizing:border-box;max-width:600px;margin:24px auto 32px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.catalog-body .auth-panel h2{font-size:1.4rem;margin:8px 0 12px}
.catalog-body .auth-panel .section-kicker{font-size:.6rem;letter-spacing:.12em}
.catalog-body .auth-panel p{font-size:.875rem;line-height:1.5;margin:10px 0;color:var(--muted)}
.catalog-body .auth-panel dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.3fr);gap:10px 16px;padding:14px;margin:14px 0;font-size:.85rem;background:var(--surface-2);border-radius:10px}
.catalog-body .auth-panel dt{color:var(--muted);font-size:inherit}
.catalog-body .auth-panel dd{margin:0;font-size:inherit;color:var(--ink)}
.catalog-body .auth-panel form{gap:12px;margin:16px 0}
.catalog-body .auth-panel input{box-sizing:border-box;padding:9px 12px;min-height:40px;background:var(--bg);color:var(--ink);border-color:var(--line)}
.catalog-body .auth-panel button,.catalog-body .auth-panel a.primary{box-sizing:border-box;min-height:40px;padding:9px 14px;font-size:.875rem;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none}
.catalog-body .auth-panel button.auth-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
.catalog-body .auth-panel details summary{min-height:40px;padding:8px 0;font-size:.875rem}
.account-surface-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem;margin:10px 0}
.catalog-body .auth-panel .account-surface-links a{color:var(--accent);text-decoration:none;min-height:36px;display:flex;align-items:center}
.detail-actions{align-items:center}
.catalog-body .detail-actions a{min-height:40px;padding:8px 12px;font-size:.8rem;white-space:nowrap}
.discovery-card{display:grid;grid-template-rows:52% 48%;background:var(--surface);color:var(--ink)}
.discovery-card .feed-art{position:absolute;inset:0 0 48%;height:auto;z-index:0;background:var(--surface-2)}
.discovery-card .feed-art .poster{height:100%;width:100%;object-fit:contain;border:0;background:var(--surface-2)}
.discovery-card .feed-art .portrait-artwork .poster-artwork{object-fit:contain}
.discovery-card .feed-media{position:absolute;inset:0 0 auto;height:52%;width:100%;max-height:none;object-fit:contain;z-index:1;background:transparent}
.discovery-card:after{display:none}
.discovery-card .feed-copy{position:relative;inset:auto;grid-row:2;box-sizing:border-box;min-height:0;overflow-y:auto;padding:16px 20px;color:var(--ink);background:var(--surface);z-index:2}
.discovery-card .feed-copy h1{font-size:1.2rem;line-height:1.35;margin:6px 0}
.discovery-card .feed-copy p{font-size:.8rem;line-height:1.5;margin:6px 0}
.discovery-card .feed-hook{max-height:3em;overflow:hidden}
.discovery-card .feed-type{font-size:.7rem;color:var(--accent)}
.discovery-card .feed-copy small{font-size:.65rem;color:var(--muted)}
.feed-actions{display:flex;align-items:center;gap:6px;margin:10px 0;flex-wrap:wrap}
.catalog-body .feed-actions a,.catalog-body .feed-actions button{box-sizing:border-box;min-height:40px;padding:8px 12px;font-size:.75rem;border-radius:8px;line-height:1.3;white-space:nowrap}
.catalog-body .feed-actions button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}
.catalog-body .feed-actions button.favorite-toggle{width:40px;height:40px;min-width:40px;padding:0;border-radius:50%;font-size:20px;color:#f68bb5}
.catalog-body .feed-actions button.favorite-toggle[aria-pressed=true]{background:var(--accent);color:#fff}
.feed-landscape .feed-art{filter:none;transform:none}
.feed-landscape .feed-copy{flex:none}
@media(max-width:650px){
 .catalog-hero.horizontal-banner{margin:12px 0}
 .catalog-body .catalog-bottom a .nav-label{font-size:.65rem}
 .catalog-search,.novel-search{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px}
 .catalog-search .search-field,.novel-search .search-field{grid-column:1/6;grid-row:1;min-width:0}
 .catalog-search button.primary{grid-column:6;grid-row:1;align-self:end;padding:7px 4px;min-height:38px;font-size:.75rem}
 .catalog-search label:not(.search-field){grid-column:span 2;min-width:0}
 .catalog-search label>span{font-size:.68rem;line-height:1.3}
 .catalog-search input{font-size:16px;min-width:0;padding:7px 9px}
 .catalog-search input::placeholder{font-size:.75rem}
 .catalog-search select{font-size:.75rem;padding:6px}
 .catalog-search .clear-search{grid-column:1/-1;min-height:30px;font-size:.75rem}
 .catalog-search+p.muted{font-size:.7rem;line-height:1.5;margin:8px 0}
 .page-intro{margin-top:20px}
 .catalog-body .page-intro>h1{font-size:1.4rem;margin:12px 0}
 .drama-subcategories{max-width:none;gap:5px}
 .drama-subcategories a{font-size:.75rem;padding:6px 4px;min-height:36px}
 .catalog-body .auth-panel{margin:16px 0 24px;padding:16px}
 .catalog-body .auth-panel dl{grid-template-columns:minmax(100px,1fr) minmax(0,1.25fr);gap:8px 10px;padding:12px;font-size:.8rem}
 .catalog-body .auth-panel h2{font-size:1.3rem}
 .detail-copy>.detail-actions{gap:6px}
 .detail-actions a{flex:1 1 auto}
 .discovery-body{padding-bottom:0}
 .discovery-body .catalog-main{height:calc(100dvh - 60px - 74px - env(safe-area-inset-bottom))}
 .discovery-feed{height:100%}
 .discovery-card .feed-copy{padding:12px 14px}
 .discovery-card .feed-copy h1{font-size:1.1rem}
 .discovery-card .feed-copy p{font-size:.75rem}
 .feed-landscape .feed-actions{display:flex}
 .feed-actions .secondary{max-width:100%}
}

/* Stage18 Founder mobile hero/footer correction. */
@media(max-width:650px){
 .catalog-hero.horizontal-banner{aspect-ratio:2/1;overflow:hidden;border-radius:16px;margin:14px 0 10px}
 .horizontal-banner .hero-banner-image{aspect-ratio:auto;height:100%;width:100%;object-fit:cover;object-position:center}
 .hero-controls{gap:8px;margin:0 0 14px}
 .hero-controls button{width:32px;height:32px;min-width:32px;min-height:32px;font-size:14px}
 .catalog-footer{align-items:start;gap:14px;padding-top:22px;border-top:1px solid var(--line)}
 .catalog-footer nav{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(36px,auto);gap:4px 18px;align-items:start}
 .catalog-footer nav a{box-sizing:border-box;align-items:center;min-height:36px;font-size:.8rem;line-height:1.4;padding:6px 0;white-space:nowrap}
 .catalog-footer>span{max-width:none;margin:4px 0 0;font-size:.68rem;line-height:1.6}
}

/* Heart geometry never depends on a font glyph or device font. */
.catalog-body .favorite-toggle .favorite-icon{display:block;flex:none;width:20px;height:20px;aspect-ratio:1;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalog-body .favorite-toggle[aria-pressed=true] .favorite-icon{fill:currentColor}
.catalog-body .catalog-bottom a[data-nav=cart] svg{width:23px;height:23px;aspect-ratio:1;flex:none}

/* Founder: larger image hero, no arrow row; compact accessible auto-rotation control. */
.hero-carousel{position:relative}
.catalog-hero.horizontal-banner{aspect-ratio:5/2;margin-bottom:18px}
.hero-controls{position:absolute;right:10px;bottom:28px;margin:0;z-index:2}
.hero-controls button{width:28px;height:28px;min-width:28px;min-height:28px;background:#17171f99;color:#fff;border-color:#ffffff35;font-size:12px}
.hero-controls button:before{inset:-8px}
@media(max-width:650px){.catalog-hero.horizontal-banner{aspect-ratio:16/9;margin-bottom:16px}.hero-controls{right:10px;bottom:26px}}


.community{margin-top:32px}.community-compose,.reply-form{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.community textarea{width:100%;min-height:90px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;resize:vertical}.community-list{display:grid;gap:12px;margin-top:16px}.community-comment{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.community-comment.reply{margin:12px 0 0 28px;background:transparent}.community-comment header{display:flex;justify-content:space-between;gap:12px}.community-comment time{color:var(--muted);font-size:12px}.comment-text{white-space:pre-wrap;line-height:1.55}.comment-text.spoiler button{border:0;border-radius:999px;padding:8px 12px;background:var(--ink);color:var(--surface)}.community-actions{display:flex;flex-wrap:wrap;gap:8px}.community-actions button{border:0;background:transparent;color:var(--muted);cursor:pointer}.reply-form[hidden]{display:none}.community-login,.community-empty{color:var(--muted)}

.notification-list{list-style:none;padding:0;display:grid;gap:1rem;max-width:900px}.notification-list li{min-width:0}.notification-list a{display:grid;gap:.5rem;padding:1.25rem;border:1px solid #44333d;border-radius:1rem;background:#17141c;overflow-wrap:anywhere;text-decoration:none}.notification-category{color:#efb4c4;font-size:.85rem}.notification-list strong{font-size:1.2rem}.notification-list time{color:#c4b7bf;font-size:.85rem}.notification-list a:focus-visible{outline:3px solid #efb4c4;outline-offset:3px}@media(min-width:760px){.notification-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:759px){.notification-list{grid-template-columns:minmax(0,1fr)}.notification-list a{padding:1rem}}

