.ss-hero{background:var(--navy-deep);padding:clamp(5rem,10vw,8rem) 0 4rem;color:var(--fog)}.ss-hero .wrap{display:grid;grid-template-columns:1.4fr .7fr;gap:4rem;align-items:center}.ss-hero h1{font-size:clamp(3rem,7vw,5.5rem);margin:.3rem 0 1rem}.ss-principle{border:1px solid var(--line-on-dark);padding:2rem;border-top:3px solid var(--teal);display:flex;flex-direction:column;gap:.6rem}.ss-principle strong{font-family:var(--font-display);font-size:1.55rem}.ss-principle span{color:var(--fog-dim)}
.ss-how{background:#f5f2e9}.ss-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.ss-cards article{border-top:3px solid var(--teal);background:white;padding:1.5rem}.ss-cards b{font-family:var(--font-mono);color:var(--teal)}.ss-cards h3{margin:.4rem 0}.ss-guide{margin-top:2rem;padding:1.5rem 1.7rem;background:var(--navy);color:var(--fog);display:flex;align-items:center;justify-content:space-between;gap:2rem}.ss-guide h3,.ss-guide p{margin:.2rem 0}.ss-guide p{color:var(--fog-dim)}
.ss-builder-section{background:var(--paper)}.ss-builder-section>.wrap{max-width:920px}.ss-builder-head{display:flex;justify-content:space-between;gap:2rem;align-items:start}.ss-builder-head h2{margin:.2rem 0 1rem}.ss-reset{border:0;background:none;text-decoration:underline;color:var(--ink-soft);cursor:pointer;padding:.5rem}.ss-progress{height:6px;background:#d4d0c3;margin:1rem 0 .4rem}.ss-progress>div{height:100%;width:14.285%;background:var(--teal);transition:width .25s}.ss-progress-text{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-soft);margin-bottom:2rem}.ss-stage{background:#fff;padding:clamp(1.25rem,4vw,2.4rem);border:1px solid var(--paper-line)}.ss-field{margin-bottom:1.3rem}.ss-field label,fieldset legend{display:block;font-weight:700;margin-bottom:.45rem}.ss-field label span{color:#a33}.ss-field input,.ss-field textarea,.ss-resource input,.ss-resource select{width:100%;border:1px solid #aaa69a;background:#fff;padding:.8rem;font:inherit;color:var(--ink)}.ss-field input:focus,.ss-field textarea:focus,.ss-resource input:focus,.ss-resource select:focus{outline:3px solid rgba(1,118,160,.2);border-color:var(--teal)}.ss-field small,.ss-choice small,.ss-resource-help{display:block;color:var(--ink-soft);margin-top:.3rem}.ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}fieldset{border:0;padding:0;margin:0 0 1.5rem}.ss-choice{display:flex;gap:.8rem;border:1px solid var(--paper-line);padding:1rem;margin:.7rem 0;cursor:pointer}.ss-choice:has(input:checked){border-color:var(--teal);box-shadow:inset 4px 0 var(--teal)}.ss-choice input{margin-top:.3rem}.ss-choice span{display:block}.ss-choice.compact{padding:.8rem 1rem}.ss-toggle{display:flex;gap:.7rem;align-items:start}.ss-info{background:#eaf4f7;border-left:4px solid var(--teal);padding:1rem 1.2rem;margin-bottom:1.5rem}.ss-info p{margin:.5rem 0}.ss-resource{border:1px solid var(--paper-line);padding:1.2rem;margin:1rem 0;background:#faf9f5}.ss-resource-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.ss-resource-head h3{margin:0}.ss-remove{border:0;background:none;color:#8b2c2c;text-decoration:underline;cursor:pointer}.ss-resource-type{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.ss-resource .ss-field{margin:.8rem 0}.ss-link-note{background:#fff8dd;border-left:3px solid var(--amber);padding:.8rem 1rem;font-size:.9rem;margin-top:.6rem}.ss-add{margin-top:.5rem}.ss-defaults{background:#f4f2ea;padding:1rem 1.3rem;margin-bottom:1.5rem}.ss-defaults ul{padding-left:1.2rem}.ss-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.3rem}.ss-nav #nextStage{margin-left:auto}.ss-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.5rem}.ss-review-grid div{border-bottom:1px solid var(--paper-line);padding:.6rem 0}.ss-review-grid b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.ss-checklist{margin-top:2rem;border-top:3px solid var(--teal);padding-top:1rem}.ss-checkitem{padding:.8rem 0;border-bottom:1px solid var(--paper-line)}.ss-checkitem strong{display:block}.ss-checkitem.warn strong{color:#8a5a00}.ss-checkitem.ok strong{color:#376a2b}.ss-create{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--paper-line)}#configOutput{width:100%;font-family:var(--font-mono);font-size:.82rem;padding:1rem;background:#f7f7f4;border:1px solid #aaa69a}.ss-status{min-height:1.5em;color:var(--teal);font-weight:600}
@media(max-width:760px){.ss-hero .wrap,.ss-cards,.ss-grid,.ss-resource-type,.ss-review-grid{grid-template-columns:1fr}.ss-hero .wrap{gap:2rem}.ss-guide{align-items:flex-start;flex-direction:column}.ss-builder-head{display:block}.ss-reset{padding-left:0}.ss-stage{padding:1rem}}
/* StudySidekick Builder v1.2 usability refinements */
.ss-step-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.55rem}.ss-step-head b,.ss-step-head h3{font-family:var(--font-display);font-size:1.45rem;line-height:1.1;margin:0}.ss-step-head b{color:var(--teal)}
.ss-why{margin:2.5rem 0;padding:1.8rem;background:#fff;border-top:3px solid var(--teal)}.ss-why h3{margin:0}.ss-why-lede{font-family:var(--font-display);font-size:1.3rem;margin:.5rem 0 1.3rem}.ss-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.ss-why-grid div{display:flex;flex-direction:column;gap:.2rem}.ss-why-grid span{color:var(--ink-soft)}
.ss-stage-nav{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:1rem 0 .5rem}.ss-stage-chip{font-size:.72rem;padding:.5rem .35rem;border:1px solid var(--paper-line);text-align:center;background:#fff;color:var(--ink-soft)}.ss-stage-chip.current{background:var(--navy);color:var(--fog);border-color:var(--navy);font-weight:700}.ss-stage-chip.done{border-color:var(--teal);color:var(--teal)}.ss-stage-chip b{display:block;font-family:var(--font-mono);font-size:.72rem}
.ss-field select{width:100%;border:1px solid #aaa69a;background:#fff;padding:.8rem;font:inherit;color:var(--ink)}.ss-field select:focus{outline:3px solid rgba(1,118,160,.2);border-color:var(--teal)}
.ss-derived{background:#edf6f3;border-left:4px solid var(--green,#4d7b5b);padding:1rem 1.2rem;margin-bottom:1.3rem}.ss-derived>.ss-grid{margin:.7rem 0}.ss-derived .ss-grid div{display:flex;flex-direction:column}.ss-derived span{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.ss-text-btn{border:0;background:none;padding:0;text-decoration:underline;color:var(--teal);cursor:pointer;font:inherit}.ss-other-field{margin-top:-.4rem}
.ss-example{margin:0 0 1.2rem;border:1px solid var(--paper-line);background:#fff}.ss-example summary{cursor:pointer;font-weight:700;padding:.9rem 1rem}.ss-example>div{padding:0 1rem 1rem;line-height:1.65}.ss-example span{display:block;color:var(--ink-soft);margin-top:.4rem}
.ss-path{display:block;font-style:normal;font-family:var(--font-mono);font-size:.78rem;margin-top:.65rem;padding:.55rem .7rem;background:#f4f2ea;color:var(--ink)}.ss-warning{display:block;font-style:normal;margin-top:.65rem;color:#8a5a00;font-weight:600}.ss-ready-note{font-family:var(--font-display);font-size:1.12rem}.ss-create h3{font-size:1.7rem;color:var(--navy)}
@media(max-width:760px){.ss-why-grid{grid-template-columns:1fr}.ss-stage-nav{grid-template-columns:repeat(4,1fr)}.ss-stage-chip{font-size:.66rem}}

/* v1.3 accessibility correction: heading must remain legible on the navy guide bar. */
.ss-guide h3 { color: var(--fog); }


/* StudySidekick Builder v1.4.0 — multi-topic / semester architecture */
.ss-topic-intro{margin:1.5rem 0 .4rem}.ss-topic-intro h3{margin:0 0 .25rem}.ss-topic-intro p{margin:.25rem 0;color:var(--ink-soft)}
.ss-topic{border:1px solid var(--paper-line);padding:1.15rem;margin:.85rem 0;background:#f7faf9;border-left:4px solid var(--teal)}
.ss-topic .ss-grid{align-items:start}.ss-topic .ss-field{margin:.75rem 0}
.ss-checkitem.topic{background:#f7faf9;padding:.75rem .85rem}.ss-checkitem.topic strong{color:var(--navy)}.ss-checkitem.topic span{display:block;font-family:var(--font-mono);font-size:.8rem;margin-top:.15rem}
@media(max-width:760px){.ss-topic .ss-grid{grid-template-columns:1fr}}


/* StudySidekick Builder v1.5.0 — course/topic/task support policies */
.ss-topic-policy-summary{
  margin:.25rem 0 1rem;
  padding:.65rem .8rem;
  background:#fff;
  border:1px solid var(--paper-line);
  font-size:.88rem;
  color:var(--ink-soft);
}
.ss-task-list{
  margin:1rem 0;
  padding-top:.35rem;
  border-top:1px solid var(--paper-line);
}
.ss-task-list>h4{
  margin:.65rem 0;
  color:var(--navy);
}
.ss-task{
  margin:.75rem 0;
  padding:.95rem;
  background:#fff;
  border:1px solid var(--paper-line);
  border-left:3px solid var(--gold);
}
.ss-task .ss-field{margin:.55rem 0}
.ss-add-task{margin-top:.35rem}
.ss-checkitem.task{
  margin-left:1rem;
  background:#fff;
  border-left:3px solid var(--gold);
}
.ss-checkitem.topic small,
.ss-checkitem.task small{
  display:block;
  margin-top:.25rem;
  color:var(--ink-soft);
}
.ss-config-actions{
  align-items:stretch;
  flex-wrap:wrap;
}
.ss-config-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:44px;
}
@media(max-width:760px){
  .ss-checkitem.task{margin-left:.4rem}
  .ss-config-actions .btn{width:100%}
}
