/* Linea Projects application surface — global rules ported from the design prototype.
   Component styling is inline (matching the handoff) so this stays minimal. */
* { box-sizing: border-box; }
body { margin: 0; background: #fafafa; }

::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-thumb { background: #d4d4d0; border-radius: 100px; }
::-webkit-scrollbar-track { background: transparent; }
* { scrollbar-width: thin; scrollbar-color: #d4d4d0 transparent; }

em { font-family: 'DM Serif Display', serif; font-style: italic; font-weight: 400; }
.lp-num { font-variant-numeric: tabular-nums; }

/* Inline editable fields in the task panel — read as text, click to change. */
.lp-edit {
  font-family: inherit; color: #2a2c30; appearance: none; -webkit-appearance: none;
  border: none; background: transparent; padding: 2px 4px; margin: -2px -4px;
  border-radius: 6px; cursor: pointer; max-width: 100%;
  transition: background .12s ease;
}
.lp-edit:hover { background: #f2f2f0; }
.lp-edit:focus { outline: none; background: #eef2ff; box-shadow: 0 0 0 1.5px #2e5dff; }
select.lp-edit { padding-right: 18px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a0' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 4px center; }

a { color: inherit; }

@keyframes riseIn { from { transform: translateY(6px); } to { transform: translateY(0); } }
.rise { animation: riseIn .22s ease-out; }

@keyframes slideIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
.slide-panel { animation: slideIn .3s cubic-bezier(.4,0,.2,1); }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fade-in { animation: fadeIn .2s ease-out; }

.btn-primary:hover { background: #1a3fb3 !important; }

@media (prefers-reduced-motion: reduce) {
  .rise, .slide-panel, .fade-in { animation: none; }
}
