.mm-section{padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--line)}
.mm-start{background:var(--paper)}
.mm-workspace{background:var(--white);scroll-margin-top:90px}
.mm-section-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:end;margin-bottom:2rem}
.mm-section-head h2{margin-bottom:0;font-size:clamp(2rem,3.6vw,3.2rem)}
.mm-section-head>p{max-width:36rem;margin:0;color:var(--muted)}
.mm-templates{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.mm-template{display:flex;min-height:150px;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.mm-template strong{color:var(--blue);font-family:var(--serif);font-size:1.2rem;line-height:1.2}
.mm-template span{color:var(--muted);font-size:.86rem;line-height:1.45}
.mm-template:hover{border-color:var(--blue);transform:translateY(-2px)}
.mm-template:last-child{border-style:dashed;background:transparent}

.mm-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}

.mm-canvas-shell{padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);scroll-margin-top:90px}
.mm-canvas-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem}
.mm-canvas-head h2{max-width:28ch;margin-bottom:0;color:var(--blue);font-size:clamp(1.7rem,3vw,2.6rem)}
.mm-canvas-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.mm-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:0 0 1.5rem;padding:0;list-style:none;color:var(--muted);font-size:.78rem;font-weight:600}
.mm-legend li:before{display:inline-block;width:10px;height:10px;margin-right:.45rem;border-radius:50%;background:var(--c);content:""}

