/* How it works: calmer, more readable layout (2026-09-30). Loaded last. */
#website #subjects{--hc-ink:#1f2a22;--hc-body:#4a5347;--hc-muted:#6b7366;--hc-line:#e6e2d6;--hc-soft:#f6f3ea;--hc-forest:#173f2d;--hc-sage:#eaf1e7;--hc-gold:#d5a14b;--hc-gold-soft:#faf0d9;background:#fff!important}

/* Heading */
#website #subjects .ls-heading{align-items:end!important;gap:16px 64px!important;margin-bottom:24px!important}
#website #subjects .ls-heading h2{margin-top:8px!important}

/* Tabs: one quiet segmented bar */
#website #subjects .ls-tabs{display:flex!important;gap:4px!important;padding:5px!important;margin:0 0 16px!important;border-radius:16px;background:var(--hc-soft);border:1px solid var(--hc-line);overflow-x:auto;scrollbar-width:none}
#website #subjects .ls-tabs::-webkit-scrollbar{display:none}
#website #subjects .ls-tabs button{flex:1 1 0;min-width:max-content;gap:1px!important;padding:8px 14px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:var(--hc-body)!important;font:600 14px/1.25 Inter,system-ui,sans-serif!important;white-space:nowrap;transition:background .2s,color .2s}
#website #subjects .ls-tabs button small{font:600 10px/1.4 Inter,system-ui,sans-serif!important;letter-spacing:.08em!important;color:var(--hc-muted)!important}
#website #subjects .ls-tabs button:hover{background:rgba(255,255,255,.7)!important;color:var(--hc-ink)!important}
#website #subjects .ls-tabs button[aria-selected="true"]{background:#fff!important;color:var(--hc-forest)!important;box-shadow:0 1px 2px rgba(23,63,45,.08),0 4px 14px rgba(23,63,45,.08)!important}
#website #subjects .ls-tabs button[aria-selected="true"] small{color:#2f7a4f!important}

/* Stage */
#website #subjects .ls-layout{gap:20px!important}
#website #subjects .ls-stage{border:1px solid var(--hc-line)!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(23,63,45,.07)!important}
#website #subjects .ls-top{padding:12px 20px!important;border-bottom:1px solid var(--hc-line)!important}
#website #subjects .ls-pane-label{font:600 10px/1 Inter,sans-serif!important;letter-spacing:.14em!important;color:var(--hc-muted)!important}
#website #subjects .ls-board{background-color:#fcfbf7!important;background-image:radial-gradient(#e4e8df 1px,transparent 1.2px)!important;background-size:20px 20px!important;border-right:1px solid var(--hc-line)!important}
#website #subjects .ls-board:not(:has(.lb-lines li)):not(:has(.show)):not(:has(.go))::after{font:500 22px/1.3 'Caveat',cursive!important;color:#9aa293!important}

/* Whiteboard writing: Lumi's handwriting in ink green, notes in clean sans */
#website #subjects .lb-lines{gap:6px!important;margin-top:14px!important}
#website #subjects .lb-lines li{font:500 25px/1.25 'Caveat',cursive!important;color:#233a2c!important}
#website #subjects .lb-lines .lb-big{font-size:34px!important;letter-spacing:0!important}
#website #subjects .lb-lines .lb-key{font-weight:600!important;color:var(--hc-forest)!important}
#website #subjects .lb-lines .lb-note{font:400 14px/1.5 Inter,sans-serif!important;color:var(--hc-body)!important}
#website #subjects .lb-lines .lb-answer{padding:2px 12px!important;border-radius:8px!important;background:var(--hc-gold-soft)!important;color:#5a3f13!important;font-weight:600!important;box-shadow:inset 0 -2px 0 rgba(213,161,75,.45)}
#website #subjects .lb-lines .lb-check{font:600 14px/1.5 Inter,sans-serif!important;color:#2f7a4f!important}
#website #subjects .lb-passage{font:400 16px/1.8 Inter,sans-serif!important}

/* Chat */
#website #subjects .ls-chat{gap:10px!important}
#website #subjects .ls-msg{padding:10px 14px!important;border-radius:14px!important}
#website #subjects .ls-msg p{font-size:14.5px!important;line-height:1.5!important}
#website #subjects .ls-msg.student{border:1px solid var(--hc-line)!important;background:#fff!important}
#website #subjects .ls-msg.lumi{background:var(--hc-sage)!important}
#website #subjects .ls-msg.wrong{border-color:#efc2b3!important;background:#fff8f5!important}
#website #subjects .ls-msg.right{border-color:#bfd9c5!important}

