/* Planner page: calmer layout. Loaded after spark.css and the page's inline styles. */

/* Background symbols: keep them, but quieter, and off small screens where they sit under text */
.spark-neural-learning-bg{opacity:.32}
@media (max-width:760px){.spark-neural-learning-bg{display:none}}

[data-exam-only][hidden]{display:none!important}

/* Hero */
.pl-hero{max-width:720px;margin:0 auto;padding:6rem 1.25rem 1rem;text-align:center}
.pl-title{font-family:"Orbitron",monospace;font-size:clamp(1.5rem,4.2vw,2.3rem);font-weight:800;line-height:1.2;letter-spacing:.02em;margin:0 0 .75rem}
.pl-sub{color:var(--text-dim);font-size:1rem;line-height:1.6;max-width:520px;margin:0 auto 1.25rem}
.pl-modes{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.pl-mode{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.2rem;border:1px solid var(--border);border-radius:999px;color:var(--text);text-decoration:none;font-size:.95rem}
.pl-mode:first-child{background:var(--cyan);border-color:var(--cyan);color:var(--navy,#03111f);font-weight:600}
.pl-mode:hover{border-color:var(--cyan)}
.pl-how{text-align:left;max-width:560px;margin:0 auto .75rem;border:1px solid var(--border);border-radius:12px;padding:0 1rem}
.pl-how summary,.pl-more summary,.pl-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;font-size:.95rem;list-style:none}
.pl-how summary::-webkit-details-marker,.pl-more summary::-webkit-details-marker,.pl-details summary::-webkit-details-marker{display:none}
.pl-how summary::after,.pl-more summary::after,.pl-details summary::after{content:"+";margin-left:auto;color:var(--cyan);font-size:1.2rem;line-height:1}
.pl-how[open] summary::after,.pl-more[open] summary::after,.pl-details[open] summary::after{content:"–"}
.pl-how-body{padding:0 0 1rem;color:var(--text-dim);font-size:.92rem;line-height:1.65}
.pl-how-body p{margin:0 0 .6rem}
.pl-how-body ul{margin:0;padding-left:1.1rem}
.pl-how-body li{margin-bottom:.3rem}
.pl-facts{color:var(--text-dim);font-size:.85rem;margin:0}

/* Sections */
.pl-section{max-width:820px;padding:1.5rem 1.25rem 2.5rem}
.pl-h2{font-family:"Orbitron",monospace;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:800;letter-spacing:.03em;margin:0 0 1rem}
.pl-lede{color:var(--text-dim);font-size:.95rem;line-height:1.6;margin:0 0 1.25rem;max-width:560px}
#lesson-builder{border-top:1px solid var(--border);margin-top:1rem;padding-top:2rem}

/* Weekly form */
.setup-grid.pl-form{padding:1.25rem;border-radius:16px;margin-bottom:1.25rem}
.pl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pl-wide{grid-column:1/-1}
.pl-form .form-hint{margin:.4rem 0 0;font-size:.8rem;color:var(--text-dim)}
.pl-more{margin-top:1rem;border-top:1px solid var(--border)}
.pl-more-note{color:var(--text-dim);font-size:.8rem}
.pl-more summary{white-space:nowrap}
.pl-more-body{padding:.25rem 0 .5rem}
.pl-actions{margin-top:1rem}
.pl-actions .btn-generate-plan{width:100%;margin-top:0}
.pl-profile-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:.9rem}
.pl-link{color:var(--cyan);font-size:.88rem}
.pl-status{font-size:.78rem;color:var(--text-dim);margin-top:.5rem}

/* Generated week preview */
#plan-output{margin-top:1.5rem}
.plan-meta{margin-bottom:1rem;padding:.75rem 1rem}
.pl-meta-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.pl-save-jump{text-decoration:none;display:inline-flex;align-items:center;border-color:var(--cyan);color:var(--cyan)}
.week-grid{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.day-col{box-shadow:none;border-radius:12px}
.day-col:hover{border-color:var(--border)}
.day-col>summary.day-header{list-style:none;cursor:pointer;min-height:48px;font-size:.8rem;letter-spacing:.06em;border-bottom:0}
.day-col>summary.day-header::-webkit-details-marker{display:none}
.day-col[open]>summary.day-header{border-bottom:1px solid var(--border)}
.day-col>summary.day-header::after{content:"+";color:var(--cyan);font-size:1.1rem;margin-left:.75rem}
.day-col[open]>summary.day-header::after{content:"–"}
.day-header .day-hours{margin-left:auto;font-size:.72rem}
.lesson-block{padding:.7rem 1rem}
.lesson-time{font-size:.68rem}
.lesson-block .lesson-topic{font-size:.95rem;font-style:normal;color:var(--text);font-weight:600;margin:.1rem 0}
.lesson-block .lesson-subject{font-size:.78rem;font-weight:500;opacity:.9}
.lesson-idea{margin-top:.3rem;font-size:.85rem;line-height:1.5;color:var(--text-dim)}
.break-block{padding:.4rem 1rem;font-size:.78rem;color:var(--text-dim);background:rgba(255,255,255,.03)}
.pl-details{border:1px solid var(--border);border-radius:12px;padding:0 1rem;margin-bottom:1rem}
.pl-details>.curriculum-badges,.pl-details>.hours-summary{margin-top:.5rem}
.pl-coverage-title{font-size:.8rem;color:var(--text-dim);margin:1rem 0 .6rem}
.pl-details>#progress-bars{padding-bottom:1rem}
.tutor-strip{padding:1rem 1.25rem;gap:1rem}
.pl-strip-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}

@media (max-width:640px){
  .pl-hero{padding-top:5.5rem}
  .pl-more-note{display:none}
  .pl-grid{grid-template-columns:1fr}
  .pl-section{padding-left:1rem;padding-right:1rem}
  .setup-grid.pl-form{padding:1rem}
  .plan-meta{flex-direction:column;align-items:stretch}
  .pl-meta-actions .btn-print{flex:1;justify-content:center;text-align:center}
}
@media print{
  .pl-hero,.pl-form,.pl-meta-actions,#learning-week .lw-controls{display:none!important}
  .week-grid{display:block}
  .day-col{break-inside:avoid;margin-bottom:.5rem}
  .day-col>summary.day-header::after{content:""}
}

/* One shared setup card, two focused generation modes. */
[hidden]{display:none!important}
.planner-choice{margin:1.5rem 0 1rem}
.planner-choice h3{font-size:1rem;margin:0 0 .8rem}
.planner-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.planner-mode-tabs button{border:1px solid var(--border);border-radius:12px;padding:1rem;background:transparent;color:var(--text);text-align:left;font:inherit;font-weight:700;cursor:pointer}
.planner-mode-tabs button span{display:block;margin-top:.3rem;font-size:.85rem;font-weight:400;color:var(--text-dim)}
.planner-mode-tabs button[aria-selected=true]{border-color:var(--cyan);background:rgba(0,212,255,.08)}
.planner-mode-tabs button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.planner-mode-panel{padding-top:1rem}
#planner-single-settings{border:0;box-shadow:none;background:none;padding:1rem 0 0;margin:0}
#planner-single-settings .lb-step{padding:1rem 0}
#planner-subject{width:100%;margin:.5rem 0}
.planner-inactive-output{display:none!important}
@media print{.planner-choice,.planner-mode-panel{display:none!important}}
@media(max-width:480px){.planner-mode-tabs{gap:.5rem}.planner-mode-tabs button{padding:.75rem}.planner-mode-tabs button span{font-size:.78rem}}

/* Shared child profile and optional support controls */
#pl-more{margin-top:0;border:1px solid var(--border);border-radius:12px;padding:0 1rem .5rem}
#pl-more>summary{font-weight:700;color:var(--text);min-height:52px;white-space:normal}
#pl-more .pl-more-body>.pl-grid{padding-top:.8rem}
#lb-approach-details,#lb-more-details{margin-top:.85rem;border:1px solid var(--border);border-radius:12px;padding:.3rem 1rem}
#lb-approach-details>summary,#lb-more-details>summary{font-weight:700;color:var(--text);min-height:44px}
.planner-support-choices{border:0;padding:.2rem 0 .6rem;margin:0 0 .7rem;color:var(--text)}
.planner-support-choices legend{font-size:.9rem;font-weight:700;color:var(--text);padding-bottom:.2rem}
.planner-support-choices label{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.35rem .75rem;margin:.35rem .4rem 0 0;border:1px solid var(--border);border-radius:9px;color:var(--text);background:rgba(255,255,255,.04);font-size:.88rem;cursor:pointer}
.planner-support-choices input{accent-color:var(--cyan);width:1rem;height:1rem}
.planner-support-choices label:has(input:checked){border-color:var(--cyan);background:rgba(0,212,255,.1)}
.planner-support-remember label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text);text-transform:none;cursor:pointer}
.planner-support-remember input{accent-color:var(--cyan);width:1rem;height:1rem}
@media print{#lb-approach-details,#lb-more-details{display:none!important}}
