:root{--ink:#153f37;--cream:#fbf6ea;--paper:#fffdf8;--gold:#eca94c;--coral:#f05d47;--mint:#d6eee1;--soft:#f7ecd7;--muted:#66807a;--line:#e4dccf;--shadow:none;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--dev:"Noto Serif Devanagari",serif}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--cream);color:var(--ink);font:14px var(--sans)}button,a{font:inherit}.lounge-header{height:82px;width:min(1460px,calc(100% - 34px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.lounge-brand{display:flex;align-items:center;gap:18px}.lounge-brand>a{color:#2c1230;text-decoration:none;font:500 17px var(--mono);letter-spacing:-.08em}.lounge-brand>a span{font-size:8px}.lounge-brand>a i{color:var(--coral);font-style:normal}.lounge-brand>div{padding-left:18px;border-left:1px solid var(--line)}.lounge-brand h1{margin:0;font:500 21px var(--mono);letter-spacing:-.06em}.lounge-brand h1 span{color:var(--gold)}.lounge-brand p{margin:3px 0 0;color:var(--muted);font:500 8px var(--mono);letter-spacing:.04em}.mode-switch,.level-switch{display:flex;padding:3px;background:#ebe7dc;border-radius:24px}.mode-switch button,.level-switch button{border:0;border-radius:20px;background:transparent;color:var(--muted);padding:8px 21px;font-size:11px;font-weight:700;cursor:pointer}.mode-switch button.active,.level-switch button.active{background:var(--ink);color:#fff;box-shadow:0 4px 12px rgba(21,63,55,.15)}.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:15px}.level-switch button{padding:7px 10px;font-size:9px}.back-link{color:var(--ink);font-size:10px;font-weight:700;text-decoration:none;border-bottom:1px solid}.lounge-main{height:calc(100dvh - 82px);width:min(1460px,calc(100% - 34px));margin:auto;padding:14px 0 18px}.workspace{position:relative;height:100%;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(280px,1.05fr) minmax(300px,1.1fr) minmax(215px,.78fr);gap:10px;min-height:0}.panel{position:relative;z-index:1;min-width:0;min-height:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.panel-heading{height:56px;padding:10px 13px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.65)}.panel-heading>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--ink);color:white;font:500 8px var(--mono)}.panel-heading b{display:block;font:500 12px var(--mono)}.panel-heading small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.topic-panel{display:flex;flex-direction:column}.topic-list{flex:1;min-height:0;overflow-y:auto;padding:7px;scrollbar-color:var(--gold) transparent;scrollbar-width:thin}.topic-button{width:100%;display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 8px;text-align:left;color:var(--ink);cursor:pointer}.topic-button i{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:var(--soft);color:var(--coral);font:500 9px var(--mono);font-style:normal}.topic-button b{display:block;font-size:10px}.topic-button small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.topic-button.active{background:var(--mint);border-radius:8px;border-bottom-color:transparent}.topic-button.active i{background:var(--ink);color:#fff}.expression-panel{display:flex;flex-direction:column;border-top:3px solid var(--gold)}.lesson-intro{padding:14px 16px 9px}.lesson-intro>span{color:var(--coral);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.lesson-intro h2{margin:4px 0 6px;font:500 clamp(21px,2.1vw,31px)/1.05 var(--mono);letter-spacing:-.06em}.lesson-intro p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.expression-list{list-style:none;counter-reset:lines;padding:0 15px 12px;margin:0;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.expression-list li{counter-increment:lines;position:relative;padding:12px 8px 12px 37px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45}.expression-list li:before{content:counter(lines,decimal-leading-zero);position:absolute;left:2px;top:13px;color:var(--gold);font:500 8px var(--mono)}.english-list{flex:1}.english-list mark{padding:1px 3px;background:#ffe9a9;color:inherit;border-radius:3px}.hindi-panel{background:#fffaf2}.hindi-list{flex:1;padding-top:10px}.hindi-list li{font:600 clamp(16px,1.6vw,21px)/1.55 var(--dev)}.lesson-tools{flex:0 0 auto;padding:10px;border-top:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:1fr auto;gap:8px}.audio-placeholder{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:9px}.audio-placeholder button{flex:0 0 28px;height:28px;border:0;border-radius:50%;background:var(--coral);color:#fff;cursor:pointer}.audio-placeholder>div{flex:1;min-width:0}.audio-placeholder b,.audio-placeholder small{display:block;font-size:7px}.audio-placeholder span{display:block;height:3px;margin:4px 0;background:#e7ded0;border-radius:2px}.audio-placeholder span i{display:block;width:18%;height:100%;background:var(--gold)}.audio-placeholder small{color:var(--muted)}.pdf-button{align-self:stretch;display:grid;place-items:center;padding:0 12px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-size:9px;font-weight:700}.support-panel{display:flex;flex-direction:column;padding:16px;background:var(--mint);border-color:#bad7c8}.support-panel:after{content:"";position:absolute;z-index:3;inset:0;background:rgba(126,130,128,.58);backdrop-filter:grayscale(.78) saturate(.45);pointer-events:none;opacity:1;transition:opacity .34s ease}.support-panel:hover:after,.support-panel:focus-within:after{opacity:0}.support-copy>span{color:var(--coral);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.support-copy h2{margin:8px 0 10px;font:500 clamp(24px,2.4vw,35px)/1 var(--mono);letter-spacing:-.07em}.support-copy h2 em{color:var(--coral);font-family:"Playfair Display",serif;font-weight:500}.support-copy p{margin:0;color:#47665f;font-size:10px;line-height:1.55}.support-panel img{display:block;width:100%;min-height:0;flex:1;margin:12px 0 8px;border-radius:10px;object-fit:contain;background:#fff}.scan-note{margin:0;text-align:center;font:600 9px var(--mono)}.scan-note span{display:block;margin-top:3px;color:var(--muted);font:500 7px var(--sans)}.lesson-connectors{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.lesson-connectors path{fill:none;stroke:rgba(236,169,76,.72);stroke-width:1.25;stroke-dasharray:2.5 3}.lesson-connectors circle{fill:var(--gold);stroke:var(--paper);stroke-width:2}.flash-workspace{grid-template-columns:minmax(190px,.72fr) minmax(580px,2.15fr) minmax(215px,.78fr)}.flashcard-stage{display:flex;flex-direction:column;border-top:3px solid var(--gold)}.flash-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px;padding:12px}.flash-card{min-height:150px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}.flash-icon{width:67px;height:67px;display:grid;place-items:center;border:2px dashed #d9cdbd;border-radius:18px;background:var(--soft);color:var(--muted);font:500 8px var(--mono)}.flash-card b{margin-top:8px;font-size:11px}.flash-card strong{margin-top:3px;font:600 18px var(--dev);color:var(--coral)}.flash-card small{color:var(--muted);font-size:7px}.lounge-toast{position:fixed;z-index:10;left:50%;bottom:20px;transform:translate(-50%,20px);padding:9px 14px;border-radius:20px;background:var(--ink);color:#fff;font-size:10px;opacity:0;pointer-events:none;transition:.2s}.lounge-toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:1050px){.lounge-header{grid-template-columns:1fr auto}.mode-switch{grid-row:2;grid-column:1/-1;position:absolute;left:50%;transform:translateX(-50%)}.lounge-brand>div{display:none}.header-actions{gap:8px}.workspace{grid-template-columns:165px 1fr 1fr 200px}.support-panel{padding:10px}.support-copy h2{font-size:24px}.flash-workspace{grid-template-columns:170px 1fr 200px}.flash-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.lounge-header{height:98px;width:calc(100% - 20px);grid-template-columns:1fr auto;align-content:center}.lounge-brand>a{font-size:18px}.mode-switch{top:57px}.mode-switch button{padding:6px 22px}.header-actions{align-self:start}.level-switch{position:absolute;top:11px;left:50%;transform:translateX(-50%)}.back-link{font-size:9px}.lounge-main{height:calc(100dvh - 98px);width:100%;padding:8px 10px 10px}.workspace,.flash-workspace{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}.workspace>.panel{flex:0 0 calc(100vw - 26px);scroll-snap-align:center}.topic-panel .topic-list{display:grid;grid-template-columns:1fr 1fr;align-content:start}.flash-grid{grid-template-columns:repeat(2,1fr)}.support-panel img{max-height:330px}.lesson-tools{grid-template-columns:1fr auto}.lesson-connectors{display:none}.support-panel:after{background:rgba(126,130,128,.42)}.support-panel:active:after{opacity:0}}
@media(max-height:680px) and (min-width:761px){.lounge-header{height:66px}.lounge-main{height:calc(100dvh - 66px);padding-block:8px}.panel-heading{height:48px;padding:7px 10px}.support-copy h2{font-size:23px;margin-block:5px}.support-panel img{margin-block:6px}.lesson-intro{padding:8px 13px 5px}.lesson-intro h2{font-size:22px}.expression-list li{padding-block:8px}.hindi-list li{font-size:16px}.lesson-tools{padding:6px}}

/* Refined lesson readability and a lighter, quieter support prompt. */
.lesson-intro{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px 9px;
}
.lesson-intro>span,
.lesson-intro h2,
.lesson-intro p{
  margin:0;
  font:500 9px/1.45 var(--mono);
  letter-spacing:.02em;
}
.lesson-intro>span{
  letter-spacing:.08em;
}
.lesson-intro h2:before,
.lesson-intro p:before{
  content:"·";
  margin-right:9px;
  color:var(--gold);
}
.lesson-intro-mirror{
  visibility:hidden;
  pointer-events:none;
}
.hindi-heading>div:nth-child(2){min-width:0}
.script-toggle{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  padding:3px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--cream);
  white-space:nowrap;
}
.script-toggle button{
  border:0;
  border-radius:12px;
  padding:4px 6px;
  background:transparent;
  color:var(--muted);
  font:500 7.5px var(--mono);
  cursor:pointer;
}
.script-toggle button.active{
  background:var(--ink);
  color:#fff;
}
.script-toggle i{
  color:var(--line);
  font-style:normal;
}
.hindi-list.roman li{
  font:500 14.5px/1.5 var(--sans);
  letter-spacing:.01em;
}
.topic-button small em{
  margin:0 3px;
  color:var(--gold);
  font-style:normal;
}
.video-embed{
  min-width:0;
}
.video-embed p{
  margin:0 0 4px;
  color:var(--muted);
  font:500 7px/1.25 var(--mono);
}
.video-embed iframe{
  display:block;
  width:100%;
  height:clamp(180px,16vw,220px);
  border:0;
  border-radius:8px;
  background:#161616;
  touch-action:manipulation;
}
.video-embed a{
  display:block;
  margin-top:4px;
  color:var(--muted);
  text-align:right;
  text-decoration:none;
  font:500 7px var(--mono);
}
.video-embed a:hover{
  color:var(--coral);
}
.lesson-actions{
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-content:stretch;
  gap:6px;
  width:42px;
  min-width:42px;
  padding-top:13px;
}
.lesson-actions a{
  display:grid;
  place-items:center;
  width:42px;
  height:auto;
  min-height:0;
  padding:0;
  border-radius:8px;
  text-align:center;
  text-decoration:none;
  font-size:18px;
  font-weight:700;
}
.lesson-action-icon{display:block;width:22px;height:22px;object-fit:contain}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.youtube-button{
  border:1px solid var(--line);
  background:#efede7;
  color:var(--muted);
}
.lesson-actions .pdf-button,
.lesson-actions .youtube-button{
  border:1px solid rgba(240,93,71,.3);
  background:rgba(240,93,71,.1);
  color:var(--coral);
}
.lesson-actions .pdf-button:hover,
.lesson-actions .youtube-button:hover{
  border-color:rgba(240,93,71,.55);
  background:rgba(240,93,71,.17);
  color:var(--coral);
}
.english-list,
.hindi-list{
  padding-top:0;
}
.expression-list li{
  font-size:14.5px;
  line-height:1.5;
}
.hindi-list li{
  font-size:clamp(18px,1.7vw,23px);
}
.support-panel:after{
  background:linear-gradient(135deg,rgba(118,124,122,.06),rgba(150,154,152,.03));
  backdrop-filter:grayscale(.08) saturate(.96);
  box-shadow:none;
}
@media(max-width:760px){
  .support-panel:after{
    background:linear-gradient(135deg,rgba(118,124,122,.05),rgba(150,154,152,.025));
    backdrop-filter:grayscale(.06) saturate(.97);
  }
}
@media(max-height:680px) and (min-width:761px){
  .lesson-intro>span,
  .lesson-intro h2,
  .lesson-intro p{font-size:8px}
  .hindi-list li{font-size:17px}
  .video-embed iframe{height:150px}
}

