/* Personalised revision studio — shared by all streams */
.studio-hero{background:linear-gradient(125deg,#2c1752,#683482 63%,#bc4e78);padding:32px 28px;border-radius:24px;color:#fff;margin:0 0 24px;box-shadow:0 14px 40px #3e1a5b1a}.studio-hero h1{color:white;font-size:clamp(1.8rem,4vw,2.9rem);margin:12px 0}.studio-hero p{color:#f5e8ff;max-width:700px;line-height:1.65}.studio-label,.studio-eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.studio-label{color:#ffe19b}.studio-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.studio-jump a{color:white;border:1px solid #ffffff65;border-radius:40px;padding:8px 12px;font-size:.86rem;text-decoration:none}.studio-jump a:hover{background:#ffffff24}.studio-wrap{max-width:940px;margin:0 auto 40px}.studio-card{background:#fff;border:1px solid #ead9ef;border-radius:22px;padding:clamp(16px,3vw,30px);margin:0 0 18px;box-shadow:0 10px 36px #34134e0c}.studio-card h2,.studio-card h3{color:#45245f}.studio-card h2{margin:0 0 10px;font-size:1.6rem}.studio-card p{line-height:1.65}.studio-card a{color:#652e8b;text-decoration:underline}.studio-note{border-left:4px solid #9c68bf;background:#f9f3fc;border-radius:8px;padding:12px 14px;line-height:1.5}.studio-card label{display:block;font-weight:650;margin:14px 0 8px}.studio-card textarea,.studio-card select,.studio-mistake input[type=text]{width:100%;max-width:100%;padding:12px 13px;border:1.5px solid #cdb6d9;background:#fff;border-radius:12px;color:#2b1a39;font:inherit;margin-top:7px}.studio-btn{display:inline-flex;align-items:center;justify-content:center;background:#67368b;color:white!important;border:0;border-radius:12px;padding:11px 17px;font-weight:800;text-decoration:none!important;cursor:pointer;font:inherit}.studio-btn.secondary{background:#f7edf9;color:#572a75!important;border:1px solid #dac2e6}.studio-btn:hover{filter:brightness(.95)}.studio-actions{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.studio-question{border:1px solid #e8d4ef;border-radius:15px;padding:18px;margin:18px 0}.studio-question legend{font-weight:800;color:#43235b;line-height:1.5;padding:0 8px}.studio-question label{display:flex;gap:10px;font-weight:500;background:#fdfaff;border:1px solid #f1e3f4;border-radius:10px;padding:9px 12px;margin:7px 0;cursor:pointer}.studio-question input{accent-color:#763a9c;flex-shrink:0}.studio-qnum{display:inline-flex;align-items:center;justify-content:center;background:#6a328e;color:#fff;border-radius:50%;width:24px;height:24px;font-size:.8rem;margin-right:8px}.studio-topic{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:#aa4776;margin-right:7px}.studio-error{color:#a52e44}.studio-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.studio-scores>div{background:#faf3fd;border-radius:12px;padding:12px}.studio-scores strong{font-size:.75rem;color:#69467b}.studio-scores b{display:block;font-size:1.4rem;margin:4px 0}.studio-track{height:9px;background:#eadff1;border-radius:100px;overflow:hidden}.studio-track i{display:block;height:100%;background:linear-gradient(90deg,#7a45af,#d76791);border-radius:100px;transition:width .2s}.studio-mistake{padding:18px 0;border-bottom:1px solid #f1e4f3}.studio-mistake h3{font-size:1.05rem;line-height:1.5}.studio-mistake small{color:#884a91;font-weight:800;text-transform:capitalize}.studio-mistake details{background:#fbf5fc;border-radius:10px;padding:10px 13px;margin:10px 0}.studio-mistake summary{cursor:pointer;font-weight:800}.studio-report{border-top:2px solid #ead4ef;margin-top:22px;padding-top:15px}.studio-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studio-checks article{border:1px solid #e9d8ee;border-radius:13px;padding:13px}.studio-checks article.good{background:#f0fbf7;border-color:#b7dfd1}.studio-checks article.improve{background:#fff9ed;border-color:#f2d9ac}.studio-checks b{color:#40265a}.studio-checks p{font-size:.91rem;margin:6px 0 0}.studio-prompt{background:#f9f1fc;padding:12px;border-radius:12px}.studio-challenge-top{display:flex;justify-content:space-between;align-items:center}.studio-medal{font-size:36px;color:#d89528}.studio-days{margin-top:22px;display:grid;gap:10px}.studio-day{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e9d8ed;border-radius:14px;padding:12px 15px}.studio-day label{display:flex;align-items:center;gap:11px;margin:0;flex:1;cursor:pointer}.studio-day input{width:20px;height:20px;accent-color:#743c93;flex-shrink:0}.studio-day small{display:block;margin-top:4px;font-weight:400;line-height:1.45;color:#6f597c}.studio-day a{white-space:nowrap;font-size:.85rem}.studio-finished{margin-top:20px;background:#faf1ff;padding:18px;border-radius:16px}@media(max-width:650px){.studio-hero{padding:22px 18px}.studio-scores,.studio-checks{grid-template-columns:1fr}.studio-day{align-items:flex-start;flex-direction:column}.studio-day a{margin-left:31px}}@media print{.studio-hero,.studio-jump,.studio-actions,.studio-btn{display:none!important}.studio-card,.studio-question{box-shadow:none;break-inside:auto}.studio-question legend,.studio-checks article,.studio-mistake h3{break-after:avoid;page-break-after:avoid}}

/* V26 diagnostic: keep every prompt and passage visible, including on narrow iPhones. */
.studio-question{min-width:0;padding:clamp(12px,2.2vw,18px);margin:16px 0}
.studio-question legend{float:none;max-width:100%;padding:0 8px}
.studio-question-stem{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;height:auto!important;overflow:visible!important;margin:5px 0 14px!important;color:#30203e!important;font-size:clamp(1rem,2.4vw,1.15rem);font-weight:750;line-height:1.55;overflow-wrap:anywhere}
.studio-choices{display:grid;gap:8px;min-width:0}
.studio-question .studio-choices label{display:flex;align-items:flex-start;gap:12px;margin:0;min-width:0;padding:12px;line-height:1.45;overflow-wrap:anywhere}
.studio-question .studio-choices input{margin-top:4px;flex:0 0 auto}
.studio-question .studio-choices span{min-width:0;flex:1}
.studio-reading-text{margin:24px 0 15px;padding:clamp(15px,3vw,25px);border:1px solid #ddc8e8;border-left:4px solid #783a9a;border-radius:14px;background:#fbf8fd}
.studio-reading-text h3{font-size:1.1rem;margin:0 0 12px;color:#45245f}
.studio-reading-text p{line-height:1.85;margin:0 0 12px;color:#30243b;overflow-wrap:anywhere}
.studio-pn{display:inline-block;min-width:25px;margin-right:8px;color:#743a93;font-weight:900}
@media(max-width:650px){.studio-wrap{width:100%;min-width:0}.studio-card{padding:14px;border-radius:16px}.studio-question{padding:12px}.studio-question .studio-choices label{padding:10px}.studio-reading-text{padding:14px}.studio-reading-text p{font-size:1rem}}

/* V26: question stems and reading source texts remain visible at desktop and mobile widths. */
.studio-question-stem,.studio-reading-text{display:block!important;max-width:100%;min-width:0}
.studio-question-stem{white-space:normal!important;word-break:normal;overflow-wrap:break-word}
.studio-reading-text p{white-space:normal;overflow-wrap:break-word}
.studio-card,.studio-question,.studio-question .studio-choices{min-width:0}
@media (min-width:900px){.studio-wrap{width:min(100%,940px)}.studio-reading-text{padding:24px 28px}.studio-question-stem{font-size:1.12rem}}

.studio-gap{display:inline-block;color:#5c287d;background:#eee2f7;border:1px solid #d6bce8;border-radius:5px;padding:0 5px;white-space:nowrap}

.studio-feedback{margin-top:20px}.studio-feedback details{border:1px solid #e6d5ee;background:#fdf9ff;border-radius:12px;padding:12px 16px}.studio-feedback summary{font-weight:800;color:#552b77;cursor:pointer}.studio-feedback li{padding:12px 0;border-bottom:1px solid #eadced}.studio-feedback li:last-child{border:0}.studio-feedback li p{margin:6px 0}


/* V28: independent-scroll, two-pane source + question workspace (all streams). */
.studio-wrap:has(.studio-diagnostic-card){max-width:1240px;width:100%}
.studio-diagnostic-card{max-width:100%}
.studio-diagnostic-unit{margin:26px 0 30px;border:1px solid #e5d3ed;border-radius:20px;background:#fff;overflow:hidden}
.studio-unit-heading{display:flex;gap:13px;align-items:center;padding:16px 20px;background:linear-gradient(100deg,#f7effa,#fff);border-bottom:1px solid #e9ddef}
.studio-unit-heading h3{margin:0;font-size:1.1rem;line-height:1.3}
.studio-unit-heading p{margin:3px 0 0;font-size:.85rem;color:#765b82}
.studio-unit-number{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#67368b;color:#fff;font-weight:850}
.studio-split-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:0;min-width:0;height:min(72vh,760px);min-height:430px}
.studio-pane{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 18px 18px;scroll-behavior:smooth}
.studio-pane:focus-visible{outline:3px solid #28b4ad;outline-offset:-3px}
.studio-passage-pane{background:#fbf8fd;border-right:1px solid #e8d8ef}
.studio-answer-pane{background:#fff}
.studio-pane-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;background:inherit;border-bottom:1px solid #eadced;color:#6b338b;font-weight:850;font-size:.75rem;letter-spacing:.075em;padding:15px 0 12px}
.studio-pane-heading span{color:#826b8d;font-weight:550;letter-spacing:0;text-transform:none}
.studio-split-workspace .studio-reading-text{margin:14px 0 0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.studio-split-workspace .studio-reading-text h3{font-size:1.1rem;margin:0 0 15px}
.studio-split-workspace .studio-reading-text p{font-size:1rem;line-height:1.9;margin:0 0 17px}
.studio-split-workspace .studio-question{margin:16px 0;border-radius:13px;padding:14px}
.studio-split-workspace .studio-question-stem{font-size:1rem}
.studio-split-workspace .studio-choices label{padding:10px 12px}
@media(max-width:740px){
 .studio-unit-heading{padding:13px}
 .studio-unit-heading p{display:none}
 .studio-split-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(170px,38vh) minmax(250px,48vh);height:auto;min-height:0}
 .studio-pane{scrollbar-gutter:auto;padding:0 14px 12px}
 .studio-passage-pane{border-right:0;border-bottom:2px solid #dfc8e7}
 .studio-pane-heading{padding:10px 0}
 .studio-split-workspace .studio-reading-text p{font-size:.96rem;line-height:1.7}
}
@media print{
 .studio-split-workspace{display:block;height:auto;min-height:0}
 .studio-pane{overflow:visible;max-height:none;padding:0}
 .studio-pane-heading{position:static}
 .studio-passage-pane{border-right:0;border-bottom:1px solid #ddd}
 .studio-diagnostic-unit{break-inside:auto;overflow:visible}
}
