@font-face{font-family:"Thmanyah Serif Display";src:url(/fonts/thmanyah/thmanyahserifdisplay-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Thmanyah Serif Display";src:url(/fonts/thmanyah/thmanyahserifdisplay-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Thmanyah Serif Display";src:url(/fonts/thmanyah/thmanyahserifdisplay-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Thmanyah Serif Text";src:url(/fonts/thmanyah/thmanyahseriftext-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Thmanyah Serif Text";src:url(/fonts/thmanyah/thmanyahseriftext-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Thmanyah Serif Text";src:url(/fonts/thmanyah/thmanyahseriftext-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah/thmanyahsans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah/thmanyahsans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans;src:url(/fonts/thmanyah/thmanyahsans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--green-header: #274434;--green-accent: #2f5d3a;--cream-page: #e7e3d2;--cream-paper: #f1ecd9;--cream-card: #f6f1de;--cream-border: #e6e1cb;--gold-line: #b8923f;--gold-soft: #b6a36a;--text-dark: #1f2e24;--font-display: "Thmanyah Serif Display", "Geeza Pro", serif;--font-body: "Thmanyah Serif Text", "Geeza Pro", serif;--font-ui: "Thmanyah Sans", "Geeza Pro", sans-serif;--tree-gap-branch: 1.35rem;--tree-gap-line: .45rem;--node-text-scale: 1}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-weight:400;font-feature-settings:"salt" 1;background:var(--cream-page);color:var(--text-dark);overflow:hidden}button,input{font-family:var(--font-ui);font-weight:400}.app{display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:100%;overflow:hidden}.header{position:sticky;top:0;z-index:10;background:var(--green-header);color:#f8f4e8;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 2px 12px #0000002e}.header__titles h1,.header__titles .site-title{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:500;text-align:center;line-height:1.35;font-feature-settings:"salt" 1}.header__titles p{margin:.25rem 0 0;font-family:var(--font-body);text-align:center;opacity:.88;font-size:.95rem}.header__controls{display:flex;flex-direction:column;gap:.6rem}.search-block{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%}.search-row,.control-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;width:100%}.search-input{flex:1 1 220px;max-width:420px;min-width:0;padding:.55rem .75rem;border:1px solid var(--gold-soft);border-radius:8px;background:#fffdf6;color:var(--text-dark)}.search-count{min-width:3.5rem;text-align:center;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:#fffdf6}.search-empty{margin:0;width:100%;max-width:420px;text-align:center;color:#fca5a5;font-size:.92rem}.btn{border:1px solid var(--gold-soft);background:#ffffff14;color:#fff;border-radius:8px;padding:.45rem .75rem;cursor:pointer;white-space:nowrap;font-family:var(--font-ui);font-weight:500}.btn:hover:not(:disabled){background:#ffffff29}.btn:disabled{opacity:.45;cursor:default}.btn--active{background:var(--gold-line);border-color:var(--gold-line);color:#fffdf6}.text-size-control{display:inline-flex;gap:.35rem;align-items:center}.btn--icon{min-width:2.1rem;width:2.1rem;height:2.1rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;font-weight:500}.main{min-height:0;overflow:hidden;background:radial-gradient(circle at top,#f6f1de 0%,var(--cream-page) 55%),var(--cream-page)}.tree-viewport,.outline-viewport{height:100%;overflow:auto;padding:2rem 1rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tree-viewport{display:flex;justify-content:center;align-items:flex-start;direction:ltr;cursor:grab}.tree-viewport .node-card__body,.tree-viewport .node-card__toggle{cursor:pointer}.tree-viewport--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.tree-viewport--panning *{-webkit-user-select:none;user-select:none}.tree-stage{direction:rtl;flex:0 0 auto;margin-inline:auto}.tree-root,.tree-children,.outline-root,.outline-children{list-style:none;margin:0;padding:0}.tree-root{display:inline-block;min-width:min-content}.tree-branch,.tree-node-stack{display:flex;flex-direction:column;align-items:center;position:relative}.tree-vline{width:0;align-self:center;border-left:1px solid var(--gold-line);flex-shrink:0}.tree-vline--down{height:var(--tree-gap-branch)}.tree-vline--down.tree-vline--short{height:var(--tree-gap-line)}.tree-children{display:flex;flex-direction:row-reverse;gap:0;padding-top:0;position:relative}.tree-children>.tree-branch>.tree-node-stack:before{content:"";position:absolute;top:calc(-1 * var(--tree-gap-branch));left:0;right:0;width:0;height:var(--tree-gap-branch);margin-inline:auto;border-left:1px solid var(--gold-line);pointer-events:none}.tree-children--single>.tree-branch>.tree-node-stack:before{top:calc(-1 * var(--tree-gap-line));height:var(--tree-gap-line)}.tree-children>.tree-branch{padding-top:var(--tree-gap-branch);padding-inline:.625rem}.tree-children--single>.tree-branch{padding-top:var(--tree-gap-line)}.tree-children:not(.tree-children--single)>.tree-branch{padding-inline:.875rem}.tree-children:not(.tree-children--single)>.tree-branch:after{content:"";position:absolute;top:0;height:0;border-top:1px solid var(--gold-line);pointer-events:none}.tree-children:not(.tree-children--single)>.tree-branch:first-child:after{left:50%;right:0}.tree-children:not(.tree-children--single)>.tree-branch:last-child:after{left:0;right:50%}.tree-children:not(.tree-children--single)>.tree-branch:not(:first-child):not(:last-child):after{left:0;right:0}.node-card{display:inline-flex;align-items:stretch;flex-shrink:0;width:max-content;max-width:none;background:var(--cream-card);border:1.5px solid var(--gold-line);border-radius:10px;box-shadow:0 1px #b8923f40;min-width:calc(5.5rem * var(--node-text-scale));direction:rtl}.node-card--leaf{justify-content:center}.node-card--root{background:var(--cream-paper);border-width:2px;min-width:calc(10rem * var(--node-text-scale))}.node-card--current{border-color:var(--green-accent);box-shadow:0 0 0 2px #2f5d3a40}.node-card--match{border-color:var(--green-accent);background:#eef5ea}.node-card--path{border-color:var(--gold-soft)}.node-card__body{border:0;background:transparent;color:inherit;padding:calc(.55rem * var(--node-text-scale)) calc(.85rem * var(--node-text-scale));cursor:pointer;text-align:center;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center}.node-card__name{display:block;font-family:var(--font-body);font-size:calc(1rem * var(--node-text-scale));line-height:1.35;white-space:nowrap}.node-card__crop{display:block;max-width:calc(7rem * var(--node-text-scale));max-height:calc(2.4rem * var(--node-text-scale));object-fit:contain;margin:0 auto}.node-card__toggle{border:0;border-right:1px solid var(--gold-soft);background:#b8923f1f;color:var(--text-dark);padding:calc(.35rem * var(--node-text-scale)) calc(.45rem * var(--node-text-scale));cursor:pointer;border-radius:10px 0 0 10px;display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;white-space:nowrap;font-family:var(--font-ui);font-weight:500;font-size:calc(.95rem * var(--node-text-scale))}.node-card__count{font-size:calc(.8rem * var(--node-text-scale));opacity:.75;font-variant-numeric:tabular-nums}.outline-item{margin-bottom:.35rem;padding-right:calc(var(--depth, 0) * 1rem)}.footer{border-top:1px solid var(--cream-border);background:var(--cream-paper);padding:.65rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center}.footer__chain{font-family:var(--font-body);font-size:1rem;line-height:1.4}.footer__meta{font-family:var(--font-ui);opacity:.75;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:640px){.header{padding:.85rem .75rem}.btn{padding:.4rem .55rem;font-size:.92rem}}