/* Personal phrase-pack conversion offer */
.conversion-copy{display:flex;flex:1;flex-direction:column;min-height:0}
.conversion-copy>span{font-size:10px}
.conversion-copy h2{font-size:clamp(27px,2.25vw,35px);margin-bottom:11px}
.conversion-context{font-size:13px;line-height:1.48}
.offer-list{display:grid;gap:7px;margin:14px 0 13px;padding:0;list-style:none;color:#294f47;font-size:12px;line-height:1.35}
.offer-list li{position:relative;padding-left:15px}
.offer-list li:before{content:"✓";position:absolute;left:0;color:var(--coral);font-weight:700}
.offer-price{display:flex;align-items:end;gap:8px;margin-top:0;padding-top:3px}
.offer-price strong{font:500 32px/1 var(--mono);letter-spacing:-.08em}
.offer-price span{padding-bottom:3px;color:var(--muted);font-size:10px;line-height:1.25}
.offer-button{display:block;margin-top:10px;padding:12px 10px;border-radius:8px;background:var(--ink);color:#fff;text-align:center;text-decoration:none;font-size:12px;font-weight:700}
.offer-button:hover{background:#0e302a}
.conversion-copy .offer-author{margin:9px 2px 0;color:#58716b;text-align:center;font:500 9px/1.45 var(--mono)}
.support-secondary{position:relative;z-index:4;flex:0 0 auto;margin-top:12px}
.support-secondary summary{display:block;padding:11px 12px;border:1px solid rgba(21,63,55,.2);border-radius:9px;background:rgba(255,255,255,.5);cursor:pointer;color:var(--ink);font-size:11px;font-weight:700;text-align:left;list-style:none}
.support-secondary summary::-webkit-details-marker{display:none}
.support-secondary summary:after{content:" +";position:absolute;right:11px;top:16px;color:var(--coral);font-size:16px}
.support-secondary[open] summary:after{content:" −"}
.support-open-label{display:block;padding-right:18px}
.support-open-label strong{display:block;font:600 11px/1.3 var(--mono)}
.support-open-label small{display:block;margin-top:4px;color:#58716b;font:500 9px/1.35 var(--sans)}
.support-close-label{display:none}
.support-secondary[open]{position:absolute;z-index:5;inset:0;margin:0;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:var(--mint)}
.support-secondary[open] .support-open-label{display:none}
.support-secondary[open] .support-close-label{display:inline}
.support-secondary[open] summary{position:absolute;right:12px;top:11px;padding:6px 9px;border:1px solid rgba(21,63,55,.2);border-radius:15px;background:rgba(255,255,255,.55)}
.support-secondary>div{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:8px;margin-top:8px}
.support-secondary[open]>div{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:0}
.support-qr-crop{position:relative;width:min(100%,230px);aspect-ratio:1;overflow:hidden;background:#fff}
.support-qr-crop img{position:absolute;left:50%;top:50%;width:160%;height:auto;min-height:0;max-width:none;margin:0;border-radius:0;transform:translate(-50%,-64%)}
.support-secondary p{margin:0;color:var(--ink);font:600 7px/1.35 var(--mono)}
.support-secondary[open] p{text-align:center;font-size:9px}
.support-secondary p span{display:block;margin-top:3px;color:var(--muted);font:500 7px var(--sans)}
.support-qr-message{max-width:235px;text-align:center}
.support-qr-message strong{display:block;color:var(--ink);font:500 12px/1.3 var(--mono)}
.support-qr-message p{margin:6px 0 8px;color:#47665f;font:500 9px/1.45 var(--sans)}
.support-qr-message small{display:block;color:var(--ink);font:600 8px/1.35 var(--mono)}
.support-qr-message small span{display:block;margin-top:3px;color:var(--muted);font:500 7px var(--sans)}
.support-qr-message .payment-note{margin-top:9px;padding-top:8px;border-top:1px solid rgba(21,63,55,.16);color:#58716b;font:500 8px/1.4 var(--sans)}
.support-qr-message .payment-note b{color:var(--ink)}
@media(max-height:680px) and (min-width:761px){
  .conversion-context{font-size:11px}
  .offer-list{gap:3px;margin:7px 0;font-size:10px}
  .offer-price strong{font-size:25px}
  .offer-price span{font-size:8px}
  .offer-button{margin-top:6px;padding:9px;font-size:10px}
  .conversion-copy .offer-author{margin-top:5px;font-size:8px}
  .support-secondary{margin-top:7px}
  .support-secondary summary{padding:8px 9px}
  .support-open-label strong{font-size:9px}
  .support-open-label small{font-size:8px}
}
@media(max-width:760px){
  .conversion-copy{padding-top:2px}
  .offer-list{font-size:11px;gap:8px}
  .conversion-context{font-size:12px}
  .offer-button{font-size:11px;padding:13px}
}

/* Keep inactive workspaces out of layout even though .workspace sets display. */
.workspace[hidden]{
  display:none !important;
}

/* Approved concept-card mythbusters */
.gallery-active .level-switch{
  visibility:hidden;
  pointer-events:none;
}
.gallery-workspace{
  grid-template-columns:minmax(180px,.68fr) minmax(300px,1.02fr) minmax(460px,1.72fr) minmax(215px,.76fr);
}
.gallery-stage,
.gallery-preview-panel{
  display:flex;
  flex-direction:column;
  border-top:3px solid var(--gold);
}
.topic-button:disabled{
  cursor:not-allowed;
  opacity:.48;
}
.topic-button:disabled i{
  filter:grayscale(1);
}
.gallery-grid{
  flex:1;
  min-height:0;
  overflow-y:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(88px,1fr));
  align-content:start;
  gap:9px;
  padding:10px;
  background:#f3f3f1;
  scrollbar-color:var(--gold) transparent;
  scrollbar-width:thin;
}
.gallery-preview{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:12px;
  background:#fffaf2;
}
.gallery-preview img{
  display:block;
  width:100%;
  min-height:0;
  flex:1;
  object-fit:contain;
  background:#fff;
}
.gallery-preview figcaption{
  width:100%;
  padding:8px 2px 2px;
}
.gallery-preview figcaption span{
  display:block;
  color:var(--coral);
  font:500 7px var(--mono);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.gallery-preview figcaption strong{
  display:block;
  margin-top:3px;
  font-size:10px;
  line-height:1.35;
}
.gallery-actions{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:7px;
  padding:9px;
  border-top:1px solid var(--line);
}
.gallery-actions button,
.gallery-actions a{
  min-height:33px;
  display:grid;
  place-items:center;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
  font:600 8px var(--mono);
  cursor:pointer;
}
.gallery-actions #gallery-open-original{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}
.gallery-actions button:disabled{
  cursor:not-allowed;
  opacity:.45;
}
.gallery-lightbox{
  --gallery-zoom:1;
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:rgba(12,14,13,.97);
  color:#fff;
  box-shadow:none;
}
.gallery-lightbox::backdrop{
  background:rgba(5,7,6,.98);
}
.gallery-lightbox[open]{
  display:block;
}
.gallery-lightbox-bar{
  position:absolute;
  z-index:3;
  top:18px;
  right:18px;
  left:18px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  pointer-events:none;
}
.gallery-lightbox-meta{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.gallery-lightbox-actions{
  display:flex;
  gap:10px;
  pointer-events:auto;
}
.gallery-lightbox-actions button{
  display:grid;
  place-items:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:#fff;
  color:#151817;
  font:400 25px/1 var(--sans);
  box-shadow:0 5px 20px rgba(0,0,0,.24);
  cursor:pointer;
}
.gallery-lightbox-actions button{
  font-size:31px;
  font-weight:300;
  line-height:1;
}
.gallery-lightbox-image{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:78px 24px 92px;
}
.gallery-lightbox-image img{
  display:block;
  width:auto;
  height:auto;
  max-width:calc(100vw - 48px);
  max-height:calc(100dvh - 170px);
  object-fit:contain;
  transform:scale(var(--gallery-zoom));
  transform-origin:center;
  transition:transform .18s ease;
  box-shadow:0 12px 45px rgba(0,0,0,.35);
}
.gallery-lightbox-zoom{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:22px;
  display:grid;
  grid-template-columns:48px 70px 48px;
  align-items:center;
  padding:5px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:31px;
  background:#fff;
  color:#161918;
  box-shadow:0 7px 24px rgba(0,0,0,.3);
}
.gallery-lightbox-zoom button{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#ececea;
  color:#161918;
  font:400 27px/1 var(--sans);
  cursor:pointer;
}
.gallery-lightbox-zoom button:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.gallery-lightbox-zoom output{
  text-align:center;
  font:500 13px/1 var(--mono);
}
@media(max-width:1050px){
  .mode-switch button{padding-inline:15px}
  .gallery-workspace{grid-template-columns:150px minmax(235px,.9fr) minmax(360px,1.5fr) 180px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}
}
@media(max-width:760px){
  .mode-switch button{padding:6px 14px;font-size:10px}
  .gallery-workspace{display:flex}
  .gallery-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .gallery-preview{padding:9px}
  .gallery-lightbox{
    width:100vw;
    height:100dvh;
  }
  .gallery-lightbox-bar{top:12px;right:12px;left:12px}
  .gallery-lightbox-actions{gap:8px}
  .gallery-lightbox-actions button{flex-basis:44px;width:44px;height:44px}
  .gallery-lightbox-image{padding:64px 12px 84px}
  .gallery-lightbox-image img{
    max-width:calc(100vw - 24px);
    max-height:calc(100dvh - 148px);
  }
  .gallery-lightbox-zoom{
    bottom:max(12px,env(safe-area-inset-bottom));
    grid-template-columns:44px 62px 44px;
  }
  .gallery-lightbox-zoom button{width:44px;height:44px}
}

@media(max-height:680px) and (min-width:761px){
  .gallery-grid{padding:8px;gap:7px}
  .gallery-actions{padding:6px}
}

/* Theme-only Hindi flashcards */
.flashcards-active .level-switch{
  visibility:hidden;
  pointer-events:none;
}
.flash-workspace{
  grid-template-columns:minmax(180px,.72fr) minmax(250px,1.02fr) minmax(290px,1.08fr) minmax(215px,.78fr);
}
.flashcard-stage,
.flash-detail-panel{
  display:flex;
  flex-direction:column;
  border-top:3px solid var(--gold);
}
.flash-grid{
  flex:1;
  min-height:0;
  overflow-y:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(88px,1fr));
  align-content:start;
  gap:9px;
  padding:10px;
  background:#f3f3f1;
  scrollbar-width:thin;
  scrollbar-color:var(--gold) transparent;
}
.flash-card{
  appearance:none;
  min-height:184px;
  border:0;
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:9px 9px 8px;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
  box-shadow:0 1px 3px rgba(21,63,55,.05);
}
.flash-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(21,63,55,.12);
}
.flash-card.active{
  background:#fff;
  box-shadow:inset 0 0 0 2px var(--gold),0 9px 20px rgba(21,63,55,.10);
}
.flash-icon{
  width:100%;
  height:76px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:4px;
  background:#fff;
  overflow:hidden;
}
.flash-icon img{
  width:72px;
  height:72px;
  object-fit:contain;
}
.flash-icon span{
  font-size:49px;
  line-height:1;
}
.flash-card b{
  margin-top:5px;
  font:600 12px/1.2 var(--sans);
}
.flash-card small{
  display:block;
  min-height:23px;
  margin-top:2px;
  color:#536b65;
  font:400 8.5px/1.25 var(--sans);
}
.flash-card-plus{
  display:grid;
  place-items:center;
  flex:none;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  max-width:32px;
  max-height:32px;
  aspect-ratio:1;
  padding:0;
  margin-top:auto;
  border-radius:999px;
  background:#f0f0ef;
  color:#202423;
  font:300 22px/1 var(--sans);
  transition:background .16s ease,color .16s ease;
}
.flash-card:hover .flash-card-plus,
.flash-card.active .flash-card-plus{
  background:var(--ink);
  color:#fff;
}
.flash-detail{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:13px;
  overflow-y:auto;
}
.flash-study-card{
  flex:0 0 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(82px,.68fr) minmax(0,1.32fr);
  grid-template-rows:auto auto min-content;
  align-content:start;
  gap:8px;
  padding:10px;
  border:1px solid #d5c6ae;
  border-radius:0;
  background:#fffdf8;
  box-shadow:0 12px 26px rgba(21,63,55,.12),0 2px 6px rgba(21,63,55,.06);
}
.flash-download-button{
  flex:0 0 42px;
  width:100%;
  margin-top:auto;
  border:0;
  border-radius:11px;
  background:var(--ink);
  color:#fff;
  font:600 10px var(--mono);
  cursor:pointer;
  box-shadow:0 7px 16px rgba(21,63,55,.16);
}
.flash-download-button:hover{
  background:#20564b;
}
.flash-detail-visual{
  position:relative;
  grid-column:1;
  grid-row:1;
  align-self:stretch;
  width:100%;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.flash-detail-visual img{
  width:84%;
  height:84%;
  object-fit:contain;
}
.flash-detail-visual span{
  font-size:72px;
  line-height:1;
}
.flash-word-pair{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0;
  text-align:center;
}
.flash-word-pair>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:2px;
  border:0;
  border-radius:0;
  background:transparent;
}
.flash-word-pair small,
.flash-example>span{
  display:block;
  color:var(--coral);
  font:500 8px/1.3 var(--mono);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.flash-word-pair h2{
  margin:4px 0 0;
  font:500 clamp(17px,1.55vw,23px)/1.08 var(--mono);
  letter-spacing:-.04em;
}
.flash-word-pair h3{
  margin:2px 0 0;
  font:650 clamp(22px,1.9vw,29px)/1.18 var(--dev);
}
.flash-word-pair p{
  margin:2px 0 0;
  color:var(--muted);
  font:500 10px/1.35 var(--sans);
}
.flash-example{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 76px;
  column-gap:14px;
  align-items:center;
  grid-column:1/-1;
  grid-row:2;
  margin:0;
  padding:5px 2px 1px;
  border:0;
  border-radius:0;
  background:transparent;
}
.flash-example-speak{
  position:static;
  grid-column:2;
  grid-row:1/5;
  justify-self:center;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  padding:0;
  border:2px solid var(--gold);
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 4px 10px rgba(21,63,55,.11);
  font-size:29px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.flash-example-speak:hover{
  transform:scale(1.06);
  background:var(--soft);
}
.flash-example-speak.is-speaking{
  border-color:var(--coral);
  background:var(--coral);
  color:#fff;
}
.flash-example p{
  grid-column:1;
  margin:4px 0 0;
}
.flash-example>span{
  grid-column:1;
}
.flash-example p[lang="hi"]{
  font:600 clamp(18px,1.65vw,23px)/1.38 var(--dev);
}
.flash-example #flash-example-roman{
  color:#58716b;
  font:500 11px/1.45 var(--sans);
}
.flash-example .flash-example-translation{
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid var(--line);
  color:#6f827d;
  font:500 10px/1.45 var(--sans);
}
.flash-example .flash-example-translation:before{
  content:"EN · ";
  color:var(--coral);
  font:500 8px var(--mono);
}
.visual-credit{
  align-self:flex-end;
  margin:-5px 2px 0 0;
  color:var(--muted);
  text-align:right;
  text-decoration:none;
  font:500 7px var(--mono);
}
.visual-credit:hover{color:var(--coral)}
@media(max-width:1050px) and (min-width:761px){
  .flash-workspace{grid-template-columns:165px minmax(220px,1fr) minmax(250px,1fr) 190px}
  .flash-grid{grid-template-columns:repeat(2,minmax(92px,1fr))}
  .flash-study-card{grid-template-columns:92px minmax(0,1fr);gap:8px;padding:9px}
}
@media(max-width:760px){
  .flash-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .flash-detail{padding:17px}
  .flash-study-card{grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr)}
}
@media(max-height:680px) and (min-width:761px){
  .flash-card{min-height:146px;padding:7px}
  .flash-icon{width:100%;height:58px}
  .flash-icon img{width:54px;height:54px}
  .flash-icon span{font-size:38px}
  .flash-card-plus{width:27px;height:27px;min-width:27px;min-height:27px;max-width:27px;max-height:27px;font-size:19px}
  .flash-detail{gap:7px;padding:8px}
  .flash-study-card{grid-template-columns:82px minmax(0,1fr);gap:7px;padding:8px;border-radius:0}
  .flash-download-button{flex-basis:34px}
  .flash-detail-visual{border-radius:13px}
  .flash-example{margin-top:7px;padding:9px}
  .flash-example p[lang="hi"]{font-size:17px}
}

/* Mobile cue for the horizontally arranged learning panels. */
.mobile-panel-prev,.mobile-panel-next{display:none}
@media(max-width:760px){
  .mobile-panel-prev{position:fixed;z-index:30;left:10px;bottom:22px;width:39px;height:39px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;background:rgba(255,253,248,.94);color:var(--coral);box-shadow:0 4px 12px rgba(21,63,55,.12);cursor:pointer;backdrop-filter:blur(5px)}
  .mobile-panel-prev b{font-size:16px;line-height:1}
  .mobile-panel-next{position:fixed;z-index:30;right:10px;bottom:22px;display:flex;align-items:center;gap:6px;max-width:175px;padding:8px 9px 8px 11px;border:2px solid var(--gold);border-radius:20px;background:rgba(255,253,248,.94);color:#496760;box-shadow:0 4px 12px rgba(21,63,55,.12);font:600 9px/1.2 var(--mono);cursor:pointer;backdrop-filter:blur(5px)}
  .mobile-panel-next b{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;background:var(--soft);color:var(--coral);font-size:14px}
  .mobile-panel-prev[hidden],.mobile-panel-next[hidden]{display:none}
}

/* Free, browser-native pronunciation controls for each parallel expression. */
.expression-list li{
  padding-right:45px;
}
.expression-text{
  display:block;
}
.expression-speak{
  position:absolute;
  top:50%;
  right:7px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  transform:translateY(-50%);
  border:1px solid var(--gold);
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 2px 5px rgba(21,63,55,.1);
  font:600 9px/1 var(--mono);
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.expression-speak:hover{
  background:var(--soft);
  transform:translateY(-50%) scale(1.05);
}
.expression-speak.is-speaking{
  border-color:var(--coral);
  background:var(--coral);
  color:#fff;
}
.hindi-list .expression-speak{
  font-family:var(--mono);
}
@media(max-width:760px){
  .expression-list li{padding-right:50px}
  .expression-speak{right:8px;width:34px;height:34px;font-size:10px}
}

/* Give a little more room to the offer column without compressing column three. */
@media(min-width:1270px){
  #lesson-workspace,
  .flash-workspace,
  .gallery-workspace{
    grid-template-columns:200px minmax(0,.84fr) minmax(0,1.08fr) 250px;
  }
}
@media(min-width:761px) and (max-width:1269px){
  #lesson-workspace,
  .flash-workspace,
  .gallery-workspace{
    grid-template-columns:165px minmax(0,.84fr) minmax(0,1.08fr) 220px;
  }
}
