@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@500;600;700&family=Heebo:wght@400;500;600;700&display=swap');
:root{--gold:#c8b35c;--paper:#f7f4ef}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#1b1b1b;font-family:Heebo,sans-serif}button,input{font:inherit}h1,h2,h3,.course-tile span,.lesson b,.player-info h3{letter-spacing:-1px}.app-header{height:70px;background:#191919;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;position:sticky;top:0;z-index:20;border-bottom:1px solid #c8b35c55}.app-header img{width:78px;height:58px;object-fit:contain}.app-header button{border:1px solid var(--gold);border-radius:999px;background:transparent;color:#eadb91;padding:8px 17px}.screens{padding-bottom:82px}.screen{display:none;min-height:calc(100vh - 152px)}.screen.active{display:block}.app-hero{height:min(64vh,680px);background:url('./assets/rabbi-malach-hero-original.jpg') center/cover}.hero-shade{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:7vw;background:linear-gradient(90deg,#111e8 0 30%,transparent 70%),linear-gradient(0deg,#111b,transparent 45%);text-align:right}.hero-kicker{font-weight:600;color:#f2e7b3;margin:0 0 8px;text-shadow:0 2px 8px #000}.hero-shade h1{font:700 clamp(44px,6vw,84px)/1.02 'Frank Ruhl Libre',serif;letter-spacing:-3px;color:#efe19a;text-shadow:0 2px 10px #000;margin:0 0 24px}.hero-shade em{font-style:normal}.gold{background:var(--gold);color:#111;border:0;padding:13px 24px;font-weight:700;cursor:pointer}.pill{border-radius:999px}.home-courses,.course-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1100px;margin:0 auto;padding:45px 24px 22px}.course-menu{grid-template-columns:repeat(3,1fr)}.course-tile{background:#fff;border:0;border-radius:22px;padding:10px 10px 18px;box-shadow:0 10px 30px #55451f1c;overflow:hidden;cursor:pointer;transition:transform .15s}.course-tile:active{transform:scale(.98)}.course-tile img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:15px}.course-tile span{display:block;font:700 27px 'Frank Ruhl Libre',serif;margin-top:12px}.screen>h2,.screen-title h2{font:700 38px 'Frank Ruhl Libre',serif;margin:22px auto;max-width:1100px;padding:0 24px}.latest-list,.catalog-list{max-width:1100px;margin:auto;padding:0 24px 34px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.lesson{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #ebe4da;border-radius:18px;padding:8px;text-align:right;box-shadow:0 5px 18px #55451f0d;cursor:pointer}.lesson img{width:120px;height:74px;object-fit:cover;border-radius:12px}.lesson b,.lesson small{display:block}.lesson small{color:#8b8478;margin-top:4px}.lesson i{font-style:normal;color:#a48d36;padding:8px}.screen-title{max-width:1100px;margin:auto;padding:25px 0 10px;display:flex;align-items:center;gap:15px}.screen-title h2{margin:0;flex:1}.screen-title input{width:min(520px,55vw);padding:13px 18px;border:1px solid #d7cdbc;border-radius:999px;background:#fff;outline:none}.screen-title input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c8b35c25}.more-card{max-width:620px;margin:30px auto;background:#fff;border-radius:26px;padding:35px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 12px 35px #55451f16}.more-card img{width:160px}.more-card a{color:#222;text-decoration:none;border-bottom:1px solid #eee;padding:10px;width:100%;text-align:center}.more-card .link{border:0}.hotlines{width:100%;margin-top:10px;text-align:center;background:#faf8f3;border-radius:20px;padding:20px}.hotlines h3{font:700 25px 'Frank Ruhl Libre',serif;margin:0 0 4px}.hotlines .main-hotline{display:block;color:#aa9238;font-size:30px;font-weight:700;border:0}.hotlines div{display:grid;grid-template-columns:1fr 1fr}.hotlines div a{font-size:13px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:76px;background:#191919;display:flex;z-index:30;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 18px #0003}.bottom-nav button{flex:1;min-width:0;border:0;background:transparent;color:#8d8d8d;display:grid;place-items:center;padding:7px 2px;cursor:pointer}.bottom-nav button.active{color:#e4d479}.bottom-nav b{font-size:20px}.bottom-nav span{font-size:11px;white-space:nowrap}.player{position:fixed;inset:0;background:#080808;z-index:50;display:none;grid-template-rows:1fr auto}.player.open{display:grid}.player iframe{width:100%;height:100%;border:0}.player-close{position:absolute;left:18px;top:18px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:#000a;color:#fff;font-size:28px}.player-info{background:#191919;color:#fff;padding:18px 5vw;display:flex;align-items:center}.player-info div{flex:1}.player-info h3{margin:0;font:600 22px 'Frank Ruhl Libre',serif}.player-info small{color:#999}.player-info button{background:transparent;border:0;color:var(--gold);font-size:30px}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,20px);background:#fff;border-radius:999px;padding:10px 16px;opacity:0;transition:.2s;z-index:80}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){.app-header{height:62px}.app-header img{width:66px;height:50px}.app-hero{height:58vh;min-height:470px;background-position:67% center}.hero-shade{padding:28px 20px;background:linear-gradient(0deg,#111d 0 23%,transparent 60%)}.hero-kicker{font-size:13px}.hero-shade h1{font-size:42px;letter-spacing:-2px;max-width:95%;margin-bottom:16px}.home-courses,.course-menu{grid-template-columns:1fr 1fr;padding:20px 14px;gap:10px}.course-menu .course-tile:first-child{grid-column:1/-1}.course-menu .course-tile:first-child img{aspect-ratio:2.2;object-position:top}.course-tile{border-radius:18px}.course-tile span{font-size:22px}.latest-list,.catalog-list{grid-template-columns:1fr;padding:0 12px 28px}.lesson{grid-template-columns:96px 1fr auto;border-radius:16px}.lesson img{width:96px;height:62px}.screen-title{padding:22px 12px 10px;display:block}.screen-title h2{padding:0;font-size:32px;margin-bottom:12px}.screen-title input{width:100%}.more-card{margin:18px 12px;padding:24px 16px}.hotlines div{grid-template-columns:1fr}.player-info h3{font-size:18px}}
@media(display-mode:standalone){.app-header{padding-top:env(safe-area-inset-top);height:calc(62px + env(safe-area-inset-top))}.app-header #installBtn{display:none!important}}
.app-header button,.hero-shade .gold{border-radius:999px!important}.app-header button{padding:10px 20px}.hero-shade .gold{padding:14px 28px}.hero-kicker{color:#fff;font-family:Heebo,sans-serif;letter-spacing:0}.home-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.home-courses .course-tile{width:100%;border-radius:28px}.home-courses .course-tile img{border-radius:21px}.hotlines a,.hotlines div a{border:0!important;text-decoration:none!important}.hotlines div{gap:8px 14px}.hotlines div a{display:block;padding:8px 4px;line-height:1.35;overflow-wrap:anywhere}.install-help{position:fixed;inset:0;z-index:90;background:#0009;display:none;align-items:center;justify-content:center;padding:22px}.install-help.show{display:flex}.install-help>div{position:relative;max-width:390px;width:100%;background:#fff;border-radius:28px;padding:30px;text-align:center;box-shadow:0 24px 70px #0005}.install-help h3{font:700 28px 'Frank Ruhl Libre',serif;margin:0 0 10px}.install-help p{direction:ltr;line-height:1.5}.install-help-close{position:absolute;left:14px;top:12px;border:0;background:#eee;width:36px;height:36px;border-radius:50%;font-size:24px}
.empty-course{grid-column:1/-1;background:#fff;border-radius:28px;padding:12px;text-align:center;overflow:hidden}.empty-course img{width:100%;max-height:520px;object-fit:cover;border-radius:21px}.empty-course h3{font:700 34px 'Frank Ruhl Libre',serif;margin:18px}
@media(max-width:700px){.home-courses{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-courses .course-tile{grid-column:auto!important;border-radius:24px}.home-courses .course-tile img{aspect-ratio:1.25!important;border-radius:18px}.home-courses .course-tile span{font-size:19px}.course-menu .course-tile:first-child img{object-position:center 42%}.hotlines div{grid-template-columns:1fr 1fr}.hotlines div a{font-size:12px}.more-card{overflow:hidden}}
.app-header #installBtn{border-radius:999px!important;padding:10px 22px!important}
.menu-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.more-card .menu-actions button{border:0;background:#f3efe5;border-radius:999px;padding:12px 10px;font-weight:600;cursor:pointer}.more-card .menu-actions .gold-action{background:var(--gold)}.app-page{padding:18px 16px}.app-page-head{max-width:900px;margin:0 auto 14px;display:flex;align-items:center;gap:12px}.app-page-head h2{font:700 30px 'Frank Ruhl Libre',serif;margin:0}.app-page-head button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;font-size:36px;line-height:1;box-shadow:0 5px 18px #55451f16}.app-page-card{position:relative;max-width:900px;height:calc(100vh - 190px);margin:auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 12px 35px #55451f16}.app-page-card iframe{width:100%;height:100%;border:0;background:#fff}.frame-loader{position:absolute;inset:0;display:grid;place-items:center;background:#fff;color:#9a873c;font-weight:700;z-index:1}.frame-loader[hidden]{display:none}.install-banner[hidden]{display:none!important}.install-banner{position:fixed;z-index:45;left:10px;right:10px;bottom:84px;direction:ltr;background:#fff;border-radius:22px;padding:10px;display:none;align-items:center;gap:10px;box-shadow:0 12px 40px #0004}.install-banner img{width:46px;height:46px;border-radius:12px}.install-banner span{display:grid;line-height:1.2;flex:1}.install-banner small{color:#777}.install-banner button{border:0;border-radius:999px;padding:9px 14px;background:var(--gold);font-weight:700}.install-banner #bannerClose{background:#eee;width:32px;height:32px;padding:0;font-size:20px}.install-help{position:fixed;inset:0;z-index:90;background:#0009;display:none;align-items:center;justify-content:center;padding:22px}.install-help.show{display:flex}.install-help>div{position:relative;max-width:390px;width:100%;background:#fff;border-radius:28px;padding:30px;text-align:center}.install-help-close{position:absolute;left:14px;top:12px;border:0;background:#eee;width:36px;height:36px;border-radius:50%;font-size:24px}
@media(max-width:700px){.install-banner{display:flex}.menu-actions{grid-template-columns:1fr}}
.frame-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.frame-loader img{width:118px;height:94px;object-fit:contain;animation:loader-pulse 1.25s ease-in-out infinite}.frame-loader span{direction:ltr;letter-spacing:.2px;font-weight:600}@keyframes loader-pulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}
