/* Solo V35: isolated from legacy solo classes. Source: issue #16, revision 466169058082050049.
   Original declarations below are unchanged; production adapters follow. */
.slv35 :where(*) { all: revert; box-sizing: border-box; }
.slv35 :where(button, input) { font: inherit; }
.slv35.is-active { display: block; }
.slv35{--navy:#0b2437;--gold:#e8c48b;--cream:#f9f4e9;--muted:#afc0c6;min-height:100svh;background:radial-gradient(ellipse at 78% 0%,#21455a 0%,transparent 46%),linear-gradient(160deg,#0a2031,#0b2537);color:var(--cream);font-family:Aptos,"Segoe UI",Arial,sans-serif}

.slv35 *{box-sizing:border-box}
.slv35 button{cursor:pointer}
.slv35 button:focus-visible,.slv35 input:focus-visible{outline:2px solid #f4d9a9;outline-offset:3px}

.slv35 .wrap{max-width:1180px;width:calc(100% - 36px);margin:auto}
.slv35 header{height:74px;border-bottom:1px solid #e8c48b37;display:flex;align-items:center;justify-content:space-between;gap:16px}

.slv35 .brand{display:flex;align-items:center;gap:11px;min-width:0;max-width:calc(100% - 85px);font-size:clamp(16px,1.9vw,23px);font-weight:750;line-height:1.12;letter-spacing:-.027em}
.slv35 .brand-name{color:var(--cream);text-wrap:balance}
.slv35 .slbdll-brand-icon{display:block;flex:0 0 42px;width:42px;height:42px;object-fit:contain;border-radius:50%;mix-blend-mode:screen;mask-image:radial-gradient(circle at center,#000 64%,rgba(0,0,0,.96) 78%,transparent 100%)}
.slv35 .gold{color:var(--gold)}
.slv35 .topprogress{display:flex;align-items:center;gap:12px;font-size:12px;color:#c2cacf}
.slv35 .topprogress b{color:var(--gold)}

.slv35 .heading{margin:24px 0 25px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.slv35 .eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:750;text-transform:uppercase}
.slv35 .heading h1{font-size:clamp(23px,3vw,35px);font-weight:700;letter-spacing:-.04em;line-height:1.14;margin:8px 0 0}
.slv35 .heading .counter{font-size:12px;color:#bbc9cb;white-space:nowrap}

.slv35 .stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:center;gap:clamp(24px,5vw,72px);padding:10px 0 44px}

.slv35 .artwrap{width:100%;max-width:465px;margin:0 auto}
.slv35 .art{position:relative;background:#f7f0e4;padding:7px;border-radius:20px;box-shadow:0 25px 62px #0005}
.slv35 .art img{display:block;aspect-ratio:1;width:100%;height:auto;object-fit:contain;border-radius:13px;background:#ede8dd}
.slv35 .medallion{position:absolute;top:-13px;left:-12px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#15364a;font-size:18px;font-weight:750;box-shadow:0 8px 20px #0003}
.slv35 .artnote{display:flex;justify-content:space-between;color:#a9bdc5;font-size:11px;margin:16px 4px 0;gap:10px}
.slv35 .artnote span:last-child{color:#e7c689}

.slv35 .interaction{width:100%;max-width:500px}
.slv35 .kicker{display:inline-flex;align-items:center;border:1px solid #e8c48b66;background:#e8c48b13;border-radius:99px;padding:8px 12px;color:#f4d3a1;font-size:11px;font-weight:700;letter-spacing:.05em}
.slv35 .interaction h2{font-size:clamp(28px,3.3vw,42px);letter-spacing:-.05em;line-height:1.13;font-weight:700;margin:18px 0 13px}
.slv35 .intro{font-size:14px;color:#b6c8cf;line-height:1.65;margin:0 0 26px}
.slv35 .guessform{display:grid;gap:10px}
.slv35 input{width:100%;height:54px;border:none;background:#faf6ef;color:#17364a;border-radius:12px;padding:0 16px;font-size:15px}
.slv35 input::placeholder{color:#8d9da2}
.slv35 .primary{min-height:53px;border:0;border-radius:12px;background:var(--gold);color:#183244;font-weight:800;box-shadow:0 8px 18px #0002;transition:background .2s,transform .2s}
.slv35 .primary:hover{background:#f4d69c;transform:translateY(-1px)}
.slv35 .secondary{display:flex;justify-content:space-between;gap:16px;margin-top:19px;font-size:13px}
.slv35 .secondary button{color:#e6c68e;background:transparent;border:0;padding:10px 0}
.slv35 .secondary button:last-child{color:#b4c4c9}
.slv35 .hint{background:#e8c48b16;border-left:2px solid #e8c48b;padding:12px;margin-top:8px;border-radius:5px;color:#f0dab6;font-size:13px}

.slv35 .reveal{background:#faf5ea;color:#163549;border:1px solid #e2d4bd;border-radius:22px;padding:clamp(22px,3vw,36px);box-shadow:0 25px 60px #0004;animation:slvRise .38s ease both}
.slv35 .result-label{display:inline-flex;align-items:center;gap:8px;background:#e2f1e8;color:#23664b;font-size:12px;font-weight:800;border-radius:99px;padding:8px 13px}
.slv35 .result-label.revealed{background:#f7ebd5;color:#895d27}
.slv35 .reveal h2{margin:18px 0 12px;color:#19394d;font-size:clamp(27px,3vw,38px);line-height:1.13;letter-spacing:-.045em;text-wrap:balance}
.slv35 .mini-tag{display:inline-block;border-radius:99px;background:#e8eef0;padding:4px 10px;color:#557282;font-size:11px;font-weight:700;margin-bottom:15px}
.slv35 .detail{padding:15px 0;border-top:1px solid #e3ddd1}
.slv35 .detail strong{display:block;color:#a5783e;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}
.slv35 .detail p{font-size:14px;line-height:1.55;color:#355266;margin:0}
.slv35 .detail.meaning p{font-weight:700;color:#1b3a4d}
.slv35 .tabs{display:flex;gap:5px;background:#ece5d9;padding:4px;border-radius:11px}
.slv35 .tabs button{flex:1;border:0;background:transparent;border-radius:8px;padding:11px 8px;font-weight:700;font-size:12px;color:#72808a}
.slv35 .tabs button[aria-selected=true]{background:#fffaf0;color:#17394b;box-shadow:0 2px 8px #0001}
.slv35 .tabcontent{font-size:13px;line-height:1.55;color:#526b78;padding:13px 2px;min-height:64px}
.slv35 .next{width:100%;margin-top:5px}

.slv35 .stepbar{display:flex;align-items:center;gap:15px;padding-bottom:28px}
.slv35 .stepbar span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#aac0c6}
.slv35 .bar{height:4px;border-radius:99px;background:#3d586b;flex:1;overflow:hidden}
.slv35 .bar i{display:block;height:100%;background:#e8c48b;transition:width .35s}

@keyframes slvRise{from{opacity:0;transform:translateY(14px)}
to{opacity:1;transform:translateY(0)}
}

@media(max-width:800px){.slv35 .wrap{width:calc(100% - 28px);max-width:540px}
.slv35 header{height:61px}
.slv35 .brand{font-size:clamp(14px,3.8vw,17px);gap:9px;max-width:calc(100% - 78px)}
.slv35 .slbdll-brand-icon{width:34px;height:34px;flex-basis:34px}
.slv35 .heading{margin:18px 0 17px}
.slv35 .heading h1{font-size:23px}
.slv35 .stage{grid-template-columns:1fr;gap:21px;padding:0 0 24px}
.slv35 .artwrap{max-width:none}
.slv35 .art{width:min(100%,35svh,280px);margin:auto;padding:5px;border-radius:15px}
.slv35 .art img{border-radius:10px}
.slv35 .medallion{top:-8px;left:-9px;width:32px;height:32px;font-size:14px}
.slv35 .artnote{margin:10px auto 0;max-width:280px}
.slv35 .interaction{max-width:none}
.slv35 .interaction h2{font-size:clamp(26px,7vw,33px);margin:10px 0}
.slv35 .intro{margin-bottom:17px;font-size:13px}
.slv35 .kicker{padding:6px 11px;font-size:10px}
.slv35 input{height:50px}
.slv35 .primary{min-height:51px}
.slv35 .secondary{margin-top:8px}
.slv35 .reveal{padding:20px;border-radius:17px}
.slv35 .reveal h2{font-size:clamp(24px,7vw,30px);margin:13px 0}
.slv35 .detail{padding:12px 0}
.slv35 .tabcontent{min-height:0}
.slv35 .stepbar{padding-bottom:20px}
}

@media(max-width:380px){.slv35 .art{width:min(100%,30svh,240px)}
.slv35 .heading h1{font-size:21px}
.slv35 .stage{gap:15px}
}

@media(prefers-reduced-motion:reduce){.slv35 *{animation:none!important;transition:none!important}
}

/* Production adapters: retained content, accessible tabs and the second question type. */
.slv35 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.slv35 .home-link{border:0;background:transparent;color:inherit;padding:0;text-align:left}
.slv35 .play-area{min-width:0}
.slv35 .image-status{position:absolute;inset:7px;display:grid;place-items:center;background:#f7f0e4;color:#17364a;border-radius:13px}
.slv35 .answer-feedback{margin:10px 0;color:#f4d3a1;font-size:13px;line-height:1.5}
.slv35 .answer-feedback:not([class*="feedback-"]){display:none}
.slv35 .hint p{margin:0;line-height:1.5}
.slv35 .hint p+p{margin-top:8px}
.slv35 .hint span{font-weight:700;margin-right:6px}
.slv35 [data-lesson-group]{display:contents}
.slv35 .tabcontent p{margin:0}
.slv35 .tabcontent h3{font-size:11px;color:#a5783e;margin:10px 0 5px}
.slv35 .tabcontent .tab-detail:first-child h3{display:none}
.slv35 .reward{margin-top:12px;font-size:13px;color:#23664b}
.slv35 .journey{color:#aac0c6;font-size:12px;padding-bottom:20px}
.slv35 .journey summary{cursor:pointer}
.slv35 .expression-prompt-v35{padding:36px;background:#faf5ea;border-radius:20px;color:#19394d}
.slv35 .expression-prompt-v35 p{color:#a5783e;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.slv35 .expression-prompt-v35 blockquote{margin:16px 0;font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.slv35 .choices{display:grid;gap:10px}
.slv35 .choices button{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid #afc0c666;border-radius:12px;background:#ffffff08;color:#f9f4e9;text-align:left;font-size:14px;line-height:1.5}
.slv35 .choice-marker{color:#e8c48b;font-weight:700}
.slv35 .choices [aria-checked=true]{border-color:#e8c48b;background:#e8c48b16}
.slv35 .choices .is-correct{border-color:#91d5af;background:#23664b}
.slv35 .choices .is-incorrect{border-color:#f4b5a9;background:#713c35}
.slv35 button:disabled{cursor:default;opacity:.65}
.slv35 .choices .is-correct:disabled,.slv35 .choices .is-incorrect:disabled{opacity:1}
@media(max-width:800px){
 .slv35 .heading .counter{max-width:38%;white-space:normal;text-align:right;overflow-wrap:anywhere}
 .slv35 input{font-size:16px;scroll-margin-block:20px}
 .slv35 .primary{scroll-margin-block:20px}
 .slv35 .expression-prompt-v35{padding:24px}
}

.slv35 #questionTitle:focus,.slv35 .reveal:focus{outline:none}

/* AA contrast adapters: keep the V35 geometry and warm gold/blue palette. */
.slv35 .detail strong,.slv35 .tabcontent h3,.slv35 .expression-prompt-v35 p{color:#8a602e}
.slv35 .tabs button{color:#55646f}
.slv35 #wordCount{color:#516b7a}

/* V35 visual QA: QCM-only refinements. Image-question geometry stays untouched. */
.slv35.is-meaning-mode .expression-prompt-v35{
  padding:clamp(21px,2.5vw,32px);
  border:7px solid #f7f0e4;
  border-radius:20px;
  background:linear-gradient(150deg,#fcf6e9,#eee4d5);
  box-shadow:0 25px 62px #0005;
}
.slv35.is-meaning-mode .expression-prompt-v35 blockquote{
  margin:10px 0 12px;
  font-size:clamp(24px,2.65vw,34px);
  line-height:1.22;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.slv35.is-meaning-mode .interaction h2{
  font-size:clamp(23px,2.65vw,35px);
  line-height:1.18;
  text-wrap:balance;
}
@media(max-width:800px){
  .slv35.is-meaning-mode .expression-prompt-v35{padding:20px;border-width:5px;border-radius:15px}
  .slv35.is-meaning-mode .expression-prompt-v35 blockquote{font-size:clamp(22px,6.2vw,27px);line-height:1.23}
  .slv35.is-meaning-mode .interaction h2{font-size:clamp(22px,5.75vw,28px);line-height:1.22}
  .slv35.is-meaning-mode .stage{gap:18px}
}
@media(max-width:380px){
  .slv35.is-meaning-mode .expression-prompt-v35{padding:17px}
  .slv35.is-meaning-mode .interaction h2{font-size:22px;letter-spacing:-.045em}
  .slv35.is-meaning-mode .stage{gap:14px}
}
