/* Supplies — grab-and-go tools. Loads after academy.css and way.css. */
.sup-hero{padding-top:48px;padding-bottom:64px;}
.sup-hero .slab--xl{margin:28px 0 22px 8px;}
.sup-hero .lead{max-width:52ch;}
.sup-tag{display:inline-block;font-family:var(--comic);font-size:20px;letter-spacing:.05em;color:var(--night);background:var(--mint);padding:4px 12px 2px;transform:skewX(-14deg);}
.sup-tag > span{display:block;transform:skewX(14deg);}

.sup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:8px;}
.sup-card{display:flex;flex-direction:column;gap:10px;background:var(--teal);border:3px solid var(--night);box-shadow:-8px 8px 0 var(--mint);padding:24px 22px 22px;text-decoration:none;color:var(--text);}
.sup-card:hover{color:var(--text);box-shadow:-8px 8px 0 var(--gold);}
.sup-card .n{font-family:var(--comic);font-size:40px;line-height:1;color:var(--gold);}
.sup-card h3{font-family:var(--comic);font-weight:400;font-size:30px;letter-spacing:.04em;line-height:1;color:var(--mint);}
.sup-card p{font-size:16px;line-height:1.55;}
.sup-card .go{margin-top:auto;padding-top:8px;font-weight:700;color:var(--gold);}

.field-row{display:grid;gap:10px;margin-bottom:14px;}
.field-row label,.lbl{display:block;font-size:14.5px;font-weight:700;color:var(--mint);margin-bottom:4px;}
.sup-in,.sup-area,.sup-sel{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--night);border:2px solid var(--line);padding:9px 11px;}
.sup-area{min-height:84px;resize:vertical;line-height:1.5;}
.sup-in:focus,.sup-area:focus,.sup-sel:focus{outline:none;border-color:var(--gold);}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;}
.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}

.id-mini{background:var(--gold);color:var(--night);border:3px solid var(--night);box-shadow:-8px 8px 0 var(--mint);padding:20px 22px;}
.id-mini h3{font-family:var(--comic);font-weight:400;font-size:26px;letter-spacing:.04em;line-height:1;margin-bottom:10px;}
.id-mini dl{display:grid;gap:8px;font-size:15.5px;}
.id-mini dt{font-weight:700;}
.id-mini .blank{opacity:.6;font-style:italic;}
.id-mini a{color:var(--night);font-weight:700;}

.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.pillar{font:inherit;text-align:left;color:var(--text);background:var(--night);border:2px solid var(--line);padding:14px;cursor:pointer;}
.pillar b{display:block;font-family:var(--comic);font-weight:400;font-size:24px;letter-spacing:.04em;color:var(--mint);line-height:1;margin-bottom:4px;}
.pillar span{display:block;font-size:14.5px;color:var(--muted);line-height:1.45;}
.pillar[aria-pressed="true"]{background:var(--gold);border-color:var(--night);box-shadow:-4px 4px 0 var(--night);}
.pillar[aria-pressed="true"] b,.pillar[aria-pressed="true"] span{color:var(--night);}

.hooks{display:grid;gap:8px;}
.hook{font:inherit;font-size:15.5px;text-align:left;color:var(--text);background:transparent;border:2px dashed var(--line);padding:8px 12px;cursor:pointer;}
.hook:hover{border-color:var(--mint);}

.beat{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-top:2px solid var(--line);}
.beat:first-child{border-top:0;}
.beat__k{font-family:var(--comic);font-size:22px;letter-spacing:.04em;color:var(--gold);line-height:1.05;}
.beat__k small{display:block;font-family:var(--body);font-size:13px;letter-spacing:0;color:var(--muted);margin-top:4px;}
.beat__tip{font-size:14px;color:var(--muted);margin-top:6px;}

.script-out{background:var(--night);border:3px solid var(--gold);box-shadow:-8px 8px 0 var(--teal);padding:22px;white-space:pre-wrap;font-size:16px;line-height:1.6;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;}
.btn-ghost{font:inherit;font-size:15px;font-weight:700;color:var(--mint);background:none;border:2px solid var(--mint);padding:8px 16px;cursor:pointer;}
.btn-ghost:hover{color:var(--gold);border-color:var(--gold);}
.status{font-size:14.5px;color:var(--muted);}

.saved-list{list-style:none;display:grid;gap:10px;}
.saved-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid var(--line);padding:10px 14px;}
.saved-list b{color:var(--mint);}
.saved-list .meta{font-size:13.5px;color:var(--muted);}
.saved-list button{font:inherit;font-size:14px;color:var(--muted);background:none;border:0;text-decoration:underline;cursor:pointer;}

/* calendar */
.cal-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:24px;}
.cal-controls > div{min-width:150px;}
.cal-week{margin-top:28px;}
.cal-week h3{font-family:var(--comic);font-weight:400;font-size:28px;letter-spacing:.04em;color:var(--gold);margin-bottom:10px;}
.cal-row{display:grid;grid-template-columns:120px 130px minmax(0,1fr) 140px 130px;gap:8px;align-items:center;margin-bottom:8px;}
.cal-row .d{font-weight:700;color:var(--mint);font-size:15px;}
.cal-head{font-size:13.5px;font-weight:700;color:var(--muted);}
.cal-mix{margin-top:20px;font-size:15px;color:var(--muted);}
.cal-mix b{color:var(--text);}

/* templates */
.tpl{margin-top:36px;}
.tpl h3{font-family:var(--comic);font-weight:400;font-size:30px;letter-spacing:.04em;color:var(--mint);margin-bottom:6px;}
.tpl .step-note{margin-bottom:12px;}
.tpl pre{white-space:pre-wrap;font-family:var(--body);font-size:16px;line-height:1.6;background:var(--night);border:2px solid var(--line);padding:18px 20px;}
.tpl-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;}

@media (max-width:860px){
  .sup-grid,.pillars{grid-template-columns:1fr;}
  .cal-row{grid-template-columns:1fr 1fr;}
  .cal-row .idea{grid-column:1 / -1;}
  .cal-head{display:none;}
}
@media (max-width:640px){
  .two,.five{grid-template-columns:1fr;}
  .beat{grid-template-columns:1fr;gap:6px;}
}
@media print{
  .sup-in,.sup-area,.sup-sel{border:0;border-bottom:1px solid #999;background:#fff;color:#111;}
  .pillar,.hook,.btn-row,.saved-list button,.cal-controls{display:none!important;}
  .pillar[aria-pressed="true"]{display:block!important;background:#fff;box-shadow:none;border:2px solid #111;}
  .script-out,.id-mini{background:#fff;color:#111;box-shadow:none;border:2px solid #111;}
  .tpl pre{background:#fff;color:#111;}
}
