*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f6f8fb;color:#1e293b}.topbar{height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:22px;color:#0f766e;text-decoration:none}.topbar nav{display:flex;gap:18px}.topbar a{color:#334155;text-decoration:none}.container{max-width:1180px;margin:32px auto;padding:0 20px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 8px 30px rgba(15,23,42,.04)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.btn{display:inline-block;border:0;border-radius:10px;padding:11px 16px;background:#0f766e;color:white;text-decoration:none;cursor:pointer}.btn.secondary{background:#e2e8f0;color:#1e293b}.btn.danger{background:#b91c1c}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}textarea{min-height:120px}.field{margin:12px 0}.label{font-weight:700;margin-bottom:6px;display:block}.muted{color:#64748b}.he{direction:rtl;text-align:right;font-size:1.08rem}.options{display:grid;gap:10px}.option{border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#fff}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}th{background:#f8fafc}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#ecfeff;color:#155e75;font-size:12px}.alert{padding:12px;border-radius:10px;margin:12px 0;background:#ecfdf5}.alert.error{background:#fef2f2}.exercise-media img{max-width:100%;border-radius:12px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.admin-nav a{padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;text-decoration:none;color:#334155}.rtl{direction:rtl}.sortable-item{padding:10px;border:1px solid #cbd5e1;border-radius:8px;margin:7px 0;background:#fff;cursor:grab}footer{text-align:center;padding:30px;color:#64748b}@media(max-width:700px){.topbar{height:auto;padding:14px 20px;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap}.container{margin-top:18px}}
/* Admin course-manager UI */
.admin-body{background:#f3f5f7;color:#263238}.admin-body .topbar,.admin-body>footer{display:none}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#27343b;color:#c7d0d5;z-index:40;display:flex;flex-direction:column;box-shadow:2px 0 9px rgba(0,0,0,.08)}.admin-logo{height:76px;padding:14px 18px;display:flex;align-items:center;gap:12px;background:#202b31;border-bottom:1px solid rgba(255,255,255,.06)}.admin-logo-mark{width:42px;height:42px;display:grid;place-items:center;background:#18a4cf;border-radius:9px;color:#fff;font:bold 25px Arial}.admin-logo b{display:block;color:#fff;font-size:18px;letter-spacing:.5px}.admin-logo small{display:block;color:#91a0a8;font-size:11px;margin-top:3px}.admin-menu{padding:12px 0;overflow:auto;flex:1}.admin-menu a{height:43px;padding:0 17px;display:flex;align-items:center;gap:12px;color:#c2cbd0;text-decoration:none;border-left:3px solid transparent;font-size:14px}.admin-menu a span{width:22px;text-align:center;font-size:17px;color:#9eabb2}.admin-menu a:hover{background:#303f47;color:#fff}.admin-menu a.active{background:#138fbe;color:#fff;border-left-color:#62cdf3}.admin-menu a.active span{color:#fff}.admin-menu-caption{padding:18px 20px 7px;color:#75858e;font-size:10px;font-weight:700;letter-spacing:1.2px}.admin-sidebar-bottom{padding:14px 17px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between}.admin-sidebar-bottom a{color:#95a4ac;text-decoration:none;font-size:12px}.admin-workspace{margin-left:244px;min-width:0;width:calc(100% - 244px)}.admin-topbar{height:76px;background:#fff;border-bottom:1px solid #dce3e7;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:25}.admin-topbar>div:first-of-type strong{font-size:18px}.admin-topbar small{display:block;color:#9aa7ad;font-size:11px;margin-top:3px}.admin-user{display:flex;align-items:center;gap:10px;font-size:13px}.admin-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7f6fb;color:#098ab8;font-weight:800}.admin-menu-toggle{display:none;border:0;background:none;font-size:24px}.admin-content{max-width:none;margin:0;padding:28px 32px 60px}.admin-content h1{font-size:24px;margin:0 0 20px}.admin-content .card{border-radius:3px;box-shadow:0 1px 2px rgba(27,39,45,.06);border-color:#dce3e7}.admin-content .btn{border-radius:3px;background:#149ac7}.admin-content .btn.secondary{background:#eef2f4;color:#41515a}.admin-content .btn.danger{background:#d85c59}.admin-content input,.admin-content select,.admin-content textarea{border-radius:3px}.admin-content table{border:1px solid #dce3e7}.admin-content th{background:#f5f7f8;color:#62717a;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.admin-nav{display:none}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:18px;margin-bottom:24px}.admin-stat{background:#fff;border:1px solid #dce3e7;padding:20px;display:flex;justify-content:space-between;align-items:center}.admin-stat b{font-size:28px;color:#24333b}.admin-stat small{display:block;color:#89979e;margin-bottom:6px}.admin-stat-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eaf7fb;color:#1598c3;font-size:20px}.course-builder{background:#fff;border:1px solid #d9e1e5}.course-builder-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #dce3e7}.course-section{border-bottom:1px solid #dce3e7}.course-section:last-child{border-bottom:0}.course-section-title{background:#eef8fb;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;font-size:16px}.course-section-title-left{display:flex;align-items:center;gap:12px}.drag-handle{color:#9aa7ad;font-size:18px;cursor:grab}.course-count{color:#8c999f;font-size:12px;font-weight:400}.course-items{padding:14px 24px 18px}.course-item{min-height:54px;border:1px solid #e2e7ea;background:#fafbfb;display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:7px}.course-item:hover{background:#fff;border-color:#bed9e3}.course-item-icon{color:#0799ca;font-size:20px}.course-item-title{flex:1;color:#24343c;text-decoration:none}.course-item-meta{color:#8b999f;font-size:12px}.course-actions{display:flex;gap:8px;opacity:.6}.course-item:hover .course-actions{opacity:1}.course-actions a{color:#6f7f87;text-decoration:none;padding:4px}.course-add{display:flex;gap:9px;align-items:center;color:#178eb7;text-decoration:none;padding:8px 3px;font-size:13px}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.admin-section-heading h1{margin:0}.admin-kicker{font-size:12px;color:#8a989f;margin-top:4px}.empty-state{padding:30px;text-align:center;color:#8a989f}
@media(max-width:900px){.admin-sidebar{transform:translateX(-100%);transition:.2s}.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-workspace{margin-left:0;width:100%}.admin-menu-toggle{display:block}.admin-topbar{padding:0 15px}.admin-content{padding:20px 14px}.admin-stats{grid-template-columns:repeat(2,1fr)}}
/* Lesson builder — Eduma/LearnPress inspired structure */
.builder-page{max-width:1250px;margin:0 auto}.builder-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.builder-titlebar h1{margin:6px 0 4px!important;font-size:26px!important}.builder-back{color:#168fba;text-decoration:none;font-size:13px}.builder-title-actions{display:flex;gap:9px;flex-wrap:wrap}.builder-notice{background:#ecf9f2;border-left:4px solid #3bb273;padding:12px 14px;margin-bottom:16px}.builder-settings{display:none}.builder-settings.is-open{display:block}.builder-panel-head,.builder-inline-title,.builder-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.builder-panel-head{padding-bottom:14px;border-bottom:1px solid #e6ecef;margin-bottom:12px}.builder-panel-head strong{font-size:17px}.builder-panel-head small{display:block;color:#909da4;margin-top:3px}.icon-button{border:0;background:transparent;color:#84939a;font-size:22px;cursor:pointer}.switch-label{display:flex;align-items:center;gap:8px}.switch-label input{width:auto}.lesson-builder-stack{border:1px solid #d9e1e5;background:#fff}.lesson-builder-block{border-bottom:1px solid #d9e1e5}.lesson-builder-block:last-child{border-bottom:0}.lesson-builder-heading{width:100%;border:0;background:#eff9fc;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;color:#2e3b42}.lesson-builder-heading-main{display:flex;align-items:center;gap:13px}.lesson-builder-heading-main b{display:block;font-size:16px}.lesson-builder-heading-main small{display:block;color:#89979e;font-weight:400;margin-top:3px}.block-icon{width:31px;height:31px;border-radius:3px;background:#159bc7;color:#fff;display:grid;place-items:center;font-size:17px}.lesson-builder-heading-right{display:flex;align-items:center;gap:14px}.count-pill{min-width:27px;height:23px;padding:0 7px;border-radius:13px;background:#fff;color:#7b8b92;display:grid;place-items:center;border:1px solid #d8e6eb;font-size:12px}.chevron{font-size:17px;color:#8a9aa1;transition:.15s}.lesson-builder-block.is-collapsed .chevron{transform:rotate(180deg)}.lesson-builder-body{padding:13px 25px 18px;background:#fff}.builder-sort-list{min-height:4px}.builder-row{position:relative;min-height:58px;border:1px solid #e0e6e9;background:#fafafa;display:flex;align-items:center;gap:11px;padding:8px 11px;margin-bottom:7px;transition:border-color .12s,box-shadow .12s,opacity .12s}.builder-row:hover{background:#fff;border-color:#bcd7e1;box-shadow:0 1px 3px rgba(30,54,64,.05)}.builder-row.is-dragging{opacity:.4;border-style:dashed}.drag-dots{font-size:23px;color:#a4afb4;cursor:grab;line-height:1}.drag-dots:active{cursor:grabbing}.row-type-icon{width:27px;text-align:center;color:#0699ca;font-size:21px}.builder-row-main{flex:1;min-width:0}.builder-row-main strong{display:block;font-size:14px;color:#25363e}.builder-row-main small{display:block;color:#8d9ba1;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.he-inline{direction:rtl;unicode-bidi:embed;font-size:16px!important}.builder-row-actions{display:flex;align-items:center;gap:4px}.builder-row-actions form{margin:0}.row-action{width:31px;height:31px;border:0;background:transparent;color:#84949b;text-decoration:none;display:grid;place-items:center;font-size:17px;cursor:pointer;border-radius:3px}.row-action:hover{background:#edf5f8;color:#0d91bf}.danger-link:hover{background:#fff0f0;color:#c34d4d}.builder-row-detail{display:none;position:relative;flex-basis:100%;width:100%;border-top:1px solid #e6ecef;margin:8px 0 -8px;padding:13px 10px 14px 71px;color:#5e6d74;font-size:13px;line-height:1.55}.builder-row-detail.is-open{display:block}.builder-row:has(.builder-row-detail.is-open){flex-wrap:wrap}.text-preview-he{direction:rtl;text-align:right;font-size:15px;color:#263940;background:#f8fbfc;padding:10px 12px}.text-preview-ru{margin-top:8px;color:#68767c}.builder-empty{padding:21px;text-align:center;border:1px dashed #d8e0e4;color:#93a0a6;background:#fbfcfc}.builder-add-button{border:0;background:transparent;color:#138db7;text-decoration:none;display:flex;align-items:center;gap:8px;padding:11px 5px 4px;font-size:14px;cursor:pointer}.builder-add-button:first-letter{font-size:18px}.builder-inline-form{display:none;background:#f8fafb;border:1px solid #dbe5e9;margin-top:12px;padding:18px}.builder-inline-form.is-open{display:block}.builder-inline-title{border-bottom:1px solid #dfe7ea;padding-bottom:10px;margin-bottom:9px}.builder-inline-title b{font-size:16px}.more-fields{margin:12px 0}.more-fields summary{cursor:pointer;color:#168fb9;font-size:13px}.more-fields[open] summary{margin-bottom:10px}.sort-status{position:fixed;right:25px;bottom:25px;background:#26373f;color:#fff;border-radius:4px;padding:11px 15px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:99;font-size:13px}.sort-status.show{opacity:1;transform:none}.sort-status.error{background:#a94442}.editor-narrow{max-width:1050px;margin:0 auto}.editor-narrow>.builder-back{display:inline-block;margin-bottom:13px}.tall-textarea{min-height:260px}.builder-form-footer{margin-top:14px}.builder-form-footer .btn{min-width:150px}
@media(max-width:750px){.builder-titlebar{display:block}.builder-title-actions{margin-top:14px}.lesson-builder-body{padding:10px}.lesson-builder-heading{padding:13px}.lesson-builder-heading-main small{display:none}.builder-row{gap:6px}.builder-row-main small{max-width:210px}.builder-row-actions{gap:0}.row-action{width:28px}.builder-row-detail{padding-left:10px}}
/* Audio uploads and synchronized reading */
.audio-upload-box{border:1px solid #d9e4e8;background:#f8fbfc;padding:16px;margin:15px 0;display:grid;gap:11px}.audio-upload-box>div:first-child strong{display:block;font-size:15px}.audio-upload-box>div:first-child small{display:block;color:#7d8d94;margin-top:4px}.audio-upload-box audio{width:100%;max-width:620px}.audio-drop{border:1px dashed #9fc8d7;background:#fff;min-height:68px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;color:#168eb8;cursor:pointer}.audio-drop input{max-width:360px}.remove-media{font-size:12px;color:#8b5e5e}.builder-error{background:#fff0f0;border-left:4px solid #d45959;padding:11px 13px;margin-bottom:14px;color:#8d3d3d}.sync-editor{border:1px solid #d8e4e8;background:#fff;margin:17px 0;padding:17px}.sync-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.sync-editor-head strong{display:block}.sync-editor-head small{display:block;color:#829198;margin-top:4px}.sync-progress{background:#eef7fa;border:1px solid #d4e7ed;padding:5px 9px;border-radius:12px;font-size:12px;color:#53808f}.sync-help{margin:13px 0;background:#f7f9fa;padding:11px 12px;color:#617178;font-size:13px;line-height:1.55}.sync-help kbd{background:#263840;color:#fff;border-radius:3px;padding:2px 6px}.sync-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.sync-token-area{border:1px solid #e0e6e9;background:#fbfcfc;padding:15px;min-height:90px;direction:rtl;text-align:right;line-height:2.1}.sync-token{border:0;background:transparent;font:inherit;color:#32434a;padding:2px 4px;border-radius:3px;cursor:pointer}.sync-token.timed{box-shadow:inset 0 -2px #8ac8dc}.sync-token.current{background:#fff0a8;box-shadow:0 0 0 2px #edc84b}.sync-current{margin-top:10px;font-size:13px;color:#65757c}.reading-player{background:#f5fafc;border:1px solid #dbe9ee;padding:12px;margin:10px 0 16px}.reading-player audio{width:100%}.reading-player small{display:block;color:#7d8b91;margin-top:6px}.synchronized-text{direction:rtl;text-align:right;font-size:22px;line-height:2.05;padding:16px 18px;background:#fff;border:1px solid #e3e8ea}.sync-word{border-radius:4px;padding:1px 2px;transition:background-color .08s,box-shadow .08s,color .08s}.sync-word.is-speaking{background:#ffe477;color:#17252b;box-shadow:0 0 0 3px rgba(255,228,119,.38)}.reading-translation{font-size:15px;line-height:1.7;color:#5f6d73}.word-audio-btn{font-size:13px}

/* Sidebar course accordion */
.sidebar-accordion{margin:0;padding:0}.sidebar-accordion-toggle{width:100%;height:43px;border:0;border-left:3px solid transparent;background:transparent;color:#c2cbd0;display:flex;align-items:center;gap:12px;padding:0 17px;font:inherit;font-size:14px;text-align:left;cursor:pointer}.sidebar-accordion-toggle:hover{background:#303f47;color:#fff}.sidebar-accordion-toggle.active{background:#138fbe;color:#fff;border-left-color:#62cdf3}.sidebar-accordion-icon{width:22px;text-align:center;font-size:17px;color:#9eabb2}.sidebar-accordion-toggle.active .sidebar-accordion-icon{color:#fff}.sidebar-accordion-label{flex:1}.sidebar-accordion-arrow{width:auto!important;font-size:14px!important;transition:transform .18s ease;color:#9eabb2!important}.sidebar-accordion.open .sidebar-accordion-arrow{transform:rotate(180deg)}.sidebar-accordion-panel{display:none;background:#202b31;padding:5px 0 7px}.sidebar-accordion.open .sidebar-accordion-panel{display:block}.admin-menu .sidebar-level-link{height:34px;padding:0 14px 0 41px;border-left:3px solid transparent;font-size:13px;color:#aebac0;gap:8px}.admin-menu .sidebar-level-link span{width:10px;font-size:12px;color:#6e8089}.admin-menu .sidebar-level-link:hover{background:#2b3940;color:#fff}.admin-menu .sidebar-level-link.active{background:#1f819f;color:#fff;border-left-color:#62cdf3}.admin-menu .sidebar-level-link.active span{color:#fff}

/* Dictionary / word editor */
.words-page{max-width:1450px;margin:0 auto}.word-editor-card{padding:0!important;overflow:hidden}.word-editor-heading{padding:18px 22px;border-bottom:1px solid #e2e8ed;background:#fbfcfd}.word-editor-heading strong{display:block;font-size:17px}.word-editor-heading small{display:block;margin-top:4px;color:#84939b}.word-editor-card form{padding:20px 22px 22px}.word-form-main{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:3px 16px}.word-he-input{font-size:22px!important;min-height:44px}.word-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}.word-media-box{border:1px dashed #a8c8d5;background:#f8fbfc;min-height:145px;padding:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative}.word-media-box:hover{background:#f1f9fc;border-color:#55a9c5}.word-media-box input[type=file]{position:absolute;opacity:0;width:1px;height:1px}.word-media-icon{font-size:27px;margin-bottom:7px}.word-media-box strong{font-size:15px}.word-media-box small{color:#84939b;margin:4px 0 12px}.word-file-button{display:inline-block;background:#168fba;color:#fff;padding:8px 13px;border-radius:4px;font-style:normal;font-size:13px}.word-media-box em{display:block;margin-top:8px;color:#7a888e;font-size:12px;font-style:normal;max-width:90%;overflow:hidden;text-overflow:ellipsis}.word-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.word-example-grid textarea{min-height:85px}.word-form-actions{border-top:1px solid #e8edef;margin-top:15px;padding-top:16px;display:flex;justify-content:flex-end}.word-list-card{padding:0!important;overflow:hidden}.word-list-top{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e2e8ed}.word-list-top strong{display:block}.word-list-top small{color:#8b989e}.word-list-top form{min-width:300px}.word-table-wrap{overflow-x:auto}.word-table th{font-size:11px;text-transform:uppercase;color:#73838b;letter-spacing:.03em}.word-table td{vertical-align:middle}.word-primary{font-size:20px;font-weight:700}.word-table td small{color:#7d8b91}.word-media-status{display:flex;align-items:center;gap:8px;font-size:19px}.word-media-status img{width:42px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #dce4e8}.word-example-small{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end}.word-actions form{margin:0}.word-edit-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #b8d9e5;color:#118ab5;background:#f5fbfd;text-decoration:none;border-radius:4px;white-space:nowrap;font-size:13px}.word-edit-btn:hover{background:#e8f7fc}.word-delete-btn{border:0;background:transparent;color:#a3adb1;cursor:pointer;font-size:16px;padding:8px}.word-delete-btn:hover{color:#c94c4c}.actions-col{text-align:right!important}.word-edit-media{margin-bottom:18px}.word-media-box.static-box{cursor:default;background:#fff;border-style:solid;justify-content:flex-start}.word-media-box.static-box:hover{background:#fff;border-color:#a8c8d5}.word-media-box.static-box audio{width:100%;margin:10px 0}.word-image-preview{max-width:230px;max-height:170px;object-fit:contain;margin:10px auto;border-radius:5px}.file-button-real{position:relative;cursor:pointer;margin-top:10px}.file-button-real input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer}.word-edit-page .card{border-radius:3px;box-shadow:none}.word-edit-page .word-form-main{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.word-form-main{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.word-form-main,.word-media-grid,.word-example-grid,.word-edit-page .word-form-main{grid-template-columns:1fr}.word-list-top{align-items:stretch;flex-direction:column}.word-list-top form{min-width:0}.word-table{min-width:850px}}

/* Rich lesson introduction text */
.lesson-rich{max-width:900px;margin:8px auto 0;font-size:17px;line-height:1.75;color:#334155}.lesson-rich h1{font-size:30px;margin:28px 0 14px;color:#172b36}.lesson-rich h2{font-size:23px;margin:26px 0 10px;color:#203845}.lesson-rich h3{font-size:19px;margin:20px 0 8px}.lesson-rich p{margin:10px 0}.lesson-rich hr{border:0;border-top:1px solid #e3e9ed;margin:24px 0}.lesson-rich ul{margin:8px 0 14px 25px}.lesson-rich li{margin:5px 0}.lesson-rich .lesson-he-line{font-size:27px;line-height:1.7;text-align:right;background:#f8fbfc;border-right:4px solid #18a4cf;padding:8px 14px;margin:10px 0;font-family:Arial,sans-serif}.lesson-reading-card:has(.lesson-rich) .badge{vertical-align:middle}

/* IVRITO rich visual + HTML editor */
.ivrito-rte{border:1px solid #cfd9e2;border-radius:7px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.rte-toolbar{background:#f7f9fb;border-bottom:1px solid #dbe3ea;position:sticky;top:0;z-index:5}
.rte-tabs{display:flex;border-bottom:1px solid #e1e7ed;background:#eef3f6}.rte-tab{border:0;background:transparent;padding:10px 16px;font-weight:700;color:#64748b;cursor:pointer}.rte-tab.active{background:#fff;color:#0f86b7;border-top:2px solid #0f9aca}
.rte-tools{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:8px}.rte-btn,.rte-select,.rte-color{min-height:34px;border:1px solid #d6dee5;background:#fff;border-radius:4px;color:#334155;padding:6px 9px;cursor:pointer;font:inherit}.rte-btn:hover,.rte-btn.active,.rte-select:hover{background:#e8f5fb;border-color:#7cc4df;color:#087ea8}.rte-sep{height:25px;width:1px;background:#d8e0e7;margin:0 3px}.rte-color{display:inline-flex;gap:5px;align-items:center;font-weight:700}.rte-color input{width:22px;height:20px;padding:0;border:0;background:none}.rte-highlight{font-size:13px}
.rte-visual{min-height:330px;max-height:70vh;overflow:auto;padding:24px 28px;outline:0;font-size:16px;line-height:1.75;color:#172033;background:#fff}.rte-visual:focus{box-shadow:inset 0 0 0 2px rgba(14,153,201,.08)}.rte-visual[dir=rtl]{font-size:20px;line-height:1.95}.rte-visual h1,.rte-visual h2,.rte-visual h3{line-height:1.3}.rte-visual blockquote{border-inline-start:4px solid #20a1cf;margin:1em 0;padding:.5em 1em;background:#f4f9fc}.rte-visual table{border-collapse:collapse;width:100%;margin:1em 0}.rte-visual td,.rte-visual th{border:1px solid #cbd5e1;padding:8px}.rte-visual img{max-width:100%;height:auto}.rte-visual mark{background:#fff59d}
.rte-source-field{display:none!important}.rte-source-field.rte-source-visible{display:block!important;width:100%;min-height:420px;border:0;border-radius:0;padding:18px 20px;font:14px/1.55 Consolas,"Courier New",monospace;background:#111827;color:#d7e3f0;direction:ltr;text-align:left;resize:vertical;outline:0}
.rte-footer{display:flex;justify-content:space-between;gap:15px;padding:7px 12px;border-top:1px solid #e3e8ed;background:#fafcfd;color:#8090a0;font-size:12px}.rte-count{font-weight:700;color:#667788}
.rte-fullscreen{position:fixed!important;z-index:10000!important;inset:0!important;border-radius:0!important;display:flex;flex-direction:column;background:#fff}.rte-fullscreen .rte-visual,.rte-fullscreen .rte-source-field.rte-source-visible{flex:1;max-height:none;min-height:0}.rte-fullscreen .rte-toolbar{position:relative}
.lesson-rich p,.synchronized-text p{margin:.7em 0}.lesson-rich table,.synchronized-text table{width:100%;border-collapse:collapse;margin:1em 0}.lesson-rich th,.lesson-rich td,.synchronized-text th,.synchronized-text td{border:1px solid #d9e0e6;padding:8px 10px}.lesson-rich blockquote,.synchronized-text blockquote{border-inline-start:4px solid #159cc9;background:#f4fafc;padding:10px 15px;margin:1em 0}.lesson-rich img,.synchronized-text img{max-width:100%;height:auto}.lesson-rich pre,.synchronized-text pre{white-space:pre-wrap;background:#f6f8fa;padding:12px;border-radius:6px}
@media(max-width:800px){.rte-visual{padding:16px;min-height:260px}.rte-sep{display:none}.rte-btn{padding:5px 7px}.rte-footer{display:none}}

/* Russian / Ukrainian material language switcher */
.language-editor{margin:18px 0 20px;border:1px solid #d5e0e7;background:#fff;border-radius:6px;overflow:hidden}.language-tabs{display:flex;background:#eef3f6;border-bottom:1px solid #d5e0e7}.language-tab{border:0;border-right:1px solid #dbe4e9;background:transparent;padding:12px 18px;color:#667782;font-weight:700;cursor:pointer;font-size:14px}.language-tab span{font-weight:400;color:#9aa7ad;font-size:11px;margin-left:5px}.language-tab.active{background:#fff;color:#0f8fbe;box-shadow:inset 0 3px 0 #159fcf}.language-panel{display:none;padding:16px 18px 18px}.language-panel.active{display:block}.language-panel .field{margin:0}.translation-note{background:#f6fafc;border-left:3px solid #83c7df;color:#647680;padding:10px 12px;margin:0 0 14px;font-size:13px}.text-preview-uk{margin-top:8px;color:#87959c;font-size:13px}.synchronized-text{direction:ltr;text-align:left;font-size:17px;line-height:1.8}.language-panel .ivrito-rte{margin-top:6px}@media(max-width:700px){.language-tabs{display:grid;grid-template-columns:1fr 1fr}.language-tab{padding:11px 8px}.language-tab span{display:none}.language-panel{padding:12px}}

/* Public RU/UK switch */
.site-lang-switch{display:inline-flex;align-items:center;background:#eef3f6;border:1px solid #dbe4e9;border-radius:999px;padding:2px;margin-left:2px;gap:2px}.topbar .site-lang-switch a{font-size:11px;font-weight:800;letter-spacing:.03em;padding:6px 8px;border-radius:999px;color:#687985}.topbar .site-lang-switch a.active{background:#0f8fbe;color:#fff}.lesson-lang-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-version-badge{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 9px}
.lesson-localization-block{margin-bottom:20px;border:1px solid #d9e1e5!important}.lesson-localization-block .static-heading{cursor:default}.lesson-localization-block .lesson-builder-body{padding:18px 22px 20px}.lesson-language-form .language-editor{margin-top:0}.compact-settings-grid{margin-top:8px;grid-template-columns:minmax(220px,1fr) minmax(160px,.4fr)}
@media(max-width:700px){.compact-settings-grid{grid-template-columns:1fr}}
.lesson-short-description textarea{min-height:96px;resize:vertical;font:inherit;line-height:1.55;padding:12px 14px;border:1px solid #cfd9e4;border-radius:6px;background:#fff;width:100%}.lesson-short-description textarea:focus{outline:none;border-color:#1d9bc3;box-shadow:0 0 0 3px rgba(29,155,195,.10)}

/* Unified public lesson card */
.lesson-main-card{padding:0;overflow:hidden;border-radius:18px}
.lesson-main-head{padding:26px 28px 24px;background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);border-bottom:1px solid #e4ebf0}
.lesson-main-head h1{font-size:34px;line-height:1.15;margin:26px 0 14px;color:#10233f}
.lesson-short-public{max-width:1050px;margin:0 auto;color:#334155;font-size:18px;line-height:1.65}
.lesson-short-public p{margin:0}
.lesson-main-body{padding:24px 28px 30px;background:#fff}
.lesson-main-body .lesson-rich{max-width:1050px;margin:0 auto;font-size:17px;line-height:1.78}
.lesson-material{max-width:1050px;margin:0 auto}
.lesson-material-separated{border-top:1px solid #e7edf1;margin-top:28px;padding-top:28px}
.lesson-material-head{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.lesson-material-head h2{margin:0;font-size:24px;color:#172b36}
.lesson-word-strip{max-width:1050px;margin:0 auto 28px}
.compact-word-card{background:#f8fbfc;border:1px solid #e3ebef;border-radius:10px;padding:14px 16px}
.compact-word-card p{margin:7px 0}
.lesson-main-body .lesson-rich>h1:first-child{margin-top:0}
@media(max-width:700px){.lesson-main-head{padding:20px 18px}.lesson-main-head h1{font-size:28px;margin-top:20px}.lesson-main-body{padding:20px 18px}.lesson-short-public{font-size:16px}}

/* Course sequencing / LMS builder */
.course-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.course-overview-card{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #dce5e9;background:#fff;text-decoration:none;color:#263b45}.course-overview-card:hover{border-color:#87bfd3;box-shadow:0 3px 12px rgba(35,76,91,.08)}.course-overview-card strong{font-size:19px}.course-overview-card span{color:#82949d}.course-overview-card small{color:#0b96c2}.course-add-existing{display:none;padding:16px 22px;background:#f5fafc;border-bottom:1px solid #dce7eb}.course-add-existing.is-open{display:block}.course-add-existing-form{display:flex;align-items:flex-end;gap:12px}.course-add-existing-form .field{flex:1;margin:0}.course-mixed-list{padding:14px 22px 20px;min-height:40px}.course-mixed-row{display:flex;align-items:center;gap:11px;min-height:62px;border:1px solid #e0e6e9;background:#fafbfb;padding:8px 11px;margin-bottom:7px;position:relative;flex-wrap:wrap}.course-mixed-row:hover{background:#fff;border-color:#bcd7e1}.course-mixed-row.is-dragging{opacity:.42;border-style:dashed}.course-seq-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf3f5;color:#6f8088;font-size:12px}.course-kind{font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:12px;padding:4px 8px}.course-kind.lesson{background:#e6f8fc;color:#087fa5}.course-kind.exercise{background:#fff2dc;color:#9b6200}.course-mixed-main{flex:1;min-width:240px}.course-mixed-main strong{display:block}.course-mixed-main small{display:block;color:#8b999f;margin-top:3px}.course-actions form{display:inline;margin:0}.course-icon-btn{border:0;background:transparent;color:#71838c;cursor:pointer;font-size:18px;padding:4px 6px}.course-quick-edit{display:none;flex-basis:100%;padding:14px 12px 8px 67px;border-top:1px solid #e4eaed;margin-top:4px}.course-quick-edit.is-open{display:block}.lesson-list-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.lesson-list-filter a{padding:6px 10px;border-radius:14px;background:#eef3f5;color:#526971;text-decoration:none;font-size:12px}.lesson-list-filter a.active{background:#1499c5;color:#fff}.table-subtitle{display:block;color:#87979e;margin-top:3px}
.course-progress{max-width:1100px;margin:24px auto 8px;padding:16px 0 4px}.course-progress-arrows{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.course-progress-arrows>:last-child{justify-self:end}.course-progress-count{color:#7b8c94;font-size:13px}.course-progress-pages{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:15px}.course-progress-page{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;text-decoration:none;border:1px solid #d7e1e5;color:#6d7f87;background:#fff;font-size:12px}.course-progress-page.quiz{border-radius:7px}.course-progress-page.active{background:#118eb8;color:#fff;border-color:#118eb8;font-weight:700}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.next-course-item{font-weight:700}.result-card .course-progress{margin-top:20px;border-top:1px solid #e5ecef}
@media(max-width:700px){.course-add-existing-form{display:block}.course-add-existing-form .btn{margin-top:9px}.course-mixed-main{min-width:150px}.course-quick-edit{padding-left:10px}.course-progress-arrows{grid-template-columns:1fr 1fr}.course-progress-count{grid-column:1/-1;grid-row:1;text-align:center}.course-progress-arrows>:first-child{grid-column:1;grid-row:2}.course-progress-arrows>:last-child{grid-column:2;grid-row:2}}

/* Public LMS course reader: persistent course contents + quiz-only pagination */
.course-study-shell{width:min(1540px,calc(100vw - 34px));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}
.course-study-content{min-width:0}.course-study-content>.card:first-child{margin-top:0}
.course-study-sidebar{position:sticky;top:82px;max-height:calc(100vh - 100px);overflow:hidden;background:#fff;border:1px solid #dde6eb;border-radius:16px;box-shadow:0 8px 30px rgba(15,23,42,.045);display:flex;flex-direction:column}
.course-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 15px;border-bottom:1px solid #e5ecef;background:#f8fbfc}.course-sidebar-head strong{display:block;font-size:19px;color:#173245}.course-sidebar-head small{display:block;color:#87969d;margin-top:3px}.course-sidebar-toggle{display:none;border:0;background:transparent;font-size:21px;cursor:pointer;color:#5d7580}
.course-sidebar-list{overflow:auto;padding:7px 0}.course-sidebar-item{display:flex;align-items:center;gap:11px;min-height:58px;padding:11px 14px;text-decoration:none;color:#334a55;border-left:4px solid transparent;border-bottom:1px solid #edf1f3;transition:background .12s,border-color .12s}.course-sidebar-item:hover{background:#f5fafc}.course-sidebar-item.active{background:#eaf6fb;border-left-color:#159bc7;color:#0b6f93}.course-sidebar-item.quiz{padding-left:27px}.course-sidebar-icon{width:22px;text-align:center;color:#1698c5;font-size:17px;flex:0 0 auto}.course-sidebar-item.quiz .course-sidebar-icon{color:#9b6b18}.course-sidebar-text{min-width:0;flex:1}.course-sidebar-text>span{display:block;font-size:14px;line-height:1.35;font-weight:600}.course-sidebar-text small{display:block;color:#93a1a7;font-size:11px;margin-top:3px}.course-sidebar-done{color:#22a06b;font-weight:800;font-size:17px}
.quiz-pagination{max-width:760px;margin:24px auto 4px;padding:15px 0 2px;text-align:center}.quiz-pagination-count{font-size:13px;color:#7b8c94;margin-bottom:13px}.quiz-pagination-pages{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.quiz-pagination-page{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;text-decoration:none;border:1px solid #d7e1e5;color:#667b84;background:#fff;font-size:13px}.quiz-pagination-page:hover{border-color:#87bfd3;background:#f5fafc}.quiz-pagination-page.active{background:#118eb8;color:#fff;border-color:#118eb8;font-weight:700}
/* Old mixed lesson+quiz progress is intentionally hidden on public lesson theory pages. */
.course-study-shell .course-progress{display:none}
@media(max-width:980px){.course-study-shell{width:100%;transform:none;margin-left:0;display:block}.course-study-sidebar{position:relative;top:auto;max-height:none;margin-bottom:16px}.course-sidebar-toggle{display:block}.course-sidebar-list{max-height:0;overflow:hidden;padding:0;transition:max-height .2s ease}.course-study-sidebar.is-open .course-sidebar-list{max-height:65vh;overflow:auto;padding:7px 0}}

/* Fast exercise navigation (PJAX). Keeps the LMS shell in place while only the course content changes. */
.course-study-shell{transition:opacity .08s ease}
.course-study-shell.is-fast-loading{opacity:.72;pointer-events:none;cursor:progress}
.course-study-shell.is-fast-loading .course-study-content{position:relative}
.course-study-shell.is-fast-loading .course-study-content:after{content:"";position:absolute;top:10px;right:12px;width:18px;height:18px;border:2px solid #d5e7ed;border-top-color:#1499c5;border-radius:50%;animation:ivrito-fast-spin .65s linear infinite;z-index:5}
@keyframes ivrito-fast-spin{to{transform:rotate(360deg)}}


/* Alphabet repository + letter exercises */
.print-arial{font-family:Arial,"Noto Sans Hebrew",sans-serif}.print-times{font-family:"Times New Roman",Times,serif}.alphabet-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;font-size:48px;line-height:1;direction:rtl}.alphabet-glyph.handwriting img{display:block;max-width:64px;max-height:64px;object-fit:contain}.missing-handwriting{border:1px dashed #b9cbd2;border-radius:10px;background:#f8fbfc;color:#7a8e96}.alphabet-admin-card{padding:0;overflow:hidden}.alphabet-admin-head,.alphabet-admin-row{display:grid;grid-template-columns:90px 110px 140px 190px minmax(300px,1fr) 110px;gap:12px;align-items:center;padding:12px 16px}.alphabet-admin-head{font-size:12px;font-weight:800;text-transform:uppercase;color:#6f838a;background:#f2f7f9;border-bottom:1px solid #dbe6ea}.alphabet-admin-row{border-bottom:1px solid #e4ecef}.alphabet-admin-row:last-child{border-bottom:0}.alphabet-symbol-cell{font-size:36px;text-align:center}.alphabet-symbol-cell small{display:block;font-size:11px;color:#799099}.alphabet-preview-cell{font-size:46px;text-align:center;direction:rtl}.handwriting-upload-cell img{width:76px;height:76px;object-fit:contain;border:1px solid #d8e4e8;border-radius:10px;background:#fff;display:block;margin-bottom:5px}.handwriting-placeholder{width:76px;height:76px;border:1px dashed #b8c9cf;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#82969d;font-size:11px}.handwriting-placeholder strong{font-size:30px}.handwriting-upload-cell input[type=file]{max-width:180px;font-size:11px}.remove-file{font-size:11px;color:#6f838a;display:block}.alphabet-meta-fields{display:grid;gap:7px}.alphabet-mini-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:7px;align-items:end}.alphabet-mini-fields label{font-size:11px;color:#607780}.alphabet-mini-fields input{margin-top:3px}.alphabet-mini-fields input[type=checkbox]{width:auto}.hebrew-screen-keyboard{margin-top:10px}.keyboard-toolbar{display:flex;justify-content:flex-end}.keyboard-toggle{border:1px solid #cbdce2;background:#fff;border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:700;color:#31545c}.keyboard-panel{margin-top:8px;padding:10px;background:#f4f8fa;border:1px solid #d8e5e9;border-radius:12px;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-start}.keyboard-panel[hidden]{display:none}.handwriting-key{width:54px;height:54px;border:1px solid #c9dbe1;border-radius:9px;background:#fff;cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center}.handwriting-key:hover{border-color:#159bc1;box-shadow:0 0 0 2px rgba(21,155,193,.12)}.keyboard-glyph{min-width:44px;min-height:44px;font-size:32px}.keyboard-glyph.handwriting img{max-width:44px;max-height:44px}.keyboard-backspace,.keyboard-space{font-size:22px}.keyboard-space{width:76px}.letter-form-exercise{margin:20px 0}.letter-form-prompt{display:flex;justify-content:center;align-items:center;padding:22px;margin-bottom:24px;background:#f5f9fa;border-radius:14px}.exercise-letter-prompt{min-width:110px;min-height:110px;font-size:86px}.exercise-letter-prompt.handwriting img{max-width:110px;max-height:110px}.letter-form-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px}.letter-form-option{position:relative;cursor:pointer}.letter-form-option input{position:absolute;opacity:0;pointer-events:none}.letter-choice-cell{min-height:120px;border:2px solid #d3e0e5;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;transition:.15s}.letter-form-option:hover .letter-choice-cell{border-color:#149bc2}.letter-form-option input:checked+.letter-choice-cell{border-color:#078b7e;box-shadow:0 0 0 3px rgba(7,139,126,.14);background:#f0fbf9}.exercise-letter-choice{min-width:84px;min-height:84px;font-size:64px}.exercise-letter-choice.handwriting img{max-width:84px;max-height:84px}@media(max-width:1100px){.alphabet-admin-head{display:none}.alphabet-admin-row{grid-template-columns:70px 90px 110px 160px minmax(240px,1fr) 100px}}@media(max-width:800px){.alphabet-admin-row{grid-template-columns:1fr 1fr}.alphabet-meta-fields{grid-column:1/-1}.alphabet-mini-fields{grid-template-columns:1fr 1fr}.letter-form-options{grid-template-columns:repeat(2,1fr)}}

/* Handwritten letters embedded inside running text / gap-fill tasks.
   The image cell is lowered by one third of its own em-size relative to the
   surrounding baseline. This preserves the natural Hebrew extremes: final
   letters such as ך may descend below the writing line while tall letters
   such as ל can still project above it. Standalone cells, keyboard keys and
   answer cards intentionally do NOT use this rule. */
.inline-handwriting{
  --ivrito-handwriting-inline-size:1.25em;
  display:inline-flex;
  min-width:var(--ivrito-handwriting-inline-size);
  min-height:var(--ivrito-handwriting-inline-size);
  width:var(--ivrito-handwriting-inline-size);
  height:var(--ivrito-handwriting-inline-size);
  vertical-align:baseline;
  line-height:1;
  transform:translateY(.33em);
  margin-inline:.04em;
  overflow:visible;
  flex:0 0 auto;
}
.inline-handwriting.handwriting img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  overflow:visible;
}
.inline-handwriting.missing-handwriting{font-size:1em;border:0;background:transparent;min-width:1em;width:auto;height:auto;transform:none}
.inline-handwriting.missing-handwriting>span{font-family:Arial,"Noto Sans Hebrew",sans-serif;line-height:1}
.inline-handwriting-line{line-height:1.8;overflow:visible}

/* =========================================================
   IVRITO landing / public brand refresh — v013
   ========================================================= */
:root{--iv-navy:#0d2d59;--iv-blue:#0b63a9;--iv-cyan:#18bfd0;--iv-teal:#0aa7a4;--iv-ink:#16314d;--iv-muted:#6d8191;--iv-line:#dfeaf0;--iv-soft:#f6fbfd;--iv-shadow:0 20px 60px rgba(18,62,91,.09)}
body{background:#f7fafc;color:var(--iv-ink)}
.public-topbar{height:74px;padding:0 max(28px,5vw);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(203,220,229,.72);box-shadow:0 6px 24px rgba(31,75,102,.035);z-index:80}
.site-brand{display:flex;align-items:center;height:100%;min-width:154px}.site-brand img{display:block;width:168px;height:auto;max-height:54px;object-fit:contain;object-position:left center}
.public-topbar .site-nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:700}.public-topbar .site-nav>a{position:relative;color:#27445b;transition:.18s}.public-topbar .site-nav>a:not(.nav-login):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--iv-blue),var(--iv-cyan));transition:.18s}.public-topbar .site-nav>a:not(.nav-login):hover:after{right:0}.public-topbar .site-nav>a:hover{color:var(--iv-blue)}
.public-topbar .nav-login{padding:10px 18px!important;background:linear-gradient(135deg,#0b477d,#0b7ab2);color:#fff!important;border-radius:10px;box-shadow:0 8px 18px rgba(11,99,169,.16)}
.site-lang-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid #dce7ed;background:#f1f6f8;border-radius:999px;gap:2px}.site-lang-switch a{display:grid;place-items:center;min-width:38px;height:28px;border-radius:999px;color:#748895!important;font-size:11px;font-weight:800;text-decoration:none}.site-lang-switch a.active{background:linear-gradient(135deg,#159bbb,#087ca8);color:#fff!important;box-shadow:0 3px 10px rgba(12,122,162,.2)}
.site-menu-toggle{display:none;border:0;background:transparent;color:var(--iv-navy);font-size:25px;cursor:pointer}
.landing-body{background:#fff}.landing-main{overflow:hidden}.landing-main+.site-footer{margin-top:0}

.landing-hero{position:relative;min-height:650px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(560px,1.05fr);align-items:center;gap:42px;padding:70px max(6vw,70px) 58px;background:radial-gradient(circle at 76% 34%,rgba(51,218,224,.17),transparent 31%),radial-gradient(circle at 91% 18%,rgba(74,151,230,.12),transparent 22%),linear-gradient(180deg,#fff 0%,#f7fcff 100%)}
.landing-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 53%,rgba(255,255,255,.52) 53% 55%,transparent 55%)}
.landing-hero-copy{position:relative;z-index:3;max-width:670px}.hero-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e8fbfc;color:#0a788b;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.landing-hero h1{font-size:clamp(48px,5.2vw,78px);line-height:.98;letter-spacing:-.045em;color:#0d2448;margin:20px 0 22px;font-weight:900}.landing-hero h1 span{background:linear-gradient(90deg,#0d4f93,#0ab8b9);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero-copy>p{max-width:660px;font-size:20px;line-height:1.55;color:#425d72;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:54px;padding:0 25px;border-radius:16px;text-decoration:none;font-weight:800;font-size:16px;transition:.18s}.hero-btn.primary{background:linear-gradient(135deg,#12b7c3,#0a6dbc);color:#fff;box-shadow:0 16px 30px rgba(10,109,188,.22)}.hero-btn.primary:hover{transform:translateY(-2px);box-shadow:0 20px 36px rgba(10,109,188,.28)}.hero-btn.secondary{background:rgba(255,255,255,.8);border:1px solid #d6e5ed;color:#163e69;box-shadow:0 10px 28px rgba(18,68,101,.06)}.hero-btn.secondary:hover{background:#fff;border-color:#b9d9e6}.hero-stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:38px}.hero-stats>div{display:flex;flex-direction:column}.hero-stats b{font-size:24px;color:#0a517e;line-height:1}.hero-stats span{margin-top:5px;font-size:12px;color:#78909f}

.landing-hero-visual{position:relative;z-index:2;min-height:500px;display:flex;align-items:center;justify-content:center}.hero-glow{position:absolute;border-radius:50%;filter:blur(3px);opacity:.5}.glow-one{width:420px;height:420px;background:radial-gradient(circle,#8beded 0,rgba(71,204,223,.35) 42%,transparent 70%);right:70px;top:10px}.glow-two{width:280px;height:280px;background:radial-gradient(circle,#b0cfff 0,transparent 72%);left:95px;bottom:5px}.device-laptop{position:relative;width:min(610px,80%);height:360px;background:#11273a;border:10px solid #10283b;border-radius:22px 22px 13px 13px;box-shadow:0 34px 70px rgba(23,67,90,.25);transform:perspective(1100px) rotateY(-4deg) rotateX(1deg);z-index:3;overflow:visible}.device-laptop:after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-28px;width:116%;height:26px;background:linear-gradient(#dce9ee,#a9c0cc);border-radius:3px 3px 22px 22px;box-shadow:0 12px 16px rgba(43,78,95,.16)}.laptop-top{height:48px;background:#fff;border-radius:10px 10px 0 0;display:flex;align-items:center;padding:0 16px;gap:8px;color:#244d70;font-weight:800}.laptop-top img{width:30px;height:30px;object-fit:contain}.laptop-top em{margin-left:auto;font-style:normal;font-size:12px;color:#8ca0aa}.laptop-body{height:292px;background:#f6fbfd;display:grid;grid-template-columns:108px 1fr}.laptop-body aside{display:grid;grid-template-columns:22px 1fr;align-content:start;gap:16px 6px;padding:22px 12px;background:#edf7fb;color:#68808f;font-size:10px}.laptop-body aside b{color:#168db9}.lesson-demo{padding:22px 26px;text-align:center}.lesson-demo>small{display:block;text-align:left;color:#678293;font-weight:700}.demo-letter{font:bold 96px Arial;margin:5px 0 -4px;color:#0c3461}.lesson-demo>strong{color:#274860}.letter-forms{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.letter-forms>span{display:flex;min-height:92px;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #e1ebef;border-radius:12px;font:bold 40px Arial;color:#123b65}.letter-forms small{font:600 10px Arial;color:#7f939f;margin-top:5px}.script-look{font-style:italic!important;transform:rotate(-2deg)}
.device-phone{position:absolute;right:0;bottom:33px;width:168px;height:322px;border:8px solid #152b3c;border-radius:30px;background:#fff;z-index:5;box-shadow:0 24px 45px rgba(22,64,88,.25);padding:28px 13px 13px}.phone-speaker{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:44px;height:4px;border-radius:3px;background:#d8e2e6}.device-phone strong{display:block;color:#163a5e}.device-phone small{display:block;margin:7px 0 9px;color:#667f8f}.trace-letter{height:118px;display:grid;place-items:center;border:1px solid #d9e8ee;border-radius:12px;background:#f9fcfd;font:bold 84px Arial;color:#dce8ed}.phone-dots{display:flex;gap:5px;margin:12px 0;justify-content:center}.phone-dots i{width:8px;height:8px;border:1px solid #15aaa7;border-radius:50%}.phone-dots i:first-child{background:#15aaa7}.device-phone button{width:100%;height:34px;border:0;border-radius:8px;background:linear-gradient(135deg,#0d8ab8,#0d5fac);color:#fff;font-weight:800}.floating-note{position:absolute;z-index:6;width:120px;min-height:154px;background:#fff;border-radius:16px;box-shadow:0 22px 46px rgba(34,83,108,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0c3159;font:bold 31px Arial;transform:rotate(-7deg)}.floating-note small{font:700 11px Arial;color:#5e788a;margin-top:7px}.floating-note span{margin-top:9px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dff8fb;color:#0a7fa2;font:700 14px Arial}.note-left{left:2px;bottom:54px}.note-right{right:-55px;top:58px;transform:rotate(7deg);font-size:28px}

.landing-section{padding:86px max(6vw,70px)}.section-heading{max-width:760px;margin:0 auto 36px;text-align:center}.section-heading>span,.sample-copy>span,.landing-cta>div>span{color:#0a95ad;font-size:11px;font-weight:900;letter-spacing:.13em}.section-heading h2,.sample-copy h2{font-size:clamp(34px,3.4vw,50px);line-height:1.08;color:#102f52;margin:9px 0 12px;letter-spacing:-.03em}.section-heading p,.sample-copy p{color:#708695;font-size:16px;line-height:1.6;margin:0}.section-heading.split{max-width:none;display:flex;align-items:end;justify-content:space-between;text-align:left;gap:30px}.section-heading.split p{max-width:520px;text-align:right;padding-bottom:8px}
.features-section{background:#fff}.feature-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:25px;border:1px solid #e2edf2;border-radius:22px;background:linear-gradient(180deg,#fff,#fafdff);box-shadow:0 12px 36px rgba(30,78,104,.05);transition:.18s}.feature-card:hover{transform:translateY(-4px);border-color:#bfe4eb;box-shadow:0 20px 44px rgba(30,78,104,.09)}.feature-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#d9fbf9,#d8ebff);color:#0a75a5;font-size:22px;font-weight:900}.feature-card h3{font-size:18px;color:#183955;margin:17px 0 8px}.feature-card p{font-size:14px;color:#718590;line-height:1.55;margin:0}
.level-section{background:linear-gradient(180deg,#f8fcfe,#fff)}.level-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:12px}.level-card{position:relative;min-height:156px;padding:20px 17px;border-radius:20px;border:1px solid rgba(21,87,122,.06);display:flex;gap:12px;align-items:flex-start;overflow:hidden;transition:.18s}.level-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(33,77,101,.08)}.level-card.mint{background:#effbf3}.level-card.blue{background:#eef7ff}.level-card.cyan{background:#eefcff}.level-card.violet{background:#f4f0ff}.level-card.purple{background:#f8f1ff}.level-card.peach{background:#fff5eb}.level-card.rose{background:#fff0f2}.level-symbol{font:bold 34px Arial;color:#0d689d;line-height:1}.level-card:nth-child(4) .level-symbol,.level-card:nth-child(5) .level-symbol{color:#7055c8}.level-card:nth-child(6) .level-symbol{color:#c45a2d}.level-card:nth-child(7) .level-symbol{color:#bd4662}.level-card h3{font-size:16px;color:#173851;margin:0 0 8px}.level-card p{font-size:12px;line-height:1.45;color:#718591;margin:0}.level-arrow{position:absolute;right:14px;bottom:12px;color:#96aab5}
.sample-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center;background:#fff}.sample-copy{max-width:520px}.text-link{display:inline-block;margin-top:18px;color:#087ca8;font-weight:800;text-decoration:none}.sample-card{display:grid;grid-template-columns:150px 1fr;border:1px solid #dce9ee;border-radius:24px;background:#fff;box-shadow:var(--iv-shadow);overflow:hidden;min-height:330px}.sample-sidebar{background:#eef8fb;padding:27px 18px;display:grid;align-content:start;gap:12px}.sample-sidebar>*{padding:10px 11px;border-radius:9px;color:#6c8390;font-size:13px}.sample-sidebar b{background:#d9f0fa;color:#0b6d9c}.sample-body{padding:27px}.sample-top{display:flex;justify-content:space-between;align-items:flex-start}.sample-top small{display:inline-block;padding:5px 8px;background:#e8fbfb;color:#0c8190;border-radius:999px;font-weight:800}.sample-top h3{font-size:22px;color:#1a3b59;margin:8px 0 0}.sample-top>span{color:#8397a2;font-size:12px}.phrase-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:29px}.phrase-grid>div{position:relative;border:1px solid #dce8ed;border-radius:16px;padding:22px;background:#fbfdfe;text-align:center}.phrase-grid strong{display:block;font:bold 38px Arial;color:#10385e}.phrase-grid button{position:absolute;right:15px;top:14px;width:31px;height:31px;border:0;border-radius:50%;background:#def5fb;color:#0c83a8}.phrase-grid p{font-size:13px;color:#6a808d;margin:8px 0 0}.sample-progress{display:flex;gap:7px;margin-top:30px}.sample-progress i{height:5px;flex:1;border-radius:3px;background:#e1eaee}.sample-progress i:first-child{background:#13a9b8}
.landing-cta{margin:10px max(6vw,70px) 90px;padding:40px 48px;border-radius:28px;background:radial-gradient(circle at 85% 20%,rgba(75,232,222,.27),transparent 24%),linear-gradient(135deg,#0d315b,#0b6fa4);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:0 25px 55px rgba(15,71,108,.18)}.landing-cta>div>span{color:#8ef6ed}.landing-cta h2{font-size:34px;margin:7px 0 8px}.landing-cta p{color:#cfe2ec;margin:0}.landing-cta .hero-btn{flex:0 0 auto;background:#fff;color:#0d5685;box-shadow:none}
.site-footer{background:#f2f7f9;border-top:1px solid #e1eaee;padding:36px max(6vw,70px);color:#67808e}.site-footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:34px;align-items:center;max-width:1600px;margin:auto}.site-footer-brand img{width:128px;height:auto}.site-footer-brand p{font-size:12px;margin:8px 0 0}.site-footer-links{display:flex;gap:24px;flex-wrap:wrap}.site-footer-links a{text-decoration:none;color:#617988;font-size:12px}.site-footer-meta{font-size:12px;white-space:nowrap}

/* Landing editor */
.landing-admin-page{max-width:1320px;margin:auto}.landing-language-editor>.language-tabs{position:sticky;top:76px;z-index:10;background:#f3f5f7;padding-top:4px}.landing-editor-section{padding:0!important;overflow:hidden}.landing-editor-section-head{padding:15px 18px;border-bottom:1px solid #e3eaee;background:#f9fbfc;display:flex;align-items:center;justify-content:space-between}.landing-editor-section-head h2{font-size:17px;margin:0}.landing-fields-grid{padding:14px 18px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.landing-field-wide{grid-column:1/-1}.landing-editor-form textarea{min-height:86px}.landing-savebar{position:sticky;bottom:14px;z-index:12;background:#20343e;color:#fff;padding:14px 18px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 13px 30px rgba(23,52,66,.24)}.landing-savebar span{display:block;color:#adc0c8;font-size:12px;margin-top:2px}.landing-savebar .btn{min-width:190px}
.landing-settings-grid{padding:18px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:stretch}.setting-help{display:block;margin-top:8px;color:#748992;line-height:1.45}.landing-toggle-card{display:flex;align-items:center;gap:14px;border:1px solid #dbe6eb;border-radius:14px;padding:18px;cursor:pointer;background:#f9fcfd}.landing-toggle-card>input{position:absolute;opacity:0;pointer-events:none}.landing-toggle-ui{width:48px;height:28px;flex:0 0 auto;border-radius:999px;background:#c9d5da;position:relative;transition:.18s}.landing-toggle-ui:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.18s}.landing-toggle-card>input:checked+.landing-toggle-ui{background:#159bc7}.landing-toggle-card>input:checked+.landing-toggle-ui:after{transform:translateX(20px)}.landing-toggle-card strong,.landing-toggle-card small{display:block}.landing-toggle-card small{margin-top:5px;color:#748992;line-height:1.4}

@media(max-width:1250px){.landing-hero{grid-template-columns:1fr 1fr;padding-inline:42px}.device-laptop{width:92%}.note-right{right:-15px}.level-grid{grid-template-columns:repeat(4,1fr)}.landing-section{padding-inline:42px}.landing-cta{margin-inline:42px}}
@media(max-width:980px){.public-topbar{padding:0 22px}.site-menu-toggle{display:block;margin-left:auto}.public-topbar .site-nav{display:none;position:absolute;left:18px;right:18px;top:66px;padding:16px;background:#fff;border:1px solid #dbe7ec;border-radius:14px;box-shadow:0 20px 45px rgba(24,61,83,.14);flex-direction:column;align-items:stretch;gap:3px}.public-topbar .site-nav.is-open{display:flex}.public-topbar .site-nav>a{padding:10px}.site-lang-switch{margin-top:7px;align-self:flex-start}.landing-hero{grid-template-columns:1fr;padding:55px 32px 35px}.landing-hero-copy{max-width:760px}.landing-hero-visual{min-height:470px}.device-laptop{width:min(650px,78%)}.feature-grid{grid-template-columns:repeat(2,1fr)}.level-grid{grid-template-columns:repeat(2,1fr)}.sample-section{grid-template-columns:1fr;padding-inline:32px}.sample-copy{max-width:760px}.section-heading.split{display:block;text-align:center}.section-heading.split p{text-align:center;margin:0 auto}.landing-section{padding:65px 32px}.landing-cta{margin:10px 32px 65px}.site-footer-inner{grid-template-columns:1fr;justify-items:start}.landing-fields-grid,.landing-settings-grid{grid-template-columns:1fr}.landing-field-wide{grid-column:auto}}
@media(max-width:650px){.public-topbar{height:64px}.site-brand img{width:135px}.landing-hero{padding:38px 20px 26px}.landing-hero h1{font-size:44px}.landing-hero-copy>p{font-size:17px}.hero-actions{display:grid}.hero-btn{width:100%}.hero-stats{gap:20px;justify-content:space-between}.landing-hero-visual{min-height:390px;margin-top:14px}.device-laptop{width:95%;height:285px}.laptop-body{height:217px;grid-template-columns:75px 1fr}.laptop-body aside{font-size:8px;padding:14px 7px;gap:10px 3px}.lesson-demo{padding:13px}.demo-letter{font-size:68px}.letter-forms>span{min-height:66px;font-size:30px}.device-phone{right:-10px;bottom:5px;transform:scale(.77);transform-origin:bottom right}.floating-note{display:none}.feature-grid,.level-grid{grid-template-columns:1fr}.landing-section{padding:52px 20px}.sample-card{grid-template-columns:1fr}.sample-sidebar{grid-template-columns:repeat(4,1fr);padding:12px;gap:4px}.sample-sidebar>*{text-align:center;padding:8px 5px;font-size:11px}.sample-body{padding:20px}.phrase-grid{grid-template-columns:1fr}.landing-cta{margin:0 20px 50px;padding:30px 24px;display:block}.landing-cta .hero-btn{margin-top:22px}.landing-cta h2{font-size:28px}.site-footer{padding:30px 20px}.site-footer-links{gap:14px}}
.site-footer{text-align:left}

/* v014 stable handwriting keyboard assets */
.alphabet-admin-card .handwriting-upload-cell img{background:#fff}
.hebrew-screen-keyboard .keyboard-panel{direction:rtl}
.hebrew-screen-keyboard .handwriting-key img{user-select:none;-webkit-user-drag:none}


/* v015: Alphabet admin keyboard preview — handwritten glyphs in one row */
.alphabet-keyboard-preview .keyboard-toolbar{display:none}
.alphabet-keyboard-preview .keyboard-panel{
  display:flex !important;
  flex-wrap:nowrap;
  justify-content:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  direction:rtl;
  gap:8px;
  padding:12px;
  scrollbar-width:thin;
}
.alphabet-keyboard-preview .handwriting-key{
  flex:0 0 54px;
}
.alphabet-keyboard-preview .keyboard-space{
  flex-basis:76px;
}


/* v016: live handwritten output row under Alphabet keyboard preview */
.keyboard-preview-output-block{margin:14px 0 4px}
.keyboard-preview-label{font-size:12px;font-weight:800;color:#617982;margin:8px 0 6px}
.keyboard-preview-label-hand{margin-top:12px}
.keyboard-handwriting-output{
  min-height:72px;
  width:100%;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  padding:8px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid #cbdce2;
  border-radius:9px;
  background:#fff;
  direction:rtl;
}
.keyboard-handwriting-output .alphabet-glyph{
  flex:0 0 auto;
  min-width:48px;
  min-height:54px;
}
.keyboard-handwriting-output .alphabet-glyph.handwriting img{
  display:block;
  width:auto;
  height:auto;
  max-width:46px;
  max-height:52px;
  object-fit:contain;
}
.keyboard-handwriting-output .typed-hand-space{
  flex:0 0 28px;
  width:28px;
  height:1px;
}
.keyboard-handwriting-placeholder{
  color:#8ca0a8;
  font-size:13px;
  direction:ltr;
  white-space:nowrap;
}


/* v017 — handwriting keyboard laid out like a normal Hebrew keyboard */
.hebrew-screen-keyboard .keyboard-panel{
  margin-top:8px;
  padding:12px 14px 14px;
  background:#eef3f5;
  border:1px solid #d5e0e4;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  overflow-x:auto;
}
.hebrew-screen-keyboard .keyboard-panel[hidden]{display:none}
.hebrew-screen-keyboard .keyboard-row{
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
  direction:ltr;
  width:max-content;
  min-width:max-content;
}
.hebrew-screen-keyboard .keyboard-row-1{padding-left:0}
.hebrew-screen-keyboard .keyboard-row-2{transform:translateX(15px)}
.hebrew-screen-keyboard .keyboard-row-3{transform:translateX(31px)}
.hebrew-screen-keyboard .handwriting-key{
  flex:0 0 52px;
  width:52px;
  height:52px;
  padding:3px;
  border:1px solid #bccbd1;
  border-bottom-width:3px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(31,56,68,.08);
}
.hebrew-screen-keyboard .handwriting-key:hover{
  border-color:#159bc1;
  transform:translateY(-1px);
  box-shadow:0 2px 5px rgba(31,56,68,.14);
}
.hebrew-screen-keyboard .keyboard-glyph{
  min-width:0;
  min-height:0;
  width:44px;
  height:44px;
}
.hebrew-screen-keyboard .keyboard-glyph.handwriting img{
  display:block;
  width:auto;
  height:auto;
  max-width:42px;
  max-height:42px;
  object-fit:contain;
}
.hebrew-screen-keyboard .keyboard-backspace{
  flex-basis:72px;
  width:72px;
  font-size:22px;
}
.hebrew-screen-keyboard .keyboard-row-space{
  width:100%;
  min-width:100%;
  justify-content:center;
  transform:none;
  padding-top:2px;
}
.hebrew-screen-keyboard .keyboard-space{
  width:270px;
  flex:0 0 270px;
  height:42px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#61757d;
}

/* In Admin -> Alphabet the keyboard is always visible. */
.alphabet-keyboard-preview .keyboard-toolbar{display:none}
.alphabet-keyboard-preview .keyboard-panel{
  display:flex !important;
}

/* v017 — handwritten result should read like handwriting, not separate cards */
.keyboard-handwriting-output{
  min-height:70px;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  padding:8px 10px;
  overflow-x:auto;
  overflow-y:hidden;
  direction:rtl;
}
.keyboard-handwriting-output .alphabet-glyph{
  flex:0 0 auto;
  min-width:0;
  min-height:0;
  width:auto;
  height:54px;
  padding:0;
  margin:0;
}
.keyboard-handwriting-output .alphabet-glyph.handwriting img{
  display:block;
  width:auto;
  height:52px;
  max-width:none;
  max-height:52px;
  object-fit:contain;
}
.keyboard-handwriting-output .typed-hand-space{
  flex:0 0 22px;
  width:22px;
}
@media(max-width:700px){
  .hebrew-screen-keyboard .keyboard-panel{align-items:flex-start}
  .hebrew-screen-keyboard .handwriting-key{flex-basis:48px;width:48px;height:48px}
  .hebrew-screen-keyboard .keyboard-glyph{width:40px;height:40px}
  .hebrew-screen-keyboard .keyboard-glyph.handwriting img{max-width:38px;max-height:38px}
  .hebrew-screen-keyboard .keyboard-row-2{transform:translateX(12px)}
  .hebrew-screen-keyboard .keyboard-row-3{transform:translateX(24px)}
  .hebrew-screen-keyboard .keyboard-space{width:220px;flex-basis:220px}
}


/* v018 — friendly exercise constructor */
.exercise-builder-form{max-width:1540px;margin:0 auto}
.exercise-builder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}
.exercise-builder-head h1{margin:4px 0 5px;font-size:28px}
.exercise-builder-head p{margin:0;color:#687c85}
.exercise-builder-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;color:#159bc1}
.builder-head-actions{display:flex;align-items:center;gap:12px;padding-top:4px}
.builder-active-switch{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#fff;border:1px solid #d7e2e6;border-radius:10px;font-weight:700}
.builder-active-switch input{width:auto}
.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.builder-main{min-width:0}
.builder-section{background:#fff;border:1px solid #dbe5e9;border-radius:13px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(24,52,64,.025)}
.builder-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.builder-section-title h2{margin:0 0 3px;font-size:19px}
.builder-section-title p{margin:0;color:#7a8d95;font-size:13px}
.builder-step{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#e8f7fb;color:#0d91b8;display:flex;align-items:center;justify-content:center;font-weight:900}
.builder-grid{display:grid;gap:14px}
.builder-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.builder-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.builder-grid.compact{gap:9px}
.field-help{font-size:12px;color:#7c9098;margin-top:5px;line-height:1.35}
.label-soft{font-weight:400;color:#8b9ca3}
.type-builder{display:none}.type-builder.active{display:block}
.builder-question{min-height:84px;font-size:18px}
.builder-subhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 8px;padding-top:13px;border-top:1px solid #edf2f4}
.builder-subhead strong{display:block}.builder-subhead span{display:block;font-size:12px;color:#80929a;margin-top:2px}
.btn.small{padding:7px 10px;font-size:12px}
.builder-list{display:flex;flex-direction:column;gap:7px}
.builder-item{display:grid;align-items:center;gap:8px;background:#f8fafb;border:1px solid #dfe8eb;border-radius:9px;padding:8px}
.choice-item{grid-template-columns:22px 34px minmax(180px,2fr) minmax(100px,1fr) minmax(100px,1fr) 32px}
.choice-correct{text-align:center}.choice-correct input{width:auto}
.builder-drag{color:#9aaab0;cursor:default;font-weight:900}
.builder-remove{width:30px;height:30px;border:0;background:transparent;color:#9aa9af;font-size:23px;cursor:pointer;border-radius:7px}
.builder-remove:hover{background:#ffecee;color:#c64a58}
.pair-item{grid-template-columns:28px minmax(180px,1fr) 30px minmax(180px,1fr) 32px}
.group-item,.card-item{grid-template-columns:28px minmax(180px,1fr) minmax(180px,1fr) 32px}
.order-item{grid-template-columns:30px minmax(250px,1fr) 32px}
.pair-number,.order-number{width:25px;height:25px;border-radius:7px;background:#eaf3f6;color:#58727d;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.pair-arrow{text-align:center;color:#90a1a8}
.builder-inline-check{display:flex;align-items:center;gap:8px;margin-top:12px;color:#526971;font-size:13px}
.builder-inline-check input{width:auto}
.builder-tabs{display:flex;gap:4px;border-bottom:1px solid #dbe5e9;margin-bottom:14px}
.builder-tab{border:0;background:transparent;padding:8px 16px;font-weight:800;color:#78909a;cursor:pointer;border-bottom:2px solid transparent}
.builder-tab.active{color:#108fb5;border-color:#159bc1}
.builder-lang-pane{display:none}.builder-lang-pane.active{display:block}
.builder-advanced{background:#fff;border:1px solid #dbe5e9;border-radius:12px;margin-bottom:18px;overflow:hidden}
.builder-advanced summary{cursor:pointer;padding:15px 18px;font-weight:800}
.builder-advanced summary span{font-weight:400;color:#8a9aa0;margin-left:8px;font-size:12px}
.builder-advanced-body{padding:0 18px 18px;border-top:1px solid #edf2f4}
.code-field{min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.builder-side-card{background:#fff;border:1px solid #dbe5e9;border-radius:13px;padding:16px}
.builder-side-card.sticky{position:sticky;top:76px}
.builder-side-card h3{margin:0 0 15px}
.builder-save-wide{width:100%;margin-top:10px}
.builder-preview-status{margin-top:12px;padding:8px 10px;border-radius:8px;background:#f4f8f9;color:#71858d;font-size:12px;text-align:center;transition:.2s}
.builder-preview-status.ok{background:#eaf8ef;color:#27844a}
.letter-form-friendly{background:#f7fafb;border:1px solid #e0e8eb;border-radius:10px;padding:14px}
@media(max-width:1100px){.builder-layout{grid-template-columns:1fr}.builder-side-card.sticky{position:static}.builder-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.exercise-builder-head{flex-direction:column}.builder-head-actions{width:100%}.builder-grid-2,.builder-grid-3{grid-template-columns:1fr}.choice-item{grid-template-columns:22px 30px 1fr 32px}.choice-image,.choice-audio{grid-column:3/5}.pair-item,.group-item,.card-item{grid-template-columns:28px 1fr 32px}.pair-item .pair-arrow{display:none}.pair-item .match-right,.group-item .group-answer,.card-item .card-translation{grid-column:2/4}.builder-side{order:-1}}


/* v019 — inline result: keep question visible and highlight selected/correct answers */
.option,.letter-form-option{transition:border-color .16s,background .16s,box-shadow .16s}
.option.answer-selected,.letter-form-option.answer-selected{box-shadow:0 0 0 2px rgba(31,145,184,.18)}
.option.answer-correct,.letter-form-option.answer-correct{background:#e7f8ed!important;border-color:#53b873!important;box-shadow:0 0 0 2px rgba(83,184,115,.16)}
.option.answer-wrong,.letter-form-option.answer-wrong{background:#fff0f1!important;border-color:#dc6a75!important;box-shadow:0 0 0 2px rgba(220,106,117,.13)}
.answer-input-correct{background:#edfaf1!important;border-color:#53b873!important}
.answer-input-wrong{background:#fff3f4!important;border-color:#dc6a75!important}
.exercise-inline-feedback{margin-top:18px;border-top:1px solid #e3eaed;padding-top:18px}
.inline-result-title{font-size:24px;font-weight:900;margin-bottom:6px}
.inline-result-correct .inline-result-title{color:#207f48}
.inline-result-wrong .inline-result-title{color:#bd4450}
.inline-result-score{color:#536b75;margin-bottom:14px}
.inline-explanation{padding:14px 16px;border-radius:10px;background:#eaf9f1;border:1px solid #d1efdf}
.inline-result-wrong .inline-explanation{background:#f8f5eb;border-color:#eee5c9}
.inline-explanation p{margin:8px 0 0;font-size:16px;line-height:1.5}
.inline-result-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.exercise-submit-row button:disabled{opacity:.65;cursor:wait}

/* v019 — assignment/question admin hierarchy */
.assignment-editor-head,.assignment-questions-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.assignment-editor-head h1,.assignment-questions-head h2{margin:0 0 4px}
.builder-empty{padding:24px;border:1px dashed #cad8dd;border-radius:10px;text-align:center;color:#7b9098;background:#fafcfc}
.assignment-remove-question{padding:5px 10px}


/* v020 — assignment editor: compact top row + language cards */
.assignment-editor-v020{padding:22px}
.assignment-meta-row{
  display:grid;
  grid-template-columns:minmax(320px,1.6fr) minmax(180px,.8fr) 130px auto;
  gap:14px;
  align-items:end;
  margin-bottom:18px;
}
.assignment-active-check{
  min-height:42px;
  margin:0 0 1px;
  padding:0 8px;
}
.assignment-language-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.assignment-language-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(95,119,130,.18);
  border-radius:12px;
  padding:16px;
  isolation:isolate;
}
.assignment-language-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}
.assignment-language-ru::before{
  background:linear-gradient(to bottom,
    rgba(255,255,255,.70) 0 33.333%,
    rgba(0,57,166,.15) 33.333% 66.666%,
    rgba(213,43,30,.15) 66.666% 100%);
}
.assignment-language-uk::before{
  background:linear-gradient(to bottom,
    rgba(0,87,184,.15) 0 50%,
    rgba(255,215,0,.15) 50% 100%);
}
.assignment-language-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.assignment-language-head strong{display:block;font-size:16px}
.assignment-language-head small{display:block;color:#6f838c;margin-top:2px}
.assignment-language-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:28px;
  border-radius:7px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(90,110,120,.16);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.assignment-language-card textarea{min-height:132px;background:rgba(255,255,255,.86)}
.assignment-language-card input{background:rgba(255,255,255,.88)}

/* v020 — clearer question actions */
.assignment-question-actions{
  display:grid;
  grid-template-columns:1.25fr .9fr;
  gap:12px;
  margin:14px 0 18px;
}
.assignment-add-existing,
.assignment-create-new{
  border:1px solid #dde7ea;
  border-radius:11px;
  padding:14px;
  background:#fafcfd;
}
.assignment-create-new{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.assignment-action-title{
  font-size:14px;
  font-weight:900;
  margin-bottom:7px;
}
.assignment-existing-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.assignment-existing-form select{min-width:0}

@media(max-width:950px){
  .assignment-meta-row{grid-template-columns:1fr 1fr}
  .assignment-language-columns{grid-template-columns:1fr}
  .assignment-question-actions{grid-template-columns:1fr}
}
@media(max-width:620px){
  .assignment-meta-row{grid-template-columns:1fr}
  .assignment-existing-form{grid-template-columns:1fr}
  .assignment-create-new{align-items:flex-start;flex-direction:column}
}


/* v021 — WP-like media library */
body.media-modal-open{overflow:hidden}
.media-library-modal[hidden]{display:none}
.media-library-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
.media-library-backdrop{position:absolute;inset:0;background:rgba(21,35,42,.68)}
.media-library-window{position:relative;width:min(1180px,94vw);height:min(780px,90vh);background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.media-library-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 12px;border-bottom:1px solid #dce5e8}
.media-library-head h2{margin:0 0 3px}.media-library-head p{margin:0;color:#758890}
.media-library-close{border:0;background:transparent;font-size:30px;cursor:pointer;color:#6d8088}
.media-library-tabs{display:flex;padding:0 22px;border-bottom:1px solid #dce5e8}
.media-library-tabs button{border:0;background:transparent;padding:12px 16px;font-weight:800;color:#6d8189;border-bottom:3px solid transparent;cursor:pointer}
.media-library-tabs button.active{color:#0c91b8;border-color:#159bc1}
.media-library-body{flex:1;min-height:0}.media-library-pane{display:none;height:100%}.media-library-pane.active{display:block}
.media-library-toolbar{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #edf1f3}.media-library-toolbar input{flex:1}
.media-library-content{display:grid;grid-template-columns:1fr 280px;height:calc(100% - 66px);min-height:0}
.media-library-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px;align-content:start;overflow:auto;background:#f6f8f9}
.media-library-item{border:2px solid transparent;background:#fff;border-radius:8px;padding:6px;cursor:pointer;text-align:left;min-height:120px}
.media-library-item.selected{border-color:#159bc1;box-shadow:0 0 0 2px rgba(21,155,193,.12)}
.media-library-item img{width:100%;height:92px;object-fit:contain;background:#f2f4f5;border-radius:5px}
.media-library-item span{display:block;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-audio-thumb{height:92px;display:flex;align-items:center;justify-content:center;font-size:34px;background:#eef5f7;border-radius:5px}
.media-library-detail{padding:16px;border-left:1px solid #dce5e8;overflow:auto}.media-library-detail audio{width:100%}.media-detail-preview{width:100%;max-height:220px;object-fit:contain;background:#f5f7f8}
.media-library-detail dl{font-size:12px}.media-library-detail dt{font-weight:800;margin-top:10px}.media-library-detail dd{margin:2px 0;word-break:break-all;color:#5f747d}
.media-library-upload{padding:28px;max-width:680px;margin:0 auto}.media-upload-drop{border:2px dashed #b9ccd3;border-radius:12px;padding:35px;text-align:center;margin-bottom:16px;background:#f8fbfc;transition:.18s border-color,.18s background,.18s box-shadow}.media-upload-drop.dragover{border-color:#159bc1;background:#edf9fc;box-shadow:0 0 0 4px rgba(21,155,193,.1)}.media-upload-drop strong,.media-upload-drop small{display:block}.media-upload-drop small{margin:5px 0 12px;color:#73868e}.media-upload-icon{font-size:38px}.media-upload-files{max-height:150px;overflow:auto;margin:0 0 14px;padding:11px 13px;border:1px solid #dce5e8;border-radius:8px;background:#fbfcfd;font-size:13px}.media-upload-files ul{margin:7px 0 0;padding-left:20px}.media-upload-files li{margin:3px 0;word-break:break-all}.media-upload-progress{display:block;width:100%;height:10px;margin-top:12px}.media-library-upload .field small{display:block;margin-top:5px}
.media-library-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #dce5e8}
.media-input-row{display:flex;gap:6px}.media-input-row input{flex:1}.media-picker-btn{white-space:nowrap}
.choice-media-cell{display:flex;gap:4px;min-width:0}.choice-media-cell input{min-width:0;flex:1}.mini-media-btn{border:1px solid #cbd8dd;background:#fff;border-radius:6px;font-size:10px;padding:4px 6px;white-space:nowrap;cursor:pointer}
.media-library-open{border:1px solid #c8d8de;cursor:pointer;font:inherit}

/* v021 — personal learned vocabulary */
.personal-vocab-page,.trainer-page{max-width:1280px;margin:0 auto}
.vocab-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#f7fbfc,#eef8fb);border:1px solid #dce9ed;border-radius:18px;padding:24px;margin-bottom:14px}
.vocab-hero h1{margin:4px 0 5px;font-size:30px}.vocab-hero p{margin:0;color:#637982}.vocab-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;color:#1298bd}
.vocab-trainer-cta{padding:12px 18px}
.vocab-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.vocab-summary>div{background:#fff;border:1px solid #dce6ea;border-radius:12px;padding:14px}.vocab-summary strong{display:block;font-size:25px}.vocab-summary span{font-size:12px;color:#778b93}
.vocab-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.vocab-filter{border:1px solid #d0dde2;background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.vocab-filter.active{background:#159bc1;color:#fff;border-color:#159bc1}
.vocab-pos-section{margin-bottom:26px}.vocab-pos-section>h2{margin:0 0 12px}.vocab-word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.vocab-word-card{background:#fff;border:1px solid #dce6e9;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:auto 1fr;min-height:105px}.vocab-word-image{width:88px;height:100%;object-fit:cover;background:#f3f5f6}.vocab-word-main{padding:12px}.vocab-word-he{font-size:24px;font-weight:800}.vocab-word-translation{font-weight:700;margin-top:4px}.vocab-word-transcription{font-size:12px;color:#82949b}
.vocab-word-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef2f3;padding:7px 10px;font-size:10px;color:#82949b}.vocab-word-foot button{border:0;background:#eef7fa;border-radius:7px;cursor:pointer;padding:5px 8px}
.vocab-binyan-block{background:#f8fafb;border:1px solid #e0e8eb;border-radius:13px;padding:14px;margin-bottom:12px}.vocab-binyan-block h3{margin:0 0 12px}.vocab-subgroup{margin-top:13px}.vocab-subgroup-title{font-size:12px;font-weight:900;color:#66808a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.vocab-empty{text-align:center;padding:38px}

/* v021 — trainer */
.trainer-head{margin-bottom:14px}.trainer-head h1{margin:5px 0}.trainer-head p{margin:0;color:#71858e}.trainer-back{font-size:13px}
.trainer-config{padding:22px}.trainer-config-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trainer-start{margin-top:16px;padding:11px 24px}
.trainer-session{max-width:900px;margin:0 auto;padding:22px}.trainer-progress{height:7px;background:#e8eef0;border-radius:999px;overflow:hidden}.trainer-progress>div{height:100%;background:#159bc1;width:0;transition:.3s}.trainer-session-top{display:flex;justify-content:space-between;color:#6e838c;font-size:12px;margin:8px 0 18px}
.trainer-question{text-align:center;padding:15px 10px}.trainer-question h2{font-size:20px}.trainer-word-prompt{font-size:48px;font-weight:800;margin:20px}.trainer-translation-prompt{font-size:24px;font-weight:800;margin:15px}
.trainer-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:640px;margin:18px auto}.trainer-options button,.trainer-match button{border:1px solid #cfdde2;background:#fff;border-radius:10px;padding:14px;font-size:16px;cursor:pointer}.trainer-options button.right,.trainer-match button.right{background:#e8f8ee;border-color:#55b875}.trainer-options button.wrong,.trainer-match button.wrong{background:#fff0f1;border-color:#d96872}
.trainer-audio-big{width:82px;height:82px;border-radius:50%;border:0;background:#e7f7fb;font-size:34px;cursor:pointer}.trainer-dictation-input{display:block;max-width:420px;margin:18px auto;font-size:30px;text-align:center}
.trainer-letters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:18px}.trainer-letters button{width:52px;height:52px;border:1px solid #cbd9de;background:#fff;border-radius:9px;font-size:25px;cursor:pointer}.trainer-assembled{min-height:55px;font-size:36px;font-weight:800}
.trainer-match{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:700px;margin:20px auto}.trainer-match>div{display:flex;flex-direction:column;gap:7px}.trainer-match button.selected{box-shadow:0 0 0 2px #159bc1}
.trainer-feedback{margin-top:15px;padding:14px;border-radius:10px;font-size:18px;font-weight:900;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.trainer-feedback small{font-weight:500}.trainer-feedback .btn{margin-left:auto}.trainer-feedback.ok{background:#e9f8ef;color:#267d49}.trainer-feedback.bad{background:#fff0f1;color:#b94751}.trainer-done{text-align:center;padding:40px}.trainer-done-icon{font-size:56px;color:#2f9a5b}
@media(max-width:900px){.media-library-content{grid-template-columns:1fr}.media-library-detail{display:none}.trainer-config-grid{grid-template-columns:1fr 1fr}.vocab-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.trainer-config-grid,.trainer-options{grid-template-columns:1fr}.vocab-summary{grid-template-columns:1fr}.trainer-match{grid-template-columns:1fr 1fr}.media-library-window{width:98vw;height:94vh}.media-library-grid{grid-template-columns:repeat(2,1fr)}}


/* v022 — clean standard rich-text toolbar */
.rte-toolbar{
  background:#f8fafb;
  border:1px solid #d7e1e5;
  border-bottom:0;
  border-radius:9px 9px 0 0;
  overflow:hidden;
}
.rte-tabs{background:#eef3f5}
.rte-tools{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  padding:8px 10px;
  background:#f8fafb;
}
.rte-group{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:2px;
  background:#fff;
  border:1px solid #d9e2e6;
  border-radius:7px;
}
.rte-btn.rte-icon-btn{
  width:34px;
  height:34px;
  min-height:34px;
  padding:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#344952;
}
.rte-btn.rte-icon-btn svg{
  width:19px;
  height:19px;
  display:block;
}
.rte-btn.rte-icon-btn:hover,
.rte-btn.rte-icon-btn.active{
  background:#e7f5fa;
  color:#0b8fb7;
}
.rte-image-button{
  color:#0b8fb7!important;
}
.rte-select{
  height:38px;
  min-height:38px;
  min-width:165px;
  border-radius:7px;
  padding:6px 30px 6px 10px;
}
.rte-color{
  min-width:38px;
  height:38px;
  padding:4px 6px;
  border-radius:7px;
  background:#fff;
  border:1px solid #d9e2e6;
}
.rte-color-symbol{
  font-weight:900;
  font-size:15px;
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-underline-offset:3px;
}
.rte-highlight-symbol{
  display:block;
  width:16px;
  height:13px;
  border-bottom:5px solid #fff59d;
}
.rte-color input{
  width:18px;
  height:22px;
  opacity:0;
  position:absolute;
  pointer-events:none;
}
.ivrito-rte .rte-visual{
  border:1px solid #d7e1e5;
  border-top:0;
  min-height:330px;
}
.ivrito-rte .rte-footer{
  border:1px solid #d7e1e5;
  border-top:0;
  border-radius:0 0 9px 9px;
}
.rte-visual .lesson-content-image{
  display:block;
  max-width:100%;
  height:auto;
  margin:14px auto;
  border-radius:8px;
}
@media(max-width:900px){
  .rte-tools{gap:5px}
  .rte-group{gap:1px}
  .rte-btn.rte-icon-btn{width:32px;height:32px;padding:6px}
  .rte-select{min-width:140px}
}
