.hw-root {
    --hw-green: #245f4a;
    --hw-green-2: #8aac55;
    --hw-paper: #f6f8f4;
    --hw-text: #183b31;
    --hw-muted: #6b7c73;
    --hw-line: #dfe7e0;
    --hw-shadow: 0 20px 60px rgba(24, 59, 49, .10);
    direction: rtl;
    font-family: Arial, "Noto Sans Hebrew", sans-serif;
    color: var(--hw-text);
    background: linear-gradient(180deg, #fbfcfa, #f4f8f3 42%, #fff);
    border: 1px solid #e4eae5;
    border-radius: 28px;
    overflow: hidden;
    min-height: 720px;
}
.hw-root * { box-sizing: border-box; }
.hw-root button, .hw-root select, .hw-root input { font: inherit; }
.hw-root button { color: inherit; }
.hw-root button:focus-visible, .hw-root input:focus-visible { outline: 4px solid color-mix(in srgb, var(--hw-accent, #2d7654) 45%, white); outline-offset: 3px; }
.hw-shell { min-height: 720px; background: linear-gradient(180deg, #fbfcfa, #f4f8f3 45%, #fff); }
.hw-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 78px;
    padding: 12px clamp(14px, 3vw, 34px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--hw-line);
}
.hw-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hw-logo { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; background: #edf6e9; color: #608d4d; font-size: 23px; flex: 0 0 auto; }
.hw-brand strong, .hw-brand small { display: block; }
.hw-brand strong { font-size: 20px; font-weight: 800; }
.hw-brand small { margin-top: 2px; color: var(--hw-muted); font-size: 12px; }
.hw-top-actions { display: flex; gap: 8px; align-items: center; }
.hw-icon-btn, .hw-world-btn, .hw-small-btn {
    min-height: 46px;
    border: 1px solid var(--hw-line);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
}
.hw-icon-btn { width: 46px; display: grid; place-items: center; font-size: 19px; }
.hw-world-btn { padding: 0 14px; display: flex; align-items: center; gap: 8px; font-weight: 700; }
.hw-world-btn b { min-width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--hw-accent2, #e2c36b); font-size: 12px; }
.hw-main { width: min(1280px, calc(100% - 28px)); margin: 0 auto; padding: 34px 0 54px; }
.hw-hero { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(28px, 5vw, 72px); align-items: center; padding: 18px 0 36px; }
.hw-eyebrow { color: #587163; font-size: 14px; font-weight: 800; }
.hw-hero h1 { margin: 10px 0 18px; font-size: clamp(40px, 5vw, 68px); line-height: 1.06; letter-spacing: -1.8px; }
.hw-hero p { margin: 0; max-width: 670px; color: var(--hw-muted); font-size: 20px; line-height: 1.7; }
.hw-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.hw-chip { padding: 9px 13px; border-radius: 999px; background: #fff; border: 1px solid var(--hw-line); font-size: 13px; font-weight: 700; }
.hw-scene-wrap { padding: 14px; border-radius: 34px; background: #fff; box-shadow: var(--hw-shadow); }
.hw-scene { min-height: 370px; border-radius: 26px; position: relative; overflow: hidden; background: linear-gradient(180deg, var(--hw-scene-top, #d9efff), var(--hw-scene-bottom, #dcedbe)); }
.hw-scene::before { content: ""; position: absolute; inset: auto -5% 0; height: 38%; background: var(--hw-ground, #9ecb6d); border-radius: 50% 50% 0 0 / 24% 24% 0 0; }
.hw-scene-sun { position: absolute; top: 28px; left: 42px; width: 62px; height: 62px; border-radius: 50%; background: #f3d56e; box-shadow: 0 0 0 18px rgba(243, 213, 110, .18); }
.hw-scene-object { position: absolute; right: 12%; bottom: 16%; width: 72%; height: 58%; border-radius: 26px; background: var(--hw-object, #d5a25b); border: 8px solid rgba(78, 64, 45, .28); box-shadow: inset 0 -22px 0 rgba(0,0,0,.05); }
.hw-scene-object::before { content: ""; position: absolute; left: 8%; right: 8%; top: -28px; height: 30px; border-radius: 20px; background: var(--hw-accent2, #8db153); transform: rotate(-2deg); box-shadow: 0 10px 0 rgba(255,255,255,.18); }
.hw-scene-object::after { content: ""; position: absolute; width: 28%; height: 42%; left: 36%; bottom: 0; border-radius: 24px 24px 0 0; background: rgba(255,255,255,.32); }
.hw-scene-mark { position: absolute; left: 10%; top: 26%; font-size: clamp(56px, 7vw, 96px); filter: drop-shadow(0 12px 18px rgba(0,0,0,.12)); }
.hw-section { margin-top: 30px; }
.hw-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 20px; }
.hw-section-head h2 { margin: 4px 0 0; font-size: 30px; }
.hw-section-head p { margin: 0; max-width: 520px; color: var(--hw-muted); line-height: 1.55; }
.hw-holiday-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.hw-holiday-card {
    --card: #2f7655;
    --paper: #f6faf4;
    min-height: 122px;
    padding: 18px;
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: center;
    gap: 12px;
    border: 1px solid color-mix(in srgb, var(--card) 18%, white);
    border-radius: 23px;
    background: linear-gradient(135deg, var(--paper), #fff);
    text-align: right;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(34, 60, 46, .04);
    transition: .2s ease;
}
.hw-holiday-card:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(34,60,46,.10); }
.hw-holiday-card-icon { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; background: color-mix(in srgb, var(--card) 10%, white); color: var(--card); font-size: 28px; }
.hw-holiday-card strong, .hw-holiday-card small { display: block; }
.hw-holiday-card strong { font-size: 19px; }
.hw-holiday-card small { margin-top: 5px; color: var(--hw-muted); font-size: 13px; line-height: 1.35; }
.hw-card-arrow { font-size: 22px; color: var(--card); }
.hw-holiday-intro { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(30px, 5vw, 65px); }
.hw-holiday-title h1 { margin: 10px 0 10px; font-size: clamp(48px, 6vw, 78px); line-height: 1; }
.hw-holiday-title p { margin: 0 0 26px; color: var(--hw-muted); font-size: 20px; }
.hw-back { border: 0; background: transparent; padding: 6px 0; cursor: pointer; color: #60756a; font-weight: 700; }
.hw-progress { width: min(460px, 100%); height: 11px; background: #e5ebe6; border-radius: 999px; overflow: hidden; }
.hw-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--hw-accent), var(--hw-accent2)); }
.hw-progress-text { margin-top: 7px; color: var(--hw-muted); font-size: 13px; }
.hw-scene-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 8px 4px; }
.hw-scene-caption strong, .hw-scene-caption small { display: block; }
.hw-scene-caption small { margin-top: 3px; color: var(--hw-muted); }
.hw-primary { border: 0; border-radius: 14px; min-height: 44px; padding: 0 16px; background: var(--hw-accent); color: #fff; cursor: pointer; font-weight: 700; }
.hw-quiet-note { margin: 26px 0; padding: 15px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--hw-line); display: flex; align-items: center; gap: 10px; }
.hw-quiet-note b, .hw-quiet-note span { display: block; }
.hw-quiet-note span { margin-top: 2px; color: var(--hw-muted); font-size: 13px; }
.hw-activity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.hw-activity-card { position: relative; min-height: 176px; padding: 22px; border: 1px solid var(--hw-line); border-radius: 24px; background: #fff; text-align: right; cursor: pointer; overflow: hidden; transition: .2s ease; }
.hw-activity-card.lang { background: linear-gradient(145deg, #fff8df, #fff); }
.hw-activity-card.math { background: linear-gradient(145deg, #eef4ff, #fff); }
.hw-activity-card:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(29,56,42,.08); }
.hw-activity-num { position: absolute; left: 16px; top: 10px; font-size: 38px; color: rgba(25,56,43,.08); font-weight: 800; }
.hw-activity-card strong, .hw-activity-card small, .hw-activity-card em { display: block; }
.hw-activity-card strong { margin-top: 38px; font-size: 20px; }
.hw-activity-card small { margin-top: 6px; color: var(--hw-muted); }
.hw-activity-card em { margin-top: 18px; font-style: normal; color: var(--hw-accent); font-weight: 700; font-size: 13px; }
.hw-activity-done { position: absolute; left: 18px; bottom: 18px; color: var(--hw-accent); }
.hw-activity-page { min-height: 720px; padding-bottom: 102px; background: linear-gradient(180deg, var(--hw-paper), #fff 58%); }
.hw-activity-shell { width: min(940px, calc(100% - 28px)); margin: 0 auto; padding-top: 30px; }
.hw-activity-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 16px; }
.hw-activity-title { text-align: center; }
.hw-activity-title small { color: var(--hw-accent); font-weight: 800; }
.hw-activity-title h1 { margin: 3px 0 0; font-size: 34px; }
.hw-round { justify-self: end; padding: 8px 12px; background: #fff; border: 1px solid var(--hw-line); border-radius: 999px; color: var(--hw-muted); }
.hw-instruction { margin: 22px 0 14px; min-height: 76px; padding: 14px 17px; border-radius: 20px; background: #fff; border: 1px solid var(--hw-line); display: flex; align-items: center; justify-content: center; gap: 12px; box-shadow: 0 8px 24px rgba(29,55,42,.04); }
.hw-instruction button { width: 48px; height: 48px; border: 0; border-radius: 15px; background: color-mix(in srgb, var(--hw-accent) 10%, white); color: var(--hw-accent); cursor: pointer; font-size: 20px; }
.hw-instruction p { margin: 0; font-size: 18px; font-weight: 700; }
.hw-focus { min-height: 450px; padding: clamp(22px, 5vw, 48px); border-radius: 32px; background: #fff; border: 1px solid var(--hw-line); box-shadow: 0 20px 55px rgba(25,55,39,.08); display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.hw-big-icon { width: 148px; height: 148px; border-radius: 38px; display: grid; place-items: center; background: color-mix(in srgb, var(--hw-accent) 9%, white); color: var(--hw-accent); font-size: 78px; margin-bottom: 18px; }
.hw-prompt { font-size: clamp(28px, 4vw, 40px); font-weight: 800; text-align: center; margin: 0 0 22px; }
.hw-answer-grid { width: min(650px, 100%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.hw-answer-grid.two { grid-template-columns: repeat(2, 1fr); }
.hw-answer-grid.four { grid-template-columns: repeat(4, 1fr); }
.hw-answer { min-height: 82px; padding: 10px; border: 2px solid #e0e7e1; border-radius: 20px; background: #fff; font-size: 23px; font-weight: 800; cursor: pointer; transition: .2s ease; }
.hw-answer:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--hw-accent) 44%, white); }
.hw-answer.hint { border-style: dashed; border-color: var(--hw-accent2); }
.hw-answer.guide { border: 4px solid var(--hw-accent); background: color-mix(in srgb, var(--hw-accent) 7%, white); box-shadow: 0 0 0 7px color-mix(in srgb, var(--hw-accent) 12%, transparent); }
.hw-count-box { width: min(650px, 100%); min-height: 140px; padding: 20px; margin-bottom: 14px; border-radius: 24px; background: color-mix(in srgb, var(--hw-accent) 5%, white); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.hw-count-item { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #fff; color: var(--hw-accent); font-size: 24px; border: 1px solid color-mix(in srgb, var(--hw-accent) 12%, white); }
.hw-groups { width: min(720px, 100%); display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; margin-bottom: 18px; }
.hw-group { min-height: 128px; padding: 14px; border-radius: 22px; background: color-mix(in srgb, var(--hw-accent) 5%, white); display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; align-items: center; }
.hw-math-sign { font-size: 38px; font-weight: 800; color: var(--hw-accent); }
.hw-expression { direction: ltr; font-size: 40px; font-weight: 800; color: var(--hw-accent); margin-bottom: 12px; }
.hw-feedback { margin-top: 16px; font-weight: 700; color: #6c756f; }
.hw-success { position: absolute; left: 20px; right: 20px; bottom: 20px; min-height: 80px; padding: 13px 15px; border-radius: 20px; background: #f4faf2; border: 1px solid #cfe0cc; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; box-shadow: 0 12px 30px rgba(34,66,49,.12); }
.hw-success-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: #e3f0dd; color: #63884f; font-size: 22px; }
.hw-success b, .hw-success small { display: block; }
.hw-success small { margin-top: 2px; color: var(--hw-muted); }
.hw-story { width: min(700px, 100%); text-align: center; }
.hw-story-index { display: inline-block; padding: 6px 10px; border-radius: 999px; background: #f0f4f1; color: var(--hw-muted); font-weight: 700; }
.hw-story-mark { font-size: 68px; margin: 10px 0; }
.hw-story p { font-size: clamp(26px, 4vw, 36px); line-height: 1.5; font-weight: 700; }
.hw-story-nav { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.hw-story-nav button, .hw-story-speak, .hw-soft { min-height: 46px; padding: 0 15px; border-radius: 14px; border: 1px solid var(--hw-line); background: #fff; cursor: pointer; }
.hw-story-nav .hw-primary { border: 0; }
.hw-sentence { width: min(720px, 100%); text-align: center; }
.hw-sentence-built { min-height: 96px; padding: 18px; display: grid; place-items: center; border-radius: 22px; border: 2px dashed #cfd8d1; background: #f8faf8; font-size: 28px; font-weight: 800; }
.hw-word-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 22px 0 14px; }
.hw-word-chip { min-width: 110px; min-height: 58px; padding: 8px 15px; border-radius: 17px; border: 2px solid var(--hw-line); background: #fff; font-size: 22px; font-weight: 800; cursor: pointer; }
.hw-word-chip:disabled { opacity: .28; }
.hw-support { position: sticky; bottom: 0; z-index: 15; min-height: 78px; padding: 10px 12px; display: flex; justify-content: center; gap: 8px; background: rgba(255,255,255,.97); border-top: 1px solid var(--hw-line); backdrop-filter: blur(12px); }
.hw-support button { min-width: 124px; min-height: 52px; border-radius: 16px; border: 1px solid var(--hw-line); background: #fff; cursor: pointer; font-weight: 700; }
.hw-support button.hw-help { background: color-mix(in srgb, var(--hw-accent) 8%, white); }
.hw-help-count { display: inline-grid; place-items: center; min-width: 23px; height: 23px; border-radius: 50%; background: var(--hw-accent); color: #fff; font-size: 11px; margin-right: 4px; }
.hw-world-page { padding: 36px 0 50px; }
.hw-world-head { max-width: 760px; margin-bottom: 24px; }
.hw-world-head h1 { margin: 10px 0 10px; font-size: 48px; }
.hw-world-head p { color: var(--hw-muted); line-height: 1.65; font-size: 17px; }
.hw-world-stage { padding: 14px 14px 90px; border-radius: 32px; background: #fff; box-shadow: var(--hw-shadow); position: relative; }
.hw-reward-tray { position: absolute; right: 24px; left: 24px; bottom: 20px; display: grid; grid-template-columns: repeat(12, 1fr); gap: 7px; }
.hw-reward { min-height: 48px; border-radius: 13px; background: #eef1ef; color: #a4aca7; display: grid; place-items: center; font-weight: 800; }
.hw-reward.on { background: color-mix(in srgb, var(--hw-accent) 10%, white); color: var(--hw-accent); }
.hw-world-summary { margin: 16px auto 0; max-width: 560px; padding: 16px 18px; border-radius: 20px; border: 1px solid var(--hw-line); background: #fff; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.hw-world-summary span { color: var(--hw-muted); }
.hw-modal-bg { position: fixed; inset: 0; z-index: 99999; padding: 20px; background: rgba(24,43,35,.38); backdrop-filter: blur(6px); display: grid; place-items: center; }
.hw-modal { width: min(640px, 100%); max-height: min(760px, calc(100vh - 30px)); overflow: auto; padding: 24px; border-radius: 28px; background: #fff; box-shadow: 0 30px 90px rgba(20,44,32,.25); }
.hw-modal-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 12px; border-bottom: 1px solid #e3e9e4; }
.hw-modal-head h2 { margin: 3px 0 0; }
.hw-setting { min-height: 74px; padding: 13px 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #edf1ed; }
.hw-setting strong, .hw-setting small { display: block; }
.hw-setting small { color: var(--hw-muted); margin-top: 2px; }
.hw-seg { display: flex; padding: 4px; border-radius: 13px; background: #f0f3f0; }
.hw-seg button { min-width: 50px; height: 40px; border: 0; border-radius: 10px; background: transparent; cursor: pointer; font-weight: 800; }
.hw-seg button.on { background: #fff; color: var(--hw-accent); box-shadow: 0 3px 10px rgba(33,60,46,.10); }
.hw-toggle { width: 50px; height: 30px; border-radius: 999px; background: #d6ddd8; border: 0; position: relative; cursor: pointer; }
.hw-toggle::after { content: ""; position: absolute; width: 22px; height: 22px; right: 4px; top: 4px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.15); transition: .2s ease; }
.hw-toggle.on { background: var(--hw-accent); }
.hw-toggle.on::after { transform: translateX(-20px); }
.hw-modal-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 18px; }
.hw-danger { color: #8a5447; }
.hw-confirm { display: flex; gap: 7px; align-items: center; background: #fbf4f0; border-radius: 12px; padding: 6px 8px; }
.hw-reduced *, .hw-reduced *::before, .hw-reduced *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; scroll-behavior: auto !important; }
.hw-projector .hw-brand small, .hw-projector .hw-world-btn span { display: none; }
.hw-projector .hw-focus { min-height: 540px; }

@media (max-width: 1050px) {
    .hw-holiday-grid, .hw-activity-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
    .hw-hero, .hw-holiday-intro { grid-template-columns: 1fr; }
    .hw-hero .hw-scene-wrap { order: -1; }
    .hw-holiday-grid, .hw-activity-grid { grid-template-columns: repeat(2, 1fr); }
    .hw-section-head { align-items: start; flex-direction: column; gap: 8px; }
    .hw-activity-head { grid-template-columns: 1fr auto; }
    .hw-activity-title { grid-column: 1 / -1; grid-row: 1; }
    .hw-activity-head .hw-back { grid-row: 2; grid-column: 1; }
    .hw-round { grid-row: 2; grid-column: 2; }
    .hw-answer-grid, .hw-answer-grid.four { grid-template-columns: repeat(2, 1fr); }
    .hw-support { display: grid; grid-template-columns: repeat(3, 1fr); }
    .hw-support button { min-width: 0; font-size: 13px; }
    .hw-reward-tray { grid-template-columns: repeat(6, 1fr); }
    .hw-world-stage { padding-bottom: 144px; }
}
@media (max-width: 560px) {
    .hw-root { border-radius: 18px; }
    .hw-topbar { min-height: 70px; padding: 9px 10px; }
    .hw-brand small, .hw-world-btn span { display: none; }
    .hw-logo { width: 42px; height: 42px; }
    .hw-brand strong { font-size: 16px; }
    .hw-icon-btn { width: 42px; min-height: 42px; }
    .hw-main { width: min(100% - 18px, 540px); padding-top: 22px; }
    .hw-hero h1 { font-size: 38px; letter-spacing: -1px; }
    .hw-hero p { font-size: 17px; }
    .hw-scene { min-height: 280px; }
    .hw-holiday-grid, .hw-activity-grid { grid-template-columns: 1fr; }
    .hw-holiday-title h1 { font-size: 50px; }
    .hw-activity-shell { width: min(100% - 18px, 540px); }
    .hw-instruction { align-items: start; }
    .hw-instruction p { font-size: 16px; }
    .hw-focus { min-height: 420px; padding: 22px 14px 96px; }
    .hw-answer-grid, .hw-answer-grid.two, .hw-answer-grid.four { grid-template-columns: repeat(2, 1fr); }
    .hw-answer { min-height: 72px; font-size: 20px; }
    .hw-groups { gap: 8px; }
    .hw-group { min-height: 106px; padding: 8px; }
    .hw-success { grid-template-columns: auto 1fr; }
    .hw-success .hw-primary { grid-column: 1 / -1; }
    .hw-support { grid-template-columns: repeat(2, 1fr); }
    .hw-support button:last-child { grid-column: 1 / -1; }
    .hw-world-summary { grid-template-columns: auto 1fr; }
    .hw-world-summary .hw-primary { grid-column: 1 / -1; }
    .hw-modal { padding: 18px; border-radius: 22px; }
    .hw-setting { align-items: start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .hw-root *, .hw-root *::before, .hw-root *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

/* KalKesef access layer */
.hw-access-chip { min-height: 40px; padding: 0 13px; border: 1px solid #dce5dd; border-radius: 14px; background: #fff; display: inline-flex; align-items: center; gap: 5px; font-size: 13px; white-space: nowrap; }
.hw-access-chip b { font-size: 16px; }
.hw-access-open { background: #edf7ea; border-color: #d1e6cb; color: #426f38; font-weight: 700; }
.hw-access-row { min-height: 46px; margin: -18px 0 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.hw-pack-btn { min-height: 44px; padding: 0 16px; border: 0; border-radius: 14px; background: var(--hw-accent); color: #fff; font-weight: 800; cursor: pointer; }
.hw-pack-open, .hw-free-pill { min-height: 40px; padding: 0 13px; display: inline-flex; align-items: center; border-radius: 999px; font-size: 13px; font-weight: 800; }
.hw-pack-open { background: #eaf5e7; color: #4b743f; }
.hw-free-pill { background: #fff6d9; color: #765d1d; border: 1px solid #eedb9c; }
.hw-activity-card { padding-top: 52px; }
.hw-access-badge { position: absolute; right: 18px; top: 16px; min-height: 26px; padding: 3px 9px; border-radius: 999px; background: #f2f4f2; color: #6c7971; font-size: 11px !important; font-weight: 800 !important; }
.hw-unlocked .hw-access-badge { background: #eaf5e8; color: #4d7742; }
.hw-locked .hw-access-badge { background: color-mix(in srgb, var(--hw-accent) 7%, white); color: var(--hw-accent); }
.hw-paywall { position: relative; width: min(520px, 100%); padding: 34px; border-radius: 30px; background: #fff; text-align: center; box-shadow: 0 30px 90px rgba(20,44,32,.28); }
.hw-paywall-x { position: absolute; left: 16px; top: 14px; width: 44px; height: 44px; border: 1px solid #e1e6e2; border-radius: 14px; background: #fff; font-size: 24px; cursor: pointer; }
.hw-paywall-mark { width: 74px; height: 74px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 24px; background: color-mix(in srgb, var(--hw-accent) 10%, white); color: var(--hw-accent); font-size: 31px; font-weight: 900; }
.hw-paywall h2 { margin: 7px 0 10px; font-size: 30px; }
.hw-paywall p { margin: 0 auto 20px; color: #65766d; line-height: 1.6; max-width: 430px; }
.hw-pay-balance { margin: 18px 0; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; border-radius: 16px; background: #f6f8f6; border: 1px solid #e1e7e2; }
.hw-pay-balance span { color: #718078; }
.hw-pay-balance strong { font-size: 18px; }
.hw-pay-actions { display: grid; gap: 9px; }
.hw-pay-primary, .hw-pay-secondary { min-height: 54px; border-radius: 16px; padding: 0 18px; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 800; cursor: pointer; }
.hw-pay-primary { border: 0; background: var(--hw-accent); color: #fff; }
.hw-pay-secondary { border: 1px solid #dbe4dd; background: #fff; color: #274b3f; }
.hw-pay-primary:disabled, .hw-pay-secondary:disabled, .hw-paywall-x:disabled { opacity: .55; cursor: default; }
.hw-pay-error { margin: 12px 0; padding: 11px 13px; border-radius: 14px; background: #fff0ed; border: 1px solid #f0c9c0; color: #8b4639; font-weight: 700; }
.hw-sub-link { display: inline-block; margin-top: 16px; color: var(--hw-accent); font-weight: 700; }

@media (max-width: 820px) {
    .hw-access-chip { display: none; }
}

@media (max-width: 520px) {
    .hw-paywall { padding: 28px 18px 22px; border-radius: 24px; }
    .hw-paywall h2 { font-size: 25px; }
    .hw-access-row { margin-top: -12px; }
    .hw-pack-btn { width: 100%; }
}

/* v1.3.0 visual overhaul: full-bleed polished holiday world */
.hw-root {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    overflow-x: clip;
    background: #fffaf2;
    --hw-shadow: 0 18px 42px rgba(32, 55, 45, .11);
}
.hw-shell { background: linear-gradient(180deg,#fffdf8 0,#fff9ee 42%,#fff 100%); }
.hw-topbar {
    position: relative;
    top: auto;
    width: min(1580px, calc(100% - 48px));
    min-height: 70px;
    margin: 0 auto;
    padding: 10px 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
}
.hw-brand {
    border: 0;
    padding: 0;
    background: transparent;
    text-align: right;
    cursor: pointer;
}
.hw-logo {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: linear-gradient(145deg,#f8d45c,#81c85d);
    color: #fff;
    box-shadow: 0 7px 16px rgba(94,137,56,.2), inset 0 1px 0 rgba(255,255,255,.65);
}
.hw-brand strong { font-size: 21px; color: #173b63; }
.hw-brand small { color: #648071; font-weight: 700; }
.hw-icon-btn,.hw-world-btn,.hw-access-chip {
    border-color: rgba(50,78,63,.10);
    box-shadow: 0 5px 16px rgba(40,62,50,.07);
}
.hw-icon-btn:hover,.hw-world-btn:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(40,62,50,.11); }
.hw-main {
    width: min(1600px, calc(100% - 48px));
    max-width: none;
    padding: 0 0 64px;
}
.hw-home-main { width: 100%; padding-bottom: 72px; }
.hw-home-hero {
    position: relative;
    min-height: 455px;
    display: grid;
    grid-template-columns: minmax(520px,1.06fr) minmax(430px,.83fr) minmax(310px,.48fr);
    align-items: center;
    gap: clamp(24px,3vw,54px);
    padding: 28px max(34px, calc((100vw - 1580px)/2)) 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 10%,rgba(255,232,154,.88),transparent 22%),
        radial-gradient(circle at 58% 7%,rgba(172,224,255,.58),transparent 30%),
        linear-gradient(110deg,#eff9ff 0%,#f7fbeb 49%,#fff8df 100%);
    border-top: 1px solid rgba(68,111,81,.08);
    border-bottom: 1px solid rgba(68,111,81,.11);
}
.hw-home-hero::before,
.hw-home-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(2px);
}
.hw-home-hero::before { width: 340px; height: 340px; right: -120px; bottom: -190px; background: rgba(255,181,181,.22); }
.hw-home-hero::after { width: 280px; height: 280px; left: 45%; top: -190px; background: rgba(119,205,124,.16); }
.hw-hero-picture {
    min-height: 390px;
    align-self: stretch;
    border-radius: 36px;
    background-image: linear-gradient(180deg,transparent 70%,rgba(31,65,49,.06)), url("hero-sukkot.jpg");
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 54px rgba(30,66,48,.16);
    border: 7px solid rgba(255,255,255,.86);
    position: relative;
    z-index: 1;
}
.hw-hero-picture::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.hw-hero-copy { position: relative; z-index: 1; }
.hw-hero-copy .hw-eyebrow { color: #358357; font-size: 16px; letter-spacing: .01em; }
.hw-hero-copy h1 {
    margin: 8px 0 4px;
    display: flex;
    flex-direction: column;
    line-height: .9;
    letter-spacing: -3px;
    font-size: clamp(64px,7vw,112px);
}
.hw-hero-copy h1 span,
.hw-hero-copy h1 strong {
    width: fit-content;
    color: #143d2f;
    text-shadow: 0 2px 0 rgba(255,255,255,.8);
}
.hw-hero-copy h1 strong {
    background: linear-gradient(180deg,#7fdf71,#47b967);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-stroke: 1px rgba(18,58,43,.15);
}
.hw-hero-copy h2 { margin: 18px 0 12px; font-size: clamp(22px,2.2vw,33px); color: #173e65; }
.hw-hero-copy p { max-width: 720px; margin: 0; color: #3f5665; font-size: 18px; line-height: 1.7; font-weight: 600; }
.hw-feature-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
}
.hw-feature {
    min-height: 132px;
    padding: 17px 12px;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.8);
    box-shadow: 0 12px 28px rgba(35,58,48,.09), inset 0 1px 0 #fff;
}
.hw-feature span { font-size: 40px; line-height: 1; margin-bottom: 11px; filter: drop-shadow(0 4px 6px rgba(0,0,0,.06)); }
.hw-feature b { color: #17355c; font-size: 16px; line-height: 1.35; }
.hw-feature-blue { background: linear-gradient(145deg,#edf8ff,#dceeff); }
.hw-feature-pink { background: linear-gradient(145deg,#fff1fb,#f7ddee); }
.hw-feature-green { background: linear-gradient(145deg,#f1ffe9,#ddf7d4); }
.hw-feature-gold { background: linear-gradient(145deg,#fff9df,#ffefbd); }
.hw-season-tabs {
    width: min(1580px, calc(100% - 48px));
    margin: 14px auto 0;
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(6,minmax(145px,1fr));
    gap: 10px;
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(65,93,76,.12);
    box-shadow: 0 12px 34px rgba(45,67,55,.10);
}
.hw-season-tabs button {
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid #e2e8e1;
    border-radius: 18px;
    background: #fff;
    color: #27405f;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.hw-season-tabs button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(39,65,50,.08); }
.hw-season-tabs button.on { border-color: #6ea63a; background: linear-gradient(180deg,#78b943,#5c9a28); color: #fff; box-shadow: 0 9px 20px rgba(87,143,43,.22); }
.hw-season-tabs button span { margin-right: 6px; }
.hw-home-section {
    width: min(1580px, calc(100% - 48px));
    margin: 34px auto 0;
}
.hw-home-section .hw-section-head { margin-bottom: 18px; }
.hw-home-section .hw-section-head h2 { font-size: 34px; color: #173d32; }
.hw-home-holiday-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 18px;
}
.hw-rich-card {
    min-height: 300px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-radius: 25px;
    overflow: hidden;
    text-align: right;
    background: linear-gradient(180deg,#fff,var(--paper));
    border: 1px solid color-mix(in srgb,var(--card) 15%,white);
    box-shadow: 0 10px 24px rgba(36,56,46,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}
.hw-rich-card:hover { transform: translateY(-6px); box-shadow: 0 20px 38px rgba(36,56,46,.15); }
.hw-card-visual {
    position: relative;
    display: block;
    height: 158px;
    flex: 0 0 158px;
    background:
        radial-gradient(circle at 20% 25%,color-mix(in srgb,var(--card) 24%,white),transparent 22%),
        linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--card) 18%,white));
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.hw-card-visual::after { content:""; position:absolute; inset:0; box-shadow: inset 0 -22px 25px rgba(0,0,0,.06); }
.hw-card-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 66px;
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.13));
}
.hw-card-rosh_hashana { background-image: url("card-rosh-hashana.jpg"); }
.hw-card-yom_kippur { background-image: url("card-yom-kippur.jpg"); }
.hw-card-sukkot { background-image: url("card-sukkot.jpg"); }
.hw-card-simchat_torah { background-image: url("card-simchat-torah.jpg"); }
.hw-card-hanukkah { background-image: url("card-hanukkah.jpg"); }
.hw-card-tu_bishvat { background-image: url("card-tu-bishvat.jpg"); }
.hw-card-purim { background-image: url("card-purim.jpg"); }
.hw-card-pesach { background-image: url("card-pesach.jpg"); }
.hw-card-lag_baomer { background-image: url("card-lag-baomer.jpg"); }
.hw-card-shavuot { background-image: url("card-shavuot.jpg"); }
.hw-card-holocaust_day { background-image: url("card-holocaust-day.jpg"); }
.hw-card-memorial_day { background-image: url("card-memorial-day.jpg"); }
.hw-card-independence_day { background-image: url("card-independence-day.jpg"); }
.hw-card-jerusalem_day { background-image: url("card-jerusalem-day.jpg"); }
.hw-card-fallback { display:none; }
.hw-card-body { padding: 15px 16px 14px; display: flex; flex-direction: column; flex: 1; }
.hw-card-body strong { display:block; font-size: 23px; line-height:1.2; color: color-mix(in srgb,var(--card) 78%,#183b31); }
.hw-card-body small { display:block; margin-top:7px; min-height: 38px; color:#4f6470; font-size:14px; line-height:1.4; font-weight:600; }
.hw-card-body em { margin-top: 8px; color:#6b7780; font-size:12px; font-style:normal; }
.hw-card-meta {
    margin-top:auto;
    padding: 8px 12px;
    border-radius: 999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    background: color-mix(in srgb,var(--card) 10%,white);
    color: color-mix(in srgb,var(--card) 80%,#173a30);
    font-size: 13px;
    font-weight: 800;
}
.hw-card-meta b { font-size:15px; }
.hw-card-meta i { margin-right:auto; font-style:normal; }

/* Inside holiday/activity pages: make the experience spacious rather than column-narrow */
.hw-holiday-intro,
.hw-activity-shell,
.hw-world-page,
.hw-section:not(.hw-home-section) { width: min(1500px,100%); margin-inline:auto; }
.hw-holiday-intro { grid-template-columns: minmax(520px,1.08fr) minmax(360px,.72fr); gap: clamp(36px,5vw,84px); padding-top: 24px; }
.hw-activity-shell { max-width: 1220px; }
.hw-focus { min-height: 520px; }
.hw-activity-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.hw-activity-card { box-shadow: 0 9px 22px rgba(29,56,42,.07); }
.hw-scene-wrap { box-shadow: 0 20px 50px rgba(28,62,45,.13); }
.hw-support { box-shadow: 0 -8px 25px rgba(28,52,41,.06); }

@media (max-width: 1420px) {
    .hw-home-hero { grid-template-columns: 1fr .86fr; }
    .hw-feature-grid { grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); }
    .hw-feature { min-height: 110px; }
    .hw-home-holiday-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .hw-season-tabs { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 1000px) {
    .hw-root { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
    .hw-topbar,.hw-season-tabs,.hw-home-section { width: min(100% - 24px, 940px); }
    .hw-home-hero { grid-template-columns: 1fr; padding-inline: 20px; }
    .hw-hero-picture { min-height: 360px; order: 1; }
    .hw-hero-copy { order: 2; text-align:center; }
    .hw-hero-copy h1 span,.hw-hero-copy h1 strong { margin-inline:auto; }
    .hw-hero-copy p { margin-inline:auto; }
    .hw-feature-grid { order:3; grid-column:auto; grid-template-columns: repeat(2,1fr); }
    .hw-home-holiday-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .hw-activity-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .hw-topbar { width: calc(100% - 18px); min-height:64px; }
    .hw-access-chip { display:none; }
    .hw-home-hero { min-height:auto; padding: 14px 10px 22px; }
    .hw-hero-picture { min-height: 280px; border-width:4px; border-radius:26px; }
    .hw-hero-copy h1 { font-size:58px; letter-spacing:-2px; }
    .hw-hero-copy h2 { font-size:21px; }
    .hw-hero-copy p { font-size:16px; }
    .hw-feature-grid { gap:9px; }
    .hw-feature { min-height:105px; border-radius:19px; }
    .hw-feature span { font-size:31px; margin-bottom:7px; }
    .hw-feature b { font-size:14px; }
    .hw-season-tabs { width: calc(100% - 16px); grid-template-columns: repeat(2,1fr); gap:7px; padding:8px; border-radius:20px; }
    .hw-season-tabs button { min-height:44px; padding:0 8px; font-size:13px; }
    .hw-home-section { width: calc(100% - 18px); margin-top:22px; }
    .hw-home-holiday-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap:11px; }
    .hw-rich-card { min-height: 255px; border-radius:20px; }
    .hw-card-visual { height:120px; flex-basis:120px; }
    .hw-card-body { padding:12px; }
    .hw-card-body strong { font-size:19px; }
    .hw-card-body small { font-size:12px; min-height:34px; }
    .hw-card-body em { display:none; }
    .hw-activity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 430px) {
    .hw-home-holiday-grid { grid-template-columns: 1fr; }
    .hw-card-visual { height: 155px; flex-basis:155px; }
    .hw-feature-grid { grid-template-columns: 1fr 1fr; }
    .hw-season-tabs { grid-template-columns:1fr 1fr; }
}

/* v1.5.0: asset-driven premium holiday pages */
.hw-holiday-page { padding-top: 16px; }
.hw-breadcrumbs { display: flex; align-items: center; gap: 8px; color: #5c7468; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.hw-back-inline { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font-weight: 800; }
.hw-holiday-hero-shell {
    width: min(1560px, calc(100% - 40px));
    margin: 0 auto 26px;
    display: grid;
    grid-template-columns: minmax(440px, .92fr) minmax(520px, 1.08fr);
    gap: clamp(26px, 4vw, 62px);
    align-items: center;
}
.hw-holiday-copy-col { display: grid; gap: 16px; }
.hw-holiday-copy-col h1 { margin: 0; font-size: clamp(58px, 6vw, 86px); line-height: .94; color: #143d32; letter-spacing: -2px; }
.hw-holiday-lead { margin: 0; font-size: 19px; line-height: 1.75; color: #4e6572; font-weight: 600; }
.hw-holiday-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.hw-holiday-cta {
    min-height: 50px; padding: 0 20px; border: 0; border-radius: 17px;
    background: linear-gradient(180deg, color-mix(in srgb,var(--hw-accent) 75%, white), var(--hw-accent));
    color: #fff; font-weight: 850; cursor: pointer; box-shadow: 0 12px 26px color-mix(in srgb,var(--hw-accent) 18%, transparent);
}
.hw-holiday-cta-soft {
    display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
    background: #fff; color: #27425f; border: 1px solid rgba(39,61,78,.12); box-shadow: 0 7px 18px rgba(35,57,47,.06);
}
.hw-holiday-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.hw-holiday-pills span {
    min-height: 38px; padding: 0 13px; border-radius: 999px; display: inline-flex; align-items: center;
    background: rgba(255,255,255,.86); border: 1px solid rgba(45,73,59,.10); color: #4e645c; font-size: 13px; font-weight: 800;
}
.hw-holiday-progress-card {
    padding: 18px 18px 16px; border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.96), color-mix(in srgb,var(--hw-paper) 70%, white));
    border: 1px solid rgba(42,68,54,.10); box-shadow: 0 12px 28px rgba(28,60,44,.07);
}
.hw-progress-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; gap: 10px; }
.hw-progress-head strong { color: #183d33; }
.hw-progress-head span { color: var(--hw-accent); font-size: 22px; font-weight: 900; }
.hw-holiday-art-col { display: grid; gap: 14px; }
.hw-scene-hero-wrap {
    position: relative; padding: 18px; border-radius: 36px;
    background: linear-gradient(160deg, rgba(255,255,255,.94), color-mix(in srgb,var(--hw-paper) 80%, white));
    border: 1px solid rgba(42,68,54,.10);
}
.hw-scene-hero-wrap .hw-scene { min-height: 430px; border-radius: 28px; }
.hw-scene-glow {
    position: absolute; inset: auto 8% 16px; height: 38px; border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb,var(--hw-accent2) 32%, transparent), transparent 68%); filter: blur(12px); pointer-events: none;
}
.hw-scene-caption-rich {
    padding: 16px 18px; border-radius: 24px; background: #fff; border: 1px solid rgba(43,68,55,.10);
    box-shadow: 0 10px 24px rgba(28,56,42,.08);
}
.hw-holiday-feature-strip {
    width: min(1560px, calc(100% - 40px)); margin: 0 auto 22px;
    display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px;
}
.hw-holiday-feature-card {
    min-height: 116px; padding: 18px 16px; border-radius: 24px; display: grid; align-content: center; gap: 8px;
    border: 1px solid rgba(255,255,255,.8); box-shadow: 0 12px 26px rgba(29,58,44,.08);
}
.hw-holiday-feature-card strong { font-size: 22px; color: #173d31; }
.hw-holiday-feature-card small { color: #516876; line-height: 1.5; font-size: 14px; font-weight: 700; }
.hw-holiday-feature-card.hw-f1 { background: linear-gradient(145deg,#f7fbe8,#ecf6d7); }
.hw-holiday-feature-card.hw-f2 { background: linear-gradient(145deg,#edf7ff,#deeeff); }
.hw-holiday-feature-card.hw-f3 { background: linear-gradient(145deg,#fff6e7,#ffefc5); }
.hw-holiday-feature-card.hw-f4 { background: linear-gradient(145deg,#f7efff,#eee3ff); }
.hw-holiday-summary-grid {
    width: min(1560px, calc(100% - 40px)); margin-inline: auto;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px;
}
.hw-summary-card {
    min-height: 220px; padding: 22px 24px; border-radius: 30px; background: #fff;
    border: 1px solid rgba(42,68,54,.10); box-shadow: 0 14px 30px rgba(30,58,44,.08);
}
.hw-summary-kicker { display: inline-block; padding: 6px 10px; border-radius: 999px; background: color-mix(in srgb,var(--hw-accent) 9%, white); color: var(--hw-accent); font-size: 12px; font-weight: 900; }
.hw-summary-card h3 { margin: 13px 0 10px; font-size: 32px; color: #173d32; }
.hw-summary-card p { margin: 0; color: #546a78; font-size: 17px; line-height: 1.75; }
.hw-summary-tags { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.hw-summary-tags span {
    min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 999px;
    background: color-mix(in srgb,var(--hw-accent2) 10%, white); color: #44615a; font-size: 13px; font-weight: 800;
}
.hw-summary-side { display: grid; align-content: start; gap: 14px; }
.hw-summary-side .hw-primary { width: fit-content; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.hw-activity-grid-rich { gap: 18px; }
.hw-activity-card-rich {
    position: relative; min-height: 232px; padding: 18px 18px 16px !important; text-align: right; align-items: stretch;
    border-radius: 28px; overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.98), color-mix(in srgb,var(--hw-paper) 92%, white));
    border: 1px solid rgba(42,68,54,.08); box-shadow: 0 12px 28px rgba(28,56,42,.07);
}
.hw-activity-card-rich::before {
    content: ""; position: absolute; inset: 0 0 auto; height: 7px;
    background: linear-gradient(90deg, var(--hw-accent2), var(--hw-accent)); opacity: .8;
}
.hw-activity-card-rich strong { margin-top: 12px; font-size: 24px; line-height: 1.2; color: #173d32; }
.hw-activity-card-rich small { margin-top: 8px; color: #556b78; line-height: 1.55; min-height: 44px; font-size: 14px; }
.hw-activity-card-rich .hw-activity-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #647770; font-size: 13px; font-weight: 800; }
.hw-activity-card-rich .hw-activity-foot span { padding: 6px 10px; border-radius: 999px; background: rgba(243,246,242,.95); color: #4a6758; }
.hw-activity-card-rich .hw-activity-foot em { font-style: normal; color: var(--hw-accent); }
.hw-activity-badge {
    position: absolute; left: 16px; top: 16px; min-height: 34px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center;
    background: rgba(255,255,255,.94); border: 1px solid rgba(42,68,54,.10); color: #416256; font-size: 12px; font-weight: 900;
}
.hw-activity-thumb {
    width: 92px; height: 92px; border-radius: 26px; display: grid; place-items: center; gap: 2px;
    background: linear-gradient(155deg, color-mix(in srgb,var(--hw-accent2) 32%, white), color-mix(in srgb,var(--hw-accent) 9%, white));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.hw-activity-thumb i { font-style: normal; font-size: 34px; line-height: 1; }
.hw-activity-thumb b { font-size: 13px; color: #385264; }
.hw-complete-card { border-color: #cfe3c7; box-shadow: 0 14px 30px rgba(74,124,66,.12); }
.hw-complete-card .hw-activity-badge { background: #eef8e9; color: #49783d; border-color: #d4e6cb; }
.hw-locked.hw-activity-card-rich { opacity: 1; }
.hw-locked.hw-activity-card-rich .hw-activity-foot em { color: #856d28; }
.hw-locked.hw-activity-card-rich .hw-activity-badge { background: #fff6dd; color: #816525; border-color: #edd99d; }

@media (max-width: 1180px) {
    .hw-holiday-hero-shell, .hw-holiday-summary-grid { grid-template-columns: 1fr; }
    .hw-holiday-feature-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .hw-holiday-hero-shell, .hw-holiday-feature-strip, .hw-holiday-summary-grid { width: calc(100% - 18px); }
    .hw-holiday-copy-col h1 { font-size: 48px; }
    .hw-holiday-lead { font-size: 17px; }
    .hw-scene-hero-wrap .hw-scene { min-height: 310px; }
    .hw-holiday-feature-strip { grid-template-columns: 1fr; gap: 12px; }
    .hw-summary-card { min-height: 0; padding: 18px; border-radius: 22px; }
    .hw-summary-card h3 { font-size: 26px; }
    .hw-activity-card-rich { min-height: 210px; padding: 16px !important; border-radius: 22px; }
    .hw-activity-card-rich strong { font-size: 21px; }
}

/* v1.5.0 asset-driven holiday worlds */
.hw-holiday-hero-shell {
    position: relative;
    overflow: hidden;
    padding: clamp(18px, 2.4vw, 34px);
    border-radius: 36px;
    background:
        radial-gradient(circle at 85% 8%, color-mix(in srgb, var(--hw-accent2) 24%, transparent), transparent 28%),
        radial-gradient(circle at 8% 86%, color-mix(in srgb, var(--hw-accent) 10%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--hw-paper) 82%, white), #fff 56%, color-mix(in srgb, var(--hw-accent2) 7%, white));
    border: 1px solid rgba(47,76,61,.10);
    box-shadow: 0 24px 64px rgba(32,57,45,.12);
}
.hw-holiday-hero-art {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border-radius: 30px;
    background: linear-gradient(145deg, var(--hw-paper), color-mix(in srgb,var(--hw-accent) 10%,white));
    box-shadow: 0 22px 52px rgba(28,57,43,.17), inset 0 0 0 1px rgba(255,255,255,.45);
}
.hw-holiday-hero-art img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.005);
}
.hw-holiday-hero-art::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(8,30,22,.08));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
    border-radius: inherit;
}
.hw-holiday-copy-col {
    padding: clamp(8px, 1vw, 16px);
    align-self: stretch;
    align-content: center;
}
.hw-holiday-copy-col .hw-eyebrow {
    color: color-mix(in srgb, var(--hw-accent) 82%, #204b3b);
    font-size: 15px;
}
.hw-holiday-copy-col h1 {
    text-shadow: 0 2px 0 rgba(255,255,255,.75);
}
.hw-holiday-lead { max-width: 680px; }
.hw-holiday-feature-card {
    grid-template-columns: 104px 1fr;
    align-items: center;
    gap: 16px;
    overflow: hidden;
    padding: 12px 15px 12px 12px;
}
.hw-holiday-feature-card img {
    width: 104px;
    height: 88px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
    box-shadow: 0 8px 18px rgba(35,57,46,.11);
}
.hw-holiday-feature-card > div { min-width: 0; }
.hw-activity-thumb {
    position: relative;
    width: 100%;
    height: 128px;
    border-radius: 22px;
    overflow: hidden;
    display: block;
    margin: 22px 0 4px;
    background: color-mix(in srgb,var(--hw-paper) 80%,white);
}
.hw-activity-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .22s ease;
}
.hw-activity-card-rich:hover .hw-activity-thumb img { transform: scale(1.035); }
.hw-activity-card-rich {
    min-height: 330px;
    padding-top: 12px !important;
}
.hw-activity-card-rich strong { margin-top: 10px; }
.hw-activity-card-rich .hw-activity-badge { z-index: 2; }
.hw-world-stage-art {
    min-height: 560px;
    padding: 0 0 92px;
    overflow: hidden;
    background: #fff;
}
.hw-world-stage-art > img {
    position: absolute;
    inset: 0 0 84px;
    width: 100%;
    height: calc(100% - 84px);
    object-fit: cover;
    display: block;
}
.hw-world-shade {
    position: absolute;
    inset: 0 0 84px;
    background: linear-gradient(180deg, transparent 58%, rgba(20,43,32,.18));
    pointer-events: none;
}
.hw-world-stage-art .hw-reward-tray {
    z-index: 2;
    bottom: 17px;
}
.hw-world-stage-art .hw-reward {
    backdrop-filter: blur(10px);
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.85);
    box-shadow: 0 7px 16px rgba(30,55,42,.08);
}
.hw-world-stage-art .hw-reward.on {
    background: color-mix(in srgb, var(--hw-accent) 12%, rgba(255,255,255,.92));
    color: var(--hw-accent);
}
.hw-quiet-note {
    width: min(1560px, calc(100% - 40px));
    margin-inline: auto;
}

@media (max-width:1180px) {
    .hw-holiday-hero-art { min-height: 430px; }
}
@media (max-width:760px) {
    .hw-holiday-hero-shell { border-radius: 24px; padding: 11px; }
    .hw-holiday-art-col { order: -1; }
    .hw-holiday-hero-art { min-height: 300px; border-radius: 20px; }
    .hw-holiday-copy-col { padding: 8px 4px 12px; }
    .hw-holiday-feature-card { grid-template-columns: 90px 1fr; }
    .hw-holiday-feature-card img { width: 90px; height: 76px; }
    .hw-activity-thumb { height: 112px; }
    .hw-activity-card-rich { min-height: 300px; }
    .hw-world-stage-art { min-height: 440px; }
}

/* v1.6.0 — special education activity engine */
.hw-activity-page {
    min-height: 760px;
    padding-bottom: 96px;
    background: linear-gradient(180deg, color-mix(in srgb,var(--hw-paper) 72%,white), #fff 52%);
}
.hw-activity-shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.hw-activity-head { padding-top: 24px; }
.hw-activity-title h1 { font-size: clamp(30px,3.6vw,44px); }
.hw-round { min-width: 94px; text-align: center; font-weight: 850; }
.hw-instruction {
    max-width: 820px;
    margin: 18px auto 14px;
    min-height: 70px;
    padding: 11px 16px;
    border-radius: 22px;
}
.hw-instruction p { font-size: 20px; }
.hw-focus {
    min-height: 510px;
    padding: clamp(22px,4vw,44px);
    border-radius: 34px;
    overflow: visible;
}
.hw-focus-intro { padding: 24px; }

.hw-learning-intro {
    width: min(1000px,100%);
    display: grid;
    grid-template-columns: minmax(360px,1.05fr) minmax(300px,.95fr);
    gap: 24px;
    align-items: stretch;
}
.hw-intro-picture {
    min-height: 380px;
    border-radius: 30px;
    overflow: hidden;
    background: color-mix(in srgb,var(--hw-accent) 7%,white);
    box-shadow: 0 14px 34px rgba(35,59,47,.10);
}
.hw-intro-picture img { width: 100%; height: 100%; min-height: 380px; display: block; object-fit: cover; }
.hw-intro-card {
    min-height: 380px;
    padding: 28px;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(155deg,#fff,color-mix(in srgb,var(--hw-paper) 82%,white));
    border: 1px solid color-mix(in srgb,var(--hw-accent) 12%,white);
}
.hw-intro-label {
    padding: 7px 12px;
    border-radius: 999px;
    background: color-mix(in srgb,var(--hw-accent) 9%,white);
    color: var(--hw-accent);
    font-weight: 900;
    font-size: 13px;
}
.hw-intro-object,
.hw-concept-object {
    position: relative;
    width: 150px;
    height: 150px;
    margin: 18px 0 12px;
    border: 0;
    border-radius: 38px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb,var(--hw-accent) 8%,white);
    box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--hw-accent) 12%,white), 0 14px 30px rgba(30,55,43,.08);
    font-size: 80px;
    cursor: pointer;
}
.hw-concept-object { margin-bottom: 20px; }
.hw-concept-object > span { position: absolute; left: 9px; bottom: 9px; width: 34px; height: 34px; display:grid; place-items:center; border-radius:50%; background:#fff; font-size:16px; box-shadow:0 4px 10px rgba(0,0,0,.1); }
.hw-intro-card h2 { margin: 4px 0 7px; font-size: clamp(28px,3.5vw,40px); color: #173e34; }
.hw-intro-word { font-size: 26px; font-weight: 850; color: #456157; }
.hw-intro-actions { margin-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.hw-intro-actions button { min-height: 56px; min-width: 142px; font-size: 17px; }

.hw-prompt { margin: 12px 0 22px; font-size: clamp(27px,3.6vw,40px); line-height: 1.2; text-align:center; }
.hw-answer-grid { width: min(760px,100%); gap: 16px; }
.hw-answer-wrap { min-width: 0; position: relative; display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: stretch; }
.hw-answer-wrap.muted { opacity: .28; }
.hw-answer-removed { min-height: 92px; border: 2px dashed #e6ebe7; border-radius: 22px; background: #fafcfa; }
.hw-answer {
    min-height: 94px;
    padding: 14px 16px;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 27px;
}
.hw-answer-icon { font-size: 44px; line-height: 1; }
.hw-answer-text { line-height: 1.2; }
.hw-answer-audio,
.hw-word-audio {
    width: 52px;
    min-width: 52px;
    min-height: 52px;
    align-self: center;
    border-radius: 16px;
    border: 1px solid var(--hw-line);
    background: #fff;
    cursor: pointer;
    font-size: 18px;
}
.hw-answer.guide,
.hw-word-chip.guide {
    border: 4px solid var(--hw-accent);
    background: color-mix(in srgb,var(--hw-accent) 8%,white);
    box-shadow: 0 0 0 8px color-mix(in srgb,var(--hw-accent) 10%,transparent);
}
.hw-answer-quantity { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; }

.hw-count-box { min-height: 170px; gap: 12px; }
.hw-count-interactive .hw-count-touch {
    position: relative;
    width: 66px;
    height: 66px;
    border-radius: 19px;
    font-size: 34px;
    cursor: pointer;
    transition: transform .15s ease, background .15s ease;
}
.hw-count-touch.counted { background: color-mix(in srgb,var(--hw-accent) 12%,white); transform: scale(.94); }
.hw-count-touch b { position:absolute; right:-5px; top:-7px; width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:var(--hw-accent); color:#fff; font-size:13px; }
.hw-count-tip { margin: -4px 0 12px; color: #697c72; font-size: 14px; font-weight: 750; }
.hw-groups { width:min(790px,100%); }
.hw-group { min-height: 155px; }
.hw-math-sign { font-size: 46px; }

.hw-feedback {
    margin-top: 18px;
    min-height: 50px;
    padding: 11px 17px;
    border-radius: 17px;
    display: flex;
    align-items:center;
    justify-content:center;
    background: #fff8e8;
    border: 1px solid #eadcae;
    color: #6f602d;
    font-size: 18px;
    font-weight: 850;
}
.hw-success-special {
    position: static;
    width: min(720px,100%);
    margin-top: 24px;
    grid-template-columns: auto 1fr;
    background: #f4faf2;
}
.hw-success-special b { font-size: 21px; }
.hw-success-special small { font-size: 14px; line-height:1.5; }

.hw-support-special {
    position: sticky;
    bottom: 0;
    min-height: 82px;
    display: flex;
    grid-template-columns: none;
    justify-content: center;
    gap: 12px;
    padding: 12px max(16px, env(safe-area-inset-bottom));
}
.hw-support-special button {
    min-width: 170px;
    min-height: 58px;
    padding: 0 22px;
    border-radius: 18px;
    font-size: 17px;
    font-weight: 850;
}
.hw-support-special .hw-help { background: color-mix(in srgb,var(--hw-accent) 9%,white); color: #163f33; }

.hw-story-special { width:min(860px,100%); }
.hw-story-picture { width:100%; height:260px; border-radius:26px; overflow:hidden; margin:12px auto 18px; background:#f2f5f2; }
.hw-story-picture img { width:100%; height:100%; object-fit:cover; display:block; }
.hw-story-special p { max-width:720px; margin:18px auto; font-size:clamp(25px,3vw,34px); line-height:1.55; }
.hw-story-speak { min-height:54px; padding:0 18px; font-size:17px; }
.hw-story-nav button { min-height:54px; min-width:130px; }

.hw-sentence-special { width:min(820px,100%); }
.hw-sentence-model { min-height:44px; margin-bottom:14px; padding:9px 14px; border-radius:14px; color:#75837c; font-size:15px; font-weight:750; }
.hw-sentence-model.visible { background: color-mix(in srgb,var(--hw-accent) 6%,white); color:#3f5e52; }
.hw-sentence-built { min-height:108px; font-size:31px; }
.hw-sentence-built span { color:#819087; font-size:18px; }
.hw-word-chips { gap:14px; }
.hw-word-choice { display:flex; align-items:center; gap:6px; }
.hw-word-chip { min-height:68px; min-width:120px; font-size:24px; }

.hw-quiet-mode .hw-success-special { background:#f5f6f4; border-color:#d9ddd9; }
.hw-quiet-mode .hw-answer:hover { transform:none; }

@media (max-width: 900px) {
    .hw-learning-intro { grid-template-columns: 1fr; }
    .hw-intro-picture { min-height: 280px; }
    .hw-intro-picture img { min-height: 280px; }
    .hw-intro-card { min-height: 320px; }
    .hw-answer-grid, .hw-answer-grid.two, .hw-answer-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .hw-activity-shell { width: calc(100% - 18px); }
    .hw-focus { min-height: 430px; padding: 16px 10px; border-radius: 24px; }
    .hw-focus-intro { padding: 10px; }
    .hw-intro-picture { min-height: 220px; border-radius:22px; }
    .hw-intro-picture img { min-height:220px; }
    .hw-intro-card { min-height: 300px; padding:20px 12px; border-radius:22px; }
    .hw-intro-object,.hw-concept-object { width:126px; height:126px; font-size:66px; }
    .hw-answer-grid, .hw-answer-grid.two, .hw-answer-grid.four { grid-template-columns: 1fr; }
    .hw-answer { min-height:82px; font-size:24px; }
    .hw-answer-wrap { grid-template-columns: 1fr 52px; }
    .hw-support-special { display:grid; grid-template-columns:1fr 1fr; }
    .hw-support-special button { min-width:0; width:100%; }
    .hw-story-picture { height:210px; }
}
.hw-concept-highlight {
    box-shadow: 0 0 0 8px color-mix(in srgb,var(--hw-accent2) 18%,transparent), 0 16px 34px rgba(30,55,43,.10) !important;
    background: color-mix(in srgb,var(--hw-accent2) 13%,white) !important;
}
.hw-topbar-activity { justify-content: space-between; min-height: 72px; }
.hw-topbar-activity .hw-brand small { color:#718279; }
.hw-activity-exit { min-height:48px; padding:0 16px; border:1px solid var(--hw-line); border-radius:15px; background:#fff; font-weight:800; cursor:pointer; }

/* v1.7.0 — child-first immersive activity mode for special education */

.hw-child-mode {
    position: fixed;
    inset: 0;
    z-index: 2147482500;
    direction: rtl;
    display: grid;
    grid-template-rows: 72px 1fr;
    background:
        radial-gradient(circle at 15% 15%, color-mix(in srgb,var(--hw-accent2) 8%,transparent), transparent 24%),
        linear-gradient(180deg, color-mix(in srgb,var(--hw-paper) 54%,white), #fff 48%, #fbfcfb);
    color: #173e34;
    isolation: isolate;
}
.hw-child-top {
    min-height: 72px;
    padding: 10px clamp(14px,3vw,34px);
    display: grid;
    grid-template-columns: 56px 1fr 56px;
    align-items: center;
    border-bottom: 1px solid rgba(44,70,56,.08);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
}
.hw-child-exit {
    grid-column: 1;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(45,70,58,.10);
    border-radius: 17px;
    background: #fff;
    color: #5f736a;
    font-size: 29px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(31,58,44,.06);
}
.hw-child-progress {
    grid-column: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
}
.hw-child-progress span {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #e0e7e2;
    box-shadow: inset 0 0 0 1px rgba(45,70,58,.05);
}
.hw-child-progress span.on { background: var(--hw-accent); }
.hw-child-context {
    grid-column: 3;
    justify-self: end;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
.hw-child-stage {
    min-height: 0;
    overflow: auto;
    padding: clamp(16px,3vh,30px) clamp(14px,3vw,34px) 30px;
    display: grid;
    place-items: center;
}

/* Intro: one visual focus, one sentence, two actions. */
.hw-child-intro {
    width: min(860px,100%);
    margin: auto;
    display: grid;
    justify-items: center;
    gap: 18px;
}
.hw-child-visual {
    position: relative;
    width: min(700px,100%);
    aspect-ratio: 16 / 8.5;
    padding: 0;
    border: 0;
    border-radius: 34px;
    overflow: hidden;
    background: #eef3f0;
    cursor: pointer;
    box-shadow: 0 22px 60px rgba(28,55,42,.12);
}
.hw-child-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
    border-radius: inherit;
    pointer-events: none;
}
.hw-child-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
.hw-child-listen-cue {
    position: absolute;
    left: 16px;
    bottom: 16px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #244c3e;
    font-size: 21px;
    box-shadow: 0 8px 22px rgba(20,46,34,.18);
}
.hw-child-intro-copy { text-align: center; }
.hw-child-intro-copy h2 {
    margin: 0;
    font-size: clamp(34px,4.4vw,54px);
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #153f33;
}
.hw-child-word {
    margin-top: 8px;
    font-size: clamp(25px,3vw,34px);
    font-weight: 850;
    color: #52695f;
}
.hw-child-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.hw-child-actions button {
    min-width: 176px;
    min-height: 62px;
    padding: 0 24px;
    border-radius: 20px;
    font-size: 19px;
    font-weight: 850;
    cursor: pointer;
}
.hw-child-primary {
    border: 0;
    background: var(--hw-accent);
    color: #fff;
    box-shadow: 0 12px 25px color-mix(in srgb,var(--hw-accent) 20%,transparent);
}
.hw-child-secondary {
    border: 1px solid rgba(45,70,58,.13);
    background: #fff;
    color: #214a3c;
    box-shadow: 0 7px 20px rgba(31,58,44,.05);
}

/* Question: instruction remains visible, then only concept + answers. */
.hw-child-question {
    width: min(900px,100%);
    min-height: min(680px, calc(100vh - 120px));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.hw-child-instruction {
    min-height: 70px;
    max-width: 720px;
    width: 100%;
    padding: 10px 15px 10px 12px;
    border-radius: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #fff;
    border: 1px solid rgba(45,70,58,.10);
    box-shadow: 0 8px 24px rgba(31,58,44,.05);
}
.hw-child-instruction button {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    border: 0;
    background: color-mix(in srgb,var(--hw-accent) 10%,white);
    color: var(--hw-accent);
    font-size: 19px;
    cursor: pointer;
}
.hw-child-instruction p {
    margin: 0;
    font-size: clamp(23px,3vw,31px);
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
}
.hw-child-question .hw-concept-object {
    width: 180px;
    height: 180px;
    border-radius: 42px;
    margin: 0;
    font-size: 92px;
}
.hw-child-question .hw-count-box,
.hw-child-question .hw-groups { margin: 0; }
.hw-child-question .hw-prompt {
    margin: 0;
    font-size: clamp(25px,3vw,34px);
}
.hw-child-question .hw-answer-grid {
    width: min(720px,100%);
    gap: 18px;
}
.hw-child-question .hw-answer-grid.two {
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.hw-child-question .hw-answer-wrap {
    grid-template-columns: 1fr 48px;
    gap: 8px;
}
.hw-child-question .hw-answer {
    min-height: 108px;
    border-radius: 26px;
    font-size: clamp(25px,3vw,31px);
    border: 2px solid #dfe7e2;
    box-shadow: 0 10px 24px rgba(31,58,44,.05);
}
.hw-child-question .hw-answer-audio {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    border-radius: 15px;
    font-size: 16px;
}
.hw-child-question-actions { margin-top: 2px; }
.hw-child-question-actions button { min-width: 158px; min-height: 58px; }
.hw-child-question-actions span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    margin-inline-start: 5px;
    border-radius: 999px;
    background: color-mix(in srgb,var(--hw-accent) 10%,white);
    color: var(--hw-accent);
    font-size: 12px;
}

.hw-child-feedback {
    margin-top: 8px;
    min-height: 54px;
    padding: 12px 18px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    background: #fff8e8;
    border: 1px solid #eadcae;
    color: #6f602d;
    font-size: 19px;
    font-weight: 900;
}
.hw-child-success {
    width: min(720px,100%);
    margin: 4px auto 0;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 14px;
    border-radius: 24px;
    background: #f3faf1;
    border: 1px solid #cfe3c8;
    box-shadow: 0 12px 28px rgba(48,91,45,.08);
}
.hw-child-success.quiet { background:#f5f6f4; border-color:#d9ddd9; }
.hw-child-success-mark {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #e5f3df;
    color: #4b7b40;
    font-size: 29px;
    font-weight: 900;
}
.hw-child-success-copy b,
.hw-child-success-copy small { display:block; }
.hw-child-success-copy b { font-size: 22px; }
.hw-child-success-copy small { margin-top:3px; color:#667a70; font-size:14px; }
.hw-child-success-actions {
    grid-column: 1 / -1;
    margin-top: 4px;
}

/* Existing story/sentence renderers inherit the child stage and lose page-like chrome. */
.hw-child-mode .hw-story-special,
.hw-child-mode .hw-sentence-special { margin-inline:auto; }
.hw-child-mode .hw-story-picture { height: min(360px, 40vh); }
.hw-child-mode .hw-story-special p { font-size: clamp(25px,3vw,35px); }
.hw-child-mode .hw-story-nav { gap:12px; }
.hw-child-mode .hw-story-nav button,
.hw-child-mode .hw-story-speak { min-height:58px; border-radius:18px; }
.hw-child-mode .hw-sentence-built { border-radius:24px; box-shadow:none; }
.hw-child-mode .hw-word-chip { border-radius:20px; }

/* Eliminate legacy duplicated activity chrome when v1.7 is active. */
.hw-child-mode ~ .hw-support,
.hw-child-mode .hw-support,
.hw-child-mode .hw-activity-head,
.hw-child-mode .hw-instruction { display:none !important; }

@media (max-width: 760px) {
    .hw-child-mode { grid-template-rows: 62px 1fr; }
    .hw-child-top { min-height:62px; grid-template-columns:48px 1fr 48px; padding:7px 10px; }
    .hw-child-exit { width:46px; height:46px; border-radius:15px; font-size:26px; }
    .hw-child-progress span { width:12px; height:12px; gap:7px; }
    .hw-child-stage { padding:12px 10px 20px; }
    .hw-child-intro { gap:14px; }
    .hw-child-visual { border-radius:24px; aspect-ratio: 4 / 3; }
    .hw-child-intro-copy h2 { font-size:34px; }
    .hw-child-word { font-size:25px; }
    .hw-child-actions { width:100%; gap:9px; }
    .hw-child-actions button { flex:1 1 0; min-width:0; min-height:58px; padding:0 12px; font-size:17px; }
    .hw-child-question { min-height:calc(100vh - 92px); gap:14px; justify-content:flex-start; padding-top:6px; }
    .hw-child-instruction { min-height:62px; border-radius:19px; }
    .hw-child-instruction p { font-size:22px; }
    .hw-child-question .hw-concept-object { width:140px; height:140px; font-size:72px; }
    .hw-child-question .hw-answer-grid,
    .hw-child-question .hw-answer-grid.two,
    .hw-child-question .hw-answer-grid.four { grid-template-columns:1fr; }
    .hw-child-question .hw-answer { min-height:82px; border-radius:20px; font-size:24px; }
    .hw-child-question .hw-answer-wrap { grid-template-columns:1fr 48px; }
    .hw-child-success { grid-template-columns:50px 1fr; padding:15px; border-radius:21px; }
    .hw-child-success-mark { width:48px; height:48px; border-radius:15px; }
}

/* v1.8.0 — approved premium child activity language */

.hw-child-mode {
    z-index:2147483647 !important;
    grid-template-rows:74px 1fr;
    background:
        radial-gradient(circle at 6% 72%, rgba(255,211,111,.25), transparent 18%),
        radial-gradient(circle at 93% 56%, rgba(85,145,238,.16), transparent 20%),
        linear-gradient(135deg,#fef9ed 0%,#f5faff 45%,#edf6ff 100%);
    font-family:"Heebo",Arial,sans-serif;
}
.hw-child-top {
    background:rgba(255,255,255,.74);
    border-bottom:0;
    backdrop-filter:blur(18px);
    padding-inline:26px;
}
.hw-child-exit {
    width:56px;height:56px;border-radius:50%;
    border:1px solid rgba(27,70,123,.08);
    color:#173d68;background:rgba(255,255,255,.94);
    box-shadow:0 10px 28px rgba(28,69,111,.10);
    font-size:31px;font-weight:700;
}
.hw-child-progress { gap:10px; }
.hw-child-progress span {
    width:16px;height:16px;background:#d6e5e9;
    border:1px solid rgba(52,95,121,.10);
    box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.hw-child-progress span.on { background:#216ab7; border-color:#216ab7; }
.hw-child-stage { padding:24px 20px 34px; overflow:auto; }

.hw-premium-intro,
.hw-premium-question { width:min(1040px,100%); }
.hw-premium-intro { gap:16px; }
.hw-premium-focus-card {
    position:relative;
    width:min(650px,76vw);
    height:min(360px,40vh);
    padding:0;
    border:1px solid rgba(255,255,255,.8);
    border-radius:38px;
    overflow:hidden;
    background:#fff8e9;
    box-shadow:0 22px 60px rgba(36,84,131,.13), inset 0 0 0 1px rgba(255,255,255,.75);
    cursor:pointer;
}
.hw-premium-focus-card img { width:100%;height:100%;display:block;object-fit:cover;object-position:center; }
.hw-premium-focus-shade {
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(15,45,78,.03));
    pointer-events:none;
}
.hw-premium-focus-question { height:min(330px,35vh); width:min(610px,72vw); }
.hw-child-intro-copy h2 {
    color:#0f3567;
    font-size:clamp(34px,4vw,50px);
    font-weight:900;
    letter-spacing:-.03em;
}
.hw-child-word {
    margin-top:4px;
    color:#183d68;
    font-size:clamp(28px,3vw,38px);
    font-weight:900;
}
.hw-child-actions { gap:14px; }
.hw-child-actions button {
    min-width:190px; min-height:64px;
    border-radius:22px;
    font-size:20px; font-weight:900;
}
.hw-child-primary {
    background:linear-gradient(180deg,#2f74c8,#2263ad);
    box-shadow:0 13px 28px rgba(39,105,182,.22);
}
.hw-child-secondary {
    color:#173e68;
    border:1.5px solid #c7dcf4;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 24px rgba(40,83,124,.07);
}
.hw-btn-icon,.hw-help-mark { font-size:22px; }

.hw-premium-question {
    min-height:auto;
    justify-content:flex-start;
    gap:16px;
    padding-top:4px;
}
.hw-premium-instruction {
    width:min(820px,86vw);
    min-height:92px;
    padding:12px 26px;
    border:0;
    border-radius:30px;
    background:rgba(255,255,255,.97);
    box-shadow:0 13px 32px rgba(41,86,132,.10);
    display:grid;
    grid-template-columns:1fr 64px;
    align-items:center;
    cursor:pointer;
}
.hw-premium-instruction p {
    margin:0;
    font-size:clamp(28px,3vw,42px) !important;
    font-weight:900;
    color:#103b73;
    text-align:center;
}
.hw-instruction-audio {
    width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
    background:#ddecff;color:#155ca7;font-size:24px;
}
.hw-child-question .hw-prompt {
    color:#123b70;
    font-size:clamp(28px,3vw,40px);
    font-weight:900;
    letter-spacing:-.02em;
}

.hw-child-question .hw-answer-grid {
    width:min(820px,88vw);
    gap:18px;
}
.hw-child-question .hw-answer-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hw-child-question .hw-answer-wrap { display:block; }
.hw-premium-answer {
    position:relative;
    width:100%;
    min-height:150px !important;
    padding:18px 24px 20px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:18px;
    border:2px solid #bbd8f8 !important;
    border-radius:30px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 14px 30px rgba(39,84,125,.09) !important;
    color:#103b70;
    cursor:pointer;
}
.hw-premium-answer:hover { transform:translateY(-2px); border-color:#75afea !important; box-shadow:0 18px 38px rgba(39,84,125,.13) !important; }
.hw-premium-answer:active { transform:translateY(1px) scale(.995); }
.hw-premium-answer-art {
    width:88px;height:88px;border-radius:24px;display:grid;place-items:center;
    background:linear-gradient(145deg,#fffaf0,#edf6ff);
    box-shadow:inset 0 0 0 1px rgba(51,105,162,.06);
    font-size:56px;line-height:1;
}
.hw-premium-answer .hw-answer-text {
    font-size:clamp(29px,3vw,40px);
    font-weight:900;
    text-align:center;
}
.hw-answer-inline-audio {
    width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
    background:#e5f1ff;color:#165ea7;font-size:22px;
}
.hw-premium-answer.guide {
    border-color:#4c9be6 !important;
    box-shadow:0 0 0 7px rgba(76,155,230,.12),0 16px 34px rgba(39,84,125,.12) !important;
}
.hw-child-question .hw-answer-removed { visibility:hidden; }
.hw-child-question-actions { margin-top:0; }
.hw-child-question-actions button { min-width:180px; min-height:58px; }

.hw-premium-math-stage,
.hw-premium-count-stage {
    width:min(720px,82vw);
    min-height:240px;
    padding:28px;
    border-radius:34px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(64,112,164,.10);
    box-shadow:0 18px 42px rgba(41,86,132,.09);
    display:flex;align-items:center;justify-content:center;gap:26px;
}
.hw-premium-math-stage .hw-group { min-height:140px; padding:18px; border-radius:28px; background:#f7fbff; }
.hw-premium-token,
.hw-child-question .hw-count-item {
    width:68px;height:68px;display:inline-grid;place-items:center;
    margin:6px;border-radius:20px;
    background:linear-gradient(145deg,#fffaf0,#eaf4ff);
    box-shadow:0 8px 18px rgba(42,82,121,.08),inset 0 0 0 1px rgba(52,101,150,.06);
    font-size:42px;
}
.hw-child-question .hw-count-touch { border:0;cursor:pointer; }
.hw-child-question .hw-count-touch.counted { box-shadow:0 0 0 4px #7fb5eb,0 8px 18px rgba(42,82,121,.10); }
.hw-child-question .hw-math-sign { font-size:58px;color:#246db7;font-weight:900; }
.hw-count-tip { color:#57718a;font-size:17px;font-weight:800; }

.hw-child-feedback {
    background:#fff8e7;border-color:#ead69c;color:#665626;
    border-radius:20px; font-size:20px;
}
.hw-child-success {
    border-radius:28px;
    background:rgba(245,252,242,.98);
    border-color:#c8e1c0;
    box-shadow:0 16px 36px rgba(56,94,48,.10);
}

/* The child overlay must win against carts, menus and theme widgets. */


@media (max-width:760px) {
    .hw-child-mode { grid-template-rows:64px 1fr; }
    .hw-child-top { padding-inline:10px; }
    .hw-child-exit { width:48px;height:48px;font-size:27px; }
    .hw-child-progress span { width:13px;height:13px; }
    .hw-child-stage { padding:12px 9px 22px; }
    .hw-premium-focus-card,.hw-premium-focus-question { width:min(94vw,620px);height:260px;border-radius:28px; }
    .hw-child-intro-copy h2 { font-size:34px; }
    .hw-child-word { font-size:28px; }
    .hw-premium-instruction { width:95vw;min-height:74px;border-radius:24px;padding:8px 14px;grid-template-columns:1fr 52px; }
    .hw-premium-instruction p { font-size:25px !important; }
    .hw-instruction-audio { width:48px;height:48px; }
    .hw-child-question .hw-answer-grid,.hw-child-question .hw-answer-grid.two,.hw-child-question .hw-answer-grid.four { width:95vw;grid-template-columns:1fr;gap:11px; }
    .hw-premium-answer { min-height:104px !important;border-radius:24px !important;padding:11px 14px !important;grid-template-columns:70px 1fr 48px; }
    .hw-premium-answer-art { width:64px;height:64px;border-radius:18px;font-size:42px; }
    .hw-premium-answer .hw-answer-text { font-size:28px; }
    .hw-answer-inline-audio { width:46px;height:46px;font-size:19px; }
    .hw-child-actions { width:95vw; }
    .hw-child-actions button { min-width:0;flex:1 1 0;min-height:58px;font-size:17px;padding:0 10px; }
    .hw-premium-math-stage,.hw-premium-count-stage { width:95vw;min-height:190px;padding:16px;border-radius:26px; }
    .hw-premium-token,.hw-child-question .hw-count-item { width:56px;height:56px;border-radius:16px;font-size:34px;margin:4px; }
}

/* =========================================================
   v1.8.1 activity visual system
   1.8 JS renders hw180-* classes. These rules are required.
   ========================================================= */








































.hw-root img.hw-image-failed { visibility: hidden; }
























































@media (max-width: 820px) {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}

@media (max-width: 540px) {
    
    
    
    
    
    
    
    
    
    
    
    
}

@media (prefers-reduced-motion: reduce) {
    
}

/* v1.8.3: child-address selection */
.hw-gender-bg { z-index: 2147483647; }
.hw-gender-card {
    width: min(620px, calc(100vw - 32px));
    padding: 30px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid rgba(31,70,58,.10);
    box-shadow: 0 28px 80px rgba(20,55,44,.20);
    text-align: center;
    direction: rtl;
}
.hw-gender-card h2 {
    margin: 10px 0 8px;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.15;
    color: #173f35;
}
.hw-gender-card p {
    margin: 0 auto 22px;
    max-width: 500px;
    color: #61736c;
    font-size: 17px;
    line-height: 1.65;
}
.hw-gender-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.hw-gender-options button {
    min-height: 126px;
    border: 2px solid #dce8e2;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #f7faf8);
    color: #173f35;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    cursor: pointer;
    font: inherit;
    box-shadow: 0 10px 28px rgba(28,60,47,.06);
}
.hw-gender-options button:hover,
.hw-gender-options button:focus-visible {
    border-color: var(--hw-accent, #2d6fae);
    box-shadow: 0 14px 34px rgba(28,60,47,.10);
    outline: none;
}
.hw-gender-symbol {
    min-width: 80px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf5ff;
    color: #245f9e;
    font-weight: 900;
    font-size: 20px;
}
.hw-gender-options strong { font-size: 22px; }
@media (max-width: 620px) {
    .hw-gender-card { padding: 22px; border-radius: 24px; }
    .hw-gender-options { grid-template-columns: 1fr; }
    .hw-gender-options button { min-height: 96px; }
}


/* 1.8.5: all holiday cards use final illustrated assets; no visible fallback. */
.hw-home-holiday-grid .hw-card-visual {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.hw-home-holiday-grid .hw-rich-card {
    isolation: isolate;
}

/* v1.8.6 special-ed activity scaling and semantic answer renderers */






/* Answers are visually semantic: letters, numbers, words and quantities are not the same UI. */













/* Counting: object size depends on quantity; low-level tasks keep objects large. */








/* Quantity-choice cards use genuinely visible groups, not tiny thumbnails. */







/* Compare: the groups themselves are the two large answer targets. */




/* Math groups stay large enough to count with the eyes. */






/* Sequence is numbers-first: the sequence itself is the main stimulus. */


/* Sentence building: large word targets and a large built sentence. */



/* Story illustration gets most of the visual weight and stays aligned with its sentence. */


/* Low viewport height: reduce chrome/gaps before reducing learning targets. */
@media (max-height: 820px) and (min-width: 821px) {
    
    
    
    
    
    
    
}

@media (max-width: 820px) {
    
    
    
    
    
    
    
    
    
    
    
}

@media (max-width: 540px) {
    
    
    
    
    
    
    
}

/* v1.8.7 — pointed Hebrew stays visible by default; admins can correct it only when needed. */
.hw-root .hw-pointed-text {
    font: inherit;
    color: inherit;
    line-height: inherit;
}
.hw-root .hw-niqqud-editable {
    cursor: text;
    text-decoration: underline dotted rgba(39,100,151,.28);
    text-underline-offset: .13em;
    text-decoration-thickness: 1px;
}
.hw-root .hw-niqqud-editable:hover,
.hw-root .hw-niqqud-editable:focus-visible {
    background: rgba(223,241,255,.62);
    border-radius: .18em;
    outline: 2px solid rgba(64,143,204,.18);
    outline-offset: 3px;
}

/* The learned word is a primary teaching target, not a caption. */




/* Admin-only niqqud editor. It never appears unless an editable word is clicked. */
.hw-root .hw-niqqud-bg { z-index: 10000030; }
.hw-root .hw-niqqud-modal {
    width: min(650px, calc(100vw - 30px));
    padding: 28px;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(22,55,76,.28);
    border: 1px solid rgba(48,106,151,.12);
    direction: rtl;
}
.hw-root .hw-niqqud-note {
    margin: 18px 0 20px;
    color: #5d706a;
    font-size: 17px;
    line-height: 1.65;
}
.hw-root .hw-niqqud-label {
    display: grid;
    gap: 10px;
    color: #27483f;
    font-size: 16px;
    font-weight: 800;
}
.hw-root .hw-niqqud-input {
    width: 100%;
    min-height: 88px;
    padding: 12px 18px;
    border: 2px solid #c9dff1;
    border-radius: 20px;
    background: #fbfdff;
    color: #123f76;
    font-family: inherit;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    direction: rtl;
    outline: none;
}
.hw-root .hw-niqqud-input:focus {
    border-color: #4b9bdd;
    box-shadow: 0 0 0 4px rgba(75,155,221,.12);
}
.hw-root .hw-niqqud-preview-label {
    margin-top: 22px;
    color: #6c7f78;
    font-size: 14px;
    font-weight: 800;
}
.hw-root .hw-niqqud-preview {
    min-height: 104px;
    margin-top: 8px;
    display: grid;
    place-items: center;
    padding: 14px;
    border-radius: 22px;
    background: linear-gradient(145deg,#f7fbff,#fffaf0);
    color: #123f76;
    font-family: inherit;
    font-size: clamp(48px, 5.5vw, 72px);
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}
.hw-root .hw-niqqud-error {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff2f0;
    color: #9b3d32;
    font-weight: 800;
}
.hw-root .hw-niqqud-actions {
    margin-top: 22px;
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.hw-root .hw-niqqud-actions button {
    min-height: 52px;
    padding-inline: 20px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 850;
}

@media (max-width: 820px) {
    
    
    
    .hw-root .hw-niqqud-modal { padding: 20px; border-radius: 24px; }
}

/* v1.8.8 — approved special-education target: large visual stimulus + large readable answers. */



















/* Math stimulus fills the card instead of looking like a thumbnail. */




















/* Every activity card now gives its artwork real visual weight. */
.hw-root .hw-activity-card-rich {
    min-height: 340px;
    padding: 14px 16px 18px !important;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb {
    width: 100%;
    height: 185px;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 8px;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.hw-root .hw-activity-card-rich strong { font-size: 27px; }
.hw-root .hw-activity-card-rich small { font-size: 16px; line-height: 1.5; }

.hw-root .hw-holiday-feature-card img {
    width: 138px;
    height: 104px;
    object-fit: cover;
    object-position: center;
    border-radius: 22px;
}

@media (max-height: 820px) and (min-width: 821px) {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}


/* =========================================================
   v1.9.0 GOLD SPECIAL-ED VISUAL CONTRACT
   These selectors are intentionally final and !important.
   The learning target must never shrink to ordinary-site sizes.
   ========================================================= */





















/* Quantity answers: the objects, not empty white space, dominate the card. */







/* Counting / comparison / add / subtract objects. */












/* Sentence building is a reading target too. */






/* Story: large illustration and large sentence, one sentence at a time. */




/* =========================================================
   v1.9.12 ACTIVITY CHOOSER CONTRACT
   Chooser cards are compact navigation. Full-screen learning geometry belongs
   only to .hw180-child-mode and must never leak into this page.
   ========================================================= */
.hw-root .hw-holiday-page { padding-bottom: 130px !important; }
.hw-root .hw-activity-grid-rich {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}
.hw-root .hw-activity-card-rich {
    position: relative !important;
    min-height: 310px !important;
    padding: 0 0 16px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
    background: #fff !important;
    border: 1px solid rgba(51,112,164,.16) !important;
    box-shadow: 0 10px 24px rgba(30,62,92,.08) !important;
}
.hw-root .hw-activity-card-rich::before {
    height: 7px !important;
    z-index: 4 !important;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb {
    position: relative !important;
    width: 100% !important;
    height: 150px !important;
    flex: 0 0 150px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 25px 25px 0 0 !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, color-mix(in srgb,var(--hw-paper) 88%,white), #f7fbff) !important;
    display: grid !important;
    place-items: center !important;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb-fallback {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    font-size: clamp(32px, 3vw, 46px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    color: color-mix(in srgb,var(--hw-accent) 74%,#173d32) !important;
    background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.95), color-mix(in srgb,var(--hw-paper) 74%,white)) !important;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    transform: none !important;
}
.hw-root .hw-activity-card-rich .hw-activity-thumb img.hw-image-failed {
    display: none !important;
}
.hw-root .hw-activity-card-rich:hover .hw-activity-thumb img { transform: none !important; }
.hw-root .hw-activity-card-rich .hw-activity-badge {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 5 !important;
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.07) !important;
}
.hw-root .hw-activity-card-rich strong {
    margin: 14px 16px 0 !important;
    font-size: clamp(24px, 1.85vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    color: #173d32 !important;
}
.hw-root .hw-activity-card-rich small {
    margin: 6px 18px 0 !important;
    min-height: 0 !important;
    font-size: clamp(14px, 1.05vw, 17px) !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    color: #536b79 !important;
}
.hw-root .hw-activity-card-rich .hw-activity-foot {
    margin: auto 16px 0 !important;
    padding-top: 10px !important;
    font-size: 13px !important;
}
.hw-root .hw-activity-card-rich .hw-activity-foot span,
.hw-root .hw-activity-card-rich .hw-activity-foot em { font-size: 13px !important; }
.hw-root .hw-section:has(.hw-activity-grid-rich) { margin-bottom: 22px !important; }

@media (max-width: 1180px) {
    .hw-root .hw-activity-grid-rich { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
    .hw-root .hw-activity-grid-rich { grid-template-columns: 1fr !important; gap: 14px !important; }
    .hw-root .hw-activity-card-rich { min-height: 280px !important; }
    .hw-root .hw-activity-card-rich .hw-activity-thumb { height: 132px !important; flex-basis:132px !important; }
    .hw-root .hw-activity-card-rich strong { font-size: 25px !important; }
    .hw-root .hw-activity-card-rich small { font-size: 15px !important; }
}

/* =========================================================
   v1.9.2 SPECIAL-ED ACTIVITY FIX
   Root cause fixes:
   1) tall activity content must start at the top, never be vertically centered and clipped.
   2) isolated concepts dominate their media box.
   3) math groups show atomic isolated objects, not repeated holiday scenes.
   ========================================================= */





/* The visual stimulus should fill the card while preserving the complete object. */








/* Atomic math visuals: no miniature scene thumbnails inside quantity cards. */



/* Keep the objects themselves large and evenly separated. */




/* Short desktop: scroll instead of shrinking or clipping the teaching target. */
@media (max-height: 820px) and (min-width: 821px) {
    
    
    
}

/* Small screens keep semantic size; the page scrolls vertically. */
@media (max-width: 820px) {
    
    
}


/* =========================================================
   v1.9.3 VIEWPORT FIT
   Goal: on 100% desktop zoom the full teaching target, answers and buttons
   stay visible without forcing the child to scroll.
   ========================================================= */




@media (max-height: 900px) and (min-width: 821px) {
    
    
}

@media (max-width: 820px) {
    
}


/* =========================================================
   v1.9.4 DESKTOP 100% FIT + EXACT CONCEPT CENTERING
   The full activity must fit in a normal desktop viewport without scrolling.
   ========================================================= */
@media (min-width: 821px) {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* Exact/isolated concepts must always show the complete object, centered. */
    
    
}

/* Extra-short laptops: compact chrome, never the learning content into tiny UI. */
@media (min-width: 821px) and (max-height: 780px) {
    
    
    
    
    
    
    
    
    
    
}


/* =========================================================
   v1.9.5 ROOT FIX — no page scroll + isolated image hard guarantee
   ========================================================= */






/* These rules duplicate the inline contract as a readable fallback.
   A concept marked isolated may never be rendered with cover/crop. */



/* Use the available desktop height more efficiently before JS fitting. */
@media (min-width:821px) {
    
    
    
    
    
}


/* =========================================================
   v1.9.6 MENORAH ASSET CONTRACT
   The full isolated object must be visible; never use a scene crop.
   ========================================================= */




/* =========================================================
   v1.9.7 EXPLICIT ACTIVITY CONTRACT
   Renderer policy decides what exists. CSS only lays it out.
   ========================================================= */




/* Poka-yoke: belongs/quantity/sequence may never show a generic top stimulus. */


/* Atomic fallback is intentionally a single isolated object, never a scene crop. */




/* Belongs is intentionally minimal: instruction + prompt + visual answers only. */





/* Math activities may show only atomic objects. */


/* Desktop 100%: full task is one screen. The wrapper is scaled only as a last resort. */
@media (min-width: 821px) {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}


/* =========================================================
   v1.9.8 NATURAL VIEWPORT LAYOUT
   Never scale the whole task. Fit it by compacting chrome and spacing only.
   Learning targets keep special-education sizes.
   ========================================================= */



/* Isolated concepts preserve the source aspect ratio. This is deliberately
   different from width:100% + height:100%, which allowed a square menorah
   source to be visually treated like a wide crop by competing rules. */


@media (min-width: 821px) {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}

/* 1366x768 and similar: compact only spacing/media, never the text targets. */
@media (min-width: 821px) and (max-height: 820px) {
    
    
    
    
    
    
    
    
    
    
    
    
}

/* =========================================================
   v1.9.11 FULL-VIEWPORT ACTIVITY CONTRACT
   Two invariants only:
   1. Nothing belonging to the task is cropped.
   2. Teaching content grows to use the available viewport.
   No whole-screen scale(), no short-desktop compact mode.
   ========================================================= */
html.hw-special-activity-open,
body.hw-special-activity-open {
    width:100%;
    height:100%;
    overflow:hidden !important;
    overscroll-behavior:none;
}
body.hw-special-activity-open .hw-root { overflow:visible; }

.hw-root .hw180-child-mode {
    position:fixed !important;
    inset:0 !important;
    z-index:2147483647 !important;
    width:100vw;
    height:100dvh;
    display:grid;
    grid-template-rows:48px minmax(0,1fr);
    direction:rtl;
    overflow:hidden !important;
    color:#123f72;
    background:
        radial-gradient(circle at 8% 20%,rgba(255,218,143,.28),transparent 25%),
        radial-gradient(circle at 92% 17%,rgba(173,212,255,.34),transparent 29%),
        linear-gradient(135deg,#fffdf8 0%,#f7fbff 48%,#fffaf0 100%);
    font-family:Arial,"Noto Sans Hebrew",sans-serif;
}
.hw-root .hw180-top {
    position:relative;
    min-height:48px;
    display:grid;
    place-items:center;
    border-bottom:1px solid rgba(42,91,125,.07);
    background:rgba(255,255,255,.74);
    backdrop-filter:blur(14px);
}
.hw-root .hw180-progress { display:flex;align-items:center;justify-content:center;gap:9px; }
.hw-root .hw180-progress span { width:12px;height:12px;border-radius:50%;background:#d7e4e6; }
.hw-root .hw180-progress span.done { background:#a9c5cf; }
.hw-root .hw180-progress span.current { width:16px;height:16px;background:#286eaf;box-shadow:0 0 0 4px rgba(40,110,175,.10); }
.hw-root .hw180-exit {
    position:absolute;top:4px;right:12px;width:40px;height:40px;
    display:grid;place-items:center;border:1px solid rgba(25,58,52,.08);border-radius:14px;
    background:#fff;color:#143f37;box-shadow:0 5px 16px rgba(27,61,51,.07);
    font-size:25px;cursor:pointer;
}

.hw-root .hw180-stage {
    box-sizing:border-box;
    width:min(1500px,calc(100vw - 24px));
    height:calc(100dvh - 48px);
    min-height:0;
    margin:0 auto;
    padding:8px 0 10px;
    overflow:auto;
    scrollbar-width:thin;
}
.hw-root .hw180-fit-content {
    width:100%;
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:minmax(0,1fr);
    gap:10px;
    align-items:stretch;
    justify-items:stretch;
    transform:none !important;
}
.hw-root .hw180-child-mode.status-success .hw180-fit-content {
    grid-template-rows:minmax(0,1fr) clamp(116px,15vh,152px);
}
.hw-root .hw180-child-mode.status-retry .hw180-fit-content {
    grid-template-rows:minmax(0,1fr) auto;
}

.hw-root .hw180-question,
.hw-root .hw180-intro,
.hw-root .hw180-story {
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    overflow:visible;
}
.hw-root .hw180-question {
    display:grid;
    gap:8px 12px;
    justify-items:center;
    align-items:stretch;
    grid-template-areas:
        "instruction"
        "visual"
        "prompt"
        "answers"
        "actions";
    grid-template-rows:auto minmax(190px,1.25fr) auto minmax(180px,1fr) auto;
}
.hw-root .hw180-question.activity-belongs,
.hw-root .hw180-question.activity-quantity,
.hw-root .hw180-question.activity-sequence {
    grid-template-areas:"instruction" "prompt" "answers" "actions";
    grid-template-rows:auto auto minmax(0,1fr) auto;
}
.hw-root .hw180-question.activity-compare {
    grid-template-areas:"instruction" "visual" "prompt" "actions";
    grid-template-rows:auto minmax(0,1fr) auto auto;
}
.hw-root .hw180-question.activity-count,
.hw-root .hw180-question.activity-add,
.hw-root .hw180-question.activity-subtract {
    grid-template-rows:auto minmax(210px,1.45fr) auto minmax(170px,.85fr) auto;
}
.hw-root .hw180-question.activity-sentence {
    grid-template-areas:"instruction" "sentence" "actions";
    grid-template-rows:auto minmax(0,1fr) auto;
}

.hw-root .hw180-instruction {
    grid-area:instruction;
    width:min(1320px,96%);
    min-height:clamp(64px,8vh,82px);
    padding:6px 22px;
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    justify-content:center;
    gap:16px;
    border:1px solid rgba(34,89,131,.08);
    border-radius:24px;
    background:rgba(255,255,255,.97);
    box-shadow:0 10px 28px rgba(46,88,119,.08);
    box-sizing:border-box;
}
.hw-root .hw180-instruction p {
    margin:0;
    color:#113f72;
    font-size:clamp(42px,5.1vmin,64px) !important;
    line-height:1.02 !important;
    font-weight:950;
    text-align:center;
}
.hw-root .hw180-instruction button,
.hw-root .hw180-listen,
.hw-root .hw180-answer-audio {
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid #bcdcff;
    background:linear-gradient(180deg,#e8f5ff,#d7ebff);
    color:#1d65a7;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(48,117,175,.09);
}
.hw-root .hw180-instruction button { width:52px;height:52px;border-radius:16px; }
.hw-root .hw180-instruction svg,
.hw-root .hw180-listen svg,
.hw-root .hw180-answer-audio svg,
.hw-root .hw180-secondary svg { width:27px;height:27px; }

.hw-root .hw180-art {
    position:relative;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:22px;
    background:linear-gradient(145deg,#fffaf0,#eef6ff);
}
.hw-root .hw180-art img {
    display:block;
    border:0;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
}
.hw-root .hw180-art.crop img,
.hw-root .hw180-art.isolated img,
.hw-root .hw180-art.exact img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    margin:auto !important;
    padding:4px;
    box-sizing:border-box;
}
.hw-root img.hw-image-failed { visibility:hidden; }

.hw-root .hw180-question-concept {
    grid-area:visual;
    position:relative;
    width:min(980px,82%);
    height:100%;
    min-height:0;
    padding:8px;
    border:1px solid rgba(70,108,88,.08);
    border-radius:28px;
    background:#fff;
    box-shadow:0 12px 32px rgba(43,75,68,.09);
    overflow:hidden;
    cursor:pointer;
    box-sizing:border-box;
}
.hw-root .hw180-question-concept > .hw180-art { width:100%;height:100%; }
.hw-root .hw180-question-concept > span:last-child {
    position:absolute;right:14px;bottom:14px;width:50px;height:50px;
    display:grid;place-items:center;border-radius:16px;color:#1c64a3;
    background:rgba(230,244,255,.96);border:1px solid #c6e1fa;
}
.hw-root .hw180-question-concept > span:last-child svg { width:26px;height:26px; }
.hw-root .hw180-prompt {
    grid-area:prompt;
    margin:0;
    color:#123f72;
    font-size:clamp(50px,6vmin,78px) !important;
    line-height:1 !important;
    font-weight:950;
    text-align:center;
    align-self:center;
}

.hw-root .hw180-answer-grid {
    grid-area:answers;
    width:100%;
    height:100%;
    min-height:0;
    display:grid;
    gap:clamp(12px,1.3vw,22px);
    align-items:stretch;
}
.hw-root .hw180-answer-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hw-root .hw180-answer-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hw-root .hw180-answer-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hw-root .hw180-answer-wrap { position:relative;min-width:0;height:100%; }
.hw-root .hw180-answer {
    width:100%;
    height:100%;
    min-height:0 !important;
    padding:14px 64px 14px 20px;
    display:grid;
    align-items:center;
    gap:16px;
    border:2px solid #b9d9f4;
    border-radius:30px;
    background:#fff;
    color:#143c68;
    box-shadow:0 12px 30px rgba(51,92,126,.08);
    cursor:pointer;
    box-sizing:border-box;
}
.hw-root .hw180-answer:hover,
.hw-root .hw180-answer:focus-visible { border-color:#75b4eb;box-shadow:0 16px 34px rgba(51,103,145,.12); }
.hw-root .hw180-answer.type-letter,
.hw-root .hw180-answer.type-number { grid-template-columns:1fr;place-items:center; }
.hw-root .hw180-answer.type-letter strong {
    font-size:clamp(124px,18vmin,194px) !important;
    line-height:.86 !important;
    font-weight:950;
}
.hw-root .hw180-answer.type-number strong {
    font-size:clamp(112px,16vmin,176px) !important;
    line-height:.88 !important;
    font-weight:950;
}
.hw-root .hw180-answer.type-word {
    grid-template-columns:minmax(190px,1.05fr) minmax(150px,.95fr);
    gap:18px;
}
.hw-root .hw180-answer.type-word > .hw180-art {
    width:100% !important;
    height:88% !important;
    min-height:0;
    max-height:100%;
    justify-self:stretch;
    align-self:center;
}
.hw-root .hw180-answer.type-word strong {
    font-size:clamp(52px,7vmin,88px) !important;
    line-height:1.02 !important;
    font-weight:950;
    text-align:center;
    overflow-wrap:anywhere;
}
.hw-root .hw180-answer.type-quantity { grid-template-columns:1fr;padding:12px 20px; }
.hw-root .hw180-answer.type-quantity strong { display:none; }
.hw-root .hw180-answer-audio {
    position:absolute;right:12px;top:50%;width:50px;height:50px;
    transform:translateY(-50%);border-radius:16px;z-index:2;
}
.hw-root .hw180-answer.guide { border-color:#4c9be6;box-shadow:0 0 0 7px rgba(76,155,230,.10); }
.hw-root .hw180-answer-wrap.muted { opacity:.25; }
.hw-root .hw180-answer-placeholder { width:100%;height:100%;border-radius:30px;opacity:.15; }

.hw-root .hw180-actions,
.hw-root .hw180-success-actions,
.hw-root .hw180-story-actions {
    grid-area:actions;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}
.hw-root .hw180-primary,
.hw-root .hw180-secondary {
    min-height:56px;
    padding:0 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:18px;
    font-size:clamp(19px,2.2vmin,25px);
    line-height:1;
    font-weight:950;
    cursor:pointer;
}
.hw-root .hw180-primary { border:1px solid #2767a8;background:linear-gradient(180deg,#367fc5,#2569aa);color:#fff; }
.hw-root .hw180-secondary { border:1px solid #cbdcd8;background:#fff;color:#184b40; }

/* Intro: full learning screen instead of a small centered card. */
.hw-root .hw180-intro {
    display:grid;
    grid-template-areas:"concept" "copy" "actions";
    grid-template-rows:minmax(0,1fr) auto auto;
    gap:12px;
    justify-items:center;
}
.hw-root .hw180-concept-card {
    grid-area:concept;
    position:relative;
    width:min(1040px,78vw);
    height:100%;
    min-height:260px;
    padding:10px;
    border:1px solid rgba(35,77,68,.08);
    border-radius:30px;
    background:#fff;
    box-shadow:0 14px 38px rgba(35,72,64,.10);
    overflow:hidden;
    cursor:pointer;
    box-sizing:border-box;
}
.hw-root .hw180-concept-card > .hw180-art { width:100%;height:100%; }
.hw-root .hw180-listen { position:absolute;right:16px;bottom:16px;width:54px;height:54px;border-radius:17px; }
.hw-root .hw180-intro-copy { grid-area:copy;display:grid;justify-items:center;gap:4px;text-align:center; }
.hw-root .hw180-intro-copy h2 { margin:0;color:#174b40;font-size:clamp(42px,5vmin,64px);line-height:1.03;font-weight:950; }
.hw-root .hw180-learned-word { color:#315c53;font-size:clamp(58px,7vmin,88px);line-height:1.04;font-weight:950; }
.hw-root .hw180-intro .hw180-actions { grid-area:actions; }

/* Counting: the object field itself occupies the visual row. */
.hw-root .hw180-count-scene {
    grid-area:visual;
    width:100%;
    height:100%;
    min-height:0;
    padding:12px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    align-content:center;
    justify-content:center;
    gap:clamp(12px,1.5vw,24px);
    border-radius:28px;
    background:rgba(255,255,255,.82);
    box-sizing:border-box;
}
.hw-root .hw180-count-object {
    position:relative;
    width:clamp(126px,15vmin,190px);height:clamp(126px,15vmin,190px);
    padding:7px;border:2px solid transparent;border-radius:26px;background:#fff;
    box-shadow:0 9px 22px rgba(30,70,60,.07);cursor:pointer;
}
.hw-root .hw180-count-scene.q1 .hw180-count-object,
.hw-root .hw180-count-scene.q2 .hw180-count-object { width:clamp(190px,24vmin,280px);height:clamp(190px,24vmin,280px); }
.hw-root .hw180-count-scene.q3 .hw180-count-object { width:clamp(160px,19vmin,230px);height:clamp(160px,19vmin,230px); }
.hw-root .hw180-count-scene.q4 .hw180-count-object { width:clamp(138px,16vmin,190px);height:clamp(138px,16vmin,190px); }
.hw-root .hw180-count-scene.q5 .hw180-count-object { width:clamp(116px,14vmin,160px);height:clamp(116px,14vmin,160px); }
.hw-root .hw180-count-object .hw180-art { width:100%;height:100%; }
.hw-root .hw180-count-object.counted { border-color:#63a9df;background:#edf8ff; }
.hw-root .hw180-count-object > b {
    position:absolute;right:-5px;top:-5px;width:38px;height:38px;display:grid;place-items:center;
    border-radius:50%;background:#2d77b8;color:#fff;font-size:20px;
}

/* Quantity answers grow with the answer cards. */
.hw-root .hw180-quantity-art {
    width:100%;height:100%;min-height:0;
    display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(8px,1vw,16px);
}
.hw-root .hw180-quantity-art i { display:block;font-style:normal; }
.hw-root .hw180-quantity-art i,
.hw-root .hw180-quantity-art .hw180-art { width:clamp(92px,12vmin,150px);height:clamp(92px,12vmin,150px); }
.hw-root .hw180-quantity-art.q1 i,.hw-root .hw180-quantity-art.q1 .hw180-art,
.hw-root .hw180-quantity-art.q2 i,.hw-root .hw180-quantity-art.q2 .hw180-art { width:clamp(154px,20vmin,230px);height:clamp(154px,20vmin,230px); }
.hw-root .hw180-quantity-art.q3 i,.hw-root .hw180-quantity-art.q3 .hw180-art { width:clamp(126px,16vmin,185px);height:clamp(126px,16vmin,185px); }
.hw-root .hw180-quantity-art.q4 i,.hw-root .hw180-quantity-art.q4 .hw180-art { width:clamp(108px,13vmin,155px);height:clamp(108px,13vmin,155px); }
.hw-root .hw180-quantity-art.q5 i,.hw-root .hw180-quantity-art.q5 .hw180-art { width:clamp(90px,11vmin,130px);height:clamp(90px,11vmin,130px); }

/* Compare / add / subtract use the full visual zone. */
.hw-root .hw180-compare-scene {
    grid-area:visual;
    width:100%;height:100%;min-height:0;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;
}
.hw-root .hw180-math-scene {
    grid-area:visual;
    width:100%;height:100%;min-height:0;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
}
.hw-root .hw180-math-scene > b { color:#245f99;font-size:clamp(82px,11vmin,124px) !important;font-weight:950; }
.hw-root .hw180-object-group {
    width:100%;height:100%;min-height:0;padding:14px;
    display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;
    gap:clamp(10px,1.1vw,18px);border:2px solid #c9e0f4;border-radius:30px;background:#fff;box-sizing:border-box;
}
.hw-root .hw180-group-answer { cursor:pointer; }
.hw-root .hw180-group-answer:hover,.hw-root .hw180-group-answer:focus-visible { border-color:#6aaee5;box-shadow:0 12px 28px rgba(51,103,145,.10); }
.hw-root .hw180-mini-object { width:clamp(100px,13vmin,160px);height:clamp(100px,13vmin,160px);display:block; }
.hw-root .hw180-mini-object .hw180-art { width:100%;height:100%; }
.hw-root .hw180-object-group.q1 .hw180-mini-object,.hw-root .hw180-object-group.q2 .hw180-mini-object { width:clamp(150px,19vmin,225px);height:clamp(150px,19vmin,225px); }
.hw-root .hw180-object-group.q3 .hw180-mini-object { width:clamp(130px,16vmin,190px);height:clamp(130px,16vmin,190px); }
.hw-root .hw180-object-group.q4 .hw180-mini-object,.hw-root .hw180-object-group.q5 .hw180-mini-object { width:clamp(105px,13vmin,155px);height:clamp(105px,13vmin,155px); }
.hw-root .hw180-object-group.q6 .hw180-mini-object,.hw-root .hw180-object-group.q7 .hw180-mini-object,.hw-root .hw180-object-group.q8 .hw180-mini-object { width:clamp(88px,11vmin,120px);height:clamp(88px,11vmin,120px); }

.hw-root .activity-sequence .hw180-prompt {
    min-width:min(980px,90vw);padding:16px 28px;border-radius:24px;background:#fff;
    box-shadow:0 10px 28px rgba(42,80,112,.07);font-size:clamp(60px,8vmin,96px) !important;letter-spacing:.07em;
}

/* Sentence */
.hw-root .hw180-sentence {
    grid-area:sentence;
    width:100%;height:100%;min-height:0;
    display:grid;grid-template-rows:minmax(180px,1.25fr) auto minmax(150px,.85fr);gap:10px;justify-items:center;
}
.hw-root .hw180-sentence-scene { width:min(920px,82%);height:100%;min-height:0;overflow:hidden;border-radius:26px;background:#fff; }
.hw-root .hw180-sentence-scene img { width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#fffdf8; }
.hw-root .hw180-sentence-built {
    width:min(1120px,96%);min-height:78px;padding:10px 20px;display:grid;place-items:center;
    border:2px dashed #cbdad6;border-radius:22px;background:#fff;color:#193f36;
    font-size:clamp(40px,5vmin,62px) !important;font-weight:950;text-align:center;box-sizing:border-box;
}
.hw-root .hw180-sentence-built span { color:#82908b;font-size:clamp(36px,4.5vmin,54px) !important;line-height:1.05 !important; }
.hw-root .hw180-word-grid { width:100%;height:100%;min-height:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:12px; }
.hw-root .hw180-word {
    min-width:clamp(190px,18vw,300px);min-height:clamp(82px,10vh,118px);padding:10px 18px;
    display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid #d3e1dd;border-radius:22px;
    background:#fff;color:#193f36;font-weight:950;cursor:pointer;
}
.hw-root .hw180-word span { font-size:clamp(36px,4.7vmin,58px) !important;line-height:1.03 !important; }
.hw-root .hw180-word svg { width:27px;height:27px;color:#2b72ae; }
.hw-root .hw180-word.guide { border-color:#63a8df;box-shadow:0 0 0 6px rgba(74,155,218,.08); }

/* Story fills the screen with the current scene and line. */
.hw-root .hw180-story {
    display:grid;
    grid-template-areas:"instruction" "storycard" "actions";
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:10px;
    justify-items:center;
}
.hw-root .hw180-story-card {
    grid-area:storycard;
    width:min(1220px,94%);height:100%;min-height:0;overflow:hidden;
    display:grid;grid-template-rows:minmax(0,1fr) auto;
    border:1px solid rgba(35,73,60,.07);border-radius:28px;background:#fff;box-shadow:0 12px 32px rgba(35,69,59,.08);
}
.hw-root .hw180-story-card img { display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#fffdf8; }
.hw-root .hw180-story-card p { margin:0;padding:12px 22px;color:#173f36;font-size:clamp(34px,4.3vmin,54px);line-height:1.18;font-weight:900;text-align:center; }
.hw-root .hw180-story-actions { grid-area:actions; }

/* Feedback / success are part of the teaching screen, not tiny UI chrome. */
.hw-root .hw180-feedback {
    width:100%;min-height:64px;padding:10px 20px;display:grid;place-items:center;box-sizing:border-box;
    border-radius:18px;background:#fff7e8;color:#705b27;font-size:clamp(26px,3.2vmin,38px);font-weight:950;
}
.hw-root .hw180-success {
    width:100%;height:100%;min-height:0;padding:14px 24px;box-sizing:border-box;
    display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;
    border:1px solid #cce2c5;border-radius:26px;background:#f1faee;box-shadow:0 10px 28px rgba(48,92,46,.08);
}
.hw-root .hw180-success > span {
    width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#e1f2db;
    color:#477a3f;font-size:36px;font-weight:950;
}
.hw-root .hw180-success b,.hw-root .hw180-success small { display:block; }
.hw-root .hw180-success b { font-size:clamp(28px,3.4vmin,42px);line-height:1.05; }
.hw-root .hw180-success small { margin-top:5px;color:#667970;font-size:clamp(18px,2.2vmin,26px);line-height:1.15; }
.hw-root .hw180-success-actions { grid-column:3;grid-row:1;flex-wrap:nowrap; }
.hw-root .hw180-success-actions .hw180-primary,.hw-root .hw180-success-actions .hw180-secondary { min-height:58px;font-size:clamp(20px,2.3vmin,26px); }

/* Atomic fallback remains one full object, never a scene crop. */
.hw-root .hw180-art.atomic { display:grid;place-items:center;background:#fffdf8; }
.hw-root .hw180-atomic-icon { display:grid;place-items:center;width:100%;height:100%;font-size:clamp(84px,11vmin,138px);line-height:1; }
.hw-root .hw180-count-object .hw180-atomic-icon,.hw-root .hw180-mini-object .hw180-atomic-icon,.hw-root .hw180-quantity-art .hw180-atomic-icon { font-size:clamp(58px,7vmin,92px); }

/* Poka-yoke: activities that must not have an upper stimulus can never display one. */
.hw-root .activity-belongs > .hw180-question-concept,
.hw-root .activity-quantity > .hw180-question-concept,
.hw-root .activity-sequence > .hw180-question-concept { display:none !important; }
.hw-root .activity-count .hw180-art.crop,
.hw-root .activity-quantity .hw180-art.crop,
.hw-root .activity-compare .hw180-art.crop,
.hw-root .activity-add .hw180-art.crop,
.hw-root .activity-subtract .hw180-art.crop { display:none !important; }
.hw-root .hw-pointed-text { font:inherit;color:inherit; }

/* Small/mobile fallback: preserve full content and scroll rather than crop. */
@media (max-width:820px) {
    html.hw-special-activity-open,body.hw-special-activity-open { overflow:auto !important; }
    .hw-root .hw180-child-mode { position:fixed !important;grid-template-rows:52px minmax(0,1fr);overflow-y:auto !important; }
    .hw-root .hw180-stage { width:calc(100vw - 12px);height:auto;min-height:calc(100dvh - 52px);overflow:visible;padding:8px 0 20px; }
    .hw-root .hw180-fit-content,.hw-root .hw180-question,.hw-root .hw180-intro,.hw-root .hw180-story { height:auto;min-height:0; }
    .hw-root .hw180-question { display:flex;flex-direction:column;align-items:center; }
    .hw-root .hw180-answer-grid.two,.hw-root .hw180-answer-grid.three,.hw-root .hw180-answer-grid.four { grid-template-columns:1fr;height:auto; }
    .hw-root .hw180-answer-wrap { height:auto; }
    .hw-root .hw180-answer { min-height:180px !important;height:auto; }
    .hw-root .hw180-answer.type-word { grid-template-columns:140px 1fr; }
    .hw-root .hw180-answer.type-word > .hw180-art { height:145px !important; }
    .hw-root .hw180-question-concept { width:min(94vw,680px);height:260px; }
    .hw-root .hw180-count-scene,.hw-root .hw180-compare-scene,.hw-root .hw180-math-scene { height:auto;min-height:260px; }
    .hw-root .hw180-compare-scene { grid-template-columns:1fr; }
    .hw-root .hw180-success { height:auto;grid-template-columns:60px 1fr; }
    .hw-root .hw180-success-actions { grid-column:1/-1;grid-row:auto; }
    .hw-root .hw180-story-card { height:auto;min-height:480px; }
}

@media (prefers-reduced-motion:reduce) {
    .hw-root .hw180-child-mode *,
    .hw-root .hw180-child-mode *::before,
    .hw-root .hw180-child-mode *::after { transition-duration:.001ms !important;animation-duration:.001ms !important; }
}

/* Wide-screen answer-density rules: keep 3/4 visual choices large without horizontal overflow. */
@media (min-width:821px) {
    .hw-root .hw180-answer-grid.three .hw180-answer.type-word,
    .hw-root .hw180-answer-grid.four .hw180-answer.type-word {
        grid-template-columns:1fr;
        grid-template-rows:minmax(0,1fr) auto;
        gap:6px;
        padding:10px 54px 10px 12px;
    }
    .hw-root .hw180-answer-grid.three .hw180-answer.type-word > .hw180-art,
    .hw-root .hw180-answer-grid.four .hw180-answer.type-word > .hw180-art {
        width:100% !important;
        height:100% !important;
        min-height:0;
    }
    .hw-root .hw180-answer-grid.three .hw180-answer.type-word strong {
        font-size:clamp(44px,5.2vmin,62px) !important;
    }
    .hw-root .hw180-answer-grid.four .hw180-answer.type-word strong {
        font-size:clamp(38px,4.7vmin,56px) !important;
    }
    .hw-root .activity-quantity .hw180-answer-grid.three .hw180-quantity-art.q4 i,
    .hw-root .activity-quantity .hw180-answer-grid.three .hw180-quantity-art.q4 .hw180-art {
        width:clamp(76px,8.5vmin,98px);height:clamp(76px,8.5vmin,98px);
    }
    .hw-root .activity-quantity .hw180-answer-grid.three .hw180-quantity-art.q5 i,
    .hw-root .activity-quantity .hw180-answer-grid.three .hw180-quantity-art.q5 .hw180-art {
        width:clamp(64px,7.5vmin,82px);height:clamp(64px,7.5vmin,82px);
    }
    .hw-root .activity-quantity .hw180-quantity-art.q6,
    .hw-root .activity-quantity .hw180-quantity-art.q7,
    .hw-root .activity-quantity .hw180-quantity-art.q8 { flex-wrap:wrap;align-content:center; }
    .hw-root .activity-quantity .hw180-quantity-art.q6 i,
    .hw-root .activity-quantity .hw180-quantity-art.q6 .hw180-art,
    .hw-root .activity-quantity .hw180-quantity-art.q7 i,
    .hw-root .activity-quantity .hw180-quantity-art.q7 .hw180-art,
    .hw-root .activity-quantity .hw180-quantity-art.q8 i,
    .hw-root .activity-quantity .hw180-quantity-art.q8 .hw180-art {
        width:clamp(78px,10vmin,100px);height:clamp(78px,10vmin,100px);
    }
}

/* =========================================================
   v1.9.14 SEQUENCES & PATTERNS
   One festive holiday world, one central task board, compact
   sequence cells, large answers, no scene crops inside patterns.
   ========================================================= */
.hw-root .hw180-question.activity-sequence.hw180-sequence-screen {
    display:grid;
    grid-template-areas:"instruction" "sequence" "actions";
    grid-template-rows:78px minmax(0,1fr) 62px;
    gap:8px;
    width:100%;
    height:100%;
    min-height:0;
    padding:0 8px;
    box-sizing:border-box;
    align-items:stretch;
    justify-items:stretch;
}
.hw-root .hw180-sequence-instruction {
    grid-area:instruction;
    position:relative;
    width:min(1240px,94%);
    height:78px;
    min-height:78px;
    margin:0 auto;
    padding:0 78px;
    border:3px solid color-mix(in srgb,var(--hw-accent2) 76%,white);
    border-radius:28px;
    background:
        radial-gradient(circle at 10% 30%,rgba(255,255,255,.24) 0 3px,transparent 4px),
        radial-gradient(circle at 88% 62%,rgba(255,255,255,.20) 0 3px,transparent 4px),
        linear-gradient(180deg,color-mix(in srgb,var(--hw-accent) 88%,#173f78),color-mix(in srgb,var(--hw-accent) 72%,#0c2852));
    box-shadow:0 10px 26px rgba(25,62,104,.18),inset 0 0 0 3px rgba(255,255,255,.12);
    box-sizing:border-box;
    overflow:hidden;
}
.hw-root .hw180-sequence-instruction::before,
.hw-root .hw180-sequence-instruction::after {
    content:"✦";
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    color:color-mix(in srgb,var(--hw-accent2) 92%,white);
    font-size:34px;
    line-height:1;
    text-shadow:0 2px 6px rgba(0,0,0,.16);
}
.hw-root .hw180-sequence-instruction::before { left:24px; }
.hw-root .hw180-sequence-instruction::after { right:24px; }
.hw-root .hw180-sequence-instruction p {
    color:#fff !important;
    font-size:clamp(40px,5.2vmin,60px) !important;
    line-height:1 !important;
    font-weight:950 !important;
    text-shadow:0 2px 5px rgba(0,0,0,.22);
}
.hw-root .hw180-sequence-instruction button {
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    border:2px solid rgba(255,255,255,.72);
    background:rgba(255,255,255,.94);
    color:var(--hw-accent);
    box-shadow:0 6px 16px rgba(17,52,88,.15);
}
.hw-root .hw180-sequence-board {
    grid-area:sequence;
    position:relative;
    isolation:isolate;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    border:3px solid color-mix(in srgb,var(--hw-accent2) 76%,white);
    border-radius:34px;
    background:var(--hw-paper);
    box-shadow:0 16px 38px rgba(32,73,112,.14),inset 0 0 0 4px rgba(255,255,255,.70);
}
.hw-root .hw180-sequence-backdrop {
    position:absolute;
    inset:-10px;
    z-index:-4;
    background-image:var(--hw-sequence-bg);
    background-size:cover;
    background-position:center;
    filter:saturate(1.08) contrast(1.02);
    transform:scale(1.02);
}
.hw-root .hw180-sequence-board::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.03) 23%,rgba(255,255,255,.03) 77%,rgba(255,255,255,.18)),
        linear-gradient(180deg,rgba(255,255,255,.08),rgba(16,47,82,.08));
    pointer-events:none;
}
.hw-root .hw180-sequence-board.quiet::before,
.hw-root .hw180-sequence-screen.quiet .hw180-sequence-board::before {
    background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.28));
}
.hw-root .hw180-sequence-playfield {
    position:relative;
    z-index:3;
    width:min(1160px,86%);
    height:calc(100% - 22px);
    min-height:0;
    margin:11px auto;
    padding:8px clamp(16px,2vw,28px) 12px;
    box-sizing:border-box;
    display:grid;
    grid-template-rows:48px 56px minmax(0,1fr) 152px;
    gap:6px;
    align-items:center;
    justify-items:center;
    border:3px solid color-mix(in srgb,var(--hw-accent2) 66%,white);
    border-radius:30px;
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,253,247,.90));
    box-shadow:0 12px 28px rgba(18,54,91,.16),inset 0 0 0 4px rgba(255,255,255,.70);
    backdrop-filter:blur(3px);
}
.hw-root .quiet .hw180-sequence-playfield {
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,249,246,.93));
}
.hw-root .hw180-sequence-title {
    width:min(700px,78%);
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:0 22px;
    box-sizing:border-box;
    border-radius:999px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--hw-accent) 92%,#173f78),color-mix(in srgb,var(--hw-accent) 73%,#0d2c55));
    color:#fff;
    border:2px solid color-mix(in srgb,var(--hw-accent2) 72%,white);
    box-shadow:0 6px 16px rgba(20,62,102,.13);
}
.hw-root .hw180-sequence-title b {
    font-size:clamp(23px,3vmin,34px);
    line-height:1;
    font-weight:950;
    white-space:nowrap;
}
.hw-root .hw180-sequence-title span { font-size:24px;line-height:1; }
.hw-root .hw180-sequence-task-head {
    width:100%;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    color:#173f72;
}
.hw-root .hw180-sequence-task-head > span {
    justify-self:end;
    padding:7px 18px;
    border-radius:999px;
    background:color-mix(in srgb,var(--hw-accent2) 24%,white);
    color:var(--hw-accent);
    border:1px solid color-mix(in srgb,var(--hw-accent2) 55%,white);
    font-size:clamp(18px,2.2vmin,26px);
    font-weight:950;
}
.hw-root .hw180-sequence-task-head h2 {
    margin:0;
    color:#173f72;
    font-size:clamp(30px,4.2vmin,46px) !important;
    line-height:1 !important;
    font-weight:950;
    text-align:center;
    white-space:nowrap;
}
.hw-root .hw180-sequence-task-head small {
    justify-self:start;
    min-width:44px;
    padding:7px 12px;
    border-radius:14px;
    background:#fff;
    color:color-mix(in srgb,var(--hw-accent) 78%,#263d55);
    border:1px solid color-mix(in srgb,var(--hw-accent) 26%,white);
    font-size:18px;
    line-height:1;
    font-weight:900;
    text-align:center;
}
.hw-root .hw180-sequence-track {
    width:100%;
    height:100%;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(10px,1.2vw,16px);
    direction:ltr;
}
.hw-root .hw180-sequence-slot {
    position:relative;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    min-width:0;
    min-height:0;
    overflow:hidden;
    border:3px solid #83c2ee;
    border-radius:24px;
    background:linear-gradient(180deg,#fff,#eaf7ff);
    box-shadow:0 8px 20px rgba(32,103,162,.11),inset 0 0 0 4px rgba(255,255,255,.72);
}
.hw-root .hw180-sequence-track.slots-3 .hw180-sequence-slot { width:clamp(160px,15vw,205px);height:clamp(150px,21vh,195px); }
.hw-root .hw180-sequence-track.slots-4 .hw180-sequence-slot { width:clamp(142px,13vw,178px);height:clamp(142px,19vh,178px); }
.hw-root .hw180-sequence-track.slots-5 .hw180-sequence-slot { width:clamp(122px,11vw,154px);height:clamp(126px,17vh,156px); }
.hw-root .hw180-sequence-track.slots-6 .hw180-sequence-slot { width:clamp(108px,9.6vw,138px);height:clamp(116px,16vh,145px); }
.hw-root .hw180-sequence-slot.number b {
    color:#0d4380;
    font-size:clamp(88px,12vmin,142px) !important;
    line-height:.9;
    font-weight:950;
}
.hw-root .hw180-sequence-slot.missing {
    border-color:color-mix(in srgb,var(--hw-accent2) 86%,#e0a01e);
    background:linear-gradient(180deg,#fff8d9,#ffeaa2);
    box-shadow:0 9px 23px rgba(220,158,39,.20),inset 0 0 0 4px rgba(255,255,255,.60);
}
.hw-root .hw180-sequence-slot.missing b {
    color:#0d4380;
    font-size:clamp(88px,12vmin,142px) !important;
    line-height:.9;
    font-weight:950;
}
.hw-root .hw180-sequence-slot.object { padding:8px; }
.hw-root .hw180-sequence-slot.object .hw180-art {
    position:relative !important;
    width:100% !important;
    height:100% !important;
    min-width:0;
    min-height:0;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.hw-root .hw180-sequence-slot.object .hw180-art img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    padding:2px !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
}
.hw-root .hw180-sequence-slot.object .hw180-atomic-icon {
    font-size:clamp(72px,10vmin,120px) !important;
    filter:drop-shadow(0 5px 5px rgba(22,62,95,.12));
}
.hw-root .hw180-sequence-answer-tray {
    width:min(850px,88%);
    height:100%;
    display:grid;
    place-items:center;
    padding:8px 22px;
    box-sizing:border-box;
    border-radius:25px;
    background:linear-gradient(180deg,rgba(231,246,255,.86),rgba(255,255,255,.92));
    border:2px solid rgba(112,184,234,.48);
    box-shadow:inset 0 0 0 4px rgba(255,255,255,.58);
}
.hw-root .hw180-sequence-answers {
    width:100%;
    height:100%;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(16px,2vw,28px);
}
.hw-root .hw180-sequence-answer,
.hw-root .hw180-sequence-answer-placeholder {
    flex:0 0 auto;
    width:clamp(170px,16vw,220px);
    height:clamp(108px,13vh,132px);
    min-width:0;
    min-height:0;
    border-radius:24px;
    box-sizing:border-box;
}
.hw-root .hw180-sequence-answer {
    display:grid;
    place-items:center;
    overflow:hidden;
    border:3px solid #68b5ec;
    background:linear-gradient(180deg,#fff,#e9f7ff);
    color:#0d4380;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(27,94,151,.11),inset 0 0 0 4px rgba(255,255,255,.68);
    transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.hw-root .hw180-sequence-answer:hover,
.hw-root .hw180-sequence-answer:focus-visible {
    transform:translateY(-2px);
    border-color:var(--hw-accent);
    box-shadow:0 12px 25px rgba(27,94,151,.16),inset 0 0 0 4px rgba(255,255,255,.68);
}
.hw-root .hw180-sequence-answer.guide {
    border-color:#69a846;
    box-shadow:0 0 0 7px rgba(105,168,70,.15),0 11px 24px rgba(45,97,52,.12);
}
.hw-root .hw180-sequence-answer.number strong {
    font-size:clamp(76px,10vmin,118px) !important;
    line-height:.9;
    font-weight:950;
}
.hw-root .hw180-sequence-answer.object { padding:7px; }
.hw-root .hw180-sequence-answer.object .hw180-art {
    position:relative !important;
    width:100% !important;
    height:100% !important;
    min-width:0;
    min-height:0;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.hw-root .hw180-sequence-answer.object .hw180-art img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    padding:2px !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
}
.hw-root .hw180-sequence-answer.object .hw180-atomic-icon {
    font-size:clamp(66px,9vmin,108px) !important;
    filter:drop-shadow(0 5px 5px rgba(22,62,95,.12));
}
.hw-root .hw180-sequence-decor {
    position:absolute;
    z-index:2;
    width:clamp(82px,8vw,126px);
    height:clamp(82px,8vw,126px);
    display:grid;
    place-items:center;
    pointer-events:none;
    border-radius:50%;
    background:rgba(255,255,255,.78);
    border:2px solid rgba(255,255,255,.82);
    box-shadow:0 8px 24px rgba(14,48,86,.16);
    backdrop-filter:blur(4px);
}
.hw-root .hw180-sequence-decor .hw180-art {
    position:relative !important;
    width:88% !important;
    height:88% !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.hw-root .hw180-sequence-decor .hw180-art img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
    padding:3px !important;
}
.hw-root .hw180-sequence-decor .hw180-atomic-icon { font-size:clamp(52px,6.4vw,88px) !important; }
.hw-root .hw180-sequence-decor.decor-1 { left:18px;top:22px;transform:rotate(-7deg); }
.hw-root .hw180-sequence-decor.decor-2 { right:18px;top:24px;transform:rotate(6deg); }
.hw-root .hw180-sequence-decor.decor-3 { left:24px;bottom:22px;transform:rotate(5deg); }
.hw-root .hw180-sequence-decor.decor-4 { right:24px;bottom:24px;transform:rotate(-6deg); }
.hw-root .hw180-sequence-screen.quiet .hw180-sequence-decor { opacity:.72;filter:saturate(.65); }
.hw-root .hw180-sequence-screen > .hw180-actions {
    grid-area:actions;
    gap:12px;
}
.hw-root .hw180-sequence-screen > .hw180-actions .hw180-secondary {
    min-width:150px;
    min-height:56px;
    border:2px solid color-mix(in srgb,var(--hw-accent) 34%,#cbdcd8);
    border-radius:18px;
    font-size:clamp(20px,2.4vmin,26px);
    box-shadow:0 7px 16px rgba(25,72,109,.08);
}

@media (min-width:821px) and (max-height:780px) {
    .hw-root .hw180-question.activity-sequence.hw180-sequence-screen {
        grid-template-rows:70px minmax(0,1fr) 56px;
        gap:6px;
    }
    .hw-root .hw180-sequence-instruction { height:70px;min-height:70px; }
    .hw-root .hw180-sequence-instruction p { font-size:clamp(36px,4.8vmin,52px) !important; }
    .hw-root .hw180-sequence-playfield {
        height:calc(100% - 16px);
        margin:8px auto;
        grid-template-rows:42px 48px minmax(0,1fr) 130px;
        padding-top:6px;
        padding-bottom:8px;
        gap:4px;
    }
    .hw-root .hw180-sequence-title { height:40px; }
    .hw-root .hw180-sequence-title b { font-size:clamp(21px,2.7vmin,30px); }
    .hw-root .hw180-sequence-task-head h2 { font-size:clamp(27px,3.8vmin,40px) !important; }
    .hw-root .hw180-sequence-track.slots-3 .hw180-sequence-slot { height:clamp(132px,18vh,165px); }
    .hw-root .hw180-sequence-track.slots-4 .hw180-sequence-slot { height:clamp(126px,17vh,154px); }
    .hw-root .hw180-sequence-track.slots-5 .hw180-sequence-slot { height:clamp(112px,15vh,140px); }
    .hw-root .hw180-sequence-track.slots-6 .hw180-sequence-slot { height:clamp(104px,14vh,132px); }
    .hw-root .hw180-sequence-answer,
    .hw-root .hw180-sequence-answer-placeholder { height:106px; }
    .hw-root .hw180-sequence-decor { width:86px;height:86px; }
}

@media (max-width:820px) {
    .hw-root .hw180-question.activity-sequence.hw180-sequence-screen {
        height:auto;
        min-height:calc(100dvh - 60px);
        grid-template-rows:auto auto auto;
        overflow:visible;
    }
    .hw-root .hw180-sequence-instruction { width:96%;height:auto;min-height:66px;padding-inline:64px; }
    .hw-root .hw180-sequence-instruction p { font-size:clamp(31px,8vw,42px) !important; }
    .hw-root .hw180-sequence-board { height:auto;min-height:660px;overflow:hidden; }
    .hw-root .hw180-sequence-playfield {
        width:94%;
        height:auto;
        min-height:620px;
        grid-template-rows:auto auto auto auto;
        padding:10px;
    }
    .hw-root .hw180-sequence-title { width:92%;height:44px; }
    .hw-root .hw180-sequence-title b { font-size:clamp(18px,5.5vw,25px);white-space:normal;text-align:center; }
    .hw-root .hw180-sequence-task-head { grid-template-columns:1fr;justify-items:center; }
    .hw-root .hw180-sequence-task-head > span,.hw-root .hw180-sequence-task-head small { justify-self:center; }
    .hw-root .hw180-sequence-track { flex-wrap:wrap;height:auto;min-height:250px; }
    .hw-root .hw180-sequence-track.slots-3 .hw180-sequence-slot,
    .hw-root .hw180-sequence-track.slots-4 .hw180-sequence-slot,
    .hw-root .hw180-sequence-track.slots-5 .hw180-sequence-slot,
    .hw-root .hw180-sequence-track.slots-6 .hw180-sequence-slot { width:clamp(96px,27vw,138px);height:clamp(106px,29vw,146px); }
    .hw-root .hw180-sequence-answer-tray { width:96%;height:auto;min-height:150px; }
    .hw-root .hw180-sequence-answers { flex-wrap:wrap; }
    .hw-root .hw180-sequence-answer,.hw-root .hw180-sequence-answer-placeholder { width:clamp(130px,38vw,190px);height:120px; }
    .hw-root .hw180-sequence-decor { width:72px;height:72px;opacity:.72; }
}

/* v1.9.15: per-holiday object library + distinct activity artwork. */
.hw-root .hw-activity-card-rich .hw-activity-thumb {
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 132px;
    max-height: 172px;
    background: var(--hw-paper);
}
.hw-root .hw-activity-card-rich .hw-activity-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}
.hw-root .hw-activity-card-rich {
    overflow: hidden;
}
.hw-root .hw180-art.isolated,
.hw-root .hw180-art.exact {
    overflow: hidden !important;
    background: #fffdf8 !important;
}
.hw-root .hw180-art.isolated img,
.hw-root .hw180-art.exact img,
.hw-root .hw180-sequence-slot.object .hw180-art img,
.hw-root .hw180-sequence-answer.object .hw180-art img,
.hw-root .hw180-sequence-decor .hw180-art img {
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    max-width: 100% !important;
    max-height: 100% !important;
}
.hw-root .hw180-sequence-slot.object,
.hw-root .hw180-sequence-answer.object {
    overflow: hidden;
}
@media (min-width: 900px) and (max-height: 820px) {
    .hw-root .hw-activity-card-rich .hw-activity-thumb {
        min-height: 122px;
        max-height: 150px;
    }
    .hw-root .hw-activity-card-rich strong { font-size: 24px !important; }
    .hw-root .hw-activity-card-rich small { font-size: 15px !important; }
}


/* 1.9.18 sentence activity: one renderer for every holiday, themed only by assets/variables. */
.hw-root .hw180-question.activity-sentence {
    position:relative;
    isolation:isolate;
    gap:10px;
    overflow:hidden;
    border-radius:32px;
    background:
        radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--hw-accent2) 18%,transparent),transparent 28%),
        radial-gradient(circle at 86% 84%,color-mix(in srgb,var(--hw-accent) 10%,transparent),transparent 30%),
        linear-gradient(180deg,color-mix(in srgb,var(--hw-paper) 86%,white),rgba(255,255,255,.96));
}
.hw-root .hw180-question.activity-sentence > * { position:relative;z-index:1; }
.hw-root .activity-sentence .hw180-instruction {
    width:min(1020px,92%);
    min-height:clamp(68px,8.5vh,86px);
    border:0;
    border-radius:30px;
    background:rgba(255,253,247,.96);
    box-shadow:0 14px 34px rgba(37,72,55,.10),inset 0 0 0 1px rgba(255,255,255,.9);
}
.hw-root .activity-sentence .hw180-instruction p {
    color:color-mix(in srgb,var(--hw-accent) 60%,#153d6d);
    font-size:clamp(38px,4.8vmin,58px) !important;
}
.hw-root .activity-sentence .hw180-instruction button {
    width:58px;height:58px;border-radius:19px;
    animation:hw-sentence-speaker 2.8s ease-in-out infinite;
}
.hw-root .hw180-sentence {
    grid-area:sentence;
    position:relative;
    width:100%;height:100%;min-height:0;
    padding:0 clamp(8px,1.2vw,18px) 4px;
    box-sizing:border-box;
    display:grid;
    grid-template-rows:minmax(220px,1fr) auto auto;
    gap:12px;
    justify-items:center;
    align-items:center;
}
.hw-root .hw180-sentence::before {
    content:"";
    position:absolute;inset:0;
    border-radius:28px;
    background-image:var(--hw-sentence-scene);
    background-size:cover;
    background-position:center;
    opacity:.12;
    filter:blur(10px) saturate(1.15);
    transform:scale(1.04);
    pointer-events:none;
}
.hw-root .hw180-sentence-scene {
    position:relative;
    width:auto;max-width:min(1000px,76vw);
    height:min(40vh,330px);min-height:220px;aspect-ratio:16/9;
    overflow:hidden;
    border-radius:28px;
    background:color-mix(in srgb,var(--hw-paper) 82%,white);
    box-shadow:0 16px 38px rgba(33,72,55,.11);
}
.hw-root .hw180-sentence-scene img {
    width:100%;height:100%;display:block;
    object-fit:contain;object-position:center;
    background:color-mix(in srgb,var(--hw-paper) 86%,white);
}
.hw-root .hw180-sentence-board {
    width:min(1180px,94%);
    min-height:86px;
    padding:10px;
    display:grid;
    grid-template-columns:repeat(var(--hw-sentence-count),minmax(0,1fr));
    direction:rtl;
    gap:10px;
    box-sizing:border-box;
    border:2px solid color-mix(in srgb,var(--hw-accent) 15%,white);
    border-radius:28px;
    background:rgba(255,255,255,.88);
    box-shadow:0 12px 30px rgba(38,75,58,.10),inset 0 0 0 1px rgba(255,255,255,.9);
    backdrop-filter:blur(8px);
}
.hw-root .hw180-sentence-slot {
    position:relative;
    min-width:0;min-height:70px;
    display:grid;place-items:center;
    padding:8px 12px;
    border-radius:22px;
    box-sizing:border-box;
    font-family:inherit;
    font-weight:950;
    cursor:pointer;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.hw-root .hw180-sentence-slot span {
    font-size:clamp(30px,4.2vmin,52px) !important;
    line-height:1 !important;
    color:#173f36;
    white-space:nowrap;
}
.hw-root .hw180-sentence-slot.empty {
    border:2px dashed #c6d9df;
    background:rgba(247,251,252,.86);
}
.hw-root .hw180-sentence-slot.active {
    border:3px solid color-mix(in srgb,var(--hw-accent) 74%,#57a744);
    background:color-mix(in srgb,var(--hw-accent) 5%,white);
    box-shadow:0 0 0 7px color-mix(in srgb,var(--hw-accent) 12%,transparent),0 8px 22px rgba(34,92,55,.10);
    animation:hw-sentence-active 1.65s ease-in-out infinite;
}
.hw-root .hw180-sentence-slot.filled {
    border:2px solid color-mix(in srgb,var(--hw-accent) 58%,white);
    background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--hw-paper) 70%,white));
    box-shadow:0 8px 18px rgba(37,72,55,.08);
}
.hw-root .hw180-sentence-slot.filled:hover,.hw-root .hw180-sentence-slot.filled:focus-visible {
    transform:translateY(-2px);
    box-shadow:0 12px 22px rgba(37,72,55,.13);
}
.hw-root .hw180-sentence-slot.just-filled { animation:hw-sentence-place .36s cubic-bezier(.2,.8,.25,1); }
.hw-root .hw180-sentence-slot.is-wrong { animation:hw-sentence-shake .26s ease; border-color:#d95b50;box-shadow:0 0 0 5px rgba(217,91,80,.11); }

.hw-root .hw180-word-grid {
    width:min(1100px,92%);
    height:auto;min-height:0;
    display:grid;
    grid-template-columns:repeat(var(--hw-word-count),minmax(0,1fr));
    direction:rtl;
    align-items:center;
    justify-content:center;
    gap:12px;
}
.hw-root .hw180-word {
    min-width:0;min-height:78px;
    padding:10px 18px;
    display:grid;place-items:center;
    border:2px solid color-mix(in srgb,var(--hw-accent) 44%,#d2dfd8);
    border-radius:22px;
    background:linear-gradient(180deg,#fff,#fffdf8);
    color:#193f36;
    font-family:inherit;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(38,75,58,.09);
    transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,opacity .14s ease;
}
.hw-root .hw180-word span { font-size:clamp(30px,4.2vmin,52px) !important;line-height:1 !important;white-space:nowrap; }
.hw-root .hw180-word:hover:not(:disabled),.hw-root .hw180-word:focus-visible:not(:disabled) {
    transform:translateY(-3px) scale(1.015);
    border-color:var(--hw-accent);
    box-shadow:0 15px 28px rgba(38,75,58,.15);
}
.hw-root .hw180-word:active:not(:disabled) { transform:translateY(0) scale(.97); }
.hw-root .hw180-word:disabled { opacity:.34;cursor:default;box-shadow:none; }
.hw-root .hw180-word.guide:not(:disabled) {
    border-color:var(--hw-accent);
    background:color-mix(in srgb,var(--hw-accent) 6%,white);
    box-shadow:0 0 0 7px color-mix(in srgb,var(--hw-accent) 11%,transparent),0 12px 25px rgba(38,75,58,.10);
}
.hw-root .hw180-word.is-wrong { animation:hw-sentence-shake .26s ease;background:#fff6f5;border-color:#d95b50; }
.hw180-word-flight {
    position:fixed;z-index:2147483647;
    display:grid;place-items:center;
    box-sizing:border-box;
    border:2px solid #5a9c58;border-radius:22px;
    background:#fff;color:#173f36;
    font:950 clamp(30px,4.2vmin,52px)/1 Arial,"Noto Sans Hebrew",sans-serif;
    box-shadow:0 18px 38px rgba(27,69,48,.20);
    pointer-events:none;
}
.hw-root .activity-sentence .hw180-actions {
    gap:12px;
    padding-bottom:2px;
}
.hw-root .activity-sentence .hw180-actions button {
    min-height:52px;
    padding-inline:22px;
    border-radius:18px;
}
.hw-root .hw180-child-mode.status-success .hw180-sentence-slot.filled {
    animation:hw-sentence-success .46s ease both;
    animation-delay:calc(var(--slot-index) * 80ms);
}
.hw-root .hw180-child-mode.status-placing .hw180-sentence-slot.active { animation:none; }

@keyframes hw-sentence-active {
    0%,100% { box-shadow:0 0 0 5px color-mix(in srgb,var(--hw-accent) 10%,transparent),0 8px 22px rgba(34,92,55,.08); }
    50% { box-shadow:0 0 0 9px color-mix(in srgb,var(--hw-accent2) 18%,transparent),0 12px 28px rgba(34,92,55,.13); }
}
@keyframes hw-sentence-place { 0%{transform:scale(.92);opacity:.72} 62%{transform:scale(1.045)} 100%{transform:scale(1);opacity:1} }
@keyframes hw-sentence-shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(6px)} 50%{transform:translateX(-6px)} 75%{transform:translateX(4px)} }
@keyframes hw-sentence-success { 0%{transform:translateY(0)} 45%{transform:translateY(-5px);box-shadow:0 0 0 7px color-mix(in srgb,var(--hw-accent2) 18%,transparent)} 100%{transform:translateY(0)} }
@keyframes hw-sentence-speaker { 0%,72%,100%{box-shadow:0 6px 16px rgba(48,117,175,.09)} 82%{box-shadow:0 0 0 8px rgba(70,151,220,.10),0 6px 16px rgba(48,117,175,.12)} }

@media (max-width:820px) {
    .hw-root .hw180-question.activity-sentence { border-radius:22px; }
    .hw-root .hw180-sentence { grid-template-rows:minmax(180px,34vh) auto auto;gap:9px;padding-inline:4px; }
    .hw-root .hw180-sentence-scene { width:auto;max-width:min(96vw,760px);height:min(34vh,290px);min-height:180px;aspect-ratio:16/9;border-radius:20px; }
    .hw-root .hw180-sentence-board { width:98%;min-height:70px;padding:7px;gap:6px;border-radius:20px; }
    .hw-root .hw180-sentence-slot { min-height:58px;padding:6px;border-radius:16px; }
    .hw-root .hw180-sentence-slot span,.hw-root .hw180-word span { font-size:clamp(24px,6vw,38px) !important; }
    .hw-root .hw180-word-grid { width:98%;gap:7px; }
    .hw-root .hw180-word { min-height:64px;padding:8px;border-radius:17px; }
}
@media (max-height:760px) and (min-width:821px) {
    .hw-root .activity-sentence .hw180-instruction { min-height:60px; }
    .hw-root .activity-sentence .hw180-instruction p { font-size:clamp(34px,4.5vmin,48px) !important; }
    .hw-root .hw180-sentence { grid-template-rows:minmax(190px,32vh) auto auto;gap:8px; }
    .hw-root .hw180-sentence-scene { height:min(37vh,285px);min-height:200px; }
    .hw-root .hw180-sentence-board { min-height:70px;padding:7px; }
    .hw-root .hw180-sentence-slot { min-height:58px; }
    .hw-root .hw180-word { min-height:66px; }
    .hw-root .activity-sentence .hw180-actions button { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
    .hw-root .activity-sentence .hw180-instruction button,
    .hw-root .hw180-sentence-slot.active,
    .hw-root .hw180-sentence-slot.just-filled,
    .hw-root .hw180-child-mode.status-success .hw180-sentence-slot.filled,
    .hw-root .hw180-word.is-wrong,
    .hw-root .hw180-sentence-slot.is-wrong { animation:none !important; }
}
.hw-root .hw-reduced .activity-sentence .hw180-instruction button,
.hw-root .hw-reduced .hw180-sentence-slot.active,
.hw-root .hw-reduced .hw180-sentence-slot.just-filled,
.hw-root .hw-reduced .hw180-child-mode.status-success .hw180-sentence-slot.filled,
.hw-root .hw-reduced .hw180-word.is-wrong,
.hw-root .hw-reduced .hw180-sentence-slot.is-wrong { animation:none !important;transition:none !important; }


/* 1.9.19: subtraction uses one full group; removed objects are crossed out. */
.hw-root .activity-subtract .hw180-math-scene.hw-subtract-crossed {
    grid-template-columns: 1fr;
    justify-content: center;
}
.hw-root .activity-subtract .hw-subtract-base {
    margin-inline: auto;
}
.hw-root .activity-subtract .hw-subtract-base .hw180-mini-object {
    position: relative;
}
.hw-root .activity-subtract .hw-subtract-base .hw180-mini-object.hw-subtracted::before,
.hw-root .activity-subtract .hw-subtract-base .hw180-mini-object.hw-subtracted::after {
    content: "";
    position: absolute;
    z-index: 20;
    left: 50%;
    top: 7%;
    width: 6px;
    height: 86%;
    border-radius: 999px;
    background: #b42318;
    box-shadow: 0 0 0 1px rgba(255,255,255,.8);
    transform-origin: center;
    pointer-events: none;
}
.hw-root .activity-subtract .hw-subtract-base .hw180-mini-object.hw-subtracted::before {
    transform: translateX(-50%) rotate(45deg);
}
.hw-root .activity-subtract .hw-subtract-base .hw180-mini-object.hw-subtracted::after {
    transform: translateX(-50%) rotate(-45deg);
}

/* v1.9.20: integrated compact accessible desktop chooser layout (formerly WPCode 2222). */
@media (min-width: 1024px) and (min-height: 650px) {
    body:has(.hw-holiday-page) .site-footer {
        display: none !important;
    }

    .hw-root:has(.hw-holiday-page),
    .hw-holiday-page {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .hw-holiday-page {
        padding: 8px 14px 76px !important;
    }

    .hw-holiday-page .hw-section {
        margin: 0 0 7px !important;
        padding: 0 !important;
    }

    .hw-holiday-page .hw-section > h2,
    .hw-holiday-page .hw-section > h3 {
        margin: 2px 0 4px !important;
        font-size: clamp(18px, 1.35vw, 22px) !important;
        line-height: 1.15 !important;
    }

    .hw-holiday-page .hw-section > p {
        margin: 0 0 5px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        color: #3f514b !important;
    }

    .hw-holiday-page .hw-activity-grid,
    .hw-holiday-page .hw-activity-grid-rich {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .hw-holiday-page .hw-activity-card,
    .hw-holiday-page .hw-activity-card-rich {
        position: relative !important;
        display: grid !important;
        grid-template-rows: 94px 40px !important;
        min-height: 134px !important;
        height: 134px !important;
        padding: 0 !important;
        border-radius: 13px !important;
        overflow: hidden !important;
    }

    .hw-holiday-page .hw-activity-thumb {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        display: block !important;
        width: 100% !important;
        height: 94px !important;
        min-height: 94px !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #fffdf8 !important;
    }

    .hw-holiday-page .hw-activity-thumb img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    .hw-holiday-page .hw-activity-card strong,
    .hw-holiday-page .hw-activity-card-rich strong {
        position: static !important;
        z-index: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 4px 7px !important;
        color: #173f35 !important;
        background: rgba(255,255,255,.98) !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .hw-holiday-page .hw-activity-card small,
    .hw-holiday-page .hw-activity-card-rich small,
    .hw-holiday-page .hw-activity-foot {
        display: none !important;
    }

    .hw-holiday-page .hw-activity-badge {
        position: absolute !important;
        z-index: 5 !important;
        top: 5px !important;
        right: 5px !important;
        padding: 4px 6px !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
    }
}

@media (min-width: 1024px) and (max-width: 1280px) {
    .hw-holiday-page .hw-activity-grid,
    .hw-holiday-page .hw-activity-grid-rich {
        gap: 6px !important;
    }

    .hw-holiday-page .hw-activity-card,
    .hw-holiday-page .hw-activity-card-rich {
        grid-template-rows: 88px 40px !important;
        min-height: 128px !important;
        height: 128px !important;
    }

    .hw-holiday-page .hw-activity-thumb {
        height: 88px !important;
        min-height: 88px !important;
    }

    .hw-holiday-page .hw-activity-card strong,
    .hw-holiday-page .hw-activity-card-rich strong {
        font-size: 14px !important;
    }
}

/* v1.9.21: integrated accessibility layer (formerly WPCode 2224). */
.hw-root {
    --hw-a11y-text: #173f35;
    --hw-a11y-muted: #3f514b;
    --hw-a11y-focus: #0b6f4f;
}

.hw-root button,
.hw-root [role="button"] {
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
}

.hw-root button:focus-visible,
.hw-root [role="button"]:focus-visible,
.hw-root a:focus-visible,
.hw-root input:focus-visible,
.hw-root select:focus-visible,
.hw-root textarea:focus-visible {
    outline: 3px solid var(--hw-a11y-focus) !important;
    outline-offset: 3px !important;
}

.hw-root .hw-activity-card strong,
.hw-root .hw-activity-card-rich strong {
    color: var(--hw-a11y-text) !important;
}

.hw-root .hw-activity-card small,
.hw-root .hw-activity-card-rich small,
.hw-root .hw-activity-foot {
    color: var(--hw-a11y-muted) !important;
}

/* The site shell removes focus outlines on coarse/mobile pointers.
   Holiday Worlds explicitly restores them inside the tool. */
@media (hover: none), (pointer: coarse), (max-width: 767px) {
    html body .hw-root button:focus-visible,
    html body .hw-root [role="button"]:focus-visible,
    html body .hw-root a:focus-visible,
    html body .hw-root input:focus-visible,
    html body .hw-root select:focus-visible,
    html body .hw-root textarea:focus-visible {
        outline: 3px solid var(--hw-a11y-focus) !important;
        outline-offset: 3px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hw-root *,
    .hw-root *::before,
    .hw-root *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

