/* KidsEdu spēļu ietvars · dizaina sistēma "KidsEdu" */
@font-face { font-family: "Grandstander"; font-weight: 100 900; font-display: swap; src: url(../../../../themes/kidsedu/assets/fonts/grandstander-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F; }
@font-face { font-family: "Grandstander"; font-weight: 100 900; font-display: swap; src: url(../../../../themes/kidsedu/assets/fonts/grandstander-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC; }
@font-face { font-family: "Nunito"; font-weight: 200 1000; font-display: swap; src: url(../../../../themes/kidsedu/assets/fonts/nunito-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F; }
@font-face { font-family: "Nunito"; font-weight: 200 1000; font-display: swap; src: url(../../../../themes/kidsedu/assets/fonts/nunito-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC; }

:root {
	--bg:#FFFBF2; --surface:#FFFFFF; --surface-warm:#FFF1D6; --line:#E9DFCC;
	--ink:#2B2D42; --ink-soft:#5C5F77; --primary:#C2410C; --primary-hover:#9A3412; --on-primary:#FFFFFF;
	--secondary:#0E7C86; --secondary-hover:#0B5F67; --sun:#FFC94D; --success:#2F7D32; --danger:#B42318;
	--tema-burti:#BDEFF5; --tema-skaitli:#FFD9C7; --tema-daba:#D9F2C7; --tema-logika:#E5DBFF;
	--accent: var(--tema-logika);
	--font-display:"Grandstander","Nunito",system-ui,sans-serif; --font-body:"Nunito",system-ui,sans-serif;
	--r-sm:12px; --r-md:20px; --r-lg:28px;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { background: var(--bg); color: var(--ink); font: 400 18px/1.5 var(--font-body); -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; overflow: hidden; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
img { max-width: 100%; display: block; -webkit-user-drag: none; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.kd-app { position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.g-start, .g-end { overflow-y: auto; }
.kd-loading { margin: auto; font-weight: 800; color: var(--ink-soft); }

/* ---------- Pogas ---------- */
.g-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; border: 0; border-radius: var(--r-sm); font: 800 18px/1 var(--font-body); cursor: pointer; transition: transform .12s ease-out, box-shadow .12s ease-out, background .12s; }
.g-btn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.g-btn--primary { background: var(--primary); color: var(--on-primary); box-shadow: 0 4px 0 var(--primary-hover); }
.g-btn--secondary { background: var(--secondary); color: var(--on-primary); box-shadow: 0 4px 0 var(--secondary-hover); }
.g-btn--ghost { background: var(--surface); box-shadow: inset 0 0 0 2px var(--ink-soft); }
.g-btn:active { transform: translateY(3px); box-shadow: none; }
.g-btn--lg { min-height: 64px; font-size: 22px; padding: 0 32px; border-radius: 16px; }
.g-icon { width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--r-sm); background: var(--surface); box-shadow: inset 0 0 0 2px var(--ink-soft); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.g-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Sākuma ekrāns ---------- */
.g-start { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 24px; padding: 24px 40px; background: radial-gradient(circle at 25% 60%, var(--accent) 0 34%, transparent 34.5%); }
.g-start__char { width: min(100%, 360px); height: auto; aspect-ratio: 1 / 1; object-fit: contain; margin: 0 auto; filter: drop-shadow(0 8px 0 rgba(43,45,66,.08)); animation: g-bob 3s ease-in-out infinite; }
.g-start__text { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.g-title { font: 800 40px/1.05 var(--font-display); margin: 0; }
.g-intro { font-size: 20px; margin: 0; max-width: 32ch; }
.g-levels { display: flex; flex-wrap: wrap; gap: 12px; }
.g-level { min-width: 140px; min-height: 72px; padding: 10px 18px; border: 0; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 4px 0 var(--line); cursor: pointer; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; }
.g-level b { font: 800 20px/1.1 var(--font-display); }
.g-level small { font-size: 14px; color: var(--ink-soft); }
.g-level:hover, .g-level:focus-visible { box-shadow: inset 0 0 0 3px var(--secondary), 0 4px 0 var(--secondary-hover); }
.g-level .g-stars svg { width: 16px; height: 16px; }

/* ---------- Spēles ekrāns ---------- */
.g-hud { display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: var(--surface); box-shadow: 0 2px 0 var(--line); }
.g-hud__char { width: 44px; height: 44px; object-fit: contain; }
.g-hud__prompt { font: 700 22px/1.2 var(--font-display); margin: 0 auto 0 0; }
.g-hud__meta { display: flex; align-items: center; gap: 14px; font-weight: 800; font-size: 17px; white-space: nowrap; }
.g-progress { display: flex; gap: 5px; }
.g-progress i { width: 12px; height: 12px; border-radius: 50%; background: var(--line); }
.g-progress i.on { background: var(--success); }
.g-stage { flex: 1; position: relative; display: flex; padding: 16px; min-height: 0; overflow: auto; }
.g-stage > * { margin: auto; }

/* ---------- Atgriezeniskā saite ---------- */
@keyframes g-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes g-shake { 0%,100% { transform: translateX(0); } 20%,60% { transform: translateX(-8px); } 40%,80% { transform: translateX(8px); } }
@keyframes g-pop { 0% { transform: scale(.6); opacity: 0; } 70% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
@keyframes g-glow { 0% { box-shadow: 0 0 0 0 rgba(47,125,50,.6); } 100% { box-shadow: 0 0 0 16px rgba(47,125,50,0); } }
.is-wrong { animation: g-shake .35s ease-out; }
.is-right { animation: g-glow .6s ease-out; }
.g-cheer { position: absolute; left: 0; right: 0; top: 36%; margin: 0 auto; width: max-content; max-width: 94%; text-align: center; pointer-events: none; font: 800 clamp(28px, 8.5vw, 44px)/1.05 var(--font-display); color: var(--success); text-shadow: 0 3px 0 #fff; animation: g-pop .5s ease-out forwards; z-index: 5; }

/* ---------- Beigu ekrāns ---------- */
.g-end { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; background: radial-gradient(circle at 50% 38%, var(--accent) 0 30%, transparent 30.5%); }
.g-end__char { width: min(42vh, 240px); animation: g-pop .6s ease-out; }
.g-stars { display: inline-flex; gap: 4px; }
.g-stars svg { width: 54px; height: 54px; }
.g-stars .on { fill: var(--sun); stroke: var(--ink); }
.g-stars .off { fill: #fff; stroke: var(--ink-soft); }
.g-end .g-stars svg { animation: g-pop .4s ease-out both; }
.g-end .g-stars svg:nth-child(2) { animation-delay: .2s; }
.g-end .g-stars svg:nth-child(3) { animation-delay: .4s; }
.g-end__title { font: 800 40px/1 var(--font-display); margin: 0; }
.g-end__text { margin: 0; font-size: 19px; }
.g-end__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ---------- Diploms (drukai) ---------- */
.g-diploma-form { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; align-items: center; }
.g-diploma-form input { min-height: 52px; border-radius: var(--r-sm); border: 2px solid var(--ink-soft); padding: 0 14px; font: 700 18px var(--font-body); width: 220px; }
.g-diploma { display: none; }
@media print {
	@page { size: A4 portrait; margin: 0; }
	html, body { height: auto; overflow: visible; background: #fff; }
	.kd-app { display: block; height: auto; overflow: visible; }
	.kd-app > :not(.g-diploma) { display: none !important; }
	.g-diploma { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 8mm; width: 210mm; height: 296mm; padding: 18mm; border: 12mm solid var(--sun); text-align: center; color: var(--ink); -webkit-print-color-adjust: exact; print-color-adjust: exact; page-break-after: avoid; break-inside: avoid; }
	.g-diploma img { width: 70mm; height: 70mm; object-fit: contain; }
	.g-diploma h1 { font: 800 60px/1 var(--font-display); margin: 0; color: var(--primary); }
	.g-diploma .lead { font-size: 20px; margin: 0; }
	.g-diploma .name { font: 800 42px/1.2 var(--font-display); border-bottom: 3px solid var(--ink); padding: 0 20px 6px; min-width: 120mm; }
	.g-diploma p { font-size: 18px; margin: 0; max-width: 150mm; }
	.g-diploma .g-stars svg { width: 18mm; height: 18mm; }
	.g-diploma .foot { margin-top: 6mm; color: var(--ink-soft); font-size: 15px; }
}

/* ---------- Dzinējs: pāri ---------- */
.e-pairs { display: grid; gap: clamp(6px, 1.4vmin, 14px); justify-content: center; align-content: center; }
.e-card { position: relative; aspect-ratio: 1; width: 100%; border: 0; padding: 0; background: none; perspective: 700px; cursor: pointer; }
.e-card__in { position: absolute; inset: 0; transition: transform .35s ease-out; transform-style: preserve-3d; }
.e-card.is-open .e-card__in, .e-card.is-done .e-card__in { transform: rotateY(180deg); }
.e-card__face { position: absolute; inset: 0; border-radius: var(--r-md); backface-visibility: hidden; display: grid; place-items: center; overflow: hidden; }
.e-card__back { background: var(--secondary); box-shadow: 0 5px 0 var(--secondary-hover); background-image: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18) 0 18%, transparent 19%), radial-gradient(circle at 70% 70%, rgba(255,255,255,.18) 0 18%, transparent 19%); }
.e-card__back svg { width: 42%; height: 42%; fill: rgba(255,255,255,.92); }
.e-card__front { background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); transform: rotateY(180deg); }
.e-card__front img { width: 80%; height: 80%; object-fit: contain; }
.e-card.is-done .e-card__front { background: var(--tema-daba); box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 var(--success); }

/* ---------- Dzinējs: izvēle ---------- */
.e-choice { width: 100%; max-width: 900px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.e-scene { width: 100%; min-height: 180px; background: var(--surface); border-radius: var(--r-lg); box-shadow: inset 0 0 0 3px var(--line); padding: 18px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.e-scene img { width: clamp(44px, 9vmin, 84px); height: clamp(44px, 9vmin, 84px); object-fit: contain; animation: g-pop .35s ease-out both; }
.e-options { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 14px; width: 100%; }
.e-opt { min-height: 96px; border: 0; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); font: 800 44px/1 var(--font-display); color: var(--ink); cursor: pointer; display: grid; place-items: center; padding: 12px; }
.e-opt:hover { box-shadow: inset 0 0 0 3px var(--secondary), 0 5px 0 var(--secondary-hover); }
.e-opt svg { width: 100%; height: 100%; max-width: 120px; max-height: 120px; }
.e-opt.is-right { background: var(--tema-daba); box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 var(--success); }
.e-options--shapes .e-opt { min-height: 150px; }

/* ---------- Dzinējs: šķirošana ---------- */
.e-sort { width: 100%; max-width: 1000px; height: 100%; display: flex; flex-direction: column; gap: 16px; }
.e-pool { flex: 1; min-height: 120px; display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 12px; }
.e-item { width: clamp(64px, 12vmin, 104px); height: clamp(64px, 12vmin, 104px); border: 0; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 4px 0 var(--line); padding: 8px; cursor: grab; touch-action: none; }
.e-item img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.e-item.is-picked { box-shadow: inset 0 0 0 4px var(--secondary), 0 4px 0 var(--secondary-hover); transform: translateY(-4px); }
.e-item.is-dragging { position: fixed; z-index: 50; pointer-events: none; cursor: grabbing; box-shadow: 0 14px 24px rgba(43,45,66,.2); }
.e-bins { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px; }
.e-bin { min-height: 150px; border: 0; border-radius: var(--r-lg); background: var(--bin, var(--surface-warm)); box-shadow: inset 0 0 0 3px rgba(43,45,66,.18); display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px; cursor: pointer; }
.e-bin__label { font: 800 20px/1 var(--font-display); background: rgba(255,255,255,.85); border-radius: 999px; padding: 6px 14px; }
.e-bin__items { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.e-bin__items img { width: 36px; height: 36px; object-fit: contain; animation: g-pop .3s ease-out; }
.e-bin.is-hover { box-shadow: inset 0 0 0 5px var(--ink); }

/* ---------- Dzinējs: savieno punktus ---------- */
.e-connect { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.e-connect svg { width: min(100%, 72vh); height: auto; max-height: 100%; touch-action: manipulation; }
.e-dot { cursor: pointer; }
.e-dot circle { fill: #fff; stroke: var(--ink); stroke-width: .6; }
.e-dot.is-next circle { fill: var(--sun); }
.e-dot.is-done circle { fill: var(--secondary); stroke: var(--secondary); }
.e-dot text { font: 800 3.2px var(--font-body); fill: var(--ink); pointer-events: none; }
.e-dot.is-done text { fill: var(--ink-soft); }
.e-dot circle.hit, .e-dot.is-next circle.hit, .e-dot.is-done circle.hit { fill: transparent; stroke: none; }
.e-dot:focus { outline: none; }
.e-dot:focus-visible circle:not(.hit) { stroke: var(--ink); stroke-width: 1.4; }
.e-line { stroke: var(--secondary); stroke-width: 1.1; stroke-linecap: round; fill: none; }
.e-fill { opacity: 0; transition: opacity .6s ease-out; }
.e-fill.is-on { opacity: 1; }

/* ---------- Izvēle: grupas un secības ---------- */
.e-options--groups .e-opt { min-height: 160px; padding: 14px; }
.e-group { display: flex; flex-wrap: wrap; justify-content: center; align-content: center; gap: 6px; max-width: 100%; }
.e-group img { width: clamp(34px, 9vmin, 78px); height: clamp(34px, 9vmin, 78px); object-fit: contain; animation: g-pop .3s ease-out both; }
.e-options--groups .e-opt { align-content: center; }
.e-seq { flex-wrap: nowrap; gap: clamp(4px, 1.2vmin, 12px); overflow: hidden; }
.e-slot { flex: 0 1 96px; aspect-ratio: 1; min-width: 0; display: grid; place-items: center; animation: g-pop .35s ease-out both; }
.e-slot svg, .e-slot img { width: 100%; height: 100%; object-fit: contain; }
.e-slot.is-q { border: 4px dashed var(--secondary); border-radius: var(--r-md); font: 800 clamp(28px, 6vmin, 52px)/1 var(--font-display); color: var(--secondary); }
.e-slot.is-filled { background: var(--tema-daba); border-radius: var(--r-md); }
.e-opt > img { width: 100%; height: 100%; max-width: 110px; max-height: 110px; object-fit: contain; }

/* ---------- Pareizrakstība ---------- */
.e-wordcard { flex-direction: column; gap: 14px; min-height: 0; padding: 18px 24px; }
.e-wordcard__img { width: clamp(90px, 22vmin, 190px) !important; height: clamp(90px, 22vmin, 190px) !important; object-fit: contain; }
.e-word { font: 800 clamp(34px, 7vmin, 64px)/1.1 var(--font-display); letter-spacing: .04em; display: flex; flex-wrap: wrap; justify-content: center; }
.e-gap { display: inline-block; min-width: .9em; margin: 0 .06em; text-align: center; color: var(--secondary); border-bottom: 5px solid var(--secondary); }
.e-gap.is-filled { color: var(--success); border-color: var(--success); animation: g-pop .35s ease-out; }
.e-options--words .e-opt { font: 800 clamp(22px, 4.2vmin, 38px)/1.15 var(--font-display); min-height: 84px; letter-spacing: .02em; text-transform: none; overflow-wrap: anywhere; }
.e-options--letters .e-opt { font: 800 clamp(40px, 9vmin, 72px)/1 var(--font-display); }
@media (max-width: 560px) { .e-options--words { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); } .e-options--words .e-opt { min-height: 64px; } }

/* ---------- Dzinējs: rēķināšana ---------- */
.e-math { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 4vw, 48px); width: 100%; max-width: 1000px; }
.e-mcard { flex: 1 1 auto; min-width: 0; background: var(--surface); border-radius: var(--r-lg); box-shadow: inset 0 0 0 3px var(--line); padding: clamp(14px, 3vh, 28px) clamp(14px, 3vw, 32px); display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 2vh, 18px); }
.e-mbar { display: flex; gap: 22px; font: 800 clamp(22px, 4vh, 32px)/1 var(--font-display); }
.e-mtime.is-low { color: var(--danger); animation: g-must 1s ease-in-out infinite; }
.e-mvis { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.e-mgroup { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; max-width: 360px; }
.e-mgroup img { width: clamp(30px, 7.5vh, 64px); height: clamp(30px, 7.5vh, 64px); object-fit: contain; animation: g-pop .3s ease-out both; }
.e-mgroup img.is-gone { opacity: .3; filter: grayscale(1); position: relative; }
.e-mvis .e-op { font: 800 36px/1 var(--font-display); }
.e-expr { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .25em; font: 800 clamp(40px, 12vh, 110px)/1.1 var(--font-display); }
.e-expr .e-op { color: var(--secondary); }
.e-ans { min-width: 1.6em; padding: 0 .2em; text-align: center; border-radius: 14px; background: var(--surface-warm); box-shadow: inset 0 0 0 4px var(--secondary); }
.e-ans.is-empty { color: var(--secondary); }
.e-ans.is-ok { background: var(--tema-daba); box-shadow: inset 0 0 0 4px var(--success); color: var(--success); }
.e-ans.is-shown { background: #FFE3E1; box-shadow: inset 0 0 0 4px var(--danger); color: var(--ink); }
.e-pad { flex: none; display: grid; grid-template-columns: repeat(3, clamp(54px, 12vh, 100px)); gap: clamp(6px, 1.4vh, 12px); }
.e-key { height: clamp(48px, 11.5vh, 92px); border: 0; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 clamp(24px, 4.5vh, 36px)/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-key:active { transform: translateY(3px); box-shadow: inset 0 0 0 3px var(--line); }
.e-key--ok { background: var(--success); color: #fff; box-shadow: 0 4px 0 #1F5A22; }
.e-key--del { background: var(--surface-warm); }
@media (max-width: 720px) { .e-math { flex-direction: column; gap: 12px; } .e-mcard { width: 100%; } .e-expr { font-size: clamp(30px, 10.5vw, 56px); flex-wrap: nowrap; } .e-pad { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: 320px; } .e-key { height: clamp(44px, 8vh, 64px); } }

/* ---------- Dzinējs: daļas (pica) ---------- */
.e-fr { width: 100%; max-width: 980px; display: flex; flex-direction: column; align-items: center; gap: clamp(10px, 2.5vh, 22px); }
.e-fr__scene { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 4vw, 40px); }
.e-pizza { width: clamp(170px, 46vh, 360px); height: auto; overflow: visible; }
.e-pizza__plate { fill: #FFFFFF; stroke: var(--line); stroke-width: 4; }
.e-pizza__ghost { fill: none; stroke: #D9CFC0; stroke-width: 2; stroke-dasharray: 6 6; }
.e-slice__crust { fill: #E8A458; }
.e-slice__cheese { fill: #FFCF57; }
.e-slice__salami { fill: #D9473A; stroke: #A8322A; stroke-width: 1.5; }
.e-slice__leaf { fill: #4E9A3E; }
.e-slice__edge { fill: none; stroke: #8A5A35; stroke-width: 2.5; stroke-linejoin: round; }
.e-slice { transition: opacity .25s ease-out, transform .25s ease-out; }
.e-slice.is-eaten .e-slice__crust, .e-slice.is-eaten .e-slice__cheese, .e-slice.is-eaten .e-slice__salami, .e-slice.is-eaten .e-slice__leaf { opacity: 0; }
.e-slice.is-eaten .e-slice__edge { stroke: #CDBFA9; stroke-dasharray: 5 5; stroke-width: 2; }
.e-pizza.is-edit .e-slice { cursor: pointer; }
.e-pizza.is-edit .e-slice:hover .e-slice__edge, .e-pizza.is-edit .e-slice:focus-visible .e-slice__edge { stroke: var(--secondary); stroke-width: 5; stroke-dasharray: none; }
.e-pizza.is-edit .e-slice:focus { outline: none; }
.e-frac { display: inline-flex; flex-direction: column; align-items: center; font: 800 clamp(28px, 6vh, 46px)/1.05 var(--font-display); color: var(--ink); }
.e-frac__n { padding: 0 .2em; border-bottom: .09em solid currentColor; }
.e-frac__d { padding: 0 .2em; }
.e-frac--big { font-size: clamp(44px, 10vh, 84px); color: var(--primary); }
.e-fr__tag { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.e-fr__goal { font: 800 22px/1 var(--font-display); color: var(--ink-soft); }
.e-fr__opts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 14px; width: 100%; max-width: 640px; }
.e-fr__opt { min-height: clamp(84px, 16vh, 130px); }
.e-fr__make { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: center; }
.e-fr__count { font: 800 20px/1.2 var(--font-display); color: var(--ink-soft); }
.e-fr__pair { display: flex; gap: clamp(14px, 4vw, 40px); justify-content: center; flex-wrap: wrap; }
.e-fr__plate { border: 0; padding: 14px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.e-fr__plate .e-pizza { width: clamp(130px, 36vh, 280px); }
.e-fr__plate:hover { box-shadow: inset 0 0 0 3px var(--secondary), 0 5px 0 var(--secondary-hover); }
.e-fr__plate.is-right { background: var(--tema-daba); box-shadow: inset 0 0 0 4px var(--success), 0 5px 0 var(--success); }
@media (max-width: 720px) { .e-fr__scene { gap: 10px; } .e-pizza { width: min(56vw, 34vh); } .e-fr__plate { padding: 8px; } .e-fr__plate .e-pizza { width: min(34vw, 26vh); } .e-fr__opts { grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); grid-auto-columns: auto; gap: 10px; } .e-fr__opt { min-height: 76px; } .e-frac--big { font-size: clamp(36px, 8vh, 60px); } }

/* ---------- Dzinējs: četri rindā ---------- */
.e-c4 { display: flex; align-items: center; justify-content: center; gap: 28px; }
.e-c4.is-narrow { flex-direction: column; gap: 10px; }
.e-c4.is-narrow .e-bside { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.e-c4.is-narrow .e-bhint { display: none; }
.e-c4col { --cell: 56px; display: flex; flex-direction: column; gap: 4px; }
.e-c4drops { display: grid; grid-template-columns: repeat(7, var(--cell)); padding: 0 8px; }
.e-c4drop { height: calc(var(--cell) * .8); border: 0; background: none; cursor: pointer; color: var(--ink-soft); display: grid; place-items: center; border-radius: 12px; }
.e-c4drop svg { width: 55%; height: 55%; stroke: currentColor; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.e-c4drop.is-hover, .e-c4drop:focus-visible { color: #fff; background: #E5484D; }
.e-c4drop.p2.is-hover, .e-c4drop.p2:focus-visible { background: #F5B300; }
.e-c4drop:disabled { opacity: .25; cursor: default; background: none !important; color: var(--ink-soft) !important; }
.e-c4board { display: grid; grid-template-columns: repeat(7, var(--cell)); grid-auto-rows: var(--cell); padding: 8px; background: #2F6FDB; border-radius: 18px; box-shadow: 0 8px 0 #1F4FA8, inset 0 0 0 3px rgba(255,255,255,.15); overflow: hidden; }
.e-c4cell { display: grid; place-items: center; cursor: pointer; }
.e-c4cell.is-hover { background: rgba(255,255,255,.12); }
.e-disc { width: 80%; height: 80%; border-radius: 50%; background: #FFFBF2; box-shadow: inset 0 4px 0 rgba(43,45,66,.18); }
.e-disc.p1 { background: radial-gradient(circle at 50% 42%, #FF7A7E 0 34%, #E5484D 35% 100%); box-shadow: inset 0 -4px 0 #B42318; }
.e-disc.p2 { background: radial-gradient(circle at 50% 42%, #FFE08A 0 34%, #FFC94D 35% 100%); box-shadow: inset 0 -4px 0 #D99A00; }
.e-disc.is-drop { animation: c4-drop calc(.12s + var(--fall) * .06s) cubic-bezier(.4, 0, 1, 1); }
@keyframes c4-drop { from { transform: translateY(calc(var(--fall) * -110%)); } to { transform: translateY(0); } }
.e-disc.is-last { outline: 3px solid rgba(255,255,255,.75); outline-offset: 2px; }
.e-disc.is-win { animation: c4-win .9s ease-in-out infinite; outline: 4px solid #fff; outline-offset: 2px; }
@keyframes c4-win { 0%,100% { transform: scale(1); } 50% { transform: scale(1.12); } }
.e-bstatus.p2 { color: #B07800; }

/* ---------- Dzinējs: puzle ---------- */
.e-puzzle { display: flex; align-items: center; justify-content: center; gap: 32px; }
.e-puzzle.is-narrow { flex-direction: column-reverse; gap: 12px; }
.e-board { display: grid; gap: 3px; padding: 3px; background: var(--line); border-radius: var(--r-md); box-shadow: 0 6px 0 var(--line); transition: gap .5s ease-out, padding .5s ease-out; }
.e-board.is-solved { gap: 0; padding: 0; overflow: hidden; }
.e-tile { border: 0; padding: 0; background-color: #fff; background-repeat: no-repeat; border-radius: 6px; cursor: grab; touch-action: none; transition: transform .12s ease-out; }
.e-board.is-solved .e-tile { border-radius: 0; }
.e-tile.is-picked { outline: 5px solid var(--secondary); outline-offset: -5px; transform: scale(.93); position: relative; z-index: 1; }
.e-tile.is-hover { outline: 5px dashed var(--ink); outline-offset: -5px; }
.e-tile.is-ok { cursor: default; }
.e-tile:disabled { opacity: 1; }
.e-tile.is-dragging { position: fixed; z-index: 50; pointer-events: none; cursor: grabbing; box-shadow: 0 14px 28px rgba(43,45,66,.28); border-radius: 8px; }
.e-ref { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.e-ref img { border-radius: var(--r-sm); box-shadow: 0 0 0 3px var(--line), 0 4px 0 3px var(--line); }
.e-ref figcaption { font-weight: 800; font-size: 15px; color: var(--ink-soft); }

/* ---------- Dzinējs: galda spēles (dambrete, šahs) ---------- */
.e-bgame { position: relative; display: flex; align-items: center; justify-content: center; gap: 28px; }
.e-bgame.is-narrow { flex-direction: column; gap: 10px; }
.e-bboard { display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(8, 1fr); border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 6px #8A5A35, 0 10px 0 6px rgba(43,45,66,.18); flex: none; }
.e-sq { position: relative; border: 0; padding: 0; margin: 0; display: grid; place-items: center; cursor: pointer; min-width: 0; min-height: 0; }
.e-sq.is-light { background: #F7E4C0; }
.e-sq.is-dark { background: #B9844F; }
.e-bgame--checkers .e-sq.is-light { cursor: default; }
.e-sq:disabled { opacity: 1; }
.e-pc { width: 100%; height: 100%; display: grid; place-items: center; pointer-events: none; position: relative; z-index: 1; }
.e-sq.is-last { box-shadow: inset 0 0 0 999px rgba(255,201,77,.42); }
.e-sq.is-sel { box-shadow: inset 0 0 0 999px rgba(14,124,134,.35), inset 0 0 0 4px var(--secondary); }
.e-sq.is-target::after { content: ""; position: absolute; width: 30%; height: 30%; border-radius: 50%; background: rgba(14,124,134,.6); z-index: 2; pointer-events: none; }
.e-sq.is-capture::after { width: 86%; height: 86%; background: none; box-shadow: inset 0 0 0 5px rgba(180,35,24,.7); }
.e-sq.is-check { box-shadow: inset 0 0 0 999px rgba(229,72,77,.55); }
.e-sq.is-must .e-pc { animation: g-must 1.2s ease-in-out infinite; }
@keyframes g-must { 0%,100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.e-sq.is-must { box-shadow: inset 0 0 0 4px var(--sun); }
.e-sq.is-taken .e-pc { opacity: .3; }
.e-coord { position: absolute; font: 800 clamp(8px, 1.3vmin, 12px)/1 var(--font-body); pointer-events: none; z-index: 1; }
.e-coord--r { top: 3px; left: 3px; }
.e-coord--f { right: 3px; bottom: 3px; }
.is-light .e-coord { color: #8A5A35; }
.is-dark .e-coord { color: #F7E4C0; }
.pc { width: 88%; height: 88%; overflow: visible; filter: drop-shadow(0 2px 0 rgba(43,45,66,.25)); }
.pc path, .pc circle { stroke-width: 1.6; stroke-linejoin: round; }
.pc--w path, .pc--w circle { fill: #FFFBF2; stroke: #2B2D42; }
.pc--b path, .pc--b circle { fill: #2B2D42; stroke: #2B2D42; }
.pc .ln { fill: none !important; stroke-width: 2; stroke-linecap: round; }
.pc--b .ln { stroke: #FFFBF2; }
.pc .cr { fill: none !important; stroke: #2B2D42 !important; stroke-width: 3; stroke-linecap: round; }
.pc--w .eye { fill: #2B2D42; stroke: none; }
.pc--b .eye { fill: #FFFBF2; stroke: none; }
.ck { width: 84%; height: 84%; filter: drop-shadow(0 2px 1px rgba(43,45,66,.3)); }
.ck--w .ck__edge { fill: #CDBB98; } .ck--w .ck__top { fill: #FFFBF2; stroke: #8E7F63; stroke-width: 1; } .ck--w .ck__ring { fill: none; stroke: #D9CBB0; stroke-width: 2; }
.ck--b .ck__edge { fill: #15161F; } .ck--b .ck__top { fill: #3A3D57; stroke: #15161F; stroke-width: 1; } .ck--b .ck__ring { fill: none; stroke: #565A7A; stroke-width: 2; }
.ck__crown { fill: var(--sun); stroke: #2B2D42; stroke-width: 1.2; stroke-linejoin: round; }
.e-bside { width: 200px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.e-bgame.is-narrow .e-bside { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.e-bstatus { margin: 0; font: 800 22px/1.2 var(--font-display); }
.e-bgame.is-narrow .e-bstatus { font-size: 18px; }
.e-bhint { margin: 0; font-size: 15px; color: var(--ink-soft); }
.e-bgame.is-narrow .e-bhint { display: none; }
.e-bundo:disabled { opacity: .45; cursor: default; }
.e-bundo svg { width: 20px; height: 20px; }
.e-promo { position: absolute; inset: 0; margin: auto; width: fit-content; height: fit-content; z-index: 20; background: var(--surface); border-radius: var(--r-lg); padding: 18px 22px; box-shadow: 0 0 0 3px var(--line), 0 16px 40px rgba(43,45,66,.25); text-align: center; }
.e-promo p { margin: 0 0 12px; font: 800 20px var(--font-display); }
.e-promo__row { display: flex; gap: 10px; }
.e-promo__btn { width: 72px; height: 72px; border: 0; border-radius: var(--r-md); background: #F7E4C0; box-shadow: inset 0 0 0 3px var(--line); cursor: pointer; display: grid; place-items: center; }
.e-promo__btn:hover, .e-promo__btn:focus-visible { box-shadow: inset 0 0 0 4px var(--secondary); }

/* ---------- Dzinējs: pulkstenis ---------- */
.e-clk { width: 100%; max-width: 1000px; display: flex; flex-direction: column; align-items: center; gap: clamp(10px, 2.4vh, 22px); }
.e-clk__scene { display: flex; justify-content: center; }
.e-clock { display: block; overflow: visible; }
.e-clock--big { width: clamp(180px, 50vh, 400px); height: auto; }
.e-clock--mini { width: clamp(96px, 27vh, 200px); max-width: 100%; height: auto; }
.e-clock__rim { fill: #2B2D42; }
.e-clock__face { fill: #FFFFFF; }
.e-clock__tick { stroke: #9A9DB2; stroke-width: 1.6; stroke-linecap: round; }
.e-clock__tick.is-big { stroke: #2B2D42; stroke-width: 3.4; }
.e-clock__num { font: 800 22px/1 var(--font-display); fill: var(--ink); text-anchor: middle; }
.e-clock__min { font: 800 12px/1 var(--font-body); fill: var(--secondary); text-anchor: middle; }
.e-clock__hour { fill: var(--primary); stroke: #7C2D12; stroke-width: 1.5; stroke-linejoin: round; transition: transform .18s ease-out; }
.e-clock__minute { fill: var(--secondary); stroke: #0B4F55; stroke-width: 1.5; stroke-linejoin: round; transition: transform .18s ease-out; }
.e-clock__cap { fill: #2B2D42; stroke: #FFC94D; stroke-width: 3; }
.e-clock.is-edit { touch-action: none; cursor: grab; }
.e-clock.is-edit .e-clock__hour, .e-clock.is-edit .e-clock__minute { transition: none; }
.e-clock .is-active { filter: drop-shadow(0 0 4px rgba(255,201,77,.95)); }
.e-clock.is-shown .e-clock__hour, .e-clock.is-shown .e-clock__minute { transition: transform .6s ease-in-out; }
.e-clk__opts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 14px; width: 100%; max-width: 680px; }
.e-clk__opt { min-height: clamp(76px, 14vh, 110px); font: 800 clamp(30px, 6vh, 46px)/1 var(--font-display); font-variant-numeric: tabular-nums; }
.e-clk__opts--clocks { max-width: 760px; }
.e-clk__opts--clocks .e-clk__opt { place-items: center; }
.e-clk__opt--clock { padding: 10px; }
.e-clk__tag { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 28px; background: var(--surface); border-radius: var(--r-lg); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); }
.e-clk__dig { font: 800 clamp(44px, 10vh, 84px)/1 var(--font-display); color: var(--primary); font-variant-numeric: tabular-nums; }
.e-clk__words { font: 800 clamp(24px, 5vh, 38px)/1.15 var(--font-display); color: var(--secondary); text-align: center; }
.e-clk__set { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 4vw, 48px); width: 100%; }
.e-clk__side { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 360px; }
.e-clk__legend { margin: 0; display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 6px 8px; font-weight: 800; font-size: 15px; color: var(--ink-soft); }
.e-clk__legend i { width: 22px; height: 8px; border-radius: 4px; margin-left: 6px; }
.e-clk__legend i.is-hour, .e-clk__step.is-hour { background: var(--primary); }
.e-clk__legend i.is-minute, .e-clk__step.is-minute { background: var(--secondary); }
.e-clk__ctrls { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.e-clk__ctrl { display: flex; align-items: center; gap: 6px; padding: 4px; background: var(--surface); border-radius: 999px; box-shadow: inset 0 0 0 2px var(--line); }
.e-clk__ctrl span { font-weight: 800; font-size: 15px; min-width: 64px; text-align: center; }
.e-clk__step { width: 44px; height: 44px; border: 0; border-radius: 50%; color: #fff; font: 800 26px/1 var(--font-display); cursor: pointer; }
.e-clk__note { margin: 0; min-height: 1.4em; font-weight: 800; color: var(--danger); text-align: center; font-size: 16px; }
@media (max-width: 720px), (max-height: 520px) {
	.e-clk__set { flex-direction: column; gap: 8px; }
	.e-clock--big { width: min(72vw, 38vh); }
	.e-clk__side { gap: 8px; }
	.e-clk__tag { padding: 8px 18px; }
	.e-clk__dig { font-size: clamp(34px, 7vh, 56px); }
	.e-clk__words { font-size: clamp(20px, 4vh, 28px); }
	.e-clk__legend { display: none; }
	.e-clk__opts { gap: 8px; }
	.e-clk__opts:not(.e-clk__opts--clocks) { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto; max-width: 340px; }
	.e-clk__opt { min-height: 64px; font-size: 32px; }
	.e-clk__opts--clocks .e-clk__opt { padding: 6px; min-height: 0; }
	.e-clk__step { width: 40px; height: 40px; }
	.e-clk__ctrl span { min-width: 54px; font-size: 13px; }
}

/* ---------- Dzinējs: nauda ---------- */
.e-money { --coin: clamp(52px, 11.5vh, 100px); width: 100%; max-width: 1040px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); grid-template-areas: "shelf counter" "purse purse"; gap: clamp(10px, 2.2vh, 20px) clamp(14px, 3vw, 32px); align-items: center; }
.e-shelf { grid-area: shelf; display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.e-good { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 14px 16px; background: var(--surface); border-radius: var(--r-lg); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); }
.e-good img { width: clamp(90px, 26vh, 210px); height: clamp(90px, 26vh, 210px); object-fit: contain; }
.e-money.is-two .e-good img { width: clamp(70px, 19vh, 150px); height: clamp(70px, 19vh, 150px); }
.e-good__name { font: 800 17px/1.1 var(--font-display); color: var(--ink-soft); }
.e-price { font: 800 clamp(24px, 5vh, 38px)/1 var(--font-display); color: #fff; background: var(--primary); padding: 6px 14px; border-radius: 12px; box-shadow: 0 4px 0 var(--primary-hover); transform: rotate(-3deg); white-space: nowrap; }
.e-money.is-two .e-shelf { flex-wrap: nowrap; gap: 6px; }
.e-shelf__plus, .e-shelf__sum { font: 800 clamp(28px, 6vh, 44px)/1 var(--font-display); color: var(--ink-soft); }
.e-counter { grid-area: counter; display: flex; flex-direction: column; gap: 10px; }
.e-tray { position: relative; min-height: calc(var(--coin) * 2.1); padding: 12px; border-radius: var(--r-lg); background: #F3E3C3; box-shadow: inset 0 0 0 3px #D9C29A, inset 0 8px 0 rgba(43,45,66,.06); display: flex; align-items: center; justify-content: center; transition: box-shadow .12s; }
.e-tray.is-hover { box-shadow: inset 0 0 0 5px var(--secondary); }
.e-tray__hint { position: absolute; font-weight: 800; color: #9C8257; pointer-events: none; }
.e-tray__coins { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px; }
.e-payrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.e-tray__sum { font: 800 clamp(20px, 3.8vh, 28px)/1 var(--font-display); color: var(--ink); }
.e-pay:disabled { opacity: .45; cursor: default; }
.e-money__note { margin: 0; min-height: 1.3em; font-weight: 800; color: var(--danger); font-size: 16px; }
.e-purse { grid-area: purse; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(6px, 1.4vw, 16px); padding: 10px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); }
.e-coin { --d: 1; width: calc(var(--coin) * var(--d)); height: calc(var(--coin) * var(--d)); padding: 0; border: 0; border-radius: 50%; background: none; cursor: grab; touch-action: none; flex: none; filter: drop-shadow(0 3px 0 rgba(43,45,66,.25)); transition: transform .1s ease-out; }
.e-coin:hover { transform: translateY(-3px); }
.e-coin:active { transform: scale(.94); }
.e-coin svg { width: 100%; height: 100%; display: block; }
.e-coin.is-small { --coin: clamp(38px, 7.6vh, 68px); cursor: pointer; }
.e-coin.is-new { animation: g-pop .25s ease-out; }
.e-coin.is-lifted { opacity: .35; }
.e-coin.is-dragging { position: fixed; z-index: 50; pointer-events: none; transform: scale(1.12); filter: drop-shadow(0 12px 10px rgba(43,45,66,.3)); }
.e-coin .c-val { font: 800 34px/1 var(--font-display); text-anchor: middle; }
.e-coin .c-unit { font: 800 10px/1 var(--font-body); text-anchor: middle; letter-spacing: .08em; }
.e-coin--cu .c-rim { fill: #B8642E; } .e-coin--cu .c-face { fill: #E0915A; stroke: #CC7A42; stroke-width: 2; } .e-coin--cu text { fill: #5A2A0C; }
.e-coin--au .c-rim { fill: #C9A227; } .e-coin--au .c-face { fill: #F2D266; stroke: #DDB93E; stroke-width: 2; } .e-coin--au text { fill: #5C4708; }
.e-coin--e1 .c-rim { fill: #C3C8D0; stroke: #9AA1AC; stroke-width: 2; } .e-coin--e1 .c-in { fill: #EBC94F; stroke: #C9A227; stroke-width: 2; } .e-coin--e1 text { fill: #3A3D4F; }
.e-coin--e2 .c-rim { fill: #E7C24A; stroke: #C9A227; stroke-width: 2; } .e-coin--e2 .c-in { fill: #D3D7DE; stroke: #9AA1AC; stroke-width: 2; } .e-coin--e2 text { fill: #3A3D4F; }
.e-coin--e1 .c-val, .e-coin--e2 .c-val { font-size: 36px; }
.e-coin--e1 .c-unit, .e-coin--e2 .c-unit { font-size: 9px; }
@media (max-width: 720px), (max-height: 520px) {
	.e-money { --coin: clamp(42px, 8.4vh, 64px); grid-template-columns: minmax(0, 1fr); grid-template-areas: "shelf" "counter" "purse"; gap: 8px; }
	.e-good { flex-direction: row; padding: 6px 12px; gap: 10px; }
	.e-good img, .e-money.is-two .e-good img { width: clamp(48px, 9vh, 80px); height: clamp(48px, 9vh, 80px); }
	.e-money.is-two .e-good { flex-direction: column; gap: 2px; }
	.e-money.is-two .e-good__name { display: none; }
	.e-price { font-size: clamp(20px, 3.6vh, 28px); }
	.e-tray { min-height: calc(var(--coin) * 1.6); padding: 8px; }
	.e-coin.is-small { --coin: clamp(32px, 6vh, 48px); }
	.e-purse { padding: 6px; gap: 6px; }
	.e-pay { min-height: 52px; font-size: 19px; padding: 0 20px; }
	.e-money__note { font-size: 14px; }
}

/* ---------- Dzinējs: digitālais pulkstenis ---------- */
.e-lcd { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; background: #1F2433; border-radius: 14px; box-shadow: inset 0 0 0 3px #3A4157, 0 4px 0 #0F121B; }
.e-lcd__svg { width: clamp(96px, 16vh, 150px); height: auto; display: block; }
.e-lcd .on { fill: #5BF08F; filter: drop-shadow(0 0 3px rgba(91,240,143,.55)); }
.e-lcd .off { fill: #2A3244; }
.e-lcd .is-blink { animation: dclk-blink 1s steps(1) infinite; }
@keyframes dclk-blink { 50% { opacity: .15; } }
.e-lcd--big { padding: 16px 22px; border-radius: 22px; box-shadow: inset 0 0 0 4px #3A4157, 0 7px 0 #0F121B; }
.e-lcd--big .e-lcd__svg { width: clamp(200px, 38vh, 340px); }
.e-dclk__scene { position: relative; align-items: center; gap: 18px; }
.e-dpart { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 10px; border-radius: 999px; font: 800 22px/1 var(--font-display); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); }
.e-dpart svg { width: 40px; height: 40px; border-radius: 50%; }
.e-dpart--rits svg { background: #DFF3FF; } .e-dpart--diena svg { background: #BDEFF5; }
.e-dpart--vakars svg { background: #F3D3E8; } .e-dpart--nakts { background: #2B2D42; color: #fff; box-shadow: none; } .e-dpart--nakts svg { background: #3D4166; }
.e-dclk .e-dclk__scene { flex-direction: column; }
.e-dclk__opts--lcd .e-dclk__opt { padding: 10px; }
.e-dclk__opt.is-right { background: var(--tema-daba); }
.e-dclk__opts--words { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); grid-auto-columns: auto; max-width: 560px; gap: 10px; }
.e-dclk__word { min-height: 64px; font: 800 clamp(20px, 3.6vh, 30px)/1.15 var(--font-display); padding: 10px 16px; }
.e-dclk__set { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.e-dclk__arrows { display: flex; justify-content: space-around; width: 100%; padding: 0 6%; }
.e-dclk__arr { width: 64px; height: 48px; border: 0; border-radius: 14px; color: #fff; cursor: pointer; display: grid; place-items: center; }
.e-dclk__arr svg { width: 30px; height: 30px; stroke: currentColor; stroke-width: 3.4; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.e-dclk__arr.is-h { background: var(--primary); box-shadow: 0 4px 0 var(--primary-hover); }
.e-dclk__arr.is-m { background: var(--secondary); box-shadow: 0 4px 0 var(--secondary-hover); }
.e-dclk__arr:active { transform: translateY(3px); box-shadow: none; }
.e-dclk__hint { margin: 0; font-weight: 800; font-size: 14px; color: var(--ink-soft); text-align: center; }
@media (max-width: 720px), (max-height: 520px) {
	.e-dclk .e-dclk__scene { flex-direction: row; }
	.e-dclk .e-clock--big { width: min(56vw, 30vh); }
	.e-dpart { font-size: 17px; padding: 6px 12px 6px 6px; }
	.e-dpart svg { width: 30px; height: 30px; }
	.e-lcd__svg { width: clamp(90px, 13vh, 120px); }
	.e-lcd--big .e-lcd__svg { width: min(62vw, 28vh); }
	.e-dclk__arr { width: 56px; height: 42px; }
	.e-dclk .e-dclk__opts--words { grid-template-columns: minmax(0, 1fr); max-width: none; }
	.e-dclk .e-dclk__word { min-height: 52px; font-size: 19px; }
	.e-dclk .e-clk__opts--clocks { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 340px; }
	.e-dclk .e-clock--mini { width: min(30vw, 15vh); }
	.e-dclk__hint { display: none; }
}

/* ---------- Vilkšanas ēna (science) ---------- */
.is-ghost { position: fixed !important; z-index: 60; pointer-events: none; margin: 0 !important; box-shadow: 0 14px 26px rgba(43,45,66,.28) !important; transform: rotate(-3deg) scale(1.05); }
.is-lifted { opacity: .35; }

/* ---------- Dzinējs: sakārtošana (order) ---------- */
.e-ord { --slot: clamp(78px, 15vh, 128px); width: 100%; max-width: 1180px; display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 2vh, 18px); }
.e-ord.is-many { --slot: clamp(64px, min(11vw, 15vh), 118px); }
.e-ord__row { display: flex; align-items: stretch; justify-content: center; gap: 6px; flex-wrap: nowrap; padding: 10px 12px; border-radius: var(--r-lg); background: linear-gradient(90deg, #22264A, #3A3F78); box-shadow: 0 6px 0 #15183A; }
.e-ord__end { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: calc(var(--slot) * .7); font: 800 15px/1.1 var(--font-display); color: #FFE08A; text-align: center; }
.e-ord__end img { width: calc(var(--slot) * .9); height: calc(var(--slot) * .9); object-fit: contain; }
.e-ord__end.is-stop { color: #C9CCF5; }
.e-ord__slot { position: relative; width: var(--slot); min-height: calc(var(--slot) + 22px); border: 0; border-radius: 16px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 4px; cursor: pointer; color: #fff; }
.e-ord__slot.is-hover { box-shadow: inset 0 0 0 4px var(--sun); background: rgba(255,201,77,.18); }
.e-ord__num { font: 800 22px/1 var(--font-display); color: rgba(255,255,255,.55); }
.e-ord__slot.is-done { background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 2px rgba(91,240,143,.7); cursor: default; animation: g-pop .35s ease-out; }
.e-ord__slot img { width: 92%; height: auto; aspect-ratio: 1; object-fit: contain; }
.e-ord__name { font: 800 13px/1.1 var(--font-display); color: #fff; }
.e-ord__fact { margin: 0; min-height: 1.4em; font: 800 clamp(16px, 2.6vh, 21px)/1.3 var(--font-display); color: var(--secondary); text-align: center; max-width: 760px; }
.e-ord__pool { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; min-height: calc(var(--slot) + 30px); }
.e-ord__card { width: calc(var(--slot) * 1.05); border: 0; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 6px; cursor: grab; touch-action: none; }
.e-ord__card img { width: 100%; aspect-ratio: 1; object-fit: contain; pointer-events: none; }
.e-ord__card span { font: 800 15px/1.1 var(--font-display); pointer-events: none; }
.e-ord__card.is-picked { box-shadow: inset 0 0 0 4px var(--secondary), 0 5px 0 var(--secondary-hover); transform: translateY(-4px); }
@media (max-width: 720px), (max-height: 520px) {
	.e-ord { --slot: clamp(52px, 10.5vw, 84px); }
	.e-ord.is-many { --slot: clamp(40px, 10.6vw, 70px); }
	.e-ord__row { flex-wrap: wrap; padding: 8px; gap: 4px; }
	.e-ord__end { min-width: 0; font-size: 12px; }
	.e-ord__end img { width: calc(var(--slot) * .8); height: calc(var(--slot) * .8); }
	.e-ord__slot { min-height: calc(var(--slot) + 14px); border-radius: 12px; padding: 2px; }
	.e-ord__name { font-size: 10px; }
	.e-ord__num { font-size: 16px; }
	.e-ord__card { width: calc(var(--slot) * 1.15); padding: 4px; }
	.e-ord__card span { font-size: 12px; }
	.e-ord__fact { font-size: 15px; }
}

/* ---------- Dzinējs: nosaukumi attēlā (label) ---------- */
.g-stage > .e-lbl { margin: 0 auto; align-self: stretch; }
.e-lbl { width: 100%; max-width: 1080px; min-height: 0; display: flex; align-items: center; justify-content: center; gap: clamp(16px, 4vw, 48px); }
.e-lbl__fig { position: relative; height: 300px; width: 200px; flex: none; }
.e-lbl__img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.e-lbl__dot { position: absolute; width: 40px; height: 40px; margin: -20px 0 0 -20px; border: 0; padding: 0; border-radius: 50%; background: none; cursor: pointer; }
.e-lbl__pin { position: absolute; inset: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px var(--primary), 0 3px 6px rgba(0,0,0,.3); animation: lbl-pulse 1.6s ease-in-out infinite; }
@keyframes lbl-pulse { 50% { box-shadow: 0 0 0 7px rgba(194,65,12,.55), 0 3px 6px rgba(0,0,0,.3); } }
.e-lbl__dot.is-hover .e-lbl__pin { background: var(--sun); box-shadow: 0 0 0 6px var(--secondary); }
.e-lbl__dot.is-hint .e-lbl__pin { background: var(--sun); animation-duration: .6s; }
.e-lbl__dot.is-done { cursor: default; z-index: 2; }
.e-lbl__dot.is-done .e-lbl__pin { animation: none; background: var(--success); box-shadow: 0 0 0 3px #fff; }
.e-lbl__tag { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; font: 800 clamp(14px, 2.3vh, 19px)/1 var(--font-display); color: #fff; background: var(--success); padding: 6px 10px; border-radius: 10px; box-shadow: 0 3px 0 #1F5A22; animation: g-pop .3s ease-out; pointer-events: none; }
.e-lbl__tag.is-right { left: 34px; }
.e-lbl__tag.is-left { right: 34px; }
.e-lbl__side { display: flex; flex-direction: column; gap: 14px; width: min(340px, 40%); }
.e-lbl__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.e-lbl__chip { border: 0; border-radius: 14px; padding: 12px 16px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 clamp(17px, 2.8vh, 22px)/1.15 var(--font-display); cursor: grab; touch-action: none; text-align: left; }
.e-lbl.is-info .e-lbl__chip { font-size: clamp(15px, 2.3vh, 18px); width: 100%; }
.e-lbl__chip.is-picked { box-shadow: inset 0 0 0 4px var(--secondary), 0 4px 0 var(--secondary-hover); transform: translateY(-3px); }
.e-lbl__note { margin: 0; min-height: 1.3em; font-weight: 800; color: var(--secondary); font-size: 17px; }
.e-lbl__ask { padding: 16px 20px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); text-align: center; }
.e-lbl__q { font: 800 clamp(24px, 4.4vh, 36px)/1.15 var(--font-display); color: var(--primary); }
.e-lbl.is-info .e-lbl__q { font-size: clamp(19px, 3.2vh, 26px); }
@media (max-width: 720px), (max-height: 520px) {
	.e-lbl { flex-direction: column; gap: 8px; height: 100%; justify-content: flex-start; }
	.e-lbl__side { width: 100%; gap: 6px; }
	.e-lbl__chips { justify-content: center; gap: 6px; }
	.e-lbl__chip { padding: 8px 11px; font-size: 16px; }
	.e-lbl.is-info .e-lbl__chip { font-size: 14px; padding: 7px 10px; }
	.e-lbl__dot { width: 34px; height: 34px; margin: -17px 0 0 -17px; }
	.e-lbl__pin { inset: 8px; }
	.e-lbl__tag { font-size: 12px; padding: 4px 6px; }
	.e-lbl__tag.is-right { left: 26px; } .e-lbl__tag.is-left { right: 26px; }
	.e-lbl__ask { padding: 8px 12px; }
	.e-lbl__note { font-size: 14px; text-align: center; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-lbl { flex-direction: row; }
	.e-lbl__side { width: 45%; }
}

/* ---------- Dzinējs: reversi ---------- */
.e-rev { display: flex; align-items: center; justify-content: center; gap: 28px; }
.e-rev.is-narrow { flex-direction: column; gap: 10px; }
.e-rev.is-narrow .e-bside { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.e-rev.is-narrow .e-bhint { display: none; }
.e-rev.is-narrow .e-bstatus { font-size: 18px; }
.e-rev__board { --bs: 480px; width: var(--bs); height: var(--bs); display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(8, 1fr); gap: 2px; padding: 6px; background: #1E6B3A; border-radius: 14px; box-shadow: 0 0 0 5px #8A5A35, 0 10px 0 5px rgba(43,45,66,.2); flex: none; }
.e-rev__sq { position: relative; border: 0; padding: 0; background: #2E8B4E; border-radius: 3px; display: grid; place-items: center; cursor: default; min-width: 0; min-height: 0; }
.e-rev__sq.is-legal { cursor: pointer; }
.e-rev__sq.is-legal::after { content: ""; width: 26%; height: 26%; border-radius: 50%; background: rgba(0,0,0,.28); }
.e-rev__sq.is-legal.p2turn::after { background: rgba(255,255,255,.45); }
.e-rev__sq.is-legal:hover::after { width: 70%; height: 70%; background: rgba(0,0,0,.25); }
.e-rev__sq.is-last { box-shadow: inset 0 0 0 3px var(--sun); }
.e-rev__disc { position: absolute; width: 80%; height: 80%; border-radius: 50%; display: none; }
.e-rev__disc.p1 { display: block; background: radial-gradient(circle at 40% 35%, #5C5F77, #1B1C28 70%); box-shadow: 0 3px 0 rgba(0,0,0,.35); }
.e-rev__disc.p2 { display: block; background: radial-gradient(circle at 40% 35%, #FFFFFF, #DCD6C8 75%); box-shadow: 0 3px 0 rgba(0,0,0,.25); }
.e-rev__disc.is-flip { animation: rev-flip .4s ease-out; }
@keyframes rev-flip { 0% { transform: scaleX(1); } 50% { transform: scaleX(.05); } 100% { transform: scaleX(1); } }
.e-rev__score { display: flex; gap: 10px; }
.e-rev__cnt { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font: 800 22px/1 var(--font-display); }
.e-rev__cnt i { width: 22px; height: 22px; border-radius: 50%; }
.e-rev__cnt.p1 i { background: #1B1C28; } .e-rev__cnt.p2 i { background: #fff; box-shadow: inset 0 0 0 2px #CFC8B8; }
.e-rev__cnt.is-turn { box-shadow: inset 0 0 0 3px var(--secondary); }

/* ---------- Dzinējs: Hanojas torņi ---------- */
.e-han { width: 100%; max-width: 1000px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.e-han__top { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.e-han__count { display: flex; flex-direction: column; font-weight: 800; }
.e-han__count b { font: 800 24px/1.1 var(--font-display); }
.e-han__count span { color: var(--ink-soft); font-size: 15px; }
.e-han__area { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(6px, 2vw, 20px); height: clamp(220px, 52vh, 440px); }
.e-han__peg { position: relative; border: 0; padding: 0 0 18px; border-radius: var(--r-md); background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 3px var(--line); cursor: pointer; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.e-han__peg.is-goal { background: rgba(217,242,199,.7); }
.e-han__peg.is-sel, .e-han__peg.is-hover { box-shadow: inset 0 0 0 4px var(--secondary); }
.e-han__rod { position: absolute; left: 50%; bottom: 18px; width: 12px; margin-left: -6px; height: calc(min(100% - 40px, (var(--n) + 1.6) * min(9vh, 64px))); background: #A8794F; border-radius: 6px 6px 0 0; }
.e-han__base { position: absolute; left: 8%; right: 8%; bottom: 8px; height: 12px; background: #8A5A35; border-radius: 6px; }
.e-han__stack { position: relative; z-index: 1; width: 100%; display: flex; flex-direction: column-reverse; align-items: center; gap: 2px; }
.e-han__disk { width: calc(var(--w) * 94%); height: min(9vh, 52px, calc((52vh - 70px) / (var(--n) + 1.5))); min-height: 22px; border-radius: 12px; background: var(--c); box-shadow: inset 0 -5px 0 rgba(0,0,0,.18), 0 2px 0 rgba(0,0,0,.2); font: 800 15px/1 var(--font-display); color: rgba(255,255,255,.9); display: grid; place-items: center; touch-action: none; transition: transform .15s ease-out; }
.e-han__disk.is-up { transform: translateY(-22px); box-shadow: inset 0 -5px 0 rgba(0,0,0,.18), 0 10px 14px rgba(0,0,0,.25); }
.e-han__note { margin: 0; min-height: 1.3em; font-weight: 800; color: var(--danger); }
@media (max-height: 520px) { .e-han__area { height: calc(100vh - 190px); } }

/* ---------- Dzinējs: sudoku ---------- */
.e-sud { display: flex; align-items: center; justify-content: center; gap: 28px; }
.e-sud.is-narrow { flex-direction: column; gap: 10px; }
.e-sud__grid { --cell: 48px; display: grid; grid-template-columns: repeat(var(--n), var(--cell)); grid-auto-rows: var(--cell); background: #2B2D42; padding: 3px; gap: 1px; border-radius: 10px; flex: none; }
.e-sud__c { border: 0; padding: 0; background: #fff; font: 800 calc(var(--cell) * .56)/1 var(--font-display); color: var(--secondary); cursor: pointer; }
.e-sud__c.br { margin-right: 2px; } .e-sud__c.bb { margin-bottom: 2px; }
.e-sud__c.is-given { color: var(--ink); background: #F4EFE4; }
.e-sud__c.is-area { background: #E6F3F4; } .e-sud__c.is-given.is-area { background: #DCE9E6; }
.e-sud__c.is-same { background: #FFE9A8; }
.e-sud__c.is-sel { background: var(--sun); box-shadow: inset 0 0 0 3px var(--ink); }
.e-sud__c.is-ok { animation: g-pop .3s ease-out; }
.e-sud__side { display: flex; flex-direction: column; gap: 10px; max-width: 280px; }
.e-sud__pad { display: grid; grid-template-columns: repeat(3, 64px); gap: 8px; }
.e-sud[style*="--n:4"] .e-sud__pad, .e-sud[style*="--n: 4"] .e-sud__pad { grid-template-columns: repeat(2, 64px); }
.e-sud__key { height: 60px; border: 0; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 28px/1 var(--font-display); cursor: pointer; }
.e-sud__key:active { transform: translateY(3px); box-shadow: inset 0 0 0 3px var(--line); }
.e-sud__key.is-full { opacity: .35; }
.e-sud__hint { grid-column: 1 / -1; height: 48px; font-size: 18px; background: var(--surface-warm); }
.e-sud__info { margin: 0; min-height: 2.6em; font-weight: 800; color: var(--danger); font-size: 16px; }
.e-sud.is-narrow .e-sud__side { max-width: none; width: 100%; align-items: center; gap: 4px; }
.e-sud.is-narrow .e-sud__pad { grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; max-width: 420px; gap: 6px; }
.e-sud.is-narrow[style*="--n:4"] .e-sud__pad { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.e-sud.is-narrow .e-sud__key { height: 46px; font-size: 24px; }
.e-sud.is-narrow .e-sud__hint { grid-column: auto; height: 46px; font-size: 13px; }
.e-sud.is-narrow .e-sud__info { min-height: 1.3em; font-size: 14px; text-align: center; }

/* ---------- Dzinējs: nonogrammas ---------- */
.e-non { display: flex; align-items: center; justify-content: center; gap: 28px; }
.e-non.is-narrow { flex-direction: column; gap: 10px; }
.e-non__board { --cell: 32px; --rc: 2; --cc: 2; display: grid; grid-template-columns: calc(var(--cell) * var(--rc) * .75 + 6px) repeat(var(--c), var(--cell)); grid-template-rows: calc(var(--cell) * var(--cc) * .75 + 6px) repeat(var(--r), var(--cell)); user-select: none; touch-action: none; flex: none; }
.e-non__corner { grid-column: 1; grid-row: 1; }
.e-non__cc { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding-bottom: 4px; gap: 1px; background: #F1EADB; border-radius: 6px 6px 0 0; margin: 0 1px; }
.e-non__rc { display: flex; justify-content: flex-end; align-items: center; padding-right: 6px; gap: calc(var(--cell) * .3); background: #F1EADB; border-radius: 6px 0 0 6px; margin: 1px 0; }
.e-non__cc span, .e-non__rc span { font: 800 calc(var(--cell) * .5)/1 var(--font-display); color: var(--ink); min-width: .7em; text-align: center; }
.e-non__cc { gap: calc(var(--cell) * .12); }
.e-non__cc.is-done span, .e-non__rc.is-done span { color: #B9B2A2; }
.e-non__cell { border: 0; padding: 0; margin: 0; background: #fff; box-shadow: inset 0 0 0 1px #CFC6B4; cursor: pointer; position: relative; }
.e-non__cell.br { box-shadow: inset 0 0 0 1px #CFC6B4, inset -2px 0 0 #5C5F77; }
.e-non__cell.bb { box-shadow: inset 0 0 0 1px #CFC6B4, inset 0 -2px 0 #5C5F77; }
.e-non__cell.br.bb { box-shadow: inset 0 0 0 1px #CFC6B4, inset -2px -2px 0 #5C5F77; }
.e-non__cell.is-fill { background: var(--col); animation: g-pop .2s ease-out; }
.e-non__cell.is-x::after { content: "✕"; position: absolute; inset: 0; display: grid; place-items: center; font: 800 calc(var(--cell) * .5)/1 var(--font-body); color: #B9B2A2; }
.e-non__cell.is-bad::after { color: var(--danger); }
.e-non__board.is-solved .e-non__cell { box-shadow: none; transition: box-shadow .4s; }
.e-non__board.is-solved .e-non__cell.is-x::after { content: ""; }
.e-non__side { display: flex; flex-direction: column; gap: 12px; max-width: 240px; }
.e-non__tools { display: flex; gap: 8px; }
.e-non__tool { display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 14px; border: 0; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); font: 800 17px/1 var(--font-body); cursor: pointer; }
.e-non__tool.is-on { box-shadow: inset 0 0 0 4px var(--secondary); background: #E6F3F4; }
.e-non__tool i { width: 24px; height: 24px; border-radius: 5px; display: grid; place-items: center; font-style: normal; }
.e-non__tool .sw-fill { background: var(--ink); } .e-non__tool .sw-x { box-shadow: inset 0 0 0 2px #CFC6B4; color: var(--ink-soft); }
.e-non__note { margin: 0; font-weight: 800; color: var(--ink-soft); font-size: 15px; }
.e-non.is-narrow .e-non__side { max-width: none; width: 100%; flex-direction: row; align-items: center; justify-content: center; }
.e-non.is-narrow .e-non__note { display: none; }
.e-non.is-narrow .e-non__tool { height: 46px; }

/* ---------- Dzinējs: burbuļi ---------- */
.e-bub { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.e-bub__info { display: flex; gap: 16px; align-items: center; font-weight: 800; font-size: 16px; }
.e-bub__score { font: 800 20px/1 var(--font-display); }
.e-bub__drop { color: var(--ink-soft); }
.e-bub__drop.is-low { color: var(--danger); }
.e-bub__cv { display: block; border-radius: 18px; box-shadow: inset 0 0 0 3px var(--line), 0 6px 0 var(--line); touch-action: none; cursor: crosshair; }

/* ---------- Dzinējs: Pirkstu skola ---------- */
.e-typ { position: relative; width: 100%; max-width: 980px; display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 1.8vh, 16px); }
.e-typ__stats { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; font-weight: 800; color: var(--ink-soft); font-size: 15px; }
.e-typ__stats b { color: var(--ink); font-size: 18px; }
.e-typ__line { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; padding: 14px 18px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); font: 700 clamp(26px, 5.2vh, 44px)/1.3 ui-monospace, "Cascadia Mono", Consolas, monospace; letter-spacing: .02em; }
.e-typ__ch { color: #B9B2A2; border-bottom: 3px solid transparent; }
.e-typ__ch.is-ok { color: var(--success); }
.e-typ__ch.is-cur { color: var(--ink); border-bottom-color: var(--primary); background: #FFF1D6; animation: typ-blink 1s steps(1) infinite; }
.e-typ__ch.is-err { background: #FDE2E0; color: var(--danger); border-bottom-color: var(--danger); }
@keyframes typ-blink { 50% { border-bottom-color: transparent; } }
.e-typ__hint { margin: 0; min-height: 1.4em; display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: clamp(14px, 2.2vh, 18px); color: var(--ink-soft); text-align: center; }
.e-typ__hint i { width: 18px; height: 18px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 2px rgba(43,45,66,.2); }
.e-typ__hint.is-warn { color: var(--danger); }
.e-typ__kb { --k: clamp(30px, min(7.4vw, 7vh), 58px); display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px; border-radius: var(--r-lg); background: #2B2D42; }
.e-typ__row { display: flex; gap: 6px; }
.e-typ__row.r1 { margin-left: calc(var(--k, 52px) * .3); }
.e-typ__row.r2 { margin-left: calc(var(--k, 52px) * .8); }
.e-typ__key { width: var(--k); height: var(--k); border: 0; border-radius: 9px; background: var(--f); box-shadow: 0 3px 0 rgba(0,0,0,.35); font: 800 calc(var(--k) * .42)/1 var(--font-body); color: #2B2D42; cursor: pointer; position: relative; }
.e-typ__key.is-home::after { content: ""; position: absolute; left: 35%; right: 35%; bottom: 14%; height: 3px; border-radius: 2px; background: rgba(43,45,66,.6); }
.e-typ__key.is-next { outline: 4px solid #fff; outline-offset: 2px; transform: translateY(-2px); box-shadow: 0 0 0 7px var(--primary), 0 3px 0 rgba(0,0,0,.35); }
.e-typ__key.is-hit { animation: typ-hit .18s ease-out; }
.e-typ__key.is-bad { animation: g-shake .3s ease-out; background: var(--danger); color: #fff; }
@keyframes typ-hit { 50% { transform: translateY(3px); box-shadow: none; } }
.e-typ__space { width: calc(var(--k) * 6); font-size: 14px; }
.e-typ__mod { display: grid; place-items: center; height: var(--k); padding: 0 10px; border-radius: 9px; background: #5C5F77; color: #fff; font: 800 13px/1 var(--font-body); }
.e-typ__mod.is-next { outline: 4px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 7px var(--primary); }
.e-typ__focus { display: none; position: absolute; left: 50%; top: 38%; transform: translateX(-50%); z-index: 3; border: 0; border-radius: 16px; padding: 16px 22px; background: var(--primary); color: #fff; font: 800 18px/1.2 var(--font-body); box-shadow: 0 6px 0 var(--primary-hover); cursor: pointer; }
.e-typ.no-focus .e-typ__focus { display: block; }
@media (hover: none) and (pointer: coarse) { .e-typ.no-focus .e-typ__focus { display: none; } }
@media (max-width: 720px), (max-height: 520px) {
	.e-typ__line { font-size: clamp(20px, 6vw, 30px); padding: 8px 10px; }
	.e-typ__kb { --k: clamp(24px, 7.2vw, 44px); padding: 8px 5px; gap: 4px; }
	.e-typ__row { gap: 3px; }
	.e-typ__key { border-radius: 7px; }
	.e-typ__stats { gap: 10px; font-size: 13px; }
	.e-typ__stats b { font-size: 15px; }
}

/* ---------- Dzinējs: bloku mīkla ---------- */
.e-blk { --g: 420px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.e-blk__top { display: flex; gap: 20px; font-weight: 800; color: var(--ink-soft); }
.e-blk__top b { color: var(--ink); font: 800 22px/1 var(--font-display); }
.e-blk__main { display: flex; align-items: center; gap: 24px; }
.e-blk.is-narrow .e-blk__main { flex-direction: column; gap: 10px; }
.e-blk__grid { width: var(--g); height: var(--g); display: grid; grid-template-columns: repeat(8, 1fr); gap: 3px; padding: 6px; background: #3B3F5C; border-radius: 16px; box-shadow: 0 8px 0 #24263A; touch-action: none; }
.e-blk__c { border-radius: 5px; background: #4A4F70; }
.e-blk__c.is-on { background: var(--bc); box-shadow: inset 0 -4px 0 rgba(0,0,0,.2), inset 0 3px 0 rgba(255,255,255,.35); }
.e-blk__c.is-prev { background: rgba(255,255,255,.55); }
.e-blk__c.is-bad { background: rgba(229,72,77,.6); }
.e-blk__c.is-clear { animation: blk-clear .45s ease-out; }
@keyframes blk-clear { 0% { background: #fff; transform: scale(1.12); } 100% { transform: scale(1); } }
.e-blk__tray { display: flex; flex-direction: column; gap: 10px; }
.e-blk.is-narrow .e-blk__tray { flex-direction: row; }
.e-blk__slot { width: calc(var(--g) * .34); height: calc(var(--g) * .3); display: grid; place-items: center; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); }
.e-blk.is-narrow .e-blk__slot { width: calc(var(--g) * .31); height: calc(var(--g) * .31); }
.e-blk__slot.is-sel { box-shadow: inset 0 0 0 4px var(--secondary); }
.e-blk__piece { --cs: calc(var(--g) * .052); display: grid; grid-template-rows: repeat(var(--pr), var(--cs)); grid-template-columns: repeat(var(--pc), var(--cs)); gap: 2px; cursor: grab; touch-action: none; padding: 6px; }
.e-blk__piece span { border-radius: 4px; background: var(--bc); box-shadow: inset 0 -3px 0 rgba(0,0,0,.2), inset 0 2px 0 rgba(255,255,255,.35); }
.e-blk__piece.is-nofit { opacity: .35; }
.e-blk__piece.is-lifted { opacity: .2; }
.e-blk__ghost { position: fixed; z-index: 60; pointer-events: none; padding: 0; gap: 3px; opacity: .9; filter: drop-shadow(0 10px 12px rgba(0,0,0,.3)); }

/* ---------- Dzinējs: labirints ---------- */
.e-maz { display: flex; align-items: center; justify-content: center; gap: 24px; }
.e-maz.is-narrow { flex-direction: column; gap: 8px; }
.e-maz__board { --cs: 32px; --ws: 9px; position: relative; display: grid; grid-template-columns: var(--ws) repeat(var(--cols), var(--cs) var(--ws)); grid-template-rows: var(--ws) repeat(var(--rows), var(--cs) var(--ws)); background: #F3F7E4; border-radius: 12px; overflow: hidden; box-shadow: 0 0 0 4px #4E8A3A, 0 8px 0 4px rgba(43,45,66,.2); touch-action: none; flex: none; }
.e-maz__t.is-wall { background: #4E8A3A; box-shadow: 0 0 0 1px #4E8A3A; }
.e-maz__t.is-post { border-radius: 2px; }
.e-maz__item, .e-maz__actor, .e-maz__home { position: absolute; left: 0; top: 0; width: var(--cs); height: var(--cs); transform: translate(calc(var(--ws) + var(--x) * (var(--cs) + var(--ws))), calc(var(--ws) + var(--y) * (var(--cs) + var(--ws)))); display: grid; place-items: center; }
.e-maz__item img, .e-maz__home img { width: 90%; height: 90%; object-fit: contain; }
.e-maz__actor { transition: transform .14s linear; z-index: 3; }
.e-maz__actor img { width: 108%; height: 108%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.e-maz__actor.is-flip img { transform: scaleX(-1); }
.e-maz__actor.is-wolf { z-index: 2; transition-duration: .3s; }
.e-maz__actor.is-blink { animation: maz-blink .3s steps(1) 4; }
@keyframes maz-blink { 50% { opacity: .2; } }
.e-maz__home.is-locked { filter: grayscale(1); opacity: .55; }
.e-maz__item.is-got { animation: maz-got .35s ease-out forwards; }
@keyframes maz-got { to { transform: translate(calc(var(--ws) + var(--x) * (var(--cs) + var(--ws))), calc(var(--ws) + var(--y) * (var(--cs) + var(--ws)) - 20px)) scale(1.4); opacity: 0; } }
.e-maz__letter { font: 800 calc(var(--cs) * .62)/1 var(--font-display); color: #fff; }
.e-maz__letter::before { content: ""; position: absolute; inset: 8%; border-radius: 50%; background: var(--secondary); box-shadow: 0 3px 0 var(--secondary-hover); z-index: -1; }
.e-maz__letter { z-index: 1; isolation: isolate; }
.e-maz__side { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 200px; }
.e-maz.is-narrow .e-maz__side { flex-direction: row; width: 100%; justify-content: space-between; gap: 8px; }
.e-maz__top { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.e-maz__word { display: flex; gap: 4px; }
.e-maz__word span { width: 34px; height: 42px; display: grid; place-items: center; border-radius: 8px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font: 800 24px/1 var(--font-display); color: #B9B2A2; }
.e-maz__word span.is-got { background: var(--success); color: #fff; box-shadow: none; }
.e-maz__word span.is-next { box-shadow: inset 0 0 0 3px var(--secondary); color: var(--ink); }
.e-maz__carrots { display: flex; align-items: center; gap: 6px; font: 800 24px/1 var(--font-display); }
.e-maz__carrots img { width: 36px; height: 36px; }
.e-maz__lives { font-size: 22px; letter-spacing: 2px; }
.e-maz__pad { display: grid; grid-template-columns: repeat(3, 56px); grid-template-rows: repeat(2, 56px); gap: 6px; }
.e-maz__btn { border: 0; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font-size: 22px; color: var(--ink); cursor: pointer; touch-action: none; }
.e-maz__btn:active { transform: translateY(3px); box-shadow: inset 0 0 0 3px var(--line); }
.e-maz__btn.is-up { grid-column: 2; grid-row: 1; } .e-maz__btn.is-left { grid-column: 1; grid-row: 2; } .e-maz__btn.is-down { grid-column: 2; grid-row: 2; } .e-maz__btn.is-right { grid-column: 3; grid-row: 2; }
@media (max-width: 720px), (max-height: 520px) {
	.e-maz__word span { width: 26px; height: 32px; font-size: 18px; }
	.e-maz__pad { grid-template-columns: repeat(3, 48px); grid-template-rows: repeat(2, 46px); }
	.e-maz__carrots { font-size: 20px; }
	.e-blk__top b { font-size: 18px; }
}

/* ---------- Dzinējs: Sēņu meklētājs ---------- */
.e-min { display: flex; align-items: center; justify-content: center; gap: 24px; }
.e-min.is-narrow { flex-direction: column; gap: 8px; }
.e-min__grid { --cs: 40px; display: grid; grid-template-columns: repeat(var(--c), var(--cs)); grid-auto-rows: var(--cs); gap: 2px; padding: 6px; background: #3E6B2F; border-radius: 14px; box-shadow: 0 8px 0 #2A4A1F; user-select: none; }
.e-min__c { border: 0; padding: 0; border-radius: 6px; background: linear-gradient(160deg, #7BC65F, #5DA947); box-shadow: inset 0 -3px 0 rgba(0,0,0,.18), inset 0 2px 0 rgba(255,255,255,.3); cursor: pointer; display: grid; place-items: center; font: 800 calc(var(--cs) * .55)/1 var(--font-display); touch-action: manipulation; }
.e-min__c:hover { filter: brightness(1.08); }
.e-min__c.is-open { background: #F4EBD3; box-shadow: inset 0 0 0 1px #E2D4B2; cursor: default; }
.e-min__c img { width: 78%; height: 78%; object-fit: contain; pointer-events: none; }
.e-min__c.is-mine { background: #F4EBD3; }
.e-min__c.is-boom { background: #F7B4B0; animation: g-shake .4s; }
.e-min__c.n1 { color: #2F80ED; } .e-min__c.n2 { color: #27AE60; } .e-min__c.n3 { color: #E5484D; } .e-min__c.n4 { color: #6B3FA0; }
.e-min__c.n5 { color: #B5651D; } .e-min__c.n6 { color: #0E7C86; } .e-min__c.n7 { color: #2B2D42; } .e-min__c.n8 { color: #5C5F77; }
.e-min__side { display: flex; flex-direction: column; gap: 14px; width: 230px; }
.e-min.is-narrow .e-min__side { width: 100%; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.e-min.is-narrow .e-min__note { display: none; }
.e-min__top { display: flex; flex-direction: column; gap: 6px; font-weight: 800; color: var(--ink-soft); }
.e-min.is-narrow .e-min__top { flex-direction: row; gap: 14px; align-items: center; }
.e-min__top b { color: var(--ink); font: 800 20px/1 var(--font-display); }
.e-min__count { display: flex; align-items: center; gap: 4px; }
.e-min__count img { width: 30px; height: 30px; }
.e-min__mode { display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 14px; border: 0; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 16px/1 var(--font-body); cursor: pointer; }
.e-min__mode img { width: 30px; height: 30px; }
.e-min__mode.is-flag { box-shadow: inset 0 0 0 4px #F2994A, 0 4px 0 #D9822B; background: #FFF1D6; }
.e-min__note { margin: 0; font-weight: 700; font-size: 14px; color: var(--ink-soft); }

/* ---------- Dzinējs: vārdu meklēšana ---------- */
.e-ws { display: flex; align-items: center; justify-content: center; gap: 22px; }
.e-ws.is-narrow { flex-direction: column; gap: 8px; }
.e-ws__grid { --cs: 40px; display: grid; grid-template-columns: repeat(var(--n), var(--cs)); grid-auto-rows: var(--cs); padding: 8px; background: var(--surface); border-radius: 16px; box-shadow: inset 0 0 0 3px var(--line), 0 6px 0 var(--line); touch-action: none; user-select: none; }
.e-ws__c { display: grid; place-items: center; font: 800 calc(var(--cs) * .56)/1 var(--font-display); color: var(--ink); border-radius: 50%; cursor: pointer; }
.e-ws__c.is-found { background: hsl(var(--hue, 140) 70% 78%); border-radius: 8px; }
.e-ws__c.is-sel { background: var(--sun); border-radius: 50%; }
.e-ws__list { display: flex; flex-direction: column; gap: 6px; width: 230px; }
.e-ws.is-narrow .e-ws__list { width: 100%; flex-direction: row; flex-wrap: wrap; justify-content: center; }
.e-ws__w { display: flex; align-items: center; gap: 8px; padding: 4px 10px 4px 4px; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font: 800 18px/1 var(--font-display); }
.e-ws__w img { width: 40px; height: 40px; object-fit: contain; }
.e-ws__w.is-found { background: #E3F4DA; box-shadow: inset 0 0 0 2px var(--success); }
.e-ws__w.is-found span { text-decoration: line-through; color: var(--success); }
.e-ws.is-narrow .e-ws__w { padding: 2px 8px 2px 2px; font-size: 14px; }
.e-ws.is-narrow .e-ws__w img { width: 30px; height: 30px; }
.e-ws__list.is-pic .e-ws__w:not(.is-found) { padding: 4px; }

/* ---------- Dzinējs: krustvārdu mīkla ---------- */
.e-cw { display: flex; align-items: center; justify-content: center; gap: 22px; width: 100%; max-width: 1100px; }
.e-cw.is-narrow { flex-direction: column; gap: 8px; }
.e-cw__grid { --cs: 44px; display: grid; grid-template-columns: repeat(var(--cols), var(--cs)); grid-auto-rows: var(--cs); gap: 2px; flex: none; }
.e-cw__void { background: transparent; }
.e-cw__c { position: relative; border: 0; padding: 0; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 2px #CFC6B4; font: 800 calc(var(--cs) * .56)/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-cw__c.is-word { background: #E6F3F4; }
.e-cw__c.is-cur { background: var(--sun); box-shadow: inset 0 0 0 3px var(--ink); }
.e-cw__c.is-ok { background: #D9F2C7; box-shadow: inset 0 0 0 2px var(--success); color: #1F5A22; }
.e-cw__c.is-bad { background: #FDE2E0; box-shadow: inset 0 0 0 2px var(--danger); }
.e-cw__n { position: absolute; left: 3px; top: 2px; font: 800 calc(var(--cs) * .24)/1 var(--font-body); font-style: normal; color: var(--ink-soft); }
.e-cw__side { display: flex; flex-direction: column; gap: 10px; width: min(420px, 42%); }
.e-cw.is-narrow .e-cw__side { width: 100%; gap: 6px; }
.e-cw__clues { display: flex; flex-wrap: wrap; gap: 6px; }
.e-cw__clue { display: flex; align-items: center; gap: 6px; padding: 4px 10px 4px 6px; border: 0; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); cursor: pointer; font: 800 15px/1 var(--font-body); }
.e-cw__clue img { width: 44px; height: 44px; object-fit: contain; }
.e-cw__len { color: var(--ink-soft); font-size: 12px; }
.e-cw__clue.is-active { box-shadow: inset 0 0 0 3px var(--secondary); background: #E6F3F4; }
.e-cw__clue.is-done { opacity: .5; }
.e-cw__kb { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 4px; }
.e-cw__key { height: 40px; border: 0; border-radius: 8px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 3px 0 var(--line); font: 800 18px/1 var(--font-display); cursor: pointer; padding: 0; }
.e-cw__key:active { transform: translateY(2px); }
.e-cw__key.is-del { background: var(--surface-warm); }
.e-cw__key.is-hint { grid-column: span 2; font-size: 14px; background: #FFF1D6; }
.e-cw.is-narrow .e-cw__clue img { width: 32px; height: 32px; }
.e-cw.is-narrow .e-cw__clue { padding: 2px 8px 2px 4px; font-size: 13px; }
.e-cw.is-narrow .e-cw__key { height: 32px; font-size: 15px; }
.e-cw.is-narrow .e-cw__kb { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
.e-cw.is-narrow .e-cw__clues { gap: 4px; }

/* ---------- Romiešu cipari (kd-roman) ---------- */
.e-rom { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; padding: 6px 0; }
.e-rom__tab { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: min(360px, 90%); max-width: 100%; padding: 14px 34px 16px; border-radius: 18px; background: linear-gradient(180deg, #FBF7EE, #ECE2CC); box-shadow: inset 0 0 0 4px #CDBB94, 0 7px 0 #B9A57A; color: #5A4122; text-align: center; }
.e-rom__tab::before, .e-rom__tab::after { content: ""; position: absolute; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #CDBB94; }
.e-rom__tab::before { left: 12px; } .e-rom__tab::after { right: 12px; }
.e-rom__num { font: 700 clamp(40px, 10vh, 86px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: .08em; overflow-wrap: anywhere; }
.e-rom__tab.is-arabic .e-rom__num { font-family: var(--font-display); font-weight: 800; letter-spacing: 0; }
.e-rom__tab.is-small .e-rom__num { font-size: clamp(34px, 7.5vh, 64px); }
.e-rom__tab.is-calc .e-rom__num { font-size: clamp(30px, 7vh, 60px); letter-spacing: .04em; }
.e-rom__ctx { font-weight: 800; font-size: 15px; color: #8A7148; }
.e-rom__rn { font: 700 1em/1.05 Georgia, "Times New Roman", serif; letter-spacing: .05em; overflow-wrap: anywhere; }
.e-rom__opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 720px; }
.e-rom__opts.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.e-rom--valid .e-rom__opts, .e-rom--calc .e-rom__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.e-rom__opt { min-height: 84px; font-size: clamp(26px, 5vh, 40px); padding: 8px 10px; }
.e-rom--valid .e-rom__opt, .e-rom--calc .e-rom__opt { min-height: 72px; font-size: clamp(22px, 4.4vh, 34px); }
.e-rom--compare .e-rom__opt { min-height: 130px; font-size: clamp(30px, 8vh, 60px); background: linear-gradient(180deg, #FBF7EE, #ECE2CC); color: #5A4122; }
.e-rom--compare .e-rom__opt.is-right { background: var(--tema-daba); }
.e-rom__opt:disabled { opacity: .45; cursor: default; }
.e-rom__note { margin: 0; min-height: 1.4em; max-width: 680px; font-weight: 800; font-size: 16px; line-height: 1.35; color: var(--danger); text-align: center; }
.e-rom__note.is-ok { color: var(--success); }
.e-rom__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.e-rom__leg { display: inline-flex; align-items: baseline; gap: 6px; padding: 5px 14px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font-weight: 800; font-size: 16px; color: var(--ink-soft); }
.e-rom__leg b { font: 700 21px/1 Georgia, serif; color: #5A4122; }
.e-rom__row { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }
.e-rom__disp { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; min-height: 66px; flex: 0 1 420px; min-width: 0; padding: 8px 12px; border-radius: 16px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); align-items: center; }
.e-rom__ph { color: var(--ink-soft); font-weight: 700; font-size: 15px; }
.e-rom__val { font: 800 26px/1 var(--font-display); color: var(--ink-soft); min-width: 2.5em; }
.e-rom__tile { width: 48px; height: 52px; border: 0; border-radius: 12px; background: linear-gradient(180deg, #FBF7EE, #ECE2CC); box-shadow: inset 0 0 0 3px #CDBB94, 0 4px 0 #B9A57A; color: #5A4122; font: 700 30px/1 Georgia, serif; cursor: pointer; display: grid; place-items: center; padding: 0; }
.e-rom__tile.is-in { width: 40px; height: 46px; font-size: 26px; }
.e-rom__tile:active { transform: translateY(3px); box-shadow: inset 0 0 0 3px #CDBB94; }
.e-rom__pad { display: grid; grid-template-columns: repeat(8, auto); gap: 10px; justify-content: center; }
.e-rom__key { width: 64px; height: 70px; grid-template-rows: 1fr auto; padding: 6px 0 4px; }
.e-rom__key b { font: 700 34px/1 Georgia, serif; }
.e-rom__key small { font: 800 12px/1 var(--font-display); color: #8A7148; }
.e-rom__bs { width: 64px; height: 70px; background: var(--surface-warm, #FFF1D6); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); color: var(--ink); }
.e-rom__bs svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.e-rom__act { display: flex; justify-content: center; }
.e-rom.is-narrow .e-rom__opts:not(.is-two) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px) {
	.e-rom { gap: 10px; }
	.e-rom__opts:not(.is-two) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.e-rom__opt { min-height: 64px; }
	.e-rom--valid .e-rom__opt, .e-rom--calc .e-rom__opt { min-height: 58px; font-size: 22px; }
	.e-rom--compare .e-rom__opt { min-height: 100px; font-size: 34px; }
	.e-rom__tab { padding: 10px 26px 12px; }
	.e-rom__tab.is-calc .e-rom__num { font-size: 28px; letter-spacing: .02em; }
	.e-rom__val { font-size: 20px; min-width: 2em; }
	.e-rom__pad { grid-template-columns: repeat(4, auto); gap: 8px; }
	.e-rom__key, .e-rom__bs { width: 60px; height: 58px; }
	.e-rom__key b { font-size: 28px; }
	.e-rom__disp { min-height: 58px; }
	.e-rom__note { font-size: 14px; }
	.e-rom__leg { font-size: 12px; padding: 2px 8px; }
	.e-rom__leg b { font-size: 15px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-rom { gap: 6px; padding: 0; }
	.e-rom__tab { padding: 4px 26px 6px; box-shadow: inset 0 0 0 3px #CDBB94, 0 4px 0 #B9A57A; }
	.e-rom__num, .e-rom__tab.is-small .e-rom__num { font-size: 34px; }
	.e-rom__tab.is-calc .e-rom__num { font-size: 28px; }
	.e-rom__ctx { font-size: 12px; }
	.e-rom__opts:not(.is-two) { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; gap: 8px; }
	.e-rom__opt, .e-rom--valid .e-rom__opt, .e-rom--calc .e-rom__opt { min-height: 46px; font-size: 20px; padding: 4px 6px; }
	.e-rom--compare .e-rom__opt { min-height: 80px; font-size: 32px; }
	.e-rom__pad { grid-template-columns: repeat(8, auto); gap: 6px; }
	.e-rom__key, .e-rom__bs { width: 50px; height: 44px; padding: 2px 0; }
	.e-rom__key b { font-size: 22px; } .e-rom__key small { font-size: 10px; }
	.e-rom__disp { min-height: 44px; padding: 4px 8px; }
	.e-rom__tile.is-in { width: 32px; height: 36px; font-size: 20px; }
	.e-rom__act .g-btn--lg { min-height: 40px; font-size: 17px; padding: 0 20px; }
	.e-rom__note { font-size: 12px; min-height: 0; }
	.e-rom__legend { display: none; }
}

/* ---------- Mēness fāzes (kd-moon) ---------- */
.e-moon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; padding: 6px 0; }
.e-moon__scene { display: flex; align-items: center; justify-content: center; gap: 18px; }
.e-moon__big { width: clamp(120px, 34vh, 250px); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, #2B3160 0 60%, #1E2347 100%); box-shadow: 0 6px 0 #151a38; padding: 8%; }
.e-moon__big.is-q { font: 800 clamp(48px, 10vh, 80px)/1 var(--font-display); color: #FFE08A; }
.e-moon__big.is-mid { width: clamp(100px, 22vh, 160px); }
.e-moon__arrow { font: 800 48px/1 var(--font-display); color: var(--ink-soft); }
.e-moon__svg { width: 100%; height: 100%; display: block; overflow: visible; }
.e-moon__glow { fill: none; }
.e-moon__dark { fill: #3D4470; }
.e-moon__lit { fill: #FBF3D2; }
.e-moon__mare { fill: #E3D6A8; }
.e-moon__crater { fill: none; stroke: #DCCD9C; stroke-width: 1.5; }
.e-moon__rim { fill: none; stroke: #59618F; stroke-width: 1.5; }
.e-moon__opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 760px; }
.e-moon__opts.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
.e-moon__opts.is-words { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; }
.e-moon__opt { min-height: 72px; font-size: clamp(18px, 3.6vh, 26px); line-height: 1.15; padding: 10px; }
.e-moon__opts.is-two .e-moon__opt { min-height: 84px; display: flex; flex-direction: column; gap: 4px; }
.e-moon__opts.is-two .e-moon__opt b { font-size: clamp(24px, 4.4vh, 32px); }
.e-moon__opts.is-two .e-moon__opt small { font: 700 14px/1 var(--font-body, inherit); color: var(--ink-soft); }
.e-moon__opts.is-moons .e-moon__opt, .e-moon__chip { background: #2B3160; box-shadow: inset 0 0 0 3px #4A5288, 0 5px 0 #151a38; padding: 10px; }
.e-moon__opts.is-moons .e-moon__opt.is-right, .e-moon__chip.is-right { background: #2E6B4F; box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 var(--success); }
.e-moon__opt:disabled { opacity: .45; cursor: default; }
.e-moon .is-small { width: clamp(52px, 12vh, 96px); height: auto; aspect-ratio: 1; }
.e-moon__note { margin: 0; min-height: 1.4em; max-width: 680px; font-weight: 800; font-size: 16px; line-height: 1.35; color: var(--danger); text-align: center; }
.e-moon__note.is-ok { color: var(--success); }
.e-moon__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; width: 100%; max-width: 820px; }
.e-moon__slot { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; min-height: clamp(96px, 19vh, 132px); padding: 8px 4px; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); border: 0; }
.e-moon__slot.is-on { background: #2B3160; box-shadow: inset 0 0 0 3px #4A5288; }
.e-moon__num { position: absolute; top: 4px; left: 8px; font: 800 14px/1 var(--font-display); color: var(--ink-soft); }
.e-moon__slot.is-on .e-moon__num { color: #C9CDEB; }
.e-moon__cap { font-weight: 800; font-size: 12px; line-height: 1.1; color: #FBF3D2; text-align: center; }
.e-moon__pool { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.e-moon__chip { min-height: 0; }
.e-moon__chip.is-used { visibility: hidden; }
.e-moon__scene.is-orbit, .e-moon__orbwrap { width: min(100%, 440px, 62vh); }
.e-moon__scene.is-place { flex-wrap: wrap; }
.e-moon__orbit { width: 100%; height: auto; display: block; background: #1E2347; border-radius: var(--r-md); box-shadow: 0 6px 0 #151a38; }
.e-moon__ray { stroke: #FFC94D; stroke-width: 2.5; stroke-linecap: round; }
.e-moon__rayhead { fill: #FFC94D; }
.e-moon__lbl { font: 800 11px var(--font-display); fill: #C9CDEB; }
.e-moon__lbl.is-dim { font-size: 9px; fill: #7A82B4; }
.e-moon__path { fill: none; stroke: #59618F; stroke-width: 1.5; stroke-dasharray: 4 5; }
.e-moon__earth { fill: #4FA3E0; }
.e-moon__land { fill: #6CC46C; }
.e-moon__night { fill: rgba(10, 14, 40, .55); }
.e-moon__dot { fill: #59618F; }
.e-moon__m-dark { fill: #3D4470; }
.e-moon__m-lit { fill: #FBF3D2; }
.e-moon__m-rim { fill: none; stroke: #8A92C4; stroke-width: 1.2; }
.e-moon__spot.is-active .e-moon__m-rim { stroke: #FFE08A; stroke-width: 2.5; }
.e-moon__look { stroke: #FFE08A; stroke-width: 2.5; stroke-dasharray: 3 4; marker-end: none; }
.e-moon__hit { fill: rgba(255, 255, 255, .06); stroke: rgba(255, 255, 255, .25); stroke-width: 1.5; }
.e-moon__spot[role=button] { cursor: pointer; }
.e-moon__spot[role=button]:hover .e-moon__hit, .e-moon__spot[role=button]:focus .e-moon__hit { fill: rgba(255, 224, 138, .25); stroke: #FFE08A; }
.e-moon__spot.is-bad { opacity: .35; }
.e-moon__spot:focus { outline: none; }
@media (max-width: 720px) {
	.e-moon { gap: 10px; }
	.e-moon__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.e-moon__opts.is-words { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.e-moon .e-moon__opt { min-height: 54px; font-size: 17px; }
	.e-moon .e-moon__opts.is-two .e-moon__opt b { font-size: 22px; }
	.e-moon__big { width: clamp(110px, 24vh, 170px); }
	.e-moon--next .e-moon__big { width: min(32vw, 22vh); }
	.e-moon__track { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.e-moon__slot { min-height: 88px; }
	.e-moon__cap { font-size: 10px; }
	.e-moon .is-small { width: clamp(44px, 8vh, 64px); }
	.e-moon__note { font-size: 14px; }
	.e-moon__arrow { font-size: 32px; }
	.e-moon__scene { gap: 10px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-moon { flex-direction: row; flex-wrap: wrap; gap: 8px 18px; padding: 0; align-content: center; }
	.e-moon__big { width: 120px; }
	.e-moon__big.is-mid { width: 90px; }
	.e-moon__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 440px; gap: 8px; }
	.e-moon .e-moon__opt { min-height: 48px; font-size: 16px; padding: 6px; }
	.e-moon .is-small { width: 54px; }
	.e-moon__note { flex-basis: 100%; font-size: 12px; min-height: 0; }
	.e-moon__track, .e-moon--sequence .e-moon__pool { flex-basis: 100%; }
	.e-moon--sequence { flex-direction: column; flex-wrap: nowrap; }
	.e-moon__slot { min-height: 78px; padding: 4px; }
	.e-moon .e-moon__slot .is-small { width: 40px; }
	.e-moon__scene.is-orbit, .e-moon__orbwrap { width: min(46vw, 64vh); }
	.e-moon__scene.is-place { flex-wrap: nowrap; }
}

/* ---------- Viktorīna un kalendārs (kd-quiz) ---------- */
.e-qz { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; padding: 6px 0; }
.e-qz__card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 18px; border-radius: var(--r-lg, 24px); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 6px 0 var(--line); }
.e-qz__img { display: block; width: clamp(130px, 32vh, 240px); height: auto; aspect-ratio: 1; object-fit: contain; }
.e-qz__img.is-opt { width: clamp(80px, 18vh, 140px); }
.e-qz__name { font: 800 clamp(18px, 3.4vh, 26px)/1.1 var(--font-display); }
.e-qz__word { padding: 10px 26px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); font: 800 clamp(24px, 5vh, 40px)/1.1 var(--font-display); }
.e-qz__opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 760px; }
.e-qz__opts.is-words { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; }
.e-qz__opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 620px; }
.e-qz__opts.is-groups.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; }
.e-qz__opts.is-groups.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
.e-qz__opt { min-height: 72px; font-size: clamp(20px, 4vh, 28px); line-height: 1.15; padding: 10px; }
.e-qz__opts.is-pics .e-qz__opt { padding: 6px; }
.e-qz__opts.is-groups .e-qz__opt, .e-qz__opts.is-seasons .e-qz__opt, .e-qz__opts.is-three .e-qz__opt { display: flex; flex-direction: column; gap: 4px; min-height: 84px; background: var(--gc, var(--surface)); }
.e-qz__opt b { font-size: clamp(20px, 4.2vh, 30px); }
.e-qz__opt small { font: 700 14px/1.2 inherit; color: var(--ink-soft); }
.e-qz__opts.is-seasons .e-qz__opt img { width: clamp(44px, 9vh, 72px); height: auto; aspect-ratio: 1; object-fit: contain; }
.e-qz__opt:disabled { opacity: .45; cursor: default; }
.e-qz__note { margin: 0; min-height: 1.4em; max-width: 680px; font-weight: 800; font-size: 16px; line-height: 1.35; color: var(--danger); text-align: center; }
.e-qz__note.is-ok { color: var(--success); }
.e-qz__track { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 980px; counter-reset: s; }
.e-qz__track.is-long { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.e-qz__slot { counter-increment: s; position: relative; min-height: clamp(48px, 9vh, 70px); display: grid; place-items: center; padding: 14px 4px 6px; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font: 800 clamp(13px, 2.6vh, 19px)/1.1 var(--font-display); text-align: center; overflow-wrap: anywhere; }
.e-qz__slot::before { content: counter(s); position: absolute; top: 3px; left: 7px; font-size: 11px; color: var(--ink-soft); }
.e-qz__slot.is-on { background: #E3F5D3; box-shadow: inset 0 0 0 2px var(--success); }
.e-qz__pool { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 960px; }
.e-qz__chip { border: 0; border-radius: 14px; padding: clamp(10px, 2vh, 16px) clamp(14px, 2.4vh, 22px); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 clamp(17px, 3.6vh, 26px)/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-qz__chip:hover { box-shadow: inset 0 0 0 3px var(--secondary), 0 4px 0 var(--secondary-hover); }
.e-qz__chip.is-used { visibility: hidden; }
.e-cal__scene { display: flex; align-items: center; justify-content: center; gap: 16px; }
.e-cal__page { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: clamp(200px, 42vh, 330px); min-height: clamp(120px, 26vh, 200px); padding: 26px 22px 16px; border-radius: 18px; background: linear-gradient(var(--sc, #FFE9A8) 0 34%, var(--surface) 34%); box-shadow: inset 0 0 0 3px var(--line), 0 6px 0 var(--line); }
.e-cal__page.is-day { --sc: #C9E6FF; }
.e-cal__page.is-day.is-weekend { --sc: #FFD9C7; }
.e-cal__page b { font: 800 clamp(28px, 7vh, 54px)/1.1 var(--font-display); margin-top: 18px; }
.e-cal__page small { font-weight: 800; font-size: 15px; color: var(--ink-soft); }
.e-cal__page.is-day small { position: absolute; top: 12px; }
.e-cal__rings { position: absolute; top: -8px; left: 22%; right: 22%; height: 18px; background: radial-gradient(circle, #8A8FA8 0 5px, transparent 6px) 0 0 / 33.3% 100% repeat-x; }
.e-cal__q { display: grid; place-items: center; width: clamp(70px, 14vh, 110px); aspect-ratio: 1; border-radius: 18px; border: 3px dashed var(--line); font: 800 clamp(36px, 7vh, 60px)/1 var(--font-display); color: var(--ink-soft); }
@media (max-width: 720px) {
	.e-qz { gap: 10px; }
	.e-qz__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.e-qz__opts.is-groups.n3, .e-qz__opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-qz .e-qz__opt { min-height: 54px; font-size: 17px; padding: 6px; }
	.e-qz .e-qz__opt b { font-size: 17px; }
	.e-qz .e-qz__opt small { font-size: 11px; }
	.e-qz__img { width: clamp(110px, 26vh, 180px); }
	.e-qz__track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.e-qz__track.is-long { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.e-qz__slot { font-size: 12px; min-height: 40px; padding: 12px 2px 4px; }
	.e-qz__chip { padding: 8px 10px; font-size: 15px; }
	.e-qz__note { font-size: 14px; }
	.e-cal__page { min-width: 150px; min-height: 96px; padding: 22px 14px 10px; }
	.e-cal__page b { font-size: 26px; }
	.e-cal__q { width: 60px; font-size: 32px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-qz { flex-direction: row; flex-wrap: wrap; align-content: center; gap: 8px 18px; padding: 0; }
	.e-qz__img { width: 120px; }
	.e-qz__img.is-opt { width: 64px; }
	.e-qz__card { padding: 4px 10px; }
	.e-qz__opts, .e-qz__opts.is-words { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 440px; gap: 8px; }
	.e-qz__opts.is-groups.n3, .e-qz__opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-qz .e-qz__opt { min-height: 46px; font-size: 16px; padding: 4px 6px; }
	.e-qz .e-qz__opt b { font-size: 16px; }
	.e-qz__note { flex-basis: 100%; font-size: 12px; min-height: 0; }
	.e-qz__word { font-size: 24px; padding: 6px 18px; }
	.e-qz--seq, .e-cal--weekOrder, .e-cal--monthOrder { flex-direction: column; flex-wrap: nowrap; }
	.e-qz__slot { min-height: 34px; padding: 10px 2px 3px; font-size: 12px; }
	.e-qz__chip { padding: 6px 10px; font-size: 14px; }
	.e-cal__page { min-width: 150px; min-height: 90px; padding: 18px 12px 8px; }
	.e-cal__page b { font-size: 24px; margin-top: 12px; }
	.e-qz__opts.is-seasons .e-qz__opt img { width: 36px; }
}

/* ---------- Domino (kd-domino) ---------- */
.e-dom { --ht: 52px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px; width: 100%; height: 100%; padding: 4px 0; }
.e-dom__opp { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px; font-weight: 800; color: var(--ink-soft); font-size: 15px; }
.e-dom__backs { display: inline-flex; gap: 4px; }
.e-dom__back { width: 16px; height: 30px; border-radius: 4px; background: linear-gradient(135deg, #8B5A2B, #A86F3A); box-shadow: inset 0 0 0 2px #6B4220; }
.e-dom__pile { padding: 3px 10px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); }
.e-dom__board { flex: 1; width: 100%; display: flex; align-items: center; justify-content: center; border-radius: var(--r-lg, 24px); background: radial-gradient(ellipse at 50% 40%, #3F8F5A, #2E6E45); box-shadow: inset 0 0 0 6px #6B4220, inset 0 0 0 9px #8B5A2B; padding: 14px 8px; min-height: 120px; }
.e-dom__chain { --ct: 44px; display: flex; align-items: center; justify-content: center; gap: 3px; flex-wrap: nowrap; max-width: 100%; }
.e-dom__tile { --t: var(--ct); display: inline-flex; align-items: stretch; flex: 0 0 auto; height: var(--t); border-radius: calc(var(--t) * .18); background: linear-gradient(180deg, #FFFDF6, #EFE6D2); box-shadow: inset 0 0 0 2px #2B2D42, 0 3px 0 rgba(0,0,0,.25); padding: 0; border: 0; font: inherit; color: #2B2D42; }
.e-dom__half { width: var(--t); height: var(--t); display: grid; place-items: center; font: 800 calc(var(--t) * .5)/1 var(--font-display); }
.e-dom__half.is-expr { font-size: calc(var(--t) * .34); letter-spacing: -.02em; }
.e-dom__half img { width: 78%; height: 78%; object-fit: contain; }
.e-dom__dots { width: 86%; height: 86%; fill: #2B2D42; }
.e-dom__bar { width: 2px; margin: 18% 0; background: #2B2D42; border-radius: 2px; }
.e-dom__tile.is-new { animation: e-dom-in .45s ease-out; }
@keyframes e-dom-in { from { transform: scale(1.35); box-shadow: 0 0 0 6px #FFE08A; } to { transform: none; } }
.e-dom__end { width: calc(var(--ct) * .9); height: var(--ct); border-radius: 10px; border: 3px dashed rgba(255,255,255,.35); background: transparent; color: rgba(255,255,255,.5); font-size: calc(var(--ct) * .4); cursor: pointer; padding: 0; flex: 0 0 auto; }
.e-dom__end.is-on { border-color: #FFE08A; color: #FFE08A; background: rgba(255,224,138,.18); animation: e-dom-pulse 1s ease-in-out infinite; }
@keyframes e-dom-pulse { 50% { transform: scale(1.08); } }
.e-dom__more { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: rgba(255,255,255,.85); font-weight: 800; font-size: 14px; color: #2B2D42; }
.e-dom__start { padding: 14px 22px; border-radius: 16px; border: 3px dashed rgba(255,255,255,.6); color: #fff; font-weight: 800; font-size: 18px; }
.e-dom__note { margin: 0; min-height: 1.35em; font-weight: 800; font-size: 15px; color: var(--ink); text-align: center; max-width: 720px; }
.e-dom__hand { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 900px; }
.e-dom__tile.is-hand { --t: var(--ht); cursor: pointer; transition: transform .15s; }
.e-dom__tile.is-hand:hover { transform: translateY(-4px); }
.e-dom__tile.is-sel { transform: translateY(-8px); box-shadow: inset 0 0 0 3px var(--secondary), 0 0 0 4px #FFE08A, 0 6px 0 rgba(0,0,0,.2); }
.e-dom__tile.is-hint { animation: e-dom-pulse .9s ease-in-out infinite; box-shadow: inset 0 0 0 3px var(--success), 0 0 0 4px rgba(39,174,96,.35), 0 3px 0 rgba(0,0,0,.25); }
.e-dom__tile.is-wrong { animation: g-shake .4s; }
.e-dom__bar-row { display: flex; justify-content: center; }
.e-dom__draw.is-need { background: #FFE08A; animation: e-dom-pulse 1.2s ease-in-out infinite; }
.e-dom.is-narrow .e-dom__hand { gap: 6px; }
.e-dom.is-narrow .e-dom__back { width: 10px; height: 20px; }
.e-dom.is-narrow .e-dom__opp { font-size: 13px; }
.e-dom.is-narrow .e-dom__note { font-size: 13px; }
@media (max-height: 520px) and (min-width: 600px) {
	.e-dom { gap: 4px; }
	.e-dom__board { min-height: 80px; padding: 6px; }
	.e-dom__note { font-size: 12px; min-height: 0; }
	.e-dom__back { width: 10px; height: 18px; }
	.e-dom__draw { min-height: 36px; padding: 0 14px; font-size: 14px; }
}

/* ---------- Mazi ekrāni ---------- */
@media (max-width: 720px), (max-height: 520px) {
	.g-start { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 8px; text-align: center; background: radial-gradient(circle at 50% 22%, var(--accent) 0 26%, transparent 26.5%); }
	.g-start__char { width: min(52vw, 220px); }
	.g-start__text { align-items: center; }
	.g-title { font-size: 30px; }
	.g-intro { font-size: 17px; }
	.g-levels { justify-content: center; }
	.g-level { min-width: 0; flex: 1 1 30%; min-height: 64px; padding: 8px 10px; }
	.g-hud { padding: 8px 10px; gap: 8px; flex-wrap: wrap; }
	.g-hud__prompt { font-size: 18px; flex: 1 1 60%; }
	.g-hud__char { width: 36px; height: 36px; }
	.e-opt { min-height: 76px; font-size: 34px; }
	.e-options--shapes .e-opt { min-height: 100px; }
	.e-options--groups .e-opt { min-height: 120px; padding: 8px; }
	.e-bin { min-height: 110px; }
	.e-bin__label { font-size: 16px; }
	.g-end__title { font-size: 32px; }
	.g-stars svg { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

@media (max-height: 520px) and (min-width: 600px) {
	.e-cw__key { height: 26px; font-size: 13px; border-radius: 6px; }
	.e-cw__kb { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
	.e-cw__clue img { width: 26px; height: 26px; }
	.e-cw__clue { padding: 2px 6px 2px 3px; font-size: 12px; }
	.e-cw__side { gap: 5px; }
}
/* Telefons guļus: zems ekrāns – pulksteņu spēles izkārto rindā */
@media (max-height: 520px) and (min-width: 600px) {
	.e-clk__set { flex-direction: row; gap: 20px; }
	.e-clock--big, .e-dclk .e-clock--big { width: min(34vw, 44vh); }
	.e-dclk .e-dclk__scene { flex-direction: column; gap: 6px; }
	.e-lcd--big { padding: 8px 12px; }
	.e-lcd--big .e-lcd__svg { width: min(30vw, 26vh); }
	.e-clk { flex-direction: row; justify-content: center; gap: 20px; }
	.e-clk .e-clk__opts:not(.e-clk__opts--clocks), .e-clk .e-clk__opts.e-clk__opts--clocks { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 380px; }
	.e-dclk .e-clk__opts.e-dclk__opts--words { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
	.e-clock--mini, .e-dclk .e-clock--mini { width: min(15vw, 23vh); }
	.e-clk .e-clk__opt--clock { padding: 4px; min-height: 0; }
	.e-clk__opt { min-height: 54px; }
	.e-dclk__arr { height: 34px; }
	.e-clk__tag { padding: 6px 14px; }
	.e-clk__side { gap: 6px; }
	.e-clk__side .g-btn--lg { min-height: 46px; font-size: 18px; padding: 0 22px; }
	.e-clk__note { min-height: 0; font-size: 13px; }
	.e-clk__ctrl span { min-width: 50px; }
}

/* ---------- Centrēšana (0.17.1): viens elements rindā vienmēr pa vidu ---------- */
.e-rom__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px) minmax(0, 1fr); grid-template-areas: ". d v"; align-items: center; gap: 10px; }
.e-rom__disp { grid-area: d; width: 100%; min-width: 0; }
.e-rom__val { grid-area: v; justify-self: start; min-width: 0; }
.e-qz__opts.is-pics { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); max-width: calc(var(--n, 4) * 190px); }
.e-bside { align-items: center; text-align: center; }
.e-bgame.is-narrow .e-bside, .e-c4.is-narrow .e-bside, .e-rev.is-narrow .e-bside { justify-content: center; gap: 8px 16px; }
.e-cw__clues { justify-content: center; }
/* Divu kolonnu režģos nepāra pēdējā poga – pa vidu */
.e-qz__opts.is-words > :last-child:nth-child(odd):not(:first-child),
.e-moon__opts.is-words > :last-child:nth-child(odd):not(:first-child) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 6px); }
@media (max-width: 720px) {
	.e-rom__row { grid-template-columns: minmax(0, 1fr); grid-template-areas: "d" "v"; gap: 4px; }
	.e-rom__val { justify-self: center; }
	.e-rom__val:empty { display: none; }
	.e-qz__opts.is-pics { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
	.e-qz__opts:not(.is-three):not(.n3) > :last-child:nth-child(odd):not(:first-child),
	.e-moon__opts > :last-child:nth-child(odd):not(:first-child),
	.e-clk__opts:not(.e-clk__opts--clocks) > :last-child:nth-child(odd):not(:first-child) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 4px); }
	.e-fr__opts { display: flex; flex-wrap: wrap; justify-content: center; }
	.e-fr__opts > * { flex: 1 1 84px; max-width: 160px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-qz__opts.is-pics { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); max-width: calc(var(--n, 4) * 110px); }
	.e-qz__opts.is-words > :last-child:nth-child(odd):not(:first-child), .e-moon__opts > :last-child:nth-child(odd):not(:first-child) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 4px); }
}
.e-pairs.is-flex { display: flex; flex-wrap: wrap; justify-content: center; align-content: center; margin: 0 auto; }
.e-pairs.is-flex > * { width: var(--s); flex: 0 0 var(--s); }
.e-lbl__chips { justify-content: center; }
.e-sud.is-narrow .e-sud__pad { display: flex; flex-wrap: wrap; justify-content: center; }
.e-sud.is-narrow .e-sud__pad > * { flex: 0 0 calc(20% - 5px); }
@media (max-width: 720px) {
	.e-qz__track { display: flex; flex-wrap: wrap; justify-content: center; }
	.e-qz__track > .e-qz__slot { flex: 0 0 calc(25% - 6px); }
}

/* ---------- Mērvienības (kd-units.js, 0.19.0) ---------- */
.e-un { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; padding: 6px 0; }
.e-un__cat { display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 10px; border-radius: 999px; background: var(--surface-warm); box-shadow: inset 0 0 0 2px var(--line); font: 800 16px/1 var(--font-display); color: var(--ink-soft); }
.e-un__cat svg { height: 30px; width: auto; }
.e-un__card { gap: clamp(10px, 2.4vh, 20px); }
.e-un__expr { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .3em .35em; font: 800 clamp(30px, 8vh, 64px)/1.15 var(--font-display); text-align: center; }
.e-un__expr .e-op { color: var(--secondary); }
.e-un__q { white-space: nowrap; }
.e-un__slot { display: inline-flex; align-items: baseline; gap: .15em; white-space: nowrap; cursor: pointer; border-radius: 16px; }
.e-un__slot .e-ans { min-width: 1.4em; }
.e-un__slot.is-active .e-ans { box-shadow: inset 0 0 0 4px var(--secondary), 0 0 0 4px rgba(255, 196, 0, .45); }
.e-un__u { font-size: .8em; }
.e-un__card .e-qz__note { min-height: 2.7em; }
.e-un__cmp { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 18px; font: 800 clamp(28px, 7vh, 56px)/1.15 var(--font-display); }
.e-un__cmp .e-un__q { padding: 10px 20px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); }
.e-un__circle { display: grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; border: 3px dashed var(--line); color: var(--secondary); }
.e-un__signs .e-qz__opt b { font-size: clamp(34px, 7vh, 52px); }
.e-un__fact { max-width: 760px; padding: 14px 24px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); font: 800 clamp(22px, 4.6vh, 36px)/1.3 var(--font-display); text-align: center; }
.e-un__blank { display: inline-block; min-width: 2.2em; padding: 0 .2em; border-bottom: 4px solid var(--secondary); color: var(--secondary); }
.e-un__blank.is-on { color: var(--success); border-color: var(--success); }
.e-un .e-qz__opts.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; }
.e-un .e-qz__opts.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 420px; }
.e-un .e-qz__opts.is-four .e-qz__opt, .e-un .e-qz__opts.is-two .e-qz__opt { display: flex; flex-direction: column; gap: 4px; min-height: 84px; }
.e-un__track { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 820px; }
.e-un__track .e-qz__slot { font-size: clamp(16px, 3.4vh, 24px); }
.e-un .e-qz__chip { white-space: nowrap; }
@media (max-width: 720px) {
	.e-un { gap: 10px; }
	.e-un__typed { flex-direction: column; gap: 10px; }
	.e-un__expr { font-size: clamp(24px, 8.4vw, 40px); }
	.e-un__cmp { font-size: clamp(22px, 7vw, 34px); gap: 10px; }
	.e-un__cmp .e-un__q { padding: 8px 12px; }
	.e-un__fact { font-size: 20px; padding: 10px 14px; }
	.e-un .e-qz__opts.is-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-un .e-qz__opts.is-four .e-qz__opt, .e-un .e-qz__opts.is-two .e-qz__opt { min-height: 64px; }
	.e-un .e-qz__opts { gap: 8px; }
	.e-un .e-qz__opt { min-height: 60px; padding: 6px 4px; }
	.e-un .e-qz__opt b { font-size: 22px; }
	.e-un .e-qz__opt small { font-size: 11px; overflow-wrap: anywhere; }
	.e-un .e-un__signs .e-qz__opt b { font-size: 34px; }
	.e-un__track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-un__track > .e-qz__slot { flex: none; }
	.e-un__card .e-qz__note { min-height: 0; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-un { gap: 6px; padding: 0; }
	.e-un__cat { padding: 3px 12px 3px 8px; font-size: 13px; }
	.e-un__cat svg { height: 22px; }
	.e-un__expr { font-size: 34px; }
	.e-un__card .e-qz__note { min-height: 0; font-size: 13px; }
	.e-un__fact { font-size: 20px; padding: 8px 16px; }
	.e-un .e-qz__opts.is-four .e-qz__opt { min-height: 54px; }
}

/* ---------- Latvijas karte (kd-map.js, 0.20.0) ---------- */
.e-map { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: 100%; height: 100%; min-height: 0; }
.e-map__box { position: relative; flex: 1 1 auto; min-height: 0; border-radius: 18px; overflow: hidden; background: #CFE9F7; box-shadow: inset 0 0 0 3px var(--line); touch-action: none; }
.e-map__svg { display: block; width: 100%; height: 100%; user-select: none; -webkit-user-select: none; cursor: pointer; }
.e-map.is-zoomed .e-map__svg { cursor: grab; }
.e-map__sea { fill: #CFE9F7; }
.e-map__nb path { fill: #EFEADF; stroke: #C9C1B0; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.e-map__nbt { font: 700 calc(13px * var(--u, 1))/1 var(--font-display, sans-serif); fill: #9A927F; text-anchor: middle; pointer-events: none; }
.e-map__seat { font: italic 700 calc(13px * var(--u, 1))/1 var(--font-body, sans-serif); fill: #3E7FA8; text-anchor: middle; pointer-events: none; }
.e-map__reg path { stroke: #fff; stroke-width: 1px; vector-effect: non-scaling-stroke; transition: fill .2s; }
.e-map__reg.is-thin path { fill: none; stroke: rgba(255, 255, 255, .7); stroke-width: .7px; pointer-events: none; }
.e-map__land path { stroke: none; pointer-events: none; }
.e-map__land.is-base path { stroke: #fff; stroke-width: 2.5px; vector-effect: non-scaling-stroke; pointer-events: auto; }
.e-map__lakes path { fill: #9ED3EF; pointer-events: none; }
.e-map__outline { fill: none; stroke: #2B2D42; stroke-width: 1.6px; vector-effect: non-scaling-stroke; pointer-events: none; }
.e-map__riv path { fill: none; stroke: #2F8FD0; stroke-width: 2.4px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; pointer-events: none; transition: stroke .2s, stroke-width .2s; }
.e-map__rivhit path { fill: none; stroke: transparent; stroke-width: 22px; stroke-linecap: round; vector-effect: non-scaling-stroke; pointer-events: none; }
.e-map--rivers .e-map__rivhit path { pointer-events: stroke; }
.e-map__dot { r: calc(4.5px * var(--u, 1)); fill: #2B2D42; stroke: #fff; stroke-width: 1.4px; vector-effect: non-scaling-stroke; pointer-events: none; }
.e-map__hit { fill: transparent; pointer-events: none; }
.e-map--cities .e-map__hit { pointer-events: all; }
.e-map__lab { font: 800 15px/1 var(--font-display, sans-serif); fill: #2B2D42; text-anchor: middle; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; pointer-events: none; font-size: calc(17px * var(--u, 1)); stroke-width: calc(4.5px * var(--u, 1)); }
.e-map__lab.is-land { font-size: calc(22px * var(--u, 1)); fill: #5C3D1E; }
.e-map__lab.is-ok { fill: #1F6E25; }
.e-map__lab.is-bad { fill: #B3261E; }
.e-map__lab.is-hint { fill: #1F6E25; }
.e-map__lab.is-target { fill: #C2410C; }
.e-map svg .is-target { fill: #FF9F43 !important; animation: e-map-pulse 1.1s ease-in-out infinite; }
.e-map svg .is-ok { fill: #8EDB8F !important; }
.e-map svg .is-bad { fill: #FFB4AB !important; }
.e-map svg .is-hint { fill: #8EDB8F !important; animation: e-map-pulse .8s ease-in-out 3; }
.e-map__riv path.is-target { fill: none !important; stroke: #FF6B00; stroke-width: 5px; }
.e-map__riv path.is-ok, .e-map__riv path.is-hint { fill: none !important; stroke: #23A13A; stroke-width: 5px; }
.e-map__riv path.is-bad { fill: none !important; stroke: #E5484D; stroke-width: 4px; }
.e-map__dot.is-big { r: calc(6px * var(--u, 1)); }
.e-map__dot.is-target { fill: #FF6B00 !important; }
.e-map__dot.is-ok, .e-map__dot.is-hint { fill: #23A13A !important; }
.e-map__dot.is-bad { fill: #E5484D !important; }
.e-map__ring { fill: none; stroke: #FF6B00; stroke-width: 3px; vector-effect: non-scaling-stroke; pointer-events: none; r: calc(15px * var(--u, 1)); animation: e-map-ring 1.2s ease-out infinite; transform-box: fill-box; transform-origin: center; }
.e-map__ring.is-hint { stroke: #23A13A; }
@keyframes e-map-pulse { 50% { opacity: .55; } }
@keyframes e-map-ring { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
.e-map__zoom { position: absolute; left: 8px; top: 8px; display: flex; flex-direction: column; gap: 6px; }
.e-map__zb { width: 40px; height: 40px; border: 0; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 3px 0 var(--line); font: 800 22px/1 var(--font-display, sans-serif); color: var(--ink); cursor: pointer; }
.e-map__zb.is-fit { font-size: 18px; }
.e-map__panel { flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.e-map__q { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 8px; font: 800 18px/1.2 var(--font-display, sans-serif); color: var(--ink-soft); }
.e-map__q b { font-size: 26px; color: var(--ink); }
.e-map__opts.e-qz__opts { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 860px; gap: 10px; }
.e-map__opts .e-qz__opt { min-height: 56px; font-size: clamp(16px, 2.8vh, 22px); }
.e-map__note { min-height: 1.35em; font-size: 15px; }
@media (max-width: 720px) {
	.e-map { gap: 6px; }
	.e-map { justify-content: center; }
	.e-map__box { flex: 0 1 auto; aspect-ratio: 980 / 590; min-height: 0; border-radius: 14px; }
	.e-map__zoom { left: 5px; top: 5px; gap: 4px; }
	.e-map__zb { width: 30px; height: 30px; font-size: 18px; border-radius: 9px; }
	.e-map__opts.e-qz__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.e-map__opts .e-qz__opt { min-height: 46px; font-size: 16px; padding: 4px; }
	.e-map__q { font-size: 15px; } .e-map__q b { font-size: 20px; }
	.e-map__note { font-size: 13px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-map { flex-direction: row; }
	.e-map__panel { width: 34%; justify-content: center; }
	.e-map__opts.e-qz__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-map__opts .e-qz__opt { min-height: 44px; font-size: 15px; }
}

/* ---------- Burti (kd-letters.js, 0.21.0) ---------- */
.e-lt { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(10px, 2.4vh, 20px); width: 100%; height: 100%; padding: 4px 0; }
.e-lt__head { position: relative; display: flex; align-items: center; justify-content: center; gap: 14px; }
.e-lt__card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: clamp(130px, 28vh, 220px); min-height: clamp(130px, 28vh, 220px); padding: 10px 22px; border-radius: 28px; background: var(--surface); box-shadow: inset 0 0 0 4px var(--line), 0 7px 0 var(--line); }
.e-lt__card.is-case { background: #FFF6D6; }
.e-lt__card.is-small { min-width: 0; min-height: 0; flex-direction: row; gap: 18px; padding: 8px 22px; }
.e-lt__card.is-pic { padding: 10px 18px; }
.e-lt__glyph { font: 800 clamp(34px, 7vh, 58px)/1 var(--font-display); color: var(--ink); }
.e-lt__glyph.is-big { font-size: clamp(90px, 22vh, 170px); color: var(--primary); }
.e-lt__glyph.is-mid { font-size: clamp(54px, 11vh, 84px); color: var(--primary); }
.e-lt__count { font: 800 22px/1 var(--font-display); color: var(--ink-soft); }
.e-lt__img { width: clamp(110px, 26vh, 200px); height: auto; aspect-ratio: 1; object-fit: contain; }
.e-lt__word { display: flex; align-items: baseline; gap: 2px; font: 800 clamp(26px, 5.4vh, 44px)/1 var(--font-display); letter-spacing: .06em; }
.e-lt__gap { display: inline-grid; place-items: center; min-width: 1.1em; border-radius: 10px; background: #FFE9A8; box-shadow: inset 0 0 0 3px var(--sun); color: var(--primary); }
.e-lt__gap.is-on { background: #D9F2C7; box-shadow: inset 0 0 0 3px var(--success); color: var(--success); }
.e-lt__say { position: absolute; right: -56px; top: 0; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font-size: 22px; cursor: pointer; }
.e-lt .e-qz__opts.e-lt__opts { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(10px, 2vw, 18px); max-width: 860px; }
.e-lt__opt { width: clamp(96px, 20vh, 150px); min-height: clamp(96px, 20vh, 150px); border-radius: 26px; }
.e-lt__opts.is-pics .e-lt__opt { width: clamp(120px, 24vh, 190px); min-height: clamp(130px, 26vh, 200px); display: flex; flex-direction: column; gap: 4px; padding: 8px; }
.e-lt__opts.is-pics img { width: 100%; height: auto; max-height: clamp(90px, 18vh, 150px); aspect-ratio: 1; object-fit: contain; }
.e-lt__lbl { font: 800 14px/1 var(--font-display); color: var(--ink-soft); visibility: hidden; }
.e-lt__opt.is-shown .e-lt__lbl, .e-lt__opt:disabled .e-lt__lbl { visibility: visible; }
.e-lt__grid { display: grid; grid-template-columns: repeat(var(--c, 4), minmax(0, 1fr)); gap: clamp(8px, 1.6vh, 14px); width: 100%; max-width: calc(var(--c, 4) * 150px); }
.e-lt__tile { aspect-ratio: 1.15; border: 0; border-radius: 20px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); cursor: pointer; display: grid; place-items: center; }
.e-lt__tile .e-lt__glyph { font-size: clamp(30px, 6.5vh, 52px); }
.e-lt__tile.is-right { background: var(--tema-daba); box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 var(--success); }
.e-lt__tile.is-right .e-lt__glyph { color: var(--success); }
.e-lt__train { display: flex; gap: 8px; padding: 10px 14px 18px; border-radius: 20px; background: linear-gradient(transparent calc(100% - 10px), #8A8FA8 0); }
.e-lt__car { display: grid; place-items: center; width: clamp(62px, 13vh, 100px); height: clamp(62px, 13vh, 100px); border-radius: 16px; background: #C9E1FF; box-shadow: inset 0 0 0 3px #2B2D42; font: 800 clamp(34px, 7vh, 58px)/1 var(--font-display); }
.e-lt__car:nth-child(2n) { background: #FFD9C7; } .e-lt__car:nth-child(3n) { background: #D9F2C7; }
.e-lt__car.is-gap { background: #fff; box-shadow: inset 0 0 0 3px var(--sun); color: var(--primary); border: 0; }
.e-lt__car.is-gap.is-on { background: #D9F2C7; color: var(--success); }
.e-lt__note { min-height: 2.6em; display: flex; align-items: center; justify-content: center; }
.e-lt__ex { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; }
.e-lt__ex img { width: 52px; height: 52px; object-fit: contain; }
.e-lt__ex b { font: 800 26px/1 var(--font-display); }
@media (max-width: 720px) {
	.e-lt { gap: 10px; }
	.e-lt__card { min-width: 120px; min-height: 120px; padding: 8px 16px; }
	.e-lt__glyph.is-big { font-size: 96px; }
	.e-lt__opt { width: 84px; min-height: 84px; }
	.e-lt .e-qz__opts.e-lt__opts { gap: 8px; }
	.e-lt .e-lt__opts.e-qz__opts > .e-lt__opt { width: 84px !important; grid-column: auto !important; justify-self: auto; }
	.e-lt .e-lt__opts.e-qz__opts.is-pics > .e-lt__opt { width: 30% !important; min-height: 0; }
	.e-lt__img { width: 120px; }
	.e-lt__word { font-size: 28px; }
	.e-lt__car { width: 52px; height: 52px; font-size: 30px; }
	.e-lt__train { gap: 5px; padding: 8px 8px 14px; }
	.e-lt__say { right: auto; left: calc(100% + 6px); width: 40px; height: 40px; font-size: 18px; }
	.e-lt__ex { font-size: 15px; } .e-lt__ex img { width: 40px; height: 40px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-lt { flex-direction: row; flex-wrap: wrap; align-content: center; gap: 8px 22px; }
	.e-lt__card { min-width: 110px; min-height: 110px; }
	.e-lt__glyph.is-big { font-size: 80px; }
	.e-lt__opt { width: 78px; min-height: 78px; }
	.e-lt__note { width: 100%; min-height: 0; }
	.e-lt__img { width: 100px; }
}

/* ---------- Skaitļu saplūšana (kd-merge.js, 0.22.0) ---------- */
.e-mg { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 100%; }
.e-mg.is-wide { flex-direction: row-reverse; gap: 28px; }
.e-mg__side { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.e-mg.is-wide .e-mg__side { flex-direction: column; align-items: stretch; width: 160px; }
.e-mg__stat { display: flex; flex-direction: column; align-items: center; min-width: 78px; padding: 6px 12px; border-radius: var(--r-sm); background: #E3F1EA; color: #3B6150; font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.e-mg__stat b { font: 800 22px/1.15 var(--font-display); color: #1F3D30; text-transform: none; letter-spacing: 0; }
.e-mg__goal { background: #FFE7B3; color: #7A4A0A; }
.e-mg__goal b { color: #5C3608; }
.e-mg__undo { min-height: 44px; padding: 6px 14px; font-weight: 800; gap: 6px; }
.e-mg__undo span[aria-hidden] { font-size: 20px; line-height: 1; }
.e-mg__undo:disabled { opacity: .45; cursor: default; }
.e-mg__main { display: flex; justify-content: center; }
.e-mg__board { --cs: 60px; --gap: 8px; --n: 4; position: relative; display: grid; grid-template-columns: repeat(var(--n), var(--cs)); grid-auto-rows: var(--cs); gap: var(--gap); padding: var(--gap); border-radius: calc(var(--gap) * 2.2); background: #7FB89B; box-shadow: inset 0 -5px 0 rgba(0,0,0,.12); touch-action: none; user-select: none; -webkit-user-select: none; outline: none; }
.e-mg__board:focus-visible { box-shadow: 0 0 0 4px var(--secondary), inset 0 -5px 0 rgba(0,0,0,.12); }
.e-mg__board.is-bump { animation: e-mg-bump .25s; }
@keyframes e-mg-bump { 30% { transform: translateX(-4px); } 70% { transform: translateX(4px); } }
.e-mg__slot { border-radius: 28%; background: #A9D3BD; }
.e-mg__tiles { position: absolute; left: var(--gap); top: var(--gap); }
.e-mg__tile { position: absolute; left: 0; top: 0; width: var(--cs); height: var(--cs); border-radius: 28%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font: 800 calc(var(--cs) * var(--fs, .46))/1 var(--font-display); transition: left .11s ease-in-out, top .11s ease-in-out; box-shadow: inset 0 calc(var(--cs) * -.07) 0 rgba(0,0,0,.14); z-index: 1; }
.e-mg__tile.is-gone { z-index: 0; }
.e-mg__tile.is-new { animation: e-mg-new .2s .1s both; }
.e-mg__tile.is-merged { animation: e-mg-pop .2s; z-index: 2; }
@keyframes e-mg-new { from { opacity: 0; scale: .3; } to { opacity: 1; scale: 1; } }
@keyframes e-mg-pop { 50% { scale: 1.1; } }
.e-mg__dots { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--cs) * .035); width: calc(var(--cs) * .6); }
.e-mg__dots i { width: calc(var(--cs) * .085); height: calc(var(--cs) * .085); border-radius: 50%; background: currentColor; opacity: .7; }
.e-mg__dots.d8 { width: calc(var(--cs) * .5); }
.e-mg__tile .e-mg__n { line-height: .95; }
.e-mg__tile.t0 { background: #FFFDF6; color: #6B4A2B; }
.e-mg__tile.t1 { background: #FFE9B0; color: #6B4A2B; }
.e-mg__tile.t2 { background: #FFCB57; color: #5A3A10; }
.e-mg__tile.t3 { background: #FF9E5E; color: #fff; }
.e-mg__tile.t4 { background: #F2706A; color: #fff; }
.e-mg__tile.t5 { background: #E0558F; color: #fff; }
.e-mg__tile.t6 { background: #A55DD6; color: #fff; }
.e-mg__tile.t7 { background: #6C6FE8; color: #fff; }
.e-mg__tile.t8 { background: #3E8FE0; color: #fff; }
.e-mg__tile.t9 { background: #1BA7B5; color: #fff; }
.e-mg__tile.t10 { background: #2F9D5A; color: #fff; }
.e-mg__tile.t11 { background: #8B5A2B; color: #FFE7B3; box-shadow: inset 0 calc(var(--cs) * -.07) 0 rgba(0,0,0,.2), 0 0 0 3px #FFC94D; }
.e-mg__sum { min-height: 22px; text-align: center; white-space: nowrap; font: 800 20px/22px var(--font-display); color: #2F6B4F; opacity: 0; pointer-events: none; }
.e-mg__sum.is-on { animation: e-mg-sum 1.4s; }
@keyframes e-mg-sum { 0% { opacity: 0; translate: 0 6px; } 15%, 70% { opacity: 1; translate: 0 0; } 100% { opacity: 0; } }
.e-mg.is-wide .e-mg__sum { margin-top: 8px; }
@media (max-width:720px) {
	.e-mg { gap: 6px; }
	.e-mg__side { gap: 6px; }
	.e-mg__stat { min-width: 64px; padding: 4px 8px; font-size: 10px; }
	.e-mg__stat b { font-size: 18px; }
	.e-mg__undo { min-height: 40px; padding: 4px 10px; font-size: 14px; }
	.e-mg__sum { font-size: 17px; min-height: 20px; line-height: 20px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-mg.is-wide .e-mg__side { width: 130px; gap: 6px; }
	.e-mg__stat b { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .e-mg__tile { transition: none; } .e-mg__tile.is-new, .e-mg__tile.is-merged { animation: none; } }
.e-mg__sum.is-stay { opacity: 1; color: var(--danger); animation: none; }
.e-mg.is-stuck .e-mg__undo { border-color: var(--primary); color: var(--primary); box-shadow: 0 0 0 3px rgba(194,65,12,.18); }
.e-mg__end[hidden] { display: none; }
.e-mg__end { min-height: 40px; padding: 4px 12px; font-size: 14px; }

/* ---------- Pasjanss (kd-cards.js, 0.23.0) ---------- */
.e-sol { display: flex; flex-direction: column; gap: 10px; width: 100%; height: 100%; }
.e-sol__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.e-sol__stat { padding: 6px 12px; border-radius: var(--r-sm); background: #E3F1EA; color: #3B6150; font-weight: 800; font-size: 14px; }
.e-sol__stat b { font: 800 18px/1 var(--font-display); color: #1F3D30; }
.e-sol__btn { min-height: 40px; padding: 4px 12px; font-size: 14px; font-weight: 800; gap: 6px; }
.e-sol__btn span[aria-hidden] { font-size: 18px; line-height: 1; }
.e-sol__btn:disabled { opacity: .45; cursor: default; }
.e-sol.is-side { flex-direction: row; }
.e-sol.is-side .e-sol__bar { flex-direction: column; align-items: stretch; justify-content: flex-start; width: 128px; flex: 0 0 auto; }
.e-sol__table { position: relative; flex: 1 1 auto; min-height: 0; touch-action: none; user-select: none; -webkit-user-select: none; }
.e-sol__msg { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); z-index: 900; max-width: 92%; padding: 10px 16px; border-radius: var(--r-md); background: var(--ink); color: #fff; font-weight: 700; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.e-sol__msg[hidden] { display: none; }
.e-sol__slot { position: absolute; width: var(--cw); height: var(--ch); border-radius: calc(var(--cw) * .12); border: 2px dashed #9CC9B2; background: rgba(127,184,155,.12); color: #8CBCA3; display: flex; align-items: center; justify-content: center; font: 800 calc(var(--cw) * .42)/1 var(--font-display); }
.e-sol__slot.is-stock { cursor: pointer; border-style: solid; }
.e-sol__slot.is-stock.is-recycle::after { content: '⟳'; font-size: calc(var(--cw) * .5); color: #5E9C7E; }
.e-sol__slot.is-stock:not(.is-empty)::after { content: none; }
.e-sol__card { position: absolute; width: var(--cw); height: var(--ch); border-radius: calc(var(--cw) * .12); transition: left .16s ease, top .16s ease; cursor: pointer; }
.e-sol__card.no-anim, .e-sol__card.is-drag { transition: none; }
.e-sol__card.is-drag { filter: drop-shadow(0 8px 10px rgba(0,0,0,.25)); }
.e-sol__face, .e-sol__back { position: absolute; inset: 0; border-radius: inherit; }
.e-sol__face { display: none; background: #FFFEF9; border: 1px solid #CFC6B3; box-shadow: 0 1px 2px rgba(0,0,0,.12); overflow: hidden; }
.e-sol__card.is-up .e-sol__face { display: block; }
.e-sol__card.is-up .e-sol__back { display: none; }
.e-sol__back { border: 2px solid #fff; background: radial-gradient(circle at 50% 50%, #FFC94D 0 18%, transparent 19%), repeating-linear-gradient(45deg, #2F8F68 0 6px, #3AA77A 6px 12px); box-shadow: 0 0 0 1px #2B6E52, 0 1px 2px rgba(0,0,0,.2); }
.e-sol__card.is-red { color: #D1342F; }
.e-sol__card.is-black { color: #23253A; }
.e-sol__c { position: absolute; left: 7%; top: 4%; display: flex; align-items: baseline; gap: 1px; line-height: 1; }
.e-sol__c b { font: 800 calc(var(--cw) * .28)/1 var(--font-display); letter-spacing: -.04em; }
.e-sol__c i { font-style: normal; font-size: calc(var(--cw) * .25); }
.e-sol__c.is-br { left: auto; top: auto; right: 6%; bottom: 3%; transform: rotate(180deg); }
.e-sol__pip { position: absolute; left: 50%; top: 55%; transform: translate(-50%, -50%); font-size: calc(var(--cw) * .62); line-height: 1; }
.e-sol__fig { position: absolute; left: 50%; top: 56%; transform: translate(-50%, -50%); width: 58%; height: 52%; border-radius: 22%; background: currentColor; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.e-sol__fig b { color: #FFFEF9; font: 800 calc(var(--cw) * .36)/1 var(--font-display); }
.e-sol__fig i { color: #FFE7B3; font-style: normal; font-size: calc(var(--cw) * .2); line-height: 1; }
.e-sol__card.is-hint, .e-sol__slot.is-hint { animation: e-sol-hint .8s 2; }
@keyframes e-sol-hint { 50% { box-shadow: 0 0 0 4px #FFC94D, 0 0 16px 4px rgba(255,201,77,.8); } }
.e-sol__card.is-wrong { animation: e-sol-no .3s; }
@keyframes e-sol-no { 25% { translate: -4px 0; } 75% { translate: 4px 0; } }
@media (max-width:720px) {
	.e-sol { gap: 6px; }
	.e-sol__bar { gap: 5px; }
	.e-sol__btn { min-height: 36px; padding: 2px 8px; font-size: 12px; }
	.e-sol__stat { padding: 4px 8px; font-size: 12px; }
	.e-sol__face { border-radius: calc(var(--cw) * .1); }
	.e-sol__c b { font-size: calc(var(--cw) * .3); }
}
@media (prefers-reduced-motion: reduce) { .e-sol__card { transition: none; } }

/* ---------- Cirks / kauliņu trase (kd-dice.js, 0.24.0) ---------- */
.e-trk { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 100%; }
.e-trk.is-wide { flex-direction: row; gap: 16px; }
.e-trk.is-setup { justify-content: center; }
.e-trk__setup { text-align: center; }
.e-trk__ask { font: 800 20px/1.2 var(--font-display); margin: 0 0 14px; color: var(--ink); }
.e-trk__modes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.e-trk__mode { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 170px; padding: 14px 16px; border: 3px solid var(--line); border-radius: var(--r-md); background: var(--surface); cursor: pointer; font: inherit; color: var(--ink); box-shadow: 0 4px 0 var(--line); }
.e-trk__mode:hover, .e-trk__mode:focus-visible { border-color: var(--primary); }
.e-trk__mode.is-last { border-color: #F2B84B; }
.e-trk__mode b { font: 800 19px/1.1 var(--font-display); }
.e-trk__sub { font-size: 13px; color: var(--ink-soft); }
.e-trk__faces { display: flex; }
.e-trk__faces img { width: 56px; height: 56px; border-radius: 50%; border: 3px solid; background: #FFF8EA; object-fit: cover; margin: 0 -6px; }
.e-trk__boardwrap { display: flex; justify-content: center; }
.e-trk__board { --cs: 40px; position: relative; display: grid; grid-template-columns: repeat(var(--cols), var(--cs)); grid-template-rows: repeat(var(--rows), var(--cs)); border-radius: calc(var(--cs) * .3); overflow: hidden; box-shadow: 0 0 0 4px #7A1F1F, 0 6px 0 4px rgba(0,0,0,.12); background: #FFF6E0; }
.e-trk__cell { position: relative; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(122,31,31,.18); }
.e-trk__cell.c0 { background: #FFE3E0; } .e-trk__cell.c1 { background: #FFF1C9; } .e-trk__cell.c2 { background: #DDEEFF; } .e-trk__cell.c3 { background: #FFF8EA; }
.e-trk__n { position: absolute; left: 6%; top: 3%; font: 800 calc(var(--cs) * .24)/1 var(--font-display); color: rgba(43,45,66,.55); }
.e-trk__ic { width: 62%; height: 62%; display: flex; }
.e-trk__ic svg { width: 100%; height: 100%; }
.e-trk__cell.is-jump .e-trk__ic { color: #2F9D5A; } .e-trk__cell.is-jump { background: #DDF3E4; }
.e-trk__cell.is-slide .e-trk__ic { color: #D1342F; } .e-trk__cell.is-slide { background: #FFD8D3; }
.e-trk__cell.is-skip .e-trk__ic { color: #7A4A0A; } .e-trk__cell.is-skip { background: #FFE7B3; }
.e-trk__cell.is-again .e-trk__ic { color: #5A3FC0; } .e-trk__cell.is-again { background: #E7E0FF; }
.e-trk__cell.is-start { background: repeating-linear-gradient(45deg, #FFF8EA 0 6px, #FFE3E0 6px 12px); }
.e-trk__cell.is-finish { background: #FFF1C9; flex-direction: column; }
.e-trk__cell.is-finish .e-trk__ic { width: 58%; height: 52%; }
.e-trk__lbl { position: absolute; bottom: 4%; left: 0; right: 0; text-align: center; font: 800 calc(var(--cs) * .17)/1 var(--font-display); color: #7A1F1F; }
.e-trk__arrows { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 2; }
.e-trk__tokens { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.e-trk__tok { position: absolute; border-radius: 50%; background: #fff; border: 3px solid var(--pc); box-shadow: 0 3px 6px rgba(0,0,0,.25); transition: left .2s ease, top .2s ease, width .2s, height .2s; overflow: hidden; }
.e-trk__tok img { width: 150%; height: 150%; max-width: none; margin: -6% 0 0 -25%; object-fit: cover; display: block; }
.e-trk__tok.no-anim { transition: none; }
.e-trk__tok.is-hop { animation: e-trk-hop .23s infinite; }
.e-trk__tok.is-fly { transition: left .6s cubic-bezier(.4,1.4,.6,1), top .6s cubic-bezier(.4,1.4,.6,1); }
@keyframes e-trk-hop { 50% { translate: 0 -18%; } }
.e-trk__panel { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.e-trk:not(.is-wide) .e-trk__panel { width: 100%; max-width: 520px; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "pl dice" "msg roll" "ask ask"; align-items: center; gap: 6px 10px; }
.e-trk:not(.is-wide) .e-trk__players { grid-area: pl; }
.e-trk:not(.is-wide) .e-trk__dice { grid-area: dice; }
.e-trk:not(.is-wide) .e-trk__roll { grid-area: roll; }
.e-trk:not(.is-wide) .e-trk__msg { grid-area: msg; min-height: 34px; }
.e-trk:not(.is-wide) .e-trk__ask2 { grid-area: ask; }
.e-trk__players { display: flex; flex-direction: column; gap: 5px; }
.e-trk:not(.is-wide) .e-trk__players { flex-direction: row; flex-wrap: wrap; }
.e-trk__pl { display: flex; align-items: center; gap: 8px; padding: 4px 10px 4px 4px; border-radius: 999px; background: var(--surface); border: 2px solid transparent; font-weight: 800; font-size: 14px; }
.e-trk__pl img { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--pc); background: #FFF8EA; object-fit: cover; }
.e-trk__pl.is-turn { border-color: var(--pc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc) 22%, transparent); }
.e-trk__pn { flex: 1; }
.e-trk__pp { font: 800 15px/1 var(--font-display); color: var(--ink-soft); }
.e-trk__dice { display: flex; justify-content: center; gap: 10px; }
.e-trk__die { width: 64px; height: 64px; padding: 8px; border-radius: 16px; background: #fff; border: 3px solid #2B2D42; box-shadow: 0 4px 0 #2B2D42; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); place-items: center; cursor: pointer; }
.e-trk__die i { width: 11px; height: 11px; border-radius: 50%; background: transparent; }
.e-trk__die i.on { background: #2B2D42; }
.e-trk__die.is-rolling { animation: e-trk-roll .14s infinite; }
@keyframes e-trk-roll { 0% { rotate: -10deg; } 50% { rotate: 10deg; } 100% { rotate: -10deg; } }
.e-trk__roll { min-height: 48px; font-size: 17px; background: var(--pc, var(--primary)); border-color: var(--pc, var(--primary)); }
.e-trk__roll:disabled { opacity: .5; cursor: default; }
.e-trk__msg { font-weight: 700; font-size: 15px; color: var(--ink); text-align: center; min-height: 40px; }
.e-trk__msg.is-on { animation: e-trk-msg .3s; }
@keyframes e-trk-msg { from { opacity: 0; translate: 0 4px; } }
.e-trk__ask2[hidden] { display: none; }
.e-trk__ask2 { text-align: center; background: #FFF1C9; border-radius: var(--r-md); padding: 8px; }
.e-trk__ask2 p { margin: 0 0 6px; font: 800 22px/1 var(--font-display); }
.e-trk__opts { display: flex; justify-content: center; gap: 8px; }
.e-trk__opt { min-width: 56px; min-height: 48px; font: 800 22px/1 var(--font-display); }
@media (max-width:720px) {
	.e-trk__mode { min-width: 0; width: 100%; max-width: 320px; flex-direction: row; flex-wrap: wrap; justify-content: center; padding: 10px; }
	.e-trk__faces img { width: 44px; height: 44px; }
	.e-trk__die { width: 50px; height: 50px; padding: 6px; border-radius: 12px; box-shadow: 0 3px 0 #2B2D42; }
	.e-trk__die i { width: 8px; height: 8px; }
	.e-trk__roll { min-height: 42px; font-size: 15px; padding: 4px 12px; }
	.e-trk__pl { font-size: 12px; padding: 2px 8px 2px 2px; gap: 5px; }
	.e-trk__pl img { width: 24px; height: 24px; }
	.e-trk__msg { font-size: 13px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-trk__pl { font-size: 12px; padding: 2px 8px 2px 2px; }
	.e-trk__pl img { width: 22px; height: 22px; }
	.e-trk__players { gap: 3px; }
	.e-trk__ask2 { padding: 4px; }
	.e-trk__ask2 p { font-size: 18px; margin-bottom: 4px; }
	.e-trk__opt { min-height: 38px; min-width: 46px; font-size: 18px; }
	.e-trk__msg { font-size: 13px; min-height: 0; }
	.e-trk__die { width: 48px; height: 48px; padding: 5px; }
	.e-trk__die i { width: 8px; height: 8px; }
	.e-trk__panel { gap: 6px; }
	.e-trk__roll { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .e-trk__tok { transition: none; } .e-trk__tok.is-hop, .e-trk__die.is-rolling { animation: none; } }

/* ---------- Pirmskaitļi (kd-primes.js, 0.25.0) ---------- */
.e-pr { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; }
.e-pr__info { min-height: 44px; max-width: 640px; padding: 8px 14px; border-radius: var(--r-md); background: var(--surface); color: var(--ink); font-weight: 700; text-align: center; font-size: 16px; line-height: 1.3; }
.e-pr__info.is-good { background: #E3F4E6; color: #1E5E33; }
.e-pr__info.is-bad { background: #FDE5E2; color: #8A2018; }
.e-pr__grid { --cs: 44px; display: grid; grid-template-columns: repeat(var(--c), var(--cs)); grid-auto-rows: var(--cs); gap: 2px; }
.e-pr__cell { position: relative; border: 0; border-radius: calc(var(--cs) * .2); background: #FFF8EA; box-shadow: inset 0 0 0 1px #EADFC8; font: 800 calc(var(--cs) * .4)/1 var(--font-display); color: var(--ink); cursor: pointer; padding: 0; }
.e-pr__cell:hover { background: #FFF1C9; }
.e-pr__cell.is-x { color: #B9B2A2; background: #F3EFE6; cursor: default; }
.e-pr__cell.is-x::after { content: ''; position: absolute; left: 16%; right: 16%; top: 50%; height: 3px; border-radius: 2px; background: #D1342F; transform: rotate(-35deg); }
.e-pr__cell.is-p { background: #FFE7B3; color: #7A4A0A; cursor: default; box-shadow: inset 0 0 0 3px #F2A93B; border-radius: 50%; }
.e-pr__big { font: 800 clamp(64px, 16vmin, 140px)/1 var(--font-display); color: var(--ink); min-width: 2.2em; padding: 16px 28px; text-align: center; border-radius: var(--r-lg); background: var(--surface); box-shadow: 0 6px 0 var(--line); }
.e-pr__big.is-ok { background: #E3F4E6; }
.e-pr__big.is-no { background: #FDE5E2; }
.e-pr__answers { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.e-pr__ans { min-width: 170px; min-height: 60px; font-size: 20px; }
.e-pr__ans.is-p { background: #F2A93B; border-color: #F2A93B; color: #3D2600; }
.e-pr__ans.is-s { background: #5AA9E6; border-color: #5AA9E6; color: #0C2D48; }
.e-pr__ans:disabled { opacity: .6; }
.e-pr__field { --c: 4; display: grid; grid-template-columns: repeat(var(--c), minmax(64px, 96px)); gap: 10px; }
.e-pr__tile { position: relative; aspect-ratio: 1; border: 0; border-radius: 22%; background: #fff; box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); font: 800 clamp(22px, 5vmin, 34px)/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-pr__tile.is-found { background: #FFE7B3; box-shadow: inset 0 0 0 4px #F2A93B; color: #7A4A0A; border-radius: 50%; }
.e-pr__tile.is-no { background: #F3EFE6; color: #B9B2A2; }
.e-pr__tile.is-no::after { content: attr(data-f); position: absolute; left: 0; right: 0; bottom: 8%; font-size: 12px; color: #8A2018; }
.e-pr__fbox { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.e-pr__ladder { display: flex; flex-direction: column; font: 800 28px/1 var(--font-display); }
.e-pr__row { display: grid; grid-template-columns: 90px 64px; }
.e-pr__v { text-align: right; padding: 6px 14px 6px 0; border-right: 4px solid var(--ink); }
.e-pr__d { padding: 6px 0 6px 14px; color: #C2410C; }
.e-pr__row:last-child .e-pr__v { color: var(--ink-soft); }
.e-pr__result { font: 800 26px/1.2 var(--font-display); color: #1E5E33; min-height: 32px; opacity: 0; }
.e-pr__result.is-on { opacity: 1; }
.e-pr__keys { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.e-pr__key { min-width: 58px; min-height: 52px; font: 800 24px/1 var(--font-display); }
@media (max-width:720px) {
	.e-pr { gap: 8px; }
	.e-pr__info { font-size: 14px; min-height: 40px; padding: 6px 10px; }
	.e-pr__grid { gap: 1px; }
	.e-pr__ans { min-width: 140px; min-height: 52px; font-size: 17px; }
	.e-pr__field { gap: 7px; grid-template-columns: repeat(var(--c), minmax(56px, 80px)); }
	.e-pr__ladder { font-size: 22px; }
	.e-pr__row { grid-template-columns: 70px 50px; }
	.e-pr__key { min-width: 48px; min-height: 46px; font-size: 20px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-pr__big { font-size: 64px; padding: 8px 20px; }
	.e-pr__ladder { font-size: 18px; }
	.e-pr__v, .e-pr__d { padding-top: 2px; padding-bottom: 2px; }
	.e-pr__field { grid-template-columns: repeat(6, 64px); }
	.e-pr__tile { font-size: 20px; }
}

.e-pr.is-row { flex-direction: row; gap: 18px; }
.e-pr.is-row .e-pr__info { width: 220px; flex: 0 0 auto; }
.e-pr--sieve .e-pr__info { min-height: 62px; display: flex; align-items: center; justify-content: center; }
@media (max-width:720px) { .e-pr--sieve .e-pr__info { min-height: 58px; } }

/* ---------- Dalīšana (kd-divide.js, 0.26.0) ---------- */
.e-dv { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; }
.e-dv__info { min-height: 40px; max-width: 640px; padding: 8px 14px; border-radius: var(--r-md); background: var(--surface); font-weight: 700; text-align: center; font-size: 15px; line-height: 1.3; }
.e-dv__info.is-good { background: #E3F4E6; color: #1E5E33; }
.e-dv__info.is-bad { background: #FDE5E2; color: #8A2018; }
.e-dv__pile { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; max-width: 520px; min-height: 44px; padding: 8px 12px; border-radius: 999px; background: #F3E3C3; box-shadow: inset 0 3px 0 rgba(0,0,0,.06); }
.e-dv__nut { width: 36px; height: 36px; object-fit: contain; }
.e-dv__friends { display: grid; grid-template-columns: repeat(var(--k), minmax(0, 150px)); gap: 10px; width: 100%; justify-content: center; }
.e-dv__friend { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 6px 10px; border-radius: var(--r-md); border: 3px solid var(--fc); background: #fff; cursor: pointer; font: inherit; box-shadow: 0 4px 0 color-mix(in srgb, var(--fc) 35%, transparent); }
.e-dv__friend:active { translate: 0 2px; }
.e-dv__friends.is-done .e-dv__friend { cursor: default; }
.e-dv__sq { width: 64px; height: 64px; object-fit: contain; }
.e-dv__cnt { position: absolute; top: 6px; right: 8px; min-width: 28px; height: 28px; border-radius: 14px; background: var(--fc); color: #fff; font: 800 16px/28px var(--font-display); }
.e-dv__bowl { display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-end; gap: 1px; width: 100%; min-height: 52px; padding: 4px; border-radius: 0 0 40px 40px; background: #F3E3C3; }
.e-dv__bowl .e-dv__nut { width: 24px; height: 24px; }
.e-dv__nut.is-in { animation: e-dv-in .25s; }
@keyframes e-dv-in { from { scale: 1.6; opacity: .3; } }
.e-dv__bar { display: flex; gap: 10px; }
.e-dv__all { min-height: 44px; }
.e-dv__all:disabled { opacity: .45; }
.e-dv__q { text-align: center; }
.e-dv__qt { margin: 0 0 8px; font: 800 20px/1.2 var(--font-display); color: var(--ink); }
.e-dv__opts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.e-dv__opt { min-width: 64px; min-height: 52px; font: 800 22px/1 var(--font-display); }
.e-dv--rem .e-dv__opt { font-size: 18px; min-width: 120px; }
.e-dv__opt.is-ok { background: #E3F4E6; border-color: #2F9D5A; }
.e-dv__opt:disabled:not(.is-ok) { opacity: .4; }
.e-dv__eq, .e-dv__big, .e-dv__fact { font: 800 clamp(30px, 7vmin, 56px)/1 var(--font-display); color: var(--ink); }
.e-dv__eq { color: #1E5E33; }
.e-dv__big { padding: 14px 26px; border-radius: var(--r-lg); background: var(--surface); box-shadow: 0 6px 0 var(--line); }
.e-dv__fact { font-size: clamp(24px, 5vmin, 40px); color: var(--ink-soft); }
.e-dv__tri { position: relative; width: 170px; height: 150px; }
.e-dv__tri::before { content: ''; position: absolute; inset: 0; background: #FFE7B3; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.e-dv__tri span { position: absolute; font: 800 30px/1 var(--font-display); color: #5C3608; }
.e-dv__tri span:nth-child(1) { left: 50%; top: 34%; transform: translateX(-50%); color: #C2410C; }
.e-dv__tri span:nth-child(2) { left: 20%; bottom: 10%; }
.e-dv__tri span:nth-child(3) { right: 20%; bottom: 10%; }
@media (max-width:720px) {
	.e-dv { gap: 8px; }
	.e-dv__nut { width: 28px; height: 28px; }
	.e-dv__bowl .e-dv__nut { width: 18px; height: 18px; }
	.e-dv__sq { width: 44px; height: 44px; }
	.e-dv__friends { gap: 6px; }
	.e-dv__friend { padding: 6px 3px 8px; border-width: 2px; }
	.e-dv__cnt { min-width: 22px; height: 22px; font-size: 13px; line-height: 22px; top: 4px; right: 4px; }
	.e-dv__bowl { min-height: 40px; }
	.e-dv__info { font-size: 13px; padding: 6px 10px; }
	.e-dv__qt { font-size: 17px; }
	.e-dv__opt { min-width: 54px; min-height: 46px; font-size: 19px; }
	.e-dv__tri { width: 130px; height: 115px; }
	.e-dv__tri span { font-size: 24px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-dv { gap: 6px; }
	.e-dv__nut { width: 24px; height: 24px; }
	.e-dv__sq { width: 36px; height: 36px; }
	.e-dv__bowl { min-height: 30px; }
	.e-dv__bowl .e-dv__nut { width: 16px; height: 16px; }
	.e-dv__info { min-height: 0; font-size: 13px; padding: 4px 10px; }
	.e-dv__tri { width: 100px; height: 88px; }
	.e-dv__tri span { font-size: 20px; }
	.e-dv__big { padding: 6px 18px; }
	.e-dv__opt { min-height: 42px; }
}

/* ---------- Reizināšana un dalīšana rakstos (kd-written.js, 0.27.0) ---------- */
.e-wr { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 100%; }
.e-wr.is-wide { flex-direction: row; gap: 28px; }
.e-wr__paper { padding: 12px 16px; border-radius: var(--r-md); background-color: #fff; background-image: linear-gradient(#DCE9F7 1px, transparent 1px), linear-gradient(90deg, #DCE9F7 1px, transparent 1px); background-size: calc(var(--cs, 44px) / 2) calc(var(--cs, 44px) / 2); box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); }
.e-wr__sheet { --cs: 44px; display: grid; grid-template-columns: repeat(var(--w), var(--cs)); grid-template-rows: repeat(var(--r), var(--cs)); }
.e-wr__c { display: flex; align-items: center; justify-content: center; font: 800 calc(var(--cs) * .66)/1 var(--font-display); color: #2B2D42; border-radius: 6px; position: relative; }
.e-wr__c.is-op { color: #5C5F77; font-size: calc(var(--cs) * .8); }
.e-wr__c.is-minus { color: #C2410C; }
.e-wr__c.is-new, .e-wr__c.is-down { color: #2F6FD6; }
.e-wr__c.is-down { color: #8E44C4; }
.e-wr__c.is-lead0 { color: #B8C2D6; }
.e-wr__c.is-carryrow { align-items: flex-end; }
.e-wr__c.is-carry { color: #D1342F; font-size: calc(var(--cs) * .38); align-items: flex-end; padding-bottom: 2px; }
.e-wr__c.is-u { box-shadow: inset 0 -3px 0 #2B2D42; border-radius: 0; }
.e-wr__c.is-hl { background: #FFE7B3; }
.e-wr__c.is-pop { animation: e-wr-pop .35s; }
.e-wr__c.is-remtxt { justify-content: flex-start; white-space: nowrap; font-size: calc(var(--cs) * .44); color: #C2410C; overflow: visible; }
@keyframes e-wr-pop { 0% { scale: 1.5; opacity: .2; } }
.e-wr__panel { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; max-width: 380px; }
.e-wr__qrow { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; min-height: 56px; }
.e-wr__lbl { padding: 4px 10px; border-radius: 999px; background: #E7E0FF; color: #5A3FC0; font-weight: 800; font-size: 14px; }
.e-wr__lbl:empty { display: none; }
.e-wr__ask { font: 800 30px/1.1 var(--font-display); color: var(--ink); white-space: nowrap; }
.e-wr__in { min-width: 76px; padding: 6px 12px; border-radius: 14px; border: 3px solid #2F6FD6; background: #fff; text-align: center; font: 800 30px/1.1 var(--font-display); color: #2F6FD6; }
.e-wr__in.is-off { display: none; }
.e-wr__info { min-height: 44px; width: 100%; padding: 8px 12px; border-radius: var(--r-md); background: var(--surface); font-weight: 700; font-size: 15px; line-height: 1.3; text-align: center; }
.e-wr__info:empty { visibility: hidden; }
.e-wr__info.is-good { background: #E3F4E6; color: #1E5E33; }
.e-wr__info.is-bad { background: #FDE5E2; color: #8A2018; }
.e-wr__info.is-note { background: #FFF1C9; color: #5C3608; }
.e-wr__keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; max-width: 300px; }
.e-wr__key { min-height: 50px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); font: 800 24px/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-wr__key:active { translate: 0 2px; box-shadow: 0 2px 0 var(--line), inset 0 0 0 2px var(--line); }
.e-wr__key.is-ok { background: #2F9D5A; color: #fff; box-shadow: 0 4px 0 #1E6B3C; }
.e-wr__key.is-del { background: #F3EFE6; }
.e-wr__show { min-height: 40px; font-size: 14px; }
@media (max-width:720px) {
	.e-wr { gap: 8px; }
	.e-wr__paper { padding: 6px 8px; }
	.e-wr__ask, .e-wr__in { font-size: 24px; }
	.e-wr__qrow { min-height: 46px; gap: 6px; }
	.e-wr__info { font-size: 13px; padding: 6px 10px; min-height: 40px; }
	.e-wr__keys { grid-template-columns: repeat(6, 1fr); max-width: 100%; gap: 5px; }
	.e-wr__key { min-height: 44px; font-size: 21px; }
	.e-wr__panel { gap: 6px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-wr__keys { grid-template-columns: repeat(6, 1fr); max-width: 100%; gap: 5px; }
	.e-wr__key { min-height: 40px; font-size: 20px; }
	.e-wr__panel { gap: 6px; }
	.e-wr__ask, .e-wr__in { font-size: 22px; }
	.e-wr__info { font-size: 13px; padding: 4px 8px; min-height: 0; }
	.e-wr__qrow { min-height: 40px; }
}
.e-wr__c.is-dot { font-size: calc(var(--cs) * 1.5); line-height: .5; }

/* ---------- Reizrēķina tabula (kd-mtable.js, 0.28.0) ---------- */
.e-mt { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 100%; }
.e-mt.is-wide { flex-direction: row; gap: 24px; }
.e-mt__board { --cs: 40px; }
.e-mt__grid { display: grid; grid-template-columns: repeat(var(--n), var(--cs)); grid-auto-rows: var(--cs); gap: 2px; padding: 4px; border-radius: 14px; background: #E9DFCC; }
.e-mt__c { position: relative; padding: 0; border: 0; border-radius: calc(var(--cs) * .18); background: #fff; font: 800 calc(var(--cs) * .42)/1 var(--font-display); color: var(--ink); cursor: pointer; transition: background .15s; }
.e-mt__c.is-head { background: #FFE7B3; color: #7A4A0A; cursor: default; }
.e-mt__c.is-corner { background: #F2A93B; color: #fff; font-size: calc(var(--cs) * .6); }
.e-mt__c.is-diag:not(.is-blank) { background: #FFF6E0; }
.e-mt__c.is-blank { background: #EEF4FB; box-shadow: inset 0 0 0 2px #B9D3EE; }
.e-mt__c.is-row, .e-mt__c.is-col { background: #FFF1C9; }
.e-mt__c.is-head.is-row, .e-mt__c.is-head.is-col { background: #F2A93B; color: #fff; }
.e-mt__c.is-target { background: #fff !important; box-shadow: inset 0 0 0 3px #2F6FD6; animation: e-mt-blink 1.2s infinite; }
@keyframes e-mt-blink { 50% { box-shadow: inset 0 0 0 3px #2F6FD6, 0 0 0 4px rgba(47,111,214,.25); } }
.e-mt__c.is-done { color: #2F6FD6; animation: e-mt-pop .35s; }
.e-mt__c.is-found { background: #7BC47F !important; color: #fff; animation: e-mt-pop .3s; }
.e-mt__grid.is-hund .e-mt__c.is-col1 { background: var(--hc, #F2A93B); color: #fff; animation: e-mt-pop .3s; }
@keyframes e-mt-pop { 0% { scale: 1.25; } }
.e-mt__panel { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; max-width: 360px; }
.e-mt__q { display: flex; align-items: center; gap: 10px; min-height: 52px; }
.e-mt__ask { font: 800 30px/1.1 var(--font-display); white-space: nowrap; }
.e-mt__in { min-width: 72px; padding: 6px 12px; border-radius: 14px; border: 3px solid #2F6FD6; background: #fff; text-align: center; font: 800 30px/1.1 var(--font-display); color: #2F6FD6; }
.e-mt__big { font: 800 clamp(40px, 9vmin, 72px)/1 var(--font-display); color: #C2410C; padding: 4px 22px; border-radius: var(--r-md); background: #fff; box-shadow: 0 4px 0 var(--line); }
.e-mt__info { min-height: 44px; width: 100%; padding: 8px 12px; border-radius: var(--r-md); background: var(--surface); font-weight: 700; font-size: 15px; line-height: 1.3; text-align: center; }
.e-mt__info.is-good { background: #E3F4E6; color: #1E5E33; }
.e-mt__info.is-bad { background: #FDE5E2; color: #8A2018; }
.e-mt__keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; max-width: 290px; }
.e-mt__key { min-height: 48px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); font: 800 24px/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-mt__key:active { translate: 0 2px; }
.e-mt__key.is-ok { background: #2F9D5A; color: #fff; box-shadow: 0 4px 0 #1E6B3C; }
.e-mt__key.is-del { background: #F3EFE6; }
@media (max-width:720px) {
	.e-mt { gap: 6px; }
	.e-mt__grid { gap: 1px; padding: 2px; }
	.e-mt__panel { gap: 5px; max-width: 100%; }
	.e-mt__keys { grid-template-columns: repeat(6, 1fr); max-width: 100%; gap: 4px; }
	.e-mt__key { min-height: 42px; font-size: 20px; }
	.e-mt__ask, .e-mt__in { font-size: 24px; }
	.e-mt__q { min-height: 42px; }
	.e-mt__info { font-size: 13px; padding: 6px 8px; min-height: 38px; }
	.e-mt__big { font-size: 36px; padding: 2px 16px; }
}
@media (max-height:520px) and (min-width:600px) {
	.e-mt__keys { grid-template-columns: repeat(6, 1fr); max-width: 100%; gap: 4px; }
	.e-mt__key { min-height: 38px; font-size: 19px; }
	.e-mt__info { font-size: 13px; padding: 4px 8px; min-height: 0; }
	.e-mt__ask, .e-mt__in { font-size: 22px; }
	.e-mt__big { font-size: 34px; }
}

/* ---------- 0.28.1: kompaktāka galvene telefonā (visas spēles) + reizrēķina tabula ---------- */
@media (max-width: 600px) {
	.g-hud { row-gap: 4px; padding: 6px 8px; }
	.g-hud > .g-icon, .g-hud__meta > .g-icon { width: 40px; height: 40px; }
	.g-hud__char { width: 32px; height: 32px; }
	.g-hud__prompt { font-size: 16px; flex: 1 1 0; min-width: 0; }
	.g-hud__meta { display: contents; }
	.g-hud__meta > .g-icon { order: 2; }
	.g-hud .g-progress { order: 3; flex: 1 0 100%; justify-content: center; gap: 3px; }
	.g-hud__meta > span:not(.g-progress) { order: 3; }
	.g-hud .g-progress:empty { display: none; }
	.g-progress i { width: 8px; height: 8px; }
	.g-stage { padding: 8px; }
}
.e-mt__info:empty { display: none; }
.e-mt__grid { gap: 2px; padding: 4px; }
@media (max-width: 500px) { .e-mt__grid { gap: 1px; padding: 2px; } }
.e-mt.is-tight { gap: 4px; }
.e-mt.is-tight .e-mt__panel { gap: 4px; }
.e-mt.is-tight .e-mt__q { min-height: 36px; }
.e-mt.is-tight .e-mt__ask, .e-mt.is-tight .e-mt__in { font-size: 21px; }
.e-mt.is-tight .e-mt__in { padding: 2px 10px; min-width: 60px; }
.e-mt.is-tight .e-mt__info { font-size: 12px; padding: 4px 8px; min-height: 0; line-height: 1.25; }
.e-mt.is-tight .e-mt__key { min-height: 38px; font-size: 19px; box-shadow: 0 3px 0 var(--line), inset 0 0 0 2px var(--line); }
.e-mt.is-tight .e-mt__key.is-ok { box-shadow: 0 3px 0 #1E6B3C; }
.e-mt.is-tight .e-mt__big { font-size: 28px; padding: 0 12px; }
@media (max-height: 520px) and (min-width: 601px) {
	.g-hud { flex-wrap: nowrap; padding: 4px 10px; gap: 8px; }
	.g-hud > .g-icon, .g-hud__meta > .g-icon { width: 38px; height: 38px; }
	.g-hud__char { width: 30px; height: 30px; }
	.g-hud__prompt { font-size: 16px; flex: 1 1 0; min-width: 0; }
	.g-hud__meta { gap: 8px; }
	.g-progress { gap: 3px; }
	.g-progress i { width: 8px; height: 8px; }
	.g-stage { padding: 8px; }
}

/* ---------- Eiropas karte (kd-europe.js, 0.29.0) ---------- */
.e-eu__bg path { fill: #EFEADF; stroke: #D8D0BE; stroke-width: .8px; vector-effect: non-scaling-stroke; pointer-events: none; }
.e-eu__c path { stroke: #fff; stroke-width: 1.3px; stroke-linejoin: round; vector-effect: non-scaling-stroke; transition: fill .2s; }
.e-eu__c path.is-off { stroke: #fff; }
.e-eu__mdot { r: calc(7px * var(--u, 1)); stroke: #2B2D42; stroke-width: 1.6px; vector-effect: non-scaling-stroke; }
.e-eu__mdot.is-off { stroke: #B9B1A0; }
.e-map__lab.is-home { fill: #8A1C2B; font-size: calc(14px * var(--u, 1)); }
.e-map__lab.is-cap { font-size: calc(14px * var(--u, 1)); fill: #2B2D42; }
.e-map__opts.is-yn.e-qz__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 420px; }
@media (max-width: 720px) {
	.e-eu .e-map__box { flex: 1 1 auto; aspect-ratio: auto; }
}
.e-eu .e-map__svg { cursor: pointer; }
.e-eu.is-far .e-map__seat.is-minor { display: none; }

/* ---------- Adventes kalendārs (kd-advent.js, 0.30.0) ---------- */
.e-adv { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(8px, 2vh, 16px); width: 100%; height: 100%; min-height: 0; }
.e-adv.is-cal { justify-content: flex-start; }
.e-adv__grid { --gap: clamp(5px, 1.2vmin, 10px); flex: 1 1 auto; min-height: 0; width: 100%; max-width: 900px; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 1fr; gap: var(--gap); padding: var(--gap); border-radius: 20px; background: #1F4D3A; background-image: radial-gradient(rgba(255,255,255,.18) 1.5px, transparent 1.6px); background-size: 22px 22px; }
.e-adv__door { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 0; border: 0; border-radius: 12px; background: var(--c); color: #fff; cursor: pointer; box-shadow: inset 0 0 0 3px rgba(255,255,255,.35), 0 4px 0 rgba(0,0,0,.25); transition: transform .12s; overflow: hidden; }
.e-adv__door b { font: 800 clamp(18px, 4.2vmin, 34px)/1 var(--font-display, sans-serif); text-shadow: 0 2px 0 rgba(0,0,0,.25); position: relative; z-index: 1; }
.e-adv__door:hover:not(.is-locked) { transform: translateY(-2px) rotate(-1deg); }
.e-adv__door.is-open { background: #FFF6DE; color: #2B2D42; box-shadow: inset 0 0 0 3px var(--c), 0 4px 0 rgba(0,0,0,.2); }
.e-adv__door.is-open b { position: absolute; left: 5px; top: 4px; font-size: clamp(11px, 2vmin, 15px); text-shadow: none; }
.e-adv__door.is-open .e-adv__ic { width: 78%; height: 78%; object-fit: contain; }
.e-adv__door.is-locked { filter: saturate(.35) brightness(.85); cursor: not-allowed; }
.e-adv__door i { position: absolute; right: 4px; bottom: 2px; font-style: normal; font-size: clamp(10px, 2vmin, 15px); }
.e-adv__door.is-today { animation: e-adv-glow 1.4s ease-in-out infinite; }
@keyframes e-adv-glow { 50% { box-shadow: inset 0 0 0 3px #FFE27A, 0 0 0 5px #FFE27A, 0 4px 0 rgba(0,0,0,.25); } }
.e-adv__note { margin: 0; min-height: 1.3em; text-align: center; font-size: 15px; color: var(--ink-soft, #555); }
.e-adv__day { font: 800 15px/1 var(--font-display, sans-serif); color: #fff; background: #C2410C; padding: 6px 12px; border-radius: 999px; }
.e-adv__area { flex: 1 1 auto; min-height: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.e-adv__ic { width: clamp(38px, 9vmin, 76px); height: clamp(38px, 9vmin, 76px); object-fit: contain; user-select: none; -webkit-user-drag: none; }
.e-adv__ic.is-sm { width: clamp(30px, 6vmin, 48px); height: clamp(30px, 6vmin, 48px); }
.e-adv__ic.is-big { width: clamp(80px, 22vmin, 170px); height: clamp(80px, 22vmin, 170px); }
.e-adv__scatter { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 10px; max-width: 560px; }
.e-adv__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.e-adv__row.is-seq { gap: 6px; align-items: center; }
.e-adv__q { display: inline-flex; align-items: center; justify-content: center; width: clamp(38px, 9vmin, 76px); height: clamp(38px, 9vmin, 76px); border: 3px dashed #C2410C; border-radius: 14px; font: 800 28px/1 var(--font-display, sans-serif); color: #C2410C; }
.e-adv__sum { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.e-adv__sum > b { font: 800 34px/1 var(--font-display, sans-serif); color: #C2410C; }
.e-adv__sum .e-adv__row { max-width: 46%; padding: 6px; border-radius: 14px; background: #FFF1D6; }
.e-adv__cmp { display: flex; flex-direction: column; gap: 10px; width: 100%; align-items: center; }
.e-adv__cmp .e-adv__row { padding: 6px 10px; border-radius: 14px; background: #FFF1D6; }
.e-adv__text { margin: 0; max-width: 620px; text-align: center; font: 700 clamp(17px, 3.2vmin, 24px)/1.35 var(--font-body, sans-serif); color: var(--ink, #2B2D42); }
.e-adv__opts { display: grid; gap: 10px; width: 100%; max-width: 640px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-adv__opts.is-two, .e-adv__opts.is-words { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-adv__opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-adv__opts.is-pics.n4, .e-adv__opts.is-pics.n3 { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
.e-adv__opts.is-pics.n3 { --cols: 3; } .e-adv__opts.is-pics.n6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.e-adv__opt { min-height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 6px; font-size: clamp(16px, 2.8vmin, 22px); }
.e-adv__opts.is-num .e-adv__opt { font: 800 clamp(24px, 5vmin, 38px)/1 var(--font-display, sans-serif); }
.e-adv__opts.is-letters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.e-adv__letter { width: clamp(44px, 9vmin, 62px); height: clamp(44px, 9vmin, 62px); font: 800 clamp(22px, 4.6vmin, 32px)/1 var(--font-display, sans-serif); }
.e-adv__letter.is-used { opacity: .25; }
.e-adv__slots { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.e-adv__slot { display: inline-flex; align-items: center; justify-content: center; width: clamp(34px, 7vmin, 52px); height: clamp(42px, 8.5vmin, 60px); border-bottom: 4px solid #C9C1B0; font: 800 clamp(22px, 4.6vmin, 34px)/1 var(--font-display, sans-serif); color: #2F9E5B; }
.e-adv__slot.is-on { border-color: #2F9E5B; }
@media (max-width: 600px) {
	.e-adv__grid { grid-template-columns: repeat(4, 1fr); border-radius: 14px; background-size: 16px 16px; }
	.e-adv__opts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
	.e-adv__opts.is-pics.n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-adv__opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-adv__opt { min-height: 50px; font-size: 15px; }
	.e-adv__note { font-size: 13px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-adv__grid { grid-template-columns: repeat(8, 1fr); }
	.e-adv.is-q { flex-direction: row; flex-wrap: wrap; }
	.e-adv.is-q .e-adv__area { flex: 1 1 50%; height: 100%; }
	.e-adv.is-q .e-adv__opts { flex: 1 1 40%; }
	.e-adv.is-q .e-adv__day, .e-adv.is-q .e-adv__note { display: none; }
}
.e-adv__scatter.is-few .e-adv__ic { width: clamp(64px, 17vmin, 120px); height: clamp(64px, 17vmin, 120px); }
.e-adv__scatter.is-mid .e-adv__ic { width: clamp(50px, 12vmin, 92px); height: clamp(50px, 12vmin, 92px); }
.e-adv__sum.is-few .e-adv__ic { width: clamp(46px, 11vmin, 84px); height: clamp(46px, 11vmin, 84px); }
.e-adv__opt .e-adv__ic.is-sm { width: clamp(36px, 8vmin, 56px); height: clamp(36px, 8vmin, 56px); }
@media (max-width: 600px) { .e-adv__ic { width: 44px; height: 44px; } .e-adv__opts.is-words .e-adv__opt { font-size: 16px; } }

/* ---------- Viktorīna: 5 grupas (ceļa zīmes, 0.31.0) ---------- */
.e-qz__opts.is-groups.n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1040px; gap: 10px; }
.e-qz__opts.is-groups.n5 .e-qz__opt { padding: 8px 6px; }
.e-qz__opts.is-groups.n5 .e-qz__opt b { font-size: clamp(14px, 1.7vw, 19px); overflow-wrap: anywhere; }
.e-qz__opts.is-groups.n5 .e-qz__opt small { font-size: clamp(11px, 1.2vw, 14px); }
.e-qz--group .e-qz__img { width: clamp(90px, 22vh, 190px); }
@media (max-width: 720px) {
	.e-qz__opts.is-groups.n5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.e-qz__opts.is-groups.n5 .e-qz__opt { min-height: 50px; padding: 4px 6px; gap: 0; }
	.e-qz__opts.is-groups.n5 .e-qz__opt b { font-size: 15px; }
	.e-qz__opts.is-groups.n5 .e-qz__opt small { font-size: 11px; }
	.e-qz__opts.is-groups.n5 .e-qz__opt:last-child { grid-column: 1 / -1; }
	.e-qz--group .e-qz__img { width: clamp(80px, 18vh, 130px); }
	.e-qz--group .e-qz__card { padding: 4px 10px; }
}

/* ---------- Viktorīna: 6 grupas (ceļa zīmes, 0.32.0) ---------- */
.e-qz__opts.is-groups.n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; gap: 10px; }
.e-qz__opts.is-groups.n6 .e-qz__opt { padding: 6px 8px; min-height: 64px; }
.e-qz__opts.is-groups.n6 .e-qz__opt b { font-size: clamp(15px, 1.8vw, 20px); overflow-wrap: anywhere; }
.e-qz__opts.is-groups.n6 .e-qz__opt small { font-size: clamp(11px, 1.2vw, 14px); }
@media (max-width: 720px) {
	.e-qz__opts.is-groups.n6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.e-qz__opts.is-groups.n6 .e-qz__opt { min-height: 48px; padding: 4px 6px; gap: 0; }
	.e-qz__opts.is-groups.n6 .e-qz__opt b { font-size: 15px; }
	.e-qz__opts.is-groups.n6 .e-qz__opt small { font-size: 11px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-qz__opts.is-groups.n6 { grid-template-columns: repeat(6, minmax(0, 1fr)); max-width: none; }
	.e-qz__opts.is-groups.n6 .e-qz__opt { min-height: 44px; }
}

/* ---------- Sinonīmi un antonīmi (words, 0.33.0) ---------- */
.e-wd__word { padding: 10px 28px; border-radius: 999px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); font: 800 clamp(26px, 6vh, 46px)/1.1 var(--font-display); color: var(--ink); }
.e-wd__word.is-ant { box-shadow: inset 0 0 0 3px #F4A261, 0 5px 0 #E58A45; }
.e-wd__word.is-syn { box-shadow: inset 0 0 0 3px #7BC67E, 0 5px 0 #5CAE60; }
.e-wd__sub { margin: 0; font-weight: 700; font-size: clamp(14px, 2.2vh, 17px); color: var(--ink-soft); text-align: center; }
.e-wd__pair { display: flex; align-items: center; gap: clamp(8px, 2vw, 18px); flex-wrap: wrap; justify-content: center; }
.e-wd__pair i { font-style: normal; font: 800 clamp(24px, 5vh, 38px)/1 var(--font-display); color: var(--ink-soft); }
.e-wd__pair .e-wd__word { font-size: clamp(22px, 5vh, 38px); padding: 8px 22px; }
.e-wd__match { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 6vw, 70px); width: 100%; max-width: 640px; }
.e-wd__col { display: flex; flex-direction: column; gap: clamp(8px, 1.6vh, 12px); }
.e-wd__chip { border: 0; border-radius: 14px; padding: clamp(10px, 1.8vh, 14px) 10px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 4px 0 var(--line); font: 800 clamp(17px, 3.4vh, 25px)/1.1 var(--font-display); color: var(--ink); cursor: pointer; overflow-wrap: anywhere; }
.e-wd__chip:hover:not(:disabled) { box-shadow: inset 0 0 0 3px var(--secondary), 0 4px 0 var(--secondary-hover); }
.e-wd__chip.is-sel { box-shadow: inset 0 0 0 4px var(--primary, #2F6FD6), 0 4px 0 var(--primary, #2F6FD6); transform: translateY(-2px); }
.e-wd__chip.is-done { cursor: default; box-shadow: inset 0 0 0 3px var(--success), 0 2px 0 var(--success); }
.e-wd__sent { margin: 0; max-width: 760px; padding: 14px 20px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); font: 800 clamp(19px, 3.8vh, 30px)/1.4 var(--font-display); text-align: center; }
.e-wd__blank { display: inline-block; min-width: 3.4em; margin: 0 .15em; padding: 0 .3em; border-bottom: 3px dashed var(--ink-soft); color: var(--ink-soft); }
.e-wd__blank.is-on { border-bottom-style: solid; border-color: var(--success); color: var(--success); }
.e-wd .e-qz__opts.is-words.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
.e-wd .e-qz__opts.is-words.n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-wd .e-qz__opts.is-words.n3 > :last-child:nth-child(odd):not(:first-child) { grid-column: auto; justify-self: stretch; width: auto; }
@media (max-width: 600px) {
	.e-wd .e-qz__opts.is-words.n3 { grid-template-columns: 1fr; max-width: 320px; }
	.e-wd .e-qz__opt { min-height: 48px; }
	.e-wd__sent { padding: 10px 12px; }
}
@media (max-height: 520px) and (min-width: 601px) {
	.e-wd__word { padding: 4px 18px; font-size: 24px; }
	.e-wd__sub { font-size: 13px; }
	.e-wd .e-qz__opt { min-height: 42px; font-size: 18px; }
	.e-wd__chip { padding: 6px 8px; font-size: 16px; }
	.e-wd__sent { font-size: 18px; padding: 6px 12px; }
	.e-wd .e-qz__opts.is-words.n3, .e-wd .e-qz__opts.is-words.n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; }
}

/* ---------- Perimetrs un laukums (area, 0.34.0) ---------- */
.e-ar { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
.e-ar__row { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 3vw, 36px); width: 100%; max-width: 1040px; }
.e-ar__board { flex: 1 1 55%; display: flex; justify-content: center; min-width: 0; }
.e-ar__svg.is-rect { max-width: 400px; }
.e-ar__svg { width: 100%; max-width: 520px; max-height: min(58vh, 460px); height: auto; touch-action: manipulation; }
.e-ar__svg.is-small { max-width: 300px; max-height: 32vh; }
.e-ar__cell { fill: #F6EFD9; stroke: #E2D6B5; stroke-width: 1; }
.e-ar__cell.is-on { fill: #9BD67A; stroke: #7FC05E; }
.e-ar__cell.is-on.is-num { fill: #6CBF4F; }
.e-ar__svg.is-draw .e-ar__cell { cursor: pointer; }
.e-ar__svg.is-draw .e-ar__cell:hover { fill: #E6F5D8; }
.e-ar__svg.is-draw .e-ar__cell.is-on:hover { fill: #8ACB68; }
.e-ar--area .e-ar__cell.is-on { cursor: pointer; }
.e-ar__rail { stroke: #8B5A2B; stroke-width: 6; stroke-linecap: round; }
.e-ar__rail.is-num { stroke: #E8590C; }
.e-ar__post { fill: #5C3A1A; }
.e-ar__hit { stroke: transparent; stroke-width: 24; cursor: pointer; pointer-events: stroke; }
.e-ar__nums { pointer-events: none; }
.e-ar__num { font: 800 17px/1 var(--font-display); fill: #1E4D12; }
.e-ar__num.is-edge { font-size: 13px; fill: #fff; paint-order: stroke; stroke: #E8590C; stroke-width: 7px; stroke-linejoin: round; }
.e-ar__panel { flex: 1 1 40%; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 360px; }
.e-ar__hint, .e-ar__formula { margin: 0; text-align: center; font-weight: 700; font-size: 15px; color: var(--ink-soft); line-height: 1.35; }
.e-ar__formula { font: 800 clamp(16px, 2.6vh, 20px)/1.3 var(--font-display); color: var(--secondary); }
.e-ar__input { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.e-ar__disp { display: flex; align-items: baseline; gap: 6px; min-width: 150px; justify-content: center; padding: 6px 18px; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); font: 800 clamp(26px, 5vh, 38px)/1.1 var(--font-display); }
.e-ar__disp.is-right { box-shadow: inset 0 0 0 3px var(--success); color: var(--success); }
.e-ar__unit { font-size: .6em; color: var(--ink-soft); }
.e-ar__pad { display: grid; grid-template-columns: repeat(3, 58px); gap: 7px; }
.e-ar__key { height: 48px; border: 0; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 4px 0 var(--line); font: 800 22px/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-ar__key:active { transform: translateY(2px); box-shadow: inset 0 0 0 2px var(--line), 0 2px 0 var(--line); }
.e-ar__key.is-ok { background: var(--secondary); color: #fff; box-shadow: 0 4px 0 var(--secondary-hover); font-size: 18px; }
.e-ar__key.is-del { font-size: 20px; color: var(--ink-soft); }
.e-ar__note { margin: 0; min-height: 1.4em; max-width: 520px; font-weight: 800; font-size: 15px; line-height: 1.35; color: var(--danger); text-align: center; }
.e-ar__note.is-ok { color: var(--success); }
.e-ar__stat { display: flex; flex-direction: column; gap: 4px; font: 700 18px/1.3 var(--font-body); }
.e-ar__stat b { font-family: var(--font-display); font-size: 1.25em; color: var(--secondary); }
.e-ar__pair { display: flex; gap: clamp(10px, 4vw, 40px); justify-content: center; width: 100%; }
.e-ar__pair figure { margin: 0; display: flex; flex-direction: column; align-items: center; flex: 1 1 0; max-width: 320px; }
.e-ar__pair figcaption { font: 800 26px/1 var(--font-display); }
.e-ar__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 560px; }
.e-ar__opt { min-height: 60px; font-size: 24px; }
.e-ar__rect { fill: #CFE9F7; }
.e-ar__rectb { fill: none; stroke: #1F5F8B; stroke-width: 4; }
.e-ar__gl { stroke: #8DBEDC; stroke-width: 1; }
.e-ar__side { font: 800 22px/1 var(--font-display); fill: #1F5F8B; }
.e-ar__side.is-v { writing-mode: vertical-rl; }
.e-ar__inS { font: 800 18px/1 var(--font-display); fill: #1F5F8B; }
@media (max-width: 720px) {
	.e-ar__row { flex-direction: column; gap: 6px; }
	.e-ar__svg { max-height: 34vh; }
	.e-ar__svg.is-small { max-height: 24vh; }
	.e-ar__pad { grid-template-columns: repeat(6, 44px); gap: 5px; }
	.e-ar__key { height: 40px; font-size: 19px; }
	.e-ar__hint { font-size: 13px; }
	.e-ar__disp { font-size: 24px; padding: 3px 14px; }
	.e-ar__note { font-size: 13px; }
	.e-ar__panel { gap: 6px; }
}
@media (max-height: 520px) and (min-width: 601px) {
	.e-ar__svg { max-height: 62vh; }
	.e-ar__pad { grid-template-columns: repeat(6, 44px); }
	.e-ar__key { height: 36px; }
	.e-ar__hint { font-size: 12px; }
}

/* ---------- Tangrams (tangram, 0.35.0) ---------- */
.e-tg { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.e-tg__svg { flex: 1 1 0; width: 100%; min-height: 0; max-height: 100%; touch-action: none; user-select: none; }
.e-tg__tray { fill: #FFF6E0; stroke: #EADBB5; stroke-width: 2; stroke-dasharray: 8 6; }
.e-tg__sil { fill: #3F4560; stroke: #3F4560; stroke-width: 0.04; stroke-linejoin: round; }
.e-tg__slot { fill: none; stroke: #C9CEE0; stroke-width: 0.06; stroke-linejoin: round; stroke-dasharray: 0.18 0.1; }
.e-tg__pg { cursor: grab; }
.e-tg__pg:active { cursor: grabbing; }
.e-tg__piece { stroke: #fff; stroke-width: 2.5; stroke-linejoin: round; filter: drop-shadow(0 2px 2px rgba(0,0,0,.18)); }
.e-tg__pg.is-sel .e-tg__piece { stroke: #2B2D42; stroke-width: 3; }
.e-tg__pg.is-placed .e-tg__piece { filter: none; }
.e-tg__svg.is-done .e-tg__piece { stroke: #fff; animation: e-tg-pop .5s ease-out; }
@keyframes e-tg-pop { 50% { transform: scale(1.03); } }
.e-tg__bar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.e-tg__btn { min-height: 44px; padding: 0 16px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 3px 0 var(--line); color: var(--ink); font-size: 16px; }
.e-tg__btn:disabled { opacity: .45; cursor: default; }
.e-tg__note { margin: 0; min-height: 1.3em; font-weight: 800; font-size: 15px; color: var(--danger); text-align: center; }
.e-tg__note.is-ok { color: var(--ink-soft); }
@media (max-width: 600px) { .e-tg__btn { min-height: 38px; padding: 0 10px; font-size: 14px; } .e-tg__note { font-size: 13px; } }
.g-stage > .e-tg { margin: 0 auto; align-self: stretch; }

/* ---------- Atjautības uzdevumi (brain, 0.36.0) ---------- */
.e-br { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; max-width: 860px; }
.e-br__note { margin: 0; min-height: 1.35em; max-width: 620px; font-weight: 800; font-size: 15px; line-height: 1.35; color: var(--ink-soft); text-align: center; }
.e-br__note:empty { min-height: 0; }
.e-br__note.is-bad { color: var(--danger); }
.e-br__note.is-ok { color: var(--success); }
.e-br__note.is-hint { color: #7A4FD0; }
.e-br__sub { margin: 0; font-weight: 700; font-size: 15px; color: var(--ink-soft); text-align: center; }
/* āķīgie jautājumi */
.e-br__card { display: flex; align-items: center; gap: 16px; width: 100%; padding: 14px 18px; border-radius: var(--r-md); background: linear-gradient(135deg, #F1EAFF, #FFF1D6); box-shadow: inset 0 0 0 2px #E2D6FA; }
.e-br__pic { width: clamp(84px, 18vw, 170px); flex: none; filter: drop-shadow(0 4px 4px rgba(60,40,120,.15)); animation: e-br-in .45s ease-out; }
.e-br__q { margin: 0; font: 700 clamp(17px, 2.3vw, 23px)/1.4 var(--font-display); color: var(--ink); }
.e-br__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; width: 100%; }
.e-br__opt { min-height: 56px; padding: 8px 14px; border: 0; border-radius: 16px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 5px 0 var(--line); font: 800 18px/1.25 var(--font-body); cursor: pointer; transition: transform .1s; }
.e-br__opt:hover { transform: translateY(-2px); }
.e-br__opt:active { transform: translateY(2px); box-shadow: inset 0 0 0 2px var(--line), 0 2px 0 var(--line); }
.e-br__opt.is-no { opacity: .45; text-decoration: line-through; cursor: default; }
.e-br__opt.is-yes { background: #DDF5DF; box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 #9CCB9F; }
.e-br__opts.is-done .e-br__opt:not(.is-yes) { opacity: .4; }
.e-br__why { width: 100%; padding: 12px 18px; border-radius: var(--r-md); background: #FFF6D6; box-shadow: inset 0 0 0 2px #FFD66B; text-align: center; animation: e-br-in .35s ease-out; }
.e-br__why p { margin: 0 0 8px; font-size: 17px; line-height: 1.45; }
.e-br__why .e-br__why-t { font: 800 19px/1.3 var(--font-display); color: #9A6A00; }
.e-br__why .e-br__why-t::before { content: '💡 '; }
.e-br__next { min-height: 46px; }
@keyframes e-br-in { from { opacity: 0; transform: translateY(8px) scale(.97); } }
/* kurš ko grib */
.e-br__clues { list-style: none; margin: 0; padding: 10px 14px; width: 100%; display: flex; flex-direction: column; gap: 6px; border-radius: var(--r-md); background: #F3EEFF; box-shadow: inset 0 0 0 2px #E2D6FA; }
.e-br__clue { display: flex; align-items: center; gap: 8px; font-size: 17px; line-height: 1.3; transition: background .2s; border-radius: 10px; padding: 2px 6px; }
.e-br__st { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 900 14px/1 var(--font-body); font-style: normal; background: #fff; color: #B5A8D6; box-shadow: inset 0 0 0 2px #DCD2F3; }
.e-br__clue.is-ok .e-br__st { background: var(--success); color: #fff; box-shadow: none; }
.e-br__clue.is-bad { background: #FDE4E1; }
.e-br__clue.is-bad .e-br__st { background: var(--danger); color: #fff; box-shadow: none; animation: e-br-shake .35s; }
.e-br__ct { flex: 1; line-height: 1.75; }
.e-br__tok { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; vertical-align: middle; line-height: 1.2; }
.e-br__tok img { width: 26px; height: 26px; object-fit: contain; display: inline-block; }
.e-br__who { display: flex; justify-content: center; gap: clamp(6px, 2vw, 18px); width: 100%; }
.e-br__pc { flex: 1 1 0; max-width: 150px; display: flex; flex-direction: column; align-items: center; gap: 2px; font: 800 15px/1.2 var(--font-display); }
.e-br__face { width: clamp(52px, 10vw, 92px); height: clamp(52px, 10vw, 92px); object-fit: contain; }
.e-br__slot { width: clamp(54px, 9vw, 78px); height: clamp(54px, 9vw, 78px); margin-top: 4px; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 3px #CFC3EE; display: grid; place-items: center; cursor: pointer; font: 900 24px/1 var(--font-display); color: #CFC3EE; padding: 6px; }
.e-br.has-sel .e-br__slot { box-shadow: inset 0 0 0 3px #7A4FD0; animation: e-br-pulse 1s infinite; }
.e-br__slot.is-full { box-shadow: inset 0 0 0 3px #7A4FD0; background: #F7F3FF; }
.e-br__slot img { width: 100%; height: 100%; object-fit: contain; }
.e-br__tray { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; min-height: 66px; padding: 6px 12px; border-radius: var(--r-md); background: var(--surface-warm); }
.e-br__chip { width: 62px; height: 62px; padding: 6px; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); cursor: grab; touch-action: none; transition: transform .12s; }
.e-br__chip img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.e-br__chip.is-sel { transform: translateY(-5px) scale(1.06); box-shadow: 0 6px 0 #B9A3EC, inset 0 0 0 3px #7A4FD0; }
.e-br__ghost { position: fixed; z-index: 99; width: 56px; height: 56px; pointer-events: none; opacity: .9; transform: scale(1.1); }
@keyframes e-br-pulse { 50% { box-shadow: inset 0 0 0 3px #B39BEB; } }
@keyframes e-br-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
/* svari */
.e-br__refs { display: flex; justify-content: center; gap: 10px; width: 100%; }
.e-br__scale { width: min(100%, 420px); height: auto; overflow: visible; }
.e-br__scale.is-small { width: min(46%, 280px); background: #FFF8EA; border-radius: 16px; padding: 4px; }
.e-br__refs .e-br__scale.is-small:only-child { width: min(70%, 280px); }
.e-br__qm { font: 900 30px/1 var(--font-display); fill: #7A4FD0; }
.e-br__ctr { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.e-br__pm { width: 50px; height: 50px; border: 0; border-radius: 50%; background: #7A4FD0; color: #fff; font: 900 28px/1 var(--font-body); box-shadow: 0 4px 0 #5B36A8; cursor: pointer; }
.e-br__pm:active { transform: translateY(2px); box-shadow: 0 2px 0 #5B36A8; }
.e-br__cntw { display: inline-flex; align-items: center; gap: 6px; min-width: 84px; justify-content: center; font: 900 30px/1 var(--font-display); }
.e-br__cntw img { width: 38px; height: 38px; object-fit: contain; }
.e-br__chk { min-height: 50px; }
.e-br__fopts { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.e-br__fopt { width: 112px; padding: 8px; border: 0; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 2px var(--line), 0 5px 0 var(--line); display: flex; flex-direction: column; align-items: center; gap: 4px; font: 800 15px/1.2 var(--font-body); cursor: pointer; }
.e-br__fopt img { width: 64px; height: 64px; object-fit: contain; }
.e-br__fopt.is-no { opacity: .45; cursor: default; }
.e-br__fopt.is-yes { background: #DDF5DF; box-shadow: inset 0 0 0 3px var(--success), 0 5px 0 #9CCB9F; }
/* sērkociņi */
.e-br__mbox { width: 100%; max-width: 640px; padding: 14px; border-radius: var(--r-md); background: #2E3A59; box-shadow: inset 0 0 0 4px #24304B; }
.e-br__mt { width: 100%; height: auto; display: block; overflow: visible; }
.e-br__eq line { stroke: #F4F1E8; stroke-width: 7; stroke-linecap: round; }
.e-br__m { cursor: pointer; }
.e-br__mslot { stroke: transparent; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 4 6; }
.e-br__mt.has-sel .e-br__m:not(.is-on) .e-br__mslot { stroke: rgba(255,255,255,.35); }
.e-br__mstick, .e-br__mhead { opacity: 0; transition: opacity .15s, transform .15s; }
.e-br__mstick { stroke: #F2C46B; stroke-width: 7; stroke-linecap: round; }
.e-br__mhead { fill: #E0452B; }
.e-br__m.is-on .e-br__mstick, .e-br__m.is-on .e-br__mhead { opacity: 1; }
.e-br__m.is-lift .e-br__mstick { stroke: #FFE29A; filter: drop-shadow(0 0 5px #FFD54A); }
.e-br__m.is-lift { transform: translate(-2px, -3px); }
.e-br__m.is-hint .e-br__mstick { animation: e-br-blink .8s infinite; }
@keyframes e-br-blink { 50% { stroke: #7CF0FF; } }
.e-br__mhit { stroke: transparent; stroke-width: 22; stroke-linecap: round; pointer-events: stroke; }
/* upe */
.e-br__rules { margin: 0; padding: 8px 14px 8px 30px; width: 100%; border-radius: var(--r-md); background: #F3EEFF; font-size: 15px; line-height: 1.4; }
.e-br__scene { display: grid; grid-template-columns: 1fr 1.6fr 1fr; width: 100%; min-height: clamp(150px, 30vh, 240px); border-radius: var(--r-md); overflow: hidden; box-shadow: inset 0 0 0 2px #B9DCA8; }
.e-br__bank { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 4px; padding: 8px 4px; background: linear-gradient(#BFE6A8, #9ED38A); }
.e-br__water { position: relative; background: linear-gradient(#7CC8F0, #4FA8DD); background-size: 100% 100%; }
.e-br__water::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(170deg, transparent 0 18px, rgba(255,255,255,.18) 18px 21px); }
.e-br__boat { position: absolute; left: 4px; bottom: 18%; width: 54%; min-height: 64px; display: flex; justify-content: center; align-items: flex-end; gap: 2px; padding: 4px 6px 12px; background: no-repeat bottom/100% 26px linear-gradient(#A0663A, #7B4A27); border-radius: 0 0 40% 40% / 0 0 100% 100%; transition: left .85s ease-in-out; }
.e-br__boat.is-r { left: calc(46% - 4px); }
.e-br__rt { position: relative; width: clamp(46px, 8vw, 84px); height: clamp(46px, 8vw, 84px); padding: 0; border: 0; background: transparent; cursor: pointer; transition: transform .15s; }
.e-br__rt:active { transform: scale(.94); }
.e-br__rt img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0,0,0,.2)); }
.e-br__rt small { position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%); padding: 0 5px; border-radius: 8px; background: #fff; font: 800 11px/1.5 var(--font-body); white-space: nowrap; }
.e-br.r-mc .e-br__rt { width: clamp(40px, 6.5vw, 58px); height: clamp(40px, 6.5vw, 58px); }
.e-br__rbar { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.e-br__sail { min-height: 50px; padding: 0 26px; }
.e-br__sail:disabled { opacity: .6; }
.e-br__redo { min-height: 50px; }
@media (max-width: 600px) {
	.e-br { gap: 7px; }
	.e-br__card { padding: 10px 12px; gap: 10px; }
	.e-br__pic { width: 76px; }
	.e-br__q { font-size: 16px; }
	.e-br__opts { grid-template-columns: 1fr; gap: 7px; }
	.e-br__opt { min-height: 44px; font-size: 16px; }
	.e-br__opts.is-done .e-br__opt:not(.is-yes) { display: none; }
	.e-br__why { padding: 8px 12px; } .e-br__why p { font-size: 15px; margin-bottom: 6px; } .e-br__why .e-br__why-t { font-size: 16px; }
	.e-br__clues { padding: 6px 8px; gap: 3px; } .e-br__clue { font-size: 14px; padding: 1px 3px; gap: 5px; }
	.e-br__tok img { width: 20px; height: 20px; } .e-br__st { width: 19px; height: 19px; font-size: 11px; }
	.e-br__pc { font-size: 12px; } .e-br__face { width: 46px; height: 46px; } .e-br__slot { width: 48px; height: 48px; border-radius: 12px; padding: 4px; }
	.e-br__tray { min-height: 54px; padding: 4px 8px; gap: 6px; } .e-br__chip { width: 50px; height: 50px; padding: 4px; border-radius: 12px; }
	.e-br__note, .e-br__sub { font-size: 13px; }
	.e-br__pm { width: 42px; height: 42px; font-size: 24px; } .e-br__cntw { font-size: 24px; min-width: 64px; } .e-br__cntw img { width: 30px; height: 30px; } .e-br__chk { min-height: 42px; }
	.e-br__fopt { width: 92px; font-size: 13px; } .e-br__fopt img { width: 48px; height: 48px; }
	.e-br__mbox { padding: 8px; }
	.e-br__rules { font-size: 12.5px; padding: 5px 8px 5px 22px; } .e-br__scene { min-height: 150px; grid-template-columns: 1fr 1.3fr 1fr; }
	.e-br__sail, .e-br__redo { min-height: 42px; }
}
@media (max-height: 520px) and (min-width: 601px) {
	.e-br { gap: 6px; }
	.e-br__pic { width: 80px; } .e-br__card { padding: 8px 14px; } .e-br__opt { min-height: 42px; font-size: 16px; }
	.e-br__opts { grid-template-columns: repeat(3, 1fr); }
	.e-br__scale { width: min(100%, 300px); } .e-br__scale.is-small { width: min(30%, 190px); }
	.e-br__face { width: 44px; height: 44px; } .e-br__slot { width: 46px; height: 46px; } .e-br__clue { font-size: 14px; } .e-br__clues { gap: 2px; padding: 4px 10px; }
	.e-br__rules { font-size: 13px; padding: 4px 8px 4px 24px; } .e-br__scene { min-height: 130px; }
}
.e-br__col { display: flex; flex-direction: column; align-items: center; gap: inherit; width: 100%; min-width: 0; }
@media (max-width: 600px) and (max-height: 600px) {
	.e-br.is-scale .e-br__scale { max-width: 250px; } .e-br.is-scale .e-br__scale.is-small { width: 44%; }
}
@media (max-height: 520px) and (min-width: 601px) {
	.e-br.is-scale, .e-br.is-logic { flex-direction: row; align-items: center; max-width: 960px; }
	.e-br.is-scale .e-br__col:first-child { flex: 0 0 42%; } .e-br.is-scale .e-br__fopts { flex-wrap: nowrap; } .e-br.is-scale .e-br__fopt { width: 96px; } .e-br.is-scale .e-br__refs { flex-direction: column; align-items: center; gap: 4px; }
	.e-br.is-scale .e-br__scale.is-small { width: auto; height: 23vh; } .e-br.is-scale .e-br__refs .e-br__scale.is-small:only-child { height: 34vh; }
	.e-br.is-scale .e-br__col:last-child .e-br__scale { width: auto; height: 44vh; }
	.e-br.is-logic .e-br__col:first-child { flex: 0 0 46%; }
	.e-br.is-logic .e-br__clue { font-size: 13px; } .e-br.is-logic .e-br__tok img { width: 20px; height: 20px; }
	.e-br__pic { width: 64px; } .e-br__q { font-size: 16px; } .e-br__why { padding: 6px 12px; } .e-br__why p { font-size: 14px; margin-bottom: 4px; } .e-br__why .e-br__why-t { font-size: 15px; } .e-br__next { min-height: 38px; }
	.e-br__opts.is-done { display: none; }
	.e-br__rules { font-size: 12px; margin-top: -4px; } .e-br__scene { min-height: 100px; } .e-br.r-wgc .e-br__rt, .e-br.r-weight .e-br__rt { width: 50px; height: 50px; }
	.e-br__mbox { max-width: 110vh; padding: 8px; } .e-br__sail, .e-br__redo { min-height: 40px; }
}

/* ---------- Izrotā eglīti (tree, 0.37.0) ---------- */
.e-tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-areas: "side main" "tray main"; gap: 10px 16px; width: 100%; max-width: 980px; height: 100%; min-height: 0; align-items: start; }
.e-tr__side { grid-area: side; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.e-tr__main { grid-area: main; position: relative; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; }
.e-tr__svg { width: 100%; height: 100%; max-height: 100%; touch-action: none; user-select: none; }
.e-tr__tray { grid-area: tray; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-self: end; padding: 8px; border-radius: var(--r-md); background: var(--surface-warm); }
.e-tr__chip { width: 60px; height: 60px; padding: 4px; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 4px 0 var(--line), inset 0 0 0 2px var(--line); cursor: grab; touch-action: none; display: grid; place-items: center; transition: transform .12s; }
.e-tr__chip svg { pointer-events: none; }
.e-tr__chip.is-sel { transform: translateY(-5px) scale(1.06); box-shadow: 0 6px 0 #9BD3A8, inset 0 0 0 3px #2F9E5B; }
.e-tr__ghost { position: fixed; z-index: 99; pointer-events: none; }
.e-tr__list { list-style: none; margin: 0; padding: 8px 10px; display: flex; flex-direction: column; gap: 6px; border-radius: var(--r-md); background: #EAF6EE; box-shadow: inset 0 0 0 2px #CBE8D3; }
.e-tr__ins { display: flex; align-items: center; gap: 8px; font-size: 17px; line-height: 1.35; padding: 2px 4px; border-radius: 10px; transition: background .2s; }
.e-tr__ins u { text-decoration: none; font-weight: 800; color: #1F6B41; }
.e-tr__ins.is-ok { background: #D4F1DA; }
.e-tr__ins .e-tr__ic { flex: none; }
.e-tr__st { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: inset 0 0 0 2px #CBE8D3; font: 900 14px/1 var(--font-body); font-style: normal; color: #fff; }
.e-tr__ins.is-ok .e-tr__st { background: var(--success); box-shadow: none; }
.e-tr__dg { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 4px; border-radius: 50%; background: #2F9E5B; color: #fff; font: 800 13px/1 var(--font-body); vertical-align: 2px; }
.e-tr__mem, .e-tr__free { margin: 0; font-weight: 700; font-size: 16px; color: var(--ink-soft); }
.e-tr__note { margin: 0; min-height: 1.3em; font-weight: 800; font-size: 15px; color: var(--ink-soft); }
.e-tr__note.is-bad { color: var(--danger); } .e-tr__note.is-ok { color: var(--success); } .e-tr__note.is-hint { color: #7A4FD0; }
.e-tr__bar { display: flex; flex-wrap: wrap; gap: 8px; }
.e-tr__bar .g-btn { min-height: 44px; }
.e-tr__slot { fill: rgba(255,255,255,0); stroke: transparent; stroke-width: 2; stroke-dasharray: 4 4; cursor: pointer; }
.e-tr__slot.is-full { stroke: transparent; }
.e-tr.has-sel .e-tr__slot:not(.is-full) { stroke: #FFF6B0; fill: rgba(255,255,255,.12); animation: e-tr-pulse 1.2s infinite; }
.e-tr.has-sel .e-tr__slot.is-under:not(.is-full) { stroke: #7FA7C9; }
.e-tr__slot.is-wrong { animation: e-tr-shake .35s; }
@keyframes e-tr-pulse { 50% { fill: rgba(255,255,255,.3); } }
.e-tr__sample { position: absolute; inset: 0; background: rgba(255,251,242,.96); border-radius: var(--r-md); display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px; z-index: 3; }
.e-tr__sample b { font: 800 18px var(--font-display); color: #C2410C; }
.e-tr__sample svg { flex: 1; min-height: 0; width: 100%; }
.e-tr__card { }
@media print { .e-tr__card svg { width: 150mm; height: auto; } .e-tr__card .e-tr__site { font-size: 14px; color: #888; margin: 0; } }
@media (max-width: 760px) {
	.e-tr { grid-template-columns: 1fr; grid-template-areas: "side" "main" "tray"; grid-template-rows: auto minmax(0, 1fr) auto; gap: 6px; }
	.e-tr__ins { font-size: 14px; gap: 5px; } .e-tr__ins .e-tr__ic { width: 26px; height: 26px; }
	.e-tr__list { padding: 5px 7px; gap: 3px; } .e-tr__st { width: 19px; height: 19px; font-size: 11px; }
	.e-tr__chip { width: 46px; height: 46px; border-radius: 12px; } .e-tr__chip svg { width: 34px; height: 34px; }
	.e-tr__tray { gap: 5px; padding: 5px; } .e-tr__note { font-size: 13px; } .e-tr__bar .g-btn { min-height: 38px; font-size: 14px; padding: 0 10px; }
	.e-tr__dg { min-width: 18px; height: 18px; font-size: 11px; } .e-tr__mem, .e-tr__free { font-size: 13px; }
}
@media (max-height: 520px) and (min-width: 601px) {
	.e-tr__ins { font-size: 13.5px; } .e-tr__ins .e-tr__ic { width: 24px; height: 24px; } .e-tr__list { gap: 2px; padding: 4px 8px; }
	.e-tr__chip { width: 42px; height: 42px; } .e-tr__chip svg { width: 32px; height: 32px; } .e-tr__tray { padding: 4px; gap: 4px; }
}
@keyframes e-tr-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@media (max-width: 600px) and (max-height: 620px) {
	.e-tr__ins { font-size: 12.5px; line-height: 1.25; } .e-tr__ins .e-tr__ic { width: 22px; height: 22px; } .e-tr__st { width: 16px; height: 16px; }
	.e-tr__chip { width: 40px; height: 40px; } .e-tr__chip svg { width: 30px; height: 30px; } .e-tr__note { min-height: 0; }
	.e-tr__bar .g-btn { min-height: 34px; }
}
@media (max-height: 520px) and (min-width: 601px) { .e-tr__free { display: none; } }

/* ---------- Kodēšana ar bultiņām (code, 0.40.0) ---------- */
.e-cd { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
.e-cd__row { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 3vw, 36px); width: 100%; max-width: 1060px; }
.e-cd__board { flex: 1 1 56%; display: flex; justify-content: center; min-width: 0; }
.e-cd__svg { width: 100%; max-width: 560px; max-height: min(60vh, 470px); height: auto; touch-action: manipulation; user-select: none; }
.e-cd__cell { fill: #DDF2C9; stroke: #C2E3A8; stroke-width: 1.5; cursor: pointer; }
.e-cd__cell.is-alt { fill: #D3EDBC; }
.e-cd__cell:hover { fill: #ECF8E0; }
.e-cd__wall, .e-cd__home, .e-cd__berry, .e-cd__fox, .e-cd__trail { pointer-events: none; }
.e-cd__fox { transition: transform .22s ease; }
.e-cd__berry.is-got { opacity: .18; }
.e-cd__seg { stroke: #E8590C; stroke-width: 10; stroke-linecap: round; opacity: .75; }
.e-cd__bump { fill: rgba(220, 38, 38, .2); stroke: #DC2626; stroke-width: 4; stroke-dasharray: 8 6; pointer-events: none; }
.e-cd__opt-mark { cursor: pointer; }
.e-cd__opt-mark circle { fill: #fff; stroke: var(--secondary); stroke-width: 4; }
.e-cd__opt-mark text { font: 800 26px/1 var(--font-display); fill: var(--secondary); pointer-events: none; }
.e-cd__panel { flex: 1 1 40%; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 380px; }
.e-cd__hint { margin: 0; text-align: center; font-weight: 700; font-size: 15px; color: var(--ink-soft); line-height: 1.35; }
.e-cd__prog { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; min-height: 52px; padding: 8px; border-radius: 16px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); width: 100%; }
.e-cd__chip { display: inline-flex; align-items: center; gap: 2px; padding: 5px 10px; border-radius: 12px; background: #FFF4E6; box-shadow: inset 0 0 0 2px #F5C38E; font: 800 24px/1 var(--font-display); color: var(--ink); }
.e-cd__chip b { font-weight: 800; }
.e-cd__chip i { font-style: normal; color: #E8590C; }
.e-cd__chip.is-cur { background: #FFE0BF; box-shadow: inset 0 0 0 3px #E8590C; }
.e-cd__chip.is-done { opacity: .45; }
.e-cd__prog.is-edit .e-cd__chip { cursor: pointer; }
.e-cd__chip.is-sel { background: var(--secondary); color: #fff; box-shadow: none; }
.e-cd__chip.is-sel i { color: #fff; }
.e-cd__empty { align-self: center; font-weight: 700; font-size: 14px; color: var(--ink-soft); }
.e-cd__limit { margin: 0; font-weight: 800; font-size: 15px; color: var(--secondary); }
.e-cd__limit.is-full { color: #E8590C; }
.e-cd__pad { display: grid; grid-template-columns: repeat(3, 60px); grid-template-areas: ". u ." "l d r"; gap: 6px; }
.e-cd__key { height: 52px; border: 0; border-radius: 14px; background: #FFF4E6; box-shadow: inset 0 0 0 2px #F5C38E, 0 4px 0 #F5C38E; font: 800 30px/1 var(--font-display); color: #E8590C; cursor: pointer; }
.e-cd__key:active, .e-cd__tool:active { transform: translateY(2px); }
.e-cd__key.is-U { grid-area: u; } .e-cd__key.is-L { grid-area: l; } .e-cd__key.is-R { grid-area: r; } .e-cd__key.is-D { grid-area: d; }
.e-cd__tools { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.e-cd__tool { min-width: 46px; height: 42px; padding: 0 10px; border: 0; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line), 0 3px 0 var(--line); font: 800 20px/1 var(--font-display); color: var(--ink); cursor: pointer; }
.e-cd__tool.is-wide { font-size: 15px; }
.e-cd__tool:disabled { opacity: .4; cursor: default; }
.e-cd__go { min-width: 170px; font-size: 20px; white-space: nowrap; }
.e-cd__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 360px; }
.e-cd__opt { min-height: 56px; font-size: 26px; }
.e-cd__note { margin: 0; min-height: 1.4em; max-width: 520px; font-weight: 800; font-size: 15px; line-height: 1.35; color: var(--danger); text-align: center; }
.e-cd__note.is-ok { color: var(--success); }
.e-cd__svg.is-draw { max-width: 520px; background: #fff; border-radius: 12px; }
.e-cd__grid line { stroke: #CFE0EE; stroke-width: 1.2; }
.e-cd__vdot { fill: #9BB7CC; pointer-events: none; }
.e-cd__vhit { fill: transparent; cursor: pointer; }
.e-cd__vhit:hover { fill: rgba(14, 124, 134, .12); }
.e-cd__ink { stroke: #1F5F8B; stroke-width: 5; stroke-linecap: round; }
.e-cd__fill { fill: #FFD8A8; opacity: .85; }
.e-cd__pen { fill: #E8590C; stroke: #fff; stroke-width: 3; pointer-events: none; transition: cx .2s, cy .2s; }
@media (max-width: 760px), (max-height: 520px) and (orientation: portrait) {
	.e-cd__row { flex-direction: column; gap: 6px; }
	.e-cd__svg { max-height: 38vh; }
	.e-cd__hint { font-size: 13px; }
	.e-cd__chip { font-size: 20px; padding: 4px 8px; }
	.e-cd__prog { min-height: 44px; padding: 6px; }
	.e-cd__key { height: 44px; font-size: 26px; }
	.e-cd__pad { grid-template-columns: repeat(3, 54px); }
}
@media (max-width: 760px) {
	.e-cd--build .e-cd__panel, .e-cd--debug .e-cd__panel { display: grid; grid-template-columns: auto auto; grid-template-areas: "hint hint" "prog prog" "lim lim" "pad tools" "pad go" "note note"; align-items: center; justify-items: center; gap: 6px 12px; max-width: 420px; }
	.e-cd--build .e-cd__hint, .e-cd--debug .e-cd__hint { grid-area: hint; }
	.e-cd--build .e-cd__prog, .e-cd--debug .e-cd__prog { grid-area: prog; }
	.e-cd__limit { grid-area: lim; }
	.e-cd--build .e-cd__pad, .e-cd--debug .e-cd__pad { grid-area: pad; }
	.e-cd--build .e-cd__tools, .e-cd--debug .e-cd__tools { grid-area: tools; display: grid; grid-template-columns: repeat(2, auto); }
	.e-cd--build .e-cd__go, .e-cd--debug .e-cd__go { grid-area: go; min-width: 0; width: 100%; }
	.e-cd--build .e-cd__note, .e-cd--debug .e-cd__note { grid-area: note; }
}
@media (max-height: 520px) and (orientation: landscape) {
	.e-cd__svg { max-height: 62vh; }
	.e-cd__hint { display: none; }
	.e-cd__key { height: 38px; font-size: 22px; }
	.e-cd__pad { grid-template-columns: repeat(3, 46px); gap: 4px; }
	.e-cd__tool { height: 32px; min-width: 40px; }
	.e-cd__panel { gap: 4px; }
	.e-cd__chip { font-size: 18px; padding: 3px 7px; }
	.e-cd__prog { min-height: 0; padding: 4px; gap: 4px; }
	.e-cd__go { min-height: 40px; padding-top: 4px; padding-bottom: 4px; font-size: 17px; }
	.e-cd__limit, .e-cd__note { font-size: 13px; }
}

/* ---------- Latvijas simboli (symbols, 0.41.0) ---------- */
.e-sy { gap: 12px; }
.e-sy__flag { display: block; width: 100%; height: auto; }
.e-qz__opts.is-flags { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; gap: 16px; }
.e-qz__opts.is-flags .e-sy__opt { min-height: 0; padding: clamp(10px, 2vh, 18px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.e-qz__opts.is-flags .e-sy__opt svg.e-sy__flag { max-width: 100%; max-height: clamp(70px, 21vh, 180px); width: auto; height: clamp(70px, 21vh, 180px); }
.e-qz__opts.is-shapes .e-sy__shape { height: clamp(70px, 15vh, 130px); display: flex; align-items: center; justify-content: center; }
.e-qz__opts.is-shapes .e-sy__opt svg.e-sy__flag { height: auto; width: auto; max-width: 100%; max-height: 100%; }
.e-qz__opts.is-shapes .e-sy__shape svg.e-sy__flag { height: 100%; }
.e-sy__opt small { font: 700 14px/1.2 var(--font-body); color: var(--ink-soft); }
.e-sy__work { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 3vw, 36px); width: 100%; max-width: 1040px; }
.e-sy__left { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0; }
.e-sy__preview { width: 100%; max-width: 520px; display: flex; justify-content: center; }
.e-sy__preview svg { width: auto; max-width: 100%; height: clamp(120px, 36vh, 260px); filter: drop-shadow(0 8px 14px rgba(43,45,66,.18)); }
.e-sy__parts { font-weight: 800; font-size: 16px; color: var(--secondary); }
.e-sy__panel { display: flex; flex-direction: column; gap: 10px; flex: 0 0 auto; width: min(380px, 100%); padding: 16px; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line); }
.e-sy__plab { margin: 4px 0 0; font-weight: 800; font-size: 15px; }
.e-sy__step { display: flex; align-items: center; gap: 10px; }
.e-sy__steplab { flex: 1; font-weight: 700; font-size: 16px; }
.e-sy__step b { min-width: 1.6em; text-align: center; font: 800 26px/1 var(--font-display); }
.e-sy__pm { width: 48px; height: 48px; border: 0; border-radius: 12px; background: var(--surface); box-shadow: inset 0 0 0 3px var(--ink-soft), 0 3px 0 var(--ink-soft); font: 800 28px/1 var(--font-display); cursor: pointer; }
.e-sy__pm:active { transform: translateY(2px); box-shadow: inset 0 0 0 3px var(--ink-soft); }
.e-sy__swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.e-sy__swatch { height: 46px; border: 0; border-radius: 10px; background: var(--c); box-shadow: inset 0 0 0 2px rgba(0,0,0,.15); cursor: pointer; }
.e-sy__swatch.is-on { box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--ink); }
.e-sy__seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.e-sy__segb { min-height: 44px; border: 0; border-radius: 10px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font-weight: 800; font-size: 16px; cursor: pointer; }
.e-sy__segb.is-on { background: var(--tema-daba); box-shadow: inset 0 0 0 3px var(--ink); }
.e-sy__btn { margin-top: 4px; }
.e-sy__btn:disabled { opacity: .5; cursor: default; }
/* ģerbonis */
.e-sy__fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1 1 0; min-width: 0; }
.e-sy__fig figcaption { font-size: 11px; color: var(--ink-soft); text-align: center; }
.e-sy__frame { padding: 8px; background: #fff; border-radius: var(--r-md); box-shadow: inset 0 0 0 3px var(--line); max-width: 100%; }
.e-sy__arms { position: relative; aspect-ratio: var(--ar); width: min(100%, calc(var(--ah, 56vh) * var(--arn))); height: auto; margin: 0 auto; }
.e-sy__armsimg { display: block; width: 100%; height: 100%; object-fit: fill; }
.e-sy__spot { position: absolute; width: 42px; height: 42px; margin: -21px 0 0 -21px; padding: 7px; border: 3px solid var(--ink); border-radius: 50%; background: rgba(255,255,255,.88); box-shadow: 0 3px 0 rgba(43,45,66,.35); cursor: pointer; animation: g-pop .4s ease-out both; }
.e-sy__spot svg { width: 100%; height: 100%; fill: none; stroke: var(--ink); stroke-width: 3; stroke-linecap: round; }
.e-sy__spot.is-seen { background: rgba(255,233,160,.92); }
.e-sy__spot.is-cur { background: var(--primary); }
.e-sy__spot.is-cur svg { stroke: #fff; }
.e-sy__spot.is-ok { background: var(--success); border-color: var(--success); }
.e-sy__spot.is-ok svg { stroke: #fff; }
.e-sy__spot.is-bad { opacity: .45; }
.e-sy__side { display: flex; flex-direction: column; gap: 12px; align-items: stretch; width: min(340px, 100%); flex: 0 0 auto; }
.e-sy__card { padding: 16px 18px; border-radius: var(--r-md); background: var(--surface-warm); box-shadow: inset 0 0 0 3px var(--line); min-height: 150px; }
.e-sy__card b { display: block; font: 800 22px/1.15 var(--font-display); margin-bottom: 6px; }
.e-sy__card p { margin: 0; font-size: 17px; line-height: 1.45; }
.e-sy__count { text-align: center; font-weight: 800; color: var(--ink-soft); }
.e-sy__work.is-ask { align-items: center; }
.e-sy__work.is-ask .e-sy__arms { --ah: 44vh; }
.e-sy__work.is-ask .e-qz__opts { grid-template-columns: minmax(0, 1fr); max-width: 360px; flex: 0 0 auto; }
.e-sy__work.is-ask .e-sy__spot { display: none; }
/* daba */
.e-qz__opts.is-nature { max-width: 760px; }
.e-qz__opts.is-nature.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
.e-qz__opts.is-nature.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
.e-qz__opts.is-nature .e-sy__opt { display: flex; flex-direction: column; gap: 4px; padding: 10px; }
.e-qz__opts.is-nature .e-qz__img.is-opt { width: clamp(110px, 30vh, 220px); max-width: 100%; max-height: none; }
.e-qz__opts.is-nature svg.e-sy__bug { width: clamp(100px, 27vh, 200px); height: auto; max-width: 100%; max-height: none; }
/* kalendārs */
.e-sy__cal { padding: 12px; border-radius: var(--r-md); background: var(--surface); box-shadow: inset 0 0 0 3px var(--line), 0 5px 0 var(--line); flex: 0 1 auto; }
.e-sy__calhead { text-align: center; font: 800 22px/1.2 var(--font-display); margin-bottom: 6px; }
.e-sy__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; width: min(470px, 100%); }
.e-sy__wd { text-align: center; font-weight: 800; font-size: 13px; color: var(--ink-soft); }
.e-sy__wd.is-we { color: var(--primary); }
.e-sy__day { position: relative; height: clamp(36px, 7.2vh, 58px); border: 0; border-radius: 10px; background: var(--surface); box-shadow: inset 0 0 0 2px var(--line); font: 800 clamp(15px, 2.6vh, 20px)/1 var(--font-body); cursor: pointer; }
.e-sy__day.is-on { background: #FFF1B8; box-shadow: inset 0 0 0 3px var(--ink); }
.e-sy__day.is-on::after { content: ""; position: absolute; top: 4px; right: 4px; width: 16px; height: 9px; background: linear-gradient(#9D2235 0 40%, #fff 40% 60%, #9D2235 60%); box-shadow: 0 0 0 1px rgba(0,0,0,.2); }
.e-sy__day.is-extra { box-shadow: inset 0 0 0 3px var(--danger); }
.e-sy__day.is-fest { background: #E3F5D3; box-shadow: inset 0 0 0 3px var(--success); }
.e-sy__day.is-mourn { background: #E7E7EC; box-shadow: inset 0 0 0 3px #2B2D42; }
.e-sy__day.is-mourn::before { content: ""; position: absolute; top: 3px; right: 21px; width: 3px; height: 14px; background: #111; }
.e-sy__calinfo { padding: 14px 16px; border-radius: var(--r-md); background: var(--surface-warm); box-shadow: inset 0 0 0 3px var(--line); }
.e-sy__calinfo p { margin: 0 0 6px; font-size: 16px; line-height: 1.4; font-weight: 700; }
.e-sy__calinfo small { font-weight: 800; color: var(--ink-soft); }
.e-sy--cal .e-sy__note, .e-sy--calq .e-sy__note { max-width: 880px; }
/* karogs kātā, ainas */
.e-sy__flagday, .e-sy__scene { display: flex; justify-content: center; align-items: center; }
.e-sy__flagday { padding-bottom: 44px; }
.e-sy__pole { position: relative; display: flex; align-items: flex-start; padding-left: 10px; }
.e-sy__stick { position: absolute; left: 0; top: -6px; width: 8px; height: calc(100% + 40px); border-radius: 4px; background: #FFFFFF; box-shadow: inset 0 0 0 2px #9AA3BD; }
.e-sy__pole svg { width: clamp(150px, 26vh, 230px); height: auto; }
.e-sy__ribbon { position: absolute; left: -2px; top: -4px; width: 12px; height: 75%; background: #111; border-radius: 2px 2px 3px 3px; }
.e-sy__scene { min-height: clamp(80px, 22vh, 160px); padding-bottom: 44px; }
.e-sy__scene svg { width: clamp(110px, 20vh, 160px); height: auto; }
.e-sy__scene.is-arms img { height: clamp(90px, 22vh, 170px); width: auto; padding: 6px; background: #fff; border-radius: 12px; box-shadow: inset 0 0 0 2px var(--line); }
.e-sy__situ { margin: 0; max-width: 700px; text-align: center; font-size: 18px; font-weight: 700; }
.e-sy--respect .e-qz__opts.is-words .e-qz__opt, .e-sy--calq .e-qz__opts.is-words .e-qz__opt, .e-sy--arms .e-qz__opts.is-words .e-qz__opt, .e-sy--nature .e-qz__opt { font-size: clamp(16px, 2.9vh, 21px); }
@media (max-width: 720px) {
	.e-qz__opts.is-flags { gap: 8px; }
	.e-qz__opts.is-flags .e-sy__opt svg.e-sy__flag { height: auto; width: 100%; max-height: 22vh; }
	.e-qz__opts.is-shapes .e-sy__shape { height: 70px; }
	.e-qz__opts.is-shapes .e-sy__opt svg.e-sy__flag { height: 100%; width: auto; }
	.e-sy__work { flex-direction: column; gap: 10px; }
	.e-sy__preview svg { height: auto; width: 100%; max-height: 22vh; }
	.e-sy--build .e-sy__preview svg { max-height: 15vh; }
	.e-sy--build .e-sy__parts { display: none; }
	.e-sy--build .e-sy__plab { margin: 0; font-size: 13px; }
	.e-sy--build .e-sy__panel { gap: 4px; }
	.e-sy--build .e-sy__swatch, .e-sy--build .e-sy__segb { height: 36px; min-height: 36px; }
	.e-sy--build .e-sy__pm { width: 40px; height: 40px; }
	.e-sy__panel { padding: 10px; gap: 6px; width: 100%; }
	.e-sy__pm { width: 44px; height: 44px; }
	.e-sy__swatch { height: 40px; }
	.e-sy__arms { --ah: 40vh; }
	.e-sy__side { width: 100%; }
	.e-sy__card { min-height: 0; padding: 8px 12px; }
	.e-sy--arms.is-explore .e-sy__work { gap: 6px; }
	.e-sy--arms .e-sy__fig figcaption { font-size: 10px; }
	.e-sy__card b { font-size: 18px; }
	.e-sy__card p { font-size: 15px; }
	.e-sy__spot { width: 36px; height: 36px; margin: -18px 0 0 -18px; padding: 5px; }
	.e-sy__work.is-ask .e-sy__arms { --ah: 26vh; }
	.e-sy__work.is-ask .e-qz__opts { max-width: none; width: 100%; }
	.e-qz__opts.is-nature.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-qz__opts.is-nature .e-qz__img.is-opt { width: 100%; }
	.e-qz__opts.is-nature svg.e-sy__bug { width: 100%; }
	.e-sy__grid { width: 100%; gap: 3px; }
	.e-sy__day { height: 36px; }
	.e-sy__calinfo { padding: 8px 10px; }
	.e-sy__calinfo p { font-size: 14px; }
	.e-sy__scene { min-height: 0; padding-bottom: 40px; }
	.e-sy__flagday { padding-bottom: 40px; }
	.e-sy__situ { font-size: 15px; }
}
@media (max-height: 520px) and (min-width: 600px) {
	.e-sy.e-qz { flex-direction: column; flex-wrap: nowrap; gap: 6px; }
	.e-sy--respect.e-qz, .e-sy--calq.e-qz { flex-direction: row; flex-wrap: wrap; align-content: center; }
	.e-sy--respect .e-sy__note, .e-sy--calq .e-sy__note { flex-basis: 100%; }
	.e-sy__work { gap: 16px; }
	.e-sy__calinfo p { font-size: 14px; }
	.e-qz__opts.is-flags { max-width: 560px; }
	.e-qz__opts.is-flags .e-sy__opt svg.e-sy__flag { height: 22vh; }
	.e-qz__opts.is-shapes .e-sy__shape { height: 18vh; }
	.e-sy__preview svg { height: 30vh; }
	.e-sy--build .e-sy__parts { display: none; }
	.e-sy--build .e-sy__steplab { font-size: 14px; }
	.e-sy--build .e-sy__swatch, .e-sy--build .e-sy__segb { height: 30px; min-height: 30px; }
	.e-sy--build .e-sy__pm { width: 36px; height: 36px; font-size: 22px; }
	.e-sy--build .e-sy__btn { min-height: 40px; }
	.e-sy__panel { padding: 8px 10px; gap: 4px; }
	.e-sy__plab { font-size: 13px; margin: 0; }
	.e-sy__pm { width: 40px; height: 40px; }
	.e-sy__swatch, .e-sy__segb { height: 34px; min-height: 34px; }
	.e-sy__arms { --ah: 60vh; }
	.e-sy__work.is-ask .e-sy__arms { --ah: 52vh; }
	.e-sy__card { min-height: 0; padding: 8px 12px; }
	.e-sy__card p { font-size: 14px; }
	.e-sy__day { height: 8.5vh; }
	.e-sy__grid { width: 360px; }
	.e-sy__scene { min-height: 0; }
	.e-sy__pole svg { width: 130px; }
	.e-qz__opts.is-nature .e-qz__img.is-opt, .e-qz__opts.is-nature svg.e-sy__bug { width: 22vh; }
}
