/* נט המשפט — הדור הבא · shared styles */
:root {
  --accent: #3730a3;
  --accent-soft: #eef2ff;
}
html { scroll-behavior: smooth; }
body { font-family: 'Heebo', 'Assistant', sans-serif; -webkit-font-smoothing: antialiased; }

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* status chips */
.chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 600; padding: .2rem .65rem; border-radius: 9999px; white-space: nowrap; }
.chip::before { content: ""; width: .4rem; height: .4rem; border-radius: 9999px; background: currentColor; opacity: .7; }
.chip-wait { background: #fef3c7; color: #92400e; }
.chip-hearing { background: #e0e7ff; color: #3730a3; }
.chip-filed { background: #d1fae5; color: #065f46; }
.chip-closed { background: #f1f5f9; color: #64748b; }

/* modal */
.modal-backdrop { position: fixed; inset: 0; background: rgb(15 23 42 / .45); backdrop-filter: blur(4px); z-index: 50; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.modal-backdrop.open { opacity: 1; pointer-events: auto; }
.modal-card { transform: translateY(16px) scale(.98); transition: transform .25s ease; }
.modal-backdrop.open .modal-card { transform: none; }

/* timeline */
.tl { position: relative; padding-inline-start: 2rem; }
.tl::before { content: ""; position: absolute; inset-block: .5rem; inset-inline-start: .68rem; width: 2px; background: #e2e8f0; border-radius: 2px; }
.tl-dot { position: absolute; inset-inline-start: 0; top: .3rem; width: 1.4rem; height: 1.4rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; font-size: .7rem; background: var(--accent-soft); color: var(--accent); border: 2px solid #fff; box-shadow: 0 0 0 2px #e0e7ff; }

/* typing caret for assistant */
.caret::after { content: "▍"; animation: blink 1s steps(1) infinite; color: var(--accent); }
@keyframes blink { 50% { opacity: 0; } }

/* calendar conflict */
.conflict { outline: 2px solid #ef4444; outline-offset: -2px; position: relative; }
.conflict:hover .conflict-tip, .conflict:focus-within .conflict-tip { opacity: 1; transform: none; }
.conflict-tip { opacity: 0; transform: translateY(4px); transition: all .2s ease; pointer-events: none; position: absolute; bottom: calc(100% + 6px); inset-inline-start: 50%; translate: 50% 0; background: #7f1d1d; color: #fff; font-size: .7rem; font-weight: 600; padding: .3rem .6rem; border-radius: .5rem; white-space: nowrap; z-index: 20; }

/* subtle card hover */
.card-hover { transition: transform .25s ease, box-shadow .25s ease; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 12px 32px -12px rgb(55 48 163 / .25); }

@media (prefers-reduced-motion: reduce) {
  .reveal, .card-hover, .modal-card { transition: none; }
  .reveal { opacity: 1; transform: none; }
}
