/* Whoa Nellie: cream on navy 15.5:1; navy on cream 15.5:1; red on cream 5.1:1. */
body.nellie{--bg:#f6efd6;--paper:#fffaf0;--ink:#07153e;--muted:#5f5a4e;--line:#d8c89b;--line-ui:#77693f;--accent:#b62c25;--accent-ink:#8d211e;--bone:#eadcb4;background:linear-gradient(180deg,#07153e 0,#173119 34rem,#f6efd6 60rem);color:var(--ink)}
.nellie .compact-library-nav{background:rgba(6,16,52,.97);border-color:#f2c744}.nellie .compact-library-nav a,.nellie .compact-library-nav summary,.nellie .guide-home{color:#fff7cf!important}
.nellie .guide-reader-bar{color:#fffaf0;border-color:#715f2b}.nellie .guide-reader-current,.nellie .guide-reader-back,.nellie .guide-reader-chooser>summary{color:#fffaf0}.nellie .guide-reader-menu{background:#07153e;border-color:#f2c744}.nellie .guide-reader-menu a{color:#fffaf0}.nellie .guide-reader-menu a:hover,.nellie .guide-reader-menu a[aria-current=location]{background:#fff4bf;color:#07153e}
.nellie-opening{position:relative;min-height:clamp(44rem,75vw,70rem);overflow:hidden;background:#08153d}
.nellie-opening .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 14%}
.nellie-opening:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,39,.93),rgba(4,12,39,.48) 42%,transparent 72%),linear-gradient(0deg,rgba(4,12,39,.66),transparent 42%)}
.nellie-opening .intro{position:absolute;z-index:2;left:max(4vw,2rem);bottom:7%;max-width:40rem;color:#fffaf0;text-shadow:0 2px 18px #000}
.nellie-opening h1{max-width:8ch;font-size:clamp(4.8rem,10.5vw,10.5rem);line-height:.78;letter-spacing:-.07em;margin:.14em 0 .25em;text-transform:uppercase}
.nellie-opening .kicker{color:#f2c744}.nellie-opening .button{background:#b62c25;color:#fff;border-color:#ff8b6f}
.nellie .shortcut{border-top:4px solid #f2c744}.nellie .score-route strong{color:#8d211e}
.library-status{max-width:72rem;margin:2.5rem auto 0;padding:1rem 1.25rem;background:#fff4bf;border-left:6px solid #b62c25;color:#07153e}
.nellie .shot-map__field img{width:min(100%,46rem)}
.nellie .shot-map__side article{background:#fffaf0;border-color:#d1bb77;box-shadow:0 12px 26px rgba(7,21,62,.14)}
.nellie .shot-map__side article h3,.nellie .shot-map__side article p{color:#07153e}
.nellie .shot{border-top-color:#b62c25}.nellie .shot:nth-child(2n){transform:translateX(.7rem)}
.nellie-spread{position:relative;margin:clamp(4rem,9vw,8rem) calc(50% - 50vw);width:100vw;min-height:clamp(32rem,56vw,58rem);overflow:hidden;background:#07153e}
.nellie-spread img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nellie-spread figcaption{position:absolute;z-index:2;max-width:38rem;padding:1.5rem 1.8rem;background:rgba(6,16,52,.88);color:#fffaf0;border-left:6px solid #f2c744;box-shadow:0 16px 42px #0009}
.nellie-spread strong,.nellie-spread span{display:block}.nellie-spread strong{font-size:clamp(1.9rem,3.3vw,3.3rem);line-height:.96}.nellie-spread span{margin-top:.7rem}
.nellie-spread--route{width:min(96vw,98rem);margin-left:calc(50% - 48vw);border-radius:0 2rem 2rem 0}.nellie-spread--route img{object-position:center 52%}.nellie-spread--route figcaption{right:6%;bottom:7%}
.nellie-spread--targets{width:min(92vw,90rem);margin-left:calc(50% - 42vw);margin-right:auto;border-radius:2rem 0 0 2rem}.nellie-spread--targets img{object-position:center 48%}.nellie-spread--targets figcaption{left:6%;top:8%;border-left-color:#f05a45}
.nellie-spread--gobble img{object-position:center 44%}.nellie-spread--gobble figcaption{right:7%;bottom:8%;border-left-color:#66a83e}
@media(max-width:820px){.nellie-opening .art{object-position:62% 18%}.nellie .shot:nth-child(2n){transform:none}.nellie-spread--route,.nellie-spread--targets{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}.library-status{margin-inline:1rem}}
@media(max-width:560px){.nellie-opening{min-height:48rem}.nellie-opening:after{background:linear-gradient(0deg,rgba(4,12,39,.97),rgba(4,12,39,.5) 68%,transparent)}.nellie-opening .intro{left:1.2rem;right:1.2rem;bottom:4%;max-width:none}.nellie-opening h1{font-size:4.35rem}.nellie-spread{min-height:36rem}.nellie-spread figcaption{left:1rem;right:1rem;bottom:1rem;top:auto;max-width:none}}

/* Character scenes: show complete artwork and keep captions clear of faces. */
.nellie-spread{min-height:0}
.nellie-spread img{position:relative;display:block;inset:auto;width:100%;height:auto;object-fit:contain}
.nellie-spread figcaption{position:relative;inset:auto;max-width:none;box-shadow:none;padding:1.5rem clamp(1.25rem,4vw,4rem);background:#07153e}

/* Large alpha-channel characters accompany the text without covering it. */
.nellie-character-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.nellie-character-layout--reverse{grid-template-columns:minmax(240px,1fr) minmax(0,1.5fr)}
.nellie-character-layout--reverse .nellie-character{grid-column:1;grid-row:1}
.nellie-character-layout--reverse .nellie-character-copy{grid-column:2;grid-row:1}
.nellie-character{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;align-self:center;border:0;background:transparent;box-shadow:none}
.nellie-character-copy{min-width:0}
@media(max-width:700px){.nellie-character-layout,.nellie-character-layout--reverse{grid-template-columns:minmax(0,1fr)}.nellie-character-layout .nellie-character-copy,.nellie-character-layout .nellie-character{grid-column:1;grid-row:auto}.nellie-character{width:min(76vw,340px);max-height:480px;justify-self:center}.nellie-character-layout--reverse .nellie-character{grid-row:1}}
