/* hscdata.com.au - shared styles (kept from the Subject Summaries page) */
:root{
  --surface:#F3F5F1;
  --surface-raised:#FFFFFF;
  --surface-sunken:#E9EDE9;
  --ink:#1B231F;
  --ink-secondary:#5B655F;
  --ink-faint:#8B968F;
  --accent:#0E6E64;
  --accent-soft:#DEEFEA;
  --border:#D8DED9;
  --border-strong:#B9C3B9;
  --shadow:0 1px 2px rgba(20,30,25,0.06), 0 8px 24px -12px rgba(20,30,25,0.18);
  color-scheme:light;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--surface);
  color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1180px;margin:0 auto;padding:24px 16px 72px;}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;text-wrap:balance;margin:0;}
a{color:var(--accent);}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;}

/* site header */
.site-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:18px;}
.brand{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);text-decoration:none;}
.site-nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;}
.site-nav a{color:var(--ink-secondary);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;}
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent);}

header.page{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--border);}
header.page h1{font-size:clamp(26px,4vw,36px);font-weight:600;line-height:1.1;}
header.page p{margin:8px 0 0;max-width:78ch;color:var(--ink-secondary);font-size:14.5px;line-height:1.55;}

/* course picker + course header */
.course-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;margin-bottom:8px;}
.picker label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);margin-bottom:6px;}
.picker select{
  font:inherit;font-size:16px;min-width:min(380px,100%);max-width:100%;
  padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);
  background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow);
}
.course-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:18px 0 4px;}
.course-title h2{font-size:clamp(26px,3.6vw,34px);font-weight:600;}
.estimate-note{font-size:14px;font-style:italic;color:var(--ink-secondary);margin:4px 0 0;}
.figures{display:flex;flex-wrap:wrap;gap:12px 32px;margin:14px 0 22px;}
.figure .v{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:24px;font-weight:600;}
.figure .l{font-size:12.5px;color:var(--ink-secondary);}

/* cards */
.cards{display:grid;gap:20px;}
.card{
  background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;
  box-shadow:var(--shadow);padding:20px 22px 18px;min-width:0;
}
.card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;}
.card h3{font-size:19px;font-weight:600;}
.card .sub{margin:4px 0 0;font-size:13.5px;color:var(--ink-secondary);line-height:1.5;}
.reading{min-height:1.5em;margin:10px 0 6px;font-size:14px;color:var(--ink);}
.card-actions{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;}
.card-actions button{
  font:inherit;font-size:13px;background:none;border:0;padding:2px 0;cursor:pointer;
  color:var(--accent);text-decoration:underline;text-underline-offset:3px;
}
.card-actions button[aria-pressed="true"]{font-weight:600;}
.chart{width:100%;margin-top:6px;position:relative;}
.tip{
  position:absolute;pointer-events:none;z-index:2;white-space:nowrap;
  background:var(--ink);color:#fff;font-size:13px;line-height:1.45;
  padding:6px 10px;border-radius:8px;box-shadow:var(--shadow);
}
.tip b{font-weight:600;}
.tip-key{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:0;}
.chart svg{display:block;width:100%;height:auto;}
.explainer{
  display:none;margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--accent);
  background:var(--accent-soft);font-size:14px;line-height:1.5;border-radius:0 8px 8px 0;
}
.card.explaining .explainer{display:block;}

/* score tables */
.band-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:12px;align-items:start;}
table.scores{width:100%;border-collapse:collapse;font-size:14.5px;}
table.scores th{
  text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-secondary);padding:4px 8px;border-bottom:1px solid var(--border-strong);
}
table.scores td{padding:4px 8px;border-bottom:1px solid var(--border);font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;}
table.scores td.hsc{font-weight:600;}
table.scores tr.hit td{outline:2px solid var(--accent);outline-offset:-2px;}
table.scores td.none{color:var(--ink-faint);}

.site-foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--ink-faint);line-height:1.6;}

