/* Z3 Conference 2026 Digital Edition v0.9.10 — scoped user-approved fixes. */
/* 1–3: desktop and mobile speaker guide, consistent Teen Summit frames with uncropped ribbons. */
.sheet.guide .speaker-grid,
.sheet.guide .speaker-strip{display:grid!important;grid-auto-flow:row!important;align-items:start;}
.sheet.guide .speaker-grid>li{break-inside:avoid;min-width:0;}
.sheet.guide .z3-teen-speaker-grid>li{min-width:0;}
.z3-v0910-teen-frame{background:linear-gradient(132deg,#ff7a23 3%,#db3a7f 56%,#772be8 100%);padding:10px 10px 0;border-radius:0 26px 0 26px;overflow:hidden;box-sizing:border-box;margin-bottom:10px;width:100%;}
.z3-v0910-teen-frame>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/3.7;object-fit:cover!important;object-position:50% 22%;border:0!important;border-radius:0!important;max-width:100%;}
.z3-v0910-teen-frame .z3-v0910-teen-ribbon{display:block;position:relative!important;width:100%;box-sizing:border-box;text-align:center;color:#fff;background:none;font-size:clamp(.7rem,1.24vw,1.05rem);font-weight:900;letter-spacing:.01em;line-height:1.14;padding:11px 3px 12px!important;white-space:normal!important;overflow:visible!important;min-height:0!important;}
@media(max-width:600px){.z3-v0910-teen-frame{padding:7px 7px 0;border-radius:0 19px 0 19px}.z3-v0910-teen-frame .z3-v0910-teen-ribbon{font-size:clamp(.66rem,3.2vw,.9rem);padding:9px 2px 10px!important;}}
/* 5: hotspots follow actual table rectangles, rather than approximated centers. */
.mm-dialog .z3-hotspots button{width:2.95%;height:2.8%;min-width:12px;min-height:12px;border-radius:3px;box-sizing:border-box;touch-action:manipulation;}
.mm-dialog .z3-hotspots button:focus-visible{outline:3px solid #f9db46;outline-offset:2px;}
/* 6: make the reception card's top rule intentional; not flush to the shared panel edge. */
.reception .rc-card.z3-v097-reception-card::before{left:calc(50% + 12px)!important;right:20px!important;top:6px!important;height:3px!important;border-radius:6px!important;background:linear-gradient(90deg,#f8722a,#db3c80)!important;pointer-events:none!important;}
@media(max-width:759px){.reception .rc-card.z3-v097-reception-card::before{left:18px!important;right:18px!important;top:calc(185px + 6px)!important;}}
@media(max-width:375px){.reception .rc-card.z3-v097-reception-card::before{top:calc(168px + 6px)!important;}}
/* 7: sectioned session guide: compact scannable summaries; expand details on intent. */
.sheet.guide .z3-v0910-guide-section{margin:0 0 22px;padding:0;}
.sheet.guide .z3-v0910-guide-head{font-size:clamp(1.05rem,2.1vw,1.28rem);line-height:1.25;font-weight:900;color:#213b90;border-bottom:2px solid #dce3fa;padding:12px 0 11px;margin:8px 0 12px;}
.sheet.guide .z3-v0910-session{margin:0 0 9px;border:1px solid #d7dff3;border-radius:11px;overflow:hidden;background:#fff;box-shadow:0 3px 10px #142a6410;}
.sheet.guide .z3-v0910-session>summary{list-style:none;display:flex;align-items:flex-start;gap:12px;padding:15px 17px;cursor:pointer;min-height:64px;color:#1a2a62;}
.sheet.guide .z3-v0910-session>summary::-webkit-details-marker{display:none}
.sheet.guide .z3-v0910-session>summary::after{content:'+';flex:0 0 auto;margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border:1px solid #b9c6e9;border-radius:50%;font-size:20px;font-weight:500;color:#3654ac;}
.sheet.guide .z3-v0910-session[open]>summary::after{content:'−'}
.sheet.guide .z3-v0910-session>summary:focus-visible{outline:3px solid #ed67a9;outline-offset:-3px;}
.sheet.guide .z3-v0910-summary-copy{display:block;flex:1 1 auto;min-width:0;}
.sheet.guide .z3-v0910-title{display:block;font-size:clamp(.97rem,2vw,1.1rem);font-weight:850;line-height:1.25;color:#274aaa;text-transform:none;}
.sheet.guide .z3-v0910-subtitle{display:block;font-size:.88rem;line-height:1.35;color:#4d587a;margin-top:4px;}
.sheet.guide .z3-v0910-question{display:block;font-size:.88rem;line-height:1.45;color:#394768;margin-top:7px;}
.sheet.guide .z3-v0910-session>.z3-v0910-session-content{padding:0 17px 17px;border-top:1px solid #e2e7f4;}
.sheet.guide .z3-v0910-session-content .sd.compact{padding:14px 0 0;background:transparent;box-shadow:none;border:0;margin:0;}
.sheet.guide .z3-v0910-session-content .sd-title,.sheet.guide .z3-v0910-session-content .sd-sub,.sheet.guide .z3-v0910-session-content .sd-q{display:none;}
.sheet.guide .z3-v0910-session-content .sd-when{margin-top:10px;}
.sheet.guide .z3-v0910-session-content .lineup{margin:12px 0 0;}
.sheet.guide .z3-v0910-guide-section.round{background:transparent;box-shadow:none;border:0;}
.sheet.guide .z3-v0910-guide-section.round .round-head{margin:5px 0 14px;}
.sheet.guide .z3-v0910-guide-section.round .sessions{margin:0;padding:0;display:block;}
.sheet.guide .z3-v0910-guide-section.round li.session{list-style:none;margin:0 0 9px;padding:0!important;background:transparent;border:0;}
.sheet.guide .z3-v0910-guide-section.round .z3-v0910-session .sd.compact{margin:0;}
.sheet.guide .z3-v0910-guide-section .z3-v0910-session-content>p{padding-top:10px;line-height:1.55;color:#3e4b6a;}
@media(max-width:530px){.sheet.guide .z3-v0910-session>summary{padding:13px 12px;gap:8px}.sheet.guide .z3-v0910-session>.z3-v0910-session-content{padding:0 12px 15px}.sheet.guide .z3-v0910-title{font-size:.97rem}.sheet.guide .z3-v0910-question{font-size:.84rem}}
/* 8: genuine archival plenary photograph; supporting rather than replacing the accepted hero. */
#sunday .z3-v0910-plenary-photo{grid-column:1/-1;min-width:0;margin:9px 0 6px;position:relative;overflow:hidden;border-radius:13px;background:#111e48;}
#sunday .z3-v0910-plenary-photo img{width:100%;height:clamp(220px,27vw,350px);object-fit:cover;object-position:center 58%;display:block;}
#sunday .z3-v0910-plenary-photo figcaption{position:absolute;bottom:12px;left:13px;display:flex;gap:8px;align-items:center;max-width:calc(100% - 26px);font-size:.74rem;font-weight:700;line-height:1.35;color:#fff;background:#0e1a3cdd;padding:8px 11px;border-radius:7px;flex-wrap:wrap;}
#sunday .z3-v0910-plenary-photo figcaption strong{color:#fff;font-weight:900}
@media(max-width:700px){#sunday .z3-v0910-plenary-photo img{height:clamp(210px,55vw,295px);object-position:50% 59%}#sunday .z3-v0910-plenary-photo figcaption{font-size:.7rem}}
/* Constrain each framed Teen Summit portrait to the same grid as regular speakers. */
.sheet.guide .speaker-grid.z3-teen-speaker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:13px!important;row-gap:23px!important;}
.sheet.guide .z3-teen-speaker-grid .z3-v0910-teen-frame{margin-bottom:8px;}
.sheet.guide .z3-teen-speaker-grid .z3-v0910-teen-frame>img{aspect-ratio:4/4.8;}
@media(max-width:525px){.sheet.guide .speaker-grid.z3-teen-speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:19px 11px!important;}}
