.teshuva-shell { max-width: 1150px; padding: 2.5rem 1.5rem 4rem; margin: auto; }
.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 1.4rem; align-items: start; }
.editor-panel, .profile-panel, .answer-panel { border: 1px solid var(--line); background: var(--white); border-radius: 12px; padding: 1.5rem; }
.editor-panel > label, .profile-panel > label, .save-panel label { display: block; font-weight: 700; margin-block: .9rem .4rem; }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: .35rem; padding: .6rem; background: var(--paper); border: 1px solid var(--line); border-radius: 8px 8px 0 0; }
.editor-toolbar button { padding: .35rem .6rem; min-width: 38px; }
#question-editor { min-height: 240px; padding: 1rem; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 8px 8px; overflow-wrap: anywhere; max-height: 600px; overflow-y: auto; }
#question-editor:empty::before { content: "…"; color: var(--muted); }
.editor-meta { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .8rem; }
.teshuva-shell input:not([type=checkbox]), .teshuva-shell select, .teshuva-shell textarea { width: 100%; max-width: 100%; padding: .6rem; border: 1px solid var(--line); border-radius: 7px; font: inherit; background: white; color: var(--ink); }
.help { font-size: .85rem; color: var(--muted); line-height: 1.6; }
.primary { background: var(--ink); color: white; padding: .75rem 1.1rem; border-color: var(--ink); }
.profile-panel img { width: 180px; height: 180px; object-fit: cover; border-radius: 50%; display: block; margin: 1rem auto; border: 4px solid var(--paper); }
.profile-panel img[hidden] { display: none; }
.profile-panel #rav-name { text-align: center; font-weight: 700; }
.profile-panel .api-switch { display: flex; gap: .6rem; align-items: start; border-top: 1px solid var(--line); padding-top: 1rem; }
.api-switch input { margin-top: .45rem; }
.answer-panel { margin-top: 2rem; }
.answer-profile { display: flex; align-items: center; gap: 1rem; margin-block: 1rem; }
.answer-profile img { object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.answer-profile h1 { font-size: 1.8rem; }
.answer-profile h2 { font-size: 1.2rem; margin: .2rem 0; }
.source { padding-block: 1.2rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.source h3 { font-size: 1.05rem; margin: 0; }
.source-meta { font-size: .8rem; color: var(--muted); }
.source blockquote { white-space: pre-wrap; margin: .8rem 0; border-inline-start: 3px solid var(--gold); padding-inline-start: 1rem; line-height: 1.9; }
.source-links { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .85rem; }
.save-panel { margin-block: 1.5rem; padding: 1rem; background: var(--paper); border-radius: 8px; }
#submission-panel textarea { margin-block: .5rem; font-family: monospace; font-size: .8rem; }
.track-form { max-width: 400px; margin-top: 1.5rem; }
.track-form input { margin-block: .5rem; }
.archive { margin-top: 3rem; }
.archive article { border-block-end: 1px solid var(--line); padding: .8rem 0; }
[hidden] { display: none !important; }
@media (max-width: 740px) { .editor-layout { grid-template-columns: minmax(0,1fr); } .teshuva-shell { padding: 1.5rem .85rem; } .editor-panel, .profile-panel, .answer-panel { padding: 1rem; } .profile-panel img { width: 120px; height: 120px; } .answer-profile { align-items: start; } }

#source-urls{width:100%;box-sizing:border-box;padding:.7rem;border:1px solid var(--line,#ccc);border-radius:.4rem;resize:vertical}#research-sites{max-height:14rem;overflow:auto;overflow-wrap:anywhere}#research-sites p{margin:.4rem 0}.profile-panel details{margin:1rem 0}