/* ATAR goals */
.teacher-note{font-size:13.5px !important;font-style:italic;}
.goal-controls{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;margin-bottom:20px;}
.control label,.plan-actions>label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);margin-bottom:6px;}
.control.grow{flex:1 1 280px;}
.control input,.control select,.plan-actions input{
  font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);
  background:var(--surface-raised);color:var(--ink);
}
#goal{width:8.5em;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:22px;font-weight:600;}
.control select{width:100%;max-width:420px;}
#planCard{margin-bottom:20px;}
.empty{color:var(--ink-secondary);font-size:15px;}
.table-scroll{overflow-x:auto;}
table.plan{width:100%;border-collapse:collapse;font-size:15px;min-width:640px;}
table.plan th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);padding:6px 8px;border-bottom:1px solid var(--border-strong);vertical-align:bottom;}
table.plan td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.plan .num{text-align:center;}
table.plan td.subj a{color:var(--ink);font-weight:500;text-decoration-color:var(--border-strong);text-underline-offset:3px;}
table.plan td.subj .hint{display:block;}
table.plan tr.unused td{color:var(--ink-faint);}
.hint{font-size:12.5px;color:var(--ink-faint);font-weight:400;text-transform:none;letter-spacing:0;}
.score{font-weight:600;font-size:16px;}
.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink);}
.chip.none{background:var(--surface-sunken);color:var(--ink-secondary);}
.expect{display:inline-flex;align-items:center;gap:6px;}
.expect input{width:4.2em;font:inherit;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:16px;padding:6px 6px;border-radius:8px;border:1px solid var(--border-strong);text-align:center;}
.expect .chip-slot{min-width:4.6em;text-align:left;}
button.reset,button.remove{font:inherit;background:none;border:0;cursor:pointer;color:var(--ink-secondary);font-size:17px;padding:2px 6px;border-radius:6px;}
button.reset:hover,button.remove:hover{background:var(--surface-sunken);color:var(--ink);}
.not-min{font-size:14px;color:var(--ink);margin:14px 0 0;}
.row-notes{font-size:13px;color:var(--ink-secondary);line-height:1.6;margin:12px 0 0;}
.row-notes:empty{display:none;}
.est-figures{display:flex;flex-wrap:wrap;gap:12px 48px;}
.estimate .figure .v{font-size:34px;}
#estShow{color:var(--accent);}
.est-message{color:#b3261e;font-size:14.5px;margin:10px 0 0;}
.est-message:empty{display:none;}
.plan-actions{margin-top:18px;}
.plan-buttons{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;}
.plan-actions input{min-width:min(280px,100%);}
button.primary{font:inherit;font-size:15px;font-weight:600;padding:10px 16px;border-radius:10px;border:0;background:var(--accent);color:#fff;cursor:pointer;}
button.primary:disabled{opacity:.45;cursor:default;}
button.link{font:inherit;font-size:14px;background:none;border:0;padding:2px 0;cursor:pointer;color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.how{font-size:13px;color:var(--ink-secondary);line-height:1.55;margin:16px 0 0;max-width:80ch;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* Your students (Subjects page) */
.card.served{margin-top:20px;}
.private-note{font-size:13px;color:var(--accent);margin:6px 0 0;}
#servedInput{display:block;width:100%;margin-top:12px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;line-height:1.5;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);resize:vertical;}
.served-warn{font-size:13px;color:#b3261e;margin:8px 0 0;}
.served-warn:empty,.served-summary:empty{display:none;}
.served-summary{font-size:15px;margin:12px 0 4px;}
table.served-table{margin-top:14px;max-width:760px;}
table.served-table td:first-child{font-family:"Inter",sans-serif;}
.muted{color:var(--ink-faint);font-weight:400;}
.band-l{font-family:"Inter",sans-serif;font-size:12px;font-weight:500;color:var(--ink);opacity:.75;margin-left:4px;}

/* Home page */
.home-head p{max-width:70ch;}
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media (max-width:700px){.doors{grid-template-columns:1fr;}}
a.door{display:block;background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:22px 24px 20px;color:var(--ink);text-decoration:none;transition:border-color .15s, transform .15s;}
a.door:hover,a.door:focus-visible{border-color:var(--accent);transform:translateY(-1px);}
a.door .q{display:block;font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px;}
a.door h2{font-size:24px;font-weight:600;margin:0 0 8px;}
a.door p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-secondary);}
.jump{margin-top:24px;}
.jump label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);margin-bottom:6px;}
.jump select{font:inherit;font-size:16px;min-width:min(380px,100%);max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--ink);}

