/* Techno-Kabbalah: The Living Tree — inherits the permanent Labyrinth palette and typography. */
.tree-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:2rem 0 5rem}
.tree-intro{max-width:790px;margin:2rem 0 2.5rem}.tree-intro h1{font-size:clamp(2.8rem,6vw,5rem)}.tree-intro p{font-size:1.12rem}.tree-lede{font-size:1.45rem!important}
.tree-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:1.15rem;align-items:start}
.tree-panel,.tree-detail,.tree-index{background:#303636;border:1px solid #ffffff55;padding:1.25rem}
.tree-map{width:100%;height:auto;display:block;overflow:visible}
.tree-link{cursor:pointer;outline:none}.road{stroke:#ffffff87;stroke-width:2.5;transition:stroke .2s,stroke-width .2s}.road-hit{stroke:transparent;stroke-width:23}
.road-link:hover .road,.road-link:focus .road,.road-link.selected .road{stroke:#FF5E1F;stroke-width:5}
.station circle{fill:#303636;stroke:#FF5E1F;stroke-width:3;transition:fill .2s}.station text{pointer-events:none;fill:#fff;text-anchor:middle;font:26px Marcellus,Georgia,serif}.station .station-name{font:17px 'PT Serif',Georgia,serif;paint-order:stroke;stroke:#303636;stroke-width:7;stroke-linejoin:round}
.station .station-tech{font:13px 'PT Serif',Georgia,serif;fill:#FF5E1F;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#303636;stroke-width:5;stroke-linejoin:round}
.station:hover circle,.station:focus circle,.station.selected circle{fill:#FF5E1F}.station:focus circle,.road-link:focus .road{filter:drop-shadow(0 0 8px #FF5E1F)}
.tree-hint,.tree-note{font-size:.9rem;opacity:.85}.tree-detail{position:sticky;top:1rem;min-height:235px;scroll-margin-top:2rem}.tree-detail h2{font-size:clamp(1.7rem,3vw,2.6rem)}.tree-detail:focus{outline:2px solid #FF5E1F}
.tree-index{margin-top:1.2rem}.tree-index details{padding:.55rem 0}.tree-index summary{cursor:pointer;color:#fff;font-weight:bold}.tree-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin-top:1rem}.tree-directory a{padding:.5rem;border:1px solid #ffffff42;text-decoration:none}.tree-directory a:hover,.tree-directory a:focus{border-color:#FF5E1F;color:#FF5E1F}
.tree-return{margin-top:2rem}.tree-main .eyebrow{color:#FF5E1F}
@media(max-width:800px){.tree-layout{grid-template-columns:1fr}.tree-detail{position:static}.tree-main{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){.tree-map *{transition:none!important}}

/* Hebrew, self-hosted (the house serves only its own fonts). SIL OFL: /assets/notoserifhebrew-OFL.txt */
@font-face{font-family:'Noto Serif Hebrew';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/noto-serif-hebrew-400.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
.tree-main [lang=he],.station .station-hebrew{font-family:'Noto Serif Hebrew','Times New Roman',serif}

/* The map: the station's number above, its Hebrew name in the circle. */
.station .station-number{font:13px var(--label);letter-spacing:.08em;fill:#FFFFFFB0}
.station .station-hebrew{font-size:22px;fill:#fff}
.station:hover .station-number,.station:focus .station-number,.station.selected .station-number{fill:#303636}
.station:hover .station-hebrew,.station:focus .station-hebrew,.station.selected .station-hebrew{fill:#303636}
/* The three classes of road: Mothers dashed, Doubles warm, Simples plain. */
.road-link.mother .road{stroke-dasharray:10 7}
.road-link.double .road{stroke:#FF5E1F8C}
.road-link:hover .road,.road-link:focus .road,.road-link.selected .road{stroke:#FF5E1F;stroke-dasharray:none}

/* The panel carries the Hebrew of whatever is selected. */
.detail-hebrew{font-size:3.4rem;line-height:1.1;margin:0 0 .4rem;color:#FF5E1F;min-height:0}
.detail-hebrew:empty{display:none}

/* Below the Tree: the station cards and the path rows. */
.tree-stations,.tree-paths{margin-top:3.2rem}
.tree-section-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.6rem;margin-bottom:1.2rem}
.tree-section-heading .eyebrow{flex-basis:100%;margin-bottom:0}
.tree-section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.2rem)}
.station-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.station-card{display:flex;flex-direction:column;gap:.15rem;padding:1.3rem 1.4rem;background:#303636;border:1px solid #FFFFFF36;border-left:3px solid #FF5E1F;text-decoration:none;color:#fff;transition:background .2s,border-color .2s}
.station-card .card-meta{font:.7rem var(--label);letter-spacing:.16em;text-transform:uppercase;color:#FF5E1F}
.station-card .card-hebrew{font-size:2.1rem;line-height:1.3;color:#fff;margin-top:.3rem}
.station-card .card-name{font-family:var(--serif);font-size:1.6rem;line-height:1.2}
.station-card .card-tech{font-size:1rem;color:#FF5E1F}
.station-card .card-meaning{font-size:.9rem;opacity:.8}
.station-card:hover,.station-card:focus-visible{background:#3a4242;border-color:#FF5E1F}
.path-key{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:0;font:.75rem var(--label);letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.path-key span{display:inline-flex;align-items:center;gap:.5rem}
.key-mark{display:inline-block;width:28px;height:0;border-top:2px solid #FFFFFFB0}
.key-mark.mother{border-top-style:dashed}
.key-mark.double{border-top-color:#FF5E1F}
.path-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #FFFFFF36;border-left:1px solid #FFFFFF36;background:#303636}
.path-row{display:grid;grid-template-columns:44px 52px 1fr;gap:.9rem;align-items:center;padding:1rem 1.1rem;border-right:1px solid #FFFFFF36;border-bottom:1px solid #FFFFFF36;text-decoration:none;color:#fff;transition:background .2s}
.path-number{font:.7rem var(--label);letter-spacing:.1em;color:#FF5E1F}
.path-letter{font-size:1.9rem;line-height:1;text-align:center}
.path-row.mother .path-letter{color:#FF5E1F}
.path-text strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.15rem;line-height:1.3}
.path-text small{display:block;font-size:.82rem;opacity:.8}
.path-row:hover,.path-row:focus-visible{background:#3a4242;box-shadow:inset 0 0 0 1px #FF5E1F}
@media(max-width:800px){.station-grid,.path-list{grid-template-columns:1fr}}
