/* ============================================================
   Mekanismoen Lantegia — orri bereziak: erronkak, glosarioa,
   irakasleentzako fitxak, eta aurrerapenaren botoiak
   ============================================================ */

/* aurrerapena menuan */
.foot-actions{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.foot-actions .btn{font-size:13px; padding:3px 9px; box-shadow:1px 1px 0 var(--ink)}
.foot-actions .btn.ghost{box-shadow:none}
.foot-msg{min-height:1.3em; margin:6px 0 0; font-size:13px; font-weight:700}

/* orri berezien goiburua */
.page-head{display:grid; gap:8px; margin-bottom:24px}
.page-head h1{font-size:clamp(34px, 5vw, 50px); line-height:1.08}
.page-head .lede{font-size:18px}

/* ---------- erronkak ---------- */
.challenges{display:grid; gap:22px}
.challenge-card{background:var(--sheet); border:1px solid var(--ink); box-shadow:var(--edge)}
.challenge-card > header{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; padding:14px 18px 10px; border-bottom:1px solid var(--rule)}
.challenge-card h2{font-size:26px}
.challenge-card .tags{display:flex; flex-wrap:wrap; gap:6px}
.challenge-body{display:grid; gap:12px; padding:14px 18px 18px}
.challenge-body .brief{font-size:17px; margin:0}
.challenge-body .limits{margin:0; padding-left:20px; color:var(--ink2); font-size:15.5px}
.ch-inputs{display:flex; flex-wrap:wrap; gap:10px 18px; align-items:flex-end}
.ch-inputs label{display:grid; gap:3px; font-size:14px; font-weight:700; color:var(--ink2)}
.ch-inputs input, .ch-inputs select{width:110px; padding:6px 8px; font-family:var(--font-code); font-size:15px}
.ch-inputs select{width:auto; font-family:var(--font-body)}
.ch-result{padding:10px 14px; background:var(--chip); border-left:3px solid var(--ink3); font-size:15.5px}
.ch-result.ok{border-left-color:var(--ok)}
.ch-result.no{border-left-color:var(--danger)}
.ch-result b{font-family:var(--font-code); font-weight:500}
.ch-result .verdict{display:block; margin-top:4px; font-weight:700}
.ch-result.ok .verdict{color:var(--ok)}
.ch-result.no .verdict{color:var(--danger)}
.ch-hint{font-size:14.5px; color:var(--ink3); margin:0}
.ch-solved{color:var(--ok); font-weight:700; font-size:14px}

.project{margin-top:34px; padding:20px 22px; background:var(--sheet); border:1px solid var(--rule)}
.project h2{font-size:30px; margin-bottom:8px}
.project ol{padding-left:22px}
.project li{margin:6px 0}
.project .print-only{display:none}

/* ---------- glosarioa ---------- */
.glos-tools{display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin-bottom:14px}
.glos-tools input{max-width:320px}
.glos-count{font-size:14.5px; color:var(--ink3)}
.glos-table td:nth-child(-n+3){white-space:nowrap}
.glos-table td:first-child{font-weight:700}
.glos-table td:last-child{color:var(--ink2); min-width:240px}
.glos-table a{color:inherit}
.glos-table mark{background:color-mix(in srgb, var(--s2) 35%, transparent); color:inherit}

/* ---------- irakasleentzat ---------- */
.teacher-controls{display:grid; gap:14px; padding:16px 18px; background:var(--sheet); border:1px solid var(--rule)}
.teacher-row{display:flex; flex-wrap:wrap; gap:10px 18px; align-items:flex-end}
.teacher-row label{display:grid; gap:3px; font-size:14px; font-weight:700; color:var(--ink2)}
.teacher-row select, .teacher-row input{width:auto; min-width:90px; padding:6px 8px}
.teacher-row .check{display:flex; align-items:center; gap:6px; font-weight:400; color:var(--ink)}
.teacher-row .check input{min-width:0}
.sheet-preview{margin-top:24px}
.fitxa{padding:28px 32px; color:#000; background:#fff; border:1px solid #000}
.fitxa + .fitxa{margin-top:24px}
.fitxa h2{margin:0 0 4px; font-size:26px; color:#000}
.fitxa .sub{margin:0 0 14px; font-size:14px; color:#444}
.fitxa .ids{display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; margin-bottom:18px; font-size:13px; font-weight:700; color:#444}
.fitxa .ids span{display:block; height:24px; margin-top:2px; border-bottom:1px solid #777}
.fitxa ol{margin:0; padding-left:22px}
.fitxa li{margin-bottom:16px; font-size:15.5px; line-height:1.5; color:#000}
.fitxa li .space{display:block; height:46px; margin-top:6px; border-bottom:1px dashed #aaa}
.fitxa .opts{display:grid; gap:2px; margin-top:4px; padding-left:4px}
.fitxa.key li{margin-bottom:10px}
.fitxa.key .steps{display:block; font-family:var(--font-code); font-size:13.5px; color:#333}
.fitxa strong{color:#000}

@media (max-width:600px){
  .fitxa{padding:18px}
  .fitxa .ids{grid-template-columns:1fr}
}

@media print{
  body{background:#fff !important}
  .lan-foot, .teacher-controls, .page-head, .glos-tools, .challenges, .no-print{display:none !important}
  .edukia{padding:0 !important; max-width:none}
  .sheet-preview{margin:0}
  .fitxa{border:0; padding:0}
  .fitxa + .fitxa{margin-top:0; break-before:page}
  .project{border:0; padding:0; margin:0}
  .project .print-only{display:block}
}