/* Analysing HSC Results */
a.door.wide{grid-column:1 / -1;}
.prose .when{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;}
.prose ol.three-q{font-family:"Fraunces",Georgia,serif;font-size:19px;margin:0 0 14px;}
.prose ol.year{padding-left:22px;}
.prose ol.steps-list li{margin-bottom:10px;}
.prose p.dl{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;margin-top:14px;}
.prose p.dl a{font-weight:600;background:var(--accent-soft);padding:6px 12px;border-radius:8px;text-decoration:none;}
.prose p.dl span{font-size:13px;color:var(--ink-faint);margin-right:10px;}
table.downloads td{font-family:"Inter",sans-serif;vertical-align:top;}
button.print-btn{font-size:14.5px;}
@media print{
  .site-head,.site-foot,.print-btn,.jump{display:none !important;}
  body{background:#fff;}
  .wrap{max-width:none;padding:0;}
  .prose{max-width:none;}
  .prose section{break-inside:auto;}
  .prose h2{break-after:avoid;}
  a{color:inherit;}
  .prose p.dl a{background:none;padding:0;text-decoration:underline;}
}

/* Compare page */
.chips{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.chips:empty{display:none;}
.pick{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);border-radius:999px;padding:4px 4px 4px 12px;font-size:14px;}
.pick button{font:inherit;background:none;border:0;cursor:pointer;color:var(--ink-secondary);font-size:16px;line-height:1;padding:2px 7px;border-radius:999px;}
.pick button:hover{background:#fff;color:var(--ink);}
#groupName{width:13em;}
.empty-note{color:var(--ink-secondary);font-size:15px;}
.card-control{margin:10px 0 0;font-size:14px;}
label.inline{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-secondary);}
label.inline input{font:inherit;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:16px;width:6.5em;padding:6px 8px;border-radius:8px;border:1px solid var(--border-strong);color:var(--ink);}

/* Understanding page */
.prose{max-width:760px;}
.prose section{margin:0 0 34px;}
.prose h2{font-size:24px;font-weight:600;margin:0 0 10px;}
.prose p,.prose li{font-size:16px;line-height:1.65;}
.prose p{margin:0 0 12px;}
.prose .lead{font-size:19px;line-height:1.5;font-family:"Fraunces",Georgia,serif;}
.prose ul{padding-left:20px;margin:0;}
.prose li{margin-bottom:8px;}
.follow{margin:16px 0 18px;}
.follow-controls{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;}
.follow-controls .control select{max-width:none;}
#fScore{width:6em;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;}
ol.steps{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 26px;}
ol.steps li{background:var(--surface);border-radius:10px;padding:12px 14px;position:relative;margin:0;}
ol.steps li:not(:last-child):not(.est)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translate(50%,-50%);color:var(--ink-secondary);font-size:20px;}
ol.steps li:nth-child(4)::after{content:none;}
ol.steps li:nth-child(4){background:var(--accent-soft);}
ol.steps .v{font-size:26px;font-weight:600;}
ol.steps .l{font-size:13px;color:var(--ink-secondary);line-height:1.35;margin-top:2px;}
ol.steps .n{font-size:12.5px;color:var(--ink-faint);margin-top:6px;}
ol.steps li.est{grid-column:1 / -1;background:none;padding:0;font-size:13.5px;font-style:italic;color:var(--ink-secondary);}
ol.plain-steps{padding-left:22px;}

@media (max-width:640px){
  ol.steps{grid-template-columns:1fr 1fr;}
  ol.steps li::after{content:none !important;}
}

@media (max-width:640px){
  table.plan{min-width:0;}
  table.plan thead{display:none;}
  table.plan tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--border);position:relative;}
  table.plan td{border:0;padding:0;text-align:left !important;}
  table.plan td.subj{grid-column:1 / -1;padding-right:32px;font-size:16px;}
  table.plan td[data-label]::before{content:attr(data-label);display:block;font-family:"Inter",sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);margin-bottom:2px;}
  table.plan td[data-label="Expected"]{grid-column:1 / -1;}
  table.plan td.rm{position:absolute;top:8px;right:0;}
}

@media (max-width:600px){
  .card{padding:16px 14px 14px;border-radius:12px;}
  .figure .v{font-size:20px;}
}

