.hmap-editor{--hmap-ink: #20201e;--hmap-muted: #72726b;--hmap-line: #c5c5ba;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(140px,var(--hmap-upper, 35%)) 8px minmax(180px,1fr);height:100%;min-height:420px;position:relative;background:#fafaf5;color:var(--hmap-ink);font:15px/1.6 Georgia,Times New Roman,serif;border:1px solid var(--hmap-line)}.hmap-editor *{box-sizing:border-box}.hmap-editor [hidden]{display:none!important}.hmap-editor button,.hmap-editor select{font:12px/1.4 ui-monospace,monospace;color:inherit;background:transparent;border:1px solid var(--hmap-line);padding:7px 11px;border-radius:0;cursor:pointer}.hmap-editor button:hover{background:#eeeee6}.hmap-editor :focus-visible{outline:2px solid #222;outline-offset:3px}.hmap-editor button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.hmap-controls{display:flex;gap:9px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--hmap-line);flex-wrap:wrap}.hmap-source{overflow:auto;padding:16px 20px;min-height:0;scroll-behavior:smooth}.hmap-source{font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.hmap-source :is(h1,h2,h3),.hmap-source .hmap-section-name{font:inherit;font-weight:400;margin:14px 0 6px;overflow-wrap:anywhere}.hmap-source .hmap-project-heading{margin-top:0}.hmap-source ul{margin:6px 0 10px;padding-left:2ch}.hmap-source button[aria-pressed=true]{text-decoration:none;background:#eaeade}.hmap-source p{margin:6px 0 10px;max-width:85ch}.hmap-intent-heading button{font:inherit;font-weight:400;border:0;padding:0;text-align:left}.hmap-route-choices{display:flex;gap:12px;flex-wrap:wrap}.hmap-route-choices button{border:0;border-bottom:1px solid var(--hmap-line);padding:0 0 3px;text-align:left}.hmap-chunk{padding:8px 0}.hmap-body{white-space:pre-wrap;overflow-wrap:anywhere;max-width:90ch}.hmap-code-reference,.hmap-estimate-detail{font:12px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.hmap-module{border-top:1px dashed var(--hmap-line)}.hmap-divider{background:repeating-linear-gradient(90deg,#ccc 0 2px,transparent 2px 5px) center/70px 2px no-repeat;border-block:1px solid var(--hmap-line);cursor:row-resize;touch-action:none}.hmap-rail{overflow:auto;padding:16px 18px;min-height:0;background:#f1f1e9}.hmap-route-row{display:flex;align-items:center;flex-wrap:nowrap;width:100%;min-width:0;overflow-x:auto;padding:5px 2px 12px}.hmap-map-line{min-width:0;border-top:1px solid var(--hmap-line);margin-top:16px;padding:12px 8px}.hmap-active-line{border-left:3px solid #6c6c58}.hmap-editor .hmap-intent-origin{display:flex;flex-direction:column;gap:12px;flex:0 0 215px;width:215px;min-height:112px;padding:15px;text-align:left;background:#e5e5d7}.hmap-intent-origin strong{font:17px/1.3 Georgia,serif;overflow-wrap:anywhere}.hmap-map-title{font-size:20px;margin:0}.hmap-editor button:disabled{opacity:.45;cursor:default}.hmap-action-note{display:block;font-size:11px;color:var(--hmap-muted);max-width:35ch}.hmap-add-choice{display:grid;gap:4px}.hmap-source-count{font:12px/1.5 ui-monospace,monospace}.hmap-route-row>.hmap-empty{min-width:190px;max-width:35ch;padding-left:18px}.hmap-editor .hmap-step{display:flex;flex-direction:column;gap:9px;align-items:flex-start;flex:0 0 215px;width:215px;min-height:112px;padding:15px 16px;text-align:left;background:#fafaf5}.hmap-step strong{font:17px/1.25 Georgia,serif}.hmap-stereotype,.hmap-step-estimate{font:11px ui-monospace,monospace;overflow-wrap:anywhere}.hmap-arrow{font:22px monospace;padding:0 15px}.hmap-dim{opacity:.32}.hmap-focused{background:#e5e5d7;outline:1px solid #777}.hmap-status{font:12px/1.6 ui-monospace,monospace}.hmap-editor :is(.hmap-import-review,.hmap-authoring-dialog){position:fixed;inset:0;margin:auto;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;background:#fafaf5;color:var(--hmap-ink);font:inherit;border:1px solid #555;padding:24px}.hmap-editor dialog::backdrop{background:#20201e66}.hmap-review-text{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 ui-monospace,monospace}.hmap-import-review button{margin-right:12px}.hmap-empty{font:13px ui-monospace,monospace;color:var(--hmap-muted)}@media(max-width:600px){.hmap-source{padding:18px}.hmap-controls{padding:8px;gap:5px}.hmap-editor{font-size:14px}.hmap-rail{padding:18px 14px}.hmap-editor .hmap-step{flex-basis:185px;width:185px}}.hmap-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.hmap-heading-row>:first-child{min-width:0;overflow-wrap:anywhere}.hmap-editor .hmap-edit{flex-shrink:0;font-size:11px;padding:3px 6px;border-color:transparent;color:#55554d}.hmap-route-choice{display:inline-flex;align-items:baseline;gap:8px}.hmap-editor .hmap-related{font:12px/1.5 ui-monospace,monospace;color:#616157}.hmap-rail{padding-top:12px}.hmap-rail h2{margin:0;font-size:17px}.hmap-step-summary{font:12px/1.5 ui-monospace,monospace;margin:10px 0 18px}.hmap-route-row{align-items:stretch}.hmap-step-group{display:flex;flex-direction:column;align-items:stretch;flex:0 0 225px;width:225px;gap:6px}.hmap-editor .hmap-step-group .hmap-step{flex:1;width:100%}.hmap-step-group .hmap-edit{align-self:flex-start}.hmap-step-links{font:11px/1.5 ui-monospace,monospace;color:#55554d;overflow-wrap:anywhere}.hmap-arrow{align-self:center}.hmap-add-menu{position:relative;font:12px/1.4 ui-monospace,monospace}.hmap-add-menu>summary{cursor:pointer;padding:8px 11px;border:1px solid var(--hmap-line)}.hmap-add-choices{position:absolute;top:100%;left:0;width:245px;display:grid;background:#fafaf5;border:1px solid #777;padding:6px;z-index:5;box-shadow:0 5px 12px #2222}.hmap-add-choices button{text-align:left;border:0}.hmap-authoring-dialog h2{margin:0 0 20px;font-size:23px}.hmap-fields{display:grid;gap:16px}.hmap-field{display:flex;flex-direction:column;gap:5px;font:13px/1.5 ui-monospace,monospace}.hmap-field :is(input,textarea,select){width:100%;min-width:0;border:1px solid #aaa99d;border-radius:0;padding:9px;background:#fffef9;color:inherit;font:15px/1.5 Georgia,serif}.hmap-field textarea{resize:vertical}.hmap-fields>p{font-size:14px;margin:0}.hmap-link-choices{border:1px solid var(--hmap-line);padding:8px 12px;margin:0;max-height:200px;overflow:auto}.hmap-link-choices legend,.hmap-code-refs legend{font:12px/1.5 ui-monospace,monospace}.hmap-link-choices>label{display:flex;align-items:baseline;gap:8px;padding:5px 0}.hmap-link-choices input{flex:0 0 auto}.hmap-link-choices small{margin-left:auto;color:#72726b;font:10px ui-monospace,monospace;overflow-wrap:anywhere}.hmap-link-choices p{font-size:13px}.hmap-form-error{white-space:pre-wrap;overflow-wrap:anywhere;color:#8b2828;font:12px/1.6 ui-monospace,monospace}.hmap-form-error:empty{display:none}.hmap-form-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:-24px;background:#fafaf5;border-top:1px solid var(--hmap-line);padding:14px 0;margin-top:20px}.hmap-form-actions .hmap-delete{margin-left:auto;color:#8b2828}.hmap-form-actions button:disabled{opacity:.45;cursor:wait}.hmap-identity{font:11px/1.6 ui-monospace,monospace;color:#72726b}.hmap-identity summary{cursor:pointer}.hmap-code-refs{border:1px solid var(--hmap-line);margin:0;padding:12px}.hmap-code-ref-row{display:grid;gap:12px;border-bottom:1px solid var(--hmap-line);padding-bottom:16px;margin-bottom:16px}@media(max-width:600px){.hmap-step-group{flex-basis:185px;width:185px}.hmap-editor :is(.hmap-import-review,.hmap-authoring-dialog){padding:16px}.hmap-form-actions{bottom:-16px}.hmap-heading-row{gap:8px}}@media(max-width:600px){.hmap-editor{--hmap-upper: 35%}.hmap-heading-row>button{flex-shrink:0;white-space:nowrap}.hmap-rail h2{font-size:16px;line-height:1.35}.hmap-step-summary{font-size:11px;line-height:1.4;margin:8px 0 12px}.hmap-editor .hmap-step-group .hmap-step{gap:6px;padding:12px}.hmap-step-links{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.hmap-step-links{max-width:100%}.hmap-identity code,.hmap-authoring-dialog li{overflow-wrap:anywhere}*{box-sizing:border-box}body{margin:0;background:#f5f5ee;color:#242421;font:15px/1.6 Georgia,Times New Roman,serif}[hidden]{display:none!important}.demo-shell{max-width:1420px;margin:0 auto;padding:0 28px}.demo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.demo-actions button,.demo-actions>a,.demo-file-menu>summary,.demo-guide button{border:1px solid #a9a99c;background:transparent;padding:9px 14px;font:12px/1.4 ui-monospace,monospace;cursor:pointer;color:inherit}.demo-actions #save{background:#272724;color:#f5f5ee}.demo-actions button:disabled{opacity:.4;cursor:wait}.demo-actions button:hover:not(:disabled){background:#deded1;color:#222}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #222;outline-offset:3px}.demo-file-menu{position:relative}.demo-file-menu>summary{list-style-position:inside}.demo-file-actions{position:absolute;top:100%;left:0;width:min(310px,calc(100vw - 30px));padding:12px;display:grid;gap:8px;border:1px solid #777;background:#fafaf5;z-index:10;box-shadow:0 5px 12px #2222}.demo-file-actions button{text-align:left}.demo-file-actions label{font:11px ui-monospace,monospace}.demo-file-actions select{width:100%;min-width:0;padding:8px;background:#fffef9;color:inherit;border:1px solid #aaa;font:inherit}#host-status,.demo-storage{font:12px/1.5 ui-monospace,monospace;margin:12px 0;min-height:18px}.demo-storage:empty{display:none}.demo-storage{border-left:3px solid #555;padding-left:10px}.demo-editor{height:calc(100dvh - 165px);min-height:520px}.demo-guide{margin:20px 0;padding:22px;border:1px solid #aaa}.demo-guide h2{margin-top:0}.demo-guide p,.demo-guide li{max-width:90ch}.demo-guide details{margin:18px 0}.demo-guide summary{cursor:pointer}.demo-validation{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace;padding:14px;border-left:3px solid #555;background:#ecece2}footer{font:10px ui-monospace,monospace;padding:16px 0;color:#77776a}footer a{color:inherit}@media(max-width:700px){.demo-shell{padding:0 12px}.demo-actions{gap:6px}.demo-actions button,.demo-file-menu>summary{padding:8px 10px}.demo-editor{height:calc(100dvh - 200px);min-height:520px}}.hmap-sections{scroll-snap-type:none;scroll-behavior:smooth}.workspace-section{min-height:100dvh;padding-top:20px;scroll-snap-align:none;scroll-snap-stop:normal}.section-jump{display:inline-block;margin:12px 0;color:#626257;font:12px/1.6 ui-monospace,monospace;text-underline-offset:3px}.introduction-section{min-height:100dvh;padding:48px 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;scroll-snap-align:none;scroll-snap-stop:normal}.introduction-copy{width:min(100%,780px);max-width:90ch}.introduction-copy h2{font-size:clamp(26px,3vw,36px);line-height:1.2;font-weight:400;margin:0 0 24px}.introduction-copy p{font-size:18px;line-height:1.75;margin:0 0 18px}.introduction-copy a{color:inherit;text-underline-offset:4px}.introduction-copy details{border-top:1px solid #c5c5ba;margin-top:20px;padding-top:12px}.introduction-copy summary{cursor:pointer;font:12px/1.6 ui-monospace,monospace}.introduction-copy details h3{font-size:21px;margin-bottom:12px}.introduction-copy details p{font-size:16px}#page-footer{scroll-snap-align:none}.hmap-source,.hmap-rail{overscroll-behavior:auto}@media(max-width:700px){.workspace-section{padding-top:12px}.introduction-section{padding:48px 8px}}@media(prefers-reduced-motion:reduce){.hmap-sections,.hmap-source{scroll-behavior:auto}}.hmap-authoring-dialog,.hmap-import-review{overscroll-behavior:contain}@media(max-width:700px){.introduction-copy p{font-size:16px;line-height:1.65}}.demo-actions>a{text-decoration:none}.demo-language{display:flex;gap:8px;align-items:center;margin-left:auto;font:12px/1.5 ui-monospace,monospace}.demo-language select{padding:8px;border:1px solid #a9a99c;background:transparent;color:inherit;font:inherit}.demo-guide{scroll-margin-top:16px;padding:clamp(20px,4vw,48px)}.demo-guide h2{font-size:clamp(24px,3vw,32px);line-height:1.3}.demo-guide li{margin:10px 0}@media(max-width:700px){.demo-language{margin-left:0}}#page-footer{display:flex;align-items:center;gap:12px}.demo-github{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.demo-github img{display:block}
