@font-face{font-family:"Instrument Serif";src:url(/assets/fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-wght-normal.woff2) format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Frank Ruhl Libre";src:url(/assets/fonts/frank-ruhl-libre-hebrew-wght-normal.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
:root{--ink:#142245;--muted:#50617f;--blue:#1c43c5;--deep:#102269;--line:#dce5f5;--pale:#edf3ff;--canvas:#f7f9ff;--paper:#ffe9b9;--display:"Instrument Serif",Georgia,serif;--body:"DM Sans",Arial,sans-serif;--hebrew:"Frank Ruhl Libre",Georgia,serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:16px}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.55 var(--body);min-width:0}
a{color:var(--blue);text-underline-offset:4px}
button,input,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #5278ff;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.018em}
h1{font-size:clamp(42px,7vw,78px)}
h2{font-size:clamp(32px,4vw,42px)}
h3{font-size:32px}
p+ p{margin-top:12px}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.narrow{width:min(710px,calc(100% - 48px))}
.section-space{padding-block:26px 68px}
.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:3;top:8px;left:12px;background:white;padding:8px 14px}
.topbar{background:white;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px}
.brand{display:inline-flex;align-items:center;min-width:0}
.brand img{display:block;width:clamp(158px,30vw,248px);max-width:100%;height:auto}
.nav-actions{display:flex;flex:none;align-items:center;gap:8px}
.nav-actions .button{white-space:nowrap}
.hero{color:white;background:radial-gradient(ellipse at 83% 12%,#3b66f1 0,transparent 52%),linear-gradient(121deg,#101d64 0,#1a37a1 61%,#244ed5 100%)}
.hero-home{overflow:hidden}
.home-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:28px;padding-block:57px 63px}
.hero-home h1{max-width:720px;font-size:clamp(47px,6.7vw,82px)}
.hero p{color:#eef3ff}
.hero-home p{font-size:clamp(15px,2.3vw,19px);margin:17px 0 26px}
.hosted-on{color:#ffedc1;font-size:clamp(13px,2vw,16px);font-weight:700;margin-bottom:11px}
.hero-study{display:block;width:100%;height:auto;border:1px solid #ffffff50;border-radius:20px;box-shadow:0 20px 40px #0814476b}
.directory{padding-block:37px 32px}
.home-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:clamp(16px,4vw,44px);padding:clamp(20px,4vw,40px);margin-bottom:56px}
.home-about p{max-width:72ch}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.section-head a{font-size:14px;font-weight:700;white-space:nowrap}
.community-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.community-card{display:flex;align-items:center;gap:14px;padding:17px;text-decoration:none;color:var(--ink);background:white;border:1px solid var(--line);border-radius:15px;transition:border-color .15s,background .15s}
.community-card:hover{border-color:#a0b6f4;background:#fbfcff}
.community-card .status{margin-top:5px}.community-card p{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.community-card-icon{display:grid;place-items:center;flex:none;width:60px;height:60px}
.community-logo{display:block;flex:none;object-fit:contain;aspect-ratio:1;background:white;border-radius:9px}
.community-card-icon .community-logo{width:100%;height:100%;border:1px solid var(--line)}
.community-heading{display:flex;align-items:center;gap:14px;min-width:0}
.community-heading h1{overflow-wrap:anywhere}
.community-dashboard-actions{display:flex;flex-wrap:wrap;gap:8px;flex:none}
.community-about{padding:14px 18px;margin:0 0 17px}
.community-about h2{font-size:30px;margin-bottom:6px}
.community-about p{white-space:pre-wrap;overflow-wrap:anywhere}
.community-about .about-toggle{padding:4px 0 0;font-size:14px}
.card-arrow{margin-inline-start:auto;color:var(--blue);font-weight:700}
.hero-compact{padding-block:25px 36px}
.hero-back{display:inline-block;color:#edf2ff;margin-bottom:22px}
.cycle-grid{display:flex;justify-content:space-between;align-items:end;gap:16px}
.cycle-grid h1{margin-bottom:4px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.045em}
.progress-card,.surface{background:white;border:1px solid var(--line);border-radius:15px}
.progress-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,1fr);gap:15px;align-items:center;padding:14px 18px;margin-bottom:17px}
.progress-card strong,.progress-card span{display:block}
.progress-card span,.muted{color:var(--muted);font-size:14px}
progress{width:100%;height:9px;accent-color:var(--blue);border:none}
progress::-webkit-progress-bar{background:#e8efff;border-radius:9px}
progress::-webkit-progress-value{background:var(--blue);border-radius:9px}
.selection-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start;gap:16px}
.tractate-list,.gorel,.admin-panel{padding:20px}
.paper{background-color:var(--paper);background-image:radial-gradient(ellipse at 94% 95%,#ed9c4f59,transparent 67%),radial-gradient(ellipse at 0 0,#fff9dcaa,transparent 66%),radial-gradient(circle at 24% 23%,#7d3f261d .55px,transparent .9px),radial-gradient(circle at 78% 69%,#fff9e5a0 .48px,transparent .9px);background-size:auto,auto,5px 7px,7px 5px;border:1px solid #e9c989;border-radius:15px}
.gorel p{margin:9px 0 16px}
.gorel-status{font-weight:700}
.list-tools,.admin-search{display:flex;gap:9px;margin-bottom:8px}
.list-tools{flex-wrap:wrap}
.list-tools .tractate-query{flex:0 1 clamp(110px,34vw,170px);min-width:0}
.list-tools select{width:auto}
.admin-search input[type=search]{flex:1;min-width:0}
.tractate-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(76px,auto);gap:12px;align-items:center;min-height:63px;border-top:1px solid var(--line);padding:7px 0}
.tractate-row form{justify-self:end}
.tractate-row strong{display:block;overflow-wrap:anywhere}
.tractate-row small,table small,table bdi{display:block;color:var(--muted)}
.hebrew{font-family:var(--hebrew);font-weight:500;white-space:nowrap}
.tractate-row .hebrew{margin-inline-start:4px}
.length{color:var(--muted);font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid transparent;border-radius:9px;background:var(--blue);color:white;font-size:14px;font-weight:700;text-decoration:none;line-height:1.25}
.button:hover{background:#1535a7}
.button.soft{background:var(--pale);color:#183aab}
.button.soft:hover{background:#dce7ff}
.button.warm{background:var(--paper);color:var(--ink);border-color:#e9c989}
.button.white{background:white;color:var(--blue)}
.mobile-actions{display:none}
.cycle-links,.status-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cycle-links a,.status-links a{border-radius:8px;padding:6px 10px;font-weight:700;text-decoration:none;background:#ecf2ff}
.cycle-links a[aria-current],.status-links a[aria-current]{background:var(--blue);color:white}
.selection-summary{margin-block:14px;padding:19px 24px}
.selection-summary h1{font-size:clamp(37px,6vw,60px);margin:3px 0}
.sign-form{padding:22px;margin-top:15px}
.sign-form h2,.admin-panel h2{margin-bottom:10px}
.profile-form textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #aebfdf;border-radius:8px;background:white;color:var(--ink);font:inherit;resize:vertical}
.profile-logo-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-block:18px 8px}
.profile-logo-fields .community-logo{border:1px solid var(--line)}
.profile-logo-fields>div{flex:1 1 230px;min-width:0}
.profile-logo-fields input[type=file]{margin:4px 0 7px}
.sign-form form+.email-sign-in{margin-top:22px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:12px 0}
.location-fields{grid-column:1/-1;margin:0}
.location-fields [data-location-error]{grid-column:1/-1;margin:0}
.organizer-create{margin-top:18px}
.phone-inputs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin-top:4px}
.phone-country{position:relative;display:flex;align-items:center;gap:6px;padding:0 8px;background:white;border:1px solid #aebfdf;border-radius:8px;white-space:nowrap}
.phone-country img{border-radius:2px;object-fit:cover}
.phone-country-arrow{width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}
.phone-country select{position:absolute;inset:0;opacity:0;cursor:pointer}
.phone-country:focus-within{outline:2px solid #4567dd;outline-offset:2px}
label{display:block;font-weight:600;font-size:14px}
input:not([type=checkbox]),select{display:block;width:100%;min-height:44px;padding:9px 10px;border:1px solid #aebfdf;border-radius:8px;background:white;color:var(--ink);font-size:16px}
label input:not([type=checkbox]),label select{margin-top:4px}
.required,.danger{color:#a22435}
.optional{font-size:12px;color:var(--muted);font-weight:400}
.keyboard-row{display:flex;align-items:end;gap:6px}
.keyboard-row input{min-width:0}
.keyboard-row button{flex:none}
.keyboard{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.keyboard button{border:1px solid #aebfdf;border-radius:6px;background:white;color:var(--ink);min-width:36px;min-height:40px}
.reminder-fields{border:1px solid var(--line);border-radius:10px;margin:17px 0;padding:10px 12px}
legend{font-weight:700}
.check{display:flex;align-items:start;gap:8px;margin-top:9px;font-weight:400}
.check input{accent-color:var(--blue);margin:4px 0 0}
.notice{background:#e9efff;color:#304568;border-radius:8px;padding:11px 13px;margin-block:12px 16px}
.notice.error{background:#fff1f0;color:#842036}
.text-button{border:0;background:none;color:var(--blue);padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.text-button.danger{color:#a22435}
.commitment-actions{display:flex;gap:16px;flex-wrap:wrap;margin-block:15px}
.empty{color:var(--muted);padding-block:10px}
.status{display:inline-block;font-weight:700;font-size:12px;border-radius:6px;background:#eef2f8;padding:3px 7px;text-transform:capitalize;text-align:center}
.status.completed{background:#e5f4ed;color:#19624b}
.status.claimed{background:#dff4e5;color:#17613b}
.status.held{background:#fff1cf;color:#654717}
.status.pending{background:#fff1cf;color:#654717}
.admin-community,.setting-row{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-block:8px}
.admin-panel>.button,.admin-panel form>.button,.sign-form>.button{margin-top:8px}
.admin-summary{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:15px}
.admin-summary div{background:white;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:14px}
.admin-summary strong{font-size:21px;margin-right:6px}
.admin-summary>a{margin-inline-start:auto}
.settings-grid{margin-top:16px;align-items:start}
.roster-downloads,.acrylic-preview{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.acrylic-preview{justify-content:space-between;margin-top:16px;padding:18px 20px}
.acrylic-preview h2{font-size:clamp(27px,3vw,35px)}
.setting-form{display:flex;align-items:end;gap:10px;margin-block:12px}
.setting-form label{min-width:0;flex:1}
.table-wrap{position:relative;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:#eff4ff}
td{overflow-wrap:anywhere}
.available-admin,.history{padding:0;list-style:none}
.available-admin li,.history li{padding:7px 0;border-bottom:1px solid var(--line)}
.available-admin li span,.history li span{margin-inline-start:10px;color:var(--muted)}
.site-footer{background:white;border-top:1px solid var(--line)}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;min-height:68px}
.site-footer .brand img{width:clamp(148px,26vw,205px)}
.footer-brand{justify-self:start;min-width:0;padding-block:9px}
.footer-credit{color:var(--muted);font-size:14px;text-align:center}
.footer-credit a{font-weight:700}
.version{justify-self:end;color:var(--muted);font-size:12px;white-space:nowrap}
.demo-banner{background:#fff0c9;color:#503913;text-align:center;font-size:13px;padding:5px}
@media(max-width:720px){
  .wrap,.narrow{width:calc(100% - 32px)}
  .nav-actions .nav-sign-in{background:none;border:0;min-height:0;padding:2px 0;color:var(--blue);font-size:12px;text-decoration:underline}
  .nav-actions .nav-sign-in:hover{background:none}
  .home-grid{grid-template-columns:1fr;padding-block:40px;gap:24px}
  .home-about{grid-template-columns:1fr}
  .hero-study{max-width:460px;justify-self:center;border-radius:15px}
  .admin-panel .section-head{flex-wrap:wrap}
  .selection-grid,.settings-grid,.admin-grid{grid-template-columns:1fr}
  .mobile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}
  .mobile-actions:empty{display:none}
  .cycle-grid{align-items:start;flex-direction:column;gap:8px}
  .community-about .description-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
  .community-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .nav{padding-block:6px}
  .nav-actions{flex-direction:column;align-items:flex-end;gap:4px}
  .nav-actions .button:not(.nav-sign-in){font-size:12px;padding-inline:9px}
  .footer-inner{grid-template-columns:minmax(0,1fr) auto;row-gap:0;padding-bottom:12px}
  .footer-credit{grid-column:1/-1;grid-row:2}
  .version{grid-column:2;grid-row:1}
}
@media(max-width:460px){
  .community-heading .community-logo{width:52px;height:52px}
  .progress-card,.field-grid{grid-template-columns:1fr}
  .progress-card{gap:8px}
  .tractate-list,.gorel,.admin-panel,.sign-form{padding:14px}
  .tractate-row{gap:7px;grid-template-columns:minmax(0,1fr) auto minmax(60px,auto)}
  .tractate-row .button{padding-inline:9px}
  .admin-summary{gap:6px}
  .admin-summary div{padding:6px 7px}
  .admin-summary>a{margin-inline-start:0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.hebrew-field input{margin-top:4px}
.signup-dialog{width:min(700px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--canvas);color:var(--ink)}
.signup-dialog::backdrop{background:#091641a8}
.signup-dialog [data-signup-content]{width:100%;padding:18px 22px}
.signup-dialog .sign-form{margin-bottom:4px}
