  :root{
    /* פלטה: זית · חלודה · טרקוטה · משמש · קרם */
    --ink:#4E4A26;
    --ink-2:#6B6438;
    --ink-3:#756D42;
    --bone:#FAEEDA;
    --bone-2:#F5D9B5;
    --raised:#FEF7EC;
    --apricot:#E5AC7A;
    --line:#DDBE93;
    --line-soft:#EBD6B8;
    --moss:#55642B;
    --moss-soft:#A69C6E;
    --ember:#8A4029;
    --ember-soft:#C5624A;
    --brine:#8C5B41;
    --stamp-bg:rgba(78,74,38,.07);
    --shadow:0 1px 0 rgba(78,74,38,.05), 0 8px 22px -18px rgba(78,74,38,.45);

    --font-display:-apple-system,BlinkMacSystemFont,"SF Hebrew","Segoe UI",system-ui,"Arial Hebrew",Arial,sans-serif;
    --font-text:-apple-system,BlinkMacSystemFont,"SF Hebrew","Segoe UI",system-ui,"Arial Hebrew",Arial,sans-serif;
    --font-util:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

    --step--1:.78rem;
    --step-0:1rem;
    --step-1:1.15rem;
    --step-2:1.42rem;
    --step-3:1.85rem;
    --step-4:2.6rem;
    color-scheme:light;
  }

  *{box-sizing:border-box}
  body{margin:0}
  .page{
    direction:rtl;
    background:var(--bone);
    color:var(--ink);
    font-family:var(--font-text);
    font-size:var(--step-0);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
  }
  .wrap{max-width:1000px;margin:0 auto;padding:0 20px}

  /* ---------- wordmark ---------- */
  .mark{display:flex;flex-direction:column;gap:.28em;width:max-content;line-height:1}
  .mark .bar{display:block;height:.19em;background:currentColor;border-radius:1px}
  .mark .word{
    direction:ltr;display:flex;align-items:center;gap:.12em;
    font-family:var(--font-display);font-weight:900;
    letter-spacing:-.02em;transform:scaleY(1.06);
  }
  .mark .dot{width:.42em;height:.42em;background:currentColor;border-radius:46% 54% 52% 48%/50% 46% 54% 50%;display:inline-block}
  .mark--lg{font-size:clamp(38px,9vw,72px)}

  /* לוגו שהועלה. יחס הגובה-רוחב של לוגו מסעדה בלתי צפוי — לכן
     מגבילים גובה ונותנים לרוחב להסתדר, ולא להפך. */
  .mark--img{display:block;width:auto}
  .mark--img img{display:block;max-width:100%;height:auto;object-fit:contain}
  .masthead .mark--img img{max-height:clamp(72px,15vw,140px)}
  .sidebar .mark--img img{max-height:38px}
  .topbar  .mark--img img{max-height:28px}
  footer   .mark--img img{max-height:34px;margin:0 auto}

  .brand-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  /* בלי לוגו — טקסט גדול, בגודל שמתאים לכל מקום */
  .mark-text{font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;line-height:1.05}
  .masthead .mark-text{font-size:clamp(30px,6vw,56px)}
  .sidebar  .mark-text{font-size:20px}
  .topbar   .mark-text{font-size:17px}
  footer    .mark-text{font-size:18px}
  .mk-in{outline:none;min-width:2ch;display:inline-block;
    box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--moss) 55%,transparent)}
  .mk-in:focus{box-shadow:inset 0 -3px 0 var(--moss)}
  .mk-in:empty::before{content:attr(data-ph);opacity:.3}
  .mk-actions{display:flex;gap:6px}
  .logo-edit{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .mark--sm{font-size:19px}

  /* ---------- masthead ---------- */
  .masthead{
    background:#FFFFFF;color:var(--ink);
    border-bottom:5px solid var(--apricot);
    padding:clamp(36px,7vw,72px) 0 clamp(30px,5vw,48px);
  }
  .masthead .wrap{display:flex;flex-direction:column;gap:clamp(22px,4vw,34px)}
  .masthead-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
  .masthead h1{
    font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;
    font-size:var(--step-4);margin:0;text-wrap:balance;line-height:1.05;
  }
  .masthead .kicker{
    font-family:var(--font-util);font-size:var(--step--1);letter-spacing:.16em;
    text-transform:uppercase;color:var(--ember);margin:0 0 .5em;
  }

  .masthead .lede{
    max-width:58ch;color:var(--ink-2);margin:0;font-size:var(--step-1);line-height:1.6;
  }
  .stats{display:flex;gap:28px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
  .stat{display:flex;flex-direction:column;gap:2px;padding-top:12px}
  .stat b{font-family:var(--font-display);font-weight:800;font-size:var(--step-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .stat span{font-family:var(--font-util);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}

  /* ---------- intro ---------- */
  .intro{padding:clamp(30px,5vw,52px) 0;border-bottom:1px solid var(--line)}
  /* כותרת למעלה, והטקסט מתחתיה לכל הרוחב. במסך רחב הטקסט נשבר
     לשני טורים: מנצל את הרוחב, מקצר את הגלילה, והשורות נשארות קריאות. */
  .intro-grid{display:grid;grid-template-columns:1fr;gap:clamp(14px,2vw,22px);align-items:start}

  .intro h2{
    font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;
    font-size:var(--step-2);margin:0;text-wrap:balance;
  }
  .intro p{margin:0 0 1em;color:var(--ink-2)}
  .intro p:last-child{margin-bottom:0}

  .topbar-tag{display:none}

  /* ---------- control bar ---------- */
  .controls{
    position:sticky;top:0;z-index:20;
    background:color-mix(in srgb,var(--bone) 92%,transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .controls-inner{display:flex;flex-direction:column;gap:12px;padding:12px 20px 14px;max-width:1000px;margin:0 auto}
  .controls-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  /* יושבת מתחת לסינון ותמיד גלויה. בלי רקע ובלי אייקון — משפט
     שקוראים פעם ואז הוא נוכח, ולא באנר שהעין לומדת לדלג עליו. */
  .safety-note{margin:-2px 0 0;font-size:.78rem;font-weight:600;line-height:1.45;color:var(--ember)}
  .search{
    flex:1 1 220px;min-width:180px;display:flex;align-items:center;gap:8px;
    background:var(--raised);border:1px solid var(--line);border-radius:3px;padding:7px 11px;
  }
  .search input{
    border:0;background:transparent;color:var(--ink);font-family:var(--font-text);
    font-size:var(--step-0);width:100%;outline:none;
  }
  .search svg{flex:none;opacity:.5}
  .filter-label{
    font-family:var(--font-util);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
    color:var(--ink-3);flex:none;
  }
  /* שתי שורות: בלי / עם. "נקה" בצד, באמצע הגובה של שתיהן */
  .filters-row{display:grid;grid-template-columns:max-content 1fr max-content;gap:8px 12px;align-items:center}
  .filter-group{display:contents}
  .filter-group[hidden]{display:none}
  #clearBtn{grid-column:3;grid-row:1 / span 2;align-self:center}
  .chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .chip{
    font-family:var(--font-text);font-size:var(--step--1);
    border:1px solid var(--line);background:transparent;color:var(--ink-2);
    border-radius:2px;padding:4px 10px;cursor:pointer;line-height:1.4;
    transition:background .13s ease,color .13s ease,border-color .13s ease;
  }
  .chip:hover{border-color:var(--ink-3)}
  .chip[aria-pressed="true"]{
    background:var(--ember);border-color:var(--ember);color:var(--raised);
  }
  .chip--vegan[aria-pressed="true"]{background:var(--moss);border-color:var(--moss)}
  .chip--ghost{border-style:dashed;color:var(--ink-3)}
  .count{
    font-family:var(--font-util);font-size:11px;letter-spacing:.1em;color:var(--ink-3);
    font-variant-numeric:tabular-nums;margin-inline-start:auto;
  }
  .count b{color:var(--ink);font-weight:700}
  button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{
    outline:2px solid var(--moss);outline-offset:2px;
  }

  /* ---------- courses ---------- */
  main{padding-bottom:80px}
  .course{padding-top:clamp(30px,5vw,48px)}
  .course-head{
    display:flex;align-items:baseline;gap:12px;
    padding-bottom:10px;margin-bottom:18px;border-bottom:2px solid var(--ink);
  }
  .course-head h2{
    font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;
    font-size:var(--step-3);margin:0;line-height:1;
  }
  .course-head .n{
    font-family:var(--font-util);font-size:11px;letter-spacing:.14em;color:var(--ink-3);
    margin-inline-start:auto;font-variant-numeric:tabular-nums;
  }

  /* פעולות הקטגוריה: אייקונים קטנים בקצה השורה, למנהל בלבד.
     דהויים במנוחה כדי שהשם יישאר העיקר, ומתכהים במגע. */
  .co-ops{display:flex;align-items:center;gap:2px;flex:none}
  .co-tpl{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);margin-inline-start:12px}
  .co-kind{font:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-2);cursor:pointer}
  .co-op{
    display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;padding:0;border:0;background:transparent;
    color:var(--ink-3);border-radius:6px;cursor:pointer;line-height:1;
    transition:color .12s,background .12s;
  }
  /* רק במכשירים עם ריחוף אמיתי. במגע אין "יציאה מהאלמנט", ולכן
     הכפתור היה נשאר כהה אחרי הלחיצה ונראה כאילו העריכה עוד פתוחה. */
  @media (hover:hover){
    .co-op:hover{color:var(--ink);background:var(--stamp-bg)}
    .co-del:hover{color:var(--ember)}
  }
  .co-drag{cursor:grab;font-size:14px}
  .co-drag:active{cursor:grabbing}
  /* גרירה במחשב, חיצים בנגיעה — אותה חלוקה שכבר קיימת במנות */
  .co-mv{font-size:15px}
  body.coarse .co-drag{display:none}
  body:not(.coarse) .co-mv{display:none}
  .course.dragging{opacity:.45}

  /* בעריכה הכותרת נראית כמו שדה קלט, באותה שפה של שאר העריכה:
     רקע לבן, מסגרת ירוקה, ריווח פנימי. קודם היא רק הודגשה
     וזה נראה כמו סימון טקסט ולא כמו מצב עריכה. */
  .co-title.co-editing{
    outline:none;box-shadow:none;
    background:#FFFFFF;border:1px solid var(--moss);border-radius:3px;
    padding:2px 10px;margin:-3px -10px;
  }

  .co-add{
    display:block;margin:34px auto 0;
    border-style:dashed;color:var(--ink-3);
  }

  /* רצועת הקטגוריות. מוסתרת כברירת מחדל, ונדלקת בנפרד לכל מסך. */
  .co-rail{display:none}
  .co-rail.is-on{opacity:1;visibility:visible}
  .rail-b{
    font:inherit;border:0;background:transparent;color:var(--ink-3);
    border-radius:6px;cursor:pointer;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .rail-b.is-here{background:var(--moss);color:#FFFFFF}

  /* ---- מחשב בלבד ----
     כל מה שכאן חייב גבול מסך. בלעדיו padding-right של 164px חל גם
     על מסך 375 ומעך את כל התצוגה בנייד. */
  @media (min-width:901px){
    /* השורה בתחתית נצמדת לתחתית המסך גם כשהתוכן קצר. בלי זה
       היא צפה באמצע דף ריק, כמו במעקב תקלות כשאין תקלות. */
    .content{display:flex;flex-direction:column;min-height:100vh}
    .content > footer{margin-top:auto}

    .co-rail{
      display:flex;flex-direction:column;gap:3px;
      /* 216 = רוחב סרגל הצד. הרצועה יושבת בדיוק בקצה שלו. */
      position:fixed;top:50%;transform:translateY(-50%);z-index:30;
      right:216px;
      max-height:74vh;overflow-y:auto;padding:8px 6px;width:140px;
      opacity:0;visibility:hidden;transition:opacity .15s;
    }
    .rail-b{
      font-size:.8rem;font-weight:600;line-height:1.3;text-align:start;
      width:100%;padding:6px 9px;
    }
    .rail-b:hover{color:var(--ink);background:var(--stamp-bg)}
    .rail-short{display:none}
    /* אזור התוכן ממלא את מה שנשאר בין סרגל הצד לקצה השמאלי.
       164 = 140 רצועה + רווח. */
    .content .wrap{max-width:none;margin:0;padding-right:164px}
    .content .controls-inner{max-width:none;margin:0;padding-right:164px}
  }
  .dishes{display:flex;flex-direction:column;gap:10px}

  /* ---------- dish ---------- */
  .dish{
    background:var(--raised);border:1px solid var(--line-soft);border-radius:3px;
    box-shadow:var(--shadow);overflow:hidden;
  }
  .dish[hidden]{display:none}
  .dish > summary{
    list-style:none;cursor:pointer;padding:14px 16px;display:flex;gap:14px;align-items:flex-start;
  }
  .dish > summary::-webkit-details-marker{display:none}
  .dish > summary:hover .dish-name{color:var(--moss)}
  .dish-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
  .dish-name{
    font-family:var(--font-display);font-weight:800;letter-spacing:-.015em;
    font-size:var(--step-1);line-height:1.3;transition:color .13s ease;
  }
  .dish-sub{color:var(--ink-3);font-size:var(--step--1);line-height:1.5}
  .tags{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:2px}
  .tags--taste{margin-top:0}
  .gl-lines{white-space:pre-line}
  .gl-sup-terms{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .gl-sup-terms .termlinks{display:inline-flex;gap:5px;flex-wrap:wrap}
  .tp-chip--auto{border-style:dashed}
  .tp-gone{display:flex;flex-wrap:wrap;gap:5px;align-items:center;flex-basis:100%;margin-top:6px}
  /* עריכה והוספה של ערך במילון (מושג, זן, ספק, יצרן, בקבוק) בחלון צף:
     השם למעלה, הטקסט הוא החלק העיקרי ובגודל שבו הוא יוצג, והמושגים בקטן בתחתית. */
  .gloss-grid:has(> .is-editing)::before{content:"";position:fixed;inset:0;z-index:70;background:rgba(60,52,20,.42)}
  .gloss-grid > .is-editing{position:fixed;z-index:71;top:50%;left:50%;transform:translate(-50%,-50%);
    width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;box-sizing:border-box;
    background:var(--bone);border:1px solid var(--line);border-radius:4px;padding:22px 24px;
    box-shadow:0 18px 50px rgba(40,34,10,.3);text-align:right}
  .gloss-grid > .is-editing h4{font-size:var(--step-2);margin:0 0 14px}
  .gloss-grid > .is-editing .gl-in[data-f="story"],
  .gloss-grid > .is-editing .gl-in[data-f="definition"],
  .gloss-grid > .is-editing .gl-part{display:block;min-height:130px;padding:12px 14px;font-size:var(--step-0);line-height:1.7;
    background:#FFFFFF;border:1px solid var(--line);border-radius:3px}
  .gloss-grid > .is-editing .gl-part{min-height:44px}
  .gl-parts-box{min-height:220px;padding:12px 14px;font-size:var(--step-0);line-height:1.7;background:#FFFFFF;
    border:1px solid var(--line);border-radius:3px;margin-top:10px}
  .gl-parts-box:focus{outline:2px solid var(--moss);outline-offset:1px}
  .gloss-grid > .is-editing .gl-parts-box p{margin:0 0 8px;font-size:var(--step-0);line-height:1.7}
  .gl-parts-note{margin:6px 0 0}
  .gloss-grid > .is-editing .gl-in[data-f="location"]{display:block;margin:0 0 10px}
  .gl-terms{margin:14px 0 4px}
  .gl-tp{margin-top:5px;padding:7px 9px}
  .gl-tp .tp-chip,.gl-tp .tp-hit{font-size:12px}
  .gl-tp input{font-size:12px;padding:5px 8px;margin-top:6px}
  .gloss-grid > .is-editing .gl-menu{margin-top:12px;font-size:var(--step--1)}
  .gloss-grid > .is-editing .gl-actions{margin-top:16px}

  .tag-sep{width:1px;align-self:stretch;min-height:16px;background:var(--ink-3);opacity:.45;margin:0 4px}
  .tag{
    font-family:var(--font-util);font-size:10.5px;letter-spacing:.05em;font-weight:700;
    padding:2px 7px;border-radius:2px;border:1px solid transparent;white-space:nowrap;
  }
  .tag--alg{background:var(--stamp-bg);color:var(--ink-2);border-color:var(--line-soft)}
  .tag--alg.is-off{
    background:transparent;color:var(--ink-2);border-style:dashed;border-color:var(--line);
  }
  /* אין צבע לפי "חומרת" הרגישות. אלרגיה לאגוזים ורגישות ללקטוז
     נראות אותו דבר — לסועד שמולך הרגישות שלו היא הקריטית, ודירוג
     ויזואלי בינן לבין עצמן רק מזמין את המלצר לזלזל באחת מהן.
     ההבדל היחיד שנשאר הוא בין "מכיל" ל"מתאים ל", כי אלה שני
     דברים שונים ולא שתי דרגות. */
  .tag--vegan{color:var(--moss);border-color:color-mix(in srgb,var(--moss) 45%,transparent);background:color-mix(in srgb,var(--moss) 9%,transparent)}
  /* לבירור: אדום ומנוקד, כדי שמי שעובר על הספר יראה מיד מה עוד פתוח */
  .tag--taste{color:var(--brine);border-color:color-mix(in srgb,var(--brine) 40%,transparent);background:color-mix(in srgb,var(--brine) 8%,transparent)}
  .tag--unknown{color:#B3261E;border-color:#B3261E;border-style:dotted;background:color-mix(in srgb,#B3261E 7%,transparent)}
  .chev{flex:none;margin-top:6px;opacity:.4;transition:transform .18s ease}
  .dish[open] .chev{transform:rotate(180deg)}

  .swap-note{
    margin:0 16px 12px;padding:8px 11px;border-radius:2px;
    background:color-mix(in srgb,var(--moss) 12%,transparent);
    border:1px solid color-mix(in srgb,var(--moss) 35%,transparent);
    font-size:var(--step--1);color:var(--ink-2);
  }
  .swap-note b{color:var(--moss)}

  /* בלוק ולא flex: התמונה צפה, והבלוקים זורמים לצדה. flex היה
     מכריח כל בלוק לשורה משלו מתחתיה. */
  .dish-body{padding:16px 16px 18px;border-top:1px solid var(--line-soft);margin-top:2px}
  .dish-body > * + *{margin-top:16px}
  .dish-body::after{content:"";display:block;clear:both}
  .block h4{
    font-family:var(--font-display);font-size:var(--step-1);font-weight:800;
    letter-spacing:-.015em;color:var(--ink);margin:0 0 8px;
  }
  .block p{margin:0 0 .7em;max-width:68ch;color:var(--ink-2)}
  .block p:last-child{margin-bottom:0}
  .block--story{
    border-inline-start:2px solid var(--moss);padding-inline-start:14px;
  }
  .block--story p{color:var(--ink)}
  .comp{display:flex;flex-direction:column;gap:8px}
  .comp-item{font-size:var(--step--1);color:var(--ink-2);max-width:70ch}
  .comp-item b{color:var(--ink);font-weight:700}
  .taste-row{display:flex;flex-wrap:wrap;gap:6px}
  .taste-chip{font:inherit;font-size:var(--step--1);padding:3px 10px;border-radius:99px;cursor:pointer;
    color:var(--brine);border:1px solid color-mix(in srgb,var(--brine) 40%,transparent);
    background:color-mix(in srgb,var(--brine) 8%,transparent)}
  .taste-chip:hover{background:color-mix(in srgb,var(--brine) 16%,transparent)}
  .taste-chip.is-plain{cursor:default}
  .alg-detail{display:flex;flex-direction:column;gap:4px}
  .alg-detail div{font-size:var(--step--1);color:var(--ink-2)}
  .alg-detail .k{font-weight:700;color:var(--ink)}
  /* בלי רקע: הוא נמתח על כל רוחב הכרטיס ונכנס גם מאחורי התמונה
     הצפה, ונראה כאילו ההצללה גולשת. */
  .service{
    padding:0;font-size:var(--step--1);color:var(--ink-2);
  }
  .service b{color:var(--ember)}
  .termlinks{display:flex;gap:6px;flex-wrap:wrap}
  .termlink{
    font-family:var(--font-util);font-size:11px;background:transparent;cursor:pointer;
    border:1px solid var(--line);border-radius:2px;padding:3px 8px;color:var(--ink-2);
  }
  .termlink:hover{border-color:var(--moss);color:var(--moss)}

  .empty{
    text-align:center;padding:60px 20px;color:var(--ink-3);
  }
  .empty[hidden]{display:none}
  .ns-note{margin:0;padding:9px 11px;border-radius:2px;font-size:var(--step--1);
    background:color-mix(in srgb,var(--ember) 10%,transparent);
    border:1px solid color-mix(in srgb,var(--ember) 35%,transparent);color:var(--ink-2)}
  noscript .controls-row,html.no-js .chips{opacity:.5}

  /* ---------- glossary ---------- */
  .glossary{background:var(--bone-2);border-top:1px solid var(--line);margin-top:60px;padding:clamp(36px,6vw,64px) 0}
  .gloss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
  .term{background:transparent;border:1px solid var(--line);border-radius:3px;
    padding:14px 16px;scroll-margin-top:120px;transition:background .5s ease}
  .term.flash{background:color-mix(in srgb,var(--moss) 14%,transparent)}
  .term h4{
    font-family:var(--font-display);font-weight:800;font-size:var(--step-0);margin:0 0 4px;letter-spacing:-.01em;
  }
  .term h4 em{font-style:normal;font-family:var(--font-util);font-size:10px;letter-spacing:.12em;color:var(--ink-3);margin-inline-start:6px}
  .term p{margin:0;font-size:var(--step--1);color:var(--ink-2);line-height:1.55}
  .sup{background:transparent;border:1px solid var(--line);border-radius:3px;
    padding:16px;scroll-margin-top:120px}
  .sup h4{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);margin:0 0 4px;letter-spacing:-.015em}
  .sup .where{font-family:var(--font-util);font-size:10.5px;letter-spacing:.1em;color:var(--moss);text-transform:uppercase;margin:0 0 8px}
  .sup p{margin:0;font-size:var(--step--1);color:var(--ink-2);line-height:1.6}
  .sup.flash{background:color-mix(in srgb,var(--moss) 14%,transparent)}

  /* ---------- עריכה בתוך הכרטיס ---------- */
  .term,.sup{position:relative}
  /* תמיד גלויים, ובצד שמאל — הצד הריק בכרטיס בעברית */
  .gloss-ops{position:absolute;top:8px;left:8px;display:flex;gap:3px}
  .gloss-ops .op{min-width:24px;height:24px;padding:0 5px;font-size:11px;
    background:transparent;border-color:var(--line);opacity:.5}
  .gloss-ops .op:hover{opacity:1;background:color-mix(in srgb,#FFFFFF 50%,transparent)}
  .term.is-editing .gloss-ops,.sup.is-editing .gloss-ops{display:none}
  /* מקום לכפתורים, שלא ידרסו את הטקסט */
  .term h4,.sup h4{padding-inline-end:56px}

  /* השדות הם האלמנטים עצמם. אין החלפה לטופס, ולכן אין קפיצה
     ואין שינוי טיפוגרפיה — רק סימון עדין שאפשר להקליד. */
  .is-editing{outline:2px solid var(--moss);outline-offset:-2px}
  .gl-in{outline:none;border-radius:2px;
    box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--moss) 45%,transparent);
    background:color-mix(in srgb,#FFFFFF 55%,transparent);
    padding:1px 3px;margin:0 -3px;min-width:2ch;display:inline-block}
  p.gl-in{display:block;margin:0 -3px 6px;min-height:1.6em}
  .gl-in:focus{background:#FFFFFF;
    box-shadow:inset 0 -2px 0 var(--moss)}
  .gl-in.bad{box-shadow:inset 0 -2px 0 var(--ember);
    background:color-mix(in srgb,var(--ember) 6%,#FFFFFF)}
  .gl-in:empty::before{content:attr(data-ph);color:var(--ink-3);opacity:.6}

  .gl-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}
  .gl-note{font-size:11px}
  .is-new{outline:2px dashed var(--moss);outline-offset:-2px}

  footer{padding:30px 0 50px;color:var(--ink-3);font-size:var(--step--1);text-align:center}
  footer .mark{margin:0 auto 14px}

  .filter-toggle{
    display:none;align-items:center;gap:7px;flex:none;
    font-family:var(--font-text);font-size:var(--step--1);
    background:var(--raised);border:1px solid var(--line);border-radius:3px;
    padding:7px 11px;cursor:pointer;color:var(--ink-2);
  }
  .filter-toggle:hover{border-color:var(--ink-3);color:var(--ink)}
  .filter-toggle svg{transition:transform .18s ease}
  .filter-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .filter-toggle .ft-n{
    display:none;place-items:center;font-family:var(--font-util);font-size:10.5px;
    min-width:17px;height:17px;padding:0 5px;border-radius:9px;
    background:var(--ember);color:#FFFFFF;
  }
  .filter-toggle .ft-n.on{display:grid}

  /* ---------- תרגול מושגים ---------- */
  .card{
    background:var(--raised);border:1px solid var(--line);border-radius:4px;
    padding:clamp(18px,3vw,28px);margin-top:20px;box-shadow:var(--shadow);
    display:flex;flex-direction:column;gap:16px;
  }
  .card-term{
    font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;
    font-size:var(--step-3);line-height:1.1;margin:0;
  }
  .card-ask{margin:0;color:var(--ink-3);font-size:var(--step--1)}
  .card textarea{
    width:100%;min-height:96px;resize:vertical;font-family:var(--font-text);
    font-size:var(--step-0);line-height:1.6;color:var(--ink);
    background:#FFFFFF;border:1px solid var(--line);border-radius:3px;padding:11px 13px;
  }
  .card textarea:focus{outline:2px solid var(--moss);outline-offset:1px}
  .card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .needs{display:flex;flex-direction:column;gap:5px}
  .need{
    display:flex;gap:8px;align-items:baseline;font-size:var(--step--1);
    padding:5px 10px;border-radius:2px;
  }
  .need--hit{background:color-mix(in srgb,var(--moss) 12%,transparent);color:var(--ink-2)}
  .need--miss{background:color-mix(in srgb,var(--ember) 9%,transparent);color:var(--ink-2)}
  .need i{font-style:normal;font-family:var(--font-util);font-size:11px;flex:none}
  .need--hit i{color:var(--moss)}
  .need--miss i{color:var(--ember)}
  .card-def{
    border-inline-start:3px solid var(--moss);padding:2px 14px;
    color:var(--ink-2);font-size:var(--step--1);line-height:1.65;
  }
  .card-def b{display:block;font-family:var(--font-util);font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink-3);font-weight:400;margin-bottom:5px}
  .self{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
    border-top:1px solid var(--line-soft);padding-top:14px}
  .self span{font-size:var(--step--1);color:var(--ink-3);margin-inline-end:4px}
  .btn--miss{background:transparent;border-color:var(--ember);color:var(--ember)}
  .btn--miss:hover{background:color-mix(in srgb,var(--ember) 10%,transparent);color:var(--ember)}
  .done{text-align:center;padding:22px 10px;display:flex;flex-direction:column;gap:14px;align-items:center}
  .done b{font-family:var(--font-display);font-size:var(--step-3);font-weight:900;letter-spacing:-.02em}
  .done p{margin:0;color:var(--ink-2);max-width:46ch}

  /* ---------- מעטפת וסרגל צד ---------- */
  .shell{display:grid;grid-template-columns:216px minmax(0,1fr);align-items:start}
  .sidebar{
    position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;
    padding:26px 20px;background:#FFFFFF;border-inline-end:1px solid var(--line);
  }
  .side-mark{font-size:20px}
  .side-nav{display:flex;flex-direction:column;gap:4px}
  .side-btn{
    font-family:var(--font-display);font-weight:700;font-size:var(--step-0);
    text-align:start;background:transparent;border:0;border-radius:3px;
    padding:9px 11px;cursor:pointer;color:var(--ink-2);transition:background .13s ease,color .13s ease;
  }
  .side-btn[hidden]{display:none}
  .side-btn:hover{background:var(--stamp-bg);color:var(--ink)}
  .side-btn.is-on{background:var(--moss);color:#FFFFFF}
  /* אזור החשבון נדחף לתחתית הסרגל */
  .acct{margin-top:auto;border-top:1px solid var(--line-soft);padding-top:14px}

  /* פס עליון והמבורגר — מופיעים רק בנייד */
  .topbar{display:none}
  .scrim{display:none}
  .nav-toggle{
    background:transparent;border:1px solid var(--line);border-radius:3px;cursor:pointer;
    width:36px;height:32px;display:grid;place-content:center;gap:4px;padding:0;
  }
  .nav-toggle span{display:block;width:16px;height:1.8px;background:var(--ink);border-radius:1px;
    transition:transform .18s ease,opacity .18s ease}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.8px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.8px) rotate(-45deg)}

  .view[hidden]{display:none}

  /* ---------- צ׳ק ליסטים ---------- */
  .ck-wrap{padding-top:clamp(24px,4vw,40px);padding-bottom:60px}
  .ck-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    padding-bottom:10px;margin-bottom:20px;border-bottom:2px solid var(--ink)}
  .ck-head h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;
    font-size:var(--step-3);margin:0;line-height:1}
  .ck-when{font-family:var(--font-util);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
  .ck-rf{
    margin-inline-start:auto;flex:none;
    width:32px;height:32px;display:grid;place-items:center;
    border:1px solid var(--line);border-radius:50%;background:transparent;
    color:var(--ink-3);cursor:pointer;transition:color .12s,border-color .12s,transform .5s;
  }
  .ck-rf:hover{color:var(--ink);border-color:var(--ink-3)}
  /* סיבוב בזמן המשיכה — חיווי שמשהו קורה, בלי טקסט */
  .ck-rf.is-spin{transform:rotate(360deg)}

  .ck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
  .ck-card{
    background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    box-shadow:var(--shadow);padding:14px 15px;cursor:pointer;
    display:flex;flex-direction:column;gap:9px;
    transition:border-color .13s,transform .13s;
  }
  .ck-card:hover{border-color:var(--line);transform:translateY(-1px)}
  .ck-card-h{display:flex;align-items:baseline;gap:8px;justify-content:space-between}
  .ck-card h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.015em;
    font-size:var(--step-1);margin:0;line-height:1.25}
  .ck-aud{font-family:var(--font-util);font-size:10px;letter-spacing:.1em;color:var(--ink-3);flex:none}
  /* פס התקדמות: המספר לבדו לא אומר כלום בהעפה, הפס כן */
  .ck-bar{height:5px;border-radius:99px;background:var(--stamp-bg);overflow:hidden}
  .ck-bar span{display:block;height:100%;background:var(--moss);transition:width .2s}
  .ck-count{font-family:var(--font-util);font-size:11px;color:var(--ink-3);letter-spacing:.08em}
  .ck-empty{color:var(--ink-3)}

  /* הרשימה עצמה — שכבה מעל, כדי שהמיקוד יהיה עליה בלבד */
  .ck-sheet{position:fixed;inset:0;z-index:120;display:flex;align-items:center;
    justify-content:center;padding:20px;background:rgba(78,74,38,.45);overflow:auto}
  .ck-panel{background:var(--raised);border:1px solid var(--line);border-radius:8px;
    width:min(640px,100%);max-height:88vh;overflow:auto;padding:18px 20px 22px}
  .ck-panel-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .ck-panel-h h3{font-family:var(--font-display);font-weight:900;font-size:var(--step-2);
    letter-spacing:-.02em;margin:0;flex:1 1 auto}
  .ck-x{background:transparent;border:0;font-size:17px;color:var(--ink-3);cursor:pointer;padding:4px 6px}
  .ck-x:hover{color:var(--ink)}

  .ck-note{margin:0 0 16px;padding:9px 12px;border-radius:5px;
    background:var(--stamp-bg);color:var(--ink-2);font-size:var(--step--1);line-height:1.5}
  .ck-note.is-edit{cursor:text}
  .ck-note.is-edit:empty::before,.ck-note.is-edit:hover{outline:1px dashed var(--line)}
  .ck-note.is-editing{background:#FFFFFF;outline:1px solid var(--moss)}

  .ck-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
  .ck-item{display:flex;align-items:flex-start;gap:11px;padding:9px 4px;
    border-bottom:1px solid var(--line-soft)}
  .ck-item:last-child{border-bottom:0}
  .ck-box{
    flex:none;width:24px;height:24px;margin-top:1px;border-radius:5px;cursor:pointer;
    border:1.5px solid var(--line);background:#FFFFFF;color:#FFFFFF;
    font-size:14px;line-height:1;display:grid;place-items:center;
  }
  .ck-item.is-done .ck-box{background:var(--moss);border-color:var(--moss)}
  .ck-item.is-busy{opacity:.5;pointer-events:none}
  .ck-text{flex:1 1 auto;font-size:.9rem;line-height:1.5;color:var(--ink)}
  .ck-item.is-done .ck-text{color:var(--ink-3)}
  /* מי אישר ומתי — זה מה שהופך סימון לאחריות */
  .ck-by{flex:none;font-family:var(--font-util);font-size:10.5px;color:var(--moss-soft);
    letter-spacing:.05em;padding-top:4px;white-space:nowrap}

  /* כלי המנהל — אותה שפה של עריכת הקטגוריות */
  .ck-ops{display:flex;justify-content:flex-end;margin-top:-4px}
  .ck-iops{display:flex;gap:1px;flex:none;opacity:0;transition:opacity .12s}
  .ck-item:hover .ck-iops,.ck-item:focus-within .ck-iops{opacity:1}
  .ck-iops .co-op{width:24px;height:24px}
  .ck-iops .co-op[disabled]{opacity:.25;cursor:default}
  .ck-mv{font-size:13px}
  .ck-iadd{margin-top:12px;border-style:dashed;color:var(--ink-3)}
  .ck-add{
    align-items:center;justify-content:center;font:inherit;font-size:var(--step--1);
    color:var(--ink-3);border-style:dashed;background:transparent;box-shadow:none;
    min-height:96px;
  }
  .ck-add:hover{color:var(--ink);border-color:var(--ink-3)}

  /* ---------- מחלקות ומשימות יומיות ---------- */
  .side-sub{display:flex;flex-direction:column;gap:2px;margin:0 0 4px;padding-inline-start:12px;
    border-inline-start:2px solid var(--line-soft);margin-inline-start:12px}
  .side-sub[hidden]{display:none}
  .side-dept{font:inherit;font-size:var(--step--1);text-align:start;background:transparent;border:0;
    border-radius:3px;padding:7px 10px;cursor:pointer;color:var(--ink-2)}
  .side-dept:hover{background:var(--stamp-bg);color:var(--ink)}
  .side-dept.is-on{color:var(--moss);font-weight:700;background:var(--stamp-bg)}
  #ckTitle.is-edit{cursor:text}
  #ckTitle.is-editing{outline:1px solid var(--moss);border-radius:3px;padding:0 6px;background:#FFFFFF}
  .ck-back{font:inherit;font-size:var(--step--1);background:transparent;border:0;padding:0;
    margin:0 0 18px;color:var(--ink-3);cursor:pointer}
  .ck-back:hover{color:var(--ink)}
  .ck-sec{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);margin:30px 0 12px}
  .ck-days-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
  .ck-days-h h3{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);margin:0}
  .ck-days-edit{margin-inline-start:auto}
  /* בלי זה שורת הימים מרחיבה את כל העמוד בנייד במקום לגלול בתוך עצמה */
  .content{min-width:0}
  .ck-days,.ck-chips{min-width:0;max-width:100%}
  .ck-move-l{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:var(--step--1);color:var(--ink-3)}
  .ck-move{font:inherit;font-size:var(--step--1);border:1px solid var(--line);border-radius:4px;
    background:#FFFFFF;color:var(--ink);padding:4px 8px}
  .ck-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}
  .ck-chip{flex:none;min-width:92px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;
    font:inherit;text-align:start;background:var(--raised);border:1px solid var(--line-soft);
    border-radius:6px;padding:9px 12px;cursor:pointer;color:var(--ink)}
  .ck-chip b{font-family:var(--font-display);font-weight:800;font-size:var(--step-0)}
  .ck-chip small{font-family:var(--font-util);font-size:10.5px;color:var(--ink-3)}
  .ck-chip:hover{border-color:var(--ink-3)}
  .ck-chip.is-today small{color:var(--moss);font-weight:700}
  .ck-chip.is-late{border-color:#C0392B}
  .ck-chip.is-late small{color:#C0392B}
  .ck-chip.is-loose{border-style:dashed}
  .ck-chip .ck-sm{display:none}
  /* ירוק = כל המשימות של היום בוצעו. מסגרת עבה = היום שנבחר.
     שני הסימנים נפרדים, כדי שיום נבחר שעוד לא קרה בו כלום לא ייראה גמור. */
  .ck-chip.is-done{background:var(--moss);border-color:var(--moss);color:#FFFFFF}
  .ck-chip.is-done small{color:#FFFFFF;opacity:.9;font-weight:400}
  .ck-chip.is-on{box-shadow:0 0 0 3px var(--ink)}
  .ck-chips{padding:5px 4px 12px}
  .ck-daybox{background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    padding:14px 16px;max-width:720px}
  .ck-daybox h4{font-family:var(--font-display);font-weight:800;font-size:var(--step-0);margin:0 0 6px}
  .ck-daybox .ck-iadd{margin-top:10px}
  .ck-daybox .ck-empty{margin:4px 0 0;font-size:var(--step--1)}
  .ck-days.is-dedit .ck-iops{opacity:1}
  .ck-dayset{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;
    padding:10px 12px;border:1px dashed var(--line);border-radius:6px;font-size:var(--step--1);color:var(--ink-2)}
  .ck-dayset div{display:flex;gap:6px;flex-wrap:wrap}
  .ck-dayon{font:inherit;font-size:var(--step--1);border:1px solid var(--line);border-radius:99px;
    background:transparent;color:var(--ink-3);padding:4px 12px;cursor:pointer}
  .ck-dayon.is-on{background:var(--moss);border-color:var(--moss);color:#FFFFFF}
  .ck-day-sel{font:inherit;font-size:11px;border:1px solid var(--line-soft);border-radius:4px;
    background:#FFFFFF;color:var(--ink-2);padding:2px 4px;height:24px}
  .ck-dept .ck-count{letter-spacing:.04em}
  .ck-title.is-edit{cursor:text}
  .ck-title.is-editing,.ck-text.is-editing{
    outline:none;background:#FFFFFF;border:1px solid var(--moss);border-radius:3px;padding:1px 7px;
  }
  @media (max-width:900px){
    /* אין ריחוף בנייד, אז הכלים גלויים תמיד — והפריט הופך לרשת
       כדי שהטקסט יקבל את כל הרוחב במקום להימעך בין השם לכלים. */
    .ck-iops{opacity:1}
    /* כל הימים בשורה אחת, בלי גלילה: אות ומספר */
    .ck-chips{gap:5px;overflow:visible}
    .ck-chip{min-width:0;flex:1 1 0;padding:8px 2px;align-items:center;text-align:center}
    .ck-chip .ck-lg{display:none}
    .ck-chip .ck-sm{display:inline}
    .ck-chip small{font-size:10px}
    .ck-chip.is-today b::after{content:"";display:block;width:5px;height:5px;border-radius:50%;
      background:currentColor;margin:2px auto 0}
    .ck-item{display:grid;grid-template-columns:auto 1fr auto;gap:5px 11px;align-items:start}
    .ck-box{grid-column:1;grid-row:1}
    .ck-text{grid-column:2 / 4;grid-row:1}
    .ck-by{grid-column:2;grid-row:2;padding-top:0}
    .ck-iops{grid-column:3;grid-row:2;justify-self:end}
    .ck-sheet{padding:0;align-items:stretch}
    .ck-panel{max-height:100vh;border-radius:0;border:0;width:100%}
  }

  /* ---------- מבחן ---------- */
  .quiz-head{background:#FFFFFF;border-bottom:5px solid var(--apricot);padding:clamp(30px,5vw,56px) 0}
  .quiz-head h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;font-size:var(--step-4);margin:0 0 .25em;line-height:1.05;text-wrap:balance}
  .quiz-head .kicker{font-family:var(--font-util);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin:0 0 .5em}
  .quiz-head .lede{max-width:56ch;color:var(--ink-2);margin:0;font-size:var(--step-1);line-height:1.6}
  .quiz-bar{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;
    position:sticky;top:0;z-index:10;
    background:color-mix(in srgb,var(--bone) 92%,transparent);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  .btn{font-family:var(--font-text);font-size:var(--step--1);border:1px solid var(--line);
    background:var(--raised);color:var(--ink-2);border-radius:3px;padding:7px 14px;cursor:pointer}
  .btn:hover{border-color:var(--ink-3);color:var(--ink)}
  .btn--go{background:var(--moss);border-color:var(--moss);color:#FFFFFF;font-weight:700}
  .btn--go:hover{background:#46521F;border-color:#46521F;color:#FFFFFF}
  .score{margin:18px 0 0;padding:15px 18px;border-radius:3px;background:var(--raised);border:1px solid var(--line)}
  .score[hidden]{display:none}
  .score b{font-family:var(--font-display);font-size:var(--step-3);font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .quiz{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
  .q{background:var(--raised);border:1px solid var(--line-soft);border-radius:3px;padding:15px 17px;box-shadow:var(--shadow)}
  .q-text{margin:0 0 11px;display:flex;gap:10px;align-items:baseline}
  .q-n{font-family:var(--font-util);font-size:11px;color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}
  .q-body{flex:1 1 auto;font-weight:700;line-height:1.5}
  .q-mark{flex:none;font-family:var(--font-util);font-size:11px;letter-spacing:.06em;white-space:nowrap}
  .q.is-right .q-mark{color:var(--moss)}
  .q.is-wrong .q-mark{color:var(--ember)}
  .q-opts{display:flex;flex-direction:column;gap:4px}
  .opt{display:flex;gap:9px;align-items:flex-start;padding:6px 9px;border-radius:2px;
    cursor:pointer;font-size:var(--step--1);line-height:1.5;color:var(--ink-2)}
  .opt:hover{background:var(--stamp-bg)}
  .opt input{margin-top:.3em;accent-color:var(--moss);flex:none}
  .q-fb{margin:11px 0 0;padding:8px 11px;border-radius:2px;font-size:var(--step--1);display:none}
  .q.is-right{border-color:color-mix(in srgb,var(--moss) 45%,transparent)}
  .q.is-wrong{border-color:color-mix(in srgb,var(--ember) 45%,transparent)}
  .q.is-right .q-fb{display:block;background:color-mix(in srgb,var(--moss) 12%,transparent);
    border:1px solid color-mix(in srgb,var(--moss) 36%,transparent);color:var(--ink-2)}
  .q.is-wrong .q-fb{display:block;background:color-mix(in srgb,var(--ember) 9%,transparent);
    border:1px solid color-mix(in srgb,var(--ember) 36%,transparent);color:var(--ink-2)}

  @media (max-width:900px){
    /* הערת שוליים: שורה אחת, גודל קבוע. נמדד על 360px — רוחב
       גלקסי S23, מהצרים בשוק היום — ולכן נכנס בכל טלפון בלי
       להשתנות ממכשיר למכשיר. */
    .safety-note{font-size:7.6px}

    /* בנייד אין רוחב לשתי עמודות, והתמונה עולה מעל הפירוט.
       column-reverse כדי שהסדר במקור יישאר טקסט־ואז־תמונה. */
    /* בנייד אין רוחב לצוף לצד. התמונה חוזרת לזרימה, ראשונה
       בגוף הכרטיס וברוחב מלא. */
    .dish-body > .pic-col{float:none;width:100%;max-width:340px;margin:0 auto 4px}
    /* בטלפון הפעולות חיות רק בתצוגה המוגדלת, כדי לא לגזול גובה
       מהכרטיס. הספציפיות גבוהה כי כלל הבסיס יושב אחרי המדיה־קוורי. */
    .pic-col .pic-acts{display:none}
    /* אין מעבר עכבר בנייד, אז הכיתוב פשוט גלוי. הספציפיות גבוהה
       בכוונה: כלל הבסיס יושב אחרי המדיה-קוורי בקובץ. */
    .dish-pic--empty .pic-cap{opacity:1}

    .filter-toggle{display:inline-flex}
    .filters-row{display:none}
    .filters-row.is-open{display:grid}
    /* לא שורה משלו. הרוחב המינימלי של החיפוש הוא מה שדחף אותו
       למטה, ולכן הוא מתבטל כאן ותיבת החיפוש מתכווצת במקום. */
    .count{margin-inline-start:8px}
    .controls-row .search{min-width:0;flex-basis:140px}
    .shell{grid-template-columns:1fr}
    .topbar{
      display:flex;align-items:center;justify-content:space-between;
      position:sticky;top:0;z-index:45;height:50px;padding:0 14px;
      background:#FFFFFF;border-bottom:1px solid var(--line);
    }
    .topbar .mark{font-size:16px}
    /* ממורכז ביחס למסך, לא ביחס לרווח שבין הלוגו להמבורגר.
       absolute עם translateX הוא הדרך היחידה לקבל את זה בלי
       שרוחב שני הצדדים ישפיע על המיקום. */
    .topbar-tag{
      display:block;
      position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
      font-size:10.5px;color:var(--ink-3);white-space:nowrap;
      pointer-events:none;max-width:calc(100% - 130px);
      overflow:hidden;text-overflow:ellipsis;
    }
    /* בנייד הוא כבר יושב למעלה, ואין סיבה שיופיע פעמיים */
    footer{display:none}

    /* מגירה שנכנסת מימין. right ולא inline-end — תחת RTL ה"סוף"
       הוא צד שמאל, וההמבורגר יושב מימין. */
    .sidebar{
      position:fixed;top:0;right:0;bottom:0;height:100dvh;z-index:50;
      width:min(280px,82vw);transform:translateX(100%);
      transition:transform .22s ease;overflow-y:auto;
      border-inline-end:0;border-inline-start:1px solid var(--line);
      box-shadow:-14px 0 34px -22px rgba(78,74,38,.5);
    }
    .sidebar.is-open{transform:none}
    .scrim{display:block;position:fixed;inset:0;z-index:48;
      background:color-mix(in srgb,var(--ink) 34%,transparent)}
    .scrim[hidden]{display:none}
    body.no-scroll{overflow:hidden}

    .controls{top:50px}
    .quiz-bar{top:50px}
  }

  @media (max-width:720px){
    .intro-grid{grid-template-columns:1fr}
    .controls-inner{padding:10px 16px 12px}
    .wrap{padding:0 16px}
    /* לא שורה משלו. הרוחב המינימלי של החיפוש הוא מה שדחף אותו
       למטה, ולכן הוא מתבטל כאן ותיבת החיפוש מתכווצת במקום. */
    .count{margin-inline-start:8px}
    .controls-row .search{min-width:0;flex-basis:140px}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;animation:none !important}
  }

  /* ---------- מסכי כניסה ---------- */
  .gate{max-width:520px;margin:0 auto;padding:60px 20px}
  .gate .mark{margin-bottom:30px}
  .gate h1{font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;
    font-size:var(--step-3);margin:0 0 .3em;text-wrap:balance}
  .gate p{color:var(--ink-2);margin:0 0 1em;max-width:60ch}
  .gate .card{background:var(--raised);border:1px solid var(--line);border-radius:4px;
    padding:22px;box-shadow:var(--shadow)}
  .gate .fld{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}
  .gate .fld label{font-family:var(--font-util);font-size:10.5px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--ink-3)}
  .gate input{font-family:var(--font-text);font-size:1rem;color:var(--ink);background:#fff;
    border:1px solid var(--line);border-radius:3px;padding:10px 12px;width:100%}
  .gate input:focus{outline:2px solid var(--moss);outline-offset:1px}
  .gate pre{background:#fff;border:1px solid var(--line);border-radius:3px;padding:13px;
    overflow-x:auto;font-family:var(--font-util);font-size:12px;line-height:1.6;
    direction:ltr;text-align:left;margin:0 0 10px}
  .gate .msg{padding:11px 14px;border-radius:3px;font-size:var(--step--1);margin-bottom:14px;display:none}
  .gate .msg.on{display:block}
  .gate .msg.err{background:rgba(138,64,41,.09);border:1px solid rgba(138,64,41,.35)}
  .gate .msg.ok{background:rgba(58,100,38,.10);border:1px solid rgba(58,100,38,.35)}
  .hide{display:none !important}
  .side-user{font-family:var(--font-util);font-size:10px;line-height:1.7;
    letter-spacing:.06em;color:var(--ink-3);margin-top:auto}
  .side-user button{font-family:var(--font-util);font-size:10px;background:none;border:0;
    padding:0;color:var(--ember);cursor:pointer;text-decoration:underline}
  /* ---------- חלון הצוות ---------- */
  .sheet{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;
    background:color-mix(in srgb,var(--ink) 38%,transparent);overflow-y:auto}
  .sheet[hidden]{display:none}
  .sheet-box{background:var(--bone);border:1px solid var(--line);border-radius:5px;
    width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;
    box-shadow:0 24px 60px -30px rgba(78,74,38,.8);direction:rtl}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:16px 18px;border-bottom:1px solid var(--line)}
  .sheet-head h2{font-family:var(--font-display);font-weight:900;font-size:var(--step-2);margin:0}
  .sheet-body{padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}

  .team-add{display:flex;flex-direction:column;gap:11px;
    background:var(--raised);border:1px solid var(--line-soft);border-radius:4px;padding:14px}
  .team-add input,.team-add select{font-family:var(--font-text);font-size:var(--step--1);
    color:var(--ink);background:#FFFFFF;border:1px solid var(--line);border-radius:3px;
    padding:8px 10px;width:100%}
  .team-add input:focus,.team-add select:focus{outline:2px solid var(--moss);outline-offset:1px}

  .team-list{display:flex;flex-direction:column;gap:6px}
  .team-row{display:flex;align-items:center;gap:10px;
    border:1px solid var(--line-soft);border-radius:3px;padding:9px 11px}
  .team-who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
  .team-who b{font-size:var(--step--1);font-weight:600;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .team-who small{font-family:var(--font-util);font-size:9.5px;letter-spacing:.11em;
    text-transform:uppercase;color:var(--ink-3)}
  .team-del{flex:none;opacity:.45;background:transparent}
  .team-del:hover{opacity:1}
  .team-lock{flex:none;font-family:var(--font-util);font-size:9.5px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink-3)}
  .team-empty{color:var(--ink-3);font-size:var(--step--1);margin:0}
  .team-group{font-size:var(--step--1);color:var(--ink-2);margin:0 0 14px;padding:10px 14px;border-radius:10px;background:var(--raised);border:1px solid var(--line-soft)}
  .team-row.is-editing{border-color:var(--moss);padding:12px}
  .team-edit-form{display:flex;flex-direction:column;gap:10px;width:100%}
  .team-edit-form input,.team-edit-form select{font-family:var(--font-text);
    font-size:var(--step--1);color:var(--ink);background:#FFFFFF;
    border:1px solid var(--line);border-radius:3px;padding:7px 10px;width:100%}
  .team-edit-form input:focus,.team-edit-form select:focus{outline:2px solid var(--moss);outline-offset:1px}
  .team-edit-form select:disabled{opacity:.55;cursor:not-allowed}
  .team-edit-form .hint{font-size:10.5px;color:var(--ink-3);line-height:1.4}
  .team-edit{flex:none;opacity:.45;background:transparent}
  .team-edit:hover{opacity:1}

  /* ---------- בחירת מסעדה ---------- */
  /* רשימה גדולה: כרטיס לכל מסעדה עם הלוגו במרכז. הבחירה נעשית
     פעם ביום, ומה שחשוב זה לזהות מיד את המסעדה, לא לחסוך מקום. */
  #s-pick.gate{max-width:900px}
  #s-pick .pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:22px;
    max-height:none;overflow:visible;border:0;padding:0;background:transparent}
  #s-pick .pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;text-align:center;
    min-height:220px;background:var(--raised);border:1px solid var(--line);border-radius:18px;
    padding:28px 22px;color:inherit;font-family:inherit;
    transition:border-color .13s ease,background .13s ease,transform .13s ease,box-shadow .13s ease}
  #s-pick .pick:hover{border-color:var(--moss);background:#FFFFFF;transform:translateY(-2px);box-shadow:0 10px 26px -16px rgba(78,74,38,.5)}
  #s-pick .pick img{max-height:90px;max-width:200px;width:auto;object-fit:contain;flex:none}
  #s-pick .pick-mark{flex:none;width:90px;height:90px;border-radius:50%;background:var(--ink);
    color:var(--bone);display:grid;place-items:center;
    font-family:var(--font-display);font-weight:800;font-size:40px}
  #s-pick .pick-name{display:flex;flex-direction:column;gap:4px;font-family:var(--font-display);font-weight:800;font-size:1.3rem}
  #s-pick .pick-name small{font-family:var(--font-util);font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-3);font-weight:400}

  /* ---------- אזור החשבון ---------- */
  .acct{position:relative}
  .acct-btn{
    width:100%;display:flex;align-items:center;gap:9px;cursor:pointer;
    background:transparent;border:1px solid transparent;border-radius:4px;
    padding:7px 8px;text-align:start;color:inherit;font-family:inherit;
    transition:background .13s ease,border-color .13s ease;
  }
  .acct-btn:hover{background:var(--stamp-bg);border-color:var(--line-soft)}
  .acct-btn[aria-expanded="true"]{background:var(--stamp-bg);border-color:var(--line)}
  .avatar{
    flex:none;width:30px;height:30px;border-radius:50%;
    background:var(--ink);color:var(--bone);
    display:grid;place-items:center;
    font-family:var(--font-display);font-weight:700;font-size:13px;line-height:1;
  }
  .acct-who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
  .acct-who b{font-size:11px;font-weight:600;color:var(--ink-2);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .acct-who small{font-family:var(--font-util);font-size:9.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-3)}
  .acct-chev{flex:none;color:var(--ink-3);transition:transform .18s ease}
  .acct-btn[aria-expanded="true"] .acct-chev{transform:rotate(180deg)}

  /* התפריט נפתח כלפי מעלה, כי הכפתור יושב בתחתית הסרגל */
  .acct-menu{
    position:absolute;bottom:calc(100% + 6px);inset-inline:0;z-index:30;
    background:#FFFFFF;border:1px solid var(--line);border-radius:4px;
    padding:4px;display:flex;flex-direction:column;
    box-shadow:0 10px 30px -14px rgba(78,74,38,.55);
  }
  .acct-menu[hidden]{display:none}
  .acct-menu button{
    text-align:start;background:transparent;border:0;border-radius:3px;cursor:pointer;
    font-family:var(--font-text);font-size:var(--step--1);color:var(--ink-2);padding:8px 10px;
  }
  .acct-menu button:hover{background:var(--bone);color:var(--ink)}
  .acct-menu .is-out{color:var(--ember)}
  .acct-menu .is-out:hover{background:color-mix(in srgb,var(--ember) 8%,transparent)}

  .acct .pw{display:none;flex-direction:column;gap:7px;margin-top:10px;
    border-top:1px solid var(--line-soft);padding-top:11px}
  .acct .pw.on{display:flex}
  .acct .pw.done .pw-wrap,.acct .pw.done .controls-row{display:none}
  .acct input{font-family:var(--font-text);font-size:var(--step--1);color:var(--ink);
    background:#fff;border:1px solid var(--line);border-radius:3px;padding:7px 10px;width:100%}
  .acct input:focus{outline:2px solid var(--moss);outline-offset:1px}
  .acct .note{font-size:10.5px;line-height:1.45}
  .acct .note{font-size:var(--step--1);color:var(--ink-3)}
  .acct .note.good{color:var(--moss)}
  .acct .note.bad{color:var(--ember)}
  .loading{padding:80px 20px;text-align:center;color:var(--ink-3);
    font-family:var(--font-util);font-size:12px;letter-spacing:.12em}

  .btn--sm{padding:5px 11px;font-size:11px}
  /* "שכחתי סיסמה" הוא לא פעולה שווה בחשיבותה להתחברות */
  .pw-wrap{position:relative;display:flex;align-items:center}
  /* השדה כתוב משמאל לימין, ולכן הכפתור בצד ימין הפיזי — אחרת הוא
     יושב בדיוק על תחילת הטקסט */
  .pw-wrap input{padding-right:38px !important;width:100%}
  .eye{position:absolute;right:5px;background:transparent;border:0;cursor:pointer;
    padding:6px;display:grid;place-items:center;color:var(--ink-3);
    transition:color .13s ease}
  .eye svg{width:18px;height:18px;display:block}
  .eye:hover{color:var(--ink)}
  .eye.on{color:var(--moss)}
  /* פתוחה כברירת מחדל; כשהסיסמה גלויה מציגים את הצורה החצויה */
  .eye .e-shut{display:none}
  .eye.on .e-open{display:none}
  .eye.on .e-shut{display:block}
  .match{font-size:11px;line-height:1.5;min-height:1.2em;display:block}
  .match.good{color:var(--moss)}
  .match.bad{color:var(--ember)}

  .btn--link{background:transparent;border-color:transparent;color:var(--ink-3);
    text-decoration:underline;text-underline-offset:3px}
  .btn--link:hover{color:var(--ink);background:transparent}

  /* ---------- עריכה על הכרטיס ---------- */
  /* הכלים יושבים בתוך ה-summary, ולכן הם קיימים רק כשהגוף הוא עורך */
  .ops{flex:none;display:flex;gap:5px;align-items:center;margin-top:1px}
  .op{
    font-family:var(--font-util);font-size:11px;line-height:1;cursor:pointer;
    background:#FFFFFF;border:1px solid var(--line);border-radius:2px;
    color:var(--ink-2);padding:6px 8px;min-width:28px;height:28px;
    display:grid;place-items:center;transition:background .12s ease,color .12s ease;
  }
  .op:hover{background:var(--bone-2);color:var(--ink)}
  .op--edit{padding:6px 11px}
  .op--drag{cursor:grab;font-size:13px;letter-spacing:-1px}
  .op--drag:active{cursor:grabbing}
  /* גרירה במחשב, חצים בנייד — אף פעם לא שניהם */
  body.coarse .op--drag{display:none}
  body:not(.coarse) .op--mv{display:none}

  .dish.dragging{opacity:.45}
  .dish.just-saved,.dish.just-moved{
    border-color:var(--moss);box-shadow:0 0 0 2px color-mix(in srgb,var(--moss) 22%,transparent);
  }
  .dish.just-moved{animation:fade-ring 1.4s ease forwards}
  @keyframes fade-ring{to{box-shadow:var(--shadow);border-color:var(--line-soft)}}

  /* מנה מוסתרת: נראית לעורך בלבד, דהויה, ותמיד בתחתית הקטגוריה */
  .dish.is-off{opacity:.62;border-style:dashed}
  .dish.is-off:hover{opacity:.85}
  .tag--off{color:var(--brine);border-color:var(--brine);
    background:color-mix(in srgb,var(--brine) 10%,transparent)}

  .add-dish{margin-inline-start:auto;align-self:center}
  .add-gloss{margin-inline-start:12px;align-self:center}
  .add-gloss.hide{display:none}
  .gloss-form{background:var(--raised);border:1px solid var(--line);border-radius:4px;
    padding:clamp(16px,3vw,22px);margin-top:16px;box-shadow:var(--shadow)}

  .dish-sheet .dish-form{width:min(980px,100%);max-height:92vh;padding:14px clamp(14px,2vw,22px) 20px}
  .dish-sheet .form{margin-top:0}
  @media (max-width:900px){
    .dish-sheet .dish-form{max-height:100vh;border-radius:0;border:0;width:100%}
  }
  .dish--new{border-color:var(--moss);border-style:dashed}
  .dish--new .dish-name{color:var(--moss)}

  /* כל הטופס ב-75% — גופנים, ריווחים וגבהים יחד. zoom משנה את
     הפריסה עצמה ולא רק את המראה, בניגוד ל-transform. */
  .form{background:transparent;border:0;border-radius:0;
    padding:0;margin-top:14px;display:flex;flex-direction:column;gap:12px;
    zoom:.75}
  /* בנייד שדה מתחת ל-16px גורם לספארי להקפיץ זום בכל לחיצה.
     מבטלים את ההקטנה על השדות עצמם בלבד. */
  @media (max-width:900px){
    .form .fld input[type=text],.form .fld textarea,.form .fld select{font-size:1.34rem}
  }
  /* אותו גודל כמו הכותרות בכרטיס עצמו. קודם הן היו מדרגה אחת
     גדולות יותר, והטופס נראה בומבסטי ביחס לתוכן שהוא עורך. */
  .form h3{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);
    letter-spacing:-.02em;margin:0}
  /* כל כותרות הטופס באותו גודל — h3 ו-h4 כאחד. */
  .form h4{font-family:var(--font-display);font-size:var(--step-1);font-weight:800;
    letter-spacing:-.015em;color:var(--ink);margin:10px 0 0;
    padding-bottom:6px;border-bottom:1px solid var(--line-soft)}

  /* "מוצג לצוות" יושב לצד הכותרת — זו ההחלטה הראשונה על מנה, לא האחרונה */
  .form-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .form-head h3{flex:1 1 auto}
  .pub-switch{display:flex;gap:7px;align-items:center;cursor:pointer;flex:none;
    font-size:var(--step--1);border:1px solid var(--line);border-radius:3px;
    padding:7px 11px;background:#FFFFFF}
  .pub-switch input{accent-color:var(--moss)}
  .pub-switch:has(input:not(:checked)){color:var(--brine);border-color:var(--brine);
    background:color-mix(in srgb,var(--brine) 7%,#FFFFFF)}

  .lbl-note{text-transform:none;letter-spacing:0;font-family:var(--font-text);
    font-size:13.5px;color:var(--ink-3)}
  .fld{display:flex;flex-direction:column;gap:5px}
  /* כתב רגיל ולא ראשי תיבות מרווחות — קריא יותר ומדבר באותה שפה
     של הערות ההסבר שלצדן. */
  .fld > label{font-family:var(--font-text);font-size:14.5px;letter-spacing:0;
    text-transform:none;color:var(--ink-3)}
  /* דגשי שירות בעריכה בדיוק כגודל שהוא מוצג בכרטיס */
  #i-service{font-size:calc(.78rem * 1.3333) !important}
  .fld input[type=text],.fld input[type=number],.fld textarea,.fld select{
    font-family:var(--font-text);font-size:var(--step-0);color:var(--ink);background:#FFFFFF;
    border:1px solid var(--line);border-radius:3px;padding:9px 11px;width:100%}
  .fld textarea{min-height:76px;resize:vertical;line-height:1.6}
  .fld input:focus,.fld textarea:focus,.fld select:focus{outline:2px solid var(--moss);outline-offset:1px}
  .fld ::placeholder{color:var(--ink-3);opacity:.65}
  .fld.bad input,.fld.bad textarea,.fld.bad select{border-color:var(--ember);
    background:color-mix(in srgb,var(--ember) 5%,#FFFFFF)}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .checks{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:var(--step--1)}
  .checks label{display:flex;gap:6px;align-items:center;cursor:pointer}
  .checks input{accent-color:var(--moss)}

  /* ---------- תיבת פירוט מנה ---------- */
  .rich{border:1px solid var(--line);border-radius:3px;background:#FFFFFF;overflow:hidden}
  .rt-bar{display:flex;gap:3px;align-items:center;flex-wrap:wrap;
    padding:6px 7px;background:var(--bone);border-bottom:1px solid var(--line-soft)}
  .rt{background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer;
    color:var(--ink-2);min-width:29px;height:27px;display:grid;place-items:center;
    font-family:var(--font-text);font-size:14px;line-height:1;padding:0 7px}
  .rt:hover{background:#FFFFFF;border-color:var(--line)}
  .rt:active{background:var(--bone-2)}
  .rt-sep{width:1px;height:17px;background:var(--line);margin:0 4px}
  /* שלושת כפתורי הגודל נבדלים בגודל האות שעליהם */
  .rt[data-cmd="sz-lg"]{font-size:18px;font-weight:700}
  .rt[data-cmd="sz-md"]{font-size:14px}
  .rt[data-cmd="sz-sm"]{font-size:11px}

  /* 1.3333 מבטל את ה-zoom של 0.75, כך שהטקסט בעריכה יוצא בדיוק
     בגודל שבו הוא יופיע בכרטיס. מה שרואים בעריכה זה מה שיוצא. */
  .rt-area{padding:13px 14px;min-height:190px;line-height:1.5;
    font-family:var(--font-text);font-size:calc(.88rem * 1.3333);color:var(--ink);overflow-wrap:break-word}
  .rt-area:focus{outline:2px solid var(--moss);outline-offset:-2px}
  .rt-area p{margin:0}
  .rt-area ul,.rt-area ol{margin:.3em 0;padding-inline-start:1.4em}
  .rt-area:empty::before{content:"מרכיבים, אופן הכנה, סיפור — מה שהצוות צריך לדעת על המנה";
    color:var(--ink-3);font-size:var(--step--1)}

  /* שלושה גדלים קבועים. כל כפתור מגדיר מידה מוחלטת משלו —
     שום דבר לא יחסי, ולכן לחיצה חוזרת לא משנה כלום.
     ב-rem ולא ב-em, אחרת גדול בתוך גדול היה מכפיל את עצמו. */
  .sz-sm{font-size:.70rem}   /* ~11px */
  .sz-md{font-size:.88rem}   /* ~14px */
  .sz-lg{font-size:1.13rem}  /* ~18px */
  /* 260 ולא פחות: תמונה קטנה מזה לא מאפשרת לזהות מנה, וזו כל
     הסיבה שהיא כאן. בפירוט טיפוסי היא לא מוסיפה גובה לכרטיס. */
  /* התמונה והפעולות שלה כעמודה אחת, פריט פלקס יחיד. כך סרגל
     המיקום מחליף את שורת הפעולות במקום להיכנס כפריט נוסף
     ולהזיז את התמונה. */
  .pic-col{
    float:left;width:260px;display:flex;flex-direction:column;gap:8px;
    margin:0 16px 12px 0;   /* עברית: הרווח לכיוון הטקסט שמימין */
  }
  .dish-body > .pic-col{margin-top:0}
  .pic-acts{display:flex;gap:5px;flex-wrap:wrap}
  .pic-act{
    font:inherit;font-size:.74rem;padding:4px 10px;border-radius:999px;
    border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;
  }
  .pic-act:hover{border-color:var(--ink-3);color:var(--ink)}
  .pic-act[data-pact="del"]:hover{border-color:var(--ember);color:var(--ember)}

  .dish-pic{
    width:100%;aspect-ratio:1;padding:0;overflow:hidden;
    border-radius:10px;border:1px solid var(--line-soft);background:var(--raised);
    cursor:pointer;display:flex;align-items:center;justify-content:center;
  }
  .dish-pic img{width:100%;height:100%;object-fit:cover;display:block}

  /* מצב מיקום: המסגרת הופכת לאזור גרירה. touch-action:none נחוץ
     כדי שהאצבע תזיז את התמונה במקום לגלול את הדף. */
  .dish-pic.is-posing{cursor:grab;touch-action:none;outline:2px solid var(--moss);outline-offset:2px}
  .dish-pic.is-posing:active{cursor:grabbing}
  .dish-pic.is-posing img{pointer-events:none;user-select:none}
  .pos-bar{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin-top:8px;font-size:.78rem;color:var(--ink-2);
  }
  .pos-bar button{
    font:inherit;font-size:.78rem;padding:4px 11px;border-radius:999px;
    border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;
  }
  .pos-bar button[data-pos="save"]{background:var(--moss);border-color:var(--moss);color:#FFFFFF}
  /* טבעת הפוקוס נשארת למקלדת. אחרי לחיצת עכבר היא רק מסגרת ירוקה
     מיותרת סביב התמונה. */
  .dish-pic:focus-visible{outline:2px solid var(--moss);outline-offset:2px}
  .dish-pic:focus:not(:focus-visible){outline:none}
  .dish-pic--empty{
    position:relative;cursor:pointer;
    border:1px dashed var(--line);background:transparent;
  }
  .dish-pic--empty:hover{border-color:var(--moss-soft);background:var(--stamp-bg)}
  .pic-plus{
    width:38px;height:38px;border-radius:50%;background:var(--stamp-bg);
    color:var(--moss);font-size:22px;line-height:36px;font-weight:400;
  }
  /* הכיתוב מופיע במעבר עכבר בלבד — בלעדיו הריבוע נקי ולא צועק.
     הוא מוצא מהזרימה כדי שהפלוס יתמרכז לבדו: כשהכיתוב היה חלק
     מהעמודה, המרכוז התייחס לשניהם והפלוס ישב גבוה מהמרכז. */
  .pic-cap{
    position:absolute;left:0;right:0;top:calc(50% + 30px);
    font-size:.72rem;color:var(--moss-soft);opacity:0;transition:opacity .12s;
  }
  .dish-pic--empty:hover .pic-cap{opacity:1}

  /* הגדלה: שכבה מעל הכל, נסגרת בלחיצה על הרקע או ב-Esc */
  .lightbox{
    position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:14px;padding:24px;
    background:rgba(78,74,38,.82);cursor:zoom-out;
  }
  /* התמונה והכפתורים כגוש אחד, כדי שהכפתורים יישבו ממש מתחתיה */
  .lb-box{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:auto}
  .lb-frame{
    overflow:hidden;border-radius:10px;line-height:0;
    touch-action:none;cursor:zoom-in;
  }
  .lb-frame.is-zoomed{cursor:grab}
  .lb-frame.is-zoomed:active{cursor:grabbing}
  .lightbox img{max-width:100%;max-height:78vh;display:block;transform-origin:center;user-select:none}
  .lb-acts{display:flex;gap:10px;cursor:auto}
  .lb-acts button{
    font:inherit;font-size:.8rem;padding:7px 14px;border-radius:999px;
    border:1px solid rgba(255,255,255,.5);background:transparent;color:#FFFFFF;cursor:pointer;
  }
  .lb-acts button:hover{background:rgba(255,255,255,.14)}

  .detail{line-height:1.5;font-size:.88rem;color:var(--ink-2)}
  .detail b{color:var(--ink)}
  .detail p{margin:0}

  /* ---------- בורר המושגים ---------- */
  .tp{border:1px solid var(--line);border-radius:3px;padding:10px 11px;background:#FFFFFF;
    display:flex;flex-direction:column;gap:9px}
  .tp-chosen{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:24px}
  .tp-none{font-size:11px;color:var(--ink-3)}
  .tp-chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--step--1);
    background:color-mix(in srgb,var(--moss) 10%,transparent);
    border:1px solid color-mix(in srgb,var(--moss) 45%,transparent);
    border-radius:2px;padding:3px 4px 3px 8px;color:var(--ink)}
  .tp-chip button{background:transparent;border:0;cursor:pointer;color:var(--ink-3);
    font-size:11px;line-height:1;padding:2px 3px}
  .tp-chip button:hover{color:var(--ember)}
  .tp input{font-family:var(--font-text);font-size:var(--step--1);color:var(--ink);
    background:#FFFFFF;border:1px solid var(--line);border-radius:3px;padding:7px 10px;width:100%}
  .tp input:focus{outline:2px solid var(--moss);outline-offset:1px}
  .tp-list{display:flex;gap:5px;flex-wrap:wrap}
  .tp-list[hidden]{display:none}
  .tp-hit{font-family:var(--font-text);font-size:var(--step--1);cursor:pointer;
    background:var(--bone);border:1px solid var(--line);border-radius:2px;
    padding:4px 9px;color:var(--ink-2)}
  .tp-hit:hover{background:var(--bone-2);color:var(--ink)}
  .tp-sug{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
  .tp-lbl{font-family:var(--font-util);font-size:10px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--moss);margin-inline-end:3px}
  .tp-hit--sug{border-style:dashed;border-color:color-mix(in srgb,var(--moss) 55%,transparent);
    color:var(--moss);background:transparent}
  .tp-hit--sug:hover{background:color-mix(in srgb,var(--moss) 10%,transparent)}

  /* כרטיסיות במקום שורות ברוחב מלא. שורה לכל תגית בזבזה את כל
     הרוחב, ועשר תגיות הפכו את הטופס לענק. */
  .lab-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;align-items:start}
  .lab-group{margin:0 0 14px}
  .lab-group[hidden]{display:none}
  .lab-group h5{margin:0 0 8px;font-family:var(--font-display);font-weight:800;font-size:var(--step-0)}
  .lab-group h5 .lbl-note{font-weight:400}
  .lab-row{display:flex;flex-direction:column;gap:6px;
    padding:9.5px 10.5px;border:1px solid var(--line-soft);border-radius:5px;background:#FFFFFF}
  .lab-row > b{font-family:var(--font-display);font-size:var(--step-1);font-weight:800;letter-spacing:-.015em;padding-top:0;
    display:flex;align-items:center;gap:6px;justify-content:space-between}
  .lab-del{background:transparent;border:0;cursor:pointer;padding:2px 3px;
    font-size:12px;line-height:1;opacity:.3;filter:grayscale(1);transition:opacity .12s ease}
  .lab-del:hover{opacity:1;filter:none}
  .intro h2{display:flex;align-items:center;gap:12px}
  .intro-edit{font-size:11px}
  .lab-ctl{display:flex;flex-direction:column;gap:6px}
  .lab-ctl select,.lab-ctl input{font-size:.89rem;padding:7px 9.5px}
  .lab-row.unk-first{order:-1}
  .lab-row.unk{border-color:#B3261E;border-style:dotted;background:color-mix(in srgb,#B3261E 6%,transparent)}
  .lab-row.unk > b{color:#B3261E}
  .lab-row.diet{border-color:color-mix(in srgb,var(--moss) 40%,transparent);
    background:color-mix(in srgb,var(--moss) 4%,#FFFFFF)}

  .new-lab{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
    border:1px dashed var(--line);border-radius:3px;padding:10px 11px}
  .new-lab input{flex:1 1 190px;min-width:0;font-family:var(--font-text);
    font-size:var(--step--1);color:var(--ink);background:#FFFFFF;
    border:1px solid var(--line);border-radius:3px;padding:7px 10px}
  .new-lab select{font-size:var(--step--1);padding:7px 9px;flex:none;
    border:1px solid var(--line);border-radius:3px;background:#FFFFFF;color:var(--ink)}

  .form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
    border-top:1px solid var(--line-soft);padding-top:14px}
  /* מחיקה יושבת רחוק משמירה, כדי שלא ייגעו בה בטעות */
  .btn--del{margin-inline-start:auto;color:var(--ember);border-color:var(--ember);
    background:color-mix(in srgb,var(--ember) 7%,transparent)}
  .btn--del:hover{background:color-mix(in srgb,var(--ember) 14%,transparent)}
  .form-note{font-size:var(--step--1);color:var(--ink-3)}
  .form-note.bad{color:var(--ember)}
  .form-note.good{color:var(--moss)}

  @media (max-width:720px){
    .grid2{grid-template-columns:1fr}
    /* בטלפון אין רוחב לשתי כרטיסיות בשורה */
    .lab-rows{grid-template-columns:1fr}
    /* בנייד הכלים יורדים מתחת לשם, אחרת אין מקום לשם המנה */
    /* השורה נשארת עוטפת כדי שכלי העריכה ירדו לשורה משלהם, אבל
       flex-basis:0 על גוש הטקסט מונע ממנו לדחוף את המספר ואת החץ
       לשורות נפרדות. לפני זה כל אחד מהם קיבל שורה שלמה, וכרטיס
       סגור עלה 186px במקום ~100. */
    /* בטלפון אין סרגל צד, אז הרצועה צמודה לקצה ימין וצרה. */
    .co-rail{
      display:flex;flex-direction:column;
      position:fixed;top:50%;transform:translateY(-50%);z-index:30;
      opacity:0;visibility:hidden;transition:opacity .15s;
      right:0;width:auto;gap:2px;padding:5px 3px;max-height:70vh;overflow-y:auto;
      background:color-mix(in srgb,var(--bone) 88%,transparent);
      backdrop-filter:blur(6px);
      border:1px solid var(--line-soft);border-inline-end:0;
      border-radius:8px 0 0 8px;
    }
    .rail-b{font-size:9.5px;font-weight:700;line-height:1.15;width:38px;padding:6px 2px;text-align:center}
    .rail-short{display:inline}
    .rail-full{display:none}
    /* מפנה מקום לרצועה. ימין פיזי ולא inline-end — בעברית
       inline-end הוא שמאל, וזה דחף את הכרטיסים אל הרצועה
       במקום ממנה. */
    .content main.wrap{padding-right:50px}

    .dish > summary{flex-wrap:wrap;padding:11px 13px;gap:10px}
    .dish-main{flex:1 1 0;gap:4px}
    /* כלי העריכה תופסים רוחב מלא ויורדים לשורה משלהם. בלי זה
       החץ נדחף אחריהם לשורה שלישית וישב לבד בתוך חלל ריק. */
    .dish > summary .ops{order:2}
    .dish > summary .chev{align-self:center}
    .dish-name{font-size:16px}
    .dish-sub{font-size:11.5px;line-height:1.4}
    .dishes{gap:8px}
    .tag{font-size:10px;padding:2px 6px}
    .ops{width:100%;justify-content:flex-end;margin-top:8px}
    /* בנייד האייקונים נשארים צמודים לשם — הם קטנים ונדירים.
       "הוסף מנה" הוא זה שיורד לשורה שנייה כשאין מקום, כדי
       שכפתור טקסט ארוך לא ידחוף את הכותרת. */
    .course-head{flex-wrap:wrap}
    .course-head .co-ops{order:1}
    .add-dish{margin-inline-start:0;order:2}
    .co-op{width:32px;height:32px}
  }

  /* ============================================================
     סיכומי משמרת
     ------------------------------------------------------------
     אזור של מנהלים בלבד. הוא לא נטען כלל למלצר, לא כאן ולא ב-DOM,
     ולכן אין כאן שום כלל שמסתיר משהו לפי תפקיד.

     כל המחלקות בתחילית sh-. הבדיקה נעשתה: rt- שייך לעורך הטקסט
     ו-pub- למתג הפרסום של המנה, ושתיהן היו מתנגשות.
     ============================================================ */
  .sh-wrap{padding-top:clamp(20px,3.5vw,34px);padding-bottom:70px}
  .sh-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    padding-bottom:10px;margin-bottom:18px;border-bottom:2px solid var(--ink)}
  .sh-head h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;
    font-size:var(--step-2);margin:0;line-height:1}
  .sh-tabs{display:flex;gap:4px;margin-inline-start:auto;align-items:center;flex-wrap:wrap}
  .sh-tab{font:inherit;font-size:var(--step--1);padding:6px 14px;border-radius:999px;
    border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer}
  .sh-tab.is-on{background:var(--moss);border-color:var(--moss);color:#fff}
  .sh-gear{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);
    background:transparent;color:var(--ink-3);cursor:pointer;font-size:14px;
    display:grid;place-items:center;flex:none}
  .sh-gear:hover{border-color:var(--ink-3);color:var(--ink)}
  .sh-empty{font-size:13px;color:var(--ink-3);margin:0 0 9px}
  .sh-load{font-size:13px;color:var(--ink-3);padding:22px 0}

  /* ---------- הלוח ---------- */
  .sh-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .sh-nav b{font-family:var(--font-display);font-size:var(--step-1);font-weight:800;min-width:9ch}
  /* dir=ltr על החץ: ‹ › הם תווי ראי ומתהפכים מעצמם בעברית, כך
     שמה שכתוב בקוד ומה שנראה על המסך יוצאים הפוכים. */
  .sh-arrow{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);
    background:transparent;color:var(--ink-3);cursor:pointer}
  .sh-arrow:hover{border-color:var(--ink-3);color:var(--ink)}
  .sh-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
  /* --font-util הוא מונוספייס בלי פונט עברי, ולכן מילים בעברית
     נופלות שם לברירת מחדל ונמתחות. הוא מתאים ל-X/Z, לשעות
     ולמספרים. שורת הימים היא ניווט שצריך לקרוא במבט אחד, ולכן
     היא בגופן הרגיל. */
  .sh-dow{font-family:var(--font-display);font-size:12.5px;font-weight:700;
    letter-spacing:0;color:var(--ink-2);text-align:center;
    padding-bottom:6px;margin-bottom:2px}
  .sh-day{background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    padding:8px;min-height:86px;cursor:pointer;display:flex;flex-direction:column;gap:4px;
    transition:border-color .12s}
  .sh-day:hover{border-color:var(--ink-3)}
  .sh-day.is-empty{background:transparent;border:0;cursor:default;min-height:0}
  .sh-day.is-today{border:1px solid var(--moss)}
  .sh-dnum{font-family:var(--font-util);font-size:12px;color:var(--ink-3);
    font-variant-numeric:tabular-nums;display:flex;align-items:center;
    justify-content:space-between;gap:6px}
  .sh-row{font-size:10.5px;padding:2px 6px;border-radius:3px;display:flex;
    align-items:center;justify-content:space-between;gap:5px}
  .sh-row.on{background:color-mix(in srgb,var(--moss) 15%,transparent);color:var(--ink)}
  .sh-row.off{color:var(--ink-3);border:1px dashed var(--line-soft)}
  .sh-row.draft{color:var(--ink-3);
    border:1px solid color-mix(in srgb,var(--ember) 30%,transparent)}
  .sh-row.draft .sh-v{color:var(--ember);font-size:9px;letter-spacing:.06em}
  .sh-v{color:var(--moss);font-weight:700}
  /* יום שעוד לא נפתח: נראה, ולא נלחץ. cursor:default כדי שלא
     ייראה כמו כפתור, ו-hover מנוטרל כדי שלא יבטיח משהו. */
  .sh-day.locked,.sh-lrow.locked{cursor:default}
  .sh-day.locked:hover{border-color:var(--line-soft)}
  .sh-day.locked .sh-dnum,.sh-lrow.locked > b{opacity:.45}
  .sh-day.locked .sh-row,.sh-lrow.locked .sh-row{opacity:.3}

  /* ---------- רשימה, בנייד ---------- */
  .sh-list{display:none;flex-direction:column;gap:7px}
  .sh-lrow{background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    padding:11px 13px;display:flex;flex-direction:column;gap:6px;cursor:pointer}
  .sh-lrow > b{font-family:var(--font-display);font-size:var(--step-1);font-weight:800}
  /* אחרי הגלילה האוטומטית צריך להיות ברור על מה נחתנו. בלוח
     זה עובד דרך המסגרת, וברשימה כרטיס אחד מכל 31 נראה כמו כולם. */
  .sh-lrow.is-today{border:1px solid var(--moss)}
  .sh-now{font-family:var(--font-util);font-size:9.5px;letter-spacing:.1em;
    padding:2px 8px;border-radius:999px;vertical-align:middle;margin-inline-start:6px;
    background:var(--moss);color:#fff;font-weight:400;flex:none}

  /* ---------- יום ---------- */
  .sh-back{font:inherit;font-size:var(--step--1);background:transparent;border:0;
    color:var(--ink-3);cursor:pointer;padding:0;margin-bottom:10px}
  .sh-back:hover{color:var(--ink)}
  .sh-dh{font-family:var(--font-display);font-weight:900;font-size:var(--step-2);margin:0 0 14px}
  .sh-shifts{display:flex;flex-direction:column;gap:8px;max-width:520px}
  .sh-s{background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    padding:13px 15px;display:flex;align-items:center;gap:12px;cursor:pointer}
  .sh-s:hover{border-color:var(--ink-3)}
  .sh-s b{font-size:var(--step-0);flex:1 1 auto}
  .sh-s .who{font-family:var(--font-util);font-size:10.5px;color:var(--moss-soft)}
  .sh-s .go{font-size:var(--step--1);color:var(--moss)}
  .sh-s.done{display:block;padding:14px 16px;text-align:start;
    border-color:color-mix(in srgb,var(--moss) 35%,transparent);
    background:color-mix(in srgb,var(--moss) 5%,var(--raised))}
  .sh-stop{display:flex;align-items:baseline;gap:12px}
  .sh-stop b{font-size:var(--step-0)}
  .sh-stop .who{margin-inline-start:auto}
  .sh-nums-mini{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:11px;
    padding-top:10px;border-top:1px solid var(--line-soft)}
  .sh-n{display:flex;align-items:baseline;gap:5px}
  .sh-n b{font-family:var(--font-display);font-weight:800;font-size:.95rem;
    font-variant-numeric:tabular-nums;letter-spacing:-.01em}
  .sh-n.calc b{color:var(--moss)}
  .sh-n span{font-family:var(--font-util);font-size:9.5px;letter-spacing:.09em;
    text-transform:uppercase;color:var(--ink-3)}
  .sh-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
  .sh-tag{font-size:11px;padding:2px 9px;border-radius:999px;
    background:var(--stamp-bg);color:var(--ink-3)}
  .sh-tag.hot{background:color-mix(in srgb,var(--ember) 13%,transparent);color:var(--ember)}
  .sh-tag.draft{font-family:var(--font-util);font-size:9.5px;letter-spacing:.1em;
    background:color-mix(in srgb,var(--ember) 12%,transparent);color:var(--ember)}

  /* ---------- לוח אחד לטופס ולתצוגה ---------- */
  .sh-panel{background:var(--raised);border:1px solid var(--line);border-radius:8px;
    padding:20px 22px 24px;max-width:720px}
  .sh-panel h3{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);
    letter-spacing:-.02em;margin:0 0 3px}
  .sh-ph{display:flex;align-items:center;gap:10px;margin-bottom:3px;flex-wrap:wrap}
  .sh-ph h3{margin:0}
  .sh-st{font-family:var(--font-util);font-size:10px;letter-spacing:.1em;padding:3px 11px;
    border-radius:999px;background:var(--stamp-bg);color:var(--ink-3);flex:none}
  .sh-st.live{background:color-mix(in srgb,var(--moss) 15%,transparent);color:var(--moss)}
  .sh-by{font-family:var(--font-util);font-size:10.5px;color:var(--moss-soft);letter-spacing:.05em}
  .sh-edit{margin-inline-start:auto;font:inherit;font-size:.8rem;padding:5px 14px;
    border-radius:999px;border:1px solid var(--line);background:transparent;
    color:var(--ink-2);cursor:pointer;flex:none}
  .sh-edit:hover{border-color:var(--ink-3);color:var(--ink)}

  /* טופס */
  .sh-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;
    margin:18px 0 4px}
  .sh-num label{display:block;font-size:12.5px;color:var(--ink-3);margin-bottom:5px}
  .sh-num input{font:inherit;font-size:1rem;width:100%;padding:8px 10px;border-radius:3px;
    border:1px solid var(--line);background:#fff;color:var(--ink)}
  /* מחושב הוא תוצאה ולא שדה, ולכן הוא לא נראה כמו שדה. */
  .sh-num.calc .val{color:var(--moss);font-weight:800;font-size:1.15rem;
    font-family:var(--font-display);font-variant-numeric:tabular-nums;
    display:block;padding:8px 0}
  .sh-block{margin-top:22px}
  .sh-block h4{font-family:var(--font-display);font-size:var(--step-0);font-weight:800;
    margin:0 0 9px;color:var(--ink-2)}
  .sh-ta{font:inherit;font-size:.9rem;width:100%;min-height:100px;padding:10px 12px;
    border-radius:3px;border:1px solid var(--line);background:#fff;line-height:1.55}
  .sh-item{display:grid;grid-template-columns:1fr 70px auto;gap:7px;align-items:start;
    margin-bottom:7px}
  .sh-item select,.sh-item input{font:inherit;font-size:.85rem;padding:7px 9px;border-radius:3px;
    border:1px solid var(--line);background:#fff;width:100%}
  /* השלמה של שם מנה. אותו מנגנון כמו תיוג אחרי @, כאן עם
     אפשרות להשאיר טקסט שלא קיים בתפריט. */
  .sh-dish{position:relative}
  .sh-dmenu{display:none;position:absolute;top:100%;inset-inline-start:0;z-index:30;
    margin-top:3px;min-width:100%;max-height:190px;overflow-y:auto;
    background:var(--raised);border:1px solid var(--line);border-radius:6px;
    box-shadow:var(--shadow);padding:4px}
  .sh-dmenu.show{display:block}
  .sh-dmenu button{display:block;width:100%;font:inherit;font-size:.85rem;
    padding:6px 9px;border:0;border-radius:4px;background:transparent;color:var(--ink);
    cursor:pointer;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sh-dmenu button:hover{background:var(--stamp-bg)}
  .sh-item .rm{width:28px;height:32px;border:0;background:transparent;color:var(--ink-3);
    cursor:pointer}
  .sh-item .rm:hover{color:var(--ember)}
  .sh-reason{grid-column:1/-1}
  .sh-add{font:inherit;font-size:.8rem;padding:5px 12px;border-radius:999px;
    border:1px dashed var(--line);background:transparent;color:var(--ink-3);cursor:pointer}
  .sh-add:hover{border-color:var(--moss);color:var(--moss)}
  .sh-save{margin-top:24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .sh-hint{font-size:12px;color:var(--ink-3)}
  .sh-err{font-size:12.5px;color:var(--ember);font-weight:600;flex-basis:100%}
  .sh-soft{font:inherit;font-size:.85rem;padding:8px 18px;border-radius:999px;
    border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer}

  /* תצוגה של סיכום שפורסם */
  .sh-stats{display:flex;gap:26px;flex-wrap:wrap;margin:20px 0 4px;
    padding-top:14px;border-top:1px solid var(--line-soft)}
  .sh-stat{display:flex;flex-direction:column;gap:2px}
  .sh-stat b{font-family:var(--font-display);font-weight:800;font-size:var(--step-2);
    letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
  .sh-stat.calc b{color:var(--moss)}
  .sh-stat span{font-family:var(--font-util);font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-3)}
  .sh-text{font-size:.9rem;line-height:1.6;color:var(--ink-2);margin:0;white-space:pre-wrap}
  .sh-ret{display:flex;flex-direction:column;gap:7px}
  .sh-ret > div{display:flex;gap:9px;align-items:baseline;font-size:.9rem;
    padding-bottom:7px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
  .sh-ret > div:last-child{border-bottom:0}
  .sh-ret b{font-weight:700}
  .sh-ret .n{font-family:var(--font-util);font-size:11px;color:var(--ember);flex:none}
  .sh-ret .why{color:var(--ink-3);font-size:.85rem}
  .sh-fl{display:flex;align-items:center;gap:9px;font-size:.9rem;
    padding:7px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}
  .sh-fl:last-child{border-bottom:0}
  .sh-fl .st{font-size:10px;padding:2px 8px;border-radius:999px;flex:none;
    background:color-mix(in srgb,var(--ember) 14%,transparent);color:var(--ember)}
  .sh-fl .st.ok{background:var(--stamp-bg);color:var(--ink-3)}
  .sh-fl .cam{font-size:11px;color:var(--moss-soft);flex:none;margin-inline-start:auto}

  /* ---------- תקלות שממתינות לסיכום ---------- */
  .sh-pf-note{font-size:12.5px;color:var(--ink-3);margin:0 0 10px;line-height:1.5}
  .sh-pf{display:flex;align-items:flex-start;gap:10px;padding:9px 0;
    border-bottom:1px solid var(--line-soft)}
  .sh-pf:last-of-type{border-bottom:0}
  .sh-pf input{width:16px;height:16px;margin-top:2px;accent-color:var(--moss);
    flex:none;cursor:pointer}
  .sh-pf-body{flex:1 1 auto;min-width:0;display:block}
  .sh-pf-txt{font-size:.9rem;line-height:1.4;display:block}
  .sh-pf-meta{font-family:var(--font-util);font-size:10px;color:var(--ink-3);
    letter-spacing:.05em;margin-top:3px;display:block}
  .sh-pf.off .sh-pf-txt{color:var(--ink-3);text-decoration:line-through;
    text-decoration-color:var(--line)}
  .sh-pf-later{font-size:11.5px;color:var(--ember);margin-top:3px;display:none}
  .sh-pf.off .sh-pf-later{display:block}

  /* ---------- שיח ---------- */
  .sh-cm-wrap{margin-top:28px;padding-top:18px;border-top:2px solid var(--line)}
  .sh-cm-h{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
  .sh-cm-h h4{font-family:var(--font-display);font-size:var(--step-0);font-weight:800;
    margin:0;color:var(--ink-2)}
  .sh-cm-h span{font-family:var(--font-util);font-size:10px;color:var(--ink-3);letter-spacing:.08em}
  .sh-cm-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
  .sh-cm{display:flex;gap:9px;align-items:flex-start}
  .sh-av{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;
    font-family:var(--font-display);font-weight:800;font-size:12px;color:#fff;
    background:var(--moss);user-select:none}
  .sh-bub{background:var(--stamp-bg);border-radius:14px;padding:8px 13px 9px;min-width:0}
  .sh-cm-by{display:flex;align-items:baseline;gap:8px;margin-bottom:1px}
  .sh-cm-by b{font-family:var(--font-display);font-size:.82rem;font-weight:800}
  .sh-cm-by time{font-family:var(--font-util);font-size:9.5px;color:var(--ink-3);
    letter-spacing:.05em}
  .sh-cm-t{font-size:.88rem;line-height:1.5;color:var(--ink-2);margin:0;white-space:pre-wrap}
  .sh-cm-by em{font-family:var(--font-util);font-size:9px;color:var(--ink-3);
    font-style:normal;letter-spacing:.06em}
  /* כלי התיקון מופיעים בריחוף בלבד. הם רלוונטיים חמש דקות,
     ואין סיבה שיתפסו מקום קבוע בכל תגובה. */
  .sh-cm-ops{display:flex;gap:2px;margin-inline-start:auto;opacity:0;transition:opacity .12s}
  .sh-cm:hover .sh-cm-ops,.sh-cm-ops:focus-within{opacity:1}
  .sh-cm-ops button{border:0;background:transparent;cursor:pointer;font-size:11px;
    color:var(--ink-3);padding:1px 3px;border-radius:3px;line-height:1}
  .sh-cm-ops button:hover{color:var(--ink);background:var(--raised)}
  .sh-cm-edit{margin-top:6px}
  .sh-cm-edit textarea{font:inherit;font-size:.88rem;width:100%;min-height:56px;
    padding:8px 10px;border-radius:8px;border:1px solid var(--moss);background:#fff;
    line-height:1.5;resize:vertical}
  .sh-cm-eops{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}

  /* ---- סימוני אימוג׳י ---- */
  .sh-rxs{display:flex;align-items:center;gap:5px;margin-top:6px;flex-wrap:wrap}
  .sh-rx{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;
    padding:1px 8px 2px;border-radius:999px;border:1px solid var(--line);
    background:var(--raised);color:var(--ink-2);cursor:pointer;line-height:1.5}
  .sh-rx.on{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 12%,transparent)}
  .sh-rx i{font-style:normal;font-family:var(--font-util);font-size:10px;color:var(--ink-3)}
  .sh-rx.on i{color:var(--moss)}
  .sh-rxadd{position:relative;display:inline-flex}
  /* הכפתור עצמו דהוי עד ריחוף, כדי שלא יתחרה עם הטקסט */
  .sh-rxbtn{width:20px;height:20px;border-radius:50%;border:1px dashed var(--line);
    background:transparent;color:var(--ink-3);cursor:pointer;font-size:12px;line-height:1;
    opacity:0;transition:opacity .12s}
  .sh-cm:hover .sh-rxbtn,.sh-rxadd.open .sh-rxbtn{opacity:1}
  .sh-rxpick{display:none;position:absolute;bottom:100%;inset-inline-start:0;z-index:20;
    margin-bottom:4px;background:var(--raised);border:1px solid var(--line);
    border-radius:999px;box-shadow:var(--shadow);padding:3px 5px;gap:2px}
  .sh-rxadd.open .sh-rxpick{display:flex}
  .sh-rxpick button{border:0;background:transparent;cursor:pointer;font-size:15px;
    padding:2px 4px;border-radius:50%;line-height:1}
  .sh-rxpick button:hover{background:var(--stamp-bg)}
  .sh-mn{color:var(--moss);font-weight:700;
    background:color-mix(in srgb,var(--moss) 10%,transparent);border-radius:3px;padding:0 3px}
  .sh-cm-new{display:flex;gap:9px;align-items:flex-start}
  .sh-cm-box{flex:1 1 auto;min-width:0;position:relative}
  /* השכבה חייבת אותן מידות בדיוק כמו התיבה, אחרת הקו זז ביחס
     לאותיות. כל שינוי בגופן או בריפוד של .sh-cm-in חייב להיכנס
     גם כאן. */
  .sh-cm-field{position:relative}
  .sh-cm-mirror{
    position:absolute;inset:0;pointer-events:none;z-index:1;
    font:inherit;font-size:.88rem;line-height:1.4;
    padding:9px 15px;border:1px solid transparent;border-radius:19px;
    white-space:pre-wrap;overflow-wrap:break-word;overflow:hidden;
    color:transparent;
  }
  .sh-cm-in:focus + .sh-cm-mirror{border-radius:14px}
  /* רק הקו נראה. הטקסט עצמו מגיע מהתיבה שמתחת. */
  .sh-mnu{color:transparent;text-decoration:none;
    border-bottom:1.5px solid var(--moss)}

  .sh-cm-in{font:inherit;font-size:.88rem;width:100%;height:38px;padding:9px 15px;
    border-radius:19px;border:1px solid var(--line);background:var(--stamp-bg);
    color:var(--ink);line-height:1.4;resize:none;overflow:hidden;
    transition:height .15s ease,border-radius .15s ease,background .15s}
  .sh-cm-in::placeholder{color:var(--ink-3)}
  .sh-cm-in:focus{outline:0;height:76px;border-radius:14px;background:#fff;
    border-color:var(--moss)}
  .sh-cm-foot{display:none;justify-content:flex-end;align-items:center;margin-top:8px}
  .sh-cm-box.open .sh-cm-foot{display:flex}
  .sh-send{font:inherit;font-size:.8rem;padding:6px 20px;border-radius:999px;border:0;
    background:var(--moss);color:#fff;cursor:pointer}
  .sh-send[disabled]{background:var(--line);color:var(--ink-3);cursor:default}
  .sh-cancel{font:inherit;font-size:.8rem;padding:6px 14px;border:0;background:transparent;
    color:var(--ink-3);cursor:pointer;margin-inline-end:2px}
  /* נפתח כלפי מעלה, מעל תיבת הכתיבה, כמו בכל מקום שיש בו תיוג.
     z גבוה מהסרגל הנעוץ בנייד, אחרת הרשימה נכנסת מתחתיו. */
  .sh-mn-menu{display:none;position:absolute;bottom:100%;inset-inline-start:0;z-index:40;
    margin-bottom:6px;background:var(--raised);border:1px solid var(--line);border-radius:8px;
    box-shadow:var(--shadow);padding:5px;min-width:170px;max-height:44vh;overflow-y:auto}
  /* אם אין מקום למעלה — נופל למטה. קורה כשהשיח קצר והתיבה
     יושבת גבוה על המסך. */
  .sh-mn-menu.down{bottom:auto;top:100%;margin:4px 0 0}
  .sh-mn-menu.show{display:block}
  .sh-mn-menu button{display:flex;align-items:center;gap:8px;width:100%;font:inherit;
    font-size:.85rem;padding:6px 9px;border:0;border-radius:5px;background:transparent;
    color:var(--ink);cursor:pointer;text-align:start}
  .sh-mn-menu button:hover{background:var(--stamp-bg)}
  .sh-mn-menu .sh-av{width:22px;height:22px;font-size:10px}
  .sh-mn-menu .none{padding:7px 9px;font-size:12.5px;color:var(--ink-3)}

  /* ---------- מעקב תקלות ---------- */
  .sh-fnew{display:flex;justify-content:flex-end;margin-bottom:14px}
  .sh-fnewbtn{font:inherit;font-size:.85rem;padding:7px 18px;border-radius:999px;border:0;
    background:var(--moss);color:#fff;cursor:pointer}
  .sh-sec{margin-top:6px}
  .sh-sec h3{font-family:var(--font-display);font-size:var(--step-0);font-weight:800;
    margin:0 0 10px;color:var(--ink-2)}
  .sh-sec + .sh-sec{margin-top:28px}
  .sh-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}
  .sh-fcard{background:var(--raised);border:1px solid var(--line-soft);border-radius:6px;
    padding:12px 13px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:start}
  .sh-fcard:hover{border-color:var(--ink-3)}
  .sh-fcard.done{opacity:.55}
  .sh-ftxt{font-size:.9rem;line-height:1.45}
  .sh-fmeta{font-family:var(--font-util);font-size:10px;color:var(--ink-3);letter-spacing:.05em}
  .sh-fhas{font-size:10px;color:var(--moss-soft)}

  /* מסך תקלה */
  .sh-ftop{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .sh-ftitle{font-family:var(--font-display);font-size:var(--step-1);font-weight:800;
    letter-spacing:-.02em;line-height:1.3;margin:0 0 16px}
  .sh-strip{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
  .sh-m{width:150px;aspect-ratio:4/3;border-radius:6px;position:relative;cursor:zoom-in;
    background:var(--stamp-bg);display:grid;place-items:center;overflow:hidden;border:0;padding:0}
  .sh-m img,.sh-m video{width:100%;height:100%;object-fit:cover;display:block}
  .sh-play{position:absolute;width:34px;height:34px;border-radius:50%;
    background:rgba(255,255,255,.92);display:grid;place-items:center;font-size:0;
    pointer-events:none}
  /* SVG ולא גליף: הגאומטריה ידועה, אז אפשר למרכז לפי מרכז הכובד
     של המשולש ולא לפי הריבוע שמקיף אותו. */
  .sh-play svg{display:block;transform:translateX(2px)}
  .sh-mrm{position:absolute;top:5px;inset-inline-end:5px;width:22px;height:22px;
    border-radius:50%;border:0;background:rgba(26,24,20,.6);color:#fff;cursor:pointer;
    font-size:12px;line-height:1;display:grid;place-items:center}
  .sh-madd{width:150px;aspect-ratio:4/3;border-radius:6px;border:1px dashed var(--line);
    background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;font-size:.8rem;
    display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}
  .sh-madd:hover{border-color:var(--moss);color:var(--moss)}
  .sh-madd small{font-size:10px}
  .sh-meta{display:flex;flex-direction:column;gap:7px;padding-top:14px;
    border-top:1px solid var(--line-soft)}
  .sh-line{display:flex;gap:10px;font-size:.85rem;align-items:baseline}
  .sh-line > span{font-family:var(--font-util);font-size:10px;letter-spacing:.08em;
    color:var(--ink-3);min-width:8ch;flex:none}
  .sh-line a{color:var(--moss);text-decoration:none;border-bottom:1px solid currentColor;
    cursor:pointer}
  .sh-facts{margin-top:22px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}

  /* ---------- מנות שחזרו ---------- */
  .sh-rbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:18px}
  .sh-chip{font:inherit;font-size:var(--step--1);padding:5px 14px;border-radius:999px;
    border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer}
  .sh-chip.on{background:var(--moss);border-color:var(--moss);color:#fff}
  .sh-range{display:none;gap:7px;align-items:center;margin-inline-start:4px}
  .sh-range.show{display:flex}
  .sh-range input{font:inherit;font-size:.8rem;padding:4px 8px;border-radius:3px;
    border:1px solid var(--line);background:#fff;color:var(--ink)}
  .sh-range span{font-size:11px;color:var(--ink-3)}
  .sh-rsum{font-size:13px;color:var(--ink-3);margin:0 0 16px;padding-bottom:14px;
    border-bottom:1px solid var(--line-soft);line-height:1.5}
  .sh-rsum b{font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:.95rem}
  .sh-rlist{display:flex;flex-direction:column;max-width:660px}
  .sh-rrow{padding:13px 0;border-bottom:1px solid var(--line-soft)}
  .sh-rtop{display:flex;align-items:baseline;gap:10px}
  .sh-rname{font-size:.95rem;font-weight:700;flex:1 1 auto}
  .sh-rn{font-family:var(--font-display);font-weight:800;font-size:1.05rem;
    font-variant-numeric:tabular-nums;color:var(--ember);flex:none}
  .sh-meter{height:3px;border-radius:2px;background:var(--line-soft);margin-top:7px;
    overflow:hidden}
  .sh-meter i{display:block;height:100%;
    background:color-mix(in srgb,var(--ember) 55%,transparent)}
  .sh-rdet{margin-top:9px;padding-inline-start:2px;
    border-inline-start:2px solid var(--line-soft)}
  .sh-hit{display:flex;gap:10px;align-items:baseline;font-size:.83rem;
    padding:4px 0;padding-inline-start:11px;color:var(--ink-2)}
  .sh-hit em{font-family:var(--font-util);font-size:10px;color:var(--ink-3);
    font-style:normal;letter-spacing:.03em;flex:none;min-width:15ch}
  .sh-hit .qt{color:var(--ember);font-family:var(--font-util);font-size:10px;flex:none}

  /* ---------- הגדרות ---------- */
  .sh-stpanel{background:var(--raised);border:1px solid var(--line);border-radius:8px;
    padding:20px 22px 24px;max-width:600px}
  .sh-stpanel h3{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);
    letter-spacing:-.02em;margin:0 0 4px}
  .sh-stsub{font-size:13px;color:var(--ink-3);margin:0 0 18px;line-height:1.5}
  /* בלי שורת כותרת: כל קובייה נושאת את אות היום שלה ממילא. */
  .sh-days{display:flex;gap:2px;flex:none}
  .sh-d{width:25px;height:25px;border:1px solid var(--line-soft);background:transparent;
    cursor:pointer;font:inherit;font-size:10.5px;color:var(--ink-3);border-radius:50%;
    flex:none;display:grid;place-items:center;
    transition:background .12s,color .12s,border-color .12s}
  .sh-d:hover{background:var(--stamp-bg);color:var(--ink)}
  .sh-d.on{background:var(--moss);border-color:var(--moss);color:#fff;font-weight:700}

  .sh-strow{display:flex;align-items:center;gap:9px;padding:9px 0;
    border-bottom:1px solid var(--line-soft)}
  .sh-strow:last-of-type{border-bottom:0}
  .sh-stname{flex:1 1 auto;font-size:.95rem}
  .sh-stico{width:28px;height:28px;border:0;background:transparent;cursor:pointer;
    color:var(--ink-3);font-size:13px;flex:none;border-radius:50%}
  .sh-stico:hover{background:var(--stamp-bg);color:var(--ink)}
  .sh-stico[disabled]{opacity:.25;cursor:default}
  .sh-stico[disabled]:hover{background:transparent;color:var(--ink-3)}
  .sh-stico.rm:hover{color:var(--ember)}
  .sh-stwarn{margin-top:20px;padding-top:14px;border-top:1px solid var(--line-soft);
    font-size:12.5px;color:var(--ink-3);line-height:1.55}

  /* ---------- חלונית דיווח תקלה ---------- */
  .sh-sheet{position:fixed;inset:0;background:rgba(26,24,20,.4);z-index:60;
    display:grid;place-items:center;padding:18px;overflow:auto}
  .sh-box{background:var(--raised);border-radius:10px;padding:20px 22px 22px;
    max-width:460px;width:100%;box-shadow:var(--shadow)}
  .sh-box h3{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);margin:0 0 4px}
  .sh-box textarea{font:inherit;font-size:.9rem;width:100%;min-height:76px;padding:10px 12px;
    border-radius:3px;border:1px solid var(--line);background:#fff;line-height:1.5;resize:vertical}
  .sh-bsub{font-size:12.5px;color:var(--ink-3);margin:0 0 16px;line-height:1.5}
  .sh-bacts{display:flex;gap:10px;align-items:center;margin-top:16px}

  /* ---------- הודעה קצרה ---------- */
  .sh-toast{position:fixed;z-index:80;left:50%;bottom:22px;transform:translateX(-50%);
    max-width:min(440px,calc(100vw - 28px));background:var(--ink);color:var(--bone);
    font-size:.85rem;line-height:1.45;padding:11px 18px;border-radius:999px;
    box-shadow:var(--shadow);opacity:1;transition:opacity .5s}
  .sh-toast.bad{background:var(--ember);color:#fff}
  .sh-toast.go{opacity:0}

  /* ---------- הגדלת מדיה ---------- */
  .sh-lb{position:fixed;inset:0;background:rgba(26,24,20,.88);z-index:70;
    display:grid;place-items:center;padding:20px;cursor:zoom-out}
  .sh-lb img{max-width:100%;max-height:92vh;border-radius:6px;display:block}

  @media (max-width:900px){
    .sh-cal,.sh-dow{display:none}
    .sh-list{display:flex}

    /* בלי ריפוד עליון: איתו הסרגל יושב ב-50 ועוד הריפוד כשהדף
       בראש, ונדבק ל-50 בדיוק כשגוללים. המעבר בין לשוניות מחזיר
       לראש, ואז הסרגל היה קופץ מטה. עכשיו שני המצבים זהים. */
    .sh-wrap{padding-top:0}

    /* הלשוניות נשארות למעלה בגלילה, כמו הסינון בתפריט. באמצע
       משמרת גוללים רשימה של חודש, ובלי זה כל מעבר בין לשוניות
       מחייב לגלול חזרה עד הראש.
       top:50px — גובה ה-topbar, שהוא עצמו נעוץ. z מתחתיו. */
    .sh-head{
      position:sticky;top:50px;z-index:19;
      margin-inline:-14px;padding-inline:14px;
      padding-top:9px;padding-bottom:9px;margin-bottom:14px;
      flex-wrap:nowrap;align-items:center;gap:10px;
      background:color-mix(in srgb,var(--bone) 92%,transparent);
      backdrop-filter:blur(10px);
      border-bottom:1px solid var(--line);
    }
    /* הכותרת יורדת מהסרגל הנעוץ. ב-375px היא נחתכה ל"סיכומי מש..."
       ודחקה את גלגל ההגדרות אל מחוץ למסך, ובפועל היא לא מוסיפה
       כלום: הגעת לכאן מהסרגל, והלשונית הפעילה אומרת איפה אתה. */
    .sh-head h2{display:none}
    .sh-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
      padding-block:2px;-webkit-overflow-scrolling:touch;
      margin-inline-start:0;width:100%}
    .sh-tabs::-webkit-scrollbar{display:none}
    .sh-tab{white-space:nowrap;flex:none}
    .sh-panel,.sh-stpanel{padding:16px 15px 20px;border-radius:6px}
    .sh-stats{gap:16px}
    .sh-stat b{font-size:var(--step-1)}
    .sh-item{grid-template-columns:1fr 62px auto}
    .sh-fgrid{grid-template-columns:1fr}

    /* שם + שבע קוביות + ארבעה כפתורים לא נכנסים ל-375. השם
       נמעך, והאייקונים גלשו מחוץ לכרטיס. הימים יורדים לשורה
       משלהם, ופרושים לרוחב מלא. */
    .sh-strow{flex-wrap:wrap;padding:11px 0 12px}
    .sh-stname{flex:1 1 auto;min-width:0;font-size:.9rem}
    .sh-days{order:9;flex-basis:100%;justify-content:space-between;
      margin-top:9px;gap:0}
    .sh-d{width:min(34px,12vw);height:min(34px,12vw)}
    .sh-stpanel{padding:16px 15px 20px}
    .sh-stsub{font-size:12.5px}
    .sh-m,.sh-madd{width:calc(50% - 5px)}
    .sh-hit{flex-wrap:wrap;gap:4px 8px}
    .sh-hit em{min-width:0}
  }

  /* ============ תרגול ============ */
  .op--practice{padding:6px 11px;border-color:var(--moss);color:var(--moss)}
  .op--practice:hover{background:var(--moss);color:#fff}
  .op--practice.is-done{background:var(--moss);color:#FFFFFF}
  .op--practice.is-done:hover{background:var(--moss-soft,var(--moss));border-color:var(--moss-soft,var(--moss))}
  .sheet-box--wide{width:min(680px,100%)}
  /* התרגול מטשטש את הדף מאחוריו: הכרטיס של המנה הוא התשובה.
     הרקע כהה והחלונית לבנה, כדי שיהיה ברור מה פתוח ומה מאחור. */
  #prSheet{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    background:color-mix(in srgb,var(--ink) 55%,transparent)}
  #prSheet .sheet-box{background:#FFFFFF}
  #prSheet .sheet-head{background:#fff}
  @media (max-width:640px){
    /* בטלפון: מסך מלא, בלי מסגרת ובלי שוליים */
    #prSheet{padding:0}
    #prSheet .sheet-box{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}
    #prSheet .sheet-head{padding:10px 14px}
    #prSheet .sheet-head h2{font-size:var(--step-1)}
    #prSheet .sheet-body{padding:12px 14px;gap:10px}
    .pr-q{font-size:var(--step-0)}
  }
  .pr-area{width:100%;resize:vertical;line-height:1.5}
  .pr-body{gap:12px}
  .pr-crumb{font-family:var(--font-util);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
  .pr-kind{font-family:var(--font-util);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ember);margin:0}
  .pr-dishname{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);margin:0;color:var(--moss)}
  .pr-q{font-weight:700;line-height:1.55;margin:0;font-size:var(--step-0)}
  .pr-hint{color:var(--ink-3);font-size:var(--step--1);margin:0}
  .pr-blank{display:inline-block;min-width:5.5em;border-bottom:2px solid var(--ember);height:1em;vertical-align:baseline;margin:0 2px}
  .pr-ins{display:flex;flex-direction:column;gap:8px}
  .pr-in{font-family:var(--font-text);font-size:var(--step-0);padding:9px 12px;border:1px solid var(--line);
    border-radius:3px;background:#fff;color:var(--ink)}
  .pr-in:focus{outline:2px solid var(--moss);outline-offset:1px}
  .pr-mc{display:flex;flex-direction:column;gap:6px}
  .pr-op{display:flex;gap:10px;align-items:flex-start;text-align:start;font:inherit;font-size:var(--step-0);
    background:var(--raised);border:1px solid var(--line-soft);border-radius:3px;padding:10px 12px;cursor:pointer;color:var(--ink)}
  .pr-op:hover{border-color:var(--ink-3)}
  .pr-op:disabled{cursor:default}
  .pr-op.right{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 12%,transparent)}
  .pr-op.wrong{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 9%,transparent)}
  .pr-l{font-family:var(--font-util);font-size:11px;flex:none;width:22px;height:22px;border-radius:999px;
    background:var(--bone);border:1px solid var(--line);display:grid;place-items:center;margin-top:1px}
  .pr-op.right .pr-l{background:var(--moss);color:#fff;border-color:var(--moss)}
  .pr-op.wrong .pr-l{background:var(--ember);color:#fff;border-color:var(--ember)}
  .pr-fb{margin-top:6px;padding:12px 14px;border-radius:3px;border:1px solid var(--line);background:var(--raised)}
  .pr-fb.ok{border-color:color-mix(in srgb,var(--moss) 45%,transparent);background:color-mix(in srgb,var(--moss) 10%,transparent)}
  .pr-fb.bad{border-color:color-mix(in srgb,var(--ember) 45%,transparent);background:color-mix(in srgb,var(--ember) 8%,transparent)}
  .pr-fb b{display:block;margin-bottom:4px}
  .pr-src{margin-top:8px;font-size:var(--step--1);color:var(--ink-2);line-height:1.55}
  .pr-warn{color:var(--ember)}
  .pr-done{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
  .pr-done p{margin:0;font-weight:700}
  /* מיון תוויות: מגש, סלים, בורר "מה מוציאים" */
  .pr-sub{font-weight:400;font-size:var(--step--1);color:var(--ink-3)}
  .pr-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:34px}
  .pr-chip{font:inherit;font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;
    border:1px solid var(--line-soft);background:#fff;color:var(--ink-2);cursor:pointer;
    transition:border-color .12s ease,background .12s ease,color .12s ease}
  .pr-chip:hover{border-color:var(--ink-3);color:var(--ink)}
  .pr-chip.sel{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 10%,#fff);color:var(--ink)}
  .pr-chip.right{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 12%,transparent);color:var(--moss)}
  .pr-chip.wrong{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 12%,transparent);color:var(--ember)}
  .pr-bins{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  @media (max-width:480px){ .pr-bins{grid-template-columns:1fr} }
  .pr-bin{border:1px solid var(--line-soft);border-radius:8px;overflow:hidden;background:#fff}
  .pr-binhead{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:600;
    color:var(--ink-2);border-bottom:1px solid var(--line-soft);background:var(--raised)}
  .pr-binhead::before{content:"";width:8px;height:8px;border-radius:50%;flex:none}
  .pr-bin--no .pr-binhead::before{background:var(--ember)}
  .pr-bin--yes .pr-binhead::before{background:var(--moss)}
  .pr-bin .in{padding:9px 10px;display:flex;flex-wrap:wrap;gap:6px;min-height:42px}
  .pr-bin .in:empty::before{content:"ריק";color:var(--line-strong,var(--ink-3));font-size:12px;opacity:.7}
  /* הבחירה ליד התווית: כרטיסון לבן רך, לא פס כהה */
  .pr-choose{flex:1 0 100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--line-soft);
    box-shadow:0 8px 24px -14px rgba(78,74,38,.45);animation:pr-pop .14s ease-out}
  @keyframes pr-pop{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.pr-choose{animation:none}}
  .pr-choose-for{font-size:12.5px;color:var(--ink-3);margin-inline-end:2px}
  .pr-chb{font:inherit;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer;
    background:#fff;transition:background .12s ease,color .12s ease}
  .pr-chb--no{border:1px solid color-mix(in srgb,var(--ember) 45%,transparent);color:var(--ember)}
  .pr-chb--no:hover{background:color-mix(in srgb,var(--ember) 10%,#fff)}
  .pr-chb--yes{border:1px solid color-mix(in srgb,var(--moss) 45%,transparent);color:var(--moss)}
  .pr-chb--yes:hover{background:color-mix(in srgb,var(--moss) 10%,#fff)}
  .via-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
  .pick{display:block;flex:1 0 100%;width:100%;margin-top:2px}
  .pick > summary{list-style:none;cursor:pointer;font-size:12.5px;padding:7px 11px;border:1px solid var(--line-soft);
    border-radius:999px;background:#fff;color:var(--ink-3);display:flex;align-items:center;justify-content:space-between;gap:8px}
  .pick > summary::-webkit-details-marker{display:none}
  .pick > summary::after{content:"⌄";font-size:15px;line-height:1;flex:none}
  .pick[open] > summary::after{content:"⌃"}
  .pick > summary.has{color:var(--ink);font-weight:600;border-color:var(--moss)}
  .pick-list{margin-top:5px;border:1px solid var(--line-soft);border-radius:6px;background:var(--raised);padding:4px;
    display:flex;flex-direction:column;max-height:190px;overflow:auto}
  .pick-op{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:5px;font-size:var(--step--1);cursor:pointer}
  .pick-op:hover{background:var(--bone)}
  .pick-op input{width:16px;height:16px;accent-color:var(--moss);flex:none}
  .pr-diet{background:var(--raised);border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px}
  .pr-tf{display:flex;gap:8px;margin-top:4px}
  .pr-dv{flex:1;font:inherit;font-size:13px;font-weight:600;padding:8px;border-radius:999px;border:1px solid var(--line-soft);background:#fff;color:var(--ink-2);cursor:pointer}
  .pr-dv.sel{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 10%,#fff);color:var(--ink)}
  .pr-dv.right{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 14%,transparent);color:var(--moss)}
  .pr-dv.wrong{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 14%,transparent);color:var(--ember)}
  .pr-tray{background:var(--raised);border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px}
  .pr-lbl{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-3);margin-bottom:8px}
  .pr-lbl b{color:var(--ink-2);font-weight:600}
  .pr-tags{display:flex;flex-direction:column;gap:6px}
  .pr-tagrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 10px;border:1px solid var(--line-soft);border-radius:3px;background:var(--raised)}
  .pr-tagrow.is-right{border-color:color-mix(in srgb,var(--moss) 50%,transparent)}
  .pr-tagrow.is-wrong{border-color:color-mix(in srgb,var(--ember) 55%,transparent)}
  .pr-tagname{font-weight:700;min-width:6em}
  .pr-tagname.is-diet{color:var(--moss)}
  .pr-seg{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
  .pr-segb{font:inherit;font-size:var(--step--1);padding:5px 10px;border-radius:999px;border:1px solid var(--line);
    background:#fff;color:var(--ink-2);cursor:pointer}
  .pr-segb.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
  .pr-segb.is-want{outline:2px solid var(--moss);outline-offset:1px}
  .pr-segb:disabled{cursor:default;opacity:.85}
  /* רוחבי: סימון מנות */
  .pr-list{display:flex;flex-direction:column;gap:5px}
  .pr-xco{font-family:var(--font-util);font-size:10.5px;letter-spacing:.12em;color:var(--ink-3);margin:10px 0 2px}
  .pr-item{display:flex;align-items:center;gap:10px;font:inherit;font-size:var(--step--1);text-align:start;
    background:var(--raised);border:1px solid var(--line-soft);border-radius:3px;padding:8px 11px;cursor:pointer;color:var(--ink)}
  .pr-item .box{flex:none;width:16px;height:16px;border:1.5px solid var(--ink-3);border-radius:3px;background:#fff}
  .pr-item.on .box{background:var(--ink);border-color:var(--ink)}
  .pr-item.good{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 10%,transparent)}
  .pr-item.good .box{background:var(--moss);border-color:var(--moss)}
  .pr-item.miss{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 9%,transparent)}
  .pr-item .hint{margin-inline-start:auto;font-size:11px;color:var(--ink-3)}
  .pr-item:disabled{cursor:default}
  /* עריכה */
  .pr-edit-row{display:flex;justify-content:flex-end}
  .pr-form{display:flex;flex-direction:column;gap:12px}
  .pr-lab{display:flex;flex-direction:column;gap:6px;font-size:var(--step--1);color:var(--ink-3)}
  .pr-lab textarea,.pr-lab input[type=text]{font-family:var(--font-text);font-size:var(--step-0);color:var(--ink);
    background:#fff;border:1px solid var(--line);border-radius:3px;padding:8px 10px;width:100%}
  .pr-optrow{display:flex;gap:8px;align-items:center}
  .pr-optrow input[type=radio]{accent-color:var(--moss);flex:none}
  /* אזור התרגול */
  .pr-tabs{display:none;gap:4px;margin:18px 0 14px;flex-wrap:wrap}
  body.is-editor .pr-tabs{display:flex}
  .pr-tab{font:inherit;font-size:var(--step--1);padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer}
  .pr-tab.is-on{background:var(--moss);border-color:var(--moss);color:#fff}
  .pr-pane[hidden]{display:none}
  .pr-pools{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:30px 0 6px;padding-top:22px;border-top:1px solid var(--line-soft)}
  .pr-pool,.pr-dish{font:inherit;text-align:start;display:flex;flex-direction:column;gap:4px;
    background:var(--raised);border:1px solid var(--line-soft);border-radius:4px;padding:12px 14px;cursor:pointer;color:var(--ink)}
  .pr-pool:hover,.pr-dish:hover{border-color:var(--moss)}
  .pr-pool b{font-family:var(--font-display);font-weight:900;font-size:var(--step-1)}
  .pr-pool span,.pr-dish .meta{font-size:var(--step--1);color:var(--ink-3)}
  .pr-co{font-family:var(--font-display);font-weight:900;font-size:var(--step-1);margin:26px 0 8px}
  .pr-dishlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
  .pr-dish .nm{font-weight:700}
  .pr-bar{display:block;height:4px;border-radius:2px;background:var(--line-soft);overflow:hidden;margin-top:4px}
  .pr-bar i{display:block;height:100%;background:var(--moss)}
  /* מעקב */
  .pr-search{margin-top:14px;max-width:320px;display:flex}
  .pr-search input{width:100%;font-family:var(--font-text);font-size:var(--step--1);padding:8px 11px;
    border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink)}
  .pr-search input:focus{outline:2px solid var(--moss);outline-offset:1px}
  /* הטבלה גוללת בתוך עצמה, כדי ששורת שמות המנות תישאר מוצמדת למעלה
     גם כשגוללים עשרות מלצרים. הגובה משאיר מקום לכותרת ולחיפוש. */
  .pr-tablewrap{overflow:auto;max-width:100%;max-height:calc(100vh - 220px);margin-top:14px;border:1px solid var(--line-soft);border-radius:4px}
  .pr-pane,#view-practice .wrap{min-width:0;max-width:100%}
  .pr-cards{display:none;flex-direction:column;gap:10px;margin-top:14px}
  .pr-card{border:1px solid var(--line-soft);border-radius:8px;background:var(--raised);padding:10px 12px}
  .pr-card-head{display:flex;margin-bottom:8px}
  .pr-cells{display:flex;flex-wrap:wrap;gap:6px}
  .pr-cell{font-size:12px;padding:4px 9px;border-radius:999px;border:1px solid var(--line-soft);background:#fff}
  .pr-cell b{font-variant-numeric:tabular-nums;margin-inline-start:3px}
  .pr-cell{font:inherit;font-size:12px;cursor:pointer}
  .pr-table td[data-pr-cell]{cursor:pointer}
  .pr-table td[data-pr-cell]:hover{outline:2px solid var(--moss);outline-offset:-2px}
  .pr-detail{display:flex;flex-direction:column;gap:8px}
  .pr-d-row{display:grid;grid-template-columns:12px 1fr;column-gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:#fff}
  .pr-d-row i{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--line)}
  .pr-d-row small{grid-column:2;font-size:12px;color:var(--ink-3)}
  .pr-d-good i{background:var(--moss)}
  .pr-d-bad i{background:#B3261E}
  .pr-d-bad{border-color:#B3261E}
  @media (max-width:640px){
    .pr-tablewrap{display:none}
    .pr-cards{display:flex}
    .pr-search{max-width:100%}
  }
  .pr-table{border-collapse:collapse;font-size:var(--step--1);min-width:100%;font-variant-numeric:tabular-nums}
  .pr-table th,.pr-table td{padding:7px 9px;border-bottom:1px solid var(--line-soft);text-align:center;white-space:nowrap}
  .pr-table thead th{position:sticky;top:0;z-index:2;background:var(--raised);font-family:var(--font-util);font-size:10px;letter-spacing:.06em;color:var(--ink-3);
    vertical-align:bottom;max-width:110px;white-space:normal}
  .pr-table th.pr-sticky{position:sticky;right:0;background:var(--bone);text-align:start;z-index:1}
  .pr-table thead th.pr-sticky{z-index:3;background:var(--raised)}
  .pr-table tbody th.pr-sticky{font-weight:700}
  .pr-table tbody th small{display:block;font-weight:400;color:var(--ink-3);font-size:10px}
  .pr-prog{display:block;height:4px;border-radius:2px;background:var(--line-soft);overflow:hidden;margin:4px 0 3px;min-width:90px}
  .pr-prog i{display:block;height:100%;background:var(--moss)}
  .pr-card-head{flex-direction:column;align-items:stretch;gap:2px}
  .pr-card-head small{font-size:12px;color:var(--ink-3)}
  .pr-tot{font-weight:700}
  .pr-none{color:var(--line-soft)}
  .pr-good{background:color-mix(in srgb,var(--moss) 16%,transparent)}
  .pr-mid{background:color-mix(in srgb,var(--apricot) 35%,transparent)}
  .pr-low{background:color-mix(in srgb,var(--ember) 14%,transparent)}
  /* רשימת עריכה */
  .pr-qgroup{margin-top:18px}
  .pr-qgroup h4{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:var(--step-0)}
  .pr-qrow{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line-soft);border-radius:3px;background:var(--raised);margin-bottom:5px}
  .pr-qtext{flex:1 1 auto;min-width:0}
  @media (max-width:640px){
    .pr-tagname{min-width:0;width:100%}
    .pr-seg{margin-inline-start:0}
  }

  /* ---------- תפריטים ---------- */
  /* רשימת התפריטים מחליפה את החיפוש והמנות. ההקדמה והמילון נשארים:
     הם של המסעדה, לא של תפריט מסוים. */
  body.menus-list .controls, body.menus-list #main,
  body.menus-list #coRail, body.menus-list #empty{display:none}
  body.menu-open .intro{display:none}
  .menu-tabs.is-list{border-bottom:1px solid var(--line)}
  .menu-tabs{padding-top:clamp(22px,4vw,40px);padding-bottom:6px}
  .menu-tabs.is-list{padding-bottom:clamp(30px,5vw,56px)}
  .menus-title{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;font-size:var(--step-2);margin:0}
  .menu-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .menu-tabs.is-single{padding-top:0}
  .menu-intro{position:relative;margin-top:14px;padding:18px 20px;border:1px solid var(--line-soft);border-radius:14px;background:var(--raised)}
  .menu-intro .detail p{margin:0 0 .8em}
  .menu-intro .detail p:last-child{margin-bottom:0}
  .menu-intro-edit,.intro-edit{position:absolute;top:12px;left:12px}
  .intro-sec{break-inside:avoid}
  .intro-sec.is-big{break-inside:auto}
  .intro-sec + .intro-sec{margin-top:.6em}
  @media (min-width:900px){
    .menu-intro .detail.is-long{columns:2;column-gap:clamp(32px,5vw,72px)}
  }
  .menu-back{font:inherit;font-size:.92rem;padding:7px 14px;border-radius:999px;border:1px solid var(--line);
    background:transparent;color:var(--ink-2);cursor:pointer}
  .menu-back:hover{border-color:var(--moss);color:var(--moss)}
  .menu-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px}
  .menu-card{font:inherit;text-align:start;display:flex;flex-direction:column;gap:6px;cursor:pointer;
    padding:22px 22px 20px;border-radius:16px;border:1px solid var(--line);background:var(--raised);color:var(--ink);
    transition:border-color .15s,transform .15s,box-shadow .15s}
  .menu-card:hover{border-color:var(--moss);transform:translateY(-2px);box-shadow:0 8px 22px -14px rgba(78,74,38,.5)}
  .menu-card b{font-family:var(--font-display);font-weight:800;font-size:1.45rem;letter-spacing:-.01em}
  .menu-kind{font-size:.72rem;letter-spacing:.14em;color:var(--moss)}
  .menu-n{font-size:.9rem;color:var(--ink-3)}
  /* שיוך מושג/ספק לתפריט: רק בעריכה */
  .gl-menu{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:10px 0 2px;font-size:12px;color:var(--ink-3)}
  .gl-menu label{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);font-size:13px;cursor:pointer}
  .gl-menu input{accent-color:var(--moss)}

  /* ---------- הכנה והגשה של משקה ---------- */
  /* אייקוני הכנה וכוס ליד שם הקוקטייל: הכנה מימין, הכוס משמאלה */
  .drink-ico{display:inline-flex;align-items:center;gap:5px;vertical-align:-3px;margin-inline-start:10px;color:var(--brine)}
  .drink-ico svg{width:20px;height:20px}
  .drink-pick{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
  .drink-pick-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .drink-pick-row.bad .drink-pick-lbl{color:var(--ember);font-weight:700}
  /* טעם וסגנון בעריכת יין: תגיות בשורה, לחיצה מסמנת */
  .chip-line{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}
  .chip-lbl{flex:0 0 56px;font-size:var(--step-0);opacity:.75;padding-top:8px}
  .lab-rows.chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}
  .lab-row.lab-chip{flex-direction:row;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;cursor:pointer;user-select:none;gap:0}
  .lab-row.lab-chip > b{font-family:var(--font-text);font-size:var(--step-0);font-weight:400;letter-spacing:0;padding:0}
  .lab-row.lab-chip[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--bone)}
  .sweet-kinds[hidden],.lab-chip .lab-ctl{display:none}
  .lab-chip .lab-info{background:transparent;border:0;cursor:pointer;color:inherit;font-size:.85em;line-height:1;padding:0;margin-inline-start:8px;opacity:.4}
  .lab-chip .lab-info:hover{opacity:1}
  .taste-info-ed{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#FFFFFF}
  .taste-info-ed label{display:block;margin-top:8px;font-size:var(--step--1);font-weight:600}
  .taste-info-ed textarea{display:block;width:100%;margin-top:3px;font-family:var(--font-text);font-size:var(--step-0);font-weight:400;line-height:1.5;padding:6px 8px}
  /* קישור בתוך שורת הפרטים של יין: זן או יצרן שפותח את הערך שלו */
  .termlink.termlink--in{display:inline;border:0;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;border-radius:0;
    letter-spacing:inherit;text-transform:none}
  .termlink.termlink--in:hover{color:var(--moss)}
  .gp{margin-top:2px}
  .tp-chip.is-new{border-style:dashed}
  .tp-chip em{font-style:normal;font-size:.85em;opacity:.6}
  /* המילון: רק כותרות. הערך המלא נפתח בחלון צף, ובעריכה הכרטיס נפתח במקומו */
  .gloss-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
  .gloss-grid > [data-id]:not(.is-editing){padding:10px 14px;cursor:pointer}
  .gloss-grid > [data-id]:not(.is-editing) > :not(h4):not(.gloss-ops){display:none}
  .gloss-grid > [data-id]:not(.is-editing) > h4{margin:0;font-size:var(--step-0);padding-inline-end:52px}
  .gloss-grid > [data-id]:not(.is-editing):hover{border-color:var(--moss)}
  .gloss-grid{align-items:start}
  .gloss-grid > [data-id]:not(.is-editing) > h4 em{display:none}
  .gloss-grid > .is-editing{grid-column:1 / -1}
  .gloss-grid > [data-id]:not(.is-editing) .gloss-ops{top:6px;left:auto;right:auto;inset-inline-end:6px}
  .wine-kv .termlinks{justify-content:flex-start}
  .wine-facts .wine-kv .termlinks span.wine-plain{flex:none;color:inherit;font-weight:700}
  .linklike{background:transparent;border:0;padding:0;font:inherit;color:var(--moss);text-decoration:underline;cursor:pointer}
  /* ערך במילון: שורה קצרה, והשאר מתקפל */
  .def-short{margin:0 0 8px}
  .gl-more{margin:0 0 10px}
  .gl-more > summary{cursor:pointer;font-size:var(--step--1);color:var(--moss);text-decoration:underline;text-underline-offset:3px;list-style:none;margin-bottom:8px}
  .gl-more > summary::-webkit-details-marker{display:none}
  /* חץ קטן שמראה שיש המשך. מתהפך כשפתוח */
  .gl-more > summary::after{content:"";display:inline-block;width:6px;height:6px;margin-inline-start:7px;margin-bottom:3px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
  .gl-more[open] > summary::after{transform:rotate(-135deg);margin-bottom:-1px}
  .gl-more[open] > summary{color:var(--ink-3)}
  /* דרגות בתרגול היין: חובה ורשות */
  .pr-level{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:var(--step--1)}
  .pr-level-lbl{font-weight:700}
  .pr-level-btn{font:inherit;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;cursor:pointer}
  .pr-level-btn[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--bone)}
  .pr-level-what{flex-basis:100%;color:var(--ink-3)}
  .pr-opt{margin:0 0 10px;font-size:var(--step--1);color:var(--ink-3)}
  .pr-opt-tag{font-weight:400;font-size:.8em;border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-inline-start:6px;color:var(--ink-3)}
  .pr-pool.is-opt{border-style:dashed}
  .gloss-sub{grid-column:1 / -1;font-weight:800;font-size:var(--step-0);margin-top:6px;padding-bottom:2px;border-bottom:1px solid var(--line)}
  .gl-tier-row{display:block;margin:8px 0;font-size:var(--step--1)}
  /* חלון קטן מעל הטופס (זן חדש) */
  .mini-ov{position:fixed;inset:0;z-index:4000;background:rgba(40,36,20,.45);display:flex;align-items:center;justify-content:center;padding:16px}
  .mini-box{background:var(--bone,#FBF4E6);border-radius:8px;padding:18px 20px;width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.25)}
  .mini-box h4{margin:0 0 6px}
  .mini-box label{display:block;margin-top:9px;font-size:var(--step--1);font-weight:600}
  .mini-box input,.mini-box textarea{display:block;width:100%;margin-top:3px;font:inherit;font-weight:400}
  .gl-part-row{margin:4px 0}
  .gl-part{display:inline-block;min-width:120px;outline:0;border-bottom:1px dashed var(--line)}
  .gl-part:empty::before{content:attr(data-ph);opacity:.45}
  .lab-row.lab-chip{align-items:center}
  .lab-chip .lab-del{background:transparent;border:0;cursor:pointer;color:inherit;font-size:.8em;line-height:1;padding:0 0 0 0;margin-inline-start:8px;opacity:.4}
  .lab-chip .lab-del:hover{opacity:1}
  .lab-row.lab-chip:focus-visible{outline:2px solid var(--moss);outline-offset:2px}
  .drink-pick-lbl{min-width:44px;font-size:.85rem;color:var(--ink-3)}
  .ico-btn[hidden]{display:none}
  .sweet-kinds{display:flex;gap:4px;margin-top:4px}
  .sweet-kind{font:inherit;font-size:.72rem;padding:2px 7px;border:1px solid var(--line-soft);border-radius:99px;
    background:transparent;color:var(--ink-3);cursor:pointer}
  .sweet-kind[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:#FFFFFF}
  .ico-pick{display:flex;gap:8px;flex-wrap:wrap}
  .ico-btn{font:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px 8px;min-width:78px;
    border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s}
  .ico-btn svg{width:30px;height:30px}
  .ico-btn span{font-size:.78rem}
  .ico-btn:hover{border-color:var(--moss)}
  .ico-btn[aria-pressed="true"]{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 10%,transparent);color:var(--moss)}

  /* כן | לא למאפיין טעם */
  /* מצב התווית בכפתורים: אין (אפור), יש (ירוק), אפשר בלי (כתום), לבדוק (אדום) */
  /* רשת של תאים שווים: ארבעה מצבים = ארבעה רבעים, שני מצבים = שני חצאים.
     כך גם "אפשר להתאים" הארוך לא שובר את השורה. */
  .yn{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
  .yn-btn{font:inherit;font-size:12px;padding:6px 4px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .yn-btn + .yn-btn{border-inline-start:1px solid var(--line)}
  .lab-row[data-kind="taste"] .yn{width:auto;min-width:120px}
  /* התאמה (טבעוני): המילים ארוכות, אז ארבעה רבעים בשתי שורות */
  .lab-row[data-kind="diet"] .yn{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .lab-row[data-kind="diet"] .yn-btn:nth-child(3),.lab-row[data-kind="diet"] .yn-btn:nth-child(4){border-top:1px solid var(--line)}
  .lab-row[data-kind="diet"] .yn-btn:nth-child(3){border-inline-start:0}
  /* אין = ירוק (בסדר לאורח), יש = אדום (אסור), אפשר בלי = כתום, לבדוק = אדום שצובע את כל התיבה */
  .yn-btn.st-none[aria-pressed="true"]{background:var(--moss);color:var(--bone)}
  .yn-btn.st-blocking[aria-pressed="true"]{background:#B3261E;color:#fff}
  .yn-btn.st-conditional[aria-pressed="true"]{background:#E8940A;color:#fff}
  .yn-btn.st-unknown[aria-pressed="true"]{background:#B3261E;color:#fff}
  /* בהתאמות ובטעמים הכיוון הפוך: "מתאים"/"כן" זה הטוב */
  .lab-row[data-kind="diet"] .yn-btn.st-none[aria-pressed="true"],
  .lab-row[data-kind="taste"] .yn-btn.st-none[aria-pressed="true"]{background:#B3261E;color:#fff}
  .lab-row[data-kind="diet"] .yn-btn.st-blocking[aria-pressed="true"],
  .lab-row[data-kind="taste"] .yn-btn.st-blocking[aria-pressed="true"]{background:var(--moss);color:var(--bone)}

  /* קטגוריה חדשה: תבנית + שם */
  .co-new{display:flex;flex-wrap:wrap;align-items:end;gap:10px;justify-content:center;margin:18px auto 0;padding:14px 16px;
    border:1px solid var(--line);border-radius:14px;background:var(--raised);max-width:640px}
  .co-new label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-3)}
  .co-new select,.co-new input{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
  .co-new input{min-width:200px}

  /* הגשה וטעם */
  .pr-serve-row{display:flex;flex-direction:column;gap:8px;margin:14px 0}
  .pr-serve-lbl{font-size:13px;color:var(--ink-3)}
  .pr-chips{display:flex;flex-wrap:wrap;gap:8px}
  .pr-chip.wrong{border-color:#B3261E;background:color-mix(in srgb,#B3261E 8%,transparent);color:#B3261E}
  .ico-btn.right{border-color:var(--moss);background:color-mix(in srgb,var(--moss) 12%,transparent);color:var(--moss)}
  .ico-btn.wrong{border-color:#B3261E;background:color-mix(in srgb,#B3261E 8%,transparent);color:#B3261E}
  .pr-co small{font-weight:400;font-size:.75em;color:var(--ink-3);margin-inline-start:8px}

  /* תרגול: כרטיס לכל תפריט */
  .pr-menus{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:6px}
  .pr-menu{font:inherit;text-align:start;display:flex;flex-direction:column;gap:6px;cursor:pointer;
    padding:20px 22px 18px;border-radius:16px;border:1px solid var(--line);background:var(--raised);color:var(--ink);
    transition:border-color .15s,transform .15s}
  .pr-menu:hover{border-color:var(--moss);transform:translateY(-2px)}
  .pr-menu b{font-family:var(--font-display);font-weight:800;font-size:1.35rem}
  .pr-menu > span{font-size:.9rem;color:var(--ink-3)}
  .pr-menu-head{margin-bottom:6px}
  .pr-skip{color:var(--ink-3);border-color:var(--line-soft)}
  .pr-skip:hover{color:var(--ink)}

  /* משוב הרכב: מה שחסר כצ'יפים, בלי פסיקים */
  .pr-fbrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:4px 0}
  .pr-fbchips{display:inline-flex;flex-wrap:wrap;gap:6px}
  .pr-fbchip{padding:3px 10px;border-radius:999px;font-weight:600;font-size:13px;border:1px solid}
  .pr-fbchip.miss{color:#B3261E;border-color:#B3261E;background:color-mix(in srgb,#B3261E 7%,transparent)}
  .pr-fbchip.extra{color:var(--ink-3);border-color:var(--line);text-decoration:line-through}
  /* שמירה בראש הטופס */
  .form-head-acts{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto}
  textarea.grow{resize:none;overflow:hidden;min-height:38px;line-height:1.45}

  /* סדר לפי עדיפות: הסימון ליד המונה, והבורר "רק מה שחסר" */
  .pr-why{display:inline-block;padding:1px 8px;border-radius:999px;letter-spacing:0;font-size:11px;font-weight:600}
  .pr-why.bad{background:color-mix(in srgb,#B3261E 12%,transparent);color:#B3261E}
  .pr-why.new{background:color-mix(in srgb,var(--brine) 12%,transparent);color:var(--brine)}
  .pr-why.once{background:color-mix(in srgb,#E8940A 14%,transparent);color:#9A5E00}
  .pr-why.know{background:color-mix(in srgb,var(--moss) 12%,transparent);color:var(--moss)}
  .pr-only{display:inline-flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:var(--step--1);color:var(--ink-2);cursor:pointer}
  .pr-only input{accent-color:var(--moss);width:16px;height:16px}

  .pr-alldone{margin:24px 0;color:var(--ink-3)}
  .course-none{margin:6px 0 18px;color:var(--ink-3);font-size:var(--step--1)}

  /* ---------- ספיישלים, מנה חדשה, מקור של שאלה ---------- */
  .mark-sp,.mark-new{display:inline-flex;align-items:center;font-family:var(--font-util);font-size:10.5px;
    letter-spacing:.08em;padding:3px 8px;border-radius:99px;white-space:nowrap}
  .mark-sp{background:#FFF3D6;color:#7A5200;border:1px solid #E8C675}
  .mark-new{background:var(--moss);color:#FFFFFF;border:1px solid var(--moss)}
  .pr-dish .mark-sp{margin-inline-start:6px;vertical-align:middle}
  .fld-row{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
  .fld-row #f-name{flex:1 1 260px}
  .fld-row .sp-fld{flex:1 1 300px}
  .sp-fld.bad label:first-child{color:#C0392B}
  .sp-kind{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:var(--step--1);min-height:38px}
  .sp-kind label,.sp-ann{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:400}
  .sp-days{display:inline-flex;align-items:center;gap:6px}
  .sp-days[hidden]{display:none}
  .sp-days input{width:64px;padding:4px 6px}
  .sp-days small{color:var(--ink-3)}
  .sp-ann{margin-top:6px;font-size:var(--step--1)}
  .sp-arch-btn{font:inherit;font-size:var(--step--1);border:1px dashed var(--line);border-radius:99px;
    background:transparent;color:var(--ink-3);padding:5px 12px;cursor:pointer;white-space:nowrap}
  .sp-arch-btn.has{border-style:solid;border-color:#E8C675;background:#FFF3D6;color:#7A5200}
  .sp-arch-btn:hover{border-color:var(--ink-3);color:var(--ink)}
  .sp-panel .sp-row:first-of-type{border-top:0}
  .sp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line-soft);margin-top:10px}
  .sp-name{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
  .sp-name small,.sp-when{color:var(--ink-3);font-size:var(--step--1)}
  #newNote{padding-top:0;padding-bottom:0}
  .new-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding:12px 14px;
    border:1px solid var(--moss);border-radius:6px;background:color-mix(in srgb,var(--moss) 8%,transparent)}
  .new-list{display:flex;gap:8px;flex-wrap:wrap}
  .new-b{font:inherit;font-size:var(--step--1);border:1px solid var(--moss);border-radius:99px;background:#FFFFFF;
    color:var(--moss);padding:4px 12px;cursor:pointer}
  .new-b:hover{background:var(--moss);color:#FFFFFF}
  .side-badge{display:inline-block;margin-inline-start:8px;min-width:18px;padding:1px 6px;border-radius:99px;
    background:#C0392B;color:#FFFFFF;font-family:var(--font-util);font-size:10.5px;text-align:center}
  .pr-src select,.pr-src textarea{display:block;width:100%;margin-top:6px}
  .pr-src-bad{color:#C0392B;font-size:var(--step--1);margin:6px 0}
  .pr-srctag{display:inline-block;margin-inline-start:8px;padding:1px 8px;border-radius:99px;font-family:var(--font-util);
    font-size:10.5px;border:1px solid var(--line);color:var(--ink-3);white-space:nowrap}
  .pr-srctag.ok{border-color:var(--moss);color:var(--moss)}
  .pr-srctag.bad{border-color:#C0392B;background:#C0392B;color:#FFFFFF}
  .pr-qrow.is-stale .pr-qtext{color:var(--ink-3)}

  /* ---------- חלון עריכת מנה: פונט וגודל אחידים ----------
     כל הכותרות, שמות השדות והכפתורים באותו פונט ובאותו גודל כמו
     "פירוט מנה", וכותרות ושמות שדות בבולד. ההסבר שבסוגריים רגיל.
     אזור התוויות נשאר כמו שהיה. רק כותרת החלון גדולה יותר. */
  .dish-sheet .form h3{font-size:var(--step-2)}
  .dish-sheet .form h4,
  .dish-sheet .form .fld > label,
  .dish-sheet .form .lab-group h5{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);color:var(--ink)}
  .dish-sheet .form .lbl-note,
  .dish-sheet .form .pub-switch,
  .dish-sheet .form .form-note,
  .dish-sheet .form .form-head-acts .btn,
  .dish-sheet .form .form-actions .btn,
  .dish-sheet .form .sp-kind,
  .dish-sheet .form .sp-kind label,
  .dish-sheet .form .sp-days,
  .dish-sheet .form .sp-days small,
  .dish-sheet .form .sp-ann{font-family:var(--font-display);font-size:var(--step-1);font-weight:400}
  .dish-sheet .form .lab-group h5 .lbl-note{font-weight:400}
  .dish-sheet .form .fld > label.sp-ann{font-weight:400}
  .dish-sheet .form .form-head-acts .btn,
  .dish-sheet .form .form-actions .btn{padding:6px 14px}

  /* ---------- יין ---------- */
  .wine-line{display:block;font-size:var(--step--1);color:var(--ink-2);margin-top:2px}
  .wine-row .fld{flex:1 1 200px}
  .wine-row .wine-vint{flex:0 1 200px}
  .mark-bt{display:inline-flex;align-items:center;font-family:var(--font-util);font-size:10.5px;letter-spacing:.08em;
    padding:3px 8px;border-radius:99px;border:1px solid var(--line);color:var(--ink-3);margin-inline-start:6px;vertical-align:middle}
  .ico-btn--txt{min-width:0;padding:8px 14px}
  .pr-dish.is-locked{opacity:.55;border-style:dashed;box-shadow:none}
  .pr-dish.is-locked .pr-bar{visibility:hidden}
  .pr-glass{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:10px 14px;
    border:1px solid var(--line);border-radius:6px;background:var(--raised);font-size:var(--step--1)}
  .pr-glass .pr-bar{flex:1 1 160px;max-width:260px}
  .pr-glass.is-open{border-color:var(--moss)}
  .pr-phase{display:flex;align-items:baseline;gap:10px}
  .pr-phase-st{font-family:var(--font-util);font-size:11px;letter-spacing:.08em;font-weight:400;color:var(--ink-3)}
  .pr-phase.is-done .pr-phase-st{color:var(--moss)}
  .pr-phase.is-locked{color:var(--ink-3)}
  .pr-phase-hint{margin:-4px 0 18px}
  .pr-dish .pr-prod{display:block;font-size:var(--step--1);color:var(--ink-2);margin-top:-2px}
  .pr-subco{margin:14px 0 8px;font-family:var(--font-display);font-weight:800;font-size:var(--step-0);color:var(--ink-2)}
  .wine-facts .wine-kv{display:flex;gap:10px;padding:4px 0;border-bottom:1px solid var(--line-soft);font-size:var(--step--1)}
  .wine-facts .wine-kv:last-child{border-bottom:0}
  .wine-facts .wine-kv span{flex:0 0 70px;color:var(--ink-3)}
  .dish-pic--bottle{background:transparent;border-color:transparent}
  .dish-pic--bottle img{object-fit:contain;padding:6px}
  .pr-pool .pr-bar{margin-top:8px}
  .pr-pools--top{margin:4px 0 18px;padding-top:0;border-top:0}
  /* מעקב לפי שלבים (תפריט יין) */
  .pr-table .pr-ph-row th.pr-ph{font-family:var(--font-display);font-size:var(--step--1);font-weight:800;letter-spacing:0;color:var(--ink);
    border-inline-start:2px solid var(--line);text-align:start}
  .pr-table td.pr-sum,.pr-table th.pr-sum{border-inline-start:2px solid var(--line);font-weight:700}
  .pr-table td.pr-lock,.pr-cell.pr-lock{color:var(--ink-3);background:transparent;opacity:.55}
  .pr-cell-ph{flex:1 0 100%;margin:10px 0 2px;font-family:var(--font-display);font-weight:800;font-size:var(--step--1)}
  .pr-table .pr-ph-row th{height:30px;box-sizing:border-box;padding-top:4px;padding-bottom:4px}
  .pr-table thead tr.pr-ph-row + tr th{top:30px}
  .gl-wines{margin-top:8px;font-size:var(--step--1);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .gl-wine{font:inherit;font-size:var(--step--1);background:transparent;border:1px solid var(--line);border-radius:99px;padding:2px 10px;color:var(--ink-2);cursor:pointer}
  .gl-wine:hover{border-color:var(--moss);color:var(--moss)}
  .term .def-part + .def-part{margin-top:6px}
  .def-part b{color:var(--ink)}
  /* חלון צף של מושג, זן או ספק. מעל חלונית התרגול, אם נפתח משם */
  .gl-pop{z-index:130}
  .gl-pop h2 em{font-style:normal;font-family:var(--font-util);font-size:11px;letter-spacing:.12em;color:var(--ink-3);margin-inline-start:8px;font-weight:400}
  .gl-pop .sheet-body{gap:0}
  .gl-pop-body p{margin:0;font-size:var(--step-0);color:var(--ink-2);line-height:1.6}
  .gl-pop-body p + p{margin-top:10px}
  .gl-pop-body .where{font-family:var(--font-util);font-size:11px;letter-spacing:.1em;color:var(--moss);margin-bottom:10px}
  .gl-pop-body .gl-wines{margin-top:14px}
  #grapesHead[hidden],#grapes[hidden]{display:none}
  .term .gl-in[data-f="definition"]{white-space:pre-line}
  /* כרטיס יין בתרגול: נפתח במקום לקריאה, ובתחתיתו "לתרגל את היין" */
  .pr-wine{display:flex;flex-direction:column;min-width:0}
  .pr-wine .pr-dish{width:100%}
  .pr-wine.is-open{grid-column:1 / -1}
  .pr-wine.is-open .pr-dish{border-color:var(--moss);border-radius:4px 4px 0 0}
  .pr-wine-body{background:#fff;border:1px solid var(--moss);border-top:0;border-radius:0 0 4px 4px}
  .pr-wine-body[hidden]{display:none}
  .pr-wine-go{margin-top:18px}
