.prep-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: var(--weave-space-5); align-items: start; }
.prep-notebook { display: grid; gap: var(--weave-space-5); padding: var(--weave-space-5); background: var(--weave-color-paper); border: 1px solid var(--weave-color-rule); border-radius: var(--weave-radius-md); min-width: 0; }
.prep-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--weave-space-3); flex-wrap: wrap; }
.prep-layout h2, .prep-layout h3, .prep-layout p { margin: 0; }
.prep-layout h2, .prep-layout h3 { font-family: var(--weave-font-display); font-weight: 500; }
.prep-layout h2 { font-size: var(--weave-text-xl); }
.prep-notebook h3 { font-size: var(--weave-text-lg); margin-bottom: var(--weave-space-2); }
.prep-meta, .prep-signal > a, .prep-reminders a { color: var(--weave-color-secondary); font-size: var(--weave-text-xs); }
.prep-notebook textarea { box-sizing: border-box; width: 100%; resize: vertical; font-family: var(--weave-font-reading); font-size: var(--weave-text-lg); line-height: var(--weave-leading-reading); background: transparent; border: 1px solid var(--weave-color-rule); }
.prep-pins, .prep-pin, .prep-actions, .prep-add { display: flex; align-items: center; gap: var(--weave-space-2); flex-wrap: wrap; }
.prep-pin { padding-left: var(--weave-space-3); background: var(--weave-color-hover); border-radius: var(--weave-radius-sm); }
.prep-pin a { color: var(--weave-color-ink); }
.prep-add { margin-top: var(--weave-space-2); }
.prep-add[hidden] { display: none; }
.prep-add input, .prep-add select { min-width: 0; max-width: 100%; flex: 1; }
.prep-reminders { padding: 0; margin: 0; list-style: none; }
.prep-reminders li { display: flex; align-items: baseline; gap: var(--weave-space-3); border-bottom: 1px solid var(--weave-color-rule); padding: var(--weave-space-2) 0; }
.prep-reminders li > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.prep-signals { display: grid; gap: var(--weave-space-3); min-width: 0; }
.prep-signal { display: grid; gap: var(--weave-space-2); padding: var(--weave-space-4); background: var(--weave-color-paper); border: 1px solid var(--weave-color-rule); border-radius: var(--weave-radius-md); overflow-wrap: anywhere; }
.prep-signal h3 { color: var(--weave-color-action); font-size: var(--weave-text-md); }
.prep-actions .desk-link { padding-left: 0; }
@media (max-width: 960px) { .prep-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .prep-reminders li { flex-wrap: wrap; } .prep-reminders li > span { flex-basis: 100%; } }

.prep-pins > label { flex-basis: 100%; }
