/* ============================================================
   Manuscript generator
   ============================================================ */
.ms-layout{display:block;}
@media(min-width:1080px){
  .ms-layout{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:34px; align-items:start;}
}

/* ---- actions ---- */
.ms-acts{display:flex; flex-wrap:wrap; gap:9px; align-items:center; font-family:var(--sans);
  border:1px solid var(--rule); border-top:3px solid var(--accent); border-radius:4px;
  padding:14px 16px; margin:0 0 22px; background:#fff;}
.ms-acts .sp{flex:1;}
.ms-msg{font-family:var(--sans); font-size:12.5px; color:var(--ok); min-height:1em;}
.ms-file{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;}

/* ---- form ---- */
.ms-form{font-family:var(--sans);}
.ms-grp{border:1px solid var(--rule); border-left:2px solid var(--accent); border-radius:0 3px 3px 0;
  margin:0 0 12px; background:#fff;}
.ms-grp > summary{font-size:13.5px; font-weight:700; color:var(--accent-dark); cursor:pointer;
  list-style:none; padding:11px 14px; display:flex; align-items:baseline; gap:9px;}
.ms-grp > summary::-webkit-details-marker{display:none;}
.ms-grp > summary::before{content:"\25B8"; font-size:10px; color:var(--accent);
  transition:transform .12s ease; display:inline-block;}
.ms-grp[open] > summary::before{transform:rotate(90deg);}
.ms-grp > summary:hover{background:var(--accent-tint);}
.ms-grp > summary .done{margin-left:auto; font-weight:400; font-size:11.5px; color:var(--muted);}
.ms-body{padding:2px 14px 16px;}

.ms-f{margin:0 0 15px;}
.ms-f label{display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin:0 0 5px;}
.ms-f .rec{font-weight:400; letter-spacing:.02em; text-transform:none; color:var(--accent);
  font-size:10.5px; margin-left:6px;}
.ms-f .hint{font-size:12px; color:var(--muted); margin:4px 0 0; line-height:1.5;}
.ms-f input[type=text], .ms-f textarea, .ms-f select{
  width:100%; font-family:var(--sans); font-size:14px; line-height:1.5; color:var(--ink);
  border:1px solid var(--rule); border-radius:3px; padding:8px 10px; background:#fff;}
.ms-f textarea{min-height:64px; resize:vertical;}
.ms-f input:focus, .ms-f textarea:focus, .ms-f select:focus{outline:2px solid var(--accent); outline-offset:1px;}
@media(min-width:620px){ .ms-two{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;} }

/* ---- preview ---- */
.ms-prev{border:1px solid var(--rule); border-radius:4px; background:#fff;
  max-height:calc(100vh - 140px); overflow:auto;}
@media(min-width:1080px){ .ms-prev{position:sticky; top:88px;} }
.ms-prev .ms-phead{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--rule);
  padding:11px 20px; position:sticky; top:0; background:rgba(255,255,255,.97); z-index:2;}
.ms-doc{padding:22px 26px 30px; font-family:var(--serif); font-size:15px; line-height:1.62; color:var(--ink);}
.ms-doc h1{font-size:1.35rem; line-height:1.28; margin:0 0 6px;}
.ms-doc h2{font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--accent-dark); margin:26px 0 8px;
  padding-bottom:6px; border-bottom:1px solid var(--rule);}
.ms-doc h3{font-family:var(--sans); font-size:13px; font-weight:700; margin:16px 0 5px;}
.ms-doc p{margin:0 0 11px;}
.ms-doc ul{margin:0 0 11px; padding-left:20px;}
.ms-doc li{margin:0 0 4px;}
.ms-doc .au{font-family:var(--sans); font-size:13px; color:var(--muted); margin-bottom:16px;}
.ms-doc mark{background:#fff3cd; color:#5c4a1e; padding:0 3px; border-radius:2px;
  font-family:var(--sans); font-size:.86em;}
.ms-doc .empty{color:var(--muted); font-style:italic;}

.ms-note{font-family:var(--sans); font-size:12.5px; color:var(--muted); line-height:1.55;
  border-left:2px solid var(--rule); padding:2px 0 2px 12px; margin:0 0 20px;}

@media print{ .ms-form,.ms-acts{display:none;} .ms-prev{border:0; max-height:none; overflow:visible; position:static;} }

.ms-doc .ms-warn{border:1px solid #e8cccc; background:#fdf4f4; color:#8b2626;
  border-radius:3px; padding:11px 14px; font-family:var(--sans); font-size:13px; line-height:1.55;}
