.esm-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#e8edf7}
.esm-hero{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:18px;margin:14px 0}
.esm-badge{display:inline-flex;gap:10px;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:#b8c3da;font-weight:800;font-size:12px;letter-spacing:.4px}
.esm-title{margin:10px 0 6px;font-size:clamp(20px,2.2vw,30px)}
.esm-sub{margin:0;color:#b8c3da;max-width:90ch}
.esm-card{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.03);margin:12px 0;overflow:hidden}
.esm-card-head{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.10);color:#b8c3da;font-weight:900}
.esm-card-body{padding:14px}
.esm-qwrap{display:grid;gap:12px}
.esm-q{border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.02);padding:12px}
.esm-q-title{font-weight:900;margin-bottom:10px}
.esm-q-num{display:inline-block;width:28px;color:#7dd3fc}
.esm-options{display:grid;gap:8px}
.esm-opt{display:block;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);padding:10px;border-radius:14px;color:#b8c3da;font-weight:800;cursor:pointer}
.esm-opt input{margin-right:8px}
.esm-input{width:100%;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:#e8edf7}
.esm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.esm-btn{cursor:pointer;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:#e8edf7;padding:10px 12px;border-radius:12px;font-weight:900}
.esm-btn.primary{border-color:rgba(125,211,252,.35);background:linear-gradient(90deg,rgba(125,211,252,.18),rgba(167,139,250,.16))}
.esm-result{margin-top:12px;border-radius:14px;padding:12px;border:1px solid rgba(125,211,252,.35);background:rgba(125,211,252,.08);color:#b8c3da;font-weight:900}
.esm-result.ok{border-color:rgba(134,239,172,.45);background:rgba(134,239,172,.10)}
.esm-result.bad{border-color:rgba(252,165,165,.45);background:rgba(252,165,165,.08)}
.esm-muted{color:#b8c3da;margin:0 0 8px}
.esm-match{display:grid;gap:12px}
@media(min-width:800px){.esm-match{grid-template-columns:1fr 1fr}}
.esm-match-col{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;background:rgba(255,255,255,.02)}
.esm-match-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:8px 0;color:#b8c3da;font-weight:800}
.esm-match-row select{min-width:110px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:#e8edf7}
.esm-match-b{margin:8px 0;color:#b8c3da;font-weight:800}
.esm-order-list{margin:0 0 10px;padding-left:18px;color:#b8c3da}
.esm-order-n{display:inline-block;width:24px;color:#7dd3fc;font-weight:900}
.esm-box{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px;background:rgba(255,255,255,.03);color:#b8c3da}
.esm-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.esm-lib-item{display:block;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.03);padding:12px;text-decoration:none}
.esm-lib-title{font-weight:900;color:#e8edf7;margin-bottom:6px}
.esm-lib-meta{color:#b8c3da;font-weight:800;font-size:12px}
.esm-words-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.esm-words-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.esm-word{border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.03);padding:12px;cursor:pointer;position:relative;min-height:110px;display:block;text-align:left}
.esm-word .back{display:none}
.esm-word.is-flipped .front{display:none}
.esm-word.is-flipped .back{display:block}
.esm-word .w-en{font-size:18px;font-weight:950}
.esm-word .w-tr{font-size:16px;font-weight:900;color:#b8c3da}
.esm-word .w-ex{margin-top:8px;color:#b8c3da;font-weight:700;font-size:13px}
.esm-word .w-tag{position:absolute;top:10px;right:10px;font-size:11px;font-weight:900;color:#b8c3da;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);padding:3px 8px;border-radius:999px}
@media print{.esm-actions{display:none!important}}