/* Session summary: final card inside the conversation, not on top of it */
#website #subjects .ls-chat .ls-summary{position:static!important;width:auto!important;margin:6px 0 4px!important;padding:14px 16px!important;border-radius:14px!important;background:var(--hc-forest)!important;box-shadow:none!important;animation:lsIn .5s ease both}
#website #subjects .ls-chat .ls-summary-head{margin-bottom:10px!important;font-size:12px!important}
#website #subjects .ls-chat .ls-summary-head strong{font-size:14.5px!important}
#website #subjects .ls-chat .ls-summary dl{grid-template-columns:1fr!important;gap:8px!important}
#website #subjects .ls-chat .ls-summary dl>div{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:baseline}
#website #subjects .ls-chat .ls-summary dt{font-size:9.5px!important}
#website #subjects .ls-chat .ls-summary dd{margin:0!important;font-size:13px!important;line-height:1.45!important;color:#e6efe8}

/* Bottom bar: flat and quiet */
#website #subjects .ls-bottom{padding:10px 20px!important;border-top:1px solid var(--hc-line)!important;background:#fcfbf7}
#website #subjects .ls-controls button{min-height:34px!important;padding:0 16px!important;border:1px solid var(--hc-line)!important;border-radius:99px!important;background:#fff!important;box-shadow:none!important;transform:none!important;font:600 13px Inter,sans-serif!important;color:var(--hc-forest)!important}
#website #subjects .ls-controls button:hover{border-color:var(--hc-forest)!important}
#website #subjects .ls-xp{box-shadow:none!important}

/* Rail: a simple stepper; the active step shows its detail */
#website #subjects .ls-rail{border:1px solid var(--hc-line)!important;border-radius:22px!important;box-shadow:none!important;padding:18px 18px 16px!important;background:#fff}
#website #subjects .ls-rail ol{position:relative;gap:2px!important;margin-bottom:16px!important}
#website #subjects .ls-rail ol::before{content:'';position:absolute;left:18px;top:16px;bottom:16px;width:2px;background:var(--hc-line)}
#website #subjects .ls-rail li{padding:8px 8px 8px 42px!important;border-radius:12px!important;background:transparent!important;transition:background .3s}
#website #subjects .ls-rail li::before{left:8px!important;top:8px!important;width:22px!important;height:22px!important;border:2px solid var(--hc-line)!important;background:#fff!important;font-size:10px!important;z-index:1}
#website #subjects .ls-rail li strong{font:600 14px/1.35 Inter,sans-serif!important;color:var(--hc-body)!important}
#website #subjects .ls-rail li span{display:block!important;max-height:0;overflow:hidden;opacity:0;margin-top:0;font-size:12.5px!important;line-height:1.45!important;color:var(--hc-muted)!important;transition:max-height .35s ease,opacity .35s ease,margin .35s ease}
#website #subjects .ls-rail li.done::before{background:var(--hc-sage)!important;border-color:#bfd9c5!important;color:var(--hc-forest)!important}
#website #subjects .ls-rail li.done strong{color:var(--hc-ink)!important}
#website #subjects .ls-rail li.active{background:var(--hc-gold-soft)!important}
#website #subjects .ls-rail li.active::before{background:var(--hc-gold)!important;border-color:var(--hc-gold)!important;color:#fff!important}
#website #subjects .ls-rail li.active strong{color:var(--hc-ink)!important}
#website #subjects .ls-rail li.active span,#website #subjects .ls-rail li:hover span{max-height:60px;opacity:1;margin-top:2px}
#website #subjects .ls-rail .button{min-height:46px!important}
#website #subjects .ls-note{margin-top:14px!important;font-size:12.5px!important;color:var(--hc-muted)!important}

/* Phones: tabs scroll in one line */
@media(max-width:760px){
  #website #subjects .ls-tabs{display:flex!important;flex-wrap:nowrap!important;margin-inline:-4px!important}
  #website #subjects .ls-tabs button{flex:0 0 auto;padding:8px 12px!important;font-size:13px!important}
  #website #subjects .ls-chat .ls-summary dl>div{grid-template-columns:1fr;gap:2px}
  #website #subjects .lb-lines li{font-size:22px!important}
  #website #subjects .lb-lines .lb-big{font-size:28px!important}
}
@media(prefers-reduced-motion:reduce){#website #subjects .ls-rail li span{transition:none}}
/* Fit the whole demo on one laptop screen */
#website #subjects .ls-heading p.ls-hand{font-size:clamp(20px,1.65vw,25px)!important;line-height:1.28!important;max-width:40ch}
@media(min-width:1024px){
  #website #subjects{padding-top:clamp(16px,2.5vh,32px)!important}
  #website #subjects .ls-heading{margin-bottom:16px!important}
  #website #subjects .ls-tabs{margin-bottom:12px!important}
  #website #subjects .ls-tabs button{padding:6px 12px!important}
  #website #subjects .ls-chat{height:clamp(220px,calc(100svh - 470px),400px)!important}
}
@media(max-width:760px){#website #subjects .ls-tabs{margin-inline:0!important}}
@media(max-width:760px){#website #subjects .ls-tabs{overflow-x:auto!important;max-width:100%}}
