.evg-app{max-width:640px;margin:0 auto;font-size:16px;line-height:1.5;color:#1d2327}
.evg-app *{box-sizing:border-box}
.evg-card{background:#fff;border:1px solid #e2e4e7;border-radius:14px;padding:20px;margin:0 0 16px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.evg-card h3{margin:0 0 12px;font-size:1.25em}
.evg-hide{display:none!important}
.evg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.evg-center{text-align:center}
.evg-note,.evg-sub{color:#646970;margin:8px 0}
.evg-err{color:#b32d2e;margin:8px 0}
.evg-field{display:block;margin:0 0 12px}
.evg-field>span{display:block;font-weight:600;margin-bottom:4px}
.evg-field input,.evg-field select,.evg-input{width:100%;padding:9px 11px;border:1px solid #c3c4c7;border-radius:8px;font:inherit;background:#fff}
.evg-input{font-size:1.2em;text-align:center;margin:10px 0}

/* buttons */
.evg-btn{display:inline-block;background:#2271b1;color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}
.evg-btn:hover{background:#135e96}
.evg-btn:disabled{opacity:.5;cursor:not-allowed}
.evg-btn.evg-alt{background:#f0f6fc;color:#2271b1;border:1px solid #2271b1}
.evg-btn.evg-small{padding:6px 12px;font-size:.9em}
.evg-link{background:none;border:0;color:#646970;cursor:pointer;font:inherit}
.evg-link:hover{color:#b32d2e}
.evg-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 0}

/* mode picker */
.evg-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.evg-mode{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;background:#f6f9fc;border:2px solid #dbe7f3;border-radius:12px;cursor:pointer;font:inherit;color:inherit;transition:transform .12s,border-color .12s}
.evg-mode:hover{transform:translateY(-2px);border-color:#2271b1}
.evg-mode-icon{font-size:2em;line-height:1.1}
.evg-mode small{color:#646970;text-align:center}

/* header */
.evg-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.evg-bar{height:8px;background:#e2e4e7;border-radius:6px;overflow:hidden;margin-bottom:16px}
.evg-bar-in{height:100%;width:0;background:#2271b1;transition:width .3s}

/* words & hints */
.evg-bigword{font-size:2.2em;font-weight:700;margin:6px 0;word-break:break-word}
.evg-pos{color:#646970;font-style:italic}
.evg-speak{background:#f0f6fc;border:1px solid #c5d9ed;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:1.1em;margin:6px 0}
.evg-hint{background:#f6f7f7;border-left:4px solid #2271b1;border-radius:6px;padding:10px 14px;margin:10px 0;text-align:left}
.evg-hint p{margin:3px 0}
.evg-def{font-weight:600}
.evg-ex{color:#50575e;font-style:italic}
.evg-vi{color:#135e96}

/* flashcards */
.evg-flash{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#f0f6fc,#fff);border:2px solid #c5d9ed;border-radius:16px;padding:18px;cursor:pointer;user-select:none}
.evg-face{width:100%}
.evg-tap{font-size:.85em;color:#8c8f94;margin-top:8px}

/* quiz & matching options */
.evg-options{display:grid;gap:10px;margin-top:10px}
.evg-opt{display:block;width:100%;text-align:left;padding:12px 14px;background:#fff;border:2px solid #dcdcde;border-radius:10px;font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.evg-opt:hover:not(:disabled){border-color:#2271b1;background:#f6f9fc}
.evg-opt.evg-right,.evg-key.evg-right{background:#e6f6ea;border-color:#00a32a;color:#007017}
.evg-opt.evg-wrong,.evg-key.evg-wrong{background:#fcf0f1;border-color:#d63638;color:#b32d2e}
.evg-opt.evg-sel{border-color:#2271b1;background:#e8f1fa}
.evg-opt.evg-done{background:#e6f6ea;border-color:#00a32a;color:#007017;opacity:.75}
.evg-match{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.evg-col{display:grid;gap:8px;align-content:start}
.evg-pair{padding:10px 12px;font-size:.95em}

/* word guess */
.evg-lives{text-align:center;font-size:1.3em;letter-spacing:2px;min-height:1.6em}
.evg-blanks{text-align:center;font-size:2em;font-weight:700;letter-spacing:4px;margin:14px 0;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace}
.evg-kb{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0}
.evg-key{width:40px;height:44px;border:2px solid #dcdcde;border-radius:8px;background:#fff;font:inherit;font-weight:700;cursor:pointer}
.evg-key:hover:not(:disabled){border-color:#2271b1}
.evg-key:disabled{cursor:default}
.evg-msg{text-align:center;min-height:1.5em;font-weight:600;margin:8px 0}
.evg-msg.evg-good{color:#007017}
.evg-msg.evg-bad{color:#b32d2e}
#evg-app .evg-body>div:last-child{text-align:center}

/* unscramble */
.evg-tiles{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0}
.evg-tile{min-width:40px;height:46px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:#fff8e1;border:2px solid #f0c33c;border-radius:8px;font-size:1.4em;font-weight:700}
.evg-tile.evg-space{background:none;border:0;min-width:16px}
.evg-shake{animation:evg-shake .4s}
@keyframes evg-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* result */
.evg-bigscore{font-size:3em;font-weight:800;color:#2271b1;margin:6px 0}

@media (max-width:480px){
	.evg-match{grid-template-columns:1fr}
	.evg-key{width:34px;height:40px}
	.evg-bigword{font-size:1.8em}
}

/* ---- v1.1: pictures, streak, combo, speed round, confetti, leaderboard ---- */
.evg-app{position:relative}
.evg-pic{display:block;margin:6px auto;max-width:100%}
img.evg-pic{max-height:150px;width:auto;height:auto;object-fit:contain;border-radius:10px}
img.evg-pic.evg-bigpic{max-height:220px}
.evg-emoji{font-size:4em;line-height:1.15;text-align:center}
.evg-emoji.evg-bigpic{font-size:6.5em}
.evg-flashpic{margin-bottom:4px}
.evg-streak{display:inline-block;background:#fff4d6;color:#8a5a00;border:1px solid #f0c33c;border-radius:999px;padding:2px 12px;font-size:.9em;font-weight:600;margin:4px 0}
.evg-combo{text-align:center;font-weight:700;color:#b25b00;min-height:1.5em;margin-bottom:4px}
.evg-bar-in.evg-low{background:#d63638}
.evg-mode-speed{border-color:#f0c33c;background:#fffaf0}
.evg-mode-picture{background:#f4f9f4;border-color:#cfe6d0}
.evg-confetti{position:absolute;left:0;right:0;top:0;height:100%;overflow:hidden;pointer-events:none;z-index:50}
.evg-confetti i{position:absolute;top:-12px;width:9px;height:14px;opacity:.9;animation:evg-fall linear forwards}
@keyframes evg-fall{to{transform:translateY(520px) rotate(540deg);opacity:0}}
.evg-board{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e4e7;border-radius:10px;overflow:hidden}
.evg-board th,.evg-board td{padding:8px 10px;text-align:left;border-bottom:1px solid #eee}
.evg-board th{background:#f6f7f7;font-size:.9em}
.evg-board td:first-child{width:2.4em;text-align:center}
.evg-board td:last-child,.evg-board th:last-child{text-align:right;font-weight:700}

/* ---- v1.2: crossword + printing ---- */
.evg-xbanner{background:#f0f6fc;border:1px solid #c5d9ed;border-radius:10px;padding:8px 12px;margin:0 0 10px;min-height:2.8em;display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-align:left}
.evg-xpic{display:inline-block;margin:0;font-size:2em!important}
img.evg-xpic{max-height:48px}
.evg-xwrap{overflow-x:auto;text-align:center;margin:8px 0;padding:2px}
.evg-xgrid{--cell:max(26px,min(40px,calc((100vw - 64px) / var(--cols,10))));display:inline-grid;gap:2px;text-align:left}
.evg-xcell{position:relative;width:var(--cell);height:var(--cell);background:#fff;border:1.5px solid #3c434a;border-radius:3px}
.evg-xblank{width:var(--cell);height:var(--cell)}
.evg-xcell input{width:100%;height:100%;border:0;background:transparent;text-align:center;font:inherit;font-weight:700;font-size:calc(var(--cell) * .55);text-transform:uppercase;padding:0;margin:0;color:#1d2327;caret-color:transparent;outline:none;border-radius:3px;box-shadow:none}
.evg-xnum{position:absolute;top:1px;left:2px;font-size:calc(var(--cell) * .26);line-height:1;color:#50575e;pointer-events:none}
.evg-xcell.evg-xin{background:#e8f1fa}
.evg-xcell.evg-xcur{background:#ffe99a}
.evg-xcell.evg-xdone{background:#e6f6ea;border-color:#00a32a}
.evg-xcell.evg-xdone input{color:#007017}
.evg-xcell.evg-xrev input{color:#b25b00}
.evg-xcell.evg-xbad{background:#fcf0f1;border-color:#d63638}
.evg-xclues{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;text-align:left}
.evg-xclues h4{margin:0 0 6px}
.evg-xclues ul{list-style:none;padding:0;margin:0}
.evg-xclue{padding:4px 6px;border-radius:6px;cursor:pointer;font-size:.92em;margin:0}
.evg-xclue:hover{background:#f0f6fc}
.evg-xclue.evg-xon{background:#ffe99a}
.evg-xclue.evg-xok{color:#8c8f94;text-decoration:line-through}
.evg-mode-crossword{background:#f8f5ff;border-color:#ddd2f5}
@media (max-width:560px){.evg-xclues{grid-template-columns:1fr}}

#evg-print-root{display:none}
@media print{
	body.evg-printing > *:not(#evg-print-root){display:none!important}
	body.evg-printing #evg-print-root{display:block!important;font-family:Arial,Helvetica,sans-serif;color:#000;padding:8mm}
	#evg-print-root h2{margin:0 0 4px;font-size:20pt}
	#evg-print-root .evg-pmeta{margin:0 0 10px;font-size:11pt}
	#evg-print-root table{border-collapse:collapse;margin:0 auto 14px}
	#evg-print-root td{width:9.5mm;height:9.5mm;border:1px solid #000;position:relative;text-align:center;vertical-align:middle;font-weight:700;font-size:13pt;padding:0}
	#evg-print-root td.evg-pblank{border:0}
	#evg-print-root td i{position:absolute;top:0;left:1px;font-size:6.5pt;font-weight:400;font-style:normal}
	#evg-print-root .evg-pclues{columns:2;column-gap:12mm;font-size:10.5pt}
	#evg-print-root .evg-pclues h4{margin:6px 0 3px}
	#evg-print-root .evg-pclues p{margin:0 0 3px;break-inside:avoid}
}
