/* Guiden Exakt fem i luffarschack */
.guide-page{--ef-ink:#171d33;--ef-grid:#bcc7da;--ef-good:#1d6b3d;--ef-good-bg:#e3f4e8;--ef-bad:#9b2b1d;--ef-bad-bg:#fde6e2;--ef-blue:#254bff;--ef-grey:#5b6478}
.ef-figure{margin:18px 0;max-width:100%}
.ef-figure figcaption{font-size:14px;color:#535c70;margin-top:8px}
.ef-strip{display:flex;width:max-content;max-width:100%;border-left:1px solid var(--ef-grid);border-top:1px solid var(--ef-grid);background:#fff}
.ef-strip .ef-cell{width:44px;height:44px;flex:none;display:grid;place-items:center;border-right:1px solid var(--ef-grid);border-bottom:1px solid var(--ef-grid);font:900 24px/1 Nunito,Arial,sans-serif}
.ef-edge{width:10px;flex:none;background:repeating-linear-gradient(45deg,var(--ef-ink) 0 3px,#fff 3px 6px);border-bottom:1px solid var(--ef-grid)}
.ef-cell.ef-unknown{color:#5b6478;background:#eef1f7}
.ef-cell.ef-target{background:var(--ef-good-bg);box-shadow:inset 0 0 0 3px var(--ef-good)}
.ef-tag{display:inline-block;margin:8px 0 0;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:800;background:#e8edf7;color:var(--ef-ink)}
.ef-figure.good .ef-tag{background:#d9f0e1;color:#155c34}
.ef-figure.bad .ef-tag{background:var(--ef-bad-bg);color:var(--ef-bad)}
.ef-pair{display:flex;flex-wrap:wrap;gap:4px 32px;align-items:flex-start}
.ef-rule{margin:16px 0;padding:14px 18px;border-radius:12px;background:var(--ef-ink);color:#fff;font-weight:800;font-size:18px}
.ef-fix{padding:12px 16px;border-left:4px solid var(--ef-blue);background:#eef2ff;border-radius:8px}
.ef-result{padding:12px 16px;border-radius:8px;background:#eef2ff}
.ef-result.good{background:var(--ef-good-bg)}.ef-result.bad{background:var(--ef-bad-bg)}
.ef-analysis>div{min-width:180px}
.ef-letters{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0}
.ef-letters li{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #cbd5e1;border-radius:14px;background:#fff}
.ef-letters h3{margin:0 0 4px;font-size:17px}.ef-letters p{margin:0}
.ef-letter{flex:none;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--ef-blue);color:#fff;font:900 30px/1 Nunito,Arial,sans-serif}

/* Brädet i övningarna */
.ef-board-wrap{max-width:100%;overflow:hidden}
.ef-board{display:grid;width:100%;max-width:520px;aspect-ratio:1;border-left:1px solid var(--ef-grid);border-top:1px solid var(--ef-grid);background:#fff;margin:12px 0;touch-action:manipulation}
.ef-size-15{grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr))}
.ef-size-9{grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));max-width:440px}
.ef-board .ef-cell{position:relative;min-height:0;overflow:hidden;min-width:0;padding:0;border:0;border-right:1px solid var(--ef-grid);border-bottom:1px solid var(--ef-grid);background:transparent;display:grid;place-items:center;font:900 clamp(13px,3.2vw,22px)/1 Nunito,Arial,sans-serif;color:inherit}
.ef-size-9 .ef-cell{font-size:clamp(16px,5vw,26px)}
.ef-board button.ef-cell{cursor:pointer;min-height:24px}
.ef-board .ef-candidate{background:#fff6b8;box-shadow:inset 0 0 0 2px #6b5d00;color:#4d4300;font-size:clamp(12px,2.6vw,18px)}
.ef-board .ef-line{background:#e7ecff}
.ef-board .ef-counted{box-shadow:inset 0 0 0 3px var(--ef-blue)}
.ef-board .ef-beyond{background:repeating-linear-gradient(135deg,#fff1cc 0 4px,#ffe199 4px 8px);outline:2px dashed #8a5a00;outline-offset:-3px}
.ef-board .ef-last::after{content:'';position:absolute;inset:12%;border:2px solid var(--ef-ink);border-radius:50%}
.ef-num{position:absolute;top:1px;left:2px;font:800 9px/1 Nunito,Arial,sans-serif;color:var(--ef-blue)}
.ef-board.ef-zoomed .ef-line{transform:scale(1.18);z-index:2;background:#dfe6ff;box-shadow:0 2px 8px #171d3333,inset 0 0 0 3px var(--ef-blue)}
.ef-board.ef-zoomed .ef-num{font-size:11px}
.ef-board .ef-over{background:var(--ef-bad-bg)}
.ef-board .ef-winpoint{box-shadow:inset 0 0 0 3px var(--ef-good)}
.ef-board .ef-winpoint::before{content:'✓';position:absolute;top:1px;right:3px;font-size:9px;color:var(--ef-good)}
.ef-axis-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.ef-axes,.ef-formations,.ef-rules,.ef-answers{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.learning-widget [aria-pressed=true].button{background:var(--ef-ink);color:#fff;border-color:var(--ef-ink)}
.ef-count,.ef-verdict,.ef-feedback,.ef-move-text{min-height:26px;font-weight:700;color:#302584}
.ef-verdict{font-size:18px}
.ef-axis-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px}
.ef-axis-list li{padding:6px 10px;border-radius:8px;background:#fff}
.ef-axis-good{color:var(--ef-good)}.ef-axis-bad{color:var(--ef-bad)}
.ef-axis-icon{display:inline-block;width:18px;font-weight:900}

/* Samma drag, olika regler */
.ef-same .ef-strip .ef-cell{position:relative}
.ef-same .ef-last::after{content:'';position:absolute;inset:6px;border:2px solid var(--ef-ink);border-radius:50%}
.ef-same-caption{font-size:14px;color:#535c70}
.ef-same-result{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 16px;border-radius:12px;background:#fff;border:2px solid var(--ef-grid)}
.ef-symbol{font-size:28px;line-height:1}
.ef-same-result[data-result=win]{border-color:var(--ef-good);background:var(--ef-good-bg)}
.ef-same-result[data-result=continue]{border-color:var(--ef-grey);background:#eef1f7}
.ef-same-result[data-result=forbidden]{border-color:var(--ef-bad);background:var(--ef-bad-bg)}

/* En ruta längre */
.ef-one .ef-window{background:#e7ecff;box-shadow:inset 0 0 0 2px var(--ef-blue)}
.ef-one .ef-beyond{background:#fff1cc}

/* Vinstpunkter */
.ef-legend{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 18px;font-size:15px}
.ef-legend li{display:flex;align-items:center;gap:10px}
.ef-mark{flex:none;display:inline-block;width:20px;height:20px}
.ef-mark.ef-green{border:3px solid var(--ef-good);border-radius:50%}
.ef-mark.ef-grey{border:3px dashed var(--ef-grey);border-radius:50%}
.ef-mark.ef-red{border:3px solid var(--ef-bad);background:var(--ef-bad-bg)}
.ef-mark.ef-blue{width:15px;height:15px;margin:2px;border:3px solid var(--ef-blue);transform:rotate(45deg)}
.ef-board .ef-marked::after{content:'';position:absolute;inset:18%}
.ef-board .ef-green::after{border:3px solid var(--ef-good);border-radius:50%}
.ef-board .ef-grey::after{border:3px dashed var(--ef-grey);border-radius:50%}
.ef-board .ef-red::after{border:3px solid var(--ef-bad);background:#fde6e299}
.ef-board .ef-blue::after{inset:24%;border:3px solid var(--ef-blue);transform:rotate(45deg)}
.ef-board .ef-chosen{background:#fff6b8}

/* Överlinjefällan */
.ef-trap-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.ef-moves{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.ef-moves .ef-move{width:100%;justify-content:center}
.ef-moves .ef-played:not([aria-pressed=true]){background:#e7ecff}
.ef-moves [aria-current=step]{outline:3px solid var(--ef-blue);outline-offset:2px}
.ef-question{margin-top:16px;padding-top:12px;border-top:1px solid #cbd5e1}

@media(max-width:700px){
 .ef-trap-layout{grid-template-columns:1fr}
 .ef-strip .ef-cell{width:clamp(30px,10.5vw,42px);height:clamp(30px,10.5vw,42px);font-size:20px}
 .ef-letter{width:44px;height:44px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){.ef-board .ef-line{transition:none}}
.guide-content .ef-letters,.guide-content .ef-axis-list,.guide-content .ef-legend,.guide-content .ef-moves{padding-left:0}
.guide-content .ef-moves li,.guide-content .ef-legend li,.guide-content .ef-axis-list li{margin-bottom:0}
