.genealogy-page{display:grid;gap:30px;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 72px;color:var(--color-text-primary)}.genealogy-examples,.genealogy-loading,.genealogy-results,.genealogy-workbench{width:100%}.genealogy-workbench{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:22px;align-items:start}.genealogy-example-preview,.genealogy-examples,.genealogy-form,.genealogy-loading,.genealogy-output-rail,.genealogy-results,.genealogy-studio{display:grid;gap:18px}.genealogy-copy{display:grid;gap:10px}.genealogy-kicker,.genealogy-step-label,.result-kicker{margin:0;color:var(--color-interactive-hover);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.genealogy-page h1,.genealogy-page h2,.genealogy-page h3,.genealogy-page h4,.genealogy-page h5,.genealogy-page p{margin-top:0}.genealogy-page h1{max-width:720px;margin-bottom:0;font-family:var(--font-serif),Georgia,serif;font-size:clamp(2.35rem,4.3vw,4rem);line-height:.98;letter-spacing:0;color:var(--color-primary-900)}.genealogy-copy p{max-width:620px;margin:0;color:var(--color-text-secondary);font-size:var(--text-md);line-height:1.55}.genealogy-example-preview,.genealogy-form,.genealogy-loading,.genealogy-output-rail,.genealogy-result-section,.genealogy-summary{border:1px solid var(--color-border-subtle);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}.genealogy-form{padding:clamp(16px,2vw,22px)}.genealogy-actions,.genealogy-auth,.genealogy-example-panel__heading,.genealogy-example-preview__header,.genealogy-examples__header,.genealogy-form__header,.genealogy-loading__header,.genealogy-rail__header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.genealogy-example-preview__header>div,.genealogy-examples__header>div,.genealogy-form__header>div,.genealogy-rail__header{display:grid;gap:5px}.genealogy-examples h2,.genealogy-form__header h2,.genealogy-loading__header h2,.genealogy-rail__header h2,.genealogy-result-section h2,.genealogy-summary h2{margin:0;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:0}.genealogy-examples__header p:not(.genealogy-kicker),.genealogy-rail__header p{margin:0;color:var(--color-text-secondary);line-height:1.5}.excluded-list span,.genealogy-example-chip-list span,.genealogy-example-lineage span,.genealogy-example-panel__heading span,.genealogy-example-preview__header span,.genealogy-example-route-map span,.genealogy-example-tab span,.genealogy-status-pill,.grounding-badge,.region-badges strong,.support-badge{display:inline-flex;width:fit-content;align-items:center;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);line-height:1;text-transform:uppercase;letter-spacing:0}.genealogy-status-pill{flex:0 0 auto;padding:7px 10px;background:var(--color-bg-muted);color:var(--color-text-muted)}.genealogy-status-pill.is-ready{background:var(--color-accent-emerald-50);color:var(--color-accent-emerald-700)}.genealogy-controls,.genealogy-form label,.genealogy-query-field{display:grid;gap:8px}.genealogy-form label,.genealogy-textarea-header{color:var(--color-text-primary);font-weight:var(--font-bold)}.genealogy-textarea-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.genealogy-form label span,.genealogy-textarea-header small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-semibold)}.genealogy-page input,.genealogy-page textarea{width:100%;border:1px solid var(--color-border-default);border-radius:8px;background:#fff;color:var(--color-text-primary);font-family:inherit;font-size:inherit;font-weight:var(--font-normal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.genealogy-page input::placeholder,.genealogy-page textarea::placeholder{color:var(--color-text-disabled);font-weight:var(--font-medium)}.genealogy-page input{min-height:42px;padding:0 12px}.genealogy-page textarea{min-height:168px;resize:vertical;padding:12px;line-height:1.55}.genealogy-page input:focus,.genealogy-page textarea:focus{outline:none;border-color:var(--color-interactive);box-shadow:var(--glow-sm)}.genealogy-auth{align-items:center;padding:12px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-accent-indigo-50)}.genealogy-auth div{display:grid;gap:2px}.empty-inline,.empty-note,.form-note,.genealogy-auth span{color:var(--color-text-muted)}.genealogy-prompt-row{display:flex;flex-wrap:wrap;gap:8px}.genealogy-prompt-row button{min-height:32px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:6px 10px;background:var(--color-bg-muted);color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold)}.genealogy-prompt-row button:hover{border-color:var(--color-border-emphasis);background:#fff;color:var(--color-primary-900)}.genealogy-notices{display:grid;gap:10px}.genealogy-actions{flex-wrap:wrap;align-items:center;border-top:1px solid var(--color-border-subtle);padding-top:14px}.genealogy-actions>div{display:grid;gap:5px;min-width:min(100%,280px)}.genealogy-auth button,.genealogy-example-load-action,.primary-action,.secondary-action{border:0;border-radius:8px;cursor:pointer;font:inherit;font-weight:var(--font-bold);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.genealogy-auth button,.genealogy-example-load-action,.primary-action{min-height:44px;padding:0 18px;background:var(--color-primary-900);color:var(--color-text-inverse)}.genealogy-auth button:hover,.genealogy-example-load-action:hover,.primary-action:hover:not(:disabled){background:var(--color-interactive-hover)}.primary-action:disabled{cursor:not-allowed;opacity:.55}.secondary-action{min-height:36px;padding:0 12px;border:1px solid var(--color-border-subtle);background:var(--color-bg-muted);color:var(--color-text-primary)}.form-note{margin:0;font-size:var(--text-sm)}.form-note--error{color:var(--color-error)}.genealogy-output-rail{position:sticky;top:80px;padding:clamp(16px,2vw,22px);overflow:hidden}.genealogy-lineage-sketch{position:relative;min-height:92px;border:1px solid var(--color-border-subtle);border-radius:8px;background:linear-gradient(90deg,rgba(37,99,235,.08),transparent 34%),linear-gradient(var(--color-bg-muted),#fff)}.genealogy-lineage-sketch:before{content:"";position:absolute;left:34px;right:34px;top:50%;height:2px;background:var(--color-primary-300)}.genealogy-lineage-sketch span{position:absolute;top:50%;width:18px;height:18px;border:3px solid #fff;border-radius:50%;box-shadow:var(--shadow-sm);transform:translate(-50%,-50%)}.genealogy-lineage-sketch span:first-child{left:16%;background:var(--color-accent-amber-500)}.genealogy-lineage-sketch span:nth-child(2){left:39%;background:var(--color-accent-indigo-600)}.genealogy-lineage-sketch span:nth-child(3){left:62%;background:var(--color-accent-rose-600)}.genealogy-lineage-sketch span:nth-child(4){left:84%;background:var(--color-accent-emerald-600)}.genealogy-output-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.genealogy-output-list li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding-bottom:10px;border-bottom:1px solid var(--color-border-subtle)}.genealogy-output-list li:last-child{padding-bottom:0;border-bottom:0}.genealogy-output-list>li>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold)}.genealogy-output-list div{display:grid;gap:2px}.genealogy-output-list small{color:var(--color-interactive-hover);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.genealogy-output-list strong{line-height:1.25}.genealogy-output-list p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.genealogy-secondary-link{display:inline-flex;width:fit-content;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--color-border-default);border-radius:8px;padding:7px 11px;background:#fff;color:var(--color-primary-900);font-weight:var(--font-bold)}.genealogy-secondary-link:hover{border-color:var(--color-border-emphasis);color:var(--color-interactive-hover)}.genealogy-loading{padding:22px}.genealogy-loading__header{align-items:flex-start}.genealogy-loading__header>span{color:var(--color-interactive-hover);font-weight:var(--font-bold)}.genealogy-progress-bar{height:8px;overflow:hidden;border-radius:var(--radius-full);background:var(--color-bg-muted)}.genealogy-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-900);transition:width .42s ease}.genealogy-loading__active{margin:0;color:var(--color-text-secondary);font-weight:var(--font-semibold)}.genealogy-progress-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.genealogy-progress-steps li{display:grid;gap:7px;min-height:104px;padding:12px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-bg-muted);opacity:.68}.genealogy-progress-steps li.is-active,.genealogy-progress-steps li.is-complete{background:#fff;opacity:1}.genealogy-progress-steps li>span{width:fit-content;padding:4px 7px;border-radius:var(--radius-full);background:var(--color-accent-indigo-50);color:var(--color-accent-indigo-800);font-size:var(--text-xs);font-weight:var(--font-bold)}.genealogy-game-option p,.genealogy-progress-steps p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.genealogy-game-option{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--color-border-subtle);padding-top:16px}.genealogy-game-panel{min-height:320px;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:8px;background:#fff}.genealogy-results{gap:18px}.genealogy-result-section,.genealogy-summary{padding:clamp(18px,3vw,24px)}.genealogy-summary{display:grid;gap:14px}.genealogy-summary>p{color:var(--color-text-secondary);font-size:var(--text-md);line-height:1.65}.grounding-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold)}.grounding-badge,.support-badge{padding:6px 8px;background:var(--color-accent-emerald-50);color:var(--color-accent-emerald-700)}.grounding-badge--adjacent{background:var(--color-accent-amber-50);color:var(--color-accent-amber-700)}.grounding-badge--analogical{background:var(--color-accent-rose-50);color:var(--color-accent-rose-700)}.assumption-columns ul,.coverage-basis,.warning-list{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--color-text-muted);line-height:1.5}.contrast-list,.excluded-list,.framework-grid,.genealogy-summary-grid,.link-grid,.region-grid{display:grid;gap:14px}.framework-grid,.genealogy-summary-grid,.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contrast-card,.excluded-list article,.framework-card,.genealogy-summary-grid article,.link-grid .target-link,.region-card{border:1px solid var(--color-border-subtle);border-radius:8px;background:#fff}.contrast-card,.framework-card,.genealogy-summary-grid article,.region-card{padding:16px}.contrast-card h3,.framework-card h3,.genealogy-summary-grid h3,.timeline-list h3{margin-bottom:8px;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:0}.region-card{display:grid;gap:8px}.region-card div{display:flex;gap:8px;align-items:center}.region-card>div:first-child span{color:var(--color-interactive-hover);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.region-badges{display:flex;flex-wrap:wrap;gap:6px}.excluded-list span,.region-badges strong{padding:5px 7px;background:var(--color-bg-muted);color:var(--color-text-muted)}.excluded-list a,.region-card a,.target-link{color:var(--color-interactive-hover);font-weight:var(--font-bold);text-decoration:none}.contrast-card p,.excluded-list p,.framework-card p,.region-card p,.region-card small,.timeline-list p{margin:0;color:var(--color-text-muted);line-height:1.55}.excluded-regions-panel,.genealogy-example-evidence{border:1px solid var(--color-border-subtle);border-radius:8px;background:#fff}.excluded-regions-panel summary,.genealogy-example-evidence summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;cursor:pointer;color:var(--color-text-primary);font-weight:var(--font-bold)}.excluded-regions-panel summary::marker,.genealogy-example-evidence summary::marker{color:var(--color-interactive-hover)}.excluded-regions-panel summary small,.genealogy-example-evidence summary small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-semibold)}.excluded-regions-panel .excluded-list{padding:0 14px 14px}.excluded-list article{display:grid;gap:8px;padding:14px}.excluded-list article>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.timeline-list{display:grid;gap:18px;margin:0;padding:0;list-style:none}.timeline-list li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:start}.timeline-date{padding:8px 10px;border-radius:8px;background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold);text-align:center}.timeline-list article{position:relative;padding-left:18px;border-left:2px solid var(--color-primary-300)}.timeline-list article:before{content:"";position:absolute;left:-6px;top:2px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--color-interactive-hover)}.contrast-card .support-badge,.framework-card .support-badge,.timeline-list .support-badge{margin-bottom:8px}.genealogy-sample-target-link,.target-link{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px;color:var(--color-interactive-hover);font-weight:var(--font-bold);text-decoration:none}.genealogy-sample-target-link small,.target-link small{padding:3px 7px;border-radius:var(--radius-full);background:var(--color-accent-indigo-50);color:var(--color-accent-indigo-800);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.genealogy-sample-target-link:hover,.target-link:hover{text-decoration:underline;text-underline-offset:3px}.genealogy-sample-target-link--static,.target-link--static{color:var(--color-text-primary)}.genealogy-sample-target-link--static:hover,.target-link--static:hover{text-decoration:none}.assumption-columns,.contrast-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.assumption-columns>div,.contrast-targets>div{display:grid;align-content:start;gap:5px}.genealogy-sample-term-row,.term-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.genealogy-sample-term-row small,.term-row span{padding:5px 9px;border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold)}.link-grid .target-link{min-height:48px;margin:0;padding:10px 12px}.genealogy-examples{margin-top:4px}.genealogy-examples__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:18px;align-items:end}.genealogy-example-browser{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px;align-items:start}.genealogy-example-selector{position:sticky;top:88px;display:grid;gap:8px;align-content:start;max-height:min(680px,calc(100vh - 108px));overflow:auto;padding-right:4px}.genealogy-example-tab{display:grid;gap:5px;width:100%;border:1px solid var(--color-border-subtle);border-radius:8px;padding:12px;background:rgba(255,255,255,.94);color:var(--color-text-primary);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.genealogy-example-tab.is-selected,.genealogy-example-tab:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.genealogy-example-chip-list span,.genealogy-example-lineage span,.genealogy-example-panel__heading span,.genealogy-example-preview__header span,.genealogy-example-route-map span,.genealogy-example-tab span{color:var(--color-text-muted)}.genealogy-example-tab strong{color:var(--color-text-primary);line-height:1.25}.genealogy-example-tab small{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.25}.genealogy-example-preview{padding:clamp(16px,2vw,22px)}.genealogy-example-preview h3{margin:0;color:var(--color-text-primary);font-size:var(--text-2xl);line-height:1.1;letter-spacing:0}.genealogy-example-load-action{flex:0 0 auto}.genealogy-example-route-map{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:10px}.genealogy-example-route-map div{display:grid;gap:5px;min-width:0;border:1px solid var(--color-border-subtle);border-radius:8px;padding:11px;background:var(--color-bg-muted)}.genealogy-example-route-map strong{overflow-wrap:anywhere;color:var(--color-text-primary);line-height:1.3}.genealogy-example-route-link{color:var(--color-primary-900);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.genealogy-example-route-link:hover{color:var(--color-accent-indigo-700)}.genealogy-example-lineage{display:grid;gap:8px;border-left:3px solid var(--color-primary-900);padding:2px 0 2px 14px}.genealogy-example-lineage p{margin:0;color:var(--color-text-secondary);font-size:var(--text-md);line-height:1.58}.genealogy-example-content-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}.genealogy-example-panel{display:grid;gap:12px;align-content:start;border:1px solid var(--color-border-subtle);border-radius:8px;padding:14px;background:var(--color-bg-muted)}.genealogy-example-panel--timeline{grid-row:span 3;background:#fff}.genealogy-example-panel__heading{align-items:center}.genealogy-example-panel__heading strong{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold)}.genealogy-sample-timeline{display:grid;gap:14px;margin:0;padding:0;list-style:none}.genealogy-sample-timeline li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}.genealogy-sample-timeline li>span{padding:6px 8px;border-radius:8px;background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);text-align:center}.genealogy-sample-timeline li>div{position:relative;display:grid;gap:4px;min-width:0;padding-left:14px;border-left:2px solid var(--color-primary-300)}.genealogy-sample-timeline li>div:before{content:"";position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--color-interactive-hover)}.genealogy-sample-contrasts h5,.genealogy-sample-frameworks h5,.genealogy-sample-timeline h5{margin:0;color:var(--color-text-primary);font-size:var(--text-md);line-height:var(--leading-snug);letter-spacing:0}.genealogy-sample-contrasts p,.genealogy-sample-frameworks p,.genealogy-sample-timeline p{margin:0;color:var(--color-text-secondary);line-height:1.5}.genealogy-sample-contrasts,.genealogy-sample-frameworks{display:grid;gap:10px}.genealogy-sample-contrasts article,.genealogy-sample-frameworks article{display:grid;gap:7px;border:1px solid var(--color-border-subtle);border-radius:8px;padding:12px;background:#fff}.genealogy-example-chip-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.genealogy-example-chip-list li{display:grid;gap:3px;min-width:0;border:1px solid var(--color-border-subtle);border-radius:8px;padding:8px 10px;background:#fff}.genealogy-example-chip-list .genealogy-sample-target-link{margin:0}.genealogy-example-text-list{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--color-text-secondary);line-height:1.45}.genealogy-example-evidence>div{display:grid;gap:12px;padding:0 14px 14px}.genealogy-example-evidence section{display:grid;gap:8px}.genealogy-example-evidence h4{margin:0;color:var(--color-text-primary);font-size:var(--text-md);letter-spacing:0}@media (max-width:980px){.assumption-columns,.contrast-targets,.framework-grid,.genealogy-example-browser,.genealogy-example-content-grid,.genealogy-example-route-map,.genealogy-examples__header,.genealogy-summary-grid,.genealogy-workbench,.link-grid,.region-grid{grid-template-columns:1fr}.genealogy-example-selector,.genealogy-output-rail{position:static}.genealogy-example-selector{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;padding-right:0;padding-bottom:4px;scroll-snap-type:x proximity}.genealogy-example-tab{min-width:230px;scroll-snap-align:start}.genealogy-example-panel--timeline{grid-row:auto}.genealogy-progress-steps{grid-template-columns:1fr}}@media (max-width:620px){.genealogy-page{width:min(100% - 24px,1180px);padding-top:24px}.genealogy-page h1{font-size:2.45rem}.excluded-regions-panel summary,.genealogy-actions,.genealogy-auth,.genealogy-example-evidence summary,.genealogy-example-preview__header,.genealogy-form__header,.genealogy-game-option,.genealogy-loading__header{align-items:stretch;flex-direction:column}.genealogy-example-load-action,.primary-action{width:100%}.genealogy-actions,.genealogy-notices,.genealogy-prompt-row{padding-left:50px}.genealogy-prompt-row{display:none}.genealogy-sample-timeline li,.timeline-list li{grid-template-columns:1fr}.genealogy-sample-timeline li>span,.timeline-date{text-align:left}.genealogy-lineage-sketch{min-height:72px}}