/* r9: prompt-led entry choices, dated arc beginnings and one quiet calendar. */
body{--r9-ink:#183e30;--r9-muted:#4c6255;--r9-paper:#f7f8ef;--r9-card:#fffef8;--r9-line:#c7d2c1;--r9-tint:#edf2e6;--r9-accent:#285e43}
body.night-reading{--r9-ink:#edf2e5;--r9-muted:#bfd0ba;--r9-paper:#17271f;--r9-card:#1d3227;--r9-line:#56724f;--r9-tint:#243b2b;--r9-accent:#c4dfa9}
.r9-section{margin:64px 0;color:var(--r9-ink)}
.r9-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}
.r9-section-head h2{margin:0;font:500 clamp(1.8rem,3vw,2.6rem)/1.15 var(--display)}
.r9-section-head p{margin:10px 0 0;max-width:65ch;line-height:1.7;color:var(--r9-muted)}
.r9-section-head a,.r9-source-link{color:var(--r9-ink);text-decoration:underline;text-underline-offset:4px}
.r9-kicker{font:600 .72rem/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--r9-muted);margin:0 0 12px}
.r9-choice-grid,.r9-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.r9-moment-card{display:flex;flex-direction:column;border:1px solid var(--r9-line);border-radius:8px;background:var(--r9-card);overflow:hidden;min-width:0}
.r9-moment-art{display:block;background:var(--r9-tint);aspect-ratio:16/9;overflow:hidden}
.r9-moment-art img{display:block;width:100%;height:100%;object-fit:contain;clip-path:none;mask:none}
.r9-moment-copy{padding:24px;display:flex;flex-direction:column;flex:1;gap:14px;min-width:0}
.r9-moment-copy h3{font:500 1.65rem/1.2 var(--display);margin:0;overflow-wrap:anywhere}
.r9-moment-copy h3 a{text-decoration:none;color:inherit}
.r9-moment-copy h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.r9-moment-copy .cover-date{margin:0;color:var(--r9-muted);font:.77rem/1.6 var(--sans)}
.r9-moment-copy .content-note{margin:0;padding:12px;border-left:3px solid var(--r9-accent);background:var(--r9-tint);color:var(--r9-ink);font:.82rem/1.65 var(--sans)}
.r9-prompt{margin:0;padding:14px 0;border-top:1px solid var(--r9-line);font:.87rem/1.7 var(--sans)}
.r9-prompt strong{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;color:var(--r9-muted)}
.r9-prompt blockquote{margin:0;font:400 1rem/1.6 var(--serif,Georgia,serif);overflow-wrap:anywhere}
.r9-card-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;align-items:center;font:.78rem/1.6 var(--sans)}
.r9-card-links a{color:var(--r9-ink);text-decoration:underline;text-underline-offset:3px;padding:5px 0;margin-right:8px}
.r9-read-link{display:block;margin-top:auto;border-top:1px solid var(--r9-line);padding-top:14px;color:var(--r9-ink);font:600 .85rem/1.7 var(--sans);text-decoration:none}
.r9-read-link:hover{text-decoration:underline;text-underline-offset:4px}
.r9-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.r9-list li{border-bottom:1px solid var(--r9-line);padding:16px 0}
.r9-list a{color:var(--r9-ink);font:500 1.15rem/1.4 var(--display);text-decoration:underline;text-underline-offset:4px}
.r9-list small{display:block;color:var(--r9-muted);font:.78rem/1.7 var(--sans);margin-top:5px}
.r9-empty,.r9-window-label,.r9-date-note{font:.84rem/1.7 var(--sans);color:var(--r9-muted)}
.r9-empty{padding:22px;border:1px solid var(--r9-line);border-radius:6px;background:var(--r9-tint)}
.r9-latest-available{border-top:1px solid var(--r9-line);padding-top:16px;margin:24px 0 0;font:.82rem/1.7 var(--sans);color:var(--r9-muted)}
.r9-latest-available a{color:var(--r9-ink);text-decoration:underline;text-underline-offset:3px}
.r9-entry-hero{display:grid;grid-template-columns:1.1fr .8fr;gap:48px;align-items:center;margin:42px 0 32px}
.r9-entry-hero h1{font:500 clamp(3rem,6.7vw,6rem)/.95 var(--display);margin:0 0 24px;max-width:9ch;letter-spacing:-.04em}
.r9-entry-hero .hero-blurb{max-width:28ch;font:400 clamp(1.1rem,2vw,1.4rem)/1.5 var(--sans)}
.r9-home-art{margin:0;max-width:440px;justify-self:center;width:100%}
.r9-home-art img{display:block;width:100%;height:auto;max-height:550px;object-fit:contain;border-radius:7px}
.r9-home-art figcaption{font:.75rem/1.7 var(--sans);margin-top:10px;color:var(--r9-muted)}
.r9-home-art a{color:inherit}
.r9-arc-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.r9-arc-card{border:1px solid var(--r9-line);background:var(--r9-card);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.r9-arc-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--r9-tint)}
.r9-arc-card>div{padding:26px;flex:1;display:flex;flex-direction:column;gap:16px}
.r9-arc-card h2{margin:0;font:500 1.8rem/1.2 var(--display)}
.r9-arc-card h2 a{color:inherit;text-decoration:none}
.r9-arc-card p{margin:0;color:var(--r9-muted);font:.86rem/1.7 var(--sans)}
.r9-arc-top{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.r9-arc-top img{width:100%;height:auto;object-fit:contain;border-radius:8px}
.r9-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:22px 0 26px}
.r9-week-days>div{border:1px solid var(--r9-line);padding:12px 8px;border-radius:5px;text-align:center;background:var(--r9-card);min-width:0}
.r9-week-days .is-gap{background:var(--r9-tint);border-style:dashed}
.r9-week-days strong,.r9-week-days span{display:block;font:.78rem/1.5 var(--sans)}
.r9-week-days strong{font-weight:600;color:var(--r9-ink)}
.r9-week-days span{color:var(--r9-muted);font-size:.7rem;margin-top:5px}
.r9-calendar{border:1px solid var(--r9-line);border-radius:8px;background:var(--r9-card);padding:26px;margin:28px 0;color:var(--r9-ink);max-width:850px}
.r9-calendar-disclosure{margin:22px 0 26px;max-width:850px;border-block:1px solid var(--r9-line);padding:15px 0;color:var(--r9-ink)}
.r9-calendar-disclosure>summary{cursor:pointer;font:600 .95rem/1.7 var(--sans);padding:3px 0}
.r9-calendar-disclosure>summary small{font:400 .78rem/1.7 var(--sans);margin-left:14px;color:var(--r9-muted)}
.r9-calendar-disclosure>summary:focus-visible{outline:3px solid var(--r9-accent);outline-offset:4px;border-radius:3px}
.r9-calendar-disclosure .r9-calendar{margin-bottom:0}
.biography-layout:not(:has(figure)){display:block;max-width:850px}
.r9-calendar h2{font:500 1.7rem/1.2 var(--display);margin:0 0 10px}
.r9-calendar>p{font:.84rem/1.7 var(--sans);color:var(--r9-muted);margin:10px 0}
.r9-calendar-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:20px 0}
.r9-calendar-controls label{display:block;flex:1;min-width:130px;font:600 .75rem/1.6 var(--sans);color:var(--r9-muted)}
.r9-calendar-controls select{display:block;width:100%;margin-top:6px;padding:11px 30px 11px 12px;background:var(--r9-paper);border:1px solid var(--r9-line);border-radius:4px;color:var(--r9-ink);font:400 .9rem/1.5 var(--sans);min-height:45px}
.r9-calendar-controls a{font:.8rem/1.6 var(--sans);padding:10px 0;color:var(--r9-ink);text-decoration:underline}
.r9-calendar-month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px}
.r9-calendar-month-nav h3{font:600 1rem/1.5 var(--sans);margin:0;text-align:center}
.r9-calendar button{min-width:42px;min-height:42px;padding:8px;border:1px solid var(--r9-line);border-radius:4px;background:var(--r9-paper);color:var(--r9-ink);font:500 1rem/1 var(--sans);cursor:pointer}
.r9-calendar button:disabled{opacity:.45;cursor:default}
.r9-calendar table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:3px;font:400 .85rem/1.4 var(--sans)}
.r9-calendar th{font-weight:500;color:var(--r9-muted);padding:8px 0;font-size:.7rem}
.r9-calendar td{height:54px;padding:0;text-align:center;vertical-align:top}
.r9-calendar td a,.r9-calendar td>span{display:flex;min-height:54px;flex-direction:column;justify-content:center;gap:2px;padding:5px 2px;border-radius:4px;color:var(--r9-muted);text-decoration:none}
.r9-calendar td a{border:1px solid var(--r9-line);background:var(--r9-tint);color:var(--r9-ink);font-weight:600}
.r9-calendar td a:hover{background:var(--r9-accent);color:var(--r9-paper)}
.r9-calendar td a small{font:.62rem/1.3 var(--sans);font-weight:400}
.r9-calendar [aria-current="date"]{outline:2px solid var(--r9-accent);outline-offset:-3px}
.r9-calendar abbr{text-decoration:none}
.r9-year-fallback{margin-top:16px;font:.8rem/1.8 var(--sans)}
.r9-year-fallback ul{display:flex;gap:8px 18px;list-style:none;padding:12px 0 0;flex-wrap:wrap;margin:0}
.r9-year-fallback a{color:var(--r9-ink);text-decoration:underline}
.r9-reader-discovery{border-top:1px solid var(--r9-line);padding-top:32px;color:var(--r9-ink);margin-top:48px;margin-bottom:48px}
.r9-reader-discovery h2{font:500 1.9rem/1.25 var(--display);margin:0 0 18px}
.r9-reader-discovery h3{font:600 1rem/1.5 var(--sans);margin:24px 0 10px}
.r9-cast-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.r9-cast-list li{min-width:130px;max-width:100%}
.r9-cast-list a{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--r9-line);border-radius:5px;color:var(--r9-ink);text-decoration:none;background:var(--r9-card)}
.r9-cast-list img{width:52px;height:65px;object-fit:contain;border-radius:3px;flex:0 0 52px}
.r9-cast-list strong,.r9-cast-list small{display:block;line-height:1.5}
.r9-cast-list strong{font:600 .9rem/1.6 var(--sans)}
.r9-cast-list small{font:.72rem/1.6 var(--sans);color:var(--r9-muted)}
.r9-discovery-links{display:flex;gap:10px 24px;flex-wrap:wrap;margin:20px 0;font:.9rem/1.7 var(--sans)}
.r9-discovery-links a{color:var(--r9-ink);text-decoration:underline;text-underline-offset:4px}
.r9-profile-hero{margin:0 auto 28px;max-width:480px;width:100%;color:var(--r9-muted)}
.r9-profile-hero>a{display:block;aspect-ratio:4/5;background:var(--r9-paper)}
.r9-profile-hero img{display:block;width:100%;height:100%;object-fit:contain;clip-path:none;mask:none;border-radius:7px}
.r9-profile-hero figcaption{font:.78rem/1.7 var(--sans);padding:12px 0;color:var(--r9-muted)}
.bio-portrait.portrait-shell{max-width:480px;width:100%}
.bio-portrait.portrait-shell .portrait-window{aspect-ratio:4/5;position:relative;height:auto}
.bio-portrait.portrait-shell .portrait-window>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0!important}
.r9-profile-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0 28px;font:.85rem/1.7 var(--sans)}
.r9-profile-jumps a{color:var(--r9-ink);text-decoration:underline;text-underline-offset:3px}
.r9-cover-and-prompt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin:24px 0}
.r9-cover-and-prompt .writing-prompt{margin:0;min-width:0}
.r9-reading-cover{margin:0;min-width:0}
.r9-reading-cover a{display:block}
.r9-reading-cover img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:5px}
.r9-reading-cover figcaption{font:.75rem/1.7 var(--sans);color:var(--r9-muted);margin-top:10px}
.r9-calendar .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.r9-id-gallery{margin:40px 0;border-top:1px solid var(--r9-line);padding-top:30px;color:var(--r9-ink)}
.r9-id-gallery h2{font:500 1.9rem/1.2 var(--display);margin:0 0 18px}
.r9-id-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.r9-id-grid figure{margin:0;min-width:0;background:var(--r9-card);border:1px solid var(--r9-line);border-radius:6px;padding:16px}
.r9-id-grid img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}
.r9-id-grid figcaption{padding-top:14px;font:.85rem/1.7 var(--sans);color:var(--r9-ink)}
.r9-id-grid figcaption strong{display:block}
.r9-id-grid figcaption small{display:block;color:var(--r9-muted)}
.r9-id-grid a{color:inherit;text-decoration:underline;text-underline-offset:3px}
[data-kind="characters"] .index-card .portrait-card-frame .portrait-window{aspect-ratio:4/5}
[data-kind="characters"] .index-card .portrait-card-frame .portrait-window>img{inset:0;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:5px}
[data-kind="characters"] .character-initials{aspect-ratio:4/5}
.r9-section :focus-visible,.r9-calendar :focus-visible,.r9-reader-discovery :focus-visible,.r9-profile-jumps :focus-visible,.r9-id-gallery :focus-visible{outline:3px solid var(--r9-accent);outline-offset:4px}
@media(min-width:900px){.biography-layout:has(figure){grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:48px;align-items:start}}
@media(max-width:950px){.r9-choice-grid,.r9-moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r9-choice-grid>.r9-moment-card:last-child{grid-column:1/-1;max-width:600px;justify-self:center;width:100%}}
@media(max-width:700px){.r9-section{margin:44px 0}.r9-section-head{align-items:start;flex-direction:column;gap:10px}.r9-choice-grid,.r9-moment-grid,.r9-arc-overview,.r9-arc-top,.r9-id-grid{grid-template-columns:1fr}.r9-choice-grid>.r9-moment-card:last-child{grid-column:auto}.r9-entry-hero{grid-template-columns:1fr;gap:24px;margin:28px 0}.r9-entry-hero h1{font-size:clamp(3rem,14vw,4.6rem)}.r9-home-art{max-width:350px}.r9-home-art img{max-height:440px}.r9-moment-copy{padding:22px}.r9-week-days{gap:4px}.r9-week-days>div{padding:10px 3px}.r9-week-days span{font-size:.64rem}.r9-calendar{padding:18px 12px}.r9-calendar-controls{gap:10px}.r9-calendar-controls label{flex-basis:100%;min-width:0}.r9-calendar td{height:48px}.r9-calendar td a,.r9-calendar td>span{min-height:48px;font-size:.75rem}.r9-calendar td a small{font-size:.57rem}.r9-calendar th{font-size:.6rem}.r9-profile-hero{max-width:420px}.r9-cast-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.r9-cast-list li{min-width:0}.r9-cast-list a{padding:10px;gap:8px}.r9-cast-list img{width:38px;height:48px;flex-basis:38px}}
@media(prefers-reduced-motion:reduce){.r9-section *,.r9-calendar *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.r9-cover-and-prompt{grid-template-columns:1fr;gap:18px}.r9-reading-cover img{max-height:400px}}
