/* Contrast ratios {'ink': {'bg': 15.17, 'paper': 16.6}, 'muted': {'bg': 6.39, 'paper': 7.0}, 'accent-ink': {'bg': 8.91, 'paper': 9.75}, 'line-ui': {'bg': 3.7, 'paper': 4.05}} */
/* Cirqus palette: violet theatre, acid green light, warm paper.
   Measured sRGB contrast ratios recorded below after deterministic calculation. */
body.cirqus{--bg:#f6f0df;--paper:#fffaf0;--ink:#241333;--muted:#615168;--line:#c5b8c5;--line-ui:#88758e;--accent:#69236f;--accent-ink:#69236f;--bone:#e8e0cc;background:var(--bg);color:var(--ink)}
body.cirqus.guide-v3 .compact-library-nav,body.cirqus.guide-v3 .guide-reader-bar{background:#241333f5}
body.cirqus.guide-v3 .compact-library-nav a,body.cirqus.guide-v3 .compact-library-nav summary,body.cirqus.guide-v3 .guide-reader-bar a{color:#fffaf0!important}
body.cirqus.guide-v3 .opening.cinematic.cv-opening{position:relative;height:clamp(620px,65vw,980px);overflow:hidden;background:#160c26}
body.cirqus.guide-v3 .cv-opening .art{position:absolute;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;object-fit:cover;object-position:70% 42%}
body.cirqus.guide-v3 .cv-opening:after{content:"";display:block;position:absolute;inset:0;background:linear-gradient(90deg,#170c28d9,transparent 78%),linear-gradient(0deg,#170c2888,transparent 60%)}
body.cirqus.guide-v3 .cv-opening .intro{position:absolute;z-index:2;left:5vw;bottom:8%;max-width:640px;margin:0;padding:0;text-align:left}
body.cirqus.guide-v3 .cv-opening h1{color:#fffaf0;font-size:clamp(5.5rem,11vw,11rem);line-height:.85;letter-spacing:-.04em;text-shadow:0 4px 32px #0008}
body.cirqus.guide-v3 .cv-opening h1 br{display:block}
body.cirqus.guide-v3 .cv-opening .kicker{color:#d4fa83}
body.cirqus.guide-v3 .cv-opening p:not(.kicker){color:#fffaf0;margin:0 0 1.5rem;max-width:30ch;text-shadow:0 2px 9px #000}
body.cirqus.guide-v3 .cv-opening .button{background:#d4fa83;color:#241333}
body.cirqus.guide-v3 .shot-map__side article{background:#fffaf0;border-color:#c5b8c5}
body.cirqus.guide-v3 .shot-map__side article p,body.cirqus.guide-v3 .shot-map__side article h3{color:#241333}
body.cirqus.guide-v3 .field-graphic{margin:3rem 0;position:relative;border:0;box-shadow:none;border-radius:0;background:#241333;overflow:hidden}
body.cirqus.guide-v3 .field-graphic img{display:block;width:100%;height:auto;max-height:none;object-fit:cover;border-radius:0}
body.cirqus.guide-v3 .field-graphic figcaption{padding:1.3rem 1.8rem;color:#fffaf0;background:#241333}
body.cirqus.guide-v3 .field-graphic figcaption strong{display:block;color:#d4fa83;font-size:clamp(1.7rem,3vw,3rem);line-height:1.1;margin-bottom:.4rem}
body.cirqus.guide-v3 .field-graphic figcaption span{display:block;color:#fffaf0}
body.cirqus.guide-v3 .cv-first-ball{display:grid;grid-template-columns:1fr 1.8fr;width:min(1100px,94vw);margin-left:calc((100% - min(1100px,94vw))/2)}
body.cirqus.guide-v3 .cv-first-ball img{grid-column:2;grid-row:1;height:100%;min-height:340px;object-position:78% 59%}
body.cirqus.guide-v3 .cv-first-ball figcaption{grid-column:1;grid-row:1;align-self:end;padding:2rem}
body.cirqus.guide-v3 .cv-multiball{width:100vw;margin-left:calc(50% - 50vw)}
body.cirqus.guide-v3 .cv-multiball img{height:clamp(350px,49vw,700px);object-position:34% 42%}
body.cirqus.guide-v3 .cv-multiball figcaption{position:absolute;left:6%;bottom:6%;background:#241333ed;max-width:440px;border-left:5px solid #d4fa83}
body.cirqus.guide-v3 .cv-finale{width:min(1200px,94vw);margin-left:calc((100% - min(1200px,94vw))/2)}
body.cirqus.guide-v3 .cv-finale figcaption{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;border-top:6px solid #a3db65}
body.cirqus.guide-v3 #words table{width:100%;border-collapse:collapse}body.cirqus.guide-v3 #words th,body.cirqus.guide-v3 #words td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:700px){body.cirqus.guide-v3 .opening.cinematic.cv-opening{height:780px}body.cirqus.guide-v3 .cv-opening .art{object-position:68% 42%}body.cirqus.guide-v3 .cv-opening:after{background:linear-gradient(0deg,#170c28fa,transparent 85%)}body.cirqus.guide-v3 .cv-opening .intro{left:6vw;right:6vw;bottom:5%}body.cirqus.guide-v3 .cv-opening h1{font-size:clamp(4rem,19vw,6rem)}body.cirqus.guide-v3 .cv-first-ball{display:block}body.cirqus.guide-v3 .cv-first-ball img{height:320px;min-height:0}body.cirqus.guide-v3 .cv-multiball figcaption{position:static;max-width:none}body.cirqus.guide-v3 .cv-finale figcaption{display:block}body.cirqus.guide-v3 .cv-finale figcaption strong{margin-bottom:.8rem}}
body.cirqus .all-tables:not([open]) .all-tables-panel{display:none}
body.cirqus .all-tables[open] .all-tables-panel{max-width:calc(100vw - 24px);box-sizing:border-box}
body.cirqus.guide-v3 #words table{min-width:0;width:100%;table-layout:fixed}
body.cirqus.guide-v3 #words th{width:28%}body.cirqus.guide-v3 #words th,body.cirqus.guide-v3 #words td{overflow-wrap:anywhere}
@media(max-width:760px){body.cirqus .all-tables[open] .all-tables-panel{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;width:calc(100vw - 80px)!important;max-height:60vh}}
/* OpenAI ensemble art: keep the aerialists and full cast inside each frame. */
body.cirqus.guide-v3 .cv-opening .art{-webkit-mask-image:none;mask-image:none}
body.cirqus.guide-v3 .cv-first-ball img,
body.cirqus.guide-v3 .cv-multiball img{height:auto;min-height:0;object-position:50% 50%}
@media(max-width:700px){
  body.cirqus.guide-v3 .opening.cinematic.cv-opening{height:auto}
  body.cirqus.guide-v3 .cv-opening .art{position:relative;height:auto;object-fit:contain}
  body.cirqus.guide-v3 .cv-opening:after{display:none}
  body.cirqus.guide-v3 .cv-opening .intro{position:relative;left:auto;right:auto;bottom:auto;padding:1.6rem 6vw 2rem}
}

/* OpenAI circus accents: decorative; instructions remain ordinary readable text. */
body.cirqus.guide-v3 h2.cv-feature-heading{display:flex;align-items:center;gap:1rem}
body.cirqus.guide-v3 h2 .cv-feature-icon{display:block;flex:0 0 auto;width:88px;height:88px;object-fit:contain;margin:0;border:0;border-radius:0;box-shadow:none}
body.cirqus.guide-v3 #objective h2 .cv-feature-icon{width:62px;height:62px}
body.cirqus.guide-v3 main section ul.cv-star-list{list-style:none;padding-left:0}
body.cirqus.guide-v3 .cv-star-list>li{position:relative;padding-left:2.2rem;margin-bottom:.85rem}
body.cirqus.guide-v3 .cv-star-list>li::before{content:"";position:absolute;left:0;top:.12em;width:1.55rem;height:1.55rem;background:url("assets/accents/cirqus/star.png") center/contain no-repeat}
@media(max-width:700px){body.cirqus.guide-v3 h2.cv-feature-heading{gap:.65rem}body.cirqus.guide-v3 h2 .cv-feature-icon{width:64px;height:64px}body.cirqus.guide-v3 #objective h2 .cv-feature-icon{width:48px;height:48px}}
