/* Oustory — the Shabbat surface.
   Concordance surface rules: solid, ruled, typographic. Ink #141210,
   text #f5f0e6, gold #c9a227. No glass, no translucency over text. */

.shab-status{color:#a49c8e;font-size:13px;margin:4px 0}
.shab-eyebrow{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#c9a227;margin:0 0 6px}
.shab-title{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:600;line-height:1.05;margin:0 0 6px;color:#f5f0e6}
.shab-sub{font-size:13.5px;line-height:1.55;color:#b7ae9c;margin:0 0 10px}
.shab-strip{display:flex;gap:3px;margin:10px 0 6px}
.shab-cell{flex:1;height:24px;border-radius:5px;background:#26221c;position:relative;display:block}
.shab-cell.is-newmoon{background:#3a362c;box-shadow:inset 0 0 0 1px #57503e}
.shab-cell.is-prep{background:#3a2f1a;box-shadow:inset 0 0 0 1px #6b5626}
.shab-cell.is-shab{background:#c9a227}
.shab-cell.is-today{box-shadow:0 0 0 2px #f5f0e6}
.shab-cell.is-shab.is-today{box-shadow:0 0 0 2px #f5f0e6}
.shab-cell span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:800;font-style:normal;color:#141210}
.shab-strip-cap{font-size:11px;color:#8f8674;margin:0 0 12px;line-height:1.5}
.shab-open-btn{appearance:none;border:1px solid rgba(201,162,39,.55);background:rgba(201,162,39,.12);color:#e8d9ae;font:inherit;font-size:13px;font-weight:700;padding:10px 14px;border-radius:999px;cursor:pointer}
.shab-open-btn:active{background:rgba(201,162,39,.25)}
.shab-today-guide{border-top:1px solid #2c2822;margin-top:14px;padding-top:12px}

/* ---- full surface overlay ---- */
.shab-overlay{position:fixed;inset:0;z-index:60;background:#141210;color:#f5f0e6;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 40px}
.shab-overlay.is-prep{background:#171208}
.shab-overlay.is-shabbat{background:#100f0d}
.shab-ov-head{position:sticky;top:0;background:inherit;padding:calc(env(safe-area-inset-top,0px) + 14px) 20px 10px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #2c2822;z-index:2}
.shab-ov-title{font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:600;line-height:1;margin:2px 0 4px}
.shab-heb{font-size:12px;letter-spacing:.24em;color:#c9a227;font-weight:800;margin:0}
.shab-close{appearance:none;border:1px solid #3a352b;background:#1e1b17;color:#f5f0e6;width:38px;height:38px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;flex:none}
.shab-ov-body{padding:16px 20px 0;max-width:680px;margin:0 auto}
.shab-card{background:#1e1b17;border:1px solid #2e2a23;border-radius:16px;padding:16px;margin:0 0 18px}
.shab-overlay.is-shabbat .shab-card{background:#181512}
.shab-card-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c9a227;margin:0 0 10px;font-weight:800}
.shab-sec-h{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:600;margin:22px 0 8px;color:#f5f0e6}
.shab-prep-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:9px}
.shab-prep-list li{display:flex;gap:10px;font-size:13.5px;color:#e6dfcd;line-height:1.45}
.shab-prep-list li::before{content:"";width:17px;height:17px;flex:none;border-radius:50%;border:1.5px solid #c9a227;margin-top:1px;background:radial-gradient(circle at center,#c9a227 0 4px,transparent 5px)}
.shab-quiet{font-size:11.5px;color:#7d7666;line-height:1.5;margin:10px 0 0}
.shab-read-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #2a2620}
.shab-read-row:last-child{border-bottom:0}
.shab-read-row b{font-size:14.5px;display:block;color:#f5f0e6}
.shab-read-row small{color:#9a917f;font-size:12px;line-height:1.4;display:block;margin-top:2px}
.shab-read-btn{appearance:none;width:38px;height:38px;flex:none;border-radius:50%;border:1px solid rgba(201,162,39,.5);background:rgba(201,162,39,.12);color:#e8d9ae;font-size:11px;font-weight:800;cursor:pointer}

/* month grid */
.shab-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:10px}
.shab-day{appearance:none;border:1px solid #2c2822;background:#1a1713;border-radius:11px;min-height:62px;padding:7px 6px;text-align:left;color:#f5f0e6;font:inherit;cursor:pointer}
.shab-day b{font-size:14px;display:block}
.shab-day small{display:block;font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:#8f8674;font-weight:800;margin-top:3px;line-height:1.3}
.shab-day.is-shab{background:#2e2513;border-color:#6b5626}
.shab-day.is-shab b{color:#f0dfae}
.shab-day.is-shab small{color:#e0c98d}
.shab-day.is-prep{box-shadow:inset 0 0 0 1px #4a3d1e}
.shab-day.is-today{box-shadow:0 0 0 2px #c9a227}
.shab-day.is-sel{outline:2px solid #f5f0e6;outline-offset:1px}
.shab-day-detail{font-size:13.5px;color:#cfc7b4;line-height:1.55;margin:12px 0 0}

/* theirs / yours */
.shab-vs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #2c2822;border-radius:16px;overflow:hidden;margin-top:22px}
.shab-vs-side{padding:16px;background:#1a1713}
.shab-vs-side:first-child{border-right:1px solid #2c2822;background:#171512}
.shab-vs-side h4{margin:0 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8f8674}
.shab-vs-side.is-yours h4{color:#c9a227}
.shab-vs-big{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.1;margin:0 0 6px;color:#f5f0e6}
@media(max-width:520px){.shab-vs{grid-template-columns:1fr}.shab-vs-side:first-child{border-right:0;border-bottom:1px solid #2c2822}}

/* guides */
.shab-guide-wrap{border-top:1px solid #2c2822;padding:6px 0}
.shab-guide-toggle{appearance:none;background:none;border:0;color:#f5f0e6;font:inherit;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:600;padding:10px 0;cursor:pointer;width:100%;text-align:left}
.shab-guide{padding:2px 0 14px}
.shab-guide-title{display:none}
.shab-kept{margin:4px 0 12px;padding-left:18px;display:grid;gap:6px}
.shab-kept li{font-size:13.5px;color:#e6dfcd;line-height:1.5}

/* Shabbat rest state: Study and Discover are quieted, never locked */
body.shabbat-rest .bottom-dock [data-view="study"],
body.shabbat-rest .bottom-dock [data-view="discover"]{opacity:.42}
body.shab-overlay-open{overflow:hidden}
