/* =========================================================================
   דרך האכילה, אקדמיה (course journey, Guri, kitchen, family)
   Uses the theme tokens (--dk-*) with fallbacks; the theme's §9 classes do the heavy lifting.
   "Family fridge door": sticky notes, washi tape, polaroids, a hand-drawn board-game path.
   ========================================================================= */

.da-app {
	--da-clay: var(--dk-clay, #C8572B);
	--da-clay-600: var(--dk-clay-600, #A9431C);
	--da-teal: var(--dk-teal, #1F4D4A);
	--da-teal-600: var(--dk-teal-600, #2B6460);
	--da-mustard: var(--dk-mustard, #E3A835);
	--da-sage: var(--dk-sage, #A7BC9C);
	--da-sky: var(--dk-sky, #DDEDF1);
	--da-peach: var(--dk-peach, #FCE3CC);
	--da-cream: var(--dk-cream, #FBF4E8);
	--da-paper: var(--dk-paper, #FFFDF8);
	--da-ink: var(--dk-ink, #2A2420);
	--da-muted: var(--dk-muted, #6f655d);
	--da-line: var(--dk-line, rgba(42, 36, 32, .12));
	--da-radius: var(--dk-radius, 20px);
	--da-radius-sm: var(--dk-radius-sm, 14px);
	--da-shadow: var(--dk-shadow, 0 6px 20px rgba(80, 50, 20, .10));
	--da-hand: var(--dk-font-hand, 'Amatic SC', 'Rubik', cursive);
	display: block;
	color: var(--da-ink);
	max-width: 1180px;
	margin-inline: auto;
	padding-block: 8px 96px;
}
.da-app [x-cloak], [x-cloak].da-app { display: none !important; }
.da-app *, .da-app *::before, .da-app *::after { box-sizing: border-box; }
.da-center { justify-content: center; text-align: center; }
.da-between { justify-content: space-between; align-items: center; }
.da-mt { margin-top: 8px; }

/* ---------- Guri ---------- */
.da-guri { width: 48px; height: 48px; object-fit: contain; flex: none; filter: drop-shadow(0 3px 4px rgba(60, 40, 20, .18)); }
.da-guri--lg { width: 84px; height: 84px; }
.da-guri--xl { width: 132px; height: 132px; }
.da-guri-wrap { position: relative; display: inline-flex; flex: none; }
.da-guri-wrap.is-thinking .da-guri { animation: da-think 1.4s ease-in-out infinite; }
.da-guri-wrap.is-thinking::after {
	content: '…'; position: absolute; top: -10px; inset-inline-end: -10px;
	background: var(--da-paper); border-radius: 999px; padding: 0 7px; font-weight: 800; box-shadow: var(--da-shadow);
	animation: da-pulse 1s ease-in-out infinite;
}
.da-bob { animation: da-bob 2.6s ease-in-out infinite; }
@keyframes da-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes da-think { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg) translateY(-2px); } }
@keyframes da-pulse { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }

/* ---------- Upsell / locked fallbacks (the theme styles .dk-upsell / .dk-locked) ---------- */
.da-upsell { display: flex; gap: 16px; align-items: center; background: var(--da-peach); border-radius: var(--da-radius); padding: 20px; margin-block: 16px; }
.da-upsell__art img { width: 96px; height: auto; }
.da-upsell--compact { padding: 14px; }
.da-locked-preview { position: relative; filter: blur(3px) saturate(.8); opacity: .75; pointer-events: none; user-select: none; }
.da-blur-list { list-style: none; padding: 0; margin: 8px 0; }
.da-blur-list li { padding: 8px 12px; background: var(--da-paper); border-radius: 10px; margin-bottom: 6px; }
.da-faq-teaser { list-style: none; padding: 0; margin: 6px 0 0; display: grid; gap: 6px; }
.da-guest { padding-block: 24px; }
.da-empty { text-align: center; padding: 28px 16px; }

/* ---------- Hero ---------- */
.da-hero { text-align: center; padding: 24px 16px; }
.da-hero--guri .da-guri { margin-inline: auto; display: block; }

/* =========================================================================
   Assistant ("שאלו את גורי")
   ========================================================================= */
.da-assistant { display: grid; grid-template-columns: 1fr; gap: 16px; padding-inline: 0; }
@media (min-width: 960px) {
	.da-assistant { grid-template-columns: 280px 1fr; align-items: start; }
	.da-side { position: sticky; top: 90px; }
}
.da-side {
	background: var(--da-paper); border-radius: var(--da-radius); box-shadow: var(--da-shadow); padding: 14px;
	display: flex; flex-direction: column; gap: 10px; max-height: calc(100vh - 120px); overflow: auto;
}
@media (max-width: 959px) {
	.da-side { position: fixed; inset-block: 0; inset-inline-start: 0; width: min(86vw, 320px); z-index: 90; border-radius: 0; max-height: none; transform: translateX(110%); transition: transform .25s ease; }
	[dir="ltr"] .da-side { transform: translateX(-110%); }
	.da-side.is-open { transform: none; }
	.da-side__backdrop { position: fixed; inset: 0; background: rgba(30, 20, 10, .35); z-index: 89; }
}
.da-side__head { display: flex; align-items: center; justify-content: space-between; }
.da-side__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.da-side__item { display: flex; align-items: center; gap: 4px; border-radius: 12px; }
.da-side__item.is-active { background: var(--da-cream); }
.da-side__open { flex: 1; min-width: 0; text-align: start; background: none; border: 0; padding: 8px 10px; cursor: pointer; display: grid; gap: 2px; color: inherit; font: inherit; }
.da-side__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.da-side__meta { font-size: 12px; color: var(--da-muted); }
.da-side__actions { display: flex; opacity: .55; }
.da-side__item:hover .da-side__actions, .da-side__item:focus-within .da-side__actions { opacity: 1; }
.da-iconbtn { background: none; border: 0; padding: 6px; border-radius: 8px; cursor: pointer; color: inherit; line-height: 1; }
.da-iconbtn:hover, .da-iconbtn:focus-visible { background: var(--da-cream); }

.da-main { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.da-chat-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--da-paper); border-radius: var(--da-radius); padding: 12px 16px; box-shadow: var(--da-shadow); }
.da-chat-head__text { flex: 1; min-width: 140px; }
.da-chat-head__title { margin: 0; font-family: var(--dk-font-head, 'Rubik', sans-serif); font-weight: 900; font-size: clamp(20px, 4vw, 26px); }
.da-chat-head__status { margin: 0; font-size: 13px; color: var(--da-muted); display: flex; gap: 6px; align-items: center; }
.da-dot { width: 8px; height: 8px; border-radius: 50%; background: #4caf50; box-shadow: 0 0 0 3px rgba(76, 175, 80, .18); }
.da-dot.is-busy { background: var(--da-mustard); animation: da-pulse 1s infinite; }
.da-chat-head__tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.da-chat-head__tabs .dk-chip { min-height: 40px; justify-content: center; }
@media (max-width: 600px) {
	.da-chat-head { padding: 12px; gap: 10px; }
	.da-chat-head__tabs { flex: 1 1 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
	.da-chat-head__tabs .dk-chip { padding-inline: .4em; font-size: 13px; white-space: nowrap; }
	.da-chat-head__tabs .dk-badge { display: none; }
}

.da-quota, .da-context {
	display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 14px;
	background: var(--da-peach); border-radius: 999px; padding: 8px 14px; align-self: flex-start;
}
.da-context { background: var(--da-sky); }

.da-chat { display: flex; flex-direction: column; gap: 10px; }
.da-chat__list {
	background: var(--da-cream);
	background-image: radial-gradient(rgba(42, 36, 32, .05) 1px, transparent 1px);
	background-size: 18px 18px;
	border-radius: var(--da-radius); padding: 16px; min-height: 52vh; max-height: 66vh; overflow-y: auto;
	display: flex; flex-direction: column; gap: 14px; scroll-behavior: smooth; outline: none;
}
.da-chat__list:focus-visible { box-shadow: 0 0 0 3px var(--da-mustard); }
/* Welcome state: a smaller Guri so the suggested questions fit above the composer. */
.da-welcome .da-guri-anim--xl .dk-guri-media { width: 128px; height: 128px; }
/* Wider screens: suggested questions in two columns so the whole welcome fits above the composer. */
@media (min-width: 768px) {
	.da-chat__list .da-welcome { max-width: 760px; gap: 4px; padding-top: 4px; }
	.da-chat__list .da-welcome .da-guri-anim--xl .dk-guri-media { width: 96px; height: 96px; }
	.da-welcome .da-suggest-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Phones: one page scroll instead of a box scrolling inside the page; the composer stays sticky above the app bar. */
@media (max-width: 767px) {
	.da-chat__list { min-height: 40vh; max-height: none; overflow: visible; }
	.da-chat__list .da-msg { scroll-margin-bottom: calc(var(--dk-bottom-nav-h, 68px) + 130px); }
}
.da-welcome { text-align: center; margin: auto; max-width: 560px; display: grid; gap: 8px; justify-items: center; padding: 12px; }
.da-suggest-list { display: grid; gap: 8px; width: 100%; }
.da-suggest {
	text-align: start; background: var(--da-paper); border: 1px dashed var(--da-line); border-radius: var(--da-radius-sm);
	padding: 12px 14px; cursor: pointer; font: inherit; color: inherit; transition: transform .15s ease, box-shadow .15s ease;
}
.da-suggest:hover, .da-suggest:focus-visible { transform: rotate(-.6deg) translateY(-1px); box-shadow: var(--da-shadow); }

.da-msg { display: flex; gap: 8px; align-items: flex-end; max-width: 100%; }
.da-msg--me { flex-direction: row-reverse; }
.da-msg__avatar { width: 38px; height: 38px; object-fit: contain; flex: none; }
.da-msg__body { display: grid; gap: 4px; max-width: min(680px, 86%); min-width: 0; }
@media (max-width: 600px) {
	.da-chat__list { padding: 12px 10px; }
	.da-msg__avatar { width: 30px; height: 30px; }
	.da-msg__body { max-width: calc(100% - 38px); }
	.da-msg--me .da-msg__body { max-width: 88%; }
	.da-bubble { padding: 10px 13px; }
}
.da-msg--me .da-msg__body { justify-items: end; }
.da-bubble {
	position: relative; background: var(--da-paper); border-radius: 18px 18px 18px 6px; padding: 12px 16px;
	box-shadow: 0 2px 0 rgba(42, 36, 32, .06), var(--da-shadow); line-height: 1.75; overflow-wrap: anywhere;
}
[dir="rtl"] .da-bubble { border-radius: 18px 18px 6px 18px; }
.da-msg--guri .da-bubble::before {
	content: ''; position: absolute; top: -8px; inset-inline-start: 22px; width: 54px; height: 16px;
	background: rgba(227, 168, 53, .55); transform: rotate(-4deg); border-radius: 2px;
}
.da-bubble--me { background: var(--da-peach); border-radius: 18px 18px 6px 18px; }
[dir="rtl"] .da-bubble--me { border-radius: 18px 18px 18px 6px; }
.da-bubble--alert { background: #fff3ef; border: 2px solid var(--da-clay); }
.da-bubble--muted { opacity: .85; font-style: italic; }
.da-bubble.is-new .da-prose > * { animation: da-reveal .45s ease both; }
.da-bubble.is-new .da-prose > *:nth-child(2) { animation-delay: .12s; }
.da-bubble.is-new .da-prose > *:nth-child(3) { animation-delay: .24s; }
.da-bubble.is-new .da-prose > *:nth-child(4) { animation-delay: .36s; }
.da-bubble.is-new .da-prose > *:nth-child(5) { animation-delay: .48s; }
.da-bubble.is-new .da-prose > *:nth-child(n+6) { animation-delay: .6s; }
@keyframes da-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.da-msg__img { max-width: 220px; max-height: 180px; border-radius: 12px; display: block; margin-bottom: 8px; object-fit: cover; }

.da-prose { font-size: 16px; }
.da-prose > :first-child { margin-top: 0; }
.da-prose > :last-child { margin-bottom: 0; }
.da-prose p { margin: 0 0 .6em; }
.da-prose h2, .da-prose h3, .da-prose h4, .da-prose h5 { margin: .8em 0 .35em; font-family: var(--dk-font-head, 'Rubik', sans-serif); line-height: 1.3; }
.da-prose h3 { font-size: 1.12em; }
.da-prose h4 { font-size: 1.02em; }
.da-prose ul, .da-prose ol { margin: 0 0 .6em; padding-inline-start: 1.3em; }
.da-prose li { margin-bottom: .25em; }
.da-prose strong { color: var(--da-teal); }
.da-prose blockquote { margin: .6em 0; padding: 6px 12px; border-inline-start: 4px solid var(--da-mustard); background: rgba(227, 168, 53, .12); border-radius: 8px; }
.da-prose a { color: var(--da-clay-600); }
.da-prose table { border-collapse: collapse; width: 100%; font-size: .95em; }
.da-prose th, .da-prose td { border: 1px solid var(--da-line); padding: 6px 8px; }

.da-msg__actions { display: flex; flex-wrap: wrap; gap: 2px; }
.da-action {
	display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; border-radius: 999px;
	padding: 5px 9px; font: inherit; font-size: 13px; color: var(--da-muted); cursor: pointer; text-decoration: none;
}
.da-action:hover, .da-action:focus-visible { background: var(--da-paper); color: var(--da-ink); }
.da-action.is-on { color: var(--da-clay); font-weight: 700; }
.da-action--down .dk-icon { transform: rotate(180deg); }
.da-mentions { display: flex; flex-wrap: wrap; gap: 6px; }

.da-typing { display: inline-flex; gap: 5px; align-items: center; padding: 14px 18px; }
.da-typing span { width: 8px; height: 8px; border-radius: 50%; background: var(--da-clay); animation: da-dots 1.2s infinite ease-in-out; }
.da-typing span:nth-child(2) { animation-delay: .15s; }
.da-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes da-dots { 0%, 80%, 100% { transform: scale(.6); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }

.da-chips-row { display: flex; gap: 6px; flex-wrap: wrap; }
.da-chips-row--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.da-chips-row--scroll > * { flex: none; }

.da-composer {
	position: sticky; bottom: calc(var(--dk-bottom-nav-h, 68px) + 18px + env(safe-area-inset-bottom, 0px)); z-index: 5;
	background: var(--da-paper); border-radius: 24px; box-shadow: 0 8px 28px rgba(80, 50, 20, .16), 0 0 0 1px rgba(42, 36, 32, .06); padding: 8px;
	border: 2px solid transparent; transition: border-color .15s ease;
}
/* Phones/tablets: leave the inline-end corner to the accessibility button that floats beside the composer. */
@media (max-width: 959px) { .da-composer { margin-inline-end: 58px; } }
@media (min-width: 960px) { .da-composer { bottom: 16px; } }
.da-composer:focus-within { border-color: var(--da-mustard); }
.da-composer.is-disabled { background: #F7F1E6; box-shadow: 0 6px 20px rgba(80, 50, 20, .12); }
.da-composer.is-disabled .da-composer__row { opacity: .55; }
.da-composer__row { display: flex; align-items: flex-end; gap: 6px; }
.da-composer__input {
	flex: 1; min-width: 0; border: 0; resize: none; background: transparent; font: inherit; font-size: 16px;
	padding: 10px 8px; max-height: 160px; color: inherit; outline: none;
}
.da-composer__tool, .da-composer__send {
	flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer;
	background: var(--da-cream); color: var(--da-teal);
}
.da-composer__send { background: var(--da-clay); color: #fff; }
.da-composer__send:disabled, .da-composer__tool:disabled { opacity: .45; cursor: not-allowed; }
.da-composer__preview { display: flex; align-items: center; gap: 8px; padding: 4px 8px 8px; }
.da-composer__preview img { width: 72px; height: 54px; object-fit: cover; border-radius: 10px; }
.da-disclaimer { font-size: 12px; color: var(--da-muted); text-align: center; margin: 4px 8px 0; line-height: 1.6; }
.da-panel-pane { display: grid; gap: 12px; }
.da-tip__foot { justify-content: space-between; margin-top: 8px; }
.da-upsell-inline { margin-top: 8px; }

/* =========================================================================
   Course: the board-game journey on the fridge
   ========================================================================= */
.da-course { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.da-course-tabs { margin-bottom: 4px; width: fit-content; max-width: 100%; }
.da-course-hero {
	display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap;
	background: var(--da-paper); border-radius: var(--da-radius); padding: 22px; box-shadow: var(--da-shadow);
	position: relative; overflow: hidden;
}
.da-course-hero__side::before {
	content: ''; position: absolute; inset: -36px; border-radius: 50%; z-index: -1; pointer-events: none;
	background: radial-gradient(circle, rgba(227, 168, 53, .24), transparent 68%);
}
.da-course-hero__text { flex: 1 1 320px; position: relative; z-index: 1; min-width: 0; }
.da-course-hero__side { display: flex; align-items: center; justify-content: center; gap: 18px; flex: 0 1 auto; position: relative; z-index: 1; }
.da-course-hero__ring { display: grid; justify-items: center; gap: 6px; }
.da-ring__label { font-size: 12px; font-weight: 700; color: var(--da-muted); }
@media (max-width: 600px) { .da-course-hero__side { flex: 1 1 100%; justify-content: space-around; } .da-course-hero { padding: 20px 18px; } }
.da-course-hero__stats { margin-top: 10px; }
.da-course-hero h1 .dk-hand, .da-hand-accent { font-family: var(--da-hand); font-size: 1.25em; color: var(--da-clay); }

.da-ring {
	--size: 112px; width: var(--size); height: var(--size); border-radius: 50%; display: grid; place-items: center; position: relative;
	background: conic-gradient(var(--da-clay) calc(var(--value, 0) * 1%), rgba(42, 36, 32, .08) 0);
}
.da-ring::before { content: ''; position: absolute; inset: 10px; border-radius: 50%; background: var(--da-paper); }
.da-ring__num { position: relative; font-weight: 900; font-size: 24px; font-family: var(--dk-font-head, 'Rubik', sans-serif); }
.da-ring--sm { --size: 52px; }
.da-ring--sm::before { inset: 6px; }
.da-ring--sm .da-ring__num { font-size: 13px; }

.da-next {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap; text-decoration: none; color: inherit;
	background: #fff6c9; border-radius: 6px 6px 18px 6px; padding: 18px; position: relative;
	box-shadow: 0 10px 22px rgba(90, 60, 10, .15); transform: rotate(-.6deg); transition: transform .2s ease;
}
.da-next > .dk-tape { position: absolute; top: -10px; inset-inline-start: 40%; }
.da-next:hover, .da-next:focus-visible { transform: rotate(0) translateY(-2px); }
.da-next__art { flex: none; }
.da-next__art.dk-polaroid { width: 112px; padding: 7px 7px 24px; }
.da-next__art.dk-polaroid img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; border-radius: 3px; }
.da-next__text { flex: 1 1 200px; display: grid; gap: 4px; }
.da-free-note { display: flex; gap: 8px; align-items: center; }

.da-path-wrap { position: relative; background: var(--da-cream); border-radius: var(--da-radius); padding: 18px 8px; box-shadow: inset 0 0 0 2px rgba(42, 36, 32, .04); }
.da-path-flag { text-align: center; font-family: var(--da-hand); font-size: 26px; font-weight: 700; color: var(--da-teal); padding: 6px; }
.da-path { position: relative; width: 100%; max-width: 880px; margin-inline: auto; }
.da-path__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.da-path__svg--mob { display: none; }
.da-path__line { fill: none; stroke: var(--da-clay); stroke-width: 6; stroke-dasharray: 2 14; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: .55; }
.da-path__done { fill: none; stroke: var(--da-teal); stroke-width: 8; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: .9; }
.da-stations { list-style: none; margin: 0; padding: 0; position: relative; }
.da-station { position: relative; height: var(--row, 132px); }
.da-station__node {
	position: absolute; top: 50%; left: var(--x, 50%); width: 72px; height: 72px; margin: -36px 0 0 -36px;
	border-radius: 50%; display: grid; place-items: center; text-decoration: none; cursor: pointer;
	background: var(--da-paper); border: 4px solid #fff; box-shadow: 0 6px 0 rgba(42, 36, 32, .12), 0 10px 18px rgba(80, 50, 20, .18);
	transition: transform .2s ease; z-index: 2; padding: 0; color: inherit; font: inherit;
}
.da-station__node:hover, .da-station__node:focus-visible { transform: scale(1.08) rotate(-3deg); }
.da-station__node:focus-visible { outline: 3px solid var(--da-mustard); outline-offset: 3px; }
.da-station__img { position: absolute; inset: 0; border-radius: 50%; background-size: cover; background-position: center; }
.da-station__num {
	position: absolute; bottom: -8px; inset-inline-end: -8px; min-width: 30px; height: 30px; border-radius: 999px; padding: 0 7px;
	display: grid; place-items: center; font-family: var(--dk-font-display, inherit); font-weight: 700; font-size: 14px; line-height: 1;
	background: var(--da-mustard); color: var(--da-ink); border: 3px solid #fff;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .15); transform: rotate(-6deg);
}
.da-station__num .dk-icon { width: 14px; height: 14px; stroke-width: 3; }
.da-station.is-done .da-station__node { border-color: var(--da-teal); }
.da-station.is-done .da-station__num { background: var(--da-teal); color: #fff; }
.da-station.is-current .da-station__node { border-color: var(--da-clay); width: 84px; height: 84px; margin: -42px 0 0 -42px; animation: da-glow 2s ease-in-out infinite; }
.da-station.is-current .da-station__num { background: var(--da-clay); color: #fff; }
@keyframes da-glow { 0%, 100% { box-shadow: 0 6px 0 rgba(42, 36, 32, .12), 0 0 0 0 rgba(200, 87, 43, .35); } 50% { box-shadow: 0 6px 0 rgba(42, 36, 32, .12), 0 0 0 12px rgba(200, 87, 43, 0); } }
.da-station.is-upcoming .da-station__img { filter: saturate(.7); }
.da-station.is-locked .da-station__node { background: #ece5d8; border-style: dashed; border-color: rgba(42, 36, 32, .25); box-shadow: none; }
.da-station.is-locked .da-station__num { position: static; transform: none; background: transparent; box-shadow: none; border: 0; color: var(--da-muted); }
.da-station__marker {
	position: absolute; top: 50%; left: var(--x, 50%); width: 56px; height: 56px; margin: -86px 0 0 -10px; z-index: 3; pointer-events: none; object-fit: contain;
}
.da-station__label {
	position: absolute; top: 50%; transform: translateY(-50%); width: min(44%, 290px, calc(50% - 56px)); display: grid; gap: 2px; z-index: 2;
	background: rgba(255, 253, 248, .95); border-radius: 14px; padding: 8px 12px; box-shadow: 0 2px 0 rgba(42, 36, 32, .06), 0 6px 14px rgba(80, 50, 20, .08);
	border: 1.5px solid rgba(42, 36, 32, .07);
}
.da-station--label-start .da-station__label { right: calc(100% - var(--x, 50%) + 48px); text-align: right; }
.da-station--label-end .da-station__label { left: calc(var(--x, 50%) + 48px); text-align: left; }
[dir="rtl"] .da-station--label-end .da-station__label { text-align: right; }
.da-station__kicker { font-size: 12px; font-weight: 800; color: var(--da-clay-600); }
.da-station__title { font-weight: 700; font-size: 14px; line-height: 1.3; }
.da-station__meta { font-size: 12px; color: var(--da-muted); }
.da-station.is-locked .da-station__label { opacity: .75; }
/* Phones: two-column zigzag (the server renders a second path for it), labels fill the free side. */
@media (max-width: 600px) {
	.da-path__svg--desk { display: none; }
	.da-path__svg--mob { display: block; }
	.da-station { --x: var(--xm, 50%) !important; }
	.da-station__node { width: 62px; height: 62px; margin: -31px 0 0 -31px; }
	.da-station.is-current .da-station__node { width: 72px; height: 72px; margin: -36px 0 0 -36px; }
	.da-station .da-station__label { width: auto; padding: 7px 10px; }
	.da-station--m-start .da-station__label { left: 2px; right: calc(100% - var(--x) + 44px); text-align: right; }
	.da-station--m-end .da-station__label { right: 2px; left: calc(var(--x) + 44px); text-align: right; }
	.da-station__title { font-size: 14px; }
	.da-station__marker { width: 48px; height: 48px; margin: -78px 0 0 -6px; }
}

/* Modal fallback */
.da-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.da-modal .dk-modal__backdrop { position: absolute; inset: 0; background: rgba(30, 20, 10, .45); }
.da-modal .dk-modal__dialog { position: relative; background: var(--da-paper); border-radius: var(--da-radius); max-width: 560px; width: 100%; max-height: 90vh; overflow: auto; padding: 18px; outline: none; }
.da-modal .dk-modal__header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.da-locked-preview__img { width: 100%; max-height: 180px; object-fit: cover; border-radius: 14px; }

/* =========================================================================
   Lesson
   ========================================================================= */
.da-lesson { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 860px; }
.da-lesson-head { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; padding: 18px; }
.da-lesson-head__art { flex: none; width: 150px; padding: 8px 8px 30px; }
.da-lesson-head__art img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; border-radius: 3px; }
@media (max-width: 600px) {
	.da-lesson-head { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px; }
	.da-lesson-head__art { width: 96px; padding: 6px 6px 20px; margin-top: 4px; }
	.da-lesson-head h1 { font-size: 1.55rem; }
}
.da-lesson-head__text { flex: 1 1 280px; display: grid; gap: 6px; }
.da-dots { display: flex; gap: 6px; margin-top: 4px; }
.da-dots__dot { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--da-teal); }
.da-dots__dot.is-done { background: var(--da-teal); }
.da-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--da-radius); overflow: hidden; background: #1d1a17; box-shadow: var(--da-shadow); }
.da-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.da-video--placeholder { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; background: var(--da-sky); color: var(--da-teal); padding: 22px 18px; gap: 10px 22px; aspect-ratio: auto; min-height: 200px; box-shadow: inset 0 0 0 2px rgba(31, 77, 74, .08); }
.da-video__soon { display: grid; gap: 6px; justify-items: center; max-width: 380px; }
.da-video__soon p { margin: 0; line-height: 1.6; }
.da-video__soon-title { font-size: 1.9rem; color: var(--da-clay-600); }
@media (min-width: 700px) { .da-video--placeholder { min-height: 260px; } .da-video__soon { justify-items: start; text-align: start; } }
.da-locked-lesson .da-video--placeholder { min-height: 180px; font-size: 40px; }
.da-video--facade { background-size: cover; background-position: center; display: grid; place-items: center; }
.da-video__play { display: inline-flex; gap: 10px; align-items: center; background: rgba(255, 253, 248, .95); border: 0; border-radius: 999px; padding: 12px 20px; font: inherit; font-weight: 700; cursor: pointer; box-shadow: var(--da-shadow); }
.da-video__icon { width: 34px; height: 34px; border-radius: 50%; background: var(--da-clay); color: #fff; display: grid; place-items: center; font-size: 14px; }
.da-video-tabs { margin-bottom: 8px; display: flex; gap: 6px; flex-wrap: wrap; }
.da-summary { padding: 0; overflow: hidden; }
.da-summary__head { cursor: pointer; padding: 14px 18px; font-weight: 800; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; list-style: none; }
.da-summary__head::-webkit-details-marker { display: none; }
.da-summary[open] .da-summary__head { border-bottom: 1px dashed var(--da-line); }

.da-study__head { display: flex; gap: 12px; align-items: center; justify-content: flex-start; }
.da-study__head h2, .da-study__head p { margin: 0; }
.da-study__tabs { margin-inline: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 540px; }
.da-study__tabs .dk-tab { justify-content: center; padding-inline: .5em; }
.da-faq { border-bottom: 1px dashed var(--da-line); }
.da-faq__group { margin: 14px 0 4px; }
.da-faq__q { width: 100%; display: flex; justify-content: space-between; gap: 12px; text-align: start; background: none; border: 0; padding: 12px 2px; font: inherit; font-weight: 700; cursor: pointer; color: inherit; }
.da-faq__a { padding: 0 2px 12px; color: var(--da-muted); line-height: 1.8; }
.da-cards { display: grid; gap: 10px; }
.da-cards__meta { justify-content: space-between; font-size: 14px; }
.da-flip { position: relative; min-height: 190px; border: 0; padding: 0; background: none; cursor: pointer; perspective: 1000px; font: inherit; color: inherit; }
.da-flip__face {
	position: absolute; inset: 0; display: grid; align-content: center; gap: 8px; padding: 22px; border-radius: 18px; text-align: center;
	backface-visibility: hidden; transition: transform .5s ease; line-height: 1.7; box-shadow: var(--da-shadow);
}
.da-flip__front { background: #fff6c9; transform: rotateY(0) rotate(-1deg); }
.da-flip__back { background: var(--da-teal); color: #fff; transform: rotateY(180deg); }
.da-flip.is-flipped .da-flip__front { transform: rotateY(-180deg); }
.da-flip.is-flipped .da-flip__back { transform: rotateY(0) rotate(1deg); }
.da-cards__nav { justify-content: center; }
.da-cards__done { text-align: center; display: grid; gap: 8px; justify-items: center; }
.da-ask-inline .dk-row { flex-wrap: nowrap; }
.da-ask-inline .dk-input { flex: 1; min-width: 0; }
.da-answer { margin-top: 12px; display: grid; gap: 8px; }
.da-tip-btn { margin-top: 8px; }

/* Workbook = lined notebook pages */
.da-workbook { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.da-workbook__head { justify-content: space-between; align-items: center; }
.da-exercise {
	position: relative; border-radius: 6px 18px 18px 6px;
	background-color: #fffef9;
	background-image:
		linear-gradient(to left, transparent 46px, rgba(200, 87, 43, .35) 46px, rgba(200, 87, 43, .35) 48px, transparent 48px),
		repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(31, 77, 74, .12) 31px, rgba(31, 77, 74, .12) 32px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 10px 22px rgba(80, 50, 20, .1);
}
[dir="ltr"] .da-exercise { background-image: linear-gradient(to right, transparent 46px, rgba(200, 87, 43, .35) 46px, rgba(200, 87, 43, .35) 48px, transparent 48px), repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(31, 77, 74, .12) 31px, rgba(31, 77, 74, .12) 32px); }
.da-exercise .dk-card__body { padding-inline-start: 62px; }
.da-exercise::before {
	content: ''; position: absolute; top: 18px; bottom: 18px; inset-inline-start: 14px; width: 14px;
	background: radial-gradient(circle, var(--da-cream) 5px, transparent 6px) 0 0 / 14px 28px repeat-y;
}
.da-exercise.is-done { box-shadow: 0 0 0 2px rgba(31, 77, 74, .35), 0 10px 22px rgba(80, 50, 20, .1); }
.da-exercise__head { justify-content: space-between; align-items: center; gap: 8px; }
.da-exercise .dk-textarea {
	background: transparent; border: 0; border-bottom: 2px dashed rgba(31, 77, 74, .22); border-radius: 0; line-height: 32px;
	font-family: var(--dk-font-body, 'Heebo', sans-serif); font-size: 16px; padding: 0 4px; width: 100%; resize: vertical;
}
.da-exercise .dk-textarea:focus { outline: none; border-bottom-color: var(--da-clay); background: rgba(227, 168, 53, .06); }
.da-exercise__foot { justify-content: space-between; align-items: center; margin-top: 8px; }
.da-share-toggle { margin-top: 4px; }
.da-lesson-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
@media (max-width: 600px) {
	.da-lesson-nav { display: grid; grid-template-columns: 1fr 1fr; }
	.da-lesson-nav > .dk-btn--teal { grid-column: 1 / -1; order: -1; white-space: normal; }
	.da-lesson-nav > [rel="next"] { justify-self: end; }
	.da-lesson-nav > [rel="prev"] { justify-self: start; }
}
.da-app .dk-switch input:focus-visible + .dk-switch__track { box-shadow: 0 0 0 3px var(--da-mustard); }

/* Banana coins + confetti */
.da-coin-fly {
	position: absolute; z-index: 9999; transform: translate(-50%, 0); pointer-events: none;
	background: var(--da-mustard); color: var(--da-ink); font-weight: 900; border-radius: 999px; padding: 6px 12px;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .15); animation: da-coin 1.3s ease-out forwards;
}
@keyframes da-coin { 0% { opacity: 0; transform: translate(-50%, 10px) scale(.6); } 20% { opacity: 1; transform: translate(-50%, -10px) scale(1.1); } 100% { opacity: 0; transform: translate(-50%, -90px) scale(1); } }
.da-confetti { position: fixed; inset: 0; pointer-events: none; z-index: 9998; overflow: hidden; }
.da-confetti span { position: absolute; top: -40px; animation: da-fall 2.2s ease-in forwards; }
@keyframes da-fall { to { transform: translateY(110vh) rotate(540deg); } }

/* Journal (יומן הדרך) */
.da-journal { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.da-journal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.da-journal__lesson { background: #fffef9; border-radius: 6px 18px 18px 6px; padding: 18px 20px; box-shadow: var(--da-shadow); break-inside: avoid; }
.da-journal__ex { margin-top: 10px; }
.da-journal__q { font-weight: 700; margin: 10px 0 4px; }
.da-journal__a { margin: 0; padding: 8px 12px; border-inline-start: 3px solid var(--da-mustard); background: rgba(227, 168, 53, .08); border-radius: 6px; white-space: normal; line-height: 1.8; }

/* Certificate */
.da-certificate { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.da-certificate__border {
	text-align: center; display: grid; gap: 8px; justify-items: center; padding: 34px 22px;
	background: #fffef6; border-radius: 10px; border: 10px solid var(--da-mustard); outline: 2px dashed var(--da-teal); outline-offset: -22px;
	box-shadow: 0 16px 40px rgba(80, 50, 20, .18);
}
.da-certificate__name { font-family: var(--da-hand); font-size: clamp(36px, 8vw, 58px); font-weight: 700; color: var(--da-clay); margin: 0; }
.da-certificate__quote { font-style: italic; max-width: 520px; margin: 8px auto 0; color: var(--da-teal); }

/* =========================================================================
   Kitchen ("המטבח של גורי")
   ========================================================================= */
.da-recipes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.da-kitchen-head { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; background: var(--da-paper); border-radius: var(--da-radius); padding: 14px 18px; box-shadow: var(--da-shadow); }
.da-kitchen-head__text { flex: 1 1 220px; }
.da-kids { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.da-kid { display: inline-flex; gap: 6px; align-items: center; }
.da-kid__initial { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--da-sage); color: #fff; font-weight: 800; font-size: 12px; }
.da-kid__warn { color: var(--da-clay); }
.da-chat--kitchen .da-chat__list { background-color: #f6efe2; background-image: linear-gradient(45deg, rgba(200, 87, 43, .05) 25%, transparent 25%, transparent 75%, rgba(200, 87, 43, .05) 75%), linear-gradient(45deg, rgba(200, 87, 43, .05) 25%, transparent 25%, transparent 75%, rgba(200, 87, 43, .05) 75%); background-size: 28px 28px; background-position: 0 0, 14px 14px; }
.da-recipe-card { background: #fffef9; border-top: 6px solid var(--da-clay); }
.da-recipe-card h2, .da-recipe-card .da-prose h3:first-child { font-size: 1.2em; color: var(--da-clay-600); }
.da-recipe-card .da-prose h4 { display: inline-block; background: var(--da-sky); padding: 2px 10px; border-radius: 999px; font-size: .95em; }
.da-flow-card { align-self: stretch; }
.da-safety { display: grid; gap: 2px; background: var(--da-paper); border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.da-ingredients .dk-card__body { display: grid; gap: 8px; }
.da-thumbs { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.da-thumb { position: relative; }
.da-thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.da-thumb .da-iconbtn { position: absolute; top: -8px; inset-inline-end: -8px; background: var(--da-clay); color: #fff; border-radius: 50%; width: 22px; height: 22px; padding: 0; font-size: 14px; }
.da-saved-search { margin-bottom: 10px; }
.da-saved .dk-card__body { display: grid; gap: 8px; }

/* =========================================================================
   Family ("המשפחה שלי")
   ========================================================================= */
.da-brain { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 980px; }
.da-brain-hero { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.da-brain-hero > div { flex: 1 1 260px; }
.da-brain-summary { background: #fff6c9; transform: rotate(-.3deg); }
.da-brain-summary__text { font-size: 17px; line-height: 1.85; white-space: pre-line; }
.da-stale { color: var(--da-clay-600); }
.da-kids-grid { margin-top: 10px; }
.da-child .dk-card__body { display: grid; gap: 10px; }
.da-child__head { display: flex; gap: 10px; align-items: center; }
.da-child__id { flex: 1; min-width: 0; }
.da-child__id h3 { margin: 0; }
.da-child__avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--da-peach); color: var(--da-clay-600); font-weight: 900; font-size: 20px; flex: none; }
.da-analysis { border-top: 1px dashed var(--da-line); padding-top: 10px; display: grid; gap: 6px; }
.da-analysis__text { max-height: 360px; overflow: auto; background: var(--da-cream); border-radius: 12px; padding: 10px 12px; }
.da-analysis-locked { border-top: 1px dashed var(--da-line); padding-top: 10px; }
.da-mini-chat { display: grid; gap: 8px; max-height: 260px; overflow: auto; }
.da-mini-chat .da-bubble { justify-self: start; max-width: 92%; padding: 8px 12px; }
.da-mini-chat .da-bubble--me { justify-self: end; }
.da-facts { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.da-fact { display: flex; gap: 8px; align-items: center; background: var(--da-paper); border-radius: 10px; padding: 8px 12px; box-shadow: 0 1px 0 rgba(0, 0, 0, .04); }
.da-fact span { flex: 1; }

/* Questionnaire overlay */
.da-quiz { position: fixed; inset: 0; z-index: 120; background: var(--da-cream); overflow-y: auto; }
.da-noscroll { overflow: hidden; }
.da-quiz__bar { position: sticky; top: 0; height: 8px; background: rgba(42, 36, 32, .08); }
.da-quiz__fill { height: 100%; background: linear-gradient(90deg, var(--da-mustard), var(--da-clay)); transition: width .35s ease; }
.da-quiz__inner { max-width: 620px; margin: 0 auto; padding: 18px 16px 120px; display: grid; gap: 14px; }
.da-quiz__card { background: var(--da-paper); border-radius: var(--da-radius); padding: 22px 18px; box-shadow: var(--da-shadow); display: grid; gap: 12px; animation: da-reveal .3s ease both; }
.da-quiz__count { font-family: var(--da-hand); font-size: 22px; font-weight: 700; color: var(--da-clay); margin: 0; }
.da-quiz__options { display: grid; gap: 8px; }
.da-option {
	text-align: start; padding: 14px 16px; border-radius: var(--da-radius-sm); border: 2px solid var(--da-line); background: #fff;
	font: inherit; font-size: 16px; cursor: pointer; transition: transform .12s ease, border-color .12s ease; color: inherit;
}
.da-option:hover, .da-option:focus-visible { transform: translateX(-2px); border-color: var(--da-mustard); }
.da-option.is-active { border-color: var(--da-clay); background: var(--da-peach); font-weight: 700; }
.da-quiz__cheer { margin: 0; color: var(--da-teal); font-weight: 700; }
.da-quiz__nav { gap: 8px; }
.da-quiz__done { text-align: center; display: grid; gap: 10px; justify-items: center; padding-top: 24px; }

/* =========================================================================
   Widgets
   ========================================================================= */
.da-widget .dk-card__body { display: grid; gap: 10px; }
.da-widget-course__top { display: flex; gap: 12px; align-items: center; }
.da-widget-course__next { display: flex; gap: 10px; align-items: center; text-decoration: none; color: inherit; background: var(--da-cream); border-radius: 14px; padding: 8px; }
.da-widget-course__next > span { display: grid; gap: 2px; }
.da-widget-course__img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; flex: none; }
.da-ai-teaser__form { display: flex; gap: 6px; flex-wrap: wrap; }
.da-ai-teaser__form .dk-input { flex: 1 1 200px; }
/* Long suggested questions wrap inside the card instead of running off its edge. */
.da-widget-ai .dk-chip { max-width: 100%; height: auto; min-height: 36px; white-space: normal; text-align: start; line-height: 1.35; padding-block: .45em; }
.da-quota-line { color: var(--da-clay-600); font-weight: 700; }
.da-weekly__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.da-weekly__stats li { background: var(--da-cream); border-radius: 12px; padding: 8px 4px; display: grid; }
.da-weekly__stats strong { font-size: 22px; font-family: var(--dk-font-head, 'Rubik', sans-serif); color: var(--da-teal); }
.da-weekly__stats span { font-size: 12px; color: var(--da-muted); }
.da-weekly__next { display: grid; gap: 2px; text-decoration: none; color: inherit; background: #fff6c9; border-radius: 10px; padding: 10px 12px; }
.da-reflection { margin: 0; padding: 10px 14px; border-inline-start: 4px solid var(--da-teal); background: var(--da-sky); border-radius: 10px; }
.da-reflection p { margin: 4px 0; }
.da-reflection__quote { font-style: italic; color: var(--da-muted); }
.da-tipbox { background: var(--da-peach); border-radius: 12px; padding: 10px 12px; }
.da-encourage { font-weight: 700; color: var(--da-teal); }
.da-weekly__prefs .dk-switch { display: flex; gap: 8px; align-items: center; margin-top: 6px; }

/* Article teaser (premium posts for free users) */
.da-teaser { position: relative; }
.da-teaser { -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 150px), transparent); mask-image: linear-gradient(180deg, #000 calc(100% - 150px), transparent); }
.da-teaser__fade { display: none; } /* the mask fades the text into any background (cream, doodles, cards) */

/* Toast fallback */
.da-toast { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%); background: var(--dk-ink, #2A2420); color: #fff; padding: 10px 16px; border-radius: 999px; z-index: 9999; }

/* Accessibility & motion */
@media (prefers-reduced-motion: reduce) {
	.da-app *, .da-coin-fly, .da-confetti span { animation: none !important; transition: none !important; }
	.da-next, .da-brain-summary { transform: none; }
}
.a11y-reduce-motion .da-app * { animation: none !important; transition: none !important; }

/* Print: יומן הדרך + certificate */
@media print {
	.da-journal__actions, .da-course-tabs, .da-certificate__actions, .dk-tabs, header.site-header, .dk-bottom-nav, footer { display: none !important; }
	.da-app { padding: 0; max-width: none; }
	.da-journal__lesson { box-shadow: none; border: 1px solid #ddd; }
	.da-certificate__border { box-shadow: none; }
}

/* =========================================================================
   Article keys 🔑 (locked article view + library)
   ========================================================================= */
.da-keycard {
	position: relative; display: grid; gap: 8px; justify-items: center; text-align: center; margin: 18px 0;
	background: #fff6c9; border-radius: 6px 6px 22px 6px; padding: 24px 18px 20px; box-shadow: 0 12px 26px rgba(90, 60, 10, .16);
	color: var(--dk-ink, #2A2420);
}
.da-keycard > .dk-tape { position: absolute; top: -10px; left: 50%; transform: translateX(-50%) rotate(-2deg); }
.da-keycard__lock { position: relative; width: 96px; height: 70px; font-size: 44px; line-height: 70px; }
.da-keycard__padlock { position: absolute; inset-inline-start: 46px; top: 0; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.da-keycard__key { position: absolute; inset-inline-start: 0; top: 6px; font-size: 36px; transform-origin: 70% 50%; transition: transform .4s ease; }
.da-keycard.is-turning .da-keycard__key { animation: da-key-turn .9s ease-in-out infinite; }
.da-keycard.is-unlocked .da-keycard__key { transform: translateX(-12px) rotate(-90deg); opacity: .6; }
.da-keycard.is-unlocked .da-keycard__padlock { transform: scale(1.35) translateY(-6px); }
@keyframes da-key-turn { 0%, 100% { transform: translateX(10px) rotate(0); } 50% { transform: translateX(14px) rotate(-90deg); } }
.da-keycard__title { font-weight: 900; font-size: 18px; margin: 0; }
.da-keycard__btn { min-width: 220px; }
.da-library { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.da-library__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.da-keys-pill { background: var(--dk-mustard, #E3A835); color: var(--dk-ink, #2A2420); font-weight: 900; border-radius: 999px; padding: 8px 14px; transform: rotate(-3deg); display: inline-block; }
.da-library__filters { display: flex; gap: 6px; flex-wrap: wrap; }
.da-libcard { position: relative; overflow: hidden; display: flex; flex-direction: column; }
.da-libcard__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.da-libcard.is-locked .da-libcard__img { filter: saturate(.6) brightness(.95); }
.da-libcard .dk-card__body { display: grid; gap: 6px; }
.da-libcard__state { position: absolute; top: 10px; inset-inline-end: 10px; background: rgba(255, 253, 248, .95); border-radius: 999px; padding: 4px 8px; font-size: 16px; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.da-libcard.is-turning { animation: da-wiggle .4s ease-in-out infinite; }
@keyframes da-wiggle { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-1deg); } 75% { transform: rotate(1deg); } }
.da-library__pager { flex-wrap: wrap; gap: 6px; }

/* Animated Guri (theme derech_guri_media: transparent video with still poster) */
.da-guri-anim { display: inline-flex; flex: none; }
.da-guri-anim .dk-guri-media { width: 64px; height: 64px; object-fit: contain; }
.da-guri-anim--lg .dk-guri-media { width: 96px; height: 96px; }
.da-guri-anim--xl .dk-guri-media { width: 180px; height: 180px; }
.da-course-hero__guri .dk-guri-media { width: 120px; height: 120px; object-fit: contain; }
.da-video--placeholder .dk-guri-media { width: 110px; height: 110px; object-fit: contain; }
.da-keycard__guri { width: 84px; height: 84px; object-fit: contain; }
.da-library__head .da-guri { margin-inline-end: 8px; }

/* Inside the theme's app shell (.dk-page) the bottom-nav clearance already exists. */
.dk-page .da-app { padding-bottom: 8px; }

/* Locked lesson teaser: blurred lesson art + exercise titles under a clear "opens with membership" badge. */
.da-locked-lesson { display: grid; gap: 16px; }
.da-locked-lesson__preview { border-radius: var(--da-radius); }
.da-locked-lesson__video { aspect-ratio: 16 / 7; background-size: cover; background-position: center; }
.da-locked-lesson .dk-locked__overlay { background: linear-gradient(180deg, rgba(251, 244, 232, .15), rgba(251, 244, 232, .8) 70%); }
.da-locked-lesson__badge {
	display: inline-flex; align-items: center; gap: .45em; margin: 0; padding: .6em 1.1em; border-radius: 999px;
	background: var(--da-paper); color: var(--da-teal); font-family: var(--dk-font-display, inherit); font-weight: 700; font-size: 15px;
	box-shadow: 0 3px 0 rgba(42, 36, 32, .12), 0 10px 24px rgba(80, 50, 20, .16); border: 2px solid rgba(42, 36, 32, .08); text-align: center;
}
.da-locked-lesson__badge .dk-icon { color: var(--da-clay); flex: none; }
@media (max-width: 600px) {
	.da-exercise { background-image: linear-gradient(to left, transparent 30px, rgba(200, 87, 43, .35) 30px, rgba(200, 87, 43, .35) 32px, transparent 32px), repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(31, 77, 74, .12) 31px, rgba(31, 77, 74, .12) 32px); }
	.da-exercise .dk-card__body { padding-inline-start: 38px; }
	.da-exercise::before { inset-inline-start: 8px; width: 12px; background-size: 12px 28px; }
}

/* =========================================================================
   Kitchen: the fridge-photo hero ("צלמו את המקרר")
   ========================================================================= */
.da-kitchen { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.da-snap {
	display: grid; gap: 14px; padding: clamp(16px, 3vw, 26px);
	background: radial-gradient(120% 120% at 100% 0%, #FFF4D6 0%, var(--da-paper) 55%), var(--da-paper);
	border: 2px dashed rgba(200, 87, 43, .35); overflow: hidden;
}
.da-snap__intro { display: flex; align-items: center; gap: 14px; }
.da-snap__guri { flex: none; display: inline-flex; }
.da-snap__guri .dk-guri-media, .da-snap__guri img { width: 112px; height: 112px; object-fit: contain; }
.da-snap__copy { display: grid; gap: 4px; min-width: 0; }
.da-snap__kicker { margin: 0; font-size: 1.6rem; color: var(--da-clay-600); line-height: 1; }
.da-snap__title { margin: 0; font-size: clamp(1.45rem, 1.1rem + 1.4vw, 2rem); }
.da-snap__text { margin: 0; color: var(--dk-ink-2, #4A403A); line-height: 1.6; max-width: 46ch; }
.da-snap__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.da-snap__camera { flex: 1 1 260px; font-size: 1.15rem; }
.da-snap__camera .dk-icon { width: 1.4em; height: 1.4em; }
.da-snap__gallery { flex: 0 1 auto; }
.da-snap__camera:focus-within, .da-snap__gallery:focus-within, .da-thumb--add:focus-within { box-shadow: 0 0 0 4px var(--da-mustard); }
.da-snap__result { display: grid; gap: 10px; }
.da-snap__found { margin: 0; display: flex; align-items: center; gap: 8px; }
.da-snap__spin { width: 18px; height: 18px; border-width: 2px; vertical-align: -3px; }
.da-snap__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.da-ing { cursor: default; padding-inline-end: .35em; background: #fff; }
.da-ing:hover { transform: none; }
.da-ing__x { border: 0; background: var(--dk-cream-2, #F5EAD6); color: var(--da-ink); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; font-size: 16px; line-height: 1; padding: 0; }
.da-ing__x:hover, .da-ing__x:focus-visible { background: var(--da-clay); color: #fff; }
.da-snap__edit summary { cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; }
.da-snap__edit .dk-textarea { margin-top: 8px; min-height: 70px; }
.da-thumb img { width: 76px; height: 76px; border: 3px solid #fff; box-shadow: 0 4px 10px rgba(80, 50, 20, .18); }
.da-thumb:nth-child(odd) img { transform: rotate(-3deg); }
.da-thumb:nth-child(even) img { transform: rotate(2deg); }
.da-thumb__x { position: absolute; top: -8px; inset-inline-end: -8px; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #fff; background: var(--da-clay); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0; }
.da-thumb--busy, .da-thumb--add { width: 76px; height: 76px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, .7); border: 2px dashed rgba(42, 36, 32, .2); }
.da-thumb--add { cursor: pointer; color: var(--da-teal); }
.da-thumb--add .dk-icon { width: 26px; height: 26px; }
/* Compact once the conversation started: a slim "snap again" bar. */
.da-snap.is-compact { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 10px 14px; }
.da-snap.is-compact .da-snap__guri .dk-guri-media, .da-snap.is-compact .da-snap__guri img { width: 56px; height: 56px; }
.da-snap.is-compact .da-snap__kicker, .da-snap.is-compact .da-snap__text { display: none; }
.da-snap.is-compact .da-snap__title { font-size: 1.15rem; }
.da-snap.is-compact .da-snap__camera { flex: none; font-size: 1rem; min-height: 46px; padding-inline: 1em; }
.da-snap.is-compact .da-snap__gallery { display: none; }
.da-chat--kitchen .da-chat__list { min-height: 0; max-height: 70vh; }
@media (max-width: 600px) {
	.da-snap__guri .dk-guri-media, .da-snap__guri img { width: 88px; height: 88px; }
	.da-snap__actions { display: grid; grid-template-columns: 1fr; }
	.da-snap__camera { min-height: 60px; }
	.da-snap.is-compact { grid-template-columns: 1fr; }
	.da-snap.is-compact .da-snap__actions { grid-template-columns: 1fr; }
	.da-kitchen-head .dk-segment { flex: 1 1 100%; display: grid; grid-template-columns: 1fr 1fr; }
	.da-kitchen-head .dk-segment .dk-chip { justify-content: center; }
}
/* A disabled composer (monthly questions used up, or AI paused) must not float over the upsell card. */
.da-assistant .da-composer.is-disabled { position: static; }
/* Washi tape spans: pin them to the top centre of their note instead of the text start (they covered the title). */
.da-brain-summary { position: relative; }
.da-brain-summary > .dk-tape { position: absolute; top: 0; left: 50%; width: 0; height: 0; }

/* Tap targets (44px) for the small standalone links and icon buttons. */
.da-app .dk-breadcrumbs a, .da-workbook__head .dk-link, .da-quota .dk-link, .da-context .dk-link, .da-snap__edit summary, .da-lesson-nav .dk-btn { min-height: 44px; display: inline-flex; align-items: center; }
.da-iconbtn { min-width: 40px; min-height: 40px; display: inline-grid; place-items: center; }
.da-fact .da-iconbtn { min-width: 44px; min-height: 44px; font-size: 18px; }
.da-action { min-height: 40px; }

/* Article library (keys): tidy cards, button pinned to the bottom, compact list rows on phones. */
.da-library__filters { width: fit-content; max-width: 100%; }
.da-library__filters .dk-chip { text-decoration: none; min-height: 40px; }
.da-libcard .dk-card__body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.da-libcard .dk-card__body h3 { margin: 4px 0 0; line-height: 1.3; }
.da-libcard .dk-card__body p { margin: 0; }
.da-libcard .dk-card__body > .dk-btn { margin-top: auto; align-self: flex-start; }
.da-libcard__media { display: block; border-radius: 14px; overflow: hidden; }
.da-libcard__img { border-radius: 14px; }
@media (max-width: 600px) {
	.da-library__head { align-items: center; }
	.da-library__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.da-libcard { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px; }
	.da-libcard__img { aspect-ratio: 1; }
	.da-libcard .dk-card__body { padding: 0; gap: 4px; }
	.da-libcard .dk-card__body h3 { font-size: 1.02rem; margin: 0; }
	.da-libcard .dk-card__body .dk-muted { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	.da-libcard__state { top: 14px; inset-inline-start: 14px; inset-inline-end: auto; font-size: 12px; padding: 2px 5px; }
	.da-libcard .dk-card__body > .dk-btn { margin-top: 4px; }
}
/* The fridge hero carries Guri on this page; one chef Guri is enough. */
.da-recipes .da-kitchen-head > .da-guri-wrap { display: none; }
@media (min-width: 601px) {
	.da-snap__camera { flex: 0 1 auto; padding-inline: 1.8em; }
}
@media (min-width: 900px) {
	.da-snap:not(.has-images):not(.is-compact) { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
	.da-snap:not(.has-images):not(.is-compact) .da-snap__actions { display: grid; gap: 10px; min-width: 300px; }
	.da-snap__result { grid-column: 1 / -1; }
}
/* Family page: tighter rhythm inside cards (default h2/p margins doubled the card gaps). */
.da-brain .dk-card h2, .da-brain-summary p { margin: 0; }
.da-brain .dk-card__body > p, .da-brain .dk-card__body > div > p.dk-label { margin: 0 0 8px; }
.da-ing__x, .da-thumb__x { position: absolute; } .da-ing__x { position: relative; } .da-ing__x::after, .da-thumb__x::after { content: ""; position: absolute; inset: -9px; }
.da-nowrap { white-space: nowrap; }
.da-library__head > div { flex: 1 1 220px; min-width: 0; }
@media (max-width: 600px) {
	.da-library__head { flex-wrap: wrap; gap: 8px 12px; }
	.da-library__head > .da-guri { width: 60px; height: 60px; margin: 0; }
	.da-library__head h2 { font-size: 1.6rem; margin: 0; }
}

/* Recipe generator: "fill the family questionnaire" call to action. */
.da-profile-cta { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 18px; padding: 16px 18px; margin-bottom: 14px; background: #FFF3C4; border: 2px dashed #E3C77A; border-radius: 22px; }
.da-profile-cta__guri img, .da-profile-cta__guri video, .da-profile-cta__guri .dk-guri-media { width: 84px; height: 84px; object-fit: contain; display: block; }
.da-profile-cta__copy { min-width: 0; }
.da-profile-cta__kicker { margin: 0; font-size: 1.35rem; line-height: 1.1; color: var(--dk-clay-600, #A9431C); }
.da-profile-cta h2 { margin: .15rem 0 .2rem; }
.da-profile-cta p { margin: 0; }
@media (max-width: 640px) {
	.da-profile-cta { grid-template-columns: auto minmax(0, 1fr); }
	.da-profile-cta__btn { grid-column: 1 / -1; width: 100%; justify-content: center; }
}
.da-back-recipes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }

/* Private chat with Guri: voice questions (recording bar + live waveform) and PDF files. */
.da-rec { display: flex; align-items: center; gap: 8px; padding: 2px 4px; font-weight: 700; font-variant-numeric: tabular-nums; }
.da-rec__dot { width: 12px; height: 12px; border-radius: 50%; background: #E0362C; flex: none; animation: da-rec-pulse 1.2s infinite; }
@keyframes da-rec-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.85); } }
.da-rec__time { min-width: 2.6em; color: var(--da-ink, #2A2420); }
.da-rec__wave { flex: 1 1 auto; min-width: 60px; height: 36px; color: var(--da-teal, #1F4D4A); background: var(--da-cream, #FBF4E8); border-radius: 999px; }
.da-rec__cancel { color: var(--da-muted, #6F6259); }
.da-rec__cancel:hover, .da-rec__cancel:focus-visible { color: #B3261E; }
.da-composer__mic { background: var(--da-teal, #1F4D4A); }
.da-transcribing { display: flex; align-items: center; gap: 8px; margin: 2px 8px 6px; font-size: 14px; color: var(--da-teal, #1F4D4A); font-weight: 600; }
.da-transcribing .dk-spinner { width: 16px; height: 16px; }
.da-file-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 6px 10px; border-radius: 12px; background: var(--da-sky, #DDEDF1); color: var(--da-teal, #1F4D4A); font-size: 14px; font-weight: 600; }
.da-file-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.da-file-chip .dk-icon { width: 18px; height: 18px; flex: none; }
.da-file-chip--msg { margin-bottom: 6px; background: rgba(255, 255, 255, .55); }
.da-voice-mark { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 4px; font-size: 12px; font-weight: 700; opacity: .75; }
.da-voice-mark .dk-icon { width: 14px; height: 14px; }
