/* Local, dependency-free presentation. System fonts keep every page usable offline. */
:root{--ink:#193541;--night:#122d3a;--night-deep:#102733;--emerald:#286a54;--emerald-soft:#edf4ef;--gold:#c5a35e;--gold-light:#ead8ad;--paper:#faf9f5;--white:#fff;--muted:#647274;--line:#e4e7df;--radius:18px;--shadow:0 12px 35px #16382c08;--serif:Georgia,'Times New Roman',serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img,svg{max-width:100%}button:disabled,input:disabled{cursor:not-allowed}button:disabled{opacity:.6}input:disabled{background:#f1f2ed;color:#647274}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:clamp(2.35rem,4.5vw,4.6rem);letter-spacing:-.045em}h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.025em}h3{font-size:1.05rem}p{margin-bottom:1rem}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--emerald);outline-offset:5px}main:focus{outline:0}::selection{background:#ead8ad;color:var(--night)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-180%);padding:12px 20px;border-radius:8px;background:var(--night);color:white}.skip-link:focus{transform:translateY(0)}
.site-header{background:#faf9f5f5;border-bottom:1px solid var(--line)}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand img{flex:none}.brand strong{font-family:var(--serif);font-weight:400;font-size:1.47rem;letter-spacing:-.025em;display:block}.brand-subtitle{display:block;font-size:.66rem;color:var(--muted);margin-top:4px;letter-spacing:.012em}.primary-nav{display:flex;gap:5px;flex-shrink:0}.primary-nav a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:9px;font-size:.82rem;font-weight:600;min-height:44px;transition:background .18s,color .18s}.primary-nav a:hover{background:#edf0e9}.primary-nav a[aria-current=page]{background:var(--emerald-soft);color:var(--emerald)}.primary-nav a[aria-current=page] svg{stroke-width:2}
.eyebrow{color:var(--emerald);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;gap:10px;margin-bottom:17px;line-height:1.6}.eyebrow-line{width:28px;height:1px;background:var(--gold)}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;padding-block:68px 64px;align-items:center}.hero-copy h1{font-size:clamp(3.2rem,5.9vw,5.05rem);line-height:1.05;letter-spacing:-.055em;margin-bottom:25px}.hero-copy h1 em{color:var(--emerald);font-weight:400}.hero-description{font-size:.94rem;max-width:450px;color:var(--muted);line-height:1.9;margin-bottom:28px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:8px;font-size:.82rem;font-weight:650;line-height:1.45;text-align:center;transition:background .18s,transform .18s;max-width:100%;overflow-wrap:anywhere}.button-primary{background:var(--emerald);color:white}.button-primary:hover{background:#20523f}.button-outline{border-color:#bdc9bd;background:transparent;color:var(--ink)}.button-outline:hover{background:#eef2ea}.button-gold{background:var(--gold-light);color:var(--night)}.button-gold:hover{background:#f2e2bc}.text-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:.82rem;font-weight:650}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.hero-footnote{display:flex;align-items:center;gap:8px;color:#7d8780;font-size:.7rem;margin:27px 0 0}.small-leaf{width:12px;height:17px;display:inline-block;background:var(--emerald);border-radius:12px 1px 12px 1px;transform:rotate(35deg);flex-shrink:0}.heritage-art{position:relative;isolation:isolate;min-height:427px;align-self:stretch;display:flex;align-items:center;flex-direction:column;background:var(--night);border-radius:150px 150px 16px 16px;overflow:hidden;color:var(--gold-light);box-shadow:var(--shadow)}.art-rings{position:absolute;width:345px;height:345px;border:1px solid #ffffff0d;border-radius:50%;top:49px;left:50%;transform:translateX(-50%);z-index:-1}.art-rings:before,.art-rings:after{content:'';position:absolute;inset:24px;border:1px solid #ffffff0d;border-radius:50%}.art-rings:after{inset:52px}.art-caption{position:relative;font-size:.55rem;font-weight:600;letter-spacing:.2em;margin-top:40px}.heritage-tree{width:330px;height:270px;margin-top:7px}.art-root{text-align:center;margin-top:-22px}.art-root span{display:block;font-size:.66rem;letter-spacing:.04em;color:#c1ccbf}.art-root strong{font:400 1.8rem var(--serif);letter-spacing:-.025em}.art-bottom{font-size:.6rem;letter-spacing:.1em;margin:17px 0 22px;color:#a9beb4}.art-star{position:absolute;color:var(--gold);font-size:1.4rem}.art-star-one{left:42px;top:120px}.art-star-two{right:42px;top:220px;font-size:.9rem}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:28px}.section-intro h2{margin-bottom:0}.section-intro .eyebrow{margin-bottom:8px}.section-intro>p{max-width:340px;color:var(--muted);font-size:.85rem;margin-bottom:2px}.statistics-section{border-top:1px solid var(--line);padding-top:34px}.quiet-label{font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:7px}.status-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:#b4a77f;flex:none}.statistics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;position:relative}.stat-icon{display:grid;place-items:center;position:absolute;right:20px;top:20px;width:34px;height:34px;color:var(--emerald);background:var(--emerald-soft);border-radius:10px;font-size:1.25rem}.stat-card h3{color:var(--muted);font-family:var(--sans);font-size:.74rem;font-weight:500;max-width:calc(100% - 42px);margin-bottom:18px}.stat-card>p{font-family:var(--serif);font-size:1.3rem;margin-bottom:7px;letter-spacing:-.02em}.stat-card small{font-size:.68rem;color:var(--muted);line-height:1.6;display:block;max-width:235px}.explore-section{padding-top:69px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#f1f2eb;padding:26px;border-radius:var(--radius);transition:transform .18s,box-shadow .18s;min-width:0}.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #15392f0d}.feature-number{font-size:.55rem;font-weight:650;letter-spacing:.11em;color:var(--muted)}.feature-symbol{font-size:2.35rem;color:var(--emerald);margin:23px 0 18px;line-height:1}.feature-card h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;letter-spacing:-.025em;margin-bottom:14px}.feature-card p{font-size:.81rem;color:var(--muted);line-height:1.85;flex:1;margin-bottom:23px}.feature-action{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:650;padding-top:17px;border-top:1px solid #dce1d5;gap:8px}.feature-card-dark{background:var(--night);color:var(--gold-light);border-color:var(--night)}.feature-card-dark .feature-symbol{color:var(--gold-light)}.feature-card-dark .feature-number,.feature-card-dark p{color:#afc3bd}.feature-card-dark .feature-action{border-color:#ffffff20}.updates-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding-block:65px 48px;align-items:center}.updates-copy .eyebrow{margin-bottom:9px}.updates-copy h2{font-size:2rem;margin-bottom:15px}.updates-copy p:last-child{color:var(--muted);font-size:.82rem;max-width:330px;margin-bottom:0}.empty-state{border:1px dashed #ced5c7;border-radius:var(--radius);padding:34px;text-align:center;background:#fff}.empty-symbol{display:block;color:var(--emerald);font-size:2.5rem;line-height:1;margin-bottom:17px}.empty-state h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin-bottom:13px}.empty-state>p,.empty-state>div>p{font-size:.82rem;color:var(--muted);max-width:530px;margin:0 auto 22px;line-height:1.8}.empty-state>p:last-child,.empty-state>div>p:last-child{margin-bottom:0}.empty-inline{display:flex;align-items:center;gap:24px;text-align:left;padding:30px}.empty-inline .empty-symbol{flex:none;margin:0}.empty-inline h3{font-size:1.25rem}.empty-inline p{font-size:.77rem!important}.demo-preview{padding:27px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#f1eee4;border:1px solid #e5dfce;border-radius:var(--radius);margin-bottom:65px}.demo-preview h2{font-size:1.45rem;margin:10px 0}.demo-preview p{font-size:.78rem;color:var(--muted);margin-bottom:0;max-width:600px}.demo-preview>.button{flex-shrink:0}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;letter-spacing:.055em;line-height:1.4;padding:5px 9px;border-radius:5px;white-space:nowrap}.badge-demo{background:#f3e6bd;color:#795e1e;border:1px solid #e5d49f}.badge-pending{background:#f4efe1;color:#7d6c3f;border:1px solid #e8e0c9}
.site-footer{border-top:1px solid var(--line);background:#f2f3ec;padding-block:26px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand strong{display:block;font:400 1.05rem var(--serif)}.footer-brand small{font-size:.62rem;display:block;color:var(--muted);margin-top:4px}.site-footer p{font-size:.68rem;color:var(--muted);margin:0;text-align:right}
.page-heading{padding-block:51px 37px;max-width:1200px}.page-heading .eyebrow{margin-bottom:14px}.page-heading h1{margin-bottom:17px;font-size:clamp(2.25rem,4.2vw,3.6rem)}.page-heading>p:last-child{max-width:650px;font-size:.9rem;line-height:1.9;color:var(--muted);margin-bottom:0}.official-tree{padding:12px 0 30px;max-width:760px}.official-tree-art{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:30px 20px 0;background:radial-gradient(ellipse at 50% 20%,#eaf0e6 0,transparent 70%)}.official-tree-art img{margin-bottom:17px}.root-label{color:var(--emerald);font-size:.59rem;letter-spacing:.16em;font-weight:700}.official-tree-art h2{font-size:2rem;margin:10px 0 5px}.official-tree-art p{font-size:.78rem;color:var(--muted);margin-bottom:0}.tree-stem{display:block;width:1px;height:45px;background:#cbb173;margin:16px 0 0}.official-tree .empty-state{padding:36px}.info-strip{display:flex;align-items:start;gap:13px;padding:19px 22px;background:var(--emerald-soft);border:1px solid #d8e5d8;border-radius:12px;margin-bottom:48px;color:#4a6658}.info-strip>span{font-size:1.3rem;line-height:1.3}.info-strip p{margin:0;font-size:.78rem;line-height:1.85}.demo-banner{padding:22px 24px;border:1px solid #e6d5a1;border-left:4px solid var(--gold);background:#f7f2e3;border-radius:12px;display:flex;gap:18px;align-items:start;margin-bottom:30px}.demo-banner>.badge{margin-top:1px;flex-shrink:0}.demo-banner h2{font-family:var(--sans);font-size:.93rem;line-height:1.5;font-weight:650;letter-spacing:0;margin-bottom:7px;color:#6c572c}.demo-banner p{font-size:.77rem;line-height:1.8;color:#73664a;margin:0}.demo-banner>.text-link{margin-left:auto;flex-shrink:0;align-self:center;color:#6c572c;font-size:.72rem}.tree-toolbar{display:flex;align-items:end;justify-content:space-between;gap:28px;padding-bottom:26px;border-bottom:1px solid var(--line)}.search-form{width:min(520px,100%)}.search-form label{display:block;font-size:.76rem;font-weight:600;margin-bottom:8px}.search-row{display:flex;gap:9px}.search-row input{width:100%;min-width:0;min-height:48px;border:1px solid #cbd5cb;border-radius:8px;background:white;padding:11px 14px;font-size:.82rem;color:var(--ink)}.search-row button{flex-shrink:0}.search-feedback{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px}.search-feedback p{margin:0;font-size:.83rem;overflow-wrap:anywhere}.search-feedback .text-link{flex-shrink:0}.generations{padding-block:30px 60px}.generation-section+.generation-section{margin-top:36px}.generation-heading{display:flex;gap:14px;align-items:center;margin-bottom:19px}.generation-mark{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid #d7dfd2;background:#eef2e9;border-radius:50%;font:400 1.3rem var(--serif);color:var(--emerald)}.generation-heading .eyebrow{font-size:.53rem;margin-bottom:2px}.generation-heading h2{font-size:1.55rem;margin:0}.generation-count{font-size:.68rem;color:var(--muted);margin-left:auto;text-align:right}.person-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.person-card{border:1px solid var(--line);padding:22px;background:#fff;border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;transition:border-color .18s,transform .18s}.person-card:hover{transform:translateY(-2px);border-color:#9dbba5}.person-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.person-avatar{height:40px;width:40px;background:var(--emerald-soft);border-radius:50%;display:grid;place-items:center;font-size:1.8rem;color:var(--emerald)}.person-card h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin-bottom:12px;overflow-wrap:anywhere}.verification-label{font-size:.69rem;color:var(--muted);display:flex;gap:7px;align-items:center;margin-bottom:22px}.person-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.71rem;font-weight:600;border-top:1px solid var(--line);padding-top:13px;margin-top:auto}
.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:.74rem;color:var(--muted);padding-block:28px 21px}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}.breadcrumb a:hover{text-decoration:underline}.profile-header{display:flex;align-items:center;gap:25px;padding:10px 0 37px}.profile-avatar{width:100px;height:100px;background:#eaf0e6;border:1px solid #d9e5d3;border-radius:50%;display:grid;place-items:center;color:var(--emerald);font-size:4rem;flex:none}.profile-heading{min-width:0}.profile-heading .eyebrow{margin-bottom:10px}.profile-heading h1{font-size:clamp(2rem,4vw,3.2rem);overflow-wrap:anywhere;margin-bottom:17px}.profile-badges{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.life-status{font-size:.74rem;color:var(--muted);margin-left:5px}.lineage-section{border:1px solid var(--line);border-radius:var(--radius);background:#f0f3eb;padding:27px;margin-bottom:28px}.lineage-section .eyebrow{margin-bottom:6px}.lineage-section h2{font-size:1.65rem;margin-bottom:10px}.lineage-section p{font-size:.77rem;color:var(--muted)}.lineage-list{display:flex;gap:10px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0 0}.lineage-list li{position:relative;max-width:100%}.lineage-list li:not(:last-child):after{position:absolute;content:'→';right:-17px;top:15px;font-size:.7rem;color:#8b9b89}.lineage-list a{display:flex;flex-direction:column;justify-content:center;min-height:62px;padding:9px 13px;background:#fff;border:1px solid #d7dfce;border-radius:8px;font-size:.76rem;font-weight:600;overflow-wrap:anywhere}.lineage-list a[aria-current=page]{border-color:var(--emerald);background:#e8f0e5}.lineage-list a:hover{border-color:var(--emerald)}.lineage-demo{font-size:.5rem;color:#977a37;letter-spacing:.08em;margin-top:3px}.relations-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:30px}.relation-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;overflow:hidden;align-self:start}.relation-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:20px 23px}.relation-heading h2{font-size:1.5rem;margin:0}.relation-empty{font-size:.8rem;color:var(--muted);padding:24px;margin:0}.relative-list{list-style:none;padding:0;margin:0}.relative-list li+li{border-top:1px solid var(--line)}.relative-list a{display:flex;align-items:center;gap:12px;padding:18px 20px}.relative-list a:hover{background:#f5f7f1}.relative-avatar{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:50%;font-size:1.5rem;color:var(--emerald);background:var(--emerald-soft)}.relative-details{flex:1;min-width:0;overflow-wrap:anywhere}.relative-details strong{display:block;font-size:.84rem;font-weight:600;line-height:1.6}.relative-details>span{font-size:.65rem;line-height:1.6;color:var(--muted);display:block;margin-top:3px}.relative-arrow{font-size:.8rem;color:var(--emerald)}.muted{color:var(--muted)}
.universe-empty{background:var(--night);border-radius:var(--radius);min-height:440px;position:relative;overflow:hidden;color:#f3e7c7;text-align:center;padding:42px 30px 35px;margin-bottom:55px}.universe-empty-root{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:34px}.universe-empty-root .root-label{color:#b9c7b7}.universe-empty-root h2{font-size:1.8rem;margin:0}.universe-empty>h2{font-size:1.6rem;margin-bottom:12px;position:relative}.universe-empty>p{font-size:.83rem;line-height:1.85;color:#b7c7bd;max-width:500px;margin:0 auto 24px;position:relative}.universe-empty>.button{position:relative}.universe-empty:before,.universe-empty:after{content:'';position:absolute;top:40px;left:50%;transform:translateX(-50%);width:360px;height:360px;border:1px solid #ffffff0b;border-radius:50%}.universe-empty:after{width:540px;height:540px;top:-50px}.universe-empty-stars i{position:absolute;width:4px;height:4px;background:#d9bd7a;border-radius:50%;left:20%;top:30%}.universe-empty-stars i:nth-child(2){left:85%;top:23%}.universe-empty-stars i:nth-child(3){left:14%;top:76%}.universe-empty-stars i:nth-child(4){left:74%;top:65%}.universe-empty-stars i:nth-child(5){left:40%;top:10%;height:2px;width:2px}.universe-controls{margin-bottom:25px}.universe-controls>h2{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:0;margin-bottom:14px}.generation-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-button{background:#fff;border:1px solid #d6ddd2;border-radius:7px;padding:10px 14px;min-height:44px;font-size:.73rem;color:var(--ink)}.filter-button:hover{background:#edf2e7}.filter-button[aria-pressed=true]{background:var(--emerald);border-color:var(--emerald);color:white}.filter-status{font-size:.73rem;color:var(--muted);margin:13px 0 0}.universe-board{background:var(--night);border-radius:var(--radius);padding:29px 34px 38px;color:#f0e6cd;position:relative;isolation:isolate;overflow:hidden;margin-bottom:32px}.universe-board:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#c5a35e50 .7px,transparent .7px);background-size:61px 61px;opacity:.45}.universe-board-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.universe-board-heading .eyebrow{color:#c2cfbe;margin:0}.universe-board-instruction{font-size:.74rem;color:#a3beb1;margin:13px 0 30px}.constellation{max-width:760px;margin:auto;position:relative}.constellation:before{content:'';position:absolute;top:10px;bottom:25px;left:14px;width:1px;background:linear-gradient(transparent,#bda26480 7%,#bda26480 93%,transparent)}.constellation-generation{position:relative;padding-left:48px}.constellation-generation+.constellation-generation{margin-top:26px}.constellation-generation>h2{font-family:var(--sans);font-size:.68rem;font-weight:600;color:#a1bbaf;letter-spacing:.07em;margin:0 0 11px;line-height:1.6;position:relative}.constellation-generation>h2:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#c8b17d;left:-37px;top:4px;box-shadow:0 0 0 5px #16313a,0 0 0 6px #6a7560}.constellation-nodes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.constellation-node{display:flex;align-items:center;gap:12px;border:1px solid #adbd9c43;background:#1c3c45;border-radius:12px;padding:15px;min-height:84px;position:relative;min-width:0}.constellation-node:hover{background:#244a4f;border-color:#d5ba7b}.node-dot{display:grid;place-items:center;width:36px;height:36px;flex:none;background:#2d554f;border-radius:50%;color:#ddc48b;font-size:1.6rem}.node-copy{min-width:0;flex:1;overflow-wrap:anywhere}.node-copy strong{font-family:var(--serif);font-weight:400;font-size:1.05rem;line-height:1.4;display:block}.node-copy>span{display:block;font-size:.56rem;letter-spacing:.02em;color:#b1c3aa;margin-top:5px}.node-arrow{color:#c5ad72;font-size:.8rem}.universe-guide{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:55px}.universe-guide>div{max-width:600px}.universe-guide .eyebrow{margin-bottom:8px}.universe-guide h2{font-size:1.8rem;margin-bottom:12px}.universe-guide p{font-size:.8rem;color:var(--muted);margin-bottom:0}.universe-guide>.button{flex-shrink:0}
.hana-layout{display:grid;grid-template-columns:1.75fr 1fr;gap:38px;margin-bottom:60px;align-items:start}.hana-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;min-width:0}.hana-panel-header{display:flex;align-items:center;gap:13px;padding:20px 24px;border-bottom:1px solid var(--line);background:#f4f6ee}.hana-avatar{height:42px;width:42px;display:grid;place-items:center;color:var(--gold-light);background:var(--night);border-radius:12px;font-size:1.65rem;flex:none}.hana-panel-header h2{font-family:var(--sans);font-size:.94rem;letter-spacing:.1em;font-weight:600;margin:0 0 3px}.hana-panel-header p{font-size:.65rem;color:var(--muted);margin:0}.hana-panel-header>.badge{margin-left:auto}.hana-empty{text-align:center;padding:40px 30px}.hana-orbit{margin:0 auto 25px;border:1px solid #e1e7da;box-shadow:0 0 0 12px #f5f7f0;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;color:var(--emerald);font-size:2.8rem}.hana-empty .eyebrow{justify-content:center;font-size:.58rem;margin-bottom:10px}.hana-empty h2{font-size:2rem;margin-bottom:17px}.hana-empty p:not(.eyebrow){font-size:.8rem;color:var(--muted);max-width:470px;margin:0 auto 14px;line-height:1.9}.hana-empty>.button{margin-top:9px}.chat-unavailable{padding:20px 23px;border-top:1px solid var(--line);background:#fafbf7}.chat-unavailable label{font-size:.71rem;font-weight:600;display:block;margin-bottom:7px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{width:100%;min-width:0;border:1px solid #dbe1d5;padding:11px 13px;min-height:47px;border-radius:8px;font-size:.78rem}.chat-unavailable>p{font-size:.65rem;color:var(--muted);margin:8px 0 0}.hana-aside{padding-top:26px}.hana-aside>.small-leaf{width:18px;height:26px;margin-bottom:20px}.hana-aside h2{font-size:1.9rem;margin-bottom:15px}.hana-aside p{font-size:.81rem;line-height:1.85;color:var(--muted)}.plain-checklist{list-style:none;margin:22px 0 30px;padding:0}.plain-checklist li{font-size:.77rem;display:flex;gap:10px;margin-bottom:13px}.plain-checklist li:before{content:'✓';font-size:.8rem;color:var(--emerald)}.aside-note{padding:20px;border-left:2px solid var(--gold);background:#f2f1e9}.aside-note h3{font-size:.85rem;margin-bottom:9px}.aside-note p{font-size:.73rem;margin-bottom:0}.error-page{padding:75px 0 100px;text-align:center;max-width:650px}.error-page>.eyebrow{display:block;margin-bottom:25px}.error-page h1{font-size:2.8rem}.error-page p{color:var(--muted);overflow-wrap:anywhere}.error-page>.button{margin-top:16px}
@media(min-width:1200px){.heritage-art{min-height:447px}.heritage-tree{width:360px;height:290px}}
@media(max-width:1100px){.container{width:calc(100% - 54px)}.header-inner{gap:14px}.brand strong{font-size:1.28rem}.brand-subtitle{font-size:.59rem}.brand{gap:10px}.primary-nav a{padding:10px;font-size:.75rem;gap:6px}.hero{gap:35px;padding-block:50px}.hero-copy h1{font-size:clamp(3.2rem,6vw,4.5rem)}.heritage-art{min-height:410px}.hero-description{font-size:.86rem}.actions{gap:18px}.actions .text-link{font-size:.76rem}.stat-card{padding:21px}.stat-card>p{font-size:1.16rem}.stat-card small{font-size:.65rem}.feature-card{padding:23px}.feature-card h3{font-size:1.42rem}.feature-number{font-size:.5rem}.updates-section{gap:35px}.demo-banner{flex-wrap:wrap;gap:13px}.demo-banner>div{flex:1;min-width:200px}.demo-banner>.text-link{margin-left:0;flex-basis:100%}.universe-guide{align-items:start}.hana-layout{gap:25px}}
@media(max-width:850px){.header-inner{min-height:90px}.brand-subtitle{max-width:210px;line-height:1.5}.primary-nav a{padding:9px 10px;flex-direction:column;gap:3px;font-size:.63rem}.hero{grid-template-columns:1.1fr 1fr;gap:25px}.hero-copy h1{font-size:3.4rem}.hero-description{font-size:.81rem}.hero .eyebrow{font-size:.54rem}.hero-footnote{font-size:.61rem}.actions{gap:8px}.heritage-art{min-height:395px;border-radius:130px 130px 16px 16px}.art-caption{font-size:.47rem;margin-top:35px}.heritage-tree{height:250px}.art-root strong{font-size:1.6rem}.art-star-one{left:25px}.art-star-two{right:25px}.section-intro{gap:25px}.section-intro>p{font-size:.78rem;max-width:275px}.section-intro.compact{align-items:start;gap:20px}.section-intro.compact .quiet-label{max-width:160px;line-height:1.6;text-align:right;justify-content:end;margin-top:8px}.statistics-grid{gap:10px}.stat-card{padding:17px}.stat-icon{width:27px;height:27px;right:13px;top:14px;font-size:1rem}.stat-card h3{font-size:.63rem}.stat-card>p{font-size:1.02rem}.stat-card small{font-size:.61rem}.feature-grid{gap:12px}.feature-card{padding:19px}.feature-card h3{font-size:1.27rem}.feature-card p{font-size:.73rem}.feature-number{font-size:.44rem;letter-spacing:.07em}.feature-action{font-size:.64rem}.updates-copy h2{font-size:1.8rem}.empty-inline{padding:23px;gap:16px}.demo-preview{padding:24px;gap:20px;flex-wrap:wrap}.demo-preview h2{font-size:1.4rem}.demo-preview>.button{margin-top:0}.person-grid{grid-template-columns:repeat(2,1fr)}.relations-grid{gap:17px}.relative-list a{padding:15px 16px;gap:10px}.relative-list .badge{font-size:.5rem;padding:4px 5px}.relative-arrow{display:none}.universe-board{padding:27px}.constellation-generation{padding-left:38px}.constellation-generation>h2:before{left:-27px}.constellation-node{padding:13px;gap:9px}.node-dot{height:30px;width:30px;font-size:1.3rem}.node-copy strong{font-size:.93rem}.node-copy>span{font-size:.53rem}.hana-layout{grid-template-columns:1.6fr 1fr;gap:23px}.hana-panel-header{padding:17px}.hana-panel-header>.badge{font-size:.47rem}.hana-panel-header p{font-size:.58rem}.hana-aside h2{font-size:1.65rem}}
@media(max-width:680px){body{padding-bottom:73px}.container{width:calc(100% - 36px)}html{scroll-padding-top:20px}.header-inner{min-height:86px;justify-content:center}.brand{gap:11px}.brand img{width:43px;height:43px}.brand strong{font-size:1.3rem}.brand-subtitle{font-size:.56rem;max-width:none}.primary-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fcfcf9f7;border-top:1px solid #dde4d8;padding:8px 7px max(9px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px #17342608}.primary-nav a{padding:4px 0;min-height:49px;font-size:.6rem;gap:4px;border-radius:9px}.primary-nav a svg{width:20px;height:20px}.hero{grid-template-columns:1fr;gap:33px;padding-block:35px 35px}.hero-copy{padding-inline:2px}.hero-copy .eyebrow{font-size:.56rem;margin-bottom:19px}.hero-copy h1{font-size:3.7rem;margin-bottom:21px;max-width:430px}.hero-description{font-size:.85rem;max-width:460px;line-height:1.9;margin-bottom:22px}.actions{gap:24px}.actions .text-link{font-size:.76rem}.hero-footnote{font-size:.64rem;margin-top:20px}.heritage-art{min-height:358px;max-width:440px;width:100%;margin:auto;border-radius:135px 135px 16px 16px}.art-caption{font-size:.5rem;margin-top:29px}.heritage-tree{height:230px;width:300px;margin-top:-2px}.art-root{margin-top:-23px}.art-root strong{font-size:1.7rem}.art-bottom{margin:12px 0 21px;font-size:.55rem}.art-star-one{left:43px;top:103px}.art-star-two{right:39px;top:200px}.art-rings{width:305px;height:305px;top:29px}.statistics-section{padding-top:30px}.section-intro{display:block;margin-bottom:22px}.section-intro h2{font-size:1.95rem}.section-intro.compact .quiet-label{max-width:none;text-align:left;justify-content:start;margin-top:15px;font-size:.66rem}.statistics-grid{grid-template-columns:1fr;gap:11px}.stat-card{padding:18px 21px}.stat-card h3{font-size:.7rem;margin-bottom:10px;max-width:calc(100% - 50px)}.stat-card>p{font-size:1.4rem;margin-bottom:6px}.stat-icon{height:36px;width:36px;font-size:1.3rem;right:21px;top:23px}.stat-card small{font-size:.65rem;max-width:calc(100% - 45px)}.section-intro>p{font-size:.79rem;max-width:440px;margin-top:16px}.explore-section{padding-top:39px}.feature-grid{grid-template-columns:1fr;gap:13px}.feature-card{padding:25px 24px;position:relative}.feature-number{font-size:.52rem}.feature-symbol{margin:22px 0 16px;font-size:2.2rem}.feature-card h3{font-size:1.7rem;max-width:330px}.feature-card p{font-size:.81rem;max-width:420px;margin-bottom:20px}.feature-action{font-size:.73rem}.updates-section{grid-template-columns:1fr;gap:23px;padding-block:38px 30px}.updates-copy h2{font-size:1.9rem;margin-bottom:12px}.updates-copy p:last-child{font-size:.79rem;max-width:400px}.empty-inline{padding:25px 20px;gap:17px}.empty-inline h3{font-size:1.2rem}.empty-inline p{font-size:.74rem!important}.demo-preview{padding:23px;margin-bottom:39px;gap:18px}.demo-preview h2{font-size:1.5rem}.demo-preview p{font-size:.76rem}.demo-preview>.button{width:100%}.footer-inner{align-items:start;flex-direction:column;gap:17px}.site-footer{padding-block:25px}.site-footer p{font-size:.61rem;text-align:left}.footer-brand strong{font-size:1.1rem}.footer-brand small{font-size:.62rem}.page-heading{padding-block:33px 29px}.page-heading .eyebrow{font-size:.58rem}.page-heading h1{font-size:2.55rem;line-height:1.15;margin-bottom:17px}.page-heading>p:last-child{font-size:.82rem;line-height:1.9}.official-tree{padding-top:0}.official-tree-art{padding-top:18px}.official-tree .empty-state{padding:28px 21px}.official-tree .empty-state h3{font-size:1.5rem}.official-tree .empty-state p{font-size:.78rem}.info-strip{padding:17px;margin-bottom:35px;gap:10px}.info-strip p{font-size:.72rem}.demo-banner{padding:18px 17px;gap:13px;margin-bottom:25px}.demo-banner>.badge{font-size:.54rem}.demo-banner>div{min-width:0;flex-basis:calc(100% - 70px)}.demo-banner h2{font-size:.83rem}.demo-banner p{font-size:.73rem;line-height:1.8}.demo-banner>.text-link{font-size:.72rem;margin-left:0}.tree-toolbar{display:block;padding-bottom:20px}.tree-toolbar>.text-link{margin-top:13px}.search-form{width:100%}.search-form label{font-size:.72rem}.search-row{gap:8px}.search-row input{font-size:.76rem;padding-inline:11px}.search-row button{padding:11px 14px;font-size:.73rem}.search-feedback{padding-top:14px;align-items:start;gap:10px}.search-feedback p{font-size:.75rem}.search-feedback .text-link{font-size:.66rem;min-height:36px}.generations{padding-block:25px 38px}.generation-heading{gap:11px}.generation-mark{width:37px;height:37px;font-size:1.2rem}.generation-heading h2{font-size:1.45rem}.generation-heading .eyebrow{font-size:.46rem}.generation-count{font-size:.59rem}.person-grid{grid-template-columns:1fr;gap:12px}.person-card{padding:19px}.person-card-top{margin-bottom:12px}.person-card h3{font-size:1.5rem}.person-card-link{font-size:.73rem}.verification-label{font-size:.69rem;margin-bottom:18px}.breadcrumb{padding-block:17px 14px;font-size:.7rem}.profile-header{gap:16px;padding:3px 0 28px;align-items:start}.profile-avatar{width:62px;height:62px;font-size:2.7rem}.profile-heading{padding-top:4px}.profile-heading .eyebrow{font-size:.5rem;margin-bottom:10px}.profile-heading h1{font-size:1.95rem;margin-bottom:15px}.profile-badges{gap:7px}.life-status{flex-basis:100%;font-size:.7rem;margin:4px 0 0}.lineage-section{padding:22px 19px;margin-bottom:21px}.lineage-section h2{font-size:1.6rem}.lineage-section p{font-size:.72rem}.lineage-list{gap:8px 20px}.lineage-list a{font-size:.7rem;padding:8px 10px;min-height:57px}.lineage-list li:not(:last-child):after{right:-16px}.relations-grid{grid-template-columns:1fr;gap:17px;margin-bottom:22px}.relation-heading{padding:17px 19px}.relation-heading h2{font-size:1.45rem}.relative-list a{padding:17px}.relative-details strong{font-size:.82rem}.relative-details>span{font-size:.64rem}.relative-list .badge{font-size:.53rem;padding:5px 7px}.relation-empty{font-size:.77rem;padding:22px 19px}.universe-empty{min-height:440px;padding:32px 22px;margin-bottom:36px}.universe-empty-root{margin-bottom:30px}.universe-empty>h2{font-size:1.7rem}.universe-empty>p{font-size:.78rem}.universe-empty>.button{font-size:.72rem;gap:11px;padding:12px 15px}.universe-controls{margin-bottom:23px}.generation-filters{gap:7px}.filter-button{font-size:.67rem;padding:10px 12px}.filter-status{font-size:.67rem}.universe-board{padding:22px 16px 30px;margin-bottom:26px}.universe-board-heading .eyebrow{font-size:.48rem;letter-spacing:.12em}.universe-board-instruction{font-size:.69rem;line-height:1.8;margin-bottom:25px}.constellation{margin-left:0}.constellation:before{left:7px}.constellation-generation{padding-left:28px}.constellation-generation>h2{font-size:.62rem}.constellation-generation>h2:before{left:-24px;top:3px}.constellation-nodes{grid-template-columns:1fr;gap:9px}.constellation-node{padding:13px;min-height:79px;gap:10px}.node-copy strong{font-size:1.1rem}.node-copy>span{font-size:.54rem}.node-dot{height:34px;width:34px;font-size:1.5rem}.universe-guide{flex-direction:column;align-items:start;gap:22px;margin-bottom:38px}.universe-guide h2{font-size:1.8rem}.universe-guide p{font-size:.77rem}.universe-guide .button{width:100%}.hana-layout{grid-template-columns:1fr;gap:23px;margin-bottom:38px}.hana-panel-header{padding:17px 15px;gap:10px}.hana-panel-header h2{font-size:.85rem}.hana-panel-header p{font-size:.57rem}.hana-panel-header>.badge{font-size:.48rem;padding:4px 6px;letter-spacing:0}.hana-empty{padding:35px 23px}.hana-empty h2{font-size:2rem}.hana-empty p:not(.eyebrow){font-size:.77rem}.chat-unavailable{padding:18px 17px}.chat-input-row input{font-size:.72rem;padding-inline:10px}.chat-input-row button{padding:10px 15px;font-size:.73rem}.chat-unavailable>p{font-size:.63rem}.hana-aside{padding:17px 6px 0}.hana-aside h2{font-size:1.8rem}.hana-aside p{font-size:.79rem}.plain-checklist li{font-size:.76rem}.aside-note p{font-size:.73rem}.error-page{padding-block:45px 65px}.error-page h1{font-size:2.25rem}.error-page p{font-size:.83rem}.button{font-size:.78rem;min-height:47px}}
@media(max-width:380px){.container{width:calc(100% - 30px)}.brand strong{font-size:1.18rem}.brand-subtitle{font-size:.5rem}.brand img{width:40px;height:40px}.brand{gap:9px}.hero-copy h1{font-size:3.4rem}.hero .actions{gap:18px}.hero .actions .button{padding-inline:17px}.hero .actions .text-link{font-size:.71rem}.heritage-art{min-height:345px}.art-caption{font-size:.45rem}.heritage-tree{height:220px}.hero-footnote{font-size:.59rem}.demo-banner p{font-size:.7rem}.profile-avatar{width:51px;height:51px;font-size:2.3rem}.profile-header{gap:12px}.profile-heading h1{font-size:1.75rem}.node-copy strong{font-size:1rem}.relative-list a{gap:9px;padding-inline:14px}.relative-avatar{width:30px;height:30px}.relative-details>span{font-size:.6rem}.relative-list .badge{font-size:.48rem}.hana-panel-header{gap:8px}.hana-panel-header p{font-size:.52rem}.hana-avatar{height:37px;width:37px}.universe-empty>.button{font-size:.68rem;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.feature-card:hover,.person-card:hover{transform:none}}
/* Readable across generations: body copy stays at 16px and metadata at 14px. */
.brand-subtitle{font-size:.75rem;line-height:1.5;max-width:285px}
.hero-description,.section-intro>p,.feature-card p,.updates-copy p:last-child,.empty-state>p,.empty-state>div>p,.demo-preview p,.page-heading>p:last-child,.info-strip p,.demo-banner p,.lineage-section p,.relation-empty,.universe-empty>p,.universe-guide p,.hana-empty p:not(.eyebrow),.hana-aside p,.aside-note p,.error-page p{font-size:1rem;line-height:1.85}
.empty-inline p{font-size:1rem!important}
.stat-card h3,.stat-card small,.quiet-label,.hero-footnote,.feature-action,.text-link,.generation-count,.verification-label,.life-status,.lineage-list a,.relative-details strong,.relative-details>span,.search-feedback p,.filter-status,.universe-board-instruction,.node-copy>span,.hana-panel-header p,.chat-unavailable>p,.plain-checklist li,.breadcrumb{font-size:.875rem;line-height:1.7}
.button,.search-form label,.chat-unavailable label,.person-card-link,.filter-button,.universe-controls>h2,.demo-banner>.text-link,.search-feedback .text-link,.hero .actions .text-link{font-size:.875rem}
.search-row input,.chat-input-row input{font-size:1rem}
.badge,.relative-list .badge,.hana-panel-header>.badge,.lineage-demo{font-size:.7rem;line-height:1.5}
.eyebrow,.generation-heading .eyebrow,.profile-heading .eyebrow,.page-heading .eyebrow,.hero-copy .eyebrow,.hero .eyebrow,.hana-empty .eyebrow,.feature-number,.universe-board-heading .eyebrow,.root-label,.art-caption,.art-bottom{font-size:.7rem;line-height:1.65}
.art-caption{max-width:calc(100% - 42px);text-align:center;letter-spacing:.12em}
.art-bottom{letter-spacing:.07em}.art-root span{font-size:.875rem}
.footer-brand small,.site-footer p{font-size:.75rem;line-height:1.7}
.primary-nav a{font-size:.875rem}.person-card h3{line-height:1.45}.relative-details strong{font-weight:650}
.demo-banner,.demo-preview,.universe-guide{flex-wrap:wrap}
.demo-banner>div{min-width:0;flex:1 1 260px}.demo-banner>.text-link{white-space:normal;flex-shrink:1}
.feature-card,.stat-card,.hero-copy,.updates-copy,.hana-aside,.section-intro>div{min-width:0}
.stat-card small{max-width:none}.stat-card h3{max-width:calc(100% - 42px)}
.hana-panel-header{flex-wrap:wrap}.hana-panel-header>.badge{margin-left:0}
.relative-list a{flex-wrap:wrap}.relative-details{flex:1 1 150px}.relative-list .badge{flex-shrink:0}
.node-copy strong{font-size:1.125rem;line-height:1.5}.node-copy>span{line-height:1.7}
.lineage-list a{overflow-wrap:anywhere}.lineage-list li{min-width:0}
@media(min-width:681px) and (max-width:1000px){.header-inner{flex-wrap:wrap;justify-content:center;padding-block:18px;gap:18px}.brand-subtitle{max-width:none}.primary-nav a{padding-inline:16px}.hero{gap:25px}.hero .actions{gap:14px}.hero .actions .button{padding-inline:16px}.section-intro{align-items:start}.feature-number{letter-spacing:.07em}.feature-card{padding:21px}.feature-card h3{font-size:1.5rem}.statistics-grid{grid-template-columns:1fr}.stat-card{padding:21px 23px}.stat-card>p{font-size:1.4rem}.stat-icon{height:36px;width:36px;right:22px;top:22px}.hana-layout{grid-template-columns:1fr}.hana-aside{padding-top:10px}.constellation-nodes{grid-template-columns:1fr}}
@media(max-width:680px){.header-inner{min-height:105px;justify-content:start}.brand{width:100%;align-items:center;gap:11px}.brand>span{min-width:0;flex:1}.brand strong{font-size:1.2rem;line-height:1.3}.brand-subtitle{font-size:.75rem;max-width:285px;margin-top:5px;overflow-wrap:anywhere}.brand img{width:43px;height:43px}.primary-nav a{font-size:.75rem;min-height:52px;line-height:1.4}.primary-nav{padding-inline:5px}.hero .actions{gap:12px}.hero .actions .button{padding-inline:17px}.hero .actions .text-link{font-size:.875rem}.hero-footnote{align-items:start}.heritage-art{min-height:380px}.art-caption{font-size:.7rem;max-width:250px}.art-bottom{font-size:.7rem}.art-root span{font-size:.875rem}.section-intro.compact .quiet-label{font-size:.875rem;max-width:none}.stat-card h3{font-size:.875rem}.stat-card small{font-size:.875rem;max-width:none}.feature-card{padding:25px 24px}.feature-number{font-size:.7rem}.feature-card h3{font-size:1.8rem}.feature-action{font-size:.875rem}.empty-inline{align-items:start}.empty-inline .empty-symbol{font-size:2rem;margin-top:5px}.demo-preview{padding:22px}.demo-preview h2{font-size:1.65rem}.demo-preview>.button{font-size:.875rem}.page-heading h1{overflow-wrap:anywhere}.official-tree .empty-state p{font-size:1rem}.official-tree .empty-state .button{flex-wrap:wrap}.info-strip p,.demo-banner p{font-size:1rem}.demo-banner{gap:13px}.demo-banner>div{flex-basis:100%}.demo-banner h2{font-size:1rem}.demo-banner>.text-link{font-size:.875rem}.search-form label,.search-row button{font-size:.875rem}.search-row{flex-wrap:wrap}.search-row input{font-size:1rem;flex:1 1 195px}.search-row button{flex:1 1 80px}.search-feedback{flex-wrap:wrap}.search-feedback p,.search-feedback .text-link{font-size:.875rem}.generation-heading{flex-wrap:wrap;gap:10px}.generation-heading .eyebrow{font-size:.7rem;letter-spacing:.1em}.generation-count{font-size:.875rem;margin-left:47px;flex-basis:100%;text-align:left}.verification-label,.person-card-link{font-size:.875rem}.profile-header{flex-wrap:wrap}.profile-heading{flex:1 1 200px}.profile-heading .eyebrow{font-size:.7rem}.life-status{font-size:.875rem}.lineage-section p{font-size:1rem}.lineage-list a{font-size:.875rem}.relative-details strong,.relative-details>span{font-size:.875rem}.relative-details{flex-basis:170px}.relative-list .badge{font-size:.7rem}.relation-empty{font-size:1rem}.universe-empty>p,.universe-guide p{font-size:1rem}.universe-empty>.button{font-size:.875rem;flex-wrap:wrap}.filter-button,.filter-status{font-size:.875rem}.universe-board-heading{flex-wrap:wrap}.universe-board-heading .eyebrow{font-size:.7rem;letter-spacing:.1em}.universe-board-instruction{font-size:.875rem}.constellation-generation>h2{font-size:.875rem}.constellation-generation>h2:before{top:7px}.constellation-node{flex-wrap:wrap}.node-copy{flex-basis:130px}.node-copy strong{font-size:1.125rem}.node-copy>span{font-size:.875rem}.node-arrow{display:none}.hana-panel-header{gap:10px;padding:18px}.hana-panel-header h2{font-size:1rem}.hana-panel-header p{font-size:.875rem}.hana-panel-header>.badge{font-size:.7rem;flex-basis:auto}.hana-empty p:not(.eyebrow),.hana-aside p,.aside-note p{font-size:1rem}.chat-input-row{flex-wrap:wrap}.chat-input-row input{font-size:1rem;flex:1 1 180px}.chat-input-row button{font-size:.875rem;flex:1 1 70px}.chat-unavailable label,.chat-unavailable>p,.plain-checklist li{font-size:.875rem}.footer-brand small,.site-footer p{font-size:.75rem}.error-page p{font-size:1rem}}
@media print{body{padding:0;background:white}.site-header,.site-footer,.demo-preview,.actions,.generation-filters,.search-form,.skip-link{display:none}.container{width:100%}.page-heading{padding-top:0}.heritage-art,.universe-board,.universe-empty{print-color-adjust:exact;-webkit-print-color-adjust:exact}.person-card,.relation-panel,.generation-section{break-inside:avoid}.demo-banner{border:2px solid #795e1e}}

/* Stage 4 local family portal; progressive, no external fonts or animation. */
.test-banner{background:#122d3a;color:#ead8ad;text-align:center;padding:8px 12px;font-size:.8rem;letter-spacing:.04em}
.account-bar{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding-block:16px;border-bottom:1px solid var(--line)}
.account-bar form{margin:0 0 0 auto}.account-bar button{border:0;background:none;cursor:pointer;min-height:44px}
.web-section{padding-block:44px 64px;overflow-wrap:anywhere}.web-section.narrow{max-width:660px}.web-section h1{font:clamp(2rem,5vw,3.8rem)/1.12 var(--serif);margin:12px 0 24px}.web-section h2{font:1.8rem/1.3 var(--serif);margin-block:26px 16px}.web-section p{line-height:1.8;margin-block:14px}.web-section a:not(.button){text-decoration:underline;text-underline-offset:4px}.web-section .eyebrow{color:var(--emerald)}
.web-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;margin-bottom:44px}.web-root{background:var(--night);color:var(--gold-light);border:1px solid var(--gold);border-radius:150px 150px 22px 22px;padding:48px 26px;display:flex;align-items:center;text-align:center;flex-direction:column;gap:16px}.web-root strong{font:2rem var(--serif)}.web-root p,.web-root span{font-size:.85rem}
.panel{padding:26px;margin-block:20px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);min-width:0}.web-form{display:grid;gap:18px;max-width:900px}.web-form label{display:grid;gap:8px;font-size:1rem}.web-form input:not([type=checkbox]),.web-form select,.web-form textarea{font:inherit;width:100%;min-width:0;min-height:48px;border:1px solid #9caeaa;border-radius:9px;background:#fff;color:var(--ink);padding:12px;box-sizing:border-box}.web-form textarea{min-height:100px;resize:vertical}.web-form .button{justify-self:start}.web-form fieldset{margin:0}.web-form legend{padding:0 8px;font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.date-fields{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:12px;align-items:end}.date-fields>span{align-self:center}.web-form .check-label{display:flex;align-items:start;line-height:1.6;gap:12px}.check-label input{width:24px;height:24px;flex-shrink:0}.notice{background:#edf4ef;border-left:4px solid var(--emerald);padding:18px}.web-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.web-stats h3{font-size:1rem;font-weight:500}.stat-value{font:2.5rem var(--serif);color:var(--night)}.web-list{padding-left:24px}.web-list li{padding:12px 0;line-height:1.7}.payload{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5f2;border-radius:10px;padding:16px;font-size:.9rem}.photo-preview{max-width:100%;max-height:360px;border-radius:12px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-grid img{width:100%;height:auto;border-radius:12px}.assistant-dock{position:fixed;right:20px;bottom:100px;z-index:12;display:flex;gap:4px;max-width:calc(100vw - 40px)}.assistant-dock.on-left{left:20px;right:auto}.assistant-fab{background:var(--night);color:var(--gold-light);padding:14px 18px;border-radius:28px;box-shadow:0 5px 20px #122d3a26;text-decoration:none;min-height:48px}.assistant-dock button{border:1px solid var(--line);border-radius:24px;background:white;min-width:44px;min-height:44px;cursor:pointer}.chat-page{max-width:850px;min-height:65vh;display:flex;flex-direction:column}.chat-history{flex:1;padding-block:18px}.chat-answer{padding:24px;border:1px solid var(--line);border-radius:16px;background:white}.chat-composer{margin-top:24px;padding-bottom:20px}.muted{color:var(--muted)}details summary{min-height:44px;cursor:pointer;font-weight:600}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:680px){.web-section{padding-block:28px 64px}.web-hero{grid-template-columns:1fr;gap:26px}.web-root{border-radius:22px;padding:28px}.web-root img{width:60px;height:60px}.web-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.web-stats .panel{padding:18px;margin-block:4px}.stat-value{font-size:2rem}.form-grid{grid-template-columns:1fr}.date-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.date-fields>span{grid-column:1/-1}.web-form .button{width:100%;justify-self:stretch}.panel{padding:20px}.account-bar{gap:14px;font-size:.9rem}.account-bar>span{flex-basis:100%}.assistant-dock{bottom:94px;right:12px}.assistant-fab{padding:12px 14px}.chat-page{min-height:70vh}.web-section .actions{flex-wrap:wrap}}

/* Stage 4C: relationship graph. All movement is user-driven; no animation loop. */
.galaxy{margin-block:28px 36px;border:1px solid #37535c;border-radius:22px;overflow:hidden;color:#eff6f4;background:#102633;box-shadow:0 18px 50px #10273318}.galaxy[hidden]{display:none}.galaxy-top{display:flex;gap:20px;justify-content:space-between;padding:26px 26px 10px}.galaxy-top .eyebrow{color:#e7c77e}.galaxy-top h2{color:#f4e6c1;font-size:1.8rem;margin:8px 0}.galaxy-top p{font-size:.95rem;color:#cfdbdf;max-width:680px}.galaxy-badge{font-size:.8rem;white-space:nowrap;color:#c6ded7;margin-top:12px}.galaxy-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px}.galaxy button,.galaxy-search input{font:inherit;min-height:46px;border:1px solid #78999d;border-radius:10px;padding:10px 14px}.galaxy button{cursor:pointer;color:#eef6f3;background:#1b404b}.galaxy button:hover{background:#275564}.galaxy button:disabled{cursor:default;opacity:.65}.galaxy button:focus-visible,.galaxy input:focus-visible,.galaxy a:focus-visible{outline:3px solid #efd08b;outline-offset:3px}.galaxy-search{display:grid;gap:9px;padding:10px 24px}.galaxy-search>div{display:flex;gap:10px}.galaxy-search input{background:#f5f8f5;color:#132e3c;min-width:0;width:100%;font-size:1rem}.galaxy-results{padding:0 24px;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.galaxy-status{padding:0 24px;min-height:28px;color:#dce8e4;font-size:.9rem}.galaxy-viewport{height:clamp(440px,66vh,760px);background-color:#0e2330;background-image:radial-gradient(circle at 15% 20%,#e8ce9617 1px,transparent 2px),radial-gradient(circle at 70% 65%,#90c6cc14 1px,transparent 2px);background-size:90px 100px,130px 110px;border-block:1px solid #31505a;overflow:hidden}.galaxy-viewport svg{width:100%;height:100%;display:block;touch-action:none;user-select:none;cursor:grab}.galaxy-viewport svg:active{cursor:grabbing}.galaxy-viewport svg:focus-visible{outline:3px solid #e8c47f;outline-offset:-4px}.galaxy-edge{stroke:#9dbcc5;stroke-width:2;vector-effect:non-scaling-stroke;opacity:.8}.edge-adoptive{stroke-dasharray:8 5;stroke:#a7d7c1}.edge-unknown{stroke-dasharray:2 5}.edge-partnership{stroke:#edcda0;stroke-dasharray:8 5;stroke-width:2.5}.galaxy-union-label{font-size:16px;fill:#ffe5b4;paint-order:stroke;stroke:#102633;stroke-width:5px;stroke-linejoin:round}.galaxy-node{cursor:pointer;outline:none}.galaxy-halo{fill:#83bfbb10;stroke:#b9d3cf33;stroke-width:1.5;vector-effect:non-scaling-stroke}.galaxy-hit{fill:transparent;stroke:none;pointer-events:all}.galaxy-star{fill:#d4bf8a;stroke:#f4e4b7;stroke-width:1.5;vector-effect:non-scaling-stroke}.cluster-1 .galaxy-star{fill:#79b7d0;stroke:#c2e4f4}.cluster-2 .galaxy-star{fill:#66b79e;stroke:#bce7d7}.cluster-3 .galaxy-star{fill:#a9bfd2;stroke:#e0eaf4}.cluster-partner .galaxy-star{fill:#18384b;stroke:#eed4a5}.galaxy-root .galaxy-star{fill:#efd08b;stroke:#fff4d5}.galaxy-root .galaxy-halo{fill:#e2c17a17;stroke:#e9c47765}.galaxy-name{fill:#f0f5f1;font:17px ui-sans-serif,system-ui,sans-serif;font-weight:600;paint-order:stroke;stroke:#0e2330;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.galaxy-code{fill:#c6ded7;font:14px ui-sans-serif,system-ui,sans-serif;paint-order:stroke;stroke:#0e2330;stroke-width:4px;pointer-events:none}.galaxy-node:focus .galaxy-halo,.galaxy-node.is-selected .galaxy-halo{stroke:#fff3bd;stroke-width:3;fill:#efd08b20}.galaxy-bottom{padding:12px 24px;color:#c6d8da;font-size:.875rem}.galaxy-legend{display:flex;gap:18px;flex-wrap:wrap}.galaxy-selection{padding:22px 24px;background:#173541;border-top:1px solid #385b64}.galaxy-selection h3{font:1.5rem/1.4 var(--serif);margin:0}.galaxy-selection p{font-size:1rem}.galaxy-selection>div{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.galaxy a{color:#f2da9d}.has-galaxy .assistant-dock{position:static;justify-content:flex-end;max-width:none;margin:0 auto 24px;width:min(1180px,calc(100% - 36px))}.has-galaxy .assistant-dock.on-left{justify-content:flex-start}.has-galaxy #semesta-list{scroll-margin-top:20px}#semesta-list>.button{margin-bottom:24px}
@media(max-width:680px){.web-section h1,.hero-copy h1,.page-heading h1{font-size:clamp(1.9rem,8vw,2.45rem);line-height:1.2}.account-bar{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding-block:12px}.account-bar>span{grid-column:1/-1}.account-bar a{min-height:44px;display:flex;align-items:center}.account-bar form{margin:0;justify-self:end}.galaxy{border-radius:15px;margin-top:22px;margin-bottom:36px}.galaxy-top{padding:20px 16px 4px;display:block}.galaxy-top h2{font-size:1.5rem}.galaxy-badge{display:block;margin-block:8px}.galaxy-toolbar{padding:10px 14px;gap:7px}.galaxy-toolbar button{flex:1 1 125px;font-size:.875rem}.galaxy-toolbar button[aria-label]{flex-basis:50px;flex-grow:0}.galaxy-search{padding:10px 16px}.galaxy-search label{font-size:.9rem}.galaxy-status{padding-inline:16px;font-size:.875rem}.galaxy-viewport{height:58vh;min-height:400px;max-height:620px}.galaxy-bottom,.galaxy-selection{padding:16px}.galaxy-selection>div{gap:14px}.galaxy-selection button{width:100%}.galaxy-selection a{min-height:44px;display:flex;align-items:center}.galaxy-legend{gap:10px;font-size:.8rem}.galaxy-results{padding-inline:16px}.has-galaxy{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.galaxy *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Stage 4D: readable, camera-compensated glyphs; only the relationship space zooms. */
.galaxy-top{align-items:center}.galaxy-top>div{min-width:0}.galaxy-top>button{flex-shrink:0;border-color:#d9bd7c;color:#f9e6b8;background:#233e46}.galaxy-top p{margin-block:6px}.galaxy-name{font-size:16px;stroke-width:4px}.galaxy-root .galaxy-name{font-size:18px;font-weight:700}.galaxy-main .galaxy-name{font-weight:700}.galaxy-code{font-size:14px;stroke-width:4px}.galaxy-root .galaxy-star{filter:drop-shadow(0 0 7px #efd08b55)}.galaxy-main .galaxy-star{filter:drop-shadow(0 0 5px #a9dace33)}.galaxy-edge{opacity:.66}.galaxy-edge.is-related{opacity:1;stroke-width:3}.galaxy-union-label{font-size:14px}.galaxy button{min-height:48px;min-width:48px}.galaxy-viewport{height:clamp(560px,72vh,800px)}.galaxy-selection{padding:0}.galaxy-selection>summary{padding:16px 22px;font-size:1.1rem;line-height:1.5;color:#fff0c9;min-height:56px}.galaxy-detail-hint{display:inline-block;margin-left:12px;font-size:.85rem;font-weight:400;color:#cedfdf}.galaxy-detail-content{padding:0 22px 22px;overflow-wrap:anywhere}.galaxy-detail-content>div{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.galaxy-detail-content a{min-height:48px;display:inline-flex;align-items:center}.galaxy-search-panel{border-block:1px solid #385b64}.galaxy-search-panel>summary,.galaxy-bottom>summary{padding:12px 22px;min-height:48px;font-size:1rem}.galaxy-bottom{padding:0}.galaxy-bottom>p,.galaxy-bottom>button{margin:12px 22px}.galaxy-search-panel .galaxy-results{max-height:180px;overflow-y:auto}.galaxy-status{line-height:1.5;margin-block:10px!important}.galaxy-viewport{overscroll-behavior:contain}.galaxy-viewport svg{overscroll-behavior:contain}
body.exploring-semesta{overflow:hidden;overscroll-behavior:none}.galaxy.is-exploring{position:fixed;inset:0;z-index:100;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;max-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-sizing:border-box}.is-exploring>.galaxy-top,.is-exploring>.galaxy-toolbar,.is-exploring>.galaxy-status,.is-exploring>.galaxy-selection,.is-exploring>.galaxy-bottom,.is-exploring>.galaxy-search-panel{flex:0 0 auto}.is-exploring>.galaxy-top{padding:10px 16px;gap:12px}.is-exploring .galaxy-top .eyebrow,.is-exploring .galaxy-top p:not(.eyebrow){display:none}.is-exploring .galaxy-top h2{font:600 1.1rem/1.35 var(--sans);margin:0}.is-exploring .galaxy-top>button{font-size:.9rem;padding:8px 12px}.is-exploring>.galaxy-toolbar{padding:4px 14px 8px}.is-exploring>.galaxy-status{font-size:.85rem;padding-inline:16px;margin-block:5px!important}.is-exploring>.galaxy-viewport{flex:1 1 auto;height:auto;min-height:180px;max-height:none}.is-exploring>.galaxy-selection{max-height:30vh;max-height:30dvh;overflow-y:auto;overscroll-behavior:contain}.is-exploring>.galaxy-search-panel{max-height:35vh;max-height:35dvh;overflow-y:auto;overscroll-behavior:contain}.is-exploring>.galaxy-bottom{max-height:24vh;max-height:24dvh;overflow-y:auto}.is-exploring.is-keyboard>.galaxy-viewport{min-height:80px}.is-exploring.is-keyboard>.galaxy-bottom{display:none}
@media(max-width:680px){.galaxy-top{display:flex;flex-wrap:wrap;padding:18px 16px 8px}.galaxy-top h2{font-size:1.45rem}.galaxy-top>button{width:100%}.galaxy-toolbar{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 48px 48px;gap:6px;padding:8px 12px}.galaxy-toolbar button{padding:9px 6px;font-size:.85rem;min-width:0}.galaxy-toolbar button[data-graph-action=search]{grid-column:1}.galaxy-toolbar .galaxy-secondary{grid-column:auto;font-size:.85rem}.galaxy-toolbar button[data-graph-action=list]{grid-column:3/5}.galaxy-viewport{height:560px;min-height:560px;max-height:none}.galaxy-name{font-size:16px}.galaxy-selection>summary{padding:12px 16px;font-size:1.1rem}.galaxy-detail-content{padding:0 16px 16px}.galaxy-detail-content>div{display:grid;gap:10px}.galaxy-detail-hint{font-size:.8rem;margin-left:8px}.is-exploring>.galaxy-top{flex-wrap:nowrap}.is-exploring .galaxy-top>button{width:auto;max-width:145px}.is-exploring .galaxy-top h2{font-size:1rem}.is-exploring>.galaxy-toolbar{gap:5px;padding:4px 12px 6px}.is-exploring .galaxy-selection>summary{padding:10px 16px}.galaxy-search-panel>summary,.galaxy-bottom>summary{padding:10px 16px}}
@media(max-height:500px) and (orientation:landscape){.is-exploring>.galaxy-top{padding-block:4px}.is-exploring>.galaxy-toolbar{flex-wrap:nowrap;display:flex;padding-block:2px}.is-exploring .galaxy-toolbar button{flex:0 1 auto}.is-exploring>.galaxy-status{display:none}.is-exploring>.galaxy-selection{max-height:36dvh}.is-exploring>.galaxy-bottom:not([open]){display:none}.is-exploring>.galaxy-viewport{min-height:120px}}
@media(prefers-reduced-motion:reduce){.galaxy-root .galaxy-star,.galaxy-main .galaxy-star{filter:none}}

.galaxy-node.is-peripheral .galaxy-name,.galaxy-node.is-peripheral .galaxy-code{visibility:hidden}.galaxy-node.is-peripheral:focus .galaxy-name,.galaxy-node.is-peripheral:focus .galaxy-code{visibility:visible}.is-exploring .galaxy-toolbar .galaxy-secondary,.is-exploring .galaxy-toolbar button[data-graph-action=search]{display:none}
.galaxy-selection>.galaxy-detail-content{display:block}

/* Stage 4E: measured local-family layout on narrow screens; desktop sectors are retained. */
.galaxy-pages{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 14px;color:#deebe7;font-size:.9rem;border-bottom:1px solid #385b64}.galaxy-pages>span{flex:1 1 150px;text-align:center}.galaxy-pages button{font-size:.85rem}.is-exploring>.galaxy-pages{flex:0 0 auto}.is-compact .galaxy-name{font-size:16px}.is-compact .galaxy-root .galaxy-name{font-size:18px}.is-compact .galaxy-edge{stroke-linejoin:round;stroke-linecap:round;fill:none}.is-compact .galaxy-node.is-peripheral .galaxy-name{visibility:visible}.is-compact .galaxy-selection>summary{overflow-wrap:anywhere}.is-compact .galaxy-viewport{min-height:280px}.is-compact.is-exploring>.galaxy-viewport{min-height:140px;flex-shrink:1}.is-compact.is-exploring>.galaxy-top,.is-compact.is-exploring>.galaxy-toolbar{flex-shrink:0}.is-compact.is-exploring.is-keyboard>.galaxy-viewport{min-height:100px}.is-compact.is-exploring{overflow-y:auto;overscroll-behavior:contain}
.galaxy[aria-busy=true] .galaxy-viewport{position:relative}.galaxy[aria-busy=true] .galaxy-viewport svg{visibility:hidden}.galaxy[aria-busy=true] .galaxy-viewport:after{content:'Menyesuaikan peta keluarga…';position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#deebe7;font-size:1rem;pointer-events:none}

/* Stage 4F: Explore keeps one compact panel rail outside the graph. The 4E layout is unchanged. */
.galaxy-panel-controls{display:none}
.galaxy.is-exploring{top:var(--galaxy-visible-top,0px);bottom:auto;height:100vh;height:min(100dvh,var(--galaxy-visible-height,100dvh));max-height:100vh;max-height:min(100dvh,var(--galaxy-visible-height,100dvh));overflow:hidden}
.galaxy.is-exploring>.galaxy-top{order:0;flex:0 0 auto;min-height:56px;padding:4px 12px;gap:12px}.galaxy.is-exploring .galaxy-top h2{font-size:1rem;line-height:1.25}.galaxy.is-exploring .galaxy-top>button{min-height:48px;padding:8px 12px;white-space:nowrap}
.galaxy.is-exploring>.galaxy-toolbar{order:1;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 48px 48px;gap:6px;padding:4px 12px}.galaxy.is-exploring .galaxy-toolbar button{min-width:0;min-height:48px;font-size:.875rem;padding:8px 6px}.galaxy.is-exploring .galaxy-toolbar .galaxy-secondary,.galaxy.is-exploring .galaxy-toolbar button[data-graph-action=search]{display:none}
.galaxy.is-exploring>.galaxy-status{order:2}.galaxy.is-exploring>.galaxy-status:not(.is-notice){display:block;position:absolute;width:1px;min-height:0;height:1px;padding:0;margin:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.galaxy.is-exploring>.galaxy-status.is-notice{display:block;position:static;flex:0 1 auto;max-height:12dvh;overflow-y:auto;margin:4px 12px!important;padding:6px 10px;border-left:3px solid #efd08b;background:#173541;line-height:1.45}
.galaxy.is-exploring>.galaxy-viewport{order:3;flex:1 1 0;min-height:80px;height:auto;max-height:none}.galaxy.is-exploring>.galaxy-pages{order:4;flex:0 1 auto;max-height:18dvh;overflow-y:auto}
.galaxy.is-exploring>.galaxy-panel-controls{order:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;gap:6px;padding:4px 12px;border-top:1px solid #385b64;background:#102633}.galaxy.is-exploring .galaxy-panel-controls button{min-width:0;min-height:48px;padding:8px;font-size:.95rem}.galaxy.is-exploring .galaxy-panel-controls button[aria-expanded=true]{border-color:#efd08b;background:#28515a;color:#fff0c9}
.galaxy.is-exploring>.galaxy-selection,.galaxy.is-exploring>.galaxy-search-panel,.galaxy.is-exploring>.galaxy-bottom{order:6;flex:0 1 auto;min-height:0;max-height:28vh;max-height:min(28dvh,240px);overflow-y:auto;overscroll-behavior:contain;background:#173541}.galaxy.is-exploring>details:not([open]){display:none}.galaxy.is-exploring>details[open]{display:block}.galaxy.is-exploring>details>summary{min-height:48px;padding:10px 16px;line-height:1.4}.galaxy.is-exploring .galaxy-detail-hint{font-size:.8rem}.galaxy.is-exploring .galaxy-detail-content{font-size:1rem;line-height:1.6}.galaxy.is-exploring .galaxy-detail-content p{margin-block:10px;overflow-wrap:anywhere}.galaxy.is-exploring.is-keyboard>.galaxy-viewport{min-height:0}

/* Stage 5A: scoped registration controls; Semesta selectors are unchanged. */
.registration .registration-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;gap:10px;font-size:1rem;color:var(--night)}
.registration-progress li{padding:12px;border:1px solid var(--line);border-radius:9px;background:white}.registration-progress [aria-current=step]{background:var(--night);color:var(--gold-light);border-color:var(--gold)}
.registration .registration-actions{display:flex;flex-wrap:wrap;gap:12px;padding-block:20px}.registration .registration-actions .button{flex:1 1 140px;width:auto;min-height:48px}.registration fieldset{min-width:0}.registration input,.registration select,.registration textarea{font-size:1rem}.registration [role=alert]{color:#842820}.registration dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}.registration dd{margin:0}.registration .photo-preview{display:block;max-height:260px;margin-block:16px}.registration .notice a{color:inherit}

/* Stage 5A mobile review: registration and tickets only; native page zoom stays enabled. */
.has-registration .web-section{touch-action:auto;min-width:0}
.has-registration .ticket-page{max-width:820px}
.has-registration .ticket-number{font:600 clamp(1.25rem,4vw,1.8rem)/1.4 var(--sans);letter-spacing:0;overflow-wrap:anywhere}
.has-registration .web-section h2{font-size:1.35rem;line-height:1.4;margin-block:16px 12px}
.has-registration .web-section p{line-height:1.6;margin-block:10px}
.has-registration .web-form,.has-registration .web-form label,.has-registration .web-form fieldset{min-width:0;max-width:100%}
.has-registration .web-form legend{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.has-registration .registration fieldset.panel{display:grid;gap:14px}
.has-registration .web-form .check-label input{width:24px;min-width:24px;height:24px;min-height:24px;padding:0;flex:0 0 24px}
.has-registration .web-form .check-label{min-height:44px;align-items:center}
.has-registration .individual-content{display:grid;gap:14px;padding-top:12px;min-width:0}
.has-registration .individual-content fieldset{padding:12px;border:1px solid var(--line);border-radius:8px}
.has-registration summary{min-height:48px;padding-block:10px;cursor:pointer;overflow-wrap:anywhere;line-height:1.5}
.has-registration .individual-summary>summary strong{font-size:1.125rem}
.has-registration .individual-summary>summary span{display:block;color:var(--muted);font-size:.875rem}
.has-registration .individual-summary:not([open]){padding-block:8px}
.has-registration .registration dl{margin:0}
.has-registration .registration dd{min-width:0;overflow-wrap:anywhere}
.has-registration .decision-history li{padding-block:10px;border-bottom:1px solid var(--line)}
.has-registration .assistant-dock{position:static;justify-content:flex-end;width:calc(100% - 32px);max-width:820px;margin:0 auto 20px}
.has-registration .assistant-dock.on-left{justify-content:flex-start}
@media(max-width:680px){
  body.has-registration{padding-bottom:calc(var(--registration-nav-height,120px) + 20px)}
  .has-registration .container{width:calc(100% - 32px)}
  .has-registration .web-section{padding-block:22px 32px}
  .has-registration .web-section h1:not(.ticket-number){font-size:1.75rem;line-height:1.25;margin-block:10px 20px}
  .has-registration .panel{padding:16px;margin-block:14px}
  .has-registration .web-form,.has-registration .form-grid{gap:14px}
  .has-registration .registration-progress{gap:8px;font-size:.875rem;line-height:1.4}
  .has-registration .registration-progress li{padding:9px;min-width:0}
  .has-registration .registration-actions{gap:10px;padding-block:14px}
  .has-registration .web-form input,.has-registration .web-form select,.has-registration .web-form textarea{font-size:1rem;padding:10px}
  .has-registration .button{min-height:48px;font-size:1rem;padding:10px 14px;white-space:normal}
  .has-registration .registration dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .has-registration .registration dd{margin-bottom:10px}
  .has-registration .registration dt{font-weight:600}
  .has-registration .primary-nav a{min-width:0;font-size:.875rem;line-height:1.25;overflow-wrap:anywhere;padding-inline:2px}
  .has-registration .primary-nav a svg{flex-shrink:0}
  .has-registration .web-form :is(input,select,textarea,button),.has-registration summary{scroll-margin-bottom:calc(var(--registration-nav-height,120px) + 24px)}
}

/* Stage 5B: full page structured assistant; no fixed composer or gesture interception. */
.has-assistant .assistant-chat{max-width:800px;min-height:calc(100vh - 220px);min-height:calc(100svh - 220px)}
.has-assistant .assistant-dock{display:none}
.has-assistant .assistant-mode{color:var(--emerald);font-weight:600}
.has-assistant .chat-answer,.has-assistant .chat-user{padding:16px 20px;border-radius:14px;overflow-wrap:anywhere;margin-block:16px}
.has-assistant .chat-answer{background:var(--night);color:#fff4d8;border-left:3px solid var(--gold)}
.has-assistant .chat-user{background:var(--emerald-soft);border:1px solid var(--line);margin-left:16px}
.has-assistant .chat-composer{position:static;max-width:100%;scroll-margin-block:24px calc(var(--registration-nav-height,120px) + 24px)}
.has-assistant .chat-composer textarea{min-height:88px;resize:vertical}
.has-assistant .chat-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-block:16px}
.has-assistant .chat-actions>form{flex:1 1 190px;margin:0;min-width:0}
.has-assistant .chat-actions .button{width:100%}
.has-assistant .chat-collected dl{margin:8px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.has-assistant .chat-collected dd{margin:0 0 8px;white-space:pre-wrap}
.has-assistant .photo-preview{display:block;max-height:260px;margin-block:12px}
.has-assistant .assistant-chat>.registration{width:100%;padding-block:16px}
@media(max-width:680px){.has-assistant .chat-answer,.has-assistant .chat-user{padding:14px}.has-assistant .chat-actions>.button{flex:1 1 140px}.has-assistant .chat-composer{margin-block:16px}.has-assistant .chat-collected{margin-block:14px}.has-assistant .chat-user{margin-left:8px}}

/* Assistant popup: native dialog, native text input and accessible page zoom. */
body.has-ai-popup{padding-bottom:calc(var(--assistant-nav-height,0px) + 96px)}
body.ai-is-open{overflow:hidden}
.has-ai-popup .assistant-dock[data-assistant-dock]{display:flex;position:fixed;inset:auto 16px calc(var(--assistant-nav-height,0px) + 16px) auto;z-index:30;margin:0;gap:6px;max-width:calc(100% - 32px)}
.has-ai-popup .assistant-dock[data-assistant-dock].on-left{left:16px;right:auto}
.has-ai-popup .assistant-fab{background:#17232b;color:#f1d18b;border:1px solid #b99c60;border-radius:100px;box-shadow:0 5px 22px #0003;font-size:1rem;min-height:48px;padding:10px 16px}
.has-ai-popup .assistant-dock button{min-width:44px;min-height:48px;border-radius:50%;background:#17232b;color:#f1d18b;border:1px solid #b99c60}
.ai-is-open .assistant-dock[data-assistant-dock],.ai-input-active .assistant-dock[data-assistant-dock]{visibility:hidden}
.ai-popup{color-scheme:dark;position:fixed;inset:calc(var(--ai-top,0px) + max(16px,calc(var(--ai-height,100dvh) - 656px))) 20px auto auto;margin:0;padding:0;width:min(450px,calc(100% - 32px));max-width:100%;height:min(640px,calc(var(--ai-height,100dvh) - 32px));max-height:calc(var(--ai-height,100dvh) - 16px);border:1px solid #887548;border-radius:22px;background:#111a20;color:#f4f1e8;box-shadow:0 18px 70px #0008;font-size:1rem;line-height:1.55;overflow:hidden}
.ai-popup::backdrop{background:#0b1018a6}
.ai-popup:not([open]){display:none}
.ai-popup [hidden]{display:none!important}
.ai-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}
.ai-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #ffffff18}
.ai-header>div{min-width:0}
.ai-header h2{font-size:1.1rem;color:#f8e2b2;margin:0;line-height:1.4}
.ai-header p{margin:2px 0 0;font-size:.9rem;color:#c2c9cc}
.ai-emblem{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#edd18d;background:#c2a56a18;font-size:1.5rem;flex-shrink:0}
.ai-popup button{font:inherit;cursor:pointer;min-height:46px;touch-action:manipulation}
.ai-popup .ai-icon{margin-left:auto;flex-shrink:0;min-width:46px;border:1px solid #ffffff28;border-radius:12px;background:transparent;color:#efe6d4;font-size:1.6rem}
.ai-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px 16px;scroll-padding-block:14px}
.ai-popup .ai-mode{margin:0 0 12px;padding:6px 8px;border-radius:8px;color:#e3c988;background:#c2a56a0c;font-size:.8rem;line-height:1.4}
.ai-setup{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #ffffff18}
.ai-messages{min-width:0}
.ai-popup .ai-bubble{padding:14px 16px;background:#1d2a32;border:1px solid #ffffff0c;border-radius:4px 18px 18px;margin:0 16px 14px 0;overflow-wrap:anywhere}
.ai-popup .ai-bubble p{margin:0 0 12px;color:inherit}
.ai-popup .ai-bubble p:last-child{margin-bottom:0}
.ai-popup .ai-own{background:#453c28;border-color:#c2a56a30;margin-left:24px;margin-right:0;border-radius:18px 4px 18px 18px;white-space:pre-wrap}
.ai-popup .ai-example{color:#f0d598}
.ai-popup .ai-small,.ai-popup .ai-help small{font-size:.85rem;color:#b9c5cb;line-height:1.45}
.ai-popup .ai-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6px 12px;margin:10px 0;padding:0}
.ai-popup .ai-summary dt{color:#f6e4b9;font-weight:600;margin:0}
.ai-popup .ai-summary dd{margin:0;color:#e1e7e9}
.ai-popup .ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ai-popup .ai-actions button{flex:0 1 auto;padding:8px 12px;min-height:44px;font-size:.9rem;border-radius:10px;white-space:normal}
.ai-popup .ai-primary,.ai-popup .ai-send{background:#e6c681;color:#1a2025;border:1px solid #e6c681;font-weight:700}
.ai-popup .ai-secondary{background:transparent;color:#f4deb0;border:1px solid #bda36b}
.ai-popup .ai-feedback{margin-bottom:12px;color:#f0d598;font-size:.9rem;overflow-wrap:anywhere}
.ai-popup .ai-feedback:empty{display:none}
.ai-popup .ai-composer{min-width:0;margin:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #ffffff18;background:#141f26}
.ai-popup .ai-input-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ai-popup .ai-setup>label:not(.ai-consent){display:block;font-size:.9rem;margin-bottom:6px;color:#e4e9eb}
.ai-popup .ai-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px;font-size:.85rem;line-height:1.45;color:#d3dce0;cursor:pointer;min-height:44px}
.ai-popup .ai-consent input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:#e6c681}
.ai-popup .ai-input-row{display:flex;gap:8px;align-items:flex-end}
.ai-popup textarea,.ai-popup select{font:inherit;font-size:1rem;width:100%;min-width:0;padding:10px 12px;border:1px solid #52616a;border-radius:12px;background:#0f181e;color:#fff;box-sizing:border-box}
.ai-popup textarea{min-height:48px;height:calc(2.8em + 16px);resize:none;overflow:hidden;line-height:1.4;padding-block:8px}
.ai-popup select{margin-bottom:10px}
.ai-popup .ai-send{width:48px;min-width:48px;border-radius:12px;font-size:1.5rem}
.ai-popup a{color:#f3d495;text-underline-offset:3px;overflow-wrap:anywhere}
.ai-popup .ai-fallback{display:inline-block;font-size:.9rem;padding-block:8px;min-height:44px}
.ai-help small{display:block}
.ai-popup :focus-visible{outline:3px solid #f1d18b;outline-offset:3px}
.ai-popup button:disabled{opacity:.5;cursor:default}
.ai-popup.ai-compact .ai-header{padding-block:6px}
.ai-popup.ai-compact .ai-header p{display:none}
.ai-popup.ai-compact .ai-composer{padding-block:8px}
.ai-popup.ai-compact textarea{height:calc(1.4em + 16px)}
@media(max-width:680px){.ai-popup{inset:calc(var(--ai-top,0px) + max(8px,calc(var(--ai-height,100dvh) - 648px))) 8px auto;width:calc(100% - 16px);height:min(640px,calc(var(--ai-height,100dvh) - 16px));border-radius:18px}.ai-header{padding-inline:12px}.ai-body{padding:12px}.ai-popup .ai-bubble{margin-right:8px;padding:12px}.ai-popup .ai-own{margin-right:0;margin-left:20px}.ai-popup .ai-composer{padding-inline:12px}}
@media(max-height:500px){.ai-popup .ai-header{padding-block:6px}.ai-popup .ai-header p{display:none}.ai-popup .ai-composer{padding-block:8px}.ai-popup textarea{height:calc(1.4em + 16px)}}