.is-confirmed{--c: var(--green)}
.is-assumed{--c: #8a8a52}
.is-correction{--c: var(--clay)}
.is-unknown{--c: #8b908d}

.mm-path{display:flex;align-items:flex-start;gap:2.25rem;margin:0;padding:.25rem .25rem 1.25rem;overflow-x:auto;list-style:none;scroll-snap-type:x proximity}
.mm-node{position:relative;flex:0 0 230px;scroll-snap-align:start}
.mm-node:not(:last-child):after{position:absolute;top:58px;right:-2.05rem;color:var(--blue);font-size:1.3rem;font-weight:700;content:"→"}
.mm-node-card{display:flex;width:100%;min-height:200px;flex-direction:column;gap:.35rem;padding:1rem 1.05rem 1.1rem;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:var(--radius);background:var(--white);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.mm-node-card:hover{transform:translateY(-2px);border-color:var(--blue);border-top-color:var(--c)}
.is-correction .mm-node-card{background:#fbf1eb}
.is-unknown .mm-node-card,.is-assumed .mm-node-card{border-style:dashed;border-top-style:solid}
.mm-node-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}
.mm-node-num{color:var(--clay);font-size:.74rem;font-weight:700;letter-spacing:.1em}
.mm-node-status{color:var(--c);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mm-node-action{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mm-node-label{color:var(--blue);font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.2}
.mm-node-meta{color:#46504b;font-size:.8rem;line-height:1.35}
.mm-node-form{margin-top:auto;padding-top:.6rem;border-top:1px solid #e3ddd2;color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.35}
.mm-node-form.is-changed{color:var(--clay)}
.mm-branches{display:grid;gap:.4rem;margin:.5rem 0 0 1rem;padding:0 0 0 .9rem;border-left:2px dotted var(--line);list-style:none}
.mm-branch{position:relative;padding:.45rem .6rem;border-radius:3px;background:var(--white);font-size:.78rem;line-height:1.35}
.mm-branch:before{position:absolute;top:.95rem;left:-.95rem;width:.8rem;border-top:2px dotted var(--line);content:""}
.mm-branch span{display:block;font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mm-branch.is-copy{border:1px solid #b9cbc8}
.mm-branch.is-copy span{color:var(--blue)}
.mm-branch.is-output{border:1px solid #dfb7a6;background:#fcf5f0}
.mm-branch.is-output span{color:var(--clay)}
.mm-empty{padding:2rem;border:1px dashed var(--line);color:var(--muted);text-align:center}
.mm-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:1.25rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line)}
.mm-summary div{display:flex;flex-direction:column-reverse}
.mm-summary dt{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mm-summary dd{margin:0;color:var(--blue);font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1.1}

.mm-builder,.mm-checklist-wrap{margin-top:clamp(3rem,6vw,5rem)}
.mm-steps{display:grid;gap:1rem;margin-bottom:1.25rem}
.mm-step{padding:clamp(1.1rem,3vw,1.75rem);border:1px solid var(--line);border-left:5px solid var(--c);border-radius:var(--radius);background:#fff;scroll-margin-top:110px}
.mm-step:focus{outline:3px solid #d68a61;outline-offset:3px}
.mm-step-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.mm-step-head h3{margin:0;color:var(--blue);font-size:1.3rem}
.mm-step-tools{display:flex;flex-wrap:wrap;gap:.35rem}
.mm-icon{min-width:38px;min-height:38px;padding:.3rem .6rem;border:1px solid var(--line);border-radius:2px;background:var(--white);color:var(--blue);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.mm-icon:hover:not(:disabled){border-color:var(--blue);background:var(--blue-light)}
.mm-icon:disabled{opacity:.35;cursor:default}
.mm-remove{color:#873f32}
.mm-step textarea{min-height:84px}

.mm-checklist{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.mm-check-group h3{padding-bottom:.75rem;border-bottom:2px solid var(--blue);color:var(--blue);font-size:1.3rem}
.mm-check{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.75rem 0;border:0;border-bottom:1px solid #ddd7cc}
.mm-check legend{float:left;max-width:60%;padding:0;font-size:.92rem;line-height:1.4}
.mm-check-options{display:flex;flex-shrink:0;gap:.3rem;margin-left:auto}
.mm-pill{position:relative;display:block;font-size:.76rem}
.mm-pill input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
.mm-pill span{display:block;padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap}
.mm-pill input:checked+span{border-color:var(--blue);background:var(--blue);color:#fff}
.mm-pill input[value=unsure]:checked+span{border-color:var(--clay);background:var(--clay)}
.mm-pill input:focus-visible+span{outline:3px solid #d68a61;outline-offset:2px}

.mm-record-section{padding-bottom:clamp(2.5rem,5vw,4rem)}
.bitm-record>div.mm-record-heading{min-height:0;margin-top:1rem;padding-top:1.1rem;border-bottom:2px solid var(--blue)}
.bitm-record>div.mm-record-heading:first-child{margin-top:0;padding-top:.7rem}
.bitm-record>div.mm-record-line{display:block;padding-left:1rem;font-size:.92rem}
.mm-import{position:relative;overflow:hidden;cursor:pointer}
.mm-import input{position:absolute;inset:0;min-height:0;opacity:0;cursor:pointer}
.mm-import:focus-within{outline:3px solid #d68a61;outline-offset:3px}

body.mm-presenting{overflow:hidden}
body.mm-presenting .mm-canvas-shell{position:fixed;z-index:200;inset:0;overflow:auto;padding:clamp(1.5rem,4vw,3.5rem);border:0;border-radius:0}
body.mm-presenting .mm-canvas-head h2{font-size:clamp(2.2rem,4vw,3.8rem)}
body.mm-presenting .mm-path{flex-wrap:wrap;row-gap:2.5rem;overflow:visible}
body.mm-presenting .mm-node{flex-basis:270px}
body.mm-presenting .mm-node-label{font-size:1.4rem}
body.mm-presenting [data-print]{display:none}

@media(max-width:1050px){.mm-templates{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){.mm-section-head,.mm-details,.mm-checklist{grid-template-columns:1fr}
.mm-templates{grid-template-columns:1fr 1fr}
.mm-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:580px){.mm-templates{grid-template-columns:1fr}
.mm-template{min-height:0}
.mm-canvas-head{align-items:stretch;flex-direction:column}
.mm-path{flex-direction:column;gap:2rem;overflow:visible}
.mm-node{flex-basis:auto;width:100%}
.mm-node:not(:last-child):after{top:auto;right:auto;bottom:-1.85rem;left:1.25rem;content:"↓"}
.mm-node-card{min-height:0}
.mm-summary{grid-template-columns:1fr 1fr}
.mm-check{flex-direction:column;align-items:flex-start}
.mm-check legend{max-width:none}
.mm-check-options{margin-left:0}
.mm-step-head{align-items:flex-start;flex-direction:column}
}

@media print{.site-header,.site-footer,.bitm-intro,.mm-start,.mm-details,.mm-builder,.mm-checklist-wrap,.mm-canvas-actions,.bitm-result-actions,.bitm-support,.bitm-copy-status{display:none!important}
body,.mm-workspace,.mm-canvas-shell{background:#fff!important}
.mm-section{padding:0;border:0}
.container{width:100%}
.mm-canvas-shell{border:0;padding:0}
.mm-path{flex-wrap:wrap;row-gap:1.5rem;overflow:visible}
.mm-node{flex-basis:200px;break-inside:avoid}
.mm-node-card{min-height:0}
.mm-record-section{break-before:page;padding:0}
.bitm-record-heading{display:block}
.bitm-record{padding:0;border:0;box-shadow:none}
.bitm-record>div{break-inside:avoid}
}
