/* Shared final layer: loaded after page bundles, without changing generated bundles. */
body{--text:#f6eee8;--muted:#ded0ca;--dim:#c5b0b2;--accent:#efc3a8}
#preview-notice{padding:10px 18px;background:#f3e8d9;color:#30242a;text-align:center;font:14px/1.5 var(--body)}
.reader-menu{position:relative;margin-left:auto;flex-shrink:0;z-index:60;color:var(--text)}
.reader-menu summary{display:flex;align-items:center;justify-content:center;min-width:72px;min-height:48px;padding:8px 16px;border:1px solid var(--border);border-radius:4px;cursor:pointer;font:16px var(--body);list-style:none}
.reader-menu summary::-webkit-details-marker{display:none}
.reader-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(310px,calc(100vw - 48px));max-height:70dvh;overflow:auto;padding:12px;background:#35262f;border:1px solid #947582;border-radius:5px;box-shadow:0 16px 35px #0006}
.reader-menu nav a{display:flex;align-items:center;min-height:48px;padding:10px 14px;font:16px/1.4 var(--body);color:#f6eee8}
.reader-menu nav a:hover{background:#efc3a81c}
.sidebar nav a[data-section=selection]{display:none!important}
.reader-account{max-width:1020px;margin:35px auto;padding:0 24px 60px}
.reader-account h1{font:500 clamp(38px,6vw,64px)/1.12 var(--display);letter-spacing:-1px}
.reader-account>p{font:18px/1.7 var(--body);max-width:65ch}
.reader-primary{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 22px;background:#efc3a8;color:#281c27!important;border:1px solid #efc3a8;border-radius:4px;font:600 16px/1.4 var(--body);text-decoration:none;cursor:pointer}
.reader-excerpt{max-width:760px;margin:24px auto 48px;padding:32px;background:#f3e8d9;color:#30242a;border-radius:5px;scroll-margin-top:24px}
.reader-excerpt h2{font:500 36px/1.2 var(--display)}
.reader-excerpt .warm-kicker{color:#65434a}
.reader-opening{font:20px/1.85 Georgia,serif}
.reader-gate{margin-top:28px;border-top:1px solid #9b7a76;padding-top:24px}
.reader-gate h3{font:600 24px/1.3 var(--body)}
.reader-gate p{font:17px/1.7 var(--body)}
.reader-gate>a:last-child{display:block;min-height:44px;padding:14px 0;text-decoration:underline}
.reader-gate .reader-primary{background:#492b36;border-color:#492b36;color:#fff4eb!important}
.reader-provenance{margin:32px 0;font:16px/1.7 var(--body);color:var(--muted)}
.reader-provenance summary{min-height:48px;padding:12px 0;cursor:pointer}
.account-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.account-tabs button,[data-reader-logout]{min-height:48px;background:transparent;color:var(--text);padding:12px 16px;border:1px solid var(--border);border-radius:4px;font:16px var(--body);cursor:pointer}
.account-tabs button[aria-pressed=true]{border-color:var(--accent);background:#efc3a820}
.reader-account form{display:grid;gap:12px;max-width:460px}
.reader-account form label{font:16px var(--body)}
.reader-account form input{min-width:0;width:100%;min-height:52px;padding:12px;border:1px solid #947582;border-radius:4px;background:#1e171d;color:#f6eee8;font:18px var(--body)}
.reader-account form p{margin:0;font:14px/1.6 var(--body)}
.reader-account form [type=submit]{margin-top:12px;min-height:48px}
.reader-account form button:disabled{opacity:.7;cursor:wait}
.account-data{margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}
.account-data>a,.account-data summary{display:flex;align-items:center;min-height:48px;padding-block:12px}
.account-data summary{cursor:pointer;list-style:revert;display:list-item}
.account-note{font-size:14px!important;color:var(--muted)}
.reader-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}
.reader-story-card{display:block;border:1px solid var(--border);padding:18px;border-radius:4px}
.reader-story-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:20px}
.reader-story-card h2{font:500 30px/1.15 var(--display)}
.reader-story-card p{font:16px/1.7 var(--body)}
.reader-story-card strong{display:block;margin-top:20px;min-height:44px;color:var(--accent)}
@media(max-width:800px){
 body:before{display:none}
 .topbar{height:76px!important;gap:12px!important;padding:0 18px!important}
 .topbar .wordmark{font-size:49px!important;letter-spacing:-2px}
 .topbar .top-label,.topbar .top-journal{display:none!important}
 .topbar .top-search{margin-left:auto;min-width:44px;min-height:48px}
 .reader-menu{margin-left:0}
 .reader-menu summary{min-width:68px;padding:8px 12px}
 .topbar:not(:has(.top-search)) .reader-menu{margin-left:auto}
 .resource-card h3{overflow-wrap:anywhere}
 .account-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .account-tabs button{padding-inline:8px;font-size:14px}
 .sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .sidebar nav a[data-section=journal]{grid-column:3!important}
 .sidebar nav a[data-section=atelier]{grid-column:4!important}
 .sidebar nav a{font-size:12px!important;min-height:64px!important}
 .product-home-hero{padding:12px 0 30px!important;gap:20px!important}
 .product-home-copy h1{font-size:clamp(42px,12vw,58px)!important;line-height:1.08!important;margin:16px 0!important;letter-spacing:-1px!important;font-weight:500}
 .product-home-deck{font-size:17px!important;line-height:1.6!important}
 .product-home-actions{margin:20px 0 14px!important;gap:12px!important}
 .product-home-actions .warm-button{background:#efc3a8!important;color:#281c27!important;min-height:52px!important;font-size:16px!important}
 .product-home-actions .quiet-link{min-height:44px;display:flex;align-items:center;font-size:15px}
 .product-home-note,.home-preview-caption{font-size:13px!important;line-height:1.6!important}
 .home-scene-switch button{font-size:13px!important;min-height:48px!important;padding:10px!important}
 .home-story-paper-top,.home-story-paper-bottom{font-size:12px!important}
 .home-story-paper-bottom a{font-size:15px!important}
 .reader-story-grid{grid-template-columns:1fr}
 .reader-account{margin-top:24px;padding-inline:20px}
 .reader-excerpt{padding:24px 20px}
 .reader-excerpt h2{font-size:30px}
 .reader-opening{font-size:18px}
 .reader-gate .reader-primary{width:100%}
 main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
}

/* Mobile: calm, continuous surfaces; keep contrast in text and controls. */
@media(max-width:800px){
 html,body{background:#393236!important}
 body{--bg:#393236;--deep:#332d31;--surface:#494044;--surface-2:#51464b;--text:#eee4dd;--muted:#d9cbc5;--dim:#cab8b0;--accent:#dfb9a3;--border:#716267}
 body::before,body::after{display:none!important}
 .topbar,.sidebar{background:#393236!important;backdrop-filter:none}
 .home-story-paper,.reader-excerpt{background:#494044;color:#eee4dd;box-shadow:none;border:1px solid #716267}
 .home-story-paper-top,.home-story-paper-bottom{color:#d9cbc5;border-color:#716267}
 .home-story-paper-bottom a,.reader-excerpt .warm-kicker{color:#e4c8b6}
 .reader-gate{border-color:#716267}
 .reader-gate .reader-primary{background:#dfb9a3;border-color:#dfb9a3;color:#30282c!important}
 .reader-account form input{background:#332d31;border-color:#8d7a80}
 .reader-menu nav{background:#443a40;border-color:#8d7a80;box-shadow:0 8px 20px #0002}
}

.password-toggle{justify-self:start;min-height:44px;background:transparent;color:var(--muted);padding:8px 0;text-decoration:underline;text-underline-offset:4px;text-align:left}
.brief-invitation{padding:28px 0;border-top:1px solid var(--border)}
.brief-page form select{width:100%;min-width:0;min-height:52px;border:1px solid #8d7a80;border-radius:4px;padding:12px;background:#332d31;color:#eee4dd;font:16px var(--body)}
.brief-names{margin:12px 0}
.brief-names summary{min-height:48px;padding:12px 0;cursor:pointer}
.brief-names label{display:block;margin:14px 0 8px}
.brief-back{display:block;min-height:44px;padding:12px 0}
.brief-result{max-width:720px;margin:36px 0;padding:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}
.brief-result h2{font:500 clamp(28px,6vw,40px)/1.2 var(--display)}
.brief-result p,.brief-result li{font:17px/1.75 var(--body);overflow-wrap:anywhere}
.brief-result ol{padding-left:24px}
.brief-result li{margin-bottom:20px;padding-left:6px}
.brief-result:focus{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:800px){.brief-result{padding:22px 18px}}

.measure-choice{position:relative;width:100%;max-width:640px;margin:24px 0 0;box-sizing:border-box;padding:20px;background:#443a40;color:#eee4dd;border:1px solid #8d7a80;border-radius:5px;box-shadow:0 8px 25px #0003;font:15px/1.6 var(--body)}
.measure-choice p{margin-bottom:12px}.measure-choice>div{display:flex;gap:12px}.measure-choice button{flex:1;min-height:48px;background:#dfb9a3;color:#30282c;border:1px solid #dfb9a3;border-radius:3px;font:16px var(--body)}
.measure-choice>a{display:block;min-height:44px;padding-top:14px;text-decoration:underline}.measure-settings{display:block;background:transparent;color:var(--muted);min-height:44px;padding:12px 0;font:14px var(--body);text-decoration:underline}
.measure-table{width:100%;border-collapse:collapse;font:16px/1.6 var(--body)}.measure-table caption{text-align:left;padding:20px 0}.measure-table th,.measure-table td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}
.romance-prose p{font:19px/1.85 Georgia,serif;white-space:pre-line}.brief-result .reader-primary{margin:8px 8px 8px 0}
@media(max-width:800px){.measure-choice{padding:16px}.romance-prose p{font-size:18px}}

/* Serial reading: the next episode follows the prose without obscuring it. */
.series-next{max-width:760px;margin:24px auto;padding:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);box-sizing:border-box}
.series-next h2{font:500 clamp(28px,5vw,40px)/1.2 var(--display);margin:12px 0}
.series-next p{font:17px/1.7 var(--body);overflow-wrap:anywhere}
.series-next .reader-primary{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.series-unlock{margin:18px 0 8px}
.series-prose.atelier-page{padding:0;background:transparent;color:var(--text);border:0;box-shadow:none}
.series-prose p{font:19px/1.85 Georgia,serif;white-space:pre-line;margin:0 0 24px;overflow-wrap:anywhere}
.series-end{font:14px var(--body);color:var(--muted);margin:32px 0}
@media(max-width:800px){.series-next{margin:20px 0;padding:22px 18px}.series-next .reader-primary{width:100%;text-align:center;box-sizing:border-box}.series-prose p{font-size:18px}}

.reader-new-stories{padding:40px clamp(20px,5vw,64px);border-top:1px solid var(--border)}
.reader-new-stories h2{font:500 clamp(28px,5vw,42px)/1.2 var(--display);margin:10px 0 24px}
.reader-new-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.reader-new-story-grid a{display:block;min-width:0;color:var(--text)}
.reader-new-story-grid img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:contain;border:1px solid var(--border)}
.reader-new-story-grid h3{font:500 clamp(22px,4vw,30px)/1.3 var(--display);margin:14px 0 8px}
.reader-new-story-grid p{font:16px/1.6 var(--body);color:var(--muted);overflow-wrap:anywhere}
@media(max-width:600px){.reader-new-story-grid{grid-template-columns:1fr;gap:28px}}

/* Mobile: give secondary links the same usable touch height as primary actions. */
@media(max-width:800px){
 .home-experience .home-atelier-links a,
 .home-experience .new-catalogue-heading .quiet-link,
 .home-experience .home-journal-heading .quiet-link,
 .home-experience .new-catalogue-more a,
 .home-experience .warm-closing > a,
 .home-experience .resource-card h3 a,
 .footer a,
 .atelier-story-hero > a,
 .reader-account > p > a,
 .reader-account .account-data > a{
  display:inline-flex;align-items:center;min-height:44px!important;
  max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;
 }
 .home-experience .resource-save{min-width:44px;min-height:44px!important}
}
