.audio-toggle,.utility-button,.story-panel button{min-height:44px;border:2px solid var(--petrol);border-radius:var(--radius);background:var(--white);color:var(--petrol);padding:.58rem .85rem;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 var(--petrol)}
.game-shell :focus{outline:none}.keyboard-nav .game-shell :focus-visible{outline:3px solid var(--turquoise);outline-offset:3px}.game-shell [tabindex="-1"]:focus{outline:none!important}
.audio-toggle,.utility-button{min-height:30px;line-height:1;padding:.22rem .42rem;box-shadow:none;border-color:var(--turquoise);border-radius:.25rem;background:transparent;color:var(--white);font-size:.78rem}.audio-toggle{width:4.4rem}.utility-button{width:2.5rem}
.story-panel button:hover{transform:translate(-1px,-1px);background:var(--white);box-shadow:4px 4px 0 var(--petrol)}
.story-panel button:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--petrol)}
.story-panel button.primary{background:var(--plum);border-color:var(--plum);color:var(--white);box-shadow:3px 3px 0 var(--petrol);margin-top:.75rem}
.story-panel button.primary:hover{background:var(--plum);box-shadow:4px 4px 0 var(--petrol)}.story-panel button:active,.story-panel button.primary:active,.story-panel button.keyboard-pressed,.story-panel button.primary.keyboard-pressed{transform:translate(3px,3px);box-shadow:0 0 0 transparent}
.kicker,.scene-number{font-size:.86rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin:0}.story-panel>.scene-number,.permission-card>.scene-number{position:relative;z-index:8;top:auto;width:100%;max-width:100%;padding:.42rem 0;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border-left:0;border-bottom:2px solid var(--rose)}
.story-panel>.scene-number{flex:none;min-height:clamp(2rem,5vh,2.7rem);margin:0;display:flex;align-items:center}
.title-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:clamp(2.6rem,8vh,4.5rem)}.brand-logo-link{display:block;width:min(9rem,31%);height:auto;margin:0;flex:none}.brand-logo{display:block;width:100%;height:auto;margin:0}.title-kicker{white-space:pre-line;margin:0}.game-title{font-size:clamp(2.5rem,7.5vh,4.15rem)!important;line-height:.98;color:var(--plum)!important}
.origin-links{font-size:.94em;padding:.7rem 0;border-block:1px solid var(--turquoise)}.origin-title,.brand-word{font-family:var(--heading);font-size:1.3em;font-weight:400}.adaptation-credit{font-size:.9em;font-weight:650;color:var(--plum)}
.privacy-note,.license-note,.attribution{font-size:.9em}
.choices,.bottom-actions{position:relative;z-index:4;flex:none;width:100%;margin:0;border:0;padding:1rem 4px calc(var(--panel-y) + .35rem);background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none}.choices{display:grid;gap:.55rem}.choices legend{width:100%;display:flex;align-items:center;gap:.7rem;font-size:clamp(1.05rem,2.8vh,1.3rem);margin-bottom:.3rem;padding:0}.choices legend::before,.choices legend::after{content:"";height:3px;background:var(--petrol);flex:1 1 0}.choice{text-align:left;width:calc(100% - 4px);font-size:.96em}.bottom-actions{display:flex;gap:.75rem;border-top:3px solid var(--petrol)}.bottom-actions>button{flex:1;margin-top:0!important;width:calc(100% - 4px)}
.action-reveal{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,0fr);flex:none;width:100%;min-width:0;overflow:hidden;transition:grid-template-rows .38s ease}.action-reveal.is-open{grid-template-rows:minmax(0,0fr) minmax(0,1fr)}.action-reveal-hint-wrap,.action-reveal-content{min-height:0;overflow:hidden}.action-reveal-hint-wrap{display:grid;align-items:center}.story-panel button.action-reveal-hint{justify-self:end;width:auto;min-height:44px;margin:0 .2rem 0 auto;padding:.15rem .3rem;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--petrol);font-family:var(--body);font-size:.76rem;font-style:normal;font-weight:650;line-height:1.1;letter-spacing:.015em;text-decoration:underline;text-decoration-color:#30b1b188;text-decoration-thickness:1px;text-underline-offset:.16em;opacity:.72}.story-panel button.action-reveal-hint:hover,.story-panel button.action-reveal-hint:active,.story-panel button.action-reveal-hint.keyboard-pressed{transform:none;background:transparent;box-shadow:none;color:var(--plum);opacity:1}.action-reveal-content{opacity:0;transform:translateY(.45rem);transition:opacity .25s ease,transform .38s ease}.action-reveal.is-open .action-reveal-content{opacity:1;transform:none}.action-reveal.is-open .action-reveal-hint-wrap{visibility:hidden}.reader-navigation>.action-reveal{align-self:stretch}.reader-navigation>.action-reveal .action-reveal-content,.reader-navigation>.action-reveal .action-reveal-content>button{height:100%}.actions-pending{scroll-margin-bottom:1rem}
.notification{border-left:.5rem solid var(--rose);background:var(--white);padding:.8rem 1rem;margin:1rem 0;box-shadow:0 2px 0 #08505022;font-style:normal;font-weight:800}
.result{font-size:1.1em;background:var(--white);border:2px solid var(--turquoise);padding:1rem;border-radius:var(--radius)}.result-enter{animation:result-pop .3s steps(4,end) both}
.source-card{background:var(--white);border:3px solid var(--petrol);border-radius:var(--radius);padding:clamp(.8rem,3vw,1.4rem);margin:1rem 0}.source-card h3{font-size:1.7rem;color:var(--plum)}
.source-card dl{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:.25rem 1rem}.source-card dt{font-weight:800}.source-card dd{margin:0}.source-card blockquote,.story-panel blockquote{border-left:.35rem solid var(--rose);margin:1rem 0;padding:.7rem 1rem;background:var(--pink)}
.source-card summary{cursor:pointer;font-weight:800;color:var(--plum);min-height:44px;padding:.5rem 0}.full-link a{display:block}
.source-glossary{margin:.8rem 0;padding:.7rem;border:2px solid var(--turquoise);border-radius:var(--radius);background:rgba(255,255,255,.86)}.source-glossary h3{margin:0 0 .15rem;font-size:1.15rem}.glossary-instruction{margin:0 0 .55rem;font-size:.88rem}.glossary-list{display:flex;flex-wrap:wrap;gap:.45rem}.glossary-entry{position:relative}.glossary-term{min-height:36px;padding:.3rem .55rem;font-size:.9rem;box-shadow:2px 2px 0 var(--petrol)}.glossary-definition{display:none;position:absolute;left:0;bottom:calc(100% + .45rem);z-index:30;width:min(19rem,calc(100vw - 3.5rem));margin:0;padding:.6rem .7rem;border:2px solid var(--petrol);border-radius:.35rem;background:var(--white);box-shadow:4px 4px 0 var(--petrol);font-size:.88rem;line-height:1.35}.glossary-entry:hover .glossary-definition,.glossary-entry:focus-within .glossary-definition,.glossary-entry.is-open .glossary-definition{display:block}
.source-candidate{padding:1rem;background:var(--white);border:2px solid var(--petrol);border-radius:var(--radius)}
.question-form,.match-form{display:grid;grid-auto-rows:max-content;align-content:start;gap:.55rem;margin:1rem 0}.question-form .answer-button{display:flex;align-items:center;align-self:start;block-size:max-content;min-block-size:52px;padding-block:.68rem;text-align:left;line-height:1.35;width:calc(100% - 4px);white-space:normal;overflow:visible;overflow-wrap:anywhere;background:var(--white);border-color:var(--petrol);box-shadow:3px 3px 0 var(--petrol)}.question-form .answer-button.answer-tried{border-style:dashed;opacity:.72}.question-form .answer-button.answer-correct{border-color:var(--plum);box-shadow:3px 3px 0 var(--plum)}
.visual-notification{position:absolute;z-index:5;top:.25rem;left:50%;translate:-50% 0;width:min(98%,43rem);max-height:calc(100% - .75rem);overflow-y:scroll;scrollbar-gutter:stable;padding:clamp(.75rem,2.4vh,1.15rem) clamp(.9rem,3vw,1.4rem);border:4px solid var(--dark,#052f31);background:#fffdfef2;color:var(--plum);font-family:var(--heading);font-size:clamp(1rem,2.8vh,1.35rem);font-style:normal;font-weight:400;line-height:1.15;box-shadow:6px 6px 0 var(--rose)}.visual-notification .dialogue{font-weight:400}.visual-notification[hidden]{display:none}
.interaction{display:flex;flex:1;min-height:0;flex-direction:column}.interaction>h1{font-size:clamp(1.875rem,4.8vh,2.5rem);color:var(--plum);margin:.55rem 0 .65rem}.interaction-scroll{max-height:clamp(8rem,28vh,16rem);overflow-y:scroll;padding-right:.65rem;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable;border-block:2px solid var(--petrol)}.source-check-scroll,.section-check-scroll{flex:1 1 auto;max-height:none;min-height:8rem}.source-check-interaction{overflow:hidden}.source-check-interaction>.source-check-scroll{position:relative;z-index:1;flex:1 1 0;min-height:0}.source-check-interaction>.action-reveal{flex:0 1 auto;max-height:min(58%,28rem)}.source-check-interaction>.action-reveal>.action-reveal-content{overflow-y:scroll;overflow-x:hidden;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}.source-check-interaction>.action-reveal .question-form,.source-check-interaction>.interaction-evaluation{position:relative;z-index:1;margin:0;padding:.7rem .9rem .55rem .2rem;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:3px solid var(--petrol)}.source-check-interaction>.interaction-evaluation{flex:0 0 auto;max-height:min(58%,28rem);overflow-y:scroll;overflow-x:hidden;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}.interaction-evaluation{flex:1;min-height:0;overflow-y:scroll;padding:.4rem 0 1.2rem}.interaction-evaluation .primary{width:calc(100% - 4px)}
.interaction>.action-reveal .question-form,.interaction>.action-reveal .match-form{position:relative;z-index:1;bottom:auto;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:3px solid var(--petrol);padding-top:.65rem;margin-bottom:0}.source-check-interaction>.action-reveal .question-form.method-ready{display:grid;gap:.75rem;max-height:none;padding:.85rem .2rem .35rem}.source-check-interaction>.action-reveal .question-form.method-ready .interaction-status{margin:0;min-height:0}.source-check-interaction>.action-reveal .question-form.method-ready .primary{width:calc(100% - 4px);margin-top:0}
.interaction-completion{overflow-y:scroll;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}.interaction-completion h2{color:var(--plum)}
.interaction>.primary{position:relative;z-index:1;bottom:auto;width:calc(100% - 4px)}
.permission-card{display:flex;min-height:100%;flex-direction:column;padding:0 0 var(--panel-y)}.permission-card>.scene-number{flex:none;margin:0;padding:.42rem 0;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-bottom:2px solid var(--rose)}.permission-card h1{font-size:clamp(1.875rem,4.8vh,2.5rem);color:var(--plum)}.permission-actions,.reader-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:.7rem;margin-top:auto;padding:.7rem 4px 4px}.story-panel .permission-actions button,.story-panel .reader-navigation button{display:flex;width:100%;height:100%;min-height:52px;align-items:center;justify-content:center;margin:0}.reader-navigation button:only-child{grid-column:1/-1}
.full-reader{display:flex;flex:1;min-height:0;flex-direction:column}.reader-progress{font-family:var(--heading);color:var(--rose);margin:.2rem 0}.reader-page{flex:1;max-height:none;min-height:9rem;background:var(--white);padding:.5rem .8rem}.reader-navigation{position:relative;bottom:auto;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:1}.reader-navigation .primary{margin-top:0}.summary-card{display:grid;gap:.55rem}.summary-card>.answer-button{text-align:left}#summary-text.ai-output-block{font-family:var(--body)}
.source-search{display:grid;gap:.35rem;padding:.55rem .7rem;border:2px solid var(--petrol);background:var(--white)}.source-search label{font-weight:800}.source-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem}.source-search input{min-width:0;min-height:44px;border:2px solid var(--petrol);border-radius:.35rem;padding:.45rem .6rem;font:inherit;color:var(--petrol);background:var(--pink)}.source-search button{min-height:44px;margin:0!important;padding:.4rem .65rem}.source-search-status{min-height:1.4em;margin:0!important;color:var(--plum);font-weight:700}.source-search-match{background:#f2ca6b;color:var(--ink);padding:.05em .12em;box-shadow:0 0 0 2px #f2ca6b}
.interaction-status{font-weight:750;color:var(--plum);min-height:1.6em}.excerpt{border-left:5px solid var(--turquoise);padding:.2rem 1rem;margin:1rem 0;background:#fff}.excerpt h3{color:var(--petrol)}
.match-form label{display:grid;gap:.35rem;font-weight:700}.match-form select{min-height:44px;padding:.5rem;border:2px solid var(--petrol);border-radius:.35rem;background:#fff;color:var(--ink)}
.story-scroll p,.interaction p{margin-block:clamp(.32rem,1.35vh,.85rem);text-wrap:pretty}.story-multiline{white-space:pre-line}.story-scroll li,.interaction li,.notification,.result{ text-wrap:pretty}.inline-title{font-weight:800;color:var(--ink)}.dialogue{color:var(--plum);font-weight:800}.dialogue em{font-style:normal}.inline-time{font-family:var(--heading);font-style:normal;font-weight:400;white-space:nowrap;color:var(--plum)}.ai-output{display:inline;padding:.08em .3em;background:#30b1b12b;border-bottom:3px solid var(--turquoise);box-decoration-break:clone;-webkit-box-decoration-break:clone;color:var(--petrol);transition:padding-inline .2s ease-out}.typewriter-active .ai-output{padding-inline:.03em}.dialogue.ai-output:has(em:empty){visibility:hidden}.ai-output-block,.ai-output-feedback{border-left:5px solid var(--turquoise);background:#30b1b122;padding:.55rem .75rem}.ai-output-block::before{content:attr(data-ai-label);display:block;margin-bottom:.3rem;color:var(--rose);font-family:var(--heading);font-size:.72em;letter-spacing:.12em}.dream-prose{max-width:58ch;font-size:clamp(1.02rem,2.4vh,1.2rem);line-height:1.62;color:var(--petrol);text-wrap:pretty}.dream-direct{max-width:60ch;margin-top:clamp(.7rem,2vh,1.2rem);padding-top:clamp(.55rem,1.5vh,.9rem);border-top:3px solid var(--rose);color:var(--plum)}.dream-direct p{margin-block:.25rem}.dream-direct-label{font-family:var(--heading);font-size:.78rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}.dream-direct p:last-child{font-weight:750;line-height:1.5}.last-line{font-family:var(--heading);font-size:1.5rem;color:var(--plum)}.end-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.dream-final-actions{display:grid;grid-template-columns:1fr}.dream-final-actions>button{width:calc(100% - 4px);margin-top:0!important}
@media(prefers-reduced-motion:reduce){.ai-output,.action-reveal,.action-reveal-content{transition:none}}@media(prefers-reduced-motion:no-preference){.notification{animation:slide-in .35s ease-out}.visual canvas{animation:soft-enter .5s ease-out}.choices-reveal{animation:choices-in .7s ease-out both}.action-reveal.is-locked>.action-reveal-hint-wrap{animation:read-hint-in .8s .1s cubic-bezier(.22,.7,.2,1) both}.notification-attention{animation:notification-in .45s steps(5,end),notification-pulse .75s .5s ease-out}@keyframes slide-in{from{opacity:0;transform:translateY(-.5rem)}}@keyframes soft-enter{from{opacity:.45}}@keyframes read-hint-in{from{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}@keyframes notification-in{from{transform:translateY(-150%)}}@keyframes notification-pulse{50%{filter:brightness(1.08);box-shadow:8px 8px 0 var(--rose)}}@keyframes choices-in{from{opacity:0;transform:translateY(1rem)}}@keyframes result-pop{from{opacity:0;transform:translateY(.8rem) scale(.97)}to{opacity:1;transform:none}}}
.pdf-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:stretch}.pdf-save-row>button{width:calc(100% - 4px);margin:0!important}.pdf-info{position:relative}.pdf-info>summary{display:grid;place-items:center;width:44px;height:calc(100% - 4px);min-height:44px;border:2px solid var(--petrol);border-radius:.45rem;background:var(--white);box-shadow:4px 4px 0 var(--petrol);color:var(--plum);font-family:var(--heading);font-size:1.1rem;cursor:pointer;list-style:none}.pdf-info>summary::-webkit-details-marker{display:none}.pdf-info>summary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--petrol)}.pdf-info>summary:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--petrol)}.pdf-info>p{display:none;position:absolute;right:0;bottom:calc(100% + .65rem);z-index:20;width:min(29rem,calc(100vw - 3rem));margin:0;padding:.7rem .85rem;border:2px solid var(--petrol);border-radius:.4rem;background:var(--white);box-shadow:5px 5px 0 var(--petrol);color:var(--petrol);font-size:.92rem;line-height:1.45}.pdf-info[open]>p,.pdf-info:hover>p,.pdf-info:focus-within>p{display:block}
.feedback-dialog{position:fixed;z-index:100;inset:.5rem auto .5rem .5rem;width:min(27rem,calc(100vw - 1rem));max-width:none;height:calc(100svh - 1rem);max-height:none;margin:0;padding:.8rem;border:4px solid var(--petrol);border-radius:.6rem;background:var(--pink);color:var(--petrol);box-shadow:8px 8px 0 #03373788;overflow:hidden}.feedback-dialog::backdrop{background:transparent;backdrop-filter:none}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-bottom:2px solid var(--turquoise);padding-bottom:.45rem}.feedback-heading h2{margin:0;color:var(--plum);font-size:1.65rem}.feedback-dialog button{min-height:44px;border:2px solid var(--petrol);border-radius:.4rem;background:var(--white);color:var(--petrol);padding:.42rem .7rem;font:inherit;font-weight:750;box-shadow:3px 3px 0 var(--petrol);cursor:pointer}.feedback-dialog button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--petrol)}.feedback-dialog button:active,.feedback-dialog button.keyboard-pressed{transform:translate(3px,3px);box-shadow:none}.feedback-close{flex:none}.feedback-description{margin:.55rem 0;font-size:.9rem;line-height:1.35}.feedback-consent{display:grid;place-items:center;min-height:calc(100% - 8rem);padding:1rem}.feedback-consent[hidden],.feedback-content[hidden],.feedback-again[hidden]{display:none}.feedback-content{display:flex;min-height:0;height:calc(100% - 7.2rem);flex-direction:column}.feedback-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:stretch}.feedback-code-row>div{display:grid;gap:.1rem;min-width:0;padding:.35rem .55rem;border:2px solid var(--turquoise);background:var(--white)}#feedback-code-label{font-size:.72rem;font-weight:800;color:var(--rose)}#feedback-code{font-family:var(--heading);font-size:.9rem;overflow-wrap:anywhere;user-select:all}.feedback-copy-status{min-height:1.2em;margin:.15rem 0;font-size:.78rem;color:var(--plum);font-weight:700}.feedback-dialog iframe{display:block;flex:1 1 auto;width:100%;min-height:12rem;border:2px solid var(--petrol);background:var(--white)}.feedback-submit-status{flex:none;min-height:0;margin:.2rem 0 0;color:var(--plum);font-size:.82rem;font-weight:800}.feedback-again{flex:none;width:calc(100% - 4px);margin:.3rem 4px 0 0}.feedback-fallback{flex:none;margin:.35rem 0 0;text-align:center;font-size:.82rem}.feedback-fallback a{color:var(--plum)}@media(max-width:360px){.feedback-code-row{grid-template-columns:1fr}.feedback-content{height:calc(100% - 9.8rem)}}
body.feedback-in-gutter .feedback-dialog{left:var(--feedback-gutter-left);width:var(--feedback-gutter-width)}
@media(max-width:480px){
  .story-panel button{min-height:44px;padding:.48rem .65rem;font-size:clamp(.9rem,2.25svh,1rem);line-height:1.3}
  .story-panel>.scene-number,.permission-card>.scene-number{position:relative;width:100%;max-width:100%;min-height:2rem;margin:0;padding:.34rem 0;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border-left:0;border-bottom:2px solid var(--rose);font-size:clamp(.72rem,1.9svh,.82rem);line-height:1.25}
  .choices,.bottom-actions{width:100%;margin:0;padding:.55rem 4px .42rem;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none}
  .choices{max-height:min(48%,15rem);overflow-y:auto;overflow-x:hidden;gap:.4rem;padding-right:1rem;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}
  .choices legend{position:relative;min-height:1.8rem;margin:0;padding:.1rem 0 .2rem;background:var(--pink);font-size:clamp(.98rem,2.5svh,1.08rem);gap:.45rem}
  .choices legend::before,.choices legend::after{height:2px}
  .choice{font-size:clamp(.9rem,2.25svh,.98rem);line-height:1.3}
  .bottom-actions{gap:.45rem;border-top:2px solid var(--petrol)}
  .title-top{min-height:2.5rem;gap:.55rem}.brand-logo-link{width:min(7.5rem,30%)}.game-title{font-size:clamp(2.15rem,6.5svh,3rem)!important}.title-kicker{font-size:.76rem}.origin-links{padding:.5rem 0}.adaptation-credit{font-size:.88rem}
  .visual-notification{top:.3rem;width:calc(100% - .75rem);max-height:calc(100% - .65rem);padding:.5rem .65rem;border-width:3px;font-size:clamp(.95rem,2.35svh,1.08rem);line-height:1.18;box-shadow:4px 4px 0 var(--rose)}
  .notification{padding:.58rem .7rem;margin:.55rem 0;border-left-width:.35rem}
  .result{padding:.65rem;font-size:1rem}
  .interaction{overflow:hidden}.interaction>h1{font-size:clamp(1.875rem,4.4svh,2.15rem);margin:.4rem 0 .5rem}
  .interaction-scroll{padding-right:1rem}
  .source-check-interaction,.section-match-interaction{display:flex;min-height:0;overflow:hidden}
  .source-check-interaction>.source-check-scroll,.section-match-interaction>.section-check-scroll{flex:1 1 auto;min-height:7.5rem}
  .source-check-interaction>.action-reveal,.section-match-interaction>.action-reveal{flex:0 1 auto;max-height:50%}
  .source-check-interaction>.action-reveal>.action-reveal-content,.section-match-interaction>.action-reveal>.action-reveal-content{overflow-y:auto;overflow-x:hidden;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}
  .source-check-interaction>.action-reveal .question-form,.source-check-interaction>.interaction-evaluation,.section-match-interaction>.action-reveal .match-form{position:relative;z-index:1;bottom:auto;margin:0;padding:.5rem 1rem .4rem .1rem;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none;border-top:2px solid var(--petrol)}
  .source-check-interaction>.action-reveal .question-form.method-ready{padding:.55rem .1rem .35rem}
  .interaction>.action-reveal .question-form,.interaction>.action-reveal .match-form{position:relative;bottom:auto;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none}
  .question-form,.match-form{gap:.4rem;margin:.5rem 0}.question-form .answer-button{min-block-size:44px;padding-block:.48rem;font-size:clamp(.88rem,2.2svh,.98rem);line-height:1.3}
  .summary-match-interaction,.quiz-interaction,.full-reader-interaction,.permission-card{overflow-y:auto;overflow-x:hidden;padding-right:1rem;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}
  .summary-evidence-source{flex:none;min-height:8rem;max-height:11rem}
  .full-reader{display:block;min-height:0}.full-reader .reader-page{min-height:10rem;max-height:14rem}.permission-card{min-height:0;padding-bottom:.5rem}.permission-actions{margin-top:.5rem}
  .reader-navigation{position:relative;bottom:auto;padding:.5rem 4px 4px;background:var(--pink);backdrop-filter:none;-webkit-backdrop-filter:none}
  .source-glossary{padding:.55rem;margin:.55rem 0}.glossary-list{display:grid;grid-template-columns:1fr;gap:.4rem}.glossary-entry{display:grid;min-width:0}.glossary-term{width:calc(100% - 4px);min-height:44px;text-align:left}.source-glossary .glossary-definition,.source-glossary .glossary-entry:hover .glossary-definition,.source-glossary .glossary-entry:focus-within .glossary-definition{display:none;position:static;z-index:auto;width:auto;max-width:none;margin:.35rem 4px .15rem 0;padding:.55rem .65rem;border:2px solid var(--petrol);border-radius:.35rem;background:var(--white);box-shadow:none;font-size:.9rem;line-height:1.4}.source-glossary .glossary-entry.is-open .glossary-definition{display:block}
  .source-card{padding:.7rem;margin:.6rem 0}.source-card h3{font-size:1.35rem}.source-card dl{grid-template-columns:1fr;gap:.05rem}.source-card dd{margin-bottom:.25rem}
  .excerpt{padding:.15rem .65rem;margin:.6rem 0}
}
@media(forced-colors:active){.notification,.source-card,.source-candidate,.excerpt{border:2px solid CanvasText}.scanlines{display:none}}
@media(max-width:480px){.source-search-row{grid-template-columns:minmax(0,1fr) auto}.source-search-row input{grid-column:1/-1}.source-search-row button{width:100%}}

/* Stable action areas and real Ysabeau italic faces. */
.story-panel button.action-reveal-hint{justify-self:stretch;width:100%;min-height:32px;margin:0;padding:.1rem .35rem;text-align:center}
.notification{font-style:italic}
.dialogue em{font-style:italic}
.visual-notification .dialogue em{font-style:normal}
.permission-card>.action-reveal{margin-top:auto}
.action-reveal.has-choices:not(.is-open){display:block;height:32px;min-height:32px}
.action-reveal.has-choices:not(.is-open)>.action-reveal-hint-wrap{display:grid;height:32px;min-height:32px}
.action-reveal.has-choices:not(.is-open)>.action-reveal-content{display:none}
.action-reveal.has-choices.is-open{display:block;height:auto;max-height:none}
.action-reveal.has-choices.is-open>.action-reveal-hint-wrap{display:none}
.action-reveal.has-choices.is-open>.action-reveal-content{height:auto;min-height:0;overflow:visible}
.action-reveal.has-choices.is-open>.action-reveal-content>.choices{height:auto;min-height:0}
.summary-evidence-interaction{display:flex!important;min-height:0;flex-direction:column;overflow:hidden!important;padding-right:0!important}
.summary-evidence-reading{display:flex;flex:1 1 52%;min-height:7.5rem;flex-direction:column;overflow:hidden}
.summary-evidence-reading>.source-search,.summary-evidence-reading>.summary-evidence-glossary{flex:none}
.summary-evidence-reading>.summary-evidence-source{flex:1 1 auto;min-height:6rem;max-height:none;margin-block:.45rem}
.summary-evidence-task{flex:0 0 clamp(12rem,48%,16rem);min-height:0;overflow-y:scroll;padding:.55rem 1rem .4rem .1rem;border-top:2px solid var(--petrol);scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable}
.summary-evidence-task>.question-form{margin-top:0}
.source-check-interaction>.action-reveal.is-open{max-height:min(68%,32rem)}
.source-check-interaction>.action-reveal .question-form .answer-button{min-block-size:clamp(64px,8vh,82px);padding-block:.9rem}
.action-reveal.is-locked{display:block;height:32px!important;min-height:32px!important;max-height:32px!important;overflow:hidden}
.action-reveal.is-locked>.action-reveal-hint-wrap{display:grid;height:32px;min-height:32px}
.action-reveal.is-locked>.action-reveal-content{display:none}
.action-reveal.is-resizing{overflow:hidden!important;transition:height .42s cubic-bezier(.22,.7,.2,1)}
.action-reveal{transition:grid-template-rows .38s ease,flex-basis .42s cubic-bezier(.22,.7,.2,1),max-height .42s cubic-bezier(.22,.7,.2,1)}
.story-panel h1{overflow-wrap:normal;word-break:normal;hyphens:auto;text-wrap:pretty}
.interaction>.action-reveal .question-form,.interaction>.action-reveal .match-form{z-index:4}
@media(max-width:480px){.summary-evidence-reading>.summary-evidence-source{min-height:6rem;max-height:none}.summary-evidence-task{flex-basis:clamp(12rem,50%,15rem)}}
@media(max-width:480px){.source-check-interaction>.action-reveal.is-open{max-height:68%}.source-check-interaction>.action-reveal .question-form .answer-button{min-block-size:60px;padding-block:.72rem}}

/* Stable lower task areas for the reading match and quiz interactions. */
.section-match-interaction>.action-reveal.is-open{flex:0 0 clamp(14rem,52%,20rem);min-height:14rem;max-height:68%}
.section-match-interaction>.action-reveal.is-locked{flex-basis:32px!important}
.section-match-interaction>.action-reveal.is-open>.action-reveal-content{height:100%;min-height:0;overflow-y:scroll}
.section-match-interaction .match-form{min-height:100%;align-content:start}
.reader-navigation{z-index:4;flex:none;min-height:60px}
.quiz-interaction{display:flex;min-height:0;flex-direction:column;scroll-behavior:smooth}
.quiz-interaction>.question-form{margin-top:auto}
.quiz-interaction>.interaction-status{margin-top:auto}
.quiz-interaction>.primary{flex:none;width:calc(100% - 4px)}
@media(max-width:480px){.section-match-interaction>.action-reveal.is-open{flex-basis:clamp(13.5rem,52%,18rem);min-height:13.5rem;max-height:68%}.section-match-interaction .match-form>.progress{margin-top:0}.quiz-interaction>.question-form{margin-bottom:0}}

/* Permission controls occupy the same bottom edge as every other action row. */
.permission-card>.action-reveal{flex:none;margin-top:auto}
.permission-card>.action-reveal .permission-actions{margin:0;padding:.55rem 4px 4px}
@media(max-width:480px){.permission-card{height:100%;min-height:100%}}
