/* Lesson questions: side tab + slide-out panel (site/questions.js). */
.qx-tab{position:fixed;right:0;top:42%;z-index:60;display:flex;align-items:center;gap:.5rem;background:var(--brown);color:#fff;border:0;border-radius:4px 0 0 4px;padding:.85rem .55rem;cursor:pointer;font:700 .95rem var(--body);letter-spacing:.06em;text-transform:uppercase;writing-mode:vertical-rl;box-shadow:-2px 2px 8px rgba(0,0,0,.25)}
.qx-tab:hover{background:var(--brown-d)}
.qx-tab{transition:transform .3s ease}
.qx-tab.qx-away{transform:translateX(110%);pointer-events:none}
@media (prefers-reduced-motion:reduce){.qx-tab{transition:none}}
.qx-tab[aria-expanded="true"]{display:none}
.qx-badge{writing-mode:horizontal-tb;background:var(--gold);color:#fff;border-radius:999px;min-width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;font:700 .8rem var(--body);letter-spacing:0;padding:0 .3rem}
.qx-panel{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(27rem,100vw);background:#fff;color:var(--ink);box-shadow:-4px 0 16px rgba(0,0,0,.3);transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;display:flex;flex-direction:column}
.qx-panel.open{transform:none;visibility:visible;transition:transform .25s ease}
@media (prefers-reduced-motion:reduce){.qx-panel,.qx-panel.open{transition:none}}
.qx-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--brown);color:#fff;border-top:6px solid var(--ruby);padding:.7rem 1rem}
.qx-head h2{font:700 1.3rem/1.2 var(--head);margin:0;text-transform:uppercase;letter-spacing:.05em}
.qx-close{background:none;border:2px solid #fff;color:#fff;font:700 1rem var(--body);padding:.25rem .7rem;cursor:pointer;border-radius:2px}
.qx-body{overflow-y:auto;padding:1rem 1.1rem 2rem;font-size:1rem;line-height:1.5}
.qx-body h3{font:700 1.15rem var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--brown);margin:1.4rem 0 .5rem}
.qx-soon{background:var(--paper);border-left:5px solid var(--gold);padding:.55rem .8rem;margin:.8rem 0;font-size:.95rem}
.qx-form fieldset{border:0;margin:0 0 .8rem;padding:0}
.qx-form legend{font-weight:700;margin-bottom:.3rem}
.qx-opt{display:flex;gap:.55rem;align-items:flex-start;margin:.35rem 0}
.qx-opt input{margin-top:.3rem;width:1.1rem;height:1.1rem;flex:none}
.qx-opt small{display:block;color:#5c4d3f}
.qx-form label.qx-l{display:block;font-weight:700;margin:.7rem 0 .25rem}
.qx-form input[type=text],.qx-form input[type=email],.qx-form textarea{width:100%;font:inherit;padding:.5rem .6rem;border:2px solid var(--brown);border-radius:2px;background:#fff;color:var(--ink)}
.qx-form textarea{min-height:7.5rem;resize:vertical}
.qx-help{color:#5c4d3f;font-size:.88rem;margin:.2rem 0 0}
.qx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qx-go{margin-top:.9rem;font:700 1rem var(--body);background:var(--navy);color:#fff;border:0;padding:.65rem 1.3rem;cursor:pointer;border-radius:2px}
.qx-go:hover{background:var(--ruby)}
.qx-go:disabled{opacity:.55;cursor:default}
.qx-msg{font-weight:600;margin:.7rem 0 0;min-height:1.4em}
.qx-msg.err{color:var(--ruby)}
.qx-msg.ok{color:#1f5c2e}
.qx-item{border-top:1px solid var(--cream-line);padding:.7rem 0}
.qx-who{font-size:.85rem;color:#5c4d3f}
.qx-q{margin:.15rem 0 .4rem;white-space:pre-wrap}
.qx-a{border-left:4px solid var(--gold);background:var(--paper);padding:.45rem .7rem;white-space:pre-wrap}
.qx-a b{display:block;font-size:.85rem;color:var(--gold-text);text-transform:uppercase;letter-spacing:.05em}
.qx-open{font-size:.85rem;color:#5c4d3f;font-style:italic}
.qx-ask{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;background:var(--paper);border-left:6px solid var(--gold);padding:.7rem 1rem;margin:0 0 1.25rem}
.qx-ask p{margin:0;font-weight:700;flex:1 1 15rem}
.qx-ask-sub{font-weight:400}
.qx-ask-btn{font:700 1rem var(--body);background:var(--navy);color:#fff;border:0;padding:.6rem 1.2rem;cursor:pointer;border-radius:2px}
.qx-ask-btn:hover{background:var(--ruby)}
.qx-ask-note{font-size:.9rem;color:var(--gold-text);font-weight:700;flex-basis:100%}
