:root{--canvas:#e8ddd0;--ink:#201c19;--muted:#655c55;--panel:#fffcf7c2;--line:#372a1d1f;--shadow:0 22px 60px #261b1224;--shell-canvas:#ddd8cf;--shell-panel:#fcfaf6d1;--shell-line:#39342e1a;--shell-shadow:0 24px 64px #211d181f;--shell-ink:#22201d;--shell-muted:#6c655f;--shell-accent:#6a625b;--shell-accent-soft:#6a625b1a;--theme-page:linear-gradient(180deg, #f5efe7 0%, #efe5d6 100%);--theme-card:#fffbf6f0;--theme-card-strong:#fffdf9;--theme-accent:#7f4741;--theme-accent-soft:#7f474124;--theme-heading:#251c17;--theme-subtle:#70645a}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--shell-ink);background:linear-gradient(#5e564e09 1px, transparent 1px), linear-gradient(90deg, #5e564e09 1px, transparent 1px), radial-gradient(circle at top left, #ffffffad, transparent 30%), radial-gradient(circle at right 18%, #786e621f, transparent 22%), linear-gradient(180deg, #ebe7df 0%, var(--shell-canvas) 100%);background-size:28px 28px,28px 28px,auto,auto,auto;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body.shell-palette-stone{--shell-canvas:#ddd8cf;--shell-panel:#fcfaf6d1;--shell-line:#39342e1a;--shell-shadow:0 24px 64px #211d181f;--shell-ink:#22201d;--shell-muted:#6c655f;--shell-accent:#6a625b;--shell-accent-soft:#6a625b1a}body.shell-palette-navy{--shell-canvas:#d8dee8;--shell-panel:#f7faffd1;--shell-line:#2b38501f;--shell-shadow:0 24px 64px #1a243424;--shell-ink:#1a2432;--shell-muted:#5d6c81;--shell-accent:#334966;--shell-accent-soft:#3349661f}body.shell-palette-sage{--shell-canvas:#dbe2d9;--shell-panel:#f8fcf7d1;--shell-line:#3d4f3d1a;--shell-shadow:0 24px 64px #1f2d1f1f;--shell-ink:#20281f;--shell-muted:#627060;--shell-accent:#566a52;--shell-accent-soft:#566a521c}body.shell-palette-ivory{--shell-canvas:#ece4d7;--shell-panel:#fffdf9db;--shell-line:#52433017;--shell-shadow:0 24px 64px #2a21161a;--shell-ink:#261f18;--shell-muted:#7a6c5c;--shell-accent:#8a7056;--shell-accent-soft:#8a70561a}body.shell-palette-charcoal{--shell-canvas:#1e232b;--shell-panel:#222831d1;--shell-line:#b8c6d61f;--shell-shadow:0 24px 64px #070a0e57;--shell-ink:#f0f3f6;--shell-muted:#b5c0cb;--shell-accent:#8ea6bd;--shell-accent-soft:#8ea6bd1f}body.shell-palette-plum{--shell-canvas:#2a2230;--shell-panel:#322839d6;--shell-line:#d8c7dc1f;--shell-shadow:0 24px 64px #0f081257;--shell-ink:#f4eef6;--shell-muted:#c6b7c9;--shell-accent:#c694b5;--shell-accent-soft:#c694b524}body.shell-palette-mist{--shell-canvas:#dfe5ea;--shell-panel:#f9fbfdd6;--shell-line:#5767781c;--shell-shadow:0 24px 64px #222d381f;--shell-ink:#202a33;--shell-muted:#677684;--shell-accent:#5d7a95;--shell-accent-soft:#5d7a951f}body.shell-palette-sand{--shell-canvas:#e7dece;--shell-panel:#fffbf4d6;--shell-line:#67543e1a;--shell-shadow:0 24px 64px #3025181a;--shell-ink:#2b2118;--shell-muted:#7c6e60;--shell-accent:#a77e52;--shell-accent-soft:#a77e521f}.app-shell-page{padding:0 0 28px}.app-shell{grid-template-columns:1fr;gap:24px;width:min(1500px,100vw - 32px);margin:0 auto;padding:24px 0;display:grid}.sidebar,.builder-panel,.preview-panel{border:1px solid var(--shell-line);box-shadow:var(--shell-shadow);background:color-mix(in srgb, var(--shell-panel) 92%, white 8%);border-radius:28px}.sidebar{grid-template-columns:1fr;align-items:start;gap:16px;padding:22px 28px;display:grid}.sidebar-intro{gap:16px;display:grid}.sidebar-brand{align-items:center;gap:14px;display:flex}.sidebar-intro-copy{gap:12px;display:grid}.sidebar-brand-mark{background:radial-gradient(circle at top left, #fff6, transparent 45%), linear-gradient(160deg, var(--shell-accent) 0%, #c99763e0 100%);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 14px 28px #211d1824}.sidebar-brand-mark span{letter-spacing:.04em;font-family:ui-serif,Georgia,serif;font-size:1.2rem;font-weight:700}.sidebar-brand-copy{gap:2px;display:grid}.sidebar-brand-copy strong{font-size:.98rem}.eyebrow,.hero-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--shell-accent);margin:0 0 10px;font-size:.72rem}h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4,h5{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}h1{max-width:10ch;font-size:clamp(2.2rem,3vw,3.5rem);line-height:.98}.sidebar h1{max-width:11ch;font-size:clamp(1.35rem,1.8vw,2rem);line-height:1.02}.section-head p,.section-subhead p,.field span,.choice-card span,.summary-box p,.value-chip span,.pricing-card span,.tree-style-card p{color:var(--shell-muted);line-height:1.55}.top-step-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:min(760px,100%);display:grid}.top-step-link{color:var(--shell-ink);font:inherit;cursor:pointer;text-align:left;background:#ffffff8f;border:1px solid #5f463814;border-radius:16px;justify-items:start;gap:6px;padding:10px 12px;transition:border-color .16s,background .16s,transform .16s;display:grid}.top-step-link span{background:var(--shell-accent-soft);border-radius:999px;place-items:center;min-width:30px;height:30px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-grid}.top-step-link small{color:var(--shell-muted);font-size:.78rem;line-height:1.2}.top-step-link.is-active{background:color-mix(in srgb, var(--shell-accent-soft) 82%, white 18%);border-color:color-mix(in srgb, var(--shell-accent) 22%, white 78%);box-shadow:inset 0 1px #ffffff6b}.top-step-link.is-active small{color:var(--shell-ink);font-weight:700}.workspace-topbar,.preview-head,.tree-preview-head{justify-content:space-between;gap:16px;display:flex}.workspace-topbar{margin-bottom:14px}.preview-head{align-items:end;margin-bottom:14px}.preview-lead{letter-spacing:.1em;text-transform:uppercase;color:var(--shell-accent);margin:0 0 8px;font-size:1rem;font-weight:800}.preview-head h3{font-size:clamp(1.24rem,1.7vw,1.7rem);line-height:1.04}.preview-head .preview-chip{align-self:start;font-size:.78rem;line-height:1.2}.topbar-meta{grid-template-columns:minmax(190px,240px) minmax(0,1fr);align-items:start;gap:14px;width:100%;display:grid}.save-status-card{background:#fff9;border:1px solid #5f463814;border-radius:18px;padding:12px 14px}.save-status-card span,.save-status-card small{color:var(--shell-muted);display:block}.save-status-card span{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.save-status-card strong{margin:4px 0 2px;font-size:.98rem;display:block}.save-status-card small{font-size:.78rem}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.builder-panel,.preview-panel{padding:24px}.preview-panel{align-self:start;min-height:calc(100vh - 28px);max-height:calc(100vh - 28px);display:flex;position:sticky;top:18px}.preview-scroll{scrollbar-width:thin;scrollbar-color:#7f474159 transparent;flex:1;min-height:0;padding-right:6px;overflow-y:auto}.preview-scroll::-webkit-scrollbar{width:10px}.preview-scroll::-webkit-scrollbar-thumb{background:#7f474147 padding-box content-box;border:2px solid #0000;border-radius:999px}.section-head{margin-bottom:20px}.section-head h3{margin-bottom:8px;font-size:1.6rem}.field-grid,.module-grid,.value-strip,.tree-style-gallery,.import-review-grid,.review-note-list,.preview-gedcom-review{gap:12px;display:grid}.field-grid,.module-grid,.value-strip,.review-note-list,.tree-style-gallery,.preview-gedcom-review{grid-template-columns:repeat(2,minmax(0,1fr))}.import-review-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field-wide{grid-column:1/-1}.option-section,.pricing-grid,.step-actions,.theme-swatches,.domain-grid,.tree-style-gallery,.import-review-grid{margin-top:18px}.field{gap:8px;display:grid}.field span{color:#4d4742;font-size:.92rem;font-weight:700}.field input,.field textarea,.field select{width:100%;font:inherit;background:#ffffffeb;border:1px solid #5f46381f;border-radius:16px;padding:14px 15px}.choice-row,.pricing-grid{gap:12px;display:grid}.choice-card,.module-toggle,.value-chip,.tree-style-card,.pricing-card,.import-stat-card,.preview-review-note,.preview-stat-card{background:#ffffffb8;border:1px solid #5f463814;border-radius:20px;padding:16px}.choice-card,.pricing-card{cursor:pointer}.choice-card{gap:8px;display:grid}.choice-card input,.pricing-card input{opacity:0;pointer-events:none;position:absolute}.choice-card.is-selected,.pricing-card.is-selected{background:color-mix(in srgb, var(--shell-accent-soft) 84%, white 16%);border-color:color-mix(in srgb, var(--shell-accent) 24%, white 76%);box-shadow:0 12px 24px color-mix(in srgb, var(--shell-accent) 10%, transparent)}.tree-style-card:hover{background:color-mix(in srgb, var(--shell-accent-soft) 62%, white 38%);border-color:color-mix(in srgb, var(--shell-accent) 18%, white 82%)}.tree-style-card{cursor:default}.choice-card-copy{gap:6px;display:grid}.choice-card-copy strong,.choice-card-copy span,.choice-card>strong,.choice-card>span,.pricing-card strong,.pricing-card span{display:block}.module-toggle{align-items:center;gap:10px;display:flex}.pricing-card b,.import-stat-card strong,.preview-stat-card strong{font-family:ui-serif,Georgia,serif}.import-stat-card strong,.preview-stat-card strong,.preview-review-note strong,.person-copy strong{display:block}.import-stat-card strong{font-size:1.45rem;line-height:1.05}.preview-chip,.density-badge,.cost-badge,.package-badge,.import-badge{border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;display:inline-flex}.preview-chip,.density-badge,.import-badge,.package-badge{color:#6e423c;background:#7f47411a}.cost-badge{color:var(--theme-accent);background:#ffffffb8}.preview-summary{background:#ffffff94;border-radius:22px;align-items:start;gap:12px;margin-top:14px;padding:16px;display:grid}.summary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.summary-pair{gap:5px;min-width:0;display:grid}.preview-section{scroll-margin-top:12px;transition:box-shadow .18s,transform .18s,border-color .18s}.preview-section.is-focused{box-shadow:0 0 0 2px #7f47412e,0 14px 28px #23181114}.summary-pair strong{overflow-wrap:anywhere;word-break:break-word;font-size:clamp(.94rem,1.18vw,1.08rem);line-height:1.12}.summary-pair span,.site-domain,.preview-review-note span,.preview-stat-card span,.import-stat-card span,.hero-meta-row span,.launch-footer span{color:var(--theme-subtle);font-size:.82rem}.summary-pair span{letter-spacing:.02em}.site-preview{background:var(--theme-page);color:var(--theme-heading);border:1px solid #372a1d14;border-radius:28px;margin-top:18px;padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 34px #23181114}.site-preview:before{content:"";background:radial-gradient(circle at top right, var(--theme-accent-soft), transparent 52%), linear-gradient(180deg, #ffffff85, transparent 100%);pointer-events:none;height:92px;position:absolute;inset:0 0 auto}.preview-ribbon-row,.hero-meta-row,.launch-footer,.import-badges{flex-wrap:wrap;gap:10px;display:flex}.preview-ribbon-row{margin-bottom:12px}.preview-gedcom-review{margin-top:14px}.preview-gedcom-review>.preview-review-note:only-child{grid-column:1/-1}.site-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.site-preview.logo-center .site-header{text-align:center;flex-direction:column}.site-preview.logo-right .site-header{text-align:right;flex-direction:row-reverse}.preview-logo{color:#fff;background:var(--theme-accent);border-radius:18px;place-items:center;width:56px;height:56px;font-family:ui-serif,Georgia,serif;font-size:1.35rem;display:grid}.site-preview.size-small .preview-logo{width:48px;height:48px}.site-preview.size-large .preview-logo{width:70px;height:70px}.site-header-copy h4{margin-top:4px;font-size:1.5rem}.site-header-copy p:last-child,.module-preview-card p,.hero-card p:last-child{color:var(--theme-subtle);margin-top:6px;line-height:1.55}.hero-card,.module-preview-card,.tree-preview-card,.import-preview-card,.map-preview-card{background:var(--theme-card);border:1px solid #56433614;border-radius:24px;padding:16px;box-shadow:0 12px 26px #2318110f}.site-preview .eyebrow,.site-preview .hero-kicker{color:var(--theme-accent)}.app-shell-footer{text-align:center;width:min(1500px,100vw - 32px);color:var(--shell-muted);margin:0 auto;padding:0 0 10px}.app-shell-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:10px;font-size:.96rem;display:flex}.app-shell-footer a{color:var(--shell-muted);text-decoration:none}.app-shell-footer a:hover{color:var(--shell-accent)}.app-shell-footer p{color:var(--shell-muted);font-size:.94rem}.legal-page{width:min(900px,100vw - 32px);margin:0 auto;padding:40px 0 56px}.legal-card{border:1px solid var(--shell-line);background:color-mix(in srgb, var(--shell-panel) 92%, white 8%);box-shadow:var(--shell-shadow);border-radius:28px;padding:28px}.legal-card h1{max-width:none;margin-bottom:14px;font-size:clamp(2.2rem,4vw,3.2rem)}.legal-intro{color:var(--shell-muted);margin-bottom:22px;font-size:1.05rem;line-height:1.65}.legal-section+.legal-section{margin-top:20px}.legal-section h2{margin-bottom:8px;font-size:1.2rem}.legal-section p,.legal-back{color:var(--shell-muted);line-height:1.7}.legal-card a{color:var(--shell-accent)}.legal-back{margin-top:26px}.hero-meta-row,.launch-footer{margin-top:14px}.hero-meta-row div,.launch-footer div{background:#ffffff8a;border-radius:16px;min-width:130px;padding:10px 12px}.detail-pair-card,.preview-review-note{gap:4px;display:grid}.detail-label{display:block}.detail-label:after{content:":";margin-left:.15em}.module-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.module-preview-card.module-wide{grid-column:1/-1}.tree-preview-card,.import-preview-card,.map-preview-card{margin-top:14px}.map-preview-head,.tree-preview-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.tree-preview-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.map-preview-toggle{color:var(--theme-subtle);align-items:center;gap:8px;font-size:.84rem;display:inline-flex}.map-preview-toggle input{accent-color:var(--theme-accent)}.map-preview-canvas{background:#dfe9f3;border:1px solid #5f463814;border-radius:20px;margin-top:14px;overflow:hidden}.map-preview-list{gap:10px;margin-top:12px;display:grid}.map-preview-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:#fffbf6db;border:1px solid #5f46381a;border-radius:16px;padding:12px 14px}.map-preview-item strong,.map-preview-item span{display:block}.map-preview-item strong{margin-bottom:4px}.map-preview-item span{font-size:.82rem}.map-preview-canvas .leaflet-container{width:100%;height:100%;font:inherit}.map-preview-canvas .leaflet-popup-content-wrapper,.map-preview-canvas .leaflet-popup-tip{box-shadow:0 10px 24px #27181029}.map-preview-canvas .leaflet-popup-content{margin:10px 12px;font-size:.82rem;line-height:1.45}.map-preview-canvas .leaflet-control-zoom a{color:var(--theme-heading)}.tree-preview-frame{margin-top:14px}.tree-preview-stage{isolation:isolate;background:linear-gradient(#7a65530a 1px, transparent 1px), linear-gradient(90deg, #7a65530a 1px, transparent 1px), var(--theme-card-strong);background-size:30px 30px,30px 30px,auto;border-radius:20px;width:100%;min-height:0;position:relative;overflow:hidden}.tree-preview-stage.horizontal{cursor:grab;scrollbar-width:thin;scrollbar-color:#7f474159 transparent;min-height:372px;padding:16px 16px 28px;overflow:auto hidden}.tree-preview-stage.horizontal::-webkit-scrollbar{height:10px}.tree-preview-stage.horizontal:active{cursor:grabbing}.tree-preview-stage.horizontal::-webkit-scrollbar-thumb{background:#7f474147 padding-box content-box;border:2px solid #0000;border-radius:999px}.tree-preview-surface{width:100%;height:100%;position:relative}.tree-preview-canvas{position:absolute;inset:0}.tree-preview-surface.horizontal{position:relative}.tree-preview-canvas.horizontal{position:absolute;inset:0 auto auto 0}.tree-zoom-controls{background:#ffffffc7;border:1px solid #5f46381a;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.tree-zoom-btn{width:28px;height:28px;color:var(--theme-accent);font:inherit;cursor:pointer;background:#7f47411a;border:none;border-radius:999px;font-weight:800}.tree-zoom-label{text-align:center;min-width:44px;color:var(--theme-subtle);font-size:.8rem;font-weight:700}.tree-preview-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-preview-line{stroke:#7080969e;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.tree-preview-node{position:absolute}.tree-preview-node .person-card{width:100%;height:100%}.tree-preview-node .vertical-card,.tree-preview-node .compact-card{grid-template-rows:42% 58%;display:grid}.tree-preview-node .horizontal-card{grid-template-columns:40px 1fr;align-items:center;gap:8px;min-height:0;padding:8px 10px;display:grid}.tree-preview-node .horizontal-card .person-visual{border-radius:12px;width:40px;height:40px}.tree-preview-node .vertical-card .person-visual,.tree-preview-node .compact-card .person-visual{height:100%;min-height:0}.tree-preview-node .person-copy{align-content:center;min-height:0;padding:8px 10px;display:grid}.tree-preview-node .horizontal-card .person-copy{padding:0}.tree-preview-node .vertical-card .person-copy,.tree-preview-node .compact-card .person-copy{transform:translate(var(--preview-vertical-text-x,0px), var(--preview-vertical-text-y,0px))}.tree-preview-node .horizontal-card .person-copy{transform:translate(var(--preview-horizontal-text-x,0px), var(--preview-horizontal-text-y,0px))}.tree-preview-node .vertical-card.portrait-style .person-visual,.tree-preview-node .vertical-card.avatar-style .person-visual,.tree-preview-node .horizontal-card.portrait-style .person-visual,.tree-preview-node .horizontal-card.avatar-style .person-visual{transform:none}.tree-preview-node .person-copy strong,.tree-preview-node .person-copy span{overflow-wrap:break-word;word-break:normal}.tree-preview-node .person-copy strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tree-preview-node .person-copy span{text-overflow:ellipsis;overflow:hidden}.tree-preview-node .horizontal-card .person-copy strong{font-size:.73rem;line-height:1.03}.tree-preview-node .horizontal-card .person-copy span{font-size:.67rem}.person-card{background:#fff;border:1px solid #5241341a;border-radius:18px;overflow:hidden;box-shadow:0 8px 18px #2718100f}.horizontal-card{width:min(100%,226px);max-width:100%;min-height:var(--tree-horizontal-card-height,78px);grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.person-visual{background:linear-gradient(180deg, var(--theme-accent-soft) 0%, #ffffffeb 100%);color:var(--theme-accent);place-items:center;font-weight:800;display:grid}.horizontal-card .person-visual{border-radius:13px;width:40px;height:40px}.avatar-style .person-visual{border-radius:999px;width:42px;height:42px;margin:10px auto 0}.initials-style .person-visual{background:var(--theme-accent);color:#fff}.person-copy{text-align:center;padding:8px 9px}.horizontal-card .person-copy{text-align:left;padding:0}.person-copy strong{overflow-wrap:anywhere;word-break:break-word;font-size:.78rem;line-height:1.2}.horizontal-card .person-copy strong{font-size:.78rem;line-height:1.12}.person-copy span{color:var(--theme-subtle);margin-top:4px;font-size:.74rem;line-height:1.2;display:block}.horizontal-card .person-copy span{font-size:.7rem}.preview-stat-card,.preview-review-note,.import-stat-card{min-width:0}.preview-stat-card strong,.preview-review-note strong{overflow-wrap:anywhere;word-break:break-word;font-size:1rem;line-height:1.2}.preview-review-inline{margin-top:12px}.theme-heritage{--theme-page:linear-gradient(180deg, #f5efe7 0%, #efe5d6 100%);--theme-card:#fffbf6f2;--theme-card-strong:#fffcf8;--theme-accent:#7f4741;--theme-accent-soft:#7f474124;--theme-heading:#251c17;--theme-subtle:#70645a}.theme-coastal{--theme-page:linear-gradient(180deg, #eef3f3 0%, #dfe9ea 100%);--theme-card:#fbfefef0;--theme-card-strong:#fafdfe;--theme-accent:#547680;--theme-accent-soft:#54768024;--theme-heading:#1d2d30;--theme-subtle:#587277}.theme-garden{--theme-page:linear-gradient(180deg, #eef0e7 0%, #e2e8d9 100%);--theme-card:#fbfdf8f0;--theme-card-strong:#fafcf8;--theme-accent:#607755;--theme-accent-soft:#60775529;--theme-heading:#22301d;--theme-subtle:#60705e}.theme-navy{--theme-page:linear-gradient(180deg, #edf0f7 0%, #dce4f0 100%);--theme-card:#fbfcfff2;--theme-card-strong:#fbfcff;--theme-accent:#27354e;--theme-accent-soft:#27354e1f;--theme-heading:#182232;--theme-subtle:#516176}.theme-modern{--theme-page:linear-gradient(180deg, #f5f3ef 0%, #ece8e2 100%);--theme-card:#fffffff2;--theme-card-strong:#fff;--theme-accent:#383836;--theme-accent-soft:#3838361a;--theme-heading:#20211f;--theme-subtle:#6d6d69}.theme-rosewood{--theme-page:linear-gradient(180deg, #f4e9e8 0%, #ead8d6 100%);--theme-card:#fff9f9ed;--theme-card-strong:#fff8f7;--theme-accent:#7b3f49;--theme-accent-soft:#7b3f4929;--theme-heading:#2d1820;--theme-subtle:#7a5d63}.theme-midnight{--theme-page:linear-gradient(180deg, #263248 0%, #1a2333 100%);--theme-card:#f4f7fcf2;--theme-card-strong:#f8fbff;--theme-accent:#a9c0e6;--theme-accent-soft:#a9c0e62e;--theme-heading:#182232;--theme-subtle:#5a6981}.site-preview.theme-midnight{border-color:#0c121c75;box-shadow:inset 0 1px #ffffff14,0 18px 34px #080c1438}.site-preview.theme-midnight:before{background:radial-gradient(circle at 100% 0,#b6ccee3d,#0000 48%),linear-gradient(#ffffff1a,#0000 80%);height:118px}.site-preview.theme-midnight .preview-ribbon-row .cost-badge,.site-preview.theme-midnight .preview-ribbon-row .package-badge{color:#d5e3fb;background:#f4f8ff2e}.site-preview.theme-midnight .site-domain,.site-preview.theme-midnight .site-header-copy h4,.site-preview.theme-midnight .site-header-copy p:last-child{color:#eef4ff}.site-preview.theme-midnight .site-domain{opacity:.78}.site-preview.theme-midnight .site-header-copy p:last-child{opacity:.82}.site-preview.theme-midnight .preview-logo{color:#f8fbff;background:linear-gradient(#91add8 0%,#6f8dbb 100%)}.site-preview.theme-midnight .hero-card,.site-preview.theme-midnight .module-preview-card,.site-preview.theme-midnight .tree-preview-card,.site-preview.theme-midnight .import-preview-card,.site-preview.theme-midnight .map-preview-card{border-color:#121b2a24}.theme-meadow{--theme-page:linear-gradient(180deg, #f0f5e8 0%, #e5eed8 100%);--theme-card:#fcfef8f0;--theme-card-strong:#fbfdf8;--theme-accent:#6f8c4b;--theme-accent-soft:#6f8c4b29;--theme-heading:#2a351d;--theme-subtle:#667557}.theme-parchment{--theme-page:linear-gradient(180deg, #faf5ea 0%, #f1eadc 100%);--theme-card:#fffdf7f2;--theme-card-strong:#fffdf8;--theme-accent:#9a7a50;--theme-accent-soft:#9a7a501f;--theme-heading:#2b2319;--theme-subtle:#776757}.family-site-shell .eyebrow,.family-site-shell .hero-kicker{color:var(--theme-accent)}.step-actions{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.launch-ready-card,.dashboard-card{background:#fffbf6e6;border:1px solid #5f46381a;border-radius:24px;box-shadow:0 12px 26px #2318110f}.launch-ready-card{margin-top:18px;padding:18px}.launch-ready-card strong,.launch-ready-card p,.form-feedback,.dashboard-copy,.dashboard-subtitle{color:var(--shell-muted)}.launch-ready-card p,.form-feedback,.dashboard-copy{margin-top:8px;line-height:1.6}.form-feedback.is-error{color:#8a3e3e}.dashboard-shell,.family-site-shell{width:min(1320px,100vw - 32px);margin:0 auto;padding:28px 0 40px}.family-site-canvas{background:radial-gradient(circle at top right, var(--theme-accent-soft), transparent 34%), linear-gradient(180deg, #ffffff6b, transparent 18%), var(--theme-page);border:1px solid #372a1d1a;border-radius:36px;padding:30px;box-shadow:0 34px 76px #2318111f}.dashboard-topbar,.family-site-topbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.family-site-topbar{border-bottom:1px solid #372a1d14;padding-bottom:20px}.dashboard-actions,.family-site-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dashboard-actions a,.family-site-actions a{color:var(--shell-ink);background:#fffbf6d1;border:1px solid #5f463824;border-radius:999px;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-btn-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.dashboard-banner{background:#fffbf6db;border:1px solid #5f46381a;border-radius:18px;margin-bottom:16px;padding:14px 16px}.dashboard-banner.success{background:#ecf6e6d6;border-color:#5e7e5433}.dashboard-banner.warning{background:#fcf3dde6;border-color:#9d79443d}.dashboard-grid,.family-site-grid{gap:18px;display:grid}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-overview{grid-column:1/-1}.dashboard-card,.family-hero-card,.family-module-card{padding:20px}.family-hero-card,.family-module-card{border:1px solid #372a1d14;border-radius:28px;box-shadow:0 18px 34px #23181114}.dashboard-card-head,.family-module-head{justify-content:space-between;align-items:start;gap:14px;margin-bottom:14px;display:flex}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-stat-card,.family-list-card,.family-note-card{background:#ffffff94;border:1px solid #5f463814;border-radius:18px;padding:14px}.dashboard-stat-card span,.family-list-card span{color:var(--theme-subtle);font-size:.82rem;display:block}.dashboard-stat-card strong,.family-list-card strong,.family-note-card strong{margin-top:4px;display:block}.dashboard-pill-grid,.dashboard-job-list,.family-list-grid{gap:12px;display:grid}.dashboard-pill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gedcom-upload-form{gap:14px;margin-top:14px;display:grid}.dashboard-cta-row{margin-top:14px}.dashboard-job-card{background:#ffffff94;border:1px solid #5f463814;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.dashboard-job-card p{color:var(--muted);margin-top:4px}.dashboard-job-meta{text-align:right;color:var(--theme-subtle);gap:6px;font-size:.85rem;display:grid}.family-site-grid{grid-template-columns:1fr;align-items:stretch}.family-hero-card{background:linear-gradient(180deg, #ffffff5c, transparent 26%), var(--theme-page)}.family-site-brand,.family-hero-meta,.family-story-panels,.family-photo-grid{gap:14px;display:grid}.family-site-brand{grid-template-columns:auto 1fr;align-items:center}.family-site-brand.logo-center{text-align:center;grid-template-columns:1fr;justify-items:center}.family-site-brand.logo-right{grid-template-columns:1fr auto}.family-hero-story{margin-top:18px}.family-site-subtitle,.family-body-copy,.family-list-card p,.family-note-card p{color:var(--theme-subtle)}.family-hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.family-modules-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:18px;display:grid}.family-modules-grid>.map-preview-card{margin-top:0}.family-modules-grid>.map-preview-card,.family-module-card.is-wide{grid-column:1/-1}.family-module-card,.family-modules-grid>.map-preview-card{background:#ffffffb8;height:100%}.family-story-panels,.family-list-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.family-photo-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.family-photo-card{gap:10px;display:grid}.family-photo-fill{aspect-ratio:1.35;background:radial-gradient(circle at 20% 20%, #ffffffb8, transparent 30%), linear-gradient(135deg, var(--theme-accent-soft), #c9976329), #ffffff9e;border:1px solid #5f463814;border-radius:18px}.family-module-tree-head{margin-bottom:0}.tree-wizard-shell{grid-template-columns:240px minmax(0,1fr);gap:18px;display:grid}.tree-wizard-steps{align-self:start;gap:10px;display:grid}.tree-wizard-step{font:inherit;cursor:pointer;text-align:left;background:#fffbf6d1;border:1px solid #5f46381f;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;display:flex}.tree-wizard-step span{background:#6d4d3c14;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:inline-grid}.tree-wizard-step.is-active{background:#784c3f1c;border-color:#784c3f3d}.tree-wizard-panel{background:#fffbf6e6;border:1px solid #5f46381a;border-radius:24px;padding:22px;box-shadow:0 12px 26px #2318110f}.tree-wizard-header,.tree-wizard-grid,.tree-wizard-action-group{gap:16px;display:grid}.tree-wizard-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.tree-wizard-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;margin-top:16px}.tree-wizard-preview{background:#ffffff94;border:1px solid #5f463814;border-radius:22px;padding:18px}.tree-wizard-status{min-width:160px}.tree-wizard-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.tree-wizard-action-group{grid-auto-columns:max-content;grid-auto-flow:column;align-items:center}.research-card{margin-top:18px}.research-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.research-suggestion-card{background:#ffffff94;border:1px solid #5f463814;border-radius:18px;padding:14px}.research-suggestion-card strong,.research-suggestion-card p,.research-suggestion-card span,.research-suggestion-card a{display:block}.research-suggestion-card p,.research-suggestion-card span{color:var(--muted);line-height:1.5}.research-suggestion-card p{margin-top:6px}.research-suggestion-card span{margin-top:8px;font-size:.88rem}.research-suggestion-card a{color:var(--theme-accent);margin-top:10px;font-weight:700;text-decoration:none}.ops-shell{width:min(1360px,100vw - 32px);margin:0 auto;padding:28px 0 40px}.ops-topbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.ops-subtitle,.ops-empty,.ops-check-item p,.ops-theme-copy p,.ops-site-row span,.ops-site-table-head span,.ops-timestamp,.ops-domain-card p,.ops-import-card p,.ops-palette-card span,.ops-login-message p{color:var(--shell-muted)}.ops-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ops-actions a{color:var(--shell-ink);background:#ffffffbd;border:1px solid #5f463824;border-radius:999px;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.ops-banner,.ops-card{background:#ffffffb8;border:1px solid #5f46381a;border-radius:24px;box-shadow:0 16px 34px #211d1814}.ops-login-shell{place-items:center;width:min(100vw - 24px,100%);min-height:100vh;padding:24px 0;display:grid}.ops-login-card{background:#ffffffc7;border:1px solid #5f46381a;border-radius:28px;width:min(520px,100vw - 24px);padding:28px;box-shadow:0 20px 44px #211d181a}.ops-login-form,.ops-palette-form,.ops-domain-actions{gap:14px;display:grid}.ops-login-form{margin-top:18px}.ops-login-message{background:#ffffffb8;border:1px solid #5f46381a;border-radius:18px;margin-top:18px;padding:14px 16px}.ops-login-message.is-error{background:#fff1f1d6;border-color:#8a3e3e24}.ops-banner{margin-bottom:18px;padding:14px 16px}.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.ops-card{padding:20px}.ops-overview-card,.ops-sites-card{grid-column:1/-1}.ops-card-head{justify-content:space-between;align-items:start;gap:14px;margin-bottom:14px;display:flex}.ops-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.ops-stat-card,.ops-check-item,.ops-theme-card,.ops-site-row{background:#ffffffa8;border:1px solid #5f463814;border-radius:18px;padding:14px}.ops-stat-card span,.ops-site-row span,.ops-site-table-head span{font-size:.82rem;display:block}.ops-stat-card strong,.ops-check-item strong,.ops-theme-copy strong,.ops-site-row strong{margin-top:4px;display:block}.ops-theme-grid,.ops-checklist{gap:12px;display:grid}.ops-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ops-palette-card{cursor:pointer;background:#ffffffa8;border:1px solid #5f463814;border-radius:20px;gap:10px;padding:16px;display:grid;position:relative}.ops-palette-card input{opacity:0;pointer-events:none;position:absolute}.ops-palette-card.is-selected{border-color:#5f46382e;box-shadow:inset 0 0 0 1px #5f46381f}.ops-palette-card:has(input:checked){border-color:#5f46382e;box-shadow:inset 0 0 0 1px #5f46381f}.ops-palette-card:has(input:checked) .ops-palette-preview{transform:translateY(-1px);box-shadow:0 14px 28px #211d1814}.ops-palette-preview{background:linear-gradient(#5e564e09 1px, transparent 1px), linear-gradient(90deg, #5e564e09 1px, transparent 1px), radial-gradient(circle at top left, #ffffffad, transparent 30%), radial-gradient(circle at right 18%, #786e621f, transparent 22%), linear-gradient(180deg, #ebe7df 0%, var(--shell-canvas) 100%);background-size:24px 24px,24px 24px,auto,auto,auto;border:1px solid #5f463814;border-radius:18px;min-height:120px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:hidden}.ops-palette-preview-panel,.ops-palette-preview-card{border:1px solid var(--shell-line);background:var(--shell-panel);box-shadow:var(--shell-shadow);border-radius:18px;position:absolute}.ops-palette-preview-panel{inset:16px 16px 40px}.ops-palette-preview-card{inset:48px 26px 16px 86px}.ops-palette-preview.shell-palette-stone{--shell-canvas:#ddd8cf;--shell-panel:#fcfaf6d1;--shell-line:#39342e1a;--shell-shadow:0 24px 64px #211d181f}.ops-palette-preview.shell-palette-navy{--shell-canvas:#d8dee8;--shell-panel:#f7faffd1;--shell-line:#2b38501f;--shell-shadow:0 24px 64px #1a243424}.ops-palette-preview.shell-palette-sage{--shell-canvas:#dbe2d9;--shell-panel:#f8fcf7d1;--shell-line:#3d4f3d1a;--shell-shadow:0 24px 64px #1f2d1f1f}.ops-palette-preview.shell-palette-ivory{--shell-canvas:#ece4d7;--shell-panel:#fffdf9db;--shell-line:#52433017;--shell-shadow:0 24px 64px #2a21161a}.ops-palette-preview.shell-palette-charcoal{--shell-canvas:#1e232b;--shell-panel:#222831d1;--shell-line:#b8c6d61f;--shell-shadow:0 24px 64px #070a0e57}.ops-palette-preview.shell-palette-plum{--shell-canvas:#2a2230;--shell-panel:#322839d6;--shell-line:#d8c7dc1f;--shell-shadow:0 24px 64px #0f081257}.ops-palette-preview.shell-palette-mist{--shell-canvas:#dfe5ea;--shell-panel:#f9fbfdd6;--shell-line:#5767781c;--shell-shadow:0 24px 64px #222d381f}.ops-palette-preview.shell-palette-sand{--shell-canvas:#e7dece;--shell-panel:#fffbf4d6;--shell-line:#67543e1a;--shell-shadow:0 24px 64px #3025181a}.ops-form-actions{margin-top:14px}.ops-theme-card{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.ops-theme-swatch{background:var(--theme-page);border:1px solid #372a1d14;border-radius:22px;min-height:156px;position:relative;overflow:hidden}.ops-theme-swatch-shell,.ops-theme-swatch-site{border:1px solid #372a1d14;border-radius:20px;position:absolute;box-shadow:0 14px 28px #23181114}.ops-theme-swatch-shell{background:#ffffff9e;inset:16px 54px 56px 16px}.ops-theme-swatch-site{background:#ffffffbd;inset:58px 16px 16px 88px}.ops-theme-head{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.ops-site-table{gap:10px;display:grid}.ops-site-table-head,.ops-site-row{grid-template-columns:1.2fr 1.3fr .8fr 1fr .7fr .7fr;align-items:start;gap:12px;display:grid}.ops-site-table-head{padding:0 14px}.ops-site-row strong a{color:inherit;text-decoration:none}.ops-site-row strong a:hover{text-decoration:underline}.ops-domain-grid,.ops-import-grid{gap:12px;display:grid}.ops-domain-card,.ops-import-card{background:#ffffffa8;border:1px solid #5f463814;border-radius:18px;padding:16px}.ops-domain-card strong,.ops-import-card strong{display:block}.ops-domain-card span,.ops-import-card span{color:var(--shell-muted);margin-top:4px;font-size:.84rem;display:block}.ops-domain-card p,.ops-import-card p{margin-top:8px}.ops-domain-actions{grid-template-columns:repeat(3,max-content);align-items:center;margin-top:14px}.ops-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}.primary-btn,.secondary-btn{font:inherit;cursor:pointer;border-radius:999px;padding:13px 20px;font-weight:700}.primary-btn{color:#fff;background:linear-gradient(90deg,#835148 0%,#c69066 100%);border:none}.secondary-btn{color:var(--ink);background:#fffbf6c7;border:1px solid #5f463824}@media (max-width:1180px){.sidebar{grid-template-columns:1fr;align-items:start}.preview-panel{position:static}.top-step-nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.preview-panel{min-height:auto;max-height:none}.preview-scroll{padding-right:0;overflow:visible}.workspace-grid{grid-template-columns:1fr}}@media (max-width:780px){.app-shell{width:min(100vw - 20px,100%);padding-top:10px}.sidebar{padding:20px}.workspace-topbar,.preview-head,.preview-summary,.tree-preview-head,.dashboard-topbar,.family-site-topbar,.ops-topbar,.ops-card-head{flex-direction:column;align-items:stretch}.topbar-meta,.dashboard-grid,.family-site-grid,.dashboard-stat-grid,.dashboard-pill-grid,.family-modules-grid,.ops-grid,.ops-stat-grid,.ops-checklist,.family-hero-meta,.family-story-panels,.family-list-grid,.family-photo-grid,.tree-wizard-shell,.tree-wizard-grid,.tree-wizard-header{grid-template-columns:1fr}.tree-wizard-action-group{grid-auto-columns:auto;grid-auto-flow:row}.field-grid,.module-grid,.value-strip,.tree-style-gallery,.import-review-grid,.review-note-list,.preview-gedcom-review,.module-preview-grid,.ops-palette-grid,.ops-theme-card,.ops-site-table-head,.ops-site-row,.summary-row{grid-template-columns:1fr}.top-step-nav{grid-template-columns:1fr;min-width:0}.top-step-link{grid-template-columns:34px 1fr;align-items:center;gap:12px}.top-step-link span{min-width:34px;padding:0}.ops-domain-actions,.tree-preview-stage.horizontal{grid-template-columns:1fr}.tree-row,.tree-column{flex-wrap:wrap}.tree-connector-row{height:36px}}.map-preview-copy-block{gap:8px;display:grid}.map-preview-copy-block h3,.map-preview-timeline-head h4{font-size:1.22rem}.map-preview-copy-block p,.map-preview-timeline-head p,.map-preview-toolbar-label,.map-preview-selected span,.map-preview-item span{color:var(--theme-subtle)}.map-preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.map-preview-toolbar-label{font-size:.88rem;font-weight:700}.map-preview-canvas{background:#dfe9f3}.map-preview-canvas.is-live{height:360px}.map-preview-selected{background:#7094bc1f;border:1px solid #4a6fa124;border-radius:16px;gap:4px;margin-top:12px;padding:14px 16px;display:grid}.map-preview-selected strong,.map-preview-item strong{font-size:.92rem}.map-preview-timeline-head{gap:6px;margin-top:16px;display:grid}.map-preview-list{gap:10px}.map-preview-item.is-active{background:#7094bc1f;border-color:#4a6fa13d}.tree-preview-stage.vertical{min-height:328px;padding:10px}.tree-preview-node .vertical-card,.tree-preview-node .compact-card{grid-template-rows:42% 58%}.tree-preview-node .vertical-card .person-copy,.tree-preview-node .compact-card .person-copy{padding:7px 8px}.tree-preview-node .vertical-card .person-copy strong,.tree-preview-node .compact-card .person-copy strong{font-size:.64rem;line-height:1.02}.tree-preview-node .vertical-card .person-copy span,.tree-preview-node .compact-card .person-copy span{font-size:.59rem}.vertical-card{width:118px}.compact-card{width:96px}.vertical-card .person-visual,.compact-card .person-visual{border-radius:16px 16px 10px 10px;height:66px}.tree-config-grid{align-items:start}.tree-style-field{gap:12px}.tree-style-gallery.vertical{grid-template-columns:repeat(3,minmax(0,1fr))}.tree-style-gallery.horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-style-option{text-align:left;cursor:pointer;background:#ffffffc2;border:1px solid #5f46381a;border-radius:20px;gap:8px;padding:14px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;display:grid}.tree-style-option:hover{transform:translateY(-1px);box-shadow:0 12px 24px #23181114}.tree-style-option.is-selected{background:color-mix(in srgb, var(--shell-accent-soft) 84%, white 16%);border-color:color-mix(in srgb, var(--shell-accent) 26%, white 74%);box-shadow:0 12px 24px color-mix(in srgb, var(--shell-accent) 10%, transparent)}.tree-style-thumb{background:linear-gradient(#7a655309 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#7a655309 1px,#0000 1px) 0 0/22px 22px,#fffdf9e6;border:1px solid #5f463814;border-radius:18px;place-items:center;min-height:144px;padding:14px;display:grid;overflow:hidden}.tree-style-thumb-card{background:#fffffff0;border:1px solid #52413414;overflow:hidden;box-shadow:0 8px 20px #23181114}.tree-style-thumb-card.vertical-thumb-card,.tree-style-thumb-card.compact-thumb-card{align-content:start;justify-items:center;display:grid}.tree-style-thumb-card.vertical-thumb-card{border-radius:20px;width:108px;min-height:122px}.tree-style-thumb-card.compact-thumb-card{border-radius:14px;width:92px;min-height:98px}.tree-style-thumb-card.horizontal-thumb-card{border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:min(228px,100%);min-height:72px;padding:10px 14px;display:grid}.tree-style-thumb-visual{background:linear-gradient(#7f474124 0%,#fffffff5 100%);place-items:center;display:grid}.vertical-thumb-card .tree-style-thumb-visual{border-radius:18px 18px 10px 10px;width:100%;height:64px}.compact-thumb-card .tree-style-thumb-visual{border-radius:12px 12px 8px 8px;width:100%;height:48px}.horizontal-thumb-card .tree-style-thumb-visual{border-radius:14px;width:44px;height:44px}.tree-style-thumb-monogram{color:#fff;letter-spacing:.03em;background:linear-gradient(#8c5a51 0%,#6f8db6 100%);border-radius:999px;place-items:center;width:44px;height:44px;font-size:.95rem;font-weight:800;display:grid}.compact-thumb-card .tree-style-thumb-monogram{width:36px;height:36px;font-size:.82rem}.horizontal-thumb-card .tree-style-thumb-monogram{width:34px;height:34px;font-size:.82rem}.tree-style-thumb-copy-shell{align-content:center;gap:6px;padding:10px 10px 12px;display:grid}.horizontal-thumb-card .tree-style-thumb-copy-shell{padding:0}.tree-style-thumb-label{letter-spacing:.14em;text-transform:uppercase;color:var(--theme-subtle);font-size:.48rem;line-height:1}.tree-style-thumb-line{background:#2c221c1f;border-radius:999px;display:block}.tree-style-thumb-line.title{width:74%;height:10px}.tree-style-thumb-line.meta{width:48%;height:8px}.compact-thumb-card .tree-style-thumb-line.title{width:80%;height:8px}.compact-thumb-card .tree-style-thumb-line.meta{width:56%;height:6px}.horizontal-thumb-card .tree-style-thumb-line.title{width:66%;height:10px}.horizontal-thumb-card .tree-style-thumb-line.meta{width:38%;height:8px}.tree-style-thumb-card.style-formal-record{background:linear-gradient(#7f474114 0 12px,#fffffff5 12px 100%);border-radius:14px}.tree-style-thumb-card.style-tall-monogram .tree-style-thumb-visual{border-radius:22px 22px 12px 12px;height:74px}.tree-style-thumb-card.style-tall-monogram .tree-style-thumb-monogram{width:50px;height:50px}.tree-style-option-copy{gap:5px;display:grid}.tree-style-option-copy strong{font-size:1rem}.tree-style-option-copy strong,.tree-style-option-copy span{display:block}.tree-style-option-copy span{color:var(--shell-muted);font-size:.83rem;line-height:1.45}.preview-tuning-card{background:#ffffffb8;border:1px solid #5f46381a;border-radius:18px;gap:14px;margin-top:18px;padding:16px 18px;display:grid}.preview-tuning-head{gap:4px;display:grid}.preview-tuning-head strong{font-size:.98rem}.preview-tuning-head span{color:var(--shell-muted);font-size:.84rem;line-height:1.45}.preview-tuning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.preview-tuning-field{gap:6px;display:grid}.preview-tuning-field>span{color:var(--theme-subtle);font-size:.79rem;font-weight:700}.preview-tuning-slider-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.preview-tuning-slider-row input[type=range]{width:100%}.preview-tuning-slider-row strong{text-align:right;min-width:44px;color:var(--theme-accent);font-size:.82rem}.preview-tuning-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.save-tuning-button{background:var(--shell-accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-weight:700}.save-tuning-button.is-secondary{color:var(--theme-accent);background:#7f47411f}.preview-tuning-status{color:var(--theme-subtle);font-size:.84rem}.preview-tuning-status.is-error{color:#9f4f4f}.person-label{letter-spacing:.14em;text-transform:uppercase;color:var(--theme-subtle);margin-bottom:3px;font-size:.5rem;line-height:1;display:block}.person-card.style-portrait{border-radius:20px}.person-card.style-portrait .person-visual{border-radius:18px 18px 10px 10px}.person-card.style-compact-vertical{border-radius:14px;box-shadow:0 6px 14px #2718100d}.person-card.style-compact-vertical .person-visual{border-radius:12px 12px 8px 8px;height:54px}.person-card.style-compact-vertical .person-copy{text-align:left;align-content:start;padding:7px 8px}.person-card.style-compact-vertical .person-copy strong{font-size:.61rem;line-height:1.04}.person-card.style-compact-vertical .person-copy span{font-size:.56rem}.person-card.style-tall-monogram{border-radius:24px}.person-card.style-tall-monogram .person-visual{border-radius:22px 22px 12px 12px;height:78px;font-size:1rem}.person-card.style-tall-monogram .person-copy{padding:10px 8px 12px}.person-card.style-landscape{border-radius:24px}.person-card.style-landscape .person-visual{border-radius:16px;width:44px;height:44px}.person-card.style-landscape .person-copy strong{font-size:.8rem}.person-card.style-formal-record{background:linear-gradient(#7f474114 0 12px,#fff 12px 100%);border-radius:14px}.person-card.style-formal-record .person-visual{border-radius:12px;width:38px;height:38px}.person-card.style-formal-record .person-copy{padding-top:2px}.person-card.style-formal-record .person-copy strong{font-size:.75rem}@media (max-width:980px){.tree-style-gallery.vertical,.tree-style-gallery.horizontal{grid-template-columns:1fr}}.person-visual{position:relative;overflow:hidden}.person-visual-initials{place-items:center;width:100%;height:100%;display:grid}.person-card.avatar-style .person-visual,.tree-preview-node .person-card.avatar-style .person-visual,.tree-style-thumb .person-card.avatar-style .person-visual{aspect-ratio:1;border-radius:999px;width:44px;height:44px;margin:10px auto 0;overflow:hidden}.horizontal-card.avatar-style .person-visual,.tree-preview-node .horizontal-card.avatar-style .person-visual,.tree-style-thumb .horizontal-card.avatar-style .person-visual{width:42px;min-width:42px;height:42px;margin:0}.person-card.avatar-style .person-visual-initials{background:radial-gradient(circle at 35% 30%, #ffffff4d, transparent 38%), var(--theme-accent);color:#fff;border-radius:999px}.person-card.portrait-style .person-visual,.tree-preview-node .person-card.portrait-style .person-visual{background:linear-gradient(#f3efecf2 0%,#fffffffa 100%);place-items:center;display:grid}.person-visual-frame{aspect-ratio:1;background:linear-gradient(#fbfbfc 0%,#eef2f6 100%);border-radius:999px;place-items:center;width:min(74px,78%);display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #6e5c5014}.person-portrait-art{background:radial-gradient(circle at 50% 18%,#fffffff2,#0000 26%),linear-gradient(#f8fbff 0%,#e8edf4 100%);border-radius:999px;width:100%;height:100%;position:relative}.person-portrait-halo{filter:saturate(.9);background:radial-gradient(circle at 50% 35%,#d4b493 0%,#c0956d 58%,#a97c54 100%);border-radius:999px;width:48%;height:48%;position:absolute;top:20%;left:50%;transform:translate(-50%)}.person-portrait-head{z-index:2;background:linear-gradient(#f3d7c1 0%,#e6bea0 100%);border-radius:999px;width:28%;height:28%;position:absolute;top:26%;left:50%;transform:translate(-50%)}.person-portrait-body{z-index:1;background:linear-gradient(#7088a8 0%,#556b86 100%);border-radius:50% 50% 42% 42%;width:52%;height:34%;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.person-card.style-compact-vertical.portrait-style .person-visual-frame{width:min(58px,72%)}.person-card.style-tall-monogram.portrait-style .person-visual-frame{width:min(82px,80%)}.person-card.style-landscape.portrait-style .person-visual,.person-card.style-formal-record.portrait-style .person-visual{background:0 0}.person-card.style-landscape.portrait-style .person-visual-frame,.person-card.style-formal-record.portrait-style .person-visual-frame{width:42px;height:42px}.person-visual-initials{color:#fff;text-shadow:0 1px #0000001f}.person-card.initials-style .person-visual,.tree-preview-node .person-card.initials-style .person-visual,.tree-style-thumb .person-card.initials-style .person-visual{background:radial-gradient(circle at 32% 26%, #fff3, transparent 32%), linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 90%, white 10%) 0%, var(--theme-accent) 100%)}.person-card.portrait-style .person-visual,.tree-preview-node .person-card.portrait-style .person-visual,.tree-style-thumb .person-card.portrait-style .person-visual,.person-card.avatar-style .person-visual,.tree-preview-node .person-card.avatar-style .person-visual,.tree-style-thumb .person-card.avatar-style .person-visual{background:0 0;place-items:center;display:grid;overflow:visible}.person-card.avatar-style .person-visual,.tree-preview-node .person-card.avatar-style .person-visual,.tree-style-thumb .person-card.avatar-style .person-visual{border-radius:999px}.person-card.avatar-style .person-visual-frame,.person-card.portrait-style .person-visual-frame,.tree-preview-node .person-card.avatar-style .person-visual-frame,.tree-preview-node .person-card.portrait-style .person-visual-frame,.tree-style-thumb .person-card.avatar-style .person-visual-frame,.tree-style-thumb .person-card.portrait-style .person-visual-frame{aspect-ratio:1;background:linear-gradient(#fdfcfb 0%,#ecf1f8 100%);border-radius:999px;width:min(76px,78%);box-shadow:inset 0 0 0 1px #6e5c5014,0 6px 16px #32292014}.person-card.style-compact-vertical.portrait-style .person-visual-frame,.person-card.style-compact-vertical.avatar-style .person-visual-frame{width:min(58px,72%)}.person-card.style-tall-monogram.portrait-style .person-visual-frame,.person-card.style-tall-monogram.avatar-style .person-visual-frame{width:min(78px,80%)}.person-card.style-landscape.portrait-style .person-visual-frame,.person-card.style-formal-record.portrait-style .person-visual-frame,.person-card.style-landscape.avatar-style .person-visual-frame,.person-card.style-formal-record.avatar-style .person-visual-frame{width:42px;height:42px}.person-visual-frame.detail-contained{overflow:hidden}.person-visual-frame.detail-lifted{overflow:visible}.person-character{border-radius:999px;width:100%;height:100%;position:relative}.person-character.style-avatar{background:radial-gradient(circle at 34% 24%,#ffffff57,#0000 28%),linear-gradient(#f6df96 0%,#bee0ff 100%)}.person-character.style-portrait{background:radial-gradient(circle at 52% 16%,#fffffff0,#0000 24%),linear-gradient(#f7f1e7 0%,#e8edf5 100%)}.person-character.detail-lifted{transform:translateY(8%)scale(1.05)}.person-character-halo{background:radial-gradient(circle at 50% 34%,#ffffffe6,#0000 44%),linear-gradient(#fde3c7 0%,#f6b987 100%);border-radius:999px;width:72%;height:72%;position:absolute;top:12%;left:50%;transform:translate(-50%)}.person-character.style-avatar .person-character-halo{background:radial-gradient(circle at 50% 34%,#ffffffeb,#0000 44%),linear-gradient(#ffd889 0%,#cde7ff 100%)}.person-character-hair{z-index:2;background:radial-gradient(circle at 30% 34%,#ffffff24,#0000 30%),linear-gradient(#7c4e34 0%,#41281f 100%);border-radius:48% 48% 44% 44%;width:48%;height:34%;position:absolute;top:15%;left:50%;transform:translate(-50%)}.person-character.style-avatar .person-character-hair{width:52%;height:36%}.person-character-head{z-index:3;background:radial-gradient(circle at 36% 40%,#2e211c 0 5%,#0000 6%),radial-gradient(circle at 64% 40%,#2e211c 0 5%,#0000 6%),radial-gradient(circle at 50% 60%,#bc696361 0 10%,#0000 11%),linear-gradient(#f4d6c0 0%,#e7bea0 100%);border-radius:48% 48% 46% 46%;width:36%;height:36%;position:absolute;top:24%;left:50%;transform:translate(-50%);box-shadow:inset 0 -2px #b379602e}.person-character-neck{z-index:2;background:linear-gradient(#efcfb6 0%,#ddb391 100%);border-radius:999px;width:12%;height:10%;position:absolute;top:54%;left:50%;transform:translate(-50%)}.person-character-jacket{z-index:1;background:linear-gradient(#5379a5 0%,#314f72 100%);border-radius:44% 44% 24% 24%;width:64%;height:34%;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.person-character-shirt{z-index:2;background:linear-gradient(#fff 0%,#eef3f8 100%);border-radius:40% 40% 24% 24%;width:28%;height:18%;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.person-character.style-portrait .person-character-jacket{background:linear-gradient(#5c6f91 0%,#35475d 100%);width:68%;height:36%}.person-character.style-avatar.detail-lifted{transform:translateY(10%)scale(1.08)}.person-character.style-portrait.detail-lifted{transform:translateY(12%)scale(1.1)}.person-character.detail-lifted .person-character-jacket{height:42%;bottom:-6%}.person-character.detail-lifted .person-character-shirt{bottom:1%}.person-card.portrait-style .person-visual-frame,.person-card.avatar-style .person-visual-frame,.tree-preview-node .person-card.portrait-style .person-visual-frame,.tree-preview-node .person-card.avatar-style .person-visual-frame,.tree-style-thumb .person-card.portrait-style .person-visual-frame,.tree-style-thumb .person-card.avatar-style .person-visual-frame{transform:translateY(8%)}.person-card.style-landscape.portrait-style .person-visual-frame,.person-card.style-formal-record.portrait-style .person-visual-frame,.person-card.style-landscape.avatar-style .person-visual-frame,.person-card.style-formal-record.avatar-style .person-visual-frame{transform:translateY(4%)}.tree-style-thumb .person-card.style-compact-vertical{max-width:86px}.tree-style-thumb .person-card.style-compact-vertical .person-visual{height:48px}.tree-style-thumb .person-card.style-compact-vertical .person-visual-frame,.tree-style-thumb .person-card.style-compact-vertical.avatar-style .person-visual-frame,.tree-style-thumb .person-card.style-compact-vertical.portrait-style .person-visual-frame{width:min(46px,62%);transform:translateY(2%)}.tree-style-thumb .person-card.style-compact-vertical .person-copy{padding:8px 7px 9px}.tree-style-thumb .person-card.style-compact-vertical .person-copy strong{font-size:.56rem;line-height:1.02}.tree-style-thumb .person-card.style-compact-vertical .person-copy span{font-size:.52rem}.tree-style-thumb .person-card.style-portrait .person-visual-frame,.tree-style-thumb .person-card.style-tall-monogram .person-visual-frame{transform:translateY(4%)}.person-card.style-landscape .person-visual-frame.detail-contained,.person-card.style-formal-record .person-visual-frame.detail-contained,.tree-preview-node .person-card.style-landscape .person-visual-frame.detail-contained,.tree-preview-node .person-card.style-formal-record .person-visual-frame.detail-contained,.tree-style-thumb .person-card.style-landscape .person-visual-frame.detail-contained,.tree-style-thumb .person-card.style-formal-record .person-visual-frame.detail-contained,.person-card.style-landscape .person-visual-frame.detail-lifted,.person-card.style-formal-record .person-visual-frame.detail-lifted,.tree-preview-node .person-card.style-landscape .person-visual-frame.detail-lifted,.tree-preview-node .person-card.style-formal-record .person-visual-frame.detail-lifted,.tree-style-thumb .person-card.style-landscape .person-visual-frame.detail-lifted,.tree-style-thumb .person-card.style-formal-record .person-visual-frame.detail-lifted{transform:translateY(-12%)}.person-card.style-landscape .person-visual-frame.detail-contained,.person-card.style-formal-record .person-visual-frame.detail-contained,.tree-preview-node .person-card.style-landscape .person-visual-frame.detail-contained,.tree-preview-node .person-card.style-formal-record .person-visual-frame.detail-contained,.tree-style-thumb .person-card.style-landscape .person-visual-frame.detail-contained,.tree-style-thumb .person-card.style-formal-record .person-visual-frame.detail-contained{transform:translateY(-6%)}.person-card.style-landscape .person-visual-frame.detail-lifted,.person-card.style-formal-record .person-visual-frame.detail-lifted,.tree-preview-node .person-card.style-landscape .person-visual-frame.detail-lifted,.tree-preview-node .person-card.style-formal-record .person-visual-frame.detail-lifted,.tree-style-thumb .person-card.style-landscape .person-visual-frame.detail-lifted,.tree-style-thumb .person-card.style-formal-record .person-visual-frame.detail-lifted{transform:translateY(-12%)}.tree-preview-node .vertical-card.portrait-style .person-visual-frame,.tree-preview-node .vertical-card.avatar-style .person-visual-frame{width:min(88px,84%)}.tree-preview-node .compact-card.portrait-style .person-visual-frame,.tree-preview-node .compact-card.avatar-style .person-visual-frame{width:min(68px,76%)}.tree-preview-node .person-card.portrait-style .person-visual-frame,.tree-preview-node .person-card.avatar-style .person-visual-frame{transform:translateY(5%)}.tree-preview-node .horizontal-card.portrait-style .person-visual-frame{width:46px;height:46px;transform:translateY(1%)}.tree-preview-node .horizontal-card .person-character.style-portrait{transform-origin:50% 54%;transform:scale(1.06)}.tree-preview-node .horizontal-card .person-character.style-portrait.detail-lifted{transform:translateY(8%)scale(1.1)}.tree-preview-node .vertical-card .person-character.style-avatar,.tree-preview-node .vertical-card .person-character.style-portrait{transform-origin:50% 56%;transform:scale(1.18)}.tree-preview-node .compact-card .person-character.style-avatar,.tree-preview-node .compact-card .person-character.style-portrait{transform-origin:50% 56%;transform:scale(1.12)}.tree-preview-node .vertical-card .person-character.style-avatar.detail-lifted,.tree-preview-node .vertical-card .person-character.style-portrait.detail-lifted{transform:translateY(8%)scale(1.2)}.tree-preview-node .compact-card .person-character.style-avatar.detail-lifted,.tree-preview-node .compact-card .person-character.style-portrait.detail-lifted{transform:translateY(8%)scale(1.14)}.tree-preview-node .vertical-card.portrait-style .person-visual-frame.detail-contained,.tree-preview-node .compact-card.portrait-style .person-visual-frame.detail-contained{width:var(--preview-vertical-portrait-contained-size,88px);height:var(--preview-vertical-portrait-contained-size,88px);transform:translate(var(--preview-vertical-portrait-avatar-x,0px), calc(5% + var(--preview-vertical-portrait-avatar-y,0px)))}.tree-preview-node .vertical-card.portrait-style .person-visual-frame.detail-lifted,.tree-preview-node .compact-card.portrait-style .person-visual-frame.detail-lifted{width:var(--preview-vertical-portrait-lifted-size,88px);height:var(--preview-vertical-portrait-lifted-size,88px);transform:translate(var(--preview-vertical-portrait-avatar-x,0px), calc(5% + var(--preview-vertical-portrait-avatar-y,0px)))}.tree-preview-node .vertical-card.avatar-style .person-visual-frame.detail-contained,.tree-preview-node .compact-card.avatar-style .person-visual-frame.detail-contained{width:var(--preview-vertical-avatar-contained-size,88px);height:var(--preview-vertical-avatar-contained-size,88px);transform:translate(var(--preview-vertical-avatar-avatar-x,0px), calc(5% + var(--preview-vertical-avatar-avatar-y,0px)))}.tree-preview-node .vertical-card.avatar-style .person-visual-frame.detail-lifted,.tree-preview-node .compact-card.avatar-style .person-visual-frame.detail-lifted{width:var(--preview-vertical-avatar-lifted-size,88px);height:var(--preview-vertical-avatar-lifted-size,88px);transform:translate(var(--preview-vertical-avatar-avatar-x,0px), calc(5% + var(--preview-vertical-avatar-avatar-y,0px)))}.tree-preview-node .vertical-card.avatar-style .person-visual{place-items:center;width:100%;height:100%;margin:0;display:grid}.tree-preview-node .horizontal-card.portrait-style .person-visual-frame.detail-contained{width:var(--preview-horizontal-portrait-contained-size,46px);height:var(--preview-horizontal-portrait-contained-size,46px);transform:translate(var(--preview-horizontal-portrait-avatar-x,0px), calc(4% + var(--preview-horizontal-portrait-avatar-y,0px)))}.tree-preview-node .horizontal-card.portrait-style .person-visual-frame.detail-lifted{width:var(--preview-horizontal-portrait-lifted-size,46px);height:var(--preview-horizontal-portrait-lifted-size,46px);transform:translate(var(--preview-horizontal-portrait-avatar-x,0px), calc(6% + var(--preview-horizontal-portrait-avatar-y,0px)))}.tree-preview-node .horizontal-card.avatar-style .person-visual-frame.detail-contained{width:var(--preview-horizontal-avatar-contained-size,54px);height:var(--preview-horizontal-avatar-contained-size,54px);transform:translate(var(--preview-horizontal-avatar-avatar-x,0px), calc(4% + var(--preview-horizontal-avatar-avatar-y,0px)))}.tree-preview-node .horizontal-card.avatar-style .person-visual-frame.detail-lifted{width:var(--preview-horizontal-avatar-lifted-size,54px);height:var(--preview-horizontal-avatar-lifted-size,54px);transform:translate(var(--preview-horizontal-avatar-avatar-x,0px), calc(6% + var(--preview-horizontal-avatar-avatar-y,0px)))}.tree-preview-node .horizontal-card.portrait-style .person-visual,.tree-preview-node .horizontal-card.avatar-style .person-visual{transform:translateY(5px)}