/* ---- site header, grouped (Oct 2026 tidy) ---- */
.site-head{align-items:center;}
.brand-by{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink-faint);font-size:12.5px;margin-left:2px;}
.site-nav{flex:1;gap:4px 0;align-items:center;}
.nav-group{display:flex;flex-wrap:wrap;gap:4px 18px;padding:0 16px;border-left:1px solid var(--border);}
.nav-group:first-child{padding-left:0;border-left:0;}
.nav-reports{margin-left:auto;border-left:0;padding-right:0;}
.site-nav a.in-section{color:var(--ink);border-bottom-color:var(--border-strong);}
@media (max-width:700px){
  .site-nav{gap:6px 18px;flex-basis:100%;}
  .nav-group{padding:0;border-left:0;}
  .nav-reports{margin-left:0;}
}
/* ---- home page groups ---- */
.home-group{margin-top:34px;}
.home-group > h2{font-size:13px;font-family:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 12px;}
a.door h3{font-size:24px;font-weight:600;margin:0 0 8px;}
.season-banner{margin:18px 0 0;padding:14px 18px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent);max-width:900px;}
.season-banner p{margin:0;font-size:14.5px;line-height:1.55;}
.foot-reports{display:block;margin-bottom:4px;}

/* ---- Analysing: three-step summary ---- */
.year-steps{margin:6px 0 30px;}
.year-steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;}
.year-steps li{position:relative;margin:0;}
.year-steps li:not(:last-child)::after{content:"\2192";position:absolute;right:-14px;top:50%;transform:translate(50%,-50%);color:var(--ink-secondary);font-size:20px;}
.year-steps ol a{display:block;height:100%;background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;color:var(--ink);text-decoration:none;transition:border-color .15s;}
.year-steps ol a:hover,.year-steps ol a:focus-visible{border-color:var(--accent);}
.ys-when{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.year-steps strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:20px;font-weight:600;line-height:1.25;margin-bottom:6px;}
.ys-text{display:block;font-size:14px;line-height:1.5;color:var(--ink-secondary);}
.ys-note{margin:12px 0 0;font-size:13.5px;color:var(--ink-secondary);}
@media (max-width:760px){
  .year-steps ol{grid-template-columns:1fr;}
  .year-steps li:not(:last-child)::after{content:"\2193";right:auto;left:50%;top:auto;bottom:-14px;transform:translate(-50%,50%);}
}
@media print{.year-steps ol a{box-shadow:none;}}

/* ---- Reports for Schools: menu button, home section, asides ---- */
.site-nav a{color:var(--ink);font-size:15px;}
.site-nav a:hover,.site-nav a:focus-visible{border-bottom-color:var(--accent);}
.nav-reports a{border:1.5px solid var(--accent);border-radius:999px;padding:4px 14px;color:var(--accent);font-weight:600;}
.nav-reports a:hover,.nav-reports a:focus-visible,.nav-reports a[aria-current="page"]{background:var(--accent);color:#fff;border-bottom-color:var(--accent);}
.reports-band{background:var(--surface-raised);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;padding:18px 24px;max-width:900px;}
.reports-band p{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--ink);}
.reports-band p:last-child{margin-bottom:0;}
.reports-link a{font-weight:600;}
.reports-link a::after{content:" \2192";}
.reports-aside{font-size:14px;color:var(--ink-secondary);border-left:3px solid var(--accent);padding:2px 0 2px 12px;margin-top:16px;}
.reports-aside a{font-weight:600;white-space:nowrap;}
@media print{.reports-aside,.home-reports{display:none;}}

/* ---- home cards: action line (preview 2) ---- */
a.door{display:flex;flex-direction:column;}
a.door .go{margin-top:auto;padding-top:14px;font-size:14.5px;font-weight:600;color:var(--accent);}
a.door:hover .go,a.door:focus-visible .go{text-decoration:underline;}
a.door:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.site-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* ---- Dashboard help link (Oct 2026) ---- */
.nav-help{margin-left:auto;border-left:0;}
.nav-help + .nav-reports{margin-left:0;padding-left:0;}
@media (max-width:700px){.nav-help{margin-left:0;}}
@media (min-width:701px){.nav-group{gap:4px 14px;padding:0 12px;}.nav-help{padding-right:14px;}}
