:root{--paper:#fff;--bg:#f2f1ed;--ink:#2b3540;--muted:#686a6b;--line:#dcd8d1;--gold:#9d7d5f;--pale:#f4f1e5;--green:#446a55;--new:#826247;--section:#78899a;--later:#96938f;--conditional:#ad7940}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--bg)}body{height:100dvh;display:flex;flex-direction:column}button,select{font:inherit;color:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{border:1px solid var(--line);background:white;border-radius:7px}a{color:var(--ink)}[hidden]{display:none!important}.masthead{height:80px;flex-shrink:0;display:flex;align-items:center;padding:18px 32px;gap:27px;background:white;border-bottom:3px solid var(--gold)}.brand{display:block}.brand img{display:block;object-fit:contain}.heading{border-left:1px solid var(--line);padding-left:27px}.heading p{font-size:9px;letter-spacing:1.6px;margin:0 0 2px;color:var(--muted)}h1{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.7px;margin:0}.back{margin-left:auto;text-decoration:none;font-size:13px;padding:11px 0}.back:hover{text-decoration:underline}main{flex:1;min-height:0;display:flex;flex-direction:column}.map-controls{padding:19px 32px 14px;flex-shrink:0;background:#faf9f6}.intro{display:flex;align-items:center;gap:18px;margin-bottom:15px}.intro strong{font-size:17px;font-weight:500}.intro span{font-size:12px;color:var(--muted)}.controls-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.branch-control{display:flex;align-items:center;gap:9px}.branch-control label{font-size:12px;font-weight:700}select{border:1px solid var(--line);border-radius:7px;background:white;padding:9px 30px 9px 12px;font-size:13px;max-width:265px;min-width:190px}.zoom-controls{display:flex;align-items:center;gap:4px}.zoom-controls button{height:35px;min-width:35px;font-size:20px}.zoom-controls output{font-size:12px;text-align:center;width:49px;font-variant-numeric:tabular-nums}.zoom-controls .fit{font-size:12px;margin-left:5px;padding:0 11px}.check{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;cursor:pointer}.check input{accent-color:var(--ink);height:15px;width:15px}.source-button{margin-left:auto;padding:8px 11px;font-size:12px;background:transparent}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.existing{background:var(--green)}.dot.new{background:var(--new)}.dot.section{background:var(--section)}.dot.later{background:var(--later)}.dot.conditional{background:var(--conditional)}.map-workspace{position:relative;min-height:0;flex:1;overflow:hidden}.viewport{height:100%;overflow:auto;position:relative;background-color:var(--bg);background-image:radial-gradient(#d7d4cd .75px,transparent .75px);background-size:20px 20px;cursor:grab;overscroll-behavior:contain;scrollbar-color:#aaa59b #edeae3}.viewport.dragging{cursor:grabbing;user-select:none}.viewport:focus-visible{outline-offset:-4px}#sizing{position:relative;min-width:100%;min-height:100%}#tree-stage{position:absolute;left:0;top:0;transform-origin:top left;padding:34px 38px 76px;width:max-content}#tree-content{position:relative;z-index:1}.root-wrap{display:flex;justify-content:center;margin:0 0 54px}.branches{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:24px}.branch{width:238px;flex:0 0 238px;list-style:none}.branch>.node-wrap>.node-card{border-top:4px solid var(--gold);background:#2b3540;color:white;min-height:112px}.branch>.node-wrap>.node-card .node-url,.branch>.node-wrap>.node-card .node-keyword{color:#eee8df}.branch>.node-wrap>.node-card .badge{background:#ffffff19;color:#f0e9df}.root-wrap>.node-wrap{width:238px}.root-wrap .node-card{border-top:4px solid var(--gold);background:#fff;box-shadow:0 5px 15px #2b35400b}.children{list-style:none;padding:0 0 0 17px;margin:18px 0 0}.children>li{list-style:none;margin-bottom:18px}.node-wrap{position:relative}.node-card{display:block;text-align:left;width:100%;padding:15px 16px 16px;border:1px solid #d2cec6;border-radius:9px;background:white;box-shadow:0 2px 4px #2b354005;transition:box-shadow .15s,border-color .15s;min-height:108px}.node-card:hover{border-color:var(--gold);box-shadow:0 4px 16px #2b35401a}.node-card[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 3px #9d7d5f55}.node-card .badge{display:inline-flex;align-items:center;gap:6px;line-height:1.3;font-size:10px;font-weight:600;color:var(--muted);margin:0 0 10px;background:#f5f3ef;padding:4px 6px;border-radius:4px}.node-name{display:block;font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.15px;margin-bottom:8px}.node-url{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;color:#62676c;overflow-wrap:anywhere}.node-keyword{display:block;font-size:10px;line-height:1.5;color:var(--muted);border-top:1px solid #dcd8d166;margin-top:10px;padding-top:8px}.node-card.status-section{border-style:dashed;background:#f9f9f6}.node-card.status-later{background:#f4f2ee}.node-card.status-conditional{background:#faf4e9;border-color:#cfb999}.expand-node{display:block;margin:7px 0 0 auto;font-size:11px;padding:7px 9px;background:#faf9f6;max-width:100%}#connectors{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}#connectors path{fill:none;stroke:#b5aa9b;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.detail-panel{position:absolute;right:0;top:0;bottom:0;width:385px;max-width:100%;background:white;border-left:1px solid var(--line);box-shadow:-8px 0 30px #2b354013;z-index:4;overflow:auto;padding:28px 26px 35px}.close{font-size:24px;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:0}.detail-panel>.close{position:absolute;right:12px;top:12px}.detail-panel h2{font:400 27px/1.15 Georgia,serif;margin:16px 24px 13px 0;letter-spacing:-.4px}.detail-panel .badge{font-size:11px;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.detail-url{font:12px/1.5 ui-monospace,SFMono-Regular,monospace;background:var(--bg);padding:11px 12px;border-radius:5px;overflow-wrap:anywhere;margin:0 0 10px}.panel-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 24px}.panel-actions button,.panel-actions a{font-size:11px;line-height:1.4;padding:8px 10px;border:1px solid var(--line);border-radius:5px;text-decoration:none}.panel-actions a.primary{background:var(--ink);color:white;border-color:var(--ink)}.detail-panel h3{font-size:13px;margin:24px 0 9px}.detail-panel p{font-size:13px;line-height:1.6;margin:0 0 12px}.detail-panel .subtle{color:var(--muted);font-size:11px}.notice{padding:11px 12px;background:var(--pale);border-left:3px solid var(--gold);font-size:12px!important}.keyword-row{border-bottom:1px solid var(--line);padding:11px 0}.keyword-row strong{display:block;font-size:13px;font-weight:600}.keyword-row div{display:flex;gap:11px;font-size:11px;color:var(--muted);margin-top:6px}.gsc-values{display:flex;gap:25px;background:var(--bg);padding:15px;border-radius:6px;margin-bottom:8px}.gsc-values strong{display:block;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;margin-bottom:3px}.gsc-values span{font-size:11px;color:var(--muted)}.rank-row{font-size:12px;line-height:1.5;border-bottom:1px solid var(--line);padding:9px 0}.rank-row strong{font-variant-numeric:tabular-nums}.source-list{padding-left:17px;margin:8px 0;font-size:12px;line-height:1.6}.source-list li{margin-bottom:9px}.source-list a{overflow-wrap:anywhere;text-underline-offset:3px}.source-list small{display:block;color:var(--muted);font-size:11px}.detail-panel .status-section+.node-name{font-size:16px}footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:15px;padding:12px 28px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);background:#faf9f6}footer strong{font-size:10px;font-weight:500;color:var(--ink)}#loading{padding:50px;text-align:center;font-size:15px;color:var(--muted)}dialog{width:min(650px,90vw);border:1px solid var(--line);border-radius:13px;padding:26px 30px;color:var(--ink);max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #2b354033}dialog::backdrop{background:#2b354066}.dialog-head{display:flex;align-items:flex-start;gap:20px;justify-content:space-between}.dialog-head h2{font:400 27px/1.2 Georgia,serif;margin:0 0 18px}dialog p{font-size:13px;line-height:1.6}dialog h3{font-size:14px;margin:24px 0 10px}dialog .source-list{font-size:13px}dialog .source-list li{margin:12px 0}dialog details{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}dialog summary{font-size:13px;cursor:pointer}dialog code{font-size:11px;overflow-wrap:anywhere}#toast{position:fixed;bottom:44px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 18px;border-radius:7px;font-size:13px;z-index:12;display:none}#toast.show{display:block}
@media(max-width:950px){.masthead{padding:16px 22px}.map-controls{padding:16px 22px 13px}.intro{display:block}.intro span{display:block;margin-top:5px}.controls-row{gap:12px}.source-button{margin-left:0}.detail-panel{width:360px}}
@media(max-width:600px){.masthead{height:82px;padding:13px 16px;gap:16px}.brand img{width:100px;height:40px}.heading{padding-left:16px}.heading p{font-size:7px;letter-spacing:.7px}h1{font-size:26px}.back{font-size:10px;max-width:83px;text-align:right}.map-controls{padding:12px 14px}.intro{margin-bottom:12px}.intro strong{font-size:15px}.intro span{font-size:11px;line-height:1.4}.controls-row{gap:10px 14px}.branch-control{flex:1}.branch-control select{min-width:140px;flex:1;max-width:none;font-size:12px}.zoom-controls{gap:1px}.zoom-controls .fit{display:none}.zoom-controls button{height:32px;min-width:30px}.zoom-controls output{width:41px}.check{font-size:10px}.source-button{font-size:10px;padding:6px 8px;margin-left:auto}.detail-panel{width:100%;padding:28px 23px}.detail-panel h2{font-size:26px}footer{padding:10px 14px;font-size:9px}footer strong{font-size:9px;max-width:145px;text-align:right}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.related-link{border:0;padding:0;background:transparent;text-decoration:underline;text-underline-offset:3px;text-align:left;font-size:12px;line-height:1.6;border-radius:0}

/* Keep the tree focused on names, URLs and recommendations. */
.map-controls{padding-top:14px;padding-bottom:14px}
.detail-panel .recommended-words{padding:15px 16px;background:var(--bg);border-radius:7px;margin:20px 0}
.detail-panel .recommended-words h3{margin:0 0 10px}
.primary-word{display:block;font-size:17px;line-height:1.4}
.detail-panel .support-label{margin:12px 0 6px;color:var(--muted);font-size:11px}
.support-words{display:flex;flex-wrap:wrap;gap:6px}
.support-words span{display:inline-block;border:1px solid var(--line);background:white;border-radius:4px;padding:4px 7px;font-size:11px;line-height:1.4}
.detail-evidence{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-evidence summary{padding:14px 0;font-size:13px;font-weight:600;cursor:pointer}
.detail-evidence>div{padding-bottom:8px}
.detail-evidence h3:first-child{margin-top:4px}

/* Separate navigation labels from page titles and content sections. */
.menu-preview{padding:15px 32px 13px;background:white;border-bottom:1px solid var(--line);flex-shrink:0}
.menu-preview-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.menu-preview-row>strong{font-size:12px;color:var(--muted);font-weight:600}
.menu-items{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.menu-items button{font-size:13px;font-weight:600;padding:8px 11px;background:#faf9f6;border-color:transparent}
.menu-items button:hover{border-color:var(--gold)}
.menu-items .menu-cta{background:var(--ink);color:white;margin-left:6px}

#optional-menu{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-left:auto;font-size:11px;color:var(--muted)}
#optional-menu button{border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:11px;color:var(--muted)}


.node-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 12px}
.node-card .node-badges .badge,.detail-panel .node-badges .badge{margin:0;padding:3px 5px;font-size:9px;border-radius:4px;background:#f5f3ef;color:var(--muted)}
.type-badge{display:inline-flex;padding:3px 5px;border-radius:4px;font-size:10px;font-weight:600;background:#edf0ed;color:var(--ink);line-height:1.3}
.type-badge.type-section{background:#eaf0f5;color:#536477}
.node-caption{display:block;font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:.65px;opacity:.7;margin-bottom:4px}
.node-name{font-size:18px}
.branch>.node-wrap>.node-card.nav-optional{background:#f4f2ee;color:var(--ink);border-top-color:#aaa59b}
.branch>.node-wrap>.node-card.nav-optional .node-url{color:#62676c}
.branch>.node-wrap>.node-card:not(.nav-optional) .type-badge{background:#ffffff22;color:white}
.branch>.node-wrap>.node-card.nav-optional .badge{background:#e9e5df;color:#686a6b}
.naming-guide{margin:20px 0;padding:15px;background:var(--bg);border-radius:7px}
.naming-guide dt{font-size:10px;color:var(--muted);margin:13px 0 4px}
.naming-guide dt:first-child{margin-top:0}
.naming-guide dd{font-size:13px;line-height:1.5;margin:0;font-weight:600;overflow-wrap:anywhere}
@media(max-width:950px){.menu-preview{padding-left:22px;padding-right:22px}.menu-preview-row{gap:10px}}
@media(max-width:600px){.menu-preview{padding:12px 14px}.menu-preview-row{gap:8px}.menu-preview-row>strong{font-size:11px}.menu-items{gap:4px}.menu-items button{font-size:11px;padding:6px 8px}.menu-items .menu-cta{margin-left:0}#optional-menu,#optional-menu button{font-size:10px}}
@media(max-width:600px){.menu-preview-row{display:block}.menu-items{margin-top:7px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px}.menu-items button{flex-shrink:0;white-space:nowrap}.menu-preview{padding-top:9px;padding-bottom:9px}}

.node-locations{display:block;font-size:12px;line-height:1.5;margin:7px 0;color:inherit;font-weight:400}

.detail-panel .anchor-note{margin-top:10px}
.node-address-label{display:block;font-size:10px;color:var(--muted);margin:7px 0 2px}
.prompt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
.prompt-actions button,#dialog-copy{font-size:13px;font-weight:600;padding:10px 13px}
#copy-prompt,#dialog-copy{color:white;background:var(--ink);border-color:var(--ink)}
#copy-prompt:hover,#dialog-copy:hover{background:#1c252e}
.prompt-actions button:disabled{opacity:.6;cursor:wait}
#prompt-hint{margin:3px 0 16px}
#prompt-text{display:block;width:100%;min-height:190px;height:38dvh;margin:12px 0 16px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:14px/1.55 Arial,sans-serif;resize:vertical}
#dialog-status{font-size:13px;margin-left:10px}
@media(max-width:950px){#optional-menu{margin-left:0}}
@media(max-width:600px){#optional-menu{margin-top:6px}}
.node-card:any-link{text-decoration:none;color:inherit}.node-card[aria-current=location]{border-color:var(--gold);box-shadow:0 0 0 3px #9d7d5f55}
:root {
  --section-surface: #dcebf5;
  --section-edge: #53758c;
  --section-ink: #294b61;
  --section-badge: #355d77;
}
.node-card[data-content-type="section"] {
  background: var(--section-surface);
  color: var(--section-ink);
  border: 1px dashed var(--section-edge);
  border-inline-start: 4px solid var(--section-edge);
}
.node-card[data-content-type="section"]:hover,
.node-card[data-content-type="section"][aria-current="location"] {
  border-color: var(--section-ink);
  box-shadow: 0 0 0 2px var(--section-edge);
}
.type-badge.type-section {
  background: var(--section-badge);
  color: white;
}
.node-card[data-content-type="section"] .node-caption {
  color: var(--section-ink);
  opacity: 1;
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
}
.node-card[data-content-type="section"] .node-url { color: var(--section-ink); }
#show-sections { accent-color: var(--section-badge); }
.menu-items a{display:inline-block;color:inherit;text-decoration:none;font-size:13px;font-weight:600;padding:8px 11px;background:#faf9f6;border:1px solid transparent;border-radius:7px}.menu-items a:hover{border-color:var(--gold)}
#optional-menu a{font-size:11px;color:var(--muted);text-underline-offset:3px}
@media(max-width:600px){.menu-items a{font-size:11px;padding:6px 8px;white-space:nowrap}}
