:root{--ink:#15343b;--muted:#668086;--line:#dbe7e7;--paper:#f6faf9;--card:#fff;--teal:#0f766e;--teal-dark:#0a5b56;--mint:#d8f0ec;--yellow:#fff1a8;--red:#b54747;--shadow:0 14px 40px rgba(24,65,69,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}.topbar{min-height:76px;padding:14px clamp(18px,4vw,56px);display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:800;font-size:22px}.brand-copy{line-height:1}.eyebrow,.section-kicker{color:var(--teal);font-weight:800;letter-spacing:.12em;font-size:11px}.brand-copy h1{margin:5px 0 0;font-size:18px;letter-spacing:-.02em}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.save-state{font-size:12px;color:var(--muted);margin-right:5px}.button,.small-button{border:0;font:inherit;font-weight:700;cursor:pointer;transition:.18s ease;white-space:nowrap}.button{border-radius:9px;padding:9px 13px;font-size:13px}.button:hover,.small-button:hover{transform:translateY(-1px)}.button.ghost{color:var(--ink);background:#eef5f4}.button.primary{background:var(--teal);color:#fff}.button.danger{background:#fff0ef;color:var(--red)}.file-button{position:relative;overflow:hidden}.file-button input,.image-actions input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.shell{max-width:1380px;margin:auto;padding:28px clamp(18px,4vw,56px) 64px}.intro-card{padding:27px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(115deg,#dff4ef,#f6fbfa 68%);border:1px solid #c6e7e0;border-radius:18px;margin-bottom:28px}.intro-card h2{margin:8px 0 5px;font-size:clamp(22px,3vw,34px);line-height:1.12;letter-spacing:-.04em}.intro-card p{margin:0;color:#4f6e73}.intro-stats{display:flex;gap:25px;padding-right:12px}.intro-stats div{display:flex;flex-direction:column}.intro-stats b{font-size:27px;letter-spacing:-.05em}.intro-stats span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.section-heading,.card-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}.section-heading h2,.card-heading h2{margin:4px 0 0;font-size:23px;letter-spacing:-.04em}.steps{display:flex;flex-direction:column;gap:13px}.step-card{display:grid;grid-template-columns:45px 1fr;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(24,65,69,.03);overflow:hidden}.step-number{background:#edf7f5;color:var(--teal);font-weight:900;font-size:20px;display:flex;justify-content:center;padding-top:21px}.step-main{padding:17px 20px 15px;min-width:0}.step-head{display:flex;align-items:center;gap:14px}.step-title-wrap{flex:1}.step-title,.step-description{width:100%;border:1px solid transparent;background:transparent;font:inherit;color:var(--ink);outline:none;border-radius:6px}.step-title{font-size:19px;font-weight:800;letter-spacing:-.02em;padding:2px 5px}.step-description{font-size:14px;color:var(--muted);padding:3px 5px;margin-top:2px}.step-title:focus,.step-description:focus,.bullet-text:focus,.image-caption:focus{border-color:#9cd6cd;background:#fbfffe}.step-tools{display:flex;gap:3px}.icon-button,.inline-button{border:0;background:transparent;color:#86a0a3;cursor:pointer;font-size:17px;border-radius:6px;padding:4px 7px}.icon-button:hover,.inline-button:hover{background:#eef7f5;color:var(--teal)}.icon-button.delete-step:hover,.delete-bullet:hover,.delete-comment:hover,.delete-image:hover{color:var(--red);background:#fff0ef}.bullet-list{margin-top:11px;display:flex;flex-direction:column;gap:5px}.bullet-row{display:flex;align-items:flex-start;gap:5px;min-height:31px}.drag-dot{color:#b4c9c8;font-size:14px;line-height:25px;cursor:grab}.bullet-dot{color:var(--teal);font-size:19px;line-height:25px}.bullet-text{flex:1;min-width:0;padding:2px 5px;border:1px solid transparent;border-radius:6px;outline:none}.bullet-row:hover .inline-button{opacity:1}.inline-button{opacity:0;font-size:14px;padding:3px 6px}.highlight-bullet{color:#a68700}.bullet-row:hover .inline-button,.comment-row:hover .inline-button,.image-placeholder:hover .inline-button{opacity:1}.step-footer{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.small-button{font-size:12px;padding:6px 9px;border-radius:7px;background:#eef7f5;color:var(--teal-dark)}.step-hint{font-size:12px;color:#9aadae;margin-left:auto}.attachments,.comments{display:flex;flex-direction:column;gap:8px;margin-top:12px}.comment-row{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;background:#fffaf0;border-left:3px solid #edc657;border-radius:0 8px 8px 0}.comment-mark{color:#af850d}.comment-row textarea{flex:1;min-height:34px;resize:vertical;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--ink)}.image-placeholder{display:flex;gap:10px;padding:9px;background:#f7fbfa;border:1px dashed #a4cbc5;border-radius:9px;align-items:center}.image-preview{width:92px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e8f3f1;border-radius:6px;color:var(--teal);overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview span{font-size:20px}.image-preview small{font-size:10px}.image-actions{display:flex;align-items:center;gap:6px;flex:1}.image-actions label{position:relative;overflow:hidden}.image-caption{min-width:0;flex:1;border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 8px;font:inherit;font-size:13px;outline:none}.summary-card,.tip-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.sticky-card{position:sticky;top:95px}.count-pill{font-size:12px;color:var(--teal-dark);font-weight:800;background:var(--mint);border-radius:99px;padding:6px 9px}.muted{color:var(--muted);font-size:13px;margin:0 0 15px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:10px 4px;border-bottom:1px solid var(--line);text-align:left}th:last-child,td:last-child{text-align:right}thead th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}tfoot th{border-bottom:0;color:var(--teal-dark);font-size:15px}.tip-card{display:flex;gap:10px;margin-top:13px;background:#fffdf1;border-color:#f2e4a9;box-shadow:none}.tip-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f0d35f;color:#735a00;font-weight:900;font-size:13px;flex:none}.tip-card strong{font-size:13px}.tip-card p{font-size:13px;color:#786d44;margin:3px 0 0}.toast{position:fixed;right:22px;bottom:22px;background:#15343b;color:#fff;border-radius:8px;padding:11px 14px;font-size:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}.summary-column{order:-1}.sticky-card{position:static}.summary-column{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tip-card{margin:0}.intro-card{align-items:flex-start}}@media(max-width:650px){.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{width:100%;justify-content:flex-start;margin-left:52px}.save-state{width:100%;margin:0}.shell{padding-top:18px}.intro-card{padding:20px;display:block}.intro-stats{padding:16px 0 0;gap:28px}.section-heading{align-items:flex-start}.step-card{grid-template-columns:34px 1fr}.step-main{padding:14px 12px}.step-tools .icon-button{padding:3px 4px}.step-hint{display:none}.summary-column{grid-template-columns:1fr}.image-placeholder{align-items:flex-start;flex-wrap:wrap}.image-actions{min-width:calc(100% - 102px);flex-wrap:wrap}.image-caption{min-width:150px}.button{font-size:12px;padding:8px 10px}}
:root{--ink:#15343b;--muted:#668086;--line:#dbe7e7;--paper:#f6faf9;--card:#fff;--teal:#0f766e;--teal-dark:#0a5b56;--mint:#d8f0ec;--yellow:#fff1a8;--red:#b54747;--shadow:0 14px 40px rgba(24,65,69,.08)}
.bullet-row.highlighted .bullet-text{background:var(--yellow);box-shadow:0 0 0 3px var(--yellow)}
.save-state{display:none!important}
.clear-uploaded-image{color:var(--red);background:#fff0ef;flex:none}.clear-uploaded-image:hover{background:#ffe5e2}
.protocol-subtitle{font-size:16px;color:var(--muted);margin:2px 0 0}.main-rule-block{margin-top:16px;padding-top:14px;border-top:1px solid #c6e7e0}.intro-card .main-rule-block h3{margin:5px 0;font-size:18px;line-height:1.3;letter-spacing:-.02em}.main-rule-block p{font-size:13px}
.intro-card [contenteditable="true"]{cursor:text;border-radius:5px}.intro-card [contenteditable="true"]:focus{outline:2px solid #9cd6cd;outline-offset:2px;background:#fbfffe}
.image-preview{position:relative;flex:none;cursor:pointer}.image-preview .image-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.step-tools .add-photo{padding:5px 8px}
.section-note{margin:5px 0 0;color:var(--muted);font-size:13px}.step-description{display:flex;flex-direction:column;gap:5px;white-space:pre-wrap;line-height:1.7;margin-top:8px;min-height:60px;cursor:text;border:0;padding:0}.description-line{padding:3px 5px;border:1px solid transparent;border-radius:6px;outline:0;white-space:pre-wrap}.description-line:focus{border-color:#9cd6cd;background:#fbfffe}.description-line.drop-target{border-color:var(--teal);background:#eaf7f4;box-shadow:0 0 0 2px #d8f0ec}.step-description>.image-placeholder{margin:3px 0 7px}.attachments{margin-top:14px}.image-placeholder{align-items:flex-start}.image-actions{flex-wrap:wrap}.checklist-card{margin-top:13px}.check-item{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.check-item:last-child{border-bottom:0}.check-item input{accent-color:var(--teal);margin-top:4px}.image-drag-handle{align-self:center;flex:none;padding:2px 5px;border:0;background:transparent;color:#789096;font-size:20px;cursor:grab;touch-action:none}.image-placeholder[draggable="true"]{cursor:grab}.image-placeholder.dragging{opacity:.45}.image-placeholder.drag-over{outline:2px solid var(--teal);outline-offset:2px;background:#eaf7f4}.summary-card [contenteditable="true"]{cursor:text;border-radius:3px}.summary-card [contenteditable="true"]:focus{outline:2px solid #9cd6cd;outline-offset:2px;background:#fbfffe}
