.aff-head .pcode{color:var(--green)}
.aff-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.aff-entry-grid{display:grid;gap:12px;margin-top:20px}
.aff-entry{display:flex;min-height:178px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;text-align:left;color:var(--ink);border:1px solid var(--rule);border-left:4px solid var(--green);border-radius:10px;background:var(--panel-bg);box-shadow:var(--ombre);font:inherit}
.aff-entry:hover{transform:translateY(-2px);border-color:var(--green)}
.aff-entry b{font-family:var(--display);font-size:calc(22px * var(--fs))}
.aff-entry>span:not(.qtag){color:var(--ink-2);font-size:calc(13px * var(--fs));line-height:1.55}
.aff-entry i{margin-top:auto;color:var(--green);font-style:normal;font-weight:700}
.aff-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:18px 0;background:var(--rule);border:1px solid var(--rule);border-radius:9px;overflow:hidden}
.aff-stats div{display:flex;flex-direction:column;gap:2px;padding:13px;background:var(--sheet)}
.aff-stats b{font-family:var(--display);font-size:calc(20px * var(--fs));color:var(--green)}
.aff-stats span{font-size:calc(10.5px * var(--fs));color:var(--soft);text-transform:uppercase;letter-spacing:.05em}
.aff-panel,.aff-results{margin-top:14px;padding:16px;border:1px solid var(--rule);border-radius:9px;background:var(--panel-bg);box-shadow:var(--ombre)}
.aff-panel h3,.aff-results h3{margin:0 0 6px;font-family:var(--display);font-size:calc(17px * var(--fs))}
.aff-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.aff-panel-head p{max-width:62ch;margin:4px 0 0;color:var(--soft);font-size:calc(12.5px * var(--fs));line-height:1.5}
.aff-switch{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.aff-form-grid{display:grid;gap:10px;margin:15px 0}
.aff-form-grid label,.aff-controls label{display:flex;flex-direction:column;gap:5px;color:var(--ink-2);font-size:calc(11.5px * var(--fs));font-weight:650}
.aff-form-grid input,.aff-controls select,.aff-answer input,.aff-answer select{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}
.aff-form-grid input:focus,.aff-controls select:focus,.aff-answer input:focus,.aff-answer select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent)}
.aff-alert{padding:10px 12px;border-left:3px solid var(--red);background:var(--red-tint);color:var(--ink-2);font-size:calc(12px * var(--fs));line-height:1.5}
.aff-step{margin-top:8px;border:1px solid var(--rule);border-radius:7px;background:var(--sheet)}
.aff-step summary{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:12px;cursor:pointer;font-size:calc(12.5px * var(--fs));font-weight:650}
.aff-step summary>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--green-tint);color:var(--green);font-family:var(--display)}
.aff-step summary>b{color:var(--green);font-family:var(--display);font-variant-numeric:tabular-nums;text-align:right}
.aff-step>div{padding:0 13px 13px 46px;border-top:1px solid var(--rule);color:var(--ink-2);font-size:calc(12px * var(--fs));line-height:1.5}
.aff-table-wrap{max-width:100%;margin-top:12px;overflow-x:auto}
.aff-table{width:100%;min-width:570px;border-collapse:collapse;font-size:calc(11.5px * var(--fs));font-variant-numeric:tabular-nums}
.aff-table caption{text-align:left;padding:12px 0 6px;color:var(--ochre);font-weight:700}
.aff-table th,.aff-table td{padding:8px;border-bottom:1px solid var(--rule);text-align:left}
.aff-table th:nth-child(n+2),.aff-table td:nth-child(n+2){text-align:right}
.aff-table thead th{color:var(--green);font-family:var(--display)}
.aff-table tfoot th{border-top:2px solid var(--rule);border-bottom:0}
.aff-balance{margin:9px 0 0;font-size:calc(11.5px * var(--fs));font-weight:750}.aff-balance.ok{color:var(--green)}.aff-balance.ko{color:var(--red)}
.aff-controls{display:grid;gap:14px}.aff-controls .chips{margin-top:6px}.aff-controls select{min-width:230px}
.aff-seed{white-space:nowrap;padding:4px 7px;border:1px solid var(--rule);border-radius:999px;color:var(--soft);font-size:calc(10px * var(--fs))}
.aff-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:12px 0;background:var(--rule);border:1px solid var(--rule);border-radius:7px;overflow:hidden}
.aff-data div{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--sheet);font-size:calc(11.5px * var(--fs))}
.aff-data dt{color:var(--soft)}.aff-data dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}
.aff-formula{padding:12px;overflow:auto;border-left:3px solid var(--ochre);background:var(--note-bg);color:var(--ink-2);font-size:calc(11px * var(--fs));line-height:1.55}
.aff-answers{display:grid;gap:8px;margin:16px 0}
.aff-answer{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,180px);align-items:center;gap:8px;padding:10px;border:1px solid var(--rule);border-radius:7px;background:var(--sheet);font-size:calc(12px * var(--fs))}
.aff-answer>div{display:flex;align-items:center;gap:6px}.aff-answer em{color:var(--soft);font-style:normal}
.aff-answer.ok{border-color:var(--green);background:var(--option-correct-bg)}.aff-answer.ko{border-color:var(--red);background:var(--option-incorrect-bg)}
.aff-feedback{grid-column:1/-1;line-height:1.45}.aff-feedback.ok{color:var(--green)}.aff-feedback.ko{color:var(--red)}
.aff-entry-answer{grid-template-columns:1fr}.aff-entry-inputs{display:grid!important;grid-template-columns:minmax(80px,.7fr) minmax(90px,.8fr) minmax(120px,1fr);gap:6px}
.aff-training-table input{min-width:105px;width:100%;padding:8px;border:1px solid var(--rule);border-radius:5px;background:var(--paper);color:var(--ink);font:inherit;text-align:right}
.aff-training-table tr.ok input{border-color:var(--green);background:var(--option-correct-bg)}.aff-training-table tr.ko input{border-color:var(--red);background:var(--option-incorrect-bg)}
.aff-table-feedback td{text-align:left!important;padding-top:2px;border-bottom:1px solid var(--rule)}.aff-table-feedback .aff-feedback{display:block}
.aff-correction{display:flex;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border-left:3px solid var(--green);background:var(--green-tint);font-size:calc(12px * var(--fs))}
.aff-correction b{font-family:var(--display);color:var(--green)}
.aff-next-actions{display:grid;gap:8px;margin-top:12px}.aff-next-actions .btn{width:100%}
@media(min-width:700px){
  .aff-entry-grid{grid-template-columns:1fr 1fr}.aff-stats{grid-template-columns:repeat(4,1fr)}
  .aff-form-grid{grid-template-columns:repeat(2,1fr)}.aff-controls{grid-template-columns:1fr minmax(240px,.6fr);align-items:end}
  .aff-next-actions{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1100px){.aff-form-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){
  .aff-panel-head{display:block}.aff-switch{justify-content:flex-start;margin-top:12px}.aff-data{grid-template-columns:1fr}
  .aff-answer{grid-template-columns:1fr}.aff-entry-inputs{grid-template-columns:1fr 1fr}.aff-entry-inputs input:last-child{grid-column:1/-1}
  .aff-step summary{grid-template-columns:24px 1fr}.aff-step summary>b{grid-column:2;text-align:left}.aff-step>div{padding-left:13px}
}
